• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openconfig / gribigo / 10240276659

01 Aug 2024 09:24PM UTC coverage: 73.778%. Remained the same
10240276659

push

github

web-flow
Merge pull request #242 from openconfig/nh-delete-rjs

Ensure that non-nil NH is written in fluent test.

15 of 32 new or added lines in 2 files covered. (46.88%)

2 existing lines in 1 file now uncovered.

6398 of 8672 relevant lines covered (73.78%)

0.79 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

27.94
/aft/oc.go
1
// Copyright 2023 The OpenConfig Contributors
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//      http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15
/*
16
Package aft is a generated package which contains definitions
17
of structs which represent a YANG schema. The generated schema can be
18
compressed by a series of transformations (compression was true
19
in this case).
20

21
This package was generated by /Users/robjs/go/pkg/mod/github.com/openconfig/ygot@v0.25.6/genutil/names.go
22
using the following YANG input files:
23
  - gribi/v1/yang/gribi-aft.yang
24

25
Imported modules were sourced from:
26
  - gribi/...
27
*/
28
package aft
29

30
import (
31
        "encoding/json"
32
        "fmt"
33
        "reflect"
34

35
        "github.com/openconfig/goyang/pkg/yang"
36
        "github.com/openconfig/ygot/ygot"
37
        "github.com/openconfig/ygot/ytypes"
38
)
39

40
// Binary is a type that is used for fields that have a YANG type of
41
// binary. It is used such that binary fields can be distinguished from
42
// leaf-lists of uint8s (which are mapped to []uint8, equivalent to
43
// []byte in reflection).
44
type Binary []byte
45

46
// YANGEmpty is a type that is used for fields that have a YANG type of
47
// empty. It is used such that empty fields can be distinguished from boolean fields
48
// in the generated code.
49
type YANGEmpty bool
50

51
// UnionInt8 is an int8 type assignable to unions of which it is a subtype.
52
type UnionInt8 int8
53

54
// UnionInt16 is an int16 type assignable to unions of which it is a subtype.
55
type UnionInt16 int16
56

57
// UnionInt32 is an int32 type assignable to unions of which it is a subtype.
58
type UnionInt32 int32
59

60
// UnionInt64 is an int64 type assignable to unions of which it is a subtype.
61
type UnionInt64 int64
62

63
// UnionUint8 is a uint8 type assignable to unions of which it is a subtype.
64
type UnionUint8 uint8
65

66
// UnionUint16 is a uint16 type assignable to unions of which it is a subtype.
67
type UnionUint16 uint16
68

69
// UnionUint32 is a uint32 type assignable to unions of which it is a subtype.
70
type UnionUint32 uint32
71

72
// UnionUint64 is a uint64 type assignable to unions of which it is a subtype.
73
type UnionUint64 uint64
74

75
// UnionFloat64 is a float64 type assignable to unions of which it is a subtype.
76
type UnionFloat64 float64
77

78
// UnionString is a string type assignable to unions of which it is a subtype.
79
type UnionString string
80

81
// UnionBool is a bool type assignable to unions of which it is a subtype.
82
type UnionBool bool
83

84
// UnionUnsupported is an interface{} wrapper type for unsupported types. It is
85
// assignable to unions of which it is a subtype.
86
type UnionUnsupported struct {
87
        Value interface{}
88
}
89

90
var (
91
        SchemaTree map[string]*yang.Entry
92
        ΛEnumTypes map[string][]reflect.Type
93
)
94

95
func init() {
1✔
96
        var err error
1✔
97
        initΛEnumTypes()
1✔
98
        if SchemaTree, err = UnzipSchema(); err != nil {
1✔
99
                panic("schema error: " + err.Error())
×
100
        }
101
}
102

103
// Schema returns the details of the generated schema.
104
func Schema() (*ytypes.Schema, error) {
1✔
105
        uzp, err := UnzipSchema()
1✔
106
        if err != nil {
1✔
107
                return nil, fmt.Errorf("cannot unzip schema, %v", err)
×
108
        }
×
109

110
        return &ytypes.Schema{
1✔
111
                Root:       &RIB{},
1✔
112
                SchemaTree: uzp,
1✔
113
                Unmarshal:  Unmarshal,
1✔
114
        }, nil
1✔
115
}
116

117
// UnzipSchema unzips the zipped schema and returns a map of yang.Entry nodes,
118
// keyed by the name of the struct that the yang.Entry describes the schema for.
119
func UnzipSchema() (map[string]*yang.Entry, error) {
1✔
120
        var schemaTree map[string]*yang.Entry
1✔
121
        var err error
1✔
122
        if schemaTree, err = ygot.GzipToSchema(ySchema); err != nil {
1✔
123
                return nil, fmt.Errorf("could not unzip the schema; %v", err)
×
124
        }
×
125
        return schemaTree, nil
1✔
126
}
127

128
// Unmarshal unmarshals data, which must be RFC7951 JSON format, into
129
// destStruct, which must be non-nil and the correct GoStruct type. It returns
130
// an error if the destStruct is not found in the schema or the data cannot be
131
// unmarshaled. The supplied options (opts) are used to control the behaviour
132
// of the unmarshal function - for example, determining whether errors are
133
// thrown for unknown fields in the input JSON.
134
func Unmarshal(data []byte, destStruct ygot.GoStruct, opts ...ytypes.UnmarshalOpt) error {
×
135
        tn := reflect.TypeOf(destStruct).Elem().Name()
×
136
        schema, ok := SchemaTree[tn]
×
137
        if !ok {
×
138
                return fmt.Errorf("could not find schema for type %s", tn)
×
139
        }
×
140
        var jsonTree interface{}
×
141
        if err := json.Unmarshal([]byte(data), &jsonTree); err != nil {
×
142
                return err
×
143
        }
×
144
        return ytypes.Unmarshal(schema, destStruct, jsonTree, opts...)
×
145
}
146

147
// Afts represents the /gribi-aft/afts YANG schema element.
148
type Afts struct {
149
        Ipv4Entry             map[string]*Afts_Ipv4Entry                       `path:"ipv4-unicast/ipv4-entry" module:"gribi-aft/gribi-aft"`
150
        Ipv6Entry             map[string]*Afts_Ipv6Entry                       `path:"ipv6-unicast/ipv6-entry" module:"gribi-aft/gribi-aft"`
151
        LabelEntry            map[Afts_LabelEntry_Label_Union]*Afts_LabelEntry `path:"mpls/label-entry" module:"gribi-aft/gribi-aft"`
152
        MacEntry              map[string]*Afts_MacEntry                        `path:"ethernet/mac-entry" module:"gribi-aft/gribi-aft"`
153
        NextHop               map[uint64]*Afts_NextHop                         `path:"next-hops/next-hop" module:"gribi-aft/gribi-aft"`
154
        NextHopGroup          map[uint64]*Afts_NextHopGroup                    `path:"next-hop-groups/next-hop-group" module:"gribi-aft/gribi-aft"`
155
        PolicyForwardingEntry map[uint64]*Afts_PolicyForwardingEntry           `path:"policy-forwarding/policy-forwarding-entry" module:"gribi-aft/gribi-aft"`
156
}
157

158
// IsYANGGoStruct ensures that Afts implements the yang.GoStruct
159
// interface. This allows functions that need to handle this struct to
160
// identify it as being generated by ygen.
161
func (*Afts) IsYANGGoStruct() {}
×
162

163
// NewIpv4Entry creates a new entry in the Ipv4Entry list of the
164
// Afts struct. The keys of the list are populated from the input
165
// arguments.
166
func (t *Afts) NewIpv4Entry(Prefix string) (*Afts_Ipv4Entry, error) {
1✔
167

1✔
168
        // Initialise the list within the receiver struct if it has not already been
1✔
169
        // created.
1✔
170
        if t.Ipv4Entry == nil {
2✔
171
                t.Ipv4Entry = make(map[string]*Afts_Ipv4Entry)
1✔
172
        }
1✔
173

174
        key := Prefix
1✔
175

1✔
176
        // Ensure that this key has not already been used in the
1✔
177
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
178
        // be created.
1✔
179
        if _, ok := t.Ipv4Entry[key]; ok {
1✔
180
                return nil, fmt.Errorf("duplicate key %v for list Ipv4Entry", key)
×
181
        }
×
182

183
        t.Ipv4Entry[key] = &Afts_Ipv4Entry{
1✔
184
                Prefix: &Prefix,
1✔
185
        }
1✔
186

1✔
187
        return t.Ipv4Entry[key], nil
1✔
188
}
189

190
// GetOrCreateIpv4Entry retrieves the value with the specified keys from
191
// the receiver Afts. If the entry does not exist, then it is created.
192
// It returns the existing or new list member.
193
func (t *Afts) GetOrCreateIpv4Entry(Prefix string) *Afts_Ipv4Entry {
1✔
194

1✔
195
        key := Prefix
1✔
196

1✔
197
        if v, ok := t.Ipv4Entry[key]; ok {
1✔
198
                return v
×
199
        }
×
200
        // Panic if we receive an error, since we should have retrieved an existing
201
        // list member. This allows chaining of GetOrCreate methods.
202
        v, err := t.NewIpv4Entry(Prefix)
1✔
203
        if err != nil {
1✔
204
                panic(fmt.Sprintf("GetOrCreateIpv4Entry got unexpected error: %v", err))
×
205
        }
206
        return v
1✔
207
}
208

209
// GetIpv4Entry retrieves the value with the specified key from
210
// the Ipv4Entry map field of Afts. If the receiver is nil, or
211
// the specified key is not present in the list, nil is returned such that Get*
212
// methods may be safely chained.
213
func (t *Afts) GetIpv4Entry(Prefix string) *Afts_Ipv4Entry {
1✔
214

1✔
215
        if t == nil {
1✔
216
                return nil
×
217
        }
×
218

219
        key := Prefix
1✔
220

1✔
221
        if lm, ok := t.Ipv4Entry[key]; ok {
2✔
222
                return lm
1✔
223
        }
1✔
224
        return nil
×
225
}
226

227
// DeleteIpv4Entry deletes the value with the specified keys from
228
// the receiver Afts. If there is no such element, the function
229
// is a no-op.
230
func (t *Afts) DeleteIpv4Entry(Prefix string) {
×
231
        key := Prefix
×
232

×
233
        delete(t.Ipv4Entry, key)
×
234
}
×
235

236
// NewIpv6Entry creates a new entry in the Ipv6Entry list of the
237
// Afts struct. The keys of the list are populated from the input
238
// arguments.
239
func (t *Afts) NewIpv6Entry(Prefix string) (*Afts_Ipv6Entry, error) {
1✔
240

1✔
241
        // Initialise the list within the receiver struct if it has not already been
1✔
242
        // created.
1✔
243
        if t.Ipv6Entry == nil {
2✔
244
                t.Ipv6Entry = make(map[string]*Afts_Ipv6Entry)
1✔
245
        }
1✔
246

247
        key := Prefix
1✔
248

1✔
249
        // Ensure that this key has not already been used in the
1✔
250
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
251
        // be created.
1✔
252
        if _, ok := t.Ipv6Entry[key]; ok {
1✔
253
                return nil, fmt.Errorf("duplicate key %v for list Ipv6Entry", key)
×
254
        }
×
255

256
        t.Ipv6Entry[key] = &Afts_Ipv6Entry{
1✔
257
                Prefix: &Prefix,
1✔
258
        }
1✔
259

1✔
260
        return t.Ipv6Entry[key], nil
1✔
261
}
262

263
// GetOrCreateIpv6Entry retrieves the value with the specified keys from
264
// the receiver Afts. If the entry does not exist, then it is created.
265
// It returns the existing or new list member.
266
func (t *Afts) GetOrCreateIpv6Entry(Prefix string) *Afts_Ipv6Entry {
1✔
267

1✔
268
        key := Prefix
1✔
269

1✔
270
        if v, ok := t.Ipv6Entry[key]; ok {
1✔
271
                return v
×
272
        }
×
273
        // Panic if we receive an error, since we should have retrieved an existing
274
        // list member. This allows chaining of GetOrCreate methods.
275
        v, err := t.NewIpv6Entry(Prefix)
1✔
276
        if err != nil {
1✔
277
                panic(fmt.Sprintf("GetOrCreateIpv6Entry got unexpected error: %v", err))
×
278
        }
279
        return v
1✔
280
}
281

282
// GetIpv6Entry retrieves the value with the specified key from
283
// the Ipv6Entry map field of Afts. If the receiver is nil, or
284
// the specified key is not present in the list, nil is returned such that Get*
285
// methods may be safely chained.
286
func (t *Afts) GetIpv6Entry(Prefix string) *Afts_Ipv6Entry {
1✔
287

1✔
288
        if t == nil {
1✔
289
                return nil
×
290
        }
×
291

292
        key := Prefix
1✔
293

1✔
294
        if lm, ok := t.Ipv6Entry[key]; ok {
2✔
295
                return lm
1✔
296
        }
1✔
297
        return nil
×
298
}
299

300
// DeleteIpv6Entry deletes the value with the specified keys from
301
// the receiver Afts. If there is no such element, the function
302
// is a no-op.
303
func (t *Afts) DeleteIpv6Entry(Prefix string) {
×
304
        key := Prefix
×
305

×
306
        delete(t.Ipv6Entry, key)
×
307
}
×
308

309
// NewLabelEntry creates a new entry in the LabelEntry list of the
310
// Afts struct. The keys of the list are populated from the input
311
// arguments.
312
func (t *Afts) NewLabelEntry(Label Afts_LabelEntry_Label_Union) (*Afts_LabelEntry, error) {
1✔
313

1✔
314
        // Initialise the list within the receiver struct if it has not already been
1✔
315
        // created.
1✔
316
        if t.LabelEntry == nil {
2✔
317
                t.LabelEntry = make(map[Afts_LabelEntry_Label_Union]*Afts_LabelEntry)
1✔
318
        }
1✔
319

320
        key := Label
1✔
321

1✔
322
        // Ensure that this key has not already been used in the
1✔
323
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
324
        // be created.
1✔
325
        if _, ok := t.LabelEntry[key]; ok {
1✔
326
                return nil, fmt.Errorf("duplicate key %v for list LabelEntry", key)
×
327
        }
×
328

329
        t.LabelEntry[key] = &Afts_LabelEntry{
1✔
330
                Label: Label,
1✔
331
        }
1✔
332

1✔
333
        return t.LabelEntry[key], nil
1✔
334
}
335

336
// GetOrCreateLabelEntry retrieves the value with the specified keys from
337
// the receiver Afts. If the entry does not exist, then it is created.
338
// It returns the existing or new list member.
339
func (t *Afts) GetOrCreateLabelEntry(Label Afts_LabelEntry_Label_Union) *Afts_LabelEntry {
1✔
340

1✔
341
        key := Label
1✔
342

1✔
343
        if v, ok := t.LabelEntry[key]; ok {
1✔
344
                return v
×
345
        }
×
346
        // Panic if we receive an error, since we should have retrieved an existing
347
        // list member. This allows chaining of GetOrCreate methods.
348
        v, err := t.NewLabelEntry(Label)
1✔
349
        if err != nil {
1✔
350
                panic(fmt.Sprintf("GetOrCreateLabelEntry got unexpected error: %v", err))
×
351
        }
352
        return v
1✔
353
}
354

355
// GetLabelEntry retrieves the value with the specified key from
356
// the LabelEntry map field of Afts. If the receiver is nil, or
357
// the specified key is not present in the list, nil is returned such that Get*
358
// methods may be safely chained.
359
func (t *Afts) GetLabelEntry(Label Afts_LabelEntry_Label_Union) *Afts_LabelEntry {
×
360

×
361
        if t == nil {
×
362
                return nil
×
363
        }
×
364

365
        key := Label
×
366

×
367
        if lm, ok := t.LabelEntry[key]; ok {
×
368
                return lm
×
369
        }
×
370
        return nil
×
371
}
372

373
// DeleteLabelEntry deletes the value with the specified keys from
374
// the receiver Afts. If there is no such element, the function
375
// is a no-op.
376
func (t *Afts) DeleteLabelEntry(Label Afts_LabelEntry_Label_Union) {
×
377
        key := Label
×
378

×
379
        delete(t.LabelEntry, key)
×
380
}
×
381

382
// NewMacEntry creates a new entry in the MacEntry list of the
383
// Afts struct. The keys of the list are populated from the input
384
// arguments.
385
func (t *Afts) NewMacEntry(MacAddress string) (*Afts_MacEntry, error) {
1✔
386

1✔
387
        // Initialise the list within the receiver struct if it has not already been
1✔
388
        // created.
1✔
389
        if t.MacEntry == nil {
2✔
390
                t.MacEntry = make(map[string]*Afts_MacEntry)
1✔
391
        }
1✔
392

393
        key := MacAddress
1✔
394

1✔
395
        // Ensure that this key has not already been used in the
1✔
396
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
397
        // be created.
1✔
398
        if _, ok := t.MacEntry[key]; ok {
1✔
399
                return nil, fmt.Errorf("duplicate key %v for list MacEntry", key)
×
400
        }
×
401

402
        t.MacEntry[key] = &Afts_MacEntry{
1✔
403
                MacAddress: &MacAddress,
1✔
404
        }
1✔
405

1✔
406
        return t.MacEntry[key], nil
1✔
407
}
408

409
// GetOrCreateMacEntry retrieves the value with the specified keys from
410
// the receiver Afts. If the entry does not exist, then it is created.
411
// It returns the existing or new list member.
412
func (t *Afts) GetOrCreateMacEntry(MacAddress string) *Afts_MacEntry {
1✔
413

1✔
414
        key := MacAddress
1✔
415

1✔
416
        if v, ok := t.MacEntry[key]; ok {
1✔
417
                return v
×
418
        }
×
419
        // Panic if we receive an error, since we should have retrieved an existing
420
        // list member. This allows chaining of GetOrCreate methods.
421
        v, err := t.NewMacEntry(MacAddress)
1✔
422
        if err != nil {
1✔
423
                panic(fmt.Sprintf("GetOrCreateMacEntry got unexpected error: %v", err))
×
424
        }
425
        return v
1✔
426
}
427

428
// GetMacEntry retrieves the value with the specified key from
429
// the MacEntry map field of Afts. If the receiver is nil, or
430
// the specified key is not present in the list, nil is returned such that Get*
431
// methods may be safely chained.
432
func (t *Afts) GetMacEntry(MacAddress string) *Afts_MacEntry {
×
433

×
434
        if t == nil {
×
435
                return nil
×
436
        }
×
437

438
        key := MacAddress
×
439

×
440
        if lm, ok := t.MacEntry[key]; ok {
×
441
                return lm
×
442
        }
×
443
        return nil
×
444
}
445

446
// DeleteMacEntry deletes the value with the specified keys from
447
// the receiver Afts. If there is no such element, the function
448
// is a no-op.
449
func (t *Afts) DeleteMacEntry(MacAddress string) {
×
450
        key := MacAddress
×
451

×
452
        delete(t.MacEntry, key)
×
453
}
×
454

455
// NewNextHop creates a new entry in the NextHop list of the
456
// Afts struct. The keys of the list are populated from the input
457
// arguments.
458
func (t *Afts) NewNextHop(Index uint64) (*Afts_NextHop, error) {
1✔
459

1✔
460
        // Initialise the list within the receiver struct if it has not already been
1✔
461
        // created.
1✔
462
        if t.NextHop == nil {
2✔
463
                t.NextHop = make(map[uint64]*Afts_NextHop)
1✔
464
        }
1✔
465

466
        key := Index
1✔
467

1✔
468
        // Ensure that this key has not already been used in the
1✔
469
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
470
        // be created.
1✔
471
        if _, ok := t.NextHop[key]; ok {
1✔
472
                return nil, fmt.Errorf("duplicate key %v for list NextHop", key)
×
473
        }
×
474

475
        t.NextHop[key] = &Afts_NextHop{
1✔
476
                Index: &Index,
1✔
477
        }
1✔
478

1✔
479
        return t.NextHop[key], nil
1✔
480
}
481

482
// GetOrCreateNextHop retrieves the value with the specified keys from
483
// the receiver Afts. If the entry does not exist, then it is created.
484
// It returns the existing or new list member.
485
func (t *Afts) GetOrCreateNextHop(Index uint64) *Afts_NextHop {
1✔
486

1✔
487
        key := Index
1✔
488

1✔
489
        if v, ok := t.NextHop[key]; ok {
1✔
490
                return v
×
491
        }
×
492
        // Panic if we receive an error, since we should have retrieved an existing
493
        // list member. This allows chaining of GetOrCreate methods.
494
        v, err := t.NewNextHop(Index)
1✔
495
        if err != nil {
1✔
496
                panic(fmt.Sprintf("GetOrCreateNextHop got unexpected error: %v", err))
×
497
        }
498
        return v
1✔
499
}
500

501
// GetNextHop retrieves the value with the specified key from
502
// the NextHop map field of Afts. If the receiver is nil, or
503
// the specified key is not present in the list, nil is returned such that Get*
504
// methods may be safely chained.
505
func (t *Afts) GetNextHop(Index uint64) *Afts_NextHop {
1✔
506

1✔
507
        if t == nil {
1✔
508
                return nil
×
509
        }
×
510

511
        key := Index
1✔
512

1✔
513
        if lm, ok := t.NextHop[key]; ok {
2✔
514
                return lm
1✔
515
        }
1✔
516
        return nil
1✔
517
}
518

519
// DeleteNextHop deletes the value with the specified keys from
520
// the receiver Afts. If there is no such element, the function
521
// is a no-op.
522
func (t *Afts) DeleteNextHop(Index uint64) {
×
523
        key := Index
×
524

×
525
        delete(t.NextHop, key)
×
526
}
×
527

528
// NewNextHopGroup creates a new entry in the NextHopGroup list of the
529
// Afts struct. The keys of the list are populated from the input
530
// arguments.
531
func (t *Afts) NewNextHopGroup(Id uint64) (*Afts_NextHopGroup, error) {
1✔
532

1✔
533
        // Initialise the list within the receiver struct if it has not already been
1✔
534
        // created.
1✔
535
        if t.NextHopGroup == nil {
2✔
536
                t.NextHopGroup = make(map[uint64]*Afts_NextHopGroup)
1✔
537
        }
1✔
538

539
        key := Id
1✔
540

1✔
541
        // Ensure that this key has not already been used in the
1✔
542
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
543
        // be created.
1✔
544
        if _, ok := t.NextHopGroup[key]; ok {
1✔
545
                return nil, fmt.Errorf("duplicate key %v for list NextHopGroup", key)
×
546
        }
×
547

548
        t.NextHopGroup[key] = &Afts_NextHopGroup{
1✔
549
                Id: &Id,
1✔
550
        }
1✔
551

1✔
552
        return t.NextHopGroup[key], nil
1✔
553
}
554

555
// GetOrCreateNextHopGroup retrieves the value with the specified keys from
556
// the receiver Afts. If the entry does not exist, then it is created.
557
// It returns the existing or new list member.
558
func (t *Afts) GetOrCreateNextHopGroup(Id uint64) *Afts_NextHopGroup {
1✔
559

1✔
560
        key := Id
1✔
561

1✔
562
        if v, ok := t.NextHopGroup[key]; ok {
2✔
563
                return v
1✔
564
        }
1✔
565
        // Panic if we receive an error, since we should have retrieved an existing
566
        // list member. This allows chaining of GetOrCreate methods.
567
        v, err := t.NewNextHopGroup(Id)
1✔
568
        if err != nil {
1✔
569
                panic(fmt.Sprintf("GetOrCreateNextHopGroup got unexpected error: %v", err))
×
570
        }
571
        return v
1✔
572
}
573

574
// GetNextHopGroup retrieves the value with the specified key from
575
// the NextHopGroup map field of Afts. If the receiver is nil, or
576
// the specified key is not present in the list, nil is returned such that Get*
577
// methods may be safely chained.
578
func (t *Afts) GetNextHopGroup(Id uint64) *Afts_NextHopGroup {
1✔
579

1✔
580
        if t == nil {
2✔
581
                return nil
1✔
582
        }
1✔
583

584
        key := Id
1✔
585

1✔
586
        if lm, ok := t.NextHopGroup[key]; ok {
2✔
587
                return lm
1✔
588
        }
1✔
589
        return nil
1✔
590
}
591

592
// DeleteNextHopGroup deletes the value with the specified keys from
593
// the receiver Afts. If there is no such element, the function
594
// is a no-op.
595
func (t *Afts) DeleteNextHopGroup(Id uint64) {
×
596
        key := Id
×
597

×
598
        delete(t.NextHopGroup, key)
×
599
}
×
600

601
// NewPolicyForwardingEntry creates a new entry in the PolicyForwardingEntry list of the
602
// Afts struct. The keys of the list are populated from the input
603
// arguments.
604
func (t *Afts) NewPolicyForwardingEntry(Index uint64) (*Afts_PolicyForwardingEntry, error) {
1✔
605

1✔
606
        // Initialise the list within the receiver struct if it has not already been
1✔
607
        // created.
1✔
608
        if t.PolicyForwardingEntry == nil {
2✔
609
                t.PolicyForwardingEntry = make(map[uint64]*Afts_PolicyForwardingEntry)
1✔
610
        }
1✔
611

612
        key := Index
1✔
613

1✔
614
        // Ensure that this key has not already been used in the
1✔
615
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
616
        // be created.
1✔
617
        if _, ok := t.PolicyForwardingEntry[key]; ok {
1✔
618
                return nil, fmt.Errorf("duplicate key %v for list PolicyForwardingEntry", key)
×
619
        }
×
620

621
        t.PolicyForwardingEntry[key] = &Afts_PolicyForwardingEntry{
1✔
622
                Index: &Index,
1✔
623
        }
1✔
624

1✔
625
        return t.PolicyForwardingEntry[key], nil
1✔
626
}
627

628
// GetOrCreatePolicyForwardingEntry retrieves the value with the specified keys from
629
// the receiver Afts. If the entry does not exist, then it is created.
630
// It returns the existing or new list member.
631
func (t *Afts) GetOrCreatePolicyForwardingEntry(Index uint64) *Afts_PolicyForwardingEntry {
1✔
632

1✔
633
        key := Index
1✔
634

1✔
635
        if v, ok := t.PolicyForwardingEntry[key]; ok {
1✔
636
                return v
×
637
        }
×
638
        // Panic if we receive an error, since we should have retrieved an existing
639
        // list member. This allows chaining of GetOrCreate methods.
640
        v, err := t.NewPolicyForwardingEntry(Index)
1✔
641
        if err != nil {
1✔
642
                panic(fmt.Sprintf("GetOrCreatePolicyForwardingEntry got unexpected error: %v", err))
×
643
        }
644
        return v
1✔
645
}
646

647
// GetPolicyForwardingEntry retrieves the value with the specified key from
648
// the PolicyForwardingEntry map field of Afts. If the receiver is nil, or
649
// the specified key is not present in the list, nil is returned such that Get*
650
// methods may be safely chained.
651
func (t *Afts) GetPolicyForwardingEntry(Index uint64) *Afts_PolicyForwardingEntry {
×
652

×
653
        if t == nil {
×
654
                return nil
×
655
        }
×
656

657
        key := Index
×
658

×
659
        if lm, ok := t.PolicyForwardingEntry[key]; ok {
×
660
                return lm
×
661
        }
×
662
        return nil
×
663
}
664

665
// DeletePolicyForwardingEntry deletes the value with the specified keys from
666
// the receiver Afts. If there is no such element, the function
667
// is a no-op.
668
func (t *Afts) DeletePolicyForwardingEntry(Index uint64) {
×
669
        key := Index
×
670

×
671
        delete(t.PolicyForwardingEntry, key)
×
672
}
×
673

674
// Validate validates s against the YANG schema corresponding to its type.
675
func (t *Afts) ΛValidate(opts ...ygot.ValidationOption) error {
1✔
676
        if err := ytypes.Validate(SchemaTree["Afts"], t, opts...); err != nil {
2✔
677
                return err
1✔
678
        }
1✔
679
        return nil
1✔
680
}
681

682
// Validate validates s against the YANG schema corresponding to its type.
683
func (t *Afts) Validate(opts ...ygot.ValidationOption) error {
1✔
684
        return t.ΛValidate(opts...)
1✔
685
}
1✔
686

687
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
688
// that are included in the generated code.
689
func (t *Afts) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
690

691
// ΛBelongingModule returns the name of the module that defines the namespace
692
// of Afts.
693
func (*Afts) ΛBelongingModule() string {
×
694
        return "gribi-aft"
×
695
}
×
696

697
// Afts_Ipv4Entry represents the /gribi-aft/afts/ipv4-unicast/ipv4-entry YANG schema element.
698
type Afts_Ipv4Entry struct {
699
        DecapsulateHeader           E_AftTypes_EncapsulationHeaderType `path:"state/decapsulate-header" module:"gribi-aft/gribi-aft"`
700
        EntryMetadata               Binary                             `path:"state/entry-metadata" module:"gribi-aft/gribi-aft"`
701
        NextHopGroup                *uint64                            `path:"state/next-hop-group" module:"gribi-aft/gribi-aft"`
702
        NextHopGroupNetworkInstance *string                            `path:"state/next-hop-group-network-instance" module:"gribi-aft/gribi-aft"`
703
        Prefix                      *string                            `path:"state/prefix|prefix" module:"gribi-aft/gribi-aft|gribi-aft"`
704
}
705

706
// IsYANGGoStruct ensures that Afts_Ipv4Entry implements the yang.GoStruct
707
// interface. This allows functions that need to handle this struct to
708
// identify it as being generated by ygen.
709
func (*Afts_Ipv4Entry) IsYANGGoStruct() {}
×
710

711
// GetDecapsulateHeader retrieves the value of the leaf DecapsulateHeader from the Afts_Ipv4Entry
712
// struct. If the field is unset but has a default value in the YANG schema,
713
// then the default value will be returned.
714
// Caution should be exercised whilst using this method since when without a
715
// default value, it will return the Go zero value if the field is explicitly
716
// unset. If the caller explicitly does not care if DecapsulateHeader is set, it can
717
// safely use t.GetDecapsulateHeader() to retrieve the value. In the case that the
718
// caller has different actions based on whether the leaf is set or unset, it
719
// should use 'if t.DecapsulateHeader == nil' before retrieving the leaf's value.
720
func (t *Afts_Ipv4Entry) GetDecapsulateHeader() E_AftTypes_EncapsulationHeaderType {
×
721
        if t == nil || t.DecapsulateHeader == 0 {
×
722
                return 0
×
723
        }
×
724
        return t.DecapsulateHeader
×
725
}
726

727
// GetEntryMetadata retrieves the value of the leaf EntryMetadata from the Afts_Ipv4Entry
728
// struct. If the field is unset but has a default value in the YANG schema,
729
// then the default value will be returned.
730
// Caution should be exercised whilst using this method since when without a
731
// default value, it will return the Go zero value if the field is explicitly
732
// unset. If the caller explicitly does not care if EntryMetadata is set, it can
733
// safely use t.GetEntryMetadata() to retrieve the value. In the case that the
734
// caller has different actions based on whether the leaf is set or unset, it
735
// should use 'if t.EntryMetadata == nil' before retrieving the leaf's value.
736
func (t *Afts_Ipv4Entry) GetEntryMetadata() Binary {
×
737
        if t == nil || t.EntryMetadata == nil {
×
738
                return nil
×
739
        }
×
740
        return t.EntryMetadata
×
741
}
742

743
// GetNextHopGroup retrieves the value of the leaf NextHopGroup from the Afts_Ipv4Entry
744
// struct. If the field is unset but has a default value in the YANG schema,
745
// then the default value will be returned.
746
// Caution should be exercised whilst using this method since when without a
747
// default value, it will return the Go zero value if the field is explicitly
748
// unset. If the caller explicitly does not care if NextHopGroup is set, it can
749
// safely use t.GetNextHopGroup() to retrieve the value. In the case that the
750
// caller has different actions based on whether the leaf is set or unset, it
751
// should use 'if t.NextHopGroup == nil' before retrieving the leaf's value.
752
func (t *Afts_Ipv4Entry) GetNextHopGroup() uint64 {
1✔
753
        if t == nil || t.NextHopGroup == nil {
2✔
754
                return 0
1✔
755
        }
1✔
756
        return *t.NextHopGroup
1✔
757
}
758

759
// GetNextHopGroupNetworkInstance retrieves the value of the leaf NextHopGroupNetworkInstance from the Afts_Ipv4Entry
760
// struct. If the field is unset but has a default value in the YANG schema,
761
// then the default value will be returned.
762
// Caution should be exercised whilst using this method since when without a
763
// default value, it will return the Go zero value if the field is explicitly
764
// unset. If the caller explicitly does not care if NextHopGroupNetworkInstance is set, it can
765
// safely use t.GetNextHopGroupNetworkInstance() to retrieve the value. In the case that the
766
// caller has different actions based on whether the leaf is set or unset, it
767
// should use 'if t.NextHopGroupNetworkInstance == nil' before retrieving the leaf's value.
768
func (t *Afts_Ipv4Entry) GetNextHopGroupNetworkInstance() string {
1✔
769
        if t == nil || t.NextHopGroupNetworkInstance == nil {
2✔
770
                return ""
1✔
771
        }
1✔
772
        return *t.NextHopGroupNetworkInstance
1✔
773
}
774

775
// GetPrefix retrieves the value of the leaf Prefix from the Afts_Ipv4Entry
776
// struct. If the field is unset but has a default value in the YANG schema,
777
// then the default value will be returned.
778
// Caution should be exercised whilst using this method since when without a
779
// default value, it will return the Go zero value if the field is explicitly
780
// unset. If the caller explicitly does not care if Prefix is set, it can
781
// safely use t.GetPrefix() to retrieve the value. In the case that the
782
// caller has different actions based on whether the leaf is set or unset, it
783
// should use 'if t.Prefix == nil' before retrieving the leaf's value.
784
func (t *Afts_Ipv4Entry) GetPrefix() string {
1✔
785
        if t == nil || t.Prefix == nil {
1✔
786
                return ""
×
787
        }
×
788
        return *t.Prefix
1✔
789
}
790

791
// ΛListKeyMap returns the keys of the Afts_Ipv4Entry struct, which is a YANG list entry.
792
func (t *Afts_Ipv4Entry) ΛListKeyMap() (map[string]interface{}, error) {
1✔
793
        if t.Prefix == nil {
1✔
794
                return nil, fmt.Errorf("nil value for key Prefix")
×
795
        }
×
796

797
        return map[string]interface{}{
1✔
798
                "prefix": *t.Prefix,
1✔
799
        }, nil
1✔
800
}
801

802
// Validate validates s against the YANG schema corresponding to its type.
803
func (t *Afts_Ipv4Entry) ΛValidate(opts ...ygot.ValidationOption) error {
×
804
        if err := ytypes.Validate(SchemaTree["Afts_Ipv4Entry"], t, opts...); err != nil {
×
805
                return err
×
806
        }
×
807
        return nil
×
808
}
809

810
// Validate validates s against the YANG schema corresponding to its type.
811
func (t *Afts_Ipv4Entry) Validate(opts ...ygot.ValidationOption) error {
×
812
        return t.ΛValidate(opts...)
×
813
}
×
814

815
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
816
// that are included in the generated code.
817
func (t *Afts_Ipv4Entry) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
818

819
// ΛBelongingModule returns the name of the module that defines the namespace
820
// of Afts_Ipv4Entry.
821
func (*Afts_Ipv4Entry) ΛBelongingModule() string {
×
822
        return "gribi-aft"
×
823
}
×
824

825
// Afts_Ipv6Entry represents the /gribi-aft/afts/ipv6-unicast/ipv6-entry YANG schema element.
826
type Afts_Ipv6Entry struct {
827
        DecapsulateHeader           E_AftTypes_EncapsulationHeaderType `path:"state/decapsulate-header" module:"gribi-aft/gribi-aft"`
828
        EntryMetadata               Binary                             `path:"state/entry-metadata" module:"gribi-aft/gribi-aft"`
829
        NextHopGroup                *uint64                            `path:"state/next-hop-group" module:"gribi-aft/gribi-aft"`
830
        NextHopGroupNetworkInstance *string                            `path:"state/next-hop-group-network-instance" module:"gribi-aft/gribi-aft"`
831
        Prefix                      *string                            `path:"state/prefix|prefix" module:"gribi-aft/gribi-aft|gribi-aft"`
832
}
833

834
// IsYANGGoStruct ensures that Afts_Ipv6Entry implements the yang.GoStruct
835
// interface. This allows functions that need to handle this struct to
836
// identify it as being generated by ygen.
837
func (*Afts_Ipv6Entry) IsYANGGoStruct() {}
×
838

839
// GetDecapsulateHeader retrieves the value of the leaf DecapsulateHeader from the Afts_Ipv6Entry
840
// struct. If the field is unset but has a default value in the YANG schema,
841
// then the default value will be returned.
842
// Caution should be exercised whilst using this method since when without a
843
// default value, it will return the Go zero value if the field is explicitly
844
// unset. If the caller explicitly does not care if DecapsulateHeader is set, it can
845
// safely use t.GetDecapsulateHeader() to retrieve the value. In the case that the
846
// caller has different actions based on whether the leaf is set or unset, it
847
// should use 'if t.DecapsulateHeader == nil' before retrieving the leaf's value.
848
func (t *Afts_Ipv6Entry) GetDecapsulateHeader() E_AftTypes_EncapsulationHeaderType {
×
849
        if t == nil || t.DecapsulateHeader == 0 {
×
850
                return 0
×
851
        }
×
852
        return t.DecapsulateHeader
×
853
}
854

855
// GetEntryMetadata retrieves the value of the leaf EntryMetadata from the Afts_Ipv6Entry
856
// struct. If the field is unset but has a default value in the YANG schema,
857
// then the default value will be returned.
858
// Caution should be exercised whilst using this method since when without a
859
// default value, it will return the Go zero value if the field is explicitly
860
// unset. If the caller explicitly does not care if EntryMetadata is set, it can
861
// safely use t.GetEntryMetadata() to retrieve the value. In the case that the
862
// caller has different actions based on whether the leaf is set or unset, it
863
// should use 'if t.EntryMetadata == nil' before retrieving the leaf's value.
864
func (t *Afts_Ipv6Entry) GetEntryMetadata() Binary {
×
865
        if t == nil || t.EntryMetadata == nil {
×
866
                return nil
×
867
        }
×
868
        return t.EntryMetadata
×
869
}
870

871
// GetNextHopGroup retrieves the value of the leaf NextHopGroup from the Afts_Ipv6Entry
872
// struct. If the field is unset but has a default value in the YANG schema,
873
// then the default value will be returned.
874
// Caution should be exercised whilst using this method since when without a
875
// default value, it will return the Go zero value if the field is explicitly
876
// unset. If the caller explicitly does not care if NextHopGroup is set, it can
877
// safely use t.GetNextHopGroup() to retrieve the value. In the case that the
878
// caller has different actions based on whether the leaf is set or unset, it
879
// should use 'if t.NextHopGroup == nil' before retrieving the leaf's value.
880
func (t *Afts_Ipv6Entry) GetNextHopGroup() uint64 {
1✔
881
        if t == nil || t.NextHopGroup == nil {
2✔
882
                return 0
1✔
883
        }
1✔
884
        return *t.NextHopGroup
1✔
885
}
886

887
// GetNextHopGroupNetworkInstance retrieves the value of the leaf NextHopGroupNetworkInstance from the Afts_Ipv6Entry
888
// struct. If the field is unset but has a default value in the YANG schema,
889
// then the default value will be returned.
890
// Caution should be exercised whilst using this method since when without a
891
// default value, it will return the Go zero value if the field is explicitly
892
// unset. If the caller explicitly does not care if NextHopGroupNetworkInstance is set, it can
893
// safely use t.GetNextHopGroupNetworkInstance() to retrieve the value. In the case that the
894
// caller has different actions based on whether the leaf is set or unset, it
895
// should use 'if t.NextHopGroupNetworkInstance == nil' before retrieving the leaf's value.
896
func (t *Afts_Ipv6Entry) GetNextHopGroupNetworkInstance() string {
1✔
897
        if t == nil || t.NextHopGroupNetworkInstance == nil {
2✔
898
                return ""
1✔
899
        }
1✔
900
        return *t.NextHopGroupNetworkInstance
1✔
901
}
902

903
// GetPrefix retrieves the value of the leaf Prefix from the Afts_Ipv6Entry
904
// struct. If the field is unset but has a default value in the YANG schema,
905
// then the default value will be returned.
906
// Caution should be exercised whilst using this method since when without a
907
// default value, it will return the Go zero value if the field is explicitly
908
// unset. If the caller explicitly does not care if Prefix is set, it can
909
// safely use t.GetPrefix() to retrieve the value. In the case that the
910
// caller has different actions based on whether the leaf is set or unset, it
911
// should use 'if t.Prefix == nil' before retrieving the leaf's value.
912
func (t *Afts_Ipv6Entry) GetPrefix() string {
1✔
913
        if t == nil || t.Prefix == nil {
1✔
914
                return ""
×
915
        }
×
916
        return *t.Prefix
1✔
917
}
918

919
// ΛListKeyMap returns the keys of the Afts_Ipv6Entry struct, which is a YANG list entry.
920
func (t *Afts_Ipv6Entry) ΛListKeyMap() (map[string]interface{}, error) {
1✔
921
        if t.Prefix == nil {
1✔
922
                return nil, fmt.Errorf("nil value for key Prefix")
×
923
        }
×
924

925
        return map[string]interface{}{
1✔
926
                "prefix": *t.Prefix,
1✔
927
        }, nil
1✔
928
}
929

930
// Validate validates s against the YANG schema corresponding to its type.
931
func (t *Afts_Ipv6Entry) ΛValidate(opts ...ygot.ValidationOption) error {
×
932
        if err := ytypes.Validate(SchemaTree["Afts_Ipv6Entry"], t, opts...); err != nil {
×
933
                return err
×
934
        }
×
935
        return nil
×
936
}
937

938
// Validate validates s against the YANG schema corresponding to its type.
939
func (t *Afts_Ipv6Entry) Validate(opts ...ygot.ValidationOption) error {
×
940
        return t.ΛValidate(opts...)
×
941
}
×
942

943
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
944
// that are included in the generated code.
945
func (t *Afts_Ipv6Entry) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
946

947
// ΛBelongingModule returns the name of the module that defines the namespace
948
// of Afts_Ipv6Entry.
949
func (*Afts_Ipv6Entry) ΛBelongingModule() string {
×
950
        return "gribi-aft"
×
951
}
×
952

953
// Afts_LabelEntry represents the /gribi-aft/afts/mpls/label-entry YANG schema element.
954
type Afts_LabelEntry struct {
955
        EntryMetadata               Binary                                       `path:"state/entry-metadata" module:"gribi-aft/gribi-aft"`
956
        Label                       Afts_LabelEntry_Label_Union                  `path:"state/label|label" module:"gribi-aft/gribi-aft|gribi-aft"`
957
        NextHopGroup                *uint64                                      `path:"state/next-hop-group" module:"gribi-aft/gribi-aft"`
958
        NextHopGroupNetworkInstance *string                                      `path:"state/next-hop-group-network-instance" module:"gribi-aft/gribi-aft"`
959
        PoppedMplsLabelStack        []Afts_LabelEntry_PoppedMplsLabelStack_Union `path:"state/popped-mpls-label-stack" module:"gribi-aft/gribi-aft"`
960
}
961

962
// IsYANGGoStruct ensures that Afts_LabelEntry implements the yang.GoStruct
963
// interface. This allows functions that need to handle this struct to
964
// identify it as being generated by ygen.
965
func (*Afts_LabelEntry) IsYANGGoStruct() {}
×
966

967
// GetEntryMetadata retrieves the value of the leaf EntryMetadata from the Afts_LabelEntry
968
// struct. If the field is unset but has a default value in the YANG schema,
969
// then the default value will be returned.
970
// Caution should be exercised whilst using this method since when without a
971
// default value, it will return the Go zero value if the field is explicitly
972
// unset. If the caller explicitly does not care if EntryMetadata is set, it can
973
// safely use t.GetEntryMetadata() to retrieve the value. In the case that the
974
// caller has different actions based on whether the leaf is set or unset, it
975
// should use 'if t.EntryMetadata == nil' before retrieving the leaf's value.
976
func (t *Afts_LabelEntry) GetEntryMetadata() Binary {
×
977
        if t == nil || t.EntryMetadata == nil {
×
978
                return nil
×
979
        }
×
980
        return t.EntryMetadata
×
981
}
982

983
// GetLabel retrieves the value of the leaf Label from the Afts_LabelEntry
984
// struct. If the field is unset but has a default value in the YANG schema,
985
// then the default value will be returned.
986
// Caution should be exercised whilst using this method since when without a
987
// default value, it will return the Go zero value if the field is explicitly
988
// unset. If the caller explicitly does not care if Label is set, it can
989
// safely use t.GetLabel() to retrieve the value. In the case that the
990
// caller has different actions based on whether the leaf is set or unset, it
991
// should use 'if t.Label == nil' before retrieving the leaf's value.
992
func (t *Afts_LabelEntry) GetLabel() Afts_LabelEntry_Label_Union {
1✔
993
        if t == nil || t.Label == nil {
1✔
994
                return nil
×
995
        }
×
996
        return t.Label
1✔
997
}
998

999
// GetNextHopGroup retrieves the value of the leaf NextHopGroup from the Afts_LabelEntry
1000
// struct. If the field is unset but has a default value in the YANG schema,
1001
// then the default value will be returned.
1002
// Caution should be exercised whilst using this method since when without a
1003
// default value, it will return the Go zero value if the field is explicitly
1004
// unset. If the caller explicitly does not care if NextHopGroup is set, it can
1005
// safely use t.GetNextHopGroup() to retrieve the value. In the case that the
1006
// caller has different actions based on whether the leaf is set or unset, it
1007
// should use 'if t.NextHopGroup == nil' before retrieving the leaf's value.
1008
func (t *Afts_LabelEntry) GetNextHopGroup() uint64 {
1✔
1009
        if t == nil || t.NextHopGroup == nil {
2✔
1010
                return 0
1✔
1011
        }
1✔
1012
        return *t.NextHopGroup
1✔
1013
}
1014

1015
// GetNextHopGroupNetworkInstance retrieves the value of the leaf NextHopGroupNetworkInstance from the Afts_LabelEntry
1016
// struct. If the field is unset but has a default value in the YANG schema,
1017
// then the default value will be returned.
1018
// Caution should be exercised whilst using this method since when without a
1019
// default value, it will return the Go zero value if the field is explicitly
1020
// unset. If the caller explicitly does not care if NextHopGroupNetworkInstance is set, it can
1021
// safely use t.GetNextHopGroupNetworkInstance() to retrieve the value. In the case that the
1022
// caller has different actions based on whether the leaf is set or unset, it
1023
// should use 'if t.NextHopGroupNetworkInstance == nil' before retrieving the leaf's value.
1024
func (t *Afts_LabelEntry) GetNextHopGroupNetworkInstance() string {
1✔
1025
        if t == nil || t.NextHopGroupNetworkInstance == nil {
2✔
1026
                return ""
1✔
1027
        }
1✔
1028
        return *t.NextHopGroupNetworkInstance
1✔
1029
}
1030

1031
// GetPoppedMplsLabelStack retrieves the value of the leaf PoppedMplsLabelStack from the Afts_LabelEntry
1032
// struct. If the field is unset but has a default value in the YANG schema,
1033
// then the default value will be returned.
1034
// Caution should be exercised whilst using this method since when without a
1035
// default value, it will return the Go zero value if the field is explicitly
1036
// unset. If the caller explicitly does not care if PoppedMplsLabelStack is set, it can
1037
// safely use t.GetPoppedMplsLabelStack() to retrieve the value. In the case that the
1038
// caller has different actions based on whether the leaf is set or unset, it
1039
// should use 'if t.PoppedMplsLabelStack == nil' before retrieving the leaf's value.
1040
func (t *Afts_LabelEntry) GetPoppedMplsLabelStack() []Afts_LabelEntry_PoppedMplsLabelStack_Union {
×
1041
        if t == nil || t.PoppedMplsLabelStack == nil {
×
1042
                return nil
×
1043
        }
×
1044
        return t.PoppedMplsLabelStack
×
1045
}
1046

1047
// ΛListKeyMap returns the keys of the Afts_LabelEntry struct, which is a YANG list entry.
1048
func (t *Afts_LabelEntry) ΛListKeyMap() (map[string]interface{}, error) {
1✔
1049

1✔
1050
        return map[string]interface{}{
1✔
1051
                "label": t.Label,
1✔
1052
        }, nil
1✔
1053
}
1✔
1054

1055
// Validate validates s against the YANG schema corresponding to its type.
1056
func (t *Afts_LabelEntry) ΛValidate(opts ...ygot.ValidationOption) error {
×
1057
        if err := ytypes.Validate(SchemaTree["Afts_LabelEntry"], t, opts...); err != nil {
×
1058
                return err
×
1059
        }
×
1060
        return nil
×
1061
}
1062

1063
// Validate validates s against the YANG schema corresponding to its type.
1064
func (t *Afts_LabelEntry) Validate(opts ...ygot.ValidationOption) error {
×
1065
        return t.ΛValidate(opts...)
×
1066
}
×
1067

1068
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1069
// that are included in the generated code.
1070
func (t *Afts_LabelEntry) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
1✔
1071

1072
// ΛBelongingModule returns the name of the module that defines the namespace
1073
// of Afts_LabelEntry.
1074
func (*Afts_LabelEntry) ΛBelongingModule() string {
×
1075
        return "gribi-aft"
×
1076
}
×
1077

1078
// Afts_LabelEntry_Label_Union is an interface that is implemented by valid types for the union
1079
// for the leaf /gribi-aft/afts/mpls/label-entry/state/label within the YANG schema.
1080
// Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32].
1081
type Afts_LabelEntry_Label_Union interface {
1082
        // Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32]
1083
        Documentation_for_Afts_LabelEntry_Label_Union()
1084
}
1085

1086
// Documentation_for_Afts_LabelEntry_Label_Union ensures that E_MplsTypes_MplsLabel_Enum
1087
// implements the Afts_LabelEntry_Label_Union interface.
1088
func (E_MplsTypes_MplsLabel_Enum) Documentation_for_Afts_LabelEntry_Label_Union() {}
×
1089

1090
// Documentation_for_Afts_LabelEntry_Label_Union ensures that UnionUint32
1091
// implements the Afts_LabelEntry_Label_Union interface.
1092
func (UnionUint32) Documentation_for_Afts_LabelEntry_Label_Union() {}
×
1093

1094
// To_Afts_LabelEntry_Label_Union takes an input interface{} and attempts to convert it to a struct
1095
// which implements the Afts_LabelEntry_Label_Union union. It returns an error if the interface{} supplied
1096
// cannot be converted to a type within the union.
1097
func (t *Afts_LabelEntry) To_Afts_LabelEntry_Label_Union(i interface{}) (Afts_LabelEntry_Label_Union, error) {
1✔
1098
        if v, ok := i.(Afts_LabelEntry_Label_Union); ok {
1✔
1099
                return v, nil
×
1100
        }
×
1101
        switch v := i.(type) {
1✔
1102
        case uint32:
1✔
1103
                return UnionUint32(v), nil
1✔
1104
        }
1105
        return nil, fmt.Errorf("cannot convert %v to Afts_LabelEntry_Label_Union, unknown union type, got: %T, want any of [E_MplsTypes_MplsLabel_Enum, uint32]", i, i)
×
1106
}
1107

1108
// Afts_LabelEntry_PoppedMplsLabelStack_Union is an interface that is implemented by valid types for the union
1109
// for the leaf /gribi-aft/afts/mpls/label-entry/state/popped-mpls-label-stack within the YANG schema.
1110
// Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32].
1111
type Afts_LabelEntry_PoppedMplsLabelStack_Union interface {
1112
        // Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32]
1113
        Documentation_for_Afts_LabelEntry_PoppedMplsLabelStack_Union()
1114
}
1115

1116
// Documentation_for_Afts_LabelEntry_PoppedMplsLabelStack_Union ensures that E_MplsTypes_MplsLabel_Enum
1117
// implements the Afts_LabelEntry_PoppedMplsLabelStack_Union interface.
1118
func (E_MplsTypes_MplsLabel_Enum) Documentation_for_Afts_LabelEntry_PoppedMplsLabelStack_Union() {}
×
1119

1120
// Documentation_for_Afts_LabelEntry_PoppedMplsLabelStack_Union ensures that UnionUint32
1121
// implements the Afts_LabelEntry_PoppedMplsLabelStack_Union interface.
1122
func (UnionUint32) Documentation_for_Afts_LabelEntry_PoppedMplsLabelStack_Union() {}
×
1123

1124
// To_Afts_LabelEntry_PoppedMplsLabelStack_Union takes an input interface{} and attempts to convert it to a struct
1125
// which implements the Afts_LabelEntry_PoppedMplsLabelStack_Union union. It returns an error if the interface{} supplied
1126
// cannot be converted to a type within the union.
1127
func (t *Afts_LabelEntry) To_Afts_LabelEntry_PoppedMplsLabelStack_Union(i interface{}) (Afts_LabelEntry_PoppedMplsLabelStack_Union, error) {
×
1128
        if v, ok := i.(Afts_LabelEntry_PoppedMplsLabelStack_Union); ok {
×
1129
                return v, nil
×
1130
        }
×
1131
        switch v := i.(type) {
×
1132
        case uint32:
×
1133
                return UnionUint32(v), nil
×
1134
        }
1135
        return nil, fmt.Errorf("cannot convert %v to Afts_LabelEntry_PoppedMplsLabelStack_Union, unknown union type, got: %T, want any of [E_MplsTypes_MplsLabel_Enum, uint32]", i, i)
×
1136
}
1137

1138
// Afts_MacEntry represents the /gribi-aft/afts/ethernet/mac-entry YANG schema element.
1139
type Afts_MacEntry struct {
1140
        EntryMetadata               Binary  `path:"state/entry-metadata" module:"gribi-aft/gribi-aft"`
1141
        MacAddress                  *string `path:"state/mac-address|mac-address" module:"gribi-aft/gribi-aft|gribi-aft"`
1142
        NextHopGroup                *uint64 `path:"state/next-hop-group" module:"gribi-aft/gribi-aft"`
1143
        NextHopGroupNetworkInstance *string `path:"state/next-hop-group-network-instance" module:"gribi-aft/gribi-aft"`
1144
}
1145

1146
// IsYANGGoStruct ensures that Afts_MacEntry implements the yang.GoStruct
1147
// interface. This allows functions that need to handle this struct to
1148
// identify it as being generated by ygen.
1149
func (*Afts_MacEntry) IsYANGGoStruct() {}
×
1150

1151
// GetEntryMetadata retrieves the value of the leaf EntryMetadata from the Afts_MacEntry
1152
// struct. If the field is unset but has a default value in the YANG schema,
1153
// then the default value will be returned.
1154
// Caution should be exercised whilst using this method since when without a
1155
// default value, it will return the Go zero value if the field is explicitly
1156
// unset. If the caller explicitly does not care if EntryMetadata is set, it can
1157
// safely use t.GetEntryMetadata() to retrieve the value. In the case that the
1158
// caller has different actions based on whether the leaf is set or unset, it
1159
// should use 'if t.EntryMetadata == nil' before retrieving the leaf's value.
1160
func (t *Afts_MacEntry) GetEntryMetadata() Binary {
×
1161
        if t == nil || t.EntryMetadata == nil {
×
1162
                return nil
×
1163
        }
×
1164
        return t.EntryMetadata
×
1165
}
1166

1167
// GetMacAddress retrieves the value of the leaf MacAddress from the Afts_MacEntry
1168
// struct. If the field is unset but has a default value in the YANG schema,
1169
// then the default value will be returned.
1170
// Caution should be exercised whilst using this method since when without a
1171
// default value, it will return the Go zero value if the field is explicitly
1172
// unset. If the caller explicitly does not care if MacAddress is set, it can
1173
// safely use t.GetMacAddress() to retrieve the value. In the case that the
1174
// caller has different actions based on whether the leaf is set or unset, it
1175
// should use 'if t.MacAddress == nil' before retrieving the leaf's value.
1176
func (t *Afts_MacEntry) GetMacAddress() string {
×
1177
        if t == nil || t.MacAddress == nil {
×
1178
                return ""
×
1179
        }
×
1180
        return *t.MacAddress
×
1181
}
1182

1183
// GetNextHopGroup retrieves the value of the leaf NextHopGroup from the Afts_MacEntry
1184
// struct. If the field is unset but has a default value in the YANG schema,
1185
// then the default value will be returned.
1186
// Caution should be exercised whilst using this method since when without a
1187
// default value, it will return the Go zero value if the field is explicitly
1188
// unset. If the caller explicitly does not care if NextHopGroup is set, it can
1189
// safely use t.GetNextHopGroup() to retrieve the value. In the case that the
1190
// caller has different actions based on whether the leaf is set or unset, it
1191
// should use 'if t.NextHopGroup == nil' before retrieving the leaf's value.
1192
func (t *Afts_MacEntry) GetNextHopGroup() uint64 {
×
1193
        if t == nil || t.NextHopGroup == nil {
×
1194
                return 0
×
1195
        }
×
1196
        return *t.NextHopGroup
×
1197
}
1198

1199
// GetNextHopGroupNetworkInstance retrieves the value of the leaf NextHopGroupNetworkInstance from the Afts_MacEntry
1200
// struct. If the field is unset but has a default value in the YANG schema,
1201
// then the default value will be returned.
1202
// Caution should be exercised whilst using this method since when without a
1203
// default value, it will return the Go zero value if the field is explicitly
1204
// unset. If the caller explicitly does not care if NextHopGroupNetworkInstance is set, it can
1205
// safely use t.GetNextHopGroupNetworkInstance() to retrieve the value. In the case that the
1206
// caller has different actions based on whether the leaf is set or unset, it
1207
// should use 'if t.NextHopGroupNetworkInstance == nil' before retrieving the leaf's value.
1208
func (t *Afts_MacEntry) GetNextHopGroupNetworkInstance() string {
×
1209
        if t == nil || t.NextHopGroupNetworkInstance == nil {
×
1210
                return ""
×
1211
        }
×
1212
        return *t.NextHopGroupNetworkInstance
×
1213
}
1214

1215
// ΛListKeyMap returns the keys of the Afts_MacEntry struct, which is a YANG list entry.
1216
func (t *Afts_MacEntry) ΛListKeyMap() (map[string]interface{}, error) {
×
1217
        if t.MacAddress == nil {
×
1218
                return nil, fmt.Errorf("nil value for key MacAddress")
×
1219
        }
×
1220

1221
        return map[string]interface{}{
×
1222
                "mac-address": *t.MacAddress,
×
1223
        }, nil
×
1224
}
1225

1226
// Validate validates s against the YANG schema corresponding to its type.
1227
func (t *Afts_MacEntry) ΛValidate(opts ...ygot.ValidationOption) error {
×
1228
        if err := ytypes.Validate(SchemaTree["Afts_MacEntry"], t, opts...); err != nil {
×
1229
                return err
×
1230
        }
×
1231
        return nil
×
1232
}
1233

1234
// Validate validates s against the YANG schema corresponding to its type.
1235
func (t *Afts_MacEntry) Validate(opts ...ygot.ValidationOption) error {
×
1236
        return t.ΛValidate(opts...)
×
1237
}
×
1238

1239
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1240
// that are included in the generated code.
1241
func (t *Afts_MacEntry) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
1242

1243
// ΛBelongingModule returns the name of the module that defines the namespace
1244
// of Afts_MacEntry.
1245
func (*Afts_MacEntry) ΛBelongingModule() string {
×
1246
        return "gribi-aft"
×
1247
}
×
1248

1249
// Afts_NextHop represents the /gribi-aft/afts/next-hops/next-hop YANG schema element.
1250
type Afts_NextHop struct {
1251
        DecapsulateHeader    E_AftTypes_EncapsulationHeaderType        `path:"state/decapsulate-header" module:"gribi-aft/gribi-aft"`
1252
        EncapsulateHeader    E_AftTypes_EncapsulationHeaderType        `path:"state/encapsulate-header" module:"gribi-aft/gribi-aft"`
1253
        Index                *uint64                                   `path:"state/index|index" module:"gribi-aft/gribi-aft|gribi-aft"`
1254
        InterfaceRef         *Afts_NextHop_InterfaceRef                `path:"interface-ref" module:"gribi-aft"`
1255
        IpAddress            *string                                   `path:"state/ip-address" module:"gribi-aft/gribi-aft"`
1256
        IpInIp               *Afts_NextHop_IpInIp                      `path:"ip-in-ip" module:"gribi-aft"`
1257
        MacAddress           *string                                   `path:"state/mac-address" module:"gribi-aft/gribi-aft"`
1258
        NetworkInstance      *string                                   `path:"state/network-instance" module:"gribi-aft/gribi-aft"`
1259
        PopTopLabel          *bool                                     `path:"state/pop-top-label" module:"gribi-aft/gribi-aft"`
1260
        PushedMplsLabelStack []Afts_NextHop_PushedMplsLabelStack_Union `path:"state/pushed-mpls-label-stack" module:"gribi-aft/gribi-aft"`
1261
        TunnelSrcIpAddress   *string                                   `path:"state/tunnel-src-ip-address" module:"gribi-aft/gribi-aft"`
1262
        VniLabel             *uint32                                   `path:"state/vni-label" module:"gribi-aft/gribi-aft"`
1263
}
1264

1265
// IsYANGGoStruct ensures that Afts_NextHop implements the yang.GoStruct
1266
// interface. This allows functions that need to handle this struct to
1267
// identify it as being generated by ygen.
1268
func (*Afts_NextHop) IsYANGGoStruct() {}
×
1269

1270
// GetOrCreateInterfaceRef retrieves the value of the InterfaceRef field
1271
// or returns the existing field if it already exists.
1272
func (t *Afts_NextHop) GetOrCreateInterfaceRef() *Afts_NextHop_InterfaceRef {
1✔
1273
        if t.InterfaceRef != nil {
1✔
1274
                return t.InterfaceRef
×
1275
        }
×
1276
        t.InterfaceRef = &Afts_NextHop_InterfaceRef{}
1✔
1277
        return t.InterfaceRef
1✔
1278
}
1279

1280
// GetOrCreateIpInIp retrieves the value of the IpInIp field
1281
// or returns the existing field if it already exists.
1282
func (t *Afts_NextHop) GetOrCreateIpInIp() *Afts_NextHop_IpInIp {
×
1283
        if t.IpInIp != nil {
×
1284
                return t.IpInIp
×
1285
        }
×
1286
        t.IpInIp = &Afts_NextHop_IpInIp{}
×
1287
        return t.IpInIp
×
1288
}
1289

1290
// GetInterfaceRef returns the value of the InterfaceRef struct pointer
1291
// from Afts_NextHop. If the receiver or the field InterfaceRef is nil, nil
1292
// is returned such that the Get* methods can be safely chained.
1293
func (t *Afts_NextHop) GetInterfaceRef() *Afts_NextHop_InterfaceRef {
×
1294
        if t != nil && t.InterfaceRef != nil {
×
1295
                return t.InterfaceRef
×
1296
        }
×
1297
        return nil
×
1298
}
1299

1300
// GetIpInIp returns the value of the IpInIp struct pointer
1301
// from Afts_NextHop. If the receiver or the field IpInIp is nil, nil
1302
// is returned such that the Get* methods can be safely chained.
1303
func (t *Afts_NextHop) GetIpInIp() *Afts_NextHop_IpInIp {
×
1304
        if t != nil && t.IpInIp != nil {
×
1305
                return t.IpInIp
×
1306
        }
×
1307
        return nil
×
1308
}
1309

1310
// GetDecapsulateHeader retrieves the value of the leaf DecapsulateHeader from the Afts_NextHop
1311
// struct. If the field is unset but has a default value in the YANG schema,
1312
// then the default value will be returned.
1313
// Caution should be exercised whilst using this method since when without a
1314
// default value, it will return the Go zero value if the field is explicitly
1315
// unset. If the caller explicitly does not care if DecapsulateHeader is set, it can
1316
// safely use t.GetDecapsulateHeader() to retrieve the value. In the case that the
1317
// caller has different actions based on whether the leaf is set or unset, it
1318
// should use 'if t.DecapsulateHeader == nil' before retrieving the leaf's value.
1319
func (t *Afts_NextHop) GetDecapsulateHeader() E_AftTypes_EncapsulationHeaderType {
×
1320
        if t == nil || t.DecapsulateHeader == 0 {
×
1321
                return 0
×
1322
        }
×
1323
        return t.DecapsulateHeader
×
1324
}
1325

1326
// GetEncapsulateHeader retrieves the value of the leaf EncapsulateHeader from the Afts_NextHop
1327
// struct. If the field is unset but has a default value in the YANG schema,
1328
// then the default value will be returned.
1329
// Caution should be exercised whilst using this method since when without a
1330
// default value, it will return the Go zero value if the field is explicitly
1331
// unset. If the caller explicitly does not care if EncapsulateHeader is set, it can
1332
// safely use t.GetEncapsulateHeader() to retrieve the value. In the case that the
1333
// caller has different actions based on whether the leaf is set or unset, it
1334
// should use 'if t.EncapsulateHeader == nil' before retrieving the leaf's value.
1335
func (t *Afts_NextHop) GetEncapsulateHeader() E_AftTypes_EncapsulationHeaderType {
×
1336
        if t == nil || t.EncapsulateHeader == 0 {
×
1337
                return 0
×
1338
        }
×
1339
        return t.EncapsulateHeader
×
1340
}
1341

1342
// GetIndex retrieves the value of the leaf Index from the Afts_NextHop
1343
// struct. If the field is unset but has a default value in the YANG schema,
1344
// then the default value will be returned.
1345
// Caution should be exercised whilst using this method since when without a
1346
// default value, it will return the Go zero value if the field is explicitly
1347
// unset. If the caller explicitly does not care if Index is set, it can
1348
// safely use t.GetIndex() to retrieve the value. In the case that the
1349
// caller has different actions based on whether the leaf is set or unset, it
1350
// should use 'if t.Index == nil' before retrieving the leaf's value.
1351
func (t *Afts_NextHop) GetIndex() uint64 {
1✔
1352
        if t == nil || t.Index == nil {
1✔
1353
                return 0
×
1354
        }
×
1355
        return *t.Index
1✔
1356
}
1357

1358
// GetIpAddress retrieves the value of the leaf IpAddress from the Afts_NextHop
1359
// struct. If the field is unset but has a default value in the YANG schema,
1360
// then the default value will be returned.
1361
// Caution should be exercised whilst using this method since when without a
1362
// default value, it will return the Go zero value if the field is explicitly
1363
// unset. If the caller explicitly does not care if IpAddress is set, it can
1364
// safely use t.GetIpAddress() to retrieve the value. In the case that the
1365
// caller has different actions based on whether the leaf is set or unset, it
1366
// should use 'if t.IpAddress == nil' before retrieving the leaf's value.
1367
func (t *Afts_NextHop) GetIpAddress() string {
1✔
1368
        if t == nil || t.IpAddress == nil {
1✔
UNCOV
1369
                return ""
×
UNCOV
1370
        }
×
1371
        return *t.IpAddress
1✔
1372
}
1373

1374
// GetMacAddress retrieves the value of the leaf MacAddress from the Afts_NextHop
1375
// struct. If the field is unset but has a default value in the YANG schema,
1376
// then the default value will be returned.
1377
// Caution should be exercised whilst using this method since when without a
1378
// default value, it will return the Go zero value if the field is explicitly
1379
// unset. If the caller explicitly does not care if MacAddress is set, it can
1380
// safely use t.GetMacAddress() to retrieve the value. In the case that the
1381
// caller has different actions based on whether the leaf is set or unset, it
1382
// should use 'if t.MacAddress == nil' before retrieving the leaf's value.
1383
func (t *Afts_NextHop) GetMacAddress() string {
×
1384
        if t == nil || t.MacAddress == nil {
×
1385
                return ""
×
1386
        }
×
1387
        return *t.MacAddress
×
1388
}
1389

1390
// GetNetworkInstance retrieves the value of the leaf NetworkInstance from the Afts_NextHop
1391
// struct. If the field is unset but has a default value in the YANG schema,
1392
// then the default value will be returned.
1393
// Caution should be exercised whilst using this method since when without a
1394
// default value, it will return the Go zero value if the field is explicitly
1395
// unset. If the caller explicitly does not care if NetworkInstance is set, it can
1396
// safely use t.GetNetworkInstance() to retrieve the value. In the case that the
1397
// caller has different actions based on whether the leaf is set or unset, it
1398
// should use 'if t.NetworkInstance == nil' before retrieving the leaf's value.
1399
func (t *Afts_NextHop) GetNetworkInstance() string {
×
1400
        if t == nil || t.NetworkInstance == nil {
×
1401
                return ""
×
1402
        }
×
1403
        return *t.NetworkInstance
×
1404
}
1405

1406
// GetPopTopLabel retrieves the value of the leaf PopTopLabel from the Afts_NextHop
1407
// struct. If the field is unset but has a default value in the YANG schema,
1408
// then the default value will be returned.
1409
// Caution should be exercised whilst using this method since when without a
1410
// default value, it will return the Go zero value if the field is explicitly
1411
// unset. If the caller explicitly does not care if PopTopLabel is set, it can
1412
// safely use t.GetPopTopLabel() to retrieve the value. In the case that the
1413
// caller has different actions based on whether the leaf is set or unset, it
1414
// should use 'if t.PopTopLabel == nil' before retrieving the leaf's value.
1415
func (t *Afts_NextHop) GetPopTopLabel() bool {
×
1416
        if t == nil || t.PopTopLabel == nil {
×
1417
                return false
×
1418
        }
×
1419
        return *t.PopTopLabel
×
1420
}
1421

1422
// GetPushedMplsLabelStack retrieves the value of the leaf PushedMplsLabelStack from the Afts_NextHop
1423
// struct. If the field is unset but has a default value in the YANG schema,
1424
// then the default value will be returned.
1425
// Caution should be exercised whilst using this method since when without a
1426
// default value, it will return the Go zero value if the field is explicitly
1427
// unset. If the caller explicitly does not care if PushedMplsLabelStack is set, it can
1428
// safely use t.GetPushedMplsLabelStack() to retrieve the value. In the case that the
1429
// caller has different actions based on whether the leaf is set or unset, it
1430
// should use 'if t.PushedMplsLabelStack == nil' before retrieving the leaf's value.
1431
func (t *Afts_NextHop) GetPushedMplsLabelStack() []Afts_NextHop_PushedMplsLabelStack_Union {
×
1432
        if t == nil || t.PushedMplsLabelStack == nil {
×
1433
                return nil
×
1434
        }
×
1435
        return t.PushedMplsLabelStack
×
1436
}
1437

1438
// GetTunnelSrcIpAddress retrieves the value of the leaf TunnelSrcIpAddress from the Afts_NextHop
1439
// struct. If the field is unset but has a default value in the YANG schema,
1440
// then the default value will be returned.
1441
// Caution should be exercised whilst using this method since when without a
1442
// default value, it will return the Go zero value if the field is explicitly
1443
// unset. If the caller explicitly does not care if TunnelSrcIpAddress is set, it can
1444
// safely use t.GetTunnelSrcIpAddress() to retrieve the value. In the case that the
1445
// caller has different actions based on whether the leaf is set or unset, it
1446
// should use 'if t.TunnelSrcIpAddress == nil' before retrieving the leaf's value.
1447
func (t *Afts_NextHop) GetTunnelSrcIpAddress() string {
×
1448
        if t == nil || t.TunnelSrcIpAddress == nil {
×
1449
                return ""
×
1450
        }
×
1451
        return *t.TunnelSrcIpAddress
×
1452
}
1453

1454
// GetVniLabel retrieves the value of the leaf VniLabel from the Afts_NextHop
1455
// struct. If the field is unset but has a default value in the YANG schema,
1456
// then the default value will be returned.
1457
// Caution should be exercised whilst using this method since when without a
1458
// default value, it will return the Go zero value if the field is explicitly
1459
// unset. If the caller explicitly does not care if VniLabel is set, it can
1460
// safely use t.GetVniLabel() to retrieve the value. In the case that the
1461
// caller has different actions based on whether the leaf is set or unset, it
1462
// should use 'if t.VniLabel == nil' before retrieving the leaf's value.
1463
func (t *Afts_NextHop) GetVniLabel() uint32 {
×
1464
        if t == nil || t.VniLabel == nil {
×
1465
                return 0
×
1466
        }
×
1467
        return *t.VniLabel
×
1468
}
1469

1470
// ΛListKeyMap returns the keys of the Afts_NextHop struct, which is a YANG list entry.
1471
func (t *Afts_NextHop) ΛListKeyMap() (map[string]interface{}, error) {
1✔
1472
        if t.Index == nil {
1✔
1473
                return nil, fmt.Errorf("nil value for key Index")
×
1474
        }
×
1475

1476
        return map[string]interface{}{
1✔
1477
                "index": *t.Index,
1✔
1478
        }, nil
1✔
1479
}
1480

1481
// Validate validates s against the YANG schema corresponding to its type.
1482
func (t *Afts_NextHop) ΛValidate(opts ...ygot.ValidationOption) error {
×
1483
        if err := ytypes.Validate(SchemaTree["Afts_NextHop"], t, opts...); err != nil {
×
1484
                return err
×
1485
        }
×
1486
        return nil
×
1487
}
1488

1489
// Validate validates s against the YANG schema corresponding to its type.
1490
func (t *Afts_NextHop) Validate(opts ...ygot.ValidationOption) error {
×
1491
        return t.ΛValidate(opts...)
×
1492
}
×
1493

1494
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1495
// that are included in the generated code.
1496
func (t *Afts_NextHop) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
1✔
1497

1498
// ΛBelongingModule returns the name of the module that defines the namespace
1499
// of Afts_NextHop.
1500
func (*Afts_NextHop) ΛBelongingModule() string {
×
1501
        return "gribi-aft"
×
1502
}
×
1503

1504
// Afts_NextHop_PushedMplsLabelStack_Union is an interface that is implemented by valid types for the union
1505
// for the leaf /gribi-aft/afts/next-hops/next-hop/state/pushed-mpls-label-stack within the YANG schema.
1506
// Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32].
1507
type Afts_NextHop_PushedMplsLabelStack_Union interface {
1508
        // Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32]
1509
        Documentation_for_Afts_NextHop_PushedMplsLabelStack_Union()
1510
}
1511

1512
// Documentation_for_Afts_NextHop_PushedMplsLabelStack_Union ensures that E_MplsTypes_MplsLabel_Enum
1513
// implements the Afts_NextHop_PushedMplsLabelStack_Union interface.
1514
func (E_MplsTypes_MplsLabel_Enum) Documentation_for_Afts_NextHop_PushedMplsLabelStack_Union() {}
×
1515

1516
// Documentation_for_Afts_NextHop_PushedMplsLabelStack_Union ensures that UnionUint32
1517
// implements the Afts_NextHop_PushedMplsLabelStack_Union interface.
1518
func (UnionUint32) Documentation_for_Afts_NextHop_PushedMplsLabelStack_Union() {}
×
1519

1520
// To_Afts_NextHop_PushedMplsLabelStack_Union takes an input interface{} and attempts to convert it to a struct
1521
// which implements the Afts_NextHop_PushedMplsLabelStack_Union union. It returns an error if the interface{} supplied
1522
// cannot be converted to a type within the union.
1523
func (t *Afts_NextHop) To_Afts_NextHop_PushedMplsLabelStack_Union(i interface{}) (Afts_NextHop_PushedMplsLabelStack_Union, error) {
1✔
1524
        if v, ok := i.(Afts_NextHop_PushedMplsLabelStack_Union); ok {
1✔
1525
                return v, nil
×
1526
        }
×
1527
        switch v := i.(type) {
1✔
1528
        case uint32:
1✔
1529
                return UnionUint32(v), nil
1✔
1530
        }
1531
        return nil, fmt.Errorf("cannot convert %v to Afts_NextHop_PushedMplsLabelStack_Union, unknown union type, got: %T, want any of [E_MplsTypes_MplsLabel_Enum, uint32]", i, i)
×
1532
}
1533

1534
// Afts_NextHopGroup represents the /gribi-aft/afts/next-hop-groups/next-hop-group YANG schema element.
1535
type Afts_NextHopGroup struct {
1536
        BackupNextHopGroup *uint64                               `path:"state/backup-next-hop-group" module:"gribi-aft/gribi-aft"`
1537
        Color              *uint64                               `path:"state/color" module:"gribi-aft/gribi-aft"`
1538
        Id                 *uint64                               `path:"state/id|id" module:"gribi-aft/gribi-aft|gribi-aft"`
1539
        NextHop            map[uint64]*Afts_NextHopGroup_NextHop `path:"next-hops/next-hop" module:"gribi-aft/gribi-aft"`
1540
}
1541

1542
// IsYANGGoStruct ensures that Afts_NextHopGroup implements the yang.GoStruct
1543
// interface. This allows functions that need to handle this struct to
1544
// identify it as being generated by ygen.
1545
func (*Afts_NextHopGroup) IsYANGGoStruct() {}
×
1546

1547
// NewNextHop creates a new entry in the NextHop list of the
1548
// Afts_NextHopGroup struct. The keys of the list are populated from the input
1549
// arguments.
1550
func (t *Afts_NextHopGroup) NewNextHop(Index uint64) (*Afts_NextHopGroup_NextHop, error) {
1✔
1551

1✔
1552
        // Initialise the list within the receiver struct if it has not already been
1✔
1553
        // created.
1✔
1554
        if t.NextHop == nil {
2✔
1555
                t.NextHop = make(map[uint64]*Afts_NextHopGroup_NextHop)
1✔
1556
        }
1✔
1557

1558
        key := Index
1✔
1559

1✔
1560
        // Ensure that this key has not already been used in the
1✔
1561
        // list. Keyed YANG lists do not allow duplicate keys to
1✔
1562
        // be created.
1✔
1563
        if _, ok := t.NextHop[key]; ok {
1✔
1564
                return nil, fmt.Errorf("duplicate key %v for list NextHop", key)
×
1565
        }
×
1566

1567
        t.NextHop[key] = &Afts_NextHopGroup_NextHop{
1✔
1568
                Index: &Index,
1✔
1569
        }
1✔
1570

1✔
1571
        return t.NextHop[key], nil
1✔
1572
}
1573

1574
// GetOrCreateNextHop retrieves the value with the specified keys from
1575
// the receiver Afts_NextHopGroup. If the entry does not exist, then it is created.
1576
// It returns the existing or new list member.
1577
func (t *Afts_NextHopGroup) GetOrCreateNextHop(Index uint64) *Afts_NextHopGroup_NextHop {
1✔
1578

1✔
1579
        key := Index
1✔
1580

1✔
1581
        if v, ok := t.NextHop[key]; ok {
1✔
1582
                return v
×
1583
        }
×
1584
        // Panic if we receive an error, since we should have retrieved an existing
1585
        // list member. This allows chaining of GetOrCreate methods.
1586
        v, err := t.NewNextHop(Index)
1✔
1587
        if err != nil {
1✔
1588
                panic(fmt.Sprintf("GetOrCreateNextHop got unexpected error: %v", err))
×
1589
        }
1590
        return v
1✔
1591
}
1592

1593
// GetNextHop retrieves the value with the specified key from
1594
// the NextHop map field of Afts_NextHopGroup. If the receiver is nil, or
1595
// the specified key is not present in the list, nil is returned such that Get*
1596
// methods may be safely chained.
1597
func (t *Afts_NextHopGroup) GetNextHop(Index uint64) *Afts_NextHopGroup_NextHop {
×
1598

×
1599
        if t == nil {
×
1600
                return nil
×
1601
        }
×
1602

1603
        key := Index
×
1604

×
1605
        if lm, ok := t.NextHop[key]; ok {
×
1606
                return lm
×
1607
        }
×
1608
        return nil
×
1609
}
1610

1611
// DeleteNextHop deletes the value with the specified keys from
1612
// the receiver Afts_NextHopGroup. If there is no such element, the function
1613
// is a no-op.
1614
func (t *Afts_NextHopGroup) DeleteNextHop(Index uint64) {
×
1615
        key := Index
×
1616

×
1617
        delete(t.NextHop, key)
×
1618
}
×
1619

1620
// GetBackupNextHopGroup retrieves the value of the leaf BackupNextHopGroup from the Afts_NextHopGroup
1621
// struct. If the field is unset but has a default value in the YANG schema,
1622
// then the default value will be returned.
1623
// Caution should be exercised whilst using this method since when without a
1624
// default value, it will return the Go zero value if the field is explicitly
1625
// unset. If the caller explicitly does not care if BackupNextHopGroup is set, it can
1626
// safely use t.GetBackupNextHopGroup() to retrieve the value. In the case that the
1627
// caller has different actions based on whether the leaf is set or unset, it
1628
// should use 'if t.BackupNextHopGroup == nil' before retrieving the leaf's value.
1629
func (t *Afts_NextHopGroup) GetBackupNextHopGroup() uint64 {
×
1630
        if t == nil || t.BackupNextHopGroup == nil {
×
1631
                return 0
×
1632
        }
×
1633
        return *t.BackupNextHopGroup
×
1634
}
1635

1636
// GetColor retrieves the value of the leaf Color from the Afts_NextHopGroup
1637
// struct. If the field is unset but has a default value in the YANG schema,
1638
// then the default value will be returned.
1639
// Caution should be exercised whilst using this method since when without a
1640
// default value, it will return the Go zero value if the field is explicitly
1641
// unset. If the caller explicitly does not care if Color is set, it can
1642
// safely use t.GetColor() to retrieve the value. In the case that the
1643
// caller has different actions based on whether the leaf is set or unset, it
1644
// should use 'if t.Color == nil' before retrieving the leaf's value.
1645
func (t *Afts_NextHopGroup) GetColor() uint64 {
×
1646
        if t == nil || t.Color == nil {
×
1647
                return 0
×
1648
        }
×
1649
        return *t.Color
×
1650
}
1651

1652
// GetId retrieves the value of the leaf Id from the Afts_NextHopGroup
1653
// struct. If the field is unset but has a default value in the YANG schema,
1654
// then the default value will be returned.
1655
// Caution should be exercised whilst using this method since when without a
1656
// default value, it will return the Go zero value if the field is explicitly
1657
// unset. If the caller explicitly does not care if Id is set, it can
1658
// safely use t.GetId() to retrieve the value. In the case that the
1659
// caller has different actions based on whether the leaf is set or unset, it
1660
// should use 'if t.Id == nil' before retrieving the leaf's value.
1661
func (t *Afts_NextHopGroup) GetId() uint64 {
1✔
1662
        if t == nil || t.Id == nil {
1✔
1663
                return 0
×
1664
        }
×
1665
        return *t.Id
1✔
1666
}
1667

1668
// ΛListKeyMap returns the keys of the Afts_NextHopGroup struct, which is a YANG list entry.
1669
func (t *Afts_NextHopGroup) ΛListKeyMap() (map[string]interface{}, error) {
1✔
1670
        if t.Id == nil {
1✔
1671
                return nil, fmt.Errorf("nil value for key Id")
×
1672
        }
×
1673

1674
        return map[string]interface{}{
1✔
1675
                "id": *t.Id,
1✔
1676
        }, nil
1✔
1677
}
1678

1679
// Validate validates s against the YANG schema corresponding to its type.
1680
func (t *Afts_NextHopGroup) ΛValidate(opts ...ygot.ValidationOption) error {
×
1681
        if err := ytypes.Validate(SchemaTree["Afts_NextHopGroup"], t, opts...); err != nil {
×
1682
                return err
×
1683
        }
×
1684
        return nil
×
1685
}
1686

1687
// Validate validates s against the YANG schema corresponding to its type.
1688
func (t *Afts_NextHopGroup) Validate(opts ...ygot.ValidationOption) error {
×
1689
        return t.ΛValidate(opts...)
×
1690
}
×
1691

1692
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1693
// that are included in the generated code.
1694
func (t *Afts_NextHopGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
1695

1696
// ΛBelongingModule returns the name of the module that defines the namespace
1697
// of Afts_NextHopGroup.
1698
func (*Afts_NextHopGroup) ΛBelongingModule() string {
×
1699
        return "gribi-aft"
×
1700
}
×
1701

1702
// Afts_NextHopGroup_NextHop represents the /gribi-aft/afts/next-hop-groups/next-hop-group/next-hops/next-hop YANG schema element.
1703
type Afts_NextHopGroup_NextHop struct {
1704
        Index  *uint64 `path:"state/index|index" module:"gribi-aft/gribi-aft|gribi-aft"`
1705
        Weight *uint64 `path:"state/weight" module:"gribi-aft/gribi-aft"`
1706
}
1707

1708
// IsYANGGoStruct ensures that Afts_NextHopGroup_NextHop implements the yang.GoStruct
1709
// interface. This allows functions that need to handle this struct to
1710
// identify it as being generated by ygen.
1711
func (*Afts_NextHopGroup_NextHop) IsYANGGoStruct() {}
×
1712

1713
// GetIndex retrieves the value of the leaf Index from the Afts_NextHopGroup_NextHop
1714
// struct. If the field is unset but has a default value in the YANG schema,
1715
// then the default value will be returned.
1716
// Caution should be exercised whilst using this method since when without a
1717
// default value, it will return the Go zero value if the field is explicitly
1718
// unset. If the caller explicitly does not care if Index is set, it can
1719
// safely use t.GetIndex() to retrieve the value. In the case that the
1720
// caller has different actions based on whether the leaf is set or unset, it
1721
// should use 'if t.Index == nil' before retrieving the leaf's value.
1722
func (t *Afts_NextHopGroup_NextHop) GetIndex() uint64 {
1✔
1723
        if t == nil || t.Index == nil {
1✔
1724
                return 0
×
1725
        }
×
1726
        return *t.Index
1✔
1727
}
1728

1729
// GetWeight retrieves the value of the leaf Weight from the Afts_NextHopGroup_NextHop
1730
// struct. If the field is unset but has a default value in the YANG schema,
1731
// then the default value will be returned.
1732
// Caution should be exercised whilst using this method since when without a
1733
// default value, it will return the Go zero value if the field is explicitly
1734
// unset. If the caller explicitly does not care if Weight is set, it can
1735
// safely use t.GetWeight() to retrieve the value. In the case that the
1736
// caller has different actions based on whether the leaf is set or unset, it
1737
// should use 'if t.Weight == nil' before retrieving the leaf's value.
1738
func (t *Afts_NextHopGroup_NextHop) GetWeight() uint64 {
1✔
1739
        if t == nil || t.Weight == nil {
1✔
1740
                return 0
×
1741
        }
×
1742
        return *t.Weight
1✔
1743
}
1744

1745
// ΛListKeyMap returns the keys of the Afts_NextHopGroup_NextHop struct, which is a YANG list entry.
1746
func (t *Afts_NextHopGroup_NextHop) ΛListKeyMap() (map[string]interface{}, error) {
1✔
1747
        if t.Index == nil {
1✔
1748
                return nil, fmt.Errorf("nil value for key Index")
×
1749
        }
×
1750

1751
        return map[string]interface{}{
1✔
1752
                "index": *t.Index,
1✔
1753
        }, nil
1✔
1754
}
1755

1756
// Validate validates s against the YANG schema corresponding to its type.
1757
func (t *Afts_NextHopGroup_NextHop) ΛValidate(opts ...ygot.ValidationOption) error {
×
1758
        if err := ytypes.Validate(SchemaTree["Afts_NextHopGroup_NextHop"], t, opts...); err != nil {
×
1759
                return err
×
1760
        }
×
1761
        return nil
×
1762
}
1763

1764
// Validate validates s against the YANG schema corresponding to its type.
1765
func (t *Afts_NextHopGroup_NextHop) Validate(opts ...ygot.ValidationOption) error {
×
1766
        return t.ΛValidate(opts...)
×
1767
}
×
1768

1769
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1770
// that are included in the generated code.
1771
func (t *Afts_NextHopGroup_NextHop) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
1772

1773
// ΛBelongingModule returns the name of the module that defines the namespace
1774
// of Afts_NextHopGroup_NextHop.
1775
func (*Afts_NextHopGroup_NextHop) ΛBelongingModule() string {
×
1776
        return "gribi-aft"
×
1777
}
×
1778

1779
// Afts_NextHop_InterfaceRef represents the /gribi-aft/afts/next-hops/next-hop/interface-ref YANG schema element.
1780
type Afts_NextHop_InterfaceRef struct {
1781
        Interface    *string `path:"state/interface" module:"gribi-aft/gribi-aft"`
1782
        Subinterface *uint32 `path:"state/subinterface" module:"gribi-aft/gribi-aft"`
1783
}
1784

1785
// IsYANGGoStruct ensures that Afts_NextHop_InterfaceRef implements the yang.GoStruct
1786
// interface. This allows functions that need to handle this struct to
1787
// identify it as being generated by ygen.
1788
func (*Afts_NextHop_InterfaceRef) IsYANGGoStruct() {}
×
1789

1790
// GetInterface retrieves the value of the leaf Interface from the Afts_NextHop_InterfaceRef
1791
// struct. If the field is unset but has a default value in the YANG schema,
1792
// then the default value will be returned.
1793
// Caution should be exercised whilst using this method since when without a
1794
// default value, it will return the Go zero value if the field is explicitly
1795
// unset. If the caller explicitly does not care if Interface is set, it can
1796
// safely use t.GetInterface() to retrieve the value. In the case that the
1797
// caller has different actions based on whether the leaf is set or unset, it
1798
// should use 'if t.Interface == nil' before retrieving the leaf's value.
1799
func (t *Afts_NextHop_InterfaceRef) GetInterface() string {
×
1800
        if t == nil || t.Interface == nil {
×
1801
                return ""
×
1802
        }
×
1803
        return *t.Interface
×
1804
}
1805

1806
// GetSubinterface retrieves the value of the leaf Subinterface from the Afts_NextHop_InterfaceRef
1807
// struct. If the field is unset but has a default value in the YANG schema,
1808
// then the default value will be returned.
1809
// Caution should be exercised whilst using this method since when without a
1810
// default value, it will return the Go zero value if the field is explicitly
1811
// unset. If the caller explicitly does not care if Subinterface is set, it can
1812
// safely use t.GetSubinterface() to retrieve the value. In the case that the
1813
// caller has different actions based on whether the leaf is set or unset, it
1814
// should use 'if t.Subinterface == nil' before retrieving the leaf's value.
1815
func (t *Afts_NextHop_InterfaceRef) GetSubinterface() uint32 {
×
1816
        if t == nil || t.Subinterface == nil {
×
1817
                return 0
×
1818
        }
×
1819
        return *t.Subinterface
×
1820
}
1821

1822
// Validate validates s against the YANG schema corresponding to its type.
1823
func (t *Afts_NextHop_InterfaceRef) ΛValidate(opts ...ygot.ValidationOption) error {
×
1824
        if err := ytypes.Validate(SchemaTree["Afts_NextHop_InterfaceRef"], t, opts...); err != nil {
×
1825
                return err
×
1826
        }
×
1827
        return nil
×
1828
}
1829

1830
// Validate validates s against the YANG schema corresponding to its type.
1831
func (t *Afts_NextHop_InterfaceRef) Validate(opts ...ygot.ValidationOption) error {
×
1832
        return t.ΛValidate(opts...)
×
1833
}
×
1834

1835
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1836
// that are included in the generated code.
1837
func (t *Afts_NextHop_InterfaceRef) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
1838

1839
// ΛBelongingModule returns the name of the module that defines the namespace
1840
// of Afts_NextHop_InterfaceRef.
1841
func (*Afts_NextHop_InterfaceRef) ΛBelongingModule() string {
×
1842
        return "gribi-aft"
×
1843
}
×
1844

1845
// Afts_NextHop_IpInIp represents the /gribi-aft/afts/next-hops/next-hop/ip-in-ip YANG schema element.
1846
type Afts_NextHop_IpInIp struct {
1847
        DstIp *string `path:"state/dst-ip" module:"gribi-aft/gribi-aft"`
1848
        SrcIp *string `path:"state/src-ip" module:"gribi-aft/gribi-aft"`
1849
}
1850

1851
// IsYANGGoStruct ensures that Afts_NextHop_IpInIp implements the yang.GoStruct
1852
// interface. This allows functions that need to handle this struct to
1853
// identify it as being generated by ygen.
1854
func (*Afts_NextHop_IpInIp) IsYANGGoStruct() {}
×
1855

1856
// GetDstIp retrieves the value of the leaf DstIp from the Afts_NextHop_IpInIp
1857
// struct. If the field is unset but has a default value in the YANG schema,
1858
// then the default value will be returned.
1859
// Caution should be exercised whilst using this method since when without a
1860
// default value, it will return the Go zero value if the field is explicitly
1861
// unset. If the caller explicitly does not care if DstIp is set, it can
1862
// safely use t.GetDstIp() to retrieve the value. In the case that the
1863
// caller has different actions based on whether the leaf is set or unset, it
1864
// should use 'if t.DstIp == nil' before retrieving the leaf's value.
1865
func (t *Afts_NextHop_IpInIp) GetDstIp() string {
×
1866
        if t == nil || t.DstIp == nil {
×
1867
                return ""
×
1868
        }
×
1869
        return *t.DstIp
×
1870
}
1871

1872
// GetSrcIp retrieves the value of the leaf SrcIp from the Afts_NextHop_IpInIp
1873
// struct. If the field is unset but has a default value in the YANG schema,
1874
// then the default value will be returned.
1875
// Caution should be exercised whilst using this method since when without a
1876
// default value, it will return the Go zero value if the field is explicitly
1877
// unset. If the caller explicitly does not care if SrcIp is set, it can
1878
// safely use t.GetSrcIp() to retrieve the value. In the case that the
1879
// caller has different actions based on whether the leaf is set or unset, it
1880
// should use 'if t.SrcIp == nil' before retrieving the leaf's value.
1881
func (t *Afts_NextHop_IpInIp) GetSrcIp() string {
×
1882
        if t == nil || t.SrcIp == nil {
×
1883
                return ""
×
1884
        }
×
1885
        return *t.SrcIp
×
1886
}
1887

1888
// Validate validates s against the YANG schema corresponding to its type.
1889
func (t *Afts_NextHop_IpInIp) ΛValidate(opts ...ygot.ValidationOption) error {
×
1890
        if err := ytypes.Validate(SchemaTree["Afts_NextHop_IpInIp"], t, opts...); err != nil {
×
1891
                return err
×
1892
        }
×
1893
        return nil
×
1894
}
1895

1896
// Validate validates s against the YANG schema corresponding to its type.
1897
func (t *Afts_NextHop_IpInIp) Validate(opts ...ygot.ValidationOption) error {
×
1898
        return t.ΛValidate(opts...)
×
1899
}
×
1900

1901
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
1902
// that are included in the generated code.
1903
func (t *Afts_NextHop_IpInIp) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
1904

1905
// ΛBelongingModule returns the name of the module that defines the namespace
1906
// of Afts_NextHop_IpInIp.
1907
func (*Afts_NextHop_IpInIp) ΛBelongingModule() string {
×
1908
        return "gribi-aft"
×
1909
}
×
1910

1911
// Afts_PolicyForwardingEntry represents the /gribi-aft/afts/policy-forwarding/policy-forwarding-entry YANG schema element.
1912
type Afts_PolicyForwardingEntry struct {
1913
        EntryMetadata               Binary                                      `path:"state/entry-metadata" module:"gribi-aft/gribi-aft"`
1914
        Index                       *uint64                                     `path:"state/index|index" module:"gribi-aft/gribi-aft|gribi-aft"`
1915
        IpDscp                      *uint8                                      `path:"state/ip-dscp" module:"gribi-aft/gribi-aft"`
1916
        IpPrefix                    *string                                     `path:"state/ip-prefix" module:"gribi-aft/gribi-aft"`
1917
        IpProtocol                  Afts_PolicyForwardingEntry_IpProtocol_Union `path:"state/ip-protocol" module:"gribi-aft/gribi-aft"`
1918
        L4DstPort                   *uint16                                     `path:"state/l4-dst-port" module:"gribi-aft/gribi-aft"`
1919
        L4SrcPort                   *uint16                                     `path:"state/l4-src-port" module:"gribi-aft/gribi-aft"`
1920
        MacAddress                  *string                                     `path:"state/mac-address" module:"gribi-aft/gribi-aft"`
1921
        MplsLabel                   Afts_PolicyForwardingEntry_MplsLabel_Union  `path:"state/mpls-label" module:"gribi-aft/gribi-aft"`
1922
        MplsTc                      *uint8                                      `path:"state/mpls-tc" module:"gribi-aft/gribi-aft"`
1923
        NextHopGroup                *uint64                                     `path:"state/next-hop-group" module:"gribi-aft/gribi-aft"`
1924
        NextHopGroupNetworkInstance *string                                     `path:"state/next-hop-group-network-instance" module:"gribi-aft/gribi-aft"`
1925
}
1926

1927
// IsYANGGoStruct ensures that Afts_PolicyForwardingEntry implements the yang.GoStruct
1928
// interface. This allows functions that need to handle this struct to
1929
// identify it as being generated by ygen.
1930
func (*Afts_PolicyForwardingEntry) IsYANGGoStruct() {}
×
1931

1932
// GetEntryMetadata retrieves the value of the leaf EntryMetadata from the Afts_PolicyForwardingEntry
1933
// struct. If the field is unset but has a default value in the YANG schema,
1934
// then the default value will be returned.
1935
// Caution should be exercised whilst using this method since when without a
1936
// default value, it will return the Go zero value if the field is explicitly
1937
// unset. If the caller explicitly does not care if EntryMetadata is set, it can
1938
// safely use t.GetEntryMetadata() to retrieve the value. In the case that the
1939
// caller has different actions based on whether the leaf is set or unset, it
1940
// should use 'if t.EntryMetadata == nil' before retrieving the leaf's value.
1941
func (t *Afts_PolicyForwardingEntry) GetEntryMetadata() Binary {
×
1942
        if t == nil || t.EntryMetadata == nil {
×
1943
                return nil
×
1944
        }
×
1945
        return t.EntryMetadata
×
1946
}
1947

1948
// GetIndex retrieves the value of the leaf Index from the Afts_PolicyForwardingEntry
1949
// struct. If the field is unset but has a default value in the YANG schema,
1950
// then the default value will be returned.
1951
// Caution should be exercised whilst using this method since when without a
1952
// default value, it will return the Go zero value if the field is explicitly
1953
// unset. If the caller explicitly does not care if Index is set, it can
1954
// safely use t.GetIndex() to retrieve the value. In the case that the
1955
// caller has different actions based on whether the leaf is set or unset, it
1956
// should use 'if t.Index == nil' before retrieving the leaf's value.
1957
func (t *Afts_PolicyForwardingEntry) GetIndex() uint64 {
×
1958
        if t == nil || t.Index == nil {
×
1959
                return 0
×
1960
        }
×
1961
        return *t.Index
×
1962
}
1963

1964
// GetIpDscp retrieves the value of the leaf IpDscp from the Afts_PolicyForwardingEntry
1965
// struct. If the field is unset but has a default value in the YANG schema,
1966
// then the default value will be returned.
1967
// Caution should be exercised whilst using this method since when without a
1968
// default value, it will return the Go zero value if the field is explicitly
1969
// unset. If the caller explicitly does not care if IpDscp is set, it can
1970
// safely use t.GetIpDscp() to retrieve the value. In the case that the
1971
// caller has different actions based on whether the leaf is set or unset, it
1972
// should use 'if t.IpDscp == nil' before retrieving the leaf's value.
1973
func (t *Afts_PolicyForwardingEntry) GetIpDscp() uint8 {
×
1974
        if t == nil || t.IpDscp == nil {
×
1975
                return 0
×
1976
        }
×
1977
        return *t.IpDscp
×
1978
}
1979

1980
// GetIpPrefix retrieves the value of the leaf IpPrefix from the Afts_PolicyForwardingEntry
1981
// struct. If the field is unset but has a default value in the YANG schema,
1982
// then the default value will be returned.
1983
// Caution should be exercised whilst using this method since when without a
1984
// default value, it will return the Go zero value if the field is explicitly
1985
// unset. If the caller explicitly does not care if IpPrefix is set, it can
1986
// safely use t.GetIpPrefix() to retrieve the value. In the case that the
1987
// caller has different actions based on whether the leaf is set or unset, it
1988
// should use 'if t.IpPrefix == nil' before retrieving the leaf's value.
1989
func (t *Afts_PolicyForwardingEntry) GetIpPrefix() string {
×
1990
        if t == nil || t.IpPrefix == nil {
×
1991
                return ""
×
1992
        }
×
1993
        return *t.IpPrefix
×
1994
}
1995

1996
// GetIpProtocol retrieves the value of the leaf IpProtocol from the Afts_PolicyForwardingEntry
1997
// struct. If the field is unset but has a default value in the YANG schema,
1998
// then the default value will be returned.
1999
// Caution should be exercised whilst using this method since when without a
2000
// default value, it will return the Go zero value if the field is explicitly
2001
// unset. If the caller explicitly does not care if IpProtocol is set, it can
2002
// safely use t.GetIpProtocol() to retrieve the value. In the case that the
2003
// caller has different actions based on whether the leaf is set or unset, it
2004
// should use 'if t.IpProtocol == nil' before retrieving the leaf's value.
2005
func (t *Afts_PolicyForwardingEntry) GetIpProtocol() Afts_PolicyForwardingEntry_IpProtocol_Union {
×
2006
        if t == nil || t.IpProtocol == nil {
×
2007
                return nil
×
2008
        }
×
2009
        return t.IpProtocol
×
2010
}
2011

2012
// GetL4DstPort retrieves the value of the leaf L4DstPort from the Afts_PolicyForwardingEntry
2013
// struct. If the field is unset but has a default value in the YANG schema,
2014
// then the default value will be returned.
2015
// Caution should be exercised whilst using this method since when without a
2016
// default value, it will return the Go zero value if the field is explicitly
2017
// unset. If the caller explicitly does not care if L4DstPort is set, it can
2018
// safely use t.GetL4DstPort() to retrieve the value. In the case that the
2019
// caller has different actions based on whether the leaf is set or unset, it
2020
// should use 'if t.L4DstPort == nil' before retrieving the leaf's value.
2021
func (t *Afts_PolicyForwardingEntry) GetL4DstPort() uint16 {
×
2022
        if t == nil || t.L4DstPort == nil {
×
2023
                return 0
×
2024
        }
×
2025
        return *t.L4DstPort
×
2026
}
2027

2028
// GetL4SrcPort retrieves the value of the leaf L4SrcPort from the Afts_PolicyForwardingEntry
2029
// struct. If the field is unset but has a default value in the YANG schema,
2030
// then the default value will be returned.
2031
// Caution should be exercised whilst using this method since when without a
2032
// default value, it will return the Go zero value if the field is explicitly
2033
// unset. If the caller explicitly does not care if L4SrcPort is set, it can
2034
// safely use t.GetL4SrcPort() to retrieve the value. In the case that the
2035
// caller has different actions based on whether the leaf is set or unset, it
2036
// should use 'if t.L4SrcPort == nil' before retrieving the leaf's value.
2037
func (t *Afts_PolicyForwardingEntry) GetL4SrcPort() uint16 {
×
2038
        if t == nil || t.L4SrcPort == nil {
×
2039
                return 0
×
2040
        }
×
2041
        return *t.L4SrcPort
×
2042
}
2043

2044
// GetMacAddress retrieves the value of the leaf MacAddress from the Afts_PolicyForwardingEntry
2045
// struct. If the field is unset but has a default value in the YANG schema,
2046
// then the default value will be returned.
2047
// Caution should be exercised whilst using this method since when without a
2048
// default value, it will return the Go zero value if the field is explicitly
2049
// unset. If the caller explicitly does not care if MacAddress is set, it can
2050
// safely use t.GetMacAddress() to retrieve the value. In the case that the
2051
// caller has different actions based on whether the leaf is set or unset, it
2052
// should use 'if t.MacAddress == nil' before retrieving the leaf's value.
2053
func (t *Afts_PolicyForwardingEntry) GetMacAddress() string {
×
2054
        if t == nil || t.MacAddress == nil {
×
2055
                return ""
×
2056
        }
×
2057
        return *t.MacAddress
×
2058
}
2059

2060
// GetMplsLabel retrieves the value of the leaf MplsLabel from the Afts_PolicyForwardingEntry
2061
// struct. If the field is unset but has a default value in the YANG schema,
2062
// then the default value will be returned.
2063
// Caution should be exercised whilst using this method since when without a
2064
// default value, it will return the Go zero value if the field is explicitly
2065
// unset. If the caller explicitly does not care if MplsLabel is set, it can
2066
// safely use t.GetMplsLabel() to retrieve the value. In the case that the
2067
// caller has different actions based on whether the leaf is set or unset, it
2068
// should use 'if t.MplsLabel == nil' before retrieving the leaf's value.
2069
func (t *Afts_PolicyForwardingEntry) GetMplsLabel() Afts_PolicyForwardingEntry_MplsLabel_Union {
×
2070
        if t == nil || t.MplsLabel == nil {
×
2071
                return nil
×
2072
        }
×
2073
        return t.MplsLabel
×
2074
}
2075

2076
// GetMplsTc retrieves the value of the leaf MplsTc from the Afts_PolicyForwardingEntry
2077
// struct. If the field is unset but has a default value in the YANG schema,
2078
// then the default value will be returned.
2079
// Caution should be exercised whilst using this method since when without a
2080
// default value, it will return the Go zero value if the field is explicitly
2081
// unset. If the caller explicitly does not care if MplsTc is set, it can
2082
// safely use t.GetMplsTc() to retrieve the value. In the case that the
2083
// caller has different actions based on whether the leaf is set or unset, it
2084
// should use 'if t.MplsTc == nil' before retrieving the leaf's value.
2085
func (t *Afts_PolicyForwardingEntry) GetMplsTc() uint8 {
×
2086
        if t == nil || t.MplsTc == nil {
×
2087
                return 0
×
2088
        }
×
2089
        return *t.MplsTc
×
2090
}
2091

2092
// GetNextHopGroup retrieves the value of the leaf NextHopGroup from the Afts_PolicyForwardingEntry
2093
// struct. If the field is unset but has a default value in the YANG schema,
2094
// then the default value will be returned.
2095
// Caution should be exercised whilst using this method since when without a
2096
// default value, it will return the Go zero value if the field is explicitly
2097
// unset. If the caller explicitly does not care if NextHopGroup is set, it can
2098
// safely use t.GetNextHopGroup() to retrieve the value. In the case that the
2099
// caller has different actions based on whether the leaf is set or unset, it
2100
// should use 'if t.NextHopGroup == nil' before retrieving the leaf's value.
2101
func (t *Afts_PolicyForwardingEntry) GetNextHopGroup() uint64 {
×
2102
        if t == nil || t.NextHopGroup == nil {
×
2103
                return 0
×
2104
        }
×
2105
        return *t.NextHopGroup
×
2106
}
2107

2108
// GetNextHopGroupNetworkInstance retrieves the value of the leaf NextHopGroupNetworkInstance from the Afts_PolicyForwardingEntry
2109
// struct. If the field is unset but has a default value in the YANG schema,
2110
// then the default value will be returned.
2111
// Caution should be exercised whilst using this method since when without a
2112
// default value, it will return the Go zero value if the field is explicitly
2113
// unset. If the caller explicitly does not care if NextHopGroupNetworkInstance is set, it can
2114
// safely use t.GetNextHopGroupNetworkInstance() to retrieve the value. In the case that the
2115
// caller has different actions based on whether the leaf is set or unset, it
2116
// should use 'if t.NextHopGroupNetworkInstance == nil' before retrieving the leaf's value.
2117
func (t *Afts_PolicyForwardingEntry) GetNextHopGroupNetworkInstance() string {
×
2118
        if t == nil || t.NextHopGroupNetworkInstance == nil {
×
2119
                return ""
×
2120
        }
×
2121
        return *t.NextHopGroupNetworkInstance
×
2122
}
2123

2124
// ΛListKeyMap returns the keys of the Afts_PolicyForwardingEntry struct, which is a YANG list entry.
2125
func (t *Afts_PolicyForwardingEntry) ΛListKeyMap() (map[string]interface{}, error) {
×
2126
        if t.Index == nil {
×
2127
                return nil, fmt.Errorf("nil value for key Index")
×
2128
        }
×
2129

2130
        return map[string]interface{}{
×
2131
                "index": *t.Index,
×
2132
        }, nil
×
2133
}
2134

2135
// Validate validates s against the YANG schema corresponding to its type.
2136
func (t *Afts_PolicyForwardingEntry) ΛValidate(opts ...ygot.ValidationOption) error {
×
2137
        if err := ytypes.Validate(SchemaTree["Afts_PolicyForwardingEntry"], t, opts...); err != nil {
×
2138
                return err
×
2139
        }
×
2140
        return nil
×
2141
}
2142

2143
// Validate validates s against the YANG schema corresponding to its type.
2144
func (t *Afts_PolicyForwardingEntry) Validate(opts ...ygot.ValidationOption) error {
×
2145
        return t.ΛValidate(opts...)
×
2146
}
×
2147

2148
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
2149
// that are included in the generated code.
2150
func (t *Afts_PolicyForwardingEntry) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
2151

2152
// ΛBelongingModule returns the name of the module that defines the namespace
2153
// of Afts_PolicyForwardingEntry.
2154
func (*Afts_PolicyForwardingEntry) ΛBelongingModule() string {
×
2155
        return "gribi-aft"
×
2156
}
×
2157

2158
// Afts_PolicyForwardingEntry_IpProtocol_Union is an interface that is implemented by valid types for the union
2159
// for the leaf /gribi-aft/afts/policy-forwarding/policy-forwarding-entry/state/ip-protocol within the YANG schema.
2160
// Union type can be one of [E_PacketMatchTypes_IP_PROTOCOL, UnionUint8].
2161
type Afts_PolicyForwardingEntry_IpProtocol_Union interface {
2162
        // Union type can be one of [E_PacketMatchTypes_IP_PROTOCOL, UnionUint8]
2163
        Documentation_for_Afts_PolicyForwardingEntry_IpProtocol_Union()
2164
}
2165

2166
// Documentation_for_Afts_PolicyForwardingEntry_IpProtocol_Union ensures that E_PacketMatchTypes_IP_PROTOCOL
2167
// implements the Afts_PolicyForwardingEntry_IpProtocol_Union interface.
2168
func (E_PacketMatchTypes_IP_PROTOCOL) Documentation_for_Afts_PolicyForwardingEntry_IpProtocol_Union() {
×
2169
}
×
2170

2171
// Documentation_for_Afts_PolicyForwardingEntry_IpProtocol_Union ensures that UnionUint8
2172
// implements the Afts_PolicyForwardingEntry_IpProtocol_Union interface.
2173
func (UnionUint8) Documentation_for_Afts_PolicyForwardingEntry_IpProtocol_Union() {}
×
2174

2175
// To_Afts_PolicyForwardingEntry_IpProtocol_Union takes an input interface{} and attempts to convert it to a struct
2176
// which implements the Afts_PolicyForwardingEntry_IpProtocol_Union union. It returns an error if the interface{} supplied
2177
// cannot be converted to a type within the union.
2178
func (t *Afts_PolicyForwardingEntry) To_Afts_PolicyForwardingEntry_IpProtocol_Union(i interface{}) (Afts_PolicyForwardingEntry_IpProtocol_Union, error) {
×
2179
        if v, ok := i.(Afts_PolicyForwardingEntry_IpProtocol_Union); ok {
×
2180
                return v, nil
×
2181
        }
×
2182
        switch v := i.(type) {
×
2183
        case uint8:
×
2184
                return UnionUint8(v), nil
×
2185
        }
2186
        return nil, fmt.Errorf("cannot convert %v to Afts_PolicyForwardingEntry_IpProtocol_Union, unknown union type, got: %T, want any of [E_PacketMatchTypes_IP_PROTOCOL, uint8]", i, i)
×
2187
}
2188

2189
// Afts_PolicyForwardingEntry_MplsLabel_Union is an interface that is implemented by valid types for the union
2190
// for the leaf /gribi-aft/afts/policy-forwarding/policy-forwarding-entry/state/mpls-label within the YANG schema.
2191
// Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32].
2192
type Afts_PolicyForwardingEntry_MplsLabel_Union interface {
2193
        // Union type can be one of [E_MplsTypes_MplsLabel_Enum, UnionUint32]
2194
        Documentation_for_Afts_PolicyForwardingEntry_MplsLabel_Union()
2195
}
2196

2197
// Documentation_for_Afts_PolicyForwardingEntry_MplsLabel_Union ensures that E_MplsTypes_MplsLabel_Enum
2198
// implements the Afts_PolicyForwardingEntry_MplsLabel_Union interface.
2199
func (E_MplsTypes_MplsLabel_Enum) Documentation_for_Afts_PolicyForwardingEntry_MplsLabel_Union() {}
×
2200

2201
// Documentation_for_Afts_PolicyForwardingEntry_MplsLabel_Union ensures that UnionUint32
2202
// implements the Afts_PolicyForwardingEntry_MplsLabel_Union interface.
2203
func (UnionUint32) Documentation_for_Afts_PolicyForwardingEntry_MplsLabel_Union() {}
×
2204

2205
// To_Afts_PolicyForwardingEntry_MplsLabel_Union takes an input interface{} and attempts to convert it to a struct
2206
// which implements the Afts_PolicyForwardingEntry_MplsLabel_Union union. It returns an error if the interface{} supplied
2207
// cannot be converted to a type within the union.
2208
func (t *Afts_PolicyForwardingEntry) To_Afts_PolicyForwardingEntry_MplsLabel_Union(i interface{}) (Afts_PolicyForwardingEntry_MplsLabel_Union, error) {
×
2209
        if v, ok := i.(Afts_PolicyForwardingEntry_MplsLabel_Union); ok {
×
2210
                return v, nil
×
2211
        }
×
2212
        switch v := i.(type) {
×
2213
        case uint32:
×
2214
                return UnionUint32(v), nil
×
2215
        }
2216
        return nil, fmt.Errorf("cannot convert %v to Afts_PolicyForwardingEntry_MplsLabel_Union, unknown union type, got: %T, want any of [E_MplsTypes_MplsLabel_Enum, uint32]", i, i)
×
2217
}
2218

2219
// Interface represents the /openconfig-interfaces/interfaces/interface YANG schema element.
2220
type Interface struct {
2221
        AdminStatus  E_Interface_AdminStatus            `path:"state/admin-status" module:"openconfig-interfaces/openconfig-interfaces"`
2222
        Counters     *Interface_Counters                `path:"state/counters" module:"openconfig-interfaces/openconfig-interfaces"`
2223
        Cpu          *bool                              `path:"state/cpu" module:"openconfig-interfaces/openconfig-interfaces"`
2224
        Description  *string                            `path:"state/description" module:"openconfig-interfaces/openconfig-interfaces"`
2225
        Enabled      *bool                              `path:"state/enabled" module:"openconfig-interfaces/openconfig-interfaces"`
2226
        HoldTime     *Interface_HoldTime                `path:"hold-time" module:"openconfig-interfaces"`
2227
        Ifindex      *uint32                            `path:"state/ifindex" module:"openconfig-interfaces/openconfig-interfaces"`
2228
        LastChange   *uint64                            `path:"state/last-change" module:"openconfig-interfaces/openconfig-interfaces"`
2229
        Logical      *bool                              `path:"state/logical" module:"openconfig-interfaces/openconfig-interfaces"`
2230
        LoopbackMode *bool                              `path:"state/loopback-mode" module:"openconfig-interfaces/openconfig-interfaces"`
2231
        Management   *bool                              `path:"state/management" module:"openconfig-interfaces/openconfig-interfaces"`
2232
        Mtu          *uint16                            `path:"state/mtu" module:"openconfig-interfaces/openconfig-interfaces"`
2233
        Name         *string                            `path:"state/name|name" module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces"`
2234
        OperStatus   E_Interface_OperStatus             `path:"state/oper-status" module:"openconfig-interfaces/openconfig-interfaces"`
2235
        Subinterface map[uint32]*Interface_Subinterface `path:"subinterfaces/subinterface" module:"openconfig-interfaces/openconfig-interfaces"`
2236
        Type         E_IETFInterfaces_InterfaceType     `path:"state/type" module:"openconfig-interfaces/openconfig-interfaces"`
2237
}
2238

2239
// IsYANGGoStruct ensures that Interface implements the yang.GoStruct
2240
// interface. This allows functions that need to handle this struct to
2241
// identify it as being generated by ygen.
2242
func (*Interface) IsYANGGoStruct() {}
×
2243

2244
// NewSubinterface creates a new entry in the Subinterface list of the
2245
// Interface struct. The keys of the list are populated from the input
2246
// arguments.
2247
func (t *Interface) NewSubinterface(Index uint32) (*Interface_Subinterface, error) {
×
2248

×
2249
        // Initialise the list within the receiver struct if it has not already been
×
2250
        // created.
×
2251
        if t.Subinterface == nil {
×
2252
                t.Subinterface = make(map[uint32]*Interface_Subinterface)
×
2253
        }
×
2254

2255
        key := Index
×
2256

×
2257
        // Ensure that this key has not already been used in the
×
2258
        // list. Keyed YANG lists do not allow duplicate keys to
×
2259
        // be created.
×
2260
        if _, ok := t.Subinterface[key]; ok {
×
2261
                return nil, fmt.Errorf("duplicate key %v for list Subinterface", key)
×
2262
        }
×
2263

2264
        t.Subinterface[key] = &Interface_Subinterface{
×
2265
                Index: &Index,
×
2266
        }
×
2267

×
2268
        return t.Subinterface[key], nil
×
2269
}
2270

2271
// GetOrCreateSubinterface retrieves the value with the specified keys from
2272
// the receiver Interface. If the entry does not exist, then it is created.
2273
// It returns the existing or new list member.
2274
func (t *Interface) GetOrCreateSubinterface(Index uint32) *Interface_Subinterface {
×
2275

×
2276
        key := Index
×
2277

×
2278
        if v, ok := t.Subinterface[key]; ok {
×
2279
                return v
×
2280
        }
×
2281
        // Panic if we receive an error, since we should have retrieved an existing
2282
        // list member. This allows chaining of GetOrCreate methods.
2283
        v, err := t.NewSubinterface(Index)
×
2284
        if err != nil {
×
2285
                panic(fmt.Sprintf("GetOrCreateSubinterface got unexpected error: %v", err))
×
2286
        }
2287
        return v
×
2288
}
2289

2290
// GetSubinterface retrieves the value with the specified key from
2291
// the Subinterface map field of Interface. If the receiver is nil, or
2292
// the specified key is not present in the list, nil is returned such that Get*
2293
// methods may be safely chained.
2294
func (t *Interface) GetSubinterface(Index uint32) *Interface_Subinterface {
×
2295

×
2296
        if t == nil {
×
2297
                return nil
×
2298
        }
×
2299

2300
        key := Index
×
2301

×
2302
        if lm, ok := t.Subinterface[key]; ok {
×
2303
                return lm
×
2304
        }
×
2305
        return nil
×
2306
}
2307

2308
// DeleteSubinterface deletes the value with the specified keys from
2309
// the receiver Interface. If there is no such element, the function
2310
// is a no-op.
2311
func (t *Interface) DeleteSubinterface(Index uint32) {
×
2312
        key := Index
×
2313

×
2314
        delete(t.Subinterface, key)
×
2315
}
×
2316

2317
// GetOrCreateCounters retrieves the value of the Counters field
2318
// or returns the existing field if it already exists.
2319
func (t *Interface) GetOrCreateCounters() *Interface_Counters {
×
2320
        if t.Counters != nil {
×
2321
                return t.Counters
×
2322
        }
×
2323
        t.Counters = &Interface_Counters{}
×
2324
        return t.Counters
×
2325
}
2326

2327
// GetOrCreateHoldTime retrieves the value of the HoldTime field
2328
// or returns the existing field if it already exists.
2329
func (t *Interface) GetOrCreateHoldTime() *Interface_HoldTime {
×
2330
        if t.HoldTime != nil {
×
2331
                return t.HoldTime
×
2332
        }
×
2333
        t.HoldTime = &Interface_HoldTime{}
×
2334
        return t.HoldTime
×
2335
}
2336

2337
// GetCounters returns the value of the Counters struct pointer
2338
// from Interface. If the receiver or the field Counters is nil, nil
2339
// is returned such that the Get* methods can be safely chained.
2340
func (t *Interface) GetCounters() *Interface_Counters {
×
2341
        if t != nil && t.Counters != nil {
×
2342
                return t.Counters
×
2343
        }
×
2344
        return nil
×
2345
}
2346

2347
// GetHoldTime returns the value of the HoldTime struct pointer
2348
// from Interface. If the receiver or the field HoldTime is nil, nil
2349
// is returned such that the Get* methods can be safely chained.
2350
func (t *Interface) GetHoldTime() *Interface_HoldTime {
×
2351
        if t != nil && t.HoldTime != nil {
×
2352
                return t.HoldTime
×
2353
        }
×
2354
        return nil
×
2355
}
2356

2357
// GetAdminStatus retrieves the value of the leaf AdminStatus from the Interface
2358
// struct. If the field is unset but has a default value in the YANG schema,
2359
// then the default value will be returned.
2360
// Caution should be exercised whilst using this method since when without a
2361
// default value, it will return the Go zero value if the field is explicitly
2362
// unset. If the caller explicitly does not care if AdminStatus is set, it can
2363
// safely use t.GetAdminStatus() to retrieve the value. In the case that the
2364
// caller has different actions based on whether the leaf is set or unset, it
2365
// should use 'if t.AdminStatus == nil' before retrieving the leaf's value.
2366
func (t *Interface) GetAdminStatus() E_Interface_AdminStatus {
×
2367
        if t == nil || t.AdminStatus == 0 {
×
2368
                return 0
×
2369
        }
×
2370
        return t.AdminStatus
×
2371
}
2372

2373
// GetCpu retrieves the value of the leaf Cpu from the Interface
2374
// struct. If the field is unset but has a default value in the YANG schema,
2375
// then the default value will be returned.
2376
// Caution should be exercised whilst using this method since when without a
2377
// default value, it will return the Go zero value if the field is explicitly
2378
// unset. If the caller explicitly does not care if Cpu is set, it can
2379
// safely use t.GetCpu() to retrieve the value. In the case that the
2380
// caller has different actions based on whether the leaf is set or unset, it
2381
// should use 'if t.Cpu == nil' before retrieving the leaf's value.
2382
func (t *Interface) GetCpu() bool {
×
2383
        if t == nil || t.Cpu == nil {
×
2384
                return false
×
2385
        }
×
2386
        return *t.Cpu
×
2387
}
2388

2389
// GetDescription retrieves the value of the leaf Description from the Interface
2390
// struct. If the field is unset but has a default value in the YANG schema,
2391
// then the default value will be returned.
2392
// Caution should be exercised whilst using this method since when without a
2393
// default value, it will return the Go zero value if the field is explicitly
2394
// unset. If the caller explicitly does not care if Description is set, it can
2395
// safely use t.GetDescription() to retrieve the value. In the case that the
2396
// caller has different actions based on whether the leaf is set or unset, it
2397
// should use 'if t.Description == nil' before retrieving the leaf's value.
2398
func (t *Interface) GetDescription() string {
×
2399
        if t == nil || t.Description == nil {
×
2400
                return ""
×
2401
        }
×
2402
        return *t.Description
×
2403
}
2404

2405
// GetEnabled retrieves the value of the leaf Enabled from the Interface
2406
// struct. If the field is unset but has a default value in the YANG schema,
2407
// then the default value will be returned.
2408
// Caution should be exercised whilst using this method since when without a
2409
// default value, it will return the Go zero value if the field is explicitly
2410
// unset. If the caller explicitly does not care if Enabled is set, it can
2411
// safely use t.GetEnabled() to retrieve the value. In the case that the
2412
// caller has different actions based on whether the leaf is set or unset, it
2413
// should use 'if t.Enabled == nil' before retrieving the leaf's value.
2414
func (t *Interface) GetEnabled() bool {
×
2415
        if t == nil || t.Enabled == nil {
×
2416
                return true
×
2417
        }
×
2418
        return *t.Enabled
×
2419
}
2420

2421
// GetIfindex retrieves the value of the leaf Ifindex from the Interface
2422
// struct. If the field is unset but has a default value in the YANG schema,
2423
// then the default value will be returned.
2424
// Caution should be exercised whilst using this method since when without a
2425
// default value, it will return the Go zero value if the field is explicitly
2426
// unset. If the caller explicitly does not care if Ifindex is set, it can
2427
// safely use t.GetIfindex() to retrieve the value. In the case that the
2428
// caller has different actions based on whether the leaf is set or unset, it
2429
// should use 'if t.Ifindex == nil' before retrieving the leaf's value.
2430
func (t *Interface) GetIfindex() uint32 {
×
2431
        if t == nil || t.Ifindex == nil {
×
2432
                return 0
×
2433
        }
×
2434
        return *t.Ifindex
×
2435
}
2436

2437
// GetLastChange retrieves the value of the leaf LastChange from the Interface
2438
// struct. If the field is unset but has a default value in the YANG schema,
2439
// then the default value will be returned.
2440
// Caution should be exercised whilst using this method since when without a
2441
// default value, it will return the Go zero value if the field is explicitly
2442
// unset. If the caller explicitly does not care if LastChange is set, it can
2443
// safely use t.GetLastChange() to retrieve the value. In the case that the
2444
// caller has different actions based on whether the leaf is set or unset, it
2445
// should use 'if t.LastChange == nil' before retrieving the leaf's value.
2446
func (t *Interface) GetLastChange() uint64 {
×
2447
        if t == nil || t.LastChange == nil {
×
2448
                return 0
×
2449
        }
×
2450
        return *t.LastChange
×
2451
}
2452

2453
// GetLogical retrieves the value of the leaf Logical from the Interface
2454
// struct. If the field is unset but has a default value in the YANG schema,
2455
// then the default value will be returned.
2456
// Caution should be exercised whilst using this method since when without a
2457
// default value, it will return the Go zero value if the field is explicitly
2458
// unset. If the caller explicitly does not care if Logical is set, it can
2459
// safely use t.GetLogical() to retrieve the value. In the case that the
2460
// caller has different actions based on whether the leaf is set or unset, it
2461
// should use 'if t.Logical == nil' before retrieving the leaf's value.
2462
func (t *Interface) GetLogical() bool {
×
2463
        if t == nil || t.Logical == nil {
×
2464
                return false
×
2465
        }
×
2466
        return *t.Logical
×
2467
}
2468

2469
// GetLoopbackMode retrieves the value of the leaf LoopbackMode from the Interface
2470
// struct. If the field is unset but has a default value in the YANG schema,
2471
// then the default value will be returned.
2472
// Caution should be exercised whilst using this method since when without a
2473
// default value, it will return the Go zero value if the field is explicitly
2474
// unset. If the caller explicitly does not care if LoopbackMode is set, it can
2475
// safely use t.GetLoopbackMode() to retrieve the value. In the case that the
2476
// caller has different actions based on whether the leaf is set or unset, it
2477
// should use 'if t.LoopbackMode == nil' before retrieving the leaf's value.
2478
func (t *Interface) GetLoopbackMode() bool {
×
2479
        if t == nil || t.LoopbackMode == nil {
×
2480
                return false
×
2481
        }
×
2482
        return *t.LoopbackMode
×
2483
}
2484

2485
// GetManagement retrieves the value of the leaf Management from the Interface
2486
// struct. If the field is unset but has a default value in the YANG schema,
2487
// then the default value will be returned.
2488
// Caution should be exercised whilst using this method since when without a
2489
// default value, it will return the Go zero value if the field is explicitly
2490
// unset. If the caller explicitly does not care if Management is set, it can
2491
// safely use t.GetManagement() to retrieve the value. In the case that the
2492
// caller has different actions based on whether the leaf is set or unset, it
2493
// should use 'if t.Management == nil' before retrieving the leaf's value.
2494
func (t *Interface) GetManagement() bool {
×
2495
        if t == nil || t.Management == nil {
×
2496
                return false
×
2497
        }
×
2498
        return *t.Management
×
2499
}
2500

2501
// GetMtu retrieves the value of the leaf Mtu from the Interface
2502
// struct. If the field is unset but has a default value in the YANG schema,
2503
// then the default value will be returned.
2504
// Caution should be exercised whilst using this method since when without a
2505
// default value, it will return the Go zero value if the field is explicitly
2506
// unset. If the caller explicitly does not care if Mtu is set, it can
2507
// safely use t.GetMtu() to retrieve the value. In the case that the
2508
// caller has different actions based on whether the leaf is set or unset, it
2509
// should use 'if t.Mtu == nil' before retrieving the leaf's value.
2510
func (t *Interface) GetMtu() uint16 {
×
2511
        if t == nil || t.Mtu == nil {
×
2512
                return 0
×
2513
        }
×
2514
        return *t.Mtu
×
2515
}
2516

2517
// GetName retrieves the value of the leaf Name from the Interface
2518
// struct. If the field is unset but has a default value in the YANG schema,
2519
// then the default value will be returned.
2520
// Caution should be exercised whilst using this method since when without a
2521
// default value, it will return the Go zero value if the field is explicitly
2522
// unset. If the caller explicitly does not care if Name is set, it can
2523
// safely use t.GetName() to retrieve the value. In the case that the
2524
// caller has different actions based on whether the leaf is set or unset, it
2525
// should use 'if t.Name == nil' before retrieving the leaf's value.
2526
func (t *Interface) GetName() string {
×
2527
        if t == nil || t.Name == nil {
×
2528
                return ""
×
2529
        }
×
2530
        return *t.Name
×
2531
}
2532

2533
// GetOperStatus retrieves the value of the leaf OperStatus from the Interface
2534
// struct. If the field is unset but has a default value in the YANG schema,
2535
// then the default value will be returned.
2536
// Caution should be exercised whilst using this method since when without a
2537
// default value, it will return the Go zero value if the field is explicitly
2538
// unset. If the caller explicitly does not care if OperStatus is set, it can
2539
// safely use t.GetOperStatus() to retrieve the value. In the case that the
2540
// caller has different actions based on whether the leaf is set or unset, it
2541
// should use 'if t.OperStatus == nil' before retrieving the leaf's value.
2542
func (t *Interface) GetOperStatus() E_Interface_OperStatus {
×
2543
        if t == nil || t.OperStatus == 0 {
×
2544
                return 0
×
2545
        }
×
2546
        return t.OperStatus
×
2547
}
2548

2549
// GetType retrieves the value of the leaf Type from the Interface
2550
// struct. If the field is unset but has a default value in the YANG schema,
2551
// then the default value will be returned.
2552
// Caution should be exercised whilst using this method since when without a
2553
// default value, it will return the Go zero value if the field is explicitly
2554
// unset. If the caller explicitly does not care if Type is set, it can
2555
// safely use t.GetType() to retrieve the value. In the case that the
2556
// caller has different actions based on whether the leaf is set or unset, it
2557
// should use 'if t.Type == nil' before retrieving the leaf's value.
2558
func (t *Interface) GetType() E_IETFInterfaces_InterfaceType {
×
2559
        if t == nil || t.Type == 0 {
×
2560
                return 0
×
2561
        }
×
2562
        return t.Type
×
2563
}
2564

2565
// ΛListKeyMap returns the keys of the Interface struct, which is a YANG list entry.
2566
func (t *Interface) ΛListKeyMap() (map[string]interface{}, error) {
×
2567
        if t.Name == nil {
×
2568
                return nil, fmt.Errorf("nil value for key Name")
×
2569
        }
×
2570

2571
        return map[string]interface{}{
×
2572
                "name": *t.Name,
×
2573
        }, nil
×
2574
}
2575

2576
// Validate validates s against the YANG schema corresponding to its type.
2577
func (t *Interface) ΛValidate(opts ...ygot.ValidationOption) error {
×
2578
        if err := ytypes.Validate(SchemaTree["Interface"], t, opts...); err != nil {
×
2579
                return err
×
2580
        }
×
2581
        return nil
×
2582
}
2583

2584
// Validate validates s against the YANG schema corresponding to its type.
2585
func (t *Interface) Validate(opts ...ygot.ValidationOption) error {
×
2586
        return t.ΛValidate(opts...)
×
2587
}
×
2588

2589
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
2590
// that are included in the generated code.
2591
func (t *Interface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
2592

2593
// ΛBelongingModule returns the name of the module that defines the namespace
2594
// of Interface.
2595
func (*Interface) ΛBelongingModule() string {
×
2596
        return "openconfig-interfaces"
×
2597
}
×
2598

2599
// Interface_Counters represents the /openconfig-interfaces/interfaces/interface/state/counters YANG schema element.
2600
type Interface_Counters struct {
2601
        CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"`
2602
        InBroadcastPkts    *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"`
2603
        InDiscards         *uint64 `path:"in-discards" module:"openconfig-interfaces"`
2604
        InErrors           *uint64 `path:"in-errors" module:"openconfig-interfaces"`
2605
        InFcsErrors        *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"`
2606
        InMulticastPkts    *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"`
2607
        InOctets           *uint64 `path:"in-octets" module:"openconfig-interfaces"`
2608
        InPkts             *uint64 `path:"in-pkts" module:"openconfig-interfaces"`
2609
        InUnicastPkts      *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"`
2610
        InUnknownProtos    *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"`
2611
        LastClear          *uint64 `path:"last-clear" module:"openconfig-interfaces"`
2612
        OutBroadcastPkts   *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"`
2613
        OutDiscards        *uint64 `path:"out-discards" module:"openconfig-interfaces"`
2614
        OutErrors          *uint64 `path:"out-errors" module:"openconfig-interfaces"`
2615
        OutMulticastPkts   *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"`
2616
        OutOctets          *uint64 `path:"out-octets" module:"openconfig-interfaces"`
2617
        OutPkts            *uint64 `path:"out-pkts" module:"openconfig-interfaces"`
2618
        OutUnicastPkts     *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"`
2619
}
2620

2621
// IsYANGGoStruct ensures that Interface_Counters implements the yang.GoStruct
2622
// interface. This allows functions that need to handle this struct to
2623
// identify it as being generated by ygen.
2624
func (*Interface_Counters) IsYANGGoStruct() {}
×
2625

2626
// GetCarrierTransitions retrieves the value of the leaf CarrierTransitions from the Interface_Counters
2627
// struct. If the field is unset but has a default value in the YANG schema,
2628
// then the default value will be returned.
2629
// Caution should be exercised whilst using this method since when without a
2630
// default value, it will return the Go zero value if the field is explicitly
2631
// unset. If the caller explicitly does not care if CarrierTransitions is set, it can
2632
// safely use t.GetCarrierTransitions() to retrieve the value. In the case that the
2633
// caller has different actions based on whether the leaf is set or unset, it
2634
// should use 'if t.CarrierTransitions == nil' before retrieving the leaf's value.
2635
func (t *Interface_Counters) GetCarrierTransitions() uint64 {
×
2636
        if t == nil || t.CarrierTransitions == nil {
×
2637
                return 0
×
2638
        }
×
2639
        return *t.CarrierTransitions
×
2640
}
2641

2642
// GetInBroadcastPkts retrieves the value of the leaf InBroadcastPkts from the Interface_Counters
2643
// struct. If the field is unset but has a default value in the YANG schema,
2644
// then the default value will be returned.
2645
// Caution should be exercised whilst using this method since when without a
2646
// default value, it will return the Go zero value if the field is explicitly
2647
// unset. If the caller explicitly does not care if InBroadcastPkts is set, it can
2648
// safely use t.GetInBroadcastPkts() to retrieve the value. In the case that the
2649
// caller has different actions based on whether the leaf is set or unset, it
2650
// should use 'if t.InBroadcastPkts == nil' before retrieving the leaf's value.
2651
func (t *Interface_Counters) GetInBroadcastPkts() uint64 {
×
2652
        if t == nil || t.InBroadcastPkts == nil {
×
2653
                return 0
×
2654
        }
×
2655
        return *t.InBroadcastPkts
×
2656
}
2657

2658
// GetInDiscards retrieves the value of the leaf InDiscards from the Interface_Counters
2659
// struct. If the field is unset but has a default value in the YANG schema,
2660
// then the default value will be returned.
2661
// Caution should be exercised whilst using this method since when without a
2662
// default value, it will return the Go zero value if the field is explicitly
2663
// unset. If the caller explicitly does not care if InDiscards is set, it can
2664
// safely use t.GetInDiscards() to retrieve the value. In the case that the
2665
// caller has different actions based on whether the leaf is set or unset, it
2666
// should use 'if t.InDiscards == nil' before retrieving the leaf's value.
2667
func (t *Interface_Counters) GetInDiscards() uint64 {
×
2668
        if t == nil || t.InDiscards == nil {
×
2669
                return 0
×
2670
        }
×
2671
        return *t.InDiscards
×
2672
}
2673

2674
// GetInErrors retrieves the value of the leaf InErrors from the Interface_Counters
2675
// struct. If the field is unset but has a default value in the YANG schema,
2676
// then the default value will be returned.
2677
// Caution should be exercised whilst using this method since when without a
2678
// default value, it will return the Go zero value if the field is explicitly
2679
// unset. If the caller explicitly does not care if InErrors is set, it can
2680
// safely use t.GetInErrors() to retrieve the value. In the case that the
2681
// caller has different actions based on whether the leaf is set or unset, it
2682
// should use 'if t.InErrors == nil' before retrieving the leaf's value.
2683
func (t *Interface_Counters) GetInErrors() uint64 {
×
2684
        if t == nil || t.InErrors == nil {
×
2685
                return 0
×
2686
        }
×
2687
        return *t.InErrors
×
2688
}
2689

2690
// GetInFcsErrors retrieves the value of the leaf InFcsErrors from the Interface_Counters
2691
// struct. If the field is unset but has a default value in the YANG schema,
2692
// then the default value will be returned.
2693
// Caution should be exercised whilst using this method since when without a
2694
// default value, it will return the Go zero value if the field is explicitly
2695
// unset. If the caller explicitly does not care if InFcsErrors is set, it can
2696
// safely use t.GetInFcsErrors() to retrieve the value. In the case that the
2697
// caller has different actions based on whether the leaf is set or unset, it
2698
// should use 'if t.InFcsErrors == nil' before retrieving the leaf's value.
2699
func (t *Interface_Counters) GetInFcsErrors() uint64 {
×
2700
        if t == nil || t.InFcsErrors == nil {
×
2701
                return 0
×
2702
        }
×
2703
        return *t.InFcsErrors
×
2704
}
2705

2706
// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Counters
2707
// struct. If the field is unset but has a default value in the YANG schema,
2708
// then the default value will be returned.
2709
// Caution should be exercised whilst using this method since when without a
2710
// default value, it will return the Go zero value if the field is explicitly
2711
// unset. If the caller explicitly does not care if InMulticastPkts is set, it can
2712
// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the
2713
// caller has different actions based on whether the leaf is set or unset, it
2714
// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value.
2715
func (t *Interface_Counters) GetInMulticastPkts() uint64 {
×
2716
        if t == nil || t.InMulticastPkts == nil {
×
2717
                return 0
×
2718
        }
×
2719
        return *t.InMulticastPkts
×
2720
}
2721

2722
// GetInOctets retrieves the value of the leaf InOctets from the Interface_Counters
2723
// struct. If the field is unset but has a default value in the YANG schema,
2724
// then the default value will be returned.
2725
// Caution should be exercised whilst using this method since when without a
2726
// default value, it will return the Go zero value if the field is explicitly
2727
// unset. If the caller explicitly does not care if InOctets is set, it can
2728
// safely use t.GetInOctets() to retrieve the value. In the case that the
2729
// caller has different actions based on whether the leaf is set or unset, it
2730
// should use 'if t.InOctets == nil' before retrieving the leaf's value.
2731
func (t *Interface_Counters) GetInOctets() uint64 {
×
2732
        if t == nil || t.InOctets == nil {
×
2733
                return 0
×
2734
        }
×
2735
        return *t.InOctets
×
2736
}
2737

2738
// GetInPkts retrieves the value of the leaf InPkts from the Interface_Counters
2739
// struct. If the field is unset but has a default value in the YANG schema,
2740
// then the default value will be returned.
2741
// Caution should be exercised whilst using this method since when without a
2742
// default value, it will return the Go zero value if the field is explicitly
2743
// unset. If the caller explicitly does not care if InPkts is set, it can
2744
// safely use t.GetInPkts() to retrieve the value. In the case that the
2745
// caller has different actions based on whether the leaf is set or unset, it
2746
// should use 'if t.InPkts == nil' before retrieving the leaf's value.
2747
func (t *Interface_Counters) GetInPkts() uint64 {
×
2748
        if t == nil || t.InPkts == nil {
×
2749
                return 0
×
2750
        }
×
2751
        return *t.InPkts
×
2752
}
2753

2754
// GetInUnicastPkts retrieves the value of the leaf InUnicastPkts from the Interface_Counters
2755
// struct. If the field is unset but has a default value in the YANG schema,
2756
// then the default value will be returned.
2757
// Caution should be exercised whilst using this method since when without a
2758
// default value, it will return the Go zero value if the field is explicitly
2759
// unset. If the caller explicitly does not care if InUnicastPkts is set, it can
2760
// safely use t.GetInUnicastPkts() to retrieve the value. In the case that the
2761
// caller has different actions based on whether the leaf is set or unset, it
2762
// should use 'if t.InUnicastPkts == nil' before retrieving the leaf's value.
2763
func (t *Interface_Counters) GetInUnicastPkts() uint64 {
×
2764
        if t == nil || t.InUnicastPkts == nil {
×
2765
                return 0
×
2766
        }
×
2767
        return *t.InUnicastPkts
×
2768
}
2769

2770
// GetInUnknownProtos retrieves the value of the leaf InUnknownProtos from the Interface_Counters
2771
// struct. If the field is unset but has a default value in the YANG schema,
2772
// then the default value will be returned.
2773
// Caution should be exercised whilst using this method since when without a
2774
// default value, it will return the Go zero value if the field is explicitly
2775
// unset. If the caller explicitly does not care if InUnknownProtos is set, it can
2776
// safely use t.GetInUnknownProtos() to retrieve the value. In the case that the
2777
// caller has different actions based on whether the leaf is set or unset, it
2778
// should use 'if t.InUnknownProtos == nil' before retrieving the leaf's value.
2779
func (t *Interface_Counters) GetInUnknownProtos() uint64 {
×
2780
        if t == nil || t.InUnknownProtos == nil {
×
2781
                return 0
×
2782
        }
×
2783
        return *t.InUnknownProtos
×
2784
}
2785

2786
// GetLastClear retrieves the value of the leaf LastClear from the Interface_Counters
2787
// struct. If the field is unset but has a default value in the YANG schema,
2788
// then the default value will be returned.
2789
// Caution should be exercised whilst using this method since when without a
2790
// default value, it will return the Go zero value if the field is explicitly
2791
// unset. If the caller explicitly does not care if LastClear is set, it can
2792
// safely use t.GetLastClear() to retrieve the value. In the case that the
2793
// caller has different actions based on whether the leaf is set or unset, it
2794
// should use 'if t.LastClear == nil' before retrieving the leaf's value.
2795
func (t *Interface_Counters) GetLastClear() uint64 {
×
2796
        if t == nil || t.LastClear == nil {
×
2797
                return 0
×
2798
        }
×
2799
        return *t.LastClear
×
2800
}
2801

2802
// GetOutBroadcastPkts retrieves the value of the leaf OutBroadcastPkts from the Interface_Counters
2803
// struct. If the field is unset but has a default value in the YANG schema,
2804
// then the default value will be returned.
2805
// Caution should be exercised whilst using this method since when without a
2806
// default value, it will return the Go zero value if the field is explicitly
2807
// unset. If the caller explicitly does not care if OutBroadcastPkts is set, it can
2808
// safely use t.GetOutBroadcastPkts() to retrieve the value. In the case that the
2809
// caller has different actions based on whether the leaf is set or unset, it
2810
// should use 'if t.OutBroadcastPkts == nil' before retrieving the leaf's value.
2811
func (t *Interface_Counters) GetOutBroadcastPkts() uint64 {
×
2812
        if t == nil || t.OutBroadcastPkts == nil {
×
2813
                return 0
×
2814
        }
×
2815
        return *t.OutBroadcastPkts
×
2816
}
2817

2818
// GetOutDiscards retrieves the value of the leaf OutDiscards from the Interface_Counters
2819
// struct. If the field is unset but has a default value in the YANG schema,
2820
// then the default value will be returned.
2821
// Caution should be exercised whilst using this method since when without a
2822
// default value, it will return the Go zero value if the field is explicitly
2823
// unset. If the caller explicitly does not care if OutDiscards is set, it can
2824
// safely use t.GetOutDiscards() to retrieve the value. In the case that the
2825
// caller has different actions based on whether the leaf is set or unset, it
2826
// should use 'if t.OutDiscards == nil' before retrieving the leaf's value.
2827
func (t *Interface_Counters) GetOutDiscards() uint64 {
×
2828
        if t == nil || t.OutDiscards == nil {
×
2829
                return 0
×
2830
        }
×
2831
        return *t.OutDiscards
×
2832
}
2833

2834
// GetOutErrors retrieves the value of the leaf OutErrors from the Interface_Counters
2835
// struct. If the field is unset but has a default value in the YANG schema,
2836
// then the default value will be returned.
2837
// Caution should be exercised whilst using this method since when without a
2838
// default value, it will return the Go zero value if the field is explicitly
2839
// unset. If the caller explicitly does not care if OutErrors is set, it can
2840
// safely use t.GetOutErrors() to retrieve the value. In the case that the
2841
// caller has different actions based on whether the leaf is set or unset, it
2842
// should use 'if t.OutErrors == nil' before retrieving the leaf's value.
2843
func (t *Interface_Counters) GetOutErrors() uint64 {
×
2844
        if t == nil || t.OutErrors == nil {
×
2845
                return 0
×
2846
        }
×
2847
        return *t.OutErrors
×
2848
}
2849

2850
// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Counters
2851
// struct. If the field is unset but has a default value in the YANG schema,
2852
// then the default value will be returned.
2853
// Caution should be exercised whilst using this method since when without a
2854
// default value, it will return the Go zero value if the field is explicitly
2855
// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can
2856
// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the
2857
// caller has different actions based on whether the leaf is set or unset, it
2858
// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value.
2859
func (t *Interface_Counters) GetOutMulticastPkts() uint64 {
×
2860
        if t == nil || t.OutMulticastPkts == nil {
×
2861
                return 0
×
2862
        }
×
2863
        return *t.OutMulticastPkts
×
2864
}
2865

2866
// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Counters
2867
// struct. If the field is unset but has a default value in the YANG schema,
2868
// then the default value will be returned.
2869
// Caution should be exercised whilst using this method since when without a
2870
// default value, it will return the Go zero value if the field is explicitly
2871
// unset. If the caller explicitly does not care if OutOctets is set, it can
2872
// safely use t.GetOutOctets() to retrieve the value. In the case that the
2873
// caller has different actions based on whether the leaf is set or unset, it
2874
// should use 'if t.OutOctets == nil' before retrieving the leaf's value.
2875
func (t *Interface_Counters) GetOutOctets() uint64 {
×
2876
        if t == nil || t.OutOctets == nil {
×
2877
                return 0
×
2878
        }
×
2879
        return *t.OutOctets
×
2880
}
2881

2882
// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Counters
2883
// struct. If the field is unset but has a default value in the YANG schema,
2884
// then the default value will be returned.
2885
// Caution should be exercised whilst using this method since when without a
2886
// default value, it will return the Go zero value if the field is explicitly
2887
// unset. If the caller explicitly does not care if OutPkts is set, it can
2888
// safely use t.GetOutPkts() to retrieve the value. In the case that the
2889
// caller has different actions based on whether the leaf is set or unset, it
2890
// should use 'if t.OutPkts == nil' before retrieving the leaf's value.
2891
func (t *Interface_Counters) GetOutPkts() uint64 {
×
2892
        if t == nil || t.OutPkts == nil {
×
2893
                return 0
×
2894
        }
×
2895
        return *t.OutPkts
×
2896
}
2897

2898
// GetOutUnicastPkts retrieves the value of the leaf OutUnicastPkts from the Interface_Counters
2899
// struct. If the field is unset but has a default value in the YANG schema,
2900
// then the default value will be returned.
2901
// Caution should be exercised whilst using this method since when without a
2902
// default value, it will return the Go zero value if the field is explicitly
2903
// unset. If the caller explicitly does not care if OutUnicastPkts is set, it can
2904
// safely use t.GetOutUnicastPkts() to retrieve the value. In the case that the
2905
// caller has different actions based on whether the leaf is set or unset, it
2906
// should use 'if t.OutUnicastPkts == nil' before retrieving the leaf's value.
2907
func (t *Interface_Counters) GetOutUnicastPkts() uint64 {
×
2908
        if t == nil || t.OutUnicastPkts == nil {
×
2909
                return 0
×
2910
        }
×
2911
        return *t.OutUnicastPkts
×
2912
}
2913

2914
// Validate validates s against the YANG schema corresponding to its type.
2915
func (t *Interface_Counters) ΛValidate(opts ...ygot.ValidationOption) error {
×
2916
        if err := ytypes.Validate(SchemaTree["Interface_Counters"], t, opts...); err != nil {
×
2917
                return err
×
2918
        }
×
2919
        return nil
×
2920
}
2921

2922
// Validate validates s against the YANG schema corresponding to its type.
2923
func (t *Interface_Counters) Validate(opts ...ygot.ValidationOption) error {
×
2924
        return t.ΛValidate(opts...)
×
2925
}
×
2926

2927
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
2928
// that are included in the generated code.
2929
func (t *Interface_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
2930

2931
// ΛBelongingModule returns the name of the module that defines the namespace
2932
// of Interface_Counters.
2933
func (*Interface_Counters) ΛBelongingModule() string {
×
2934
        return "openconfig-interfaces"
×
2935
}
×
2936

2937
// Interface_HoldTime represents the /openconfig-interfaces/interfaces/interface/hold-time YANG schema element.
2938
type Interface_HoldTime struct {
2939
        Down *uint32 `path:"state/down" module:"openconfig-interfaces/openconfig-interfaces"`
2940
        Up   *uint32 `path:"state/up" module:"openconfig-interfaces/openconfig-interfaces"`
2941
}
2942

2943
// IsYANGGoStruct ensures that Interface_HoldTime implements the yang.GoStruct
2944
// interface. This allows functions that need to handle this struct to
2945
// identify it as being generated by ygen.
2946
func (*Interface_HoldTime) IsYANGGoStruct() {}
×
2947

2948
// GetDown retrieves the value of the leaf Down from the Interface_HoldTime
2949
// struct. If the field is unset but has a default value in the YANG schema,
2950
// then the default value will be returned.
2951
// Caution should be exercised whilst using this method since when without a
2952
// default value, it will return the Go zero value if the field is explicitly
2953
// unset. If the caller explicitly does not care if Down is set, it can
2954
// safely use t.GetDown() to retrieve the value. In the case that the
2955
// caller has different actions based on whether the leaf is set or unset, it
2956
// should use 'if t.Down == nil' before retrieving the leaf's value.
2957
func (t *Interface_HoldTime) GetDown() uint32 {
×
2958
        if t == nil || t.Down == nil {
×
2959
                return 0
×
2960
        }
×
2961
        return *t.Down
×
2962
}
2963

2964
// GetUp retrieves the value of the leaf Up from the Interface_HoldTime
2965
// struct. If the field is unset but has a default value in the YANG schema,
2966
// then the default value will be returned.
2967
// Caution should be exercised whilst using this method since when without a
2968
// default value, it will return the Go zero value if the field is explicitly
2969
// unset. If the caller explicitly does not care if Up is set, it can
2970
// safely use t.GetUp() to retrieve the value. In the case that the
2971
// caller has different actions based on whether the leaf is set or unset, it
2972
// should use 'if t.Up == nil' before retrieving the leaf's value.
2973
func (t *Interface_HoldTime) GetUp() uint32 {
×
2974
        if t == nil || t.Up == nil {
×
2975
                return 0
×
2976
        }
×
2977
        return *t.Up
×
2978
}
2979

2980
// Validate validates s against the YANG schema corresponding to its type.
2981
func (t *Interface_HoldTime) ΛValidate(opts ...ygot.ValidationOption) error {
×
2982
        if err := ytypes.Validate(SchemaTree["Interface_HoldTime"], t, opts...); err != nil {
×
2983
                return err
×
2984
        }
×
2985
        return nil
×
2986
}
2987

2988
// Validate validates s against the YANG schema corresponding to its type.
2989
func (t *Interface_HoldTime) Validate(opts ...ygot.ValidationOption) error {
×
2990
        return t.ΛValidate(opts...)
×
2991
}
×
2992

2993
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
2994
// that are included in the generated code.
2995
func (t *Interface_HoldTime) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
2996

2997
// ΛBelongingModule returns the name of the module that defines the namespace
2998
// of Interface_HoldTime.
2999
func (*Interface_HoldTime) ΛBelongingModule() string {
×
3000
        return "openconfig-interfaces"
×
3001
}
×
3002

3003
// Interface_Subinterface represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface YANG schema element.
3004
type Interface_Subinterface struct {
3005
        AdminStatus E_Interface_AdminStatus          `path:"state/admin-status" module:"openconfig-interfaces/openconfig-interfaces"`
3006
        Counters    *Interface_Subinterface_Counters `path:"state/counters" module:"openconfig-interfaces/openconfig-interfaces"`
3007
        Cpu         *bool                            `path:"state/cpu" module:"openconfig-interfaces/openconfig-interfaces"`
3008
        Description *string                          `path:"state/description" module:"openconfig-interfaces/openconfig-interfaces"`
3009
        Enabled     *bool                            `path:"state/enabled" module:"openconfig-interfaces/openconfig-interfaces"`
3010
        Ifindex     *uint32                          `path:"state/ifindex" module:"openconfig-interfaces/openconfig-interfaces"`
3011
        Index       *uint32                          `path:"state/index|index" module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces"`
3012
        LastChange  *uint64                          `path:"state/last-change" module:"openconfig-interfaces/openconfig-interfaces"`
3013
        Logical     *bool                            `path:"state/logical" module:"openconfig-interfaces/openconfig-interfaces"`
3014
        Management  *bool                            `path:"state/management" module:"openconfig-interfaces/openconfig-interfaces"`
3015
        Name        *string                          `path:"state/name" module:"openconfig-interfaces/openconfig-interfaces"`
3016
        OperStatus  E_Interface_OperStatus           `path:"state/oper-status" module:"openconfig-interfaces/openconfig-interfaces"`
3017
}
3018

3019
// IsYANGGoStruct ensures that Interface_Subinterface implements the yang.GoStruct
3020
// interface. This allows functions that need to handle this struct to
3021
// identify it as being generated by ygen.
3022
func (*Interface_Subinterface) IsYANGGoStruct() {}
×
3023

3024
// GetOrCreateCounters retrieves the value of the Counters field
3025
// or returns the existing field if it already exists.
3026
func (t *Interface_Subinterface) GetOrCreateCounters() *Interface_Subinterface_Counters {
×
3027
        if t.Counters != nil {
×
3028
                return t.Counters
×
3029
        }
×
3030
        t.Counters = &Interface_Subinterface_Counters{}
×
3031
        return t.Counters
×
3032
}
3033

3034
// GetCounters returns the value of the Counters struct pointer
3035
// from Interface_Subinterface. If the receiver or the field Counters is nil, nil
3036
// is returned such that the Get* methods can be safely chained.
3037
func (t *Interface_Subinterface) GetCounters() *Interface_Subinterface_Counters {
×
3038
        if t != nil && t.Counters != nil {
×
3039
                return t.Counters
×
3040
        }
×
3041
        return nil
×
3042
}
3043

3044
// GetAdminStatus retrieves the value of the leaf AdminStatus from the Interface_Subinterface
3045
// struct. If the field is unset but has a default value in the YANG schema,
3046
// then the default value will be returned.
3047
// Caution should be exercised whilst using this method since when without a
3048
// default value, it will return the Go zero value if the field is explicitly
3049
// unset. If the caller explicitly does not care if AdminStatus is set, it can
3050
// safely use t.GetAdminStatus() to retrieve the value. In the case that the
3051
// caller has different actions based on whether the leaf is set or unset, it
3052
// should use 'if t.AdminStatus == nil' before retrieving the leaf's value.
3053
func (t *Interface_Subinterface) GetAdminStatus() E_Interface_AdminStatus {
×
3054
        if t == nil || t.AdminStatus == 0 {
×
3055
                return 0
×
3056
        }
×
3057
        return t.AdminStatus
×
3058
}
3059

3060
// GetCpu retrieves the value of the leaf Cpu from the Interface_Subinterface
3061
// struct. If the field is unset but has a default value in the YANG schema,
3062
// then the default value will be returned.
3063
// Caution should be exercised whilst using this method since when without a
3064
// default value, it will return the Go zero value if the field is explicitly
3065
// unset. If the caller explicitly does not care if Cpu is set, it can
3066
// safely use t.GetCpu() to retrieve the value. In the case that the
3067
// caller has different actions based on whether the leaf is set or unset, it
3068
// should use 'if t.Cpu == nil' before retrieving the leaf's value.
3069
func (t *Interface_Subinterface) GetCpu() bool {
×
3070
        if t == nil || t.Cpu == nil {
×
3071
                return false
×
3072
        }
×
3073
        return *t.Cpu
×
3074
}
3075

3076
// GetDescription retrieves the value of the leaf Description from the Interface_Subinterface
3077
// struct. If the field is unset but has a default value in the YANG schema,
3078
// then the default value will be returned.
3079
// Caution should be exercised whilst using this method since when without a
3080
// default value, it will return the Go zero value if the field is explicitly
3081
// unset. If the caller explicitly does not care if Description is set, it can
3082
// safely use t.GetDescription() to retrieve the value. In the case that the
3083
// caller has different actions based on whether the leaf is set or unset, it
3084
// should use 'if t.Description == nil' before retrieving the leaf's value.
3085
func (t *Interface_Subinterface) GetDescription() string {
×
3086
        if t == nil || t.Description == nil {
×
3087
                return ""
×
3088
        }
×
3089
        return *t.Description
×
3090
}
3091

3092
// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface
3093
// struct. If the field is unset but has a default value in the YANG schema,
3094
// then the default value will be returned.
3095
// Caution should be exercised whilst using this method since when without a
3096
// default value, it will return the Go zero value if the field is explicitly
3097
// unset. If the caller explicitly does not care if Enabled is set, it can
3098
// safely use t.GetEnabled() to retrieve the value. In the case that the
3099
// caller has different actions based on whether the leaf is set or unset, it
3100
// should use 'if t.Enabled == nil' before retrieving the leaf's value.
3101
func (t *Interface_Subinterface) GetEnabled() bool {
×
3102
        if t == nil || t.Enabled == nil {
×
3103
                return true
×
3104
        }
×
3105
        return *t.Enabled
×
3106
}
3107

3108
// GetIfindex retrieves the value of the leaf Ifindex from the Interface_Subinterface
3109
// struct. If the field is unset but has a default value in the YANG schema,
3110
// then the default value will be returned.
3111
// Caution should be exercised whilst using this method since when without a
3112
// default value, it will return the Go zero value if the field is explicitly
3113
// unset. If the caller explicitly does not care if Ifindex is set, it can
3114
// safely use t.GetIfindex() to retrieve the value. In the case that the
3115
// caller has different actions based on whether the leaf is set or unset, it
3116
// should use 'if t.Ifindex == nil' before retrieving the leaf's value.
3117
func (t *Interface_Subinterface) GetIfindex() uint32 {
×
3118
        if t == nil || t.Ifindex == nil {
×
3119
                return 0
×
3120
        }
×
3121
        return *t.Ifindex
×
3122
}
3123

3124
// GetIndex retrieves the value of the leaf Index from the Interface_Subinterface
3125
// struct. If the field is unset but has a default value in the YANG schema,
3126
// then the default value will be returned.
3127
// Caution should be exercised whilst using this method since when without a
3128
// default value, it will return the Go zero value if the field is explicitly
3129
// unset. If the caller explicitly does not care if Index is set, it can
3130
// safely use t.GetIndex() to retrieve the value. In the case that the
3131
// caller has different actions based on whether the leaf is set or unset, it
3132
// should use 'if t.Index == nil' before retrieving the leaf's value.
3133
func (t *Interface_Subinterface) GetIndex() uint32 {
×
3134
        if t == nil || t.Index == nil {
×
3135
                return 0
×
3136
        }
×
3137
        return *t.Index
×
3138
}
3139

3140
// GetLastChange retrieves the value of the leaf LastChange from the Interface_Subinterface
3141
// struct. If the field is unset but has a default value in the YANG schema,
3142
// then the default value will be returned.
3143
// Caution should be exercised whilst using this method since when without a
3144
// default value, it will return the Go zero value if the field is explicitly
3145
// unset. If the caller explicitly does not care if LastChange is set, it can
3146
// safely use t.GetLastChange() to retrieve the value. In the case that the
3147
// caller has different actions based on whether the leaf is set or unset, it
3148
// should use 'if t.LastChange == nil' before retrieving the leaf's value.
3149
func (t *Interface_Subinterface) GetLastChange() uint64 {
×
3150
        if t == nil || t.LastChange == nil {
×
3151
                return 0
×
3152
        }
×
3153
        return *t.LastChange
×
3154
}
3155

3156
// GetLogical retrieves the value of the leaf Logical from the Interface_Subinterface
3157
// struct. If the field is unset but has a default value in the YANG schema,
3158
// then the default value will be returned.
3159
// Caution should be exercised whilst using this method since when without a
3160
// default value, it will return the Go zero value if the field is explicitly
3161
// unset. If the caller explicitly does not care if Logical is set, it can
3162
// safely use t.GetLogical() to retrieve the value. In the case that the
3163
// caller has different actions based on whether the leaf is set or unset, it
3164
// should use 'if t.Logical == nil' before retrieving the leaf's value.
3165
func (t *Interface_Subinterface) GetLogical() bool {
×
3166
        if t == nil || t.Logical == nil {
×
3167
                return false
×
3168
        }
×
3169
        return *t.Logical
×
3170
}
3171

3172
// GetManagement retrieves the value of the leaf Management from the Interface_Subinterface
3173
// struct. If the field is unset but has a default value in the YANG schema,
3174
// then the default value will be returned.
3175
// Caution should be exercised whilst using this method since when without a
3176
// default value, it will return the Go zero value if the field is explicitly
3177
// unset. If the caller explicitly does not care if Management is set, it can
3178
// safely use t.GetManagement() to retrieve the value. In the case that the
3179
// caller has different actions based on whether the leaf is set or unset, it
3180
// should use 'if t.Management == nil' before retrieving the leaf's value.
3181
func (t *Interface_Subinterface) GetManagement() bool {
×
3182
        if t == nil || t.Management == nil {
×
3183
                return false
×
3184
        }
×
3185
        return *t.Management
×
3186
}
3187

3188
// GetName retrieves the value of the leaf Name from the Interface_Subinterface
3189
// struct. If the field is unset but has a default value in the YANG schema,
3190
// then the default value will be returned.
3191
// Caution should be exercised whilst using this method since when without a
3192
// default value, it will return the Go zero value if the field is explicitly
3193
// unset. If the caller explicitly does not care if Name is set, it can
3194
// safely use t.GetName() to retrieve the value. In the case that the
3195
// caller has different actions based on whether the leaf is set or unset, it
3196
// should use 'if t.Name == nil' before retrieving the leaf's value.
3197
func (t *Interface_Subinterface) GetName() string {
×
3198
        if t == nil || t.Name == nil {
×
3199
                return ""
×
3200
        }
×
3201
        return *t.Name
×
3202
}
3203

3204
// GetOperStatus retrieves the value of the leaf OperStatus from the Interface_Subinterface
3205
// struct. If the field is unset but has a default value in the YANG schema,
3206
// then the default value will be returned.
3207
// Caution should be exercised whilst using this method since when without a
3208
// default value, it will return the Go zero value if the field is explicitly
3209
// unset. If the caller explicitly does not care if OperStatus is set, it can
3210
// safely use t.GetOperStatus() to retrieve the value. In the case that the
3211
// caller has different actions based on whether the leaf is set or unset, it
3212
// should use 'if t.OperStatus == nil' before retrieving the leaf's value.
3213
func (t *Interface_Subinterface) GetOperStatus() E_Interface_OperStatus {
×
3214
        if t == nil || t.OperStatus == 0 {
×
3215
                return 0
×
3216
        }
×
3217
        return t.OperStatus
×
3218
}
3219

3220
// ΛListKeyMap returns the keys of the Interface_Subinterface struct, which is a YANG list entry.
3221
func (t *Interface_Subinterface) ΛListKeyMap() (map[string]interface{}, error) {
×
3222
        if t.Index == nil {
×
3223
                return nil, fmt.Errorf("nil value for key Index")
×
3224
        }
×
3225

3226
        return map[string]interface{}{
×
3227
                "index": *t.Index,
×
3228
        }, nil
×
3229
}
3230

3231
// Validate validates s against the YANG schema corresponding to its type.
3232
func (t *Interface_Subinterface) ΛValidate(opts ...ygot.ValidationOption) error {
×
3233
        if err := ytypes.Validate(SchemaTree["Interface_Subinterface"], t, opts...); err != nil {
×
3234
                return err
×
3235
        }
×
3236
        return nil
×
3237
}
3238

3239
// Validate validates s against the YANG schema corresponding to its type.
3240
func (t *Interface_Subinterface) Validate(opts ...ygot.ValidationOption) error {
×
3241
        return t.ΛValidate(opts...)
×
3242
}
×
3243

3244
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
3245
// that are included in the generated code.
3246
func (t *Interface_Subinterface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
3247

3248
// ΛBelongingModule returns the name of the module that defines the namespace
3249
// of Interface_Subinterface.
3250
func (*Interface_Subinterface) ΛBelongingModule() string {
×
3251
        return "openconfig-interfaces"
×
3252
}
×
3253

3254
// Interface_Subinterface_Counters represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/state/counters YANG schema element.
3255
type Interface_Subinterface_Counters struct {
3256
        CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"`
3257
        InBroadcastPkts    *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"`
3258
        InDiscards         *uint64 `path:"in-discards" module:"openconfig-interfaces"`
3259
        InErrors           *uint64 `path:"in-errors" module:"openconfig-interfaces"`
3260
        InFcsErrors        *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"`
3261
        InMulticastPkts    *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"`
3262
        InOctets           *uint64 `path:"in-octets" module:"openconfig-interfaces"`
3263
        InPkts             *uint64 `path:"in-pkts" module:"openconfig-interfaces"`
3264
        InUnicastPkts      *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"`
3265
        InUnknownProtos    *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"`
3266
        LastClear          *uint64 `path:"last-clear" module:"openconfig-interfaces"`
3267
        OutBroadcastPkts   *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"`
3268
        OutDiscards        *uint64 `path:"out-discards" module:"openconfig-interfaces"`
3269
        OutErrors          *uint64 `path:"out-errors" module:"openconfig-interfaces"`
3270
        OutMulticastPkts   *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"`
3271
        OutOctets          *uint64 `path:"out-octets" module:"openconfig-interfaces"`
3272
        OutPkts            *uint64 `path:"out-pkts" module:"openconfig-interfaces"`
3273
        OutUnicastPkts     *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"`
3274
}
3275

3276
// IsYANGGoStruct ensures that Interface_Subinterface_Counters implements the yang.GoStruct
3277
// interface. This allows functions that need to handle this struct to
3278
// identify it as being generated by ygen.
3279
func (*Interface_Subinterface_Counters) IsYANGGoStruct() {}
×
3280

3281
// GetCarrierTransitions retrieves the value of the leaf CarrierTransitions from the Interface_Subinterface_Counters
3282
// struct. If the field is unset but has a default value in the YANG schema,
3283
// then the default value will be returned.
3284
// Caution should be exercised whilst using this method since when without a
3285
// default value, it will return the Go zero value if the field is explicitly
3286
// unset. If the caller explicitly does not care if CarrierTransitions is set, it can
3287
// safely use t.GetCarrierTransitions() to retrieve the value. In the case that the
3288
// caller has different actions based on whether the leaf is set or unset, it
3289
// should use 'if t.CarrierTransitions == nil' before retrieving the leaf's value.
3290
func (t *Interface_Subinterface_Counters) GetCarrierTransitions() uint64 {
×
3291
        if t == nil || t.CarrierTransitions == nil {
×
3292
                return 0
×
3293
        }
×
3294
        return *t.CarrierTransitions
×
3295
}
3296

3297
// GetInBroadcastPkts retrieves the value of the leaf InBroadcastPkts from the Interface_Subinterface_Counters
3298
// struct. If the field is unset but has a default value in the YANG schema,
3299
// then the default value will be returned.
3300
// Caution should be exercised whilst using this method since when without a
3301
// default value, it will return the Go zero value if the field is explicitly
3302
// unset. If the caller explicitly does not care if InBroadcastPkts is set, it can
3303
// safely use t.GetInBroadcastPkts() to retrieve the value. In the case that the
3304
// caller has different actions based on whether the leaf is set or unset, it
3305
// should use 'if t.InBroadcastPkts == nil' before retrieving the leaf's value.
3306
func (t *Interface_Subinterface_Counters) GetInBroadcastPkts() uint64 {
×
3307
        if t == nil || t.InBroadcastPkts == nil {
×
3308
                return 0
×
3309
        }
×
3310
        return *t.InBroadcastPkts
×
3311
}
3312

3313
// GetInDiscards retrieves the value of the leaf InDiscards from the Interface_Subinterface_Counters
3314
// struct. If the field is unset but has a default value in the YANG schema,
3315
// then the default value will be returned.
3316
// Caution should be exercised whilst using this method since when without a
3317
// default value, it will return the Go zero value if the field is explicitly
3318
// unset. If the caller explicitly does not care if InDiscards is set, it can
3319
// safely use t.GetInDiscards() to retrieve the value. In the case that the
3320
// caller has different actions based on whether the leaf is set or unset, it
3321
// should use 'if t.InDiscards == nil' before retrieving the leaf's value.
3322
func (t *Interface_Subinterface_Counters) GetInDiscards() uint64 {
×
3323
        if t == nil || t.InDiscards == nil {
×
3324
                return 0
×
3325
        }
×
3326
        return *t.InDiscards
×
3327
}
3328

3329
// GetInErrors retrieves the value of the leaf InErrors from the Interface_Subinterface_Counters
3330
// struct. If the field is unset but has a default value in the YANG schema,
3331
// then the default value will be returned.
3332
// Caution should be exercised whilst using this method since when without a
3333
// default value, it will return the Go zero value if the field is explicitly
3334
// unset. If the caller explicitly does not care if InErrors is set, it can
3335
// safely use t.GetInErrors() to retrieve the value. In the case that the
3336
// caller has different actions based on whether the leaf is set or unset, it
3337
// should use 'if t.InErrors == nil' before retrieving the leaf's value.
3338
func (t *Interface_Subinterface_Counters) GetInErrors() uint64 {
×
3339
        if t == nil || t.InErrors == nil {
×
3340
                return 0
×
3341
        }
×
3342
        return *t.InErrors
×
3343
}
3344

3345
// GetInFcsErrors retrieves the value of the leaf InFcsErrors from the Interface_Subinterface_Counters
3346
// struct. If the field is unset but has a default value in the YANG schema,
3347
// then the default value will be returned.
3348
// Caution should be exercised whilst using this method since when without a
3349
// default value, it will return the Go zero value if the field is explicitly
3350
// unset. If the caller explicitly does not care if InFcsErrors is set, it can
3351
// safely use t.GetInFcsErrors() to retrieve the value. In the case that the
3352
// caller has different actions based on whether the leaf is set or unset, it
3353
// should use 'if t.InFcsErrors == nil' before retrieving the leaf's value.
3354
func (t *Interface_Subinterface_Counters) GetInFcsErrors() uint64 {
×
3355
        if t == nil || t.InFcsErrors == nil {
×
3356
                return 0
×
3357
        }
×
3358
        return *t.InFcsErrors
×
3359
}
3360

3361
// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Subinterface_Counters
3362
// struct. If the field is unset but has a default value in the YANG schema,
3363
// then the default value will be returned.
3364
// Caution should be exercised whilst using this method since when without a
3365
// default value, it will return the Go zero value if the field is explicitly
3366
// unset. If the caller explicitly does not care if InMulticastPkts is set, it can
3367
// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the
3368
// caller has different actions based on whether the leaf is set or unset, it
3369
// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value.
3370
func (t *Interface_Subinterface_Counters) GetInMulticastPkts() uint64 {
×
3371
        if t == nil || t.InMulticastPkts == nil {
×
3372
                return 0
×
3373
        }
×
3374
        return *t.InMulticastPkts
×
3375
}
3376

3377
// GetInOctets retrieves the value of the leaf InOctets from the Interface_Subinterface_Counters
3378
// struct. If the field is unset but has a default value in the YANG schema,
3379
// then the default value will be returned.
3380
// Caution should be exercised whilst using this method since when without a
3381
// default value, it will return the Go zero value if the field is explicitly
3382
// unset. If the caller explicitly does not care if InOctets is set, it can
3383
// safely use t.GetInOctets() to retrieve the value. In the case that the
3384
// caller has different actions based on whether the leaf is set or unset, it
3385
// should use 'if t.InOctets == nil' before retrieving the leaf's value.
3386
func (t *Interface_Subinterface_Counters) GetInOctets() uint64 {
×
3387
        if t == nil || t.InOctets == nil {
×
3388
                return 0
×
3389
        }
×
3390
        return *t.InOctets
×
3391
}
3392

3393
// GetInPkts retrieves the value of the leaf InPkts from the Interface_Subinterface_Counters
3394
// struct. If the field is unset but has a default value in the YANG schema,
3395
// then the default value will be returned.
3396
// Caution should be exercised whilst using this method since when without a
3397
// default value, it will return the Go zero value if the field is explicitly
3398
// unset. If the caller explicitly does not care if InPkts is set, it can
3399
// safely use t.GetInPkts() to retrieve the value. In the case that the
3400
// caller has different actions based on whether the leaf is set or unset, it
3401
// should use 'if t.InPkts == nil' before retrieving the leaf's value.
3402
func (t *Interface_Subinterface_Counters) GetInPkts() uint64 {
×
3403
        if t == nil || t.InPkts == nil {
×
3404
                return 0
×
3405
        }
×
3406
        return *t.InPkts
×
3407
}
3408

3409
// GetInUnicastPkts retrieves the value of the leaf InUnicastPkts from the Interface_Subinterface_Counters
3410
// struct. If the field is unset but has a default value in the YANG schema,
3411
// then the default value will be returned.
3412
// Caution should be exercised whilst using this method since when without a
3413
// default value, it will return the Go zero value if the field is explicitly
3414
// unset. If the caller explicitly does not care if InUnicastPkts is set, it can
3415
// safely use t.GetInUnicastPkts() to retrieve the value. In the case that the
3416
// caller has different actions based on whether the leaf is set or unset, it
3417
// should use 'if t.InUnicastPkts == nil' before retrieving the leaf's value.
3418
func (t *Interface_Subinterface_Counters) GetInUnicastPkts() uint64 {
×
3419
        if t == nil || t.InUnicastPkts == nil {
×
3420
                return 0
×
3421
        }
×
3422
        return *t.InUnicastPkts
×
3423
}
3424

3425
// GetInUnknownProtos retrieves the value of the leaf InUnknownProtos from the Interface_Subinterface_Counters
3426
// struct. If the field is unset but has a default value in the YANG schema,
3427
// then the default value will be returned.
3428
// Caution should be exercised whilst using this method since when without a
3429
// default value, it will return the Go zero value if the field is explicitly
3430
// unset. If the caller explicitly does not care if InUnknownProtos is set, it can
3431
// safely use t.GetInUnknownProtos() to retrieve the value. In the case that the
3432
// caller has different actions based on whether the leaf is set or unset, it
3433
// should use 'if t.InUnknownProtos == nil' before retrieving the leaf's value.
3434
func (t *Interface_Subinterface_Counters) GetInUnknownProtos() uint64 {
×
3435
        if t == nil || t.InUnknownProtos == nil {
×
3436
                return 0
×
3437
        }
×
3438
        return *t.InUnknownProtos
×
3439
}
3440

3441
// GetLastClear retrieves the value of the leaf LastClear from the Interface_Subinterface_Counters
3442
// struct. If the field is unset but has a default value in the YANG schema,
3443
// then the default value will be returned.
3444
// Caution should be exercised whilst using this method since when without a
3445
// default value, it will return the Go zero value if the field is explicitly
3446
// unset. If the caller explicitly does not care if LastClear is set, it can
3447
// safely use t.GetLastClear() to retrieve the value. In the case that the
3448
// caller has different actions based on whether the leaf is set or unset, it
3449
// should use 'if t.LastClear == nil' before retrieving the leaf's value.
3450
func (t *Interface_Subinterface_Counters) GetLastClear() uint64 {
×
3451
        if t == nil || t.LastClear == nil {
×
3452
                return 0
×
3453
        }
×
3454
        return *t.LastClear
×
3455
}
3456

3457
// GetOutBroadcastPkts retrieves the value of the leaf OutBroadcastPkts from the Interface_Subinterface_Counters
3458
// struct. If the field is unset but has a default value in the YANG schema,
3459
// then the default value will be returned.
3460
// Caution should be exercised whilst using this method since when without a
3461
// default value, it will return the Go zero value if the field is explicitly
3462
// unset. If the caller explicitly does not care if OutBroadcastPkts is set, it can
3463
// safely use t.GetOutBroadcastPkts() to retrieve the value. In the case that the
3464
// caller has different actions based on whether the leaf is set or unset, it
3465
// should use 'if t.OutBroadcastPkts == nil' before retrieving the leaf's value.
3466
func (t *Interface_Subinterface_Counters) GetOutBroadcastPkts() uint64 {
×
3467
        if t == nil || t.OutBroadcastPkts == nil {
×
3468
                return 0
×
3469
        }
×
3470
        return *t.OutBroadcastPkts
×
3471
}
3472

3473
// GetOutDiscards retrieves the value of the leaf OutDiscards from the Interface_Subinterface_Counters
3474
// struct. If the field is unset but has a default value in the YANG schema,
3475
// then the default value will be returned.
3476
// Caution should be exercised whilst using this method since when without a
3477
// default value, it will return the Go zero value if the field is explicitly
3478
// unset. If the caller explicitly does not care if OutDiscards is set, it can
3479
// safely use t.GetOutDiscards() to retrieve the value. In the case that the
3480
// caller has different actions based on whether the leaf is set or unset, it
3481
// should use 'if t.OutDiscards == nil' before retrieving the leaf's value.
3482
func (t *Interface_Subinterface_Counters) GetOutDiscards() uint64 {
×
3483
        if t == nil || t.OutDiscards == nil {
×
3484
                return 0
×
3485
        }
×
3486
        return *t.OutDiscards
×
3487
}
3488

3489
// GetOutErrors retrieves the value of the leaf OutErrors from the Interface_Subinterface_Counters
3490
// struct. If the field is unset but has a default value in the YANG schema,
3491
// then the default value will be returned.
3492
// Caution should be exercised whilst using this method since when without a
3493
// default value, it will return the Go zero value if the field is explicitly
3494
// unset. If the caller explicitly does not care if OutErrors is set, it can
3495
// safely use t.GetOutErrors() to retrieve the value. In the case that the
3496
// caller has different actions based on whether the leaf is set or unset, it
3497
// should use 'if t.OutErrors == nil' before retrieving the leaf's value.
3498
func (t *Interface_Subinterface_Counters) GetOutErrors() uint64 {
×
3499
        if t == nil || t.OutErrors == nil {
×
3500
                return 0
×
3501
        }
×
3502
        return *t.OutErrors
×
3503
}
3504

3505
// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Subinterface_Counters
3506
// struct. If the field is unset but has a default value in the YANG schema,
3507
// then the default value will be returned.
3508
// Caution should be exercised whilst using this method since when without a
3509
// default value, it will return the Go zero value if the field is explicitly
3510
// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can
3511
// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the
3512
// caller has different actions based on whether the leaf is set or unset, it
3513
// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value.
3514
func (t *Interface_Subinterface_Counters) GetOutMulticastPkts() uint64 {
×
3515
        if t == nil || t.OutMulticastPkts == nil {
×
3516
                return 0
×
3517
        }
×
3518
        return *t.OutMulticastPkts
×
3519
}
3520

3521
// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Subinterface_Counters
3522
// struct. If the field is unset but has a default value in the YANG schema,
3523
// then the default value will be returned.
3524
// Caution should be exercised whilst using this method since when without a
3525
// default value, it will return the Go zero value if the field is explicitly
3526
// unset. If the caller explicitly does not care if OutOctets is set, it can
3527
// safely use t.GetOutOctets() to retrieve the value. In the case that the
3528
// caller has different actions based on whether the leaf is set or unset, it
3529
// should use 'if t.OutOctets == nil' before retrieving the leaf's value.
3530
func (t *Interface_Subinterface_Counters) GetOutOctets() uint64 {
×
3531
        if t == nil || t.OutOctets == nil {
×
3532
                return 0
×
3533
        }
×
3534
        return *t.OutOctets
×
3535
}
3536

3537
// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Subinterface_Counters
3538
// struct. If the field is unset but has a default value in the YANG schema,
3539
// then the default value will be returned.
3540
// Caution should be exercised whilst using this method since when without a
3541
// default value, it will return the Go zero value if the field is explicitly
3542
// unset. If the caller explicitly does not care if OutPkts is set, it can
3543
// safely use t.GetOutPkts() to retrieve the value. In the case that the
3544
// caller has different actions based on whether the leaf is set or unset, it
3545
// should use 'if t.OutPkts == nil' before retrieving the leaf's value.
3546
func (t *Interface_Subinterface_Counters) GetOutPkts() uint64 {
×
3547
        if t == nil || t.OutPkts == nil {
×
3548
                return 0
×
3549
        }
×
3550
        return *t.OutPkts
×
3551
}
3552

3553
// GetOutUnicastPkts retrieves the value of the leaf OutUnicastPkts from the Interface_Subinterface_Counters
3554
// struct. If the field is unset but has a default value in the YANG schema,
3555
// then the default value will be returned.
3556
// Caution should be exercised whilst using this method since when without a
3557
// default value, it will return the Go zero value if the field is explicitly
3558
// unset. If the caller explicitly does not care if OutUnicastPkts is set, it can
3559
// safely use t.GetOutUnicastPkts() to retrieve the value. In the case that the
3560
// caller has different actions based on whether the leaf is set or unset, it
3561
// should use 'if t.OutUnicastPkts == nil' before retrieving the leaf's value.
3562
func (t *Interface_Subinterface_Counters) GetOutUnicastPkts() uint64 {
×
3563
        if t == nil || t.OutUnicastPkts == nil {
×
3564
                return 0
×
3565
        }
×
3566
        return *t.OutUnicastPkts
×
3567
}
3568

3569
// Validate validates s against the YANG schema corresponding to its type.
3570
func (t *Interface_Subinterface_Counters) ΛValidate(opts ...ygot.ValidationOption) error {
×
3571
        if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Counters"], t, opts...); err != nil {
×
3572
                return err
×
3573
        }
×
3574
        return nil
×
3575
}
3576

3577
// Validate validates s against the YANG schema corresponding to its type.
3578
func (t *Interface_Subinterface_Counters) Validate(opts ...ygot.ValidationOption) error {
×
3579
        return t.ΛValidate(opts...)
×
3580
}
×
3581

3582
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
3583
// that are included in the generated code.
3584
func (t *Interface_Subinterface_Counters) ΛEnumTypeMap() map[string][]reflect.Type {
×
3585
        return ΛEnumTypes
×
3586
}
×
3587

3588
// ΛBelongingModule returns the name of the module that defines the namespace
3589
// of Interface_Subinterface_Counters.
3590
func (*Interface_Subinterface_Counters) ΛBelongingModule() string {
×
3591
        return "openconfig-interfaces"
×
3592
}
×
3593

3594
// RIB represents the /RIB YANG schema element.
3595
type RIB struct {
3596
        Afts      *Afts                 `path:"afts" module:"gribi-aft"`
3597
        Interface map[string]*Interface `path:"interfaces/interface" module:"openconfig-interfaces/openconfig-interfaces"`
3598
}
3599

3600
// IsYANGGoStruct ensures that RIB implements the yang.GoStruct
3601
// interface. This allows functions that need to handle this struct to
3602
// identify it as being generated by ygen.
3603
func (*RIB) IsYANGGoStruct() {}
×
3604

3605
// NewInterface creates a new entry in the Interface list of the
3606
// RIB struct. The keys of the list are populated from the input
3607
// arguments.
3608
func (t *RIB) NewInterface(Name string) (*Interface, error) {
×
3609

×
3610
        // Initialise the list within the receiver struct if it has not already been
×
3611
        // created.
×
3612
        if t.Interface == nil {
×
3613
                t.Interface = make(map[string]*Interface)
×
3614
        }
×
3615

3616
        key := Name
×
3617

×
3618
        // Ensure that this key has not already been used in the
×
3619
        // list. Keyed YANG lists do not allow duplicate keys to
×
3620
        // be created.
×
3621
        if _, ok := t.Interface[key]; ok {
×
3622
                return nil, fmt.Errorf("duplicate key %v for list Interface", key)
×
3623
        }
×
3624

3625
        t.Interface[key] = &Interface{
×
3626
                Name: &Name,
×
3627
        }
×
3628

×
3629
        return t.Interface[key], nil
×
3630
}
3631

3632
// GetOrCreateInterface retrieves the value with the specified keys from
3633
// the receiver RIB. If the entry does not exist, then it is created.
3634
// It returns the existing or new list member.
3635
func (t *RIB) GetOrCreateInterface(Name string) *Interface {
×
3636

×
3637
        key := Name
×
3638

×
3639
        if v, ok := t.Interface[key]; ok {
×
3640
                return v
×
3641
        }
×
3642
        // Panic if we receive an error, since we should have retrieved an existing
3643
        // list member. This allows chaining of GetOrCreate methods.
3644
        v, err := t.NewInterface(Name)
×
3645
        if err != nil {
×
3646
                panic(fmt.Sprintf("GetOrCreateInterface got unexpected error: %v", err))
×
3647
        }
3648
        return v
×
3649
}
3650

3651
// GetInterface retrieves the value with the specified key from
3652
// the Interface map field of RIB. If the receiver is nil, or
3653
// the specified key is not present in the list, nil is returned such that Get*
3654
// methods may be safely chained.
3655
func (t *RIB) GetInterface(Name string) *Interface {
×
3656

×
3657
        if t == nil {
×
3658
                return nil
×
3659
        }
×
3660

3661
        key := Name
×
3662

×
3663
        if lm, ok := t.Interface[key]; ok {
×
3664
                return lm
×
3665
        }
×
3666
        return nil
×
3667
}
3668

3669
// DeleteInterface deletes the value with the specified keys from
3670
// the receiver RIB. If there is no such element, the function
3671
// is a no-op.
3672
func (t *RIB) DeleteInterface(Name string) {
×
3673
        key := Name
×
3674

×
3675
        delete(t.Interface, key)
×
3676
}
×
3677

3678
// GetOrCreateAfts retrieves the value of the Afts field
3679
// or returns the existing field if it already exists.
3680
func (t *RIB) GetOrCreateAfts() *Afts {
1✔
3681
        if t.Afts != nil {
2✔
3682
                return t.Afts
1✔
3683
        }
1✔
3684
        t.Afts = &Afts{}
1✔
3685
        return t.Afts
1✔
3686
}
3687

3688
// GetAfts returns the value of the Afts struct pointer
3689
// from RIB. If the receiver or the field Afts is nil, nil
3690
// is returned such that the Get* methods can be safely chained.
3691
func (t *RIB) GetAfts() *Afts {
1✔
3692
        if t != nil && t.Afts != nil {
2✔
3693
                return t.Afts
1✔
3694
        }
1✔
3695
        return nil
1✔
3696
}
3697

3698
// Validate validates s against the YANG schema corresponding to its type.
3699
func (t *RIB) ΛValidate(opts ...ygot.ValidationOption) error {
×
3700
        if err := ytypes.Validate(SchemaTree["RIB"], t, opts...); err != nil {
×
3701
                return err
×
3702
        }
×
3703
        return nil
×
3704
}
3705

3706
// Validate validates s against the YANG schema corresponding to its type.
3707
func (t *RIB) Validate(opts ...ygot.ValidationOption) error {
×
3708
        return t.ΛValidate(opts...)
×
3709
}
×
3710

3711
// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types
3712
// that are included in the generated code.
3713
func (t *RIB) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes }
×
3714

3715
// ΛBelongingModule returns the name of the module that defines the namespace
3716
// of RIB.
3717
func (*RIB) ΛBelongingModule() string {
×
3718
        return ""
×
3719
}
×
3720

3721
// E_AftTypes_EncapsulationHeaderType is a derived int64 type which is used to represent
3722
// the enumerated node AftTypes_EncapsulationHeaderType. An additional value named
3723
// AftTypes_EncapsulationHeaderType_UNSET is added to the enumeration which is used as
3724
// the nil value, indicating that the enumeration was not explicitly set by
3725
// the program importing the generated structures.
3726
type E_AftTypes_EncapsulationHeaderType int64
3727

3728
// IsYANGGoEnum ensures that AftTypes_EncapsulationHeaderType implements the yang.GoEnum
3729
// interface. This ensures that AftTypes_EncapsulationHeaderType can be identified as a
3730
// mapped type for a YANG enumeration.
3731
func (E_AftTypes_EncapsulationHeaderType) IsYANGGoEnum() {}
×
3732

3733
// ΛMap returns the value lookup map associated with  AftTypes_EncapsulationHeaderType.
3734
func (E_AftTypes_EncapsulationHeaderType) ΛMap() map[string]map[int64]ygot.EnumDefinition {
×
3735
        return ΛEnum
×
3736
}
×
3737

3738
// String returns a logging-friendly string for E_AftTypes_EncapsulationHeaderType.
3739
func (e E_AftTypes_EncapsulationHeaderType) String() string {
×
3740
        return ygot.EnumLogString(e, int64(e), "E_AftTypes_EncapsulationHeaderType")
×
3741
}
×
3742

3743
const (
3744
        // AftTypes_EncapsulationHeaderType_UNSET corresponds to the value UNSET of AftTypes_EncapsulationHeaderType
3745
        AftTypes_EncapsulationHeaderType_UNSET E_AftTypes_EncapsulationHeaderType = 0
3746
        // AftTypes_EncapsulationHeaderType_GRE corresponds to the value GRE of AftTypes_EncapsulationHeaderType
3747
        AftTypes_EncapsulationHeaderType_GRE E_AftTypes_EncapsulationHeaderType = 1
3748
        // AftTypes_EncapsulationHeaderType_IPV4 corresponds to the value IPV4 of AftTypes_EncapsulationHeaderType
3749
        AftTypes_EncapsulationHeaderType_IPV4 E_AftTypes_EncapsulationHeaderType = 2
3750
        // AftTypes_EncapsulationHeaderType_IPV6 corresponds to the value IPV6 of AftTypes_EncapsulationHeaderType
3751
        AftTypes_EncapsulationHeaderType_IPV6 E_AftTypes_EncapsulationHeaderType = 3
3752
        // AftTypes_EncapsulationHeaderType_MPLS corresponds to the value MPLS of AftTypes_EncapsulationHeaderType
3753
        AftTypes_EncapsulationHeaderType_MPLS E_AftTypes_EncapsulationHeaderType = 4
3754
        // AftTypes_EncapsulationHeaderType_VXLAN corresponds to the value VXLAN of AftTypes_EncapsulationHeaderType
3755
        AftTypes_EncapsulationHeaderType_VXLAN E_AftTypes_EncapsulationHeaderType = 5
3756
)
3757

3758
// E_IETFInterfaces_InterfaceType is a derived int64 type which is used to represent
3759
// the enumerated node IETFInterfaces_InterfaceType. An additional value named
3760
// IETFInterfaces_InterfaceType_UNSET is added to the enumeration which is used as
3761
// the nil value, indicating that the enumeration was not explicitly set by
3762
// the program importing the generated structures.
3763
type E_IETFInterfaces_InterfaceType int64
3764

3765
// IsYANGGoEnum ensures that IETFInterfaces_InterfaceType implements the yang.GoEnum
3766
// interface. This ensures that IETFInterfaces_InterfaceType can be identified as a
3767
// mapped type for a YANG enumeration.
3768
func (E_IETFInterfaces_InterfaceType) IsYANGGoEnum() {}
×
3769

3770
// ΛMap returns the value lookup map associated with  IETFInterfaces_InterfaceType.
3771
func (E_IETFInterfaces_InterfaceType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum }
×
3772

3773
// String returns a logging-friendly string for E_IETFInterfaces_InterfaceType.
3774
func (e E_IETFInterfaces_InterfaceType) String() string {
×
3775
        return ygot.EnumLogString(e, int64(e), "E_IETFInterfaces_InterfaceType")
×
3776
}
×
3777

3778
const (
3779
        // IETFInterfaces_InterfaceType_UNSET corresponds to the value UNSET of IETFInterfaces_InterfaceType
3780
        IETFInterfaces_InterfaceType_UNSET E_IETFInterfaces_InterfaceType = 0
3781
)
3782

3783
// E_Interface_AdminStatus is a derived int64 type which is used to represent
3784
// the enumerated node Interface_AdminStatus. An additional value named
3785
// Interface_AdminStatus_UNSET is added to the enumeration which is used as
3786
// the nil value, indicating that the enumeration was not explicitly set by
3787
// the program importing the generated structures.
3788
type E_Interface_AdminStatus int64
3789

3790
// IsYANGGoEnum ensures that Interface_AdminStatus implements the yang.GoEnum
3791
// interface. This ensures that Interface_AdminStatus can be identified as a
3792
// mapped type for a YANG enumeration.
3793
func (E_Interface_AdminStatus) IsYANGGoEnum() {}
×
3794

3795
// ΛMap returns the value lookup map associated with  Interface_AdminStatus.
3796
func (E_Interface_AdminStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum }
×
3797

3798
// String returns a logging-friendly string for E_Interface_AdminStatus.
3799
func (e E_Interface_AdminStatus) String() string {
×
3800
        return ygot.EnumLogString(e, int64(e), "E_Interface_AdminStatus")
×
3801
}
×
3802

3803
const (
3804
        // Interface_AdminStatus_UNSET corresponds to the value UNSET of Interface_AdminStatus
3805
        Interface_AdminStatus_UNSET E_Interface_AdminStatus = 0
3806
        // Interface_AdminStatus_UP corresponds to the value UP of Interface_AdminStatus
3807
        Interface_AdminStatus_UP E_Interface_AdminStatus = 1
3808
        // Interface_AdminStatus_DOWN corresponds to the value DOWN of Interface_AdminStatus
3809
        Interface_AdminStatus_DOWN E_Interface_AdminStatus = 2
3810
        // Interface_AdminStatus_TESTING corresponds to the value TESTING of Interface_AdminStatus
3811
        Interface_AdminStatus_TESTING E_Interface_AdminStatus = 3
3812
)
3813

3814
// E_Interface_OperStatus is a derived int64 type which is used to represent
3815
// the enumerated node Interface_OperStatus. An additional value named
3816
// Interface_OperStatus_UNSET is added to the enumeration which is used as
3817
// the nil value, indicating that the enumeration was not explicitly set by
3818
// the program importing the generated structures.
3819
type E_Interface_OperStatus int64
3820

3821
// IsYANGGoEnum ensures that Interface_OperStatus implements the yang.GoEnum
3822
// interface. This ensures that Interface_OperStatus can be identified as a
3823
// mapped type for a YANG enumeration.
3824
func (E_Interface_OperStatus) IsYANGGoEnum() {}
×
3825

3826
// ΛMap returns the value lookup map associated with  Interface_OperStatus.
3827
func (E_Interface_OperStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum }
×
3828

3829
// String returns a logging-friendly string for E_Interface_OperStatus.
3830
func (e E_Interface_OperStatus) String() string {
×
3831
        return ygot.EnumLogString(e, int64(e), "E_Interface_OperStatus")
×
3832
}
×
3833

3834
const (
3835
        // Interface_OperStatus_UNSET corresponds to the value UNSET of Interface_OperStatus
3836
        Interface_OperStatus_UNSET E_Interface_OperStatus = 0
3837
        // Interface_OperStatus_UP corresponds to the value UP of Interface_OperStatus
3838
        Interface_OperStatus_UP E_Interface_OperStatus = 1
3839
        // Interface_OperStatus_DOWN corresponds to the value DOWN of Interface_OperStatus
3840
        Interface_OperStatus_DOWN E_Interface_OperStatus = 2
3841
        // Interface_OperStatus_TESTING corresponds to the value TESTING of Interface_OperStatus
3842
        Interface_OperStatus_TESTING E_Interface_OperStatus = 3
3843
        // Interface_OperStatus_UNKNOWN corresponds to the value UNKNOWN of Interface_OperStatus
3844
        Interface_OperStatus_UNKNOWN E_Interface_OperStatus = 4
3845
        // Interface_OperStatus_DORMANT corresponds to the value DORMANT of Interface_OperStatus
3846
        Interface_OperStatus_DORMANT E_Interface_OperStatus = 5
3847
        // Interface_OperStatus_NOT_PRESENT corresponds to the value NOT_PRESENT of Interface_OperStatus
3848
        Interface_OperStatus_NOT_PRESENT E_Interface_OperStatus = 6
3849
        // Interface_OperStatus_LOWER_LAYER_DOWN corresponds to the value LOWER_LAYER_DOWN of Interface_OperStatus
3850
        Interface_OperStatus_LOWER_LAYER_DOWN E_Interface_OperStatus = 7
3851
)
3852

3853
// E_MplsTypes_MplsLabel_Enum is a derived int64 type which is used to represent
3854
// the enumerated node MplsTypes_MplsLabel_Enum. An additional value named
3855
// MplsTypes_MplsLabel_Enum_UNSET is added to the enumeration which is used as
3856
// the nil value, indicating that the enumeration was not explicitly set by
3857
// the program importing the generated structures.
3858
type E_MplsTypes_MplsLabel_Enum int64
3859

3860
// IsYANGGoEnum ensures that MplsTypes_MplsLabel_Enum implements the yang.GoEnum
3861
// interface. This ensures that MplsTypes_MplsLabel_Enum can be identified as a
3862
// mapped type for a YANG enumeration.
3863
func (E_MplsTypes_MplsLabel_Enum) IsYANGGoEnum() {}
×
3864

3865
// ΛMap returns the value lookup map associated with  MplsTypes_MplsLabel_Enum.
3866
func (E_MplsTypes_MplsLabel_Enum) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum }
1✔
3867

3868
// String returns a logging-friendly string for E_MplsTypes_MplsLabel_Enum.
3869
func (e E_MplsTypes_MplsLabel_Enum) String() string {
1✔
3870
        return ygot.EnumLogString(e, int64(e), "E_MplsTypes_MplsLabel_Enum")
1✔
3871
}
1✔
3872

3873
const (
3874
        // MplsTypes_MplsLabel_Enum_UNSET corresponds to the value UNSET of MplsTypes_MplsLabel_Enum
3875
        MplsTypes_MplsLabel_Enum_UNSET E_MplsTypes_MplsLabel_Enum = 0
3876
        // MplsTypes_MplsLabel_Enum_IPV4_EXPLICIT_NULL corresponds to the value IPV4_EXPLICIT_NULL of MplsTypes_MplsLabel_Enum
3877
        MplsTypes_MplsLabel_Enum_IPV4_EXPLICIT_NULL E_MplsTypes_MplsLabel_Enum = 1
3878
        // MplsTypes_MplsLabel_Enum_ROUTER_ALERT corresponds to the value ROUTER_ALERT of MplsTypes_MplsLabel_Enum
3879
        MplsTypes_MplsLabel_Enum_ROUTER_ALERT E_MplsTypes_MplsLabel_Enum = 2
3880
        // MplsTypes_MplsLabel_Enum_IPV6_EXPLICIT_NULL corresponds to the value IPV6_EXPLICIT_NULL of MplsTypes_MplsLabel_Enum
3881
        MplsTypes_MplsLabel_Enum_IPV6_EXPLICIT_NULL E_MplsTypes_MplsLabel_Enum = 3
3882
        // MplsTypes_MplsLabel_Enum_IMPLICIT_NULL corresponds to the value IMPLICIT_NULL of MplsTypes_MplsLabel_Enum
3883
        MplsTypes_MplsLabel_Enum_IMPLICIT_NULL E_MplsTypes_MplsLabel_Enum = 4
3884
        // MplsTypes_MplsLabel_Enum_ENTROPY_LABEL_INDICATOR corresponds to the value ENTROPY_LABEL_INDICATOR of MplsTypes_MplsLabel_Enum
3885
        MplsTypes_MplsLabel_Enum_ENTROPY_LABEL_INDICATOR E_MplsTypes_MplsLabel_Enum = 5
3886
        // MplsTypes_MplsLabel_Enum_NO_LABEL corresponds to the value NO_LABEL of MplsTypes_MplsLabel_Enum
3887
        MplsTypes_MplsLabel_Enum_NO_LABEL E_MplsTypes_MplsLabel_Enum = 6
3888
)
3889

3890
// E_PacketMatchTypes_IP_PROTOCOL is a derived int64 type which is used to represent
3891
// the enumerated node PacketMatchTypes_IP_PROTOCOL. An additional value named
3892
// PacketMatchTypes_IP_PROTOCOL_UNSET is added to the enumeration which is used as
3893
// the nil value, indicating that the enumeration was not explicitly set by
3894
// the program importing the generated structures.
3895
type E_PacketMatchTypes_IP_PROTOCOL int64
3896

3897
// IsYANGGoEnum ensures that PacketMatchTypes_IP_PROTOCOL implements the yang.GoEnum
3898
// interface. This ensures that PacketMatchTypes_IP_PROTOCOL can be identified as a
3899
// mapped type for a YANG enumeration.
3900
func (E_PacketMatchTypes_IP_PROTOCOL) IsYANGGoEnum() {}
×
3901

3902
// ΛMap returns the value lookup map associated with  PacketMatchTypes_IP_PROTOCOL.
3903
func (E_PacketMatchTypes_IP_PROTOCOL) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum }
×
3904

3905
// String returns a logging-friendly string for E_PacketMatchTypes_IP_PROTOCOL.
3906
func (e E_PacketMatchTypes_IP_PROTOCOL) String() string {
×
3907
        return ygot.EnumLogString(e, int64(e), "E_PacketMatchTypes_IP_PROTOCOL")
×
3908
}
×
3909

3910
const (
3911
        // PacketMatchTypes_IP_PROTOCOL_UNSET corresponds to the value UNSET of PacketMatchTypes_IP_PROTOCOL
3912
        PacketMatchTypes_IP_PROTOCOL_UNSET E_PacketMatchTypes_IP_PROTOCOL = 0
3913
        // PacketMatchTypes_IP_PROTOCOL_IP_AUTH corresponds to the value IP_AUTH of PacketMatchTypes_IP_PROTOCOL
3914
        PacketMatchTypes_IP_PROTOCOL_IP_AUTH E_PacketMatchTypes_IP_PROTOCOL = 1
3915
        // PacketMatchTypes_IP_PROTOCOL_IP_GRE corresponds to the value IP_GRE of PacketMatchTypes_IP_PROTOCOL
3916
        PacketMatchTypes_IP_PROTOCOL_IP_GRE E_PacketMatchTypes_IP_PROTOCOL = 2
3917
        // PacketMatchTypes_IP_PROTOCOL_IP_ICMP corresponds to the value IP_ICMP of PacketMatchTypes_IP_PROTOCOL
3918
        PacketMatchTypes_IP_PROTOCOL_IP_ICMP E_PacketMatchTypes_IP_PROTOCOL = 3
3919
        // PacketMatchTypes_IP_PROTOCOL_IP_IGMP corresponds to the value IP_IGMP of PacketMatchTypes_IP_PROTOCOL
3920
        PacketMatchTypes_IP_PROTOCOL_IP_IGMP E_PacketMatchTypes_IP_PROTOCOL = 4
3921
        // PacketMatchTypes_IP_PROTOCOL_IP_IN_IP corresponds to the value IP_IN_IP of PacketMatchTypes_IP_PROTOCOL
3922
        PacketMatchTypes_IP_PROTOCOL_IP_IN_IP E_PacketMatchTypes_IP_PROTOCOL = 5
3923
        // PacketMatchTypes_IP_PROTOCOL_IP_L2TP corresponds to the value IP_L2TP of PacketMatchTypes_IP_PROTOCOL
3924
        PacketMatchTypes_IP_PROTOCOL_IP_L2TP E_PacketMatchTypes_IP_PROTOCOL = 6
3925
        // PacketMatchTypes_IP_PROTOCOL_IP_PIM corresponds to the value IP_PIM of PacketMatchTypes_IP_PROTOCOL
3926
        PacketMatchTypes_IP_PROTOCOL_IP_PIM E_PacketMatchTypes_IP_PROTOCOL = 7
3927
        // PacketMatchTypes_IP_PROTOCOL_IP_RSVP corresponds to the value IP_RSVP of PacketMatchTypes_IP_PROTOCOL
3928
        PacketMatchTypes_IP_PROTOCOL_IP_RSVP E_PacketMatchTypes_IP_PROTOCOL = 8
3929
        // PacketMatchTypes_IP_PROTOCOL_IP_TCP corresponds to the value IP_TCP of PacketMatchTypes_IP_PROTOCOL
3930
        PacketMatchTypes_IP_PROTOCOL_IP_TCP E_PacketMatchTypes_IP_PROTOCOL = 9
3931
        // PacketMatchTypes_IP_PROTOCOL_IP_UDP corresponds to the value IP_UDP of PacketMatchTypes_IP_PROTOCOL
3932
        PacketMatchTypes_IP_PROTOCOL_IP_UDP E_PacketMatchTypes_IP_PROTOCOL = 10
3933
)
3934

3935
// ΛEnum is a map, keyed by the name of the type defined for each enum in the
3936
// generated Go code, which provides a mapping between the constant int64 value
3937
// of each value of the enumeration, and the string that is used to represent it
3938
// in the YANG schema. The map is named ΛEnum in order to avoid clash with any
3939
// valid YANG identifier.
3940
var ΛEnum = map[string]map[int64]ygot.EnumDefinition{
3941
        "E_AftTypes_EncapsulationHeaderType": {
3942
                1: {Name: "GRE"},
3943
                2: {Name: "IPV4"},
3944
                3: {Name: "IPV6"},
3945
                4: {Name: "MPLS"},
3946
                5: {Name: "VXLAN"},
3947
        },
3948
        "E_IETFInterfaces_InterfaceType": {},
3949
        "E_Interface_AdminStatus": {
3950
                1: {Name: "UP"},
3951
                2: {Name: "DOWN"},
3952
                3: {Name: "TESTING"},
3953
        },
3954
        "E_Interface_OperStatus": {
3955
                1: {Name: "UP"},
3956
                2: {Name: "DOWN"},
3957
                3: {Name: "TESTING"},
3958
                4: {Name: "UNKNOWN"},
3959
                5: {Name: "DORMANT"},
3960
                6: {Name: "NOT_PRESENT"},
3961
                7: {Name: "LOWER_LAYER_DOWN"},
3962
        },
3963
        "E_MplsTypes_MplsLabel_Enum": {
3964
                1: {Name: "IPV4_EXPLICIT_NULL"},
3965
                2: {Name: "ROUTER_ALERT"},
3966
                3: {Name: "IPV6_EXPLICIT_NULL"},
3967
                4: {Name: "IMPLICIT_NULL"},
3968
                5: {Name: "ENTROPY_LABEL_INDICATOR"},
3969
                6: {Name: "NO_LABEL"},
3970
        },
3971
        "E_PacketMatchTypes_IP_PROTOCOL": {
3972
                1:  {Name: "IP_AUTH", DefiningModule: "openconfig-packet-match-types"},
3973
                2:  {Name: "IP_GRE", DefiningModule: "openconfig-packet-match-types"},
3974
                3:  {Name: "IP_ICMP", DefiningModule: "openconfig-packet-match-types"},
3975
                4:  {Name: "IP_IGMP", DefiningModule: "openconfig-packet-match-types"},
3976
                5:  {Name: "IP_IN_IP", DefiningModule: "openconfig-packet-match-types"},
3977
                6:  {Name: "IP_L2TP", DefiningModule: "openconfig-packet-match-types"},
3978
                7:  {Name: "IP_PIM", DefiningModule: "openconfig-packet-match-types"},
3979
                8:  {Name: "IP_RSVP", DefiningModule: "openconfig-packet-match-types"},
3980
                9:  {Name: "IP_TCP", DefiningModule: "openconfig-packet-match-types"},
3981
                10: {Name: "IP_UDP", DefiningModule: "openconfig-packet-match-types"},
3982
        },
3983
}
3984

3985
var (
3986
        // ySchema is a byte slice contain a gzip compressed representation of the
3987
        // YANG schema from which the Go code was generated. When uncompressed the
3988
        // contents of the byte slice is a JSON document containing an object, keyed
3989
        // on the name of the generated struct, and containing the JSON marshalled
3990
        // contents of a goyang yang.Entry struct, which defines the schema for the
3991
        // fields within the struct.
3992
        ySchema = []byte{
3993
                0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0xfb, 0x6f, 0xda, 0x4c,
3994
                0xf6, 0xfe, 0xef, 0xf9, 0x2b, 0x2c, 0xeb, 0x23, 0x6d, 0x23, 0xd5, 0x4d, 0x20, 0x84, 0xb4, 0x91,
3995
                0xbe, 0x3f, 0xa4, 0x2d, 0x6f, 0x5f, 0xb4, 0xb9, 0x89, 0xd0, 0xf7, 0xa2, 0x86, 0x8d, 0x1c, 0x7b,
3996
                0x08, 0x56, 0x61, 0x8c, 0xec, 0xa1, 0x69, 0xd4, 0xe6, 0x7f, 0xff, 0xca, 0x06, 0x0c, 0x04, 0x1c,
3997
                0x3c, 0x33, 0xc7, 0xe6, 0xf6, 0xac, 0x56, 0xbb, 0x4d, 0xc2, 0x1c, 0xec, 0x99, 0x73, 0x79, 0x9e,
3998
                0x33, 0x67, 0xce, 0xfc, 0xda, 0x33, 0x0c, 0xc3, 0x30, 0x2f, 0xed, 0x1e, 0x33, 0x4f, 0x0d, 0xb3,
3999
                0x51, 0xff, 0x68, 0xbe, 0x1d, 0xfe, 0xea, 0xbf, 0x1e, 0x77, 0xcd, 0x53, 0xa3, 0x34, 0xfa, 0xf1,
4000
                0x93, 0xcf, 0xdb, 0xde, 0x83, 0x79, 0x6a, 0x1c, 0x8e, 0x7e, 0xf1, 0xd9, 0x0b, 0xcc, 0x53, 0x63,
4001
                0x38, 0x3e, 0xfe, 0x85, 0xdd, 0x16, 0xe1, 0xcc, 0x6f, 0x66, 0x24, 0xc7, 0x7f, 0x7d, 0x3b, 0xfb,
4002
                0xb7, 0xd9, 0xaf, 0x48, 0x7e, 0x9d, 0x7c, 0x55, 0xf9, 0xc5, 0x1f, 0xae, 0x03, 0xd6, 0xf6, 0x7e,
4003
                0xce, 0x7d, 0xc7, 0xcc, 0xf7, 0xf8, 0x8e, 0x65, 0xb7, 0xc5, 0x8b, 0x6f, 0x8a, 0x3f, 0x71, 0xe3,
4004
                0x0f, 0x02, 0x87, 0x2d, 0x1c, 0x3d, 0x7c, 0x1a, 0xf6, 0xf4, 0xe8, 0x07, 0xd1, 0x03, 0x99, 0xfd,
4005
                0xe1, 0x17, 0xbd, 0x5d, 0xfc, 0xc1, 0x3f, 0xed, 0xf0, 0x2c, 0x78, 0x18, 0xf4, 0x18, 0x17, 0xe6,
4006
                0xa9, 0x21, 0x82, 0x01, 0x4b, 0xf9, 0xe0, 0xd4, 0xa7, 0xc6, 0xcf, 0x35, 0xf7, 0xc1, 0xe7, 0x99,
4007
                0xdf, 0x3c, 0xbf, 0x78, 0xe3, 0x97, 0x93, 0x9c, 0xfc, 0x81, 0x89, 0x0e, 0x0b, 0x38, 0x13, 0xe9,
4008
                0xaf, 0x33, 0x9e, 0x90, 0xe4, 0x93, 0x29, 0x0f, 0xb9, 0x78, 0x11, 0xe6, 0x17, 0xe3, 0x30, 0xe5,
4009
                0x03, 0xaf, 0x2c, 0x4a, 0xf6, 0xc5, 0xc9, 0xba, 0x48, 0xd2, 0x8b, 0x25, 0xbd, 0x68, 0x52, 0x8b,
4010
                0xb7, 0x78, 0x11, 0x53, 0x16, 0x73, 0xe9, 0xa2, 0x26, 0x1f, 0xe8, 0xd9, 0x8e, 0xc5, 0xb8, 0x08,
4011
                0x9e, 0x96, 0xcf, 0xc3, 0x78, 0x66, 0x27, 0x43, 0x96, 0xbc, 0xd6, 0xeb, 0xcb, 0x9d, 0x79, 0xd9,
4012
                0x65, 0x96, 0x5f, 0x5e, 0x0d, 0x64, 0xd5, 0x41, 0x59, 0x2d, 0x94, 0xd5, 0x43, 0x49, 0x4d, 0x5e,
4013
                0x57, 0x97, 0x25, 0x6a, 0x93, 0x59, 0x7d, 0x66, 0xd4, 0xc8, 0x76, 0xdd, 0x80, 0x85, 0x61, 0xf6,
4014
                0x19, 0x9c, 0x56, 0xa8, 0xf1, 0xe0, 0x8c, 0x53, 0x31, 0x52, 0xad, 0xc3, 0x8c, 0x1f, 0xcf, 0xaa,
4015
                0x62, 0x2a, 0xaa, 0xa6, 0xae, 0x72, 0xaa, 0xaa, 0xa7, 0xad, 0x82, 0xda, 0xaa, 0xa8, 0xa5, 0x92,
4016
                0xd9, 0x54, 0x33, 0xa3, 0x8a, 0x26, 0x4f, 0xd2, 0x7c, 0xea, 0x33, 0xb5, 0xf5, 0xea, 0x32, 0xbb,
4017
                0x1d, 0xb0, 0xb6, 0xcc, 0x82, 0x8d, 0x3d, 0xdb, 0x89, 0xc4, 0x98, 0x6b, 0x5b, 0x74, 0xa2, 0xaf,
4018
                0x7b, 0xf7, 0xee, 0x20, 0x14, 0xb6, 0x60, 0x07, 0xd3, 0x6a, 0xbf, 0x47, 0x33, 0x61, 0x19, 0x26,
4019
                0xcb, 0x8c, 0xbf, 0x5c, 0xde, 0x48, 0x87, 0xc3, 0xe4, 0xcc, 0xb3, 0x24, 0x6b, 0x9e, 0x65, 0x98,
4020
                0xe7, 0x96, 0x9a, 0x67, 0xd6, 0x48, 0x32, 0x41, 0x9d, 0x11, 0xc2, 0xb0, 0x7a, 0x4c, 0xd8, 0xae,
4021
                0x2d, 0x6c, 0xf9, 0xc9, 0x4f, 0x30, 0xe9, 0xac, 0x1c, 0xc9, 0x09, 0x94, 0x8b, 0x33, 0xca, 0xf1,
4022
                0x46, 0x47, 0xb1, 0xf5, 0x15, 0x5c, 0x57, 0xd1, 0xc9, 0x14, 0x9e, 0x4c, 0xf1, 0x49, 0x0c, 0x40,
4023
                0xce, 0x10, 0x24, 0x0d, 0x42, 0x3d, 0x6e, 0xcd, 0xad, 0xf7, 0xbd, 0xc7, 0xed, 0xa5, 0x60, 0xfc,
4024
                0x35, 0xed, 0xfe, 0xa0, 0x30, 0xf4, 0x9c, 0xf1, 0x87, 0x38, 0x9e, 0x7d, 0x53, 0x5a, 0x18, 0x35,
4025
                0x05, 0x8b, 0xbf, 0xf9, 0xc2, 0xe3, 0xca, 0x1a, 0x9a, 0x08, 0xf9, 0xcb, 0xee, 0x0e, 0x98, 0xbc,
4026
                0x7d, 0xce, 0xc9, 0xf9, 0x23, 0xb0, 0x1d, 0xe1, 0xf9, 0xfc, 0xb3, 0xf7, 0xe0, 0xc5, 0x29, 0x09,
4027
                0x5d, 0x81, 0x97, 0xec, 0xc1, 0x16, 0xde, 0x8f, 0xe8, 0xd9, 0xda, 0x76, 0x37, 0x64, 0xca, 0xd2,
4028
                0x9e, 0xdf, 0x6a, 0x4c, 0xb1, 0xfd, 0x93, 0x6e, 0x8a, 0xdf, 0x6f, 0xef, 0x14, 0xef, 0x15, 0x33,
4029
                0xaa, 0xb5, 0x97, 0x8f, 0x7c, 0x09, 0x15, 0x51, 0x22, 0x78, 0x04, 0x44, 0x0f, 0x81, 0x18, 0x81,
4030
                0x78, 0x63, 0x02, 0xb1, 0xba, 0x7a, 0xcf, 0x90, 0x26, 0x05, 0x87, 0x19, 0x91, 0x4b, 0xc1, 0x02,
4031
                0xae, 0x1c, 0x8f, 0xcd, 0x6f, 0x87, 0xd6, 0x07, 0xdb, 0x6a, 0x9f, 0x59, 0x7f, 0xb4, 0x7e, 0x95,
4032
                0x9f, 0xdf, 0x9c, 0xce, 0xfe, 0xbc, 0xff, 0xeb, 0xf8, 0x59, 0x7e, 0xbd, 0x5a, 0x2a, 0x2f, 0x72,
4033
                0x75, 0x53, 0xff, 0x47, 0xfb, 0x6d, 0xfe, 0xb7, 0xfc, 0x75, 0xfe, 0xcf, 0xdc, 0x48, 0x3f, 0xcc,
4034
                0xd9, 0x4f, 0x61, 0x75, 0xfc, 0xbe, 0xf5, 0x10, 0xf8, 0x83, 0xbe, 0xba, 0x2b, 0x7e, 0x21, 0x67,
4035
                0x07, 0xbc, 0xf1, 0x03, 0x7c, 0xf1, 0x02, 0x5f, 0xfc, 0xb0, 0x95, 0x9e, 0x78, 0xe0, 0x71, 0x51,
4036
                0xad, 0x68, 0x38, 0x61, 0x15, 0x1f, 0xdc, 0xb0, 0xf9, 0x03, 0x03, 0x23, 0x02, 0x23, 0x5a, 0x36,
4037
                0xc5, 0xa5, 0xf7, 0x95, 0x4a, 0xf5, 0xa4, 0x52, 0x39, 0x3c, 0x39, 0x3a, 0x39, 0xfc, 0x70, 0x7c,
4038
                0x5c, 0xaa, 0x96, 0x8e, 0x41, 0x92, 0xb6, 0x80, 0x24, 0xcd, 0x06, 0x55, 0x8b, 0x33, 0xf1, 0xe8,
4039
                0x07, 0xdf, 0x2d, 0x8f, 0x87, 0xc2, 0xe6, 0x2a, 0x19, 0xe4, 0xc5, 0xd1, 0x7a, 0x5e, 0x30, 0xc2,
4040
                0x37, 0xc2, 0xf7, 0x16, 0x85, 0xef, 0x50, 0x04, 0x1e, 0x7f, 0xd0, 0xe2, 0x50, 0x79, 0x79, 0x03,
4041
                0xd2, 0x4d, 0x91, 0xb3, 0xc1, 0x43, 0xb4, 0x90, 0xcc, 0x95, 0x42, 0x0d, 0x8a, 0x3e, 0xe4, 0xc0,
4042
                0x6e, 0x8b, 0xf0, 0x60, 0x5c, 0xa2, 0x73, 0x90, 0x54, 0x71, 0x1c, 0xc8, 0xec, 0xec, 0x25, 0x52,
4043
                0x3f, 0xb3, 0xd0, 0x09, 0xbc, 0x7e, 0x14, 0x73, 0x22, 0xe1, 0x67, 0xae, 0x6b, 0x88, 0x0e, 0x33,
4044
                0x2e, 0xff, 0xfc, 0x62, 0x04, 0xac, 0xcd, 0x02, 0xc6, 0x1d, 0x66, 0xb0, 0x9f, 0x82, 0xf1, 0xd0,
4045
                0xf3, 0x79, 0x68, 0x08, 0xdf, 0xa8, 0x8d, 0xbe, 0xfa, 0x9d, 0xa2, 0xbb, 0x2a, 0xc1, 0x5d, 0xc1,
4046
                0x5d, 0xd1, 0xbb, 0x2b, 0xd9, 0x9d, 0x49, 0x2a, 0x2a, 0x4e, 0x4b, 0xc9, 0xd3, 0x0c, 0xb3, 0xee,
4047
                0x32, 0x2e, 0xbc, 0xb6, 0xc7, 0x02, 0xa3, 0xed, 0x07, 0xb1, 0x8d, 0xce, 0x7e, 0x8f, 0x21, 0x3a,
4048
                0xb6, 0x30, 0xbc, 0xd8, 0x42, 0xef, 0x99, 0x31, 0x08, 0x99, 0x3b, 0xfe, 0xe4, 0x2d, 0x8f, 0x1d,
4049
                0xc4, 0x3b, 0xa3, 0xce, 0x8d, 0x87, 0x46, 0xfd, 0x63, 0xfd, 0xad, 0x21, 0x3a, 0x5e, 0x68, 0xfc,
4050
                0x88, 0x70, 0x6c, 0x34, 0x84, 0xfd, 0xec, 0x07, 0x2c, 0x8c, 0x46, 0xd8, 0xa1, 0x61, 0x1b, 0x1e,
4051
                0x17, 0xec, 0x81, 0x05, 0xc3, 0xbf, 0xdf, 0x72, 0xd7, 0x0b, 0x98, 0x23, 0xba, 0x4f, 0xef, 0x8c,
4052
                0x66, 0x87, 0x19, 0x8f, 0x9e, 0xcb, 0x02, 0xc3, 0xef, 0x33, 0xee, 0xc4, 0x76, 0x39, 0x07, 0x62,
4053
                0x8c, 0x9e, 0xef, 0xb2, 0x6e, 0x22, 0x33, 0xbc, 0xe5, 0xd1, 0xc3, 0x06, 0xac, 0x6b, 0x47, 0xef,
4054
                0x12, 0x76, 0xbc, 0x7e, 0xfc, 0x8c, 0x7e, 0xe4, 0x45, 0x8c, 0xd1, 0x60, 0x63, 0x3c, 0x38, 0x8c,
4055
                0x9e, 0xa0, 0x6f, 0x07, 0xc2, 0xf0, 0xdb, 0xb7, 0x5c, 0xb0, 0x2e, 0xeb, 0xb1, 0xe8, 0xd1, 0x55,
4056
                0x67, 0x51, 0x0d, 0x21, 0x69, 0xbb, 0x1e, 0x0a, 0x17, 0x44, 0xe5, 0x8a, 0xa8, 0x5c, 0x12, 0xb9,
4057
                0x6b, 0x22, 0x77, 0x51, 0x84, 0xae, 0x4a, 0x93, 0xf5, 0x28, 0x6a, 0x8b, 0x32, 0xe2, 0xa2, 0x4b,
4058
                0x9c, 0x10, 0x24, 0x50, 0x88, 0x12, 0x29, 0xfa, 0x09, 0x15, 0xd2, 0xc4, 0x0a, 0x75, 0x82, 0x25,
4059
                0x37, 0xca, 0x4f, 0x4f, 0xfd, 0x09, 0x12, 0x2f, 0xa4, 0x09, 0x98, 0x02, 0x12, 0x31, 0x9b, 0xb8,
4060
                0x3a, 0x7b, 0xab, 0x19, 0xdd, 0x2a, 0x28, 0x31, 0xa4, 0xa0, 0x7d, 0xe4, 0x89, 0x9c, 0x9c, 0x13,
4061
                0x3a, 0x52, 0xe0, 0xef, 0x05, 0xea, 0x7a, 0xf4, 0x44, 0xc7, 0xe3, 0xc6, 0x63, 0xc7, 0x73, 0x3a,
4062
                0x0b, 0xe0, 0xe1, 0x2d, 0x4f, 0xa0, 0x61, 0xc0, 0x42, 0xbf, 0xfb, 0x83, 0xb9, 0x13, 0x3c, 0x38,
4063
                0x84, 0x83, 0xd1, 0x07, 0x3a, 0xcc, 0x18, 0x92, 0x76, 0x83, 0xdb, 0x3d, 0x66, 0xf8, 0xed, 0xe9,
4064
                0x2f, 0xbb, 0xe5, 0xe3, 0x6f, 0x7b, 0x6b, 0x04, 0x76, 0x8c, 0xdf, 0x44, 0xc7, 0xe6, 0x86, 0x3d,
4065
                0x45, 0x15, 0xed, 0x58, 0x4e, 0x8c, 0x3e, 0x3d, 0x6e, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x15,
4066
                0x9a, 0x3a, 0xd3, 0x4c, 0xa1, 0x69, 0xf8, 0xe7, 0x95, 0xa6, 0xea, 0x5a, 0x59, 0x53, 0x75, 0x9c,
4067
                0xfb, 0xc2, 0x1e, 0x39, 0x56, 0x89, 0x32, 0xe6, 0xd0, 0xe9, 0xb0, 0x9e, 0xdd, 0x1f, 0xd5, 0xfe,
4068
                0x1f, 0x3c, 0x04, 0xde, 0xbd, 0x67, 0xd9, 0x6d, 0xb1, 0x24, 0x1b, 0x47, 0x75, 0x1e, 0x40, 0xeb,
4069
                0xf4, 0xcf, 0x7f, 0xd9, 0x93, 0x5c, 0x59, 0x8b, 0x79, 0xee, 0x85, 0xe2, 0x4c, 0x88, 0x8c, 0x87,
4070
                0x86, 0x2e, 0x3c, 0x5e, 0x8b, 0xfc, 0x3c, 0xcf, 0x0a, 0x90, 0x22, 0x14, 0x38, 0x35, 0x42, 0x0d,
4071
                0xbe, 0x99, 0x57, 0x81, 0xcb, 0x02, 0xe6, 0x7e, 0x8c, 0x5e, 0x8e, 0x0f, 0xba, 0x5d, 0xad, 0x39,
4072
                0x92, 0xd4, 0x0b, 0x69, 0x7d, 0x30, 0x33, 0x9d, 0xe8, 0x08, 0x06, 0x8e, 0xe0, 0x23, 0x0f, 0x70,
4073
                0xd6, 0x16, 0xe1, 0xdd, 0x85, 0xed, 0xd4, 0xe2, 0xe1, 0x7b, 0x6a, 0xea, 0x21, 0x77, 0xca, 0x30,
4074
                0xe3, 0x24, 0x64, 0x7c, 0xf9, 0xc5, 0xcf, 0x3c, 0xff, 0x44, 0x0b, 0x9e, 0xc6, 0xf4, 0xfa, 0x3f,
4075
                0x2a, 0xd6, 0x80, 0x7b, 0x8e, 0x1d, 0x66, 0x38, 0xaf, 0x3a, 0xf3, 0x69, 0x9c, 0x59, 0xdd, 0x94,
4076
                0x33, 0xab, 0xf1, 0xb2, 0x49, 0x1e, 0x5a, 0x9d, 0x1a, 0x83, 0x53, 0xab, 0x38, 0xb5, 0x3a, 0xfc,
4077
                0x60, 0x5f, 0x0e, 0xa4, 0x27, 0xcb, 0x23, 0x37, 0x73, 0x38, 0xab, 0x8a, 0xc3, 0x70, 0x9a, 0x70,
4078
                0x7f, 0xe5, 0x67, 0x55, 0x47, 0x4b, 0x86, 0x63, 0xaa, 0x38, 0xa6, 0xba, 0xd5, 0x96, 0x29, 0x7d,
4079
                0x4c, 0xd5, 0x65, 0x8e, 0xdd, 0x0f, 0x07, 0x5d, 0x5b, 0x30, 0xab, 0xc3, 0x6c, 0x97, 0x05, 0xea,
4080
                0x55, 0x5e, 0x0b, 0x64, 0xe1, 0x94, 0x4c, 0x7e, 0x79, 0x2d, 0x9c, 0x92, 0x59, 0x49, 0x71, 0x17,
4081
                0xe3, 0x63, 0x2d, 0xf7, 0x7c, 0x3e, 0xd2, 0x73, 0x4b, 0x44, 0x62, 0x35, 0xea, 0xbd, 0x2a, 0x0a,
4082
                0x63, 0x6b, 0x7c, 0xd0, 0x53, 0x57, 0x9e, 0xa6, 0x7f, 0x33, 0x4c, 0xb5, 0x69, 0xa5, 0xed, 0x0e,
4083
                0xa3, 0x19, 0xf9, 0xd2, 0xa8, 0xe9, 0x24, 0xec, 0x4a, 0x71, 0xaa, 0xff, 0xfa, 0x2f, 0xad, 0x6d,
4084
                0xdb, 0xf2, 0x48, 0x48, 0x55, 0x47, 0xc8, 0x51, 0x24, 0xe4, 0xe2, 0xfa, 0xfc, 0x46, 0x47, 0x48,
4085
                0x25, 0x12, 0xf2, 0xd7, 0x3f, 0xe7, 0x67, 0x97, 0x66, 0xb1, 0x39, 0x58, 0xbf, 0xce, 0x85, 0xde,
4086
                0x6a, 0x46, 0x0b, 0xa9, 0xb5, 0xd3, 0x37, 0x5c, 0x46, 0xe9, 0x52, 0xb7, 0x97, 0x22, 0xaa, 0xd9,
4087
                0x31, 0xca, 0xe2, 0x34, 0x5b, 0xb4, 0x84, 0xa7, 0xc6, 0x91, 0x86, 0x88, 0xe1, 0x02, 0x9e, 0x1a,
4088
                0x95, 0x4d, 0xcf, 0x22, 0xbf, 0x45, 0xcb, 0x0a, 0x60, 0x00, 0x60, 0x00, 0x5a, 0x0c, 0x80, 0x96,
4089
                0x15, 0x0a, 0x1e, 0x15, 0x07, 0xb4, 0x5e, 0x9b, 0x62, 0xb4, 0xac, 0xc8, 0x27, 0xb0, 0x1a, 0x5b,
4090
                0x72, 0x1a, 0x0b, 0x47, 0xa5, 0xb3, 0xbf, 0x31, 0x0e, 0x2f, 0x2c, 0x0a, 0xc6, 0x38, 0x2a, 0xbd,
4091
                0x50, 0xb3, 0x71, 0x54, 0x1a, 0x91, 0x38, 0xb7, 0x48, 0x8c, 0xa3, 0xd2, 0x3b, 0x11, 0x9c, 0x71,
4092
                0x54, 0x1a, 0xe1, 0x1b, 0xe1, 0x5b, 0x65, 0xad, 0xd7, 0xf8, 0xa8, 0xb4, 0x84, 0x37, 0xe8, 0xab,
4093
                0x69, 0xbd, 0x5a, 0x41, 0x06, 0x32, 0x65, 0xc8, 0x94, 0x6d, 0x8c, 0x7d, 0xc7, 0x75, 0x6b, 0xca,
4094
                0xf3, 0xbd, 0xda, 0x9e, 0x72, 0x6f, 0xbe, 0x1d, 0x5a, 0x1f, 0x5a, 0xbf, 0xbf, 0x95, 0xac, 0x0f,
4095
                0xad, 0xe1, 0x3f, 0x4b, 0xf1, 0xff, 0xfd, 0x2a, 0x3f, 0xff, 0x2e, 0x7f, 0x3b, 0xb4, 0x2a, 0xa3,
4096
                0xdf, 0x96, 0x8f, 0xbf, 0x1d, 0x5a, 0xc7, 0xad, 0xfd, 0x37, 0xb7, 0xb7, 0xef, 0x64, 0xc7, 0xec,
4097
                0xff, 0x3a, 0x7a, 0x3e, 0x48, 0x06, 0x95, 0x47, 0x7f, 0x3d, 0xfa, 0x76, 0x68, 0x95, 0x5b, 0xfb,
4098
                0x1b, 0xd5, 0xb2, 0xee, 0xcd, 0xca, 0xa7, 0x6b, 0x7f, 0x9d, 0x7a, 0xe2, 0x6d, 0x7a, 0xa3, 0x8d,
4099
                0xe9, 0xda, 0xe2, 0x83, 0x49, 0xf5, 0x69, 0x61, 0xdd, 0x36, 0xea, 0xd7, 0x3f, 0x2a, 0xc6, 0xe8,
4100
                0xfb, 0xd1, 0x71, 0x03, 0xa8, 0x77, 0x8d, 0xa2, 0x22, 0x3a, 0x6e, 0xa0, 0xe3, 0x06, 0x11, 0x18,
4101
                0xd7, 0x76, 0x3d, 0x14, 0x2e, 0x88, 0xca, 0x15, 0x51, 0xb9, 0x24, 0x72, 0xd7, 0x44, 0xee, 0xa2,
4102
                0x08, 0x5d, 0x95, 0x66, 0xf2, 0x0c, 0x1d, 0x37, 0xd0, 0x71, 0x63, 0x55, 0x99, 0x63, 0xfa, 0x0c,
4103
                0xb2, 0xa6, 0x5a, 0xcf, 0x2e, 0x05, 0x3a, 0x6e, 0xe4, 0xb5, 0x3a, 0xe8, 0xb8, 0xb1, 0x04, 0xda,
4104
                0xa1, 0xe3, 0x06, 0x3a, 0x6e, 0x00, 0xc0, 0x01, 0xc0, 0x6d, 0x02, 0x80, 0x43, 0xc7, 0x0d, 0xb9,
4105
                0x4f, 0xae, 0xb6, 0xe3, 0xc6, 0xeb, 0x69, 0xb9, 0x75, 0x6a, 0xbb, 0x91, 0xed, 0xdc, 0x3e, 0x3a,
4106
                0x6e, 0xe4, 0xa2, 0x0f, 0x8a, 0x6d, 0x37, 0xea, 0xfd, 0x1f, 0x95, 0x8d, 0xeb, 0xbb, 0x31, 0xd3,
4107
                0x05, 0x43, 0xaf, 0xf7, 0x46, 0x55, 0xaa, 0xf7, 0x46, 0x15, 0xbd, 0x37, 0x8c, 0x0d, 0xec, 0xbd,
4108
                0x51, 0x55, 0xe8, 0xbd, 0x51, 0x45, 0xef, 0x0d, 0xf4, 0xde, 0x98, 0xf9, 0x20, 0x7a, 0x6f, 0xe0,
4109
                0x84, 0x3f, 0x25, 0xac, 0x44, 0xef, 0x0d, 0x03, 0xbd, 0x37, 0x60, 0x99, 0xe8, 0xbd, 0x81, 0xde,
4110
                0x1b, 0x39, 0x2a, 0x3a, 0x55, 0x86, 0x0b, 0xd5, 0x84, 0xe8, 0xbd, 0x81, 0xde, 0x1b, 0x23, 0x21,
4111
                0xe8, 0xbd, 0x81, 0xde, 0x1b, 0x93, 0x84, 0x1b, 0x7a, 0x6f, 0x28, 0x68, 0x13, 0x7a, 0x6f, 0x00,
4112
                0x03, 0x00, 0x03, 0x64, 0x5a, 0x6f, 0xf4, 0xde, 0x50, 0xf0, 0xa8, 0x38, 0xf1, 0xfb, 0xda, 0x14,
4113
                0xa3, 0xf7, 0x46, 0x3e, 0x81, 0xd5, 0x40, 0xef, 0x0d, 0xf4, 0xde, 0x40, 0x30, 0x46, 0xef, 0x8d,
4114
                0x34, 0xcd, 0x46, 0xef, 0x0d, 0x44, 0xe2, 0xdc, 0x22, 0x31, 0x7a, 0x6f, 0xec, 0x44, 0x70, 0x46,
4115
                0xef, 0x0d, 0x84, 0x6f, 0x84, 0x6f, 0x95, 0xb5, 0x46, 0xef, 0x0d, 0xf4, 0xde, 0x80, 0x75, 0x6f,
4116
                0x75, 0xef, 0x8d, 0xea, 0xc6, 0xf6, 0xde, 0x88, 0x9b, 0x3c, 0xd8, 0x56, 0xfb, 0xcc, 0xfa, 0xa3,
4117
                0xf5, 0xab, 0xf4, 0xb6, 0xf2, 0x7c, 0xba, 0xff, 0xeb, 0xe4, 0xf9, 0xe5, 0x2f, 0x7f, 0x2f, 0xfa,
4118
                0x58, 0xe9, 0xed, 0xc9, 0xf3, 0x69, 0xca, 0x5f, 0xaa, 0xcf, 0xa7, 0x19, 0x65, 0x1c, 0x3f, 0xbf,
4119
                0x99, 0xfb, 0x68, 0xf4, 0xfb, 0x72, 0xda, 0x80, 0x4a, 0xca, 0x80, 0xa3, 0xb4, 0x01, 0x47, 0x29,
4120
                0x03, 0x52, 0x1f, 0xa9, 0x9c, 0x32, 0xe0, 0xf8, 0xf9, 0xf7, 0xdc, 0xe7, 0xdf, 0x2c, 0xfe, 0x68,
4121
                0xf5, 0x79, 0xff, 0x77, 0xda, 0xdf, 0x4e, 0x9e, 0x7f, 0x9f, 0xee, 0xef, 0x1f, 0xbc, 0x29, 0x95,
4122
                0xbf, 0x1d, 0x5a, 0xef, 0x87, 0xad, 0x38, 0x4a, 0xad, 0xb9, 0x0e, 0x1d, 0xf1, 0xff, 0x6e, 0x62,
4123
                0x6f, 0x12, 0x68, 0xd3, 0xda, 0x6a, 0x13, 0x3a, 0xb7, 0x68, 0x64, 0x29, 0xe6, 0x3b, 0xb7, 0x54,
4124
                0xa7, 0x8f, 0x04, 0x54, 0x8b, 0xef, 0xdc, 0x52, 0x45, 0xe7, 0x16, 0x70, 0x26, 0x74, 0x6e, 0xc9,
4125
                0x69, 0x5f, 0x20, 0xcd, 0x38, 0xd1, 0xb9, 0x45, 0xcd, 0x8c, 0x70, 0xf0, 0x97, 0xca, 0x25, 0x91,
4126
                0xbb, 0x26, 0x72, 0x17, 0x45, 0xe8, 0xaa, 0x34, 0x53, 0xaf, 0xe8, 0xdc, 0x82, 0xce, 0x2d, 0xab,
4127
                0xda, 0x77, 0xa0, 0xdf, 0x7f, 0xd0, 0x54, 0xeb, 0xd9, 0xa5, 0x40, 0xe7, 0x96, 0xbc, 0x56, 0x07,
4128
                0x9d, 0x5b, 0x96, 0x40, 0x3b, 0x74, 0x6e, 0x41, 0xe7, 0x16, 0x00, 0x38, 0x00, 0xb8, 0x4d, 0x00,
4129
                0x70, 0xe8, 0xdc, 0x22, 0xf7, 0xc9, 0x95, 0x77, 0x6e, 0x79, 0x25, 0x2d, 0x87, 0xce, 0x2d, 0x0b,
4130
                0x50, 0xe0, 0xb6, 0x77, 0x6e, 0x59, 0xa4, 0x0f, 0xea, 0x9d, 0x5b, 0xaa, 0x9b, 0xd8, 0xb9, 0xa5,
4131
                0x4a, 0xd1, 0xb9, 0xa5, 0xd7, 0xef, 0x86, 0xcb, 0x3b, 0xb6, 0xc4, 0x9f, 0x42, 0xa7, 0x96, 0x4d,
4132
                0xe9, 0xd4, 0xd2, 0xb5, 0xef, 0x59, 0x57, 0xb6, 0x55, 0xcb, 0xf4, 0x20, 0xf4, 0x6a, 0x41, 0xaf,
4133
                0x96, 0x29, 0x55, 0x92, 0xef, 0x07, 0x31, 0x1c, 0x86, 0x4e, 0x2d, 0x05, 0xd2, 0x06, 0x74, 0x6a,
4134
                0x59, 0x65, 0xa7, 0x96, 0xa1, 0xc2, 0xa3, 0x51, 0x0b, 0x1a, 0xb5, 0x6c, 0xb5, 0x61, 0x4a, 0x37,
4135
                0x6a, 0xc1, 0xe1, 0x6c, 0xd5, 0x14, 0x05, 0x4a, 0x4e, 0x69, 0x0c, 0x40, 0x31, 0x81, 0x82, 0xc3,
4136
                0xd9, 0x19, 0xfe, 0x83, 0x23, 0x61, 0x69, 0x8b, 0x8a, 0xc3, 0xd9, 0x9b, 0x33, 0xc5, 0x3b, 0x74,
4137
                0xfe, 0x4b, 0x8e, 0xce, 0x69, 0xd1, 0x3a, 0x04, 0x5f, 0x04, 0xdf, 0x8d, 0x09, 0xbe, 0xbd, 0x7e,
4138
                0x37, 0xb4, 0x54, 0xb4, 0x7b, 0x86, 0x27, 0xa9, 0x44, 0xe0, 0xd1, 0xb3, 0x17, 0x1e, 0x7f, 0xa7,
4139
                0x4b, 0x99, 0x8e, 0xca, 0x04, 0x3b, 0x61, 0x27, 0x28, 0x65, 0x4a, 0x09, 0x9d, 0xa5, 0x2a, 0x6a,
4140
                0x99, 0x56, 0x04, 0x5f, 0xe6, 0xd7, 0xe2, 0xb0, 0xf2, 0xfe, 0xf8, 0x04, 0xe5, 0x4b, 0x45, 0x8d,
4141
                0x6e, 0x15, 0x59, 0x20, 0x40, 0xe0, 0x0e, 0x19, 0x1f, 0xf4, 0x58, 0x30, 0xdc, 0x9e, 0x23, 0xa8,
4142
                0x0e, 0xa8, 0x68, 0xc8, 0xd0, 0x6a, 0x94, 0x39, 0x89, 0x2f, 0x14, 0x0d, 0x33, 0x13, 0x69, 0x87,
4143
                0xe3, 0xa6, 0x97, 0x77, 0xb5, 0x7f, 0xae, 0xcf, 0xeb, 0x9f, 0xea, 0xcd, 0xbb, 0xcb, 0xaf, 0xe7,
4144
                0xe7, 0x26, 0x81, 0xb9, 0xc7, 0xfd, 0x34, 0x1b, 0x57, 0x5f, 0x9b, 0xb5, 0xc6, 0xdd, 0xd9, 0x79,
4145
                0xad, 0xd1, 0xa4, 0x10, 0x9a, 0xf4, 0xd7, 0xa4, 0x7f, 0xde, 0xb8, 0xeb, 0x66, 0xfd, 0x82, 0x58,
4146
                0xea, 0x49, 0x24, 0xb5, 0x76, 0xd9, 0x6c, 0x5c, 0x5d, 0xff, 0x7b, 0x77, 0x7e, 0xf6, 0xb1, 0x76,
4147
                0x7e, 0x57, 0xbf, 0xfc, 0x5c, 0xff, 0x74, 0xd6, 0xbc, 0x6a, 0x50, 0xc8, 0x7f, 0x1f, 0xc9, 0xbf,
4148
                0xbc, 0x1a, 0x8a, 0x36, 0xf7, 0x56, 0xe8, 0xe3, 0x09, 0x3a, 0x7f, 0x4e, 0x4c, 0x25, 0x65, 0xc2,
4149
                0xb4, 0x50, 0x49, 0x22, 0x7d, 0x76, 0x91, 0xb5, 0x1a, 0x74, 0x4e, 0x64, 0xce, 0xdb, 0x10, 0x49,
4150
                0xf4, 0x58, 0xa4, 0xec, 0x5a, 0x5d, 0x49, 0x27, 0x1e, 0x72, 0xac, 0x34, 0xda, 0xb9, 0x80, 0x21,
4151
                0xe4, 0x9b, 0xb6, 0xf4, 0x53, 0xa3, 0xb4, 0xa2, 0xf8, 0x84, 0xce, 0x6c, 0xf2, 0x31, 0x12, 0x9d,
4152
                0xd9, 0x90, 0x0c, 0x40, 0x67, 0xb6, 0x54, 0xcd, 0x46, 0x67, 0xb6, 0x75, 0xa1, 0x53, 0xe8, 0xcc,
4153
                0xb6, 0xe1, 0xb3, 0x8e, 0xce, 0x6c, 0xe8, 0xcc, 0x86, 0xf0, 0x8d, 0xf0, 0x2d, 0xb1, 0xd6, 0x5b,
4154
                0xd2, 0x99, 0xcd, 0xef, 0xf7, 0x99, 0x6b, 0x4d, 0xb6, 0x25, 0xac, 0x50, 0xd8, 0xce, 0x77, 0x8d,
4155
                0x56, 0x6d, 0x29, 0x02, 0xb1, 0x97, 0xb7, 0xb3, 0xf6, 0x8f, 0xbd, 0xbc, 0xd7, 0xbc, 0x00, 0xf6,
4156
                0xf2, 0x54, 0x13, 0x3b, 0xd8, 0xcb, 0x5b, 0x05, 0xea, 0xa6, 0x47, 0xdf, 0x04, 0xdc, 0x87, 0x94,
4157
                0x03, 0xcd, 0xaf, 0x05, 0xf6, 0xf2, 0x0a, 0x1d, 0x8d, 0xbd, 0x3c, 0x65, 0x19, 0xd8, 0xcb, 0xc3,
4158
                0x5e, 0x1e, 0xf6, 0xf2, 0xb2, 0x99, 0x0a, 0xf6, 0xf2, 0xa6, 0x04, 0x63, 0x2f, 0x6f, 0xe3, 0xd3,
4159
                0x85, 0x92, 0x04, 0x48, 0xaa, 0x39, 0xc0, 0x22, 0xd0, 0x2b, 0xd7, 0x2c, 0x60, 0x11, 0x54, 0xd3,
4160
                0x6e, 0x1e, 0x30, 0x27, 0x54, 0xaa, 0x99, 0x80, 0x46, 0x8a, 0x65, 0xd3, 0x1b, 0xd0, 0x46, 0xdc,
4161
                0xf5, 0x60, 0xea, 0x24, 0x76, 0x61, 0x9d, 0x67, 0x2f, 0xae, 0xcf, 0x6f, 0xd0, 0x71, 0x76, 0x67,
4162
                0x73, 0x41, 0xe8, 0x38, 0xfb, 0x8a, 0xca, 0xa0, 0xe3, 0x2c, 0x3a, 0xce, 0x12, 0xb8, 0x20, 0x2a,
4163
                0x57, 0x44, 0xe5, 0x92, 0xc8, 0x5d, 0x13, 0xb9, 0x8b, 0x22, 0x74, 0x55, 0x9a, 0x18, 0x11, 0x1d,
4164
                0x67, 0xd1, 0x71, 0x16, 0x99, 0xdd, 0xe2, 0x32, 0xbb, 0xe8, 0x38, 0x8b, 0x8e, 0xb3, 0xcb, 0xa1,
4165
                0x1d, 0x3a, 0xce, 0xa2, 0xe3, 0x2c, 0x00, 0x1c, 0x00, 0xdc, 0x26, 0x00, 0x38, 0x74, 0x9c, 0x95,
4166
                0xfb, 0xe4, 0x6a, 0x3b, 0xce, 0xa6, 0xe4, 0xe1, 0xd6, 0xa9, 0xd5, 0x6c, 0x96, 0x0a, 0x17, 0x74,
4167
                0x9a, 0x25, 0xd6, 0x03, 0xc5, 0x16, 0xb3, 0xe7, 0x91, 0x84, 0x8d, 0xeb, 0x31, 0x1b, 0x77, 0x7d,
4168
                0xd5, 0xe8, 0x2d, 0x3b, 0x0b, 0x58, 0x32, 0xb4, 0x99, 0x7d, 0x39, 0x00, 0x1d, 0x67, 0x37, 0xa5,
4169
                0xe3, 0xac, 0x64, 0xca, 0x55, 0x2d, 0xb5, 0x8a, 0xbe, 0xb3, 0xb4, 0x68, 0x6d, 0x9d, 0xfb, 0xce,
4170
                0x7a, 0xae, 0x7c, 0x6f, 0x4b, 0xcf, 0x45, 0xc7, 0xd9, 0x22, 0x69, 0x03, 0x3a, 0xce, 0xae, 0xb2,
4171
                0xe3, 0xac, 0xe7, 0x16, 0xd9, 0x6e, 0x76, 0xec, 0xa8, 0x43, 0x79, 0xb3, 0x9c, 0x0c, 0xcd, 0xb9,
4172
                0xed, 0x2c, 0xac, 0x73, 0x5b, 0xad, 0x53, 0xba, 0xed, 0xec, 0x58, 0xe7, 0xf4, 0x8f, 0xcd, 0xed,
4173
                0x42, 0x4d, 0x04, 0x4e, 0xc8, 0xd0, 0x28, 0xbd, 0x62, 0xe6, 0xa4, 0xa8, 0xba, 0x08, 0x8f, 0xbb,
4174
                0xec, 0xa7, 0x7e, 0x8a, 0x7c, 0x28, 0x06, 0xe9, 0x5f, 0x75, 0xb3, 0xd9, 0xf1, 0x04, 0xb0, 0xaa,
4175
                0x59, 0x6d, 0x7a, 0x0a, 0x58, 0x1e, 0x29, 0x52, 0x20, 0xc7, 0x0c, 0x48, 0x32, 0x36, 0xe8, 0x35,
4176
                0xde, 0xf5, 0x93, 0xbb, 0xeb, 0xe0, 0x95, 0x14, 0xbc, 0x7c, 0x2d, 0xa5, 0x66, 0x5c, 0x9f, 0x77,
4177
                0x5c, 0x65, 0x38, 0x2e, 0x38, 0xae, 0x42, 0x1c, 0x97, 0x2a, 0x4e, 0x20, 0xc2, 0x0b, 0xa4, 0xb8,
4178
                0x81, 0x08, 0x3f, 0x90, 0xe1, 0x08, 0x4a, 0xb3, 0xa4, 0x37, 0x4f, 0x6a, 0x33, 0xcd, 0xcd, 0x5c,
4179
                0x73, 0x33, 0xdb, 0x5c, 0xcc, 0x57, 0xcf, 0x8c, 0x35, 0xcd, 0x99, 0x0e, 0x8f, 0xe4, 0x80, 0x4b,
4180
                0x28, 0xf1, 0xc9, 0x22, 0x9c, 0xf2, 0xe2, 0xbf, 0x49, 0x46, 0x29, 0xf9, 0x97, 0x3e, 0x92, 0xd1,
4181
                0x5f, 0x5c, 0x9d, 0x1e, 0x51, 0x8f, 0xcc, 0x7b, 0xe8, 0x08, 0x3a, 0x5f, 0x3b, 0x92, 0x07, 0x67,
4182
                0x0b, 0x67, 0x0b, 0x67, 0xbb, 0x56, 0xce, 0x56, 0xbb, 0x90, 0xfb, 0xa5, 0x75, 0x92, 0x1c, 0xe0,
4183
                0x24, 0x29, 0xec, 0x1e, 0xff, 0x87, 0x46, 0xff, 0x0d, 0xea, 0x42, 0xef, 0x44, 0x28, 0x71, 0xc1,
4184
                0x77, 0x22, 0x37, 0xaf, 0xd2, 0xe2, 0x89, 0x0e, 0x51, 0x97, 0x18, 0x13, 0x99, 0xc9, 0xec, 0x92,
4185
                0x11, 0x16, 0x84, 0xcf, 0x2d, 0x59, 0x7e, 0x85, 0xe1, 0xdb, 0xb0, 0x8a, 0x7b, 0xeb, 0x21, 0xa5,
4186
                0xb5, 0x59, 0xe7, 0xbf, 0x55, 0x37, 0x0a, 0xd4, 0x0a, 0x0f, 0xe7, 0x93, 0x5b, 0xaf, 0xd6, 0x60,
4187
                0xbd, 0x28, 0x89, 0x7a, 0xf1, 0x73, 0x2a, 0x12, 0x36, 0xd7, 0xb3, 0x46, 0xf4, 0xad, 0xf4, 0x16,
4188
                0xa8, 0x6a, 0xe2, 0x00, 0xc7, 0xe8, 0xb5, 0x67, 0x5f, 0x53, 0xc1, 0xa9, 0x15, 0xdb, 0x54, 0x4a,
4189
                0x1c, 0xcf, 0x95, 0x62, 0x5e, 0xb2, 0x9f, 0xe2, 0x4f, 0xbf, 0xff, 0x25, 0xfa, 0x96, 0xf1, 0x0f,
4190
                0xe6, 0x66, 0xb4, 0x23, 0xc8, 0xa5, 0xd2, 0x39, 0xeb, 0x3a, 0xe0, 0x6e, 0x63, 0xdc, 0x6d, 0x9c,
4191
                0x03, 0x97, 0xdc, 0xe4, 0x22, 0x93, 0x7b, 0xdb, 0xf9, 0x1e, 0x9f, 0x11, 0xa3, 0xb9, 0x56, 0x61,
4192
                0xb1, 0x38, 0x34, 0x68, 0xcd, 0x2f, 0xe5, 0x82, 0xf2, 0x93, 0x95, 0x34, 0x68, 0x55, 0xcf, 0x37,
4193
                0xeb, 0xe4, 0x97, 0xe7, 0xf3, 0xc9, 0x2f, 0x42, 0x9d, 0x5c, 0x59, 0xa5, 0x02, 0x1a, 0x90, 0xf0,
4194
                0xe7, 0x8e, 0xdf, 0xf5, 0x03, 0x75, 0x57, 0x32, 0x1c, 0x0e, 0xd7, 0x01, 0xd7, 0xb1, 0x65, 0xae,
4195
                0x03, 0x97, 0xb3, 0xac, 0x2a, 0xdb, 0x89, 0xcb, 0x59, 0x56, 0x91, 0x9d, 0xc4, 0xe5, 0x2c, 0x6b,
4196
                0x71, 0x39, 0x8b, 0xc4, 0x69, 0xa4, 0x39, 0x97, 0x95, 0xf9, 0x54, 0x12, 0x02, 0x31, 0x02, 0x31,
4197
                0x02, 0x31, 0x02, 0x31, 0x02, 0x31, 0x02, 0xf1, 0x4e, 0x05, 0xe2, 0xcd, 0xcf, 0x92, 0xaf, 0x5f,
4198
                0x77, 0x90, 0xa5, 0xa8, 0x03, 0xad, 0x41, 0x72, 0x55, 0x09, 0xc5, 0x46, 0x21, 0xd3, 0xbb, 0x53,
4199
                0x9b, 0xd4, 0x2a, 0xe4, 0x65, 0xe7, 0x0e, 0x82, 0xae, 0x21, 0x12, 0xfd, 0x42, 0xd0, 0x29, 0x64,
4200
                0xf3, 0x3a, 0x85, 0xc8, 0xf7, 0x08, 0x41, 0x77, 0x10, 0x74, 0x07, 0x19, 0xf3, 0x71, 0xa9, 0x93,
4201
                0x29, 0x4a, 0x27, 0x50, 0xd0, 0x23, 0xc4, 0xc0, 0x06, 0xb1, 0x26, 0x6b, 0x5e, 0x7d, 0x8f, 0x90,
4202
                0xec, 0xe7, 0x21, 0x68, 0x2a, 0x37, 0x3c, 0x2e, 0x58, 0xd0, 0xb6, 0x1d, 0x66, 0x45, 0xaf, 0xab,
4203
                0x60, 0xa0, 0xd3, 0xc3, 0xb7, 0xa3, 0x5d, 0x88, 0xd7, 0xde, 0x49, 0x3b, 0xf5, 0xda, 0x1b, 0x53,
4204
                0xc7, 0xa1, 0x76, 0xbc, 0x58, 0xeb, 0x58, 0xb1, 0x76, 0x9b, 0x90, 0xf2, 0x6a, 0x72, 0xbc, 0x5e,
4205
                0x1b, 0x29, 0x5e, 0x4d, 0x65, 0x2f, 0x26, 0xc3, 0xab, 0xd1, 0x24, 0x64, 0xe4, 0x82, 0x29, 0x1a,
4206
                0x85, 0x8c, 0x45, 0xa1, 0x59, 0x88, 0xb2, 0xf1, 0x50, 0x19, 0x11, 0xb9, 0x31, 0x91, 0x1b, 0x15,
4207
                0xa5, 0x71, 0x69, 0xe6, 0x46, 0xd1, 0x2a, 0x64, 0x16, 0x50, 0x1e, 0xc4, 0xcb, 0x70, 0x9a, 0x18,
4208
                0x74, 0xf8, 0xf2, 0x17, 0xa3, 0x9f, 0xe3, 0x5c, 0xd6, 0x3a, 0x37, 0x12, 0x19, 0xdc, 0x13, 0xfa,
4209
                0xb7, 0x19, 0x69, 0x70, 0x71, 0x70, 0x71, 0x70, 0x71, 0x5b, 0xec, 0xe2, 0xbe, 0x4d, 0x5c, 0xdc,
4210
                0xff, 0x73, 0x06, 0x41, 0xc0, 0xb8, 0x78, 0xb3, 0x7f, 0xf0, 0xee, 0xdd, 0x41, 0xf2, 0x89, 0xd6,
4211
                0x68, 0xc8, 0xb4, 0x5f, 0x08, 0x17, 0xfc, 0x2e, 0x91, 0x5c, 0x64, 0xdb, 0xa5, 0x2d, 0x38, 0x2a,
4212
                0x34, 0x75, 0xc8, 0x6d, 0x26, 0x51, 0xa0, 0x72, 0xe4, 0x6d, 0x3b, 0xb7, 0x27, 0xd3, 0x66, 0x48,
4213
                0x26, 0x03, 0x91, 0xbe, 0x2b, 0x75, 0x57, 0x1f, 0xcb, 0x6c, 0xb0, 0x76, 0xa1, 0x59, 0xa5, 0xbe,
4214
                0xe5, 0x71, 0xcb, 0xeb, 0x2b, 0x24, 0x94, 0xc6, 0x23, 0xd1, 0x7a, 0x16, 0x49, 0x5f, 0x64, 0x93,
4215
                0xd6, 0x2c, 0x9b, 0x84, 0x8a, 0x41, 0x02, 0x75, 0x5f, 0xf3, 0x7c, 0x92, 0x1b, 0x0a, 0x19, 0xcf,
4216
                0x9d, 0xaa, 0x2e, 0x23, 0x39, 0xa0, 0x59, 0xe8, 0xde, 0x58, 0xb0, 0x61, 0x6d, 0x3a, 0xd1, 0xf2,
4217
                0xfa, 0x96, 0xed, 0xba, 0x01, 0x0b, 0x43, 0x0a, 0xae, 0xf5, 0x41, 0x43, 0xc6, 0xe8, 0x9d, 0x56,
4218
                0x7e, 0x7d, 0xec, 0x64, 0x66, 0x7e, 0x54, 0x08, 0xe6, 0x66, 0x6e, 0x8e, 0xde, 0xd3, 0x74, 0xbf,
4219
                0x13, 0x2c, 0xe0, 0x64, 0x4d, 0x99, 0xcc, 0x37, 0xdf, 0x0e, 0xad, 0x0f, 0xad, 0xdf, 0xdf, 0x4a,
4220
                0xd6, 0x87, 0xd6, 0xf0, 0x9f, 0xa5, 0xf8, 0xff, 0x7e, 0x95, 0x9f, 0x7f, 0x97, 0xbf, 0x1d, 0x5a,
4221
                0x95, 0xd1, 0x6f, 0xcb, 0xc7, 0xdf, 0x0e, 0xad, 0xe3, 0xd6, 0xfe, 0x9b, 0xdb, 0xdb, 0x77, 0xb2,
4222
                0x63, 0xf6, 0x7f, 0x1d, 0x3d, 0xeb, 0xb7, 0xfc, 0x6a, 0x51, 0x4c, 0xdf, 0xd5, 0x4d, 0xfd, 0x1f,
4223
                0xf2, 0x39, 0xfc, 0xdf, 0x9b, 0xa2, 0x66, 0x71, 0xff, 0xff, 0xcc, 0x55, 0xf7, 0xe1, 0x79, 0xbb,
4224
                0x46, 0x66, 0x5a, 0xdd, 0x1d, 0x33, 0x8d, 0xb5, 0xc5, 0xb6, 0xda, 0x67, 0xd6, 0x1f, 0xad, 0x5f,
4225
                0xa5, 0xb7, 0x95, 0xe7, 0xd3, 0xfd, 0x5f, 0x27, 0xcf, 0x2f, 0x7f, 0xf9, 0x7b, 0xd1, 0xc7, 0x4a,
4226
                0x6f, 0x4f, 0x9e, 0x4f, 0x53, 0xfe, 0x52, 0x7d, 0x3e, 0xcd, 0x28, 0xe3, 0xf8, 0xf9, 0xcd, 0xdc,
4227
                0x47, 0xa3, 0xdf, 0x97, 0xd3, 0x06, 0x54, 0x52, 0x06, 0x1c, 0xa5, 0x0d, 0x38, 0x4a, 0x19, 0x90,
4228
                0xfa, 0x48, 0xe5, 0x94, 0x01, 0xc7, 0xcf, 0xbf, 0xe7, 0x3e, 0xff, 0x66, 0xf1, 0x47, 0xab, 0xcf,
4229
                0xfb, 0xbf, 0xd3, 0xfe, 0x76, 0xf2, 0xfc, 0xfb, 0x74, 0x7f, 0x7f, 0x07, 0x1c, 0x17, 0xd4, 0xaa,
4230
                0x78, 0xb5, 0x5a, 0xbd, 0x23, 0xdf, 0xca, 0x9b, 0xc0, 0xc3, 0xc0, 0x21, 0xe1, 0x95, 0x23, 0x39,
4231
                0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95,
4232
                0xe0, 0x95, 0x20, 0x00, 0xe0, 0x95, 0xe0, 0x95, 0xe0, 0x95, 0x9b, 0xcc, 0x2b, 0xb7, 0xac, 0xe8,
4233
                0x69, 0x54, 0xcc, 0x82, 0x7a, 0xa7, 0x57, 0x26, 0x87, 0xaa, 0xd4, 0xa9, 0x5f, 0xe7, 0xf5, 0x3e,
4234
                0x9a, 0x1e, 0xa3, 0xe9, 0x71, 0x0e, 0xe9, 0x84, 0x4d, 0x2e, 0x6f, 0x72, 0x99, 0x63, 0xf7, 0xc3,
4235
                0x41, 0xd7, 0x16, 0xcc, 0xea, 0x30, 0xdb, 0x65, 0x1a, 0x6d, 0x4a, 0x17, 0xc8, 0x42, 0xab, 0xb4,
4236
                0xfc, 0xf2, 0x6b, 0x28, 0x7c, 0x5a, 0x49, 0xab, 0x34, 0xc6, 0xc7, 0x5a, 0xee, 0xf9, 0x7c, 0xa4,
4237
                0xe7, 0x96, 0x88, 0xc4, 0x6a, 0x34, 0x40, 0xae, 0x28, 0x8c, 0xad, 0xf1, 0x41, 0x4f, 0x5d, 0x79,
4238
                0x9a, 0xfe, 0x8d, 0x08, 0x3c, 0xfe, 0xa0, 0x97, 0x3c, 0x3c, 0x8c, 0x66, 0xe4, 0x4b, 0xa3, 0xa6,
4239
                0x93, 0x32, 0x2c, 0x45, 0x32, 0xea, 0xd7, 0x7f, 0xe9, 0xdc, 0xa2, 0x65, 0x96, 0x47, 0x42, 0xaa,
4240
                0x3a, 0x42, 0x8e, 0x22, 0x21, 0x17, 0xd7, 0xe7, 0x37, 0x3a, 0x42, 0x2a, 0x91, 0x90, 0xbf, 0xfe,
4241
                0x39, 0x3f, 0xbb, 0x34, 0x8b, 0xcd, 0x04, 0xfb, 0x75, 0xae, 0x77, 0xe5, 0x60, 0xbc, 0x90, 0x5a,
4242
                0x9d, 0xd0, 0x86, 0xcb, 0xa8, 0x7c, 0xad, 0xf2, 0x58, 0x44, 0x55, 0xfd, 0x62, 0xe5, 0x58, 0x44,
4243
                0xbc, 0x84, 0xa7, 0xc6, 0x91, 0x86, 0x88, 0xe1, 0x02, 0x9e, 0x1a, 0x95, 0xf5, 0xe4, 0x36, 0xb9,
4244
                0xb4, 0x45, 0x9d, 0x78, 0x36, 0x7d, 0x2c, 0xb0, 0x40, 0x16, 0xb0, 0x00, 0xb0, 0x00, 0xb0, 0x00,
4245
                0xb0, 0x00, 0xb0, 0x00, 0xb0, 0x00, 0xb0, 0xc0, 0x9a, 0x63, 0x01, 0xb9, 0x96, 0x6c, 0x73, 0x8e,
4246
                0x51, 0xe9, 0x8e, 0x3f, 0x44, 0x7c, 0x44, 0x7c, 0x34, 0x4a, 0x5f, 0x30, 0x14, 0x8d, 0xd2, 0xd1,
4247
                0x28, 0x3d, 0xd3, 0x14, 0xa3, 0x51, 0x7a, 0x0e, 0xa3, 0xd6, 0xe2, 0xc6, 0x92, 0x49, 0x71, 0x9e,
4248
                0x7a, 0x4c, 0x56, 0x2d, 0xf0, 0x43, 0x60, 0x46, 0x60, 0x5e, 0xfb, 0xc0, 0xac, 0x55, 0xbe, 0xaa,
4249
                0x53, 0xb6, 0xaa, 0x57, 0xae, 0x4a, 0x52, 0xb8, 0x4b, 0x52, 0x9e, 0x4a, 0x51, 0xef, 0x46, 0x56,
4250
                0xe7, 0xb6, 0x01, 0x65, 0xa8, 0x2d, 0x9d, 0x69, 0xa2, 0xac, 0xde, 0xda, 0x90, 0x72, 0xd3, 0x56,
4251
                0x91, 0x19, 0x10, 0x1a, 0xb3, 0xaa, 0x6e, 0x9f, 0x59, 0xa1, 0xbe, 0x6f, 0xe3, 0xca, 0x46, 0xd7,
4252
                0xce, 0xd1, 0x40, 0x7d, 0x36, 0xaa, 0x3c, 0xb4, 0xb5, 0x43, 0x3c, 0xa9, 0x67, 0x3b, 0xfa, 0x44,
4253
                0x69, 0x5a, 0x08, 0x98, 0x12, 0x98, 0xd2, 0x96, 0x31, 0x25, 0x75, 0xf5, 0xd6, 0xc5, 0x33, 0xda,
4254
                0x38, 0xc6, 0x9c, 0x76, 0x90, 0x2f, 0xfd, 0x6e, 0xf9, 0x79, 0xff, 0xd7, 0xb1, 0x02, 0xa0, 0x6f,
4255
                0xa9, 0xbc, 0x08, 0x45, 0x5c, 0x35, 0xff, 0xb7, 0xfc, 0x75, 0x14, 0xfc, 0xfe, 0x3a, 0xf8, 0x61,
4256
                0xce, 0xc4, 0xa3, 0x1f, 0x7c, 0xb7, 0x3c, 0x1e, 0x0a, 0x9b, 0x3b, 0x1a, 0x0d, 0xf4, 0xe6, 0x24,
4257
                0xed, 0x80, 0x47, 0x7e, 0x80, 0x3f, 0x5e, 0xe0, 0x8f, 0x1f, 0xb6, 0xd2, 0x1b, 0x87, 0xc3, 0xca,
4258
                0x0b, 0x1d, 0x47, 0xbc, 0x06, 0xf6, 0xde, 0xf7, 0xfb, 0x96, 0xf0, 0xfb, 0x56, 0xd7, 0xbe, 0x67,
4259
                0x5d, 0x75, 0x63, 0x9f, 0x15, 0x23, 0xdb, 0xd3, 0x90, 0xb5, 0xed, 0x41, 0x57, 0x28, 0xb9, 0x63,
4260
                0x33, 0xde, 0x8a, 0x90, 0xd3, 0xae, 0x16, 0xb0, 0x21, 0xb0, 0xe1, 0x96, 0x79, 0xa3, 0x7b, 0xdf,
4261
                0xef, 0x32, 0x9b, 0xeb, 0xb8, 0xa3, 0xd2, 0x3a, 0xb8, 0xa3, 0x41, 0xd8, 0x61, 0xae, 0xd5, 0xeb,
4262
                0x77, 0xc3, 0xa1, 0x2f, 0xb1, 0x42, 0x61, 0x3b, 0xdf, 0x35, 0x1c, 0x53, 0x8a, 0x40, 0xb8, 0x00,
4263
                0xb8, 0x80, 0x6d, 0xa3, 0x87, 0x89, 0x8e, 0xef, 0xda, 0x46, 0xda, 0xc0, 0xe3, 0xe2, 0xa8, 0x4c,
4264
                0x90, 0xeb, 0xd7, 0xb9, 0xc0, 0x42, 0xaf, 0xd6, 0x47, 0x7f, 0x36, 0x92, 0x07, 0xa1, 0xa8, 0xfd,
4265
                0x49, 0x84, 0x25, 0x05, 0x2a, 0xd5, 0xb7, 0x34, 0x02, 0xa9, 0xcb, 0x52, 0x26, 0xca, 0x40, 0x55,
4266
                0x9e, 0xa2, 0x68, 0xc1, 0x8b, 0xd7, 0x82, 0xa0, 0x48, 0x68, 0x7e, 0x2d, 0x0e, 0x2b, 0xef, 0x8f,
4267
                0x4f, 0x8e, 0x77, 0x6f, 0x41, 0x36, 0xab, 0x4d, 0xc2, 0xca, 0x36, 0x40, 0x19, 0x1f, 0xf4, 0x58,
4268
                0x30, 0x3c, 0xec, 0x4f, 0xb0, 0xff, 0x59, 0xd1, 0x90, 0xa1, 0x75, 0xbc, 0x61, 0x12, 0x5f, 0x28,
4269
                0x8e, 0x39, 0x24, 0xd2, 0x0e, 0xc7, 0x47, 0x15, 0xee, 0x6a, 0xff, 0x5c, 0x9f, 0xd7, 0x3f, 0xd5,
4270
                0x9b, 0x77, 0x97, 0x5f, 0xcf, 0xcf, 0x29, 0x3a, 0x0f, 0xc5, 0xa7, 0x20, 0x1a, 0x57, 0x5f, 0x9b,
4271
                0xb5, 0xc6, 0xdd, 0xd9, 0x79, 0xad, 0xd1, 0xa4, 0x10, 0x9a, 0x9c, 0x8a, 0xa0, 0x7f, 0xde, 0xf8,
4272
                0xac, 0x44, 0xfd, 0x82, 0x58, 0xea, 0x49, 0x24, 0xb5, 0x76, 0xd9, 0x6c, 0x5c, 0x5d, 0xff, 0x7b,
4273
                0x77, 0x7e, 0xf6, 0xb1, 0x76, 0x7e, 0x57, 0xbf, 0xfc, 0x5c, 0xff, 0x74, 0xd6, 0xbc, 0x6a, 0x50,
4274
                0xc8, 0x7f, 0x1f, 0xc9, 0xbf, 0xbc, 0x1a, 0x8a, 0x36, 0x57, 0xd9, 0x04, 0x8b, 0xe0, 0xbc, 0xc6,
4275
                0xc4, 0x54, 0x52, 0x26, 0x4c, 0x0b, 0x95, 0x24, 0xd2, 0x67, 0x17, 0x59, 0xeb, 0x58, 0xc5, 0x44,
4276
                0xe6, 0xbc, 0x0d, 0x91, 0x44, 0x8f, 0x45, 0xca, 0xae, 0x75, 0x96, 0x64, 0xe2, 0x21, 0xc7, 0x4a,
4277
                0xa3, 0x54, 0xce, 0x3d, 0x0f, 0xf9, 0xa6, 0x2d, 0xfd, 0xd4, 0x28, 0xad, 0x28, 0x3e, 0xad, 0x69,
4278
                0x3d, 0xad, 0x24, 0x01, 0x3a, 0xf7, 0x42, 0x71, 0x26, 0x84, 0xe2, 0xf5, 0x26, 0x17, 0x1e, 0xaf,
4279
                0x75, 0x59, 0x44, 0xf1, 0x14, 0x21, 0x4c, 0x04, 0xd5, 0xa6, 0x24, 0xd0, 0x14, 0x64, 0x9b, 0x57,
4280
                0x81, 0xcb, 0x02, 0xe6, 0x7e, 0x7c, 0xd2, 0x6f, 0x90, 0x3b, 0x08, 0xa5, 0x8f, 0xe2, 0x52, 0x11,
4281
                0xfa, 0x97, 0xa4, 0xde, 0x1f, 0xbe, 0x95, 0x75, 0xff, 0xa4, 0x83, 0x2f, 0x28, 0x9b, 0xc1, 0xce,
4282
                0x10, 0xfc, 0x78, 0xa6, 0x76, 0xe8, 0xc8, 0x97, 0x18, 0x70, 0xce, 0xba, 0xd6, 0xb0, 0x83, 0xb2,
4283
                0x7e, 0x15, 0xc5, 0x62, 0x71, 0x48, 0x98, 0x21, 0x61, 0xb6, 0x65, 0x09, 0x33, 0x54, 0x9e, 0xa3,
4284
                0xf2, 0x1c, 0x95, 0xe7, 0xa8, 0x3c, 0xa7, 0x34, 0x2b, 0x54, 0x9e, 0xa3, 0x74, 0x18, 0x95, 0xe7,
4285
                0x73, 0x8e, 0x06, 0xea, 0x83, 0xca, 0x73, 0xfd, 0x8c, 0x42, 0x2e, 0xec, 0xe9, 0x07, 0xf7, 0x74,
4286
                0xab, 0x9f, 0x26, 0x22, 0xc0, 0x92, 0xc0, 0x92, 0xb6, 0x8c, 0x25, 0xb1, 0x1f, 0x9e, 0xe5, 0xb9,
4287
                0x1a, 0x0c, 0xe9, 0x64, 0x67, 0x1b, 0x67, 0x94, 0xd0, 0x38, 0x63, 0x71, 0xa2, 0x95, 0x70, 0x8a,
4288
                0xab, 0x27, 0x27, 0x27, 0x65, 0x34, 0xcb, 0x58, 0xdf, 0x50, 0x4c, 0xdb, 0xc6, 0x7e, 0xf0, 0x10,
4289
                0xf9, 0x5b, 0xe6, 0x4a, 0xf9, 0x06, 0xc5, 0xb0, 0x9e, 0xda, 0xe3, 0x5e, 0xa6, 0xd7, 0x7b, 0x22,
4290
                0xf5, 0x33, 0x0b, 0x9d, 0xc0, 0xeb, 0x8f, 0x5a, 0xf0, 0x9b, 0x67, 0xae, 0x6b, 0xbc, 0x3c, 0x22,
4291
                0x61, 0x04, 0xac, 0xcd, 0x02, 0xc6, 0x1d, 0x16, 0x1a, 0xc2, 0x37, 0xc6, 0xdf, 0xf7, 0x4e, 0x11,
4292
                0x56, 0x94, 0x70, 0x74, 0x62, 0xd3, 0x41, 0xc5, 0x3a, 0x1e, 0x9d, 0x90, 0x6d, 0x55, 0x9f, 0x0c,
4293
                0xd4, 0x3e, 0x5b, 0x34, 0xa7, 0x34, 0x9a, 0x67, 0x8c, 0xd2, 0x6c, 0xb3, 0xd9, 0x61, 0x63, 0xdb,
4294
                0x34, 0x12, 0xdb, 0x7c, 0xf4, 0x44, 0xc7, 0xe3, 0xc6, 0x63, 0xc7, 0x73, 0x3a, 0x86, 0x58, 0xf4,
4295
                0x09, 0x2f, 0xb6, 0xda, 0xfb, 0xc8, 0x8c, 0x43, 0xbf, 0xfb, 0x83, 0xb9, 0xef, 0x70, 0x9d, 0xa5,
4296
                0xb2, 0x61, 0x53, 0x19, 0x38, 0xb9, 0xa1, 0x93, 0x1b, 0x3c, 0xa1, 0xe1, 0x6b, 0x82, 0x86, 0x95,
4297
                0x5f, 0x65, 0xa9, 0x7c, 0xa6, 0x6a, 0x3e, 0x75, 0xba, 0xe9, 0xfb, 0xbf, 0x7b, 0x84, 0x79, 0xbe,
4298
                0xe2, 0x6e, 0xff, 0x91, 0xb8, 0x11, 0x29, 0xc3, 0x6d, 0x3d, 0x7b, 0x1a, 0xda, 0x1a, 0xd9, 0x7b,
4299
                0xd6, 0x86, 0xa6, 0x72, 0xb5, 0x27, 0xf2, 0xb5, 0x26, 0x24, 0xb5, 0x25, 0x33, 0xb5, 0x24, 0x7c,
4300
                0xd0, 0xed, 0x6a, 0xcd, 0x8e, 0xa4, 0x46, 0x48, 0x6b, 0x82, 0x99, 0xe9, 0xa6, 0xa5, 0xb4, 0x6b,
4301
                0x9f, 0x5e, 0xd7, 0xa0, 0x74, 0xbd, 0x58, 0xfc, 0x97, 0x94, 0xb9, 0xc8, 0x3a, 0x07, 0x59, 0xdf,
4302
                0x7d, 0xf1, 0x43, 0xcf, 0x3f, 0xd2, 0x82, 0xc7, 0x31, 0xfb, 0x7e, 0xd7, 0x73, 0x9e, 0xac, 0xb6,
4303
                0x1f, 0x3c, 0xda, 0x81, 0xfb, 0x5a, 0xa9, 0xeb, 0xd4, 0x91, 0xcb, 0x97, 0x43, 0x52, 0x5e, 0xf3,
4304
                0x75, 0x36, 0xb0, 0x14, 0x2c, 0x64, 0x01, 0x03, 0xd9, 0x93, 0x83, 0x59, 0xc3, 0xb9, 0x74, 0xb8,
4305
                0x96, 0x0e, 0xc7, 0x52, 0xc9, 0x3b, 0x39, 0xc5, 0x5a, 0x86, 0x90, 0xe7, 0xd7, 0xce, 0x62, 0x5c,
4306
                0x04, 0xcb, 0x8b, 0xc4, 0xd2, 0x17, 0x7f, 0x24, 0x60, 0x99, 0x4f, 0xcc, 0x44, 0x0c, 0x33, 0xe3,
4307
                0x47, 0x19, 0x9c, 0x28, 0x9f, 0x3f, 0x96, 0x45, 0x7e, 0xca, 0x08, 0x4f, 0x19, 0xc9, 0x29, 0xe5,
4308
                0x7f, 0xf5, 0xa2, 0x5a, 0x56, 0xf2, 0x25, 0xd9, 0x07, 0x5c, 0xa9, 0xff, 0xb7, 0x24, 0x4d, 0x91,
4309
                0xa6, 0x25, 0xb8, 0xc6, 0x4e, 0x81, 0x38, 0xac, 0xf6, 0x1a, 0x3b, 0x69, 0x2a, 0x90, 0xac, 0x57,
4310
                0x97, 0xd9, 0xed, 0x80, 0xb5, 0x65, 0x16, 0x6c, 0xec, 0xcd, 0x24, 0x36, 0x18, 0xcc, 0xeb, 0x51,
4311
                0x14, 0x7f, 0xf7, 0x6e, 0x88, 0x55, 0x0f, 0x86, 0x0a, 0x8f, 0xfb, 0x25, 0x71, 0xbf, 0xe4, 0x56,
4312
                0x1b, 0xa6, 0xf4, 0xfd, 0x92, 0x31, 0x9e, 0xb0, 0x7a, 0x4c, 0xd8, 0xae, 0x2d, 0x6c, 0x9d, 0xfb,
4313
                0xa4, 0x66, 0xe4, 0x60, 0x83, 0x7c, 0x67, 0x73, 0xd9, 0x5b, 0xdb, 0x7a, 0xc3, 0xe3, 0x76, 0xf0,
4314
                0xa4, 0xb1, 0x41, 0xae, 0x52, 0x41, 0x7c, 0xce, 0xf8, 0x43, 0x1c, 0xc9, 0x70, 0xb5, 0x04, 0x76,
4315
                0xc8, 0x5f, 0x9d, 0xe2, 0xf7, 0xd8, 0x1a, 0xd7, 0x1c, 0xd5, 0xc2, 0xb5, 0x4e, 0x08, 0xbe, 0x08,
4316
                0xbe, 0x6b, 0x19, 0x7c, 0x71, 0xad, 0x13, 0x62, 0xef, 0xfa, 0xc6, 0x5e, 0x5c, 0xeb, 0xb4, 0xad,
4317
                0xe1, 0xb8, 0x6f, 0xb9, 0xa1, 0xd3, 0xd7, 0xba, 0xd3, 0x29, 0x16, 0x80, 0x90, 0x8c, 0x90, 0xbc,
4318
                0x65, 0x21, 0x59, 0x41, 0xaf, 0xa7, 0x75, 0xfb, 0x18, 0x01, 0x19, 0x01, 0x39, 0xaf, 0x80, 0x5c,
4319
                0x3d, 0x42, 0xf8, 0xdd, 0x8e, 0xf0, 0xdb, 0x57, 0x8b, 0x4c, 0xd3, 0x01, 0x58, 0x6d, 0x53, 0x00,
4320
                0x21, 0x18, 0x21, 0x78, 0x03, 0x3a, 0x5b, 0x28, 0xcf, 0xf6, 0xe6, 0x37, 0xb6, 0xd0, 0x2e, 0xef,
4321
                0xdd, 0xcd, 0xbe, 0x16, 0x07, 0xc9, 0xa0, 0xf2, 0xe8, 0xaf, 0x47, 0xdf, 0x0e, 0xad, 0x72, 0x6b,
4322
                0x1f, 0x0d, 0x2f, 0x48, 0xa6, 0x71, 0xe7, 0x3a, 0x61, 0x6c, 0x9b, 0x1d, 0xa2, 0x93, 0xc1, 0x8a,
4323
                0x3a, 0x19, 0x1c, 0xbc, 0x29, 0x45, 0xd6, 0xf6, 0x7e, 0x68, 0x7e, 0xa5, 0xd6, 0x9c, 0x55, 0xc6,
4324
                0xff, 0x8b, 0x7e, 0x19, 0xd0, 0xb2, 0x02, 0xb4, 0x0c, 0x6d, 0x35, 0xb2, 0x53, 0x34, 0x5f, 0xf8,
4325
                0x8e, 0xdf, 0xd5, 0x24, 0x69, 0x23, 0x21, 0xa0, 0x69, 0xa0, 0x69, 0xdb, 0x48, 0xd3, 0x86, 0xea,
4326
                0x6d, 0x89, 0x48, 0xda, 0x0e, 0xde, 0xdb, 0xf1, 0x9e, 0x00, 0x1f, 0x1e, 0xe3, 0xda, 0x8e, 0x7c,
4327
                0x52, 0xca, 0xb9, 0xa5, 0x3d, 0xe9, 0xd3, 0x9f, 0x04, 0xa9, 0x66, 0xd2, 0x94, 0xf3, 0xdc, 0x52,
4328
                0x94, 0x8f, 0x2b, 0xb8, 0xb1, 0xa3, 0xa0, 0xd1, 0x1b, 0x47, 0x97, 0x5d, 0xc6, 0x85, 0x27, 0x9e,
4329
                0xe4, 0x0e, 0x40, 0xa4, 0xc6, 0x02, 0x1d, 0x7f, 0x58, 0x1f, 0x3d, 0xca, 0x47, 0x3b, 0x24, 0x38,
4330
                0x74, 0x3f, 0x7e, 0xc1, 0xfa, 0xf5, 0xdd, 0x75, 0xe3, 0xaa, 0x79, 0xf5, 0xe9, 0x4a, 0xf7, 0x86,
4331
                0x89, 0xa1, 0x3d, 0x85, 0xda, 0x1e, 0x9b, 0xc6, 0x6b, 0xbf, 0x7c, 0xc9, 0xb3, 0xaf, 0xcd, 0x3f,
4332
                0xcd, 0x75, 0xf0, 0x61, 0xf4, 0xaf, 0xf6, 0xa5, 0x51, 0xdb, 0xd2, 0x37, 0xab, 0x7f, 0xba, 0xb8,
4333
                0xde, 0xd6, 0x57, 0xfb, 0xb2, 0xbd, 0xaf, 0x76, 0x79, 0x57, 0xdf, 0xd6, 0x77, 0x3b, 0x2f, 0x37,
4334
                0xb7, 0xf5, 0xd5, 0xae, 0xeb, 0x17, 0x5b, 0xfa, 0x66, 0x8d, 0x9b, 0xbf, 0xb6, 0x75, 0xd1, 0x9a,
4335
                0x9f, 0xb6, 0xf5, 0xcd, 0xbe, 0x7e, 0xa6, 0x78, 0x33, 0x2d, 0x09, 0x2d, 0x94, 0x7c, 0x64, 0x58,
4336
                0xb3, 0x6e, 0xc5, 0x72, 0x43, 0x61, 0xf5, 0xfd, 0x40, 0xa8, 0xe7, 0x13, 0xa7, 0x85, 0x20, 0x9f,
4337
                0xf8, 0x8a, 0x04, 0xe4, 0x13, 0xf5, 0x2d, 0xa7, 0xf8, 0x7c, 0x62, 0xa4, 0xd7, 0x16, 0x1f, 0xf4,
4338
                0xee, 0x95, 0x6e, 0x8a, 0x1a, 0xab, 0x78, 0x15, 0x05, 0x98, 0x6b, 0x92, 0x98, 0xd9, 0xc6, 0x02,
4339
                0xcc, 0xe3, 0xe3, 0x23, 0x1c, 0x81, 0xd8, 0x92, 0x80, 0x1c, 0x06, 0x8e, 0x7e, 0x40, 0x4e, 0x84,
4340
                0x20, 0x20, 0x23, 0x20, 0x23, 0x20, 0x23, 0x20, 0x23, 0x20, 0x23, 0x20, 0x23, 0x20, 0xcb, 0x07,
4341
                0xe4, 0x9e, 0xed, 0xe8, 0x5f, 0xfe, 0x39, 0x2d, 0x04, 0x01, 0x19, 0x01, 0x79, 0xcb, 0x02, 0xb2,
4342
                0xba, 0x7a, 0x1b, 0x9a, 0xf5, 0xc8, 0xda, 0x75, 0xc8, 0xe6, 0x74, 0xe5, 0xe2, 0xcb, 0x82, 0xc8,
4343
                0xf2, 0xf3, 0xfe, 0xaf, 0x63, 0x85, 0x9b, 0x29, 0x5b, 0x2a, 0x2f, 0x42, 0x51, 0xf0, 0x6a, 0xfe,
4344
                0x6f, 0xf9, 0xeb, 0x28, 0x54, 0x5a, 0xae, 0x85, 0x1f, 0xee, 0x77, 0x43, 0xdd, 0x1b, 0xc5, 0xa6,
4345
                0x64, 0xc0, 0x0b, 0xc3, 0x0b, 0x6f, 0x9b, 0x17, 0x56, 0xd5, 0x6e, 0x63, 0x1b, 0x2a, 0x1e, 0x8f,
4346
                0xca, 0x04, 0x35, 0x3e, 0x27, 0x28, 0x79, 0x4c, 0x21, 0x34, 0xa5, 0x2a, 0x6a, 0x1e, 0x57, 0x44,
4347
                0x2a, 0xe7, 0xd7, 0xe2, 0xb0, 0xf2, 0xfe, 0xf8, 0xe4, 0x18, 0x75, 0x8f, 0x05, 0x8d, 0xde, 0xb4,
4348
                0xba, 0x47, 0xc6, 0x07, 0x3d, 0x16, 0x0c, 0xaf, 0x60, 0x20, 0xa8, 0x7b, 0xd4, 0x28, 0xb0, 0x35,
4349
                0x6b, 0x7c, 0xd0, 0xd3, 0xcf, 0xaa, 0x34, 0xfd, 0x9b, 0xe1, 0x15, 0x36, 0x14, 0xa6, 0x64, 0x1e,
4350
                0x0e, 0x8b, 0x14, 0xfe, 0xaa, 0xdc, 0xd5, 0xfe, 0xb9, 0x3e, 0xaf, 0x7f, 0xaa, 0x37, 0xef, 0x2e,
4351
                0xbf, 0x9e, 0xeb, 0x56, 0x50, 0xc6, 0xa2, 0x4b, 0x91, 0xe8, 0xc6, 0xd5, 0xd7, 0x66, 0xad, 0x71,
4352
                0x77, 0x76, 0x5e, 0x6b, 0x34, 0x29, 0x84, 0x96, 0x47, 0xcf, 0x5b, 0xa5, 0x7f, 0xde, 0xa3, 0x58,
4353
                0xf4, 0x05, 0xb1, 0xd4, 0x93, 0x48, 0x6a, 0xed, 0xb2, 0xd9, 0xb8, 0xba, 0xfe, 0xf7, 0xee, 0xfc,
4354
                0xec, 0x63, 0xed, 0xfc, 0xae, 0x7e, 0xf9, 0xb9, 0xfe, 0xe9, 0xac, 0x79, 0xd5, 0xa0, 0x90, 0xff,
4355
                0x3e, 0x92, 0x7f, 0x79, 0x35, 0x14, 0xad, 0x57, 0x67, 0xa2, 0xe9, 0xe3, 0xcd, 0xa6, 0x5f, 0xe7,
4356
                0x82, 0x46, 0x2d, 0xd3, 0x26, 0x4c, 0x0b, 0x95, 0x24, 0xd2, 0x67, 0x17, 0xf9, 0xd4, 0x38, 0xa2,
4357
                0x90, 0x39, 0x6f, 0x43, 0x24, 0xd1, 0x63, 0x91, 0xb2, 0x67, 0xee, 0xa2, 0xfe, 0xba, 0x87, 0x1c,
4358
                0x2b, 0x8d, 0x76, 0x03, 0xd7, 0x21, 0xe4, 0x9b, 0xb6, 0xf4, 0x53, 0xa3, 0xb4, 0xa2, 0xf8, 0xb4,
4359
                0x53, 0xe9, 0xd8, 0x88, 0xe4, 0x08, 0x47, 0x33, 0x07, 0x20, 0x1c, 0x24, 0x00, 0x90, 0x00, 0xd8,
4360
                0xca, 0x04, 0x80, 0xb4, 0x6a, 0x1b, 0xe8, 0x12, 0x87, 0x3d, 0xd1, 0x1c, 0xe9, 0x6b, 0x32, 0xc5,
4361
                0x27, 0xd8, 0x0f, 0x2d, 0x36, 0x00, 0x4b, 0x3a, 0x20, 0xf6, 0x53, 0x04, 0xb6, 0x35, 0xe0, 0xa1,
4362
                0xb0, 0xef, 0xbb, 0x8a, 0xae, 0x28, 0xb9, 0x6a, 0x7b, 0x95, 0xe9, 0xc0, 0xc6, 0x1f, 0x9f, 0x8e,
4363
                0x2b, 0xd5, 0xf2, 0xa9, 0x71, 0x31, 0xe8, 0x0a, 0x6f, 0x7c, 0x16, 0xdc, 0x38, 0xb7, 0xef, 0x59,
4364
                0xd7, 0xb8, 0x79, 0xf4, 0x84, 0xd3, 0xf1, 0xf8, 0x83, 0xf1, 0xe6, 0xe2, 0xfa, 0xfc, 0x66, 0x7f,
4365
                0xfc, 0x6b, 0x61, 0x3b, 0xdf, 0x6f, 0x79, 0x8d, 0x8b, 0xe0, 0xe9, 0xd4, 0xf8, 0x4f, 0xed, 0x9f,
4366
                0xeb, 0xff, 0x18, 0x7f, 0x78, 0xac, 0xeb, 0x1a, 0x0d, 0xc6, 0xed, 0x1e, 0x73, 0x0d, 0xe1, 0x1b,
4367
                0xff, 0x69, 0x06, 0x76, 0xbb, 0xed, 0x39, 0xc6, 0xa7, 0xae, 0x1d, 0x86, 0xa3, 0x0f, 0xac, 0xd9,
4368
                0x2d, 0xbc, 0x93, 0x15, 0x58, 0xe7, 0x8b, 0x78, 0x0b, 0x5e, 0x22, 0x40, 0xeb, 0x0c, 0xeb, 0x33,
4369
                0xbe, 0x72, 0xd3, 0x7a, 0x08, 0xfc, 0x81, 0x46, 0x13, 0xe6, 0x17, 0x72, 0x76, 0x00, 0x68, 0xe3,
4370
                0x96, 0xfd, 0x45, 0x36, 0xfe, 0x80, 0xab, 0x11, 0x16, 0x69, 0x36, 0xae, 0x46, 0x00, 0xc6, 0xce,
4371
                0x0d, 0x63, 0xe3, 0x6a, 0x84, 0x9d, 0x08, 0xce, 0x16, 0x67, 0xe2, 0xd1, 0x0f, 0xbe, 0x5b, 0x5e,
4372
                0x84, 0xd6, 0xb9, 0xca, 0x35, 0x8e, 0x8b, 0xa3, 0xf5, 0xbc, 0x60, 0x84, 0x6f, 0x84, 0xef, 0x2d,
4373
                0x0a, 0xdf, 0xe1, 0x70, 0x23, 0x51, 0xa7, 0x4a, 0x31, 0x2f, 0x6f, 0x40, 0x7a, 0x33, 0xe9, 0xd9,
4374
                0xe0, 0x21, 0x5a, 0x48, 0xe6, 0x4a, 0xa1, 0x06, 0x45, 0x1f, 0x32, 0xbc, 0xb2, 0x7f, 0xee, 0xf6,
4375
                0xf4, 0x83, 0x94, 0xfb, 0xd4, 0x0f, 0x64, 0x6e, 0xdd, 0x4d, 0xbe, 0xec, 0x33, 0x0b, 0x9d, 0xc0,
4376
                0xeb, 0xc7, 0xbb, 0xda, 0xa7, 0x86, 0x79, 0xe6, 0xba, 0x86, 0xe8, 0x30, 0xe3, 0xf2, 0xcf, 0x2f,
4377
                0x46, 0xc2, 0x79, 0x0d, 0xf6, 0x53, 0x30, 0x1e, 0x7a, 0x3e, 0x0f, 0x23, 0x32, 0x38, 0xf7, 0xfd,
4378
                0xef, 0x14, 0xdd, 0x59, 0x09, 0xee, 0x0c, 0xee, 0x8c, 0xde, 0x9d, 0xc9, 0x5e, 0x1f, 0x4c, 0x45,
4379
                0xd5, 0x69, 0x29, 0x7b, 0x9a, 0x85, 0x0e, 0x7b, 0x5e, 0xb5, 0x3d, 0x16, 0x18, 0x6d, 0x3f, 0x88,
4380
                0x8d, 0x75, 0xf6, 0x7b, 0x0c, 0xd1, 0xb1, 0x85, 0xe1, 0xc5, 0xa6, 0x7a, 0xcf, 0x8c, 0x41, 0xc8,
4381
                0xdc, 0xf1, 0x27, 0x6f, 0x79, 0xec, 0x29, 0xde, 0x19, 0x75, 0x6e, 0x3c, 0x34, 0xea, 0x1f, 0xeb,
4382
                0x6f, 0x0d, 0xd1, 0xf1, 0x42, 0xe3, 0x47, 0x84, 0x73, 0xa3, 0x21, 0xec, 0x67, 0x3f, 0x60, 0x61,
4383
                0x34, 0xc2, 0x0e, 0x0d, 0xdb, 0xf0, 0xb8, 0x60, 0x0f, 0x2c, 0x18, 0xfe, 0xfd, 0x96, 0xbb, 0x5e,
4384
                0xc0, 0x1c, 0xd1, 0x7d, 0x7a, 0x67, 0x34, 0x3b, 0xcc, 0x78, 0xf4, 0x5c, 0x16, 0x18, 0x7e, 0x9f,
4385
                0x71, 0x27, 0xb6, 0xcb, 0x39, 0x90, 0x63, 0xf4, 0x7c, 0x97, 0x75, 0x13, 0x99, 0xe1, 0x2d, 0x8f,
4386
                0x1e, 0x36, 0x60, 0xdd, 0xb8, 0x86, 0x26, 0xec, 0x78, 0xfd, 0xf8, 0x19, 0x7d, 0xd1, 0x61, 0x81,
4387
                0x31, 0x1a, 0x6c, 0x8c, 0x07, 0x87, 0xd1, 0x13, 0xf4, 0xed, 0x40, 0x18, 0x7e, 0xfb, 0x96, 0x0b,
4388
                0xd6, 0x65, 0x3d, 0x16, 0x3d, 0xba, 0xea, 0x2c, 0xaa, 0x21, 0x28, 0x6d, 0xd7, 0x43, 0xe1, 0x82,
4389
                0xa8, 0x5c, 0x51, 0x9e, 0xf9, 0x51, 0xed, 0xf6, 0xe9, 0xf9, 0x27, 0x47, 0xd5, 0x5c, 0x95, 0x26,
4390
                0x2b, 0x52, 0xd4, 0x16, 0x65, 0x44, 0x46, 0x97, 0x58, 0x21, 0x48, 0xb0, 0x10, 0x25, 0x5a, 0xf4,
4391
                0x13, 0x2e, 0xa4, 0x89, 0x17, 0xea, 0x04, 0x4c, 0x6e, 0x29, 0x01, 0xfa, 0xd4, 0x00, 0x41, 0x62,
4392
                0x86, 0x34, 0x41, 0x53, 0x40, 0xa2, 0x66, 0x13, 0x57, 0x67, 0xb3, 0x0a, 0x7a, 0xf7, 0x0a, 0xd0,
4393
                0x3e, 0xf2, 0x44, 0x4f, 0xce, 0x09, 0x1f, 0x29, 0xf0, 0xf7, 0x02, 0x75, 0x3d, 0x7a, 0xa2, 0xe3,
4394
                0x71, 0xe3, 0xb1, 0xe3, 0x39, 0x9d, 0x05, 0xf0, 0xf0, 0x96, 0x27, 0xd0, 0x30, 0x60, 0xa1, 0xdf,
4395
                0xfd, 0xc1, 0xdc, 0x09, 0x1e, 0x1c, 0xc2, 0xc1, 0xe8, 0x03, 0x1d, 0x66, 0x0c, 0x49, 0xbd, 0xc1,
4396
                0xed, 0x1e, 0x33, 0xfc, 0xf6, 0xf4, 0x97, 0xdd, 0xf2, 0xf1, 0xb7, 0xbd, 0x35, 0x02, 0x3b, 0xc6,
4397
                0x6f, 0xa2, 0x63, 0x73, 0xc3, 0x9e, 0xe2, 0x8c, 0x76, 0x2c, 0x27, 0x46, 0x9f, 0x1e, 0x37, 0x00,
4398
                0xe0, 0x00, 0xe0, 0x00, 0xe0, 0x0a, 0x4d, 0xad, 0x69, 0xa6, 0xd8, 0x34, 0xfc, 0xf3, 0x4a, 0x53,
4399
                0x79, 0xad, 0xac, 0xa9, 0x3c, 0xce, 0x7d, 0x61, 0x8f, 0x1c, 0x6b, 0xf6, 0x75, 0x32, 0x43, 0xa7,
4400
                0xc3, 0x7a, 0x76, 0xdf, 0x16, 0x9d, 0x38, 0x47, 0xf7, 0x10, 0x78, 0xf7, 0x9e, 0x65, 0xb7, 0x85,
4401
                0x5a, 0xb6, 0x6e, 0x8f, 0xe6, 0xc5, 0x5f, 0xff, 0xc4, 0x12, 0x25, 0x8e, 0xdc, 0x40, 0xdc, 0xd8,
4402
                0x9b, 0xbb, 0x6c, 0x99, 0x07, 0x30, 0xcf, 0xbd, 0x50, 0x9c, 0x09, 0x91, 0x2d, 0xc3, 0x12, 0xe1,
4403
                0xed, 0x5a, 0xe4, 0xf8, 0x79, 0x56, 0xc4, 0x14, 0xc1, 0xc2, 0xa9, 0x11, 0x6a, 0x78, 0xce, 0xbc,
4404
                0x0a, 0x5c, 0x16, 0x30, 0xf7, 0x63, 0xf4, 0x5a, 0x7c, 0xd0, 0xed, 0x6a, 0xcd, 0x8e, 0xa4, 0xa2,
4405
                0x50, 0x29, 0x48, 0x06, 0x8b, 0x8f, 0x7c, 0xc3, 0xc0, 0x11, 0x7c, 0xe4, 0x29, 0xce, 0xda, 0x22,
4406
                0xbc, 0xbb, 0x8e, 0xa5, 0xfd, 0x91, 0x08, 0x8b, 0xeb, 0x7a, 0x5e, 0x57, 0xb3, 0x74, 0xe5, 0x59,
4407
                0xfc, 0x97, 0x94, 0x09, 0xcb, 0x3a, 0x51, 0xb2, 0x13, 0xb4, 0xf8, 0xe1, 0xe7, 0x1f, 0x6d, 0xf6,
4408
                0x37, 0x2f, 0x1e, 0x72, 0xd9, 0xc3, 0xbd, 0xfe, 0x50, 0x0b, 0xd6, 0x62, 0xc1, 0xdc, 0xcf, 0x3e,
4409
                0xe8, 0xe4, 0x71, 0xa6, 0x1e, 0xc5, 0xf4, 0xb8, 0x60, 0x41, 0xdb, 0x76, 0xd8, 0x7c, 0xdb, 0x93,
4410
                0x49, 0x83, 0xfd, 0xc9, 0x67, 0x5e, 0xbc, 0xc4, 0xe2, 0xbc, 0x79, 0x2a, 0xb6, 0x79, 0x0d, 0xb3,
4411
                0x4c, 0x97, 0xb3, 0x7b, 0x8b, 0x1a, 0xf9, 0x2f, 0x03, 0x19, 0x99, 0xc1, 0x43, 0x66, 0x50, 0xf0,
4412
                0xb2, 0x9a, 0xdc, 0x6b, 0x9b, 0x92, 0x8b, 0x9c, 0x96, 0xf9, 0x9d, 0x4c, 0x69, 0xfa, 0xeb, 0xcc,
4413
                0xcd, 0x7e, 0xda, 0xeb, 0xbc, 0xbe, 0x79, 0xb1, 0x14, 0x68, 0x66, 0x01, 0x92, 0x4b, 0x17, 0x47,
4414
                0x16, 0x09, 0x4a, 0x23, 0x3d, 0x69, 0x24, 0x97, 0x65, 0xf1, 0xd4, 0xdc, 0xca, 0xb2, 0x74, 0xbe,
4415
                0xe9, 0x8c, 0x67, 0x7c, 0xc9, 0x1c, 0x8c, 0x27, 0x75, 0xf4, 0xf9, 0x65, 0x41, 0x31, 0xd3, 0x1e,
4416
                0x55, 0x66, 0x5e, 0x21, 0xc3, 0x1f, 0x32, 0x2f, 0xbf, 0x2a, 0x21, 0x50, 0x06, 0xfe, 0xca, 0x00,
4417
                0x5f, 0x46, 0x3d, 0x68, 0x40, 0x4d, 0xd6, 0x5d, 0x20, 0xd3, 0x9d, 0xa1, 0xd8, 0x19, 0x27, 0x70,
4418
                0xbc, 0x42, 0xd3, 0x83, 0x33, 0xce, 0x84, 0x1c, 0x91, 0x95, 0x26, 0xae, 0x2a, 0x44, 0x55, 0x5a,
4419
                0xe1, 0x74, 0x99, 0xa8, 0x36, 0xf3, 0xd4, 0x66, 0x9a, 0x2a, 0x0a, 0x29, 0x47, 0x44, 0xb2, 0xd6,
4420
                0x14, 0x48, 0x53, 0x45, 0x75, 0x6a, 0x28, 0x49, 0x05, 0xb3, 0xbe, 0x81, 0xc6, 0x11, 0x07, 0x8d,
4421
                0xa3, 0x0d, 0x1a, 0x7b, 0xf9, 0x8d, 0x3f, 0x3e, 0x19, 0xe5, 0xf7, 0xd5, 0xa3, 0xd3, 0x78, 0x23,
4422
                0xb3, 0x9e, 0xe0, 0x2d, 0xe3, 0x4b, 0xbc, 0x81, 0x7a, 0x51, 0xff, 0x68, 0x58, 0x86, 0xd7, 0x3e,
4423
                0xeb, 0x7a, 0x76, 0xb8, 0xe2, 0x3d, 0x7f, 0xdd, 0x83, 0x07, 0xf9, 0x6c, 0xfb, 0x4b, 0x4d, 0xe0,
4424
                0xda, 0x24, 0x10, 0x5a, 0x54, 0x6c, 0x3b, 0x43, 0x44, 0x66, 0x3c, 0xb2, 0x05, 0x57, 0x3e, 0xa2,
4425
                0x8c, 0x07, 0x66, 0xb4, 0xbd, 0xcf, 0xac, 0x6d, 0x0f, 0xba, 0x42, 0xca, 0x7a, 0xcc, 0x48, 0x0b,
4426
                0x4c, 0xd2, 0x6c, 0x0a, 0x82, 0x1a, 0x82, 0x1a, 0x4d, 0x50, 0xbb, 0xf7, 0xfd, 0x2e, 0xb3, 0xb9,
4427
                0x4a, 0x54, 0x2b, 0x21, 0xaa, 0x65, 0x71, 0xca, 0x6e, 0xcf, 0xe3, 0x37, 0xc2, 0x16, 0x03, 0xc4,
4428
                0x36, 0x9d, 0xd8, 0x36, 0x35, 0x8d, 0x3b, 0x19, 0xe1, 0xba, 0xbe, 0xdf, 0xbf, 0xb7, 0x9d, 0xef,
4429
                0x56, 0xcf, 0x77, 0x99, 0x7c, 0x9c, 0x9b, 0x1d, 0x9e, 0x67, 0xb4, 0x8b, 0x77, 0xd5, 0x11, 0xee,
4430
                0x10, 0xee, 0x76, 0x33, 0xdc, 0x91, 0x18, 0x7b, 0x4f, 0x0c, 0xe4, 0x4d, 0x3c, 0x1a, 0x04, 0x83,
4431
                0x82, 0x41, 0x15, 0x6a, 0x50, 0x03, 0x8f, 0x8b, 0x52, 0x55, 0xc1, 0x9e, 0x24, 0x5a, 0x71, 0x2a,
4432
                0x16, 0x34, 0x2a, 0x60, 0x3b, 0x9d, 0x82, 0x45, 0xdd, 0x02, 0x45, 0xb2, 0x92, 0x37, 0xfd, 0x12,
4433
                0x37, 0x95, 0x92, 0x2f, 0x9d, 0x02, 0x43, 0x8a, 0x1b, 0x27, 0xd6, 0x69, 0xfa, 0xb6, 0x00, 0x6e,
4434
                0x8e, 0x76, 0x5a, 0x25, 0x43, 0x50, 0x3c, 0x0a, 0x31, 0x08, 0x31, 0xa8, 0xd0, 0x18, 0x94, 0x7b,
4435
                0x62, 0x9e, 0xc4, 0xa2, 0x84, 0xcc, 0xfb, 0x25, 0xef, 0x16, 0x8f, 0x82, 0x45, 0xc1, 0xa2, 0x14,
4436
                0x2c, 0xea, 0xc2, 0xe6, 0xae, 0x2d, 0xfc, 0xe0, 0x29, 0xfb, 0xe1, 0x4f, 0x0d, 0x2b, 0xf4, 0xe2,
4437
                0x62, 0x69, 0xf1, 0x14, 0xb0, 0xb6, 0x8a, 0x29, 0x4a, 0x84, 0xfd, 0x51, 0x5d, 0xb6, 0x78, 0xfa,
4438
                0x68, 0x87, 0x1a, 0x4d, 0x03, 0x92, 0xd2, 0x13, 0x2b, 0x36, 0xb2, 0x15, 0x2d, 0xd2, 0xb6, 0xe6,
4439
                0x3d, 0x9b, 0xd9, 0x1d, 0x17, 0x12, 0x9e, 0x69, 0xf3, 0xb7, 0x7d, 0xd0, 0x53, 0xab, 0xc8, 0xa4,
4440
                0xf6, 0x33, 0x06, 0xf6, 0xcb, 0x55, 0x5d, 0xbe, 0x2e, 0xc7, 0x77, 0x2c, 0xf6, 0x53, 0x9c, 0x26,
4441
                0x07, 0x27, 0x2c, 0x9f, 0x5b, 0x4e, 0x27, 0xe6, 0x9d, 0x4a, 0xb5, 0x3a, 0x31, 0x73, 0x50, 0x28,
4442
                0xd6, 0xd1, 0xad, 0xd3, 0x69, 0xe5, 0x5b, 0x5e, 0x3b, 0x75, 0xfe, 0x78, 0x52, 0x37, 0x79, 0xb0,
4443
                0xe8, 0x9f, 0x07, 0xa3, 0xba, 0x2f, 0xd5, 0x5a, 0xd8, 0x57, 0xaa, 0xf0, 0x3a, 0x7e, 0xd7, 0xb5,
4444
                0x84, 0x97, 0x81, 0xa0, 0x24, 0x4e, 0x6b, 0x32, 0x04, 0x75, 0x68, 0xa8, 0x43, 0x93, 0x28, 0x63,
4445
                0x9c, 0x5b, 0x9c, 0x4c, 0xe5, 0x8c, 0x92, 0xea, 0x04, 0x48, 0xbe, 0x2b, 0x90, 0x5c, 0xb6, 0x59,
4446
                0x86, 0xe9, 0xfa, 0x8f, 0x5c, 0x1d, 0xe2, 0xc6, 0xa3, 0xa5, 0x5b, 0xd4, 0xc8, 0x6f, 0xfa, 0x25,
4447
                0x83, 0x0f, 0xe5, 0x20, 0x4b, 0x6b, 0x37, 0x1a, 0xd8, 0x4b, 0x99, 0x59, 0x1e, 0x48, 0x78, 0x3d,
4448
                0xfb, 0xd7, 0xcb, 0x98, 0xa1, 0x22, 0xc0, 0x5d, 0x49, 0x67, 0x4d, 0xa5, 0x5b, 0xdc, 0x34, 0x6e,
4449
                0x6f, 0x43, 0x67, 0x4d, 0x03, 0x9d, 0x35, 0x33, 0x4d, 0x71, 0xa5, 0xfc, 0xa1, 0xf2, 0xa1, 0x7a,
4450
                0x52, 0xfe, 0x80, 0x7e, 0x9a, 0xba, 0xa3, 0xd6, 0xa1, 0x9f, 0xa6, 0x4e, 0x83, 0x6b, 0xf9, 0xa6,
4451
                0xd6, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0xc5,
4452
                0x03, 0x03, 0xd2, 0x44, 0x44, 0xe6, 0x54, 0xba, 0x9a, 0x33, 0x20, 0x4d, 0xad, 0xa7, 0xc4, 0x1b,
4453
                0x89, 0x14, 0xfb, 0xc2, 0x40, 0x63, 0x6e, 0x76, 0x2b, 0x14, 0x89, 0x54, 0x7c, 0x92, 0xfd, 0xce,
4454
                0x94, 0x94, 0xcf, 0xfe, 0xd6, 0xcf, 0x99, 0x9a, 0x66, 0xd8, 0x42, 0xa1, 0xee, 0x41, 0xa6, 0xbb,
4455
                0xb2, 0x72, 0x96, 0xb5, 0x8c, 0x2c, 0x2b, 0xb2, 0xac, 0xc8, 0xb2, 0x82, 0x4c, 0x81, 0x4c, 0x81,
4456
                0x4c, 0x81, 0x4c, 0x81, 0x4c, 0x81, 0x4c, 0x6d, 0x36, 0x99, 0x92, 0x05, 0x2c, 0x6a, 0x48, 0x3c,
4457
                0x19, 0xff, 0xf4, 0xe0, 0x0b, 0xcb, 0x77, 0x2c, 0xc7, 0xef, 0x8d, 0x1a, 0xf9, 0x5b, 0x5d, 0x66,
4458
                0xb7, 0x23, 0x61, 0xcf, 0x48, 0x0f, 0x03, 0xd1, 0x00, 0xd1, 0x00, 0xd1, 0x00, 0xd1, 0x00, 0xd1,
4459
                0x00, 0xd1, 0x00, 0xd1, 0x00, 0xd1, 0x14, 0x92, 0xfa, 0x59, 0x65, 0x72, 0x75, 0x8d, 0x7a, 0x4c,
4460
                0x17, 0x57, 0xe6, 0x9d, 0xb5, 0xb2, 0xda, 0x98, 0xef, 0xe2, 0x9b, 0x9c, 0x7d, 0xb8, 0xfb, 0xd3,
4461
                0xef, 0xba, 0xcd, 0x48, 0x46, 0x0e, 0xd5, 0xe2, 0x99, 0x4e, 0xb2, 0xca, 0x9c, 0x60, 0xcd, 0x88,
4462
                0x26, 0x51, 0x23, 0xbe, 0xae, 0x35, 0xe2, 0x99, 0xd1, 0xda, 0xa4, 0x7b, 0x0e, 0xb3, 0xdb, 0xd9,
4463
                0xce, 0xb5, 0x25, 0x7b, 0x11, 0x19, 0xf0, 0x98, 0x79, 0x3d, 0xb2, 0xb7, 0x77, 0xef, 0x86, 0xbe,
4464
                0xe3, 0x20, 0xd6, 0xbe, 0x1c, 0x6c, 0x20, 0xdb, 0x26, 0x8c, 0xd4, 0xe6, 0x8b, 0xf4, 0x49, 0x89,
4465
                0x32, 0xac, 0x60, 0xad, 0xac, 0x20, 0xf3, 0x49, 0x09, 0xdb, 0xed, 0x79, 0xdc, 0x0a, 0x87, 0xbd,
4466
                0xb7, 0xa4, 0x37, 0xf2, 0x66, 0x46, 0xe3, 0x20, 0x73, 0x71, 0x34, 0x1c, 0x07, 0x99, 0x15, 0x0f,
4467
                0x32, 0x33, 0x3e, 0xe8, 0xb1, 0xc0, 0x96, 0x68, 0x32, 0x3d, 0xe3, 0x0f, 0x2b, 0x12, 0x63, 0x6a,
4468
                0x7c, 0xd0, 0x93, 0xd7, 0x8c, 0xa6, 0x7f, 0x33, 0xec, 0x78, 0xa0, 0x04, 0xf1, 0x0f, 0xa3, 0x77,
4469
                0xfc, 0x7a, 0xad, 0x92, 0x6a, 0x28, 0x45, 0x43, 0x3f, 0x5f, 0xfd, 0x7d, 0xa9, 0x32, 0xb8, 0x1c,
4470
                0x0d, 0x6e, 0xd6, 0x6e, 0x9a, 0xf5, 0xcb, 0x2f, 0x66, 0xbe, 0xd9, 0x18, 0xbf, 0x1e, 0x2b, 0xad,
4471
                0xc2, 0xe4, 0xc4, 0x2f, 0x27, 0x7d, 0x55, 0xf2, 0xf0, 0x5b, 0x47, 0xaf, 0x96, 0xb9, 0xac, 0x60,
4472
                0x66, 0xf4, 0xd7, 0xeb, 0xc8, 0x7f, 0xa1, 0x74, 0x68, 0xeb, 0x4a, 0x87, 0xde, 0x16, 0x37, 0x4d,
4473
                0x7e, 0x7f, 0xe4, 0xb6, 0xec, 0xee, 0x6e, 0x56, 0x56, 0xa1, 0x87, 0x2c, 0x25, 0x02, 0x59, 0xa4,
4474
                0x69, 0xe8, 0x21, 0x4b, 0xfd, 0xe9, 0x22, 0x9b, 0x7a, 0x39, 0xfe, 0x20, 0x9a, 0x9b, 0x50, 0xe5,
4475
                0xd4, 0xf3, 0x68, 0x24, 0xce, 0x3d, 0x03, 0xc1, 0x2b, 0x60, 0x06, 0xe9, 0x8a, 0x3c, 0xc7, 0x0e,
4476
                0x02, 0x8f, 0x05, 0x96, 0x08, 0x6c, 0x1e, 0x7a, 0xf1, 0x0d, 0xf6, 0xea, 0x9b, 0xd9, 0x8b, 0x84,
4477
                0x61, 0x07, 0xb9, 0x90, 0x80, 0x81, 0x1d, 0x64, 0x23, 0x1f, 0xba, 0x9a, 0xe6, 0xa2, 0x95, 0x6e,
4478
                0x9f, 0xd7, 0xb8, 0x75, 0x1e, 0x9b, 0xc8, 0x06, 0x36, 0x91, 0x33, 0x4d, 0x31, 0xfd, 0x6d, 0xf1,
4479
                0xd8, 0x4e, 0xce, 0x79, 0x3b, 0x59, 0x9a, 0xea, 0xeb, 0x99, 0x75, 0x2e, 0xd4, 0x9f, 0x8e, 0xe3,
4480
                0x6a, 0x72, 0x5d, 0xb5, 0x45, 0x6e, 0xe5, 0x52, 0x1a, 0xe8, 0x71, 0xeb, 0x3e, 0xf0, 0x6d, 0xd7,
4481
                0xb1, 0x43, 0x61, 0xf5, 0xbf, 0x8b, 0x50, 0xa7, 0x8d, 0xe2, 0x4b, 0x51, 0x80, 0x56, 0x80, 0x56,
4482
                0x80, 0x56, 0x80, 0x56, 0x80, 0x56, 0x80, 0x56, 0x80, 0x56, 0x29, 0xd3, 0xa1, 0x91, 0xab, 0x4e,
4483
                0x64, 0xa8, 0xe7, 0xac, 0x09, 0x7c, 0x84, 0x4c, 0x0e, 0xfb, 0x96, 0x4f, 0x06, 0x7a, 0xed, 0x3f,
4484
                0x3f, 0xd5, 0xf9, 0xc7, 0x31, 0x64, 0xb8, 0x96, 0x47, 0x0c, 0x94, 0x01, 0x75, 0x51, 0x60, 0xd5,
4485
                0x4d, 0x72, 0x93, 0xc7, 0xd8, 0x85, 0xb1, 0x96, 0x62, 0xde, 0xd1, 0x65, 0x29, 0x1b, 0x56, 0x76,
4486
                0xbd, 0xd0, 0xb1, 0x03, 0x57, 0x0f, 0x25, 0x27, 0x42, 0x80, 0x8f, 0x81, 0x8f, 0x81, 0x8f, 0x81,
4487
                0x8f, 0x81, 0x8f, 0x81, 0x8f, 0x81, 0x8f, 0x81, 0x8f, 0xe3, 0xe2, 0x84, 0x3a, 0xff, 0xac, 0x86,
4488
                0x0f, 0x80, 0x86, 0xd5, 0x66, 0x19, 0xd8, 0x37, 0x1b, 0xf6, 0x65, 0x41, 0xe0, 0x07, 0x7a, 0xc8,
4489
                0x77, 0x24, 0x02, 0xb8, 0x17, 0xb8, 0x17, 0xb8, 0x17, 0xb8, 0x17, 0xb8, 0x17, 0xb8, 0x17, 0xb8,
4490
                0x17, 0xb8, 0x77, 0x84, 0xc8, 0x6a, 0x2a, 0xe8, 0x00, 0xa8, 0x57, 0x65, 0x8e, 0x81, 0x79, 0xb3,
4491
                0x61, 0xde, 0xb6, 0x13, 0x52, 0xe0, 0xde, 0x29, 0x31, 0xc0, 0xbe, 0xc0, 0xbe, 0xc0, 0xbe, 0xc0,
4492
                0xbe, 0xc0, 0xbe, 0xc0, 0xbe, 0xbb, 0x83, 0x7d, 0xf3, 0x8a, 0xcf, 0xbd, 0x41, 0x57, 0x78, 0x34,
4493
                0xb5, 0x8b, 0x2f, 0x44, 0x21, 0x4e, 0x23, 0x4e, 0x23, 0x4e, 0x23, 0x4e, 0x23, 0x4e, 0x23, 0x4e,
4494
                0x23, 0x47, 0x85, 0x1c, 0xd5, 0xa2, 0x1a, 0xba, 0x8b, 0x31, 0x64, 0x40, 0xed, 0x62, 0x8e, 0x79,
4495
                0xab, 0x65, 0xf3, 0x0e, 0xac, 0x9c, 0x0d, 0x2b, 0xfb, 0x8e, 0x60, 0x9a, 0x18, 0x79, 0x24, 0x02,
4496
                0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x18, 0xd8, 0x38,
4497
                0xde, 0x5b, 0x8c, 0x80, 0xd9, 0x95, 0x0a, 0x3e, 0x00, 0x12, 0x56, 0x9b, 0x65, 0xe0, 0xde, 0x6c,
4498
                0xb8, 0x57, 0x3b, 0x33, 0x8c, 0x7c, 0x30, 0x30, 0x2f, 0x30, 0x2f, 0x30, 0x2f, 0x30, 0x2f, 0x30,
4499
                0x2f, 0x30, 0xef, 0x0e, 0x61, 0xde, 0xd2, 0x87, 0x53, 0xa3, 0xc1, 0x7a, 0xbe, 0x60, 0xc6, 0x25,
4500
                0x13, 0x8f, 0x7e, 0xf0, 0xdd, 0xb8, 0xf0, 0xb9, 0x27, 0xfc, 0xc0, 0xe3, 0x0f, 0xc6, 0x85, 0xcd,
4501
                0xed, 0x07, 0x16, 0x45, 0x09, 0xa3, 0xce, 0xdb, 0x7e, 0xd0, 0x8b, 0x5b, 0xee, 0xde, 0xf2, 0x8f,
4502
                0x76, 0xc8, 0x00, 0x81, 0x95, 0x21, 0xb0, 0xc6, 0xa4, 0x03, 0x11, 0x67, 0x43, 0xc4, 0x03, 0x4e,
4503
                0x54, 0x33, 0x31, 0x23, 0x08, 0x08, 0x19, 0x08, 0x19, 0x08, 0x19, 0x08, 0x19, 0x08, 0x19, 0x08,
4504
                0x19, 0x08, 0x79, 0x37, 0x10, 0x72, 0xa6, 0x7c, 0xe5, 0x57, 0x94, 0x48, 0x68, 0xa3, 0x62, 0xc9,
4505
                0x89, 0x06, 0x12, 0xce, 0x8a, 0x84, 0xbf, 0x73, 0xff, 0x91, 0x5b, 0xfd, 0xc0, 0x17, 0xbe, 0x2e,
4506
                0x16, 0x9e, 0x11, 0x05, 0x34, 0x0c, 0x34, 0x0c, 0x34, 0x0c, 0x34, 0x0c, 0x34, 0x0c, 0x34, 0x0c,
4507
                0x34, 0x0c, 0x34, 0x3c, 0x3a, 0x7f, 0xfd, 0x75, 0x88, 0x12, 0xae, 0x55, 0x40, 0x02, 0xf0, 0xb0,
4508
                0xc6, 0x54, 0x03, 0x11, 0x67, 0x98, 0xe7, 0xae, 0x1d, 0x0a, 0xcb, 0xe9, 0x32, 0x3b, 0x50, 0x87,
4509
                0xc2, 0x53, 0x32, 0x80, 0x81, 0x81, 0x81, 0xb7, 0x0a, 0x03, 0x0b, 0xaf, 0xc7, 0x84, 0xe7, 0x7c,
4510
                0x0f, 0x0b, 0x47, 0xc1, 0x5f, 0xf9, 0x10, 0x80, 0x98, 0xdc, 0xe6, 0x7e, 0xc8, 0x1c, 0x9f, 0x2b,
4511
                0xf5, 0x07, 0x04, 0x9a, 0x06, 0x9a, 0x06, 0x9a, 0xde, 0x52, 0x34, 0x8d, 0x4b, 0x9a, 0x96, 0xc6,
4512
                0xa5, 0xcd, 0xbc, 0xa4, 0xc9, 0x1f, 0x08, 0xb2, 0x5b, 0x9a, 0x16, 0xc8, 0x02, 0x4c, 0x03, 0x4c,
4513
                0x43, 0xaa, 0x12, 0xa9, 0x4a, 0x80, 0x2b, 0x80, 0x2b, 0x80, 0x2b, 0xa4, 0x2a, 0xe7, 0x8f, 0xdc,
4514
                0x5f, 0x0d, 0x04, 0xee, 0x69, 0x2a, 0x22, 0x71, 0xb9, 0x74, 0xe2, 0x91, 0xc6, 0xcc, 0x88, 0x97,
4515
                0xf5, 0x6f, 0x6a, 0x9a, 0x91, 0x02, 0x8c, 0x0c, 0x8c, 0x0c, 0x8c, 0x0c, 0x8c, 0x0c, 0x8c, 0x0c,
4516
                0x8c, 0x0c, 0x8c, 0x0c, 0x8c, 0x1c, 0xef, 0x31, 0x5f, 0x0d, 0x04, 0xee, 0x6a, 0xca, 0x19, 0x11,
4517
                0xbf, 0x98, 0x66, 0xe0, 0xdf, 0x8c, 0xf8, 0x57, 0xb7, 0x6b, 0xfd, 0x94, 0x0c, 0x60, 0x5f, 0x60,
4518
                0x5f, 0x60, 0x5f, 0x60, 0x5f, 0x60, 0x5f, 0x60, 0x5f, 0x60, 0x5f, 0x60, 0xdf, 0x31, 0x28, 0xc3,
4519
                0x7d, 0x4d, 0x05, 0x20, 0x5f, 0x5c, 0xd8, 0x24, 0x87, 0x7b, 0xa9, 0x6e, 0x84, 0x58, 0x20, 0x0b,
4520
                0x38, 0x18, 0x38, 0x18, 0x38, 0x18, 0x38, 0x18, 0x38, 0x18, 0x38, 0x18, 0x38, 0x18, 0x38, 0x78,
4521
                0xe1, 0x76, 0x3d, 0xee, 0x84, 0x28, 0x02, 0x1b, 0x2f, 0x9d, 0x78, 0xe0, 0xe5, 0x8c, 0x78, 0x59,
4522
                0xf7, 0x56, 0x88, 0x29, 0x19, 0xc0, 0xc7, 0xc0, 0xc7, 0xc0, 0xc7, 0xc0, 0xc7, 0xc0, 0xc7, 0xc0,
4523
                0xc7, 0xc0, 0xc7, 0xc0, 0xc7, 0xa3, 0xbe, 0x54, 0x57, 0x03, 0x81, 0x7b, 0x21, 0x72, 0x45, 0xc3,
4524
                0x2f, 0xa6, 0x19, 0xd8, 0x37, 0x23, 0xf6, 0xd5, 0xcf, 0x10, 0x23, 0x2f, 0x0c, 0xdc, 0x0b, 0xdc,
4525
                0x0b, 0xdc, 0x0b, 0xdc, 0x0b, 0xdc, 0x0b, 0xdc, 0xbb, 0x43, 0xb8, 0x17, 0x57, 0x43, 0xac, 0x00,
4526
                0x05, 0xe3, 0x6a, 0x88, 0xfc, 0x31, 0x31, 0xcd, 0xdd, 0x10, 0x73, 0x92, 0x80, 0x91, 0x81, 0x91,
4527
                0x81, 0x91, 0x81, 0x91, 0x81, 0x91, 0x81, 0x91, 0x81, 0x91, 0x77, 0x03, 0x23, 0x67, 0x4b, 0x5a,
4528
                0xe2, 0x76, 0x08, 0x7d, 0x60, 0x2c, 0x3b, 0xd3, 0xbb, 0x8b, 0x86, 0xf7, 0x08, 0xed, 0x56, 0xbe,
4529
                0xe1, 0x9e, 0x24, 0x9a, 0x9e, 0x6f, 0xb0, 0xe7, 0xf7, 0x59, 0x10, 0xd3, 0x1a, 0xbb, 0x2b, 0x0b,
4530
                0xa9, 0xb5, 0x1b, 0xea, 0x29, 0x36, 0xd2, 0xcb, 0x36, 0xe5, 0xad, 0x8c, 0x53, 0x7e, 0xc6, 0xb9,
4531
                0x2f, 0xe2, 0x19, 0x90, 0x32, 0x76, 0x33, 0x74, 0x3a, 0xac, 0x67, 0xf7, 0x6d, 0xd1, 0x89, 0x9e,
4532
                0xfe, 0xc0, 0xef, 0x33, 0xee, 0xc4, 0x64, 0xc1, 0xf2, 0x12, 0x9b, 0x39, 0x58, 0xf4, 0xcf, 0x83,
4533
                0x50, 0xd8, 0x82, 0x1d, 0x8c, 0xe0, 0x9e, 0x8c, 0x93, 0x32, 0x43, 0x11, 0x0c, 0x1c, 0xc1, 0x47,
4534
                0x3e, 0x31, 0xb1, 0xcd, 0xbb, 0x4f, 0x63, 0x59, 0x7b, 0x34, 0xf3, 0x97, 0x41, 0x5d, 0x4d, 0xa7,
4535
                0x3f, 0xc8, 0x3c, 0x61, 0x13, 0x8c, 0xdb, 0x1f, 0x64, 0x7c, 0x5f, 0x49, 0xc2, 0x26, 0x4d, 0xd4,
4536
                0x54, 0x08, 0x9a, 0x32, 0x31, 0x53, 0x8d, 0x26, 0xda, 0x44, 0x4c, 0x3b, 0x54, 0xe8, 0x10, 0x2f,
4537
                0x5a, 0xd7, 0x28, 0x4d, 0xb0, 0x92, 0xd5, 0xba, 0xf7, 0xfd, 0x2e, 0xb3, 0xb9, 0xcc, 0x7a, 0x8d,
4538
                0x94, 0xaf, 0x54, 0xda, 0x70, 0xef, 0xae, 0xdf, 0x3e, 0x75, 0x75, 0x5e, 0xfe, 0x2d, 0x82, 0xa0,
4539
                0x7e, 0x10, 0x24, 0x71, 0xf5, 0x2e, 0x0b, 0x9d, 0xc0, 0xeb, 0x4b, 0xc5, 0xc8, 0xc4, 0xfa, 0xa6,
4540
                0x07, 0xc3, 0xf5, 0xc3, 0xf5, 0x17, 0xea, 0xfa, 0x43, 0x11, 0x78, 0xfc, 0x41, 0xc5, 0xf3, 0xbf,
4541
                0x27, 0x7d, 0x03, 0x0d, 0x1e, 0xae, 0xc1, 0xbf, 0x35, 0x92, 0x91, 0x19, 0x59, 0xe0, 0x59, 0xd7,
4542
                0xb3, 0xc3, 0x15, 0x67, 0xa8, 0x75, 0x69, 0x75, 0x3e, 0x49, 0x6a, 0xa9, 0x09, 0xcc, 0x3b, 0x97,
4543
                0xbd, 0x47, 0xcb, 0x92, 0x9f, 0x73, 0xa6, 0x56, 0x4f, 0x0f, 0xbe, 0xb0, 0x7c, 0xc7, 0x72, 0xfc,
4544
                0x5e, 0x3f, 0x60, 0x61, 0xc8, 0x5c, 0xab, 0xcb, 0xec, 0x76, 0x24, 0xe4, 0xb9, 0x40, 0x86, 0xc3,
4545
                0x78, 0x64, 0xac, 0xae, 0x7c, 0xc8, 0x1b, 0x0f, 0xcc, 0x38, 0x4d, 0x9f, 0x59, 0xdb, 0x1e, 0x74,
4546
                0x85, 0x94, 0x79, 0x9b, 0x91, 0x9a, 0x9a, 0xa4, 0x44, 0x18, 0x51, 0x17, 0x51, 0x77, 0xcb, 0x08,
4547
                0xd7, 0xd6, 0x86, 0x5d, 0xb7, 0xe7, 0xf1, 0x1b, 0x61, 0x8b, 0x01, 0x82, 0xaf, 0x4e, 0xf0, 0x9d,
4548
                0x9a, 0x46, 0x84, 0xe0, 0x75, 0x0c, 0xc1, 0x5e, 0xdb, 0xe3, 0x2e, 0xfb, 0x29, 0x1f, 0x82, 0xc7,
4549
                0x03, 0x11, 0xfb, 0x10, 0xfb, 0x0a, 0x8d, 0x7d, 0x03, 0x8f, 0x8b, 0xa3, 0xb2, 0x42, 0xe8, 0x3b,
4550
                0x91, 0x18, 0xa2, 0x56, 0xb2, 0xa1, 0x10, 0x97, 0x74, 0x4a, 0x34, 0x74, 0x4b, 0x33, 0xc8, 0x8a,
4551
                0x03, 0xf4, 0x8b, 0x02, 0x14, 0x4a, 0x30, 0xb4, 0x4a, 0x2f, 0x92, 0xa9, 0xab, 0x94, 0x3f, 0x54,
4552
                0x3e, 0x54, 0x4f, 0xca, 0x1f, 0x8e, 0x37, 0x7f, 0x0e, 0x37, 0x22, 0x5e, 0x22, 0x45, 0x8f, 0x14,
4553
                0x3d, 0xd9, 0xf4, 0x90, 0xd2, 0xf3, 0x8d, 0xe5, 0x32, 0x86, 0x95, 0x8a, 0xc2, 0x41, 0x5e, 0x5e,
4554
                0x21, 0x2f, 0xaf, 0xcd, 0xdb, 0xa6, 0x79, 0x5f, 0x12, 0x32, 0x30, 0xbc, 0x07, 0xba, 0x33, 0xc2,
4555
                0x3e, 0x92, 0x84, 0x60, 0x7a, 0x30, 0x48, 0x01, 0x48, 0x41, 0xa1, 0xa4, 0x40, 0xed, 0x96, 0x67,
4556
                0x85, 0xa2, 0x6e, 0xdd, 0x5b, 0x9d, 0xc1, 0x2c, 0x76, 0x85, 0x59, 0xd0, 0x15, 0x73, 0x83, 0x63,
4557
                0x80, 0x63, 0x80, 0x63, 0xec, 0x40, 0x19, 0x50, 0xd7, 0x7f, 0xf0, 0x1c, 0xbb, 0xab, 0x80, 0xbd,
4558
                0x46, 0x03, 0x81, 0xbb, 0x80, 0xbb, 0x0a, 0xc5, 0x5d, 0xa8, 0xfc, 0x84, 0xcb, 0x87, 0xcb, 0xd7,
4559
                0x72, 0xf9, 0x7e, 0xff, 0xde, 0x76, 0xbe, 0x5b, 0x3d, 0xdf, 0x55, 0x21, 0xdd, 0x33, 0xc3, 0xf3,
4560
                0x2c, 0x87, 0x89, 0xa7, 0x1f, 0xf5, 0x30, 0x08, 0x43, 0x08, 0x43, 0xaf, 0xcd, 0xe5, 0x66, 0x57,
4561
                0x03, 0xf4, 0x92, 0x7e, 0x1c, 0xf2, 0xae, 0x68, 0x6a, 0x2c, 0xec, 0x1f, 0xf6, 0x0f, 0x18, 0x0a,
4562
                0x18, 0x0a, 0x18, 0xba, 0x29, 0x30, 0xb4, 0x27, 0x14, 0xce, 0x9a, 0x46, 0x83, 0xe0, 0xea, 0xe1,
4563
                0xea, 0x0b, 0x75, 0xf5, 0x03, 0x8f, 0x8b, 0x52, 0x55, 0xc1, 0xd3, 0x57, 0xb1, 0x49, 0xf3, 0x62,
4564
                0x3c, 0x36, 0x69, 0x8c, 0xea, 0xf1, 0xf1, 0x11, 0x76, 0x65, 0xd4, 0x63, 0xcb, 0x0e, 0x71, 0xa3,
4565
                0x51, 0x53, 0x08, 0xc9, 0x18, 0x19, 0x8f, 0x42, 0x90, 0x44, 0x90, 0x2c, 0x34, 0x48, 0xae, 0xcb,
4566
                0xa9, 0xdc, 0x0d, 0x37, 0xf9, 0x88, 0x34, 0x58, 0xe1, 0xf0, 0xf8, 0x8a, 0xb4, 0xe5, 0x4f, 0x0f,
4567
                0x86, 0x03, 0x80, 0x03, 0x50, 0x30, 0x9f, 0x0b, 0x9b, 0xbb, 0xb6, 0xf0, 0x83, 0xa7, 0xc8, 0x32,
4568
                0x73, 0x77, 0x1a, 0x8c, 0x0f, 0x7a, 0x23, 0x92, 0xac, 0xe2, 0x39, 0x2a, 0x12, 0x63, 0x6a, 0x7c,
4569
                0xd0, 0x93, 0xd7, 0x8c, 0xa6, 0x7f, 0x33, 0xf4, 0x6b, 0x4a, 0x5d, 0xf6, 0x4a, 0xd1, 0x3b, 0x7e,
4570
                0xbd, 0x56, 0xa9, 0x88, 0x2d, 0x47, 0x43, 0x3f, 0x5f, 0xfd, 0x7d, 0xa9, 0x32, 0xf8, 0x28, 0x1a,
4571
                0xdc, 0xac, 0xdd, 0x34, 0xeb, 0x97, 0x5f, 0x54, 0xc6, 0x57, 0xe2, 0xe7, 0xbe, 0xfc, 0xef, 0xa5,
4572
                0xe2, 0xf7, 0x1f, 0x0f, 0x1f, 0xbe, 0x71, 0x71, 0x76, 0xd9, 0x54, 0x19, 0x5f, 0x8d, 0xc6, 0x5f,
4573
                0x5e, 0x35, 0xef, 0xae, 0x1b, 0xb5, 0x9b, 0x9a, 0x9a, 0x8c, 0x93, 0x48, 0xc6, 0xf9, 0xd5, 0xdf,
4574
                0xb5, 0xc6, 0xdd, 0xf9, 0xd9, 0xbf, 0xb5, 0xc6, 0x5d, 0x3c, 0x99, 0xf9, 0xb6, 0x8b, 0xf5, 0xeb,
4575
                0x12, 0x59, 0xec, 0x99, 0xa1, 0xe3, 0xc9, 0x3a, 0x35, 0x14, 0xa8, 0xc1, 0x50, 0x4f, 0x4e, 0x8d,
4576
                0xb2, 0xc2, 0xd0, 0xb9, 0x19, 0x92, 0x3a, 0xb4, 0x34, 0x31, 0xe8, 0xa9, 0xc5, 0x92, 0xe2, 0xbd,
4577
                0x93, 0xc9, 0x1b, 0xa9, 0xeb, 0xa9, 0x71, 0xa4, 0x30, 0x7a, 0xac, 0xac, 0xa7, 0x46, 0x45, 0x65,
4578
                0xf4, 0x75, 0xe4, 0x4d, 0xd0, 0x4c, 0x10, 0xd9, 0x5e, 0x64, 0x7b, 0xe7, 0x19, 0xf9, 0x8e, 0x9f,
4579
                0xcb, 0xbf, 0xea, 0xb3, 0x00, 0xc7, 0xf2, 0x53, 0xd5, 0x4d, 0x7e, 0x16, 0x77, 0xf2, 0x9c, 0x8b,
4580
                0x90, 0xc1, 0xc8, 0x93, 0x33, 0x06, 0xd1, 0x28, 0x30, 0x39, 0x30, 0xb9, 0xb5, 0x67, 0x72, 0x9e,
4581
                0xcb, 0xb8, 0xf0, 0xc4, 0x53, 0xc0, 0xda, 0x2a, 0x4c, 0x4e, 0x02, 0xf5, 0x9a, 0xf5, 0xd1, 0x57,
4582
                0xc5, 0x37, 0xb6, 0x28, 0xdf, 0x3d, 0x92, 0xb4, 0xee, 0xb5, 0x62, 0x23, 0x5b, 0xd1, 0x22, 0x6d,
4583
                0x6b, 0xd0, 0x6c, 0x66, 0x77, 0x5c, 0x08, 0x97, 0x69, 0xf3, 0x87, 0x4d, 0x99, 0xc2, 0x33, 0xb4,
4584
                0x7b, 0x1a, 0x2f, 0x28, 0xfb, 0x62, 0xba, 0xdd, 0xc6, 0x5f, 0xd7, 0x8f, 0xf4, 0x57, 0x79, 0xe5,
4585
                0x35, 0xcc, 0x70, 0x70, 0x3f, 0xf9, 0xc2, 0xa5, 0x6f, 0x31, 0x49, 0xfe, 0xcf, 0x0c, 0x5b, 0x32,
4586
                0x4d, 0x63, 0x9f, 0xbf, 0xe4, 0x63, 0x59, 0x01, 0x8a, 0x0c, 0x30, 0x91, 0x06, 0x24, 0xb2, 0x0e,
4587
                0x49, 0x19, 0x80, 0x28, 0x7b, 0x1b, 0x15, 0xc0, 0xa1, 0xa7, 0xe6, 0x9f, 0xbd, 0x20, 0xa3, 0x7e,
4588
                0x4f, 0x69, 0x85, 0x3c, 0xf6, 0x9d, 0x19, 0x2d, 0x87, 0x81, 0x4b, 0xc0, 0xc0, 0xc0, 0xc0, 0x32,
4589
                0xaa, 0x9a, 0x0c, 0x70, 0xc6, 0x1a, 0xa1, 0x88, 0x2a, 0x47, 0xe3, 0xd5, 0xee, 0xb1, 0x2b, 0xe1,
4590
                0x1e, 0xbb, 0x02, 0xd4, 0x3b, 0x5f, 0x7c, 0xb7, 0x96, 0xf7, 0xd8, 0xc9, 0x9a, 0x41, 0x32, 0x50,
4591
                0xa5, 0x49, 0x7c, 0xaa, 0xc6, 0xc8, 0x37, 0x8d, 0xd7, 0xcc, 0x71, 0x90, 0x19, 0x0c, 0x85, 0xe1,
4592
                0x90, 0x19, 0x10, 0x95, 0x21, 0x91, 0x1b, 0x14, 0xb9, 0x61, 0x51, 0x1a, 0x98, 0x9a, 0xa1, 0x29,
4593
                0x1a, 0x9c, 0x7a, 0x3e, 0x25, 0x1d, 0x0d, 0xc9, 0x96, 0xd7, 0xa4, 0x06, 0x99, 0xf7, 0x85, 0xce,
4594
                0x00, 0xc1, 0x65, 0x75, 0x04, 0x09, 0x0f, 0xfd, 0x04, 0x88, 0x6e, 0x42, 0x44, 0xb5, 0xa9, 0x7e,
4595
                0x5e, 0x56, 0x9f, 0x47, 0xc6, 0x24, 0x77, 0x47, 0xa0, 0x93, 0x51, 0x51, 0x6c, 0xca, 0x4f, 0xe3,
4596
                0x3f, 0xf4, 0x47, 0xb7, 0x0a, 0xba, 0x52, 0x4f, 0xa5, 0x2c, 0x5a, 0xb6, 0xa7, 0x7e, 0xaa, 0x2d,
4597
                0xc9, 0xf5, 0xd8, 0x9f, 0x87, 0x39, 0x0a, 0x87, 0x8c, 0xe7, 0x84, 0x64, 0xef, 0xc1, 0x3f, 0xb7,
4598
                0x44, 0x00, 0x35, 0x00, 0x35, 0x00, 0x35, 0x12, 0xda, 0x22, 0x7f, 0x86, 0x32, 0x15, 0xd5, 0x94,
4599
                0x80, 0x6a, 0x56, 0x81, 0x6a, 0xb4, 0xee, 0x2c, 0x00, 0xb6, 0xa1, 0xc2, 0x36, 0x3a, 0x77, 0x1e,
4600
                0x00, 0xe1, 0x2c, 0x5f, 0x13, 0xb9, 0x0b, 0x0b, 0x52, 0xad, 0x4a, 0xe6, 0xfa, 0x82, 0x7c, 0xd0,
4601
                0xcd, 0x21, 0xa0, 0x0d, 0xa0, 0x0d, 0xa0, 0x4d, 0xfe, 0xd0, 0x46, 0xfa, 0xca, 0x88, 0x34, 0xdb,
4602
                0x39, 0xd1, 0x10, 0xa1, 0x76, 0xa6, 0x38, 0x07, 0x58, 0xa1, 0x73, 0xe6, 0x78, 0x4e, 0x98, 0xe6,
4603
                0x19, 0xe4, 0x39, 0x79, 0x54, 0x87, 0x6a, 0xe7, 0x75, 0x41, 0xf7, 0x90, 0x2d, 0x91, 0x5a, 0xcf,
4604
                0x2e, 0x85, 0xfd, 0x93, 0x7e, 0x29, 0x74, 0xaf, 0xb4, 0xd8, 0xe4, 0x35, 0xd9, 0x76, 0xb8, 0x94,
4605
                0xeb, 0xce, 0x94, 0xf4, 0x71, 0x06, 0x3d, 0xa7, 0x94, 0xcb, 0xf1, 0x86, 0x94, 0x38, 0xaa, 0x50,
4606
                0xc7, 0xbf, 0x30, 0x80, 0xe6, 0xbd, 0x99, 0xd8, 0x92, 0xdd, 0xdc, 0x57, 0x2b, 0xdf, 0x4a, 0xc6,
4607
                0x6b, 0x54, 0x3d, 0x4d, 0x57, 0x19, 0xcd, 0xfc, 0x74, 0x30, 0xda, 0x77, 0xcf, 0xeb, 0x08, 0x8f,
4608
                0x44, 0xd5, 0x86, 0x1a, 0x55, 0xd0, 0xa2, 0x08, 0x8a, 0x30, 0x1b, 0xf5, 0x03, 0xa8, 0x1f, 0xc8,
4609
                0x19, 0x16, 0x4f, 0x9a, 0x86, 0x32, 0xbb, 0x2d, 0x57, 0x1a, 0x3e, 0x97, 0xe1, 0x53, 0x39, 0x96,
4610
                0x78, 0x3d, 0xf2, 0x32, 0xef, 0xde, 0x0d, 0x4b, 0x26, 0x0f, 0x86, 0xe6, 0xb5, 0x06, 0x6e, 0x62,
4611
                0x58, 0xc1, 0xa9, 0xec, 0x26, 0x86, 0xc3, 0x0b, 0x2e, 0x33, 0x2a, 0xc3, 0x4d, 0xc0, 0x4d, 0xbc,
4612
                0x96, 0xa1, 0x52, 0x2d, 0x33, 0xb2, 0xdd, 0x9e, 0xc7, 0x65, 0xbb, 0x5e, 0xa4, 0xaa, 0xcc, 0x8c,
4613
                0x34, 0x24, 0xae, 0x90, 0xb8, 0xda, 0x81, 0xc4, 0x95, 0xc2, 0x61, 0xaf, 0x1c, 0x93, 0x5f, 0x6a,
4614
                0x6d, 0x3d, 0x52, 0xe3, 0x55, 0x45, 0x43, 0x86, 0x52, 0xdb, 0x8f, 0xf9, 0xa9, 0xd1, 0x69, 0x03,
4615
                0x32, 0x27, 0xed, 0x50, 0xb9, 0x2d, 0xc8, 0x9c, 0xa8, 0x92, 0x46, 0x9b, 0x90, 0x39, 0x61, 0xe5,
4616
                0xe9, 0xb6, 0x21, 0x7b, 0x2b, 0x4c, 0x54, 0x69, 0x74, 0xd2, 0x98, 0x0f, 0x4a, 0xc3, 0xb6, 0x10,
4617
                0x25, 0x82, 0xf9, 0x99, 0xb4, 0xa8, 0x28, 0x13, 0x48, 0x8b, 0x9b, 0x4e, 0x1c, 0xae, 0x28, 0x7b,
4618
                0x54, 0xac, 0x77, 0x52, 0xce, 0xf2, 0xe8, 0x65, 0x7b, 0x0a, 0xc9, 0xfa, 0xd0, 0x67, 0x7f, 0x88,
4619
                0xb2, 0x40, 0x04, 0xb6, 0x48, 0x3e, 0xed, 0xea, 0x4d, 0x32, 0x30, 0xdd, 0x98, 0x6e, 0x3a, 0x47,
4620
                0xd6, 0x42, 0xdd, 0xcf, 0x62, 0xe4, 0x86, 0xba, 0x9f, 0xa2, 0x39, 0xc7, 0x42, 0x7b, 0x40, 0xdd,
4621
                0x0f, 0xfd, 0xf7, 0xa9, 0xd4, 0xfd, 0x38, 0xfe, 0x20, 0x9a, 0x7b, 0x82, 0xa4, 0x44, 0x22, 0x49,
4622
                0x2f, 0x21, 0x51, 0x42, 0x42, 0x02, 0x09, 0x89, 0x4d, 0x80, 0xfc, 0xaa, 0xb9, 0xc0, 0x89, 0xe9,
4623
                0xd9, 0x41, 0xe0, 0xb1, 0xc0, 0x12, 0x81, 0xcd, 0x43, 0x2f, 0x02, 0x31, 0xa1, 0xfe, 0x82, 0x27,
4624
                0xd6, 0xb8, 0x40, 0xb8, 0xe6, 0x4a, 0xe9, 0x65, 0x0c, 0xc9, 0x0c, 0x95, 0xd2, 0x60, 0xc9, 0x0d,
4625
                0xb7, 0x88, 0x80, 0x4f, 0x62, 0xc8, 0xc5, 0x46, 0x7b, 0x4d, 0xc3, 0x26, 0x0a, 0xe0, 0xba, 0x29,
4626
                0x1b, 0xdd, 0xec, 0x61, 0x5a, 0xc8, 0x94, 0xba, 0x5e, 0x7d, 0x99, 0x79, 0xbe, 0x27, 0x10, 0x45,
4627
                0x53, 0x55, 0x47, 0x07, 0xde, 0x93, 0x07, 0xa3, 0xac, 0xb2, 0x4b, 0x84, 0x12, 0x57, 0xdb, 0x25,
4628
                0x72, 0xf3, 0xaa, 0xf0, 0x9a, 0xa8, 0x11, 0x75, 0xa5, 0x17, 0x91, 0xa5, 0xcc, 0x2e, 0x19, 0x61,
4629
                0x35, 0xde, 0xdc, 0x92, 0xd1, 0x5d, 0x07, 0xbf, 0x8d, 0xab, 0xb8, 0xb7, 0x1e, 0x52, 0x5a, 0x2b,
4630
                0xf5, 0xda, 0xda, 0x99, 0x59, 0x5a, 0x37, 0x56, 0x48, 0xa6, 0x36, 0xbf, 0x9c, 0x16, 0x71, 0x6e,
4631
                0x8b, 0x46, 0xc9, 0x5a, 0xab, 0x48, 0x65, 0x9a, 0x1e, 0xb7, 0xee, 0x03, 0xdf, 0x76, 0x1d, 0x3b,
4632
                0x14, 0x56, 0xff, 0xbb, 0x20, 0x04, 0xef, 0xf3, 0xa2, 0x01, 0xdd, 0x01, 0xdd, 0x01, 0xdd, 0x01,
4633
                0xdd, 0x01, 0xdd, 0x01, 0xdd, 0x01, 0xdd, 0x01, 0xdd, 0x77, 0x02, 0xba, 0x13, 0xee, 0x45, 0x26,
4634
                0x32, 0xe9, 0xf6, 0x24, 0x73, 0xf0, 0x91, 0x32, 0x7b, 0x94, 0xb7, 0x7c, 0x32, 0xd0, 0x6b, 0xff,
4635
                0xf9, 0xa9, 0xce, 0x3f, 0x8e, 0x21, 0xe3, 0xb5, 0x3e, 0x62, 0xcc, 0x13, 0x10, 0x2d, 0x02, 0x46,
4636
                0xd4, 0x9b, 0x98, 0xb9, 0x63, 0xa4, 0x85, 0x58, 0x89, 0x62, 0xdd, 0xe0, 0x43, 0x88, 0xbe, 0x5f,
4637
                0x93, 0xdb, 0xb9, 0x5e, 0xe8, 0xd8, 0x81, 0x4b, 0xcb, 0xea, 0x12, 0xa1, 0xe0, 0x73, 0xe0, 0x73,
4638
                0xe0, 0x73, 0xe0, 0x73, 0xe0, 0x73, 0xe0, 0x73, 0xe0, 0x73, 0xe0, 0x73, 0xe0, 0x73, 0xbb, 0xce,
4639
                0xe7, 0x0c, 0xaf, 0x5d, 0xe7, 0x9f, 0x69, 0xf0, 0x21, 0xd8, 0x5b, 0x5e, 0xec, 0x6d, 0x76, 0x95,
4640
                0xe0, 0x1f, 0xd6, 0x83, 0xab, 0xb1, 0x20, 0xf0, 0x03, 0x5a, 0xa6, 0x36, 0x12, 0x09, 0x9e, 0x06,
4641
                0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06,
4642
                0x9e, 0xd6, 0xae, 0xf3, 0x1a, 0x05, 0x3a, 0x04, 0x4b, 0xcb, 0x95, 0xa5, 0x8d, 0xd6, 0x08, 0xbe,
4643
                0x61, 0x3d, 0x38, 0x5a, 0xdb, 0x09, 0xf3, 0xe0, 0x69, 0x53, 0x62, 0xc1, 0xd5, 0xc0, 0xd5, 0xc0,
4644
                0xd5, 0xc0, 0xd5, 0xc0, 0xd5, 0xc0, 0xd5, 0xc0, 0xd5, 0xc0, 0xd5, 0x80, 0xc7, 0x5e, 0xc3, 0x63,
4645
                0xbd, 0x41, 0x57, 0x78, 0xf9, 0x9c, 0x5d, 0x79, 0x21, 0x1a, 0xb8, 0x0c, 0xb8, 0x0c, 0xb8, 0x0c,
4646
                0xb8, 0x0c, 0xb8, 0x0c, 0xb8, 0x0c, 0xb8, 0x0c, 0xb8, 0x6c, 0x33, 0x70, 0x19, 0x72, 0xe8, 0x6a,
4647
                0xc1, 0x45, 0xed, 0x0c, 0xc4, 0xc5, 0x18, 0x32, 0xe2, 0xec, 0x4a, 0xfe, 0x18, 0x69, 0x21, 0x56,
4648
                0xa2, 0x58, 0x37, 0xf8, 0x90, 0xf5, 0xe0, 0x76, 0xbe, 0x23, 0x18, 0x31, 0xa7, 0x1b, 0x89, 0x04,
4649
                0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03,
4650
                0x97, 0xdb, 0x75, 0x2e, 0x37, 0x22, 0x02, 0x57, 0x14, 0xf8, 0x10, 0xcc, 0x2d, 0x2f, 0xe6, 0x36,
4651
                0xbb, 0x4a, 0xf0, 0x0f, 0xeb, 0xc1, 0xd3, 0xc8, 0x77, 0xde, 0xb0, 0xdf, 0x06, 0x8e, 0x06, 0x8e,
4652
                0x06, 0x8e, 0x06, 0x8e, 0x06, 0x8e, 0x06, 0x8e, 0x06, 0x8e, 0x06, 0x8e, 0xb6, 0x23, 0x1c, 0xad,
4653
                0xf4, 0xe1, 0xd4, 0x68, 0xb0, 0x9e, 0x2f, 0x98, 0x71, 0xc9, 0xc4, 0xa3, 0x1f, 0x7c, 0x37, 0x2e,
4654
                0x7c, 0xee, 0x09, 0x3f, 0xf0, 0xf8, 0x83, 0x71, 0x61, 0x73, 0xfb, 0x81, 0x45, 0x51, 0xda, 0xa8,
4655
                0xf3, 0xb6, 0x1f, 0xf4, 0xe2, 0x2b, 0xd3, 0x6e, 0xf9, 0x47, 0x3b, 0x64, 0xa0, 0x6c, 0x2b, 0xa3,
4656
                0x6c, 0x1a, 0x8b, 0x06, 0xef, 0xb1, 0x1e, 0x0c, 0x6e, 0xc0, 0x73, 0xaa, 0xa1, 0x9c, 0x11, 0x0c,
4657
                0x46, 0x07, 0x46, 0x07, 0x46, 0x07, 0x46, 0x07, 0x46, 0x07, 0x46, 0x07, 0x46, 0x07, 0x46, 0x07,
4658
                0x46, 0xb7, 0xfd, 0x8c, 0x2e, 0xd3, 0x7e, 0xce, 0x57, 0x94, 0x4c, 0xae, 0x9c, 0xc5, 0x49, 0x2e,
4659
                0x14, 0xbc, 0xc4, 0xba, 0x30, 0xb7, 0xef, 0xdc, 0x7f, 0xe4, 0x56, 0x3f, 0xf0, 0x85, 0x4f, 0xcd,
4660
                0xdd, 0x66, 0x44, 0x83, 0xbd, 0x81, 0xbd, 0x81, 0xbd, 0x81, 0xbd, 0x81, 0xbd, 0x81, 0xbd, 0x81,
4661
                0xbd, 0x81, 0xbd, 0x81, 0xbd, 0x81, 0xbd, 0xb5, 0xeb, 0xfc, 0xeb, 0x10, 0x25, 0x5e, 0x53, 0x80,
4662
                0x44, 0xf0, 0xb7, 0x1c, 0xf9, 0xdb, 0xcb, 0xa5, 0x82, 0xa7, 0x58, 0x03, 0x06, 0xd7, 0xb5, 0x43,
4663
                0x61, 0x39, 0x5d, 0x66, 0x07, 0x74, 0xd4, 0x6d, 0x4a, 0x26, 0x38, 0x1b, 0x38, 0x1b, 0x38, 0xdb,
4664
                0x1a, 0x71, 0x36, 0xe1, 0xf5, 0x98, 0xf0, 0x9c, 0xef, 0xe1, 0xda, 0xb1, 0xb6, 0xaf, 0x7c, 0x08,
4665
                0x50, 0x4d, 0x6e, 0x73, 0x3f, 0x64, 0x8e, 0xcf, 0x49, 0xee, 0xef, 0x00, 0x1b, 0x04, 0x1b, 0x04,
4666
                0x1b, 0x04, 0x1b, 0xdc, 0x0a, 0x36, 0x58, 0xfb, 0x19, 0xaf, 0x9a, 0xbe, 0x2b, 0xa3, 0x87, 0x08,
4667
                0xbe, 0x63, 0xb1, 0x9f, 0xe2, 0x54, 0xb0, 0x2e, 0xeb, 0x31, 0x11, 0x3c, 0x59, 0x3e, 0xb7, 0x9c,
4668
                0x4e, 0xec, 0x7b, 0x73, 0x81, 0x0d, 0xb1, 0x7a, 0xe5, 0x80, 0x1b, 0x56, 0x0d, 0x19, 0x5a, 0x2b,
4669
                0xa1, 0x01, 0xfe, 0x40, 0x58, 0xf7, 0xe3, 0xfb, 0x73, 0x89, 0xab, 0xf0, 0x16, 0xc8, 0x06, 0x2d,
4670
                0x00, 0x2d, 0x00, 0x2d, 0x58, 0x23, 0x5a, 0x80, 0xad, 0x1c, 0x80, 0x77, 0x80, 0x77, 0x80, 0x77,
4671
                0x80, 0xf7, 0xfc, 0xbc, 0x36, 0xb6, 0x72, 0x24, 0x5a, 0xe2, 0x5d, 0x0d, 0xc4, 0xc7, 0x31, 0x66,
4672
                0x44, 0x61, 0x5e, 0xfe, 0x20, 0x69, 0x21, 0x58, 0x22, 0x59, 0x38, 0x78, 0x11, 0xa2, 0xef, 0xd7,
4673
                0xe5, 0x77, 0xee, 0xf8, 0xba, 0x5d, 0x52, 0x66, 0xe7, 0xd2, 0x5c, 0xb5, 0x0c, 0x4e, 0x07, 0x4e,
4674
                0x07, 0x4e, 0x07, 0x4e, 0x07, 0x4e, 0x07, 0x4e, 0x07, 0x4e, 0x07, 0x4e, 0x07, 0x4e, 0xb7, 0x15,
4675
                0xe5, 0x79, 0x57, 0x03, 0xf1, 0x99, 0x06, 0x20, 0x82, 0xc1, 0xe5, 0xc5, 0xe0, 0x5e, 0x2c, 0x13,
4676
                0x3c, 0xc4, 0x9a, 0xf0, 0x35, 0xea, 0x5b, 0x5e, 0xa7, 0x64, 0x82, 0xab, 0x81, 0xab, 0x81, 0xab,
4677
                0x81, 0xab, 0x81, 0xab, 0x81, 0xab, 0x81, 0xab, 0x81, 0xab, 0x81, 0xab, 0x81, 0xab, 0x45, 0x24,
4678
                0xa0, 0x46, 0x01, 0x0f, 0xc1, 0xd4, 0xf2, 0x65, 0x6a, 0xa3, 0x45, 0x82, 0x77, 0x58, 0x13, 0x9e,
4679
                0x96, 0xd7, 0x0d, 0xd0, 0x0b, 0x64, 0x83, 0xb7, 0x81, 0xb7, 0x81, 0xb7, 0x81, 0xb7, 0x81, 0xb7,
4680
                0x81, 0xb7, 0x81, 0xb7, 0x81, 0xb7, 0x81, 0xb7, 0xed, 0x3a, 0x6f, 0x5b, 0x50, 0x7e, 0x87, 0x3b,
4681
                0xa0, 0x37, 0x81, 0xcb, 0x2d, 0x5d, 0x38, 0x78, 0x91, 0x35, 0xe1, 0x77, 0xd4, 0xb7, 0x40, 0x4f,
4682
                0xc9, 0x04, 0x9f, 0x03, 0x9f, 0x03, 0x9f, 0x03, 0x9f, 0x03, 0x9f, 0x03, 0x9f, 0x03, 0x9f, 0x03,
4683
                0x9f, 0x03, 0x9f, 0xdb, 0x75, 0x3e, 0x37, 0xe6, 0x02, 0xb8, 0x07, 0x7a, 0xad, 0xd9, 0xdb, 0x8b,
4684
                0x65, 0x82, 0x87, 0x58, 0x13, 0xae, 0x46, 0xbf, 0x03, 0x87, 0x7d, 0x37, 0xf0, 0x34, 0xf0, 0x34,
4685
                0xf0, 0x34, 0xf0, 0x34, 0xf0, 0x34, 0xf0, 0x34, 0xf0, 0x34, 0xf0, 0xb4, 0x1d, 0xe1, 0x69, 0xb8,
4686
                0x0a, 0x7a, 0x03, 0x59, 0x1b, 0xae, 0x82, 0xde, 0x7c, 0x0e, 0x97, 0xcf, 0x5d, 0xd0, 0x73, 0x92,
4687
                0xc1, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0xe9,
4688
                0xc0, 0xe9, 0xb6, 0x9f, 0xd3, 0x65, 0xdb, 0xd4, 0xc1, 0x6d, 0xd0, 0xab, 0x27, 0x72, 0xb2, 0x2b,
4689
                0x05, 0x3f, 0x41, 0xc5, 0xde, 0xf6, 0x0a, 0xf4, 0x4b, 0xfa, 0x17, 0x5a, 0x68, 0xb2, 0xc3, 0xf9,
4690
                0x0b, 0x2c, 0xfc, 0x3e, 0x0b, 0xe2, 0xb4, 0x80, 0xdd, 0xd5, 0xa5, 0x88, 0xe4, 0x17, 0x56, 0x10,
4691
                0x5d, 0x54, 0xa1, 0x11, 0x44, 0x30, 0xdd, 0x45, 0x59, 0x54, 0x4b, 0xd1, 0xa2, 0xce, 0x38, 0xf7,
4692
                0x45, 0x3c, 0xa3, 0x5a, 0xb1, 0xc6, 0x0c, 0x9d, 0x0e, 0xeb, 0xd9, 0x7d, 0x5b, 0x74, 0xa2, 0xb7,
4693
                0x3f, 0xf0, 0xfb, 0x8c, 0x3b, 0x71, 0xae, 0xc2, 0xf2, 0x12, 0x97, 0x7c, 0xb0, 0xe8, 0x9f, 0x07,
4694
                0xe1, 0xe0, 0x7e, 0xea, 0xf7, 0xd3, 0x3f, 0x1d, 0x84, 0xc2, 0x16, 0xec, 0x60, 0x44, 0xf4, 0x74,
4695
                0xc2, 0xab, 0x19, 0x8a, 0x60, 0xe0, 0x08, 0x3e, 0x8a, 0xee, 0x49, 0x94, 0xb8, 0xbb, 0x99, 0xfa,
4696
                0xba, 0xbb, 0x4f, 0xe3, 0x2f, 0xda, 0x2b, 0x66, 0xdd, 0x14, 0x0c, 0xcb, 0x74, 0xfa, 0x03, 0xe5,
4697
                0x85, 0x9a, 0x50, 0xe7, 0xfe, 0x40, 0x71, 0x32, 0x35, 0xf3, 0x58, 0xda, 0xf9, 0x2b, 0x8a, 0xbc,
4698
                0x15, 0x59, 0xbe, 0x8a, 0x0a, 0xa4, 0x91, 0xe7, 0xa7, 0xc8, 0x11, 0x18, 0x65, 0x3e, 0xaa, 0x58,
4699
                0xc4, 0xa0, 0x9d, 0x77, 0x4a, 0xb4, 0xe5, 0xde, 0xf7, 0xbb, 0xcc, 0xe6, 0x3a, 0xfa, 0x32, 0x32,
4700
                0x9e, 0x52, 0x69, 0xc7, 0x41, 0x13, 0xfd, 0xad, 0x5f, 0x00, 0x4f, 0x00, 0x4f, 0x98, 0xee, 0x4d,
4701
                0xc1, 0xaa, 0x85, 0x20, 0x25, 0x97, 0x85, 0x4e, 0xe0, 0xf5, 0xb5, 0xa0, 0x6d, 0xe2, 0xfc, 0xa7,
4702
                0x85, 0x01, 0x39, 0x01, 0x39, 0x01, 0x39, 0x49, 0x68, 0x4b, 0x28, 0x02, 0x8f, 0x3f, 0x50, 0x00,
4703
                0xa7, 0xf7, 0x85, 0xce, 0x00, 0x61, 0xf6, 0x9b, 0x30, 0xeb, 0x4d, 0xb8, 0x85, 0x9a, 0x31, 0x77,
4704
                0x7a, 0xd6, 0xf5, 0xec, 0x70, 0xcd, 0xf7, 0xf5, 0xa9, 0x93, 0xd9, 0xc5, 0x6c, 0xed, 0x4b, 0x2d,
4705
                0xc0, 0xaa, 0x2b, 0x00, 0x94, 0x47, 0xb7, 0x0a, 0xb5, 0x5a, 0xaa, 0x8c, 0xd6, 0xd3, 0x83, 0x2f,
4706
                0x2c, 0xdf, 0xb1, 0x1c, 0xbf, 0xd7, 0x0f, 0x58, 0x18, 0x32, 0xd7, 0xea, 0x32, 0xbb, 0x1d, 0x09,
4707
                0x7d, 0x5e, 0xe3, 0x04, 0x11, 0xe3, 0x91, 0xb3, 0x72, 0xf5, 0x21, 0xcf, 0x58, 0x90, 0xe2, 0x32,
4708
                0x7c, 0x66, 0x6d, 0x7b, 0xd0, 0x15, 0x5a, 0xee, 0xce, 0x8c, 0xcc, 0xce, 0x2c, 0x34, 0x1f, 0x0a,
4709
                0x94, 0x06, 0x94, 0x86, 0xfc, 0xd6, 0x46, 0xe5, 0xb7, 0x00, 0xd3, 0x46, 0x28, 0xc1, 0xed, 0x79,
4710
                0xfc, 0x46, 0xd8, 0x62, 0x00, 0xb0, 0xb6, 0x4a, 0xb0, 0x36, 0xb5, 0x0c, 0x80, 0x6c, 0x80, 0x6c,
4711
                0xcb, 0x1f, 0xdb, 0x6b, 0x7b, 0xdc, 0x65, 0x3f, 0xf5, 0x21, 0xdb, 0x58, 0x10, 0xb0, 0x0f, 0xb0,
4712
                0x0f, 0xb0, 0x8f, 0x84, 0xb6, 0x0c, 0x3c, 0x2e, 0x8e, 0xca, 0x04, 0xd0, 0xe7, 0x44, 0x43, 0x04,
4713
                0x4d, 0xe1, 0x38, 0x01, 0xee, 0xa0, 0x2c, 0x14, 0xa7, 0x2e, 0x10, 0xcf, 0xad, 0xa4, 0x98, 0xbe,
4714
                0x94, 0x98, 0xa0, 0x10, 0x9c, 0xb4, 0x00, 0x3c, 0x59, 0x8a, 0x4a, 0xf9, 0x43, 0xe5, 0x43, 0xf5,
4715
                0xa4, 0xfc, 0xe1, 0x78, 0xf7, 0xd6, 0x64, 0x27, 0xf0, 0x14, 0x76, 0xfc, 0xb5, 0x03, 0x21, 0xb6,
4716
                0xa0, 0x31, 0xdd, 0x98, 0x6e, 0x2a, 0x17, 0xd8, 0x42, 0x6a, 0xe7, 0xf5, 0xd4, 0x8e, 0x61, 0xa5,
4717
                0x26, 0x15, 0x90, 0xcb, 0xc9, 0x31, 0x97, 0xf3, 0xda, 0xbc, 0xef, 0x1a, 0xd8, 0x28, 0x26, 0xd7,
4718
                0x41, 0x94, 0xe9, 0xd0, 0xc9, 0x73, 0x90, 0x6c, 0x4d, 0x1d, 0x62, 0x5f, 0x0a, 0xb9, 0x19, 0xe4,
4719
                0x66, 0x90, 0x9b, 0x41, 0x6e, 0x06, 0xb9, 0x19, 0xe4, 0x66, 0x90, 0x9b, 0xc9, 0xea, 0xd1, 0x77,
4720
                0x7b, 0xaf, 0xab, 0x6b, 0x87, 0x62, 0x9c, 0x00, 0xd2, 0x46, 0x81, 0xd3, 0xc2, 0x80, 0xab, 0x80,
4721
                0xab, 0x80, 0xab, 0x24, 0xb4, 0x45, 0x78, 0x3d, 0x26, 0x3c, 0xe7, 0x7b, 0xa8, 0xd5, 0x41, 0x89,
4722
                0xa0, 0x73, 0x92, 0xf9, 0x95, 0x0f, 0x23, 0x93, 0xc9, 0x6d, 0xee, 0x87, 0xcc, 0xf1, 0xb9, 0xab,
4723
                0x75, 0xd8, 0x17, 0x60, 0x0d, 0x60, 0xad, 0x10, 0xb0, 0x96, 0x5f, 0x07, 0x25, 0xc0, 0xb6, 0x35,
4724
                0x83, 0x6d, 0xd8, 0x52, 0xd3, 0x8e, 0xb3, 0xd8, 0xe3, 0xc1, 0x74, 0x63, 0xba, 0xa9, 0x5c, 0x60,
4725
                0x31, 0x87, 0x68, 0xbb, 0xfe, 0x83, 0xe7, 0xd8, 0x5d, 0x02, 0xaa, 0x36, 0x12, 0x04, 0x9a, 0x06,
4726
                0x9a, 0x06, 0x9a, 0x26, 0xa1, 0x2d, 0x68, 0x3b, 0x02, 0xc4, 0x84, 0x10, 0x8e, 0xe9, 0xc6, 0x74,
4727
                0x6f, 0x06, 0x62, 0xea, 0x25, 0x97, 0x46, 0xe8, 0x83, 0xa6, 0x29, 0x59, 0xc0, 0x4d, 0xc0, 0x4d,
4728
                0xc0, 0x4d, 0xc0, 0x4d, 0xc0, 0x4d, 0x08, 0xe4, 0x98, 0x6e, 0x4c, 0xf7, 0xd6, 0xe1, 0xa6, 0x51,
4729
                0x6f, 0x5e, 0x4d, 0xc4, 0x14, 0x4b, 0x01, 0x56, 0x02, 0x56, 0x02, 0x56, 0x92, 0xd0, 0x96, 0x4d,
4730
                0x6d, 0xd0, 0x06, 0xa8, 0x84, 0xd8, 0x8d, 0xd8, 0xbd, 0xfa, 0xd8, 0x1d, 0x4d, 0xbf, 0x15, 0x0e,
4731
                0x5b, 0x9e, 0x68, 0x87, 0xf0, 0x69, 0x61, 0x88, 0xe4, 0x88, 0xe4, 0x3b, 0x10, 0xc9, 0x2f, 0x6c,
4732
                0xee, 0xda, 0xc2, 0x0f, 0x9e, 0xa2, 0x10, 0xba, 0x72, 0x34, 0xc0, 0xf8, 0xa0, 0x37, 0x72, 0xa7,
4733
                0x14, 0x90, 0xa0, 0xa2, 0x21, 0xa3, 0xc6, 0x07, 0x3d, 0x7d, 0xcd, 0x6d, 0xfa, 0x37, 0x43, 0x80,
4734
                0x43, 0x72, 0x7f, 0x59, 0x29, 0x9a, 0xa3, 0xaf, 0xd7, 0x14, 0xc7, 0x32, 0xcb, 0x91, 0xa8, 0xcf,
4735
                0x57, 0x7f, 0x5f, 0x52, 0x08, 0x3b, 0x8a, 0x84, 0x35, 0x6b, 0x37, 0xcd, 0xfa, 0xe5, 0x17, 0x0a,
4736
                0x79, 0x95, 0xf8, 0x3d, 0x2f, 0xff, 0x7b, 0x49, 0xf4, 0x7c, 0xc7, 0xc3, 0x97, 0x6d, 0x5c, 0x9c,
4737
                0x5d, 0x36, 0x29, 0xe4, 0x55, 0x23, 0x79, 0x97, 0x57, 0xcd, 0xbb, 0xeb, 0x46, 0xed, 0xa6, 0x46,
4738
                0x23, 0xf3, 0x24, 0x92, 0x79, 0x7e, 0xf5, 0x77, 0xad, 0x71, 0x77, 0x7e, 0xf6, 0x6f, 0xad, 0x71,
4739
                0x17, 0x2f, 0xce, 0x6a, 0x2f, 0x4e, 0xf5, 0xeb, 0x1a, 0x5b, 0x09, 0x33, 0xa2, 0xc6, 0x93, 0x7f,
4740
                0x6a, 0x10, 0x54, 0x29, 0x0e, 0xf5, 0xf6, 0xd4, 0x28, 0x13, 0x88, 0x9a, 0x9b, 0x71, 0xad, 0xc3,
4741
                0x5a, 0x13, 0x87, 0x36, 0xa5, 0x1c, 0xa7, 0x46, 0x95, 0x40, 0xe2, 0xd8, 0xbc, 0x4e, 0x8d, 0x23,
4742
                0x02, 0x69, 0x63, 0xe3, 0x3a, 0x35, 0x2a, 0x14, 0xd2, 0xae, 0x23, 0x6f, 0x8b, 0x6b, 0xe0, 0xc0,
4743
                0xfb, 0xc0, 0xfb, 0x30, 0xdd, 0x98, 0xee, 0x42, 0x69, 0x36, 0xfa, 0x9b, 0x2c, 0xe6, 0x12, 0x19,
4744
                0x7b, 0xa6, 0x5e, 0xf5, 0x59, 0x80, 0xce, 0xb5, 0xab, 0xee, 0x5c, 0x3b, 0xb5, 0x0a, 0xe8, 0x7d,
4745
                0x42, 0x3a, 0x42, 0xd2, 0x89, 0xeb, 0x1e, 0x12, 0xce, 0xf1, 0x36, 0x4e, 0x39, 0xcd, 0xc8, 0x3e,
4746
                0x4b, 0xd9, 0x3e, 0x99, 0x71, 0x1e, 0x23, 0x8b, 0x95, 0xed, 0x12, 0x63, 0x9e, 0x7b, 0xa1, 0x38,
4747
                0x13, 0x22, 0x90, 0x9a, 0x71, 0xf3, 0xc2, 0xe3, 0xb5, 0x6e, 0x5c, 0xa2, 0x25, 0x79, 0x48, 0xcb,
4748
                0xbc, 0xb0, 0x7f, 0x4e, 0x8d, 0xd4, 0x3b, 0x4a, 0x66, 0x5e, 0x05, 0x2e, 0x0b, 0x98, 0xfb, 0x31,
4749
                0x7a, 0x6d, 0x3e, 0xe8, 0x76, 0x49, 0x67, 0x53, 0x51, 0x1b, 0x73, 0xd1, 0x42, 0x09, 0xbf, 0x9b,
4750
                0xe9, 0xd2, 0xd7, 0x6c, 0xfa, 0xbc, 0x5c, 0x3b, 0x5f, 0xff, 0xc4, 0x92, 0x99, 0x96, 0x9d, 0x61,
4751
                0xaa, 0x99, 0x7d, 0xfd, 0xe5, 0xd3, 0x5f, 0x69, 0xf1, 0x5f, 0x52, 0x5e, 0x72, 0x6c, 0x8c, 0xaf,
4752
                0x6c, 0xcd, 0x67, 0xb3, 0xbd, 0xec, 0xb6, 0xa6, 0x65, 0x5b, 0xd9, 0x6c, 0x29, 0xed, 0x65, 0x33,
4753
                0xae, 0xa4, 0xfa, 0x0a, 0xbe, 0x62, 0x00, 0x69, 0x0a, 0xbf, 0x78, 0x99, 0xe7, 0x17, 0x71, 0xf6,
4754
                0x37, 0x2f, 0xde, 0x70, 0xd9, 0x9b, 0xc9, 0xbe, 0xd1, 0xec, 0x43, 0x4d, 0xbe, 0x7a, 0xf8, 0xaf,
4755
                0xd1, 0x97, 0xa7, 0x7d, 0xa9, 0xe9, 0x85, 0x9f, 0x92, 0xbe, 0x17, 0x37, 0xf1, 0x17, 0xcf, 0xa1,
4756
                0x27, 0xd3, 0x0b, 0xff, 0xb0, 0xbf, 0xb3, 0x86, 0xef, 0xcf, 0x23, 0xab, 0x97, 0x0f, 0x6b, 0x4e,
4757
                0xff, 0x69, 0x66, 0x12, 0x1b, 0xe3, 0x46, 0x70, 0xcf, 0x7b, 0xcf, 0xff, 0x1f, 0x00, 0x00, 0xff,
4758
                0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x6f, 0x6d, 0xe3, 0x9b, 0xda, 0x05, 0x00,
4759
        }
4760
)
4761

4762
// ΛEnumTypes is a map, keyed by a YANG schema path, of the enumerated types that
4763
// correspond with the leaf. The type is represented as a reflect.Type. The naming
4764
// of the map ensures that there are no clashes with valid YANG identifiers.
4765
func initΛEnumTypes() {
1✔
4766
        ΛEnumTypes = map[string][]reflect.Type{
1✔
4767
                "/afts/ipv4-unicast/ipv4-entry/state/decapsulate-header": {
1✔
4768
                        reflect.TypeOf((E_AftTypes_EncapsulationHeaderType)(0)),
1✔
4769
                },
1✔
4770
                "/afts/ipv6-unicast/ipv6-entry/state/decapsulate-header": {
1✔
4771
                        reflect.TypeOf((E_AftTypes_EncapsulationHeaderType)(0)),
1✔
4772
                },
1✔
4773
                "/afts/mpls/label-entry/state/label": {
1✔
4774
                        reflect.TypeOf((E_MplsTypes_MplsLabel_Enum)(0)),
1✔
4775
                },
1✔
4776
                "/afts/mpls/label-entry/state/popped-mpls-label-stack": {
1✔
4777
                        reflect.TypeOf((E_MplsTypes_MplsLabel_Enum)(0)),
1✔
4778
                },
1✔
4779
                "/afts/next-hops/next-hop/state/decapsulate-header": {
1✔
4780
                        reflect.TypeOf((E_AftTypes_EncapsulationHeaderType)(0)),
1✔
4781
                },
1✔
4782
                "/afts/next-hops/next-hop/state/encapsulate-header": {
1✔
4783
                        reflect.TypeOf((E_AftTypes_EncapsulationHeaderType)(0)),
1✔
4784
                },
1✔
4785
                "/afts/next-hops/next-hop/state/pushed-mpls-label-stack": {
1✔
4786
                        reflect.TypeOf((E_MplsTypes_MplsLabel_Enum)(0)),
1✔
4787
                },
1✔
4788
                "/afts/policy-forwarding/policy-forwarding-entry/state/ip-protocol": {
1✔
4789
                        reflect.TypeOf((E_PacketMatchTypes_IP_PROTOCOL)(0)),
1✔
4790
                },
1✔
4791
                "/afts/policy-forwarding/policy-forwarding-entry/state/mpls-label": {
1✔
4792
                        reflect.TypeOf((E_MplsTypes_MplsLabel_Enum)(0)),
1✔
4793
                },
1✔
4794
                "/interfaces/interface/state/admin-status": {
1✔
4795
                        reflect.TypeOf((E_Interface_AdminStatus)(0)),
1✔
4796
                },
1✔
4797
                "/interfaces/interface/state/oper-status": {
1✔
4798
                        reflect.TypeOf((E_Interface_OperStatus)(0)),
1✔
4799
                },
1✔
4800
                "/interfaces/interface/state/type": {
1✔
4801
                        reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)),
1✔
4802
                },
1✔
4803
                "/interfaces/interface/subinterfaces/subinterface/state/admin-status": {
1✔
4804
                        reflect.TypeOf((E_Interface_AdminStatus)(0)),
1✔
4805
                },
1✔
4806
                "/interfaces/interface/subinterfaces/subinterface/state/oper-status": {
1✔
4807
                        reflect.TypeOf((E_Interface_OperStatus)(0)),
1✔
4808
                },
1✔
4809
        }
1✔
4810
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc