relaton 1.10.3 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/relaton/version.rb +1 -1
  3. data/relaton.gemspec +21 -21
  4. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +10 -10
  5. data/spec/vcr_cassetes/async_fetch.yml +1422 -1422
  6. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +14 -12
  7. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +10 -10
  8. data/spec/vcr_cassetes/cen_en_10160_1999.yml +30 -30
  9. data/spec/vcr_cassetes/cie_001_1980.yml +7 -7
  10. data/spec/vcr_cassetes/ecma_6.yml +7 -7
  11. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  12. data/spec/vcr_cassetes/gb_t_20223_2006.yml +6 -6
  13. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +13 -10
  14. data/spec/vcr_cassetes/iec_60050_102_2007.yml +28 -28
  15. data/spec/vcr_cassetes/iec_combined_included.yml +99 -99
  16. data/spec/vcr_cassetes/ieee_528_2019.yml +1160 -1154
  17. data/spec/vcr_cassetes/iho_b_11.yml +7 -7
  18. data/spec/vcr_cassetes/iso_111111119115_1.yml +2 -2
  19. data/spec/vcr_cassetes/iso_19115_1.yml +13 -13
  20. data/spec/vcr_cassetes/iso_19115_1_2.yml +28 -28
  21. data/spec/vcr_cassetes/iso_19115_all_parts.yml +15 -15
  22. data/spec/vcr_cassetes/iso_19133_2005.yml +15 -15
  23. data/spec/vcr_cassetes/iso_combined_applied.yml +26 -26
  24. data/spec/vcr_cassetes/iso_combined_included.yml +26 -26
  25. data/spec/vcr_cassetes/iso_dis_14093.yml +16 -16
  26. data/spec/vcr_cassetes/itu_combined_included.yml +209 -210
  27. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +9 -9
  28. data/spec/vcr_cassetes/ogc_19_025r1.yml +9 -9
  29. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +2 -2
  30. data/spec/vcr_cassetes/rfc_8341.yml +7 -7
  31. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  32. data/spec/vcr_cassetes/threads_from_env.yml +56 -56
  33. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +30 -32
  34. data/spec/vcr_cassetes/w3c_json_ld11.yml +10 -10
  35. metadata +44 -44
@@ -21,7 +21,7 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Fri, 18 Mar 2022 13:31:27 GMT
24
+ - Sun, 10 Apr 2022 12:50:25 GMT
25
25
  Content-Type:
26
26
  - text/html; charset=UTF-8
27
27
  Transfer-Encoding:
@@ -51,12 +51,12 @@ http_interactions:
51
51
  Server:
52
52
  - cloudflare
53
53
  Cf-Ray:
54
- - 6ede5425aec9cbac-VIE
54
+ - 6f9b9ba75ca30c77-SOF
55
55
  Alt-Svc:
56
56
  - h3=":443"; ma=86400, h3-29=":443"; ma=86400
57
57
  body:
58
58
  encoding: ASCII-8BIT
59
- string: '{"status":"ok","total_pages":3,"results":{"status":{"rid":"varn6fkvvKwICtRBEg==","time-ms":4},"hits":{"found":24,"start":0,"hit":[{"id":"c1dc1ae6ae407ec0a8a761c1e4e0832655dda6ed376d509c9f6f5cd99767c79abf416c615774db732cc8100d9c5a2eb0cfa7709ce0d82b88b603bbaba6278fd0","fields":{"meta_keywords_la":["Aerospace
59
+ string: '{"status":"ok","total_pages":3,"results":{"status":{"rid":"5JCanIEwr6QMCtRBEg==","time-ms":2},"hits":{"found":24,"start":0,"hit":[{"id":"c1dc1ae6ae407ec0a8a761c1e4e0832655dda6ed376d509c9f6f5cd99767c79abf416c615774db732cc8100d9c5a2eb0cfa7709ce0d82b88b603bbaba6278fd0","fields":{"meta_keywords_la":["Aerospace
60
60
  Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Terms
61
61
  and definitions relating to inertial sensors are presented in this standard.
62
62
  Usage as understood by the inertial sensor community is given preference over
@@ -74,8 +74,8 @@ http_interactions:
74
74
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
75
75
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
76
76
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
77
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
78
- standards-related solutions to help drive awareness, activation, and adoption.
77
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
78
+ of standards-related solutions to help drive awareness, activation, and adoption.
79
79
  Providing support services to help manage the day-to-day operations of industry
80
80
  groups, allowing key stakeholders to focus on the work at hand. Focused on
81
81
  development and implementation of rigorous conformity assessment programs
@@ -128,7 +128,7 @@ http_interactions:
128
128
  Approval 2019-06-13 History Published: 2019-10-08 Working Group Details Society
129
129
  IEEE Aerospace and Electronic Systems Society Learn More Sponsor Committee
130
130
  AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors
131
- Working Group Learn More IEEE Program Manager Dan Perez Contact Working Group
131
+ Working Group Learn More IEEE Program Manager Soo Kim Contact Working Group
132
132
  Chair Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
133
133
  Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
134
134
  Coriolis Vibratory Gyros This standard defines requirements and test procedures
@@ -146,31 +146,7 @@ http_interactions:
146
146
  and error effects, on filtering, noise, and transient analysis techniques,
147
147
  and on calibration and modeling techniques (multipoint tumble analysis, vibration
148
148
  and shock test analyses, and geophysical effects in inertial instrument testing).
149
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
150
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
151
- equipment, instrumentation, test facilities, and data analysis techniques
152
- used in inertial sensor testing are described in this recommended practice.
153
- Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
154
- for Single-Axis Laser Gyros Specification and test requirements for a single-axis
155
- ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
156
- displacement measuring systems, and angular rate measuring systems are defined.
157
- A standard specification format guide for the preparation of a single-axis
158
- RLG is provided. A compilation of recommended procedures for testing an RLG,
159
- derived from those presently used in the industry, is also provided. Learn
160
- More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
161
- Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
162
- dynamically tuned gyro (DTG) specification is given that provides a common
163
- ground of terminology and practice for manufacturers and users. A compilation
164
- of recommended procedures for testing a DTG is also given. The requirements
165
- and test procedures are defined in terms unique to the DTG. They cover applications
166
- of the gyro as an angular motion sensor in navigation and control systems.
167
- They apply to two modes of use: (1) as a strap-down sensor in operating environments
168
- typical of aircraft and missile applications, and (2) as a sensor in gimballed
169
- platform applications in which the dynamic angular inputs to which the gyro
170
- is subjected are benign relative to the accuracy required. In the case of
171
- the strap-down DTG, the characteristics of the external capture loops are
172
- considered to the extent necessary to define the gyro performance. Learn More
173
- 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
149
+ Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
174
150
  Fiber Optic Gyros Specification and test procedures for a single-axis interferometric
175
151
  fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
176
152
  displacement measuring systems, and angular rate measuring systems are defined.
@@ -214,8 +190,12 @@ http_interactions:
214
190
  features and theoretical principles of operation. Learn More 1431-2004\/Cor
215
191
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
216
192
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
217
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
218
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
193
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
194
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
195
+ instrumentation, test facilities, and data analysis techniques used in inertial
196
+ sensor testing are described in this recommended practice. Learn More 292-1969
197
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
198
+ Gyros This specification defines the requirements for a single-degree-of-freedom
219
199
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
220
200
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
221
201
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -248,7 +228,14 @@ http_interactions:
248
228
  Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
249
229
  - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
250
230
  are made by this corrigendum to material already published in IEEE Std 529-1980.
251
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
231
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
232
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
233
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
234
+ displacement measuring systems, and angular rate measuring systems are defined.
235
+ A standard specification format guide for the preparation of a single-axis
236
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
237
+ derived from those presently used in the industry, is also provided. Learn
238
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
252
239
  for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
253
240
  and Displacement A guide is presented for the preparation of a specification
254
241
  and test procedure for an inertial angular sensor that provides a common meeting
@@ -272,12 +259,25 @@ http_interactions:
272
259
  a sentence that does not belong there, to add a subclause that was inadvertently
273
260
  left out, and to renumber the existing subclauses. Changes are also being
274
261
  made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
275
- and to add a missing symbol. Learn More 836-2009 IEEE Recommended Practice
276
- for Precision Centrifuge Testing of Linear Accelerometers This recommended
277
- practice describes the conduct and analysis of precision tests that are to
278
- be performed on linear accelerometers using centrifuge techniques. The term
279
- u201cprecision,u201d in this context, refers to tests that are conducted to
280
- evaluate accelerometer parameters, as opposed to those conducted to establish
262
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
263
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
264
+ A format guide for the preparation of a two-degree-of-freedom dynamically
265
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
266
+ and practice for manufacturers and users. A compilation of recommended procedures
267
+ for testing a DTG is also given. The requirements and test procedures are
268
+ defined in terms unique to the DTG. They cover applications of the gyro as
269
+ an angular motion sensor in navigation and control systems. They apply to
270
+ two modes of use: (1) as a strap-down sensor in operating environments typical
271
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
272
+ applications in which the dynamic angular inputs to which the gyro is subjected
273
+ are benign relative to the accuracy required. In the case of the strap-down
274
+ DTG, the characteristics of the external capture loops are considered to the
275
+ extent necessary to define the gyro performance. Learn More 836-2009 IEEE
276
+ Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
277
+ This recommended practice describes the conduct and analysis of precision
278
+ tests that are to be performed on linear accelerometers using centrifuge techniques.
279
+ The term u201cprecision,u201d in this context, refers to tests that are conducted
280
+ to evaluate accelerometer parameters, as opposed to those conducted to establish
281
281
  environmental survivability only. Evaluation may take the form of determining
282
282
  the coefficients of the accelerometer''s model equation, except for bias and
283
283
  scale factor, which are most accurately determined by static multi-position
@@ -312,19 +312,19 @@ http_interactions:
312
312
  Alliance Management Services Conformity Assessment & Certification IEEE SA
313
313
  Open Source Industry Affiliate Network (IAN) Industry Connections The National
314
314
  Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority Government
315
- Engagement Program on Standards Standards Fellowship All Products & Programs
316
- Full ecosystem of standards-related solutions to help drive awareness, activation,
317
- and adoption. Providing support services to help manage the day-to-day operations
318
- of industry groups, allowing key stakeholders to focus on the work at hand.
319
- Focused on development and implementation of rigorous conformity assessment
320
- programs designed to help accelerate market adoption, reduce costs and more.
321
- A vendor-neutral, inclusive, open source platform\u2014for all, from independent
322
- software developers and start ups to industry, academic and research institutions.
323
- Open to consortia, industry alliance or other industry organizations, looking
324
- to bring forward specifications for standards development and market adoption.
325
- Facilitating collaboration among organizations and individuals as they hone
326
- and refine their thinking on rapidly changing technologies. Guidelines for
327
- practical safeguarding during the installation, operation, and maintenance
315
+ Engagement Program on Standards (GEPS) Standards Fellowship All Products &
316
+ Programs Full ecosystem of standards-related solutions to help drive awareness,
317
+ activation, and adoption. Providing support services to help manage the day-to-day
318
+ operations of industry groups, allowing key stakeholders to focus on the work
319
+ at hand. Focused on development and implementation of rigorous conformity
320
+ assessment programs designed to help accelerate market adoption, reduce costs
321
+ and more. A vendor-neutral, inclusive, open source platform\u2014for all,
322
+ from independent software developers and start ups to industry, academic and
323
+ research institutions. Open to consortia, industry alliance or other industry
324
+ organizations, looking to bring forward specifications for standards development
325
+ and market adoption. Facilitating collaboration among organizations and individuals
326
+ as they hone and refine their thinking on rapidly changing technologies. Guidelines
327
+ for practical safeguarding during the installation, operation, and maintenance
328
328
  of electric supply, communication lines and associated equipment. Assigns
329
329
  and maintains unique identifiers and unambiguous names to objects for those
330
330
  wishing to register them. Program for policymakers providing tailored standards
@@ -437,8 +437,8 @@ http_interactions:
437
437
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
438
438
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
439
439
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
440
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
441
- standards-related solutions to help drive awareness, activation, and adoption.
440
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
441
+ of standards-related solutions to help drive awareness, activation, and adoption.
442
442
  Providing support services to help manage the day-to-day operations of industry
443
443
  groups, allowing key stakeholders to focus on the work at hand. Focused on
444
444
  development and implementation of rigorous conformity assessment programs
@@ -492,8 +492,8 @@ http_interactions:
492
492
  Published: 2001-11-29 Reaffirmed: 2007-03-22 Working Group Details Society
493
493
  IEEE Aerospace and Electronic Systems Society Learn More Sponsor Committee
494
494
  AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors
495
- Working Group IEEE Program Manager Dan Perez Contact Working Group Chair Harry
496
- Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
495
+ Working Group Learn More IEEE Program Manager Soo Kim Contact Working Group
496
+ Chair Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
497
497
  Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
498
498
  Coriolis Vibratory Gyros This standard defines requirements and test procedures
499
499
  for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
@@ -510,76 +510,56 @@ http_interactions:
510
510
  and error effects, on filtering, noise, and transient analysis techniques,
511
511
  and on calibration and modeling techniques (multipoint tumble analysis, vibration
512
512
  and shock test analyses, and geophysical effects in inertial instrument testing).
513
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
514
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
515
- equipment, instrumentation, test facilities, and data analysis techniques
516
- used in inertial sensor testing are described in this recommended practice.
517
513
  Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
518
514
  definitions relating to inertial sensors are presented in this standard. Usage
519
515
  as understood by the inertial sensor community is given preference over general
520
516
  technical usage of the terms herein. The criterion for inclusion of a term
521
517
  and its definition in this standard is usefulness as related to inertial sensor
522
- technology. Learn More 647-2006 IEEE Standard Specification Format Guide and
523
- Test Procedure for Single-Axis Laser Gyros Specification and test requirements
524
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
525
- systems, angular displacement measuring systems, and angular rate measuring
526
- systems are defined. A standard specification format guide for the preparation
527
- of a single-axis RLG is provided. A compilation of recommended procedures
528
- for testing an RLG, derived from those presently used in the industry, is
529
- also provided. Learn More 813-1988 IEEE Specification Format Guide and Test
530
- Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros A format guide
531
- for the preparation of a two-degree-of-freedom dynamically tuned gyro (DTG)
532
- specification is given that provides a common ground of terminology and practice
533
- for manufacturers and users. A compilation of recommended procedures for testing
534
- a DTG is also given. The requirements and test procedures are defined in terms
535
- unique to the DTG. They cover applications of the gyro as an angular motion
536
- sensor in navigation and control systems. They apply to two modes of use:
537
- (1) as a strap-down sensor in operating environments typical of aircraft and
538
- missile applications, and (2) as a sensor in gimballed platform applications
539
- in which the dynamic angular inputs to which the gyro is subjected are benign
540
- relative to the accuracy required. In the case of the strap-down DTG, the
541
- characteristics of the external capture loops are considered to the extent
542
- necessary to define the gyro performance. Learn More 952-2020 IEEE Standard
543
- for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros Specification
544
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
545
- for use as a sensor in attitude control systems, angular displacement measuring
546
- systems, and angular rate measuring systems are defined. The test procedures
547
- are derived from those presently used in the industry. Learn More 1293-1998\/Cor
548
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Linear,Single-Axis,
549
- Nongyroscopic Accelerometers Corrigendum 1: Changes to Annex K and Annex L
550
- Corrigendum to IEEE Std 1293-1998. Specification and test requirements for
551
- linear, single-axis, nongyroscopic accelerometers for use as a sensor in attitude
552
- control systems, linear displacement measuring systems, and linear rate measuring
553
- systems are defined. The specification format guide and test procedure standard
554
- applies to force-rebalance accelerometers (pendulous or translational proof
555
- mass), vibrating beam accelerometers (VBAs), and micromechanical accelerometers
556
- that range from lesser accuracy to high accuracy devices. Learn More 952-1997
557
- IEEE Standard Specification Format Guide and Test Procedure for Single-Axis
558
- Interferometric Fiber Optic Gyros Specification and test requirements for
559
- a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
560
- in attitude control systems, angular displacement measuring systems, and angular
561
- rate measuring systems are defined. A standard specification format guide
562
- for the preparation of a single-axis IFOG is provided. A compilation of recommended
563
- procedures for testing a fiber optic gyro, derived from those presently used
564
- in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
565
- Specification Format Guide and Test Procedure for Single-Axis Interferometric
566
- Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
567
- 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
568
- Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
569
- 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
570
- and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
571
- Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
572
- Specification and test requirements for a single-axis Coriolis vibratory gyro
573
- (CVG) for use as a sensor in attitude control systems, angular displacement
574
- measuring systems, and angular rate measuring systems are defined. A stadard
575
- specification format guide for the preparation of a single-axis CVG is provided.
576
- A complilation of recommended procedures for testing a CVG, derived from those
577
- presently used in the industry, is also provided. Informative annexes cover
578
- CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
518
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
519
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
520
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
521
+ attitude control systems, angular displacement measuring systems, and angular
522
+ rate measuring systems are defined. The test procedures are derived from those
523
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
524
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
525
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
526
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
527
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
528
+ linear displacement measuring systems, and linear rate measuring systems are
529
+ defined. The specification format guide and test procedure standard applies
530
+ to force-rebalance accelerometers (pendulous or translational proof mass),
531
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
532
+ range from lesser accuracy to high accuracy devices. Learn More 952-1997 IEEE
533
+ Standard Specification Format Guide and Test Procedure for Single-Axis Interferometric
534
+ Fiber Optic Gyros Specification and test requirements for a single-axis interferometric
535
+ fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
536
+ displacement measuring systems, and angular rate measuring systems are defined.
537
+ A standard specification format guide for the preparation of a single-axis
538
+ IFOG is provided. A compilation of recommended procedures for testing a fiber
539
+ optic gyro, derived from those presently used in the industry, is also provided.
540
+ Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
541
+ Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
542
+ 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
543
+ 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
544
+ in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
545
+ 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
546
+ More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
547
+ Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
548
+ and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
549
+ use as a sensor in attitude control systems, angular displacement measuring
550
+ systems, and angular rate measuring systems are defined. A stadard specification
551
+ format guide for the preparation of a single-axis CVG is provided. A complilation
552
+ of recommended procedures for testing a CVG, derived from those presently
553
+ used in the industry, is also provided. Informative annexes cover CVG design
554
+ features and theoretical principles of operation. Learn More 1431-2004\/Cor
579
555
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
580
556
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
581
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
582
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
557
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
558
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
559
+ instrumentation, test facilities, and data analysis techniques used in inertial
560
+ sensor testing are described in this recommended practice. Learn More 292-1969
561
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
562
+ Gyros This specification defines the requirements for a single-degree-of-freedom
583
563
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
584
564
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
585
565
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -612,7 +592,14 @@ http_interactions:
612
592
  Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
613
593
  - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
614
594
  are made by this corrigendum to material already published in IEEE Std 529-1980.
615
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
595
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
596
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
597
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
598
+ displacement measuring systems, and angular rate measuring systems are defined.
599
+ A standard specification format guide for the preparation of a single-axis
600
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
601
+ derived from those presently used in the industry, is also provided. Learn
602
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
616
603
  for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
617
604
  and Displacement A guide is presented for the preparation of a specification
618
605
  and test procedure for an inertial angular sensor that provides a common meeting
@@ -636,12 +623,25 @@ http_interactions:
636
623
  a sentence that does not belong there, to add a subclause that was inadvertently
637
624
  left out, and to renumber the existing subclauses. Changes are also being
638
625
  made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
639
- and to add a missing symbol. Learn More 836-2009 IEEE Recommended Practice
640
- for Precision Centrifuge Testing of Linear Accelerometers This recommended
641
- practice describes the conduct and analysis of precision tests that are to
642
- be performed on linear accelerometers using centrifuge techniques. The term
643
- u201cprecision,u201d in this context, refers to tests that are conducted to
644
- evaluate accelerometer parameters, as opposed to those conducted to establish
626
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
627
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
628
+ A format guide for the preparation of a two-degree-of-freedom dynamically
629
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
630
+ and practice for manufacturers and users. A compilation of recommended procedures
631
+ for testing a DTG is also given. The requirements and test procedures are
632
+ defined in terms unique to the DTG. They cover applications of the gyro as
633
+ an angular motion sensor in navigation and control systems. They apply to
634
+ two modes of use: (1) as a strap-down sensor in operating environments typical
635
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
636
+ applications in which the dynamic angular inputs to which the gyro is subjected
637
+ are benign relative to the accuracy required. In the case of the strap-down
638
+ DTG, the characteristics of the external capture loops are considered to the
639
+ extent necessary to define the gyro performance. Learn More 836-2009 IEEE
640
+ Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
641
+ This recommended practice describes the conduct and analysis of precision
642
+ tests that are to be performed on linear accelerometers using centrifuge techniques.
643
+ The term u201cprecision,u201d in this context, refers to tests that are conducted
644
+ to evaluate accelerometer parameters, as opposed to those conducted to establish
645
645
  environmental survivability only. Evaluation may take the form of determining
646
646
  the coefficients of the accelerometer''s model equation, except for bias and
647
647
  scale factor, which are most accurately determined by static multi-position
@@ -661,31 +661,34 @@ http_interactions:
661
661
  IEEE is the world\u2019s largest technical professional organization dedicated
662
662
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
663
663
  up for our monthly newsletter to learn about new developments, including resources,
664
- insights and more. "}},{"id":"1f454c3c1d1b8225381c03b93f6289bb9a62e4db6b8208aa0e9403d764b40eaf5545f19a40f487252dbd1c193775b8f344b93ef95bb161c8996090a798bf7ef3","fields":{"meta_keywords_la":["Aerospace
665
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"The
666
- specification and test requirements for a linear, single-axis, nongyroscopic
667
- accelerometer for use in inertial navigation, guidance, and leveling systems
668
- are defined. A standard specification guide and a compilation of recommended
669
- test procedures for such accelerometers are provided. Informative annexes
670
- are given on the various types of such accelerometers (force or pendulous
671
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
672
- and error effects, on filtering, noise, and transient analysis techniques,
673
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
674
- and shock test analyses, and geophysical effects in inertial instrument testing).","meta_topic_la":["Aerospace
675
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/","doc_title_t":"IEEE
676
- SA - IEEE 1293-2018","doc_text_t":"IEEE SA - IEEE 1293-2018 IEEE.org IEEE
677
- Xplore Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards
678
- Access Standards Search Standards Standards Development Standards Adoption
679
- Choose from the many ways to access IEEE SA Standards. Choose from individual
680
- or organizational access options to get the standards you need. Find the standards
664
+ insights and more. "}},{"id":"a987f234b815c04d51196a5861dce1ab4f2a67a7df6f37238f67bb5387af80050e142c401c7c38a091478a9f9de39f5bb24d00c179180953adc632f16a51cd68","fields":{"meta_keywords_la":["Aerospace
665
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
666
+ format guide for the preparation of a two-degree-of-freedom dynamically tuned
667
+ gyro (DTG) specification is given that provides a common ground of terminology
668
+ and practice for manufacturers and users. A compilation of recommended procedures
669
+ for testing a DTG is also given. The requirements and test procedures are
670
+ defined in terms unique to the DTG. They cover applications of the gyro as
671
+ an angular motion sensor in navigation and control systems. They apply to
672
+ two modes of use: (1) as a strap-down sensor in operating environments typical
673
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
674
+ applications in which the dynamic angular inputs to which the gyro is subjected
675
+ are benign relative to the accuracy required. In the case of the strap-down
676
+ DTG, the characteristics of the external capture loops are considered to the
677
+ extent necessary to define the gyro performance.","meta_topic_la":["Aerospace
678
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/813\/1200\/","doc_title_t":"IEEE
679
+ SA - IEEE 813-1988","doc_text_t":"IEEE SA - IEEE 813-1988 IEEE.org IEEE Xplore
680
+ Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
681
+ Standards Search Standards Standards Development Standards Adoption Choose
682
+ from the many ways to access IEEE SA Standards. Choose from individual or
683
+ organizational access options to get the standards you need. Find the standards
681
684
  you\u2019re looking for. Get involved in the development of market-driven
682
685
  technology standards with proven expertise and dedicated support. Learn more
683
686
  about how to adopt IEEE standards. Products & Programs Alliance Management
684
687
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
685
688
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
686
689
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
687
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
688
- standards-related solutions to help drive awareness, activation, and adoption.
690
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
691
+ of standards-related solutions to help drive awareness, activation, and adoption.
689
692
  Providing support services to help manage the day-to-day operations of industry
690
693
  groups, allowing key stakeholders to focus on the work at hand. Focused on
691
694
  development and implementation of rigorous conformity assessment programs
@@ -727,50 +730,11 @@ http_interactions:
727
730
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
728
731
  newsletter and keep up to date on the latest standards, event, and activities.
729
732
  Get the standards you need. Select from individual standards or standards
730
- bundles. MAC Address Active Standard IEEE 1293-2018 IEEE Standard Specification
731
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
732
- Purchase Access via Subscription Home Standards IEEE 1293-2018 The specification
733
- and test requirements for a linear, single-axis, nongyroscopic accelerometer
734
- for use in inertial navigation, guidance, and leveling systems are defined.
735
- A standard specification guide and a compilation of recommended test procedures
736
- for such accelerometers are provided. Informative annexes are given on the
737
- various types of such accelerometers (force or pendulous torque rebalance
738
- with analog or digital output, vibrating beam, and micromechanical) and error
739
- effects, on filtering, noise, and transient analysis techniques, and on calibration
740
- and modeling techniques (multipoint tumble analysis, vibration and shock test
741
- analyses, and geophysical effects in inertial instrument testing). Sponsor
742
- Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Active Standard
743
- PAR Approval 2012-11-02 Superseding 1293-1998 Board Approval 2018-10-23 History
744
- Published: 2019-02-28 Working Group Details Society IEEE Aerospace and Electronic
745
- Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
746
- Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
747
- IEEE Program Manager Dan Perez Contact Working Group Chair Harry Davis Active
748
- Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
749
- Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
750
- Vibratory Gyros This standard defines requirements and test procedures for
751
- a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
752
- control systems, angular displacement measuring systems, and angular rate
753
- measuring systems. Informative annexes cover CVG design features and theoretical
754
- principles of operation. Learn More 1554-2005 IEEE Recommended Practice for
755
- Inertial Sensor Test Equipment, Instrumentation, Data Acquisition, and Analysis
756
- Test equipment, data acquisition equipment, instrumentation, test facilities,
757
- and data analysis techniques used in inertial sensor testing are described
758
- in this recommended practice. Learn More 528-2019 IEEE Standard for Inertial
759
- Sensor Terminology Terms and definitions relating to inertial sensors are
760
- presented in this standard. Usage as understood by the inertial sensor community
761
- is given preference over general technical usage of the terms herein. The
762
- criterion for inclusion of a term and its definition in this standard is usefulness
763
- as related to inertial sensor technology. Learn More 647-2006 IEEE Standard
764
- Specification Format Guide and Test Procedure for Single-Axis Laser Gyros
765
- Specification and test requirements for a single-axis ring laser gyro (RLG)
766
- for use as a sensor in attitude control systems, angular displacement measuring
767
- systems, and angular rate measuring systems are defined. A standard specification
768
- format guide for the preparation of a single-axis RLG is provided. A compilation
769
- of recommended procedures for testing an RLG, derived from those presently
770
- used in the industry, is also provided. Learn More 813-1988 IEEE Specification
733
+ bundles. MAC Address Inactive-Reserved Standard IEEE 813-1988 IEEE Specification
771
734
  Format Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned
772
- Gyros A format guide for the preparation of a two-degree-of-freedom dynamically
773
- tuned gyro (DTG) specification is given that provides a common ground of terminology
735
+ Gyros Purchase Access via Subscription Home Standards IEEE 813-1988 A format
736
+ guide for the preparation of a two-degree-of-freedom dynamically tuned gyro
737
+ (DTG) specification is given that provides a common ground of terminology
774
738
  and practice for manufacturers and users. A compilation of recommended procedures
775
739
  for testing a DTG is also given. The requirements and test procedures are
776
740
  defined in terms unique to the DTG. They cover applications of the gyro as
@@ -780,59 +744,92 @@ http_interactions:
780
744
  applications in which the dynamic angular inputs to which the gyro is subjected
781
745
  are benign relative to the accuracy required. In the case of the strap-down
782
746
  DTG, the characteristics of the external capture loops are considered to the
783
- extent necessary to define the gyro performance. Learn More 952-2020 IEEE
784
- Standard for Specifying and Testing Single-Axis Interferometric Fiber Optic
785
- Gyros Specification and test procedures for a single-axis interferometric
786
- fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
787
- displacement measuring systems, and angular rate measuring systems are defined.
788
- The test procedures are derived from those presently used in the industry.
789
- Learn More 1293-1998\/Cor 1-2008 IEEE Standard Specification Format Guide
790
- and Test Procedure for Linear,Single-Axis, Nongyroscopic Accelerometers Corrigendum
791
- 1: Changes to Annex K and Annex L Corrigendum to IEEE Std 1293-1998. Specification
792
- and test requirements for linear, single-axis, nongyroscopic accelerometers
793
- for use as a sensor in attitude control systems, linear displacement measuring
794
- systems, and linear rate measuring systems are defined. The specification
795
- format guide and test procedure standard applies to force-rebalance accelerometers
796
- (pendulous or translational proof mass), vibrating beam accelerometers (VBAs),
797
- and micromechanical accelerometers that range from lesser accuracy to high
798
- accuracy devices. Learn More 528-2001 IEEE Standard for Inertial Sensor Terminology
799
- Terms and definitions relating to inertial senors are presented in this standard.
800
- Usage as understood by the inertial sensor community is given preference over
801
- general technical usage of the terms herein. The criterion for inclusion of
802
- a term and its definition in this standard is usefulness as related to inertial
803
- sensor technology. Learn More 952-1997 IEEE Standard Specification Format
804
- Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros
805
- Specification and test requirements for a single-axis interferometric fiber
806
- optic gyro (IFOG) for use as a sensor in attitude control systems, angular
807
- displacement measuring systems, and angular rate measuring systems are defined.
808
- A standard specification format guide for the preparation of a single-axis
809
- IFOG is provided. A compilation of recommended procedures for testing a fiber
810
- optic gyro, derived from those presently used in the industry, is also provided.
811
- Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
812
- Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
813
- 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
814
- 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
815
- in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
816
- 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
817
- More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
818
- Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
819
- and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
820
- use as a sensor in attitude control systems, angular displacement measuring
821
- systems, and angular rate measuring systems are defined. A stadard specification
822
- format guide for the preparation of a single-axis CVG is provided. A complilation
823
- of recommended procedures for testing a CVG, derived from those presently
824
- used in the industry, is also provided. Informative annexes cover CVG design
825
- features and theoretical principles of operation. Learn More 1431-2004\/Cor
826
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
827
- Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
828
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
829
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
830
- spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
831
- The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
832
- to angular rate inputs up to______ degrees per second, a switch closure(s)
833
- at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
834
- second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
835
- Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
747
+ extent necessary to define the gyro performance. Sponsor Committee AES\/GA
748
+ - Gyro Accelerometer Panel Learn More Status Inactive-Reserved Standard PAR
749
+ Approval 1979-12-28 Board Approval 1988-08-17 History ANSI Approved: 1989-05-04
750
+ ANSI Withdrawn Date: 2016-08-19 Published: 1989-06-05 Reaffirmed: 2011-12-07
751
+ Inactivated Date: 2022-03-24 Working Group Details Society IEEE Aerospace
752
+ and Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro
753
+ Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working Group
754
+ Learn More IEEE Program Manager Soo Kim Contact Working Group Chair Harry
755
+ Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
756
+ Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
757
+ Coriolis Vibratory Gyros This standard defines requirements and test procedures
758
+ for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
759
+ control systems, angular displacement measuring systems, and angular rate
760
+ measuring systems. Informative annexes cover CVG design features and theoretical
761
+ principles of operation. Learn More 1293-2018 IEEE Standard Specification
762
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
763
+ The specification and test requirements for a linear, single-axis, nongyroscopic
764
+ accelerometer for use in inertial navigation, guidance, and leveling systems
765
+ are defined. A standard specification guide and a compilation of recommended
766
+ test procedures for such accelerometers are provided. Informative annexes
767
+ are given on the various types of such accelerometers (force or pendulous
768
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
769
+ and error effects, on filtering, noise, and transient analysis techniques,
770
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
771
+ and shock test analyses, and geophysical effects in inertial instrument testing).
772
+ Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
773
+ definitions relating to inertial sensors are presented in this standard. Usage
774
+ as understood by the inertial sensor community is given preference over general
775
+ technical usage of the terms herein. The criterion for inclusion of a term
776
+ and its definition in this standard is usefulness as related to inertial sensor
777
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
778
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
779
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
780
+ attitude control systems, angular displacement measuring systems, and angular
781
+ rate measuring systems are defined. The test procedures are derived from those
782
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
783
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
784
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
785
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
786
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
787
+ linear displacement measuring systems, and linear rate measuring systems are
788
+ defined. The specification format guide and test procedure standard applies
789
+ to force-rebalance accelerometers (pendulous or translational proof mass),
790
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
791
+ range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
792
+ Standard for Inertial Sensor Terminology Terms and definitions relating to
793
+ inertial senors are presented in this standard. Usage as understood by the
794
+ inertial sensor community is given preference over general technical usage
795
+ of the terms herein. The criterion for inclusion of a term and its definition
796
+ in this standard is usefulness as related to inertial sensor technology. Learn
797
+ More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
798
+ for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
799
+ for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
800
+ in attitude control systems, angular displacement measuring systems, and angular
801
+ rate measuring systems are defined. A standard specification format guide
802
+ for the preparation of a single-axis IFOG is provided. A compilation of recommended
803
+ procedures for testing a fiber optic gyro, derived from those presently used
804
+ in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
805
+ Specification Format Guide and Test Procedure for Single-Axis Interferometric
806
+ Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
807
+ 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
808
+ Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
809
+ 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
810
+ and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
811
+ Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
812
+ Specification and test requirements for a single-axis Coriolis vibratory gyro
813
+ (CVG) for use as a sensor in attitude control systems, angular displacement
814
+ measuring systems, and angular rate measuring systems are defined. A stadard
815
+ specification format guide for the preparation of a single-axis CVG is provided.
816
+ A complilation of recommended procedures for testing a CVG, derived from those
817
+ presently used in the industry, is also provided. Informative annexes cover
818
+ CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
819
+ 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
820
+ Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
821
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
822
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
823
+ instrumentation, test facilities, and data analysis techniques used in inertial
824
+ sensor testing are described in this recommended practice. Learn More 292-1969
825
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
826
+ Gyros This specification defines the requirements for a single-degree-of-freedom
827
+ spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
828
+ The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
829
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
830
+ at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
831
+ second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
832
+ Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
836
833
  from those currently in use, including test conditions to be considered, are
837
834
  compiled. In some cases alternate methods for measuring a performance characteristic
838
835
  have been included. This standard is intended to be a guide in the preparation
@@ -859,7 +856,14 @@ http_interactions:
859
856
  Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
860
857
  - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
861
858
  are made by this corrigendum to material already published in IEEE Std 529-1980.
862
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
859
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
860
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
861
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
862
+ displacement measuring systems, and angular rate measuring systems are defined.
863
+ A standard specification format guide for the preparation of a single-axis
864
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
865
+ derived from those presently used in the industry, is also provided. Learn
866
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
863
867
  for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
864
868
  and Displacement A guide is presented for the preparation of a specification
865
869
  and test procedure for an inertial angular sensor that provides a common meeting
@@ -908,14 +912,19 @@ http_interactions:
908
912
  IEEE is the world\u2019s largest technical professional organization dedicated
909
913
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
910
914
  up for our monthly newsletter to learn about new developments, including resources,
911
- insights and more. "}},{"id":"3fc0c715deec41762b0998457967e6feb2e27945928e2467bfb2f2923a4976a89ba4567595790403dcd8f650e2906a80c9826aa4cd52d5af78f7195707928ce0","fields":{"meta_keywords_la":["Aerospace
912
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
913
- specification format guide for the preparation of a rate-integrating gyro
914
- specification that provides a common meeting ground of terminology and practice
915
- for manufacturers and users is presented. A compilation of recommended procedures
916
- for testing a rate-integrating gyro is given.","meta_topic_la":["Aerospace
917
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/517\/760\/","doc_title_t":"IEEE
918
- SA - IEEE 517-1974","doc_text_t":"IEEE SA - IEEE 517-1974 IEEE.org IEEE Xplore
915
+ insights and more. "}},{"id":"078cadb336c908939e58048dc80abc0e41d35a0b3fe16dd00a123a693916293353a5cbc79f3993b1f71bfe11e1d790d46b887a980a03ef635f23e8ac89da4925","fields":{"meta_keywords_la":["Aerospace
916
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"This
917
+ recommended practice describes the conduct and analysis of precision tests
918
+ that are to be performed on linear accelerometers using centrifuge techniques.
919
+ The term \u201cprecision,\u201d in this context, refers to tests that are
920
+ conducted to evaluate accelerometer parameters, as opposed to those conducted
921
+ to establish environmental survivability only. Evaluation may take the form
922
+ of determining the coefficients of the accelerometer''s model equation, except
923
+ for bias and scale factor, which are most accurately determined by static
924
+ multi-position tests. Alternatively, evaluation may only establish that the
925
+ accelerometer output complies with specific error limit criteria.","meta_topic_la":["Aerospace
926
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/836\/3449\/","doc_title_t":"IEEE
927
+ SA - IEEE 836-2009","doc_text_t":"IEEE SA - IEEE 836-2009 IEEE.org IEEE Xplore
919
928
  Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
920
929
  Standards Search Standards Standards Development Standards Adoption Choose
921
930
  from the many ways to access IEEE SA Standards. Choose from individual or
@@ -926,8 +935,8 @@ http_interactions:
926
935
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
927
936
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
928
937
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
929
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
930
- standards-related solutions to help drive awareness, activation, and adoption.
938
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
939
+ of standards-related solutions to help drive awareness, activation, and adoption.
931
940
  Providing support services to help manage the day-to-day operations of industry
932
941
  groups, allowing key stakeholders to focus on the work at hand. Focused on
933
942
  development and implementation of rigorous conformity assessment programs
@@ -969,112 +978,97 @@ http_interactions:
969
978
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
970
979
  newsletter and keep up to date on the latest standards, event, and activities.
971
980
  Get the standards you need. Select from individual standards or standards
972
- bundles. MAC Address Inactive-Reserved Standard IEEE 517-1974 IEEE Standard
973
- Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
974
- Rate-Integrating Gyros Purchase Access via Subscription Home Standards IEEE
975
- 517-1974 A specification format guide for the preparation of a rate-integrating
976
- gyro specification that provides a common meeting ground of terminology and
977
- practice for manufacturers and users is presented. A compilation of recommended
978
- procedures for testing a rate-integrating gyro is given. Sponsor Committee
979
- AES\/GA - Gyro Accelerometer Panel Learn More Status Inactive-Reserved Standard
980
- Board Approval 1973-12-13 History ANSI Approved: 1983-05-30 Published: 1974-10-17
981
- Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25 Additional Resources Erratas
982
- 517-1974_errata.pdf Working Group Details Society IEEE Aerospace and Electronic
983
- Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
984
- Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
985
- IEEE Program Manager Dan Perez Contact Working Group Chair Harry Davis Active
986
- Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
987
- Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
988
- Vibratory Gyros This standard defines requirements and test procedures for
989
- a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
990
- control systems, angular displacement measuring systems, and angular rate
991
- measuring systems. Informative annexes cover CVG design features and theoretical
992
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
993
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
994
- The specification and test requirements for a linear, single-axis, nongyroscopic
995
- accelerometer for use in inertial navigation, guidance, and leveling systems
996
- are defined. A standard specification guide and a compilation of recommended
997
- test procedures for such accelerometers are provided. Informative annexes
998
- are given on the various types of such accelerometers (force or pendulous
999
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1000
- and error effects, on filtering, noise, and transient analysis techniques,
1001
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
1002
- and shock test analyses, and geophysical effects in inertial instrument testing).
1003
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
1004
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
1005
- equipment, instrumentation, test facilities, and data analysis techniques
1006
- used in inertial sensor testing are described in this recommended practice.
1007
- Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1008
- definitions relating to inertial sensors are presented in this standard. Usage
1009
- as understood by the inertial sensor community is given preference over general
1010
- technical usage of the terms herein. The criterion for inclusion of a term
1011
- and its definition in this standard is usefulness as related to inertial sensor
1012
- technology. Learn More 647-2006 IEEE Standard Specification Format Guide and
1013
- Test Procedure for Single-Axis Laser Gyros Specification and test requirements
1014
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
1015
- systems, angular displacement measuring systems, and angular rate measuring
1016
- systems are defined. A standard specification format guide for the preparation
1017
- of a single-axis RLG is provided. A compilation of recommended procedures
1018
- for testing an RLG, derived from those presently used in the industry, is
1019
- also provided. Learn More 813-1988 IEEE Specification Format Guide and Test
1020
- Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros A format guide
1021
- for the preparation of a two-degree-of-freedom dynamically tuned gyro (DTG)
1022
- specification is given that provides a common ground of terminology and practice
1023
- for manufacturers and users. A compilation of recommended procedures for testing
1024
- a DTG is also given. The requirements and test procedures are defined in terms
1025
- unique to the DTG. They cover applications of the gyro as an angular motion
1026
- sensor in navigation and control systems. They apply to two modes of use:
1027
- (1) as a strap-down sensor in operating environments typical of aircraft and
1028
- missile applications, and (2) as a sensor in gimballed platform applications
1029
- in which the dynamic angular inputs to which the gyro is subjected are benign
1030
- relative to the accuracy required. In the case of the strap-down DTG, the
1031
- characteristics of the external capture loops are considered to the extent
1032
- necessary to define the gyro performance. Learn More 952-2020 IEEE Standard
1033
- for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros Specification
1034
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
1035
- for use as a sensor in attitude control systems, angular displacement measuring
1036
- systems, and angular rate measuring systems are defined. The test procedures
1037
- are derived from those presently used in the industry. Learn More 1293-1998\/Cor
1038
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Linear,Single-Axis,
1039
- Nongyroscopic Accelerometers Corrigendum 1: Changes to Annex K and Annex L
1040
- Corrigendum to IEEE Std 1293-1998. Specification and test requirements for
1041
- linear, single-axis, nongyroscopic accelerometers for use as a sensor in attitude
1042
- control systems, linear displacement measuring systems, and linear rate measuring
1043
- systems are defined. The specification format guide and test procedure standard
1044
- applies to force-rebalance accelerometers (pendulous or translational proof
1045
- mass), vibrating beam accelerometers (VBAs), and micromechanical accelerometers
1046
- that range from lesser accuracy to high accuracy devices. Learn More 528-2001
1047
- IEEE Standard for Inertial Sensor Terminology Terms and definitions relating
1048
- to inertial senors are presented in this standard. Usage as understood by
1049
- the inertial sensor community is given preference over general technical usage
1050
- of the terms herein. The criterion for inclusion of a term and its definition
981
+ bundles. MAC Address Inactive-Reserved Standard IEEE 836-2009 IEEE Recommended
982
+ Practice for Precision Centrifuge Testing of Linear Accelerometers Purchase
983
+ Access via Subscription Home Standards IEEE 836-2009 This recommended practice
984
+ describes the conduct and analysis of precision tests that are to be performed
985
+ on linear accelerometers using centrifuge techniques. The term \u201cprecision,\u201d
986
+ in this context, refers to tests that are conducted to evaluate accelerometer
987
+ parameters, as opposed to those conducted to establish environmental survivability
988
+ only. Evaluation may take the form of determining the coefficients of the
989
+ accelerometer''s model equation, except for bias and scale factor, which are
990
+ most accurately determined by static multi-position tests. Alternatively,
991
+ evaluation may only establish that the accelerometer output complies with
992
+ specific error limit criteria. Sponsor Committee AES\/GA - Gyro Accelerometer
993
+ Panel Learn More Status Inactive-Reserved Standard PAR Approval 2003-03-20
994
+ Superseded by 836-2009 Superseding 836-2009 Board Approval 2009-06-17 History
995
+ ANSI Approved: 2009-10-08 Published: 2009-09-17 Inactivated Date: 2020-03-05
996
+ Working Group Details Society IEEE Aerospace and Electronic Systems Society
997
+ Learn More Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More
998
+ Working Group SENSR_WG - Sensors Working Group Learn More IEEE Program Manager
999
+ Soo Kim Contact Working Group Chair Harry Davis Active Projects Active Standards
1000
+ Superseded Standards Inactive-Withdrawn Standards Inactive-Reserved Standards
1001
+ P1431 Standard for Specifying and Testing Coriolis Vibratory Gyros This standard
1002
+ defines requirements and test procedures for a single-axis Coriolis vibratory
1003
+ gyro (CVG) for use as a sensor in attitude control systems, angular displacement
1004
+ measuring systems, and angular rate measuring systems. Informative annexes
1005
+ cover CVG design features and theoretical principles of operation. Learn More
1006
+ 1293-2018 IEEE Standard Specification Format Guide and Test Procedure for
1007
+ Linear Single-Axis, Nongyroscopic Accelerometers The specification and test
1008
+ requirements for a linear, single-axis, nongyroscopic accelerometer for use
1009
+ in inertial navigation, guidance, and leveling systems are defined. A standard
1010
+ specification guide and a compilation of recommended test procedures for such
1011
+ accelerometers are provided. Informative annexes are given on the various
1012
+ types of such accelerometers (force or pendulous torque rebalance with analog
1013
+ or digital output, vibrating beam, and micromechanical) and error effects,
1014
+ on filtering, noise, and transient analysis techniques, and on calibration
1015
+ and modeling techniques (multipoint tumble analysis, vibration and shock test
1016
+ analyses, and geophysical effects in inertial instrument testing). Learn More
1017
+ 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and definitions
1018
+ relating to inertial sensors are presented in this standard. Usage as understood
1019
+ by the inertial sensor community is given preference over general technical
1020
+ usage of the terms herein. The criterion for inclusion of a term and its definition
1051
1021
  in this standard is usefulness as related to inertial sensor technology. Learn
1052
- More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
1053
- for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
1054
- for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
1055
- in attitude control systems, angular displacement measuring systems, and angular
1056
- rate measuring systems are defined. A standard specification format guide
1057
- for the preparation of a single-axis IFOG is provided. A compilation of recommended
1058
- procedures for testing a fiber optic gyro, derived from those presently used
1059
- in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
1060
- Specification Format Guide and Test Procedure for Single-Axis Interferometric
1061
- Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
1062
- 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
1063
- Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
1064
- 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
1065
- and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
1066
- Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
1067
- Specification and test requirements for a single-axis Coriolis vibratory gyro
1068
- (CVG) for use as a sensor in attitude control systems, angular displacement
1069
- measuring systems, and angular rate measuring systems are defined. A stadard
1070
- specification format guide for the preparation of a single-axis CVG is provided.
1071
- A complilation of recommended procedures for testing a CVG, derived from those
1072
- presently used in the industry, is also provided. Informative annexes cover
1073
- CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1022
+ More 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
1023
+ Fiber Optic Gyros Specification and test procedures for a single-axis interferometric
1024
+ fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1025
+ displacement measuring systems, and angular rate measuring systems are defined.
1026
+ The test procedures are derived from those presently used in the industry.
1027
+ Learn More 1293-1998\/Cor 1-2008 IEEE Standard Specification Format Guide
1028
+ and Test Procedure for Linear,Single-Axis, Nongyroscopic Accelerometers Corrigendum
1029
+ 1: Changes to Annex K and Annex L Corrigendum to IEEE Std 1293-1998. Specification
1030
+ and test requirements for linear, single-axis, nongyroscopic accelerometers
1031
+ for use as a sensor in attitude control systems, linear displacement measuring
1032
+ systems, and linear rate measuring systems are defined. The specification
1033
+ format guide and test procedure standard applies to force-rebalance accelerometers
1034
+ (pendulous or translational proof mass), vibrating beam accelerometers (VBAs),
1035
+ and micromechanical accelerometers that range from lesser accuracy to high
1036
+ accuracy devices. Learn More 528-2001 IEEE Standard for Inertial Sensor Terminology
1037
+ Terms and definitions relating to inertial senors are presented in this standard.
1038
+ Usage as understood by the inertial sensor community is given preference over
1039
+ general technical usage of the terms herein. The criterion for inclusion of
1040
+ a term and its definition in this standard is usefulness as related to inertial
1041
+ sensor technology. Learn More 952-1997 IEEE Standard Specification Format
1042
+ Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros
1043
+ Specification and test requirements for a single-axis interferometric fiber
1044
+ optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1045
+ displacement measuring systems, and angular rate measuring systems are defined.
1046
+ A standard specification format guide for the preparation of a single-axis
1047
+ IFOG is provided. A compilation of recommended procedures for testing a fiber
1048
+ optic gyro, derived from those presently used in the industry, is also provided.
1049
+ Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
1050
+ Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
1051
+ 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
1052
+ 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
1053
+ in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
1054
+ 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
1055
+ More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
1056
+ Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
1057
+ and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
1058
+ use as a sensor in attitude control systems, angular displacement measuring
1059
+ systems, and angular rate measuring systems are defined. A stadard specification
1060
+ format guide for the preparation of a single-axis CVG is provided. A complilation
1061
+ of recommended procedures for testing a CVG, derived from those presently
1062
+ used in the industry, is also provided. Informative annexes cover CVG design
1063
+ features and theoretical principles of operation. Learn More 1431-2004\/Cor
1074
1064
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1075
1065
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1076
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
1077
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1066
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1067
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1068
+ instrumentation, test facilities, and data analysis techniques used in inertial
1069
+ sensor testing are described in this recommended practice. Learn More 292-1969
1070
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
1071
+ Gyros This specification defines the requirements for a single-degree-of-freedom
1078
1072
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1079
1073
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1080
1074
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -1088,90 +1082,109 @@ http_interactions:
1088
1082
  Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
1089
1083
  293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
1090
1084
  Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
1091
- to Table 1 on page 14 of IEEE Std 293-1969 Learn More 529-1980 Supplement
1092
- for Strapdown Applications to IEEE Standard Specification Format Guide and
1093
- Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
1094
- format guide for the preparation of a rate-integrating gyroscope specification
1095
- is presented. Recommended procedures for testing a rate-integrating gyroscope
1096
- are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
1097
- defines the requirements and test procedures in terms of characteristics unique
1098
- to the gyroscope or those applications in which the dynamic angular inputs
1099
- are significantly greater than the limitations identified in IEEE Std 517.
1100
- Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1101
- to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1102
- Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1103
- and 10.10.4.1 Corrections are made by this corrigendum to material already
1104
- published in IEEE Std 529-1980. Learn More 671-1985 IEEE Standard Specification
1105
- Format Guide and Test Procedure for Nongyroscopic Inertial Angular Sensors:
1106
- Jerk, Acceleration, Velocity, and Displacement A guide is presented for the
1107
- preparation of a specification and test procedure for an inertial angular
1108
- sensor that provides a common meeting ground of terminology and practice for
1109
- manufacturers and users of an array of sensors that have been developed to
1110
- meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1111
- procedure for verifying that the specifications have been met is given. The
1112
- standard is not intended to compete with existing standards for specific devices
1113
- with highly specific models and error sources, such as spring-restrained rate
1114
- gyros, but to provide a uniform guide for those inertial angular sensors that
1115
- have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1116
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1117
- Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1118
- Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1119
- provides specifications and test requirements for a non-gyroscopic inertial
1120
- angular sensor that may measure angular jerk, acceleration, rate, or displacement
1121
- with or without response down to zero frequency. A standard specification
1122
- format is provided. A compilation of recommended test procedures, derived
1123
- from those presently used in the industry, is also provided. Informative annexes
1124
- cover design features and theoretical principles of operation. This corrigendum
1125
- makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1126
- to add a subclause that was inadvertently left out, and to renumber the existing
1127
- subclauses. Changes are also being made to fix the block diagrams in Annex
1128
- A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1129
- More 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of
1130
- Linear Accelerometers This recommended practice describes the conduct and
1131
- analysis of precision tests that are to be performed on linear accelerometers
1132
- using centrifuge techniques. The term u201cprecision,u201d in this context,
1133
- refers to tests that are conducted to evaluate accelerometer parameters, as
1134
- opposed to those conducted to establish environmental survivability only.
1135
- Evaluation may take the form of determining the coefficients of the accelerometer''s
1136
- model equation, except for bias and scale factor, which are most accurately
1137
- determined by static multi-position tests. Alternatively, evaluation may only
1138
- establish that the accelerometer output complies with specific error limit
1139
- criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1140
- Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1141
- Policies & Procedures Contact Us Board of Governors About Board of Governors
1142
- Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1143
- Authority Committee Strategic Planning Coordination Committee Standards Board
1144
- About Standards Board Board Approvals Audit Committee New Standards Committee
1145
- Patent Committee Procedures Committee Standards Review Committee News & Events
1146
- News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1147
- Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1148
- Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1149
- of this website signifies your agreement to the IEEE Terms and Conditions
1150
- . A not-for-profit organization, IEEE is the world\u2019s largest technical
1151
- professional organization dedicated to advancing technology for the benefit
1152
- of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1153
- about new developments, including resources, insights and more. "}},{"id":"a674d52e409083c2a3e8a7cd0e76347d823ce81a54877277a2405ec1c0873b970f04bfcd394962998a1e67920381e7469c4a930cc7428a98b5d8c7018f5432c1","fields":{"meta_keywords_la":["Aerospace
1154
- Electronics,Power and Energy"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
1155
- specification format guide for the preparation of a rate-integrating gyroscope
1156
- specification is presented. Recommended procedures for testing a rate-integrating
1157
- gyroscope are compiled. This standard, when combined with IEEE Std 517-1974
1158
- (R1980), defines the requirements and test procedures in terms of characteristics
1159
- unique to the gyroscope or those applications in which the dynamic angular
1160
- inputs are significantly greater than the limitations identified in IEEE Std
1161
- 517.","meta_topic_la":["Aerospace Electronics,Power and Energy"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/529\/781\/","doc_title_t":"IEEE
1162
- SA - IEEE 529-1980","doc_text_t":"IEEE SA - IEEE 529-1980 IEEE.org IEEE Xplore
1163
- Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
1164
- Standards Search Standards Standards Development Standards Adoption Choose
1165
- from the many ways to access IEEE SA Standards. Choose from individual or
1166
- organizational access options to get the standards you need. Find the standards
1085
+ to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
1086
+ Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1087
+ Rate-Integrating Gyros A specification format guide for the preparation of
1088
+ a rate-integrating gyro specification that provides a common meeting ground
1089
+ of terminology and practice for manufacturers and users is presented. A compilation
1090
+ of recommended procedures for testing a rate-integrating gyro is given. Learn
1091
+ More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
1092
+ Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
1093
+ Gyros A specification format guide for the preparation of a rate-integrating
1094
+ gyroscope specification is presented. Recommended procedures for testing a
1095
+ rate-integrating gyroscope are compiled. This standard, when combined with
1096
+ IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
1097
+ terms of characteristics unique to the gyroscope or those applications in
1098
+ which the dynamic angular inputs are significantly greater than the limitations
1099
+ identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
1100
+ Supplement for Strapdown Applications to IEEE Standard Specification Format
1101
+ Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
1102
+ - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
1103
+ are made by this corrigendum to material already published in IEEE Std 529-1980.
1104
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
1105
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
1106
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
1107
+ displacement measuring systems, and angular rate measuring systems are defined.
1108
+ A standard specification format guide for the preparation of a single-axis
1109
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
1110
+ derived from those presently used in the industry, is also provided. Learn
1111
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
1112
+ for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1113
+ and Displacement A guide is presented for the preparation of a specification
1114
+ and test procedure for an inertial angular sensor that provides a common meeting
1115
+ ground of terminology and practice for manufacturers and users of an array
1116
+ of sensors that have been developed to meet needs not easily met by traditional
1117
+ spinning-rotor gyroscopes. A test procedure for verifying that the specifications
1118
+ have been met is given. The standard is not intended to compete with existing
1119
+ standards for specific devices with highly specific models and error sources,
1120
+ such as spring-restrained rate gyros, but to provide a uniform guide for those
1121
+ inertial angular sensors that have not been covered elsewhere. Learn More
1122
+ 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test Procedure
1123
+ for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1124
+ and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and Annex A Sensor
1125
+ Dynamic Block Diagrams IEEE Std 671-1985 provides specifications and test
1126
+ requirements for a non-gyroscopic inertial angular sensor that may measure
1127
+ angular jerk, acceleration, rate, or displacement with or without response
1128
+ down to zero frequency. A standard specification format is provided. A compilation
1129
+ of recommended test procedures, derived from those presently used in the industry,
1130
+ is also provided. Informative annexes cover design features and theoretical
1131
+ principles of operation. This corrigendum makes changes to 4.7.2.6 to delete
1132
+ a sentence that does not belong there, to add a subclause that was inadvertently
1133
+ left out, and to renumber the existing subclauses. Changes are also being
1134
+ made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
1135
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
1136
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
1137
+ A format guide for the preparation of a two-degree-of-freedom dynamically
1138
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
1139
+ and practice for manufacturers and users. A compilation of recommended procedures
1140
+ for testing a DTG is also given. The requirements and test procedures are
1141
+ defined in terms unique to the DTG. They cover applications of the gyro as
1142
+ an angular motion sensor in navigation and control systems. They apply to
1143
+ two modes of use: (1) as a strap-down sensor in operating environments typical
1144
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
1145
+ applications in which the dynamic angular inputs to which the gyro is subjected
1146
+ are benign relative to the accuracy required. In the case of the strap-down
1147
+ DTG, the characteristics of the external capture loops are considered to the
1148
+ extent necessary to define the gyro performance. Learn More Facebook Twitter
1149
+ LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
1150
+ Distributor Program Training & Development Policies & Procedures Contact Us
1151
+ Board of Governors About Board of Governors Awards Committee Corporate Advisory
1152
+ Group Industry Connections Committee Registration Authority Committee Strategic
1153
+ Planning Coordination Committee Standards Board About Standards Board Board
1154
+ Approvals Audit Committee New Standards Committee Patent Committee Procedures
1155
+ Committee Standards Review Committee News & Events News IEEE SA Newsletter
1156
+ Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
1157
+ IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
1158
+ Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
1159
+ your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
1160
+ IEEE is the world\u2019s largest technical professional organization dedicated
1161
+ to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1162
+ up for our monthly newsletter to learn about new developments, including resources,
1163
+ insights and more. "}},{"id":"1f454c3c1d1b8225381c03b93f6289bb9a62e4db6b8208aa0e9403d764b40eaf5545f19a40f487252dbd1c193775b8f344b93ef95bb161c8996090a798bf7ef3","fields":{"meta_keywords_la":["Aerospace
1164
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"The
1165
+ specification and test requirements for a linear, single-axis, nongyroscopic
1166
+ accelerometer for use in inertial navigation, guidance, and leveling systems
1167
+ are defined. A standard specification guide and a compilation of recommended
1168
+ test procedures for such accelerometers are provided. Informative annexes
1169
+ are given on the various types of such accelerometers (force or pendulous
1170
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1171
+ and error effects, on filtering, noise, and transient analysis techniques,
1172
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
1173
+ and shock test analyses, and geophysical effects in inertial instrument testing).","meta_topic_la":["Aerospace
1174
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/","doc_title_t":"IEEE
1175
+ SA - IEEE 1293-2018","doc_text_t":"IEEE SA - IEEE 1293-2018 IEEE.org IEEE
1176
+ Xplore Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards
1177
+ Access Standards Search Standards Standards Development Standards Adoption
1178
+ Choose from the many ways to access IEEE SA Standards. Choose from individual
1179
+ or organizational access options to get the standards you need. Find the standards
1167
1180
  you\u2019re looking for. Get involved in the development of market-driven
1168
1181
  technology standards with proven expertise and dedicated support. Learn more
1169
1182
  about how to adopt IEEE standards. Products & Programs Alliance Management
1170
1183
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
1171
1184
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
1172
1185
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
1173
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
1174
- standards-related solutions to help drive awareness, activation, and adoption.
1186
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
1187
+ of standards-related solutions to help drive awareness, activation, and adoption.
1175
1188
  Providing support services to help manage the day-to-day operations of industry
1176
1189
  groups, allowing key stakeholders to focus on the work at hand. Focused on
1177
1190
  development and implementation of rigorous conformity assessment programs
@@ -1213,70 +1226,36 @@ http_interactions:
1213
1226
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
1214
1227
  newsletter and keep up to date on the latest standards, event, and activities.
1215
1228
  Get the standards you need. Select from individual standards or standards
1216
- bundles. MAC Address Inactive-Reserved Standard IEEE 529-1980 Supplement for
1217
- Strapdown Applications to IEEE Standard Specification Format Guide and Test
1218
- Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros Purchase Access
1219
- via Subscription Home Standards IEEE 529-1980 A specification format guide
1220
- for the preparation of a rate-integrating gyroscope specification is presented.
1221
- Recommended procedures for testing a rate-integrating gyroscope are compiled.
1222
- This standard, when combined with IEEE Std 517-1974 (R1980), defines the requirements
1223
- and test procedures in terms of characteristics unique to the gyroscope or
1224
- those applications in which the dynamic angular inputs are significantly greater
1225
- than the limitations identified in IEEE Std 517. Sponsor Committee AES\/GA
1226
- - Gyro Accelerometer Panel Learn More Status Inactive-Reserved Standard Corrigendum
1227
- 529-1980\/Cor 1-2017 Board Approval 1979-09-27 History ANSI Approved: 1983-05-05
1228
- Published: 1981-01-29 Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25
1229
- Additional Resources Erratas 529-1980_errata.pdf Working Group Details Society
1230
- IEEE Aerospace and Electronic Systems Society Learn More Sponsor Committee
1231
- AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors
1232
- Working Group Learn More IEEE Program Manager Dan Perez Contact Working Group
1233
- Chair Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1234
- Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
1235
- Coriolis Vibratory Gyros This standard defines requirements and test procedures
1236
- for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1229
+ bundles. MAC Address Active Standard IEEE 1293-2018 IEEE Standard Specification
1230
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1231
+ Purchase Access via Subscription Home Standards IEEE 1293-2018 The specification
1232
+ and test requirements for a linear, single-axis, nongyroscopic accelerometer
1233
+ for use in inertial navigation, guidance, and leveling systems are defined.
1234
+ A standard specification guide and a compilation of recommended test procedures
1235
+ for such accelerometers are provided. Informative annexes are given on the
1236
+ various types of such accelerometers (force or pendulous torque rebalance
1237
+ with analog or digital output, vibrating beam, and micromechanical) and error
1238
+ effects, on filtering, noise, and transient analysis techniques, and on calibration
1239
+ and modeling techniques (multipoint tumble analysis, vibration and shock test
1240
+ analyses, and geophysical effects in inertial instrument testing). Sponsor
1241
+ Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Active Standard
1242
+ PAR Approval 2012-11-02 Superseding 1293-1998 Board Approval 2018-10-23 History
1243
+ Published: 2019-02-28 Working Group Details Society IEEE Aerospace and Electronic
1244
+ Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1245
+ Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1246
+ IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
1247
+ Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1248
+ Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1249
+ Vibratory Gyros This standard defines requirements and test procedures for
1250
+ a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1237
1251
  control systems, angular displacement measuring systems, and angular rate
1238
1252
  measuring systems. Informative annexes cover CVG design features and theoretical
1239
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
1240
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1241
- The specification and test requirements for a linear, single-axis, nongyroscopic
1242
- accelerometer for use in inertial navigation, guidance, and leveling systems
1243
- are defined. A standard specification guide and a compilation of recommended
1244
- test procedures for such accelerometers are provided. Informative annexes
1245
- are given on the various types of such accelerometers (force or pendulous
1246
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1247
- and error effects, on filtering, noise, and transient analysis techniques,
1248
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
1249
- and shock test analyses, and geophysical effects in inertial instrument testing).
1250
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
1251
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
1252
- equipment, instrumentation, test facilities, and data analysis techniques
1253
- used in inertial sensor testing are described in this recommended practice.
1254
- Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1255
- definitions relating to inertial sensors are presented in this standard. Usage
1256
- as understood by the inertial sensor community is given preference over general
1257
- technical usage of the terms herein. The criterion for inclusion of a term
1258
- and its definition in this standard is usefulness as related to inertial sensor
1259
- technology. Learn More 647-2006 IEEE Standard Specification Format Guide and
1260
- Test Procedure for Single-Axis Laser Gyros Specification and test requirements
1261
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
1262
- systems, angular displacement measuring systems, and angular rate measuring
1263
- systems are defined. A standard specification format guide for the preparation
1264
- of a single-axis RLG is provided. A compilation of recommended procedures
1265
- for testing an RLG, derived from those presently used in the industry, is
1266
- also provided. Learn More 813-1988 IEEE Specification Format Guide and Test
1267
- Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros A format guide
1268
- for the preparation of a two-degree-of-freedom dynamically tuned gyro (DTG)
1269
- specification is given that provides a common ground of terminology and practice
1270
- for manufacturers and users. A compilation of recommended procedures for testing
1271
- a DTG is also given. The requirements and test procedures are defined in terms
1272
- unique to the DTG. They cover applications of the gyro as an angular motion
1273
- sensor in navigation and control systems. They apply to two modes of use:
1274
- (1) as a strap-down sensor in operating environments typical of aircraft and
1275
- missile applications, and (2) as a sensor in gimballed platform applications
1276
- in which the dynamic angular inputs to which the gyro is subjected are benign
1277
- relative to the accuracy required. In the case of the strap-down DTG, the
1278
- characteristics of the external capture loops are considered to the extent
1279
- necessary to define the gyro performance. Learn More 952-2020 IEEE Standard
1253
+ principles of operation. Learn More 528-2019 IEEE Standard for Inertial Sensor
1254
+ Terminology Terms and definitions relating to inertial sensors are presented
1255
+ in this standard. Usage as understood by the inertial sensor community is
1256
+ given preference over general technical usage of the terms herein. The criterion
1257
+ for inclusion of a term and its definition in this standard is usefulness
1258
+ as related to inertial sensor technology. Learn More 952-2020 IEEE Standard
1280
1259
  for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros Specification
1281
1260
  and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
1282
1261
  for use as a sensor in attitude control systems, angular displacement measuring
@@ -1320,243 +1299,12 @@ http_interactions:
1320
1299
  CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1321
1300
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1322
1301
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1323
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
1324
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1325
- spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1326
- The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1327
- to angular rate inputs up to______ degrees per second, a switch closure(s)
1328
- at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
1329
- second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
1330
- Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
1331
- from those currently in use, including test conditions to be considered, are
1332
- compiled. In some cases alternate methods for measuring a performance characteristic
1333
- have been included. This standard is intended to be a guide in the preparation
1334
- of Section 4 of a specification that follows the format of IEEE Std 292, Specification
1335
- Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
1336
- 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
1337
- Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
1338
- to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
1339
- Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1340
- Rate-Integrating Gyros A specification format guide for the preparation of
1341
- a rate-integrating gyro specification that provides a common meeting ground
1342
- of terminology and practice for manufacturers and users is presented. A compilation
1343
- of recommended procedures for testing a rate-integrating gyro is given. Learn
1344
- More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1345
- to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1346
- Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1347
- and 10.10.4.1 Corrections are made by this corrigendum to material already
1348
- published in IEEE Std 529-1980. Learn More 671-1985 IEEE Standard Specification
1349
- Format Guide and Test Procedure for Nongyroscopic Inertial Angular Sensors:
1350
- Jerk, Acceleration, Velocity, and Displacement A guide is presented for the
1351
- preparation of a specification and test procedure for an inertial angular
1352
- sensor that provides a common meeting ground of terminology and practice for
1353
- manufacturers and users of an array of sensors that have been developed to
1354
- meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1355
- procedure for verifying that the specifications have been met is given. The
1356
- standard is not intended to compete with existing standards for specific devices
1357
- with highly specific models and error sources, such as spring-restrained rate
1358
- gyros, but to provide a uniform guide for those inertial angular sensors that
1359
- have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1360
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1361
- Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1362
- Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1363
- provides specifications and test requirements for a non-gyroscopic inertial
1364
- angular sensor that may measure angular jerk, acceleration, rate, or displacement
1365
- with or without response down to zero frequency. A standard specification
1366
- format is provided. A compilation of recommended test procedures, derived
1367
- from those presently used in the industry, is also provided. Informative annexes
1368
- cover design features and theoretical principles of operation. This corrigendum
1369
- makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1370
- to add a subclause that was inadvertently left out, and to renumber the existing
1371
- subclauses. Changes are also being made to fix the block diagrams in Annex
1372
- A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1373
- More 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of
1374
- Linear Accelerometers This recommended practice describes the conduct and
1375
- analysis of precision tests that are to be performed on linear accelerometers
1376
- using centrifuge techniques. The term u201cprecision,u201d in this context,
1377
- refers to tests that are conducted to evaluate accelerometer parameters, as
1378
- opposed to those conducted to establish environmental survivability only.
1379
- Evaluation may take the form of determining the coefficients of the accelerometer''s
1380
- model equation, except for bias and scale factor, which are most accurately
1381
- determined by static multi-position tests. Alternatively, evaluation may only
1382
- establish that the accelerometer output complies with specific error limit
1383
- criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1384
- Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1385
- Policies & Procedures Contact Us Board of Governors About Board of Governors
1386
- Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1387
- Authority Committee Strategic Planning Coordination Committee Standards Board
1388
- About Standards Board Board Approvals Audit Committee New Standards Committee
1389
- Patent Committee Procedures Committee Standards Review Committee News & Events
1390
- News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1391
- Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1392
- Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1393
- of this website signifies your agreement to the IEEE Terms and Conditions
1394
- . A not-for-profit organization, IEEE is the world\u2019s largest technical
1395
- professional organization dedicated to advancing technology for the benefit
1396
- of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1397
- about new developments, including resources, insights and more. "}},{"id":"5aeb29f1e173895ec06817ac31c30346a78b19bac25d687dbdf0076af571b3da207db66e51b3210131b259579c184141df47fc570ecdb419cc84500bdcf99b6a","fields":{"meta_keywords_la":["Aerospace
1398
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Specification
1399
- and test requirements for a single-axis ring laser gyro (RLG) for use as a sensor
1400
- in attitude control systems, angular displacement measuring systems, and angular
1401
- rate measuring systems are defined. A standard specification format guide
1402
- for the preparation of a single-axis RLG is provided. A compilation of recommended
1403
- procedures for testing an RLG, derived from those presently used in the industry,
1404
- is also provided.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/647\/3134\/","doc_title_t":"IEEE
1405
- SA - IEEE 647-2006","doc_text_t":"IEEE SA - IEEE 647-2006 IEEE.org IEEE Xplore
1406
- Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
1407
- Standards Search Standards Standards Development Standards Adoption Choose
1408
- from the many ways to access IEEE SA Standards. Choose from individual or
1409
- organizational access options to get the standards you need. Find the standards
1410
- you\u2019re looking for. Get involved in the development of market-driven
1411
- technology standards with proven expertise and dedicated support. Learn more
1412
- about how to adopt IEEE standards. Products & Programs Alliance Management
1413
- Services Conformity Assessment & Certification IEEE SA Open Source Industry
1414
- Affiliate Network (IAN) Industry Connections The National Electrical Safety
1415
- Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
1416
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
1417
- standards-related solutions to help drive awareness, activation, and adoption.
1418
- Providing support services to help manage the day-to-day operations of industry
1419
- groups, allowing key stakeholders to focus on the work at hand. Focused on
1420
- development and implementation of rigorous conformity assessment programs
1421
- designed to help accelerate market adoption, reduce costs and more. A vendor-neutral,
1422
- inclusive, open source platform\u2014for all, from independent software developers
1423
- and start ups to industry, academic and research institutions. Open to consortia,
1424
- industry alliance or other industry organizations, looking to bring forward
1425
- specifications for standards development and market adoption. Facilitating
1426
- collaboration among organizations and individuals as they hone and refine
1427
- their thinking on rapidly changing technologies. Guidelines for practical
1428
- safeguarding during the installation, operation, and maintenance of electric
1429
- supply, communication lines and associated equipment. Assigns and maintains
1430
- unique identifiers and unambiguous names to objects for those wishing to register
1431
- them. Program for policymakers providing tailored standards information, access
1432
- to the IEEE SA standardization ecosystem, and standardization resources. Providing
1433
- global standards professionals the opportunity to observe the IEEE standards
1434
- development process and learn about technical areas of interest. See all the
1435
- programs, products, and services that IEEE SA has to offer. Focuses Artificial
1436
- Intelligence Systems (AIS) Connectivity & Telecom Energy Foundational Technologies
1437
- Healthcare and Life Sciences Mobility Government Engagement Strategic focuses
1438
- and industries where IEEE SA is raising the world\u2019s standards. Developing
1439
- accessible and sustainable approaches and solutions for practical application
1440
- of AIS principles and frameworks. Advancing robust, responsible, and affordable
1441
- connectivity. Enabling sustainable, efficient, and accessible energy through
1442
- technological advances on a global scale. Working to standardize seamless
1443
- and ubiquitous connectivity across all applications of connected technologies.
1444
- Focused on enabling affordable healthcare, access to medicine, and innovation
1445
- to improve overall global wellness. Working to help the evolving mobility
1446
- ecosystem address some of its greatest business opportunities that have the
1447
- potential to solve major societal challenges. Building bridges between the
1448
- worlds of technology, standards, and policy making. Get Involved Events IEEE
1449
- SA Membership How to Get Involved Learn about opportunities to engage with
1450
- IEEE SA. Join us at upcoming virtual or in-person events. Flexible membership
1451
- options that offer enhanced participation in IEEE SA activities, standards
1452
- development, and governance. There are many opportunities for participation,
1453
- find the right one for you. Resources Training & Development News IEEE SA
1454
- Newsletter Standards Store Training and communication resources to stay connected.
1455
- Individual and organizational effectiveness program to enable the success
1456
- of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
1457
- newsletter and keep up to date on the latest standards, event, and activities.
1458
- Get the standards you need. Select from individual standards or standards
1459
- bundles. MAC Address Active Standard IEEE 647-2006 IEEE Standard Specification
1460
- Format Guide and Test Procedure for Single-Axis Laser Gyros Purchase Access
1461
- via Subscription Home Standards IEEE 647-2006 Specification and test requirements
1462
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
1463
- systems, angular displacement measuring systems, and angular rate measuring
1464
- systems are defined. A standard specification format guide for the preparation
1465
- of a single-axis RLG is provided. A compilation of recommended procedures
1466
- for testing an RLG, derived from those presently used in the industry, is
1467
- also provided. Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn
1468
- More Status Active Standard PAR Approval 2001-05-30 Superseding 647-1995 Board
1469
- Approval 2006-03-30 History ANSI Approved: 2006-08-08 ANSI Withdrawn Date:
1470
- 2016-08-19 Published: 2006-09-18 Reaffirmed: 2011-12-07 Additional Resources
1471
- Erratas 647-2006_errata.pdf Working Group Details Society IEEE Aerospace and
1472
- Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1473
- Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1474
- IEEE Program Manager Dan Perez Contact Working Group Chair Harry Davis Active
1475
- Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1476
- Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1477
- Vibratory Gyros This standard defines requirements and test procedures for
1478
- a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1479
- control systems, angular displacement measuring systems, and angular rate
1480
- measuring systems. Informative annexes cover CVG design features and theoretical
1481
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
1482
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1483
- The specification and test requirements for a linear, single-axis, nongyroscopic
1484
- accelerometer for use in inertial navigation, guidance, and leveling systems
1485
- are defined. A standard specification guide and a compilation of recommended
1486
- test procedures for such accelerometers are provided. Informative annexes
1487
- are given on the various types of such accelerometers (force or pendulous
1488
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1489
- and error effects, on filtering, noise, and transient analysis techniques,
1490
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
1491
- and shock test analyses, and geophysical effects in inertial instrument testing).
1492
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
1493
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
1494
- equipment, instrumentation, test facilities, and data analysis techniques
1495
- used in inertial sensor testing are described in this recommended practice.
1496
- Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1497
- definitions relating to inertial sensors are presented in this standard. Usage
1498
- as understood by the inertial sensor community is given preference over general
1499
- technical usage of the terms herein. The criterion for inclusion of a term
1500
- and its definition in this standard is usefulness as related to inertial sensor
1501
- technology. Learn More 813-1988 IEEE Specification Format Guide and Test Procedure
1502
- for Two-Degree-of-Freedom Dynamically Tuned Gyros A format guide for the preparation
1503
- of a two-degree-of-freedom dynamically tuned gyro (DTG) specification is given
1504
- that provides a common ground of terminology and practice for manufacturers
1505
- and users. A compilation of recommended procedures for testing a DTG is also
1506
- given. The requirements and test procedures are defined in terms unique to
1507
- the DTG. They cover applications of the gyro as an angular motion sensor in
1508
- navigation and control systems. They apply to two modes of use: (1) as a strap-down
1509
- sensor in operating environments typical of aircraft and missile applications,
1510
- and (2) as a sensor in gimballed platform applications in which the dynamic
1511
- angular inputs to which the gyro is subjected are benign relative to the accuracy
1512
- required. In the case of the strap-down DTG, the characteristics of the external
1513
- capture loops are considered to the extent necessary to define the gyro performance.
1514
- Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
1515
- Fiber Optic Gyros Specification and test procedures for a single-axis interferometric
1516
- fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1517
- displacement measuring systems, and angular rate measuring systems are defined.
1518
- The test procedures are derived from those presently used in the industry.
1519
- Learn More 1293-1998\/Cor 1-2008 IEEE Standard Specification Format Guide
1520
- and Test Procedure for Linear,Single-Axis, Nongyroscopic Accelerometers Corrigendum
1521
- 1: Changes to Annex K and Annex L Corrigendum to IEEE Std 1293-1998. Specification
1522
- and test requirements for linear, single-axis, nongyroscopic accelerometers
1523
- for use as a sensor in attitude control systems, linear displacement measuring
1524
- systems, and linear rate measuring systems are defined. The specification
1525
- format guide and test procedure standard applies to force-rebalance accelerometers
1526
- (pendulous or translational proof mass), vibrating beam accelerometers (VBAs),
1527
- and micromechanical accelerometers that range from lesser accuracy to high
1528
- accuracy devices. Learn More 528-2001 IEEE Standard for Inertial Sensor Terminology
1529
- Terms and definitions relating to inertial senors are presented in this standard.
1530
- Usage as understood by the inertial sensor community is given preference over
1531
- general technical usage of the terms herein. The criterion for inclusion of
1532
- a term and its definition in this standard is usefulness as related to inertial
1533
- sensor technology. Learn More 952-1997 IEEE Standard Specification Format
1534
- Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros
1535
- Specification and test requirements for a single-axis interferometric fiber
1536
- optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1537
- displacement measuring systems, and angular rate measuring systems are defined.
1538
- A standard specification format guide for the preparation of a single-axis
1539
- IFOG is provided. A compilation of recommended procedures for testing a fiber
1540
- optic gyro, derived from those presently used in the industry, is also provided.
1541
- Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
1542
- Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
1543
- 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
1544
- 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
1545
- in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
1546
- 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
1547
- More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
1548
- Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
1549
- and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
1550
- use as a sensor in attitude control systems, angular displacement measuring
1551
- systems, and angular rate measuring systems are defined. A stadard specification
1552
- format guide for the preparation of a single-axis CVG is provided. A complilation
1553
- of recommended procedures for testing a CVG, derived from those presently
1554
- used in the industry, is also provided. Informative annexes cover CVG design
1555
- features and theoretical principles of operation. Learn More 1431-2004\/Cor
1556
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1557
- Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1558
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
1559
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1302
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1303
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1304
+ instrumentation, test facilities, and data analysis techniques used in inertial
1305
+ sensor testing are described in this recommended practice. Learn More 292-1969
1306
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
1307
+ Gyros This specification defines the requirements for a single-degree-of-freedom
1560
1308
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1561
1309
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1562
1310
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -1589,7 +1337,14 @@ http_interactions:
1589
1337
  Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
1590
1338
  - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
1591
1339
  are made by this corrigendum to material already published in IEEE Std 529-1980.
1592
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
1340
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
1341
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
1342
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
1343
+ displacement measuring systems, and angular rate measuring systems are defined.
1344
+ A standard specification format guide for the preparation of a single-axis
1345
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
1346
+ derived from those presently used in the industry, is also provided. Learn
1347
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
1593
1348
  for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1594
1349
  and Displacement A guide is presented for the preparation of a specification
1595
1350
  and test procedure for an inertial angular sensor that provides a common meeting
@@ -1613,12 +1368,25 @@ http_interactions:
1613
1368
  a sentence that does not belong there, to add a subclause that was inadvertently
1614
1369
  left out, and to renumber the existing subclauses. Changes are also being
1615
1370
  made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
1616
- and to add a missing symbol. Learn More 836-2009 IEEE Recommended Practice
1617
- for Precision Centrifuge Testing of Linear Accelerometers This recommended
1618
- practice describes the conduct and analysis of precision tests that are to
1619
- be performed on linear accelerometers using centrifuge techniques. The term
1620
- u201cprecision,u201d in this context, refers to tests that are conducted to
1621
- evaluate accelerometer parameters, as opposed to those conducted to establish
1371
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
1372
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
1373
+ A format guide for the preparation of a two-degree-of-freedom dynamically
1374
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
1375
+ and practice for manufacturers and users. A compilation of recommended procedures
1376
+ for testing a DTG is also given. The requirements and test procedures are
1377
+ defined in terms unique to the DTG. They cover applications of the gyro as
1378
+ an angular motion sensor in navigation and control systems. They apply to
1379
+ two modes of use: (1) as a strap-down sensor in operating environments typical
1380
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
1381
+ applications in which the dynamic angular inputs to which the gyro is subjected
1382
+ are benign relative to the accuracy required. In the case of the strap-down
1383
+ DTG, the characteristics of the external capture loops are considered to the
1384
+ extent necessary to define the gyro performance. Learn More 836-2009 IEEE
1385
+ Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
1386
+ This recommended practice describes the conduct and analysis of precision
1387
+ tests that are to be performed on linear accelerometers using centrifuge techniques.
1388
+ The term u201cprecision,u201d in this context, refers to tests that are conducted
1389
+ to evaluate accelerometer parameters, as opposed to those conducted to establish
1622
1390
  environmental survivability only. Evaluation may take the form of determining
1623
1391
  the coefficients of the accelerometer''s model equation, except for bias and
1624
1392
  scale factor, which are most accurately determined by static multi-position
@@ -1638,14 +1406,14 @@ http_interactions:
1638
1406
  IEEE is the world\u2019s largest technical professional organization dedicated
1639
1407
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1640
1408
  up for our monthly newsletter to learn about new developments, including resources,
1641
- insights and more. "}},{"id":"1e7fa450951b3af061c01809cb2a2b51676250c0d1331c7347e03c5433bf478168f717fe2f8de898a11955cc575ef729baee3a2c2e1be936f000d19dcd689a81","fields":{"meta_keywords_la":["Aerospace
1642
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Specification
1643
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
1644
- for use as a sensor in attitude control systems, angular displacement measuring
1645
- systems, and angular rate measuring systems are defined. The test procedures
1646
- are derived from those presently used in the industry.","meta_topic_la":["Aerospace
1647
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/952\/7496\/","doc_title_t":"IEEE
1648
- SA - IEEE 952-2020","doc_text_t":"IEEE SA - IEEE 952-2020 IEEE.org IEEE Xplore
1409
+ insights and more. "}},{"id":"3fc0c715deec41762b0998457967e6feb2e27945928e2467bfb2f2923a4976a89ba4567595790403dcd8f650e2906a80c9826aa4cd52d5af78f7195707928ce0","fields":{"meta_keywords_la":["Aerospace
1410
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
1411
+ specification format guide for the preparation of a rate-integrating gyro
1412
+ specification that provides a common meeting ground of terminology and practice
1413
+ for manufacturers and users is presented. A compilation of recommended procedures
1414
+ for testing a rate-integrating gyro is given.","meta_topic_la":["Aerospace
1415
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/517\/760\/","doc_title_t":"IEEE
1416
+ SA - IEEE 517-1974","doc_text_t":"IEEE SA - IEEE 517-1974 IEEE.org IEEE Xplore
1649
1417
  Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
1650
1418
  Standards Search Standards Standards Development Standards Adoption Choose
1651
1419
  from the many ways to access IEEE SA Standards. Choose from individual or
@@ -1656,8 +1424,8 @@ http_interactions:
1656
1424
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
1657
1425
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
1658
1426
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
1659
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
1660
- standards-related solutions to help drive awareness, activation, and adoption.
1427
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
1428
+ of standards-related solutions to help drive awareness, activation, and adoption.
1661
1429
  Providing support services to help manage the day-to-day operations of industry
1662
1430
  groups, allowing key stakeholders to focus on the work at hand. Focused on
1663
1431
  development and implementation of rigorous conformity assessment programs
@@ -1699,106 +1467,92 @@ http_interactions:
1699
1467
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
1700
1468
  newsletter and keep up to date on the latest standards, event, and activities.
1701
1469
  Get the standards you need. Select from individual standards or standards
1702
- bundles. MAC Address Active Standard IEEE 952-2020 IEEE Standard for Specifying
1703
- and Testing Single-Axis Interferometric Fiber Optic Gyros Purchase Access
1704
- via Subscription Home Standards IEEE 952-2020 Specification and test procedures
1470
+ bundles. MAC Address Inactive-Reserved Standard IEEE 517-1974 IEEE Standard
1471
+ Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1472
+ Rate-Integrating Gyros Purchase Access via Subscription Home Standards IEEE
1473
+ 517-1974 A specification format guide for the preparation of a rate-integrating
1474
+ gyro specification that provides a common meeting ground of terminology and
1475
+ practice for manufacturers and users is presented. A compilation of recommended
1476
+ procedures for testing a rate-integrating gyro is given. Sponsor Committee
1477
+ AES\/GA - Gyro Accelerometer Panel Learn More Status Inactive-Reserved Standard
1478
+ Board Approval 1973-12-13 History ANSI Approved: 1983-05-30 Published: 1974-10-17
1479
+ Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25 Additional Resources Errata
1480
+ 517-1974_errata.pdf Working Group Details Society IEEE Aerospace and Electronic
1481
+ Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1482
+ Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1483
+ IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
1484
+ Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1485
+ Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1486
+ Vibratory Gyros This standard defines requirements and test procedures for
1487
+ a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1488
+ control systems, angular displacement measuring systems, and angular rate
1489
+ measuring systems. Informative annexes cover CVG design features and theoretical
1490
+ principles of operation. Learn More 1293-2018 IEEE Standard Specification
1491
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1492
+ The specification and test requirements for a linear, single-axis, nongyroscopic
1493
+ accelerometer for use in inertial navigation, guidance, and leveling systems
1494
+ are defined. A standard specification guide and a compilation of recommended
1495
+ test procedures for such accelerometers are provided. Informative annexes
1496
+ are given on the various types of such accelerometers (force or pendulous
1497
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1498
+ and error effects, on filtering, noise, and transient analysis techniques,
1499
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
1500
+ and shock test analyses, and geophysical effects in inertial instrument testing).
1501
+ Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1502
+ definitions relating to inertial sensors are presented in this standard. Usage
1503
+ as understood by the inertial sensor community is given preference over general
1504
+ technical usage of the terms herein. The criterion for inclusion of a term
1505
+ and its definition in this standard is usefulness as related to inertial sensor
1506
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
1507
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
1508
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
1509
+ attitude control systems, angular displacement measuring systems, and angular
1510
+ rate measuring systems are defined. The test procedures are derived from those
1511
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
1512
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
1513
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
1514
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
1515
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
1516
+ linear displacement measuring systems, and linear rate measuring systems are
1517
+ defined. The specification format guide and test procedure standard applies
1518
+ to force-rebalance accelerometers (pendulous or translational proof mass),
1519
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
1520
+ range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
1521
+ Standard for Inertial Sensor Terminology Terms and definitions relating to
1522
+ inertial senors are presented in this standard. Usage as understood by the
1523
+ inertial sensor community is given preference over general technical usage
1524
+ of the terms herein. The criterion for inclusion of a term and its definition
1525
+ in this standard is usefulness as related to inertial sensor technology. Learn
1526
+ More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
1527
+ for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
1705
1528
  for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
1706
1529
  in attitude control systems, angular displacement measuring systems, and angular
1707
- rate measuring systems are defined. The test procedures are derived from those
1708
- presently used in the industry. Sponsor Committee AES\/GA - Gyro Accelerometer
1709
- Panel Learn More Status Active Standard PAR Approval 2019-02-08 Superseding
1710
- 952-1997 Board Approval 2020-09-24 History Published: 2021-02-12 Working Group
1711
- Details Society IEEE Aerospace and Electronic Systems Society Learn More Sponsor
1712
- Committee AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG
1713
- - Sensors Working Group Learn More IEEE Program Manager Dan Perez Contact
1714
- Working Group Chair Harry Davis Active Projects Active Standards Superseded
1715
- Standards Inactive-Withdrawn Standards Inactive-Reserved Standards P1431 Standard
1716
- for Specifying and Testing Coriolis Vibratory Gyros This standard defines
1717
- requirements and test procedures for a single-axis Coriolis vibratory gyro
1530
+ rate measuring systems are defined. A standard specification format guide
1531
+ for the preparation of a single-axis IFOG is provided. A compilation of recommended
1532
+ procedures for testing a fiber optic gyro, derived from those presently used
1533
+ in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
1534
+ Specification Format Guide and Test Procedure for Single-Axis Interferometric
1535
+ Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
1536
+ 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
1537
+ Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
1538
+ 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
1539
+ and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
1540
+ Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
1541
+ Specification and test requirements for a single-axis Coriolis vibratory gyro
1718
1542
  (CVG) for use as a sensor in attitude control systems, angular displacement
1719
- measuring systems, and angular rate measuring systems. Informative annexes
1720
- cover CVG design features and theoretical principles of operation. Learn More
1721
- 1293-2018 IEEE Standard Specification Format Guide and Test Procedure for
1722
- Linear Single-Axis, Nongyroscopic Accelerometers The specification and test
1723
- requirements for a linear, single-axis, nongyroscopic accelerometer for use
1724
- in inertial navigation, guidance, and leveling systems are defined. A standard
1725
- specification guide and a compilation of recommended test procedures for such
1726
- accelerometers are provided. Informative annexes are given on the various
1727
- types of such accelerometers (force or pendulous torque rebalance with analog
1728
- or digital output, vibrating beam, and micromechanical) and error effects,
1729
- on filtering, noise, and transient analysis techniques, and on calibration
1730
- and modeling techniques (multipoint tumble analysis, vibration and shock test
1731
- analyses, and geophysical effects in inertial instrument testing). Learn More
1543
+ measuring systems, and angular rate measuring systems are defined. A stadard
1544
+ specification format guide for the preparation of a single-axis CVG is provided.
1545
+ A complilation of recommended procedures for testing a CVG, derived from those
1546
+ presently used in the industry, is also provided. Informative annexes cover
1547
+ CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1548
+ 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1549
+ Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1732
1550
  1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1733
1551
  Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1734
1552
  instrumentation, test facilities, and data analysis techniques used in inertial
1735
- sensor testing are described in this recommended practice. Learn More 528-2019
1736
- IEEE Standard for Inertial Sensor Terminology Terms and definitions relating
1737
- to inertial sensors are presented in this standard. Usage as understood by
1738
- the inertial sensor community is given preference over general technical usage
1739
- of the terms herein. The criterion for inclusion of a term and its definition
1740
- in this standard is usefulness as related to inertial sensor technology. Learn
1741
- More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
1742
- for Single-Axis Laser Gyros Specification and test requirements for a single-axis
1743
- ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
1744
- displacement measuring systems, and angular rate measuring systems are defined.
1745
- A standard specification format guide for the preparation of a single-axis
1746
- RLG is provided. A compilation of recommended procedures for testing an RLG,
1747
- derived from those presently used in the industry, is also provided. Learn
1748
- More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
1749
- Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
1750
- dynamically tuned gyro (DTG) specification is given that provides a common
1751
- ground of terminology and practice for manufacturers and users. A compilation
1752
- of recommended procedures for testing a DTG is also given. The requirements
1753
- and test procedures are defined in terms unique to the DTG. They cover applications
1754
- of the gyro as an angular motion sensor in navigation and control systems.
1755
- They apply to two modes of use: (1) as a strap-down sensor in operating environments
1756
- typical of aircraft and missile applications, and (2) as a sensor in gimballed
1757
- platform applications in which the dynamic angular inputs to which the gyro
1758
- is subjected are benign relative to the accuracy required. In the case of
1759
- the strap-down DTG, the characteristics of the external capture loops are
1760
- considered to the extent necessary to define the gyro performance. Learn More
1761
- 1293-1998\/Cor 1-2008 IEEE Standard Specification Format Guide and Test Procedure
1762
- for Linear,Single-Axis, Nongyroscopic Accelerometers Corrigendum 1: Changes
1763
- to Annex K and Annex L Corrigendum to IEEE Std 1293-1998. Specification and
1764
- test requirements for linear, single-axis, nongyroscopic accelerometers for
1765
- use as a sensor in attitude control systems, linear displacement measuring
1766
- systems, and linear rate measuring systems are defined. The specification
1767
- format guide and test procedure standard applies to force-rebalance accelerometers
1768
- (pendulous or translational proof mass), vibrating beam accelerometers (VBAs),
1769
- and micromechanical accelerometers that range from lesser accuracy to high
1770
- accuracy devices. Learn More 528-2001 IEEE Standard for Inertial Sensor Terminology
1771
- Terms and definitions relating to inertial senors are presented in this standard.
1772
- Usage as understood by the inertial sensor community is given preference over
1773
- general technical usage of the terms herein. The criterion for inclusion of
1774
- a term and its definition in this standard is usefulness as related to inertial
1775
- sensor technology. Learn More 952-1997 IEEE Standard Specification Format
1776
- Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros
1777
- Specification and test requirements for a single-axis interferometric fiber
1778
- optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1779
- displacement measuring systems, and angular rate measuring systems are defined.
1780
- A standard specification format guide for the preparation of a single-axis
1781
- IFOG is provided. A compilation of recommended procedures for testing a fiber
1782
- optic gyro, derived from those presently used in the industry, is also provided.
1783
- Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
1784
- Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
1785
- 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
1786
- 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
1787
- in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
1788
- 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
1789
- More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
1790
- Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
1791
- and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
1792
- use as a sensor in attitude control systems, angular displacement measuring
1793
- systems, and angular rate measuring systems are defined. A stadard specification
1794
- format guide for the preparation of a single-axis CVG is provided. A complilation
1795
- of recommended procedures for testing a CVG, derived from those presently
1796
- used in the industry, is also provided. Informative annexes cover CVG design
1797
- features and theoretical principles of operation. Learn More 1431-2004\/Cor
1798
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1799
- Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1800
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
1801
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1553
+ sensor testing are described in this recommended practice. Learn More 292-1969
1554
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
1555
+ Gyros This specification defines the requirements for a single-degree-of-freedom
1802
1556
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1803
1557
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1804
1558
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -1812,90 +1566,98 @@ http_interactions:
1812
1566
  Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
1813
1567
  293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
1814
1568
  Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
1815
- to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
1816
- Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1817
- Rate-Integrating Gyros A specification format guide for the preparation of
1818
- a rate-integrating gyro specification that provides a common meeting ground
1819
- of terminology and practice for manufacturers and users is presented. A compilation
1820
- of recommended procedures for testing a rate-integrating gyro is given. Learn
1821
- More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
1822
- Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
1823
- Gyros A specification format guide for the preparation of a rate-integrating
1824
- gyroscope specification is presented. Recommended procedures for testing a
1825
- rate-integrating gyroscope are compiled. This standard, when combined with
1826
- IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
1827
- terms of characteristics unique to the gyroscope or those applications in
1828
- which the dynamic angular inputs are significantly greater than the limitations
1829
- identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
1830
- Supplement for Strapdown Applications to IEEE Standard Specification Format
1831
- Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
1832
- - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
1833
- are made by this corrigendum to material already published in IEEE Std 529-1980.
1834
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
1835
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1836
- and Displacement A guide is presented for the preparation of a specification
1837
- and test procedure for an inertial angular sensor that provides a common meeting
1838
- ground of terminology and practice for manufacturers and users of an array
1839
- of sensors that have been developed to meet needs not easily met by traditional
1840
- spinning-rotor gyroscopes. A test procedure for verifying that the specifications
1841
- have been met is given. The standard is not intended to compete with existing
1842
- standards for specific devices with highly specific models and error sources,
1843
- such as spring-restrained rate gyros, but to provide a uniform guide for those
1844
- inertial angular sensors that have not been covered elsewhere. Learn More
1845
- 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test Procedure
1846
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1847
- and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and Annex A Sensor
1848
- Dynamic Block Diagrams IEEE Std 671-1985 provides specifications and test
1849
- requirements for a non-gyroscopic inertial angular sensor that may measure
1850
- angular jerk, acceleration, rate, or displacement with or without response
1851
- down to zero frequency. A standard specification format is provided. A compilation
1852
- of recommended test procedures, derived from those presently used in the industry,
1853
- is also provided. Informative annexes cover design features and theoretical
1854
- principles of operation. This corrigendum makes changes to 4.7.2.6 to delete
1855
- a sentence that does not belong there, to add a subclause that was inadvertently
1856
- left out, and to renumber the existing subclauses. Changes are also being
1857
- made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
1858
- and to add a missing symbol. Learn More 836-2009 IEEE Recommended Practice
1859
- for Precision Centrifuge Testing of Linear Accelerometers This recommended
1860
- practice describes the conduct and analysis of precision tests that are to
1861
- be performed on linear accelerometers using centrifuge techniques. The term
1862
- u201cprecision,u201d in this context, refers to tests that are conducted to
1863
- evaluate accelerometer parameters, as opposed to those conducted to establish
1864
- environmental survivability only. Evaluation may take the form of determining
1865
- the coefficients of the accelerometer''s model equation, except for bias and
1866
- scale factor, which are most accurately determined by static multi-position
1867
- tests. Alternatively, evaluation may only establish that the accelerometer
1868
- output complies with specific error limit criteria. Learn More Facebook Twitter
1869
- LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
1870
- Distributor Program Training & Development Policies & Procedures Contact Us
1871
- Board of Governors About Board of Governors Awards Committee Corporate Advisory
1872
- Group Industry Connections Committee Registration Authority Committee Strategic
1873
- Planning Coordination Committee Standards Board About Standards Board Board
1874
- Approvals Audit Committee New Standards Committee Patent Committee Procedures
1875
- Committee Standards Review Committee News & Events News IEEE SA Newsletter
1876
- Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
1877
- IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
1878
- Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
1879
- your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
1880
- IEEE is the world\u2019s largest technical professional organization dedicated
1881
- to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1882
- up for our monthly newsletter to learn about new developments, including resources,
1883
- insights and more. "}},{"id":"a987f234b815c04d51196a5861dce1ab4f2a67a7df6f37238f67bb5387af80050e142c401c7c38a091478a9f9de39f5bb24d00c179180953adc632f16a51cd68","fields":{"meta_keywords_la":["Aerospace
1884
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
1885
- format guide for the preparation of a two-degree-of-freedom dynamically tuned
1886
- gyro (DTG) specification is given that provides a common ground of terminology
1887
- and practice for manufacturers and users. A compilation of recommended procedures
1888
- for testing a DTG is also given. The requirements and test procedures are
1889
- defined in terms unique to the DTG. They cover applications of the gyro as
1890
- an angular motion sensor in navigation and control systems. They apply to
1891
- two modes of use: (1) as a strap-down sensor in operating environments typical
1892
- of aircraft and missile applications, and (2) as a sensor in gimballed platform
1893
- applications in which the dynamic angular inputs to which the gyro is subjected
1894
- are benign relative to the accuracy required. In the case of the strap-down
1895
- DTG, the characteristics of the external capture loops are considered to the
1896
- extent necessary to define the gyro performance.","meta_topic_la":["Aerospace
1897
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/813\/1200\/","doc_title_t":"IEEE
1898
- SA - IEEE 813-1988","doc_text_t":"IEEE SA - IEEE 813-1988 IEEE.org IEEE Xplore
1569
+ to Table 1 on page 14 of IEEE Std 293-1969 Learn More 529-1980 Supplement
1570
+ for Strapdown Applications to IEEE Standard Specification Format Guide and
1571
+ Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
1572
+ format guide for the preparation of a rate-integrating gyroscope specification
1573
+ is presented. Recommended procedures for testing a rate-integrating gyroscope
1574
+ are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
1575
+ defines the requirements and test procedures in terms of characteristics unique
1576
+ to the gyroscope or those applications in which the dynamic angular inputs
1577
+ are significantly greater than the limitations identified in IEEE Std 517.
1578
+ Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1579
+ to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1580
+ Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1581
+ and 10.10.4.1 Corrections are made by this corrigendum to material already
1582
+ published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
1583
+ Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
1584
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a
1585
+ sensor in attitude control systems, angular displacement measuring systems,
1586
+ and angular rate measuring systems are defined. A standard specification format
1587
+ guide for the preparation of a single-axis RLG is provided. A compilation
1588
+ of recommended procedures for testing an RLG, derived from those presently
1589
+ used in the industry, is also provided. Learn More 671-1985 IEEE Standard
1590
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1591
+ Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
1592
+ for the preparation of a specification and test procedure for an inertial
1593
+ angular sensor that provides a common meeting ground of terminology and practice
1594
+ for manufacturers and users of an array of sensors that have been developed
1595
+ to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1596
+ procedure for verifying that the specifications have been met is given. The
1597
+ standard is not intended to compete with existing standards for specific devices
1598
+ with highly specific models and error sources, such as spring-restrained rate
1599
+ gyros, but to provide a uniform guide for those inertial angular sensors that
1600
+ have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1601
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1602
+ Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1603
+ Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1604
+ provides specifications and test requirements for a non-gyroscopic inertial
1605
+ angular sensor that may measure angular jerk, acceleration, rate, or displacement
1606
+ with or without response down to zero frequency. A standard specification
1607
+ format is provided. A compilation of recommended test procedures, derived
1608
+ from those presently used in the industry, is also provided. Informative annexes
1609
+ cover design features and theoretical principles of operation. This corrigendum
1610
+ makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1611
+ to add a subclause that was inadvertently left out, and to renumber the existing
1612
+ subclauses. Changes are also being made to fix the block diagrams in Annex
1613
+ A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1614
+ More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
1615
+ Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
1616
+ dynamically tuned gyro (DTG) specification is given that provides a common
1617
+ ground of terminology and practice for manufacturers and users. A compilation
1618
+ of recommended procedures for testing a DTG is also given. The requirements
1619
+ and test procedures are defined in terms unique to the DTG. They cover applications
1620
+ of the gyro as an angular motion sensor in navigation and control systems.
1621
+ They apply to two modes of use: (1) as a strap-down sensor in operating environments
1622
+ typical of aircraft and missile applications, and (2) as a sensor in gimballed
1623
+ platform applications in which the dynamic angular inputs to which the gyro
1624
+ is subjected are benign relative to the accuracy required. In the case of
1625
+ the strap-down DTG, the characteristics of the external capture loops are
1626
+ considered to the extent necessary to define the gyro performance. Learn More
1627
+ 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
1628
+ Accelerometers This recommended practice describes the conduct and analysis
1629
+ of precision tests that are to be performed on linear accelerometers using
1630
+ centrifuge techniques. The term u201cprecision,u201d in this context, refers
1631
+ to tests that are conducted to evaluate accelerometer parameters, as opposed
1632
+ to those conducted to establish environmental survivability only. Evaluation
1633
+ may take the form of determining the coefficients of the accelerometer''s
1634
+ model equation, except for bias and scale factor, which are most accurately
1635
+ determined by static multi-position tests. Alternatively, evaluation may only
1636
+ establish that the accelerometer output complies with specific error limit
1637
+ criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1638
+ Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1639
+ Policies & Procedures Contact Us Board of Governors About Board of Governors
1640
+ Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1641
+ Authority Committee Strategic Planning Coordination Committee Standards Board
1642
+ About Standards Board Board Approvals Audit Committee New Standards Committee
1643
+ Patent Committee Procedures Committee Standards Review Committee News & Events
1644
+ News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1645
+ Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1646
+ Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1647
+ of this website signifies your agreement to the IEEE Terms and Conditions
1648
+ . A not-for-profit organization, IEEE is the world\u2019s largest technical
1649
+ professional organization dedicated to advancing technology for the benefit
1650
+ of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1651
+ about new developments, including resources, insights and more. "}},{"id":"a674d52e409083c2a3e8a7cd0e76347d823ce81a54877277a2405ec1c0873b970f04bfcd394962998a1e67920381e7469c4a930cc7428a98b5d8c7018f5432c1","fields":{"meta_keywords_la":["Aerospace
1652
+ Electronics,Power and Energy"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
1653
+ specification format guide for the preparation of a rate-integrating gyroscope
1654
+ specification is presented. Recommended procedures for testing a rate-integrating
1655
+ gyroscope are compiled. This standard, when combined with IEEE Std 517-1974
1656
+ (R1980), defines the requirements and test procedures in terms of characteristics
1657
+ unique to the gyroscope or those applications in which the dynamic angular
1658
+ inputs are significantly greater than the limitations identified in IEEE Std
1659
+ 517.","meta_topic_la":["Aerospace Electronics,Power and Energy"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/529\/781\/","doc_title_t":"IEEE
1660
+ SA - IEEE 529-1980","doc_text_t":"IEEE SA - IEEE 529-1980 IEEE.org IEEE Xplore
1899
1661
  Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
1900
1662
  Standards Search Standards Standards Development Standards Adoption Choose
1901
1663
  from the many ways to access IEEE SA Standards. Choose from individual or
@@ -1906,8 +1668,8 @@ http_interactions:
1906
1668
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
1907
1669
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
1908
1670
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
1909
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
1910
- standards-related solutions to help drive awareness, activation, and adoption.
1671
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
1672
+ of standards-related solutions to help drive awareness, activation, and adoption.
1911
1673
  Providing support services to help manage the day-to-day operations of industry
1912
1674
  groups, allowing key stakeholders to focus on the work at hand. Focused on
1913
1675
  development and implementation of rigorous conformity assessment programs
@@ -1949,28 +1711,24 @@ http_interactions:
1949
1711
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
1950
1712
  newsletter and keep up to date on the latest standards, event, and activities.
1951
1713
  Get the standards you need. Select from individual standards or standards
1952
- bundles. MAC Address Active Standard IEEE 813-1988 IEEE Specification Format
1953
- Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
1954
- Purchase Access via Subscription Home Standards IEEE 813-1988 A format guide
1955
- for the preparation of a two-degree-of-freedom dynamically tuned gyro (DTG)
1956
- specification is given that provides a common ground of terminology and practice
1957
- for manufacturers and users. A compilation of recommended procedures for testing
1958
- a DTG is also given. The requirements and test procedures are defined in terms
1959
- unique to the DTG. They cover applications of the gyro as an angular motion
1960
- sensor in navigation and control systems. They apply to two modes of use:
1961
- (1) as a strap-down sensor in operating environments typical of aircraft and
1962
- missile applications, and (2) as a sensor in gimballed platform applications
1963
- in which the dynamic angular inputs to which the gyro is subjected are benign
1964
- relative to the accuracy required. In the case of the strap-down DTG, the
1965
- characteristics of the external capture loops are considered to the extent
1966
- necessary to define the gyro performance. Sponsor Committee AES\/GA - Gyro
1967
- Accelerometer Panel Learn More Status Active Standard Board Approval 1988-08-17
1968
- History ANSI Approved: 1989-05-04 ANSI Withdrawn Date: 2016-08-19 Published:
1969
- 1989-06-05 Reaffirmed: 2011-12-07 Working Group Details Society IEEE Aerospace
1970
- and Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro
1971
- Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working Group
1972
- Learn More IEEE Program Manager Dan Perez Contact Working Group Chair Harry
1973
- Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1714
+ bundles. MAC Address Inactive-Reserved Standard IEEE 529-1980 Supplement for
1715
+ Strapdown Applications to IEEE Standard Specification Format Guide and Test
1716
+ Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros Purchase Access
1717
+ via Subscription Home Standards IEEE 529-1980 A specification format guide
1718
+ for the preparation of a rate-integrating gyroscope specification is presented.
1719
+ Recommended procedures for testing a rate-integrating gyroscope are compiled.
1720
+ This standard, when combined with IEEE Std 517-1974 (R1980), defines the requirements
1721
+ and test procedures in terms of characteristics unique to the gyroscope or
1722
+ those applications in which the dynamic angular inputs are significantly greater
1723
+ than the limitations identified in IEEE Std 517. Sponsor Committee AES\/GA
1724
+ - Gyro Accelerometer Panel Learn More Status Inactive-Reserved Standard Corrigendum
1725
+ 529-1980\/Cor 1-2017 Board Approval 1979-09-27 History ANSI Approved: 1983-05-05
1726
+ Published: 1981-01-29 Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25
1727
+ Additional Resources Errata 529-1980_errata.pdf Working Group Details Society
1728
+ IEEE Aerospace and Electronic Systems Society Learn More Sponsor Committee
1729
+ AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors
1730
+ Working Group Learn More IEEE Program Manager Soo Kim Contact Working Group
1731
+ Chair Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1974
1732
  Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
1975
1733
  Coriolis Vibratory Gyros This standard defines requirements and test procedures
1976
1734
  for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
@@ -1987,26 +1745,15 @@ http_interactions:
1987
1745
  and error effects, on filtering, noise, and transient analysis techniques,
1988
1746
  and on calibration and modeling techniques (multipoint tumble analysis, vibration
1989
1747
  and shock test analyses, and geophysical effects in inertial instrument testing).
1990
- Learn More 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment,
1991
- Instrumentation, Data Acquisition, and Analysis Test equipment, data acquisition
1992
- equipment, instrumentation, test facilities, and data analysis techniques
1993
- used in inertial sensor testing are described in this recommended practice.
1994
1748
  Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1995
1749
  definitions relating to inertial sensors are presented in this standard. Usage
1996
1750
  as understood by the inertial sensor community is given preference over general
1997
1751
  technical usage of the terms herein. The criterion for inclusion of a term
1998
1752
  and its definition in this standard is usefulness as related to inertial sensor
1999
- technology. Learn More 647-2006 IEEE Standard Specification Format Guide and
2000
- Test Procedure for Single-Axis Laser Gyros Specification and test requirements
2001
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
2002
- systems, angular displacement measuring systems, and angular rate measuring
2003
- systems are defined. A standard specification format guide for the preparation
2004
- of a single-axis RLG is provided. A compilation of recommended procedures
2005
- for testing an RLG, derived from those presently used in the industry, is
2006
- also provided. Learn More 952-2020 IEEE Standard for Specifying and Testing
2007
- Single-Axis Interferometric Fiber Optic Gyros Specification and test procedures
2008
- for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
2009
- in attitude control systems, angular displacement measuring systems, and angular
1753
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
1754
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
1755
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
1756
+ attitude control systems, angular displacement measuring systems, and angular
2010
1757
  rate measuring systems are defined. The test procedures are derived from those
2011
1758
  presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
2012
1759
  Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
@@ -2047,8 +1794,12 @@ http_interactions:
2047
1794
  CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
2048
1795
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
2049
1796
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
2050
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
2051
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1797
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1798
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1799
+ instrumentation, test facilities, and data analysis techniques used in inertial
1800
+ sensor testing are described in this recommended practice. Learn More 292-1969
1801
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
1802
+ Gyros This specification defines the requirements for a single-degree-of-freedom
2052
1803
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
2053
1804
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2054
1805
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -2068,81 +1819,88 @@ http_interactions:
2068
1819
  a rate-integrating gyro specification that provides a common meeting ground
2069
1820
  of terminology and practice for manufacturers and users is presented. A compilation
2070
1821
  of recommended procedures for testing a rate-integrating gyro is given. Learn
2071
- More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
2072
- Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
2073
- Gyros A specification format guide for the preparation of a rate-integrating
2074
- gyroscope specification is presented. Recommended procedures for testing a
2075
- rate-integrating gyroscope are compiled. This standard, when combined with
2076
- IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
2077
- terms of characteristics unique to the gyroscope or those applications in
2078
- which the dynamic angular inputs are significantly greater than the limitations
2079
- identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
2080
- Supplement for Strapdown Applications to IEEE Standard Specification Format
2081
- Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
2082
- - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
2083
- are made by this corrigendum to material already published in IEEE Std 529-1980.
2084
- Learn More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
2085
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
2086
- and Displacement A guide is presented for the preparation of a specification
2087
- and test procedure for an inertial angular sensor that provides a common meeting
2088
- ground of terminology and practice for manufacturers and users of an array
2089
- of sensors that have been developed to meet needs not easily met by traditional
2090
- spinning-rotor gyroscopes. A test procedure for verifying that the specifications
2091
- have been met is given. The standard is not intended to compete with existing
2092
- standards for specific devices with highly specific models and error sources,
2093
- such as spring-restrained rate gyros, but to provide a uniform guide for those
2094
- inertial angular sensors that have not been covered elsewhere. Learn More
2095
- 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test Procedure
2096
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
2097
- and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and Annex A Sensor
2098
- Dynamic Block Diagrams IEEE Std 671-1985 provides specifications and test
2099
- requirements for a non-gyroscopic inertial angular sensor that may measure
2100
- angular jerk, acceleration, rate, or displacement with or without response
2101
- down to zero frequency. A standard specification format is provided. A compilation
2102
- of recommended test procedures, derived from those presently used in the industry,
2103
- is also provided. Informative annexes cover design features and theoretical
2104
- principles of operation. This corrigendum makes changes to 4.7.2.6 to delete
2105
- a sentence that does not belong there, to add a subclause that was inadvertently
2106
- left out, and to renumber the existing subclauses. Changes are also being
2107
- made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
2108
- and to add a missing symbol. Learn More 836-2009 IEEE Recommended Practice
2109
- for Precision Centrifuge Testing of Linear Accelerometers This recommended
2110
- practice describes the conduct and analysis of precision tests that are to
2111
- be performed on linear accelerometers using centrifuge techniques. The term
2112
- u201cprecision,u201d in this context, refers to tests that are conducted to
2113
- evaluate accelerometer parameters, as opposed to those conducted to establish
2114
- environmental survivability only. Evaluation may take the form of determining
2115
- the coefficients of the accelerometer''s model equation, except for bias and
2116
- scale factor, which are most accurately determined by static multi-position
2117
- tests. Alternatively, evaluation may only establish that the accelerometer
2118
- output complies with specific error limit criteria. Learn More Facebook Twitter
2119
- LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
2120
- Distributor Program Training & Development Policies & Procedures Contact Us
2121
- Board of Governors About Board of Governors Awards Committee Corporate Advisory
2122
- Group Industry Connections Committee Registration Authority Committee Strategic
2123
- Planning Coordination Committee Standards Board About Standards Board Board
2124
- Approvals Audit Committee New Standards Committee Patent Committee Procedures
2125
- Committee Standards Review Committee News & Events News IEEE SA Newsletter
2126
- Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
2127
- IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
2128
- Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
2129
- your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
2130
- IEEE is the world\u2019s largest technical professional organization dedicated
2131
- to advancing technology for the benefit of humanity. Subscribe Newswire Sign
2132
- up for our monthly newsletter to learn about new developments, including resources,
2133
- insights and more. "}},{"id":"078cadb336c908939e58048dc80abc0e41d35a0b3fe16dd00a123a693916293353a5cbc79f3993b1f71bfe11e1d790d46b887a980a03ef635f23e8ac89da4925","fields":{"meta_keywords_la":["Aerospace
2134
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"This
2135
- recommended practice describes the conduct and analysis of precision tests
2136
- that are to be performed on linear accelerometers using centrifuge techniques.
2137
- The term \u201cprecision,\u201d in this context, refers to tests that are
2138
- conducted to evaluate accelerometer parameters, as opposed to those conducted
2139
- to establish environmental survivability only. Evaluation may take the form
2140
- of determining the coefficients of the accelerometer''s model equation, except
2141
- for bias and scale factor, which are most accurately determined by static
2142
- multi-position tests. Alternatively, evaluation may only establish that the
2143
- accelerometer output complies with specific error limit criteria.","meta_topic_la":["Aerospace
2144
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/836\/3449\/","doc_title_t":"IEEE
2145
- SA - IEEE 836-2009","doc_text_t":"IEEE SA - IEEE 836-2009 IEEE.org IEEE Xplore
1822
+ More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1823
+ to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1824
+ Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1825
+ and 10.10.4.1 Corrections are made by this corrigendum to material already
1826
+ published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
1827
+ Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
1828
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a
1829
+ sensor in attitude control systems, angular displacement measuring systems,
1830
+ and angular rate measuring systems are defined. A standard specification format
1831
+ guide for the preparation of a single-axis RLG is provided. A compilation
1832
+ of recommended procedures for testing an RLG, derived from those presently
1833
+ used in the industry, is also provided. Learn More 671-1985 IEEE Standard
1834
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1835
+ Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
1836
+ for the preparation of a specification and test procedure for an inertial
1837
+ angular sensor that provides a common meeting ground of terminology and practice
1838
+ for manufacturers and users of an array of sensors that have been developed
1839
+ to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1840
+ procedure for verifying that the specifications have been met is given. The
1841
+ standard is not intended to compete with existing standards for specific devices
1842
+ with highly specific models and error sources, such as spring-restrained rate
1843
+ gyros, but to provide a uniform guide for those inertial angular sensors that
1844
+ have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1845
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1846
+ Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1847
+ Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1848
+ provides specifications and test requirements for a non-gyroscopic inertial
1849
+ angular sensor that may measure angular jerk, acceleration, rate, or displacement
1850
+ with or without response down to zero frequency. A standard specification
1851
+ format is provided. A compilation of recommended test procedures, derived
1852
+ from those presently used in the industry, is also provided. Informative annexes
1853
+ cover design features and theoretical principles of operation. This corrigendum
1854
+ makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1855
+ to add a subclause that was inadvertently left out, and to renumber the existing
1856
+ subclauses. Changes are also being made to fix the block diagrams in Annex
1857
+ A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1858
+ More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
1859
+ Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
1860
+ dynamically tuned gyro (DTG) specification is given that provides a common
1861
+ ground of terminology and practice for manufacturers and users. A compilation
1862
+ of recommended procedures for testing a DTG is also given. The requirements
1863
+ and test procedures are defined in terms unique to the DTG. They cover applications
1864
+ of the gyro as an angular motion sensor in navigation and control systems.
1865
+ They apply to two modes of use: (1) as a strap-down sensor in operating environments
1866
+ typical of aircraft and missile applications, and (2) as a sensor in gimballed
1867
+ platform applications in which the dynamic angular inputs to which the gyro
1868
+ is subjected are benign relative to the accuracy required. In the case of
1869
+ the strap-down DTG, the characteristics of the external capture loops are
1870
+ considered to the extent necessary to define the gyro performance. Learn More
1871
+ 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
1872
+ Accelerometers This recommended practice describes the conduct and analysis
1873
+ of precision tests that are to be performed on linear accelerometers using
1874
+ centrifuge techniques. The term u201cprecision,u201d in this context, refers
1875
+ to tests that are conducted to evaluate accelerometer parameters, as opposed
1876
+ to those conducted to establish environmental survivability only. Evaluation
1877
+ may take the form of determining the coefficients of the accelerometer''s
1878
+ model equation, except for bias and scale factor, which are most accurately
1879
+ determined by static multi-position tests. Alternatively, evaluation may only
1880
+ establish that the accelerometer output complies with specific error limit
1881
+ criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1882
+ Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1883
+ Policies & Procedures Contact Us Board of Governors About Board of Governors
1884
+ Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1885
+ Authority Committee Strategic Planning Coordination Committee Standards Board
1886
+ About Standards Board Board Approvals Audit Committee New Standards Committee
1887
+ Patent Committee Procedures Committee Standards Review Committee News & Events
1888
+ News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1889
+ Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1890
+ Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1891
+ of this website signifies your agreement to the IEEE Terms and Conditions
1892
+ . A not-for-profit organization, IEEE is the world\u2019s largest technical
1893
+ professional organization dedicated to advancing technology for the benefit
1894
+ of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1895
+ about new developments, including resources, insights and more. "}},{"id":"5aeb29f1e173895ec06817ac31c30346a78b19bac25d687dbdf0076af571b3da207db66e51b3210131b259579c184141df47fc570ecdb419cc84500bdcf99b6a","fields":{"meta_keywords_la":["Aerospace
1896
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Specification
1897
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a sensor
1898
+ in attitude control systems, angular displacement measuring systems, and angular
1899
+ rate measuring systems are defined. A standard specification format guide
1900
+ for the preparation of a single-axis RLG is provided. A compilation of recommended
1901
+ procedures for testing an RLG, derived from those presently used in the industry,
1902
+ is also provided.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/647\/3134\/","doc_title_t":"IEEE
1903
+ SA - IEEE 647-2006","doc_text_t":"IEEE SA - IEEE 647-2006 IEEE.org IEEE Xplore
2146
1904
  Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
2147
1905
  Standards Search Standards Standards Development Standards Adoption Choose
2148
1906
  from the many ways to access IEEE SA Standards. Choose from individual or
@@ -2153,8 +1911,8 @@ http_interactions:
2153
1911
  Services Conformity Assessment & Certification IEEE SA Open Source Industry
2154
1912
  Affiliate Network (IAN) Industry Connections The National Electrical Safety
2155
1913
  Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
2156
- on Standards Standards Fellowship All Products & Programs Full ecosystem of
2157
- standards-related solutions to help drive awareness, activation, and adoption.
1914
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
1915
+ of standards-related solutions to help drive awareness, activation, and adoption.
2158
1916
  Providing support services to help manage the day-to-day operations of industry
2159
1917
  groups, allowing key stakeholders to focus on the work at hand. Focused on
2160
1918
  development and implementation of rigorous conformity assessment programs
@@ -2196,72 +1954,46 @@ http_interactions:
2196
1954
  of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
2197
1955
  newsletter and keep up to date on the latest standards, event, and activities.
2198
1956
  Get the standards you need. Select from individual standards or standards
2199
- bundles. MAC Address Inactive-Reserved Standard IEEE 836-2009 IEEE Recommended
2200
- Practice for Precision Centrifuge Testing of Linear Accelerometers Purchase
2201
- Access via Subscription Home Standards IEEE 836-2009 This recommended practice
2202
- describes the conduct and analysis of precision tests that are to be performed
2203
- on linear accelerometers using centrifuge techniques. The term \u201cprecision,\u201d
2204
- in this context, refers to tests that are conducted to evaluate accelerometer
2205
- parameters, as opposed to those conducted to establish environmental survivability
2206
- only. Evaluation may take the form of determining the coefficients of the
2207
- accelerometer''s model equation, except for bias and scale factor, which are
2208
- most accurately determined by static multi-position tests. Alternatively,
2209
- evaluation may only establish that the accelerometer output complies with
2210
- specific error limit criteria. Sponsor Committee AES\/GA - Gyro Accelerometer
2211
- Panel Learn More Status Inactive-Reserved Standard PAR Approval 2003-03-20
2212
- Superseded by 836-2009 Superseding 836-2009 Board Approval 2009-06-17 History
2213
- ANSI Approved: 2009-10-08 Published: 2009-09-17 Inactivated Date: 2020-03-05
1957
+ bundles. MAC Address Inactive-Reserved Standard IEEE 647-2006 IEEE Standard
1958
+ Specification Format Guide and Test Procedure for Single-Axis Laser Gyros
1959
+ Purchase Access via Subscription Home Standards IEEE 647-2006 Specification
1960
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a
1961
+ sensor in attitude control systems, angular displacement measuring systems,
1962
+ and angular rate measuring systems are defined. A standard specification format
1963
+ guide for the preparation of a single-axis RLG is provided. A compilation
1964
+ of recommended procedures for testing an RLG, derived from those presently
1965
+ used in the industry, is also provided. Sponsor Committee AES\/GA - Gyro Accelerometer
1966
+ Panel Learn More Status Inactive-Reserved Standard PAR Approval 2001-05-30
1967
+ Superseding 647-1995 Board Approval 2006-03-30 History ANSI Approved: 2006-08-08
1968
+ ANSI Withdrawn Date: 2016-08-19 Published: 2006-09-18 Reaffirmed: 2011-12-07
1969
+ Inactivated Date: 2022-03-24 Additional Resources Errata 647-2006_errata.pdf
2214
1970
  Working Group Details Society IEEE Aerospace and Electronic Systems Society
2215
1971
  Learn More Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More
2216
- Working Group SENSR_WG - Sensors Working Group IEEE Program Manager Dan Perez
2217
- Contact Working Group Chair Harry Davis Active Projects Active Standards Superseded
2218
- Standards Inactive-Withdrawn Standards Inactive-Reserved Standards P1431 Standard
2219
- for Specifying and Testing Coriolis Vibratory Gyros This standard defines
2220
- requirements and test procedures for a single-axis Coriolis vibratory gyro
2221
- (CVG) for use as a sensor in attitude control systems, angular displacement
1972
+ Working Group SENSR_WG - Sensors Working Group Learn More IEEE Program Manager
1973
+ Soo Kim Contact Working Group Chair Harry Davis Active Projects Active Standards
1974
+ Superseded Standards Inactive-Withdrawn Standards Inactive-Reserved Standards
1975
+ P1431 Standard for Specifying and Testing Coriolis Vibratory Gyros This standard
1976
+ defines requirements and test procedures for a single-axis Coriolis vibratory
1977
+ gyro (CVG) for use as a sensor in attitude control systems, angular displacement
2222
1978
  measuring systems, and angular rate measuring systems. Informative annexes
2223
1979
  cover CVG design features and theoretical principles of operation. Learn More
2224
1980
  1293-2018 IEEE Standard Specification Format Guide and Test Procedure for
2225
- Linear Single-Axis, Nongyroscopic Accelerometers The specification and test
2226
- requirements for a linear, single-axis, nongyroscopic accelerometer for use
2227
- in inertial navigation, guidance, and leveling systems are defined. A standard
2228
- specification guide and a compilation of recommended test procedures for such
2229
- accelerometers are provided. Informative annexes are given on the various
2230
- types of such accelerometers (force or pendulous torque rebalance with analog
2231
- or digital output, vibrating beam, and micromechanical) and error effects,
2232
- on filtering, noise, and transient analysis techniques, and on calibration
2233
- and modeling techniques (multipoint tumble analysis, vibration and shock test
2234
- analyses, and geophysical effects in inertial instrument testing). Learn More
2235
- 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2236
- Data Acquisition, and Analysis Test equipment, data acquisition equipment,
2237
- instrumentation, test facilities, and data analysis techniques used in inertial
2238
- sensor testing are described in this recommended practice. Learn More 528-2019
2239
- IEEE Standard for Inertial Sensor Terminology Terms and definitions relating
2240
- to inertial sensors are presented in this standard. Usage as understood by
2241
- the inertial sensor community is given preference over general technical usage
2242
- of the terms herein. The criterion for inclusion of a term and its definition
2243
- in this standard is usefulness as related to inertial sensor technology. Learn
2244
- More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
2245
- for Single-Axis Laser Gyros Specification and test requirements for a single-axis
2246
- ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
2247
- displacement measuring systems, and angular rate measuring systems are defined.
2248
- A standard specification format guide for the preparation of a single-axis
2249
- RLG is provided. A compilation of recommended procedures for testing an RLG,
2250
- derived from those presently used in the industry, is also provided. Learn
2251
- More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
2252
- Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
2253
- dynamically tuned gyro (DTG) specification is given that provides a common
2254
- ground of terminology and practice for manufacturers and users. A compilation
2255
- of recommended procedures for testing a DTG is also given. The requirements
2256
- and test procedures are defined in terms unique to the DTG. They cover applications
2257
- of the gyro as an angular motion sensor in navigation and control systems.
2258
- They apply to two modes of use: (1) as a strap-down sensor in operating environments
2259
- typical of aircraft and missile applications, and (2) as a sensor in gimballed
2260
- platform applications in which the dynamic angular inputs to which the gyro
2261
- is subjected are benign relative to the accuracy required. In the case of
2262
- the strap-down DTG, the characteristics of the external capture loops are
2263
- considered to the extent necessary to define the gyro performance. Learn More
2264
- 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
1981
+ Linear Single-Axis, Nongyroscopic Accelerometers The specification and test
1982
+ requirements for a linear, single-axis, nongyroscopic accelerometer for use
1983
+ in inertial navigation, guidance, and leveling systems are defined. A standard
1984
+ specification guide and a compilation of recommended test procedures for such
1985
+ accelerometers are provided. Informative annexes are given on the various
1986
+ types of such accelerometers (force or pendulous torque rebalance with analog
1987
+ or digital output, vibrating beam, and micromechanical) and error effects,
1988
+ on filtering, noise, and transient analysis techniques, and on calibration
1989
+ and modeling techniques (multipoint tumble analysis, vibration and shock test
1990
+ analyses, and geophysical effects in inertial instrument testing). Learn More
1991
+ 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and definitions
1992
+ relating to inertial sensors are presented in this standard. Usage as understood
1993
+ by the inertial sensor community is given preference over general technical
1994
+ usage of the terms herein. The criterion for inclusion of a term and its definition
1995
+ in this standard is usefulness as related to inertial sensor technology. Learn
1996
+ More 952-2020 IEEE Standard for Specifying and Testing Single-Axis Interferometric
2265
1997
  Fiber Optic Gyros Specification and test procedures for a single-axis interferometric
2266
1998
  fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
2267
1999
  displacement measuring systems, and angular rate measuring systems are defined.
@@ -2305,8 +2037,12 @@ http_interactions:
2305
2037
  features and theoretical principles of operation. Learn More 1431-2004\/Cor
2306
2038
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
2307
2039
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
2308
- 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
2309
- Rate Gyros This specification defines the requirements for a single-degree-of-freedom
2040
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2041
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
2042
+ instrumentation, test facilities, and data analysis techniques used in inertial
2043
+ sensor testing are described in this recommended practice. Learn More 292-1969
2044
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
2045
+ Gyros This specification defines the requirements for a single-degree-of-freedom
2310
2046
  spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
2311
2047
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2312
2048
  to angular rate inputs up to______ degrees per second, a switch closure(s)
@@ -2363,22 +2099,292 @@ http_interactions:
2363
2099
  a sentence that does not belong there, to add a subclause that was inadvertently
2364
2100
  left out, and to renumber the existing subclauses. Changes are also being
2365
2101
  made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
2366
- and to add a missing symbol. Learn More Facebook Twitter LinkedIn Instagram
2367
- YouTube IEEE SA About Us IEEE SA Membership Corporate Program Distributor
2368
- Program Training & Development Policies & Procedures Contact Us Board of Governors
2369
- About Board of Governors Awards Committee Corporate Advisory Group Industry
2370
- Connections Committee Registration Authority Committee Strategic Planning
2371
- Coordination Committee Standards Board About Standards Board Board Approvals
2372
- Audit Committee New Standards Committee Patent Committee Procedures Committee
2373
- Standards Review Committee News & Events News IEEE SA Newsletter Events Home
2374
- Sitemap Contact & Support Accessibility Nondiscrimination Policy IEEE Ethics
2375
- Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9 Copyright 2021
2376
- IEEE \u2013 All rights reserved. Use of this website signifies your agreement
2377
- to the IEEE Terms and Conditions . A not-for-profit organization, IEEE is
2378
- the world\u2019s largest technical professional organization dedicated to
2379
- advancing technology for the benefit of humanity. Subscribe Newswire Sign
2102
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
2103
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
2104
+ A format guide for the preparation of a two-degree-of-freedom dynamically
2105
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
2106
+ and practice for manufacturers and users. A compilation of recommended procedures
2107
+ for testing a DTG is also given. The requirements and test procedures are
2108
+ defined in terms unique to the DTG. They cover applications of the gyro as
2109
+ an angular motion sensor in navigation and control systems. They apply to
2110
+ two modes of use: (1) as a strap-down sensor in operating environments typical
2111
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
2112
+ applications in which the dynamic angular inputs to which the gyro is subjected
2113
+ are benign relative to the accuracy required. In the case of the strap-down
2114
+ DTG, the characteristics of the external capture loops are considered to the
2115
+ extent necessary to define the gyro performance. Learn More 836-2009 IEEE
2116
+ Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
2117
+ This recommended practice describes the conduct and analysis of precision
2118
+ tests that are to be performed on linear accelerometers using centrifuge techniques.
2119
+ The term u201cprecision,u201d in this context, refers to tests that are conducted
2120
+ to evaluate accelerometer parameters, as opposed to those conducted to establish
2121
+ environmental survivability only. Evaluation may take the form of determining
2122
+ the coefficients of the accelerometer''s model equation, except for bias and
2123
+ scale factor, which are most accurately determined by static multi-position
2124
+ tests. Alternatively, evaluation may only establish that the accelerometer
2125
+ output complies with specific error limit criteria. Learn More Facebook Twitter
2126
+ LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
2127
+ Distributor Program Training & Development Policies & Procedures Contact Us
2128
+ Board of Governors About Board of Governors Awards Committee Corporate Advisory
2129
+ Group Industry Connections Committee Registration Authority Committee Strategic
2130
+ Planning Coordination Committee Standards Board About Standards Board Board
2131
+ Approvals Audit Committee New Standards Committee Patent Committee Procedures
2132
+ Committee Standards Review Committee News & Events News IEEE SA Newsletter
2133
+ Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
2134
+ IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
2135
+ Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
2136
+ your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
2137
+ IEEE is the world\u2019s largest technical professional organization dedicated
2138
+ to advancing technology for the benefit of humanity. Subscribe Newswire Sign
2380
2139
  up for our monthly newsletter to learn about new developments, including resources,
2381
- insights and more. "}}]},"facets":{"meta_categories_la":{"buckets":[]},"meta_topic_la":{"buckets":[{"value":"Aerospace
2140
+ insights and more. "}},{"id":"417d99a37a89b4111b7bc1619f19726d1ab6a092235b6f3f68257dbfc26f55108f71965f44f58344641e674d518e15d40ca211830ab3c8a09cf3212772ab1c67","fields":{"meta_keywords_la":["Aerospace
2141
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"A
2142
+ guide is presented for the preparation of a specification and test procedure
2143
+ for an inertial angular sensor that provides a common meeting ground of terminology
2144
+ and practice for manufacturers and users of an array of sensors that have
2145
+ been developed to meet needs not easily met by traditional spinning-rotor
2146
+ gyroscopes. A test procedure for verifying that the specifications have been
2147
+ met is given. The standard is not intended to compete with existing standards
2148
+ for specific devices with highly specific models and error sources, such as
2149
+ spring-restrained rate gyros, but to provide a uniform guide for those inertial
2150
+ angular sensors that have not been covered elsewhere.","meta_topic_la":["Aerospace
2151
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/671\/926\/","doc_title_t":"IEEE
2152
+ SA - IEEE 671-1985","doc_text_t":"IEEE SA - IEEE 671-1985 IEEE.org IEEE Xplore
2153
+ Digital Library IEEE Standards IEEE Spectrum More Sites eTools Standards Access
2154
+ Standards Search Standards Standards Development Standards Adoption Choose
2155
+ from the many ways to access IEEE SA Standards. Choose from individual or
2156
+ organizational access options to get the standards you need. Find the standards
2157
+ you\u2019re looking for. Get involved in the development of market-driven
2158
+ technology standards with proven expertise and dedicated support. Learn more
2159
+ about how to adopt IEEE standards. Products & Programs Alliance Management
2160
+ Services Conformity Assessment & Certification IEEE SA Open Source Industry
2161
+ Affiliate Network (IAN) Industry Connections The National Electrical Safety
2162
+ Code\u00ae (NESC\u00ae) Registration Authority Government Engagement Program
2163
+ on Standards (GEPS) Standards Fellowship All Products & Programs Full ecosystem
2164
+ of standards-related solutions to help drive awareness, activation, and adoption.
2165
+ Providing support services to help manage the day-to-day operations of industry
2166
+ groups, allowing key stakeholders to focus on the work at hand. Focused on
2167
+ development and implementation of rigorous conformity assessment programs
2168
+ designed to help accelerate market adoption, reduce costs and more. A vendor-neutral,
2169
+ inclusive, open source platform\u2014for all, from independent software developers
2170
+ and start ups to industry, academic and research institutions. Open to consortia,
2171
+ industry alliance or other industry organizations, looking to bring forward
2172
+ specifications for standards development and market adoption. Facilitating
2173
+ collaboration among organizations and individuals as they hone and refine
2174
+ their thinking on rapidly changing technologies. Guidelines for practical
2175
+ safeguarding during the installation, operation, and maintenance of electric
2176
+ supply, communication lines and associated equipment. Assigns and maintains
2177
+ unique identifiers and unambiguous names to objects for those wishing to register
2178
+ them. Program for policymakers providing tailored standards information, access
2179
+ to the IEEE SA standardization ecosystem, and standardization resources. Providing
2180
+ global standards professionals the opportunity to observe the IEEE standards
2181
+ development process and learn about technical areas of interest. See all the
2182
+ programs, products, and services that IEEE SA has to offer. Focuses Artificial
2183
+ Intelligence Systems (AIS) Connectivity & Telecom Energy Foundational Technologies
2184
+ Healthcare and Life Sciences Mobility Government Engagement Strategic focuses
2185
+ and industries where IEEE SA is raising the world\u2019s standards. Developing
2186
+ accessible and sustainable approaches and solutions for practical application
2187
+ of AIS principles and frameworks. Advancing robust, responsible, and affordable
2188
+ connectivity. Enabling sustainable, efficient, and accessible energy through
2189
+ technological advances on a global scale. Working to standardize seamless
2190
+ and ubiquitous connectivity across all applications of connected technologies.
2191
+ Focused on enabling affordable healthcare, access to medicine, and innovation
2192
+ to improve overall global wellness. Working to help the evolving mobility
2193
+ ecosystem address some of its greatest business opportunities that have the
2194
+ potential to solve major societal challenges. Building bridges between the
2195
+ worlds of technology, standards, and policy making. Get Involved Events IEEE
2196
+ SA Membership How to Get Involved Learn about opportunities to engage with
2197
+ IEEE SA. Join us at upcoming virtual or in-person events. Flexible membership
2198
+ options that offer enhanced participation in IEEE SA activities, standards
2199
+ development, and governance. There are many opportunities for participation,
2200
+ find the right one for you. Resources Training & Development News IEEE SA
2201
+ Newsletter Standards Store Training and communication resources to stay connected.
2202
+ Individual and organizational effectiveness program to enable the success
2203
+ of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
2204
+ newsletter and keep up to date on the latest standards, event, and activities.
2205
+ Get the standards you need. Select from individual standards or standards
2206
+ bundles. MAC Address Inactive-Reserved Standard IEEE 671-1985 IEEE Standard
2207
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
2208
+ Sensors: Jerk, Acceleration, Velocity, and Displacement Purchase Access via
2209
+ Subscription Home Standards IEEE 671-1985 A guide is presented for the preparation
2210
+ of a specification and test procedure for an inertial angular sensor that
2211
+ provides a common meeting ground of terminology and practice for manufacturers
2212
+ and users of an array of sensors that have been developed to meet needs not
2213
+ easily met by traditional spinning-rotor gyroscopes. A test procedure for
2214
+ verifying that the specifications have been met is given. The standard is
2215
+ not intended to compete with existing standards for specific devices with
2216
+ highly specific models and error sources, such as spring-restrained rate gyros,
2217
+ but to provide a uniform guide for those inertial angular sensors that have
2218
+ not been covered elsewhere. Sponsor Committee AES\/GA - Gyro Accelerometer
2219
+ Panel Learn More Status Inactive-Reserved Standard Corrigendum 671-1985\/Cor
2220
+ 1-2010 Board Approval 1983-06-23 History ANSI Approved: 1992-05-06 Published:
2221
+ 1984-11-30 Reaffirmed: 2008-12-10 Inactivated Date: 2019-11-07 Working Group
2222
+ Details Society IEEE Aerospace and Electronic Systems Society Learn More Sponsor
2223
+ Committee AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG
2224
+ - Sensors Working Group Learn More IEEE Program Manager Soo Kim Contact Working
2225
+ Group Chair Harry Davis Active Projects Active Standards Superseded Standards
2226
+ Inactive-Withdrawn Standards Inactive-Reserved Standards P1431 Standard for
2227
+ Specifying and Testing Coriolis Vibratory Gyros This standard defines requirements
2228
+ and test procedures for a single-axis Coriolis vibratory gyro (CVG) for use
2229
+ as a sensor in attitude control systems, angular displacement measuring systems,
2230
+ and angular rate measuring systems. Informative annexes cover CVG design features
2231
+ and theoretical principles of operation. Learn More 1293-2018 IEEE Standard
2232
+ Specification Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic
2233
+ Accelerometers The specification and test requirements for a linear, single-axis,
2234
+ nongyroscopic accelerometer for use in inertial navigation, guidance, and
2235
+ leveling systems are defined. A standard specification guide and a compilation
2236
+ of recommended test procedures for such accelerometers are provided. Informative
2237
+ annexes are given on the various types of such accelerometers (force or pendulous
2238
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
2239
+ and error effects, on filtering, noise, and transient analysis techniques,
2240
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
2241
+ and shock test analyses, and geophysical effects in inertial instrument testing).
2242
+ Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
2243
+ definitions relating to inertial sensors are presented in this standard. Usage
2244
+ as understood by the inertial sensor community is given preference over general
2245
+ technical usage of the terms herein. The criterion for inclusion of a term
2246
+ and its definition in this standard is usefulness as related to inertial sensor
2247
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
2248
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
2249
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
2250
+ attitude control systems, angular displacement measuring systems, and angular
2251
+ rate measuring systems are defined. The test procedures are derived from those
2252
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
2253
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
2254
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
2255
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
2256
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
2257
+ linear displacement measuring systems, and linear rate measuring systems are
2258
+ defined. The specification format guide and test procedure standard applies
2259
+ to force-rebalance accelerometers (pendulous or translational proof mass),
2260
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
2261
+ range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
2262
+ Standard for Inertial Sensor Terminology Terms and definitions relating to
2263
+ inertial senors are presented in this standard. Usage as understood by the
2264
+ inertial sensor community is given preference over general technical usage
2265
+ of the terms herein. The criterion for inclusion of a term and its definition
2266
+ in this standard is usefulness as related to inertial sensor technology. Learn
2267
+ More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
2268
+ for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
2269
+ for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
2270
+ in attitude control systems, angular displacement measuring systems, and angular
2271
+ rate measuring systems are defined. A standard specification format guide
2272
+ for the preparation of a single-axis IFOG is provided. A compilation of recommended
2273
+ procedures for testing a fiber optic gyro, derived from those presently used
2274
+ in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
2275
+ Specification Format Guide and Test Procedure for Single-Axis Interferometric
2276
+ Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
2277
+ 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
2278
+ Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
2279
+ 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
2280
+ and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
2281
+ Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
2282
+ Specification and test requirements for a single-axis Coriolis vibratory gyro
2283
+ (CVG) for use as a sensor in attitude control systems, angular displacement
2284
+ measuring systems, and angular rate measuring systems are defined. A stadard
2285
+ specification format guide for the preparation of a single-axis CVG is provided.
2286
+ A complilation of recommended procedures for testing a CVG, derived from those
2287
+ presently used in the industry, is also provided. Informative annexes cover
2288
+ CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
2289
+ 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
2290
+ Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
2291
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2292
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
2293
+ instrumentation, test facilities, and data analysis techniques used in inertial
2294
+ sensor testing are described in this recommended practice. Learn More 292-1969
2295
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
2296
+ Gyros This specification defines the requirements for a single-degree-of-freedom
2297
+ spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
2298
+ The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2299
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
2300
+ at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
2301
+ second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
2302
+ Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
2303
+ from those currently in use, including test conditions to be considered, are
2304
+ compiled. In some cases alternate methods for measuring a performance characteristic
2305
+ have been included. This standard is intended to be a guide in the preparation
2306
+ of Section 4 of a specification that follows the format of IEEE Std 292, Specification
2307
+ Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
2308
+ 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
2309
+ Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
2310
+ to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
2311
+ Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
2312
+ Rate-Integrating Gyros A specification format guide for the preparation of
2313
+ a rate-integrating gyro specification that provides a common meeting ground
2314
+ of terminology and practice for manufacturers and users is presented. A compilation
2315
+ of recommended procedures for testing a rate-integrating gyro is given. Learn
2316
+ More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
2317
+ Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
2318
+ Gyros A specification format guide for the preparation of a rate-integrating
2319
+ gyroscope specification is presented. Recommended procedures for testing a
2320
+ rate-integrating gyroscope are compiled. This standard, when combined with
2321
+ IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
2322
+ terms of characteristics unique to the gyroscope or those applications in
2323
+ which the dynamic angular inputs are significantly greater than the limitations
2324
+ identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
2325
+ Supplement for Strapdown Applications to IEEE Standard Specification Format
2326
+ Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
2327
+ - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
2328
+ are made by this corrigendum to material already published in IEEE Std 529-1980.
2329
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
2330
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
2331
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
2332
+ displacement measuring systems, and angular rate measuring systems are defined.
2333
+ A standard specification format guide for the preparation of a single-axis
2334
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
2335
+ derived from those presently used in the industry, is also provided. Learn
2336
+ More 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test
2337
+ Procedure for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration,
2338
+ Velocity, and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and
2339
+ Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985 provides specifications
2340
+ and test requirements for a non-gyroscopic inertial angular sensor that may
2341
+ measure angular jerk, acceleration, rate, or displacement with or without
2342
+ response down to zero frequency. A standard specification format is provided.
2343
+ A compilation of recommended test procedures, derived from those presently
2344
+ used in the industry, is also provided. Informative annexes cover design features
2345
+ and theoretical principles of operation. This corrigendum makes changes to
2346
+ 4.7.2.6 to delete a sentence that does not belong there, to add a subclause
2347
+ that was inadvertently left out, and to renumber the existing subclauses.
2348
+ Changes are also being made to fix the block diagrams in Annex A, to correct
2349
+ a misspelling of inertia, and to add a missing symbol. Learn More 813-1988
2350
+ IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
2351
+ Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
2352
+ dynamically tuned gyro (DTG) specification is given that provides a common
2353
+ ground of terminology and practice for manufacturers and users. A compilation
2354
+ of recommended procedures for testing a DTG is also given. The requirements
2355
+ and test procedures are defined in terms unique to the DTG. They cover applications
2356
+ of the gyro as an angular motion sensor in navigation and control systems.
2357
+ They apply to two modes of use: (1) as a strap-down sensor in operating environments
2358
+ typical of aircraft and missile applications, and (2) as a sensor in gimballed
2359
+ platform applications in which the dynamic angular inputs to which the gyro
2360
+ is subjected are benign relative to the accuracy required. In the case of
2361
+ the strap-down DTG, the characteristics of the external capture loops are
2362
+ considered to the extent necessary to define the gyro performance. Learn More
2363
+ 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
2364
+ Accelerometers This recommended practice describes the conduct and analysis
2365
+ of precision tests that are to be performed on linear accelerometers using
2366
+ centrifuge techniques. The term u201cprecision,u201d in this context, refers
2367
+ to tests that are conducted to evaluate accelerometer parameters, as opposed
2368
+ to those conducted to establish environmental survivability only. Evaluation
2369
+ may take the form of determining the coefficients of the accelerometer''s
2370
+ model equation, except for bias and scale factor, which are most accurately
2371
+ determined by static multi-position tests. Alternatively, evaluation may only
2372
+ establish that the accelerometer output complies with specific error limit
2373
+ criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
2374
+ Us IEEE SA Membership Corporate Program Distributor Program Training & Development
2375
+ Policies & Procedures Contact Us Board of Governors About Board of Governors
2376
+ Awards Committee Corporate Advisory Group Industry Connections Committee Registration
2377
+ Authority Committee Strategic Planning Coordination Committee Standards Board
2378
+ About Standards Board Board Approvals Audit Committee New Standards Committee
2379
+ Patent Committee Procedures Committee Standards Review Committee News & Events
2380
+ News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
2381
+ Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
2382
+ Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
2383
+ of this website signifies your agreement to the IEEE Terms and Conditions
2384
+ . A not-for-profit organization, IEEE is the world\u2019s largest technical
2385
+ professional organization dedicated to advancing technology for the benefit
2386
+ of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
2387
+ about new developments, including resources, insights and more. "}}]},"facets":{"meta_categories_la":{"buckets":[]},"meta_topic_la":{"buckets":[{"value":"Aerospace
2382
2388
  Electronics","count":19},{"value":"Aerospace Electronics,Power and Energy","count":3},{"value":"Nuclear
2383
2389
  Power","count":1}]},"meta_type_la":{"buckets":[{"value":"Standard","count":22},{"value":"Page","count":1},{"value":"Project","count":1}]}}},"html":"<h3
2384
2390
  class=\"h6 results-found\"><strong>24<\/strong> results found. Results are
@@ -2395,13 +2401,23 @@ http_interactions:
2395
2401
  to inertial senors are presented in this standard. Usage as understood by
2396
2402
  the inertial sensor community is given preference over general technical usage
2397
2403
  of the terms herein. The criterion for inclusion of a term and its&hellip;<\/div><\/div><div
2398
- class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/\">
2399
- IEEE 1293-2018<\/a><\/h4><div class=\"content\">The specification and test
2400
- requirements for a linear, single-axis, nongyroscopic accelerometer for use
2401
- in inertial navigation, guidance, and leveling systems are defined. A standard
2402
- specification guide and a compilation of recommended test procedures for such
2403
- accelerometers are provided. Informative annexes&hellip;<\/div><\/div><div
2404
- class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/517\/760\/\">
2404
+ class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/813\/1200\/\">
2405
+ IEEE 813-1988<\/a><\/h4><div class=\"content\">A format guide for the preparation
2406
+ of a two-degree-of-freedom dynamically tuned gyro (DTG) specification is given
2407
+ that provides a common ground of terminology and practice for manufacturers
2408
+ and users. A compilation of recommended procedures for testing a DTG is also&hellip;<\/div><\/div><div
2409
+ class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/836\/3449\/\">
2410
+ IEEE 836-2009<\/a><\/h4><div class=\"content\">This recommended practice describes
2411
+ the conduct and analysis of precision tests that are to be performed on linear
2412
+ accelerometers using centrifuge techniques. The term \u201cprecision,\u201d
2413
+ in this context, refers to tests that are conducted to evaluate accelerometer
2414
+ parameters, as opposed&hellip;<\/div><\/div><div class=\"hit\"><h4 class=\"title\"><a
2415
+ href=\"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/\"> IEEE 1293-2018<\/a><\/h4><div
2416
+ class=\"content\">The specification and test requirements for a linear, single-axis,
2417
+ nongyroscopic accelerometer for use in inertial navigation, guidance, and
2418
+ leveling systems are defined. A standard specification guide and a compilation
2419
+ of recommended test procedures for such accelerometers are provided. Informative
2420
+ annexes&hellip;<\/div><\/div><div class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/517\/760\/\">
2405
2421
  IEEE 517-1974<\/a><\/h4><div class=\"content\">A specification format guide
2406
2422
  for the preparation of a rate-integrating gyro specification that provides
2407
2423
  a common meeting ground of terminology and practice for manufacturers and
@@ -2417,24 +2433,14 @@ http_interactions:
2417
2433
  for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
2418
2434
  systems, angular displacement measuring systems, and angular rate measuring
2419
2435
  systems are defined. A standard specification format guide for the preparation
2420
- of&hellip;<\/div><\/div><div class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/952\/7496\/\">
2421
- IEEE 952-2020<\/a><\/h4><div class=\"content\">Specification and test procedures
2422
- for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
2423
- in attitude control systems, angular displacement measuring systems, and angular
2424
- rate measuring systems are defined. The test procedures are derived from those
2425
- presently&hellip;<\/div><\/div><div class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/813\/1200\/\">
2426
- IEEE 813-1988<\/a><\/h4><div class=\"content\">A format guide for the preparation
2427
- of a two-degree-of-freedom dynamically tuned gyro (DTG) specification is given
2428
- that provides a common ground of terminology and practice for manufacturers
2429
- and users. A compilation of recommended procedures for testing a DTG is also&hellip;<\/div><\/div><div
2430
- class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/836\/3449\/\">
2431
- IEEE 836-2009<\/a><\/h4><div class=\"content\">This recommended practice describes
2432
- the conduct and analysis of precision tests that are to be performed on linear
2433
- accelerometers using centrifuge techniques. The term \u201cprecision,\u201d
2434
- in this context, refers to tests that are conducted to evaluate accelerometer
2435
- parameters, as opposed&hellip;<\/div><\/div><div class=\"pagination\"><nav
2436
- aria-label=\"Search results page navigation\">\n<ul class=\"pagination justify-content-center\">\n<li
2437
- class=\"page-item active\" aria-current=\"page\"><a class=\"page-link\" href=\"#1\">1<\/a><\/li>\n<li
2436
+ of&hellip;<\/div><\/div><div class=\"hit\"><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/671\/926\/\">
2437
+ IEEE 671-1985<\/a><\/h4><div class=\"content\">A guide is presented for the
2438
+ preparation of a specification and test procedure for an inertial angular
2439
+ sensor that provides a common meeting ground of terminology and practice for
2440
+ manufacturers and users of an array of sensors that have been&hellip;<\/div><\/div><div
2441
+ class=\"pagination\"><nav aria-label=\"Search results page navigation\">\n<ul
2442
+ class=\"pagination justify-content-center\">\n<li class=\"page-item active\"
2443
+ aria-current=\"page\"><a class=\"page-link\" href=\"#1\">1<\/a><\/li>\n<li
2438
2444
  class=\"page-item \" ><a class=\"page-link\" href=\"#2\">2<\/a><\/li>\n<li
2439
2445
  class=\"page-item \" ><a class=\"page-link\" href=\"#3\">3<\/a><\/li>\n<li
2440
2446
  class=\"page-item\">\n<a class=\"next page-link\" href=\"#2\"><span class=\"sr-only\">Next<\/span><i
@@ -2458,7 +2464,7 @@ http_interactions:
2458
2464
  href=\"#\" class=\"filter-reset\" data-filter=\"topic\" data-value=\"all\">Reset<\/a><\/div><\/div><!--
2459
2465
  end filter -->"}'
2460
2466
  http_version:
2461
- recorded_at: Fri, 18 Mar 2022 13:31:27 GMT
2467
+ recorded_at: Sun, 10 Apr 2022 12:50:25 GMT
2462
2468
  - request:
2463
2469
  method: get
2464
2470
  uri: https://standards.ieee.org/ieee/528/7292/
@@ -2478,7 +2484,7 @@ http_interactions:
2478
2484
  message: OK
2479
2485
  headers:
2480
2486
  Date:
2481
- - Fri, 18 Mar 2022 13:31:27 GMT
2487
+ - Sun, 10 Apr 2022 12:50:26 GMT
2482
2488
  Content-Type:
2483
2489
  - text/html; charset=UTF-8
2484
2490
  Transfer-Encoding:
@@ -2514,13 +2520,13 @@ http_interactions:
2514
2520
  Server:
2515
2521
  - cloudflare
2516
2522
  Cf-Ray:
2517
- - 6ede542a7eca77e6-VIE
2523
+ - 6f9b9bafff6a8ef6-SOF
2518
2524
  Alt-Svc:
2519
2525
  - h3=":443"; ma=86400, h3-29=":443"; ma=86400
2520
2526
  body:
2521
2527
  encoding: ASCII-8BIT
2522
2528
  string: !binary |-
2523
- CjwhZG9jdHlwZSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiPgoKICAgIDwhLS0gZmllbGRzIGZvciBDbG91ZHNlYXJjaCAtLT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IklFRUUgU0EgLSBJRUVFIDUyOC0yMDE5IC0gSUVFRSBTdGFuZGFyZCBmb3IgSW5lcnRpYWwgU2Vuc29yIFRlcm1pbm9sb2d5Ii8+CjxtZXRhIG5hbWU9InR5cGUiIGNvbnRlbnQ9IlN0YW5kYXJkIi8+CjxtZXRhIG5hbWU9InRvcGljIiBjb250ZW50PSJBZXJvc3BhY2UgRWxlY3Ryb25pY3MiLz4KPG1ldGEgbmFtZT0iY2F0ZWdvcnkiIGNvbnRlbnQ9IiIvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iVGVybXMgYW5kIGRlZmluaXRpb25zIHJlbGF0aW5nIHRvIGluZXJ0aWFsIHNlbnNvcnMgYXJlIHByZXNlbnRlZCBpbiB0aGlzIHN0YW5kYXJkLiBVc2FnZSBhcyB1bmRlcnN0b29kIGJ5IHRoZSBpbmVydGlhbCBzZW5zb3IgY29tbXVuaXR5IGlzIGdpdmVuIHByZWZlcmVuY2Ugb3ZlciBnZW5lcmFsIHRlY2huaWNhbCB1c2FnZSBvZiB0aGUgdGVybXMgaGVyZWluLiBUaGUgY3JpdGVyaW9uIGZvciBpbmNsdXNpb24gb2YgYSB0ZXJtIGFuZCBpdHMgZGVmaW5pdGlvbiBpbiB0aGlzIHN0YW5kYXJkIGlzIHVzZWZ1bG5lc3MgYXMgcmVsYXRlZCB0byBpbmVydGlhbCBzZW5zb3IgdGVjaG5vbG9neS4iLz4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkFlcm9zcGFjZSBFbGVjdHJvbmljcyIvPgo8IS0tIFByb2plY3RzL1N0YW5kYXJkcyAtLT4KPG1ldGEgbmFtZT0iU29jaWV0eSIgY29udGVudD0iSUVFRSBBZXJvc3BhY2UgYW5kIEVsZWN0cm9uaWMgU3lzdGVtcyBTb2NpZXR5Ii8+CjxtZXRhIG5hbWU9IlN0ZFJlY05vIiBjb250ZW50PSI3MjkyIi8+CjxtZXRhIG5hbWU9IlN0YXR1cyIgY29udGVudD0iQWN0aXZlIFN0YW5kYXJkIi8+CgogICAgCiAgICA8dGl0bGU+SUVFRSBTQSAtIElFRUUgNTI4LTIwMTk8L3RpdGxlPgoKICAgIDxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlX2Zhdmljb24uaWNvIj4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlX2FwcGxlX3RvdWNoX2ljb24ucG5nIj4KCiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDswLDcwMDswLDgwMDsxLDQwMDsxLDYwMDsxLDcwMCZkaXNwbGF5PXN3YXAiCiAgICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPgogICAgPHNjcmlwdD4oZnVuY3Rpb24odyxkLHMsbCxpKXt3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFydCc6CiAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCiAgICAgICAgICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICAgICAnaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7CiAgICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tTVI4VDg0MycpOzwvc2NyaXB0PgogICAgPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2tpdC5mb250YXdlc29tZS5jb20vMmQ3NGYyODJmNi5qcyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ib290c3RyYXBANS4xLjMvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIKICAgICAgICAgIGludGVncml0eT0ic2hhMzg0LTFCbUU0a1dCcTc4aVloRmxkdkt1aGZUQVU2YXVVOHRUOTRXckhmdGpEYnJDRVhTVTFvQm9xeWwyUXZaNmpJVzMiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9zdHlsZS5jc3M/dGltZT0yMDIyMDIwMyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zMy11cy13ZXN0LTIuYW1hem9uYXdzLmNvbS9pZWVlc2h1dHBhZ2VzL2dkcHIvc2V0dGluZ3MuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIKICAgICAgICAgIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2Nvb2tpZWNvbnNlbnQyLzMuMC4zL2Nvb2tpZWNvbnNlbnQubWluLmNzcyIvPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2Nvb2tpZWNvbnNlbnQyLzMuMC4zL2Nvb2tpZWNvbnNlbnQubWluLmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0PgogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICB3aW5kb3cuY29va2llY29uc2VudC5pbml0aWFsaXNlKGpzb24pCiAgICAgICAgfSk7CiAgICA8L3NjcmlwdD4KCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J2luZGV4LCBmb2xsb3csIG1heC1pbWFnZS1wcmV2aWV3OmxhcmdlLCBtYXgtc25pcHBldDotMSwgbWF4LXZpZGVvLXByZXZpZXc6LTEnIC8+CgoJPCEtLSBUaGlzIHNpdGUgaXMgb3B0aW1pemVkIHdpdGggdGhlIFlvYXN0IFNFTyBwbHVnaW4gdjE4LjMgLSBodHRwczovL3lvYXN0LmNvbS93b3JkcHJlc3MvcGx1Z2lucy9zZW8vIC0tPgoJPG1ldGEgcHJvcGVydHk9Im9nOmxvY2FsZSIgY29udGVudD0iZW5fVVMiIC8+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSIgLz4KCTxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IlNBIE1haW4gU2l0ZSIgLz4KCTxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSIgLz4KCTxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiIgY2xhc3M9InlvYXN0LXNjaGVtYS1ncmFwaCI+eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkBncmFwaCI6W3siQHR5cGUiOiJPcmdhbml6YXRpb24iLCJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jb3JnYW5pemF0aW9uIiwibmFtZSI6IklFRUUgU0EiLCJ1cmwiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8iLCJzYW1lQXMiOltdLCJsb2dvIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jbG9nbyIsImluTGFuZ3VhZ2UiOiJlbi1VUyIsInVybCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9pbXBvcnQvaWVlZXNhLWxvZ28ucG5nIiwiY29udGVudFVybCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9pbXBvcnQvaWVlZXNhLWxvZ28ucG5nIiwid2lkdGgiOjcyMCwiaGVpZ2h0Ijo0MzIsImNhcHRpb24iOiJJRUVFIFNBIn0sImltYWdlIjp7IkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyNsb2dvIn19LHsiQHR5cGUiOiJXZWJTaXRlIiwiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI3dlYnNpdGUiLCJ1cmwiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8iLCJuYW1lIjoiU0EgTWFpbiBTaXRlIiwiZGVzY3JpcHRpb24iOiIiLCJwdWJsaXNoZXIiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI29yZ2FuaXphdGlvbiJ9LCJwb3RlbnRpYWxBY3Rpb24iOlt7IkB0eXBlIjoiU2VhcmNoQWN0aW9uIiwidGFyZ2V0Ijp7IkB0eXBlIjoiRW50cnlQb2ludCIsInVybFRlbXBsYXRlIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvP3M9e3NlYXJjaF90ZXJtX3N0cmluZ30ifSwicXVlcnktaW5wdXQiOiJyZXF1aXJlZCBuYW1lPXNlYXJjaF90ZXJtX3N0cmluZyJ9XSwiaW5MYW5ndWFnZSI6ImVuLVVTIn0seyJAdHlwZSI6IldlYlBhZ2UiLCJAaWQiOiIjd2VicGFnZSIsInVybCI6IiIsIm5hbWUiOiIiLCJpc1BhcnRPZiI6eyJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jd2Vic2l0ZSJ9LCJicmVhZGNydW1iIjp7IkBpZCI6IiNicmVhZGNydW1iIn0sImluTGFuZ3VhZ2UiOiJlbi1VUyIsInBvdGVudGlhbEFjdGlvbiI6W3siQHR5cGUiOiJSZWFkQWN0aW9uIiwidGFyZ2V0IjpbIiJdfV19LHsiQHR5cGUiOiJCcmVhZGNydW1iTGlzdCIsIkBpZCI6IiNicmVhZGNydW1iIiwiaXRlbUxpc3RFbGVtZW50IjpbeyJAdHlwZSI6Ikxpc3RJdGVtIiwicG9zaXRpb24iOjEsIm5hbWUiOiJIb21lIiwiaXRlbSI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyJ9LHsiQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoyLCJuYW1lIjoiIn1dfV19PC9zY3JpcHQ+Cgk8IS0tIC8gWW9hc3QgU0VPIHBsdWdpbi4gLS0+CgoKPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vcy53Lm9yZycgLz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyA9IHsiYmFzZVVybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xMy4xLjBcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzEzLjEuMFwvc3ZnXC8iLCJzdmdFeHQiOiIuc3ZnIiwic291cmNlIjp7ImNvbmNhdGVtb2ppIjoiaHR0cHM6XC9cL3N0YW5kYXJkcy5pZWVlLm9yZ1wvd3AtaW5jbHVkZXNcL2pzXC93cC1lbW9qaS1yZWxlYXNlLm1pbi5qcz92ZXI9NS45LjIifX07Ci8qISBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgKi8KIWZ1bmN0aW9uKGUsYSx0KXt2YXIgbixyLG8saT1hLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHA9aS5nZXRDb250ZXh0JiZpLmdldENvbnRleHQoIjJkIik7ZnVuY3Rpb24gcyhlLHQpe3ZhciBhPVN0cmluZy5mcm9tQ2hhckNvZGU7cC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpLHAuZmlsbFRleHQoYS5hcHBseSh0aGlzLGUpLDAsMCk7ZT1pLnRvRGF0YVVSTCgpO3JldHVybiBwLmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCkscC5maWxsVGV4dChhLmFwcGx5KHRoaXMsdCksMCwwKSxlPT09aS50b0RhdGFVUkwoKX1mdW5jdGlvbiBjKGUpe3ZhciB0PWEuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC5zcmM9ZSx0LmRlZmVyPXQudHlwZT0idGV4dC9qYXZhc2NyaXB0IixhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQodCl9Zm9yKG89QXJyYXkoImZsYWciLCJlbW9qaSIpLHQuc3VwcG9ydHM9e2V2ZXJ5dGhpbmc6ITAsZXZlcnl0aGluZ0V4Y2VwdEZsYWc6ITB9LHI9MDtyPG8ubGVuZ3RoO3IrKyl0LnN1cHBvcnRzW29bcl1dPWZ1bmN0aW9uKGUpe2lmKCFwfHwhcC5maWxsVGV4dClyZXR1cm4hMTtzd2l0Y2gocC50ZXh0QmFzZWxpbmU9InRvcCIscC5mb250PSI2MDAgMzJweCBBcmlhbCIsZSl7Y2FzZSJmbGFnIjpyZXR1cm4gcyhbMTI3OTg3LDY1MDM5LDgyMDUsOTg5NSw2NTAzOV0sWzEyNzk4Nyw2NTAzOSw4MjAzLDk4OTUsNjUwMzldKT8hMTohcyhbNTUzNTYsNTY4MjYsNTUzNTYsNTY4MTldLFs1NTM1Niw1NjgyNiw4MjAzLDU1MzU2LDU2ODE5XSkmJiFzKFs1NTM1Niw1NzMzMiw1NjEyOCw1NjQyMyw1NjEyOCw1NjQxOCw1NjEyOCw1NjQyMSw1NjEyOCw1NjQzMCw1NjEyOCw1NjQyMyw1NjEyOCw1NjQ0N10sWzU1MzU2LDU3MzMyLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQxOCw4MjAzLDU2MTI4LDU2NDIxLDgyMDMsNTYxMjgsNTY0MzAsODIwMyw1NjEyOCw1NjQyMyw4MjAzLDU2MTI4LDU2NDQ3XSk7Y2FzZSJlbW9qaSI6cmV0dXJuIXMoWzEwMDg0LDY1MDM5LDgyMDUsNTUzNTcsNTY2MTNdLFsxMDA4NCw2NTAzOSw4MjAzLDU1MzU3LDU2NjEzXSl9cmV0dXJuITF9KG9bcl0pLHQuc3VwcG9ydHMuZXZlcnl0aGluZz10LnN1cHBvcnRzLmV2ZXJ5dGhpbmcmJnQuc3VwcG9ydHNbb1tyXV0sImZsYWciIT09b1tyXSYmKHQuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmdC5zdXBwb3J0c1tvW3JdXSk7dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz10LnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhdC5zdXBwb3J0cy5mbGFnLHQuRE9NUmVhZHk9ITEsdC5yZWFkeUNhbGxiYWNrPWZ1bmN0aW9uKCl7dC5ET01SZWFkeT0hMH0sdC5zdXBwb3J0cy5ldmVyeXRoaW5nfHwobj1mdW5jdGlvbigpe3QucmVhZHlDYWxsYmFjaygpfSxhLmFkZEV2ZW50TGlzdGVuZXI/KGEuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbiwhMSksZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuLCExKSk6KGUuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbiksYS5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpeyJjb21wbGV0ZSI9PT1hLnJlYWR5U3RhdGUmJnQucmVhZHlDYWxsYmFjaygpfSkpLChuPXQuc291cmNlfHx7fSkuY29uY2F0ZW1vamk/YyhuLmNvbmNhdGVtb2ppKTpuLndwZW1vamkmJm4udHdlbW9qaSYmKGMobi50d2Vtb2ppKSxjKG4ud3BlbW9qaSkpKX0od2luZG93LGRvY3VtZW50LHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKPC9zY3JpcHQ+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmltZy53cC1zbWlsZXksCmltZy5lbW9qaSB7CglkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwoJaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsKCXdpZHRoOiAxZW0gIWltcG9ydGFudDsKCW1hcmdpbjogMCAwLjA3ZW0gIWltcG9ydGFudDsKCXZlcnRpY2FsLWFsaWduOiAtMC4xZW0gIWltcG9ydGFudDsKCWJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKCXBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQo8L3N0eWxlPgoJPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ndHJpYmUtZXZlbnRzLXByby1taW5pLWNhbGVuZGFyLWJsb2NrLXN0eWxlcy1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3BsdWdpbnMvZXZlbnRzLWNhbGVuZGFyLXByby9zcmMvcmVzb3VyY2VzL2Nzcy90cmliZS1ldmVudHMtcHJvLW1pbmktY2FsZW5kYXItYmxvY2subWluLmNzcz92ZXI9NS4xMi4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nd3AtYmxvY2stbGlicmFyeS1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy9jc3MvZGlzdC9ibG9jay1saWJyYXJ5L3N0eWxlLm1pbi5jc3M/dmVyPTUuOS4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KYm9keXstLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjazogIzAwMDAwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5OiAjYWJiOGMzOy0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOy0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluazogI2Y3OGRhNzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQ6ICNjZjJlMmU7LS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyOiAjZmNiOTAwOy0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW46ICM3YmRjYjU7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZTogIzhlZDFmYzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWU6ICMwNjkzZTM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSg2LDE0NywyMjcsMSkgMCUscmdiKDE1NSw4MSwyMjQpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMTIyLDIyMCwxODApIDAlLHJnYigwLDIwOCwxMzApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDI1MiwxODUsMCwxKSAwJSxyZ2JhKDI1NSwxMDUsMCwxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMjU1LDEwNSwwLDEpIDAlLHJnYigyMDcsNDYsNDYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyMzgsMjM4LDIzOCkgMCUscmdiKDE2OSwxODQsMTk1KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW06IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDc0LDIzNCwyMjApIDAlLHJnYigxNTEsMTIwLDIwOSkgMjAlLHJnYigyMDcsNDIsMTg2KSA0MCUscmdiKDIzOCw0NCwxMzApIDYwJSxyZ2IoMjUxLDEwNSw5OCkgODAlLHJnYigyNTQsMjQ4LDc2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDYsMjM2KSAwJSxyZ2IoMTUyLDE1MCwyNDApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTQsMjA1LDE2NSkgMCUscmdiKDI1NCw0NSw0NSkgNTAlLHJnYigxMDcsMCw2MikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtZHVzazogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDIwMywxMTIpIDAlLHJnYigxOTksODEsMTkyKSA1MCUscmdiKDY1LDg4LDIwOCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDI0NSwyMDMpIDAlLHJnYigxODIsMjI3LDIxMikgNTAlLHJnYig1MSwxNjcsMTgxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjAyLDI0OCwxMjgpIDAlLHJnYigxMTMsMjA2LDEyNikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbWlkbmlnaHQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIsMywxMjkpIDAlLHJnYig0MCwxMTYsMjUyKSAxMDAlKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWRhcmstZ3JheXNjYWxlOiB1cmwoJyN3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUteWVsbG93OiB1cmwoJyN3cC1kdW90b25lLXB1cnBsZS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtcmVkOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtcmVkJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tbWFnZW50YS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS1ncmVlbjogdXJsKCcjd3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4nKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsOiAxM3B4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW06IDIwcHg7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlOiA0MnB4O30uaGFzLWJsYWNrLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmxhY2stYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7fS5oYXMtYmx1c2gtbGlnaHQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWxpZ2h0LXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibHVzaC1ib3JkZWF1eC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1vY2Vhbi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1wYWxlLW9jZWFuKSAhaW1wb3J0YW50O30uaGFzLWVsZWN0cmljLWdyYXNzLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWVsZWN0cmljLWdyYXNzKSAhaW1wb3J0YW50O30uaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50O30uaGFzLXNtYWxsLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwpICFpbXBvcnRhbnQ7fS5oYXMtbWVkaXVtLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKSAhaW1wb3J0YW50O30uaGFzLWxhcmdlLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7fS5oYXMteC1sYXJnZS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2UpICFpbXBvcnRhbnQ7fQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWNzcy1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvY2xvdWRzZWFyY2gvY3NzL2llZWUtY2xvdWRzZWFyY2guY3NzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9NS45LjInIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdpZWVlLXdpZGdldC1jc3MtY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL3dpZGdldHMvY3NzL3dpZGdldHMuY3NzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9NS45LjInIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5Lm1pbi5qcz92ZXI9My42LjAnIGlkPSdqcXVlcnktY29yZS1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnktbWlncmF0ZS5taW4uanM/dmVyPTMuMy4yJyBpZD0nanF1ZXJ5LW1pZ3JhdGUtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2llZWUtY2xvdWRzZWFyY2gtanMtanMtZXh0cmEnPgovKiA8IVtDREFUQVsgKi8KdmFyIGllZWVfYWpheF9vYmplY3QgPSB7ImFqYXhfdXJsIjoiaHR0cHM6XC9cL3N0YW5kYXJkcy5pZWVlLm9yZ1wvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL2Nsb3Vkc2VhcmNoL2pzL2llZWUtY2xvdWRzZWFyY2guanM/dGltZT0yMDIyMDEyNiYjMDM4O3Zlcj01LjkuMicgaWQ9J2llZWUtY2xvdWRzZWFyY2gtanMtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2Evd2lkZ2V0cy9qcy9pZWVlLXdpZGdldHMuanM/dGltZT0yMDIyMDIwMzUmIzAzODt2ZXI9NS45LjInIGlkPSdpZWVlLXdpZGdldC1qcy1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBpZD0naWVlZS1zYS1zY3JpcHRzLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBpZWVlX2FqYXhfb2JqZWN0ID0geyJhamF4X3VybCI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaWVlZS1zYS9qcy9pZWVlLXNhLmpzP3RpbWU9MjAyMjAzMTImIzAzODt2ZXI9NS45LjInIGlkPSdpZWVlLXNhLXNjcmlwdHMtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvanMvbWFya2V0by5qcz92ZXI9NS45LjInIGlkPSdpZWVlLW1hcmtldG8tanMnPjwvc2NyaXB0Pgo8bGluayByZWw9Imh0dHBzOi8vYXBpLncub3JnLyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtanNvbi8iIC8+PGxpbmsgcmVsPSJFZGl0VVJJIiB0eXBlPSJhcHBsaWNhdGlvbi9yc2QreG1sIiB0aXRsZT0iUlNEIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy94bWxycGMucGhwP3JzZCIgLz4KPGxpbmsgcmVsPSJ3bHdtYW5pZmVzdCIgdHlwZT0iYXBwbGljYXRpb24vd2x3bWFuaWZlc3QreG1sIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy93bHdtYW5pZmVzdC54bWwiIC8+IAo8bWV0YSBuYW1lPSJ0ZWMtYXBpLXZlcnNpb24iIGNvbnRlbnQ9InYxIj48bWV0YSBuYW1lPSJ0ZWMtYXBpLW9yaWdpbiIgY29udGVudD0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmciPjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1qc29uL3RyaWJlL2V2ZW50cy92MS8iIC8+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJQb3dlcmVkIGJ5IFdQQmFrZXJ5IFBhZ2UgQnVpbGRlciAtIGRyYWcgYW5kIGRyb3AgcGFnZSBidWlsZGVyIGZvciBXb3JkUHJlc3MuIi8+Cjxub3NjcmlwdD48c3R5bGU+IC53cGJfYW5pbWF0ZV93aGVuX2FsbW9zdF92aXNpYmxlIHsgb3BhY2l0eTogMTsgfTwvc3R5bGU+PC9ub3NjcmlwdD4KCjwvaGVhZD4KPGJvZHkgY2xhc3M9ImJsb2cgdHJpYmUtbm8tanMgd3BiLWpzLWNvbXBvc2VyIGpzLWNvbXAtdmVyLTYuOC4wIHZjX3Jlc3BvbnNpdmUiID4KPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgKG5vc2NyaXB0KSAtLT4KPG5vc2NyaXB0PjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ucy5odG1sP2lkPUdUTS1NUjhUODQzIiBoZWlnaHQ9IjAiIHdpZHRoPSIwIiBzdHlsZT0iZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVuIj48L2lmcmFtZT48L25vc2NyaXB0Pgo8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgKG5vc2NyaXB0KSAtLT4KPGhlYWRlcj4KICAgIDxzZWN0aW9uIGlkPSJ0b3AtYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEwIGQtbm9uZSBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiB0b3AtYmFyIHRvcC1iYXItbGVmdCIgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iR2xvYmFsIGxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJJRUVFLm9yZyI+PGkgY2xhc3M9Im5hdi1pY29uIGZhIGZhLWhvbWUiPjwvaT5JRUVFLm9yZzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vaWVlZXhwbG9yZS5pZWVlLm9yZy9YcGxvcmUvaG9tZS5qc3AiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iSUVFRSBYcGxvcmUgRGlnaXRhbCBMaWJyYXJ5Ij5JRUVFIDxlbT5YcGxvcmU8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpZ2l0YWwgTGlicmFyeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJJRUVFIFN0YW5kYXJkcyI+SUVFRSBTdGFuZGFyZHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3NwZWN0cnVtLmllZWUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJJRUVFIFNwZWN0cnVtIj5JRUVFIFNwZWN0cnVtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvc2l0ZW1hcC5odG1sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9Ik1vcmUgU2l0ZXMiPk1vcmUgU2l0ZXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPiA8IS0tIC8ubmF2IC50b3AtYmFyLWxlZnQgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMCAuZC1ub25lIC5kLW1kLWJsb2NrIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTIgZC1ub25lIGQtbWQtYmxvY2siPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHRvcC1iYXIgdG9wLWJhci1yaWdodCIgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iR2xvYmFsIHJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvZGV2ZWxvcC9ldG9vbHMvIiB0aXRsZT0iZVRvb2xzIj5lVG9vbHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAudG9wLWJhci1yaWdodCAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTIgLmQtbm9uZSAuZC1tZC1ibG9jayAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyN0b3AtYmFyIC0tPgoKICAgIDxzZWN0aW9uIGlkPSJtYXN0aGVhZCI+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnktbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9nby1saW5rIiBocmVmPSIvIiB0aXRsZT0iSUVFRSBTdGFuZGFyZHMgQXNzb2NpYXRpb24iPjxpbWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2ltZy9pZWVlLXNhLWxvZ28yeC5wbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iSUVFRSBTdGFuZGFyZHMgQXNzb2NpYXRpb24gbG9nbyI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jcHJpbWFyeS1sb2dvIC5sb2dvIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS02IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYgZC1ub25lIGQtc20tYmxvY2siPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlY29uZGFyeS1sb2dvIiBjbGFzcz0ibG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJsb2dvLWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnLyIgdGl0bGU9IlZpc2l0IElFRUUub3JnIj48aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pbWcvaWVlZS1sb2dvMngucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IklFRUUgbG9nbyI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jc2Vjb25kYXJ5LWxvZ28gLmxvZ28gLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC02IC5kLW5vbmUgLmQtbWQtYmxvY2sgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgoKICAgICAgICA8IS0tCgoKLS0+Cgo8bmF2IGlkPSJtYWluLW5hdiIgY2xhc3M9Im5hdmJhciBuYXZiYXItZXhwYW5kLWxnIG5hdmJhci1saWdodCIgYXJpYS1sYWJlbD0iTWFpbiI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxidXR0b24gY2xhc3M9Im5hdmJhci10b2dnbGVyIiB0eXBlPSJidXR0b24iIGRhdGEtdHJpZ2dlcj0ibW9iaWxlLW1lbnUiIGFyaWEtY29udHJvbHM9Im1vYmlsZS1tZW51IgogICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtbGFiZWw9IlRvZ2dsZSBuYXZpZ2F0aW9uIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdmJhci10b2dnbGVyLWljb24iPjxpIGNsYXNzPSJmYXMgZmEtYmFycyI+PC9pPjwvc3Bhbj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8ZGl2IGlkPSJtb2JpbGUtbWVudSIgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIG1vYmlsZS1tZW51IiBhcmlhLWxhYmVsPSJjbG9zZSI+PC9idXR0b24+CiAgICAgICAgICAgIDwhLS0gYmVnaW4gd29yZHByZXNzIG1lbnUgLS0+CiAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW5hdmlnYXRpb24iIGNsYXNzPSJuYXZiYXItbmF2IG1yLWF1dG8gbWFpbiB3LTEwMCAiPgk8bGkgIGlkPSJtZW51LWl0ZW0tODM4NSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBkcm9wZG93biBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NSIgZGF0YS1pdGVtLWlkPSI4Mzg1Ij4KCQk8YSB0aXRsZT0iU3RhbmRhcmRzIiBkYXRhLWl0ZW0taWQ9IjgzODUiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5TdGFuZGFyZHM8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MjkiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQyOSIgZGF0YS1pdGVtLWlkPSI4NDI5Ij4KCQkJCQkJCTxhIHRpdGxlPSJBY2Nlc3MgU3RhbmRhcmRzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hY2Nlc3Mtc3RhbmRhcmRzLyIgZGF0YS1pdGVtLWlkPSI4NDI5IiBjbGFzcz0ibmF2LWxpbmsgIj5BY2Nlc3MgU3RhbmRhcmRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM4NiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg2IiBkYXRhLWl0ZW0taWQ9IjgzODYiPgoJCQkJCQkJPGEgdGl0bGU9IlNlYXJjaCBTdGFuZGFyZHMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3N0YW5kYXJkLyIgZGF0YS1pdGVtLWlkPSI4Mzg2IiBjbGFzcz0ibmF2LWxpbmsgIj5TZWFyY2ggU3RhbmRhcmRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM4NyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg3IiBkYXRhLWl0ZW0taWQ9IjgzODciPgoJCQkJCQkJPGEgdGl0bGU9IlN0YW5kYXJkcyBEZXZlbG9wbWVudCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvZGV2ZWxvcC8iIGRhdGEtaXRlbS1pZD0iODM4NyIgY2xhc3M9Im5hdi1saW5rICI+U3RhbmRhcmRzIERldmVsb3BtZW50PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM4OCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg4IiBkYXRhLWl0ZW0taWQ9IjgzODgiPgoJCQkJCQkJPGEgdGl0bGU9IlN0YW5kYXJkcyBBZG9wdGlvbiIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvZGV2ZWxvcC9kZXZlbG9wLXN0YW5kYXJkcy9zdGFuZGFyZHMtYWRvcHRpb24vIiBkYXRhLWl0ZW0taWQ9IjgzODgiIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBBZG9wdGlvbjwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg1IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkNob29zZSBmcm9tIHRoZSBtYW55IHdheXMgdG8gYWNjZXNzIElFRUUgU0EgU3RhbmRhcmRzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MjkiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Q2hvb3NlIGZyb20gaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb25hbCBhY2Nlc3Mgb3B0aW9ucyB0byBnZXQgdGhlIHN0YW5kYXJkcyB5b3UgbmVlZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZpbmQgdGhlIHN0YW5kYXJkcyB5b3XigJlyZSBsb29raW5nIGZvci48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg3IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkdldCBpbnZvbHZlZCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgbWFya2V0LWRyaXZlbiB0ZWNobm9sb2d5IHN0YW5kYXJkcyB3aXRoIHByb3ZlbiBleHBlcnRpc2UgYW5kIGRlZGljYXRlZCBzdXBwb3J0LjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9IjgzODgiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+TGVhcm4gbW9yZSBhYm91dCBob3cgdG8gYWRvcHQgSUVFRSBzdGFuZGFyZHMuPC9saT4KCQkJCQk8L3VsPgoJCQkJPC9kaXY+IDwhLS0gLy5yb3cgLS0+CgkJCTwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgoJCTwvZGl2PiA8IS0tIC8uZHJvcGRvd24tbWVudSBtZWdhLW1lbnUgLS0+Cgk8L2xpPgoJPGxpICBpZD0ibWVudS1pdGVtLTgzODkiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gZHJvcGRvd24gbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzODkiIGRhdGEtaXRlbS1pZD0iODM4OSI+CgkJPGEgdGl0bGU9IlByb2R1Y3RzICZhbXA7IFByb2dyYW1zIiBkYXRhLWl0ZW0taWQ9IjgzODkiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5Qcm9kdWN0cyAmIzAzODsgUHJvZ3JhbXM8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5MCIgZGF0YS1pdGVtLWlkPSI4MzkwIj4KCQkJCQkJCTxhIHRpdGxlPSJBbGxpYW5jZSBNYW5hZ2VtZW50IFNlcnZpY2VzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1zZXJ2aWNlcy9hbXMvIiBkYXRhLWl0ZW0taWQ9IjgzOTAiIGNsYXNzPSJuYXYtbGluayAiPkFsbGlhbmNlIE1hbmFnZW1lbnQgU2VydmljZXM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTEiIGRhdGEtaXRlbS1pZD0iODM5MSI+CgkJCQkJCQk8YSB0aXRsZT0iQ29uZm9ybWl0eSBBc3Nlc3NtZW50ICZhbXA7IENlcnRpZmljYXRpb24iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXNlcnZpY2VzL2ljYXAvIiBkYXRhLWl0ZW0taWQ9IjgzOTEiIGNsYXNzPSJuYXYtbGluayAiPkNvbmZvcm1pdHkgQXNzZXNzbWVudCAmIzAzODsgQ2VydGlmaWNhdGlvbjwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5MiIgZGF0YS1pdGVtLWlkPSI4MzkyIj4KCQkJCQkJCTxhIHRpdGxlPSJJRUVFIFNBIE9wZW4gU291cmNlIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pbml0aWF0aXZlcy9vcGVuc291cmNlLyIgZGF0YS1pdGVtLWlkPSI4MzkyIiBjbGFzcz0ibmF2LWxpbmsgIj5JRUVFIFNBIE9wZW4gU291cmNlPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5MyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04MzkzIiBkYXRhLWl0ZW0taWQ9IjgzOTMiPgoJCQkJCQkJPGEgdGl0bGU9IkluZHVzdHJ5IEFmZmlsaWF0ZSBOZXR3b3JrIChJQU4pIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1zZXJ2aWNlcy9pbmR1c3RyeS1hZmZpbGlhdGUtbmV0d29yay8iIGRhdGEtaXRlbS1pZD0iODM5MyIgY2xhc3M9Im5hdi1saW5rICI+SW5kdXN0cnkgQWZmaWxpYXRlIE5ldHdvcmsgKElBTik8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzEiIGRhdGEtaXRlbS1pZD0iODQzMSI+CgkJCQkJCQk8YSB0aXRsZT0iSW5kdXN0cnkgQ29ubmVjdGlvbnMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2luZHVzdHJ5LWNvbm5lY3Rpb25zLyIgZGF0YS1pdGVtLWlkPSI4NDMxIiBjbGFzcz0ibmF2LWxpbmsgIj5JbmR1c3RyeSBDb25uZWN0aW9uczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MzAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQzMCIgZGF0YS1pdGVtLWlkPSI4NDMwIj4KCQkJCQkJCTxhIHRpdGxlPSJUaGUgTmF0aW9uYWwgRWxlY3RyaWNhbCBTYWZldHkgQ29kZcKuIChORVNDwq4pIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1zZXJ2aWNlcy9uZXNjLyIgZGF0YS1pdGVtLWlkPSI4NDMwIiBjbGFzcz0ibmF2LWxpbmsgIj5UaGUgTmF0aW9uYWwgRWxlY3RyaWNhbCBTYWZldHkgQ29kZcKuIChORVNDwq4pPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5NiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzk2IiBkYXRhLWl0ZW0taWQ9IjgzOTYiPgoJCQkJCQkJPGEgdGl0bGU9IlJlZ2lzdHJhdGlvbiBBdXRob3JpdHkiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXNlcnZpY2VzL3JlZ2F1dGgvIiBkYXRhLWl0ZW0taWQ9IjgzOTYiIGNsYXNzPSJuYXYtbGluayAiPlJlZ2lzdHJhdGlvbiBBdXRob3JpdHk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzk3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTciIGRhdGEtaXRlbS1pZD0iODM5NyI+CgkJCQkJCQk8YSB0aXRsZT0iR292ZXJubWVudCBFbmdhZ2VtZW50IFByb2dyYW0gb24gU3RhbmRhcmRzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9pbnRsL2dvdmVybm1lbnQtZW5nYWdlbWVudC1wcm9ncmFtLyIgZGF0YS1pdGVtLWlkPSI4Mzk3IiBjbGFzcz0ibmF2LWxpbmsgIj5Hb3Zlcm5tZW50IEVuZ2FnZW1lbnQgUHJvZ3JhbSBvbiBTdGFuZGFyZHM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzk4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTgiIGRhdGEtaXRlbS1pZD0iODM5OCI+CgkJCQkJCQk8YSB0aXRsZT0iU3RhbmRhcmRzIEZlbGxvd3NoaXAiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvc3RhbmRhcmRzLWZlbGxvd3NoaXAtcHJvZ3JhbS8iIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1saW5rICI+U3RhbmRhcmRzIEZlbGxvd3NoaXA8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzIiIGRhdGEtaXRlbS1pZD0iODQzMiI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsIFByb2R1Y3RzICZhbXA7IFByb2dyYW1zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1zZXJ2aWNlcy8iIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1saW5rICI+QWxsIFByb2R1Y3RzICYjMDM4OyBQcm9ncmFtczwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZ1bGwgZWNvc3lzdGVtIG9mIHN0YW5kYXJkcy1yZWxhdGVkIHNvbHV0aW9ucyB0byBoZWxwIGRyaXZlIGF3YXJlbmVzcywgYWN0aXZhdGlvbiwgYW5kIGFkb3B0aW9uLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9IjgzOTAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+UHJvdmlkaW5nIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBtYW5hZ2UgdGhlIGRheS10by1kYXkgb3BlcmF0aW9ucyBvZiBpbmR1c3RyeSBncm91cHMsIGFsbG93aW5nIGtleSBzdGFrZWhvbGRlcnMgdG8gZm9jdXMgb24gdGhlIHdvcmsgYXQgaGFuZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZvY3VzZWQgb24gZGV2ZWxvcG1lbnQgYW5kIGltcGxlbWVudGF0aW9uIG9mIHJpZ29yb3VzIGNvbmZvcm1pdHkgYXNzZXNzbWVudCBwcm9ncmFtcyBkZXNpZ25lZCB0byBoZWxwIGFjY2VsZXJhdGUgbWFya2V0IGFkb3B0aW9uLCByZWR1Y2UgY29zdHMgYW5kIG1vcmUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5BIHZlbmRvci1uZXV0cmFsLCBpbmNsdXNpdmUsIG9wZW4gc291cmNlIHBsYXRmb3Jt4oCUZm9yIGFsbCwgZnJvbSBpbmRlcGVuZGVudCBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCBzdGFydCB1cHMgdG8gaW5kdXN0cnksIGFjYWRlbWljIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5PcGVuIHRvIGNvbnNvcnRpYSwgaW5kdXN0cnkgYWxsaWFuY2Ugb3Igb3RoZXIgaW5kdXN0cnkgb3JnYW5pemF0aW9ucywgbG9va2luZyB0byBicmluZyBmb3J3YXJkIHNwZWNpZmljYXRpb25zIGZvciBzdGFuZGFyZHMgZGV2ZWxvcG1lbnQgYW5kIG1hcmtldCBhZG9wdGlvbi48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDMxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZhY2lsaXRhdGluZyBjb2xsYWJvcmF0aW9uIGFtb25nIG9yZ2FuaXphdGlvbnMgYW5kIGluZGl2aWR1YWxzIGFzIHRoZXkgaG9uZSBhbmQgcmVmaW5lIHRoZWlyIHRoaW5raW5nIG9uIHJhcGlkbHkgY2hhbmdpbmcgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+R3VpZGVsaW5lcyBmb3IgcHJhY3RpY2FsIHNhZmVndWFyZGluZyBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiwgb3BlcmF0aW9uLCBhbmQgbWFpbnRlbmFuY2Ugb2YgZWxlY3RyaWMgc3VwcGx5LCBjb21tdW5pY2F0aW9uIGxpbmVzIGFuZCBhc3NvY2lhdGVkIGVxdWlwbWVudC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkFzc2lnbnMgYW5kIG1haW50YWlucyB1bmlxdWUgaWRlbnRpZmllcnMgYW5kIHVuYW1iaWd1b3VzIG5hbWVzIHRvIG9iamVjdHMgZm9yIHRob3NlIHdpc2hpbmcgdG8gcmVnaXN0ZXIgdGhlbS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk3IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlByb2dyYW0gZm9yIHBvbGljeW1ha2VycyBwcm92aWRpbmcgdGFpbG9yZWQgc3RhbmRhcmRzIGluZm9ybWF0aW9uLCBhY2Nlc3MgdG8gdGhlIElFRUUgU0Egc3RhbmRhcmRpemF0aW9uIGVjb3N5c3RlbSwgYW5kIHN0YW5kYXJkaXphdGlvbiByZXNvdXJjZXMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Qcm92aWRpbmcgZ2xvYmFsIHN0YW5kYXJkcyBwcm9mZXNzaW9uYWxzIHRoZSBvcHBvcnR1bml0eSB0byBvYnNlcnZlIHRoZSBJRUVFIHN0YW5kYXJkcyBkZXZlbG9wbWVudCBwcm9jZXNzIGFuZCBsZWFybiBhYm91dCB0ZWNobmljYWwgYXJlYXMgb2YgaW50ZXJlc3QuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TZWUgYWxsIHRoZSBwcm9ncmFtcywgcHJvZHVjdHMsIGFuZCBzZXJ2aWNlcyB0aGF0IElFRUUgU0EgaGFzIHRvIG9mZmVyLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDAwIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiPgoJCTxhIHRpdGxlPSJGb2N1c2VzIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5Gb2N1c2VzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDEiIGRhdGEtaXRlbS1pZD0iODQwMSI+CgkJCQkJCQk8YSB0aXRsZT0iQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2Utc3lzdGVtcy8iIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1saW5rICI+QXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMiIgZGF0YS1pdGVtLWlkPSI4NDAyIj4KCQkJCQkJCTxhIHRpdGxlPSJDb25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJhY3RpY2VzL2Nvbm5lY3Rpdml0eS10ZWxlY29tLyIgZGF0YS1pdGVtLWlkPSI4NDAyIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMyIgZGF0YS1pdGVtLWlkPSI4NDAzIj4KCQkJCQkJCTxhIHRpdGxlPSJFbmVyZ3kiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9lbmVyZ3kvIiBkYXRhLWl0ZW0taWQ9Ijg0MDMiIGNsYXNzPSJuYXYtbGluayAiPkVuZXJneTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwNCIgZGF0YS1pdGVtLWlkPSI4NDA0Ij4KCQkJCQkJCTxhIHRpdGxlPSJGb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcmFjdGljZXMvZm91bmRhdGlvbmFsLyIgZGF0YS1pdGVtLWlkPSI4NDA0IiBjbGFzcz0ibmF2LWxpbmsgIj5Gb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQwNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDA1IiBkYXRhLWl0ZW0taWQ9Ijg0MDUiPgoJCQkJCQkJPGEgdGl0bGU9IkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9oZWFsdGhjYXJlLWxpZmUtc2NpZW5jZXMvIiBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtbGluayAiPkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDA2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDYiIGRhdGEtaXRlbS1pZD0iODQwNiI+CgkJCQkJCQk8YSB0aXRsZT0iTW9iaWxpdHkiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9tb2JpbGl0eS8iIGRhdGEtaXRlbS1pZD0iODQwNiIgY2xhc3M9Im5hdi1saW5rICI+TW9iaWxpdHk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzMiIGRhdGEtaXRlbS1pZD0iODQzMyI+CgkJCQkJCQk8YSB0aXRsZT0iR292ZXJubWVudCBFbmdhZ2VtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9pbnRsLyIgZGF0YS1pdGVtLWlkPSI4NDMzIiBjbGFzcz0ibmF2LWxpbmsgIj5Hb3Zlcm5tZW50IEVuZ2FnZW1lbnQ8L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TdHJhdGVnaWMgZm9jdXNlcyBhbmQgaW5kdXN0cmllcyB3aGVyZSBJRUVFIFNBIGlzIHJhaXNpbmcgdGhlIHdvcmxk4oCZcyBzdGFuZGFyZHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5EZXZlbG9waW5nIGFjY2Vzc2libGUgYW5kIHN1c3RhaW5hYmxlIGFwcHJvYWNoZXMgYW5kIHNvbHV0aW9ucyBmb3IgcHJhY3RpY2FsIGFwcGxpY2F0aW9uIG9mIEFJUyBwcmluY2lwbGVzIGFuZCBmcmFtZXdvcmtzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDIiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QWR2YW5jaW5nIHJvYnVzdCwgcmVzcG9uc2libGUsIGFuZCBhZmZvcmRhYmxlIGNvbm5lY3Rpdml0eS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDAzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkVuYWJsaW5nIHN1c3RhaW5hYmxlLCBlZmZpY2llbnQsIGFuZCBhY2Nlc3NpYmxlIGVuZXJneSB0aHJvdWdoIHRlY2hub2xvZ2ljYWwgYWR2YW5jZXMgb24gYSBnbG9iYWwgc2NhbGUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwNCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Xb3JraW5nIHRvIHN0YW5kYXJkaXplIHNlYW1sZXNzIGFuZCB1YmlxdWl0b3VzIGNvbm5lY3Rpdml0eSBhY3Jvc3MgYWxsIGFwcGxpY2F0aW9ucyBvZiBjb25uZWN0ZWQgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Rm9jdXNlZCBvbiBlbmFibGluZyBhZmZvcmRhYmxlIGhlYWx0aGNhcmUsIGFjY2VzcyB0byBtZWRpY2luZSwgYW5kIGlubm92YXRpb24gdG8gaW1wcm92ZSBvdmVyYWxsIGdsb2JhbCB3ZWxsbmVzcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDA2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPldvcmtpbmcgdG8gaGVscCB0aGUgZXZvbHZpbmcgbW9iaWxpdHkgZWNvc3lzdGVtIGFkZHJlc3Mgc29tZSBvZiBpdHMgZ3JlYXRlc3QgYnVzaW5lc3Mgb3Bwb3J0dW5pdGllcyB0aGF0IGhhdmUgdGhlIHBvdGVudGlhbCB0byBzb2x2ZSBtYWpvciBzb2NpZXRhbCBjaGFsbGVuZ2VzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzMiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QnVpbGRpbmcgYnJpZGdlcyBiZXR3ZWVuIHRoZSB3b3JsZHMgb2YgdGVjaG5vbG9neSwgc3RhbmRhcmRzLCBhbmQgcG9saWN5IG1ha2luZy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQwOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBkcm9wZG93biBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwOCIgZGF0YS1pdGVtLWlkPSI4NDA4Ij4KCQk8YSB0aXRsZT0iR2V0IEludm9sdmVkIiBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5HZXQgSW52b2x2ZWQ8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQzNCIgZGF0YS1pdGVtLWlkPSI4NDM0Ij4KCQkJCQkJCTxhIHRpdGxlPSJFdmVudHMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iIGRhdGEtaXRlbS1pZD0iODQzNCIgY2xhc3M9Im5hdi1saW5rICI+RXZlbnRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEwIiBkYXRhLWl0ZW0taWQ9Ijg0MTAiPgoJCQkJCQkJPGEgdGl0bGU9IklFRUUgU0EgTWVtYmVyc2hpcCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvbWVtYmVyc2hpcC8iIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBNZW1iZXJzaGlwPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM1IiBkYXRhLWl0ZW0taWQ9Ijg0MzUiPgoJCQkJCQkJPGEgdGl0bGU9IkhvdyB0byBHZXQgSW52b2x2ZWQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3BhcnRpY2lwYXRlLyIgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWxpbmsgIj5Ib3cgdG8gR2V0IEludm9sdmVkPC9hPgoJCQkJCQk8L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudS1kZXNjcmlwdGlvbiI+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+TGVhcm4gYWJvdXQgb3Bwb3J0dW5pdGllcyB0byBlbmdhZ2Ugd2l0aCBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzQiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Sm9pbiB1cyBhdCB1cGNvbWluZyB2aXJ0dWFsIG9yIGluLXBlcnNvbiBldmVudHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GbGV4aWJsZSBtZW1iZXJzaGlwIG9wdGlvbnMgdGhhdCBvZmZlciBlbmhhbmNlZCBwYXJ0aWNpcGF0aW9uIGluIElFRUUgU0EgYWN0aXZpdGllcywgc3RhbmRhcmRzIGRldmVsb3BtZW50LCBhbmQgZ292ZXJuYW5jZS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRoZXJlIGFyZSBtYW55IG9wcG9ydHVuaXRpZXMgZm9yIHBhcnRpY2lwYXRpb24sIGZpbmQgdGhlIHJpZ2h0IG9uZSBmb3IgeW91LjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDEyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEyIiBkYXRhLWl0ZW0taWQ9Ijg0MTIiPgoJCTxhIHRpdGxlPSJSZXNvdXJjZXMiIGRhdGEtaXRlbS1pZD0iODQxMiIgY2xhc3M9Im5hdi1saW5rICBkcm9wZG93bi10b2dnbGUiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPlJlc291cmNlczwvYT4KCQk8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IG1lZ2EtbWVudSI+CgkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUgIGRlcHRoXzAiPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEzIiBkYXRhLWl0ZW0taWQ9Ijg0MTMiPgoJCQkJCQkJPGEgdGl0bGU9IlRyYWluaW5nICZhbXA7IERldmVsb3BtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iIGRhdGEtaXRlbS1pZD0iODQxMyIgY2xhc3M9Im5hdi1saW5rICI+VHJhaW5pbmcgJiMwMzg7IERldmVsb3BtZW50PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM2IiBkYXRhLWl0ZW0taWQ9Ijg0MzYiPgoJCQkJCQkJPGEgdGl0bGU9Ik5ld3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIiBkYXRhLWl0ZW0taWQ9Ijg0MzYiIGNsYXNzPSJuYXYtbGluayAiPk5ld3M8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDE1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MTUiIGRhdGEtaXRlbS1pZD0iODQxNSI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBOZXdzbGV0dGVyIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9uZXdzL3N3aXJlLyIgZGF0YS1pdGVtLWlkPSI4NDE1IiBjbGFzcz0ibmF2LWxpbmsgIj5JRUVFIFNBIE5ld3NsZXR0ZXI8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS05NTU0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tOTU1NCIgZGF0YS1pdGVtLWlkPSI5NTU0Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgU3RvcmUiIGhyZWY9Imh0dHBzOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWU/dXRtX3NvdXJjZT1zdGFuZGFyZHMmYW1wO3V0bV9tZWRpdW09d2ViJmFtcDt1dG1fY2FtcGFpZ249c3RhbmRhcmRzLXJlZmVycmFsIiBkYXRhLWl0ZW0taWQ9Ijk1NTQiIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBTdG9yZTwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEyIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRyYWluaW5nIGFuZCBjb21tdW5pY2F0aW9uIHJlc291cmNlcyB0byBzdGF5IGNvbm5lY3RlZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkluZGl2aWR1YWwgYW5kIG9yZ2FuaXphdGlvbmFsIGVmZmVjdGl2ZW5lc3MgcHJvZ3JhbSB0byBlbmFibGUgdGhlIHN1Y2Nlc3Mgb2Ygb3VyIHZpdGFsIHZvbHVudGVlcnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzNiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5SZWFkIHRoZSBsYXRlc3QgbmV3cyBvbiBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MTUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+U3Vic2NyaWJlIHRvIG91ciBuZXdzbGV0dGVyIGFuZCBrZWVwIHVwIHRvIGRhdGUgb24gdGhlIGxhdGVzdCBzdGFuZGFyZHMsIGV2ZW50LCBhbmQgYWN0aXZpdGllcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI5NTU0IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkdldCB0aGUgc3RhbmRhcmRzIHlvdSBuZWVkLiBTZWxlY3QgZnJvbSBpbmRpdmlkdWFsIHN0YW5kYXJkcyBvciBzdGFuZGFyZHMgYnVuZGxlcy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQxNiIgY2xhc3M9Im5hdi10eXBlLWJ1dHRvbiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQxNiIgZGF0YS1pdGVtLWlkPSI4NDE2Ij4KCQk8YSB0aXRsZT0iTUFDIEFkZHJlc3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXNlcnZpY2VzL3JlZ2F1dGgvIiBkYXRhLWl0ZW0taWQ9Ijg0MTYiIGNsYXNzPSJuYXYtbGluayAiPk1BQyBBZGRyZXNzPC9hPgoJPC9saT4KPC91bD4gICAgICAgICAgICA8IS0tIGVuZCB3b3JkcHJlc3MgbWVudSAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvI21vYmlsZS1tZW51IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBzZWFyY2giPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtaW5wdXQtd3JhcHBlciIgY2xhc3M9ImNvbGxhcHNlIGNvbGxhcHNlLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9InNlYXJjaCIgY2xhc3M9ImZvcm0taW5saW5lIiBhY3Rpb249Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBJRUVFIFNBLi4uIiBhdXRvZm9jdXM9ImF1dG9mb2N1cyIgbmFtZT0icSIgaWQ9InEiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgdHlwZT0ic3VibWl0Ij48aSBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Zvcm0+IDwhLS0gLyNzZWFyY2ggLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jc2VhcmNoLWlucHV0LXdyYXBwZXIgLS0+CiAgICAgICAgICAgIDxidXR0b24gaWQ9Im1haW4tc2VhcmNoLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbWQiIHR5cGU9ImJ1dHRvbiIgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLWJzLXRhcmdldD0iI3NlYXJjaC1pbnB1dC13cmFwcGVyIgogICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZWFyY2gtaW5wdXQtd3JhcHBlciI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaCI+PC9pPjwvYnV0dG9uPgogICAgICAgIDwvZGl2PiA8IS0tIC8uYnRuLWdyb3VwIC5zZWFyY2ggLS0+CiAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lci1mbHVpZCAtLT4KPC9uYXY+IDwhLS0gLyNtYWluLW5hdiAubmF2YmFyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jbWFzdGhlYWQgLS0+CjwvaGVhZGVyPgoKCjxtYWluPgogICAgPHNlY3Rpb24gaWQ9InBhZ2UtdGl0bGUiIGNsYXNzPSJzdGFuZGFyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctMyBvcmRlci1sZy1sYXN0IGFsaWduLXNlbGYtbGctZW5kIHRleHQtbGctZW5kIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdG5kLXN0YXR1cyI+QWN0aXZlIFN0YW5kYXJkPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiBjb2wtbGctMyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctMTEiPgogICAgICAgICAgICAgICAgICAgIDxoMSBpZD0ic3RuZC1kZXNpZ25hdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img1Ij5JRUVFIDUyOC0yMDE5PC9oMT4KICAgICAgICAgICAgICAgICAgICA8aDIgaWQ9InN0bmQtdGl0bGUiPklFRUUgU3RhbmRhcmQgZm9yIEluZXJ0aWFsIFNlbnNvciBUZXJtaW5vbG9neTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAuY29sLWxnLTExIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1sZy04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwdXJjaGFzZS1vcHRpb25zIiBjbGFzcz0iZC1ncmlkIGdhcC00IGQtbWQtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InN0bmQtYnV5LXVybCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cudGVjaHN0cmVldC5jb20vaWVlZS9wcm9kdWN0cy92ZW5kb3JfaWQvNzI5MiIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iPlB1cmNoYXNlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InN0bmQtc3Vic2NyaXB0aW9uLXVybCIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2llZWV4cGxvcmUuaWVlZS5vcmcvc2VydmxldC9vcGFjP3B1bnVtYmVyPTg4NjM3OTciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgcm9sZT0iYnV0dG9uIj5BY2Nlc3MgdmlhIFN1YnNjcmlwdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNwdXJjaGFzZS1vcHRpb25zIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1sZy04IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgIDwvc2VjdGlvbj4gPCEtLSAvI3BhZ2UtdGl0bGUgLS0+CgogICAgCiAgICA8c2VjdGlvbiBpZD0iYnJlYWRjcnVtYnMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgIDxuYXYgaWQ9ImJyZWFkY3J1bWItbmF2IiBhcmlhLWxhYmVsPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9sIGNsYXNzPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZyIgdGl0bGU9IkhvbWUiPkhvbWU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8/cT1TdGFuZGFyZCIgdGl0bGU9IlN0YW5kYXJkcyI+U3RhbmRhcmRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIGFjdGl2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSJwYWdlIj5JRUVFIDUyOC0yMDE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb2w+IDwhLS0gLy5icmVhZGNydW1iIC0tPgogICAgICAgICAgICAgICAgICAgIDwvbmF2PiA8IS0tIC8jYnJlYWRjcnVtYi1uYXYgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNicmVhZGNydW1icyAtLT4KICAgIAogICAgPHNlY3Rpb24gaWQ9ImNvbnRlbnQiIGNsYXNzPSJzdGFuZGFyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1haW4tY29udGVudCIgY2xhc3M9ImNvbC0xMiBjb2wtbGctMTAgb2Zmc2V0LWxnLTEgY29sLXhsLTggb2Zmc2V0LXhsLTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0bmQtZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5UZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vuc29ycyBhcmUgcHJlc2VudGVkIGluIHRoaXMgc3RhbmRhcmQuIFVzYWdlIGFzIHVuZGVyc3Rvb2QgYnkgdGhlIGluZXJ0aWFsIHNlbnNvciBjb21tdW5pdHkgaXMgZ2l2ZW4gcHJlZmVyZW5jZSBvdmVyIGdlbmVyYWwgdGVjaG5pY2FsIHVzYWdlIG9mIHRoZSB0ZXJtcyBoZXJlaW4uIFRoZSBjcml0ZXJpb24gZm9yIGluY2x1c2lvbiBvZiBhIHRlcm0gYW5kIGl0cyBkZWZpbml0aW9uIGluIHRoaXMgc3RhbmRhcmQgaXMgdXNlZnVsbmVzcyBhcyByZWxhdGVkIHRvIGluZXJ0aWFsIHNlbnNvciB0ZWNobm9sb2d5LjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3N0bmQtZGVzY3JpcHRpb24gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic3RhbmRhcmQtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0icm93Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlNwb25zb3IgQ29tbWl0dGVlPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtY29tbWl0dGVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BRVMvR0EgLSBHeXJvIEFjY2VsZXJvbWV0ZXIgUGFuZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLWNvbW1pdHRlZS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVlLWFlc3Mub3JnL3RlY2gtb3BzL2d5cm8tYW5kLWFjY2VsZXJvbWV0ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiIHRhcmdldD0iX2JsYW5rIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TdGF0dXM8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN0YXR1cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPkFjdGl2ZSBTdGFuZGFyZDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5QQVIgQXBwcm92YWw8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1wYXItYXBwcm92YWwtZGF0ZSIgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij48YSBpZD0ic3RuZC1wYXItbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2RldmVsb3BtZW50LnN0YW5kYXJkcy5pZWVlLm9yZy9teXByb2plY3Qtd2ViL3B1YmxpYy92aWV3Lmh0bWwjcGFyZGV0YWlsLzY0NjMiPjIwMTgtMDUtMTQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlN1cGVyc2VkaW5nPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc3VwZXJzZWRpbmciIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+PGEgaWQ9InN0bmQtc3VwZXJzZWRpbmctdXJsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MjgvNzgwIj41MjgtMjAwMTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPkJvYXJkIEFwcHJvdmFsPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtYXBwcm92YWwtZGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij4yMDE5LTA2LTEzPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5IaXN0b3J5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPSJyb3ciPgoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLTcgY29sLW1kLTQiPlB1Ymxpc2hlZDo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1wdWJsaXNoZWQtZGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC01IGNvbC1tZC04Ij4yMDE5LTEwLTA4PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4gPCEtLSAvLnJvdyAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3N0YW5kYXJkLWRldGFpbHMgLS0+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndvcmtpbmctZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImgyIHNlY3Rpb24tdGl0bGUiPldvcmtpbmcgR3JvdXAgRGV0YWlsczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndvcmtpbmctZ3JvdXAtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U29jaWV0eTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1zb2NpZXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5JRUVFIEFlcm9zcGFjZSBhbmQgRWxlY3Ryb25pYyBTeXN0ZW1zIFNvY2lldHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtc29jaWV0eS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIiBocmVmPSJodHRwOi8vd3d3LmllZWUtYWVzcy5vcmcvIiB0aXRsZT0iTGVhcm4gTW9yZSIgdGFyZ2V0PSJfYmxhbmsiPkxlYXJuIE1vcmU8L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TcG9uc29yIENvbW1pdHRlZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtd29ya2luZy1ncm91cC1jb21taXR0ZWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BRVMvR0EgLSBHeXJvIEFjY2VsZXJvbWV0ZXIgUGFuZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YSBpZD0ic3RuZC13b3JraW5nLWdyb3VwLWNvbW1pdHRlZS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2llZWUtYWVzcy5vcmcvdGVjaC1vcHMvZ3lyby1hbmQtYWNjZWxlcm9tZXRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5Xb3JraW5nIEdyb3VwPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAiIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFTlNSX1dHIC0gU2Vuc29ycyBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtd29ya2luZy1ncm91cC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wbWVudC5zdGFuZGFyZHMuaWVlZS5vcmcvbXlwcm9qZWN0LXdlYi9wdWJsaWMvdmlldy5odG1sIy9pbnRlcmVzdC8zNTQ2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+SUVFRSBQcm9ncmFtIE1hbmFnZXI8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc3RhZmYtbGlhaXNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+RGFuIFBlcmV6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YSBpZD0ic3RuZC1zdGFmZi1saWFpc29uLWVtYWlsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsVE86ZGFuaWVsLnBlcmV6QGllZWUub3JnIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJDb250YWN0Ij5Db250YWN0PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+V29ya2luZyBHcm91cCBDaGFpcjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC13b3JraW5nLWdyb3VwLWNoYWlyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5IYXJyeSBEYXZpczwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtZGV0YWlscyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id29ya2luZy1ncm91cC1wcm9qZWN0cy1zdGFuZGFyZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMgbmF2LWp1c3RpZmllZCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsgYWN0aXZlIiBpZD0id2ctYWN0aXZlLXByb2plY3RzLXRhYiIgZGF0YS1icy10b2dnbGU9InRhYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI3dnLWFjdGl2ZS1wcm9qZWN0cyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXByb2plY3RzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+QWN0aXZlIFByb2plY3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctYWN0aXZlLXN0YW5kYXJkcyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXN0YW5kYXJkcyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkFjdGl2ZSBTdGFuZGFyZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gPCEtLSAvLm5hdi1pdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1saW5rIiBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMiIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+U3VwZXJzZWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWluYWN0aXZlLXdpdGhkcmF3bi1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+SW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkluYWN0aXZlLVJlc2VydmVkIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPiA8IS0tIC8ubmF2IC5uYXYtdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXRhYi1jb250ZW50IiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0cyIgY2xhc3M9InRhYi1wYW5lIGZhZGUgc2hvdyBhY3RpdmUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtcHJvamVjdHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1wcm9qZWN0IHdnLWFjdGl2ZS1wcm9qZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtcHJvamVjdC1kZXNpZ25hdGlvbiI+UDE0MzE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdGFuZGFyZCBmb3IgU3BlY2lmeWluZyBhbmQgVGVzdGluZyBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXByb2plY3QtZGVzY3JpcHRpb24iPlRoaXMgc3RhbmRhcmQgZGVmaW5lcyByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8xMDMyMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1wcm9qZWN0IC53Zy1hY3RpdmUtcHJvamVjdCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1wcm9qZWN0cyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctYWN0aXZlLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjEyOTMtMjAxODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTGluZWFyIFNpbmdsZS1BeGlzLCBOb25neXJvc2NvcGljIEFjY2VsZXJvbWV0ZXJzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhlIHNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlciBmb3IgdXNlIGluIGluZXJ0aWFsIG5hdmlnYXRpb24sIGd1aWRhbmNlLCBhbmQgbGV2ZWxpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGd1aWRlIGFuZCBhIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHRlc3QgcHJvY2VkdXJlcyBmb3Igc3VjaCBhY2NlbGVyb21ldGVycyBhcmUgcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgYXJlIGdpdmVuIG9uIHRoZSB2YXJpb3VzIHR5cGVzIG9mIHN1Y2ggYWNjZWxlcm9tZXRlcnMgKGZvcmNlIG9yIHBlbmR1bG91cyB0b3JxdWUgcmViYWxhbmNlIHdpdGggYW5hbG9nIG9yIGRpZ2l0YWwgb3V0cHV0LCB2aWJyYXRpbmcgYmVhbSwgYW5kIG1pY3JvbWVjaGFuaWNhbCkgYW5kIGVycm9yIGVmZmVjdHMsIG9uIGZpbHRlcmluZywgbm9pc2UsIGFuZCB0cmFuc2llbnQgYW5hbHlzaXMgdGVjaG5pcXVlcywgYW5kIG9uIGNhbGlicmF0aW9uIGFuZCBtb2RlbGluZyB0ZWNobmlxdWVzIChtdWx0aXBvaW50IHR1bWJsZSBhbmFseXNpcywgdmlicmF0aW9uIGFuZCAgc2hvY2sgdGVzdCBhbmFseXNlcywgYW5kIGdlb3BoeXNpY2FsIGVmZmVjdHMgaW4gaW5lcnRpYWwgaW5zdHJ1bWVudCB0ZXN0aW5nKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLzU1OTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjE1NTQtMjAwNTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFJlY29tbWVuZGVkIFByYWN0aWNlIGZvciBJbmVydGlhbCBTZW5zb3IgVGVzdCBFcXVpcG1lbnQsIEluc3RydW1lbnRhdGlvbiwgRGF0YSBBY3F1aXNpdGlvbiwgYW5kIEFuYWx5c2lzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGVzdCBlcXVpcG1lbnQsIGRhdGEgYWNxdWlzaXRpb24gZXF1aXBtZW50LCBpbnN0cnVtZW50YXRpb24sIHRlc3QgZmFjaWxpdGllcywgYW5kIGRhdGEgYW5hbHlzaXMgdGVjaG5pcXVlcyB1c2VkIGluIGluZXJ0aWFsIHNlbnNvciB0ZXN0aW5nIGFyZSBkZXNjcmliZWQgaW4gdGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNTU0LzIyOTIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY0Ny0yMDA2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtQXhpcyBMYXNlciBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIHJpbmcgbGFzZXIgZ3lybyAoUkxHKSBmb3IgdXNlIGFzIGEgIHNlbnNvciBpbiBhdHRpdHVkZSBjb250cm9sIHN5c3RlbXMsIGFuZ3VsYXIgZGlzcGxhY2VtZW50IG1lYXN1cmluZyBzeXN0ZW1zLCBhbmQgYW5ndWxhciByYXRlICBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgIHNpbmdsZS1heGlzIFJMRyBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGFuIFJMRywgIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjQ3LzMxMzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjgxMy0xOTg4PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBUd28tRGVncmVlLW9mLUZyZWVkb20gRHluYW1pY2FsbHkgVHVuZWQgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgdHdvLWRlZ3JlZS1vZi1mcmVlZG9tIGR5bmFtaWNhbGx5IHR1bmVkIGd5cm8gKERURykgc3BlY2lmaWNhdGlvbiBpcyBnaXZlbiB0aGF0IHByb3ZpZGVzIGEgY29tbW9uIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzLiBBIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBEVEcgaXMgYWxzbyBnaXZlbi4gVGhlIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBwcm9jZWR1cmVzIGFyZSBkZWZpbmVkIGluIHRlcm1zIHVuaXF1ZSB0byB0aGUgRFRHLiBUaGV5IGNvdmVyIGFwcGxpY2F0aW9ucyBvZiB0aGUgZ3lybyBhcyBhbiBhbmd1bGFyIG1vdGlvbiBzZW5zb3IgaW4gbmF2aWdhdGlvbiBhbmQgY29udHJvbCBzeXN0ZW1zLiBUaGV5IGFwcGx5IHRvIHR3byBtb2RlcyBvZiB1c2U6ICgxKSBhcyBhIHN0cmFwLWRvd24gc2Vuc29yIGluIG9wZXJhdGluZyBlbnZpcm9ubWVudHMgdHlwaWNhbCBvZiBhaXJjcmFmdCBhbmQgbWlzc2lsZSBhcHBsaWNhdGlvbnMsIGFuZCAoMikgYXMgYSBzZW5zb3IgaW4gZ2ltYmFsbGVkIHBsYXRmb3JtIGFwcGxpY2F0aW9ucyBpbiB3aGljaCB0aGUgZHluYW1pYyBhbmd1bGFyIGlucHV0cyB0byB3aGljaCB0aGUgZ3lybyBpcyBzdWJqZWN0ZWQgYXJlIGJlbmlnbiByZWxhdGl2ZSB0byB0aGUgYWNjdXJhY3kgcmVxdWlyZWQuIEluIHRoZSBjYXNlIG9mIHRoZSBzdHJhcC1kb3duIERURywgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZXh0ZXJuYWwgY2FwdHVyZSBsb29wcyBhcmUgY29uc2lkZXJlZCB0byB0aGUgZXh0ZW50IG5lY2Vzc2FyeSB0byBkZWZpbmUgdGhlIGd5cm8gcGVyZm9ybWFuY2UuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvODEzLzEyMDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0yMDIwPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIFNwZWNpZnlpbmcgYW5kIFRlc3RpbmcgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+U3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmVzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIFRoZSB0ZXN0IHByb2NlZHVyZXMgYXJlIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLzc0OTYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1zdGFuZGFyZHMgLnRhYi1wYW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTI5My0xOTk4L0NvciAxLTIwMDg8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBMaW5lYXIsU2luZ2xlLUF4aXMsIE5vbmd5cm9zY29waWMgQWNjZWxlcm9tZXRlcnMgQ29ycmlnZW5kdW0gMTogQ2hhbmdlcyB0byBBbm5leCBLIGFuZCBBbm5leCBMPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJpZ2VuZHVtIHRvIElFRUUgU3RkIDEyOTMtMTk5OC4gU3BlY2lmaWNhdGlvbiBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlcnMgZm9yIHVzZSBhcyBhIHNlbnNvciBpbiBhdHRpdHVkZSBjb250cm9sIHN5c3RlbXMsIGxpbmVhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBsaW5lYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gVGhlIHNwZWNpZmljYXRpb24gZm9ybWF0IGd1aWRlIGFuZCB0ZXN0IHByb2NlZHVyZSBzdGFuZGFyZCBhcHBsaWVzIHRvIGZvcmNlLXJlYmFsYW5jZSBhY2NlbGVyb21ldGVycyAocGVuZHVsb3VzIG9yIHRyYW5zbGF0aW9uYWwgcHJvb2YgIG1hc3MpLCB2aWJyYXRpbmcgYmVhbSBhY2NlbGVyb21ldGVycyAoVkJBcyksIGFuZCBtaWNyb21lY2hhbmljYWwgYWNjZWxlcm9tZXRlcnMgdGhhdCByYW5nZSAgZnJvbSBsZXNzZXIgYWNjdXJhY3kgdG8gaGlnaCBhY2N1cmFjeSBkZXZpY2VzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLTE5OThfQ29yXzEvNDE0MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI4LTIwMDE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIEluZXJ0aWFsIFNlbnNvciBUZXJtaW5vbG9neTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vub3JzIGFyZSBwcmVzZW50ZWQgaW4gdGhpcyBzdGFuZGFyZC4gVXNhZ2UgYXMgdW5kZXJzdG9vZCBieSB0aGUgaW5lcnRpYWwgc2Vuc29yIGNvbW11bml0eSBpcyBnaXZlbiBwcmVmZXJlbmNlIG92ZXIgZ2VuZXJhbCB0ZWNobmljYWwgdXNhZ2Ugb2YgdGhlIHRlcm1zIGhlcmVpbi4gVGhlIGNyaXRlcmlvbiBmb3IgaW5jbHVzaW9uIG9mIGEgdGVybSBhbmQgaXRzIGRlZmluaXRpb24gaW4gdGhpcyBzdGFuZGFyZCBpcyB1c2VmdWxuZXNzIGFzIHJlbGF0ZWQgdG8gaW5lcnRpYWwgc2Vuc29yIHRlY2hub2xvZ3kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOC83ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLXN1cGVyc2VkZWQtc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLXN1cGVyc2VkZWQtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0xOTk3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIEEgc3RhbmRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIElGT0cgaXMgcHJvdmlkZWQuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIGZpYmVyIG9wdGljIGd5cm8sIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzk1Mi8xMzIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj45NTItMTk5Ny9Db3IgMS0yMDE2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zIC0tIENvcnJpZ2VuZHVtIDE6IEZpZ3VyZSAxIGFuZCBTdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5FcnJvcnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA5NTItMTk5NyBhcmUgY29ycmVjdGVkIGluIHRoaXMgY29ycmlnZW5kdW0uIENvcnJlY3Rpb25zIGFyZSBtYWRlIHRvIEZpZ3VyZSAxIGFuZCBpbiBzdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLTE5OTdfQ29yXzEvNjc4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnRhYi1wYW5lLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkcyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gSW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIiByb2xlPSJ0YWJwYW5lbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgQ29yaW9saXMgVmlicmF0b3J5IEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuICBBIHN0YWRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIENWRyBpcyBwcm92aWRlZC4gIEEgY29tcGxpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBDVkcsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8zNTE5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQvQ29yIDEtMjAwODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3MgLSBDb3JyaWdlbmR1bSAxPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5Db3JyaWdlbmR1bSB0byBJRUVFIFN0ZCAxNDMxLTIwMDQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNDMxLTIwMDRfQ29yXzEvNDE0MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MjkyLTE5Njk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtZGVncmVlLW9mLWZyZWVkb20gc3ByaW5nLXJlc3RyYWluZWQgcmF0ZSBneXJvIGZvciBbYWlyY3JhZnQsIG1pc3NpbGUsIHNwYWNlY3JhZnQsX19fX19fXSBhcHBsaWNhdGlvbnMuIFRoZSByYXRlIGd5cm8gc2hhbGwgYmUgY2FwYWJsZSBvZiBwcm92aWRpbmcgWyhkYywgYWMpIHZvbHRhZ2Ugb3V0cHV0cyBwcm9wb3J0aW9uYWwgdG8gYW5ndWxhciByYXRlIGlucHV0cyB1cCB0b19fX19fXyBkZWdyZWVzIHBlciBzZWNvbmQsIGEgc3dpdGNoIGNsb3N1cmUocykgYXQgYW5ndWxhciByYXRlcyAoZXhjZWVkaW5nLGxlc3MgdGhhbilfX19fX18gKCssLSx1MDBiMSlfX19fX18gZGVncmVlcyBwZXIgc2Vjb25kXS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5Mi80ODUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLURlZ3JlZS1vZi1GcmVlZG9tIFNwcmluZy1SZXN0cmFpbmVkIFJhdGUgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlJlY29tbWVuZGVkIHJhdGUgZ3lybyB0ZXN0IHByb2NlZHVyZXMgZGVyaXZlZCBmcm9tIHRob3NlIGN1cnJlbnRseSBpbiB1c2UsIGluY2x1ZGluZyB0ZXN0IGNvbmRpdGlvbnMgdG8gYmUgY29uc2lkZXJlZCwgYXJlIGNvbXBpbGVkLiBJbiBzb21lIGNhc2VzIGFsdGVybmF0ZSBtZXRob2RzIGZvciBtZWFzdXJpbmcgYSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpYyBoYXZlIGJlZW4gaW5jbHVkZWQuIFRoaXMgc3RhbmRhcmQgaXMgaW50ZW5kZWQgdG8gYmUgYSBndWlkZSBpbiB0aGUgcHJlcGFyYXRpb24gb2YgU2VjdGlvbiA0IG9mIGEgc3BlY2lmaWNhdGlvbiB0aGF0IGZvbGxvd3MgdGhlIGZvcm1hdCBvZiBJRUVFIFN0ZCAyOTIsIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5My80ODYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5L0NvciAxLTIwMTQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIGZvciBJRUVFIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcyAtLSBDb3JyaWdlbmR1bSAxOiBUYWJsZSAxIEhlYWRpbmc8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJlY3Rpb24gdG8gVGFibGUgMSBvbiBwYWdlIDE0IG9mIElFRUUgU3RkIDI5My0xOTY5PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8yOTMtMTk2OV9Db3JfMS81NzUwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MTctMTk3NDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIHNwZWNpZmljYXRpb24gdGhhdCBwcm92aWRlcyBhIGNvbW1vbiBtZWV0aW5nIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzIGlzIHByZXNlbnRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIGlzIGdpdmVuLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTE3Lzc2MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI5LTE5ODA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvc2NvcGUgc3BlY2lmaWNhdGlvbiBpcyBwcmVzZW50ZWQuIFJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSByYXRlLWludGVncmF0aW5nIGd5cm9zY29wZSBhcmUgY29tcGlsZWQuIFRoaXMgc3RhbmRhcmQsIHdoZW4gY29tYmluZWQgd2l0aCBJRUVFIFN0ZCA1MTctMTk3NCAoUjE5ODApLCBkZWZpbmVzIHRoZSByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBpbiB0ZXJtcyBvZiBjaGFyYWN0ZXJpc3RpY3MgdW5pcXVlIHRvIHRoZSBneXJvc2NvcGUgb3IgdGhvc2UgYXBwbGljYXRpb25zIGluIHdoaWNoIHRoZSBkeW5hbWljIGFuZ3VsYXIgaW5wdXRzIGFyZSBzaWduaWZpY2FudGx5IGdyZWF0ZXIgdGhhbiB0aGUgbGltaXRhdGlvbnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA1MTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MjkvNzgxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MjktMTk4MC9Db3IgMS0yMDE3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvcyAtIENvcnJpZ2VuZHVtIDE6IDMuMy45LjIuMiwgMy42LjQuMS4xLCAzLjYuNC4xLjIsIDYuMywgYW5kIDEwLjEwLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+Q29ycmVjdGlvbnMgYXJlIG1hZGUgYnkgdGhpcyBjb3JyaWdlbmR1bSB0byBtYXRlcmlhbCBhbHJlYWR5IHB1Ymxpc2hlZCBpbiBJRUVFIFN0ZCA1MjktMTk4MC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOS0xOTgwX0Nvcl8xLzU3ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIE5vbmd5cm9zY29waWMgSW5lcnRpYWwgQW5ndWxhciBTZW5zb3JzOiBKZXJrLCBBY2NlbGVyYXRpb24sIFZlbG9jaXR5LCBhbmQgRGlzcGxhY2VtZW50PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGd1aWRlIGlzIHByZXNlbnRlZCBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgc3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmUgZm9yIGFuIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgcHJvdmlkZXMgYSBjb21tb24gbWVldGluZyBncm91bmQgb2YgdGVybWlub2xvZ3kgYW5kIHByYWN0aWNlIGZvciBtYW51ZmFjdHVyZXJzIGFuZCB1c2VycyBvZiBhbiBhcnJheSBvZiBzZW5zb3JzIHRoYXQgaGF2ZSBiZWVuIGRldmVsb3BlZCB0byBtZWV0IG5lZWRzIG5vdCBlYXNpbHkgbWV0IGJ5IHRyYWRpdGlvbmFsIHNwaW5uaW5nLXJvdG9yIGd5cm9zY29wZXMuIEEgdGVzdCBwcm9jZWR1cmUgZm9yIHZlcmlmeWluZyB0aGF0IHRoZSBzcGVjaWZpY2F0aW9ucyBoYXZlIGJlZW4gbWV0IGlzIGdpdmVuLiBUaGUgc3RhbmRhcmQgaXMgbm90IGludGVuZGVkIHRvIGNvbXBldGUgd2l0aCBleGlzdGluZyBzdGFuZGFyZHMgZm9yIHNwZWNpZmljIGRldmljZXMgd2l0aCBoaWdobHkgc3BlY2lmaWMgbW9kZWxzIGFuZCBlcnJvciBzb3VyY2VzLCBzdWNoIGFzIHNwcmluZy1yZXN0cmFpbmVkIHJhdGUgZ3lyb3MsIGJ1dCB0byBwcm92aWRlIGEgdW5pZm9ybSBndWlkZSBmb3IgdGhvc2UgaW5lcnRpYWwgYW5ndWxhciBzZW5zb3JzIHRoYXQgaGF2ZSBub3QgYmVlbiBjb3ZlcmVkIGVsc2V3aGVyZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzY3MS85MjYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1L0NvciAxLTIwMTA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTm9uZ3lyb3Njb3BpYyBJbmVydGlhbCBBbmd1bGFyIFNlbnNvcnM6IEplcmssIEFjY2VsZXJhdGlvbiwgVmVsb2NpdHksIGFuZCBEaXNwbGFjZW1lbnQgQ29ycmlnZW5kdW0gMTogNC43LjIuNiBTaG9ydC1UZXJtIFN0YWJpbGl0eSBhbmQgQW5uZXggQSBTZW5zb3IgRHluYW1pYyBCbG9jayBEaWFncmFtczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+SUVFRSBTdGQgNjcxLTE5ODUgcHJvdmlkZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIG5vbi1neXJvc2NvcGljIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgbWF5IG1lYXN1cmUgYW5ndWxhciBqZXJrLCBhY2NlbGVyYXRpb24sIHJhdGUsIG9yIGRpc3BsYWNlbWVudCB3aXRoIG9yIHdpdGhvdXQgcmVzcG9uc2UgZG93biB0byB6ZXJvIGZyZXF1ZW5jeS4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCB0ZXN0IHByb2NlZHVyZXMsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgY292ZXIgZGVzaWduIGZlYXR1cmVzIGFuZCB0aGVvcmV0aWNhbCBwcmluY2lwbGVzIG9mIG9wZXJhdGlvbi4gIFRoaXMgY29ycmlnZW5kdW0gbWFrZXMgY2hhbmdlcyB0byA0LjcuMi42IHRvIGRlbGV0ZSBhIHNlbnRlbmNlIHRoYXQgZG9lcyBub3QgYmVsb25nIHRoZXJlLCB0byBhZGQgYSBzdWJjbGF1c2UgdGhhdCB3YXMgaW5hZHZlcnRlbnRseSBsZWZ0IG91dCwgYW5kIHRvIHJlbnVtYmVyIHRoZSBleGlzdGluZyBzdWJjbGF1c2VzLiBDaGFuZ2VzIGFyZSBhbHNvIGJlaW5nIG1hZGUgdG8gZml4IHRoZSBibG9jayBkaWFncmFtcyBpbiBBbm5leCBBLCB0byBjb3JyZWN0IGEgbWlzc3BlbGxpbmcgb2YgaW5lcnRpYSwgYW5kIHRvIGFkZCBhIG1pc3Npbmcgc3ltYm9sLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjcxLTE5ODVfQ29yXzEvNDY4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+ODM2LTIwMDk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFJlY29tbWVuZGVkIFByYWN0aWNlIGZvciBQcmVjaXNpb24gQ2VudHJpZnVnZSBUZXN0aW5nIG9mIExpbmVhciBBY2NlbGVyb21ldGVyczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZSBkZXNjcmliZXMgdGhlIGNvbmR1Y3QgYW5kIGFuYWx5c2lzIG9mIHByZWNpc2lvbiB0ZXN0cyB0aGF0IGFyZSB0byBiZSBwZXJmb3JtZWQgb24gbGluZWFyIGFjY2VsZXJvbWV0ZXJzIHVzaW5nIGNlbnRyaWZ1Z2UgdGVjaG5pcXVlcy4gVGhlIHRlcm0gdTIwMWNwcmVjaXNpb24sdTIwMWQgaW4gdGhpcyBjb250ZXh0LCByZWZlcnMgdG8gdGVzdHMgdGhhdCBhcmUgY29uZHVjdGVkIHRvIGV2YWx1YXRlIGFjY2VsZXJvbWV0ZXIgcGFyYW1ldGVycywgYXMgb3Bwb3NlZCB0byB0aG9zZSBjb25kdWN0ZWQgdG8gZXN0YWJsaXNoIGVudmlyb25tZW50YWwgc3Vydml2YWJpbGl0eSBvbmx5LiBFdmFsdWF0aW9uIG1heSB0YWtlIHRoZSBmb3JtIG9mIGRldGVybWluaW5nIHRoZSBjb2VmZmljaWVudHMgb2YgdGhlIGFjY2VsZXJvbWV0ZXIncyBtb2RlbCBlcXVhdGlvbiwgZXhjZXB0IGZvciBiaWFzIGFuZCBzY2FsZSBmYWN0b3IsIHdoaWNoIGFyZSBtb3N0IGFjY3VyYXRlbHkgZGV0ZXJtaW5lZCBieSBzdGF0aWMgbXVsdGktcG9zaXRpb24gdGVzdHMuIEFsdGVybmF0aXZlbHksIGV2YWx1YXRpb24gbWF5IG9ubHkgZXN0YWJsaXNoIHRoYXQgdGhlIGFjY2VsZXJvbWV0ZXIgb3V0cHV0IGNvbXBsaWVzIHdpdGggc3BlY2lmaWMgZXJyb3IgbGltaXQgY3JpdGVyaWEuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS84MzYvMzQ0OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctdGFiLWNvbnRlbnQgLnRhYi1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtcHJvamVjdHMtc3RhbmRhcmRzIC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd29ya2luZy1ncm91cCAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jbWFpbi1jb250ZW50IC5jb2wtMTIgLmNvbC1sZy0xMCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNjb250ZW50IC0tPgo8L21haW4+CgogICAgPGZvb3Rlcj4KICAgICAgICA8c2VjdGlvbiBpZD0iZm9vdGVyLXRvcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXNtLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXItbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvIiB0aXRsZT0iVmlzaXQgSUVFRS5vcmciPjxpbWcgc3JjPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2ltZy9pZWVlLWxvZ28yeC5wbmciIGFsdD0iSUVFRSBsb2dvIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jZm9vdGVyLWxvZ28gLmxvZ28gLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS00IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNvY2lhbC1tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBzb2NpYWwtbWVkaWEganVzdGlmeS1jb250ZW50LXNtLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2llZWVzYS8iIHRpdGxlPSJGYWNlYm9vayI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5GYWNlYm9vazwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLXR3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vaWVlZXNhIiB0aXRsZT0iVHdpdHRlciI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPlR3aXR0ZXI8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1saW5rZWRpbiIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvaWVlZS1zYS1pZWVlLXN0YW5kYXJkcy1hc3NvY2lhdGlvbi8iIHRpdGxlPSJMaW5rZWRJbiI+PGkgY2xhc3M9ImZhIGZhLWxpbmtlZGluIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5MaW5rZWRJbjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLWluc3RhZ3JhbSIgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pZWVlc2EvIiB0aXRsZT0iSW5zdGFncmFtIj48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5JbnN0YWdyYW08L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC15b3V0dWJlIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZWVlc2EiIHRpdGxlPSJZb3VUdWJlIj48aSBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPiA8c3BhbiBjbGFzcz0ic3Itb25seSI+WW91VHViZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnNvY2lhbC1tZWRpYSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzb2NpYWwtbWVkaWEgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS04IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgICAgIDwvc2VjdGlvbj4gPCEtLSAvI2Zvb3Rlci10b3AgLS0+CgogICAgICAgIDxzZWN0aW9uIGlkPSJmb290ZXItd2lkZ2V0cyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+SUVFRSBTQTwvZGl2Pgo8ZGl2IGNsYXNzPSJtZW51LWZvb3Rlci1tZW51LWllZWUtc2EtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtaWVlZS1zYSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTg0MzciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQzNyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvIj5BYm91dCBVczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzcwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L21lbWJlcnNoaXAvIj5JRUVFIFNBIE1lbWJlcnNoaXA8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb3JwY2hhbi8iPkNvcnBvcmF0ZSBQcm9ncmFtPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTk0MTgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tOTQxOCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvZGlzdHJpYi8iPkRpc3RyaWJ1dG9yIFByb2dyYW08L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcyIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iPlRyYWluaW5nICYjMDM4OyBEZXZlbG9wbWVudDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0MzgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3BvbGljaWVzLyI+UG9saWNpZXMgJiMwMzg7IFByb2NlZHVyZXM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODQzOSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04NDM5Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb250YWN0LyI+Q29udGFjdCBVczwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Cb2FyZCBvZiBHb3Zlcm5vcnM8L2Rpdj4KPGRpdiBjbGFzcz0ibWVudS1mb290ZXItbWVudS1ib2FyZC1vZi1nb3Zlcm5vcnMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtYm9hcmQtb2YtZ292ZXJub3JzIiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODM2MyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzYzIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvIj5BYm91dCBCb2FyZCBvZiBHb3Zlcm5vcnM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM2NCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzY0Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvYXJjb20vIj5Bd2FyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2NSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL2NhZy8iPkNvcnBvcmF0ZSBBZHZpc29yeSBHcm91cDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjYiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9pY2NvbS8iPkluZHVzdHJ5IENvbm5lY3Rpb25zIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjciPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9yYWMvIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5IENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9zcGNjLyI+U3RyYXRlZ2ljIFBsYW5uaW5nIENvb3JkaW5hdGlvbiBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+U3RhbmRhcmRzIEJvYXJkPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtc3RhbmRhcmRzLWJvYXJkLWNvbnRhaW5lciI+PHVsIGlkPSJtZW51LWZvb3Rlci1tZW51LXN0YW5kYXJkcy1ib2FyZCIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgzNzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3OCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi8iPkFib3V0IFN0YW5kYXJkcyBCb2FyZDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzc5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzkiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2Ivc2JhLyI+Qm9hcmQgQXBwcm92YWxzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9hdWRjb20vIj5BdWRpdCBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL25lc2NvbS8iPk5ldyBTdGFuZGFyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wYXRjb20vIj5QYXRlbnQgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wcm9jb20vIj5Qcm9jZWR1cmVzIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzg0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzODQiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2IvcmV2Y29tLyI+U3RhbmRhcmRzIFJldmlldyBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+TmV3cyAmIzAzODsgRXZlbnRzPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMiIGNsYXNzPSJtZW51Ij48bGkgaWQ9Im1lbnUtaXRlbS04NDQwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIj5OZXdzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3NiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvbmV3cy9zd2lyZS8iPklFRUUgU0EgTmV3c2xldHRlcjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDQxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDEiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iPkV2ZW50czwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgICAgICA8L3NlY3Rpb24+IDwhLS0gLyNmb290ZXItd2lkZ2V0cyAtLT4KCiAgICAgICAgPHNlY3Rpb24gaWQ9ImZvb3Rlci1iYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBmb290ZXItYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iLyIgdGl0bGU9IkhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL3NpdGVtYXAvIiB0aXRsZT0iU2l0ZW1hcCI+U2l0ZW1hcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9hYm91dC9jb250YWN0Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ29udGFjdCAmYW1wOyBTdXBwb3J0Ij5Db250YWN0ICZhbXA7IFN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBY2Nlc3NpYmlsaXR5Ij5BY2Nlc3NpYmlsaXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL2Fib3V0L2NvcnBvcmF0ZS9nb3Zlcm5hbmNlL3A5LTI2Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iTm9uZGlzY3JpbWluYXRpb24gUG9saWN5Ij5Ob25kaXNjcmltaW5hdGlvbiBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zZWN1cmUuZXRoaWNzcG9pbnQuY29tL2RvbWFpbi9tZWRpYS9lbi9ndWkvMjA0MTAvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIEV0aGljcyBSZXBvcnRpbmciPklFRUUgRXRoaWNzIFJlcG9ydGluZzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9zZWN1cml0eS1wcml2YWN5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iSUVFRSBQcml2YWN5IFBvbGljeSI+SUVFRSBQcml2YWN5IFBvbGljeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvaXByLyIgdGl0bGU9IklFRUUgU0EgQ29weXJpZ2h0IFBvbGljeSI+SUVFRSBTQSBDb3B5cmlnaHQgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLmZvb3RlciAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29weXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZjb3B5OyBDb3B5cmlnaHQgPHNwYW4gaWQ9ImNvcHlyaWdodC15ZWFyIj4yMDIxPC9zcGFuPiBJRUVFICZuZGFzaDsgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIG9mIHRoaXMgd2Vic2l0ZSBzaWduaWZpZXMgeW91ciBhZ3JlZW1lbnQgdG8gdGhlIDxhIGNsYXNzPSJmb290ZXItbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvc2l0ZS10ZXJtcy1jb25kaXRpb25zLmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iSUVFRSBUZXJtcyBhbmQgQ29uZGl0aW9ucyI+SUVFRSBUZXJtcyBhbmQgQ29uZGl0aW9uczwvYT4uPGJyPkEgbm90LWZvci1wcm9maXQgb3JnYW5pemF0aW9uLCBJRUVFIGlzIHRoZSB3b3JsZCZyc3F1bztzIGxhcmdlc3QgdGVjaG5pY2FsIHByb2Zlc3Npb25hbCBvcmdhbml6YXRpb24gZGVkaWNhdGVkIHRvIGFkdmFuY2luZyB0ZWNobm9sb2d5IGZvciB0aGUgYmVuZWZpdCBvZiBodW1hbml0eS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jY29weXJpZ2h0IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgICAgIDwvc2VjdGlvbj4gPCEtLSAvI2Zvb3Rlci1iYXIgLS0+CiAgICA8L2Zvb3Rlcj4KCiAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXN1YnNjcmliZSIgdHlwZT0iYnV0dG9uIiBkYXRhLWJzLXRvZ2dsZT0ib2ZmY2FudmFzIiBkYXRhLWJzLXRhcmdldD0iI25ld3NsZXR0ZXItc3Vic2NyaWJlIiBhcmlhLWNvbnRyb2xzPSJuZXdzbGV0dGVyLXN1YnNjcmliZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtbGFiZWw9IlRvZ2dsZSBuZXdzbGV0dGVyIHN1YnNjcmliZSBmb3JtIj5TdWJzY3JpYmU8L2J1dHRvbj4gPCEtLSAvLmJ0biAuYnRuLXN1YnNjcmliZSAtLT4KCiAgICA8ZGl2IGlkPSJuZXdzbGV0dGVyLXN1YnNjcmliZSIgY2xhc3M9Im9mZmNhbnZhcyBvZmZjYW52YXMtZW5kIiBkYXRhLWJzLXNjcm9sbD0idHJ1ZSIgZGF0YS1icy1iYWNrZHJvcD0idHJ1ZSIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsbGVkYnk9Im5ld3NsZXR0ZXItc3Vic2NyaWJlLXRpdGxlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJvZmZjYW52YXMtaGVhZGVyIj4KICAgICAgICAgICAgPGg1IGNsYXNzPSJoMiBvZmZjYW52YXMtdGl0bGUiIGlkPSJuZXdzbGV0dGVyLXN1YnNjcmliZS10aXRsZSI+TmV3c3dpcmU8L2g1PgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSB0ZXh0LXJlc2V0IiBkYXRhLWJzLWRpc21pc3M9Im9mZmNhbnZhcyIgYXJpYS1sYWJlbD0iQ2xvc2UiPjwvYnV0dG9uPgogICAgICAgIDwvZGl2PiA8IS0tIC8ub2ZmY2F2YXMtaGVhZGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9Im9mZmNhbnZhcy1ib2R5Ij4KICAgICAgICAgICAgPHA+U2lnbiB1cCBmb3Igb3VyIG1vbnRobHkgbmV3c2xldHRlciB0byBsZWFybiBhYm91dCBuZXcgZGV2ZWxvcG1lbnRzLCBpbmNsdWRpbmcgcmVzb3VyY2VzLCBpbnNpZ2h0cyBhbmQgbW9yZS48L3A+CiAgICAgICAgICAgIDwhLS0gTWFya2V0byBGb3JtIC0tPgogICAgICAgICAgICA8c2NyaXB0IHNyYz0iLy9hcHAtYWIyOC5tYXJrZXRvLmNvbS9qcy9mb3JtczIvanMvZm9ybXMyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgICAgIDxmb3JtIGlkPSJta3RvRm9ybV8xMDIyIiBjbGFzcz0ibWFya2V0b0Zvcm0iPjwvZm9ybT4KICAgICAgICAgICAgPHNjcmlwdD5Na3RvRm9ybXMyLmxvYWRGb3JtKCIvL2FwcC1hYjI4Lm1hcmtldG8uY29tIiwgIjIxMS1GWUwtOTU1IiwgMTAyMik7PC9zY3JpcHQ+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5vZmZjYXZhcy1ib2R5IC0tPgogICAgPC9kaXY+IDwhLS0gLyNuZXdzbGV0dGVyLXN1YnNjcmliZSAub2ZmY2FudmFzIC0tPgoKCiAgICA8ZGl2IGNsYXNzPSJzY3JlZW4tZGFya2VuIj48L2Rpdj4gPCEtLSAvLnNjcmVlbi1kYXJrZW4gLS0+CgogICA8IS0tIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMy42LjAuc2xpbS5taW4uanMiIGludGVncml0eT0ic2hhMjU2LXU3ZTVraHlpdGhsSWRUcHUyMlBIaEVObVBjUmRGaUhSamhBdUhjczA1Ukk9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4tLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjEuMy9kaXN0L2pzL2Jvb3RzdHJhcC5idW5kbGUubWluLmpzIiBpbnRlZ3JpdHk9InNoYTM4NC1rYTdTazBHbG40Z210ejJNbFFuaWtUMXdYZ1lzT2crT01odVArSWxSSDlzRU5CTzBMUm41cSs4bmJUb3Y0KzFwIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0PgogICAgICAgIC8vIG9mZmNhbnZhcyBtb2JpbGUgbWVudQogICAgICAgIGZ1bmN0aW9uIGRhcmtlbl9zY3JlZW4oeWVzbm8pIHsKICAgICAgICAgICAgaWYoIHllc25vID09IHRydWUgKSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2NyZWVuLWRhcmtlbicpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoeWVzbm8gPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JlZW4tZGFya2VuJykuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNsb3NlX29mZmNhbnZhcygpIHsKICAgICAgICAgICAgZGFya2VuX3NjcmVlbihmYWxzZSk7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtb2JpbGUtbWVudS5zaG93JykuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ29mZmNhbnZhcy1hY3RpdmUnKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHNob3dfb2ZmY2FudmFzKG9mZmNhbnZhc19pZCkgewogICAgICAgICAgICBkYXJrZW5fc2NyZWVuKHRydWUpOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvZmZjYW52YXNfaWQpLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdvZmZjYW52YXMtYWN0aXZlJyk7CiAgICAgICAgfQoKCiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgLy8gYWZmaXggaGVhZGVyIHRvIHRvcCBvbiBzY3JvbGwKICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuc2Nyb2xsWSA+IDUwKSB7CgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3AtYmFyJykuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hc3RoZWFkJykuY2xhc3NMaXN0LmFkZCgnZml4ZWQtdG9wJyk7CgogICAgICAgICAgICAgICAgICAgIC8vIGFkZCBwYWRkaW5nIHRvcCB0byBzaG93IGNvbnRlbnQgYmVoaW5kIG5hdmJhcgogICAgICAgICAgICAgICAgICAgIG1hc3RoZWFkSGVpZ2h0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21hc3RoZWFkJykub2Zmc2V0SGVpZ2h0OwoKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdUb3AgPSBtYXN0aGVhZEhlaWdodCArICdweCc7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcC1iYXInKS5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFzdGhlYWQnKS5jbGFzc0xpc3QucmVtb3ZlKCdmaXhlZC10b3AnKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHBhZGRpbmcgdG9wIGZyb20gYm9keQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1RvcCA9ICcwJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgoKCiAgICAgICAgICAgIC8vIG9mZmNhbnZhcyBtb2JpbGUgbWVudQogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10cmlnZ2VyXScpLmZvckVhY2goZnVuY3Rpb24oZXZlcnllbGVtZW50KSB7CiAgICAgICAgICAgICAgICBsZXQgb2ZmY2FudmFzX2lkID0gZXZlcnllbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10cmlnZ2VyJyk7CiAgICAgICAgICAgICAgICBldmVyeWVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBzaG93X29mZmNhbnZhcyhvZmZjYW52YXNfaWQpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJ0bi1jbG9zZScpLmZvckVhY2goZnVuY3Rpb24oZXZlcnlidXR0b24pIHsKICAgICAgICAgICAgICAgIGV2ZXJ5YnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBjbG9zZV9vZmZjYW52YXMoKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JlZW4tZGFya2VuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgY2xvc2Vfb2ZmY2FudmFzKCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgIC8vIERPTUNvbnRlbnRMb2FkZWQgZW5kCgoKCiAgICAgICAgLy8gZGlzcGxheSBjdXJyZW50IHllYXIKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29weXJpZ2h0LXllYXInKS5pbm5lclRleHQgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7CiAgICA8L3NjcmlwdD4KCiAgICAJCTxzY3JpcHQ+CgkJKCBmdW5jdGlvbiAoIGJvZHkgKSB7CgkJCSd1c2Ugc3RyaWN0JzsKCQkJYm9keS5jbGFzc05hbWUgPSBib2R5LmNsYXNzTmFtZS5yZXBsYWNlKCAvXGJ0cmliZS1uby1qc1xiLywgJ3RyaWJlLWpzJyApOwoJCX0gKSggZG9jdW1lbnQuYm9keSApOwoJCTwvc2NyaXB0PgoJCTxzY3JpcHQ+IC8qIDwhW0NEQVRBWyAqL3ZhciB0cmliZV9sMTBuX2RhdGF0YWJsZXMgPSB7ImFyaWEiOnsic29ydF9hc2NlbmRpbmciOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1uIGFzY2VuZGluZyIsInNvcnRfZGVzY2VuZGluZyI6IjogYWN0aXZhdGUgdG8gc29ydCBjb2x1bW4gZGVzY2VuZGluZyJ9LCJsZW5ndGhfbWVudSI6IlNob3cgX01FTlVfIGVudHJpZXMiLCJlbXB0eV90YWJsZSI6Ik5vIGRhdGEgYXZhaWxhYmxlIGluIHRhYmxlIiwiaW5mbyI6IlNob3dpbmcgX1NUQVJUXyB0byBfRU5EXyBvZiBfVE9UQUxfIGVudHJpZXMiLCJpbmZvX2VtcHR5IjoiU2hvd2luZyAwIHRvIDAgb2YgMCBlbnRyaWVzIiwiaW5mb19maWx0ZXJlZCI6IihmaWx0ZXJlZCBmcm9tIF9NQVhfIHRvdGFsIGVudHJpZXMpIiwiemVyb19yZWNvcmRzIjoiTm8gbWF0Y2hpbmcgcmVjb3JkcyBmb3VuZCIsInNlYXJjaCI6IlNlYXJjaDoiLCJhbGxfc2VsZWN0ZWRfdGV4dCI6IkFsbCBpdGVtcyBvbiB0aGlzIHBhZ2Ugd2VyZSBzZWxlY3RlZC4gIiwic2VsZWN0X2FsbF9saW5rIjoiU2VsZWN0IGFsbCBwYWdlcyIsImNsZWFyX3NlbGVjdGlvbiI6IkNsZWFyIFNlbGVjdGlvbi4iLCJwYWdpbmF0aW9uIjp7ImFsbCI6IkFsbCIsIm5leHQiOiJOZXh0IiwicHJldmlvdXMiOiJQcmV2aW91cyJ9LCJzZWxlY3QiOnsicm93cyI6eyIwIjoiIiwiXyI6IjogU2VsZWN0ZWQgJWQgcm93cyIsIjEiOiI6IFNlbGVjdGVkIDEgcm93In19LCJkYXRlcGlja2VyIjp7ImRheU5hbWVzIjpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sImRheU5hbWVzU2hvcnQiOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sImRheU5hbWVzTWluIjpbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSwibW9udGhOYW1lcyI6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLCJtb250aE5hbWVzU2hvcnQiOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSwibW9udGhOYW1lc01pbiI6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwibmV4dFRleHQiOiJOZXh0IiwicHJldlRleHQiOiJQcmV2IiwiY3VycmVudFRleHQiOiJUb2RheSIsImNsb3NlVGV4dCI6IkRvbmUiLCJ0b2RheSI6IlRvZGF5IiwiY2xlYXIiOiJDbGVhciJ9fTsvKiBdXT4gKi8gPC9zY3JpcHQ+CiAgICA8L2JvZHk+CjwvaHRtbD4K
2529
+ CjwhZG9jdHlwZSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiPgoKICAgIDwhLS0gZmllbGRzIGZvciBDbG91ZHNlYXJjaCAtLT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IklFRUUgU0EgLSBJRUVFIFN0YW5kYXJkIGZvciBJbmVydGlhbCBTZW5zb3IgVGVybWlub2xvZ3kiLz4KPG1ldGEgbmFtZT0idHlwZSIgY29udGVudD0iU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0idG9waWMiIGNvbnRlbnQ9IkFlcm9zcGFjZSBFbGVjdHJvbmljcyIvPgo8bWV0YSBuYW1lPSJjYXRlZ29yeSIgY29udGVudD0iIi8+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vuc29ycyBhcmUgcHJlc2VudGVkIGluIHRoaXMgc3RhbmRhcmQuIFVzYWdlIGFzIHVuZGVyc3Rvb2QgYnkgdGhlIGluZXJ0aWFsIHNlbnNvciBjb21tdW5pdHkgaXMgZ2l2ZW4gcHJlZmVyZW5jZSBvdmVyIGdlbmVyYWwgdGVjaG5pY2FsIHVzYWdlIG9mIHRoZSB0ZXJtcyBoZXJlaW4uIFRoZSBjcml0ZXJpb24gZm9yIGluY2x1c2lvbiBvZiBhIHRlcm0gYW5kIGl0cyBkZWZpbml0aW9uIGluIHRoaXMgc3RhbmRhcmQgaXMgdXNlZnVsbmVzcyBhcyByZWxhdGVkIHRvIGluZXJ0aWFsIHNlbnNvciB0ZWNobm9sb2d5LiIvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iQWVyb3NwYWNlIEVsZWN0cm9uaWNzIi8+CjwhLS0gUHJvamVjdHMvU3RhbmRhcmRzIC0tPgo8bWV0YSBuYW1lPSJTb2NpZXR5IiBjb250ZW50PSJJRUVFIEFlcm9zcGFjZSBhbmQgRWxlY3Ryb25pYyBTeXN0ZW1zIFNvY2lldHkiLz4KPG1ldGEgbmFtZT0iU3RkUmVjTm8iIGNvbnRlbnQ9IjcyOTIiLz4KPG1ldGEgbmFtZT0iU3RhdHVzIiBjb250ZW50PSJBY3RpdmUgU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0iZGVzaWduYXRpb24iIGNvbnRlbnQ9IklFRUUgNTI4LTIwMTkiLz4KCiAgICAKICAgIDx0aXRsZT5JRUVFIFNBIC0gSUVFRSA1MjgtMjAxOTwvdGl0bGU+CgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfYXBwbGVfdG91Y2hfaWNvbi5wbmciPgoKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzEsNDAwOzEsNjAwOzEsNzAwJmRpc3BsYXk9c3dhcCIKICAgICAgICAgIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICA8c2NyaXB0PihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoKICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwKICAgICAgICAgICAgaj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9CiAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKICAgICAgICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2RhdGFMYXllcicsJ0dUTS1NUjhUODQzJyk7PC9zY3JpcHQ+CiAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8va2l0LmZvbnRhd2Vzb21lLmNvbS8yZDc0ZjI4MmY2LmpzIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KCiAgICA8bGluayBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjEuMy9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IgogICAgICAgICAgaW50ZWdyaXR5PSJzaGEzODQtMUJtRTRrV0JxNzhpWWhGbGR2S3VoZlRBVTZhdVU4dFQ5NFdySGZ0akRickNFWFNVMW9Cb3F5bDJRdlo2aklXMyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+CiAgICA8bGluayBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL3N0eWxlLmNzcz90aW1lPTIwMjIwMjAzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL2llZWVzaHV0cGFnZXMvZ2Rwci9zZXR0aW5ncy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIgogICAgICAgICAgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uY3NzIi8+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHdpbmRvdy5jb29raWVjb25zZW50LmluaXRpYWxpc2UoanNvbikKICAgICAgICB9KTsKICAgIDwvc2NyaXB0PgoKICAgIDxtZXRhIG5hbWU9J3JvYm90cycgY29udGVudD0naW5kZXgsIGZvbGxvdywgbWF4LWltYWdlLXByZXZpZXc6bGFyZ2UsIG1heC1zbmlwcGV0Oi0xLCBtYXgtdmlkZW8tcHJldmlldzotMScgLz4KCgk8IS0tIFRoaXMgc2l0ZSBpcyBvcHRpbWl6ZWQgd2l0aCB0aGUgWW9hc3QgU0VPIHBsdWdpbiB2MTguNS4xIC0gaHR0cHM6Ly95b2FzdC5jb20vd29yZHByZXNzL3BsdWdpbnMvc2VvLyAtLT4KCTxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuX1VTIiAvPgoJPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJTQSBNYWluIFNpdGUiIC8+Cgk8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiIC8+Cgk8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iIGNsYXNzPSJ5b2FzdC1zY2hlbWEtZ3JhcGgiPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI29yZ2FuaXphdGlvbiIsIm5hbWUiOiJJRUVFIFNBIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIiwic2FtZUFzIjpbXSwibG9nbyI6eyJAdHlwZSI6IkltYWdlT2JqZWN0IiwiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI2xvZ28iLCJpbkxhbmd1YWdlIjoiZW4tVVMiLCJ1cmwiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3VwbG9hZHMvaW1wb3J0L2llZWVzYS1sb2dvLnBuZyIsImNvbnRlbnRVcmwiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3VwbG9hZHMvaW1wb3J0L2llZWVzYS1sb2dvLnBuZyIsIndpZHRoIjo3MjAsImhlaWdodCI6NDMyLCJjYXB0aW9uIjoiSUVFRSBTQSJ9LCJpbWFnZSI6eyJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jbG9nbyJ9fSx7IkB0eXBlIjoiV2ViU2l0ZSIsIkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyN3ZWJzaXRlIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIiwibmFtZSI6IlNBIE1haW4gU2l0ZSIsImRlc2NyaXB0aW9uIjoiIiwicHVibGlzaGVyIjp7IkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyNvcmdhbml6YXRpb24ifSwicG90ZW50aWFsQWN0aW9uIjpbeyJAdHlwZSI6IlNlYXJjaEFjdGlvbiIsInRhcmdldCI6eyJAdHlwZSI6IkVudHJ5UG9pbnQiLCJ1cmxUZW1wbGF0ZSI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLz9zPXtzZWFyY2hfdGVybV9zdHJpbmd9In0sInF1ZXJ5LWlucHV0IjoicmVxdWlyZWQgbmFtZT1zZWFyY2hfdGVybV9zdHJpbmcifV0sImluTGFuZ3VhZ2UiOiJlbi1VUyJ9LHsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjoiI3dlYnBhZ2UiLCJ1cmwiOiIiLCJuYW1lIjoiIiwiaXNQYXJ0T2YiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI3dlYnNpdGUifSwiYnJlYWRjcnVtYiI6eyJAaWQiOiIjYnJlYWRjcnVtYiJ9LCJpbkxhbmd1YWdlIjoiZW4tVVMiLCJwb3RlbnRpYWxBY3Rpb24iOlt7IkB0eXBlIjoiUmVhZEFjdGlvbiIsInRhcmdldCI6WyIiXX1dfSx7IkB0eXBlIjoiQnJlYWRjcnVtYkxpc3QiLCJAaWQiOiIjYnJlYWRjcnVtYiIsIml0ZW1MaXN0RWxlbWVudCI6W3siQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoxLCJuYW1lIjoiSG9tZSIsIml0ZW0iOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8ifSx7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MiwibmFtZSI6IiJ9XX1dfTwvc2NyaXB0PgoJPCEtLSAvIFlvYXN0IFNFTyBwbHVnaW4uIC0tPgoKCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL3Mudy5vcmcnIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Kd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTMuMS4wXC83Mng3MlwvIiwiZXh0IjoiLnBuZyIsInN2Z1VybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xMy4xLjBcL3N2Z1wvIiwic3ZnRXh0IjoiLnN2ZyIsInNvdXJjZSI6eyJjb25jYXRlbW9qaSI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWluY2x1ZGVzXC9qc1wvd3AtZW1vamktcmVsZWFzZS5taW4uanM/dmVyPTUuOS4yIn19OwovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCiFmdW5jdGlvbihlLGEsdCl7dmFyIG4scixvLGk9YS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxwPWkuZ2V0Q29udGV4dCYmaS5nZXRDb250ZXh0KCIyZCIpO2Z1bmN0aW9uIHMoZSx0KXt2YXIgYT1TdHJpbmcuZnJvbUNoYXJDb2RlO3AuY2xlYXJSZWN0KDAsMCxpLndpZHRoLGkuaGVpZ2h0KSxwLmZpbGxUZXh0KGEuYXBwbHkodGhpcyxlKSwwLDApO2U9aS50b0RhdGFVUkwoKTtyZXR1cm4gcC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpLHAuZmlsbFRleHQoYS5hcHBseSh0aGlzLHQpLDAsMCksZT09PWkudG9EYXRhVVJMKCl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1hLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Quc3JjPWUsdC5kZWZlcj10LnR5cGU9InRleHQvamF2YXNjcmlwdCIsYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHQpfWZvcihvPUFycmF5KCJmbGFnIiwiZW1vamkiKSx0LnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxyPTA7cjxvLmxlbmd0aDtyKyspdC5zdXBwb3J0c1tvW3JdXT1mdW5jdGlvbihlKXtpZighcHx8IXAuZmlsbFRleHQpcmV0dXJuITE7c3dpdGNoKHAudGV4dEJhc2VsaW5lPSJ0b3AiLHAuZm9udD0iNjAwIDMycHggQXJpYWwiLGUpe2Nhc2UiZmxhZyI6cmV0dXJuIHMoWzEyNzk4Nyw2NTAzOSw4MjA1LDk4OTUsNjUwMzldLFsxMjc5ODcsNjUwMzksODIwMyw5ODk1LDY1MDM5XSk/ITE6IXMoWzU1MzU2LDU2ODI2LDU1MzU2LDU2ODE5XSxbNTUzNTYsNTY4MjYsODIwMyw1NTM1Niw1NjgxOV0pJiYhcyhbNTUzNTYsNTczMzIsNTYxMjgsNTY0MjMsNTYxMjgsNTY0MTgsNTYxMjgsNTY0MjEsNTYxMjgsNTY0MzAsNTYxMjgsNTY0MjMsNTYxMjgsNTY0NDddLFs1NTM1Niw1NzMzMiw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0MTgsODIwMyw1NjEyOCw1NjQyMSw4MjAzLDU2MTI4LDU2NDMwLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQ0N10pO2Nhc2UiZW1vamkiOnJldHVybiFzKFsxMDA4NCw2NTAzOSw4MjA1LDU1MzU3LDU2NjEzXSxbMTAwODQsNjUwMzksODIwMyw1NTM1Nyw1NjYxM10pfXJldHVybiExfShvW3JdKSx0LnN1cHBvcnRzLmV2ZXJ5dGhpbmc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nJiZ0LnN1cHBvcnRzW29bcl1dLCJmbGFnIiE9PW9bcl0mJih0LnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPXQuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJnQuc3VwcG9ydHNbb1tyXV0pO3Quc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmIXQuc3VwcG9ydHMuZmxhZyx0LkRPTVJlYWR5PSExLHQucmVhZHlDYWxsYmFjaz1mdW5jdGlvbigpe3QuRE9NUmVhZHk9ITB9LHQuc3VwcG9ydHMuZXZlcnl0aGluZ3x8KG49ZnVuY3Rpb24oKXt0LnJlYWR5Q2FsbGJhY2soKX0sYS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG4sITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsbiwhMSkpOihlLmF0dGFjaEV2ZW50KCJvbmxvYWQiLG4pLGEuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXsiY29tcGxldGUiPT09YS5yZWFkeVN0YXRlJiZ0LnJlYWR5Q2FsbGJhY2soKX0pKSwobj10LnNvdXJjZXx8e30pLmNvbmNhdGVtb2ppP2Mobi5jb25jYXRlbW9qaSk6bi53cGVtb2ppJiZuLnR3ZW1vamkmJihjKG4udHdlbW9qaSksYyhuLndwZW1vamkpKSl9KHdpbmRvdyxkb2N1bWVudCx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgppbWcud3Atc21pbGV5LAppbWcuZW1vamkgewoJZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Cglib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKCWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKCWhlaWdodDogMWVtICFpbXBvcnRhbnQ7Cgl3aWR0aDogMWVtICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7Cgl2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7CgliYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KPC9zdHlsZT4KCTxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3RyaWJlLWV2ZW50cy1wcm8tbWluaS1jYWxlbmRhci1ibG9jay1zdHlsZXMtY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2V2ZW50cy1jYWxlbmRhci1wcm8vc3JjL3Jlc291cmNlcy9jc3MvdHJpYmUtZXZlbnRzLXByby1taW5pLWNhbGVuZGFyLWJsb2NrLm1pbi5jc3M/dmVyPTUuMTIuMicgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj01LjkuMicgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzdHlsZSBpZD0nZ2xvYmFsLXN0eWxlcy1pbmxpbmUtY3NzJyB0eXBlPSd0ZXh0L2Nzcyc+CmJvZHl7LS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2s6ICMwMDAwMDA7LS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzstLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZTogI2ZmZmZmZjstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbms6ICNmNzhkYTc7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogI2ZmNjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcjogI2ZjYjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Oy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW46ICMwMGQwODQ7LS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWU6ICM4ZWQxZmM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZTogIzliNTFlMDstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoNiwxNDcsMjI3LDEpIDAlLHJnYigxNTUsODEsMjI0KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDEyMiwyMjAsMTgwKSAwJSxyZ2IoMCwyMDgsMTMwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2U6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSgyNTIsMTg1LDAsMSkgMCUscmdiYSgyNTUsMTA1LDAsMSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDI1NSwxMDUsMCwxKSAwJSxyZ2IoMjA3LDQ2LDQ2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjM4LDIzOCwyMzgpIDAlLHJnYigxNjksMTg0LDE5NSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tY29vbC10by13YXJtLXNwZWN0cnVtOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYig3NCwyMzQsMjIwKSAwJSxyZ2IoMTUxLDEyMCwyMDkpIDIwJSxyZ2IoMjA3LDQyLDE4NikgNDAlLHJnYigyMzgsNDQsMTMwKSA2MCUscmdiKDI1MSwxMDUsOTgpIDgwJSxyZ2IoMjU0LDI0OCw3NikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTUsMjA2LDIzNikgMCUscmdiKDE1MiwxNTAsMjQwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU0LDIwNSwxNjUpIDAlLHJnYigyNTQsNDUsNDUpIDUwJSxyZ2IoMTA3LDAsNjIpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2s6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDMsMTEyKSAwJSxyZ2IoMTk5LDgxLDE5MikgNTAlLHJnYig2NSw4OCwyMDgpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyNDUsMjAzKSAwJSxyZ2IoMTgyLDIyNywyMTIpIDUwJSxyZ2IoNTEsMTY3LDE4MSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3M6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIwMiwyNDgsMTI4KSAwJSxyZ2IoMTEzLDIwNiwxMjYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyLDMsMTI5KSAwJSxyZ2IoNDAsMTE2LDI1MikgMTAwJSk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tZ3JheXNjYWxlOiB1cmwoJyN3cC1kdW90b25lLWdyYXlzY2FsZScpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tcHVycGxlLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1wdXJwbGUteWVsbG93Jyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tbWlkbmlnaHQ6IHVybCgnI3dwLWR1b3RvbmUtbWlkbmlnaHQnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLW1hZ2VudGEteWVsbG93OiB1cmwoJyN3cC1kdW90b25lLW1hZ2VudGEteWVsbG93Jyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLW9yYW5nZTogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLW9yYW5nZScpOy0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbDogMTNweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZTogMzZweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teC1sYXJnZTogNDJweDt9Lmhhcy1ibGFjay1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsYWNrLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy1jb29sLXRvLXdhcm0tc3BlY3RydW0tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tY29vbC10by13YXJtLXNwZWN0cnVtKSAhaW1wb3J0YW50O30uaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmx1c2gtYm9yZGVhdXgtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtYm9yZGVhdXgpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtZHVzay1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDt9Lmhhcy1lbGVjdHJpYy1ncmFzcy1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzcykgIWltcG9ydGFudDt9Lmhhcy1taWRuaWdodC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodCkgIWltcG9ydGFudDt9Lmhhcy1zbWFsbC1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50O30uaGFzLW1lZGl1bS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLW1lZGl1bSkgIWltcG9ydGFudDt9Lmhhcy1sYXJnZS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlKSAhaW1wb3J0YW50O30uaGFzLXgtbGFyZ2UtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50O30KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0naWVlZS1jbG91ZHNlYXJjaC1jc3MtY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL2Nsb3Vkc2VhcmNoL2Nzcy9pZWVlLWNsb3Vkc2VhcmNoLmNzcz90aW1lPTIwMjIwMTI2JiMwMzg7dmVyPTUuOS4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0naWVlZS13aWRnZXQtY3NzLWNzcycgIGhyZWY9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaWVlZS1zYS93aWRnZXRzL2Nzcy93aWRnZXRzLmNzcz90aW1lPTIwMjIwMTI2JiMwMzg7dmVyPTUuOS4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4wJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0zLjMuMicgaWQ9J2pxdWVyeS1taWdyYXRlLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWpzLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBpZWVlX2FqYXhfb2JqZWN0ID0geyJhamF4X3VybCI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaWVlZS1zYS9jbG91ZHNlYXJjaC9qcy9pZWVlLWNsb3Vkc2VhcmNoLmpzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9NS45LjInIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWpzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL3dpZGdldHMvanMvaWVlZS13aWRnZXRzLmpzP3RpbWU9MjAyMjAyMDM1JiMwMzg7dmVyPTUuOS4yJyBpZD0naWVlZS13aWRnZXQtanMtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2llZWUtc2Etc2NyaXB0cy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgaWVlZV9hamF4X29iamVjdCA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc3RhbmRhcmRzLmllZWUub3JnXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAifTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvanMvaWVlZS1zYS5qcz90aW1lPTIwMjIwMzEyJiMwMzg7dmVyPTUuOS4yJyBpZD0naWVlZS1zYS1zY3JpcHRzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL2pzL21hcmtldG8uanM/dmVyPTUuOS4yJyBpZD0naWVlZS1tYXJrZXRvLWpzJz48L3NjcmlwdD4KPGxpbmsgcmVsPSJodHRwczovL2FwaS53Lm9yZy8iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWpzb24vIiAvPjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcveG1scnBjLnBocD9yc2QiIC8+CjxsaW5rIHJlbD0id2x3bWFuaWZlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3dsd21hbmlmZXN0K3htbCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvd2x3bWFuaWZlc3QueG1sIiAvPiAKPG1ldGEgbmFtZT0idGVjLWFwaS12ZXJzaW9uIiBjb250ZW50PSJ2MSI+PG1ldGEgbmFtZT0idGVjLWFwaS1vcmlnaW4iIGNvbnRlbnQ9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnIj48bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtanNvbi90cmliZS9ldmVudHMvdjEvIiAvPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iUG93ZXJlZCBieSBXUEJha2VyeSBQYWdlIEJ1aWxkZXIgLSBkcmFnIGFuZCBkcm9wIHBhZ2UgYnVpbGRlciBmb3IgV29yZFByZXNzLiIvPgo8bm9zY3JpcHQ+PHN0eWxlPiAud3BiX2FuaW1hdGVfd2hlbl9hbG1vc3RfdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH08L3N0eWxlPjwvbm9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJibG9nIHRyaWJlLW5vLWpzIHdwYi1qcy1jb21wb3NlciBqcy1jb21wLXZlci02LjguMCB2Y19yZXNwb25zaXZlIiA+CjwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+Cjxub3NjcmlwdD48aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD1HVE0tTVI4VDg0MyIgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+CjxoZWFkZXI+CiAgICA8c2VjdGlvbiBpZD0idG9wLWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMCBkLW5vbmUgZC1tZC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgdG9wLWJhciB0b3AtYmFyLWxlZnQiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ikdsb2JhbCBsZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRS5vcmciPjxpIGNsYXNzPSJuYXYtaWNvbiBmYSBmYS1ob21lIj48L2k+SUVFRS5vcmc8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvWHBsb3JlL2hvbWUuanNwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklFRUUgWHBsb3JlIERpZ2l0YWwgTGlicmFyeSI+SUVFRSA8ZW0+WHBsb3JlPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWdpdGFsIExpYnJhcnk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTdGFuZGFyZHMiPklFRUUgU3RhbmRhcmRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zcGVjdHJ1bS5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTcGVjdHJ1bSI+SUVFRSBTcGVjdHJ1bTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL3NpdGVtYXAuaHRtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJNb3JlIFNpdGVzIj5Nb3JlIFNpdGVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAudG9wLWJhci1sZWZ0IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTAgLmQtbm9uZSAuZC1tZC1ibG9jayAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0yIGQtbm9uZSBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiB0b3AtYmFyIHRvcC1iYXItcmlnaHQiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ikdsb2JhbCByaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL2RldmVsb3AvZXRvb2xzLyIgdGl0bGU9ImVUb29scyI+ZVRvb2xzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnRvcC1iYXItcmlnaHQgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0yIC5kLW5vbmUgLmQtbWQtYmxvY2sgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jdG9wLWJhciAtLT4KCiAgICA8c2VjdGlvbiBpZD0ibWFzdGhlYWQiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwcmltYXJ5LWxvZ28iIGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iLyIgdGl0bGU9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIj48aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pbWcvaWVlZS1zYS1sb2dvMngucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3ByaW1hcnktbG9nbyAubG9nbyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC5jb2wtc20tNiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGQtbm9uZSBkLXNtLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWNvbmRhcnktbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9nby1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRpdGxlPSJWaXNpdCBJRUVFLm9yZyI+PGltZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaW1nL2llZWUtbG9nbzJ4LnBuZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJJRUVFIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3NlY29uZGFyeS1sb2dvIC5sb2dvIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtNiAuZC1ub25lIC5kLW1kLWJsb2NrIC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCiAgICAgICAgPCEtLQoKCi0tPgoKPG5hdiBpZD0ibWFpbi1uYXYiIGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItbGlnaHQiIGFyaWEtbGFiZWw9Ik1haW4iPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLXRyaWdnZXI9Im1vYmlsZS1tZW51IiBhcmlhLWNvbnRyb2xzPSJtb2JpbGUtbWVudSIKICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWxhYmVsPSJUb2dnbGUgbmF2aWdhdGlvbiI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYXZiYXItdG9nZ2xlci1pY29uIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgICAgPGRpdiBpZD0ibW9iaWxlLW1lbnUiIGNsYXNzPSJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBtb2JpbGUtbWVudSIgYXJpYS1sYWJlbD0iY2xvc2UiPjwvYnV0dG9uPgogICAgICAgICAgICA8IS0tIGJlZ2luIHdvcmRwcmVzcyBtZW51IC0tPgogICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1uYXZpZ2F0aW9uIiBjbGFzcz0ibmF2YmFyLW5hdiBtci1hdXRvIG1haW4gdy0xMDAgIj4JPGxpICBpZD0ibWVudS1pdGVtLTgzODUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gZHJvcGRvd24gbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzODUiIGRhdGEtaXRlbS1pZD0iODM4NSI+CgkJPGEgdGl0bGU9IlN0YW5kYXJkcyIgZGF0YS1pdGVtLWlkPSI4Mzg1IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+U3RhbmRhcmRzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDI5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MjkiIGRhdGEtaXRlbS1pZD0iODQyOSI+CgkJCQkJCQk8YSB0aXRsZT0iQWNjZXNzIFN0YW5kYXJkcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWNjZXNzLXN0YW5kYXJkcy8iIGRhdGEtaXRlbS1pZD0iODQyOSIgY2xhc3M9Im5hdi1saW5rICI+QWNjZXNzIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NiIgZGF0YS1pdGVtLWlkPSI4Mzg2Ij4KCQkJCQkJCTxhIHRpdGxlPSJTZWFyY2ggU3RhbmRhcmRzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9zdGFuZGFyZC8iIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1saW5rICI+U2VhcmNoIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NyIgZGF0YS1pdGVtLWlkPSI4Mzg3Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgRGV2ZWxvcG1lbnQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvIiBkYXRhLWl0ZW0taWQ9IjgzODciIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBEZXZlbG9wbWVudDwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4OCIgZGF0YS1pdGVtLWlkPSI4Mzg4Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgQWRvcHRpb24iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvZGV2ZWxvcC1zdGFuZGFyZHMvc3RhbmRhcmRzLWFkb3B0aW9uLyIgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWxpbmsgIj5TdGFuZGFyZHMgQWRvcHRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5DaG9vc2UgZnJvbSB0aGUgbWFueSB3YXlzIHRvIGFjY2VzcyBJRUVFIFNBIFN0YW5kYXJkcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDI5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkNob29zZSBmcm9tIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uYWwgYWNjZXNzIG9wdGlvbnMgdG8gZ2V0IHRoZSBzdGFuZGFyZHMgeW91IG5lZWQuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GaW5kIHRoZSBzdGFuZGFyZHMgeW914oCZcmUgbG9va2luZyBmb3IuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5HZXQgaW52b2x2ZWQgaW4gdGhlIGRldmVsb3BtZW50IG9mIG1hcmtldC1kcml2ZW4gdGVjaG5vbG9neSBzdGFuZGFyZHMgd2l0aCBwcm92ZW4gZXhwZXJ0aXNlIGFuZCBkZWRpY2F0ZWQgc3VwcG9ydC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkxlYXJuIG1vcmUgYWJvdXQgaG93IHRvIGFkb3B0IElFRUUgc3RhbmRhcmRzLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzg5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg5IiBkYXRhLWl0ZW0taWQ9IjgzODkiPgoJCTxhIHRpdGxlPSJQcm9kdWN0cyAmYW1wOyBQcm9ncmFtcyIgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+UHJvZHVjdHMgJiMwMzg7IFByb2dyYW1zPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTAiIGRhdGEtaXRlbS1pZD0iODM5MCI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsaWFuY2UgTWFuYWdlbWVudCBTZXJ2aWNlcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvYW1zLyIgZGF0YS1pdGVtLWlkPSI4MzkwIiBjbGFzcz0ibmF2LWxpbmsgIj5BbGxpYW5jZSBNYW5hZ2VtZW50IFNlcnZpY2VzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04MzkxIiBkYXRhLWl0ZW0taWQ9IjgzOTEiPgoJCQkJCQkJPGEgdGl0bGU9IkNvbmZvcm1pdHkgQXNzZXNzbWVudCAmYW1wOyBDZXJ0aWZpY2F0aW9uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9pY2FwLyIgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25mb3JtaXR5IEFzc2Vzc21lbnQgJiMwMzg7IENlcnRpZmljYXRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTIiIGRhdGEtaXRlbS1pZD0iODM5MiI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBPcGVuIFNvdXJjZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvb3BlbnNvdXJjZS8iIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBPcGVuIFNvdXJjZTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5MyIgZGF0YS1pdGVtLWlkPSI4MzkzIj4KCQkJCQkJCTxhIHRpdGxlPSJJbmR1c3RyeSBBZmZpbGlhdGUgTmV0d29yayAoSUFOKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvaW5kdXN0cnktYWZmaWxpYXRlLW5ldHdvcmsvIiBkYXRhLWl0ZW0taWQ9IjgzOTMiIGNsYXNzPSJuYXYtbGluayAiPkluZHVzdHJ5IEFmZmlsaWF0ZSBOZXR3b3JrIChJQU4pPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzMSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDMxIiBkYXRhLWl0ZW0taWQ9Ijg0MzEiPgoJCQkJCQkJPGEgdGl0bGU9IkluZHVzdHJ5IENvbm5lY3Rpb25zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pbmR1c3RyeS1jb25uZWN0aW9ucy8iIGRhdGEtaXRlbS1pZD0iODQzMSIgY2xhc3M9Im5hdi1saW5rICI+SW5kdXN0cnkgQ29ubmVjdGlvbnM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzAiIGRhdGEtaXRlbS1pZD0iODQzMCI+CgkJCQkJCQk8YSB0aXRsZT0iVGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvbmVzYy8iIGRhdGEtaXRlbS1pZD0iODQzMCIgY2xhc3M9Im5hdi1saW5rICI+VGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5NiIgZGF0YS1pdGVtLWlkPSI4Mzk2Ij4KCQkJCQkJCTxhIHRpdGxlPSJSZWdpc3RyYXRpb24gQXV0aG9yaXR5IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9yZWdhdXRoLyIgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWxpbmsgIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5NyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzk3IiBkYXRhLWl0ZW0taWQ9IjgzOTciPgoJCQkJCQkJPGEgdGl0bGU9IkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUykiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvZ292ZXJubWVudC1lbmdhZ2VtZW50LXByb2dyYW0vIiBkYXRhLWl0ZW0taWQ9IjgzOTciIGNsYXNzPSJuYXYtbGluayAiPkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUyk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzk4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTgiIGRhdGEtaXRlbS1pZD0iODM5OCI+CgkJCQkJCQk8YSB0aXRsZT0iU3RhbmRhcmRzIEZlbGxvd3NoaXAiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvc3RhbmRhcmRzLWZlbGxvd3NoaXAtcHJvZ3JhbS8iIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1saW5rICI+U3RhbmRhcmRzIEZlbGxvd3NoaXA8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzIiIGRhdGEtaXRlbS1pZD0iODQzMiI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsIFByb2R1Y3RzICZhbXA7IFByb2dyYW1zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy8iIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1saW5rICI+QWxsIFByb2R1Y3RzICYjMDM4OyBQcm9ncmFtczwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZ1bGwgZWNvc3lzdGVtIG9mIHN0YW5kYXJkcy1yZWxhdGVkIHNvbHV0aW9ucyB0byBoZWxwIGRyaXZlIGF3YXJlbmVzcywgYWN0aXZhdGlvbiwgYW5kIGFkb3B0aW9uLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9IjgzOTAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+UHJvdmlkaW5nIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBtYW5hZ2UgdGhlIGRheS10by1kYXkgb3BlcmF0aW9ucyBvZiBpbmR1c3RyeSBncm91cHMsIGFsbG93aW5nIGtleSBzdGFrZWhvbGRlcnMgdG8gZm9jdXMgb24gdGhlIHdvcmsgYXQgaGFuZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZvY3VzZWQgb24gZGV2ZWxvcG1lbnQgYW5kIGltcGxlbWVudGF0aW9uIG9mIHJpZ29yb3VzIGNvbmZvcm1pdHkgYXNzZXNzbWVudCBwcm9ncmFtcyBkZXNpZ25lZCB0byBoZWxwIGFjY2VsZXJhdGUgbWFya2V0IGFkb3B0aW9uLCByZWR1Y2UgY29zdHMgYW5kIG1vcmUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5BIHZlbmRvci1uZXV0cmFsLCBpbmNsdXNpdmUsIG9wZW4gc291cmNlIHBsYXRmb3Jt4oCUZm9yIGFsbCwgZnJvbSBpbmRlcGVuZGVudCBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCBzdGFydCB1cHMgdG8gaW5kdXN0cnksIGFjYWRlbWljIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5PcGVuIHRvIGNvbnNvcnRpYSwgaW5kdXN0cnkgYWxsaWFuY2Ugb3Igb3RoZXIgaW5kdXN0cnkgb3JnYW5pemF0aW9ucywgbG9va2luZyB0byBicmluZyBmb3J3YXJkIHNwZWNpZmljYXRpb25zIGZvciBzdGFuZGFyZHMgZGV2ZWxvcG1lbnQgYW5kIG1hcmtldCBhZG9wdGlvbi48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDMxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZhY2lsaXRhdGluZyBjb2xsYWJvcmF0aW9uIGFtb25nIG9yZ2FuaXphdGlvbnMgYW5kIGluZGl2aWR1YWxzIGFzIHRoZXkgaG9uZSBhbmQgcmVmaW5lIHRoZWlyIHRoaW5raW5nIG9uIHJhcGlkbHkgY2hhbmdpbmcgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+R3VpZGVsaW5lcyBmb3IgcHJhY3RpY2FsIHNhZmVndWFyZGluZyBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiwgb3BlcmF0aW9uLCBhbmQgbWFpbnRlbmFuY2Ugb2YgZWxlY3RyaWMgc3VwcGx5LCBjb21tdW5pY2F0aW9uIGxpbmVzIGFuZCBhc3NvY2lhdGVkIGVxdWlwbWVudC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkFzc2lnbnMgYW5kIG1haW50YWlucyB1bmlxdWUgaWRlbnRpZmllcnMgYW5kIHVuYW1iaWd1b3VzIG5hbWVzIHRvIG9iamVjdHMgZm9yIHRob3NlIHdpc2hpbmcgdG8gcmVnaXN0ZXIgdGhlbS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk3IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlByb2dyYW0gZm9yIHBvbGljeW1ha2VycyBwcm92aWRpbmcgdGFpbG9yZWQgc3RhbmRhcmRzIGluZm9ybWF0aW9uLCBhY2Nlc3MgdG8gdGhlIElFRUUgU0Egc3RhbmRhcmRpemF0aW9uIGVjb3N5c3RlbSwgYW5kIHN0YW5kYXJkaXphdGlvbiByZXNvdXJjZXMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Qcm92aWRpbmcgZ2xvYmFsIHN0YW5kYXJkcyBwcm9mZXNzaW9uYWxzIHRoZSBvcHBvcnR1bml0eSB0byBvYnNlcnZlIHRoZSBJRUVFIHN0YW5kYXJkcyBkZXZlbG9wbWVudCBwcm9jZXNzIGFuZCBsZWFybiBhYm91dCB0ZWNobmljYWwgYXJlYXMgb2YgaW50ZXJlc3QuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TZWUgYWxsIHRoZSBwcm9ncmFtcywgcHJvZHVjdHMsIGFuZCBzZXJ2aWNlcyB0aGF0IElFRUUgU0EgaGFzIHRvIG9mZmVyLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDAwIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiPgoJCTxhIHRpdGxlPSJGb2N1c2VzIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5Gb2N1c2VzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDEiIGRhdGEtaXRlbS1pZD0iODQwMSI+CgkJCQkJCQk8YSB0aXRsZT0iQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2Utc3lzdGVtcy8iIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1saW5rICI+QXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMiIgZGF0YS1pdGVtLWlkPSI4NDAyIj4KCQkJCQkJCTxhIHRpdGxlPSJDb25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJhY3RpY2VzL2Nvbm5lY3Rpdml0eS10ZWxlY29tLyIgZGF0YS1pdGVtLWlkPSI4NDAyIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMyIgZGF0YS1pdGVtLWlkPSI4NDAzIj4KCQkJCQkJCTxhIHRpdGxlPSJFbmVyZ3kiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9lbmVyZ3kvIiBkYXRhLWl0ZW0taWQ9Ijg0MDMiIGNsYXNzPSJuYXYtbGluayAiPkVuZXJneTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwNCIgZGF0YS1pdGVtLWlkPSI4NDA0Ij4KCQkJCQkJCTxhIHRpdGxlPSJGb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcmFjdGljZXMvZm91bmRhdGlvbmFsLyIgZGF0YS1pdGVtLWlkPSI4NDA0IiBjbGFzcz0ibmF2LWxpbmsgIj5Gb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQwNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDA1IiBkYXRhLWl0ZW0taWQ9Ijg0MDUiPgoJCQkJCQkJPGEgdGl0bGU9IkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9oZWFsdGhjYXJlLWxpZmUtc2NpZW5jZXMvIiBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtbGluayAiPkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDA2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDYiIGRhdGEtaXRlbS1pZD0iODQwNiI+CgkJCQkJCQk8YSB0aXRsZT0iTW9iaWxpdHkiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9tb2JpbGl0eS8iIGRhdGEtaXRlbS1pZD0iODQwNiIgY2xhc3M9Im5hdi1saW5rICI+TW9iaWxpdHk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzMiIGRhdGEtaXRlbS1pZD0iODQzMyI+CgkJCQkJCQk8YSB0aXRsZT0iR292ZXJubWVudCBFbmdhZ2VtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9pbnRsLyIgZGF0YS1pdGVtLWlkPSI4NDMzIiBjbGFzcz0ibmF2LWxpbmsgIj5Hb3Zlcm5tZW50IEVuZ2FnZW1lbnQ8L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TdHJhdGVnaWMgZm9jdXNlcyBhbmQgaW5kdXN0cmllcyB3aGVyZSBJRUVFIFNBIGlzIHJhaXNpbmcgdGhlIHdvcmxk4oCZcyBzdGFuZGFyZHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5EZXZlbG9waW5nIGFjY2Vzc2libGUgYW5kIHN1c3RhaW5hYmxlIGFwcHJvYWNoZXMgYW5kIHNvbHV0aW9ucyBmb3IgcHJhY3RpY2FsIGFwcGxpY2F0aW9uIG9mIEFJUyBwcmluY2lwbGVzIGFuZCBmcmFtZXdvcmtzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDIiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QWR2YW5jaW5nIHJvYnVzdCwgcmVzcG9uc2libGUsIGFuZCBhZmZvcmRhYmxlIGNvbm5lY3Rpdml0eS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDAzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkVuYWJsaW5nIHN1c3RhaW5hYmxlLCBlZmZpY2llbnQsIGFuZCBhY2Nlc3NpYmxlIGVuZXJneSB0aHJvdWdoIHRlY2hub2xvZ2ljYWwgYWR2YW5jZXMgb24gYSBnbG9iYWwgc2NhbGUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwNCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Xb3JraW5nIHRvIHN0YW5kYXJkaXplIHNlYW1sZXNzIGFuZCB1YmlxdWl0b3VzIGNvbm5lY3Rpdml0eSBhY3Jvc3MgYWxsIGFwcGxpY2F0aW9ucyBvZiBjb25uZWN0ZWQgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Rm9jdXNlZCBvbiBlbmFibGluZyBhZmZvcmRhYmxlIGhlYWx0aGNhcmUsIGFjY2VzcyB0byBtZWRpY2luZSwgYW5kIGlubm92YXRpb24gdG8gaW1wcm92ZSBvdmVyYWxsIGdsb2JhbCB3ZWxsbmVzcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDA2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPldvcmtpbmcgdG8gaGVscCB0aGUgZXZvbHZpbmcgbW9iaWxpdHkgZWNvc3lzdGVtIGFkZHJlc3Mgc29tZSBvZiBpdHMgZ3JlYXRlc3QgYnVzaW5lc3Mgb3Bwb3J0dW5pdGllcyB0aGF0IGhhdmUgdGhlIHBvdGVudGlhbCB0byBzb2x2ZSBtYWpvciBzb2NpZXRhbCBjaGFsbGVuZ2VzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzMiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QnVpbGRpbmcgYnJpZGdlcyBiZXR3ZWVuIHRoZSB3b3JsZHMgb2YgdGVjaG5vbG9neSwgc3RhbmRhcmRzLCBhbmQgcG9saWN5IG1ha2luZy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQwOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBkcm9wZG93biBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwOCIgZGF0YS1pdGVtLWlkPSI4NDA4Ij4KCQk8YSB0aXRsZT0iR2V0IEludm9sdmVkIiBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5HZXQgSW52b2x2ZWQ8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQzNCIgZGF0YS1pdGVtLWlkPSI4NDM0Ij4KCQkJCQkJCTxhIHRpdGxlPSJFdmVudHMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iIGRhdGEtaXRlbS1pZD0iODQzNCIgY2xhc3M9Im5hdi1saW5rICI+RXZlbnRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEwIiBkYXRhLWl0ZW0taWQ9Ijg0MTAiPgoJCQkJCQkJPGEgdGl0bGU9IklFRUUgU0EgTWVtYmVyc2hpcCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvbWVtYmVyc2hpcC8iIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBNZW1iZXJzaGlwPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM1IiBkYXRhLWl0ZW0taWQ9Ijg0MzUiPgoJCQkJCQkJPGEgdGl0bGU9IkhvdyB0byBHZXQgSW52b2x2ZWQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3BhcnRpY2lwYXRlLyIgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWxpbmsgIj5Ib3cgdG8gR2V0IEludm9sdmVkPC9hPgoJCQkJCQk8L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudS1kZXNjcmlwdGlvbiI+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+TGVhcm4gYWJvdXQgb3Bwb3J0dW5pdGllcyB0byBlbmdhZ2Ugd2l0aCBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzQiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Sm9pbiB1cyBhdCB1cGNvbWluZyB2aXJ0dWFsIG9yIGluLXBlcnNvbiBldmVudHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GbGV4aWJsZSBtZW1iZXJzaGlwIG9wdGlvbnMgdGhhdCBvZmZlciBlbmhhbmNlZCBwYXJ0aWNpcGF0aW9uIGluIElFRUUgU0EgYWN0aXZpdGllcywgc3RhbmRhcmRzIGRldmVsb3BtZW50LCBhbmQgZ292ZXJuYW5jZS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRoZXJlIGFyZSBtYW55IG9wcG9ydHVuaXRpZXMgZm9yIHBhcnRpY2lwYXRpb24sIGZpbmQgdGhlIHJpZ2h0IG9uZSBmb3IgeW91LjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDEyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEyIiBkYXRhLWl0ZW0taWQ9Ijg0MTIiPgoJCTxhIHRpdGxlPSJSZXNvdXJjZXMiIGRhdGEtaXRlbS1pZD0iODQxMiIgY2xhc3M9Im5hdi1saW5rICBkcm9wZG93bi10b2dnbGUiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPlJlc291cmNlczwvYT4KCQk8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IG1lZ2EtbWVudSI+CgkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUgIGRlcHRoXzAiPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEzIiBkYXRhLWl0ZW0taWQ9Ijg0MTMiPgoJCQkJCQkJPGEgdGl0bGU9IlRyYWluaW5nICZhbXA7IERldmVsb3BtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iIGRhdGEtaXRlbS1pZD0iODQxMyIgY2xhc3M9Im5hdi1saW5rICI+VHJhaW5pbmcgJiMwMzg7IERldmVsb3BtZW50PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM2IiBkYXRhLWl0ZW0taWQ9Ijg0MzYiPgoJCQkJCQkJPGEgdGl0bGU9Ik5ld3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIiBkYXRhLWl0ZW0taWQ9Ijg0MzYiIGNsYXNzPSJuYXYtbGluayAiPk5ld3M8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDE1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MTUiIGRhdGEtaXRlbS1pZD0iODQxNSI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBOZXdzbGV0dGVyIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9uZXdzL3N3aXJlLyIgZGF0YS1pdGVtLWlkPSI4NDE1IiBjbGFzcz0ibmF2LWxpbmsgIj5JRUVFIFNBIE5ld3NsZXR0ZXI8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS05NTU0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tOTU1NCIgZGF0YS1pdGVtLWlkPSI5NTU0Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgU3RvcmUiIGhyZWY9Imh0dHBzOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWU/dXRtX3NvdXJjZT1zdGFuZGFyZHMmYW1wO3V0bV9tZWRpdW09d2ViJmFtcDt1dG1fY2FtcGFpZ249c3RhbmRhcmRzLXJlZmVycmFsIiBkYXRhLWl0ZW0taWQ9Ijk1NTQiIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBTdG9yZTwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEyIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRyYWluaW5nIGFuZCBjb21tdW5pY2F0aW9uIHJlc291cmNlcyB0byBzdGF5IGNvbm5lY3RlZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkluZGl2aWR1YWwgYW5kIG9yZ2FuaXphdGlvbmFsIGVmZmVjdGl2ZW5lc3MgcHJvZ3JhbSB0byBlbmFibGUgdGhlIHN1Y2Nlc3Mgb2Ygb3VyIHZpdGFsIHZvbHVudGVlcnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzNiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5SZWFkIHRoZSBsYXRlc3QgbmV3cyBvbiBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MTUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+U3Vic2NyaWJlIHRvIG91ciBuZXdzbGV0dGVyIGFuZCBrZWVwIHVwIHRvIGRhdGUgb24gdGhlIGxhdGVzdCBzdGFuZGFyZHMsIGV2ZW50LCBhbmQgYWN0aXZpdGllcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI5NTU0IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkdldCB0aGUgc3RhbmRhcmRzIHlvdSBuZWVkLiBTZWxlY3QgZnJvbSBpbmRpdmlkdWFsIHN0YW5kYXJkcyBvciBzdGFuZGFyZHMgYnVuZGxlcy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQxNiIgY2xhc3M9Im5hdi10eXBlLWJ1dHRvbiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQxNiIgZGF0YS1pdGVtLWlkPSI4NDE2Ij4KCQk8YSB0aXRsZT0iTUFDIEFkZHJlc3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXByb2dyYW1zL3JlZ2F1dGgvIiBkYXRhLWl0ZW0taWQ9Ijg0MTYiIGNsYXNzPSJuYXYtbGluayAiPk1BQyBBZGRyZXNzPC9hPgoJPC9saT4KPC91bD4gICAgICAgICAgICA8IS0tIGVuZCB3b3JkcHJlc3MgbWVudSAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvI21vYmlsZS1tZW51IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBzZWFyY2giPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtaW5wdXQtd3JhcHBlciIgY2xhc3M9ImNvbGxhcHNlIGNvbGxhcHNlLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9InNlYXJjaCIgY2xhc3M9ImZvcm0taW5saW5lIiBhY3Rpb249Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBJRUVFIFNBLi4uIiBhdXRvZm9jdXM9ImF1dG9mb2N1cyIgbmFtZT0icSIgaWQ9InEiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgdHlwZT0ic3VibWl0Ij48aSBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Zvcm0+IDwhLS0gLyNzZWFyY2ggLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jc2VhcmNoLWlucHV0LXdyYXBwZXIgLS0+CiAgICAgICAgICAgIDxidXR0b24gaWQ9Im1haW4tc2VhcmNoLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbWQiIHR5cGU9ImJ1dHRvbiIgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLWJzLXRhcmdldD0iI3NlYXJjaC1pbnB1dC13cmFwcGVyIgogICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZWFyY2gtaW5wdXQtd3JhcHBlciI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaCI+PC9pPjwvYnV0dG9uPgogICAgICAgIDwvZGl2PiA8IS0tIC8uYnRuLWdyb3VwIC5zZWFyY2ggLS0+CiAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lci1mbHVpZCAtLT4KPC9uYXY+IDwhLS0gLyNtYWluLW5hdiAubmF2YmFyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jbWFzdGhlYWQgLS0+CjwvaGVhZGVyPgoKCjxtYWluPgogICAgPHNlY3Rpb24gaWQ9InBhZ2UtdGl0bGUiIGNsYXNzPSJzdGFuZGFyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctMyBvcmRlci1sZy1sYXN0IGFsaWduLXNlbGYtbGctZW5kIHRleHQtbGctZW5kIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdG5kLXN0YXR1cyI+QWN0aXZlIFN0YW5kYXJkPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiBjb2wtbGctMyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctMTEiPgogICAgICAgICAgICAgICAgICAgIDxoMSBpZD0ic3RuZC1kZXNpZ25hdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img1Ij5JRUVFIDUyOC0yMDE5PC9oMT4KICAgICAgICAgICAgICAgICAgICA8aDIgaWQ9InN0bmQtdGl0bGUiPklFRUUgU3RhbmRhcmQgZm9yIEluZXJ0aWFsIFNlbnNvciBUZXJtaW5vbG9neTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAuY29sLWxnLTExIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1sZy04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwdXJjaGFzZS1vcHRpb25zIiBjbGFzcz0iZC1ncmlkIGdhcC00IGQtbWQtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InN0bmQtYnV5LXVybCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cudGVjaHN0cmVldC5jb20vaWVlZS9wcm9kdWN0cy92ZW5kb3JfaWQvNzI5MiIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iPlB1cmNoYXNlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InN0bmQtc3Vic2NyaXB0aW9uLXVybCIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2llZWV4cGxvcmUuaWVlZS5vcmcvc2VydmxldC9vcGFjP3B1bnVtYmVyPTg4NjM3OTciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgcm9sZT0iYnV0dG9uIj5BY2Nlc3MgdmlhIFN1YnNjcmlwdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNwdXJjaGFzZS1vcHRpb25zIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1sZy04IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgIDwvc2VjdGlvbj4gPCEtLSAvI3BhZ2UtdGl0bGUgLS0+CgogICAgCiAgICA8c2VjdGlvbiBpZD0iYnJlYWRjcnVtYnMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgIDxuYXYgaWQ9ImJyZWFkY3J1bWItbmF2IiBhcmlhLWxhYmVsPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9sIGNsYXNzPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZyIgdGl0bGU9IkhvbWUiPkhvbWU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8/cT1TdGFuZGFyZCIgdGl0bGU9IlN0YW5kYXJkcyI+U3RhbmRhcmRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIGFjdGl2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSJwYWdlIj5JRUVFIDUyOC0yMDE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb2w+IDwhLS0gLy5icmVhZGNydW1iIC0tPgogICAgICAgICAgICAgICAgICAgIDwvbmF2PiA8IS0tIC8jYnJlYWRjcnVtYi1uYXYgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNicmVhZGNydW1icyAtLT4KICAgIAogICAgPHNlY3Rpb24gaWQ9ImNvbnRlbnQiIGNsYXNzPSJzdGFuZGFyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1haW4tY29udGVudCIgY2xhc3M9ImNvbC0xMiBjb2wtbGctMTAgb2Zmc2V0LWxnLTEgY29sLXhsLTggb2Zmc2V0LXhsLTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0bmQtZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5UZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vuc29ycyBhcmUgcHJlc2VudGVkIGluIHRoaXMgc3RhbmRhcmQuIFVzYWdlIGFzIHVuZGVyc3Rvb2QgYnkgdGhlIGluZXJ0aWFsIHNlbnNvciBjb21tdW5pdHkgaXMgZ2l2ZW4gcHJlZmVyZW5jZSBvdmVyIGdlbmVyYWwgdGVjaG5pY2FsIHVzYWdlIG9mIHRoZSB0ZXJtcyBoZXJlaW4uIFRoZSBjcml0ZXJpb24gZm9yIGluY2x1c2lvbiBvZiBhIHRlcm0gYW5kIGl0cyBkZWZpbml0aW9uIGluIHRoaXMgc3RhbmRhcmQgaXMgdXNlZnVsbmVzcyBhcyByZWxhdGVkIHRvIGluZXJ0aWFsIHNlbnNvciB0ZWNobm9sb2d5LjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3N0bmQtZGVzY3JpcHRpb24gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic3RhbmRhcmQtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0icm93Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlNwb25zb3IgQ29tbWl0dGVlPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtY29tbWl0dGVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BRVMvR0EgLSBHeXJvIEFjY2VsZXJvbWV0ZXIgUGFuZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLWNvbW1pdHRlZS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVlLWFlc3Mub3JnL3RlY2gtb3BzL2d5cm8tYW5kLWFjY2VsZXJvbWV0ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiIHRhcmdldD0iX2JsYW5rIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TdGF0dXM8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN0YXR1cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPkFjdGl2ZSBTdGFuZGFyZDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5QQVIgQXBwcm92YWw8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1wYXItYXBwcm92YWwtZGF0ZSIgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij48YSBpZD0ic3RuZC1wYXItbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2RldmVsb3BtZW50LnN0YW5kYXJkcy5pZWVlLm9yZy9teXByb2plY3Qtd2ViL3B1YmxpYy92aWV3Lmh0bWwjcGFyZGV0YWlsLzY0NjMiPjIwMTgtMDUtMTQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlN1cGVyc2VkaW5nPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc3VwZXJzZWRpbmciIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+PGEgaWQ9InN0bmQtc3VwZXJzZWRpbmctdXJsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MjgvNzgwIj41MjgtMjAwMTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPkJvYXJkIEFwcHJvdmFsPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtYXBwcm92YWwtZGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij4yMDE5LTA2LTEzPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5IaXN0b3J5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPSJyb3ciPgoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLTcgY29sLW1kLTQiPlB1Ymxpc2hlZDo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1wdWJsaXNoZWQtZGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC01IGNvbC1tZC04Ij4yMDE5LTEwLTA4PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4gPCEtLSAvLnJvdyAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3N0YW5kYXJkLWRldGFpbHMgLS0+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndvcmtpbmctZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImgyIHNlY3Rpb24tdGl0bGUiPldvcmtpbmcgR3JvdXAgRGV0YWlsczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndvcmtpbmctZ3JvdXAtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U29jaWV0eTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1zb2NpZXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5JRUVFIEFlcm9zcGFjZSBhbmQgRWxlY3Ryb25pYyBTeXN0ZW1zIFNvY2lldHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtc29jaWV0eS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIiBocmVmPSJodHRwOi8vd3d3LmllZWUtYWVzcy5vcmcvIiB0aXRsZT0iTGVhcm4gTW9yZSIgdGFyZ2V0PSJfYmxhbmsiPkxlYXJuIE1vcmU8L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TcG9uc29yIENvbW1pdHRlZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtd29ya2luZy1ncm91cC1jb21taXR0ZWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BRVMvR0EgLSBHeXJvIEFjY2VsZXJvbWV0ZXIgUGFuZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YSBpZD0ic3RuZC13b3JraW5nLWdyb3VwLWNvbW1pdHRlZS11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2llZWUtYWVzcy5vcmcvdGVjaC1vcHMvZ3lyby1hbmQtYWNjZWxlcm9tZXRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5Xb3JraW5nIEdyb3VwPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAiIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFTlNSX1dHIC0gU2Vuc29ycyBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtd29ya2luZy1ncm91cC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wbWVudC5zdGFuZGFyZHMuaWVlZS5vcmcvbXlwcm9qZWN0LXdlYi9wdWJsaWMvdmlldy5odG1sIy9pbnRlcmVzdC8zNTQ2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+SUVFRSBQcm9ncmFtIE1hbmFnZXI8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc3RhZmYtbGlhaXNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+U29vIEtpbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtc3RhZmYtbGlhaXNvbi1lbWFpbCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbFRPOnMuaC5raW1AaWVlZS5vcmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkNvbnRhY3QiPkNvbnRhY3Q8L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5Xb3JraW5nIEdyb3VwIENoYWlyPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAtY2hhaXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPkhhcnJ5IERhdmlzPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd29ya2luZy1ncm91cC1kZXRhaWxzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3b3JraW5nLWdyb3VwLXByb2plY3RzLXN0YW5kYXJkcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyBuYXYtanVzdGlmaWVkIGZsZXgtY29sdW1uIGZsZXgtc20tcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayBhY3RpdmUiIGlkPSJ3Zy1hY3RpdmUtcHJvamVjdHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctYWN0aXZlLXByb2plY3RzIiB0eXBlPSJidXR0b24iIHJvbGU9InRhYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJ3Zy1hY3RpdmUtcHJvamVjdHMiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5BY3RpdmUgUHJvamVjdHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gPCEtLSAvLm5hdi1pdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1saW5rIiBpZD0id2ctYWN0aXZlLXN0YW5kYXJkcy10YWIiIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10YXJnZXQ9IiN3Zy1hY3RpdmUtc3RhbmRhcmRzIiB0eXBlPSJidXR0b24iIHJvbGU9InRhYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJ3Zy1hY3RpdmUtc3RhbmRhcmRzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+QWN0aXZlIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkcy10YWIiIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10YXJnZXQ9IiN3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkcyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5TdXBlcnNlZGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFyZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gPCEtLSAvLm5hdi1pdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1saW5rIiBpZD0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcy10YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9InRhYiIgZGF0YS1icy10YXJnZXQ9IiN3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJ3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5JbmFjdGl2ZS1XaXRoZHJhd24gU3RhbmRhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkcy10YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9InRhYiIgZGF0YS1icy10YXJnZXQ9IiN3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+SW5hY3RpdmUtUmVzZXJ2ZWQgU3RhbmRhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLm5hdi10YWJzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctdGFiLWNvbnRlbnQiIGNsYXNzPSJ0YWItY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctYWN0aXZlLXByb2plY3RzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSBzaG93IGFjdGl2ZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLWFjdGl2ZS1wcm9qZWN0cy10YWIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXByb2plY3Qgd2ctYWN0aXZlLXByb2plY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LWRlc2lnbmF0aW9uIj5QMTQzMTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctYWN0aXZlLXByb2plY3QtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPlN0YW5kYXJkIGZvciBTcGVjaWZ5aW5nIGFuZCBUZXN0aW5nIENvcmlvbGlzIFZpYnJhdG9yeSBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1hY3RpdmUtcHJvamVjdC1kZXNjcmlwdGlvbiI+VGhpcyBzdGFuZGFyZCBkZWZpbmVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBwcm9jZWR1cmVzIGZvciBhIHNpbmdsZS1heGlzIENvcmlvbGlzIHZpYnJhdG9yeSBneXJvIChDVkcpIGZvciB1c2UgYXMgYSBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcy4gIEluZm9ybWF0aXZlIGFubmV4ZXMgY292ZXIgQ1ZHIGRlc2lnbiBmZWF0dXJlcyBhbmQgdGhlb3JldGljYWwgcHJpbmNpcGxlcyBvZiBvcGVyYXRpb24uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXByb2plY3QtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNDMxLzEwMzIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXByb2plY3QgLndnLWFjdGl2ZS1wcm9qZWN0IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctYWN0aXZlLXByb2plY3RzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmRzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLWFjdGl2ZS1zdGFuZGFyZHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTI5My0yMDE4PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBMaW5lYXIgU2luZ2xlLUF4aXMsIE5vbmd5cm9zY29waWMgQWNjZWxlcm9tZXRlcnM8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UaGUgc3BlY2lmaWNhdGlvbiBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGEgbGluZWFyLCBzaW5nbGUtYXhpcywgbm9uZ3lyb3Njb3BpYyBhY2NlbGVyb21ldGVyIGZvciB1c2UgaW4gaW5lcnRpYWwgbmF2aWdhdGlvbiwgZ3VpZGFuY2UsIGFuZCBsZXZlbGluZyBzeXN0ZW1zIGFyZSBkZWZpbmVkLiBBIHN0YW5kYXJkIHNwZWNpZmljYXRpb24gZ3VpZGUgYW5kIGEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgdGVzdCBwcm9jZWR1cmVzIGZvciBzdWNoIGFjY2VsZXJvbWV0ZXJzIGFyZSBwcm92aWRlZC4gSW5mb3JtYXRpdmUgYW5uZXhlcyBhcmUgZ2l2ZW4gb24gdGhlIHZhcmlvdXMgdHlwZXMgb2Ygc3VjaCBhY2NlbGVyb21ldGVycyAoZm9yY2Ugb3IgcGVuZHVsb3VzIHRvcnF1ZSByZWJhbGFuY2Ugd2l0aCBhbmFsb2cgb3IgZGlnaXRhbCBvdXRwdXQsIHZpYnJhdGluZyBiZWFtLCBhbmQgbWljcm9tZWNoYW5pY2FsKSBhbmQgZXJyb3IgZWZmZWN0cywgb24gZmlsdGVyaW5nLCBub2lzZSwgYW5kIHRyYW5zaWVudCBhbmFseXNpcyB0ZWNobmlxdWVzLCBhbmQgb24gY2FsaWJyYXRpb24gYW5kIG1vZGVsaW5nIHRlY2huaXF1ZXMgKG11bHRpcG9pbnQgdHVtYmxlIGFuYWx5c2lzLCB2aWJyYXRpb24gYW5kICBzaG9jayB0ZXN0IGFuYWx5c2VzLCBhbmQgZ2VvcGh5c2ljYWwgZWZmZWN0cyBpbiBpbmVydGlhbCBpbnN0cnVtZW50IHRlc3RpbmcpLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzEyOTMvNTU5MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctYWN0aXZlLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+OTUyLTIwMjA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBmb3IgU3BlY2lmeWluZyBhbmQgVGVzdGluZyBTaW5nbGUtQXhpcyBJbnRlcmZlcm9tZXRyaWMgRmliZXIgT3B0aWMgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHByb2NlZHVyZXMgZm9yIGEgc2luZ2xlLWF4aXMgaW50ZXJmZXJvbWV0cmljIGZpYmVyIG9wdGljIGd5cm8gKElGT0cpIGZvciB1c2UgYXMgYSBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gVGhlIHRlc3QgcHJvY2VkdXJlcyBhcmUgZGVyaXZlZCBmcm9tIHRob3NlIHByZXNlbnRseSB1c2VkIGluIHRoZSBpbmR1c3RyeS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS85NTIvNzQ5NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctYWN0aXZlLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctYWN0aXZlLXN0YW5kYXJkcyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIiByb2xlPSJ0YWJwYW5lbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xMjkzLTE5OTgvQ29yIDEtMjAwODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIExpbmVhcixTaW5nbGUtQXhpcywgTm9uZ3lyb3Njb3BpYyBBY2NlbGVyb21ldGVycyBDb3JyaWdlbmR1bSAxOiBDaGFuZ2VzIHRvIEFubmV4IEsgYW5kIEFubmV4IEw8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+Q29ycmlnZW5kdW0gdG8gSUVFRSBTdGQgMTI5My0xOTk4LiBTcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgbGluZWFyLCBzaW5nbGUtYXhpcywgbm9uZ3lyb3Njb3BpYyBhY2NlbGVyb21ldGVycyBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgbGluZWFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGxpbmVhciByYXRlIG1lYXN1cmluZyBzeXN0ZW1zIGFyZSBkZWZpbmVkLiBUaGUgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgYW5kIHRlc3QgcHJvY2VkdXJlIHN0YW5kYXJkIGFwcGxpZXMgdG8gZm9yY2UtcmViYWxhbmNlIGFjY2VsZXJvbWV0ZXJzIChwZW5kdWxvdXMgb3IgdHJhbnNsYXRpb25hbCBwcm9vZiAgbWFzcyksIHZpYnJhdGluZyBiZWFtIGFjY2VsZXJvbWV0ZXJzIChWQkFzKSwgYW5kIG1pY3JvbWVjaGFuaWNhbCBhY2NlbGVyb21ldGVycyB0aGF0IHJhbmdlICBmcm9tIGxlc3NlciBhY2N1cmFjeSB0byBoaWdoIGFjY3VyYWN5IGRldmljZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzEyOTMtMTk5OF9Db3JfMS80MTQyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MjgtMjAwMTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBmb3IgSW5lcnRpYWwgU2Vuc29yIFRlcm1pbm9sb2d5PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlRlcm1zIGFuZCBkZWZpbml0aW9ucyByZWxhdGluZyB0byBpbmVydGlhbCBzZW5vcnMgYXJlIHByZXNlbnRlZCBpbiB0aGlzIHN0YW5kYXJkLiBVc2FnZSBhcyB1bmRlcnN0b29kIGJ5IHRoZSBpbmVydGlhbCBzZW5zb3IgY29tbXVuaXR5IGlzIGdpdmVuIHByZWZlcmVuY2Ugb3ZlciBnZW5lcmFsIHRlY2huaWNhbCB1c2FnZSBvZiB0aGUgdGVybXMgaGVyZWluLiBUaGUgY3JpdGVyaW9uIGZvciBpbmNsdXNpb24gb2YgYSB0ZXJtIGFuZCBpdHMgZGVmaW5pdGlvbiBpbiB0aGlzIHN0YW5kYXJkIGlzIHVzZWZ1bG5lc3MgYXMgcmVsYXRlZCB0byBpbmVydGlhbCBzZW5zb3IgdGVjaG5vbG9neS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTI4Lzc4MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+OTUyLTE5OTc8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtQXhpcyBJbnRlcmZlcm9tZXRyaWMgRmliZXIgT3B0aWMgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+U3BlY2lmaWNhdGlvbiBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGEgc2luZ2xlLWF4aXMgaW50ZXJmZXJvbWV0cmljIGZpYmVyIG9wdGljIGd5cm8gKElGT0cpIGZvciB1c2UgYXMgYSBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgc2luZ2xlLWF4aXMgSUZPRyBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGEgZmliZXIgb3B0aWMgZ3lybywgZGVyaXZlZCBmcm9tIHRob3NlIHByZXNlbnRseSB1c2VkIGluIHRoZSBpbmR1c3RyeSwgaXMgYWxzbyBwcm92aWRlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLzEzMjAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLXN1cGVyc2VkZWQtc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLXN1cGVyc2VkZWQtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0xOTk3L0NvciAxLTIwMTY8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtQXhpcyBJbnRlcmZlcm9tZXRyaWMgRmliZXIgT3B0aWMgR3lyb3MgLS0gQ29ycmlnZW5kdW0gMTogRmlndXJlIDEgYW5kIFN1YmNsYXVzZXMgNS4zLjQsIDguMywgMTIuMTEuNC4zLjIsIDEyLjExLjQuMy4zLCAxMi4xMS40LjMuNCwgMTIuMTIuMy4xLCBhbmQgMTIuMTIuNC4xPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkVycm9ycyBpZGVudGlmaWVkIGluIElFRUUgU3RkIDk1Mi0xOTk3IGFyZSBjb3JyZWN0ZWQgaW4gdGhpcyBjb3JyaWdlbmR1bS4gQ29ycmVjdGlvbnMgYXJlIG1hZGUgdG8gRmlndXJlIDEgYW5kIGluIHN1YmNsYXVzZXMgNS4zLjQsIDguMywgMTIuMTEuNC4zLjIsIDEyLjExLjQuMy4zLCAxMi4xMS40LjMuNCwgMTIuMTIuMy4xLCBhbmQgMTIuMTIuNC4xLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS85NTItMTk5N19Db3JfMS82NzgzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLWluYWN0aXZlLXdpdGhkcmF3bi1zdGFuZGFyZHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBJbmFjdGl2ZS1XaXRoZHJhd24gU3RhbmRhcmRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnRhYi1wYW5lLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy1pbmFjdGl2ZS1zdGFuZGFyZHMgLnRhYi1wYW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjE0MzEtMjAwNDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIENvcmlvbGlzIHZpYnJhdG9yeSBneXJvIChDVkcpIGZvciB1c2UgYXMgYSBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gIEEgc3RhZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgc2luZ2xlLWF4aXMgQ1ZHIGlzIHByb3ZpZGVkLiAgQSBjb21wbGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIENWRywgZGVyaXZlZCBmcm9tIHRob3NlIHByZXNlbnRseSB1c2VkIGluIHRoZSBpbmR1c3RyeSwgaXMgYWxzbyBwcm92aWRlZC4gIEluZm9ybWF0aXZlIGFubmV4ZXMgY292ZXIgQ1ZHIGRlc2lnbiBmZWF0dXJlcyBhbmQgdGhlb3JldGljYWwgcHJpbmNpcGxlcyBvZiBvcGVyYXRpb24uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNDMxLzM1MTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjE0MzEtMjAwNC9Db3IgMS0yMDA4PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIENvcmlvbGlzIFZpYnJhdG9yeSBHeXJvcyAtIENvcnJpZ2VuZHVtIDE8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJpZ2VuZHVtIHRvIElFRUUgU3RkIDE0MzEtMjAwNC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzE0MzEtMjAwNF9Db3JfMS80MTQzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNTU0LTIwMDU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFJlY29tbWVuZGVkIFByYWN0aWNlIGZvciBJbmVydGlhbCBTZW5zb3IgVGVzdCBFcXVpcG1lbnQsIEluc3RydW1lbnRhdGlvbiwgRGF0YSBBY3F1aXNpdGlvbiwgYW5kIEFuYWx5c2lzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UZXN0IGVxdWlwbWVudCwgZGF0YSBhY3F1aXNpdGlvbiBlcXVpcG1lbnQsIGluc3RydW1lbnRhdGlvbiwgdGVzdCBmYWNpbGl0aWVzLCBhbmQgZGF0YSBhbmFseXNpcyB0ZWNobmlxdWVzIHVzZWQgaW4gaW5lcnRpYWwgc2Vuc29yIHRlc3RpbmcgYXJlIGRlc2NyaWJlZCBpbiB0aGlzIHJlY29tbWVuZGVkIHByYWN0aWNlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTU1NC8yMjkyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4yOTItMTk2OTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3BlY2lmaWNhdGlvbiBGb3JtYXQgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBTcHJpbmctUmVzdHJhaW5lZCBSYXRlIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGUgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1kZWdyZWUtb2YtZnJlZWRvbSBzcHJpbmctcmVzdHJhaW5lZCByYXRlIGd5cm8gZm9yIFthaXJjcmFmdCwgbWlzc2lsZSwgc3BhY2VjcmFmdCxfX19fX19dIGFwcGxpY2F0aW9ucy4gVGhlIHJhdGUgZ3lybyBzaGFsbCBiZSBjYXBhYmxlIG9mIHByb3ZpZGluZyBbKGRjLCBhYykgdm9sdGFnZSBvdXRwdXRzIHByb3BvcnRpb25hbCB0byBhbmd1bGFyIHJhdGUgaW5wdXRzIHVwIHRvX19fX19fIGRlZ3JlZXMgcGVyIHNlY29uZCwgYSBzd2l0Y2ggY2xvc3VyZShzKSBhdCBhbmd1bGFyIHJhdGVzIChleGNlZWRpbmcsbGVzcyB0aGFuKV9fX19fXyAoKywtLHUwMGIxKV9fX19fXyBkZWdyZWVzIHBlciBzZWNvbmRdLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMjkyLzQ4NSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MjkzLTE5Njk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+UmVjb21tZW5kZWQgcmF0ZSBneXJvIHRlc3QgcHJvY2VkdXJlcyBkZXJpdmVkIGZyb20gdGhvc2UgY3VycmVudGx5IGluIHVzZSwgaW5jbHVkaW5nIHRlc3QgY29uZGl0aW9ucyB0byBiZSBjb25zaWRlcmVkLCBhcmUgY29tcGlsZWQuIEluIHNvbWUgY2FzZXMgYWx0ZXJuYXRlIG1ldGhvZHMgZm9yIG1lYXN1cmluZyBhIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljIGhhdmUgYmVlbiBpbmNsdWRlZC4gVGhpcyBzdGFuZGFyZCBpcyBpbnRlbmRlZCB0byBiZSBhIGd1aWRlIGluIHRoZSBwcmVwYXJhdGlvbiBvZiBTZWN0aW9uIDQgb2YgYSBzcGVjaWZpY2F0aW9uIHRoYXQgZm9sbG93cyB0aGUgZm9ybWF0IG9mIElFRUUgU3RkIDI5MiwgU3BlY2lmaWNhdGlvbiBGb3JtYXQgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBTcHJpbmctUmVzdHJhaW5lZCBSYXRlIEd5cm9zLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMjkzLzQ4NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MjkzLTE5NjkvQ29yIDEtMjAxNDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIElFRUUgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBTcHJpbmctUmVzdHJhaW5lZCBSYXRlIEd5cm9zIC0tIENvcnJpZ2VuZHVtIDE6IFRhYmxlIDEgSGVhZGluZzwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+Q29ycmVjdGlvbiB0byBUYWJsZSAxIG9uIHBhZ2UgMTQgb2YgSUVFRSBTdGQgMjkzLTE5Njk8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5My0xOTY5X0Nvcl8xLzU3NTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjUxNy0xOTc0PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBSYXRlLUludGVncmF0aW5nIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIHNwZWNpZmljYXRpb24gZm9ybWF0IGd1aWRlIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgYSByYXRlLWludGVncmF0aW5nIGd5cm8gc3BlY2lmaWNhdGlvbiB0aGF0IHByb3ZpZGVzIGEgY29tbW9uIG1lZXRpbmcgZ3JvdW5kIG9mIHRlcm1pbm9sb2d5IGFuZCBwcmFjdGljZSBmb3IgbWFudWZhY3R1cmVycyBhbmQgdXNlcnMgaXMgcHJlc2VudGVkLiBBIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSByYXRlLWludGVncmF0aW5nIGd5cm8gaXMgZ2l2ZW4uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MTcvNzYwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MjktMTk4MDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPlN1cHBsZW1lbnQgZm9yIFN0cmFwZG93biBBcHBsaWNhdGlvbnMgdG8gSUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBSYXRlLUludGVncmF0aW5nIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIHNwZWNpZmljYXRpb24gZm9ybWF0IGd1aWRlIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgYSByYXRlLWludGVncmF0aW5nIGd5cm9zY29wZSBzcGVjaWZpY2F0aW9uIGlzIHByZXNlbnRlZC4gUmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIHJhdGUtaW50ZWdyYXRpbmcgZ3lyb3Njb3BlIGFyZSBjb21waWxlZC4gVGhpcyBzdGFuZGFyZCwgd2hlbiBjb21iaW5lZCB3aXRoIElFRUUgU3RkIDUxNy0xOTc0IChSMTk4MCksIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBwcm9jZWR1cmVzIGluIHRlcm1zIG9mIGNoYXJhY3RlcmlzdGljcyB1bmlxdWUgdG8gdGhlIGd5cm9zY29wZSBvciB0aG9zZSBhcHBsaWNhdGlvbnMgaW4gd2hpY2ggdGhlIGR5bmFtaWMgYW5ndWxhciBpbnB1dHMgYXJlIHNpZ25pZmljYW50bHkgZ3JlYXRlciB0aGFuIHRoZSBsaW1pdGF0aW9ucyBpZGVudGlmaWVkIGluIElFRUUgU3RkIDUxNy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOS83ODEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjUyOS0xOTgwL0NvciAxLTIwMTc8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFN1cHBsZW1lbnQgZm9yIFN0cmFwZG93biBBcHBsaWNhdGlvbnMgdG8gSUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1EZWdyZWUtb2YtRnJlZWRvbSBSYXRlLUludGVncmF0aW5nIEd5cm9zIC0gQ29ycmlnZW5kdW0gMTogMy4zLjkuMi4yLCAzLjYuNC4xLjEsIDMuNi40LjEuMiwgNi4zLCBhbmQgMTAuMTAuNC4xPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5Db3JyZWN0aW9ucyBhcmUgbWFkZSBieSB0aGlzIGNvcnJpZ2VuZHVtIHRvIG1hdGVyaWFsIGFscmVhZHkgcHVibGlzaGVkIGluIElFRUUgU3RkIDUyOS0xOTgwLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTI5LTE5ODBfQ29yXzEvNTc4MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NjQ3LTIwMDY8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgTGFzZXIgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIHJpbmcgbGFzZXIgZ3lybyAoUkxHKSBmb3IgdXNlIGFzIGEgIHNlbnNvciBpbiBhdHRpdHVkZSBjb250cm9sIHN5c3RlbXMsIGFuZ3VsYXIgZGlzcGxhY2VtZW50IG1lYXN1cmluZyBzeXN0ZW1zLCBhbmQgYW5ndWxhciByYXRlICBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgIHNpbmdsZS1heGlzIFJMRyBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGFuIFJMRywgIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS82NDcvMzEzNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NjcxLTE5ODU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTm9uZ3lyb3Njb3BpYyBJbmVydGlhbCBBbmd1bGFyIFNlbnNvcnM6IEplcmssIEFjY2VsZXJhdGlvbiwgVmVsb2NpdHksIGFuZCBEaXNwbGFjZW1lbnQ8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkEgZ3VpZGUgaXMgcHJlc2VudGVkIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgYSBzcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHByb2NlZHVyZSBmb3IgYW4gaW5lcnRpYWwgYW5ndWxhciBzZW5zb3IgdGhhdCBwcm92aWRlcyBhIGNvbW1vbiBtZWV0aW5nIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzIG9mIGFuIGFycmF5IG9mIHNlbnNvcnMgdGhhdCBoYXZlIGJlZW4gZGV2ZWxvcGVkIHRvIG1lZXQgbmVlZHMgbm90IGVhc2lseSBtZXQgYnkgdHJhZGl0aW9uYWwgc3Bpbm5pbmctcm90b3IgZ3lyb3Njb3Blcy4gQSB0ZXN0IHByb2NlZHVyZSBmb3IgdmVyaWZ5aW5nIHRoYXQgdGhlIHNwZWNpZmljYXRpb25zIGhhdmUgYmVlbiBtZXQgaXMgZ2l2ZW4uIFRoZSBzdGFuZGFyZCBpcyBub3QgaW50ZW5kZWQgdG8gY29tcGV0ZSB3aXRoIGV4aXN0aW5nIHN0YW5kYXJkcyBmb3Igc3BlY2lmaWMgZGV2aWNlcyB3aXRoIGhpZ2hseSBzcGVjaWZpYyBtb2RlbHMgYW5kIGVycm9yIHNvdXJjZXMsIHN1Y2ggYXMgc3ByaW5nLXJlc3RyYWluZWQgcmF0ZSBneXJvcywgYnV0IHRvIHByb3ZpZGUgYSB1bmlmb3JtIGd1aWRlIGZvciB0aG9zZSBpbmVydGlhbCBhbmd1bGFyIHNlbnNvcnMgdGhhdCBoYXZlIG5vdCBiZWVuIGNvdmVyZWQgZWxzZXdoZXJlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjcxLzkyNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NjcxLTE5ODUvQ29yIDEtMjAxMDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBOb25neXJvc2NvcGljIEluZXJ0aWFsIEFuZ3VsYXIgU2Vuc29yczogSmVyaywgQWNjZWxlcmF0aW9uLCBWZWxvY2l0eSwgYW5kIERpc3BsYWNlbWVudCBDb3JyaWdlbmR1bSAxOiA0LjcuMi42IFNob3J0LVRlcm0gU3RhYmlsaXR5IGFuZCBBbm5leCBBIFNlbnNvciBEeW5hbWljIEJsb2NrIERpYWdyYW1zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5JRUVFIFN0ZCA2NzEtMTk4NSBwcm92aWRlcyBzcGVjaWZpY2F0aW9ucyBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGEgbm9uLWd5cm9zY29waWMgaW5lcnRpYWwgYW5ndWxhciBzZW5zb3IgdGhhdCBtYXkgbWVhc3VyZSBhbmd1bGFyIGplcmssIGFjY2VsZXJhdGlvbiwgcmF0ZSwgb3IgZGlzcGxhY2VtZW50IHdpdGggb3Igd2l0aG91dCByZXNwb25zZSBkb3duIHRvIHplcm8gZnJlcXVlbmN5LiBBIHN0YW5kYXJkIHNwZWNpZmljYXRpb24gZm9ybWF0IGlzIHByb3ZpZGVkLiBBIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHRlc3QgcHJvY2VkdXJlcywgZGVyaXZlZCBmcm9tIHRob3NlIHByZXNlbnRseSB1c2VkIGluIHRoZSBpbmR1c3RyeSwgaXMgYWxzbyBwcm92aWRlZC4gSW5mb3JtYXRpdmUgYW5uZXhlcyBjb3ZlciBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLiAgVGhpcyBjb3JyaWdlbmR1bSBtYWtlcyBjaGFuZ2VzIHRvIDQuNy4yLjYgdG8gZGVsZXRlIGEgc2VudGVuY2UgdGhhdCBkb2VzIG5vdCBiZWxvbmcgdGhlcmUsIHRvIGFkZCBhIHN1YmNsYXVzZSB0aGF0IHdhcyBpbmFkdmVydGVudGx5IGxlZnQgb3V0LCBhbmQgdG8gcmVudW1iZXIgdGhlIGV4aXN0aW5nIHN1YmNsYXVzZXMuIENoYW5nZXMgYXJlIGFsc28gYmVpbmcgbWFkZSB0byBmaXggdGhlIGJsb2NrIGRpYWdyYW1zIGluIEFubmV4IEEsIHRvIGNvcnJlY3QgYSBtaXNzcGVsbGluZyBvZiBpbmVydGlhLCBhbmQgdG8gYWRkIGEgbWlzc2luZyBzeW1ib2wuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS82NzEtMTk4NV9Db3JfMS80NjgzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj44MTMtMTk4ODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBUd28tRGVncmVlLW9mLUZyZWVkb20gRHluYW1pY2FsbHkgVHVuZWQgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkEgZm9ybWF0IGd1aWRlIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgYSB0d28tZGVncmVlLW9mLWZyZWVkb20gZHluYW1pY2FsbHkgdHVuZWQgZ3lybyAoRFRHKSBzcGVjaWZpY2F0aW9uIGlzIGdpdmVuIHRoYXQgcHJvdmlkZXMgYSBjb21tb24gZ3JvdW5kIG9mIHRlcm1pbm9sb2d5IGFuZCBwcmFjdGljZSBmb3IgbWFudWZhY3R1cmVycyBhbmQgdXNlcnMuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIERURyBpcyBhbHNvIGdpdmVuLiBUaGUgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IHByb2NlZHVyZXMgYXJlIGRlZmluZWQgaW4gdGVybXMgdW5pcXVlIHRvIHRoZSBEVEcuIFRoZXkgY292ZXIgYXBwbGljYXRpb25zIG9mIHRoZSBneXJvIGFzIGFuIGFuZ3VsYXIgbW90aW9uIHNlbnNvciBpbiBuYXZpZ2F0aW9uIGFuZCBjb250cm9sIHN5c3RlbXMuIFRoZXkgYXBwbHkgdG8gdHdvIG1vZGVzIG9mIHVzZTogKDEpIGFzIGEgc3RyYXAtZG93biBzZW5zb3IgaW4gb3BlcmF0aW5nIGVudmlyb25tZW50cyB0eXBpY2FsIG9mIGFpcmNyYWZ0IGFuZCBtaXNzaWxlIGFwcGxpY2F0aW9ucywgYW5kICgyKSBhcyBhIHNlbnNvciBpbiBnaW1iYWxsZWQgcGxhdGZvcm0gYXBwbGljYXRpb25zIGluIHdoaWNoIHRoZSBkeW5hbWljIGFuZ3VsYXIgaW5wdXRzIHRvIHdoaWNoIHRoZSBneXJvIGlzIHN1YmplY3RlZCBhcmUgYmVuaWduIHJlbGF0aXZlIHRvIHRoZSBhY2N1cmFjeSByZXF1aXJlZC4gSW4gdGhlIGNhc2Ugb2YgdGhlIHN0cmFwLWRvd24gRFRHLCB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBleHRlcm5hbCBjYXB0dXJlIGxvb3BzIGFyZSBjb25zaWRlcmVkIHRvIHRoZSBleHRlbnQgbmVjZXNzYXJ5IHRvIGRlZmluZSB0aGUgZ3lybyBwZXJmb3JtYW5jZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzgxMy8xMjAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj44MzYtMjAwOTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgUmVjb21tZW5kZWQgUHJhY3RpY2UgZm9yIFByZWNpc2lvbiBDZW50cmlmdWdlIFRlc3Rpbmcgb2YgTGluZWFyIEFjY2VsZXJvbWV0ZXJzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UaGlzIHJlY29tbWVuZGVkIHByYWN0aWNlIGRlc2NyaWJlcyB0aGUgY29uZHVjdCBhbmQgYW5hbHlzaXMgb2YgcHJlY2lzaW9uIHRlc3RzIHRoYXQgYXJlIHRvIGJlIHBlcmZvcm1lZCBvbiBsaW5lYXIgYWNjZWxlcm9tZXRlcnMgdXNpbmcgY2VudHJpZnVnZSB0ZWNobmlxdWVzLiBUaGUgdGVybSB1MjAxY3ByZWNpc2lvbix1MjAxZCBpbiB0aGlzIGNvbnRleHQsIHJlZmVycyB0byB0ZXN0cyB0aGF0IGFyZSBjb25kdWN0ZWQgdG8gZXZhbHVhdGUgYWNjZWxlcm9tZXRlciBwYXJhbWV0ZXJzLCBhcyBvcHBvc2VkIHRvIHRob3NlIGNvbmR1Y3RlZCB0byBlc3RhYmxpc2ggZW52aXJvbm1lbnRhbCBzdXJ2aXZhYmlsaXR5IG9ubHkuIEV2YWx1YXRpb24gbWF5IHRha2UgdGhlIGZvcm0gb2YgZGV0ZXJtaW5pbmcgdGhlIGNvZWZmaWNpZW50cyBvZiB0aGUgYWNjZWxlcm9tZXRlcidzIG1vZGVsIGVxdWF0aW9uLCBleGNlcHQgZm9yIGJpYXMgYW5kIHNjYWxlIGZhY3Rvciwgd2hpY2ggYXJlIG1vc3QgYWNjdXJhdGVseSBkZXRlcm1pbmVkIGJ5IHN0YXRpYyBtdWx0aS1wb3NpdGlvbiB0ZXN0cy4gQWx0ZXJuYXRpdmVseSwgZXZhbHVhdGlvbiBtYXkgb25seSBlc3RhYmxpc2ggdGhhdCB0aGUgYWNjZWxlcm9tZXRlciBvdXRwdXQgY29tcGxpZXMgd2l0aCBzcGVjaWZpYyBlcnJvciBsaW1pdCBjcml0ZXJpYS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzgzNi8zNDQ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnRhYi1wYW5lLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy1pbmFjdGl2ZS1zdGFuZGFyZHMgLnRhYi1wYW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy10YWItY29udGVudCAudGFiLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd29ya2luZy1ncm91cC1wcm9qZWN0cy1zdGFuZGFyZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3b3JraW5nLWdyb3VwIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNtYWluLWNvbnRlbnQgLmNvbC0xMiAuY29sLWxnLTEwIC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgIDwvc2VjdGlvbj4gPCEtLSAvI2NvbnRlbnQgLS0+CjwvbWFpbj4KCiAgICA8Zm9vdGVyPgogICAgICAgIDxzZWN0aW9uIGlkPSJmb290ZXItdG9wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1sb2dvIiBjbGFzcz0ibG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9nby1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRpdGxlPSJWaXNpdCBJRUVFLm9yZyI+PGltZyBzcmM9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaW1nL2llZWUtbG9nbzJ4LnBuZyIgYWx0PSJJRUVFIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNmb290ZXItbG9nbyAubG9nbyAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAuY29sLXNtLTQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic29jaWFsLW1lZGlhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHNvY2lhbC1tZWRpYSBqdXN0aWZ5LWNvbnRlbnQtc20tZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLWZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vaWVlZXNhLyIgdGl0bGU9IkZhY2Vib29rIj48aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPkZhY2Vib29rPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayBzb2NpYWwtaWNvbiBzb2NpYWwtdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pZWVlc2EiIHRpdGxlPSJUd2l0dGVyIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPiA8c3BhbiBjbGFzcz0ic3Itb25seSI+VHdpdHRlcjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLWxpbmtlZGluIiBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9pZWVlLXNhLWllZWUtc3RhbmRhcmRzLWFzc29jaWF0aW9uLyIgdGl0bGU9IkxpbmtlZEluIj48aSBjbGFzcz0iZmEgZmEtbGlua2VkaW4iPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPkxpbmtlZEluPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayBzb2NpYWwtaWNvbiBzb2NpYWwtaW5zdGFncmFtIiBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2llZWVzYS8iIHRpdGxlPSJJbnN0YWdyYW0iPjxpIGNsYXNzPSJmYSBmYS1pbnN0YWdyYW0iPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPkluc3RhZ3JhbTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLXlvdXR1YmUiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2llZWVzYSIgdGl0bGU9IllvdVR1YmUiPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Zb3VUdWJlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAuc29jaWFsLW1lZGlhIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3NvY2lhbC1tZWRpYSAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAuY29sLXNtLTggLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICAgICAgPC9zZWN0aW9uPiA8IS0tIC8jZm9vdGVyLXRvcCAtLT4KCiAgICAgICAgPHNlY3Rpb24gaWQ9ImZvb3Rlci13aWRnZXRzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5JRUVFIFNBPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtaWVlZS1zYS1jb250YWluZXIiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudS1pZWVlLXNhIiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODQzNyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04NDM3Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC8iPkFib3V0IFVzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNzAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvbWVtYmVyc2hpcC8iPklFRUUgU0EgTWVtYmVyc2hpcDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzcxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzEiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2NvcnBjaGFuLyI+Q29ycG9yYXRlIFByb2dyYW08L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTQxOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS05NDE4Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9kaXN0cmliLyI+RGlzdHJpYnV0b3IgUHJvZ3JhbTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzcyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzIiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3RyYWluaW5nLyI+VHJhaW5pbmcgJiMwMzg7IERldmVsb3BtZW50PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTg0MzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQzOCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvcG9saWNpZXMvIj5Qb2xpY2llcyAmIzAzODsgUHJvY2VkdXJlczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDM5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0MzkiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2NvbnRhY3QvIj5Db250YWN0IFVzPC9hPjwvbGk+CjwvdWw+PC9kaXY+PC9kaXY+CjwhLS0gZW5kIHdpZGdldCAtLT4KPC9kaXY+PCEtLSBlbmQgY29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXNtLTYgY29sLW1kLTMiPjwhLS0gYmVnaW4gY29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3aWRnZXQiPjwhLS0gYmVnaW4gd2lkZ2V0IC0tPgo8ZGl2IGNsYXNzPSJ3aWRnZXQtdGl0bGUiPkJvYXJkIG9mIEdvdmVybm9yczwvZGl2Pgo8ZGl2IGNsYXNzPSJtZW51LWZvb3Rlci1tZW51LWJvYXJkLW9mLWdvdmVybm9ycy1jb250YWluZXIiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudS1ib2FyZC1vZi1nb3Zlcm5vcnMiIGNsYXNzPSJtZW51Ij48bGkgaWQ9Im1lbnUtaXRlbS04MzYzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjMiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy8iPkFib3V0IEJvYXJkIG9mIEdvdmVybm9yczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjQiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9hcmNvbS8iPkF3YXJkcyBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM2NSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzY1Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvY2FnLyI+Q29ycG9yYXRlIEFkdmlzb3J5IEdyb3VwPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2NiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL2ljY29tLyI+SW5kdXN0cnkgQ29ubmVjdGlvbnMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2NyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL3JhYy8iPlJlZ2lzdHJhdGlvbiBBdXRob3JpdHkgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2OCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL3NwY2MvIj5TdHJhdGVnaWMgUGxhbm5pbmcgQ29vcmRpbmF0aW9uIENvbW1pdHRlZTwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5TdGFuZGFyZHMgQm9hcmQ8L2Rpdj4KPGRpdiBjbGFzcz0ibWVudS1mb290ZXItbWVudS1zdGFuZGFyZHMtYm9hcmQtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtc3RhbmRhcmRzLWJvYXJkIiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODM3OCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04Mzc4Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiLyI+QWJvdXQgU3RhbmRhcmRzIEJvYXJkPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNzkiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3OSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9zYmEvIj5Cb2FyZCBBcHByb3ZhbHM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgwIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL2F1ZGNvbS8iPkF1ZGl0IENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzgxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzODEiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2IvbmVzY29tLyI+TmV3IFN0YW5kYXJkcyBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgyIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL3BhdGNvbS8iPlBhdGVudCBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgzIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL3Byb2NvbS8iPlByb2NlZHVyZXMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4NCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9yZXZjb20vIj5TdGFuZGFyZHMgUmV2aWV3IENvbW1pdHRlZTwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5OZXdzICYjMDM4OyBFdmVudHM8L2Rpdj4KPGRpdiBjbGFzcz0ibWVudS1mb290ZXItbWVudS1uZXdzLWV2ZW50cy1jb250YWluZXIiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudS1uZXdzLWV2ZW50cyIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTg0NDAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQ0MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvbmV3cy8iPk5ld3M8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3NiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04Mzc2Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9uZXdzL3N3aXJlLyI+SUVFRSBTQSBOZXdzbGV0dGVyPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTg0NDEiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQ0MSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvZXZlbnRzLyI+RXZlbnRzPC9hPjwvbGk+CjwvdWw+PC9kaXY+PC9kaXY+CjwhLS0gZW5kIHdpZGdldCAtLT4KPC9kaXY+PCEtLSBlbmQgY29sdW1uIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgICAgIDwvc2VjdGlvbj4gPCEtLSAvI2Zvb3Rlci13aWRnZXRzIC0tPgoKICAgICAgICA8c2VjdGlvbiBpZD0iZm9vdGVyLWJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IGZvb3Rlci1iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvIiB0aXRsZT0iSG9tZSI+SG9tZTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvc2l0ZW1hcC8iIHRpdGxlPSJTaXRlbWFwIj5TaXRlbWFwPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL2Fib3V0L2NvbnRhY3QuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJDb250YWN0ICZhbXA7IFN1cHBvcnQiPkNvbnRhY3QgJmFtcDsgU3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9hY2Nlc3NpYmlsaXR5LXN0YXRlbWVudC5odG1sIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkFjY2Vzc2liaWxpdHkiPkFjY2Vzc2liaWxpdHk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWJvdXQvY29ycG9yYXRlL2dvdmVybmFuY2UvcDktMjYuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJOb25kaXNjcmltaW5hdGlvbiBQb2xpY3kiPk5vbmRpc2NyaW1pbmF0aW9uIFBvbGljeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3NlY3VyZS5ldGhpY3Nwb2ludC5jb20vZG9tYWluL21lZGlhL2VuL2d1aS8yMDQxMC9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklFRUUgRXRoaWNzIFJlcG9ydGluZyI+SUVFRSBFdGhpY3MgUmVwb3J0aW5nPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL3NlY3VyaXR5LXByaXZhY3kuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIFByaXZhY3kgUG9saWN5Ij5JRUVFIFByaXZhY3kgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ii9pcHIvIiB0aXRsZT0iSUVFRSBTQSBDb3B5cmlnaHQgUG9saWN5Ij5JRUVFIFNBIENvcHlyaWdodCBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAuZm9vdGVyIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb3B5cmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+JmNvcHk7IENvcHlyaWdodCA8c3BhbiBpZD0iY29weXJpZ2h0LXllYXIiPjIwMjE8L3NwYW4+IElFRUUgJm5kYXNoOyBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2Ugb2YgdGhpcyB3ZWJzaXRlIHNpZ25pZmllcyB5b3VyIGFncmVlbWVudCB0byB0aGUgPGEgY2xhc3M9ImZvb3Rlci1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9hYm91dC9oZWxwL3NpdGUtdGVybXMtY29uZGl0aW9ucy5odG1sIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklFRUUgVGVybXMgYW5kIENvbmRpdGlvbnMiPklFRUUgVGVybXMgYW5kIENvbmRpdGlvbnM8L2E+Ljxicj5BIG5vdC1mb3ItcHJvZml0IG9yZ2FuaXphdGlvbiwgSUVFRSBpcyB0aGUgd29ybGQmcnNxdW87cyBsYXJnZXN0IHRlY2huaWNhbCBwcm9mZXNzaW9uYWwgb3JnYW5pemF0aW9uIGRlZGljYXRlZCB0byBhZHZhbmNpbmcgdGVjaG5vbG9neSBmb3IgdGhlIGJlbmVmaXQgb2YgaHVtYW5pdHkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI2NvcHlyaWdodCAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0xMiAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgICAgICA8L3NlY3Rpb24+IDwhLS0gLyNmb290ZXItYmFyIC0tPgogICAgPC9mb290ZXI+CgogICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zdWJzY3JpYmUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1icy10b2dnbGU9Im9mZmNhbnZhcyIgZGF0YS1icy10YXJnZXQ9IiNuZXdzbGV0dGVyLXN1YnNjcmliZSIgYXJpYS1jb250cm9scz0ibmV3c2xldHRlci1zdWJzY3JpYmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWxhYmVsPSJUb2dnbGUgbmV3c2xldHRlciBzdWJzY3JpYmUgZm9ybSI+U3Vic2NyaWJlPC9idXR0b24+IDwhLS0gLy5idG4gLmJ0bi1zdWJzY3JpYmUgLS0+CgogICAgPGRpdiBpZD0ibmV3c2xldHRlci1zdWJzY3JpYmUiIGNsYXNzPSJvZmZjYW52YXMgb2ZmY2FudmFzLWVuZCIgZGF0YS1icy1zY3JvbGw9InRydWUiIGRhdGEtYnMtYmFja2Ryb3A9InRydWUiIHRhYmluZGV4PSItMSIgYXJpYS1sYWJlbGxlZGJ5PSJuZXdzbGV0dGVyLXN1YnNjcmliZS10aXRsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ib2ZmY2FudmFzLWhlYWRlciI+CiAgICAgICAgICAgIDxoNSBjbGFzcz0iaDIgb2ZmY2FudmFzLXRpdGxlIiBpZD0ibmV3c2xldHRlci1zdWJzY3JpYmUtdGl0bGUiPk5ld3N3aXJlPC9oNT4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4tY2xvc2UgdGV4dC1yZXNldCIgZGF0YS1icy1kaXNtaXNzPSJvZmZjYW52YXMiIGFyaWEtbGFiZWw9IkNsb3NlIj48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4gPCEtLSAvLm9mZmNhdmFzLWhlYWRlciAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJvZmZjYW52YXMtYm9keSI+CiAgICAgICAgICAgIDxwPlNpZ24gdXAgZm9yIG91ciBtb250aGx5IG5ld3NsZXR0ZXIgdG8gbGVhcm4gYWJvdXQgbmV3IGRldmVsb3BtZW50cywgaW5jbHVkaW5nIHJlc291cmNlcywgaW5zaWdodHMgYW5kIG1vcmUuPC9wPgogICAgICAgICAgICA8IS0tIE1hcmtldG8gRm9ybSAtLT4KICAgICAgICAgICAgPHNjcmlwdCBzcmM9Ii8vYXBwLWFiMjgubWFya2V0by5jb20vanMvZm9ybXMyL2pzL2Zvcm1zMi5taW4uanMiPjwvc2NyaXB0PgogICAgICAgICAgICA8Zm9ybSBpZD0ibWt0b0Zvcm1fMTAyMiIgY2xhc3M9Im1hcmtldG9Gb3JtIj48L2Zvcm0+CiAgICAgICAgICAgIDxzY3JpcHQ+TWt0b0Zvcm1zMi5sb2FkRm9ybSgiLy9hcHAtYWIyOC5tYXJrZXRvLmNvbSIsICIyMTEtRllMLTk1NSIsIDEwMjIpOzwvc2NyaXB0PgogICAgICAgIDwvZGl2PiA8IS0tIC8ub2ZmY2F2YXMtYm9keSAtLT4KICAgIDwvZGl2PiA8IS0tIC8jbmV3c2xldHRlci1zdWJzY3JpYmUgLm9mZmNhbnZhcyAtLT4KCgogICAgPGRpdiBjbGFzcz0ic2NyZWVuLWRhcmtlbiI+PC9kaXY+IDwhLS0gLy5zY3JlZW4tZGFya2VuIC0tPgoKICAgPCEtLSA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuNi4wLnNsaW0ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTI1Ni11N2U1a2h5aXRobElkVHB1MjJQSGhFTm1QY1JkRmlIUmpoQXVIY3MwNVJJPSIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+LS0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ib290c3RyYXBANS4xLjMvZGlzdC9qcy9ib290c3RyYXAuYnVuZGxlLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEzODQta2E3U2swR2xuNGdtdHoyTWxRbmlrVDF3WGdZc09nK09NaHVQK0lsUkg5c0VOQk8wTFJuNXErOG5iVG92NCsxcCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICAvLyBvZmZjYW52YXMgbW9iaWxlIG1lbnUKICAgICAgICBmdW5jdGlvbiBkYXJrZW5fc2NyZWVuKHllc25vKSB7CiAgICAgICAgICAgIGlmKCB5ZXNubyA9PSB0cnVlICkgewogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1kYXJrZW4nKS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHllc25vID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2NyZWVuLWRhcmtlbicpLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjbG9zZV9vZmZjYW52YXMoKSB7CiAgICAgICAgICAgIGRhcmtlbl9zY3JlZW4oZmFsc2UpOwogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbW9iaWxlLW1lbnUuc2hvdycpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvZmZjYW52YXMtYWN0aXZlJyk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBzaG93X29mZmNhbnZhcyhvZmZjYW52YXNfaWQpIHsKICAgICAgICAgICAgZGFya2VuX3NjcmVlbih0cnVlKTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob2ZmY2FudmFzX2lkKS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnb2ZmY2FudmFzLWFjdGl2ZScpOwogICAgICAgIH0KCgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIGFmZml4IGhlYWRlciB0byB0b3Agb24gc2Nyb2xsCiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICBpZiAod2luZG93LnNjcm9sbFkgPiA1MCkgewoKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wLWJhcicpLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpOwogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXN0aGVhZCcpLmNsYXNzTGlzdC5hZGQoJ2ZpeGVkLXRvcCcpOwoKICAgICAgICAgICAgICAgICAgICAvLyBhZGQgcGFkZGluZyB0b3AgdG8gc2hvdyBjb250ZW50IGJlaGluZCBuYXZiYXIKICAgICAgICAgICAgICAgICAgICBtYXN0aGVhZEhlaWdodCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtYXN0aGVhZCcpLm9mZnNldEhlaWdodDsKCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nVG9wID0gbWFzdGhlYWRIZWlnaHQgKyAncHgnOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3AtYmFyJykuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hc3RoZWFkJykuY2xhc3NMaXN0LnJlbW92ZSgnZml4ZWQtdG9wJyk7CgogICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBwYWRkaW5nIHRvcCBmcm9tIGJvZHkKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdUb3AgPSAnMCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKCgogICAgICAgICAgICAvLyBvZmZjYW52YXMgbW9iaWxlIG1lbnUKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdHJpZ2dlcl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGV2ZXJ5ZWxlbWVudCkgewogICAgICAgICAgICAgICAgbGV0IG9mZmNhbnZhc19pZCA9IGV2ZXJ5ZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHJpZ2dlcicpOwogICAgICAgICAgICAgICAgZXZlcnllbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgc2hvd19vZmZjYW52YXMob2ZmY2FudmFzX2lkKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5idG4tY2xvc2UnKS5mb3JFYWNoKGZ1bmN0aW9uKGV2ZXJ5YnV0dG9uKSB7CiAgICAgICAgICAgICAgICBldmVyeWJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgY2xvc2Vfb2ZmY2FudmFzKCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2NyZWVuLWRhcmtlbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICAgIGNsb3NlX29mZmNhbnZhcygpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICAvLyBET01Db250ZW50TG9hZGVkIGVuZAoKCgogICAgICAgIC8vIGRpc3BsYXkgY3VycmVudCB5ZWFyCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvcHlyaWdodC15ZWFyJykuaW5uZXJUZXh0ID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwogICAgPC9zY3JpcHQ+CgogICAgCQk8c2NyaXB0PgoJCSggZnVuY3Rpb24gKCBib2R5ICkgewoJCQkndXNlIHN0cmljdCc7CgkJCWJvZHkuY2xhc3NOYW1lID0gYm9keS5jbGFzc05hbWUucmVwbGFjZSggL1xidHJpYmUtbm8tanNcYi8sICd0cmliZS1qcycgKTsKCQl9ICkoIGRvY3VtZW50LmJvZHkgKTsKCQk8L3NjcmlwdD4KCQk8c2NyaXB0PiAvKiA8IVtDREFUQVsgKi92YXIgdHJpYmVfbDEwbl9kYXRhdGFibGVzID0geyJhcmlhIjp7InNvcnRfYXNjZW5kaW5nIjoiOiBhY3RpdmF0ZSB0byBzb3J0IGNvbHVtbiBhc2NlbmRpbmciLCJzb3J0X2Rlc2NlbmRpbmciOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1uIGRlc2NlbmRpbmcifSwibGVuZ3RoX21lbnUiOiJTaG93IF9NRU5VXyBlbnRyaWVzIiwiZW1wdHlfdGFibGUiOiJObyBkYXRhIGF2YWlsYWJsZSBpbiB0YWJsZSIsImluZm8iOiJTaG93aW5nIF9TVEFSVF8gdG8gX0VORF8gb2YgX1RPVEFMXyBlbnRyaWVzIiwiaW5mb19lbXB0eSI6IlNob3dpbmcgMCB0byAwIG9mIDAgZW50cmllcyIsImluZm9fZmlsdGVyZWQiOiIoZmlsdGVyZWQgZnJvbSBfTUFYXyB0b3RhbCBlbnRyaWVzKSIsInplcm9fcmVjb3JkcyI6Ik5vIG1hdGNoaW5nIHJlY29yZHMgZm91bmQiLCJzZWFyY2giOiJTZWFyY2g6IiwiYWxsX3NlbGVjdGVkX3RleHQiOiJBbGwgaXRlbXMgb24gdGhpcyBwYWdlIHdlcmUgc2VsZWN0ZWQuICIsInNlbGVjdF9hbGxfbGluayI6IlNlbGVjdCBhbGwgcGFnZXMiLCJjbGVhcl9zZWxlY3Rpb24iOiJDbGVhciBTZWxlY3Rpb24uIiwicGFnaW5hdGlvbiI6eyJhbGwiOiJBbGwiLCJuZXh0IjoiTmV4dCIsInByZXZpb3VzIjoiUHJldmlvdXMifSwic2VsZWN0Ijp7InJvd3MiOnsiMCI6IiIsIl8iOiI6IFNlbGVjdGVkICVkIHJvd3MiLCIxIjoiOiBTZWxlY3RlZCAxIHJvdyJ9fSwiZGF0ZXBpY2tlciI6eyJkYXlOYW1lcyI6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLCJkYXlOYW1lc1Nob3J0IjpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLCJkYXlOYW1lc01pbiI6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sIm1vbnRoTmFtZXMiOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSwibW9udGhOYW1lc1Nob3J0IjpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sIm1vbnRoTmFtZXNNaW4iOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sIm5leHRUZXh0IjoiTmV4dCIsInByZXZUZXh0IjoiUHJldiIsImN1cnJlbnRUZXh0IjoiVG9kYXkiLCJjbG9zZVRleHQiOiJEb25lIiwidG9kYXkiOiJUb2RheSIsImNsZWFyIjoiQ2xlYXIifX07LyogXV0+ICovIDwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy9wYWdlLWxpbmtzLXRvL2Rpc3QvbmV3LXRhYi5qcz92ZXI9My4zLjYnIGlkPSdwYWdlLWxpbmtzLXRvLWpzJz48L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K
2524
2530
  http_version:
2525
- recorded_at: Fri, 18 Mar 2022 13:31:27 GMT
2531
+ recorded_at: Sun, 10 Apr 2022 12:50:26 GMT
2526
2532
  recorded_with: VCR 5.1.0