[fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” type_medium=”” type_small=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”true”][fusion_code render_logics=””]PHN0eWxlPgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIENBUkwgR3VpZGUgUGFnZSBUZW1wbGF0ZSAtIEFkZGluZyBUZWFjaGluZyBSZXNvdXJjZXMKICAgICBTY29wZWQgZm9yIFdvcmRQcmVzcy9BdmFkYSBjb2RlIGJsb2NrIHVzZQogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAudHItZ3VpZGUtcGFnZSB7CiAgICAtLXRyLWJyYW5kLWRhcms6ICMwMDJENEM7CiAgICAtLXRyLWJyYW5kLWRhcmtlcjogIzAwMTkzMDsKICAgIC0tdHItYnJhbmQtdGVhbDogIzAwRTVEMzsKICAgIC0tdHItYnJhbmQtcGluazogI0Y2NzFFQTsKICAgIC0tdHItYnJhbmQtY29yYWw6ICNGODgzNzk7CiAgICAtLXRyLWJyYW5kLWJsdWU6ICM1OUM5RTE7CgogICAgLS10ci10ZXh0LXByaW1hcnk6ICMwMDJENEM7CiAgICAtLXRyLXRleHQtc2Vjb25kYXJ5OiAjNUE2QzdEOwogICAgLS10ci10ZXh0LW11dGVkOiAjOGE5YWE4OwoKICAgIC0tdHItYmctbGlnaHQ6ICNmOGZhZmI7CiAgICAtLXRyLWJnLXBhZ2U6ICNmZmZmZmY7CgogICAgLS10ci1ib3JkZXItbGlnaHQ6ICNlOGVlZjI7CiAgICAtLXRyLWJvcmRlci1tZWRpdW06ICNkMGQ3ZGQ7CgogICAgLS10ci1ob3Zlci1zcGVlZC1zb2Z0OiA1NjBtczsKICAgIC0tdHItaG92ZXItZWFzZS1zb2Z0OiBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTsKCiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRyLWJnLWxpZ2h0KTsKICAgIGNvbG9yOiB2YXIoLS10ci10ZXh0LXByaW1hcnkpOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC01MHZ3ICsgNTAlKTsKICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDUwJSk7CiAgICB3aWR0aDogMTAwdnc7CiAgfQoKICAudHItZ3VpZGUtcGFnZSwKICAudHItZ3VpZGUtcGFnZSAqIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogIH0KCiAgLnRyLWd1aWRlLXBhZ2UgYSB7CiAgICBjb2xvcjogaW5oZXJpdDsKICB9CgogIC50ci1ndWlkZS1wcm9ncmVzcyB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDAlOwogICAgaGVpZ2h0OiAzcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLXRyLWJyYW5kLWJsdWUpLCB2YXIoLS10ci1icmFuZC10ZWFsKSk7CiAgICB6LWluZGV4OiA5OTk5OwogICAgdHJhbnNpdGlvbjogd2lkdGggMTIwbXMgbGluZWFyOwogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgSGVhZGVyCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogIC50ci1ndWlkZS1oZWFkZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdHItYnJhbmQtZGFyaykgMCUsIHZhcigtLXRyLWJyYW5kLWRhcmtlcikgMTAwJSk7CiAgICBwYWRkaW5nOiA0OHB4IDAgNTZweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQoKICAudHItZ3VpZGUtaGVhZGVyOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC01MCU7CiAgICByaWdodDogLTEwJTsKICAgIHdpZHRoOiA1MDBweDsKICAgIGhlaWdodDogNTAwcHg7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDg5LCAyMDEsIDIyNSwgMC4xMikgMCUsIHRyYW5zcGFyZW50IDcwJSk7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB9CgogIC50ci1ndWlkZS1oZWFkZXI6OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAtMTgwcHg7CiAgICBsZWZ0OiA4JTsKICAgIHdpZHRoOiAzNjBweDsKICAgIGhlaWdodDogMzYwcHg7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDAsIDIyOSwgMjExLCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNzAlKTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogIH0KCiAgLnRyLWd1aWRlLWhlYWRlci1pbm5lciB7CiAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgcGFkZGluZzogMCAzMnB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMTsKICB9CgogIC50ci1ndWlkZS1icmVhZGNydW1icyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICB9CgogIC50ci1ndWlkZS1icmVhZGNydW1icyBhIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpOwogIH0KCiAgLnRyLWd1aWRlLWJyZWFkY3J1bWJzIGE6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXRyLWJyYW5kLXRlYWwpOwogIH0KCiAgLnRyLWd1aWRlLWJyZWFkY3J1bWJzIC50ci1ndWlkZS1zZXBhcmF0b3IgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsKICB9CgogIC50ci1ndWlkZS1icmVhZGNydW1icyAudHItZ3VpZGUtY3VycmVudCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTsKICB9CgogIC50ci1ndWlkZS1iYWRnZXMgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTBweDsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgfQoKICAudHItZ3VpZGUtYmFkZ2UgewogICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogIH0KCiAgLnRyLWd1aWRlLWJhZGdlLnRyLWd1aWRlLWNhdGVnb3J5IHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMjI5LCAyMTEsIDAuMTUpOwogICAgY29sb3I6IHZhcigtLXRyLWJyYW5kLXRlYWwpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAyMjksIDIxMSwgMC4zMCk7CiAgfQoKICAudHItZ3VpZGUtYmFkZ2UudHItZ3VpZGUtdHlwZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogIH0KCiAgLnRyLWd1aWRlLXRpdGxlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA0dncsIDIuNjI1cmVtKTsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsaW5lLWhlaWdodDogMS4xNTsKICAgIG1hcmdpbjogMCAwIDE2cHggMDsKICAgIG1heC13aWR0aDogNzgwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4OwogIH0KCiAgLnRyLWd1aWRlLWRlc2NyaXB0aW9uIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpOwogICAgZm9udC1zaXplOiAxN3B4OwogICAgbGluZS1oZWlnaHQ6IDEuNjU7CiAgICBtYXgtd2lkdGg6IDcyMHB4OwogICAgbWFyZ2luOiAwIDAgMjRweCAwOwogIH0KCiAgLnRyLWd1aWRlLW1ldGEgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMjRweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICB9CgogIC50ci1ndWlkZS1tZXRhLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLnRyLWd1aWRlLW1ldGEtaXRlbSBzdmcgewogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBvcGFjaXR5OiAwLjg1OwogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgTGF5b3V0ICsgU2lkZWJhcgogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAudHItZ3VpZGUtbGF5b3V0IHsKICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiAwIDMycHg7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNjBweCAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQoKICAudHItZ3VpZGUtc2lkZWJhciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQoKICAudHItZ3VpZGUtdG9jIHsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IDMycHg7CiAgICBwYWRkaW5nOiAzMnB4IDAgMjRweDsKICB9CgogIC50ci1ndWlkZS10b2MtaGVhZGVyIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1tdXRlZCk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIHBhZGRpbmctbGVmdDogMTZweDsKICB9CgogIC50ci1ndWlkZS10b2MtbGlzdCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbjogMDsKICB9CgogIC50ci1ndWlkZS10b2MtbGluayB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTJweDsKICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgIGNvbG9yOiB2YXIoLS10ci10ZXh0LXNlY29uZGFyeSk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHRyYW5zaXRpb246CiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtdG9jLWxpbms6aG92ZXIsCiAgLnRyLWd1aWRlLXRvYy1saW5rLnRyLWd1aWRlLWFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDIyOSwgMjExLCAwLjA4KTsKICAgIGNvbG9yOiB2YXIoLS10ci1icmFuZC1kYXJrKTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CgogIC50ci1ndWlkZS10b2MtbGluay50ci1ndWlkZS1hY3RpdmUgewogICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXRyLWJyYW5kLXRlYWwpOwogIH0KCiAgLnRyLWd1aWRlLXRvYy1udW1iZXIgewogICAgd2lkdGg6IDIycHg7CiAgICBoZWlnaHQ6IDIycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ci1iZy1saWdodCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ci1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1tdXRlZCk7CiAgICBmbGV4LXNocmluazogMDsKICAgIHRyYW5zaXRpb246CiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIGNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtdG9jLWxpbms6aG92ZXIgLnRyLWd1aWRlLXRvYy1udW1iZXIsCiAgLnRyLWd1aWRlLXRvYy1saW5rLnRyLWd1aWRlLWFjdGl2ZSAudHItZ3VpZGUtdG9jLW51bWJlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ci1icmFuZC10ZWFsKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdHItYnJhbmQtdGVhbCk7CiAgICBjb2xvcjogdmFyKC0tdHItYnJhbmQtZGFyayk7CiAgfQoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBNYWluIENvbnRlbnQgKyBTZWN0aW9ucwogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAudHItZ3VpZGUtY29udGVudCB7CiAgICBwYWRkaW5nOiA0OHB4IDAgODBweDsKICAgIG1pbi13aWR0aDogMDsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAxNnB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHItYm9yZGVyLWxpZ2h0KTsKICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgc2Nyb2xsLW1hcmdpbi10b3A6IDMycHg7CiAgICB0cmFuc2l0aW9uOgogICAgICBib3gtc2hhZG93IHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIHRyYW5zZm9ybSB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb246aG92ZXIgewogICAgYm94LXNoYWRvdzogMCA1cHggMTZweCByZ2JhKDAsIDQ1LCA3NiwgMC4wNDUpOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24taGVhZGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxNnB4OwogICAgcGFkZGluZzogMjRweCAyOHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRyLWJvcmRlci1saWdodCk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtc2VjdGlvbi1oZWFkZXI6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tdHItYmctbGlnaHQpOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24tbnVtYmVyIHsKICAgIHdpZHRoOiAzNnB4OwogICAgaGVpZ2h0OiAzNnB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdHItYnJhbmQtYmx1ZSksIHZhcigtLXRyLWJyYW5kLXRlYWwpKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGNvbG9yOiB2YXIoLS10ci1icmFuZC1kYXJrKTsKICAgIGZsZXgtc2hyaW5rOiAwOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24tdGl0bGUgewogICAgZmxleDogMTsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1wcmltYXJ5KTsKICAgIG1hcmdpbjogMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1OwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24tdG9nZ2xlIHsKICAgIHdpZHRoOiAyOHB4OwogICAgaGVpZ2h0OiAyOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tdHItYmctbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgdHJhbnNpdGlvbjoKICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpLAogICAgICB0cmFuc2Zvcm0gdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KTsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSBzdmcgewogICAgd2lkdGg6IDE0cHg7CiAgICBoZWlnaHQ6IDE0cHg7CiAgICBzdHJva2U6IHZhcigtLXRyLXRleHQtbXV0ZWQpOwogICAgdHJhbnNpdGlvbjoKICAgICAgdHJhbnNmb3JtIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIHN0cm9rZSB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24udHItZ3VpZGUtY29sbGFwc2VkIC50ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSBzdmcgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgewogICAgcGFkZGluZzogMjhweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLnRyLWd1aWRlLXNlY3Rpb24udHItZ3VpZGUtY29sbGFwc2VkIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgcCB7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1zZWNvbmRhcnkpOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDEuNzU7CiAgICBtYXJnaW46IDAgMCAxNnB4OwogIH0KCiAgLnRyLWd1aWRlLXN1YmhlYWQgewogICAgY29sb3I6IHZhcigtLXRyLXRleHQtcHJpbWFyeSk7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luOiAyOHB4IDAgMTBweDsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgdWwsCiAgLnRyLWd1aWRlLXNlY3Rpb24tYm9keSBvbCB7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1zZWNvbmRhcnkpOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIG1hcmdpbjogMTJweCAwIDIwcHggMjJweDsKICB9CgogIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgbGkgewogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgQ2FsbG91dHMKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiAgLnRyLWd1aWRlLWNhbGxvdXQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTRweDsKICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBtYXJnaW46IDIwcHggMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQoKICAudHItZ3VpZGUtY2FsbG91dCBzdmcgewogICAgd2lkdGg6IDIwcHg7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICBmbGV4LXNocmluazogMDsKICAgIG1hcmdpbi10b3A6IDJweDsKICB9CgogIC50ci1ndWlkZS1jYWxsb3V0IGRpdiA+IHN0cm9uZzpmaXJzdC1jaGlsZCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGNvbG9yOiB2YXIoLS10ci10ZXh0LXByaW1hcnkpOwogIH0KCiAgLnRyLWd1aWRlLWNhbGxvdXQgZGl2ID4gc3Ryb25nOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1wcmltYXJ5KTsKICB9CgogIC50ci1ndWlkZS1jYWxsb3V0LnRyLWd1aWRlLXRpcCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDAsIDIyOSwgMjExLCAwLjA4KSwgcmdiYSg4OSwgMjAxLCAyMjUsIDAuMDgpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjI5LCAyMTEsIDAuMik7CiAgfQoKICAudHItZ3VpZGUtY2FsbG91dC50ci1ndWlkZS10aXAgc3ZnIHsKICAgIGNvbG9yOiB2YXIoLS10ci1icmFuZC10ZWFsKTsKICB9CgogIC50ci1ndWlkZS1jYWxsb3V0LnRyLWd1aWRlLXdhcm5pbmcgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDE4MywgNzcsIDAuMSksIHJnYmEoMjU1LCAxNTIsIDAsIDAuMDgpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxNTIsIDAsIDAuMjUpOwogIH0KCiAgLnRyLWd1aWRlLWNhbGxvdXQudHItZ3VpZGUtd2FybmluZyBzdmcgewogICAgY29sb3I6ICNmNTllMGI7CiAgfQoKICAudHItZ3VpZGUtY2FsbG91dC50ci1ndWlkZS1ub3RlIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjQ2LCAxMTMsIDIzNCwgMC4wOCksIHJnYmEoMTY3LCAxMzksIDI1MCwgMC4wOCkpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDYsIDExMywgMjM0LCAwLjIpOwogIH0KCiAgLnRyLWd1aWRlLWNhbGxvdXQudHItZ3VpZGUtbm90ZSBzdmcgewogICAgY29sb3I6IHZhcigtLXRyLWJyYW5kLXBpbmspOwogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgVGFibGVzCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogIC50ci1ndWlkZS10YWJsZS13cmFwIHsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICBtYXJnaW46IDI0cHggMDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ci1ib3JkZXItbGlnaHQpOwogIH0KCiAgLnRyLWd1aWRlLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIG1pbi13aWR0aDogNTIwcHg7CiAgfQoKICAudHItZ3VpZGUtdGFibGUgdGggewogICAgYmFja2dyb3VuZDogdmFyKC0tdHItYmctbGlnaHQpOwogICAgcGFkZGluZzogMTRweCAxOHB4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1tdXRlZCk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRyLWJvcmRlci1saWdodCk7CiAgfQoKICAudHItZ3VpZGUtdGFibGUgdGQgewogICAgcGFkZGluZzogMTVweCAxOHB4OwogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRyLXRleHQtc2Vjb25kYXJ5KTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ci1ib3JkZXItbGlnaHQpOwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQoKICAudHItZ3VpZGUtdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogIH0KCiAgLnRyLWd1aWRlLXRhYmxlIHRib2R5IHRyIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KTsKICB9CgogIC50ci1ndWlkZS10YWJsZSB0Ym9keSB0cjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDIyOSwgMjExLCAwLjAzKTsKICB9CgogIC50ci1ndWlkZS10YWJsZSBzdHJvbmcgewogICAgY29sb3I6IHZhcigtLXRyLXRleHQtcHJpbWFyeSk7CiAgICBmb250LXdlaWdodDogNzAwOwogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgUmVsYXRlZCBHdWlkZSBDYXJkcwogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAudHItZ3VpZGUtcmVsYXRlZC1zdGFjayB7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogIH0KCiAgLnRyLWd1aWRlLXJlbGF0ZWQtc3RhY2sgLnRyLWd1aWRlLXJlbGF0ZWQ6Zmlyc3QtY2hpbGQgewogICAgbWFyZ2luLXRvcDogMDsKICB9CgogIC50ci1ndWlkZS1yZWxhdGVkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxNnB4OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tdHItYmctbGlnaHQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHItYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgY29sb3I6IGluaGVyaXQ7CiAgICB0cmFuc2l0aW9uOgogICAgICB0cmFuc2Zvcm0gdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgYm94LXNoYWRvdyB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpLAogICAgICBjb2xvciB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpOwogIH0KCiAgLnRyLWd1aWRlLXJlbGF0ZWQ6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDIyOSwgMjExLCAwLjM4KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMjI5LCAyMTEsIDAuMDM1KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOwogICAgYm94LXNoYWRvdzogMCA1cHggMTZweCByZ2JhKDAsIDQ1LCA3NiwgMC4wNSk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgfQoKICAudHItZ3VpZGUtcmVsYXRlZC1pY29uIHsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdHItYnJhbmQtYmx1ZSksIHZhcigtLXRyLWJyYW5kLXRlYWwpKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1zaHJpbms6IDA7CiAgfQoKICAudHItZ3VpZGUtcmVsYXRlZC1pY29uIHN2ZyB7CiAgICB3aWR0aDogMjBweDsKICAgIGhlaWdodDogMjBweDsKICAgIGNvbG9yOiB2YXIoLS10ci1icmFuZC1kYXJrKTsKICB9CgogIC50ci1ndWlkZS1yZWxhdGVkLXRleHQgewogICAgZmxleDogMTsKICB9CgogIC50ci1ndWlkZS1yZWxhdGVkLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1tdXRlZCk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogIH0KCiAgLnRyLWd1aWRlLXJlbGF0ZWQtdGl0bGUgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS10ci10ZXh0LXByaW1hcnkpOwogIH0KCiAgLnRyLWd1aWRlLXJlbGF0ZWQtYXJyb3cgewogICAgY29sb3I6IHZhcigtLXRyLXRleHQtbXV0ZWQpOwogICAgdHJhbnNpdGlvbjoKICAgICAgdHJhbnNmb3JtIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIGNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtcmVsYXRlZDpob3ZlciAudHItZ3VpZGUtcmVsYXRlZC1hcnJvdyB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICAgIGNvbG9yOiB2YXIoLS10ci1icmFuZC10ZWFsKTsKICB9CgogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIFNjcmVlbnNob3RzIGFuZCBWaWRlb3MKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiAgLnRyLWd1aWRlLXNjcmVlbnNob3QtYmxvY2sgewogICAgbWFyZ2luOiAyNHB4IDA7CiAgfQoKICAudHItZ3VpZGUtc2NyZWVuc2hvdCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyLWJvcmRlci1saWdodCk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ci1iZy1saWdodCk7CiAgICBjdXJzb3I6IHpvb20taW47CiAgICB0cmFuc2l0aW9uOgogICAgICB0cmFuc2Zvcm0gdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIGJveC1zaGFkb3cgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KTsKICB9CgogIC50ci1ndWlkZS1zY3JlZW5zaG90OmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAyMjksIDIxMSwgMC40Mik7CiAgICBib3gtc2hhZG93OiAwIDdweCAyMnB4IHJnYmEoMCwgMjI5LCAyMTEsIDAuMDkpOwogIH0KCiAgLnRyLWd1aWRlLXNjcmVlbnNob3QgaW1nLAogIC50ci1ndWlkZS1zY3JlZW5zaG90IHZpZGVvIHsKICAgIHdpZHRoOiAxMDAlOwogICAgZGlzcGxheTogYmxvY2s7CiAgfQoKICAudHItZ3VpZGUtc2NyZWVuc2hvdC1vdmVybGF5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCA0NSwgNzYsIDAuNikgMCUsIHRyYW5zcGFyZW50IDQwJSk7CiAgICBvcGFjaXR5OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtc2NyZWVuc2hvdDpob3ZlciAudHItZ3VpZGUtc2NyZWVuc2hvdC1vdmVybGF5IHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAudHItZ3VpZGUtem9vbS1oaW50IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgfQoKICAudHItZ3VpZGUtc2NyZWVuc2hvdC1jYXB0aW9uIHsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tdHItdGV4dC1tdXRlZCk7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBMaWdodGJveAogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAudHItZ3VpZGUtbGlnaHRib3ggewogICAgZGlzcGxheTogbm9uZTsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGluc2V0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg4KTsKICAgIHotaW5kZXg6IDk5OTk5OTk7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyNHB4OwogICAgY3Vyc29yOiB6b29tLW91dDsKICB9CgogIC50ci1ndWlkZS1saWdodGJveC50ci1ndWlkZS1hY3RpdmUgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC50ci1ndWlkZS1saWdodGJveC1jb250ZW50IHsKICAgIG1heC13aWR0aDogbWluKDEyMDBweCwgOTZ2dyk7CiAgICBtYXgtaGVpZ2h0OiA5MHZoOwogICAgY3Vyc29yOiB6b29tLW91dDsKICB9CgogIC50ci1ndWlkZS1saWdodGJveCBpbWcsCiAgLnRyLWd1aWRlLWxpZ2h0Ym94IHZpZGVvIHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG1heC1oZWlnaHQ6IDkwdmg7CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjYpOwogIH0KCiAgLnRyLWd1aWRlLWxpZ2h0Ym94IHZpZGVvIHsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBjdXJzb3I6IHpvb20tb3V0OwogIH0KCiAgLnRyLWd1aWRlLWxpZ2h0Ym94LWNsb3NlIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMTZweDsKICAgIHJpZ2h0OiAxNnB4OwogICAgd2lkdGg6IDM2cHg7CiAgICBoZWlnaHQ6IDM2cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIHRyYW5zaXRpb246CiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgdHJhbnNmb3JtIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCk7CiAgfQoKICAudHItZ3VpZGUtbGlnaHRib3gtY2xvc2U6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBGb290ZXIgKyBCdXR0b25zCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogIC50ci1ndWlkZS1mb290ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdHItYnJhbmQtZGFyaykgMCUsIHZhcigtLXRyLWJyYW5kLWRhcmtlcikgMTAwJSk7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KCiAgLnRyLWd1aWRlLWZvb3Rlcjo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtODBweDsKICAgIHJpZ2h0OiAtNTBweDsKICAgIHdpZHRoOiAyMjBweDsKICAgIGhlaWdodDogMjIwcHg7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDg5LCAyMDEsIDIyNSwgMC4xNikgMCUsIHRyYW5zcGFyZW50IDcwJSk7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB9CgogIC50ci1ndWlkZS1mb290ZXItdGl0bGUgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDI4cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luOiAwIDAgMTJweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC50ci1ndWlkZS1mb290ZXIgcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIG1hcmdpbjogMCBhdXRvIDI4cHg7CiAgICBtYXgtd2lkdGg6IDYyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC50ci1ndWlkZS1idXR0b25zIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDEycHg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC50ci1ndWlkZS1idG4gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDE0cHggMzJweDsKICAgIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgdHJhbnNpdGlvbjoKICAgICAgdHJhbnNmb3JtIHZhcigtLXRyLWhvdmVyLXNwZWVkLXNvZnQpIHZhcigtLXRyLWhvdmVyLWVhc2Utc29mdCksCiAgICAgIGJveC1zaGFkb3cgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgb3BhY2l0eSB2YXIoLS10ci1ob3Zlci1zcGVlZC1zb2Z0KSB2YXIoLS10ci1ob3Zlci1lYXNlLXNvZnQpLAogICAgICBmaWx0ZXIgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KSwKICAgICAgY29sb3IgdmFyKC0tdHItaG92ZXItc3BlZWQtc29mdCkgdmFyKC0tdHItaG92ZXItZWFzZS1zb2Z0KTsKICB9CgogIC50ci1ndWlkZS1idG46aG92ZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTQpOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIH0KCiAgLnRyLWd1aWRlLWJ0bi50ci1ndWlkZS1wcmltYXJ5IHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRyLWJyYW5kLXBpbmspLCB2YXIoLS10ci1icmFuZC1jb3JhbCkpOwogICAgY29sb3I6ICNmZmY7CiAgfQoKICAudHItZ3VpZGUtYnRuLnRyLWd1aWRlLXNlY29uZGFyeSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6IHZhcigtLXRyLWJyYW5kLWRhcmtlcik7CiAgfQoKICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBSZXNwb25zaXZlCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgLnRyLWd1aWRlLWxheW91dCB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgIC50ci1ndWlkZS1zaWRlYmFyIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAudHItZ3VpZGUtaGVhZGVyIHsKICAgICAgcGFkZGluZzogMzZweCAwIDQycHg7CiAgICB9CgogICAgLnRyLWd1aWRlLWNvbnRlbnQgewogICAgICBwYWRkaW5nOiAzNnB4IDAgNjRweDsKICAgIH0KICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgLnRyLWd1aWRlLWhlYWRlci1pbm5lciwKICAgIC50ci1ndWlkZS1sYXlvdXQgewogICAgICBwYWRkaW5nOiAwIDIwcHg7CiAgICB9CgogICAgLnRyLWd1aWRlLXNlY3Rpb24taGVhZGVyIHsKICAgICAgcGFkZGluZzogMjBweDsKICAgICAgZ2FwOiAxMnB4OwogICAgfQoKICAgIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgewogICAgICBwYWRkaW5nOiAyMHB4OwogICAgfQoKICAgIC50ci1ndWlkZS1mb290ZXIgewogICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7CiAgICB9CgogICAgLnRyLWd1aWRlLWJ0biB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KCiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgRmluYWwgc2NvcGVkIG92ZXJyaWRlcyBmb3IgQXZhZGEvZ2xvYmFsIHN0eWxlIHByb3RlY3Rpb24KICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlLAogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAqIHsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1yZWxhdGVkLAogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtYnRuLAogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2NyZWVuc2hvdCwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24sCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uLWhlYWRlciwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXRvYy1saW5rLAogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtdG9jLW51bWJlciwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQtYXJyb3csCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90LW92ZXJsYXksCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1saWdodGJveC1jbG9zZSB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA5MDBtcyAhaW1wb3J0YW50OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpICFpbXBvcnRhbnQ7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMgIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtcmVsYXRlZDpob3ZlciwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJ0bjpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBURUFDSElORyBSRVNPVVJDRVMgU09GVCBIT1ZFUiBPVkVSUklERQogICBNdXN0IHN0YXkgYXQgdGhlIHZlcnkgYm90dG9tIG9mIHRoZSBzdHlsZSBibG9jawogICBIZWxwcyBiZWF0IEF2YWRhL2dsb2JhbCBob3ZlciBvdmVycmlkZXMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UsCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAqIHsKICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgovKiBGb3JjZSBzbG93ZXIsIHNvZnRlciB0cmFuc2l0aW9ucyBhY3Jvc3MgaW50ZXJhY3RpdmUgZ3VpZGUgZWxlbWVudHMgKi8KaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1yZWxhdGVkLApodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJ0biwKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90LApodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24sCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2VjdGlvbi1oZWFkZXIsCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtdG9jLWxpbmssCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtdG9jLW51bWJlciwKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1yZWxhdGVkLWFycm93LApodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNjcmVlbnNob3Qtb3ZlcmxheSwKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1saWdodGJveC1jbG9zZSB7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOTAwbXMgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMgIWltcG9ydGFudDsKfQoKLyogUmVsYXRlZCBndWlkZSBjYXJkcyAqLwpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQgewogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93LCBjb2xvciAhaW1wb3J0YW50OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRyLWJnLWxpZ2h0KSAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQ6aG92ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDIyOSwgMjExLCAwLjM4KSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjI5LCAyMTEsIDAuMDM1KSAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IDAgNXB4IDE2cHggcmdiYSgwLCA0NSwgNzYsIDAuMDUpICFpbXBvcnRhbnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIFJlbGF0ZWQgZ3VpZGUgYXJyb3cgKi8KaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1yZWxhdGVkLWFycm93IHsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGNvbG9yICFpbXBvcnRhbnQ7Cn0KCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtcmVsYXRlZDpob3ZlciAudHItZ3VpZGUtcmVsYXRlZC1hcnJvdyB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgIWltcG9ydGFudDsKICBjb2xvcjogdmFyKC0tdHItYnJhbmQtdGVhbCkgIWltcG9ydGFudDsKfQoKLyogRm9vdGVyIGJ1dHRvbnMgKi8KaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1idG4gewogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYm94LXNoYWRvdywgb3BhY2l0eSwgZmlsdGVyLCBjb2xvciAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJ0bjpob3ZlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTQpICFpbXBvcnRhbnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cn0KCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtYnRuLnRyLWd1aWRlLXByaW1hcnksCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtYnRuLnRyLWd1aWRlLXByaW1hcnk6aG92ZXIgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRyLWJyYW5kLXBpbmspLCB2YXIoLS10ci1icmFuZC1jb3JhbCkpICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsKfQoKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1idG4udHItZ3VpZGUtc2Vjb25kYXJ5LApodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJ0bi50ci1ndWlkZS1zZWNvbmRhcnk6aG92ZXIgewogIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDsKICBjb2xvcjogdmFyKC0tdHItYnJhbmQtZGFya2VyKSAhaW1wb3J0YW50Owp9CgovKiBTY3JlZW5zaG90cyBhbmQgdmlkZW9zICovCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2NyZWVuc2hvdCB7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3cgIWltcG9ydGFudDsKfQoKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90OmhvdmVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCkgIWltcG9ydGFudDsKICBib3JkZXItY29sb3I6IHJnYmEoMCwgMjI5LCAyMTEsIDAuNDIpICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogMCA3cHggMjJweCByZ2JhKDAsIDIyOSwgMjExLCAwLjA5KSAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNjcmVlbnNob3Qtb3ZlcmxheSB7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSAhaW1wb3J0YW50Owp9CgovKiBBY2NvcmRpb24gc2VjdGlvbnMgKi8KaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uIHsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm0gIWltcG9ydGFudDsKfQoKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uOmhvdmVyIHsKICBib3gtc2hhZG93OiAwIDVweCAxNnB4IHJnYmEoMCwgNDUsIDc2LCAwLjA0NSkgIWltcG9ydGFudDsKfQoKaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uLWhlYWRlciB7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24taGVhZGVyOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZiICFpbXBvcnRhbnQ7Cn0KCi8qIFNpZGViYXIgKi8KaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS10b2MtbGluayB7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIGJvcmRlci1jb2xvciAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXRvYy1udW1iZXIgewogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgY29sb3IgIWltcG9ydGFudDsKfQoKLyogTGlnaHRib3ggY2xvc2UgYnV0dG9uICovCmh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtbGlnaHRib3gtY2xvc2UgewogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybSAhaW1wb3J0YW50Owp9CgpodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWxpZ2h0Ym94LWNsb3NlOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjgpICFpbXBvcnRhbnQ7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KSAhaW1wb3J0YW50Owp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBUZWFjaGluZyBSZXNvdXJjZXMgTW9iaWxlIFJlcGFpciArIEZpbmFsIENsZWFudXAgTGF5ZXIKICAgUGFzdGUgYXQgdGhlIFZFUlkgQk9UVE9NIG9mIHRoZSBzdHlsZSBibG9jay4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICBodG1sLAogIGJvZHkgewogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsKICB9CgogIC8qIFJlbW92ZSBBdmFkYS9Xb3JkUHJlc3Mgc2lkZSBndXR0ZXJzIGFyb3VuZCB0aGlzIGV4YWN0IGd1aWRlIGJsb2NrICovCiAgaHRtbCBib2R5IC5mdXNpb24tdGV4dDpoYXMoLnRyLWd1aWRlLXBhZ2UpLAogIGh0bWwgYm9keSAuZnVzaW9uLWNvbHVtbi13cmFwcGVyOmhhcygudHItZ3VpZGUtcGFnZSksCiAgaHRtbCBib2R5IC5mdXNpb24tbGF5b3V0LWNvbHVtbjpoYXMoLnRyLWd1aWRlLXBhZ2UpLAogIGh0bWwgYm9keSAuZnVzaW9uLWJ1aWxkZXItcm93OmhhcygudHItZ3VpZGUtcGFnZSksCiAgaHRtbCBib2R5IC5mdXNpb24tZnVsbHdpZHRoOmhhcygudHItZ3VpZGUtcGFnZSksCiAgaHRtbCBib2R5IC5mdXNpb24tYnVpbGRlci1jb250YWluZXI6aGFzKC50ci1ndWlkZS1wYWdlKSB7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7CiAgfQoKICAvKiBTdG9wIDEwMHZ3IGZyb20gY2F1c2luZyBtb2JpbGUgc2lkZS1zY3JvbGwgKi8KICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZiICFpbXBvcnRhbnQ7CiAgfQoKICAvKiBCbHVlIGhlcm8gZWRnZS10by1lZGdlLCBwYWRkaW5nIGluc2lkZSB0aGUgYmx1ZSAqLwogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtaGVhZGVyIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDM4cHggMCA0NnB4ICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDAyRDRDIDAlLCAjMDAxOTMwIDEwMCUpICFpbXBvcnRhbnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWhlYWRlci1pbm5lciB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgMjJweCAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1icmVhZGNydW1icyB7CiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDE4cHggIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtYmFkZ2VzIHsKICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxNHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJhZGdlIHsKICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogNnB4IDExcHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXRpdGxlIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgOC4ydncsIDIuNDVyZW0pICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4xICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwIDAgMTRweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1kZXNjcmlwdGlvbiB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjYyICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAyMnB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLW1ldGEgewogICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsKICAgIGdhcDogMTBweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1tZXRhLWl0ZW0gewogICAgZm9udC1zaXplOiAxMi41cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDsKICB9CgogIC8qIE1haW4gY29udGVudCAqLwogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtbGF5b3V0IHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAxNnB4ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zaWRlYmFyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtY29udGVudCB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAzMnB4IDAgNThweCAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDE4cHggIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2VjdGlvbi1oZWFkZXIgewogICAgcGFkZGluZzogMThweCAxNnB4ICFpbXBvcnRhbnQ7CiAgICBnYXA6IDEycHggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2VjdGlvbi1udW1iZXIgewogICAgd2lkdGg6IDM0cHggIWltcG9ydGFudDsKICAgIGhlaWdodDogMzRweCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24tdGl0bGUgewogICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4yOCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSB7CiAgICB3aWR0aDogMjhweCAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24tYm9keSB7CiAgICBwYWRkaW5nOiAxOHB4IDE2cHggMjBweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zZWN0aW9uLWJvZHkgcCwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNlY3Rpb24tYm9keSBsaSB7CiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXN1YmhlYWQgewogICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4zNSAhaW1wb3J0YW50OwogICAgbWFyZ2luLXRvcDogMjJweCAhaW1wb3J0YW50OwogIH0KCiAgLyogU2NyZWVuc2hvdHMvdmlkZW9zICovCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90LWJsb2NrIHsKICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNjcmVlbnNob3QgewogICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90IGltZywKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXNjcmVlbnNob3QgdmlkZW8gewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90LWNhcHRpb24gewogICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS40NSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCA0cHggIWltcG9ydGFudDsKICB9CgogIC8qIFRhYmxlcyAqLwogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtdGFibGUtd3JhcCB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBvdmVyZmxvdy14OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2ggIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtdGFibGUgewogICAgbWluLXdpZHRoOiA1MjBweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS10YWJsZSB0aCwKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXRhYmxlIHRkIHsKICAgIHBhZGRpbmc6IDEzcHggMTRweCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgfQoKICAvKiBDYWxsb3V0cyAqLwogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtY2FsbG91dCB7CiAgICBnYXA6IDEycHggIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTMuNXB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWNhbGxvdXQgPiBzdmcgewogICAgd2lkdGg6IDIxcHggIWltcG9ydGFudDsKICAgIGhlaWdodDogMjFweCAhaW1wb3J0YW50OwogICAgbWluLXdpZHRoOiAyMXB4ICFpbXBvcnRhbnQ7CiAgICBmbGV4OiAwIDAgMjFweCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKICB9CgogIC8qIFJlbGF0ZWQgZ3VpZGUgY2FyZHMgKi8KICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQtc3RhY2sgewogICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQgewogICAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50OwogICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQtaWNvbiB7CiAgICB3aWR0aDogNDJweCAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQtdGl0bGUgewogICAgZm9udC1zaXplOiAxMy41cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1ICFpbXBvcnRhbnQ7CiAgfQoKICAvKiBCb3R0b20gQ1RBICovCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1mb290ZXIgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMzBweCAyMnB4ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tdG9wOiAyNnB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWZvb3Rlci10aXRsZSB7CiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWZvb3RlciBwIHsKICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuNiAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1idXR0b25zIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OwogICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLWJ0biB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50OwogIH0KCiAgLyogTGlnaHRib3ggKi8KICBodG1sIGJvZHkgLnRyLWd1aWRlLWxpZ2h0Ym94IHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDE4cHggIWltcG9ydGFudDsKICB9CgogIGh0bWwgYm9keSAudHItZ3VpZGUtbGlnaHRib3ggaW1nLAogIGh0bWwgYm9keSAudHItZ3VpZGUtbGlnaHRib3ggdmlkZW8gewogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtaGVpZ2h0OiA4MnZoICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLWxpZ2h0Ym94LWNsb3NlIHsKICAgIHRvcDogMTRweCAhaW1wb3J0YW50OwogICAgcmlnaHQ6IDE0cHggIWltcG9ydGFudDsKICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkgewogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtaGVhZGVyLWlubmVyIHsKICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OwogIH0KCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1sYXlvdXQgewogICAgcGFkZGluZy1sZWZ0OiAxNHB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7CiAgfQoKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXRpdGxlIHsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMS45cmVtLCA4dncsIDIuMjVyZW0pICFpbXBvcnRhbnQ7CiAgfQp9CgovKiBQcmV2ZW50IHN0aWNreSBob3ZlciBlZmZlY3RzIG9uIHBob25lcyAqLwpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIGFuZCAoaG92ZXI6IG5vbmUpIHsKICBodG1sIGJvZHkgLnRyLWd1aWRlLXBhZ2UgLnRyLWd1aWRlLXJlbGF0ZWQ6aG92ZXIsCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1idG46aG92ZXIsCiAgaHRtbCBib2R5IC50ci1ndWlkZS1wYWdlIC50ci1ndWlkZS1zY3JlZW5zaG90OmhvdmVyLAogIGh0bWwgYm9keSAudHItZ3VpZGUtcGFnZSAudHItZ3VpZGUtc2VjdGlvbjpob3ZlciB7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KPC9zdHlsZT4KCjxkaXYgY2xhc3M9InRyLWd1aWRlLXBhZ2UiIGlkPSJ0ckd1aWRlUGFnZSI+CiAgPGRpdiBjbGFzcz0idHItZ3VpZGUtcHJvZ3Jlc3MiIGlkPSJ0ckd1aWRlUHJvZ3Jlc3MiPjwvZGl2PgoKICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1saWdodGJveCIgaWQ9InRyR3VpZGVMaWdodGJveCIgb25jbGljaz0idHJHdWlkZUNsb3NlTGlnaHRib3goKSI+CiAgICA8YnV0dG9uIGNsYXNzPSJ0ci1ndWlkZS1saWdodGJveC1jbG9zZSIgb25jbGljaz0idHJHdWlkZUNsb3NlTGlnaHRib3goKSIgYXJpYS1sYWJlbD0iQ2xvc2UgcHJldmlldyI+CiAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PC9zdmc+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLWxpZ2h0Ym94LWNvbnRlbnQiIGlkPSJ0ckd1aWRlTGlnaHRib3hDb250ZW50Ij48L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0idHItZ3VpZGUtaGVhZGVyIj4KICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLWhlYWRlci1pbm5lciI+CiAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLWJyZWFkY3J1bWJzIiBhcmlhLWxhYmVsPSJCcmVhZGNydW1iIj4KICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS8iPkhvbWU8L2E+CiAgICAgICAgPHNwYW4gY2xhc3M9InRyLWd1aWRlLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9sZWFybi1zdXBwb3J0LyI+TGVhcm4gJiBTdXBwb3J0PC9hPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0ci1ndWlkZS1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InRyLWd1aWRlLWN1cnJlbnQiPkFkZGluZyBUZWFjaGluZyBSZXNvdXJjZXM8L3NwYW4+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtYmFkZ2VzIj4KICAgICAgICA8c3BhbiBjbGFzcz0idHItZ3VpZGUtYmFkZ2UgdHItZ3VpZGUtY2F0ZWdvcnkiPkxlc3NvbiBCdWlsZGluZzwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idHItZ3VpZGUtYmFkZ2UgdHItZ3VpZGUtdHlwZSI+RnVsbCBHdWlkZTwvc3Bhbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS10aXRsZSIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+QWRkaW5nIFRlYWNoaW5nIFJlc291cmNlczwvZGl2PgogICAgICA8cCBjbGFzcz0idHItZ3VpZGUtZGVzY3JpcHRpb24iPkxlYXJuIGhvdyB0byBnZW5lcmF0ZSBtb3N0bHkgdGVhY2hlci1mYWNpbmcgc3VwcG9ydHMsIGluY2x1ZGluZyBMZXNzb24vVW5pdCBFbmhhbmNlbWVudHMgYW5kIEVMTCBTdXBwb3J0cywgYWZ0ZXIgeW91ciBjb3JlIGxlc3NvbiBwbGFuIGlzIG1vc3RseSBmaW5pc2hlZC48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1tZXRhIj4KICAgICAgICA8c3BhbiBjbGFzcz0idHItZ3VpZGUtbWV0YS1pdGVtIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwb2x5bGluZSBwb2ludHM9IjEyIDYgMTIgMTIgMTYgMTQiLz48L3N2Zz4KICAgICAgICAgIDYgbWluIHJlYWQKICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InRyLWd1aWRlLW1ldGEtaXRlbSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIvPjxwYXRoIGQ9Ik0zIDloMTgiLz48L3N2Zz4KICAgICAgICAgIDYgc2VjdGlvbnMKICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InRyLWd1aWRlLW1ldGEtaXRlbSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTEyIDIwaDkiLz48cGF0aCBkPSJNMTYuNSAzLjVhMi4xIDIuMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNCAxMi41LTEyLjV6Ii8+PC9zdmc+CiAgICAgICAgICBVcGRhdGVkIGZvciB0aGUgY3VycmVudCBlZGl0b3IKICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InRyLWd1aWRlLWxheW91dCI+CiAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zaWRlYmFyIj4KICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtdG9jIiBhcmlhLWxhYmVsPSJPbiB0aGlzIHBhZ2UiPgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXRvYy1oZWFkZXIiPk9uIHRoaXMgcGFnZTwvZGl2PgogICAgICAgIDx1bCBjbGFzcz0idHItZ3VpZGUtdG9jLWxpc3QiPgogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0ci1ndWlkZS10b2MtbGluayB0ci1ndWlkZS1hY3RpdmUiIGhyZWY9IiN3aGF0LWFyZS10ZWFjaGluZy1yZXNvdXJjZXMiPjxzcGFuIGNsYXNzPSJ0ci1ndWlkZS10b2MtbnVtYmVyIj4xPC9zcGFuPjxzcGFuPldoYXQgVGhleSBBcmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRyLWd1aWRlLXRvYy1saW5rIiBocmVmPSIjZmluYWxpemUtcGxhbiI+PHNwYW4gY2xhc3M9InRyLWd1aWRlLXRvYy1udW1iZXIiPjI8L3NwYW4+PHNwYW4+RmluYWxpemUgRmlyc3Q8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRyLWd1aWRlLXRvYy1saW5rIiBocmVmPSIjZ2VuZXJhdGUtcmVzb3VyY2UiPjxzcGFuIGNsYXNzPSJ0ci1ndWlkZS10b2MtbnVtYmVyIj4zPC9zcGFuPjxzcGFuPkdlbmVyYXRlIGEgUmVzb3VyY2U8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRyLWd1aWRlLXRvYy1saW5rIiBocmVmPSIjcmVzb3VyY2UtdHlwZXMiPjxzcGFuIGNsYXNzPSJ0ci1ndWlkZS10b2MtbnVtYmVyIj40PC9zcGFuPjxzcGFuPlJlc291cmNlIERldGFpbHM8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRyLWd1aWRlLXRvYy1saW5rIiBocmVmPSIjcmV2aWV3LWVkaXQiPjxzcGFuIGNsYXNzPSJ0ci1ndWlkZS10b2MtbnVtYmVyIj41PC9zcGFuPjxzcGFuPlJldmlldyAmIEVkaXQ8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRyLWd1aWRlLXRvYy1saW5rIiBocmVmPSIjcXVpY2stcmVmZXJlbmNlIj48c3BhbiBjbGFzcz0idHItZ3VpZGUtdG9jLW51bWJlciI+Njwvc3Bhbj48c3Bhbj5RdWljayBSZWZlcmVuY2U8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1jb250ZW50Ij4KCiAgICAgIDwhLS0gMSAtLT4KICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbiIgaWQ9IndoYXQtYXJlLXRlYWNoaW5nLXJlc291cmNlcyI+CiAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi1oZWFkZXIiIG9uY2xpY2s9InRyR3VpZGVUb2dnbGVTZWN0aW9uKHRoaXMuY2xvc2VzdCgnLnRyLWd1aWRlLXNlY3Rpb24nKSkiPgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi1udW1iZXIiPjE8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tdGl0bGUiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjIiPldoYXQgYXJlIFRlYWNoaW5nIFJlc291cmNlcz88L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tdG9nZ2xlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi1ib2R5Ij4KICAgICAgICAgIDxwPjxzdHJvbmc+VGVhY2hpbmcgUmVzb3VyY2VzPC9zdHJvbmc+IGFyZSBpbnN0cnVjdGlvbmFsIHN1cHBvcnRzIGNvbm5lY3RlZCB0byB5b3VyIGxlc3Nvbi4gVGhleSBhcmUgbW9zdGx5IHRlYWNoZXItZmFjaW5nIGFuZCBhcmUgZGVzaWduZWQgdG8gaGVscCB5b3Ugc3RyZW5ndGhlbiwgYWRhcHQsIG9yIGV4dGVuZCB0aGUgbGVzc29uIGFmdGVyIHRoZSBtYWluIHBsYW4gaXMgYnVpbHQuPC9wPgogICAgICAgICAgPHA+VXNlIFRlYWNoaW5nIFJlc291cmNlcyB3aGVuIHlvdSB3YW50IGV4dHJhIHN1cHBvcnQgYXJvdW5kIGluc3RydWN0aW9uLCBsYW5ndWFnZSBhY2Nlc3MsIGFkYXB0YXRpb25zLCBleHRlbnNpb25zLCBpbmNsdXNpb24sIG9yIGxlc3Nvbi91bml0IGVuaGFuY2VtZW50IGlkZWFzLjwvcD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zY3JlZW5zaG90LWJsb2NrIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2NyZWVuc2hvdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgZGF0YS1saWdodGJveC10eXBlPSJpbWFnZSIgZGF0YS1saWdodGJveC1zcmM9Imh0dHBzOi8vaGljYXJsLmFpL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1L3VpLXRlYWNoaW5ncmVzb3VyY2VzLXBhbmVsLW92ZXJ2aWV3X21hcmtlZC5wbmciIGRhdGEtbGlnaHRib3gtYWx0PSJDQVJMIFRlYWNoaW5nIFJlc291cmNlcyBvdmVydmlldyBpbiB0aGUgQ29tcG9uZW50cyBhbmQgUmVzb3VyY2VzIGFyZWEiPgogICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2hpY2FybC5haS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS91aS10ZWFjaGluZ3Jlc291cmNlcy1wYW5lbC1vdmVydmlld19tYXJrZWQucG5nIiBhbHQ9IkNBUkwgVGVhY2hpbmcgUmVzb3VyY2VzIG92ZXJ2aWV3IGluIHRoZSBDb21wb25lbnRzIGFuZCBSZXNvdXJjZXMgYXJlYSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2NyZWVuc2hvdC1vdmVybGF5Ij48c3BhbiBjbGFzcz0idHItZ3VpZGUtem9vbS1oaW50Ij5DbGljayB0byBlbmxhcmdlPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHAgY2xhc3M9InRyLWd1aWRlLXNjcmVlbnNob3QtY2FwdGlvbiI+VGVhY2hpbmcgUmVzb3VyY2VzIGxpdmUgaW4gdGhlIENvbXBvbmVudHMgJiBSZXNvdXJjZXMgYXJlYSBhbmQgZ2VuZXJhdGUgc3VwcG9ydHMgY29ubmVjdGVkIHRvIHlvdXIgbGVzc29uLjwvcD4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXRhYmxlLXdyYXAiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRyLWd1aWRlLXRhYmxlIj4KICAgICAgICAgICAgICA8dGhlYWQ+PHRyPjx0aD5Ub29sPC90aD48dGg+V2hhdCBpdCBpczwvdGg+PHRoPkJlc3QgZm9yPC90aD48L3RyPjwvdGhlYWQ+CiAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkNvbXBvbmVudHM8L3N0cm9uZz48L3RkPjx0ZD5TdHVkZW50LWZhY2luZyBtYXRlcmlhbHMgc3VjaCBhcyBhY3Rpdml0aWVzLCBhc3NpZ25tZW50cywgYXNzZXNzbWVudHMsIGhhbmRvdXRzLCB3b3Jrc2hlZXRzLCByZWZsZWN0aW9ucywgcXVpenplcywgYW5kIGV4aXQgdGlja2V0cy48L3RkPjx0ZD5BZGRpbmcgc29tZXRoaW5nIHN0dWRlbnRzIHdpbGwgcmVhZCwgY29tcGxldGUsIHByYWN0aXNlLCBkaXNjdXNzLCBvciBzdWJtaXQuPC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPlRlYWNoaW5nIFJlc291cmNlczwvc3Ryb25nPjwvdGQ+PHRkPk1vc3RseSB0ZWFjaGVyLWZhY2luZyBzdXBwb3J0cyBnZW5lcmF0ZWQgZnJvbSB5b3VyIGxlc3NvbiBjb250ZW50LjwvdGQ+PHRkPkFkZGluZyBsZXNzb24vdW5pdCBlbmhhbmNlbWVudHMsIEVMTCBzdXBwb3J0cywgYW5kIG90aGVyIGluc3RydWN0aW9uYWwgc3VwcG9ydHMuPC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkJsb2Nrczwvc3Ryb25nPjwvdGQ+PHRkPlNtYWxsIGNvbnRlbnQgcGllY2VzIGFkZGVkIGluc2lkZSBhbiBleGlzdGluZyBwYWdlLCBjb21wb25lbnQsIG9yIHRlbXBsYXRlLjwvdGQ+PHRkPkFkZGluZyBhIHNtYWxsZXIgZXh0cmEgcGllY2UsIHN1Y2ggYXMgYSBjaGFydCwgdGFibGUsIG9yZ2FuaXplciwgb3IgbXVsdGlwbGUtY2hvaWNlIGFyZWEuPC90ZD48L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1jYWxsb3V0IHRyLWd1aWRlLW5vdGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT4KICA8bGluZSB4MT0iMTIiIHkxPSIxMSIgeDI9IjEyIiB5Mj0iMTYiPjwvbGluZT4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjEuMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgo8L3N2Zz4KICAgICAgICAgICAgPGRpdj48c3Ryb25nPkdvb2QgdG8ga25vdzwvc3Ryb25nPiBFTEwgU3VwcG9ydHMgbWF5IGluY2x1ZGUgc3R1ZGVudC1mYWNpbmcgbGFuZ3VhZ2Ugc2NhZmZvbGRzLCBidXQgdGhleSBhcmUgc3RpbGwgZm91bmQgdW5kZXIgVGVhY2hpbmcgUmVzb3VyY2VzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGFzIGluc3RydWN0aW9uYWwgc3VwcG9ydHMgY29ubmVjdGVkIHRvIHlvdXIgbGVzc29uLjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGEgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQiIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL3F1aWNrLWhvdy10b3MvI2NvbXBvbmVudHMtdGVhY2hpbmctcmVzb3VyY2VzLWJsb2NrcyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PHJlY3QgeD0iMTUiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PHJlY3QgeD0iMyIgeT0iMTUiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PHBhdGggZD0iTTE0IDE2aDciLz48cGF0aCBkPSJNMTQgMjBoNSIvPjwvc3ZnPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLXRleHQiPjxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtbGFiZWwiPlF1aWNrIGhvdy10bzwvZGl2PjxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtdGl0bGUiPlRoZSBEaWZmZXJlbmNlIEJldHdlZW4gQ29tcG9uZW50cywgVGVhY2hpbmcgUmVzb3VyY2VzLCBhbmQgQmxvY2tzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxzdmcgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtYXJyb3ciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPjxwb2x5bGluZSBwb2ludHM9IjEyIDUgMTkgMTIgMTIgMTkiLz48L3N2Zz4KICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIDIgLS0+CiAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24iIGlkPSJmaW5hbGl6ZS1wbGFuIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLWhlYWRlciIgb25jbGljaz0idHJHdWlkZVRvZ2dsZVNlY3Rpb24odGhpcy5jbG9zZXN0KCcudHItZ3VpZGUtc2VjdGlvbicpKSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLW51bWJlciI+MjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi10aXRsZSIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+RmluYWxpemUgeW91ciBwbGFuIGZpcnN0PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tYm9keSI+CiAgICAgICAgICA8cD5UZWFjaGluZyBSZXNvdXJjZXMgd29yayBiZXN0IGFmdGVyIHlvdXIgY29yZSBsZXNzb24gb3IgdW5pdCBwbGFuIGlzIG1vc3RseSBmaW5pc2hlZC4gQ0FSTCB1c2VzIHlvdXIgbGVzc29uIGNvbnRlbnQgdG8gZ2VuZXJhdGUgc3VwcG9ydHMsIHNvIHRoZSBxdWFsaXR5IG9mIHRoZSByZXNvdXJjZSBkZXBlbmRzIG9uIHRoZSBhY2N1cmFjeSBvZiB0aGUgcGxhbi48L3A+CiAgICAgICAgICA8cD5CZWZvcmUgZ2VuZXJhdGluZyBhIFRlYWNoaW5nIFJlc291cmNlLCBjaGVjayB0aGF0IHlvdXIgdG9waWMsIGdyYWRlIGxldmVsLCBsZWFybmluZyBnb2Fscywgc3VjY2VzcyBjcml0ZXJpYSwgYWN0aXZpdGllcywgYW5kIGNsYXNzIGNvbnRleHQgYXJlIHJlYXNvbmFibHkgYWNjdXJhdGUuPC9wPgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXRhYmxlLXdyYXAiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRyLWd1aWRlLXRhYmxlIj4KICAgICAgICAgICAgICA8dGhlYWQ+PHRyPjx0aD5SZWNvbW1lbmRlZCBvcmRlcjwvdGg+PHRoPldoYXQgdG8gZG88L3RoPjwvdHI+PC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+MTwvc3Ryb25nPjwvdGQ+PHRkPkdlbmVyYXRlIHlvdXIgY29yZSBsZXNzb24gb3IgdW5pdCBwbGFuLjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz4yPC9zdHJvbmc+PC90ZD48dGQ+UmV2aWV3IGFuZCBlZGl0IHRoZSBsZXNzb24gdW50aWwgdGhlIG1haW4gcGxhbiBmZWVscyByaWdodC48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+Mzwvc3Ryb25nPjwvdGQ+PHRkPkFkZCBzdHVkZW50LWZhY2luZyBjb21wb25lbnRzIGlmIHN0dWRlbnRzIG5lZWQgd29ya3NoZWV0cywgaGFuZG91dHMsIHF1aXp6ZXMsIG9yIGFzc2Vzc21lbnRzLjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz40PC9zdHJvbmc+PC90ZD48dGQ+R2VuZXJhdGUgVGVhY2hpbmcgUmVzb3VyY2VzIHdoZW4geW91IHdhbnQgaW5zdHJ1Y3Rpb25hbCBzdXBwb3J0cywgRUxMIHN1cHBvcnRzLCBvciBsZXNzb24vdW5pdCBlbmhhbmNlbWVudHMuPC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPjU8L3N0cm9uZz48L3RkPjx0ZD5SZXZpZXcgYW5kIGVkaXQgdGhlIGdlbmVyYXRlZCByZXNvdXJjZSBiZWZvcmUgdXNpbmcgaXQgd2l0aCB5b3VyIGNsYXNzLjwvdGQ+PC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtY2FsbG91dCB0ci1ndWlkZS13YXJuaW5nIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgPHBhdGggZD0iTTEyIDQuNSAyMCAxOC4yYTEgMSAwIDAgMS0uODcgMS41SDQuODdBMSAxIDAgMCAxIDQgMTguMkwxMiA0LjV6Ij48L3BhdGg+CiAgPGxpbmUgeDE9IjEyIiB5MT0iOS4yIiB4Mj0iMTIiIHkyPSIxNCI+PC9saW5lPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTciIHI9IjEuMDUiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KPC9zdmc+CiAgICAgICAgICAgIDxkaXY+PHN0cm9uZz5XaHkgdGhpcyBtYXR0ZXJzPC9zdHJvbmc+IElmIHlvdSBnZW5lcmF0ZSBhIHJlc291cmNlIHRvbyBlYXJseSBhbmQgdGhlbiBtYWtlIG1ham9yIGxlc3NvbiBjaGFuZ2VzLCB0aGUgcmVzb3VyY2UgbWF5IG5vdCBtYXRjaCB0aGUgdXBkYXRlZCBsZXNzb24gYXMgd2VsbC48L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxhIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkIiBocmVmPSJodHRwczovL2hpY2FybC5haS9idWlsZC15b3VyLXBsYW4taW4tNS1zdGVwcy8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWljb24iPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNOSAxMWwzIDNMMjIgNCIvPjxwYXRoIGQ9Ik0yMSAxMnY3YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMSIvPjwvc3ZnPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLXRleHQiPjxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtbGFiZWwiPlJlbGF0ZWQgZ3VpZGU8L2Rpdj48ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLXRpdGxlIj5CdWlsZCBZb3VyIFBsYW4gaW4gNSBTdGVwczwvZGl2PjwvZGl2PgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWFycm93IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA1IDE5IDEyIDEyIDE5Ii8+PC9zdmc+CiAgICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSAzIC0tPgogICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uIiBpZD0iZ2VuZXJhdGUtcmVzb3VyY2UiPgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24taGVhZGVyIiBvbmNsaWNrPSJ0ckd1aWRlVG9nZ2xlU2VjdGlvbih0aGlzLmNsb3Nlc3QoJy50ci1ndWlkZS1zZWN0aW9uJykpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tbnVtYmVyIj4zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRpdGxlIiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5HZW5lcmF0ZSBhIFRlYWNoaW5nIFJlc291cmNlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tYm9keSI+CiAgICAgICAgICA8cD5Vc2UgPHN0cm9uZz5Ccm93c2UgVGVhY2hpbmcgUmVzb3VyY2VzPC9zdHJvbmc+IHdoZW4geW91IHdhbnQgQ0FSTCB0byBjcmVhdGUgYW4gaW5zdHJ1Y3Rpb25hbCBzdXBwb3J0IGNvbm5lY3RlZCB0byB0aGUgbGVzc29uIHlvdSBhcmUgZWRpdGluZy48L3A+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2NyZWVuc2hvdC1ibG9jayI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNjcmVlbnNob3QiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGRhdGEtbGlnaHRib3gtdHlwZT0idmlkZW8iIGRhdGEtbGlnaHRib3gtc3JjPSJodHRwczovL2hpY2FybC5haS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS90ZWFjaGluZy1yZXNvdXJjZXMtcDEtZ2VuZXJhdGUtcmVzb3VyY2UubXA0IiBkYXRhLWxpZ2h0Ym94LWFsdD0iU2NyZWVuIHJlY29yZGluZyBzaG93aW5nIGhvdyB0byBnZW5lcmF0ZSBhIFRlYWNoaW5nIFJlc291cmNlIGluIENBUkwiPgogICAgICAgICAgICAgIDx2aWRlbyBjb250cm9scyBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIHByZWxvYWQ9Im1ldGFkYXRhIiBhcmlhLWxhYmVsPSJTY3JlZW4gcmVjb3JkaW5nIHNob3dpbmcgaG93IHRvIGdlbmVyYXRlIGEgVGVhY2hpbmcgUmVzb3VyY2UgaW4gQ0FSTCI+CiAgICAgICAgICAgICAgICA8c291cmNlIHNyYz0iaHR0cHM6Ly9oaWNhcmwuYWkvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvdGVhY2hpbmctcmVzb3VyY2VzLXAxLWdlbmVyYXRlLXJlc291cmNlLm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNjcmVlbnNob3Qtb3ZlcmxheSI+PHNwYW4gY2xhc3M9InRyLWd1aWRlLXpvb20taGludCI+Q2xpY2sgdG8gZW5sYXJnZTwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ci1ndWlkZS1zY3JlZW5zaG90LWNhcHRpb24iPlRoZSBUZWFjaGluZyBSZXNvdXJjZXMgd29ya2Zsb3cgaXMgc2ltcGxlOiBjaG9vc2UgdGhlIHJlc291cmNlIHR5cGUsIGdlbmVyYXRlIGl0LCB0aGVuIHJldmlldyB0aGUgcmVzdWx0LjwvcD4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXN1YmhlYWQiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjMiPlN0ZXBzPC9kaXY+CiAgICAgICAgICA8b2w+CiAgICAgICAgICAgIDxsaT5PcGVuIHlvdXIgbGVzc29uIGluIHRoZSBlZGl0b3IuPC9saT4KICAgICAgICAgICAgPGxpPkdvIHRvIHRoZSA8c3Ryb25nPkNvbXBvbmVudHMgJiBSZXNvdXJjZXM8L3N0cm9uZz4gYXJlYS48L2xpPgogICAgICAgICAgICA8bGk+Q2xpY2sgPHN0cm9uZz5Ccm93c2UgVGVhY2hpbmcgUmVzb3VyY2VzPC9zdHJvbmc+LjwvbGk+CiAgICAgICAgICAgIDxsaT5DaG9vc2UgPHN0cm9uZz5MZXNzb24vVW5pdCBFbmhhbmNlbWVudHM8L3N0cm9uZz4gb3IgPHN0cm9uZz5FTEwgU3VwcG9ydHM8L3N0cm9uZz4uPC9saT4KICAgICAgICAgICAgPGxpPkNob29zZSBhbnkgcmVxdWlyZWQgb3B0aW9ucy4gRm9yIEVMTCBTdXBwb3J0cywgdGhpcyBpbmNsdWRlcyBsYW5ndWFnZSwgcHJvZmljaWVuY3kgbGV2ZWwsIGFuZCB0aGUgcmVzb3VyY2VzIHlvdSB3YW50IHRvIGdlbmVyYXRlLjwvbGk+CiAgICAgICAgICAgIDxsaT5DbGljayA8c3Ryb25nPkdlbmVyYXRlPC9zdHJvbmc+LjwvbGk+CiAgICAgICAgICAgIDxsaT5SZXZpZXcgdGhlIGdlbmVyYXRlZCByZXNvdXJjZSBiZWZvcmUgdXNpbmcgaXQuPC9saT4KICAgICAgICAgIDwvb2w+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtY2FsbG91dCB0ci1ndWlkZS10aXAiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8cGF0aCBkPSJNOSAxOGg2Ij48L3BhdGg+CiAgPHBhdGggZD0iTTEwIDIyaDQiPjwvcGF0aD4KICA8cGF0aCBkPSJNOC41IDE0LjVBNiA2IDAgMSAxIDE1LjUgMTQuNWMtLjkuNy0xLjUgMS43LTEuNSAyLjVoLTRjMC0uOC0uNi0xLjgtMS41LTIuNXoiPjwvcGF0aD4KPC9zdmc+CiAgICAgICAgICAgIDxkaXY+PHN0cm9uZz5SZXZpZXcgYmVmb3JlIHVzaW5nPC9zdHJvbmc+IENBUkwgY2FuIGRyYWZ0IGhlbHBmdWwgc3VwcG9ydHMsIGJ1dCB5b3Ugc2hvdWxkIHN0aWxsIGNoZWNrIHRoZSB3b3JkaW5nLCBzY2FmZm9sZHMsIGV4YW1wbGVzLCBhbmQgY2xhc3Nyb29tIGZpdCBiZWZvcmUgdXNpbmcgdGhlIHJlc291cmNlLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSA0IC0tPgogICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uIiBpZD0icmVzb3VyY2UtdHlwZXMiPgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24taGVhZGVyIiBvbmNsaWNrPSJ0ckd1aWRlVG9nZ2xlU2VjdGlvbih0aGlzLmNsb3Nlc3QoJy50ci1ndWlkZS1zZWN0aW9uJykpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tbnVtYmVyIj40PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRpdGxlIiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5XaGF0IGNhbiBUZWFjaGluZyBSZXNvdXJjZXMgZ2VuZXJhdGU/PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tYm9keSI+CiAgICAgICAgICA8cD5UZWFjaGluZyBSZXNvdXJjZXMgY3VycmVudGx5IGluY2x1ZGVzIHR3byBtYWluIHJlc291cmNlIGFyZWFzOiA8c3Ryb25nPkxlc3Nvbi9Vbml0IEVuaGFuY2VtZW50czwvc3Ryb25nPiBhbmQgPHN0cm9uZz5FTEwgU3VwcG9ydHM8L3N0cm9uZz4uIEJvdGggdXNlIHlvdXIgbGVzc29uIHBsYW4gYXMgY29udGV4dCwgYnV0IHRoZXkgZ2VuZXJhdGUgZGlmZmVyZW50IGtpbmRzIG9mIHN1cHBvcnQuPC9wPgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXN1YmhlYWQiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjMiPkxlc3Nvbi9Vbml0IEVuaGFuY2VtZW50czwvZGl2PgogICAgICAgICAgPHA+PHN0cm9uZz5MZXNzb24vVW5pdCBFbmhhbmNlbWVudHM8L3N0cm9uZz4gYXJlIHRlYWNoZXItZmFjaW5nIHN1cHBvcnQgb3B0aW9ucyB0aGF0IGhlbHAgeW91IHN0cmVuZ3RoZW4gYSBsZXNzb24gb3IgdW5pdCB0aHJvdWdoIGEgc3BlY2lmaWMgdGVhY2hpbmcgbGVucy4gVGhlc2UgYXJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IG1vcmUgd2F5cyB0byBhZGFwdCwgZXh0ZW5kLCByZWZpbmUsIG9yIGNoZWNrIHRoZSBsZXNzb24gYmVmb3JlIHVzaW5nIGl0IHdpdGggeW91ciBjbGFzcy48L3A+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtdGFibGUtd3JhcCI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idHItZ3VpZGUtdGFibGUiPgogICAgICAgICAgICAgIDx0aGVhZD48dHI+PHRoPkVuaGFuY2VtZW50PC90aD48dGg+V2hhdCBpdCBoZWxwcyB3aXRoPC90aD48L3RyPjwvdGhlYWQ+CiAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPlVETCAmIERpZmZlcmVudGlhdGlvbjwvc3Ryb25nPjwvdGQ+PHRkPk11bHRpcGxlIHdheXMgZm9yIHN0dWRlbnRzIHRvIGFjY2VzcyBjb250ZW50LCBwYXJ0aWNpcGF0ZSwgYW5kIGRlbW9uc3RyYXRlIGxlYXJuaW5nLjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5FcXVpdHkgJiBJbmNsdXNpb248L3N0cm9uZz48L3RkPjx0ZD5SZXByZXNlbnRhdGlvbiwgYWNjZXNzaWJpbGl0eSwgY3VsdHVyYWwgcmVzcG9uc2l2ZW5lc3MsIGJlbG9uZ2luZywgYW5kIGluY2x1c2l2ZSBwYXJ0aWNpcGF0aW9uLjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5TRUwgRm9jdXM8L3N0cm9uZz48L3RkPjx0ZD5SZWd1bGF0aW9uLCByZWZsZWN0aW9uLCBjbGFzc3Jvb20gY2xpbWF0ZSwgZW1vdGlvbmFsIHNhZmV0eSwgYW5kIHJlbGF0aW9uc2hpcC1idWlsZGluZyBvcHBvcnR1bml0aWVzLjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5TdHVkZW50IFZvaWNlIEFjdGlvbjwvc3Ryb25nPjwvdGQ+PHRkPlN0dWRlbnQgY2hvaWNlLCBpbnB1dCwgYWdlbmN5LCBjby1kZXNpZ24gb3Bwb3J0dW5pdGllcywgYW5kIHdheXMgZm9yIGxlYXJuZXJzIHRvIHNoYXBlIHRoZSBsZXNzb24gZXhwZXJpZW5jZS48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+VHJhdW1hLUluZm9ybWVkIFNhZmVndWFyZHM8L3N0cm9uZz48L3RkPjx0ZD5QcmVkaWN0YWJpbGl0eSwgcHJpdmFjeSwgZW1vdGlvbmFsIHNhZmV0eSwgb3B0LWluIHBhcnRpY2lwYXRpb24sIGFuZCBsb3ctcHJlc3N1cmUgd2F5cyB0byBlbmdhZ2UuPC90ZD48L3RyPgogICAgICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+SW5kaWdlbm91cyBWb2ljZSBJbmNsdXNpb248L3N0cm9uZz48L3RkPjx0ZD5TdWdnZXN0cyB2ZXJpZmllZCBJbmRpZ2Vub3VzIGF1dGhvcnMgYW5kIHJlc291cmNlcywgd2l0aCBwcm9tcHRzIGZvciBsb2NhbCBjb250ZXh0LCByZXNwZWN0ZnVsIGluY2x1c2lvbiwgYW5kIHNvdXJjZSBhd2FyZW5lc3MuPC90ZD48L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1jYWxsb3V0IHRyLWd1aWRlLXRpcCI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8cGF0aCBkPSJNOSAxOGg2Ij48L3BhdGg+CiAgPHBhdGggZD0iTTEwIDIyaDQiPjwvcGF0aD4KICA8cGF0aCBkPSJNOC41IDE0LjVBNiA2IDAgMSAxIDE1LjUgMTQuNWMtLjkuNy0xLjUgMS43LTEuNSAyLjVoLTRjMC0uOC0uNi0xLjgtMS41LTIuNXoiPjwvcGF0aD4KPC9zdmc+CiAgICAgICAgICAgIDxkaXY+PHN0cm9uZz5Ib3cgdG8gdXNlIHRoZW08L3N0cm9uZz4gQ2hvb3NlIHRoZSBlbmhhbmNlbWVudCBsZW5zIHRoYXQgbWF0Y2hlcyB3aGF0IHlvdSB3YW50IHRvIHN0cmVuZ3RoZW4sIGdlbmVyYXRlIHRoZSBzdXBwb3J0LCB0aGVuIHJldmlldyBhbmQgYWRhcHQgdGhlIHN1Z2dlc3Rpb25zIGZvciB5b3VyIGNsYXNzLjwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc3ViaGVhZCIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyI+RUxMIFN1cHBvcnRzPC9kaXY+CiAgICAgICAgICA8cD48c3Ryb25nPkVMTCBTdXBwb3J0czwvc3Ryb25nPiBoZWxwIHlvdSBnZW5lcmF0ZSBsYW5ndWFnZS1hY2Nlc3MgcmVzb3VyY2VzIGZvciBFbmdsaXNoIGxhbmd1YWdlIGxlYXJuZXJzLiBZb3UgY2hvb3NlIHRoZSBsYW5ndWFnZSwgcHJvZmljaWVuY3kgbGV2ZWwsIGFuZCB0aGUgc3BlY2lmaWMgcmVzb3VyY2VzIHlvdSB3YW50IENBUkwgdG8gZ2VuZXJhdGUuPC9wPgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXN1YmhlYWQiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjQiPkVMTCBTdXBwb3J0cyB3b3JrZmxvdzwvZGl2PgogICAgICAgICAgPG9sPgogICAgICAgICAgICA8bGk+Q2hvb3NlIDxzdHJvbmc+RUxMIFN1cHBvcnRzPC9zdHJvbmc+LjwvbGk+CiAgICAgICAgICAgIDxsaT5TZWxlY3QgdGhlIGxhbmd1YWdlLjwvbGk+CiAgICAgICAgICAgIDxsaT5TZWxlY3QgdGhlIHByb2ZpY2llbmN5IGxldmVsLjwvbGk+CiAgICAgICAgICAgIDxsaT5TZWxlY3QgdGhlIHJlc291cmNlcyB5b3Ugd2FudCB0byBnZW5lcmF0ZS48L2xpPgogICAgICAgICAgICA8bGk+Q2xpY2sgPHN0cm9uZz5HZW5lcmF0ZTwvc3Ryb25nPi48L2xpPgogICAgICAgICAgICA8bGk+UmV2aWV3IGFuZCBhZGFwdCB0aGUgcmVzb3VyY2VzIGJlZm9yZSB1c2luZyB0aGVtLjwvbGk+CiAgICAgICAgICA8L29sPgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXRhYmxlLXdyYXAiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRyLWd1aWRlLXRhYmxlIj4KICAgICAgICAgICAgICA8dGhlYWQ+PHRyPjx0aD5SZXNvdXJjZTwvdGg+PHRoPldoYXQgaXQgY3JlYXRlczwvdGg+PHRoPkZvcm1hdDwvdGg+PC90cj48L3RoZWFkPgogICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5FTEwgVHJhbnNsYXRlZCBHbG9zc2FyeTwvc3Ryb25nPjwvdGQ+PHRkPktleSB2b2NhYnVsYXJ5IHdpdGggZGVmaW5pdGlvbnMsIHZpc3VhbHMsIGFuZCB0cmFuc2xhdGlvbnMuIFN0dWRlbnQtZmFjaW5nIHJlZmVyZW5jZSBjYXJkLjwvdGQ+PHRkPlByaW50LXJlYWR5LCBkaWdpdGFsPC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPlByZS1UZWFjaGluZyBDYXJkczwvc3Ryb25nPjwvdGQ+PHRkPkJpbGluZ3VhbCBmbGFzaGNhcmQtc3R5bGUgY29uY2VwdCBjYXJkcyB3aXRoIHZpc3VhbCBzY2FmZm9sZHMgYW5kIHNlbnRlbmNlIHN0YXJ0ZXJzLCBmb3IgdXNlIGJlZm9yZSB0aGUgbGVzc29uLjwvdGQ+PHRkPlByaW50LXJlYWR5PC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkZhY2lsaXRhdG9yIEd1aWRlPC9zdHJvbmc+PC90ZD48dGQ+VGVhY2hlci1mYWNpbmcgZ3VpZGUgd2l0aCBFTEwtc3BlY2lmaWMgaW5zdHJ1Y3Rpb25hbCBtb3Zlcywgc3VnZ2VzdGVkIHNjYWZmb2xkcywgYW5kIHRpbWluZyBub3RlcyBmb3IgdGhlIGxlc3Nvbi48L3RkPjx0ZD5QcmludC1yZWFkeTwvdGQ+PC90cj4KICAgICAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5GYW1pbHkgVm9jYWJ1bGFyeSBDb25uZWN0aW9uPC9zdHJvbmc+PC90ZD48dGQ+VGFrZS1ob21lIHZvY2FidWxhcnkgc2hlZXQgdHJhbnNsYXRlZCBmb3IgZmFtaWxpZXMsIHdpdGggY29udmVyc2F0aW9uIHN0YXJ0ZXJzLCB0aXBzLCBhbmQgYSB3b3JkLWRldGVjdGl2ZSBhY3Rpdml0eS48L3RkPjx0ZD5UYWtlLWhvbWU8L3RkPjwvdHI+CiAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLWNhbGxvdXQgdHItZ3VpZGUtbm90ZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT4KICA8bGluZSB4MT0iMTIiIHkxPSIxMSIgeDI9IjEyIiB5Mj0iMTYiPjwvbGluZT4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjEuMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgo8L3N2Zz4KICAgICAgICAgICAgPGRpdj48c3Ryb25nPkdvb2QgdG8ga25vdzwvc3Ryb25nPiBFTEwgU3VwcG9ydHMgbWF5IGluY2x1ZGUgc3R1ZGVudC1mYWNpbmcgcmVzb3VyY2VzLCBidXQgdGhleSBhcmUgc3RpbGwgZ2VuZXJhdGVkIHRocm91Z2ggVGVhY2hpbmcgUmVzb3VyY2VzIGJlY2F1c2UgdGhleSBzdXBwb3J0IHRoZSB0ZWFjaGVy4oCZcyBpbnN0cnVjdGlvbmFsIHBsYW5uaW5nIGZvciBsYW5ndWFnZSBhY2Nlc3MuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIDUgLS0+CiAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24iIGlkPSJyZXZpZXctZWRpdCI+CiAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi1oZWFkZXIiIG9uY2xpY2s9InRyR3VpZGVUb2dnbGVTZWN0aW9uKHRoaXMuY2xvc2VzdCgnLnRyLWd1aWRlLXNlY3Rpb24nKSkiPgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi1udW1iZXIiPjU8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tdGl0bGUiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjIiPlJldmlldyBhbmQgZWRpdCB0aGUgZ2VuZXJhdGVkIHJlc291cmNlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tYm9keSI+CiAgICAgICAgICA8cD5BZnRlciBDQVJMIGdlbmVyYXRlcyBhIFRlYWNoaW5nIFJlc291cmNlLCByZXZpZXcgaXQgdGhlIHNhbWUgd2F5IHlvdSB3b3VsZCByZXZpZXcgYW55IEFJLWFzc2lzdGVkIGNsYXNzcm9vbSBtYXRlcmlhbC4gQ2hlY2sgdGhhdCBpdCBmaXRzIHlvdXIgc3R1ZGVudHMsIGN1cnJpY3VsdW0gZ29hbHMsIHRpbWluZywgbGFuZ3VhZ2UgbmVlZHMsIGFuZCBjbGFzc3Jvb20gY29udGV4dC48L3A+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc3ViaGVhZCIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyI+QmVmb3JlIHVzaW5nIGEgZ2VuZXJhdGVkIHJlc291cmNlPC9kaXY+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT5jaGVjayB0aGF0IHRoZSBzdWdnZXN0aW9ucyBtYXRjaCB5b3VyIGFjdHVhbCBsZXNzb24sPC9saT4KICAgICAgICAgICAgPGxpPmFkanVzdCBleGFtcGxlcywgdm9jYWJ1bGFyeSwgb3IgaW5zdHJ1Y3Rpb25zIGZvciB5b3VyIGxlYXJuZXJzLDwvbGk+CiAgICAgICAgICAgIDxsaT5yZW1vdmUgYW55dGhpbmcgdGhhdCBmZWVscyB0b28gYWR2YW5jZWQsIHRvbyBnZW5lcmljLCBvciBub3QgY2xhc3Nyb29tLXJlYWR5LDwvbGk+CiAgICAgICAgICAgIDxsaT5tYWtlIHN1cmUgRUxMIHN1cHBvcnRzIGFyZSByZXNwZWN0ZnVsLCBjbGVhciwgYW5kIHVzZWZ1bCw8L2xpPgogICAgICAgICAgICA8bGk+c2F2ZSB5b3VyIGNoYW5nZXMgYmVmb3JlIHB1Ymxpc2hpbmcgb3IgZG93bmxvYWRpbmcuPC9saT4KICAgICAgICAgIDwvdWw+CgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtY2FsbG91dCB0ci1ndWlkZS13YXJuaW5nIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgPHBhdGggZD0iTTEyIDQuNSAyMCAxOC4yYTEgMSAwIDAgMS0uODcgMS41SDQuODdBMSAxIDAgMCAxIDQgMTguMkwxMiA0LjV6Ij48L3BhdGg+CiAgPGxpbmUgeDE9IjEyIiB5MT0iOS4yIiB4Mj0iMTIiIHkyPSIxNCI+PC9saW5lPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTciIHI9IjEuMDUiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KPC9zdmc+CiAgICAgICAgICAgIDxkaXY+PHN0cm9uZz5Nb250aGx5IGdlbmVyYXRpb24gbGltaXRzPC9zdHJvbmc+IFRlYWNoaW5nIFJlc291cmNlcyB1c2UgQUkgZ2VuZXJhdGlvbi4gRnJlZSB1c2VycyBtYXkgaGF2ZSBhIGxpbWl0ZWQgbnVtYmVyIG9mIEFJLWdlbmVyYXRlZCBDb21wb25lbnRzIGFuZCBUZWFjaGluZyBSZXNvdXJjZXMgZWFjaCBtb250aC48L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxhIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkIiBocmVmPSJodHRwczovL2hpY2FybC5haS91c2luZy1jYXJsLWFzc2lzdC8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWljb24iPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMjEgMTVhMiAyIDAgMCAxLTIgMkg4bC01IDRWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ6Ii8+PHBhdGggZD0iTTggOWg4Ii8+PHBhdGggZD0iTTggMTNoNSIvPjwvc3ZnPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLXRleHQiPjxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtbGFiZWwiPlJlbGF0ZWQgZ3VpZGU8L2Rpdj48ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLXRpdGxlIj5Vc2luZyBDQVJMLUFzc2lzdDwvZGl2PjwvZGl2PgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWFycm93IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA1IDE5IDEyIDEyIDE5Ii8+PC9zdmc+CiAgICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSA2IC0tPgogICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uIiBpZD0icXVpY2stcmVmZXJlbmNlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLWhlYWRlciIgb25jbGljaz0idHJHdWlkZVRvZ2dsZVNlY3Rpb24odGhpcy5jbG9zZXN0KCcudHItZ3VpZGUtc2VjdGlvbicpKSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLW51bWJlciI+NjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtc2VjdGlvbi10aXRsZSIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+UXVpY2sgUmVmZXJlbmNlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS1zZWN0aW9uLXRvZ2dsZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXNlY3Rpb24tYm9keSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ci1ndWlkZS10YWJsZS13cmFwIj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0ci1ndWlkZS10YWJsZSI+CiAgICAgICAgICAgICAgPHRoZWFkPjx0cj48dGg+SWYgeW91IHdhbnQgdG8uLi48L3RoPjx0aD5Vc2U8L3RoPjwvdHI+PC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+PHRkPlN0cmVuZ3RoZW4gYSBsZXNzb24gdGhyb3VnaCBVREwsIGluY2x1c2lvbiwgU0VMLCBzdHVkZW50IHZvaWNlLCB0cmF1bWEtaW5mb3JtZWQsIG9yIEluZGlnZW5vdXMgVm9pY2UgSW5jbHVzaW9uIGxlbnNlczwvdGQ+PHRkPjxzdHJvbmc+TGVzc29uL1VuaXQgRW5oYW5jZW1lbnRzPC9zdHJvbmc+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD5DcmVhdGUgbGFuZ3VhZ2UtYWNjZXNzIHJlc291cmNlcyBzdWNoIGFzIHRyYW5zbGF0ZWQgZ2xvc3NhcmllcywgcHJlLXRlYWNoaW5nIGNhcmRzLCBFTEwgZmFjaWxpdGF0b3IgZ3VpZGFuY2UsIG9yIGZhbWlseSB2b2NhYnVsYXJ5IHNoZWV0czwvdGQ+PHRkPjxzdHJvbmc+RUxMIFN1cHBvcnRzPC9zdHJvbmc+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD5BZGQgYSBzdHVkZW50LWZhY2luZyB3b3Jrc2hlZXQsIGhhbmRvdXQsIGFzc2lnbm1lbnQsIGFjdGl2aXR5LCBhc3Nlc3NtZW50LCBxdWl6LCByZWZsZWN0aW9uLCBvciBleGl0IHRpY2tldDwvdGQ+PHRkPjxzdHJvbmc+QnJvd3NlIENvbXBvbmVudHM8L3N0cm9uZz48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICA8dHI+PHRkPkFkZCBhIHNtYWxsZXIgZXh0cmEgcGllY2UgaW5zaWRlIGFuIGV4aXN0aW5nIHRlbXBsYXRlPC90ZD48dGQ+PHN0cm9uZz5CbG9ja3M8L3N0cm9uZz48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICA8dHI+PHRkPkdldCB0aGUgYmVzdCBUZWFjaGluZyBSZXNvdXJjZSByZXN1bHQ8L3RkPjx0ZD48c3Ryb25nPkZpbmFsaXplIHlvdXIgbGVzc29uIGZpcnN0PC9zdHJvbmc+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgPHRyPjx0ZD5JbXByb3ZlIHRoZSBnZW5lcmF0ZWQgcmVzb3VyY2U8L3RkPjx0ZD48c3Ryb25nPlJldmlldyBhbmQgZWRpdCBiZWZvcmUgdXNpbmc8L3N0cm9uZz48L3RkPjwvdHI+CiAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtc3RhY2siPgogICAgICAgICAgICA8YSBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZCIgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvYWRkaW5nLWNvbXBvbmVudHMtZmFjaWxpdGF0b3ItZ3VpZGVzLyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC1pY29uIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiIvPjxwYXRoIGQ9Ik03IDhoMTAiLz48cGF0aCBkPSJNNyAxMmg2Ii8+PHBhdGggZD0iTTggMjJoOCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PC9zdmc+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC10ZXh0Ij48ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWxhYmVsIj5SZWxhdGVkIGd1aWRlPC9kaXY+PGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC10aXRsZSI+QWRkaW5nIENvbXBvbmVudHM8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWFycm93IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA1IDE5IDEyIDEyIDE5Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIDxhIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkIiBocmVmPSJodHRwczovL2hpY2FybC5haS9hZGRpbmctYmxvY2tzLXRvLXlvdXItcGxhbi8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PHJlY3QgeD0iMTUiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PHJlY3QgeD0iMyIgeT0iMTUiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PGxpbmUgeDE9IjE4IiB5MT0iMTQiIHgyPSIxOCIgeTI9IjIyIi8+PGxpbmUgeDE9IjE0IiB5MT0iMTgiIHgyPSIyMiIgeTI9IjE4Ii8+PC9zdmc+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC10ZXh0Ij48ZGl2IGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWxhYmVsIj5SZWxhdGVkIGd1aWRlPC9kaXY+PGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC10aXRsZSI+SG93IHRvIFVzZSBCbG9ja3M8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWFycm93IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA1IDE5IDEyIDEyIDE5Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIDxhIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkIiBocmVmPSJodHRwczovL2hpY2FybC5haS9xdWljay1ob3ctdG9zLyNjb21wb25lbnRzLXRlYWNoaW5nLXJlc291cmNlcy1ibG9ja3MiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjAiLz48cGF0aCBkPSJNNCA0LjVBMi41IDIuNSAwIDAgMSA2LjUgMkgyMHYyMEg2LjVBMi41IDIuNSAwIDAgMSA0IDE5LjV6Ii8+PHBhdGggZD0iTTggN2g4Ii8+PHBhdGggZD0iTTggMTFoNyIvPjwvc3ZnPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLXJlbGF0ZWQtdGV4dCI+PGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC1sYWJlbCI+UXVpY2sgaG93LXRvPC9kaXY+PGRpdiBjbGFzcz0idHItZ3VpZGUtcmVsYXRlZC10aXRsZSI+VGhlIERpZmZlcmVuY2UgQmV0d2VlbiBDb21wb25lbnRzLCBUZWFjaGluZyBSZXNvdXJjZXMsIGFuZCBCbG9ja3M8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ0ci1ndWlkZS1yZWxhdGVkLWFycm93IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA1IDE5IDEyIDEyIDE5Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRyLWd1aWRlLWZvb3RlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtZm9vdGVyLXRpdGxlIiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5SZWFkeSB0byBhZGQgaW5zdHJ1Y3Rpb25hbCBzdXBwb3J0cz88L2Rpdj4KICAgICAgICA8cD5TdGFydCB3aXRoIGEgc29saWQgbGVzc29uIHBsYW4sIHRoZW4gZ2VuZXJhdGUgVGVhY2hpbmcgUmVzb3VyY2VzIHdoZW4geW91IHdhbnQgZXh0cmEgc3VwcG9ydHMsIGFkYXB0YXRpb25zLCBFTEwgc2NhZmZvbGRzLCBvciBsZXNzb24vdW5pdCBlbmhhbmNlbWVudCBpZGVhcy48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idHItZ3VpZGUtYnV0dG9ucyI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9sZWFybi1zdXBwb3J0LyIgY2xhc3M9InRyLWd1aWRlLWJ0biB0ci1ndWlkZS1wcmltYXJ5Ij5CYWNrIHRvIExlYXJuICYgU3VwcG9ydDwvYT4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL3N1cHBvcnQvIiBjbGFzcz0idHItZ3VpZGUtYnRuIHRyLWd1aWRlLXNlY29uZGFyeSI+Q29udGFjdCBTdXBwb3J0PC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgogIGZ1bmN0aW9uIHRyR3VpZGVUb2dnbGVTZWN0aW9uKHNlY3Rpb24pIHsKICAgIGlmICghc2VjdGlvbikgcmV0dXJuOwogICAgc2VjdGlvbi5jbGFzc0xpc3QudG9nZ2xlKCd0ci1ndWlkZS1jb2xsYXBzZWQnKTsKICB9CgogIGZ1bmN0aW9uIHRyR3VpZGVPcGVuTGlnaHRib3godHlwZSwgc3JjLCBhbHQpIHsKICAgIHZhciBsYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ckd1aWRlTGlnaHRib3gnKTsKICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyR3VpZGVMaWdodGJveENvbnRlbnQnKTsKICAgIGlmICghbGIgfHwgIWNvbnRlbnQgfHwgIXNyYykgcmV0dXJuOwoKICAgIGlmIChsYi5wYXJlbnROb2RlICE9PSBkb2N1bWVudC5ib2R5KSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxiKTsKICAgIGNvbnRlbnQuaW5uZXJIVE1MID0gJyc7CgogICAgaWYgKHR5cGUgPT09ICd2aWRlbycpIHsKICAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdjb250cm9scycsICcnKTsKICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdhdXRvcGxheScsICcnKTsKICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdtdXRlZCcsICcnKTsKICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdsb29wJywgJycpOwogICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3BsYXlzaW5saW5lJywgJycpOwogICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3ByZWxvYWQnLCAnbWV0YWRhdGEnKTsKICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgYWx0IHx8ICdWaWRlbyBwcmV2aWV3Jyk7CiAgICAgIHZhciBzb3VyY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzb3VyY2UnKTsKICAgICAgc291cmNlLnNyYyA9IHNyYzsKICAgICAgc291cmNlLnR5cGUgPSAndmlkZW8vbXA0JzsKICAgICAgdmlkZW8uYXBwZW5kQ2hpbGQoc291cmNlKTsKICAgICAgY29udGVudC5hcHBlbmRDaGlsZCh2aWRlbyk7CiAgICB9IGVsc2UgewogICAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CiAgICAgIGltZy5zcmMgPSBzcmM7CiAgICAgIGltZy5hbHQgPSBhbHQgfHwgJyc7CiAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQoaW1nKTsKICAgIH0KCiAgICBsYi5jbGFzc0xpc3QuYWRkKCd0ci1ndWlkZS1hY3RpdmUnKTsKICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJzsKICB9CgogIGZ1bmN0aW9uIHRyR3VpZGVDbG9zZUxpZ2h0Ym94KCkgewogICAgdmFyIGxiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyR3VpZGVMaWdodGJveCcpOwogICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJHdWlkZUxpZ2h0Ym94Q29udGVudCcpOwogICAgaWYgKCFsYikgcmV0dXJuOwogICAgbGIuY2xhc3NMaXN0LnJlbW92ZSgndHItZ3VpZGUtYWN0aXZlJyk7CiAgICBpZiAoY29udGVudCkgY29udGVudC5pbm5lckhUTUwgPSAnJzsKICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsKICB9CgogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB0ckd1aWRlQ2xvc2VMaWdodGJveCgpOwogIH0pOwoKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudHItZ3VpZGUtc2NyZWVuc2hvdFtkYXRhLWxpZ2h0Ym94LXNyY10nKS5mb3JFYWNoKGZ1bmN0aW9uKHRyaWdnZXIpIHsKICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgdHJHdWlkZU9wZW5MaWdodGJveCh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1saWdodGJveC10eXBlJyksIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWxpZ2h0Ym94LXNyYycpLCB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1saWdodGJveC1hbHQnKSk7CiAgICB9KTsKICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdHJHdWlkZU9wZW5MaWdodGJveCh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1saWdodGJveC10eXBlJyksIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWxpZ2h0Ym94LXNyYycpLCB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1saWdodGJveC1hbHQnKSk7CiAgICAgIH0KICAgIH0pOwogIH0pOwoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24gKCkgewogICAgdmFyIHByb2dyZXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyR3VpZGVQcm9ncmVzcycpOwogICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuOwogICAgdmFyIHNjcm9sbFRvcCA9IHdpbmRvdy5zY3JvbGxZIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7CiAgICB2YXIgZG9jSGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCAtIHdpbmRvdy5pbm5lckhlaWdodDsKICAgIHZhciBwY3QgPSBkb2NIZWlnaHQgPiAwID8gKHNjcm9sbFRvcCAvIGRvY0hlaWdodCkgKiAxMDAgOiAwOwogICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBwY3QgKyAnJSc7CgogICAgdmFyIHNlY3Rpb25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRyLWd1aWRlLXNlY3Rpb25baWRdJyk7CiAgICB2YXIgdG9jTGlua3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudHItZ3VpZGUtdG9jLWxpbmsnKTsKICAgIHZhciBjdXJyZW50SWQgPSAnJzsKICAgIHNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24oc2VjdGlvbikgewogICAgICB2YXIgcmVjdCA9IHNlY3Rpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgIGlmIChyZWN0LnRvcCA8PSAxNjAgJiYgcmVjdC5ib3R0b20gPiAxNjApIGN1cnJlbnRJZCA9IHNlY3Rpb24uaWQ7CiAgICB9KTsKICAgIGlmIChjdXJyZW50SWQpIHsKICAgICAgdG9jTGlua3MuZm9yRWFjaChmdW5jdGlvbihsaW5rKSB7CiAgICAgICAgbGluay5jbGFzc0xpc3QudG9nZ2xlKCd0ci1ndWlkZS1hY3RpdmUnLCBsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpID09PSAnIycgKyBjdXJyZW50SWQpOwogICAgICB9KTsKICAgIH0KICB9KTsKCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRyLWd1aWRlLXRvYy1saW5rJykuZm9yRWFjaChmdW5jdGlvbihsaW5rKSB7CiAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmdldEF0dHJpYnV0ZSgnaHJlZicpKTsKICAgICAgaWYgKHRhcmdldCkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pOwogICAgICB9CiAgICB9KTsKICB9KTsKPC9zY3JpcHQ+[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]