diff --git a/src/main.jai b/src/main.jai index bca3cd7..5ad2834 100644 --- a/src/main.jai +++ b/src/main.jai @@ -258,7 +258,7 @@ frame :: () { add_frame_profiling_point("After UI draw"); #if !FLAG_RELEASE_BUILD { - prepare_text(debug_font, tprint("frametime: % ms", latest_frametime * 1000)); + prepare_text(debug_font, tprint("frametime: % ms", delta_time * 1000)); draw_prepared_text(debug_font, 10, 10, .{0.0, 1.0, 0.0, 1.0}); draw_editor(); } @@ -276,7 +276,6 @@ frame :: () { #if OS != .WASM { profiler_update(); } reset_temporary_storage(); frame_end_time := get_time(); - latest_frametime = frame_end_time - frame_start_time; input_per_frame_event_and_flag_update(); } diff --git a/src/platform_specific/common.jai b/src/platform_specific/common.jai index e2059e8..5760c86 100644 --- a/src/platform_specific/common.jai +++ b/src/platform_specific/common.jai @@ -1,13 +1,13 @@ -#import,dir "../../modules/sokol-jai/sokol/app"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/gfx"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/gl"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/glue"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/shape"(DEBUG = !FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/app"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/gfx"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/gl"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/glue"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/shape"(DEBUG = FLAG_RELEASE_BUILD); #import,dir "../../modules/sokol-jai/sokol/fontstash"; -#import,dir "../../modules/sokol-jai/sokol/log"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/time"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/fetch"(DEBUG = !FLAG_RELEASE_BUILD); -#import,dir "../../modules/sokol-jai/sokol/audio"(DEBUG = !FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/log"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/time"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/fetch"(DEBUG = FLAG_RELEASE_BUILD); +#import,dir "../../modules/sokol-jai/sokol/audio"(DEBUG = FLAG_RELEASE_BUILD); #load "../main.jai"; diff --git a/src/rendering/backend_sokol.jai b/src/rendering/backend_sokol.jai index 9eb9153..4a3484c 100644 --- a/src/rendering/backend_sokol.jai +++ b/src/rendering/backend_sokol.jai @@ -239,7 +239,7 @@ backend_draw_trile_positions_main :: (trile : string, amount : s32, worldConf: * fs_params.screen_w = w; fs_params.screen_h = h; lc := *current_lighting_config; - fs_params.rdm_enabled = lc.rdm_enabled; + fs_params.rdm_enabled = ifx in_reflection_pass then 0 else lc.rdm_enabled; fs_params.ambient_intensity = lc.ambient_intensity; fs_params.emissive_scale = lc.emissive_scale; fs_params.rdm_diff_scale = lc.rdm_diff_scale; @@ -464,7 +464,7 @@ backend_process_command_buckets :: () { end_frame_profiling_group("G-Buffer pass"); start_frame_profiling_group("SSAO pass"); - sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_postprocess_attach_a })); + sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_ssao_attachments })); sg_apply_pipeline(gPipelines.ssao.pipeline); gPipelines.ssao.bind.images[0] = g_gbuf_position; gPipelines.ssao.bind.images[1] = g_gbuf_normal; @@ -480,19 +480,6 @@ backend_process_command_buckets :: () { sg_end_pass(); end_frame_profiling_group("SSAO pass"); - start_frame_profiling_group("SSAO blur pass"); - sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_ssao_attachments })); - sg_apply_pipeline(gPipelines.op.pipeline); - op_uniform : Op_Fs_Params; - op_uniform.blur_size = current_post_process.ssao_size; - op_uniform.op = 0; - gPipelines.op.bind.images[0] = g_postprocess_a; - sg_apply_uniforms(UB_op_fs_params, *(sg_range.{ ptr = *op_uniform, size = size_of(type_of(op_uniform)) })); - sg_apply_bindings(*gPipelines.op.bind); - sg_draw(0, 6, 1); - sg_end_pass(); - end_frame_profiling_group("SSAO blur pass"); - // 5. Main pass start_frame_profiling_group("Main pass"); sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_rendertex_attachments})); @@ -506,8 +493,8 @@ backend_process_command_buckets :: () { start_frame_profiling_group("Postprocess pass"); if !bypass_postprocess { bloom_process(); - dof_process(); } + end_frame_profiling_group("Postprocess pass"); start_frame_profiling_group("Final pass"); @@ -516,8 +503,9 @@ backend_process_command_buckets :: () { // Draw the render texture and do post processing: sg_apply_pipeline(gPipelines.postprocess.pipeline); - gPipelines.postprocess.bind.images[0] = ifx bypass_postprocess then g_rendertex else g_postprocess_a; + gPipelines.postprocess.bind.images[0] = g_rendertex; gPipelines.postprocess.bind.images[1] = LUT_list[g_current_lut_texture_index].image; + gPipelines.postprocess.bind.images[2] = g_bloom_tex; sg_apply_bindings(*gPipelines.postprocess.bind); post_process_config_uniform : Post_Process_Config; if bypass_postprocess { diff --git a/src/rendering/backend_sokol_helpers.jai b/src/rendering/backend_sokol_helpers.jai index afe6e0e..4a4856c 100644 --- a/src/rendering/backend_sokol_helpers.jai +++ b/src/rendering/backend_sokol_helpers.jai @@ -1,28 +1,12 @@ bloom_process :: () { - sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_postprocess_attach_a })); - sg_apply_pipeline(gPipelines.op.pipeline); - op_uniform_bloom : Op_Fs_Params; - op_uniform_bloom.blur_size = current_post_process.bloom_size; - op_uniform_bloom.separation = current_post_process.bloom_separation; - op_uniform_bloom.bloom_treshold = current_post_process.bloom_treshold; - op_uniform_bloom.bloom_amount = current_post_process.bloom_amount; - op_uniform_bloom.op=3; - gPipelines.op.bind.images[0] = g_rendertex; - sg_apply_uniforms(UB_op_fs_params, *(sg_range.{ ptr = *op_uniform_bloom, size = size_of(type_of(op_uniform_bloom)) })); - sg_apply_bindings(*gPipelines.op.bind); - sg_draw(0, 6, 1); - sg_end_pass(); - - sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_postprocess_attach_b })); - sg_apply_pipeline(gPipelines.mix.pipeline); - mix_uniform : Mix_Fs_Params; - mix_uniform.op = 1; - gPipelines.mix.bind.images[0] = g_postprocess_a; - gPipelines.mix.bind.images[1] = g_rendertex; - gPipelines.mix.bind.images[2] = g_gbuf_position; - sg_apply_uniforms(UB_op_fs_params, *(sg_range.{ ptr = *mix_uniform, size = size_of(type_of(mix_uniform)) })); - sg_apply_bindings(*gPipelines.mix.bind); - sg_draw(0, 6, 1); + sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = g_bloom_attach })); + sg_apply_pipeline(gPipelines.bloom.pipeline); + params : Bloom_Params; + params.bloom_treshold = current_post_process.bloom_treshold; + gPipelines.bloom.bind.images[IMG_bloom_src] = g_rendertex; + sg_apply_uniforms(UB_bloom_params, *(sg_range.{ ptr = *params, size = size_of(type_of(params)) })); + sg_apply_bindings(*gPipelines.bloom.bind); + sg_draw(0, 6, 1); sg_end_pass(); } diff --git a/src/rendering/helpers.jai b/src/rendering/helpers.jai index a5a2948..dd1728d 100644 --- a/src/rendering/helpers.jai +++ b/src/rendering/helpers.jai @@ -172,7 +172,7 @@ get_low_res :: (width: s32, height: s32, max_dimension: s32 = 720) -> (s32, s32) get_render_size :: () -> (s32, s32) { w,h := get_window_size(); // w, h = get_low_res(w,h, 480); - return w, h; + return w * 2, h * 2; } flip_y_if_plat :: inline (v: Vector2) -> Vector2 { diff --git a/src/rendering/pipelines.jai b/src/rendering/pipelines.jai index eed2380..de45fbe 100644 --- a/src/rendering/pipelines.jai +++ b/src/rendering/pipelines.jai @@ -36,6 +36,9 @@ g_postprocess_a_depth : sg_image; g_postprocess_b_depth : sg_image; g_postprocess_attach_a : sg_attachments; g_postprocess_attach_b : sg_attachments; + +g_bloom_tex : sg_image; +g_bloom_attach : sg_attachments; gPipelines : struct { @@ -66,8 +69,10 @@ gPipelines : struct { postprocess : Pipeline_Binding; op : Pipeline_Binding; - + mix : Pipeline_Binding; + + bloom : Pipeline_Binding; billboard : Pipeline_Binding; @@ -154,6 +159,7 @@ create_pipelines :: () { create_ssao_pipeline(); create_op_pipeline(); create_mix_pipeline(); + create_bloom_pipeline(); create_billboard_pipeline(); create_gbuffer_billboard_pipeline(); create_particle_pipeline(); @@ -531,14 +537,14 @@ create_plane_pipeline_reflection_images :: () { w, h := get_render_size(); img_desc := sg_image_desc.{ - width = w/2, - height = h/2, - pixel_format = .RGBA32F, + width = w/3, + height = h/3, + pixel_format = .RGBA8, render_target = true, }; depth_desc := sg_image_desc.{ - width = w/2, - height = h/2, + width = w/3, + height = h/3, pixel_format = .DEPTH, render_target = true, }; @@ -740,6 +746,13 @@ create_postprocess_pipeline :: () { mag_filter = .LINEAR, })); + gPipelines.postprocess.bind.samplers[2] = sg_make_sampler(*(sg_sampler_desc.{ + wrap_u = .CLAMP_TO_EDGE, + wrap_v = .CLAMP_TO_EDGE, + min_filter = .LINEAR, + mag_filter = .LINEAR, + })); + } // Takes in a texture, manipulates it and outputs it. @@ -979,6 +992,52 @@ create_mix_pipeline :: () { } +create_bloom_pipeline :: () { + platconf := get_plat_conf(); + pipeline: sg_pipeline_desc; + shader_desc := bloom_shader_desc(sg_query_backend()); + pipeline.shader = sg_make_shader(*shader_desc); + + pipeline.layout.attrs[ATTR_bloom_position] = .{ format = .FLOAT2 }; + pipeline.layout.attrs[ATTR_bloom_uv] = .{ format = .FLOAT2 }; + pipeline.index_type = .UINT16; + + pipeline.color_count = 1; + pipeline.colors[0] = .{ pixel_format = .RGBA32F }; + + gPipelines.bloom.pipeline = sg_make_pipeline(*pipeline); + + quad_vertices : [16]float = .[ + -1.0, 1.0, 0.0, flip_if_plat(1.0), + -1.0, -1.0, 0.0, flip_if_plat(0.0), + 1.0, -1.0, 1.0, flip_if_plat(0.0), + 1.0, 1.0, 1.0, flip_if_plat(1.0), + ]; + quad_indices : [6]u16 = .[ + 0, 1, 2, 0, 2, 3 + ]; + + vbuffer := sg_buffer_desc.{ size = size_of(float) * 16, data = .{ + ptr = quad_vertices.data, + size = 16 * 4 + }}; + ibuffer := sg_buffer_desc.{ size = size_of(u16) * 6, data = .{ + ptr = quad_indices.data, + size = 6 * 2 + }, + type = .INDEXBUFFER, + }; + + gPipelines.bloom.bind.vertex_buffers[0] = sg_make_buffer(*vbuffer); + gPipelines.bloom.bind.index_buffer = sg_make_buffer(*ibuffer); + gPipelines.bloom.bind.samplers[0] = sg_make_sampler(*(sg_sampler_desc.{ + wrap_u = .CLAMP_TO_EDGE, + wrap_v = .CLAMP_TO_EDGE, + min_filter = .NEAREST, + mag_filter = .NEAREST, + })); +} + create_ssao_images :: () { if g_ssaobuf.id != INVALID_ID then sg_destroy_image(g_ssaobuf); if g_ssaobuf_depth.id != INVALID_ID then sg_destroy_image(g_ssaobuf_depth); @@ -991,7 +1050,7 @@ create_ssao_images :: () { width = w/2, height = h/2, render_target = true, - pixel_format = .RGBA32F + pixel_format = .RGBA8 }; img_desc.sample_count = 1; g_ssaobuf = sg_make_image(*img_desc); @@ -1029,6 +1088,21 @@ create_ssao_images :: () { g_postprocess_attach_a = sg_make_attachments(*attachmentsDescA); sg_destroy_attachments(g_postprocess_attach_b); g_postprocess_attach_b = sg_make_attachments(*attachmentsDescB); + + if g_bloom_tex.id != INVALID_ID then sg_destroy_image(g_bloom_tex); + bloom_img_desc := sg_image_desc.{ + width = w/8, + height = h/8, + pixel_format = .RGBA32F, + render_target = true, + sample_count = 1, + }; + g_bloom_tex = sg_make_image(*bloom_img_desc); + bloom_attach_desc := sg_attachments_desc.{ + colors[0].image = g_bloom_tex, + }; + sg_destroy_attachments(g_bloom_attach); + g_bloom_attach = sg_make_attachments(*bloom_attach_desc); } create_ssao_pipeline :: () { diff --git a/src/rendering/post_processing.jai b/src/rendering/post_processing.jai index 60ae301..e9559d4 100644 --- a/src/rendering/post_processing.jai +++ b/src/rendering/post_processing.jai @@ -14,8 +14,6 @@ Post_Process :: struct { dof_min : float = 1.0; @Slider,0,10,1; dof_max : float = 3.0; @Slider,0,50,1; dof_point : float = 5.0; @Slider,0,30,1; - bloom_size : s32 = 5; @Slider,0,10,1; - bloom_separation : float = 3.0; @Slider,0,10,1; bloom_treshold : float = 0.4; @Slider,0,1,0.1; bloom_amount : float = 0.0; @Slider,0,5,0.1; diff --git a/src/rendering/tasks.jai b/src/rendering/tasks.jai index b427360..5a024d0 100644 --- a/src/rendering/tasks.jai +++ b/src/rendering/tasks.jai @@ -183,6 +183,7 @@ tasks_to_commands :: () { memcpy(drawCmd.uv_rects.data, particleTask.uv_rects.data, particleTask.count * size_of(Vector4)); memcpy(drawCmd.colors.data, particleTask.colors.data, particleTask.count * size_of(Vector4)); array_add(*render_command_buckets.main, drawCmd); + array_add(*render_command_buckets.reflection, drawCmd); case .SET_CAMERA; task := (cast(*Rendering_Task_Set_Camera)it); command := New(Render_Command_Set_Camera,, temp); diff --git a/src/shaders/jai/shader_bloom.jai b/src/shaders/jai/shader_bloom.jai new file mode 100644 index 0000000..b6e2d3e --- /dev/null +++ b/src/shaders/jai/shader_bloom.jai @@ -0,0 +1,423 @@ +/* + #version:1# (machine generated, don't edit!) + + Generated by sokol-shdc (https://github.com/floooh/sokol-tools) + + Cmdline: + sokol-shdc -i shader_bloom.glsl -o ./jai/shader_bloom.jai -l glsl430:glsl300es:metal_macos -f sokol_jai + + Overview: + ========= + Shader program: 'bloom': + Get shader desc: bloom_shader_desc(sg_query_backend()) + Vertex Shader: vs_bloom + Fragment Shader: fs_bloom + Attributes: + ATTR_bloom_position => 0 + ATTR_bloom_uv => 1 + Bindings: + Uniform block 'bloom_params': + Jai struct: Bloom_Params + Bind slot: UB_bloom_params => 0 + Image 'bloom_src': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_bloom_src => 0 + Sampler 'bloom_src_smp': + Type: .FILTERING + Bind slot: SMP_bloom_src_smp => 0 +*/ +ATTR_bloom_position :: 0; +ATTR_bloom_uv :: 1; +UB_bloom_params :: 0; +IMG_bloom_src :: 0; +SMP_bloom_src_smp :: 0; +Bloom_Params :: struct { + bloom_treshold: float; + _: [12]u8; +}; +/* + #version 430 + + layout(location = 0) in vec2 position; + layout(location = 0) out vec2 texcoord; + layout(location = 1) in vec2 uv; + + void main() + { + gl_Position = vec4(position, 0.5, 1.0); + texcoord = uv; + } + +*/ +vs_bloom_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x30,0x2e, + 0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x74,0x65,0x78, + 0x63,0x6f,0x6f,0x72,0x64,0x20,0x3d,0x20,0x75,0x76,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + +]; +/* + #version 430 + + uniform vec4 bloom_params[1]; + layout(binding = 16) uniform sampler2D bloom_src_bloom_src_smp; + + layout(location = 0) in vec2 texcoord; + layout(location = 0) out vec4 frag_color; + + void main() + { + vec4 _24 = texture(bloom_src_bloom_src_smp, texcoord); + vec4 color = _24; + if (max(_24.x, max(_24.y, _24.z)) < bloom_params[0].x) + { + color = vec4(0.0, 0.0, 0.0, 1.0); + } + frag_color = vec4(color.xyz, 1.0); + } + +*/ +fs_bloom_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x36,0x29, + 0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f, + 0x72,0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x20,0x3d,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x74,0x65,0x78, + 0x63,0x6f,0x6f,0x72,0x64,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34, + 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x32,0x34,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x6d,0x61,0x78,0x28,0x5f,0x32,0x34,0x2e,0x78,0x2c, + 0x20,0x6d,0x61,0x78,0x28,0x5f,0x32,0x34,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x34,0x2e, + 0x7a,0x29,0x29,0x20,0x3c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x79,0x7a,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + + layout(location = 0) in vec2 position; + out vec2 texcoord; + layout(location = 1) in vec2 uv; + + void main() + { + gl_Position = vec4(position, 0.5, 1.0); + texcoord = uv; + } + +*/ +vs_bloom_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x32, + 0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20, + 0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x3b,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x67, + 0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x76,0x65,0x63, + 0x34,0x28,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x30,0x2e,0x35,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x74,0x65,0x78,0x63,0x6f, + 0x6f,0x72,0x64,0x20,0x3d,0x20,0x75,0x76,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp vec4 bloom_params[1]; + uniform highp sampler2D bloom_src_bloom_src_smp; + + in highp vec2 texcoord; + layout(location = 0) out highp vec4 frag_color; + + void main() + { + highp vec4 _24 = texture(bloom_src_bloom_src_smp, texcoord); + highp vec4 color = _24; + if (max(_24.x, max(_24.y, _24.z)) < bloom_params[0].x) + { + color = vec4(0.0, 0.0, 0.0, 1.0); + } + frag_color = vec4(color.xyz, 1.0); + } + +*/ +fs_bloom_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31, + 0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x72,0x63,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73, + 0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30, + 0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f, + 0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x20,0x3d, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x72,0x63,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x3d,0x20,0x5f,0x32,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x6d,0x61,0x78,0x28,0x5f,0x32,0x34,0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28, + 0x5f,0x32,0x34,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x34,0x2e,0x7a,0x29,0x29,0x20,0x3c, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d, + 0x2e,0x78,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #include + #include + + using namespace metal; + + struct main0_out + { + float2 texcoord [[user(locn0)]]; + float4 gl_Position [[position]]; + }; + + struct main0_in + { + float2 position [[attribute(0)]]; + float2 uv [[attribute(1)]]; + }; + + vertex main0_out main0(main0_in in [[stage_in]]) + { + main0_out out = {}; + out.gl_Position = float4(in.position, 0.5, 1.0); + out.texcoord = in.uv; + return out; + } + +*/ +vs_bloom_source_metal_macos := u8.[ + 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, + 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, + 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, + 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, + 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20,0x5b, + 0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b, + 0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x30,0x29,0x5d,0x5d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x75,0x76,0x20,0x5b, + 0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x31,0x29,0x5d,0x5d,0x3b, + 0x0a,0x7d,0x3b,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f, + 0x69,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x69,0x6e,0x2e, + 0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x74,0x65,0x78, + 0x63,0x6f,0x6f,0x72,0x64,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x75,0x76,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x00, +]; +/* + #include + #include + + using namespace metal; + + struct bloom_params + { + float bloom_treshold; + }; + + struct main0_out + { + float4 frag_color [[color(0)]]; + }; + + struct main0_in + { + float2 texcoord [[user(locn0)]]; + }; + + fragment main0_out main0(main0_in in [[stage_in]], constant bloom_params& _42 [[buffer(0)]], texture2d bloom_src [[texture(0)]], sampler bloom_src_smp [[sampler(0)]]) + { + main0_out out = {}; + float4 _24 = bloom_src.sample(bloom_src_smp, in.texcoord); + float4 color = _24; + if (fast::max(_24.x, fast::max(_24.y, _24.z)) < _42.bloom_treshold) + { + color = float4(0.0, 0.0, 0.0, 1.0); + } + out.frag_color = float4(color.xyz, 1.0); + return out; + } + +*/ +fs_bloom_source_metal_macos := u8.[ + 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, + 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, + 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, + 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, + 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x72, + 0x65,0x73,0x68,0x6f,0x6c,0x64,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75, + 0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d, + 0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x75, + 0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b, + 0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69, + 0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x34,0x32,0x20, + 0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73,0x6d,0x70,0x20, + 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20, + 0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x34,0x20,0x3d,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x72,0x63,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x72,0x63,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x6e,0x2e,0x74,0x65, + 0x78,0x63,0x6f,0x6f,0x72,0x64,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x32,0x34,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d, + 0x61,0x78,0x28,0x5f,0x32,0x34,0x2e,0x78,0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, + 0x6d,0x61,0x78,0x28,0x5f,0x32,0x34,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x34,0x2e,0x7a, + 0x29,0x29,0x20,0x3c,0x20,0x5f,0x34,0x32,0x2e,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74, + 0x72,0x65,0x73,0x68,0x6f,0x6c,0x64,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x63,0x6f,0x6c, + 0x6f,0x72,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x00, +]; +bloom_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "bloom_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_bloom_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_bloom_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "uv"; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 16; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "bloom_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "bloom_src_bloom_src_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_bloom_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_bloom_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "uv"; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 16; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "bloom_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "bloom_src_bloom_src_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_bloom_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_bloom_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 16; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + } + return desc; +} diff --git a/src/shaders/jai/shader_post_process_main.jai b/src/shaders/jai/shader_post_process_main.jai index 33392c8..a0d3338 100644 --- a/src/shaders/jai/shader_post_process_main.jai +++ b/src/shaders/jai/shader_post_process_main.jai @@ -24,6 +24,11 @@ Sample type: .FLOAT Multisampled: false Bind slot: IMG_pptex => 0 + Image 'bloom_tex': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_bloom_tex => 2 Image 'lut': Image type: ._2D Sample type: .FLOAT @@ -32,6 +37,9 @@ Sampler 'ppsmp': Type: .FILTERING Bind slot: SMP_ppsmp => 0 + Sampler 'bloom_smp': + Type: .FILTERING + Bind slot: SMP_bloom_smp => 2 Sampler 'lut_linear': Type: .FILTERING Bind slot: SMP_lut_linear => 1 @@ -40,8 +48,10 @@ ATTR_postprocess_position :: 0; ATTR_postprocess_uv :: 1; UB_post_process_config :: 0; IMG_pptex :: 0; +IMG_bloom_tex :: 2; IMG_lut :: 1; SMP_ppsmp :: 0; +SMP_bloom_smp :: 2; SMP_lut_linear :: 1; Post_Process_Config :: struct { exposure: float; @@ -58,7 +68,8 @@ Post_Process_Config :: struct { barrel_distortion_intensity: float; lut_mode: s32; dither_intensity: float; - _: [8]u8; + bloom_amount: float; + _: [4]u8; }; /* #version 430 @@ -111,13 +122,15 @@ vs_pp_source_glsl430 := u8.[ float barrel_distortion_intensity; int lut_mode; float dither_intensity; + float bloom_amount; }; uniform post_process_config _174; layout(binding = 16) uniform sampler2D pptex_ppsmp; - layout(binding = 17) uniform sampler2D lut_ppsmp; - layout(binding = 18) uniform sampler2D lut_lut_linear; + layout(binding = 17) uniform sampler2D bloom_tex_bloom_smp; + layout(binding = 18) uniform sampler2D lut_ppsmp; + layout(binding = 19) uniform sampler2D lut_lut_linear; layout(location = 0) in vec2 texcoord; layout(location = 0) out vec4 frag_color; @@ -184,19 +197,20 @@ vs_pp_source_glsl430 := u8.[ vec4 _238 = texture(pptex_ppsmp, _184 + _236); vec4 _245 = texture(pptex_ppsmp, _184); vec4 _256 = texture(pptex_ppsmp, _184 - _236); - vec3 _269 = vec4(_238.x, _245.y, _256.z, 1.0).xyz * _174.exposure; + vec4 _272 = texture(bloom_tex_bloom_smp, _184); + vec3 _283 = (vec4(_238.x, _245.y, _256.z, 1.0).xyz + (_272.xyz * _174.bloom_amount)) * _174.exposure; vec3 color_ldr_linear; if (_174.tonemap > 0.5) { - vec3 param = _269; + vec3 param = _283; color_ldr_linear = aces(param); } else { - color_ldr_linear = _269; + color_ldr_linear = _283; } - vec3 _289 = ((color_ldr_linear - vec3(0.5)) * max(_174.contrast, 0.0)) + vec3(0.5); - color_ldr_linear = clamp(mix(vec3(dot(_289, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _289, vec3(_174.saturation)), vec3(0.0), vec3(1.0)); + vec3 _303 = ((color_ldr_linear - vec3(0.5)) * max(_174.contrast, 0.0)) + vec3(0.5); + color_ldr_linear = clamp(mix(vec3(dot(_303, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _303, vec3(_174.saturation)), vec3(0.0), vec3(1.0)); if (_174.dither_intensity > 0.0) { vec2 param_1 = gl_FragCoord.xy; @@ -210,19 +224,19 @@ vs_pp_source_glsl430 := u8.[ } else { - float _382 = color_ldr_linear.z * 15.0; - float _385 = floor(_382); - float _396 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; - float _402 = color_ldr_linear.x * 15.0; - color_ldr_linear = mix(texture(lut_lut_linear, vec2((((_385 * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, texture(lut_lut_linear, vec2((((min(_385 + 1.0, 15.0) * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, vec3(_382 - _385)); + float _396 = color_ldr_linear.z * 15.0; + float _399 = floor(_396); + float _410 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; + float _416 = color_ldr_linear.x * 15.0; + color_ldr_linear = mix(texture(lut_lut_linear, vec2((((_399 * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, texture(lut_lut_linear, vec2((((min(_399 + 1.0, 15.0) * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, vec3(_396 - _399)); } } vec3 color_srgb = (pow(color_ldr_linear, vec3(1.0 / _174.gamma)) * (1.0 - (smoothstep(0.0, _174.vignette_radius, _167) * _174.vignette_intensity))) * (1.0 - (((sin(gl_FragCoord.y * _174.scanlines_density) * 0.5) + 0.5) * _174.scanlines_intensity)); vec2 param_2 = texcoord; - vec3 _492 = color_srgb; - vec3 _494 = _492 + vec3((rand(param_2) - 0.5) * _174.film_grain_intensity); - color_srgb = _494; - frag_color = vec4(clamp(_494, vec3(0.0), vec3(1.0)), 1.0); + vec3 _506 = color_srgb; + vec3 _508 = _506 + vec3((rand(param_2) - 0.5) * _174.film_grain_intensity); + color_srgb = _508; + frag_color = vec4(clamp(_508, vec3(0.0), vec3(1.0)), 1.0); } */ @@ -270,250 +284,261 @@ fs_pp_source_glsl430 := u8.[ 0x73,0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x6c,0x75, 0x74,0x5f,0x6d,0x6f,0x64,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, 0x74,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, - 0x74,0x79,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, - 0x70,0x6f,0x73,0x74,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x63,0x6f,0x6e, - 0x66,0x69,0x67,0x20,0x5f,0x31,0x37,0x34,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75, - 0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x36,0x29,0x20, - 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32, - 0x44,0x20,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x3b,0x0a,0x6c, - 0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20, - 0x31,0x37,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70, - 0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x70,0x70,0x73,0x6d,0x70,0x3b, - 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20, - 0x3d,0x20,0x31,0x38,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61, - 0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f, - 0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, - 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e, - 0x20,0x76,0x65,0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a, - 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, - 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20, - 0x61,0x63,0x65,0x73,0x28,0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28, - 0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x35,0x30,0x39, - 0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36,0x33,0x32,0x35,0x36,0x38,0x33,0x35,0x39, - 0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x32, - 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x33,0x32,0x39,0x34,0x34,0x37,0x37,0x34,0x36, - 0x32,0x37,0x36,0x38,0x35,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2f, - 0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x34, - 0x33,0x30,0x30,0x30,0x30,0x30,0x36,0x36,0x37,0x35,0x37,0x32,0x30,0x32,0x31,0x34, - 0x38,0x34,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, - 0x35,0x38,0x39,0x39,0x39,0x39,0x39,0x37,0x33,0x37,0x37,0x33,0x39,0x35,0x36,0x32, - 0x39,0x38,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39, - 0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x76,0x65,0x63,0x32,0x20,0x70, - 0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20, - 0x5f,0x36,0x38,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x70,0x6f,0x73,0x29, - 0x20,0x25,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f, - 0x31,0x34,0x35,0x5b,0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x36,0x38, - 0x2e,0x79,0x20,0x2a,0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31, - 0x35,0x36,0x32,0x35,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,0x64,0x28,0x76,0x65,0x63,0x32,0x20, - 0x63,0x6f,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x63, - 0x6f,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30, - 0x30,0x34,0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c, - 0x20,0x37,0x38,0x2e,0x32,0x33,0x33,0x30,0x30,0x31,0x37,0x30,0x38,0x39,0x38,0x34, - 0x33,0x37,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35, - 0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20, - 0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x32,0x20,0x5f,0x31,0x36,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72, - 0x64,0x20,0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20, - 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x36,0x36,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x38,0x34,0x20,0x3d,0x20,0x28,0x5f, - 0x31,0x36,0x36,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2b,0x20,0x28,0x5f,0x31, - 0x36,0x37,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c, - 0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65, - 0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x32,0x28, - 0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, - 0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72, - 0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e, - 0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x39,0x32,0x20,0x3d, - 0x20,0x5f,0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20,0x3d,0x20,0x5f,0x31,0x39, - 0x32,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x39,0x33,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x32, - 0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x33, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x30, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d,0x20,0x5f, - 0x31,0x38,0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, - 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d, - 0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32, - 0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x21,0x5f,0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31, - 0x34,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, - 0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, - 0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x32,0x20,0x5f,0x32,0x33,0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31, - 0x37,0x34,0x2e,0x63,0x68,0x72,0x6f,0x6d,0x61,0x74,0x69,0x63,0x5f,0x61,0x62,0x65, - 0x72,0x72,0x61,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, - 0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x34,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, - 0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31, - 0x38,0x34,0x20,0x2b,0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x35,0x20,0x3d,0x20,0x74,0x65,0x78,0x74, - 0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c, - 0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34, - 0x20,0x5f,0x32,0x35,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, - 0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38, - 0x34,0x20,0x2d,0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x32,0x36,0x39,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, - 0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c,0x20,0x5f,0x32,0x34,0x35,0x2e,0x79,0x2c,0x20, - 0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2e,0x78,0x79,0x7a, - 0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x65,0x78,0x70,0x6f,0x73,0x75,0x72,0x65, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x74,0x6f,0x6e,0x65,0x6d,0x61, - 0x70,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x20,0x3d,0x20,0x5f,0x32,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65, - 0x61,0x72,0x20,0x3d,0x20,0x61,0x63,0x65,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63, - 0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20, - 0x3d,0x20,0x5f,0x32,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x39,0x20,0x3d,0x20,0x28,0x28, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, - 0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20, - 0x6d,0x61,0x78,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x6f,0x6e,0x74,0x72,0x61,0x73, - 0x74,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x63,0x6c,0x61, - 0x6d,0x70,0x28,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28, - 0x5f,0x32,0x38,0x39,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32, - 0x35,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35, - 0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x33,0x39,0x39, - 0x39,0x38,0x30,0x35,0x34,0x35,0x30,0x34,0x33,0x39,0x34,0x35,0x33,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x30,0x39,0x39,0x39,0x39,0x38,0x35,0x39,0x33, - 0x33,0x33,0x30,0x33,0x38,0x33,0x33,0x30,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29, - 0x29,0x2c,0x20,0x5f,0x32,0x38,0x39,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31, - 0x37,0x34,0x2e,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c, - 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65, - 0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61, - 0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e, - 0x65,0x61,0x72,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63,0x6f,0x6c,0x6f, - 0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2b,0x20,0x76, - 0x65,0x63,0x33,0x28,0x28,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68, - 0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x30,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34,0x33,0x36,0x30, - 0x34,0x32,0x37,0x38,0x35,0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f, - 0x64,0x65,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e, - 0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, - 0x6c,0x75,0x74,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28, - 0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, - 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x66, - 0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20, - 0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x66, - 0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20, - 0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a, + 0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, + 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70,0x72,0x6f, + 0x63,0x65,0x73,0x73,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x20,0x5f,0x31,0x37,0x34, + 0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e, + 0x67,0x20,0x3d,0x20,0x31,0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x70,0x74,0x65,0x78,0x5f, + 0x70,0x70,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69, + 0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x37,0x29,0x20,0x75,0x6e,0x69,0x66, + 0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d, + 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e, + 0x67,0x20,0x3d,0x20,0x31,0x38,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x70,0x70, + 0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, + 0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x39,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f, + 0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f, + 0x72,0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76, + 0x65,0x63,0x33,0x20,0x61,0x63,0x65,0x73,0x28,0x76,0x65,0x63,0x33,0x20,0x78,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x63,0x6c, + 0x61,0x6d,0x70,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32, + 0x2e,0x35,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36,0x33,0x32,0x35,0x36, + 0x38,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x33,0x32,0x39,0x34,0x34, + 0x37,0x37,0x34,0x36,0x32,0x37,0x36,0x38,0x35,0x35,0x34,0x36,0x38,0x37,0x35,0x29, + 0x29,0x29,0x20,0x2f,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a, + 0x20,0x32,0x2e,0x34,0x33,0x30,0x30,0x30,0x30,0x30,0x36,0x36,0x37,0x35,0x37,0x32, + 0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x35,0x38,0x39,0x39,0x39,0x39,0x39,0x37,0x33,0x37,0x37,0x33, + 0x39,0x35,0x36,0x32,0x39,0x38,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x20, + 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30, + 0x36,0x32,0x35,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x76,0x65, + 0x63,0x32,0x20,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, + 0x65,0x63,0x32,0x20,0x5f,0x36,0x38,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28, + 0x70,0x6f,0x73,0x29,0x20,0x25,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x38,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f, + 0x61,0x74,0x28,0x5f,0x31,0x34,0x35,0x5b,0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20, + 0x28,0x5f,0x36,0x38,0x2e,0x79,0x20,0x2a,0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20, + 0x30,0x2e,0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,0x64,0x28,0x76, + 0x65,0x63,0x32,0x20,0x63,0x6f,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64, + 0x6f,0x74,0x28,0x63,0x6f,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x32,0x2e,0x39, + 0x38,0x39,0x38,0x30,0x30,0x34,0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35, + 0x36,0x32,0x35,0x2c,0x20,0x37,0x38,0x2e,0x32,0x33,0x33,0x30,0x30,0x31,0x37,0x30, + 0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37, + 0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x36,0x36,0x20,0x3d,0x20,0x74,0x65,0x78, + 0x63,0x6f,0x6f,0x72,0x64,0x20,0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36, + 0x37,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x36,0x36,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x38,0x34,0x20, + 0x3d,0x20,0x28,0x5f,0x31,0x36,0x36,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2b, + 0x20,0x28,0x5f,0x31,0x36,0x37,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61, + 0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f, + 0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2b,0x20,0x76, + 0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69, + 0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, + 0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, + 0x39,0x32,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20,0x3d, + 0x20,0x5f,0x31,0x39,0x32,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x39, + 0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20, + 0x5f,0x31,0x39,0x32,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20, + 0x5f,0x31,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30, + 0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x32,0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37, + 0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32, + 0x30,0x37,0x20,0x3d,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x32,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3e, + 0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x33,0x38,0x32,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31, - 0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x38,0x35,0x20,0x3d,0x20,0x66,0x6c, - 0x6f,0x6f,0x72,0x28,0x5f,0x33,0x38,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39, - 0x36,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, - 0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29, - 0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x32,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20, - 0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65, - 0x61,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65, - 0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c, - 0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x28,0x5f,0x33,0x38,0x35,0x20,0x2a,0x20, - 0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x30,0x32,0x29,0x20,0x2b,0x20, - 0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32, - 0x35,0x2c,0x20,0x5f,0x33,0x39,0x36,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x74, - 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x28,0x6d, - 0x69,0x6e,0x28,0x5f,0x33,0x38,0x35,0x20,0x2b,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31, - 0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f, - 0x34,0x30,0x32,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x33,0x39,0x36,0x29,0x29, - 0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x38,0x32,0x20, - 0x2d,0x20,0x5f,0x33,0x38,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20, - 0x28,0x70,0x6f,0x77,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x20, - 0x2f,0x20,0x5f,0x31,0x37,0x34,0x2e,0x67,0x61,0x6d,0x6d,0x61,0x29,0x29,0x20,0x2a, - 0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73, - 0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69, - 0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x72,0x61,0x64,0x69,0x75,0x73,0x2c,0x20,0x5f, - 0x31,0x36,0x37,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67,0x6e, - 0x65,0x74,0x74,0x65,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29, - 0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x73,0x69, - 0x6e,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79, - 0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65, - 0x73,0x5f,0x64,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e, - 0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73, - 0x69,0x74,0x79,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f, - 0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x34,0x39, - 0x32,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x34,0x39,0x34,0x20,0x3d,0x20, - 0x5f,0x34,0x39,0x32,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x72,0x61,0x6e, - 0x64,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d,0x5f,0x67,0x72, - 0x61,0x69,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d, - 0x20,0x5f,0x34,0x39,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x6c,0x61, - 0x6d,0x70,0x28,0x5f,0x34,0x39,0x34,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, - 0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20, - 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x36,0x20,0x3d,0x20,0x76,0x65,0x63, + 0x32,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x68,0x72,0x6f,0x6d,0x61,0x74,0x69,0x63, + 0x5f,0x61,0x62,0x65,0x72,0x72,0x61,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65, + 0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70, + 0x2c,0x20,0x5f,0x31,0x38,0x34,0x20,0x2b,0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x35,0x20,0x3d,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70, + 0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x35,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c, + 0x20,0x5f,0x31,0x38,0x34,0x20,0x2d,0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x37,0x32,0x20,0x3d,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78, + 0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x33, + 0x20,0x3d,0x20,0x28,0x76,0x65,0x63,0x34,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c, + 0x20,0x5f,0x32,0x34,0x35,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2b,0x20,0x28,0x5f,0x32,0x37, + 0x32,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x37,0x34,0x2e,0x65,0x78,0x70,0x6f,0x73,0x75,0x72,0x65,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x37,0x34,0x2e,0x74,0x6f,0x6e,0x65,0x6d,0x61,0x70,0x20,0x3e,0x20,0x30, + 0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, + 0x32,0x38,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c, + 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20, + 0x61,0x63,0x65,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x5f,0x32,0x38, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x33,0x30,0x33,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72, + 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2d,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x6d,0x61,0x78,0x28,0x5f, + 0x31,0x37,0x34,0x2e,0x63,0x6f,0x6e,0x74,0x72,0x61,0x73,0x74,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x6d,0x69, + 0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x33,0x30,0x33,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x30,0x30,0x30,0x30, + 0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32, + 0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x33,0x39,0x39,0x39,0x38,0x30,0x35,0x34, + 0x35,0x30,0x34,0x33,0x39,0x34,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30, + 0x37,0x32,0x30,0x39,0x39,0x39,0x39,0x38,0x35,0x39,0x33,0x33,0x33,0x30,0x33,0x38, + 0x33,0x33,0x30,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x2c,0x20,0x5f,0x33, + 0x30,0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x37,0x34,0x2e,0x73,0x61, + 0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e, + 0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, + 0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72, + 0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d, + 0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, + 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28, + 0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20, + 0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e, + 0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x36, + 0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34,0x33,0x36,0x30,0x34,0x32,0x37,0x38,0x35, + 0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x21,0x3d, + 0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d, + 0x6f,0x64,0x65,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x70, + 0x70,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x66,0x6c,0x6f,0x6f, + 0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x36,0x32,0x35,0x29,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33, + 0x39,0x36,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x33,0x39,0x39,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f, + 0x33,0x39,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x30,0x20,0x3d,0x20,0x28, + 0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2b,0x20,0x30,0x2e, + 0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x34,0x31,0x36,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c, + 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20, + 0x6d,0x69,0x78,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f, + 0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x32, + 0x28,0x28,0x28,0x28,0x5f,0x33,0x39,0x39,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29, + 0x20,0x2b,0x20,0x5f,0x34,0x31,0x36,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x34, + 0x31,0x30,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x28,0x6d,0x69,0x6e,0x28,0x5f,0x33, + 0x39,0x39,0x20,0x2b,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e,0x30,0x29,0x20, + 0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x31,0x36,0x29,0x20, + 0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30, + 0x36,0x32,0x35,0x2c,0x20,0x5f,0x34,0x31,0x30,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x39,0x36,0x20,0x2d,0x20,0x5f,0x33,0x39, + 0x39,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x28,0x70,0x6f,0x77,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x5f,0x31,0x37, + 0x34,0x2e,0x67,0x61,0x6d,0x6d,0x61,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30, + 0x20,0x2d,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30, + 0x2e,0x30,0x2c,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74, + 0x65,0x5f,0x72,0x61,0x64,0x69,0x75,0x73,0x2c,0x20,0x5f,0x31,0x36,0x37,0x29,0x20, + 0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f, + 0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x73,0x69,0x6e,0x28,0x67,0x6c,0x5f, + 0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20,0x2a,0x20,0x5f,0x31, + 0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x64,0x65,0x6e, + 0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x30, + 0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c, + 0x69,0x6e,0x65,0x73,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x30,0x36,0x20,0x3d,0x20,0x63, + 0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x35,0x30,0x38,0x20,0x3d,0x20,0x5f,0x35,0x30,0x36,0x20, + 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x72,0x61,0x6e,0x64,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f, + 0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d,0x5f,0x67,0x72,0x61,0x69,0x6e,0x5f,0x69, + 0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63, + 0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x5f,0x35,0x30,0x38, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x35, + 0x30,0x38,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es @@ -566,11 +591,13 @@ vs_pp_source_glsl300es := u8.[ highp float barrel_distortion_intensity; int lut_mode; highp float dither_intensity; + highp float bloom_amount; }; uniform post_process_config _174; uniform highp sampler2D pptex_ppsmp; + uniform highp sampler2D bloom_tex_bloom_smp; uniform highp sampler2D lut_ppsmp; uniform highp sampler2D lut_lut_linear; @@ -639,19 +666,20 @@ vs_pp_source_glsl300es := u8.[ highp vec4 _238 = texture(pptex_ppsmp, _184 + _236); highp vec4 _245 = texture(pptex_ppsmp, _184); highp vec4 _256 = texture(pptex_ppsmp, _184 - _236); - highp vec3 _269 = vec4(_238.x, _245.y, _256.z, 1.0).xyz * _174.exposure; + highp vec4 _272 = texture(bloom_tex_bloom_smp, _184); + highp vec3 _283 = (vec4(_238.x, _245.y, _256.z, 1.0).xyz + (_272.xyz * _174.bloom_amount)) * _174.exposure; highp vec3 color_ldr_linear; if (_174.tonemap > 0.5) { - highp vec3 param = _269; + highp vec3 param = _283; color_ldr_linear = aces(param); } else { - color_ldr_linear = _269; + color_ldr_linear = _283; } - highp vec3 _289 = ((color_ldr_linear - vec3(0.5)) * max(_174.contrast, 0.0)) + vec3(0.5); - color_ldr_linear = clamp(mix(vec3(dot(_289, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _289, vec3(_174.saturation)), vec3(0.0), vec3(1.0)); + highp vec3 _303 = ((color_ldr_linear - vec3(0.5)) * max(_174.contrast, 0.0)) + vec3(0.5); + color_ldr_linear = clamp(mix(vec3(dot(_303, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _303, vec3(_174.saturation)), vec3(0.0), vec3(1.0)); if (_174.dither_intensity > 0.0) { highp vec2 param_1 = gl_FragCoord.xy; @@ -665,19 +693,19 @@ vs_pp_source_glsl300es := u8.[ } else { - highp float _382 = color_ldr_linear.z * 15.0; - highp float _385 = floor(_382); - highp float _396 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; - highp float _402 = color_ldr_linear.x * 15.0; - color_ldr_linear = mix(texture(lut_lut_linear, vec2((((_385 * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, texture(lut_lut_linear, vec2((((min(_385 + 1.0, 15.0) * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, vec3(_382 - _385)); + highp float _396 = color_ldr_linear.z * 15.0; + highp float _399 = floor(_396); + highp float _410 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; + highp float _416 = color_ldr_linear.x * 15.0; + color_ldr_linear = mix(texture(lut_lut_linear, vec2((((_399 * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, texture(lut_lut_linear, vec2((((min(_399 + 1.0, 15.0) * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, vec3(_396 - _399)); } } highp vec3 color_srgb = (pow(color_ldr_linear, vec3(1.0 / _174.gamma)) * (1.0 - (smoothstep(0.0, _174.vignette_radius, _167) * _174.vignette_intensity))) * (1.0 - (((sin(gl_FragCoord.y * _174.scanlines_density) * 0.5) + 0.5) * _174.scanlines_intensity)); highp vec2 param_2 = texcoord; - highp vec3 _492 = color_srgb; - highp vec3 _494 = _492 + vec3((rand(param_2) - 0.5) * _174.film_grain_intensity); - color_srgb = _494; - frag_color = vec4(clamp(_494, vec3(0.0), vec3(1.0)), 1.0); + highp vec3 _506 = color_srgb; + highp vec3 _508 = _506 + vec3((rand(param_2) - 0.5) * _174.film_grain_intensity); + color_srgb = _508; + frag_color = vec4(clamp(_508, vec3(0.0), vec3(1.0)), 1.0); } */ @@ -733,257 +761,267 @@ fs_pp_source_glsl300es := u8.[ 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x3b, 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, 0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, - 0x79,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x70, - 0x6f,0x73,0x74,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x63,0x6f,0x6e,0x66, - 0x69,0x67,0x20,0x5f,0x31,0x37,0x34,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x3b, + 0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x70,0x6f,0x73, + 0x74,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67, + 0x20,0x5f,0x31,0x37,0x34,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20, + 0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69, + 0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78,0x5f,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72, 0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32, - 0x44,0x20,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x3b,0x0a,0x75, - 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x70,0x70,0x73,0x6d,0x70, - 0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x6c,0x75, - 0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72, - 0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, - 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x61, - 0x63,0x65,0x73,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x78, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x63, - 0x6c,0x61,0x6d,0x70,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20, - 0x32,0x2e,0x35,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36,0x33,0x32,0x35, - 0x36,0x38,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33, - 0x28,0x30,0x2e,0x30,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x33,0x32,0x39,0x34, - 0x34,0x37,0x37,0x34,0x36,0x32,0x37,0x36,0x38,0x35,0x35,0x34,0x36,0x38,0x37,0x35, - 0x29,0x29,0x29,0x20,0x2f,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20, - 0x2a,0x20,0x32,0x2e,0x34,0x33,0x30,0x30,0x30,0x30,0x30,0x36,0x36,0x37,0x35,0x37, - 0x32,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x35,0x38,0x39,0x39,0x39,0x39,0x39,0x37,0x33,0x37,0x37, - 0x33,0x39,0x35,0x36,0x32,0x39,0x38,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x29,0x29, - 0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39, - 0x30,0x36,0x32,0x35,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x61, - 0x79,0x65,0x72,0x38,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, - 0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32, - 0x20,0x5f,0x36,0x38,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x70,0x6f,0x73, - 0x29,0x20,0x25,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x38,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28, - 0x5f,0x31,0x34,0x35,0x5b,0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x36, - 0x38,0x2e,0x79,0x20,0x2a,0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, - 0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x7d,0x0a, - 0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e, - 0x64,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x63,0x6f,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72, - 0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x63,0x6f,0x2c,0x20, - 0x76,0x65,0x63,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30,0x30,0x34,0x35, - 0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x37,0x38, - 0x2e,0x32,0x33,0x33,0x30,0x30,0x31,0x37,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35, - 0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38, - 0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69, - 0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x36,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x63, - 0x6f,0x6f,0x72,0x64,0x20,0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28, - 0x5f,0x31,0x36,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x38,0x34,0x20,0x3d,0x20,0x28,0x5f,0x31, - 0x36,0x36,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2b,0x20,0x28,0x5f,0x31,0x36, - 0x37,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f, - 0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e, - 0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x32,0x28,0x30, - 0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37, - 0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74, - 0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20, - 0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x31,0x39,0x32,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20, - 0x3d,0x20,0x5f,0x31,0x39,0x32,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31, - 0x39,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d, - 0x20,0x5f,0x31,0x39,0x32,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x44,0x20,0x6c,0x75,0x74,0x5f,0x70,0x70,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69, + 0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x61,0x63,0x65,0x73,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28, + 0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x35,0x30,0x39, + 0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36,0x33,0x32,0x35,0x36,0x38,0x33,0x35,0x39, + 0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x32, + 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x33,0x32,0x39,0x34,0x34,0x37,0x37,0x34,0x36, + 0x32,0x37,0x36,0x38,0x35,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2f, + 0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x34, + 0x33,0x30,0x30,0x30,0x30,0x30,0x36,0x36,0x37,0x35,0x37,0x32,0x30,0x32,0x31,0x34, + 0x38,0x34,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, + 0x35,0x38,0x39,0x39,0x39,0x39,0x39,0x37,0x33,0x37,0x37,0x33,0x39,0x35,0x36,0x32, + 0x39,0x38,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39, + 0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x61,0x79,0x65,0x72,0x38,0x28, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x6f,0x73,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x36,0x38,0x20, + 0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x70,0x6f,0x73,0x29,0x20,0x25,0x20,0x69, + 0x76,0x65,0x63,0x32,0x28,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x35,0x5b, + 0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x36,0x38,0x2e,0x79,0x20,0x2a, + 0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31,0x35,0x36,0x32,0x35, + 0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,0x64,0x28,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x63,0x6f,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73, + 0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x63,0x6f,0x2c,0x20,0x76,0x65,0x63,0x32,0x28, + 0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30,0x30,0x34,0x35,0x33,0x31,0x38,0x36,0x30, + 0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x37,0x38,0x2e,0x32,0x33,0x33,0x30, + 0x30,0x31,0x37,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, + 0x5f,0x31,0x36,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20, + 0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36, + 0x37,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x36,0x36,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32, + 0x20,0x5f,0x31,0x38,0x34,0x20,0x3d,0x20,0x28,0x5f,0x31,0x36,0x36,0x20,0x2a,0x20, + 0x28,0x31,0x2e,0x30,0x20,0x2b,0x20,0x28,0x5f,0x31,0x36,0x37,0x20,0x2a,0x20,0x5f, + 0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f, + 0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, + 0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72, + 0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69, + 0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x39,0x32,0x20,0x3d, + 0x20,0x5f,0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20,0x3d,0x20,0x5f,0x31,0x39, + 0x32,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x39,0x33,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x32, + 0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x33, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x30, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d,0x20,0x5f, + 0x31,0x38,0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d, - 0x20,0x5f,0x31,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d, + 0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32, - 0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x21,0x5f,0x32,0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30, - 0x37,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30, + 0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x21,0x5f,0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31, + 0x34,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, - 0x32,0x30,0x37,0x20,0x3d,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f, - 0x6f,0x6c,0x20,0x5f,0x32,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20, - 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, - 0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30, - 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33, - 0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x68, - 0x72,0x6f,0x6d,0x61,0x74,0x69,0x63,0x5f,0x61,0x62,0x65,0x72,0x72,0x61,0x74,0x69, - 0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x30,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x34,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72, - 0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f, - 0x31,0x38,0x34,0x20,0x2b,0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x35, - 0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78, - 0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20, + 0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x36,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x32,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x68,0x72,0x6f,0x6d,0x61,0x74, + 0x69,0x63,0x5f,0x61,0x62,0x65,0x72,0x72,0x61,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e, + 0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20, 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32, - 0x35,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74, - 0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x20,0x2d, + 0x33,0x38,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74, + 0x65,0x78,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x20,0x2b, 0x20,0x5f,0x32,0x33,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x36,0x39,0x20,0x3d,0x20,0x76,0x65, - 0x63,0x34,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c,0x20,0x5f,0x32,0x34,0x35,0x2e, - 0x79,0x2c,0x20,0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2e, - 0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x65,0x78,0x70,0x6f,0x73, - 0x75,0x72,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69, - 0x6e,0x65,0x61,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, - 0x37,0x34,0x2e,0x74,0x6f,0x6e,0x65,0x6d,0x61,0x70,0x20,0x3e,0x20,0x30,0x2e,0x35, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x20,0x3d,0x20,0x5f,0x32,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61, - 0x72,0x20,0x3d,0x20,0x61,0x63,0x65,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f, - 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d, - 0x20,0x5f,0x32,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x39, - 0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35, - 0x29,0x29,0x20,0x2a,0x20,0x6d,0x61,0x78,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x6f, - 0x6e,0x74,0x72,0x61,0x73,0x74,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63, - 0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20, - 0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33, - 0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x38,0x39,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x32,0x31,0x32,0x35,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36, - 0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37, - 0x31,0x35,0x33,0x39,0x39,0x39,0x38,0x30,0x35,0x34,0x35,0x30,0x34,0x33,0x39,0x34, - 0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x30,0x39,0x39,0x39, - 0x39,0x38,0x35,0x39,0x33,0x33,0x33,0x30,0x33,0x38,0x33,0x33,0x30,0x30,0x37,0x38, - 0x31,0x32,0x35,0x29,0x29,0x29,0x2c,0x20,0x5f,0x32,0x38,0x39,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x5f,0x31,0x37,0x34,0x2e,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69, - 0x6f,0x6e,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c, - 0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72, - 0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72, - 0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f, - 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d, - 0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, - 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28, - 0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20, - 0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e, - 0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x36, - 0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34,0x33,0x36,0x30,0x34,0x32,0x37,0x38,0x35, - 0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x21,0x3d, - 0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d, - 0x6f,0x64,0x65,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, - 0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x70, - 0x70,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x66,0x6c,0x6f,0x6f, - 0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65, - 0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30, - 0x2e,0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, - 0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, - 0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, - 0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, - 0x36,0x32,0x35,0x29,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, - 0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x33,0x38,0x32,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20, - 0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33, - 0x38,0x35,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x38,0x32,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d, - 0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e, - 0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2b,0x20, - 0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x32,0x20,0x3d,0x20,0x63,0x6f, - 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78, - 0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, - 0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x74,0x65,0x78,0x74, - 0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65, - 0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x28,0x5f,0x33,0x38,0x35, - 0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x30,0x32,0x29, - 0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39, - 0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x33,0x39,0x36,0x29,0x29,0x2e,0x78,0x79,0x7a, - 0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75, - 0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28, - 0x28,0x28,0x6d,0x69,0x6e,0x28,0x5f,0x33,0x38,0x35,0x20,0x2b,0x20,0x31,0x2e,0x30, - 0x2c,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20, - 0x2b,0x20,0x5f,0x34,0x30,0x32,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x33,0x39, - 0x36,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33, - 0x38,0x32,0x20,0x2d,0x20,0x5f,0x33,0x38,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x34,0x35,0x20,0x3d,0x20,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70,0x73,0x6d, + 0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x35,0x36,0x20,0x3d,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x70,0x70,0x74,0x65,0x78,0x5f,0x70,0x70, + 0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x20,0x2d,0x20,0x5f,0x32,0x33,0x36, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x32,0x37,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78,0x5f,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x33, + 0x20,0x3d,0x20,0x28,0x76,0x65,0x63,0x34,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c, + 0x20,0x5f,0x32,0x34,0x35,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2b,0x20,0x28,0x5f,0x32,0x37, + 0x32,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x37,0x34,0x2e,0x65,0x78,0x70,0x6f,0x73,0x75,0x72,0x65,0x3b,0x0a,0x20,0x20,0x20, 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f, - 0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x28,0x70,0x6f,0x77,0x28,0x63,0x6f, - 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x5f,0x31,0x37,0x34,0x2e, - 0x67,0x61,0x6d,0x6d,0x61,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d, - 0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30, - 0x2c,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f, - 0x72,0x61,0x64,0x69,0x75,0x73,0x2c,0x20,0x5f,0x31,0x36,0x37,0x29,0x20,0x2a,0x20, - 0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x69,0x6e, - 0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e, - 0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x73,0x69,0x6e,0x28,0x67,0x6c,0x5f,0x46,0x72, - 0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34, - 0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x64,0x65,0x6e,0x73,0x69, - 0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e, - 0x65,0x73,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72, - 0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x34,0x39,0x32,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73, - 0x72,0x67,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x34,0x39,0x34,0x20,0x3d,0x20,0x5f,0x34,0x39,0x32,0x20, - 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x72,0x61,0x6e,0x64,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f, - 0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d,0x5f,0x67,0x72,0x61,0x69,0x6e,0x5f,0x69, - 0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63, - 0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x5f,0x34,0x39,0x34, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x34, - 0x39,0x34,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, - 0x0a,0x7d,0x0a,0x0a,0x00, + 0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x74,0x6f,0x6e,0x65,0x6d, + 0x61,0x70,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x32,0x38,0x33,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c, + 0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x61,0x63,0x65,0x73, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x5f,0x32,0x38,0x33,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x33,0x30,0x33,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c, + 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2d,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x6d,0x61,0x78, + 0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x6f,0x6e,0x74,0x72,0x61,0x73,0x74,0x2c,0x20, + 0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, + 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28, + 0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x33,0x30, + 0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x30,0x30, + 0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30, + 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x33,0x39,0x39,0x39,0x38,0x30, + 0x35,0x34,0x35,0x30,0x34,0x33,0x39,0x34,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30, + 0x2e,0x30,0x37,0x32,0x30,0x39,0x39,0x39,0x39,0x38,0x35,0x39,0x33,0x33,0x33,0x30, + 0x33,0x38,0x33,0x33,0x30,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x2c,0x20, + 0x5f,0x33,0x30,0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x37,0x34,0x2e, + 0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, + 0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37, + 0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, + 0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f, + 0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63, + 0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20, + 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64, + 0x69,0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, + 0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34, + 0x33,0x36,0x30,0x34,0x32,0x37,0x38,0x35,0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74, + 0x5f,0x6d,0x6f,0x64,0x65,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, + 0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x3d,0x3d,0x20,0x32, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x6c,0x75,0x74,0x5f,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65, + 0x63,0x32,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31, + 0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e, + 0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x29, + 0x2c,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e, + 0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x2e,0x78,0x79, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36, + 0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x39,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x6f,0x72,0x28,0x5f,0x33,0x39,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x34,0x31,0x30,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72, + 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20, + 0x31,0x35,0x2e,0x30,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x34,0x31,0x36,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c, + 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20, + 0x6d,0x69,0x78,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6c,0x75,0x74,0x5f, + 0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x32, + 0x28,0x28,0x28,0x28,0x5f,0x33,0x39,0x39,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29, + 0x20,0x2b,0x20,0x5f,0x34,0x31,0x36,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x34, + 0x31,0x30,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x28,0x6d,0x69,0x6e,0x28,0x5f,0x33, + 0x39,0x39,0x20,0x2b,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e,0x30,0x29,0x20, + 0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x31,0x36,0x29,0x20, + 0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30, + 0x36,0x32,0x35,0x2c,0x20,0x5f,0x34,0x31,0x30,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x39,0x36,0x20,0x2d,0x20,0x5f,0x33,0x39, + 0x39,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d, + 0x20,0x28,0x70,0x6f,0x77,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, + 0x20,0x2f,0x20,0x5f,0x31,0x37,0x34,0x2e,0x67,0x61,0x6d,0x6d,0x61,0x29,0x29,0x20, + 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68, + 0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76, + 0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x72,0x61,0x64,0x69,0x75,0x73,0x2c,0x20, + 0x5f,0x31,0x36,0x37,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69,0x67, + 0x6e,0x65,0x74,0x74,0x65,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, + 0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x73, + 0x69,0x6e,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e, + 0x79,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e, + 0x65,0x73,0x5f,0x64,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x35,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34, + 0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x69,0x6e,0x74,0x65,0x6e, + 0x73,0x69,0x74,0x79,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, + 0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x30,0x36,0x20,0x3d, + 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x30,0x38, + 0x20,0x3d,0x20,0x5f,0x35,0x30,0x36,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x28, + 0x72,0x61,0x6e,0x64,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20, + 0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d, + 0x5f,0x67,0x72,0x61,0x69,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67, + 0x62,0x20,0x3d,0x20,0x5f,0x35,0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x35,0x30,0x38,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29, + 0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #include @@ -1105,6 +1143,7 @@ vs_pp_source_metal_macos := u8.[ float barrel_distortion_intensity; int lut_mode; float dither_intensity; + float bloom_amount; }; constant spvUnsafeArray _145 = spvUnsafeArray({ 0, 32, 8, 40, 2, 34, 10, 42, 48, 16, 56, 24, 50, 18, 58, 26, 12, 44, 4, 36, 14, 46, 6, 38, 60, 28, 52, 20, 62, 30, 54, 22, 3, 35, 11, 43, 1, 33, 9, 41, 51, 19, 59, 27, 49, 17, 57, 25, 15, 47, 7, 39, 13, 45, 5, 37, 63, 31, 55, 23, 61, 29, 53, 21 }); @@ -1138,7 +1177,7 @@ vs_pp_source_metal_macos := u8.[ return fract(sin(dot(co, float2(12.98980045318603515625, 78.233001708984375))) * 43758.546875); } - fragment main0_out main0(main0_in in [[stage_in]], constant post_process_config& _174 [[buffer(0)]], texture2d pptex [[texture(0)]], texture2d lut [[texture(1)]], sampler ppsmp [[sampler(0)]], sampler lut_linear [[sampler(1)]], float4 gl_FragCoord [[position]]) + fragment main0_out main0(main0_in in [[stage_in]], constant post_process_config& _174 [[buffer(0)]], texture2d pptex [[texture(0)]], texture2d bloom_tex [[texture(1)]], texture2d lut [[texture(2)]], sampler ppsmp [[sampler(0)]], sampler bloom_smp [[sampler(1)]], sampler lut_linear [[sampler(2)]], float4 gl_FragCoord [[position]]) { main0_out out = {}; float2 _166 = in.texcoord - float2(0.5); @@ -1185,19 +1224,20 @@ vs_pp_source_metal_macos := u8.[ float4 _238 = pptex.sample(ppsmp, (_184 + _236)); float4 _245 = pptex.sample(ppsmp, _184); float4 _256 = pptex.sample(ppsmp, (_184 - _236)); - float3 _269 = float4(_238.x, _245.y, _256.z, 1.0).xyz * _174.exposure; + float4 _272 = bloom_tex.sample(bloom_smp, _184); + float3 _283 = (float4(_238.x, _245.y, _256.z, 1.0).xyz + (_272.xyz * _174.bloom_amount)) * _174.exposure; float3 color_ldr_linear; if (_174.tonemap > 0.5) { - float3 param = _269; + float3 param = _283; color_ldr_linear = aces(param); } else { - color_ldr_linear = _269; + color_ldr_linear = _283; } - float3 _289 = ((color_ldr_linear - float3(0.5)) * fast::max(_174.contrast, 0.0)) + float3(0.5); - color_ldr_linear = fast::clamp(mix(float3(dot(_289, float3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _289, float3(_174.saturation)), float3(0.0), float3(1.0)); + float3 _303 = ((color_ldr_linear - float3(0.5)) * fast::max(_174.contrast, 0.0)) + float3(0.5); + color_ldr_linear = fast::clamp(mix(float3(dot(_303, float3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _303, float3(_174.saturation)), float3(0.0), float3(1.0)); if (_174.dither_intensity > 0.0) { float2 param_1 = gl_FragCoord.xy; @@ -1211,19 +1251,19 @@ vs_pp_source_metal_macos := u8.[ } else { - float _382 = color_ldr_linear.z * 15.0; - float _385 = floor(_382); - float _396 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; - float _402 = color_ldr_linear.x * 15.0; - color_ldr_linear = mix(lut.sample(lut_linear, float2((((_385 * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, lut.sample(lut_linear, float2((((fast::min(_385 + 1.0, 15.0) * 16.0) + _402) + 0.5) * 0.00390625, _396)).xyz, float3(_382 - _385)); + float _396 = color_ldr_linear.z * 15.0; + float _399 = floor(_396); + float _410 = ((color_ldr_linear.y * 15.0) + 0.5) * 0.0625; + float _416 = color_ldr_linear.x * 15.0; + color_ldr_linear = mix(lut.sample(lut_linear, float2((((_399 * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, lut.sample(lut_linear, float2((((fast::min(_399 + 1.0, 15.0) * 16.0) + _416) + 0.5) * 0.00390625, _410)).xyz, float3(_396 - _399)); } } float3 color_srgb = (powr(color_ldr_linear, float3(1.0 / _174.gamma)) * (1.0 - (smoothstep(0.0, _174.vignette_radius, _167) * _174.vignette_intensity))) * (1.0 - (((sin(gl_FragCoord.y * _174.scanlines_density) * 0.5) + 0.5) * _174.scanlines_intensity)); float2 param_2 = in.texcoord; - float3 _492 = color_srgb; - float3 _494 = _492 + float3((rand(param_2) - 0.5) * _174.film_grain_intensity); - color_srgb = _494; - out.frag_color = float4(fast::clamp(_494, float3(0.0), float3(1.0)), 1.0); + float3 _506 = color_srgb; + float3 _508 = _506 + float3((rand(param_2) - 0.5) * _174.film_grain_intensity); + color_srgb = _508; + out.frag_color = float4(fast::clamp(_508, float3(0.0), float3(1.0)), 1.0); return out; } @@ -1318,299 +1358,311 @@ fs_pp_source_metal_macos := u8.[ 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x6c,0x75,0x74,0x5f,0x6d,0x6f, 0x64,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64,0x69, 0x74,0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x3b,0x0a, - 0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x76, - 0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x69,0x6e,0x74,0x2c, - 0x20,0x36,0x34,0x3e,0x20,0x5f,0x31,0x34,0x35,0x20,0x3d,0x20,0x73,0x70,0x76,0x55, - 0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x69,0x6e,0x74,0x2c,0x20, - 0x36,0x34,0x3e,0x28,0x7b,0x20,0x30,0x2c,0x20,0x33,0x32,0x2c,0x20,0x38,0x2c,0x20, - 0x34,0x30,0x2c,0x20,0x32,0x2c,0x20,0x33,0x34,0x2c,0x20,0x31,0x30,0x2c,0x20,0x34, - 0x32,0x2c,0x20,0x34,0x38,0x2c,0x20,0x31,0x36,0x2c,0x20,0x35,0x36,0x2c,0x20,0x32, - 0x34,0x2c,0x20,0x35,0x30,0x2c,0x20,0x31,0x38,0x2c,0x20,0x35,0x38,0x2c,0x20,0x32, - 0x36,0x2c,0x20,0x31,0x32,0x2c,0x20,0x34,0x34,0x2c,0x20,0x34,0x2c,0x20,0x33,0x36, - 0x2c,0x20,0x31,0x34,0x2c,0x20,0x34,0x36,0x2c,0x20,0x36,0x2c,0x20,0x33,0x38,0x2c, - 0x20,0x36,0x30,0x2c,0x20,0x32,0x38,0x2c,0x20,0x35,0x32,0x2c,0x20,0x32,0x30,0x2c, - 0x20,0x36,0x32,0x2c,0x20,0x33,0x30,0x2c,0x20,0x35,0x34,0x2c,0x20,0x32,0x32,0x2c, - 0x20,0x33,0x2c,0x20,0x33,0x35,0x2c,0x20,0x31,0x31,0x2c,0x20,0x34,0x33,0x2c,0x20, - 0x31,0x2c,0x20,0x33,0x33,0x2c,0x20,0x39,0x2c,0x20,0x34,0x31,0x2c,0x20,0x35,0x31, - 0x2c,0x20,0x31,0x39,0x2c,0x20,0x35,0x39,0x2c,0x20,0x32,0x37,0x2c,0x20,0x34,0x39, - 0x2c,0x20,0x31,0x37,0x2c,0x20,0x35,0x37,0x2c,0x20,0x32,0x35,0x2c,0x20,0x31,0x35, - 0x2c,0x20,0x34,0x37,0x2c,0x20,0x37,0x2c,0x20,0x33,0x39,0x2c,0x20,0x31,0x33,0x2c, - 0x20,0x34,0x35,0x2c,0x20,0x35,0x2c,0x20,0x33,0x37,0x2c,0x20,0x36,0x33,0x2c,0x20, - 0x33,0x31,0x2c,0x20,0x35,0x35,0x2c,0x20,0x32,0x33,0x2c,0x20,0x36,0x31,0x2c,0x20, - 0x32,0x39,0x2c,0x20,0x35,0x33,0x2c,0x20,0x32,0x31,0x20,0x7d,0x29,0x3b,0x0a,0x0a, - 0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72, - 0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63, - 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64, - 0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d, - 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c, - 0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f, - 0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65, - 0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x61,0x63,0x65,0x73,0x28,0x74, - 0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x26,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28, - 0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x35,0x30,0x39, - 0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36,0x33,0x32,0x35,0x36,0x38,0x33,0x35,0x39, - 0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, - 0x30,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x33,0x32,0x39,0x34,0x34,0x37,0x37, - 0x34,0x36,0x32,0x37,0x36,0x38,0x35,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x29,0x29, - 0x20,0x2f,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32, - 0x2e,0x34,0x33,0x30,0x30,0x30,0x30,0x30,0x36,0x36,0x37,0x35,0x37,0x32,0x30,0x32, - 0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x30,0x2e,0x35,0x38,0x39,0x39,0x39,0x39,0x39,0x37,0x33,0x37,0x37,0x33, - 0x39,0x35,0x36,0x32,0x39,0x38,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x20, - 0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33, - 0x39,0x30,0x36,0x32,0x35,0x29,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30, - 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e, - 0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65, - 0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e, - 0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x61,0x79,0x65,0x72,0x38, - 0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x32,0x26,0x20,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x32,0x20,0x5f,0x36,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74,0x32, - 0x28,0x70,0x6f,0x73,0x29,0x20,0x25,0x20,0x69,0x6e,0x74,0x32,0x28,0x38,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f, - 0x61,0x74,0x28,0x5f,0x31,0x34,0x35,0x5b,0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20, - 0x28,0x5f,0x36,0x38,0x2e,0x79,0x20,0x2a,0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b, - 0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e, - 0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28, - 0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29, - 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,0x64,0x28,0x74,0x68,0x72,0x65, - 0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26, - 0x20,0x63,0x6f,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28, - 0x63,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x32,0x2e,0x39,0x38, - 0x39,0x38,0x30,0x30,0x34,0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36, - 0x32,0x35,0x2c,0x20,0x37,0x38,0x2e,0x32,0x33,0x33,0x30,0x30,0x31,0x37,0x30,0x38, - 0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35, - 0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72, - 0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, - 0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20, - 0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c, - 0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70, - 0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f, - 0x31,0x37,0x34,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d, - 0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f, - 0x61,0x74,0x3e,0x20,0x70,0x70,0x74,0x65,0x78,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74, - 0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, - 0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x6c,0x75,0x74,0x20,0x5b, - 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x73, - 0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70,0x70,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73, - 0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x20,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20, - 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, - 0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, - 0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x36,0x36,0x20,0x3d,0x20,0x69,0x6e, - 0x2e,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68, - 0x28,0x5f,0x31,0x36,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x20,0x5f,0x31,0x38,0x34,0x20,0x3d,0x20,0x28,0x5f,0x31,0x36,0x36,0x20, - 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2b,0x20,0x28,0x5f,0x31,0x36,0x37,0x20,0x2a, - 0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x61,0x6d,0x6f,0x75,0x6e,0x74,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72, + 0x72,0x61,0x79,0x3c,0x69,0x6e,0x74,0x2c,0x20,0x36,0x34,0x3e,0x20,0x5f,0x31,0x34, + 0x35,0x20,0x3d,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72, + 0x61,0x79,0x3c,0x69,0x6e,0x74,0x2c,0x20,0x36,0x34,0x3e,0x28,0x7b,0x20,0x30,0x2c, + 0x20,0x33,0x32,0x2c,0x20,0x38,0x2c,0x20,0x34,0x30,0x2c,0x20,0x32,0x2c,0x20,0x33, + 0x34,0x2c,0x20,0x31,0x30,0x2c,0x20,0x34,0x32,0x2c,0x20,0x34,0x38,0x2c,0x20,0x31, + 0x36,0x2c,0x20,0x35,0x36,0x2c,0x20,0x32,0x34,0x2c,0x20,0x35,0x30,0x2c,0x20,0x31, + 0x38,0x2c,0x20,0x35,0x38,0x2c,0x20,0x32,0x36,0x2c,0x20,0x31,0x32,0x2c,0x20,0x34, + 0x34,0x2c,0x20,0x34,0x2c,0x20,0x33,0x36,0x2c,0x20,0x31,0x34,0x2c,0x20,0x34,0x36, + 0x2c,0x20,0x36,0x2c,0x20,0x33,0x38,0x2c,0x20,0x36,0x30,0x2c,0x20,0x32,0x38,0x2c, + 0x20,0x35,0x32,0x2c,0x20,0x32,0x30,0x2c,0x20,0x36,0x32,0x2c,0x20,0x33,0x30,0x2c, + 0x20,0x35,0x34,0x2c,0x20,0x32,0x32,0x2c,0x20,0x33,0x2c,0x20,0x33,0x35,0x2c,0x20, + 0x31,0x31,0x2c,0x20,0x34,0x33,0x2c,0x20,0x31,0x2c,0x20,0x33,0x33,0x2c,0x20,0x39, + 0x2c,0x20,0x34,0x31,0x2c,0x20,0x35,0x31,0x2c,0x20,0x31,0x39,0x2c,0x20,0x35,0x39, + 0x2c,0x20,0x32,0x37,0x2c,0x20,0x34,0x39,0x2c,0x20,0x31,0x37,0x2c,0x20,0x35,0x37, + 0x2c,0x20,0x32,0x35,0x2c,0x20,0x31,0x35,0x2c,0x20,0x34,0x37,0x2c,0x20,0x37,0x2c, + 0x20,0x33,0x39,0x2c,0x20,0x31,0x33,0x2c,0x20,0x34,0x35,0x2c,0x20,0x35,0x2c,0x20, + 0x33,0x37,0x2c,0x20,0x36,0x33,0x2c,0x20,0x33,0x31,0x2c,0x20,0x35,0x35,0x2c,0x20, + 0x32,0x33,0x2c,0x20,0x36,0x31,0x2c,0x20,0x32,0x39,0x2c,0x20,0x35,0x33,0x2c,0x20, + 0x32,0x31,0x20,0x7d,0x29,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d, + 0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, + 0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, + 0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74, + 0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74, + 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x61,0x63,0x65,0x73,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x78,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x73,0x74, + 0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x78,0x20,0x2a,0x20,0x28,0x28,0x78, + 0x20,0x2a,0x20,0x32,0x2e,0x35,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x30,0x34,0x36, + 0x33,0x32,0x35,0x36,0x38,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2b,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x32,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x33,0x32,0x39,0x34,0x34,0x37,0x37,0x34,0x36,0x32,0x37,0x36,0x38,0x35,0x35, + 0x34,0x36,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2f,0x20,0x28,0x28,0x78,0x20,0x2a, + 0x20,0x28,0x28,0x78,0x20,0x2a,0x20,0x32,0x2e,0x34,0x33,0x30,0x30,0x30,0x30,0x30, + 0x36,0x36,0x37,0x35,0x37,0x32,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x29, + 0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x38,0x39,0x39, + 0x39,0x39,0x39,0x37,0x33,0x37,0x37,0x33,0x39,0x35,0x36,0x32,0x39,0x38,0x38,0x32, + 0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x30,0x2e,0x31,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30, + 0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x29,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73, + 0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61, + 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,0x70,0x6f, + 0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x32,0x20,0x5f,0x36, + 0x38,0x20,0x3d,0x20,0x69,0x6e,0x74,0x32,0x28,0x70,0x6f,0x73,0x29,0x20,0x25,0x20, + 0x69,0x6e,0x74,0x32,0x28,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x35,0x5b, + 0x5f,0x36,0x38,0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x36,0x38,0x2e,0x79,0x20,0x2a, + 0x20,0x38,0x29,0x5d,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31,0x35,0x36,0x32,0x35, + 0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74, + 0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72, + 0x61,0x6e,0x64,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,0x63,0x6f,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28, + 0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x63,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30,0x30,0x34,0x35,0x33,0x31, + 0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x37,0x38,0x2e,0x32, + 0x33,0x33,0x30,0x30,0x31,0x37,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29, + 0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61, + 0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, + 0x74,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x63, + 0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x31,0x37,0x34,0x20,0x5b,0x5b,0x62,0x75, + 0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x70,0x74,0x65, + 0x78,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d, + 0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61, + 0x74,0x3e,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78,0x20,0x5b,0x5b,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x6c,0x75, + 0x74,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x32,0x29,0x5d,0x5d, + 0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70,0x70,0x73,0x6d,0x70,0x20, + 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d, + 0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d, + 0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x6c,0x75,0x74,0x5f,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x32, + 0x29,0x5d,0x5d,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46, + 0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x36,0x36, + 0x20,0x3d,0x20,0x69,0x6e,0x2e,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x20,0x2d, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20,0x6c, + 0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x36,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x38,0x34,0x20,0x3d,0x20,0x28, + 0x5f,0x31,0x36,0x36,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2b,0x20,0x28,0x5f, + 0x31,0x36,0x37,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65, + 0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74, + 0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x37,0x34,0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73, 0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, - 0x79,0x29,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e, - 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34, - 0x2e,0x62,0x61,0x72,0x72,0x65,0x6c,0x5f,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69, - 0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30, - 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x39,0x32,0x20,0x3d,0x20,0x5f, - 0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62, - 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20,0x3d,0x20,0x5f,0x31,0x39,0x32,0x20, - 0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62, - 0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x39,0x33,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x32,0x20,0x3e, - 0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x39,0x33,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x30,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d,0x20,0x5f,0x31,0x38, - 0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x39, + 0x32,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x39,0x33,0x20,0x3d,0x20, + 0x5f,0x31,0x39,0x32,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x39,0x33, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f, + 0x31,0x39,0x32,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, 0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20,0x3d,0x20,0x5f, - 0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x31,0x34, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f, + 0x31,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x37, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f, - 0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x34,0x20, - 0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a, + 0x32,0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x20, + 0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31, - 0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e, - 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, - 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x32,0x33,0x36, - 0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63, - 0x68,0x72,0x6f,0x6d,0x61,0x74,0x69,0x63,0x5f,0x61,0x62,0x65,0x72,0x72,0x61,0x74, - 0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x30, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, - 0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x70,0x70,0x74,0x65,0x78,0x2e,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x28,0x5f,0x31,0x38,0x34, - 0x20,0x2b,0x20,0x5f,0x32,0x33,0x36,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x34,0x35,0x20,0x3d,0x20,0x70,0x70,0x74, - 0x65,0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30, + 0x37,0x20,0x3d,0x20,0x5f,0x32,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x32,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x2e,0x79,0x20,0x3e,0x20, + 0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x32,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x6f,0x75,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32, + 0x20,0x5f,0x32,0x33,0x36,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x5f, + 0x31,0x37,0x34,0x2e,0x63,0x68,0x72,0x6f,0x6d,0x61,0x74,0x69,0x63,0x5f,0x61,0x62, + 0x65,0x72,0x72,0x61,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, + 0x74,0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x70,0x70,0x74,0x65, + 0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20, + 0x28,0x5f,0x31,0x38,0x34,0x20,0x2b,0x20,0x5f,0x32,0x33,0x36,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x34,0x35,0x20, + 0x3d,0x20,0x70,0x70,0x74,0x65,0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70, + 0x70,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x35,0x36,0x20,0x3d,0x20,0x70, + 0x70,0x74,0x65,0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d, + 0x70,0x2c,0x20,0x28,0x5f,0x31,0x38,0x34,0x20,0x2d,0x20,0x5f,0x32,0x33,0x36,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32, + 0x37,0x32,0x20,0x3d,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x74,0x65,0x78,0x2e,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c, 0x20,0x5f,0x31,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x34,0x20,0x5f,0x32,0x35,0x36,0x20,0x3d,0x20,0x70,0x70,0x74,0x65,0x78,0x2e, - 0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x28,0x5f, - 0x31,0x38,0x34,0x20,0x2d,0x20,0x5f,0x32,0x33,0x36,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x36,0x39,0x20,0x3d,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c,0x20,0x5f, - 0x32,0x34,0x35,0x2e,0x79,0x2c,0x20,0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c,0x20,0x31, - 0x2e,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x65, - 0x78,0x70,0x6f,0x73,0x75,0x72,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69, - 0x6e,0x65,0x61,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, - 0x37,0x34,0x2e,0x74,0x6f,0x6e,0x65,0x6d,0x61,0x70,0x20,0x3e,0x20,0x30,0x2e,0x35, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, - 0x32,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c, - 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20, - 0x61,0x63,0x65,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x5f,0x32,0x36, - 0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x5f,0x32,0x38,0x39,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c, - 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2d,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x66, - 0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x6f, - 0x6e,0x74,0x72,0x61,0x73,0x74,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x74,0x33,0x20,0x5f,0x32,0x38,0x33,0x20,0x3d,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x2c,0x20,0x5f,0x32,0x34,0x35,0x2e,0x79, + 0x2c,0x20,0x5f,0x32,0x35,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2e,0x78, + 0x79,0x7a,0x20,0x2b,0x20,0x28,0x5f,0x32,0x37,0x32,0x2e,0x78,0x79,0x7a,0x20,0x2a, + 0x20,0x5f,0x31,0x37,0x34,0x2e,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75, + 0x6e,0x74,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x65,0x78,0x70,0x6f, + 0x73,0x75,0x72,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61, - 0x72,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28, - 0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f, - 0x32,0x38,0x39,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31, - 0x32,0x35,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37, - 0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x33,0x39, - 0x39,0x39,0x38,0x30,0x35,0x34,0x35,0x30,0x34,0x33,0x39,0x34,0x35,0x33,0x31,0x32, - 0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x30,0x39,0x39,0x39,0x39,0x38,0x35,0x39, - 0x33,0x33,0x33,0x30,0x33,0x38,0x33,0x33,0x30,0x30,0x37,0x38,0x31,0x32,0x35,0x29, - 0x29,0x29,0x2c,0x20,0x5f,0x32,0x38,0x39,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x5f,0x31,0x37,0x34,0x2e,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e, - 0x29,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68, - 0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30, - 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e, - 0x78,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f, - 0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x66, - 0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2b,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x28,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74, - 0x68,0x65,0x72,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34,0x33,0x36, - 0x30,0x34,0x32,0x37,0x38,0x35,0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x2c, + 0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e, + 0x74,0x6f,0x6e,0x65,0x6d,0x61,0x70,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x32,0x38,0x33, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x61,0x63,0x65, + 0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, + 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x5f,0x32,0x38,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x5f,0x33,0x30,0x33,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x66,0x61,0x73,0x74, + 0x3a,0x3a,0x6d,0x61,0x78,0x28,0x5f,0x31,0x37,0x34,0x2e,0x63,0x6f,0x6e,0x74,0x72, + 0x61,0x73,0x74,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d, + 0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x6d,0x69,0x78, + 0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x33,0x30,0x33, + 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x30, + 0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39, + 0x30,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x33,0x39,0x39,0x39,0x38, + 0x30,0x35,0x34,0x35,0x30,0x34,0x33,0x39,0x34,0x35,0x33,0x31,0x32,0x35,0x2c,0x20, + 0x30,0x2e,0x30,0x37,0x32,0x30,0x39,0x39,0x39,0x39,0x38,0x35,0x39,0x33,0x33,0x33, + 0x30,0x33,0x38,0x33,0x33,0x30,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x29,0x2c, + 0x20,0x5f,0x33,0x30,0x33,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31, + 0x37,0x34,0x2e,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c, 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c, 0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c, - 0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x3d,0x3d, - 0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x6c,0x75,0x74, - 0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x32,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c, + 0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72,0x5f, + 0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c, + 0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x66,0x61,0x73,0x74, + 0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x28,0x62,0x61,0x79,0x65,0x72,0x38,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x64,0x69,0x74,0x68,0x65,0x72, + 0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x30,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x31,0x34,0x33,0x36,0x30,0x34,0x32, + 0x37,0x38,0x35,0x36,0x34,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x34,0x2e,0x6c,0x75,0x74,0x5f, + 0x6d,0x6f,0x64,0x65,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37, + 0x34,0x2e,0x6c,0x75,0x74,0x5f,0x6d,0x6f,0x64,0x65,0x20,0x3d,0x3d,0x20,0x32,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72, + 0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x6c,0x75,0x74,0x2e,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x28,0x70,0x70,0x73,0x6d,0x70,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20,0x2a,0x20,0x31, + 0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e, + 0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x29, + 0x2c,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, + 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35,0x2e, + 0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x2e,0x78,0x79, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d,0x20,0x63,0x6f,0x6c, 0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x7a,0x20, - 0x2a,0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35, - 0x29,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78,0x20,0x2a,0x20, - 0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30,0x36, - 0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72, - 0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20, - 0x31,0x35,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29, - 0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x38,0x32,0x20,0x3d,0x20, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72, - 0x2e,0x7a,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x38, - 0x35,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x38,0x32,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f, - 0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a, - 0x20,0x31,0x35,0x2e,0x30,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x32,0x20,0x3d, - 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61, - 0x72,0x2e,0x78,0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, - 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x6c, - 0x75,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x69, - 0x6e,0x65,0x61,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x28,0x28,0x28, - 0x5f,0x33,0x38,0x35,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f, - 0x34,0x30,0x32,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x30,0x30,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x33,0x39,0x36,0x29,0x29, - 0x2e,0x78,0x79,0x7a,0x2c,0x20,0x6c,0x75,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65, - 0x28,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x32,0x28,0x28,0x28,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x69,0x6e, - 0x28,0x5f,0x33,0x38,0x35,0x20,0x2b,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e, - 0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x30, - 0x32,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30, - 0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x33,0x39,0x36,0x29,0x29,0x2e,0x78, - 0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x33,0x38,0x32,0x20, - 0x2d,0x20,0x5f,0x33,0x38,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20, - 0x3d,0x20,0x28,0x70,0x6f,0x77,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64, - 0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x5f,0x31,0x37,0x34,0x2e,0x67,0x61,0x6d,0x6d, - 0x61,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x73,0x6d, - 0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31, - 0x37,0x34,0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x72,0x61,0x64,0x69, - 0x75,0x73,0x2c,0x20,0x5f,0x31,0x36,0x37,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34, - 0x2e,0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73, - 0x69,0x74,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20, - 0x28,0x28,0x28,0x73,0x69,0x6e,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, - 0x6f,0x72,0x64,0x2e,0x79,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61, - 0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x64,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20, - 0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20, - 0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x69, - 0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, - 0x20,0x69,0x6e,0x2e,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x34,0x39,0x32,0x20,0x3d,0x20, - 0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x34,0x39,0x34,0x20,0x3d,0x20,0x5f,0x34, - 0x39,0x32,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x28,0x72,0x61,0x6e, - 0x64,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d,0x5f,0x67,0x72, - 0x61,0x69,0x6e,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d, - 0x20,0x5f,0x34,0x39,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, - 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x34,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f, - 0x34,0x39,0x34,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29, - 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20, - 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x39,0x20,0x3d, + 0x20,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x39,0x36,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x34,0x31,0x30,0x20,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c, + 0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x79,0x20,0x2a,0x20,0x31,0x35, + 0x2e,0x30,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x36,0x20,0x3d,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2e,0x78, + 0x20,0x2a,0x20,0x31,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x6c,0x75,0x74,0x2e, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x6c,0x75,0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x28,0x28,0x28,0x5f,0x33,0x39, + 0x39,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x31,0x36, + 0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33, + 0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x5f,0x34,0x31,0x30,0x29,0x29,0x2e,0x78,0x79, + 0x7a,0x2c,0x20,0x6c,0x75,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x6c,0x75, + 0x74,0x5f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32, + 0x28,0x28,0x28,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x69,0x6e,0x28,0x5f,0x33, + 0x39,0x39,0x20,0x2b,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e,0x30,0x29,0x20, + 0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x5f,0x34,0x31,0x36,0x29,0x20, + 0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x33,0x39,0x30, + 0x36,0x32,0x35,0x2c,0x20,0x5f,0x34,0x31,0x30,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x33,0x39,0x36,0x20,0x2d,0x20,0x5f, + 0x33,0x39,0x39,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x28, + 0x70,0x6f,0x77,0x72,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x6c,0x64,0x72,0x5f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e, + 0x30,0x20,0x2f,0x20,0x5f,0x31,0x37,0x34,0x2e,0x67,0x61,0x6d,0x6d,0x61,0x29,0x29, + 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74, + 0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x37,0x34,0x2e, + 0x76,0x69,0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x72,0x61,0x64,0x69,0x75,0x73,0x2c, + 0x20,0x5f,0x31,0x36,0x37,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x76,0x69, + 0x67,0x6e,0x65,0x74,0x74,0x65,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, + 0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28, + 0x73,0x69,0x6e,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64, + 0x2e,0x79,0x20,0x2a,0x20,0x5f,0x31,0x37,0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69, + 0x6e,0x65,0x73,0x5f,0x64,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x35,0x29,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37, + 0x34,0x2e,0x73,0x63,0x61,0x6e,0x6c,0x69,0x6e,0x65,0x73,0x5f,0x69,0x6e,0x74,0x65, + 0x6e,0x73,0x69,0x74,0x79,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x69,0x6e, + 0x2e,0x74,0x65,0x78,0x63,0x6f,0x6f,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x35,0x30,0x36,0x20,0x3d,0x20,0x63,0x6f,0x6c, + 0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x5f,0x35,0x30,0x38,0x20,0x3d,0x20,0x5f,0x35,0x30,0x36,0x20, + 0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x28,0x72,0x61,0x6e,0x64,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a, + 0x20,0x5f,0x31,0x37,0x34,0x2e,0x66,0x69,0x6c,0x6d,0x5f,0x67,0x72,0x61,0x69,0x6e, + 0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x73,0x72,0x67,0x62,0x20,0x3d,0x20,0x5f,0x35, + 0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28, + 0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x35,0x30,0x38, + 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75, + 0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc: sg_shader_desc; @@ -1670,6 +1722,9 @@ postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[0].glsl_uniforms[13].type = .FLOAT; desc.uniform_blocks[0].glsl_uniforms[13].array_count = 0; desc.uniform_blocks[0].glsl_uniforms[13].glsl_name = "_174.dither_intensity"; + desc.uniform_blocks[0].glsl_uniforms[14].type = .FLOAT; + desc.uniform_blocks[0].glsl_uniforms[14].array_count = 0; + desc.uniform_blocks[0].glsl_uniforms[14].glsl_name = "_174.bloom_amount"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -1678,22 +1733,32 @@ postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; desc.image_sampler_pairs[0].glsl_name = "pptex_ppsmp"; desc.image_sampler_pairs[1].stage = .FRAGMENT; - desc.image_sampler_pairs[1].image_slot = 1; - desc.image_sampler_pairs[1].sampler_slot = 0; - desc.image_sampler_pairs[1].glsl_name = "lut_ppsmp"; + desc.image_sampler_pairs[1].image_slot = 2; + desc.image_sampler_pairs[1].sampler_slot = 2; + desc.image_sampler_pairs[1].glsl_name = "bloom_tex_bloom_smp"; desc.image_sampler_pairs[2].stage = .FRAGMENT; desc.image_sampler_pairs[2].image_slot = 1; - desc.image_sampler_pairs[2].sampler_slot = 1; - desc.image_sampler_pairs[2].glsl_name = "lut_lut_linear"; + desc.image_sampler_pairs[2].sampler_slot = 0; + desc.image_sampler_pairs[2].glsl_name = "lut_ppsmp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 1; + desc.image_sampler_pairs[3].sampler_slot = 1; + desc.image_sampler_pairs[3].glsl_name = "lut_lut_linear"; case .GLES3; desc.vertex_func.source = xx *vs_pp_source_glsl300es; desc.vertex_func.entry = "main"; @@ -1748,6 +1813,9 @@ postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[0].glsl_uniforms[13].type = .FLOAT; desc.uniform_blocks[0].glsl_uniforms[13].array_count = 0; desc.uniform_blocks[0].glsl_uniforms[13].glsl_name = "_174.dither_intensity"; + desc.uniform_blocks[0].glsl_uniforms[14].type = .FLOAT; + desc.uniform_blocks[0].glsl_uniforms[14].array_count = 0; + desc.uniform_blocks[0].glsl_uniforms[14].glsl_name = "_174.bloom_amount"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -1756,22 +1824,32 @@ postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; desc.image_sampler_pairs[0].glsl_name = "pptex_ppsmp"; desc.image_sampler_pairs[1].stage = .FRAGMENT; - desc.image_sampler_pairs[1].image_slot = 1; - desc.image_sampler_pairs[1].sampler_slot = 0; - desc.image_sampler_pairs[1].glsl_name = "lut_ppsmp"; + desc.image_sampler_pairs[1].image_slot = 2; + desc.image_sampler_pairs[1].sampler_slot = 2; + desc.image_sampler_pairs[1].glsl_name = "bloom_tex_bloom_smp"; desc.image_sampler_pairs[2].stage = .FRAGMENT; desc.image_sampler_pairs[2].image_slot = 1; - desc.image_sampler_pairs[2].sampler_slot = 1; - desc.image_sampler_pairs[2].glsl_name = "lut_lut_linear"; + desc.image_sampler_pairs[2].sampler_slot = 0; + desc.image_sampler_pairs[2].glsl_name = "lut_ppsmp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 1; + desc.image_sampler_pairs[3].sampler_slot = 1; + desc.image_sampler_pairs[3].glsl_name = "lut_lut_linear"; case .METAL_MACOS; desc.vertex_func.source = xx *vs_pp_source_metal_macos; desc.vertex_func.entry = "main0"; @@ -1792,22 +1870,33 @@ postprocess_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; - desc.images[1].msl_texture_n = 1; + desc.images[1].msl_texture_n = 2; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[2].msl_texture_n = 1; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[0].msl_sampler_n = 0; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; - desc.samplers[1].msl_sampler_n = 1; + desc.samplers[1].msl_sampler_n = 2; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; + desc.samplers[2].msl_sampler_n = 1; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; desc.image_sampler_pairs[1].stage = .FRAGMENT; - desc.image_sampler_pairs[1].image_slot = 1; - desc.image_sampler_pairs[1].sampler_slot = 0; + desc.image_sampler_pairs[1].image_slot = 2; + desc.image_sampler_pairs[1].sampler_slot = 2; desc.image_sampler_pairs[2].stage = .FRAGMENT; desc.image_sampler_pairs[2].image_slot = 1; - desc.image_sampler_pairs[2].sampler_slot = 1; + desc.image_sampler_pairs[2].sampler_slot = 0; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 1; + desc.image_sampler_pairs[3].sampler_slot = 1; } return desc; } diff --git a/src/shaders/jai/shader_sky.jai b/src/shaders/jai/shader_sky.jai index d059e9d..039a02a 100644 --- a/src/shaders/jai/shader_sky.jai +++ b/src/shaders/jai/shader_sky.jai @@ -109,84 +109,34 @@ vs_sky_source_glsl430 := u8.[ float time; }; - uniform sky_world_config _178; + uniform sky_world_config _18; layout(location = 0) in vec4 pos; layout(location = 0) out vec4 frag_color; - float hash(float n) - { - return fract(sin(n) * 43758.546875); - } - - float _noise(vec3 x) - { - vec3 _35 = fract(x); - float _43 = dot(floor(x), vec3(1.0, 157.0, 113.0)); - float param = _43; - float param_1 = _43 + 1.0; - float _56 = _35.x; - float param_2 = _43 + 157.0; - float param_3 = _43 + 158.0; - float _72 = _35.y; - float param_4 = _43 + 113.0; - float param_5 = _43 + 114.0; - float param_6 = _43 + 270.0; - float param_7 = _43 + 271.0; - return mix(mix(mix(hash(param), hash(param_1), _56), mix(hash(param_2), hash(param_3), _56), _72), mix(mix(hash(param_4), hash(param_5), _56), mix(hash(param_6), hash(param_7), _56), _72), _35.z); - } - - float fbm(inout vec3 p) - { - float f = 0.0; - vec3 param = p; - f += (_noise(param) * 0.5); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.10000002384185791015625; - vec3 param_1 = p; - f += (_noise(param_1) * 0.25); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2000000476837158203125; - vec3 param_2 = p; - f += (_noise(param_2) * 0.16666667163372039794921875); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2999999523162841796875; - vec3 param_3 = p; - f += (_noise(param_3) * 0.083333335816860198974609375); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.39999997615814208984375; - vec3 param_4 = p; - float _169 = f; - float _170 = _169 + (_noise(param_4) * 0.0416666679084300994873046875); - f = _170; - return _170; - } - vec3 sky(vec3 skypos, vec3 sunpos) { - vec3 _199 = normalize(skypos); - vec3 _212 = normalize(sunpos); - vec3 _217 = normalize(cross(_212, vec3(0.0, 1.0, 0.0))); - vec3 _229 = normalize(skypos) - (_212 * dot(normalize(skypos), normalize(sunpos))); - float _243 = max(abs(dot(_229, _217)), abs(dot(_229, normalize(cross(_217, _212))))); - float _251 = clamp((0.25 - _243) * 6.0, 0.0, 1.0); - vec3 final = mix(_178.skyBase, _178.skyTop, vec3(clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_178.sunHalo * _251) * _251); - if (_243 < 0.0320000015199184417724609375) + vec3 _57 = normalize(sunpos); + vec3 _63 = normalize(cross(_57, vec3(0.0, 1.0, 0.0))); + vec3 _75 = normalize(skypos) - (_57 * dot(normalize(skypos), normalize(sunpos))); + float _89 = max(abs(dot(_75, _63)), abs(dot(_75, normalize(cross(_63, _57))))); + float _98 = clamp((0.25 - _89) * 6.0, 0.0, 1.0); + vec3 final = mix(_18.skyBase, _18.skyTop, vec3(clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_18.sunHalo * _98) * _98); + if (_89 < 0.0320000015199184417724609375) { - final = _178.sunDisk * 3.0; + final = _18.sunDisk * 3.0; } - float _276 = _199.y; - final += (mix(_178.horizonHalo, vec3(0.0), vec3(clamp(abs(_276) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); - if (_178.hasClouds == 1) - { - vec3 param = ((_199 / vec3(_276)) * 2.0) + vec3(_178.time * 0.0500000007450580596923828125); - float _312 = fbm(param); - final = mix(final, vec3(1.0), vec3((max(0.0, _276) * (smoothstep(0.5, 1.0, _312) * 0.300000011920928955078125)) * 2.0)); - } - return final; + vec3 _132 = final; + vec3 _133 = _132 + (mix(_18.horizonHalo, vec3(0.0), vec3(clamp(abs(normalize(skypos).y) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + final = _133; + return _133; } void main() { vec3 param = normalize(pos.xyz); - vec3 param_1 = _178.sunPosition; - frag_color = vec4(sky(param, param_1) * _178.skyIntensity, 1.0); + vec3 param_1 = _18.sunPosition; + frag_color = vec4(sky(param, param_1) * _18.skyIntensity, 1.0); } */ @@ -215,235 +165,71 @@ fs_sky_source_glsl430 := u8.[ 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6d,0x65, 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x6b, 0x79,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x20,0x5f, - 0x31,0x37,0x38,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65, - 0x63,0x34,0x20,0x70,0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74, - 0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x3b,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x6e,0x29, - 0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73, - 0x65,0x28,0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x35,0x20,0x3d,0x20,0x66,0x72,0x61,0x63,0x74, - 0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x34,0x33,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x78, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x37, - 0x2e,0x30,0x2c,0x20,0x31,0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, - 0x34,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x2e, - 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x35,0x36, - 0x20,0x3d,0x20,0x5f,0x33,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x34, - 0x33,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, - 0x34,0x33,0x20,0x2b,0x20,0x31,0x35,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x5f,0x33,0x35,0x2e, - 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x31,0x33, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x31, - 0x34,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x32, - 0x37,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20, - 0x32,0x37,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61, - 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20, - 0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29, - 0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x6d,0x69, - 0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x35,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61, - 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x2c,0x20,0x68,0x61,0x73, - 0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29, - 0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x5f,0x33,0x35,0x2e,0x7a,0x29,0x3b,0x0a, - 0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28,0x69,0x6e,0x6f, - 0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, - 0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e, - 0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74, - 0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30, - 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, - 0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30, - 0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29, - 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30, - 0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32, - 0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31, - 0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e, - 0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38, - 0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37, - 0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, - 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, - 0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39, - 0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x31,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33, - 0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, - 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c, - 0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37, - 0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31, - 0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37, - 0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39, - 0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39, - 0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33, - 0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30, - 0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33, - 0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37, - 0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35, - 0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39, - 0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70, - 0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, - 0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e, - 0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31,0x36,0x33,0x33,0x37,0x32, - 0x30,0x33,0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63, - 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35, - 0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33, - 0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34, - 0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e, - 0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34, - 0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39, - 0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39, - 0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30, - 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30, - 0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39, - 0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37, - 0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38, - 0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20, - 0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x32, - 0x33,0x31,0x36,0x32,0x38,0x34,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20, - 0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f, - 0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33,0x33,0x35,0x38,0x31,0x36,0x38, - 0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, - 0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33, - 0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20, - 0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32, - 0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39, - 0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38, - 0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e, - 0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38, - 0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39, - 0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39, - 0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31, - 0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20, - 0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39,0x39,0x39,0x39,0x39,0x39, - 0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x34,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x36,0x39,0x20,0x3d,0x20,0x66,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x30,0x20,0x3d,0x20,0x5f,0x31,0x36, - 0x39,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x34,0x31,0x36,0x36,0x36,0x36, - 0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39,0x39,0x34,0x38,0x37,0x33,0x30, - 0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x3d,0x20, - 0x5f,0x31,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x5f,0x31,0x37,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73, - 0x6b,0x79,0x28,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x39,0x20,0x3d,0x20,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x20, - 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70, - 0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32, - 0x31,0x37,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63, - 0x72,0x6f,0x73,0x73,0x28,0x5f,0x32,0x31,0x32,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x32,0x39,0x20, - 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70, - 0x6f,0x73,0x29,0x20,0x2d,0x20,0x28,0x5f,0x32,0x31,0x32,0x20,0x2a,0x20,0x64,0x6f, + 0x31,0x38,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63, + 0x34,0x20,0x70,0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x28,0x76,0x65,0x63,0x33,0x20, + 0x73,0x6b,0x79,0x70,0x6f,0x73,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e, + 0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x35,0x37,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, + 0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x36,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f,0x35,0x37,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x35, + 0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79, + 0x70,0x6f,0x73,0x29,0x20,0x2d,0x20,0x28,0x5f,0x35,0x37,0x20,0x2a,0x20,0x64,0x6f, 0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70, 0x6f,0x73,0x29,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73, 0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x32,0x34,0x33,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x61, - 0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x32,0x39,0x2c,0x20,0x5f,0x32,0x31, - 0x37,0x29,0x29,0x2c,0x20,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x32, - 0x39,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f, - 0x73,0x73,0x28,0x5f,0x32,0x31,0x37,0x2c,0x20,0x5f,0x32,0x31,0x32,0x29,0x29,0x29, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32, - 0x35,0x31,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35, - 0x20,0x2d,0x20,0x5f,0x32,0x34,0x33,0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20, - 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28, - 0x5f,0x31,0x37,0x38,0x2e,0x73,0x6b,0x79,0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x31, - 0x37,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a, - 0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39, - 0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39, - 0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x37, - 0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x5f,0x32,0x35,0x31, - 0x29,0x20,0x2a,0x20,0x5f,0x32,0x35,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x5f,0x32,0x34,0x33,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30, - 0x30,0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31,0x37,0x37, - 0x32,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20, - 0x5f,0x31,0x37,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20,0x33, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x36,0x20,0x3d,0x20,0x5f,0x31,0x39,0x39,0x2e, - 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x2b,0x3d,0x20, - 0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x37,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f, - 0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, - 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73, - 0x28,0x5f,0x32,0x37,0x36,0x29,0x20,0x2a,0x20,0x32,0x30,0x2e,0x30,0x2c,0x20,0x30, - 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, - 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x31,0x37,0x38,0x2e,0x68,0x61,0x73,0x43,0x6c,0x6f,0x75,0x64,0x73, - 0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, - 0x3d,0x20,0x28,0x28,0x5f,0x31,0x39,0x39,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28, - 0x5f,0x32,0x37,0x36,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2b,0x20, - 0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x37,0x38,0x2e,0x74,0x69,0x6d,0x65,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30, - 0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x33,0x31,0x32,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x6d, - 0x61,0x78,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x36,0x29,0x20,0x2a,0x20, - 0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c, - 0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x31,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39, - 0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, - 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x70,0x6f,0x73,0x2e,0x78,0x79,0x7a,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x6b,0x79, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29, - 0x20,0x2a,0x20,0x5f,0x31,0x37,0x38,0x2e,0x73,0x6b,0x79,0x49,0x6e,0x74,0x65,0x6e, - 0x73,0x69,0x74,0x79,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, - + 0x6f,0x61,0x74,0x20,0x5f,0x38,0x39,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x61,0x62, + 0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35,0x2c,0x20,0x5f,0x36,0x33,0x29,0x29, + 0x2c,0x20,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35,0x2c,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f, + 0x36,0x33,0x2c,0x20,0x5f,0x35,0x37,0x29,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x38,0x20,0x3d,0x20,0x63,0x6c, + 0x61,0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x38,0x39,0x29, + 0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x69,0x6e,0x61, + 0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x42, + 0x61,0x73,0x65,0x2c,0x20,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70, + 0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30, + 0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b, + 0x20,0x28,0x28,0x5f,0x31,0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a, + 0x20,0x5f,0x39,0x38,0x29,0x20,0x2a,0x20,0x5f,0x39,0x38,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x38,0x39,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33, + 0x32,0x30,0x30,0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31, + 0x37,0x37,0x32,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20, + 0x3d,0x20,0x5f,0x31,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20, + 0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x66,0x69,0x6e,0x61,0x6c, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x33,0x20, + 0x3d,0x20,0x5f,0x31,0x33,0x32,0x20,0x2b,0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31, + 0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63, + 0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, + 0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2e,0x79,0x29,0x20,0x2a,0x20, + 0x32,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29, + 0x29,0x20,0x2a,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39, + 0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x33, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x31, + 0x33,0x33,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, + 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, + 0x70,0x6f,0x73,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x38, + 0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x2e,0x73,0x6b, + 0x79,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es @@ -502,84 +288,34 @@ vs_sky_source_glsl300es := u8.[ highp float time; }; - uniform sky_world_config _178; + uniform sky_world_config _18; in highp vec4 pos; layout(location = 0) out highp vec4 frag_color; - highp float hash(highp float n) - { - return fract(sin(n) * 43758.546875); - } - - highp float _noise(highp vec3 x) - { - highp vec3 _35 = fract(x); - highp float _43 = dot(floor(x), vec3(1.0, 157.0, 113.0)); - highp float param = _43; - highp float param_1 = _43 + 1.0; - highp float _56 = _35.x; - highp float param_2 = _43 + 157.0; - highp float param_3 = _43 + 158.0; - highp float _72 = _35.y; - highp float param_4 = _43 + 113.0; - highp float param_5 = _43 + 114.0; - highp float param_6 = _43 + 270.0; - highp float param_7 = _43 + 271.0; - return mix(mix(mix(hash(param), hash(param_1), _56), mix(hash(param_2), hash(param_3), _56), _72), mix(mix(hash(param_4), hash(param_5), _56), mix(hash(param_6), hash(param_7), _56), _72), _35.z); - } - - highp float fbm(inout highp vec3 p) - { - highp float f = 0.0; - highp vec3 param = p; - f += (_noise(param) * 0.5); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.10000002384185791015625; - highp vec3 param_1 = p; - f += (_noise(param_1) * 0.25); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2000000476837158203125; - highp vec3 param_2 = p; - f += (_noise(param_2) * 0.16666667163372039794921875); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2999999523162841796875; - highp vec3 param_3 = p; - f += (_noise(param_3) * 0.083333335816860198974609375); - p = (mat3(vec3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), vec3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), vec3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.39999997615814208984375; - highp vec3 param_4 = p; - highp float _169 = f; - highp float _170 = _169 + (_noise(param_4) * 0.0416666679084300994873046875); - f = _170; - return _170; - } - highp vec3 sky(highp vec3 skypos, highp vec3 sunpos) { - highp vec3 _199 = normalize(skypos); - highp vec3 _212 = normalize(sunpos); - highp vec3 _217 = normalize(cross(_212, vec3(0.0, 1.0, 0.0))); - highp vec3 _229 = normalize(skypos) - (_212 * dot(normalize(skypos), normalize(sunpos))); - highp float _243 = max(abs(dot(_229, _217)), abs(dot(_229, normalize(cross(_217, _212))))); - highp float _251 = clamp((0.25 - _243) * 6.0, 0.0, 1.0); - highp vec3 final = mix(_178.skyBase, _178.skyTop, vec3(clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_178.sunHalo * _251) * _251); - if (_243 < 0.0320000015199184417724609375) + highp vec3 _57 = normalize(sunpos); + highp vec3 _63 = normalize(cross(_57, vec3(0.0, 1.0, 0.0))); + highp vec3 _75 = normalize(skypos) - (_57 * dot(normalize(skypos), normalize(sunpos))); + highp float _89 = max(abs(dot(_75, _63)), abs(dot(_75, normalize(cross(_63, _57))))); + highp float _98 = clamp((0.25 - _89) * 6.0, 0.0, 1.0); + highp vec3 final = mix(_18.skyBase, _18.skyTop, vec3(clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_18.sunHalo * _98) * _98); + if (_89 < 0.0320000015199184417724609375) { - final = _178.sunDisk * 3.0; + final = _18.sunDisk * 3.0; } - highp float _276 = _199.y; - final += (mix(_178.horizonHalo, vec3(0.0), vec3(clamp(abs(_276) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); - if (_178.hasClouds == 1) - { - highp vec3 param = ((_199 / vec3(_276)) * 2.0) + vec3(_178.time * 0.0500000007450580596923828125); - highp float _312 = fbm(param); - final = mix(final, vec3(1.0), vec3((max(0.0, _276) * (smoothstep(0.5, 1.0, _312) * 0.300000011920928955078125)) * 2.0)); - } - return final; + highp vec3 _132 = final; + highp vec3 _133 = _132 + (mix(_18.horizonHalo, vec3(0.0), vec3(clamp(abs(normalize(skypos).y) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + final = _133; + return _133; } void main() { highp vec3 param = normalize(pos.xyz); - highp vec3 param_1 = _178.sunPosition; - frag_color = vec4(sky(param, param_1) * _178.skyIntensity, 1.0); + highp vec3 param_1 = _18.sunPosition; + frag_color = vec4(sky(param, param_1) * _18.skyIntensity, 1.0); } */ @@ -616,249 +352,75 @@ fs_sky_source_glsl300es := u8.[ 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6d,0x65,0x3b, 0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x6b,0x79, 0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x20,0x5f,0x31, - 0x37,0x38,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x34,0x20,0x70,0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28, - 0x6e,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37, - 0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x35,0x20,0x3d,0x20,0x66, - 0x72,0x61,0x63,0x74,0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x20,0x3d,0x20,0x64, - 0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x78,0x29,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x37,0x2e,0x30,0x2c,0x20,0x31,0x31, - 0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, - 0x34,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x34, - 0x33,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x35,0x36,0x20,0x3d,0x20,0x5f, - 0x33,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20, - 0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x35,0x38, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x5f,0x33,0x35,0x2e,0x79,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b, - 0x20,0x31,0x31,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20, - 0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x31,0x34,0x2e,0x30,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x32, - 0x37,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20, - 0x5f,0x34,0x33,0x20,0x2b,0x20,0x32,0x37,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28, - 0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c, - 0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20, - 0x5f,0x35,0x36,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x5f,0x37, - 0x32,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20, - 0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36, - 0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29, - 0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x5f,0x33, - 0x35,0x2e,0x7a,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28,0x69,0x6e,0x6f,0x75,0x74,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66, - 0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x70, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69, - 0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, - 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, - 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, - 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, - 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, - 0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31, - 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35, - 0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39, - 0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35, - 0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37, - 0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29, - 0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x31,0x30,0x30,0x30,0x30,0x30, - 0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32, - 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, - 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, - 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, - 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, - 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, - 0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31, - 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35, - 0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39, - 0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35, - 0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37, - 0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29, - 0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30, - 0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x36,0x36,0x36, - 0x36,0x36,0x36,0x37,0x31,0x36,0x33,0x33,0x37,0x32,0x30,0x33,0x39,0x37,0x39,0x34, - 0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d, - 0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c, - 0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38, - 0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30, - 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30, - 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36, - 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31, - 0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30, - 0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35, - 0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34, - 0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34, - 0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20, - 0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33, - 0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32, - 0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30, - 0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31, - 0x2e,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x32,0x33,0x31,0x36,0x32,0x38,0x34, - 0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20, - 0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f, - 0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33,0x33,0x35,0x38,0x31,0x36,0x38, - 0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, - 0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33, - 0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20, - 0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32, - 0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39, - 0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38, - 0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e, - 0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38, - 0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39, - 0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39, - 0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31, - 0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20, - 0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39,0x39,0x39,0x39,0x39,0x39, - 0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, - 0x36,0x39,0x20,0x3d,0x20,0x66,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x30,0x20,0x3d,0x20,0x5f, - 0x31,0x36,0x39,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x34,0x31,0x36,0x36, - 0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39,0x39,0x34,0x38,0x37, - 0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20, - 0x3d,0x20,0x5f,0x31,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x5f,0x31,0x37,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x28,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2c,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x31,0x39,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x20, - 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70, - 0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61, - 0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f,0x32,0x31,0x32,0x2c, + 0x38,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x70,0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x73,0x6b,0x79,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35, + 0x37,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75, + 0x6e,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x36,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f,0x35,0x37,0x2c, 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20, 0x30,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x32,0x39,0x20,0x3d,0x20,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x20, - 0x2d,0x20,0x28,0x5f,0x32,0x31,0x32,0x20,0x2a,0x20,0x64,0x6f,0x74,0x28,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2c, - 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70,0x6f, - 0x73,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x34,0x33,0x20,0x3d,0x20,0x6d,0x61,0x78, - 0x28,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x32,0x39,0x2c,0x20,0x5f, - 0x32,0x31,0x37,0x29,0x29,0x2c,0x20,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f, - 0x32,0x32,0x39,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63, - 0x72,0x6f,0x73,0x73,0x28,0x5f,0x32,0x31,0x37,0x2c,0x20,0x5f,0x32,0x31,0x32,0x29, - 0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x35,0x31,0x20,0x3d,0x20,0x63,0x6c,0x61, - 0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x32,0x34,0x33,0x29, - 0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x31, - 0x37,0x38,0x2e,0x73,0x6b,0x79,0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x31,0x37,0x38, - 0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c, - 0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x32, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39, - 0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31, - 0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x37,0x38,0x2e, - 0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x5f,0x32,0x35,0x31,0x29,0x20, - 0x2a,0x20,0x5f,0x32,0x35,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x32,0x34,0x33,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30,0x30,0x30, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x20,0x2d, + 0x20,0x28,0x5f,0x35,0x37,0x20,0x2a,0x20,0x64,0x6f,0x74,0x28,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2c,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x38,0x39,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x61,0x62, + 0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35,0x2c,0x20,0x5f,0x36,0x33,0x29,0x29, + 0x2c,0x20,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35,0x2c,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f, + 0x36,0x33,0x2c,0x20,0x5f,0x35,0x37,0x29,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39, + 0x38,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20, + 0x2d,0x20,0x5f,0x38,0x39,0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20, + 0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x42,0x61,0x73,0x65,0x2c, + 0x20,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79, + 0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36, + 0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34, + 0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f, + 0x31,0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x5f,0x39,0x38, + 0x29,0x20,0x2a,0x20,0x5f,0x39,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x38,0x39,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30,0x30,0x30, 0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31,0x37,0x37,0x32,0x34, 0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31, - 0x37,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20,0x33,0x2e,0x30, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x36,0x20,0x3d,0x20,0x5f, - 0x31,0x39,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x20,0x2b,0x3d,0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x37,0x38,0x2e,0x68,0x6f, - 0x72,0x69,0x7a,0x6f,0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70, - 0x28,0x61,0x62,0x73,0x28,0x5f,0x32,0x37,0x36,0x29,0x20,0x2a,0x20,0x32,0x30,0x2e, - 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39, - 0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x38,0x2e,0x68,0x61,0x73,0x43,0x6c, - 0x6f,0x75,0x64,0x73,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x31, - 0x39,0x39,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32,0x37,0x36,0x29,0x29, - 0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f, - 0x31,0x37,0x38,0x2e,0x74,0x69,0x6d,0x65,0x20,0x2a,0x20,0x30,0x2e,0x30,0x35,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36, - 0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x33,0x31,0x32,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x6d, - 0x61,0x78,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x36,0x29,0x20,0x2a,0x20, - 0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c, - 0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x31,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39, - 0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, + 0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20,0x33,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x66,0x69,0x6e, + 0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x31,0x33,0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x20,0x2b, + 0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f, + 0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73, + 0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f, + 0x73,0x29,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x38,0x30, + 0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35, + 0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e, + 0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x31,0x33,0x33,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, 0x6d,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x70,0x6f, 0x73,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d, - 0x20,0x5f,0x31,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x6b,0x79,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f, - 0x31,0x37,0x38,0x2e,0x73,0x6b,0x79,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, - 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x20,0x5f,0x31,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x38,0x2e,0x73,0x6b,0x79,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #include @@ -963,83 +525,30 @@ vs_sky_source_metal_macos := u8.[ }; static inline __attribute__((always_inline)) - float hash(thread const float& n) + float3 sky(thread const float3& skypos, thread const float3& sunpos, constant sky_world_config& _18) { - return fract(sin(n) * 43758.546875); - } - - static inline __attribute__((always_inline)) - float _noise(thread const float3& x) - { - float3 _35 = fract(x); - float _43 = dot(floor(x), float3(1.0, 157.0, 113.0)); - float param = _43; - float param_1 = _43 + 1.0; - float _56 = _35.x; - float param_2 = _43 + 157.0; - float param_3 = _43 + 158.0; - float _72 = _35.y; - float param_4 = _43 + 113.0; - float param_5 = _43 + 114.0; - float param_6 = _43 + 270.0; - float param_7 = _43 + 271.0; - return mix(mix(mix(hash(param), hash(param_1), _56), mix(hash(param_2), hash(param_3), _56), _72), mix(mix(hash(param_4), hash(param_5), _56), mix(hash(param_6), hash(param_7), _56), _72), _35.z); - } - - static inline __attribute__((always_inline)) - float fbm(thread float3& p) - { - float f = 0.0; - float3 param = p; - f += (_noise(param) * 0.5); - p = (float3x3(float3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), float3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), float3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.10000002384185791015625; - float3 param_1 = p; - f += (_noise(param_1) * 0.25); - p = (float3x3(float3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), float3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), float3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2000000476837158203125; - float3 param_2 = p; - f += (_noise(param_2) * 0.16666667163372039794921875); - p = (float3x3(float3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), float3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), float3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.2999999523162841796875; - float3 param_3 = p; - f += (_noise(param_3) * 0.083333335816860198974609375); - p = (float3x3(float3(0.0, 1.60000002384185791015625, 1.2000000476837158203125), float3(-1.60000002384185791015625, 0.7200000286102294921875, -0.959999978542327880859375), float3(-1.2000000476837158203125, -0.959999978542327880859375, 1.2799999713897705078125)) * p) * 1.39999997615814208984375; - float3 param_4 = p; - float _169 = f; - float _170 = _169 + (_noise(param_4) * 0.0416666679084300994873046875); - f = _170; - return _170; - } - - static inline __attribute__((always_inline)) - float3 sky(thread const float3& skypos, thread const float3& sunpos, constant sky_world_config& _178) - { - float3 _199 = fast::normalize(skypos); - float3 _212 = fast::normalize(sunpos); - float3 _217 = fast::normalize(cross(_212, float3(0.0, 1.0, 0.0))); - float3 _229 = fast::normalize(skypos) - (_212 * dot(fast::normalize(skypos), fast::normalize(sunpos))); - float _243 = fast::max(abs(dot(_229, _217)), abs(dot(_229, fast::normalize(cross(_217, _212))))); - float _251 = fast::clamp((0.25 - _243) * 6.0, 0.0, 1.0); - float3 final = mix(_178.skyBase, _178.skyTop, float3(fast::clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_178.sunHalo * _251) * _251); - if (_243 < 0.0320000015199184417724609375) + float3 _57 = fast::normalize(sunpos); + float3 _63 = fast::normalize(cross(_57, float3(0.0, 1.0, 0.0))); + float3 _75 = fast::normalize(skypos) - (_57 * dot(fast::normalize(skypos), fast::normalize(sunpos))); + float _89 = fast::max(abs(dot(_75, _63)), abs(dot(_75, fast::normalize(cross(_63, _57))))); + float _98 = fast::clamp((0.25 - _89) * 6.0, 0.0, 1.0); + float3 final = mix(_18.skyBase, _18.skyTop, float3(fast::clamp(skypos.y * 2.0, 0.0, 0.699999988079071044921875))) + ((_18.sunHalo * _98) * _98); + if (_89 < 0.0320000015199184417724609375) { - final = _178.sunDisk * 3.0; + final = _18.sunDisk * 3.0; } - float _276 = _199.y; - final += (mix(_178.horizonHalo, float3(0.0), float3(fast::clamp(abs(_276) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); - if (_178.hasClouds == 1) - { - float3 param = ((_199 / float3(_276)) * 2.0) + float3(_178.time * 0.0500000007450580596923828125); - float _312 = fbm(param); - final = mix(final, float3(1.0), float3((fast::max(0.0, _276) * (smoothstep(0.5, 1.0, _312) * 0.300000011920928955078125)) * 2.0)); - } - return final; + float3 _132 = final; + float3 _133 = _132 + (mix(_18.horizonHalo, float3(0.0), float3(fast::clamp(abs(fast::normalize(skypos).y) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + final = _133; + return _133; } - fragment main0_out main0(main0_in in [[stage_in]], constant sky_world_config& _178 [[buffer(0)]]) + fragment main0_out main0(main0_in in [[stage_in]], constant sky_world_config& _18 [[buffer(0)]]) { main0_out out = {}; float3 param = fast::normalize(in.pos.xyz); - float3 param_1 = float3(_178.sunPosition); - out.frag_color = float4(sky(param, param_1, _178) * _178.skyIntensity, 1.0); + float3 param_1 = float3(_18.sunPosition); + out.frag_color = float4(sky(param, param_1, _18) * _18.skyIntensity, 1.0); return out; } @@ -1086,264 +595,86 @@ fs_sky_source_metal_macos := u8.[ 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63, 0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e, - 0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73, - 0x68,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x26,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28, - 0x6e,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37, - 0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e, - 0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65, - 0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e, - 0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73,0x65, - 0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x26,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x33,0x35,0x20,0x3d,0x20,0x66,0x72,0x61,0x63, - 0x74,0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x34,0x33,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28, - 0x78,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20, - 0x31,0x35,0x37,0x2e,0x30,0x2c,0x20,0x31,0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, - 0x3d,0x20,0x5f,0x34,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b, - 0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x35,0x36,0x20,0x3d,0x20,0x5f,0x33,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, - 0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20, - 0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20,0x31,0x35,0x38,0x2e,0x30,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x5f, - 0x33,0x35,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b,0x20, - 0x31,0x31,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20,0x2b, - 0x20,0x31,0x31,0x34,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x34,0x33,0x20, - 0x2b,0x20,0x32,0x37,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x34,0x33, - 0x20,0x2b,0x20,0x32,0x37,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78, - 0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x68,0x61, - 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f,0x35,0x36, - 0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x32,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x33,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c, - 0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x5f,0x35,0x36,0x29,0x2c,0x20,0x6d,0x69,0x78, - 0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x2c,0x20, - 0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x5f, - 0x35,0x36,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x5f,0x33,0x35,0x2e,0x7a, - 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c, - 0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f, - 0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65, - 0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28,0x74,0x68,0x72, - 0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x70,0x29,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x20,0x3d,0x20,0x30, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20, - 0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20, - 0x3d,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x78,0x33,0x28,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30, - 0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32, - 0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38, - 0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, - 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, - 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, - 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, - 0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37, - 0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, - 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, - 0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39, - 0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x31,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x78, - 0x33,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, - 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30, - 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, - 0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30, - 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, - 0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30, - 0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c, - 0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32, - 0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30, - 0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c, - 0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32, - 0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e, - 0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35, - 0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20, - 0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31, - 0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x70, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69, - 0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31,0x36,0x33,0x33,0x37,0x32,0x30,0x33, - 0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x70,0x20,0x3d,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x78,0x33,0x28,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30, - 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, - 0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34, - 0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, - 0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36, - 0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30, - 0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37, - 0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30, - 0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37, - 0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39, - 0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38, - 0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32, - 0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x32,0x33,0x31,0x36,0x32,0x38,0x34,0x31,0x37, - 0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x38,0x33, - 0x33,0x33,0x33,0x33,0x33,0x35,0x38,0x31,0x36,0x38,0x36,0x30,0x31,0x39,0x38,0x39, - 0x37,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70, - 0x20,0x3d,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x78,0x33,0x28,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, - 0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30, - 0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39, - 0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38, - 0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33, - 0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39, - 0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38, - 0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39, - 0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32, - 0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39,0x39, - 0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38, - 0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x39,0x20,0x3d,0x20,0x66, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x30, - 0x20,0x3d,0x20,0x5f,0x31,0x36,0x39,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73, - 0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, - 0x34,0x31,0x36,0x36,0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39, - 0x39,0x34,0x38,0x37,0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x20,0x3d,0x20,0x5f,0x31,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x31,0x37,0x30,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f, - 0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77, - 0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x73,0x6b,0x79,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x73,0x6b,0x79, - 0x70,0x6f,0x73,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73, - 0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x6b,0x79,0x5f,0x77, - 0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x31,0x37, - 0x38,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x5f,0x31,0x39,0x39,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72, - 0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x32,0x20, - 0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, - 0x65,0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x66,0x61,0x73, - 0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f, - 0x73,0x73,0x28,0x5f,0x32,0x31,0x32,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x32, - 0x39,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x20,0x2d,0x20,0x28,0x5f, - 0x32,0x31,0x32,0x20,0x2a,0x20,0x64,0x6f,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a, - 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73, - 0x29,0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x34,0x33,0x20,0x3d,0x20,0x66, - 0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x61,0x62,0x73,0x28,0x64,0x6f,0x74, - 0x28,0x5f,0x32,0x32,0x39,0x2c,0x20,0x5f,0x32,0x31,0x37,0x29,0x29,0x2c,0x20,0x61, - 0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x32,0x39,0x2c,0x20,0x66,0x61,0x73, - 0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f, - 0x73,0x73,0x28,0x5f,0x32,0x31,0x37,0x2c,0x20,0x5f,0x32,0x31,0x32,0x29,0x29,0x29, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32, - 0x35,0x31,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70, - 0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x32,0x34,0x33,0x29,0x20,0x2a, - 0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x66,0x69,0x6e,0x61, - 0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x31,0x37,0x38,0x2e,0x73,0x6b,0x79, - 0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x31,0x37,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f, - 0x70,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a, - 0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a, - 0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39, - 0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39, - 0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x37, - 0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x5f,0x32,0x35,0x31, - 0x29,0x20,0x2a,0x20,0x5f,0x32,0x35,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x5f,0x32,0x34,0x33,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30, - 0x30,0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31,0x37,0x37, - 0x32,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20, - 0x5f,0x31,0x37,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20,0x33, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x36,0x20,0x3d,0x20,0x5f,0x31,0x39,0x39,0x2e, - 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x2b,0x3d,0x20, - 0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x37,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f, - 0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, - 0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x66,0x61,0x73,0x74,0x3a, - 0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x5f,0x32,0x37,0x36,0x29, - 0x20,0x2a,0x20,0x32,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30, - 0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32, - 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x38, - 0x2e,0x68,0x61,0x73,0x43,0x6c,0x6f,0x75,0x64,0x73,0x20,0x3d,0x3d,0x20,0x31,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28, - 0x5f,0x31,0x39,0x39,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x32, - 0x37,0x36,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2b,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x37,0x38,0x2e,0x74,0x69,0x6d,0x65,0x20,0x2a, - 0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30, - 0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x33,0x31,0x32,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c,0x2c,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x30,0x2e,0x30, - 0x2c,0x20,0x5f,0x32,0x37,0x36,0x29,0x20,0x2a,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74, - 0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20, - 0x5f,0x33,0x31,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, - 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, - 0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66, - 0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e, - 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e, - 0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b, - 0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73, + 0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x73,0x6b, + 0x79,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2c,0x20,0x74, + 0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x26,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73,0x2c,0x20,0x63,0x6f,0x6e,0x73, 0x74,0x61,0x6e,0x74,0x20,0x73,0x6b,0x79,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63, - 0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x31,0x37,0x38,0x20,0x5b,0x5b,0x62,0x75, - 0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d, - 0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x69,0x6e,0x2e,0x70,0x6f,0x73,0x2e,0x78, - 0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x5f,0x31,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28, - 0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x2c,0x20,0x5f,0x31,0x37,0x38,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x38, - 0x2e,0x73,0x6b,0x79,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x2c,0x20,0x31, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x31,0x38,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x35,0x37,0x20,0x3d,0x20,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73, + 0x75,0x6e,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x5f,0x36,0x33,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f, + 0x35,0x37,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x37,0x35,0x20,0x3d,0x20,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b, + 0x79,0x70,0x6f,0x73,0x29,0x20,0x2d,0x20,0x28,0x5f,0x35,0x37,0x20,0x2a,0x20,0x64, + 0x6f,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, + 0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2c,0x20,0x66,0x61,0x73,0x74, + 0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70, + 0x6f,0x73,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x5f,0x38,0x39,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78, + 0x28,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35,0x2c,0x20,0x5f,0x36, + 0x33,0x29,0x29,0x2c,0x20,0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x35, + 0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f,0x36,0x33,0x2c,0x20,0x5f,0x35,0x37, + 0x29,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x5f,0x39,0x38,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61, + 0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x38,0x39,0x29,0x20, + 0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x66,0x69,0x6e, + 0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79, + 0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70, + 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63, + 0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20, + 0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39, + 0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32, + 0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x38,0x2e, + 0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x5f,0x39,0x38,0x29,0x20,0x2a, + 0x20,0x5f,0x39,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x38,0x39,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30,0x30,0x30,0x30,0x30,0x31, + 0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31,0x37,0x37,0x32,0x34,0x36,0x30,0x39, + 0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x38,0x2e,0x73, + 0x75,0x6e,0x44,0x69,0x73,0x6b,0x20,0x2a,0x20,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f, + 0x31,0x33,0x32,0x20,0x3d,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x33,0x33,0x20,0x3d,0x20,0x5f, + 0x31,0x33,0x32,0x20,0x2b,0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x2e,0x68, + 0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, + 0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28, + 0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, + 0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39, + 0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x31,0x33,0x33,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65, + 0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20, + 0x73,0x6b,0x79,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67, + 0x26,0x20,0x5f,0x31,0x38,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30, + 0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, + 0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x28,0x69,0x6e,0x2e,0x70,0x6f,0x73,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x38,0x2e,0x73, + 0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x73,0x6b,0x79,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x5f,0x31,0x38, + 0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x2e,0x73,0x6b,0x79,0x49,0x6e,0x74,0x65,0x6e, + 0x73,0x69,0x74,0x79,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + ]; sky_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc: sg_shader_desc; @@ -1367,49 +698,49 @@ sky_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[1].size = 160; desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[0].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_178.skyBase"; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_18.skyBase"; desc.uniform_blocks[1].glsl_uniforms[1].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[1].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_178.skyTop"; + desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_18.skyTop"; desc.uniform_blocks[1].glsl_uniforms[2].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[2].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_178.sunDisk"; + desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_18.sunDisk"; desc.uniform_blocks[1].glsl_uniforms[3].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[3].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_178.horizonHalo"; + desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_18.horizonHalo"; desc.uniform_blocks[1].glsl_uniforms[4].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[4].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_178.sunHalo"; + desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_18.sunHalo"; desc.uniform_blocks[1].glsl_uniforms[5].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[5].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_178.sunLightColor"; + desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_18.sunLightColor"; desc.uniform_blocks[1].glsl_uniforms[6].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[6].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_178.sunPosition"; + desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_18.sunPosition"; desc.uniform_blocks[1].glsl_uniforms[7].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[7].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_178.sunIntensity"; + desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_18.sunIntensity"; desc.uniform_blocks[1].glsl_uniforms[8].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[8].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_178.skyIntensity"; + desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_18.skyIntensity"; desc.uniform_blocks[1].glsl_uniforms[9].type = .INT; desc.uniform_blocks[1].glsl_uniforms[9].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_178.hasClouds"; + desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_18.hasClouds"; desc.uniform_blocks[1].glsl_uniforms[10].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[10].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_178.planeHeight"; + desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_18.planeHeight"; desc.uniform_blocks[1].glsl_uniforms[11].type = .INT; desc.uniform_blocks[1].glsl_uniforms[11].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_178.animatePlaneHeight"; + desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_18.animatePlaneHeight"; desc.uniform_blocks[1].glsl_uniforms[12].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[12].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_178.waterColor"; + desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_18.waterColor"; desc.uniform_blocks[1].glsl_uniforms[13].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[13].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_178.deepColor"; + desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_18.deepColor"; desc.uniform_blocks[1].glsl_uniforms[14].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[14].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[14].glsl_name = "_178.time"; + desc.uniform_blocks[1].glsl_uniforms[14].glsl_name = "_18.time"; case .GLES3; desc.vertex_func.source = xx *vs_sky_source_glsl300es; desc.vertex_func.entry = "main"; @@ -1428,49 +759,49 @@ sky_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[1].size = 160; desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[0].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_178.skyBase"; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_18.skyBase"; desc.uniform_blocks[1].glsl_uniforms[1].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[1].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_178.skyTop"; + desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_18.skyTop"; desc.uniform_blocks[1].glsl_uniforms[2].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[2].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_178.sunDisk"; + desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_18.sunDisk"; desc.uniform_blocks[1].glsl_uniforms[3].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[3].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_178.horizonHalo"; + desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_18.horizonHalo"; desc.uniform_blocks[1].glsl_uniforms[4].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[4].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_178.sunHalo"; + desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_18.sunHalo"; desc.uniform_blocks[1].glsl_uniforms[5].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[5].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_178.sunLightColor"; + desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_18.sunLightColor"; desc.uniform_blocks[1].glsl_uniforms[6].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[6].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_178.sunPosition"; + desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_18.sunPosition"; desc.uniform_blocks[1].glsl_uniforms[7].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[7].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_178.sunIntensity"; + desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_18.sunIntensity"; desc.uniform_blocks[1].glsl_uniforms[8].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[8].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_178.skyIntensity"; + desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_18.skyIntensity"; desc.uniform_blocks[1].glsl_uniforms[9].type = .INT; desc.uniform_blocks[1].glsl_uniforms[9].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_178.hasClouds"; + desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_18.hasClouds"; desc.uniform_blocks[1].glsl_uniforms[10].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[10].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_178.planeHeight"; + desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_18.planeHeight"; desc.uniform_blocks[1].glsl_uniforms[11].type = .INT; desc.uniform_blocks[1].glsl_uniforms[11].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_178.animatePlaneHeight"; + desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_18.animatePlaneHeight"; desc.uniform_blocks[1].glsl_uniforms[12].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[12].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_178.waterColor"; + desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_18.waterColor"; desc.uniform_blocks[1].glsl_uniforms[13].type = .FLOAT3; desc.uniform_blocks[1].glsl_uniforms[13].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_178.deepColor"; + desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_18.deepColor"; desc.uniform_blocks[1].glsl_uniforms[14].type = .FLOAT; desc.uniform_blocks[1].glsl_uniforms[14].array_count = 0; - desc.uniform_blocks[1].glsl_uniforms[14].glsl_name = "_178.time"; + desc.uniform_blocks[1].glsl_uniforms[14].glsl_name = "_18.time"; case .METAL_MACOS; desc.vertex_func.source = xx *vs_sky_source_metal_macos; desc.vertex_func.entry = "main0"; diff --git a/src/shaders/jai/shader_trile.jai b/src/shaders/jai/shader_trile.jai index a2ee048..c91504c 100644 --- a/src/shaders/jai/shader_trile.jai +++ b/src/shaders/jai/shader_trile.jai @@ -461,7 +461,7 @@ vs_trile_source_glsl430 := u8.[ layout(binding = 16) uniform sampler2D triletex_trilesmp; layout(binding = 17) uniform sampler2DShadow shadowtex_shadowsmp; layout(binding = 18) uniform sampler2D rdm_lookup_trilesmp; - layout(binding = 19) uniform sampler2D ssaotex_trilesmp; + layout(binding = 19) uniform sampler2D ssaotex_rdmsmp; layout(binding = 20) uniform sampler2D rdm_atlas_rdmsmp; layout(binding = 21) uniform sampler2D brdf_lut_rdmsmp; @@ -471,9 +471,9 @@ vs_trile_source_glsl430 := u8.[ layout(location = 1) in vec3 to_center; layout(location = 4) in vec4 fnormal; layout(location = 0) in vec3 cam; + layout(location = 0) out vec4 frag_color; layout(location = 6) in vec3 trileCenter; layout(location = 7) in vec3 cv; - layout(location = 0) out vec4 frag_color; vec3 fresnelSchlick(float cosTheta, vec3 F0) { @@ -532,32 +532,32 @@ vs_trile_source_glsl430 := u8.[ vec3 vc = v; if ((index / 2) == 0) { - vec3 _2123 = vc; - _2123.z = v.y; - _2123.y = v.z; - vc = _2123; + vec3 _2169 = vc; + _2169.z = v.y; + _2169.y = v.z; + vc = _2169; } if ((index / 2) == 2) { - vec3 _2127 = vc; - _2127.z = v.x; - _2127.x = v.z; - vc = _2127; + vec3 _2173 = vc; + _2173.z = v.x; + _2173.x = v.z; + vc = _2173; } if ((index % 2) == 1) { - vec3 _2131 = vc; - _2131.z = _2131.z * (-1.0); - vc = _2131; + vec3 _2177 = vc; + _2177.z = _2177.z * (-1.0); + vc = _2177; } - vec3 _2134 = vc; - float _608 = _2134.x + off.x; - vec3 _2136 = _2134; - _2136.x = _608; - float _614 = _2134.y + off.y; - _2136.y = _614; - vc = _2136; - vec2 _632 = _2136.xy * (1.0 / ((abs(_608) + abs(_614)) + _2134.z)); + vec3 _2180 = vc; + float _608 = _2180.x + off.x; + vec3 _2182 = _2180; + _2182.x = _608; + float _614 = _2180.y + off.y; + _2182.y = _614; + vc = _2182; + vec2 _632 = _2182.xy * (1.0 / ((abs(_608) + abs(_614)) + _2180.z)); float _635 = _632.x; float _637 = _632.y; return vec2(((_635 + _637) + 1.0) * 0.5, ((_635 - _637) + 1.0) * 0.5); @@ -847,65 +847,71 @@ vs_trile_source_glsl430 := u8.[ } vec3 pos_after_adjust = ipos - (orig_normal * 0.0199999995529651641845703125); int count = 0; - vec4 trixel_material; - while (count < 5) + int maxCount = 5; + bool _1432 = _1413.is_reflection == 1; + if (_1432) { - vec4 _1470 = texelFetch(triletex_trilesmp, ivec2(int(clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16)), 0); - trixel_material = _1470; - if (length(_1470) > 0.00999999977648258209228515625) + maxCount = 1; + } + vec4 trixel_material; + while (count < maxCount) + { + vec4 _1477 = texelFetch(triletex_trilesmp, ivec2(int(clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16)), 0); + trixel_material = _1477; + if (length(_1477) > 0.00999999977648258209228515625) { break; } pos_after_adjust += (to_center * 0.100000001490116119384765625); count++; } - int _1493 = int(round(trixel_material.w * 255.0)); + int _1500 = int(round(trixel_material.w * 255.0)); float emittance = 0.0; int roughnessInt = 0; float roughness = 0.0500000007450580596923828125; float metallic = 0.0; - if ((_1493 & 1) != 0) + if ((_1500 & 1) != 0) { - emittance = float((_1493 >> 1) & 127) * 0.0078740157186985015869140625; + emittance = float((_1500 >> 1) & 127) * 0.0078740157186985015869140625; } else { - int _1513 = (_1493 >> 5) & 7; - roughnessInt = _1513; - roughness = max(float(_1513) * 0.14285714924335479736328125, 0.0500000007450580596923828125); - metallic = float((_1493 >> 3) & 3) * 0.3333333432674407958984375; + int _1520 = (_1500 >> 5) & 7; + roughnessInt = _1520; + roughness = max(float(_1520) * 0.14285714924335479736328125, 0.0500000007450580596923828125); + metallic = float((_1500 >> 3) & 3) * 0.3333333432674407958984375; } - vec3 _1529 = abs(fnormal.xyz); - float _1531 = _1529.x; - float _1533 = _1529.y; - bool _1534 = _1531 >= _1533; - bool _1542; - if (_1534) + vec3 _1536 = abs(fnormal.xyz); + float _1538 = _1536.x; + float _1540 = _1536.y; + bool _1541 = _1538 >= _1540; + bool _1549; + if (_1541) { - _1542 = _1531 >= _1529.z; + _1549 = _1538 >= _1536.z; } else { - _1542 = _1534; + _1549 = _1541; } vec3 N; - if (_1542) + if (_1549) { N = vec3(sign(fnormal.x), 0.0, 0.0); } else { - bool _1555 = _1533 >= _1531; - bool _1563; - if (_1555) + bool _1562 = _1540 >= _1538; + bool _1570; + if (_1562) { - _1563 = _1533 >= _1529.z; + _1570 = _1540 >= _1536.z; } else { - _1563 = _1555; + _1570 = _1562; } - if (_1563) + if (_1570) { N = vec3(0.0, sign(fnormal.y), 0.0); } @@ -914,115 +920,120 @@ vs_trile_source_glsl430 := u8.[ N = vec3(0.0, 0.0, sign(fnormal.z)); } } - vec3 _1580 = normalize(cam - vpos); - vec3 _1584 = normalize(_278.sunPosition); - vec3 _1589 = normalize(_1580 + _1584); - vec3 _1597 = mix(vec3(0.039999999105930328369140625), trixel_material.xyz, vec3(metallic)); - float param = max(dot(_1589, _1580), 0.0); - vec3 param_1 = _1597; - vec3 _1606 = fresnelSchlick(param, param_1); + if (_1432) + { + frag_color = vec4((((trixel_material.xyz * max(dot(N, normalize(_278.sunPosition)), 0.0)) * _278.sunLightColor) * _278.sunIntensity) + (trixel_material.xyz * 0.100000001490116119384765625), 1.0); + return; + } + vec3 _1628 = normalize(cam - vpos); + vec3 _1632 = normalize(_278.sunPosition); + vec3 _1637 = normalize(_1628 + _1632); + vec3 _1645 = mix(vec3(0.039999999105930328369140625), trixel_material.xyz, vec3(metallic)); + float param = max(dot(_1637, _1628), 0.0); + vec3 param_1 = _1645; + vec3 _1654 = fresnelSchlick(param, param_1); vec3 param_2 = N; - vec3 param_3 = _1589; + vec3 param_3 = _1637; float param_4 = roughness; vec3 param_5 = N; - vec3 param_6 = _1580; - vec3 param_7 = _1584; + vec3 param_6 = _1628; + vec3 param_7 = _1632; float param_8 = roughness; - float _1640 = max(dot(N, _1584), 0.0); - vec4 _1673 = _1413.mvp_shadow * vec4(floor(vpos * 16.0) * vec3(0.0625), 1.0); - vec3 _1684 = ((_1673.xyz / vec3(_1673.w)) * 0.5) + vec3(0.5); - float _1688 = _1684.z - 0.001000000047497451305389404296875; - vec3 _2105 = _1684; - _2105.z = _1688; - vec3 light = ((((((((vec3(1.0) - _1606) * (1.0 - metallic)) * trixel_material.xyz) * vec3(0.3183410167694091796875)) + ((_1606 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / vec3(((4.0 * max(dot(N, _1580), 0.0)) * _1640) + 9.9999997473787516355514526367188e-05))) * texture(shadowtex_shadowsmp, vec3(_2105.xy, _1688))) * _1640) * _278.sunLightColor) * _278.sunIntensity; - vec3 _1725 = trileCenter + (N * 0.4900000095367431640625); - ivec3 _1731 = ivec3(mod(floor(trileCenter), vec3(32.0))); - ivec3 param_9 = _1731; + float _1688 = max(dot(N, _1632), 0.0); + vec4 _1721 = _1413.mvp_shadow * vec4(floor(vpos * 16.0) * vec3(0.0625), 1.0); + vec3 _1732 = ((_1721.xyz / vec3(_1721.w)) * 0.5) + vec3(0.5); + float _1736 = _1732.z - 0.001000000047497451305389404296875; + vec3 _2151 = _1732; + _2151.z = _1736; + vec3 light = ((((((((vec3(1.0) - _1654) * (1.0 - metallic)) * trixel_material.xyz) * vec3(0.3183410167694091796875)) + ((_1654 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / vec3(((4.0 * max(dot(N, _1628), 0.0)) * _1688) + 9.9999997473787516355514526367188e-05))) * texture(shadowtex_shadowsmp, vec3(_2151.xy, _1736))) * _1688) * _278.sunLightColor) * _278.sunIntensity; + vec3 _1773 = trileCenter + (N * 0.4900000095367431640625); + ivec3 _1779 = ivec3(mod(floor(trileCenter), vec3(32.0))); + ivec3 param_9 = _1779; int param_10 = roughnessInt; - vec4 _1757 = texture(ssaotex_trilesmp, vec2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), 0.0); - float _1758 = _1757.x; - bool _1768 = _1413.rdm_enabled == 1; - bool _1774; - if (_1768) + vec4 _1805 = texture(ssaotex_rdmsmp, vec2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), 0.0); + float _1806 = _1805.x; + bool _1816 = _1413.rdm_enabled == 1; + bool _1822; + if (_1816) { - _1774 = rdm_get_atlas_rect(param_9, param_10).z > 0.0; + _1822 = rdm_get_atlas_rect(param_9, param_10).z > 0.0; } else { - _1774 = _1768; + _1822 = _1816; } - if (_1774) + if (_1822) { - float param_11 = max(dot(N, _1580), 0.0); - vec3 param_12 = _1597; + float param_11 = max(dot(N, _1628), 0.0); + vec3 param_12 = _1645; float param_13 = roughness; - vec3 _1787 = FresnelSchlickRoughness(param_11, param_12, param_13); - vec3 _1794 = vpos - _1725; + vec3 _1835 = FresnelSchlickRoughness(param_11, param_12, param_13); + vec3 _1842 = vpos - _1773; vec3 param_14 = N; vec3 param_15 = -cv; - vec3 param_16 = _1725; - vec3 param_17 = _1794; + vec3 param_16 = _1773; + vec3 param_17 = _1842; int param_18 = roughnessInt; - ivec3 param_19 = _1731; - vec3 _1809 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19) * _1413.rdm_tint; - float _1831 = max(dot(N, _1580), 0.0); - vec4 _1834 = texture(brdf_lut_rdmsmp, vec2(_1831, roughness)); - float _1844 = sin(roughness * 3.141285419464111328125); - light += (((((mix(_1809, vec3(dot(_1809, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), vec3(metallic)) * ((_1787 * _1834.x) + vec3(_1834.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1844))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1844) * pow(1.0 - _1831, 2.0)))) * (1.0 - clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); + ivec3 param_19 = _1779; + vec3 _1857 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19) * _1413.rdm_tint; + float _1879 = max(dot(N, _1628), 0.0); + vec4 _1882 = texture(brdf_lut_rdmsmp, vec2(_1879, roughness)); + float _1892 = sin(roughness * 3.141285419464111328125); + light += (((((mix(_1857, vec3(dot(_1857, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), vec3(metallic)) * ((_1835 * _1882.x) + vec3(_1882.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1892))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1892) * pow(1.0 - _1879, 2.0)))) * (1.0 - clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); vec3 param_20 = N; - vec3 param_21 = _1794; - ivec3 param_22 = _1731; - vec3 _1900 = sample_rdm_diff(param_20, param_21, param_22) * _1413.rdm_tint; - light += (((((((vec3(1.0) - _1787) * (1.0 - metallic)) * mix(vec3(dot(_1900, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1900, vec3(_1413.rdm_diff_saturation))) * vec3(0.3183410167694091796875)) * trixel_material.xyz) * _1758) * _1413.rdm_diff_scale); + vec3 param_21 = _1842; + ivec3 param_22 = _1779; + vec3 _1948 = sample_rdm_diff(param_20, param_21, param_22) * _1413.rdm_tint; + light += (((((((vec3(1.0) - _1835) * (1.0 - metallic)) * mix(vec3(dot(_1948, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1948, vec3(_1413.rdm_diff_saturation))) * vec3(0.3183410167694091796875)) * trixel_material.xyz) * _1806) * _1413.rdm_diff_scale); if (_1413.rdm_diff_scale < 0.001000000047497451305389404296875) { - light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1758); + light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1806); } if (length(light) < _1413.ambient_intensity) { - light += (((_1413.ambient_color * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1758); + light += (((_1413.ambient_color * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1806); } } else { - light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1758); - vec3 _1987 = reflect(-_1580, N); - vec3 R = _1987; - if (_1987.y < 0.0) + light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1806); + vec3 _2035 = reflect(-_1628, N); + vec3 R = _2035; + if (_2035.y < 0.0) { R = reflect(R, vec3(0.0, 1.0, 0.0)); } vec3 param_23 = R; vec3 param_24 = _278.sunPosition; - light += ((_1606 * sky(param_23, param_24)) * 0.100000001490116119384765625); + light += ((_1654 * sky(param_23, param_24)) * 0.100000001490116119384765625); } vec3 final_color = light + ((trixel_material.xyz * emittance) * _1413.emissive_scale); if (_278.hsv_lighting == 1) { vec3 param_25 = trixel_material.xyz; - vec3 _2026 = rgb2hsv(param_25); - _2026.z = clamp(_2026.z * (dot(final_color, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); - vec3 param_26 = _2026; + vec3 _2074 = rgb2hsv(param_25); + _2074.z = clamp(_2074.z * (dot(final_color, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); + vec3 param_26 = _2074; final_color = hsv2rgb(param_26); } frag_color = vec4(mix(_278.deepColor, final_color, vec3(smoothstep(0.0, _278.planeHeight, vpos.y))), 1.0); if (_1413.is_preview == 1) { - vec4 _2060 = frag_color; - vec3 _2064 = mix(_2060.xyz, vec3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), vec3(0.5)); - frag_color.x = _2064.x; - frag_color.y = _2064.y; - frag_color.z = _2064.z; + vec4 _2106 = frag_color; + vec3 _2110 = mix(_2106.xyz, vec3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), vec3(0.5)); + frag_color.x = _2110.x; + frag_color.y = _2110.y; + frag_color.z = _2110.z; } else { if (_1413.is_preview == 2) { - vec4 _2078 = frag_color; - vec3 _2082 = mix(_2078.xyz, vec3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), vec3(0.5)); - frag_color.x = _2082.x; - frag_color.y = _2082.y; - frag_color.z = _2082.z; + vec4 _2124 = frag_color; + vec3 _2128 = mix(_2124.xyz, vec3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), vec3(0.5)); + frag_color.x = _2128.x; + frag_color.y = _2128.y; + frag_color.z = _2128.z; } } } @@ -1092,300 +1103,323 @@ fs_trile_source_glsl430 := u8.[ 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e, 0x67,0x20,0x3d,0x20,0x31,0x39,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x73,0x61,0x6f,0x74,0x65, - 0x78,0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f, - 0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x32,0x30,0x29, - 0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, - 0x32,0x44,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d, - 0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, - 0x69,0x6e,0x67,0x20,0x3d,0x20,0x32,0x31,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, - 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x72,0x64,0x66, - 0x5f,0x6c,0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, - 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, - 0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x69,0x70,0x6f,0x73,0x3b, - 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x70, - 0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, - 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33, - 0x20,0x6f,0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61, - 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, - 0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x65, - 0x6e,0x74,0x65,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x76,0x65, - 0x63,0x34,0x20,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x78,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x32,0x30,0x29,0x20,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44, + 0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d, + 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e, + 0x67,0x20,0x3d,0x20,0x32,0x31,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x72,0x64,0x66,0x5f,0x6c, + 0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x69,0x70,0x6f,0x73,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x70,0x6f,0x73, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x6f, + 0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74, + 0x65,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34, + 0x20,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, + 0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x61,0x6d,0x3b,0x0a,0x6c,0x61,0x79,0x6f, 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29, - 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x61,0x6d,0x3b,0x0a,0x6c,0x61, - 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, - 0x36,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x72,0x69,0x6c,0x65, - 0x43,0x65,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x69,0x6e,0x20, - 0x76,0x65,0x63,0x33,0x20,0x63,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, - 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75, - 0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c, - 0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f, - 0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x46,0x30,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x46,0x30, - 0x20,0x2b,0x20,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d, - 0x20,0x46,0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d,0x70, - 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c, - 0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29, - 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x44,0x69,0x73,0x74, - 0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58,0x28,0x76,0x65,0x63,0x33, - 0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x48,0x2c,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d,0x20, - 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x34,0x30,0x30,0x20,0x3d,0x20,0x5f,0x33,0x39,0x36,0x20,0x2a,0x20,0x5f, - 0x33,0x39,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x34,0x30,0x35,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c, - 0x20,0x48,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x37,0x20,0x3d,0x20,0x28,0x28,0x5f,0x34, - 0x30,0x35,0x20,0x2a,0x20,0x5f,0x34,0x30,0x35,0x29,0x20,0x2a,0x20,0x28,0x5f,0x34, - 0x30,0x30,0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x34,0x30, - 0x30,0x20,0x2f,0x20,0x28,0x28,0x33,0x2e,0x31,0x34,0x31,0x32,0x38,0x35,0x34,0x31, - 0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20, - 0x5f,0x34,0x31,0x37,0x29,0x20,0x2a,0x20,0x5f,0x34,0x31,0x37,0x29,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79, - 0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x4e,0x64,0x6f,0x74,0x56,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x36,0x20,0x3d,0x20,0x28,0x5f, - 0x34,0x33,0x30,0x20,0x2a,0x20,0x5f,0x34,0x33,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x4e,0x64,0x6f,0x74,0x56,0x20,0x2f,0x20,0x28,0x28,0x4e,0x64,0x6f,0x74,0x56,0x20, - 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x34,0x33,0x36,0x29,0x29,0x20, - 0x2b,0x20,0x5f,0x34,0x33,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28, - 0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x56,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x20,0x4c,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6d,0x61,0x78, - 0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x56,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x32,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20, - 0x4c,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c, - 0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x20,0x2a,0x20,0x47,0x65,0x6f,0x6d,0x65, - 0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x76,0x65,0x63,0x34,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61, - 0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x69,0x76,0x65,0x63,0x33,0x20, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72, - 0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x69,0x6e,0x74,0x20,0x5f,0x36,0x37,0x34,0x20,0x3d,0x20,0x28,0x28,0x6c,0x6f,0x63, - 0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x78,0x20,0x2b,0x20,0x28,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x33,0x32,0x29,0x29,0x20,0x2b, - 0x20,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x7a,0x20,0x2a,0x20, - 0x31,0x30,0x32,0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e, - 0x65,0x73,0x73,0x20,0x2a,0x20,0x33,0x32,0x37,0x36,0x38,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65, - 0x74,0x63,0x68,0x28,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x5f,0x74, - 0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f, - 0x36,0x37,0x34,0x20,0x25,0x20,0x35,0x31,0x32,0x2c,0x20,0x5f,0x36,0x37,0x34,0x20, - 0x2f,0x20,0x35,0x31,0x32,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, - 0x65,0x63,0x33,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69, - 0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x28,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x20,0x46,0x30,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68, - 0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x46,0x30,0x20,0x2b,0x20,0x28,0x28,0x6d,0x61,0x78,0x28,0x76,0x65, - 0x63,0x33,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x29,0x2c,0x20,0x46,0x30,0x29,0x20,0x2d,0x20,0x46,0x30,0x29,0x20,0x2a, - 0x20,0x70,0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x31,0x2e,0x30,0x20,0x2d, - 0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72, - 0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x76,0x65,0x63,0x33,0x20,0x4e, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28, - 0x28,0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d, - 0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x29, - 0x2c,0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30, - 0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29, - 0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x7a,0x20,0x3e,0x3d,0x20,0x30, - 0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36, - 0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x32,0x29,0x29,0x20,0x2b,0x20, - 0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30, - 0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x2c, - 0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30, - 0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20, - 0x2a,0x20,0x33,0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x78, - 0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30, - 0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x34, - 0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65, - 0x63,0x33,0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d, - 0x30,0x2e,0x30,0x29,0x2c,0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38, - 0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38, - 0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x76, - 0x65,0x63,0x32,0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78, - 0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x76,0x65,0x63,0x34,0x20,0x61, - 0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2c,0x20,0x69,0x6e,0x74,0x20,0x66, - 0x61,0x63,0x65,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x37, - 0x30,0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65, - 0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d, - 0x70,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61, - 0x73,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x28,0x5f,0x37,0x30,0x37,0x2e,0x78,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61, - 0x63,0x65,0x20,0x25,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a, - 0x65,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65, - 0x63,0x74,0x2e,0x79,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x37,0x30, - 0x37,0x2e,0x79,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61,0x63,0x65,0x20,0x2f, - 0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65,0x29,0x29,0x3b, - 0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74, - 0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x76,0x65,0x63,0x33,0x20,0x76,0x2c, - 0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x2c,0x20,0x76,0x65,0x63,0x32, - 0x20,0x6f,0x66,0x66,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x76,0x63,0x20,0x3d,0x20,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20, - 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x33,0x20,0x3d,0x20,0x76,0x63, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x33,0x2e, - 0x7a,0x20,0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x5f,0x32,0x31,0x32,0x33,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31, - 0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d, - 0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x37,0x20,0x3d,0x20,0x76, - 0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x37, - 0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x32,0x31,0x32,0x37,0x2e,0x78,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32, - 0x31,0x32,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x32,0x29,0x20,0x3d, - 0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x33,0x31,0x20,0x3d,0x20, - 0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33, - 0x31,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x31,0x2e,0x7a,0x20,0x2a,0x20, - 0x28,0x2d,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x33,0x34, - 0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x36,0x30,0x38,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x78,0x20, - 0x2b,0x20,0x6f,0x66,0x66,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x32,0x31,0x33,0x36,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33,0x36,0x2e,0x78,0x20,0x3d,0x20,0x5f, - 0x36,0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x36,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x79,0x20,0x2b,0x20, - 0x6f,0x66,0x66,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33,0x36, - 0x2e,0x79,0x20,0x3d,0x20,0x5f,0x36,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x32,0x20,0x5f,0x36,0x33,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x36, - 0x2e,0x78,0x79,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x28,0x28,0x61, - 0x62,0x73,0x28,0x5f,0x36,0x30,0x38,0x29,0x20,0x2b,0x20,0x61,0x62,0x73,0x28,0x5f, - 0x36,0x31,0x34,0x29,0x29,0x20,0x2b,0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x7a,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33, - 0x35,0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x37,0x20,0x3d,0x20,0x5f,0x36,0x33, - 0x32,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x5f,0x36,0x33,0x35,0x20,0x2b,0x20,0x5f,0x36, - 0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35, - 0x2c,0x20,0x28,0x28,0x5f,0x36,0x33,0x35,0x20,0x2d,0x20,0x5f,0x36,0x33,0x37,0x29, - 0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a, - 0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x6e,0x29, - 0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73, - 0x65,0x28,0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x36,0x20,0x3d,0x20,0x66,0x72,0x61,0x63, - 0x74,0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x31,0x34,0x34,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72, - 0x28,0x78,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31, - 0x35,0x37,0x2e,0x30,0x2c,0x20,0x31,0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, - 0x20,0x5f,0x31,0x34,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20, - 0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x31,0x35,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x78,0x3b,0x0a, + 0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29,0x20,0x69,0x6e,0x20,0x76,0x65, + 0x63,0x33,0x20,0x74,0x72,0x69,0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x37,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x76,0x3b, + 0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63, + 0x68,0x6c,0x69,0x63,0x6b,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x73,0x54, + 0x68,0x65,0x74,0x61,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x46,0x30,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x46,0x30,0x20,0x2b, + 0x20,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x46, + 0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x31, + 0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x30, + 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x44,0x69,0x73,0x74,0x72,0x69, + 0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58,0x28,0x76,0x65,0x63,0x33,0x20,0x4e, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x48,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, + 0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x34,0x30,0x30,0x20,0x3d,0x20,0x5f,0x33,0x39,0x36,0x20,0x2a,0x20,0x5f,0x33,0x39, + 0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30, + 0x35,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x48, + 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x34,0x31,0x37,0x20,0x3d,0x20,0x28,0x28,0x5f,0x34,0x30,0x35, + 0x20,0x2a,0x20,0x5f,0x34,0x30,0x35,0x29,0x20,0x2a,0x20,0x28,0x5f,0x34,0x30,0x30, + 0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x34,0x30,0x30,0x20, + 0x2f,0x20,0x28,0x28,0x33,0x2e,0x31,0x34,0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34, + 0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x5f,0x34, + 0x31,0x37,0x29,0x20,0x2a,0x20,0x5f,0x34,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63, + 0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20,0x4e, + 0x64,0x6f,0x74,0x56,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x34,0x33,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, + 0x65,0x73,0x73,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x36,0x20,0x3d,0x20,0x28,0x5f,0x34,0x33, + 0x30,0x20,0x2a,0x20,0x5f,0x34,0x33,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x32, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x4e,0x64, + 0x6f,0x74,0x56,0x20,0x2f,0x20,0x28,0x28,0x4e,0x64,0x6f,0x74,0x56,0x20,0x2a,0x20, + 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x34,0x33,0x36,0x29,0x29,0x20,0x2b,0x20, + 0x5f,0x34,0x33,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x76,0x65, + 0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x56,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x20,0x4c,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64, + 0x6f,0x74,0x28,0x4e,0x2c,0x20,0x56,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e,0x30, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x38, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, - 0x37,0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d, - 0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x33,0x2e,0x30,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35, - 0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x34,0x2e,0x30,0x3b, + 0x31,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x4c,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63, + 0x6b,0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x33,0x29,0x20,0x2a,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72, + 0x79,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x76,0x65,0x63,0x34,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c, + 0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f, + 0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75, + 0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x20,0x5f,0x36,0x37,0x34,0x20,0x3d,0x20,0x28,0x28,0x6c,0x6f,0x63,0x61,0x6c, + 0x5f,0x70,0x6f,0x73,0x2e,0x78,0x20,0x2b,0x20,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f, + 0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x33,0x32,0x29,0x29,0x20,0x2b,0x20,0x28, + 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x30, + 0x32,0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x20,0x2a,0x20,0x33,0x32,0x37,0x36,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63, + 0x68,0x28,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x5f,0x74,0x72,0x69, + 0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x36,0x37, + 0x34,0x20,0x25,0x20,0x35,0x31,0x32,0x2c,0x20,0x5f,0x36,0x37,0x34,0x20,0x2f,0x20, + 0x35,0x31,0x32,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63, + 0x33,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b, + 0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x46, + 0x30,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, + 0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x46,0x30,0x20,0x2b,0x20,0x28,0x28,0x6d,0x61,0x78,0x28,0x76,0x65,0x63,0x33, + 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x29,0x2c,0x20,0x46,0x30,0x29,0x20,0x2d,0x20,0x46,0x30,0x29,0x20,0x2a,0x20,0x70, + 0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63, + 0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, + 0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e, + 0x74,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d, + 0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x28,0x28, + 0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e, + 0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x29,0x2c,0x20, + 0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31, + 0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x7a,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39, + 0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32, + 0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x32,0x29,0x29,0x20,0x2b,0x20,0x28,0x69, + 0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e,0x30, + 0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x2c,0x20,0x4e, + 0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39, + 0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20, + 0x33,0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x78,0x20,0x3e, + 0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33, + 0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x34,0x29,0x29, + 0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33, + 0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e, + 0x30,0x29,0x2c,0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30, + 0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32, + 0x35,0x29,0x20,0x2a,0x20,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x76,0x65,0x63, + 0x32,0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c, + 0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x76,0x65,0x63,0x34,0x20,0x61,0x74,0x6c, + 0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2c,0x20,0x69,0x6e,0x74,0x20,0x66,0x61,0x63, + 0x65,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x37,0x30,0x37, + 0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72, + 0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c, + 0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61,0x73,0x5f, + 0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f, + 0x37,0x30,0x37,0x2e,0x78,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61,0x63,0x65, + 0x20,0x25,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65,0x29, + 0x2c,0x20,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74, + 0x2e,0x79,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x37,0x30,0x37,0x2e, + 0x79,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61,0x63,0x65,0x20,0x2f,0x20,0x32, + 0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65,0x29,0x29,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68, + 0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x76,0x65,0x63,0x33,0x20,0x76,0x2c,0x20,0x69, + 0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x2c,0x20,0x76,0x65,0x63,0x32,0x20,0x6f, + 0x66,0x66,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x63,0x20,0x3d,0x20,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28, + 0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x30,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x36,0x39,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x36,0x39,0x2e,0x7a,0x20, + 0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x32,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x36,0x39, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x32, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x33,0x20,0x3d,0x20,0x76,0x63,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x33,0x2e,0x7a, + 0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x32,0x31,0x37,0x33,0x2e,0x78,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x37, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20, + 0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x37,0x20,0x3d,0x20,0x76,0x63, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x37,0x2e, + 0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x37,0x37,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x2d, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63, + 0x20,0x3d,0x20,0x5f,0x32,0x31,0x37,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x38,0x30,0x20,0x3d, + 0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x36,0x30,0x38,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x78,0x20,0x2b,0x20, + 0x6f,0x66,0x66,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x32,0x31,0x38,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x36,0x30, + 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x31, + 0x34,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x79,0x20,0x2b,0x20,0x6f,0x66, + 0x66,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x79, + 0x20,0x3d,0x20,0x5f,0x36,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x63,0x20, + 0x3d,0x20,0x5f,0x32,0x31,0x38,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x32,0x20,0x5f,0x36,0x33,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x78, + 0x79,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x28,0x28,0x61,0x62,0x73, + 0x28,0x5f,0x36,0x30,0x38,0x29,0x20,0x2b,0x20,0x61,0x62,0x73,0x28,0x5f,0x36,0x31, + 0x34,0x29,0x29,0x20,0x2b,0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x7a,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x35,0x20, + 0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x37,0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65, + 0x63,0x32,0x28,0x28,0x28,0x5f,0x36,0x33,0x35,0x20,0x2b,0x20,0x5f,0x36,0x33,0x37, + 0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x2c,0x20, + 0x28,0x28,0x5f,0x36,0x33,0x35,0x20,0x2d,0x20,0x5f,0x36,0x33,0x37,0x29,0x20,0x2b, + 0x20,0x31,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x6e,0x29,0x20,0x2a, + 0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28, + 0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x31,0x33,0x36,0x20,0x3d,0x20,0x66,0x72,0x61,0x63,0x74,0x28, + 0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, + 0x34,0x34,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x78, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x37, + 0x2e,0x30,0x2c,0x20,0x31,0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, + 0x31,0x34,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20, + 0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x31,0x35,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20, + 0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x38,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x33, + 0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f, + 0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d, + 0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x34,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36, + 0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x30,0x2e,0x30,0x3b, 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x30,0x2e, - 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37, - 0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x6d, - 0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29, - 0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c, - 0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37,0x33,0x29,0x2c,0x20,0x6d, - 0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x35,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28, - 0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x2c,0x20,0x68, - 0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x5f,0x31, - 0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37,0x33,0x29,0x2c,0x20,0x5f,0x31,0x33,0x36, - 0x2e,0x7a,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62, - 0x6d,0x28,0x69,0x6e,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x29,0x0a, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x20,0x3d,0x20, - 0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b, - 0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29, - 0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d, - 0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c, - 0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38, - 0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30, - 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30, - 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36, - 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31, - 0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30, - 0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35, - 0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34, - 0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34, - 0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20, - 0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33, - 0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32, - 0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30, - 0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31, - 0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37, - 0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x70,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33, - 0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30, + 0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x31,0x2e, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x69, + 0x78,0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x6d,0x69,0x78, + 0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x2c,0x20, + 0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x5f, + 0x31,0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37,0x33,0x29,0x2c,0x20,0x6d,0x69,0x78, + 0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35, + 0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61, + 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x2c,0x20,0x68,0x61,0x73, + 0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37, + 0x29,0x2c,0x20,0x5f,0x31,0x37,0x33,0x29,0x2c,0x20,0x5f,0x31,0x33,0x36,0x2e,0x7a, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28, + 0x69,0x6e,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x20,0x3d,0x20,0x30,0x2e, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20, + 0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a, + 0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28, + 0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37, + 0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30, + 0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31, + 0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30, 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, - 0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34, - 0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c, - 0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30, - 0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39, - 0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38, - 0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d, - 0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31, - 0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39, + 0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32, + 0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20, + 0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33, + 0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, + 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30, + 0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37, + 0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39, + 0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38, + 0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x31, + 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31, + 0x30,0x31,0x35,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, + 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, + 0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, + 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33, + 0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20, + 0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32, + 0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39, 0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38, - 0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39, - 0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29, - 0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30, - 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, - 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x32,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b, - 0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31, - 0x36,0x33,0x33,0x37,0x32,0x30,0x33,0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37, + 0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e, + 0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38, + 0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39, + 0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39, + 0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31, + 0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20, + 0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30, + 0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20, + 0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29, + 0x20,0x2a,0x20,0x30,0x2e,0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31,0x36,0x33, + 0x33,0x37,0x32,0x30,0x33,0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, + 0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, + 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20, + 0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, + 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c, + 0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, + 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35, + 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, + 0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31, + 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35, + 0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39, + 0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35, + 0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37, + 0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29, + 0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x39,0x39,0x39,0x39,0x39, + 0x39,0x35,0x32,0x33,0x31,0x36,0x32,0x38,0x34,0x31,0x37,0x39,0x36,0x38,0x37,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d, + 0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, + 0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33,0x33,0x35,0x38, + 0x31,0x36,0x38,0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30,0x39,0x33,0x37, 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74, 0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30, 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, @@ -1402,1019 +1436,1019 @@ fs_trile_source_glsl430 := u8.[ 0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30, 0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39, 0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x39,0x39,0x39, - 0x39,0x39,0x39,0x35,0x32,0x33,0x31,0x36,0x32,0x38,0x34,0x31,0x37,0x39,0x36,0x38, - 0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20, - 0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33,0x33, - 0x35,0x38,0x31,0x36,0x38,0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30,0x39, - 0x33,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d, - 0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, - 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30, - 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, - 0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38, - 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d, - 0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32, - 0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38, - 0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e, - 0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38, - 0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39, - 0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31, - 0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39, - 0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39, - 0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x30,0x20,0x3d,0x20,0x66,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x31,0x20, - 0x3d,0x20,0x5f,0x32,0x37,0x30,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x34, - 0x31,0x36,0x36,0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39,0x39, - 0x34,0x38,0x37,0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x20,0x3d,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, - 0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x28,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79, - 0x70,0x6f,0x73,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32, - 0x39,0x36,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2c,0x20,0x6e,0x6f,0x72,0x6d, - 0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x39,0x39,0x20,0x3d,0x20, - 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x69,0x6e,0x61, - 0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x6b,0x79, - 0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f, - 0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b, - 0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e, - 0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37, - 0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29, - 0x20,0x2b,0x20,0x28,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c, - 0x6f,0x20,0x2a,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x5f,0x32,0x39,0x36,0x20, - 0x2d,0x20,0x30,0x2e,0x39,0x34,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39, - 0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x20,0x2a,0x20, - 0x31,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x38,0x30,0x30, - 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, - 0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36, - 0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x32,0x39,0x36,0x20,0x3e,0x20,0x30,0x2e,0x39,0x39,0x39,0x38,0x39,0x39, - 0x39,0x38,0x33,0x34,0x30,0x36,0x30,0x36,0x36,0x38,0x39,0x34,0x35,0x33,0x31,0x32, - 0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75, - 0x6e,0x44,0x69,0x73,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x32, - 0x39,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20, - 0x2b,0x3d,0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x6f,0x72, - 0x69,0x7a,0x6f,0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30, - 0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28, - 0x61,0x62,0x73,0x28,0x5f,0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x38,0x30,0x2e,0x30, - 0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31, - 0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x61,0x73, - 0x43,0x6c,0x6f,0x75,0x64,0x73,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x32,0x39,0x39,0x20,0x2f, - 0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x34,0x30,0x29,0x29,0x20,0x2a,0x20,0x32, - 0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32,0x37,0x38,0x2e, - 0x74,0x69,0x6d,0x65,0x20,0x2a,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38, - 0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x37,0x36,0x20,0x3d,0x20,0x66,0x62,0x6d, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e, - 0x61,0x6c,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x28,0x6d,0x61,0x78,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x33, - 0x34,0x30,0x29,0x20,0x2a,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65, - 0x70,0x28,0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x37,0x36, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39, - 0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29, - 0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, - 0x5f,0x72,0x64,0x6d,0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x20,0x56,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x64,0x6d,0x5f,0x63,0x65, - 0x6e,0x74,0x65,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69,0x66,0x66,0x2c, - 0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x2c,0x20, - 0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f, - 0x37,0x34,0x36,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f, - 0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f, - 0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x32,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x35,0x32,0x20,0x3d,0x20, - 0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65, - 0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x37,0x35,0x34,0x20,0x3d,0x20,0x5f,0x37,0x35,0x32,0x2e,0x7a,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x35,0x34,0x20,0x3c,0x3d,0x20,0x30, - 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, - 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x37,0x34, - 0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x5f,0x37,0x35,0x34,0x20,0x2a,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28, - 0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70, - 0x2c,0x20,0x30,0x29,0x2e,0x78,0x29,0x29,0x20,0x2f,0x20,0x32,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x37,0x37,0x20,0x3d,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x28,0x5f,0x37,0x37,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, - 0x37,0x35,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f, - 0x37,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f, - 0x37,0x38,0x35,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70, - 0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x38,0x32,0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, - 0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x56,0x2c,0x20,0x4e,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e, - 0x65,0x73,0x73,0x20,0x3e,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x36,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, - 0x64,0x69,0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x32, - 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61, - 0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x65, - 0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29,0x20,0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f, - 0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x38,0x29,0x20,0x2a,0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20, - 0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69, - 0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d, - 0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e, - 0x74,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x34,0x30,0x3b, - 0x20,0x69,0x2b,0x2b,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x39,0x34,0x20,0x3d,0x20, - 0x64,0x69,0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x28, - 0x66,0x6c,0x6f,0x61,0x74,0x28,0x69,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x30, - 0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x64,0x6f,0x74,0x28,0x5f,0x38,0x39,0x34,0x2c,0x20,0x4e,0x29,0x20,0x3c, - 0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74, - 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, - 0x28,0x5f,0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x5f, - 0x37,0x34,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20,0x76,0x65,0x63, - 0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x34,0x20,0x5f,0x39,0x33,0x31,0x20,0x3d,0x20,0x74,0x65,0x78,0x74, - 0x75,0x72,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64, - 0x6d,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35, - 0x29,0x20,0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d, - 0x69,0x6f,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31, - 0x29,0x20,0x2a,0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63, - 0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64, + 0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39,0x39,0x39, + 0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38,0x34, + 0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x30,0x20,0x3d,0x20,0x66,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x31,0x20,0x3d,0x20, + 0x5f,0x32,0x37,0x30,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x34,0x31,0x36, + 0x36,0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39,0x39,0x34,0x38, + 0x37,0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x20,0x3d,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63, + 0x33,0x20,0x73,0x6b,0x79,0x28,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x70,0x6f, + 0x73,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x39,0x36, + 0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, + 0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x69,0x7a,0x65,0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x39,0x39,0x20,0x3d,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20, + 0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x6b,0x79,0x42,0x61, + 0x73,0x65,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70, + 0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30, + 0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b, + 0x20,0x28,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20, + 0x2a,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x5f,0x32,0x39,0x36,0x20,0x2d,0x20, + 0x30,0x2e,0x39,0x34,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37, + 0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x30, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38, + 0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35, + 0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x32,0x39,0x36,0x20,0x3e,0x20,0x30,0x2e,0x39,0x39,0x39,0x38,0x39,0x39,0x39,0x38, + 0x33,0x34,0x30,0x36,0x30,0x36,0x36,0x38,0x39,0x34,0x35,0x33,0x31,0x32,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x44, + 0x69,0x73,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x32,0x39,0x39, + 0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x2b,0x3d, + 0x20,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a, + 0x6f,0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62, + 0x73,0x28,0x5f,0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x38,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31, + 0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x61,0x73,0x43,0x6c, + 0x6f,0x75,0x64,0x73,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x32,0x39,0x39,0x20,0x2f,0x20,0x76, + 0x65,0x63,0x33,0x28,0x5f,0x33,0x34,0x30,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30, + 0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32,0x37,0x38,0x2e,0x74,0x69, + 0x6d,0x65,0x20,0x2a,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38, + 0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x33,0x37,0x36,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x28,0x6d,0x61,0x78,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30, + 0x29,0x20,0x2a,0x20,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28, + 0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x37,0x36,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, + 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a, + 0x20,0x32,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72, + 0x64,0x6d,0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20, + 0x56,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x64,0x6d,0x5f,0x63,0x65,0x6e,0x74, + 0x65,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69,0x66,0x66,0x2c,0x20,0x69, + 0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x2c,0x20,0x69,0x76, + 0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, + 0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x34, + 0x36,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72, + 0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x35,0x32,0x20,0x3d,0x20,0x72,0x64, + 0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37, + 0x35,0x34,0x20,0x3d,0x20,0x5f,0x37,0x35,0x32,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x35,0x34,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x37,0x34,0x20,0x3d, + 0x20,0x69,0x6e,0x74,0x28,0x5f,0x37,0x35,0x34,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64, 0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20, - 0x30,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x35,0x20,0x3d,0x20, - 0x5f,0x39,0x33,0x31,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x38,0x20,0x3d,0x20,0x6c,0x65,0x6e, - 0x67,0x74,0x68,0x28,0x5f,0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x34,0x39,0x20,0x3d,0x20,0x28, - 0x5f,0x39,0x33,0x35,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x20,0x26,0x26,0x20,0x28, - 0x5f,0x39,0x33,0x35,0x20,0x3c,0x20,0x5f,0x39,0x33,0x38,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x35,0x37,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x39,0x34, - 0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x35,0x37,0x20,0x3d,0x20, - 0x28,0x5f,0x39,0x33,0x35,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x3e,0x20,0x5f, - 0x39,0x33,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x39,0x35,0x37,0x20,0x3d,0x20,0x5f,0x39,0x34,0x39,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x39,0x35,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x39,0x33,0x31,0x2e,0x78,0x79,0x7a, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x44,0x69, - 0x72,0x20,0x3d,0x20,0x5f,0x38,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x38,0x32,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6b, - 0x79,0x44,0x69,0x72,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x73, - 0x6b,0x79,0x44,0x69,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c, - 0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x73,0x6b,0x79,0x44,0x69,0x72,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33, - 0x20,0x3d,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74, - 0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20, - 0x69,0x73,0x69,0x67,0x6e,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x29,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x20,0x3c, - 0x20,0x30,0x2e,0x30,0x29,0x20,0x3f,0x20,0x28,0x2d,0x31,0x29,0x20,0x3a,0x20,0x31, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68, - 0x6e,0x65,0x73,0x73,0x5f,0x74,0x6f,0x5f,0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65, - 0x28,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x6f,0x77, - 0x28,0x32,0x2e,0x30,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x38,0x20,0x2d,0x20, - 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x76,0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f, - 0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c, - 0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73, - 0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20, - 0x3d,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x39, - 0x38,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c, - 0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x39,0x38,0x37,0x2e,0x7a,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x5f,0x39,0x39,0x38,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e, - 0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x37,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x30,0x30,0x32,0x20,0x3d,0x20,0x69, - 0x6e,0x74,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x5f,0x74,0x6f,0x5f, - 0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f, - 0x39,0x39,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x32,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x30,0x20,0x3d,0x20, - 0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f, - 0x66,0x66,0x73,0x65,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x37,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x39,0x39,0x38,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x37,0x20,0x3d,0x20,0x72, - 0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x2c, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x32,0x34,0x20,0x3d,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x28,0x5f,0x31,0x30,0x30,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68, + 0x30,0x29,0x2e,0x78,0x29,0x29,0x20,0x2f,0x20,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x37,0x37,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x28,0x5f,0x37,0x37,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x37,0x35, + 0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x34,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x37,0x37, + 0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x37,0x38, + 0x35,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78, + 0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x38,0x32,0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x56,0x2c,0x20,0x4e,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x20,0x3e,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x36,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x64,0x69, + 0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x32,0x2e,0x30, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c, + 0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32, + 0x28,0x5f,0x37,0x38,0x35,0x29,0x20,0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65, + 0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x38,0x29,0x20,0x2a,0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20, + 0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65, 0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d, - 0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x30,0x31,0x30,0x2e,0x78, - 0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e,0x78,0x20,0x2a, - 0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x2c,0x20,0x5f,0x31,0x30,0x31,0x30,0x2e,0x79, - 0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e,0x79,0x20,0x2a, - 0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x7a, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x6d,0x69,0x78,0x28,0x76, - 0x65,0x63,0x33,0x20,0x61,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x62,0x2c,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x61,0x2c,0x20,0x62,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30, - 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, - 0x35,0x36,0x32,0x35,0x29,0x20,0x2f,0x20,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20, - 0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35, - 0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x70,0x6f,0x77, - 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, - 0x36,0x32,0x35,0x29,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33, - 0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66, - 0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69, - 0x66,0x66,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f, - 0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x32,0x20,0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, - 0x30,0x38,0x36,0x20,0x3d,0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20, - 0x30,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20, - 0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38, - 0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69, - 0x66,0x66,0x2e,0x78,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x7a,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20, - 0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32, - 0x28,0x64,0x69,0x66,0x66,0x2e,0x78,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, - 0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66, - 0x2e,0x7a,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x73,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x76,0x65,0x63,0x33,0x20,0x73,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, - 0x63,0x33,0x20,0x73,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, - 0x31,0x30,0x38,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, - 0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20, - 0x30,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x64, - 0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x30,0x2c, - 0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e, - 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61, - 0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33,0x20,0x3d, - 0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x30, - 0x37,0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30, - 0x37,0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x70,0x2c,0x20,0x30,0x29,0x29,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20, + 0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x34,0x30,0x3b,0x20,0x69, + 0x2b,0x2b,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x39,0x34,0x20,0x3d,0x20,0x64,0x69, + 0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x28,0x69,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x64,0x6f,0x74,0x28,0x5f,0x38,0x39,0x34,0x2c,0x20,0x4e,0x29,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e, + 0x75,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f, + 0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x5f,0x37,0x34, + 0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28, + 0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x39,0x33,0x31,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73, + 0x6d,0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29,0x20, + 0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f, + 0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29,0x20, + 0x2a,0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f, + 0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29, + 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x35,0x20,0x3d,0x20,0x5f,0x39, + 0x33,0x31,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x38,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74, + 0x68,0x28,0x5f,0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x34,0x39,0x20,0x3d,0x20,0x28,0x5f,0x39, + 0x33,0x35,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x20,0x26,0x26,0x20,0x28,0x5f,0x39, + 0x33,0x35,0x20,0x3c,0x20,0x5f,0x39,0x33,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x35,0x37,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x39,0x34,0x39,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x35,0x37,0x20,0x3d,0x20,0x28,0x5f, + 0x39,0x33,0x35,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x3e,0x20,0x5f,0x39,0x33, + 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20, - 0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, - 0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20, - 0x30,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36, - 0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x36,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x37,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61, - 0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x73,0x33,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74, - 0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x30, - 0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20, - 0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x31,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61, - 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x73,0x33,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x69,0x73, - 0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29,0x2c,0x20,0x69, - 0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x5f,0x39,0x35,0x37,0x20,0x3d,0x20,0x5f,0x39,0x34,0x39,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x39,0x35,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x39,0x33,0x31,0x2e,0x78,0x79,0x7a,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x44,0x69,0x72,0x20, + 0x3d,0x20,0x5f,0x38,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x38,0x32,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6b,0x79,0x44, + 0x69,0x72,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x73,0x6b,0x79, + 0x44,0x69,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x33,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x20,0x3d,0x20,0x69,0x76,0x65, - 0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x70,0x6f,0x73,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e, + 0x31,0x32,0x20,0x3d,0x20,0x73,0x6b,0x79,0x44,0x69,0x72,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d, + 0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6b, + 0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20,0x69,0x73, + 0x69,0x67,0x6e,0x28,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x29,0x20,0x3f,0x20,0x28,0x2d,0x31,0x29,0x20,0x3a,0x20,0x31,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, + 0x73,0x73,0x5f,0x74,0x6f,0x5f,0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x69, + 0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x6f,0x77,0x28,0x32, + 0x2e,0x30,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x38,0x20,0x2d,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65, + 0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69, + 0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x69, + 0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20, + 0x76,0x65,0x63,0x33,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x39,0x38,0x37, + 0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73, + 0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x39,0x38,0x37,0x2e,0x7a,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x5f,0x39,0x39,0x38,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x30,0x30,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74, + 0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x5f,0x74,0x6f,0x5f,0x72,0x64, + 0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x34,0x20,0x3d,0x20,0x5f,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x39,0x39, + 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x30,0x20,0x3d,0x20,0x72,0x64, + 0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37, + 0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x39,0x39,0x38,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d, + 0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x2c,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x31,0x30,0x32,0x34,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x28,0x5f,0x31,0x30,0x30,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x72, + 0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c, + 0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x30,0x31,0x30,0x2e,0x78,0x20,0x2b, + 0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e,0x78,0x20,0x2a,0x20,0x5f, + 0x31,0x30,0x32,0x34,0x29,0x2c,0x20,0x5f,0x31,0x30,0x31,0x30,0x2e,0x79,0x20,0x2b, + 0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e,0x79,0x20,0x2a,0x20,0x5f, + 0x31,0x30,0x32,0x34,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x6d,0x69,0x78,0x28,0x76,0x65,0x63, + 0x33,0x20,0x61,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x62,0x2c,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x61,0x2c,0x20,0x62,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, + 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, + 0x32,0x35,0x29,0x20,0x2f,0x20,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e, + 0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, + 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x70,0x6f,0x77,0x28,0x31, + 0x2e,0x30,0x20,0x2d,0x20,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30, + 0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32, + 0x35,0x29,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x28,0x76, + 0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69,0x66,0x66, + 0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f, + 0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x38, + 0x36,0x20,0x3d,0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x30,0x29, + 0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x31,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x36,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, + 0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66, + 0x2e,0x78,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f, + 0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f, + 0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64, + 0x69,0x66,0x66,0x2e,0x78,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c, + 0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x7a, + 0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x76,0x65,0x63,0x33,0x20,0x73,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, + 0x63,0x33,0x20,0x73,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33, + 0x20,0x73,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30, + 0x38,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20, + 0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73, + 0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x30,0x2c, + 0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x64,0x65,0x6c, + 0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32, + 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x30,0x2c,0x20,0x69, + 0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33,0x20,0x3d,0x20,0x69, + 0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x29,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x30,0x37,0x37, + 0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30,0x37,0x37, + 0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x64,0x65, + 0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73, + 0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x30,0x2c, + 0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d, + 0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x36,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x37,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33, + 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, + 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x30,0x2c,0x20, + 0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x64,0x65, + 0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c, + 0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x29, + 0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31, + 0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33, + 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67, + 0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29,0x2c,0x20,0x69,0x73,0x69, + 0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33, + 0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33, + 0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f, + 0x70,0x6f,0x73,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33, + 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, + 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35, + 0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x20,0x3d,0x20,0x69, + 0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f, + 0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x31,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, + 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, + 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e, + 0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34, + 0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20, + 0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f, + 0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73, + 0x20,0x2b,0x20,0x73,0x32,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e, 0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30, 0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38, 0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30, 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, 0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30, 0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36, 0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x20,0x3d, + 0x72,0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d, 0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x31,0x29,0x2c, + 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x33,0x29,0x2c, 0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34, 0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, 0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39, 0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20, 0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36, 0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20, - 0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, - 0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70, - 0x6f,0x73,0x20,0x2b,0x20,0x73,0x32,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33, - 0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x33, - 0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39, - 0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, - 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39, - 0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33, - 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63, - 0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x33, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x34,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30, - 0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37, - 0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30, - 0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x35,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64, - 0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c, - 0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x37, - 0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x38,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f, - 0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70, - 0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x30,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x33,0x31,0x20,0x3d,0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x32,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x37,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x20,0x3d,0x20,0x73,0x6d, - 0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x33,0x33,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61, - 0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x31,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x72,0x67,0x62,0x32, - 0x68,0x73,0x76,0x28,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x33,0x30,0x34,0x20,0x3d,0x20,0x6d, - 0x69,0x78,0x28,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x7a,0x79,0x2c,0x20,0x2d,0x31, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36,0x35, - 0x33,0x34,0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x2c, - 0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x79,0x7a,0x2c,0x20,0x30,0x2e,0x30,0x2c, - 0x20,0x2d,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37, - 0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x34,0x28,0x73,0x74,0x65,0x70,0x28,0x63,0x2e,0x7a,0x2c,0x20,0x63, - 0x2e,0x79,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x31,0x33,0x31,0x30,0x20,0x3d,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x78, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x33,0x32,0x38, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x33,0x31, - 0x30,0x2c,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x79,0x77,0x2c,0x20,0x63,0x2e,0x78, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x78,0x2c,0x20,0x5f,0x31,0x33, - 0x30,0x34,0x2e,0x79,0x7a,0x2c,0x20,0x5f,0x31,0x33,0x31,0x30,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x34,0x28,0x73,0x74,0x65,0x70,0x28,0x5f,0x31,0x33,0x31,0x30,0x2c,0x20, - 0x63,0x2e,0x78,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x33,0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e, - 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33, - 0x33,0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x77,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x33,0x35,0x20,0x3d,0x20, - 0x5f,0x31,0x33,0x32,0x38,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x31,0x33,0x33,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x31, - 0x20,0x2d,0x20,0x6d,0x69,0x6e,0x28,0x5f,0x31,0x33,0x33,0x33,0x2c,0x20,0x5f,0x31, - 0x33,0x33,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x76,0x65,0x63,0x33,0x28,0x61,0x62,0x73,0x28,0x5f,0x31,0x33,0x32,0x38,0x2e, - 0x7a,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x33,0x33,0x33,0x20,0x2d,0x20,0x5f,0x31, - 0x33,0x33,0x35,0x29,0x20,0x2f,0x20,0x28,0x28,0x36,0x2e,0x30,0x20,0x2a,0x20,0x5f, - 0x31,0x33,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x31,0x33,0x33,0x35,0x31,0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30, - 0x38,0x39,0x37,0x33,0x39,0x36,0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x29,0x29, - 0x2c,0x20,0x5f,0x31,0x33,0x33,0x37,0x20,0x2f,0x20,0x28,0x5f,0x31,0x33,0x33,0x31, - 0x20,0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x33,0x35, - 0x31,0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39,0x37,0x33,0x39, - 0x36,0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x2c,0x20,0x5f,0x31,0x33,0x33,0x31, - 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x68,0x73,0x76,0x32,0x72, - 0x67,0x62,0x28,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33, - 0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73, - 0x28,0x28,0x66,0x72,0x61,0x63,0x74,0x28,0x63,0x2e,0x78,0x78,0x78,0x20,0x2b,0x20, - 0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36, - 0x36,0x36,0x36,0x38,0x36,0x35,0x33,0x34,0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39, - 0x36,0x38,0x37,0x35,0x2c,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34, - 0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37, - 0x35,0x29,0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63, - 0x33,0x28,0x33,0x2e,0x30,0x29,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31, - 0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x63,0x2e,0x79,0x29,0x29,0x20,0x2a,0x20,0x63,0x2e,0x7a,0x3b,0x0a,0x7d,0x0a, - 0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x34,0x30,0x37,0x20,0x3d,0x20, - 0x76,0x70,0x6f,0x73,0x2e,0x79,0x20,0x3c,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x70, - 0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x20,0x2d,0x20,0x30,0x2e,0x30, - 0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38, - 0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x34,0x31,0x37,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x30,0x37,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31, - 0x37,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x72,0x65,0x66, - 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37, - 0x20,0x3d,0x20,0x5f,0x31,0x34,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x37,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73, - 0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61, - 0x64,0x6a,0x75,0x73,0x74,0x20,0x3d,0x20,0x69,0x70,0x6f,0x73,0x20,0x2d,0x20,0x28, - 0x6f,0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e, - 0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31, - 0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x30, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x74,0x72,0x69,0x78,0x65, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x20, + 0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66, + 0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f, + 0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x37,0x20,0x3d, + 0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38, + 0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69, + 0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x30,0x20, + 0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, + 0x31,0x20,0x3d,0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x37,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x20,0x3d,0x20,0x73,0x6d,0x69,0x78, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x33,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6d, + 0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x31,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x33,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x33,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x72,0x67,0x62,0x32,0x68,0x73, + 0x76,0x28,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x33,0x30,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78, + 0x28,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x7a,0x79,0x2c,0x20,0x2d,0x31,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36,0x35,0x33,0x34, + 0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x34,0x28,0x63,0x2e,0x79,0x7a,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x2d, + 0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34, + 0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x34,0x28,0x73,0x74,0x65,0x70,0x28,0x63,0x2e,0x7a,0x2c,0x20,0x63,0x2e,0x79, + 0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x31,0x33,0x31,0x30,0x20,0x3d,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x33,0x32,0x38,0x20,0x3d, + 0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x33,0x31,0x30,0x2c, + 0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x79,0x77,0x2c,0x20,0x63,0x2e,0x78,0x29,0x2c, + 0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x78,0x2c,0x20,0x5f,0x31,0x33,0x30,0x34, + 0x2e,0x79,0x7a,0x2c,0x20,0x5f,0x31,0x33,0x31,0x30,0x29,0x2c,0x20,0x76,0x65,0x63, + 0x34,0x28,0x73,0x74,0x65,0x70,0x28,0x5f,0x31,0x33,0x31,0x30,0x2c,0x20,0x63,0x2e, + 0x78,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x31,0x33,0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x78,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x33,0x33, + 0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x33,0x35,0x20,0x3d,0x20,0x5f,0x31, + 0x33,0x32,0x38,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x5f,0x31,0x33,0x33,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x31,0x20,0x2d, + 0x20,0x6d,0x69,0x6e,0x28,0x5f,0x31,0x33,0x33,0x33,0x2c,0x20,0x5f,0x31,0x33,0x33, + 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76, + 0x65,0x63,0x33,0x28,0x61,0x62,0x73,0x28,0x5f,0x31,0x33,0x32,0x38,0x2e,0x7a,0x20, + 0x2b,0x20,0x28,0x28,0x5f,0x31,0x33,0x33,0x33,0x20,0x2d,0x20,0x5f,0x31,0x33,0x33, + 0x35,0x29,0x20,0x2f,0x20,0x28,0x28,0x36,0x2e,0x30,0x20,0x2a,0x20,0x5f,0x31,0x33, + 0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31, + 0x33,0x33,0x35,0x31,0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39, + 0x37,0x33,0x39,0x36,0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x29,0x29,0x2c,0x20, + 0x5f,0x31,0x33,0x33,0x37,0x20,0x2f,0x20,0x28,0x5f,0x31,0x33,0x33,0x31,0x20,0x2b, + 0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x33,0x35,0x31,0x34, + 0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39,0x37,0x33,0x39,0x36,0x30, + 0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x2c,0x20,0x5f,0x31,0x33,0x33,0x31,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62, + 0x28,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31, + 0x2e,0x30,0x29,0x2c,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x28, + 0x66,0x72,0x61,0x63,0x74,0x28,0x63,0x2e,0x78,0x78,0x78,0x20,0x2b,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x38,0x36,0x35,0x33,0x34,0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39,0x36,0x38, + 0x37,0x35,0x2c,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32, + 0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29, + 0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28, + 0x33,0x2e,0x30,0x29,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63, + 0x2e,0x79,0x29,0x29,0x20,0x2a,0x20,0x63,0x2e,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x34,0x30,0x37,0x20,0x3d,0x20,0x76,0x70, + 0x6f,0x73,0x2e,0x79,0x20,0x3c,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x70,0x6c,0x61, + 0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x39, + 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30, + 0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x34,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20, + 0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20,0x3d, + 0x20,0x5f,0x31,0x34,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x37,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61, + 0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a, + 0x75,0x73,0x74,0x20,0x3d,0x20,0x69,0x70,0x6f,0x73,0x20,0x2d,0x20,0x28,0x6f,0x72, + 0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31, + 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34, + 0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x6d,0x61,0x78,0x43,0x6f,0x75,0x6e,0x74, + 0x20,0x3d,0x20,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f, + 0x31,0x34,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x33,0x32,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x61, + 0x78,0x43,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x74,0x72,0x69,0x78,0x65, 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3c,0x20,0x35, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x34,0x37,0x30,0x20,0x3d,0x20,0x74,0x65,0x78, - 0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x74,0x72,0x69,0x6c,0x65,0x74,0x65,0x78, - 0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32, - 0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61, - 0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x7a,0x2c,0x20,0x39, - 0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31, - 0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38, - 0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38, - 0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a, - 0x20,0x31,0x36,0x2e,0x30,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d, + 0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3c,0x20,0x6d, + 0x61,0x78,0x43,0x6f,0x75,0x6e,0x74,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x34,0x37, + 0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x74, + 0x72,0x69,0x6c,0x65,0x74,0x65,0x78,0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70, + 0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d, 0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75, - 0x73,0x74,0x2e,0x79,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, + 0x73,0x74,0x2e,0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, 0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32, 0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39, 0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33, - 0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20, - 0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61, - 0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x78,0x2c,0x20,0x39, - 0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31, - 0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38, - 0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38, - 0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a, - 0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x29,0x29,0x2c,0x20,0x30, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x69,0x78,0x65, - 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x34, - 0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x34,0x37,0x30,0x29,0x20,0x3e,0x20, - 0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38, - 0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74, - 0x20,0x2b,0x3d,0x20,0x28,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2a, - 0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31, - 0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x2b, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, - 0x5f,0x31,0x34,0x39,0x33,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x72,0x6f,0x75,0x6e, - 0x64,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, - 0x6c,0x2e,0x77,0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e, - 0x63,0x65,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d, - 0x20,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x30,0x2e,0x30,0x35,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39, - 0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x30, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x34, - 0x39,0x33,0x20,0x26,0x20,0x31,0x29,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6d,0x69,0x74, - 0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f, - 0x31,0x34,0x39,0x33,0x20,0x3e,0x3e,0x20,0x31,0x29,0x20,0x26,0x20,0x31,0x32,0x37, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x37,0x38,0x37,0x34,0x30,0x31,0x35,0x37, - 0x31,0x38,0x36,0x39,0x38,0x35,0x30,0x31,0x35,0x38,0x36,0x39,0x31,0x34,0x30,0x36, - 0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, - 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x31,0x33,0x20,0x3d,0x20,0x28,0x5f,0x31, - 0x34,0x39,0x33,0x20,0x3e,0x3e,0x20,0x35,0x29,0x20,0x26,0x20,0x37,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x49,0x6e,0x74,0x20,0x3d,0x20,0x5f,0x31,0x35,0x31,0x33,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d, - 0x20,0x6d,0x61,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x35,0x31,0x33, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x34,0x32,0x38,0x35,0x37,0x31,0x34,0x39,0x32, - 0x34,0x33,0x33,0x35,0x34,0x37,0x39,0x37,0x33,0x36,0x33,0x32,0x38,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35, - 0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x61,0x6c, - 0x6c,0x69,0x63,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x34, - 0x39,0x33,0x20,0x3e,0x3e,0x20,0x33,0x29,0x20,0x26,0x20,0x33,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34, - 0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x32, - 0x39,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e, - 0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x31,0x35,0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x78,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x33,0x33, - 0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x33,0x34,0x20,0x3d,0x20,0x5f,0x31,0x35, - 0x33,0x31,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x33,0x34,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x32,0x20, - 0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39, - 0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, - 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x5f,0x31,0x35,0x34,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x34,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x4e, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x34,0x32,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, - 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x35,0x35,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x33,0x33,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x36,0x33, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, - 0x35,0x35,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x36,0x33, - 0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x32, - 0x39,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x2c,0x20,0x69, + 0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74, + 0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x79,0x2c,0x20,0x39,0x2e,0x39, + 0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33, + 0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d, + 0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34, + 0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31, + 0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d, + 0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75, + 0x73,0x74,0x2e,0x78,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, + 0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32, + 0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39, + 0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33, + 0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20, + 0x31,0x36,0x29,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, + 0x6c,0x20,0x3d,0x20,0x5f,0x31,0x34,0x37,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31, + 0x34,0x37,0x37,0x29,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39, + 0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38, + 0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x72, + 0x65,0x61,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72, + 0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x20,0x2b,0x3d,0x20,0x28,0x74,0x6f,0x5f,0x63, + 0x65,0x6e,0x74,0x65,0x72,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37, + 0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x63,0x6f,0x75,0x6e,0x74,0x2b,0x2b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x30,0x30,0x20,0x3d,0x20,0x69, + 0x6e,0x74,0x28,0x72,0x6f,0x75,0x6e,0x64,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, + 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x77,0x20,0x2a,0x20,0x32,0x35,0x35, + 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, + 0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d, + 0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30, + 0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6d,0x65,0x74,0x61,0x6c, + 0x6c,0x69,0x63,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x26,0x20,0x31,0x29,0x20,0x21, + 0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x31, + 0x29,0x20,0x26,0x20,0x31,0x32,0x37,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x37, + 0x38,0x37,0x34,0x30,0x31,0x35,0x37,0x31,0x38,0x36,0x39,0x38,0x35,0x30,0x31,0x35, + 0x38,0x36,0x39,0x31,0x34,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x32, + 0x30,0x20,0x3d,0x20,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x35,0x29, + 0x20,0x26,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x5f,0x31,0x35, + 0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x5f,0x31,0x35,0x32,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x34,0x32, + 0x38,0x35,0x37,0x31,0x34,0x39,0x32,0x34,0x33,0x33,0x35,0x34,0x37,0x39,0x37,0x33, + 0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32, + 0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x33,0x29,0x20, + 0x26,0x20,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33, + 0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33, + 0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x31,0x35,0x33,0x36,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x66, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x33,0x38,0x20,0x3d,0x20,0x5f, + 0x31,0x35,0x33,0x36,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34, + 0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35, + 0x34,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35, + 0x34,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x34, + 0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x35,0x34,0x39,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38,0x20,0x3e, + 0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x39,0x20,0x3d,0x20, + 0x5f,0x31,0x35,0x34,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x35,0x34,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x73, + 0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35, + 0x36,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3e,0x3d,0x20,0x5f,0x31, + 0x35,0x33,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x35,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x36,0x32,0x29,0x0a,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x31,0x35,0x36,0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x35,0x35,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x36,0x33,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30, - 0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79, - 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x38,0x30,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d, - 0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x61,0x6d,0x20,0x2d,0x20,0x76,0x70,0x6f,0x73, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x38, - 0x34,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x32, - 0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x38,0x39,0x20, - 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x31,0x35,0x38, - 0x30,0x20,0x2b,0x20,0x5f,0x31,0x35,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x39,0x37,0x20,0x3d,0x20,0x6d,0x69,0x78, - 0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39, - 0x39,0x31,0x30,0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30, - 0x36,0x32,0x35,0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, - 0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6d,0x61, - 0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x35,0x38,0x39,0x2c,0x20,0x5f,0x31,0x35, - 0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31, - 0x36,0x30,0x36,0x20,0x3d,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68, - 0x6c,0x69,0x63,0x6b,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, - 0x31,0x35,0x38,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, - 0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x38,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x35,0x38,0x34,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38, - 0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x34,0x30,0x20,0x3d,0x20, - 0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x34, - 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x34,0x20,0x5f,0x31,0x36,0x37,0x33,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e, - 0x6d,0x76,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x20,0x2a,0x20,0x76,0x65,0x63, - 0x34,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x76,0x70,0x6f,0x73,0x20,0x2a,0x20,0x31, - 0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36, - 0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x31,0x36,0x38,0x34,0x20,0x3d,0x20,0x28,0x28,0x5f,0x31, - 0x36,0x37,0x33,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f, - 0x31,0x36,0x37,0x33,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20, - 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x38,0x38,0x20,0x3d,0x20,0x5f, - 0x31,0x36,0x38,0x34,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35, - 0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f, - 0x31,0x36,0x38,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x30,0x35,0x2e, - 0x7a,0x20,0x3d,0x20,0x5f,0x31,0x36,0x38,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28, - 0x28,0x28,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20, - 0x5f,0x31,0x36,0x30,0x36,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20, - 0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69, - 0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a, - 0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34, - 0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37, - 0x35,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x30,0x36,0x20,0x2a,0x20, - 0x28,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x47,0x65, - 0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29, - 0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x28,0x34,0x2e,0x30,0x20,0x2a, - 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38, - 0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x34, - 0x30,0x29,0x20,0x2b,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37, - 0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36, - 0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20, - 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x74,0x65, - 0x78,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x5f,0x32,0x31,0x30,0x35,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x36,0x38, - 0x38,0x29,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x34,0x30,0x29,0x20,0x2a,0x20, - 0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c, - 0x6f,0x72,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e, - 0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x31,0x37,0x32,0x35,0x20,0x3d,0x20,0x74,0x72,0x69,0x6c,0x65,0x43, - 0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20,0x2a,0x20,0x30,0x2e,0x34, - 0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36,0x37,0x34,0x33,0x31,0x36, - 0x34,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x31,0x37,0x33,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, - 0x6d,0x6f,0x64,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x74,0x72,0x69,0x6c,0x65,0x43, - 0x65,0x6e,0x74,0x65,0x72,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e, - 0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x37,0x35,0x37, - 0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x73,0x61,0x6f,0x74, - 0x65,0x78,0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63, - 0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78, - 0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73, - 0x63,0x72,0x65,0x65,0x6e,0x5f,0x77,0x29,0x2c,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61, - 0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x68,0x29, - 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x31,0x37,0x35,0x38,0x20,0x3d,0x20,0x5f,0x31,0x37,0x35,0x37, - 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x37, - 0x36,0x38,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x65, - 0x6e,0x61,0x62,0x6c,0x65,0x64,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x37,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x36,0x38,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x37,0x37,0x34,0x20, - 0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f, - 0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x30,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31, - 0x37,0x37,0x34,0x20,0x3d,0x20,0x5f,0x31,0x37,0x36,0x38,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x37,0x34, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d, - 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38, - 0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20, - 0x3d,0x20,0x5f,0x31,0x35,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20, - 0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x38,0x37,0x20, - 0x3d,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b, - 0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x33,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x39,0x34,0x20,0x3d,0x20,0x76,0x70, - 0x6f,0x73,0x20,0x2d,0x20,0x5f,0x31,0x37,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x34,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x2d, - 0x63,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37,0x32, - 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31,0x37,0x39,0x34, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20, - 0x5f,0x31,0x37,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x31,0x38,0x30,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70, - 0x6c,0x65,0x5f,0x72,0x64,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x39,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74, - 0x69,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x5f,0x31,0x38,0x33,0x31,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64, - 0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34, - 0x20,0x5f,0x31,0x38,0x33,0x34,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, - 0x28,0x62,0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70, - 0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x38,0x33,0x31,0x2c,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x34,0x34,0x20,0x3d, - 0x20,0x73,0x69,0x6e,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a, - 0x20,0x33,0x2e,0x31,0x34,0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31, - 0x31,0x31,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28, - 0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30, - 0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35, - 0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37, - 0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30, - 0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37, - 0x35,0x29,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65,0x74,0x61,0x6c, - 0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x37,0x38,0x37,0x20, - 0x2a,0x20,0x5f,0x31,0x38,0x33,0x34,0x2e,0x78,0x29,0x20,0x2b,0x20,0x76,0x65,0x63, - 0x33,0x28,0x5f,0x31,0x38,0x33,0x34,0x2e,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x5f, - 0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x73,0x70,0x65,0x63,0x5f,0x73,0x63, - 0x61,0x6c,0x65,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x30, - 0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31, - 0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38,0x34, - 0x34,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28, - 0x28,0x30,0x2e,0x38,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31, - 0x34,0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x20,0x2a,0x20,0x72,0x6f,0x75, - 0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x34,0x34,0x29, - 0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x38, - 0x33,0x31,0x2c,0x20,0x32,0x2e,0x30,0x29,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31, - 0x2e,0x30,0x20,0x2d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33, - 0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x32,0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33, - 0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x4e,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x39,0x34,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39, - 0x30,0x30,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f, - 0x64,0x69,0x66,0x66,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x32,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74, - 0x69,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67, - 0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x76,0x65,0x63, - 0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x37,0x38,0x37,0x29,0x20, - 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69, - 0x63,0x29,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64, - 0x6f,0x74,0x28,0x5f,0x31,0x39,0x30,0x30,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30, - 0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35, - 0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30, - 0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35, - 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30, - 0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29, - 0x29,0x29,0x2c,0x20,0x5f,0x31,0x39,0x30,0x30,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73, - 0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x29,0x20,0x2a,0x20,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37, - 0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2a, - 0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c, - 0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x20,0x2a, - 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f, - 0x73,0x63,0x61,0x6c,0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69, - 0x66,0x66,0x5f,0x73,0x63,0x61,0x6c,0x65,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x31, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33, - 0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28, - 0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d, - 0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, - 0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, - 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29, + 0x20,0x20,0x5f,0x31,0x35,0x37,0x30,0x20,0x3d,0x20,0x5f,0x31,0x35,0x34,0x30,0x20, + 0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x37,0x30,0x20,0x3d, + 0x20,0x5f,0x31,0x35,0x36,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, + 0x35,0x37,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c, - 0x69,0x67,0x68,0x74,0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d, - 0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20, - 0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e, - 0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, - 0x79,0x20,0x2d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74, - 0x29,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, - 0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37, - 0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68, - 0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d, - 0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31, - 0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65, - 0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, - 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20, - 0x5f,0x31,0x37,0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x38,0x37,0x20,0x3d,0x20,0x72,0x65,0x66, - 0x6c,0x65,0x63,0x74,0x28,0x2d,0x5f,0x31,0x35,0x38,0x30,0x2c,0x20,0x4e,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x52,0x20, - 0x3d,0x20,0x5f,0x31,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x39,0x38,0x37,0x2e,0x79,0x20,0x3c,0x20,0x30, - 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x52,0x20,0x3d,0x20,0x72,0x65, - 0x66,0x6c,0x65,0x63,0x74,0x28,0x52,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, - 0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d, - 0x20,0x52,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x20,0x3d,0x20,0x5f,0x32,0x37,0x38, - 0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28, - 0x28,0x5f,0x31,0x36,0x30,0x36,0x20,0x2a,0x20,0x73,0x6b,0x79,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34, - 0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32, - 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d, - 0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65, - 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a, - 0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31, - 0x34,0x31,0x33,0x2e,0x65,0x6d,0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61, - 0x6c,0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37, - 0x38,0x2e,0x68,0x73,0x76,0x5f,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d, - 0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35, - 0x20,0x3d,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, - 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x32,0x36,0x20,0x3d,0x20,0x72,0x67,0x62, - 0x32,0x68,0x73,0x76,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x32,0x36,0x2e,0x7a,0x20, - 0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x32,0x30,0x32,0x36,0x2e,0x7a,0x20, - 0x2a,0x20,0x28,0x64,0x6f,0x74,0x28,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c, - 0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39, - 0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32, - 0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36, - 0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30, - 0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, - 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2f,0x20,0x28,0x64, - 0x6f,0x74,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, - 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x33,0x32,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34, + 0x28,0x28,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72, + 0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f, + 0x74,0x28,0x4e,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f, + 0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29, + 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e, + 0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a, + 0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69, + 0x74,0x79,0x29,0x20,0x2b,0x20,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61, + 0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x30,0x2e,0x31, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31, + 0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x31,0x36,0x32,0x38,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x69,0x7a,0x65,0x28,0x63,0x61,0x6d,0x20,0x2d,0x20,0x76,0x70,0x6f,0x73,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x36,0x33,0x32,0x20, + 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x32,0x37,0x38, + 0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x36,0x33,0x37,0x20,0x3d,0x20, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x31,0x36,0x32,0x38,0x20, + 0x2b,0x20,0x5f,0x31,0x36,0x33,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x31,0x36,0x34,0x35,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x31, + 0x30,0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30,0x36,0x32, + 0x35,0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72, + 0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65, + 0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28, + 0x64,0x6f,0x74,0x28,0x5f,0x31,0x36,0x33,0x37,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38, + 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x36,0x34, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x36,0x35, + 0x34,0x20,0x3d,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69, + 0x63,0x6b,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x36, + 0x33,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x35,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x36,0x32, + 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x36,0x33,0x32,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x38,0x38,0x20,0x3d,0x20,0x6d,0x61, + 0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x33,0x32,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20, + 0x5f,0x31,0x37,0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x6d,0x76, + 0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28, + 0x66,0x6c,0x6f,0x6f,0x72,0x28,0x76,0x70,0x6f,0x73,0x20,0x2a,0x20,0x31,0x36,0x2e, + 0x30,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35, + 0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x31,0x37,0x33,0x32,0x20,0x3d,0x20,0x28,0x28,0x5f,0x31,0x37,0x32, + 0x31,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x37, + 0x32,0x31,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x33,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37, + 0x33,0x32,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38, + 0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x35,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37, + 0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x35,0x31,0x2e,0x7a,0x20, + 0x3d,0x20,0x5f,0x31,0x37,0x33,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28, + 0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31, + 0x36,0x35,0x34,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65, + 0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65, + 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20, + 0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30, + 0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29, + 0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x35,0x34,0x20,0x2a,0x20,0x28,0x44, + 0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x47,0x65,0x6f,0x6d, + 0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29,0x29,0x20, + 0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x28,0x34,0x2e,0x30,0x20,0x2a,0x20,0x6d, + 0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x38,0x38,0x29, + 0x20,0x2b,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37, + 0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36, + 0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x74,0x65,0x78,0x5f, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x5f,0x32,0x31,0x35,0x31,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x37,0x33,0x36,0x29, + 0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x20,0x2a,0x20,0x5f,0x32, + 0x37,0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72, + 0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65, + 0x6e,0x73,0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x31,0x37,0x37,0x33,0x20,0x3d,0x20,0x74,0x72,0x69,0x6c,0x65,0x43,0x65,0x6e, + 0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20,0x2a,0x20,0x30,0x2e,0x34,0x39,0x30, + 0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36,0x37,0x34,0x33,0x31,0x36,0x34,0x30, + 0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x31,0x37,0x37,0x39,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f, + 0x64,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x74,0x72,0x69,0x6c,0x65,0x43,0x65,0x6e, + 0x74,0x65,0x72,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20, + 0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x38,0x30,0x35,0x20,0x3d, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x73,0x61,0x6f,0x74,0x65,0x78, + 0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x67,0x6c, + 0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x20,0x2f,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65, + 0x6e,0x5f,0x77,0x29,0x2c,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f, + 0x72,0x64,0x2e,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34, + 0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x68,0x29,0x29,0x2c,0x20,0x30, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x31,0x38,0x30,0x36,0x20,0x3d,0x20,0x5f,0x31,0x38,0x30,0x35,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x38,0x31,0x36,0x20,0x3d, + 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x65,0x6e,0x61,0x62,0x6c, + 0x65,0x64,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x38,0x32,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x38,0x31,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x32,0x20,0x3d,0x20,0x72,0x64, + 0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x30,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x32,0x20, + 0x3d,0x20,0x5f,0x31,0x38,0x31,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x32,0x32,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20,0x6d,0x61,0x78, + 0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20, + 0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x5f,0x31, + 0x36,0x34,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x38,0x33,0x35,0x20,0x3d,0x20,0x46,0x72, + 0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x33,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x31,0x38,0x34,0x32,0x20,0x3d,0x20,0x76,0x70,0x6f,0x73,0x20,0x2d, + 0x20,0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x20,0x3d,0x20, + 0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x2d,0x63,0x76,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x32,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e, + 0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37, + 0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x31,0x38,0x35,0x37,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72, + 0x64,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x38,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x29,0x20,0x2a, + 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x31,0x38,0x37,0x39,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e, + 0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x38, + 0x38,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x72,0x64, + 0x66,0x5f,0x6c,0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65, + 0x63,0x32,0x28,0x5f,0x31,0x38,0x37,0x39,0x2c,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, + 0x65,0x73,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x39,0x32,0x20,0x3d,0x20,0x73,0x69,0x6e, + 0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x33,0x2e,0x31, + 0x34,0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32, + 0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c, + 0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x6d,0x69,0x78, + 0x28,0x5f,0x31,0x38,0x35,0x37,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74, + 0x28,0x5f,0x31,0x38,0x35,0x37,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32, 0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39, 0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30, 0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32, 0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38, - 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20, - 0x2b,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, - 0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32, - 0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30,0x32, - 0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38, - 0x2e,0x64,0x65,0x65,0x70,0x43,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x69,0x6e,0x61, - 0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x73,0x6d, - 0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32, - 0x37,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c,0x20, - 0x76,0x70,0x6f,0x73,0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69, - 0x73,0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65, - 0x63,0x34,0x20,0x5f,0x32,0x30,0x36,0x30,0x20,0x3d,0x20,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x36,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28, - 0x5f,0x32,0x30,0x36,0x30,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32, - 0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x36,0x39, - 0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34, - 0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29, + 0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x38,0x33,0x35,0x20,0x2a,0x20,0x5f,0x31, + 0x38,0x38,0x32,0x2e,0x78,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31, + 0x38,0x38,0x32,0x2e,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33, + 0x2e,0x72,0x64,0x6d,0x5f,0x73,0x70,0x65,0x63,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29, + 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x30,0x2e,0x36,0x39,0x39, + 0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39, + 0x32,0x31,0x38,0x37,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38,0x39,0x32,0x29,0x29,0x29, + 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x30,0x2e,0x38, + 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38, + 0x39,0x38,0x34,0x33,0x37,0x35,0x20,0x2a,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, + 0x73,0x73,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x39,0x32,0x29,0x20,0x2a,0x20,0x70, + 0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x38,0x37,0x39,0x2c,0x20, + 0x32,0x2e,0x30,0x29,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d, + 0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x2e,0x33,0x33,0x33, + 0x33,0x33,0x33,0x32,0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33,0x36,0x33,0x32,0x38, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x32,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x34,0x38,0x20,0x3d, + 0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x29,0x20,0x2a, + 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b, + 0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, + 0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x38,0x33,0x35,0x29,0x20,0x2a,0x20,0x28,0x31, + 0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20, + 0x2a,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f, + 0x31,0x39,0x34,0x38,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32, + 0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36, + 0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c, + 0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31, + 0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c,0x20, + 0x5f,0x31,0x39,0x34,0x38,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x34,0x31, + 0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x61,0x74,0x75,0x72, + 0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30, + 0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69, + 0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a, + 0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34, + 0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x63,0x61,0x6c, + 0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73, + 0x63,0x61,0x6c,0x65,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38, + 0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x5f,0x31, + 0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e, + 0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74, + 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78, + 0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74, + 0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e, + 0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x5f, + 0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x2a,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69, + 0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x2d,0x20, + 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74,0x29,0x29,0x29,0x20, + 0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, + 0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d, + 0x20,0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e, + 0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e, + 0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, + 0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65, + 0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30, + 0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x32,0x30,0x33,0x35,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74, + 0x28,0x2d,0x5f,0x31,0x36,0x32,0x38,0x2c,0x20,0x4e,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x52,0x20,0x3d,0x20,0x5f,0x32, + 0x30,0x33,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x32,0x30,0x33,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x52,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63, + 0x74,0x28,0x52,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20,0x52,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x34,0x20,0x3d,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e, + 0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36, + 0x35,0x34,0x20,0x2a,0x20,0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x29,0x20,0x2a,0x20, + 0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31, + 0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x66, + 0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6c,0x69,0x67, + 0x68,0x74,0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61, + 0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x65,0x6d,0x69, + 0x74,0x74,0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e, + 0x65,0x6d,0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x73, + 0x76,0x5f,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d,0x3d,0x20,0x31,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x20,0x3d,0x20,0x74, + 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x32,0x30,0x37,0x34,0x20,0x3d,0x20,0x72,0x67,0x62,0x32,0x68,0x73,0x76, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x34,0x2e,0x7a,0x20,0x3d,0x20,0x63,0x6c, + 0x61,0x6d,0x70,0x28,0x5f,0x32,0x30,0x37,0x34,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x64, + 0x6f,0x74,0x28,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32, + 0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30, + 0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32, + 0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32, + 0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39, + 0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2f,0x20,0x28,0x64,0x6f,0x74,0x28,0x74, + 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78, + 0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39, + 0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32, + 0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36, + 0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30, + 0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, + 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e, + 0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34, + 0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37, + 0x35,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x34,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x64,0x65,0x65, + 0x70,0x43,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68, + 0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e,0x70, + 0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c,0x20,0x76,0x70,0x6f,0x73, + 0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70,0x72, + 0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f, + 0x32,0x31,0x30,0x36,0x20,0x3d,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x32,0x31,0x31,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x30, + 0x36,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30, + 0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35, + 0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39, + 0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38, + 0x37,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32,0x31, + 0x31,0x30,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x31, + 0x31,0x30,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31, + 0x31,0x30,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f, + 0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x31,0x32,0x34,0x20,0x3d, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32, + 0x31,0x32,0x38,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x32,0x34,0x2e, + 0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30, + 0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38, + 0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37, + 0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d, - 0x20,0x5f,0x32,0x30,0x36,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20,0x3d, - 0x20,0x5f,0x32,0x30,0x36,0x34,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d, - 0x20,0x5f,0x32,0x30,0x36,0x34,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33, - 0x2e,0x69,0x73,0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x32, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x30, - 0x37,0x38,0x20,0x3d,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63, - 0x33,0x20,0x5f,0x32,0x30,0x38,0x32,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32, - 0x30,0x37,0x38,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, - 0x30,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32, - 0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30, - 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32, - 0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x32,0x31,0x32,0x38,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32,0x30,0x38,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e,0x79,0x3b,0x0a,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, - 0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x30,0x38,0x32,0x2e,0x79, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x30, - 0x38,0x32,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x00, + 0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e,0x7a, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es @@ -2739,7 +2773,7 @@ vs_trile_source_glsl300es := u8.[ uniform highp sampler2D triletex_trilesmp; uniform highp sampler2DShadow shadowtex_shadowsmp; uniform highp sampler2D rdm_lookup_trilesmp; - uniform highp sampler2D ssaotex_trilesmp; + uniform highp sampler2D ssaotex_rdmsmp; uniform highp sampler2D rdm_atlas_rdmsmp; uniform highp sampler2D brdf_lut_rdmsmp; @@ -2749,9 +2783,9 @@ vs_trile_source_glsl300es := u8.[ in highp vec3 to_center; in highp vec4 fnormal; in highp vec3 cam; + layout(location = 0) out highp vec4 frag_color; in highp vec3 trileCenter; in highp vec3 cv; - layout(location = 0) out highp vec4 frag_color; highp vec3 fresnelSchlick(highp float cosTheta, highp vec3 F0) { @@ -2810,32 +2844,32 @@ vs_trile_source_glsl300es := u8.[ highp vec3 vc = v; if ((index / 2) == 0) { - highp vec3 _2123 = vc; - _2123.z = v.y; - _2123.y = v.z; - vc = _2123; + highp vec3 _2169 = vc; + _2169.z = v.y; + _2169.y = v.z; + vc = _2169; } if ((index / 2) == 2) { - highp vec3 _2127 = vc; - _2127.z = v.x; - _2127.x = v.z; - vc = _2127; + highp vec3 _2173 = vc; + _2173.z = v.x; + _2173.x = v.z; + vc = _2173; } if ((index % 2) == 1) { - highp vec3 _2131 = vc; - _2131.z = _2131.z * (-1.0); - vc = _2131; + highp vec3 _2177 = vc; + _2177.z = _2177.z * (-1.0); + vc = _2177; } - highp vec3 _2134 = vc; - highp float _608 = _2134.x + off.x; - highp vec3 _2136 = _2134; - _2136.x = _608; - highp float _614 = _2134.y + off.y; - _2136.y = _614; - vc = _2136; - highp vec2 _632 = _2136.xy * (1.0 / ((abs(_608) + abs(_614)) + _2134.z)); + highp vec3 _2180 = vc; + highp float _608 = _2180.x + off.x; + highp vec3 _2182 = _2180; + _2182.x = _608; + highp float _614 = _2180.y + off.y; + _2182.y = _614; + vc = _2182; + highp vec2 _632 = _2182.xy * (1.0 / ((abs(_608) + abs(_614)) + _2180.z)); highp float _635 = _632.x; highp float _637 = _632.y; return vec2(((_635 + _637) + 1.0) * 0.5, ((_635 - _637) + 1.0) * 0.5); @@ -3125,65 +3159,71 @@ vs_trile_source_glsl300es := u8.[ } highp vec3 pos_after_adjust = ipos - (orig_normal * 0.0199999995529651641845703125); int count = 0; - highp vec4 trixel_material; - while (count < 5) + int maxCount = 5; + bool _1432 = _1413.is_reflection == 1; + if (_1432) { - highp vec4 _1470 = texelFetch(triletex_trilesmp, ivec2(int(clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16)), 0); - trixel_material = _1470; - if (length(_1470) > 0.00999999977648258209228515625) + maxCount = 1; + } + highp vec4 trixel_material; + while (count < maxCount) + { + highp vec4 _1477 = texelFetch(triletex_trilesmp, ivec2(int(clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16)), 0); + trixel_material = _1477; + if (length(_1477) > 0.00999999977648258209228515625) { break; } pos_after_adjust += (to_center * 0.100000001490116119384765625); count++; } - int _1493 = int(round(trixel_material.w * 255.0)); + int _1500 = int(round(trixel_material.w * 255.0)); highp float emittance = 0.0; int roughnessInt = 0; highp float roughness = 0.0500000007450580596923828125; highp float metallic = 0.0; - if ((_1493 & 1) != 0) + if ((_1500 & 1) != 0) { - emittance = float((_1493 >> 1) & 127) * 0.0078740157186985015869140625; + emittance = float((_1500 >> 1) & 127) * 0.0078740157186985015869140625; } else { - int _1513 = (_1493 >> 5) & 7; - roughnessInt = _1513; - roughness = max(float(_1513) * 0.14285714924335479736328125, 0.0500000007450580596923828125); - metallic = float((_1493 >> 3) & 3) * 0.3333333432674407958984375; + int _1520 = (_1500 >> 5) & 7; + roughnessInt = _1520; + roughness = max(float(_1520) * 0.14285714924335479736328125, 0.0500000007450580596923828125); + metallic = float((_1500 >> 3) & 3) * 0.3333333432674407958984375; } - highp vec3 _1529 = abs(fnormal.xyz); - highp float _1531 = _1529.x; - highp float _1533 = _1529.y; - bool _1534 = _1531 >= _1533; - bool _1542; - if (_1534) + highp vec3 _1536 = abs(fnormal.xyz); + highp float _1538 = _1536.x; + highp float _1540 = _1536.y; + bool _1541 = _1538 >= _1540; + bool _1549; + if (_1541) { - _1542 = _1531 >= _1529.z; + _1549 = _1538 >= _1536.z; } else { - _1542 = _1534; + _1549 = _1541; } highp vec3 N; - if (_1542) + if (_1549) { N = vec3(sign(fnormal.x), 0.0, 0.0); } else { - bool _1555 = _1533 >= _1531; - bool _1563; - if (_1555) + bool _1562 = _1540 >= _1538; + bool _1570; + if (_1562) { - _1563 = _1533 >= _1529.z; + _1570 = _1540 >= _1536.z; } else { - _1563 = _1555; + _1570 = _1562; } - if (_1563) + if (_1570) { N = vec3(0.0, sign(fnormal.y), 0.0); } @@ -3192,115 +3232,120 @@ vs_trile_source_glsl300es := u8.[ N = vec3(0.0, 0.0, sign(fnormal.z)); } } - highp vec3 _1580 = normalize(cam - vpos); - highp vec3 _1584 = normalize(_278.sunPosition); - highp vec3 _1589 = normalize(_1580 + _1584); - highp vec3 _1597 = mix(vec3(0.039999999105930328369140625), trixel_material.xyz, vec3(metallic)); - highp float param = max(dot(_1589, _1580), 0.0); - highp vec3 param_1 = _1597; - highp vec3 _1606 = fresnelSchlick(param, param_1); + if (_1432) + { + frag_color = vec4((((trixel_material.xyz * max(dot(N, normalize(_278.sunPosition)), 0.0)) * _278.sunLightColor) * _278.sunIntensity) + (trixel_material.xyz * 0.100000001490116119384765625), 1.0); + return; + } + highp vec3 _1628 = normalize(cam - vpos); + highp vec3 _1632 = normalize(_278.sunPosition); + highp vec3 _1637 = normalize(_1628 + _1632); + highp vec3 _1645 = mix(vec3(0.039999999105930328369140625), trixel_material.xyz, vec3(metallic)); + highp float param = max(dot(_1637, _1628), 0.0); + highp vec3 param_1 = _1645; + highp vec3 _1654 = fresnelSchlick(param, param_1); highp vec3 param_2 = N; - highp vec3 param_3 = _1589; + highp vec3 param_3 = _1637; highp float param_4 = roughness; highp vec3 param_5 = N; - highp vec3 param_6 = _1580; - highp vec3 param_7 = _1584; + highp vec3 param_6 = _1628; + highp vec3 param_7 = _1632; highp float param_8 = roughness; - highp float _1640 = max(dot(N, _1584), 0.0); - highp vec4 _1673 = _1413.mvp_shadow * vec4(floor(vpos * 16.0) * vec3(0.0625), 1.0); - highp vec3 _1684 = ((_1673.xyz / vec3(_1673.w)) * 0.5) + vec3(0.5); - highp float _1688 = _1684.z - 0.001000000047497451305389404296875; - highp vec3 _2105 = _1684; - _2105.z = _1688; - highp vec3 light = ((((((((vec3(1.0) - _1606) * (1.0 - metallic)) * trixel_material.xyz) * vec3(0.3183410167694091796875)) + ((_1606 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / vec3(((4.0 * max(dot(N, _1580), 0.0)) * _1640) + 9.9999997473787516355514526367188e-05))) * texture(shadowtex_shadowsmp, vec3(_2105.xy, _1688))) * _1640) * _278.sunLightColor) * _278.sunIntensity; - highp vec3 _1725 = trileCenter + (N * 0.4900000095367431640625); - ivec3 _1731 = ivec3(mod(floor(trileCenter), vec3(32.0))); - ivec3 param_9 = _1731; + highp float _1688 = max(dot(N, _1632), 0.0); + highp vec4 _1721 = _1413.mvp_shadow * vec4(floor(vpos * 16.0) * vec3(0.0625), 1.0); + highp vec3 _1732 = ((_1721.xyz / vec3(_1721.w)) * 0.5) + vec3(0.5); + highp float _1736 = _1732.z - 0.001000000047497451305389404296875; + highp vec3 _2151 = _1732; + _2151.z = _1736; + highp vec3 light = ((((((((vec3(1.0) - _1654) * (1.0 - metallic)) * trixel_material.xyz) * vec3(0.3183410167694091796875)) + ((_1654 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / vec3(((4.0 * max(dot(N, _1628), 0.0)) * _1688) + 9.9999997473787516355514526367188e-05))) * texture(shadowtex_shadowsmp, vec3(_2151.xy, _1736))) * _1688) * _278.sunLightColor) * _278.sunIntensity; + highp vec3 _1773 = trileCenter + (N * 0.4900000095367431640625); + ivec3 _1779 = ivec3(mod(floor(trileCenter), vec3(32.0))); + ivec3 param_9 = _1779; int param_10 = roughnessInt; - highp vec4 _1757 = texture(ssaotex_trilesmp, vec2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), 0.0); - highp float _1758 = _1757.x; - bool _1768 = _1413.rdm_enabled == 1; - bool _1774; - if (_1768) + highp vec4 _1805 = texture(ssaotex_rdmsmp, vec2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), 0.0); + highp float _1806 = _1805.x; + bool _1816 = _1413.rdm_enabled == 1; + bool _1822; + if (_1816) { - _1774 = rdm_get_atlas_rect(param_9, param_10).z > 0.0; + _1822 = rdm_get_atlas_rect(param_9, param_10).z > 0.0; } else { - _1774 = _1768; + _1822 = _1816; } - if (_1774) + if (_1822) { - highp float param_11 = max(dot(N, _1580), 0.0); - highp vec3 param_12 = _1597; + highp float param_11 = max(dot(N, _1628), 0.0); + highp vec3 param_12 = _1645; highp float param_13 = roughness; - highp vec3 _1787 = FresnelSchlickRoughness(param_11, param_12, param_13); - highp vec3 _1794 = vpos - _1725; + highp vec3 _1835 = FresnelSchlickRoughness(param_11, param_12, param_13); + highp vec3 _1842 = vpos - _1773; highp vec3 param_14 = N; highp vec3 param_15 = -cv; - highp vec3 param_16 = _1725; - highp vec3 param_17 = _1794; + highp vec3 param_16 = _1773; + highp vec3 param_17 = _1842; int param_18 = roughnessInt; - ivec3 param_19 = _1731; - highp vec3 _1809 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19) * _1413.rdm_tint; - highp float _1831 = max(dot(N, _1580), 0.0); - highp vec4 _1834 = texture(brdf_lut_rdmsmp, vec2(_1831, roughness)); - highp float _1844 = sin(roughness * 3.141285419464111328125); - light += (((((mix(_1809, vec3(dot(_1809, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), vec3(metallic)) * ((_1787 * _1834.x) + vec3(_1834.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1844))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1844) * pow(1.0 - _1831, 2.0)))) * (1.0 - clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); + ivec3 param_19 = _1779; + highp vec3 _1857 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19) * _1413.rdm_tint; + highp float _1879 = max(dot(N, _1628), 0.0); + highp vec4 _1882 = texture(brdf_lut_rdmsmp, vec2(_1879, roughness)); + highp float _1892 = sin(roughness * 3.141285419464111328125); + light += (((((mix(_1857, vec3(dot(_1857, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), vec3(metallic)) * ((_1835 * _1882.x) + vec3(_1882.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1892))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1892) * pow(1.0 - _1879, 2.0)))) * (1.0 - clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); highp vec3 param_20 = N; - highp vec3 param_21 = _1794; - ivec3 param_22 = _1731; - highp vec3 _1900 = sample_rdm_diff(param_20, param_21, param_22) * _1413.rdm_tint; - light += (((((((vec3(1.0) - _1787) * (1.0 - metallic)) * mix(vec3(dot(_1900, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1900, vec3(_1413.rdm_diff_saturation))) * vec3(0.3183410167694091796875)) * trixel_material.xyz) * _1758) * _1413.rdm_diff_scale); + highp vec3 param_21 = _1842; + ivec3 param_22 = _1779; + highp vec3 _1948 = sample_rdm_diff(param_20, param_21, param_22) * _1413.rdm_tint; + light += (((((((vec3(1.0) - _1835) * (1.0 - metallic)) * mix(vec3(dot(_1948, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1948, vec3(_1413.rdm_diff_saturation))) * vec3(0.3183410167694091796875)) * trixel_material.xyz) * _1806) * _1413.rdm_diff_scale); if (_1413.rdm_diff_scale < 0.001000000047497451305389404296875) { - light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1758); + light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1806); } if (length(light) < _1413.ambient_intensity) { - light += (((_1413.ambient_color * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1758); + light += (((_1413.ambient_color * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1806); } } else { - light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1758); - highp vec3 _1987 = reflect(-_1580, N); - highp vec3 R = _1987; - if (_1987.y < 0.0) + light += (((_1413.ambient_color * _1413.ambient_intensity) * trixel_material.xyz) * _1806); + highp vec3 _2035 = reflect(-_1628, N); + highp vec3 R = _2035; + if (_2035.y < 0.0) { R = reflect(R, vec3(0.0, 1.0, 0.0)); } highp vec3 param_23 = R; highp vec3 param_24 = _278.sunPosition; - light += ((_1606 * sky(param_23, param_24)) * 0.100000001490116119384765625); + light += ((_1654 * sky(param_23, param_24)) * 0.100000001490116119384765625); } highp vec3 final_color = light + ((trixel_material.xyz * emittance) * _1413.emissive_scale); if (_278.hsv_lighting == 1) { highp vec3 param_25 = trixel_material.xyz; - highp vec3 _2026 = rgb2hsv(param_25); - _2026.z = clamp(_2026.z * (dot(final_color, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); - highp vec3 param_26 = _2026; + highp vec3 _2074 = rgb2hsv(param_25); + _2074.z = clamp(_2074.z * (dot(final_color, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); + highp vec3 param_26 = _2074; final_color = hsv2rgb(param_26); } frag_color = vec4(mix(_278.deepColor, final_color, vec3(smoothstep(0.0, _278.planeHeight, vpos.y))), 1.0); if (_1413.is_preview == 1) { - highp vec4 _2060 = frag_color; - highp vec3 _2064 = mix(_2060.xyz, vec3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), vec3(0.5)); - frag_color.x = _2064.x; - frag_color.y = _2064.y; - frag_color.z = _2064.z; + highp vec4 _2106 = frag_color; + highp vec3 _2110 = mix(_2106.xyz, vec3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), vec3(0.5)); + frag_color.x = _2110.x; + frag_color.y = _2110.y; + frag_color.z = _2110.z; } else { if (_1413.is_preview == 2) { - highp vec4 _2078 = frag_color; - highp vec3 _2082 = mix(_2078.xyz, vec3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), vec3(0.5)); - frag_color.x = _2082.x; - frag_color.y = _2082.y; - frag_color.z = _2082.z; + highp vec4 _2124 = frag_color; + highp vec3 _2128 = mix(_2124.xyz, vec3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), vec3(0.5)); + frag_color.x = _2128.x; + frag_color.y = _2128.y; + frag_color.z = _2128.z; } } } @@ -3377,1405 +3422,1427 @@ fs_trile_source_glsl300es := u8.[ 0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x5f,0x74,0x72,0x69,0x6c,0x65, 0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67, 0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x73,0x61, - 0x6f,0x74,0x65,0x78,0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x3b,0x0a,0x75, - 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73, - 0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44, - 0x20,0x62,0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70, - 0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x69,0x70,0x6f,0x73,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x76,0x70,0x6f,0x73,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x6f,0x72,0x69,0x67,0x5f,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x69, - 0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x63,0x61,0x6d,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x72,0x69,0x6c,0x65,0x43,0x65,0x6e,0x74, - 0x65,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x63,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, - 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b, - 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x73, - 0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x46,0x30,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x46,0x30,0x20,0x2b,0x20,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31, - 0x2e,0x30,0x29,0x20,0x2d,0x20,0x46,0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28, - 0x63,0x6c,0x61,0x6d,0x70,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54, - 0x68,0x65,0x74,0x61,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c, - 0x20,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74, - 0x69,0x6f,0x6e,0x47,0x47,0x58,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x6f,0x74,0x65,0x78,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69, + 0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72, + 0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62, + 0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x3b,0x0a, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x69, + 0x70,0x6f,0x73,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x70,0x6f,0x73,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x6f,0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x63,0x61,0x6d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x74,0x72,0x69,0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72, + 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x63,0x76,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x73,0x54,0x68, + 0x65,0x74,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x46,0x30,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x46,0x30,0x20,0x2b,0x20,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, + 0x29,0x20,0x2d,0x20,0x46,0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x63,0x6c, + 0x61,0x6d,0x70,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54,0x68,0x65, + 0x74,0x61,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x35, + 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f, + 0x6e,0x47,0x47,0x58,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x4e,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x48,0x2c, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75, + 0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36,0x20,0x3d, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x72,0x6f,0x75, + 0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x30,0x20,0x3d,0x20,0x5f, + 0x33,0x39,0x36,0x20,0x2a,0x20,0x5f,0x33,0x39,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x35, + 0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x48,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x37,0x20,0x3d,0x20,0x28, + 0x28,0x5f,0x34,0x30,0x35,0x20,0x2a,0x20,0x5f,0x34,0x30,0x35,0x29,0x20,0x2a,0x20, + 0x28,0x5f,0x34,0x30,0x30,0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20, + 0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x5f,0x34,0x30,0x30,0x20,0x2f,0x20,0x28,0x28,0x33,0x2e,0x31,0x34,0x31,0x32,0x38, + 0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38,0x31,0x32,0x35, + 0x20,0x2a,0x20,0x5f,0x34,0x31,0x37,0x29,0x20,0x2a,0x20,0x5f,0x34,0x31,0x37,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b, + 0x47,0x47,0x58,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x4e,0x64,0x6f,0x74,0x56,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x34,0x33,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x36,0x20,0x3d,0x20,0x28, + 0x5f,0x34,0x33,0x30,0x20,0x2a,0x20,0x5f,0x34,0x33,0x30,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x4e,0x64,0x6f,0x74,0x56,0x20,0x2f,0x20,0x28,0x28,0x4e,0x64,0x6f,0x74,0x56, + 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x34,0x33,0x36,0x29,0x29, + 0x20,0x2b,0x20,0x5f,0x34,0x33,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72, + 0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, 0x33,0x20,0x4e,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x48,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72, - 0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x39,0x36, - 0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x72, - 0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x30,0x30,0x20,0x3d, - 0x20,0x5f,0x33,0x39,0x36,0x20,0x2a,0x20,0x5f,0x33,0x39,0x36,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34, - 0x30,0x35,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20, - 0x48,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x37,0x20,0x3d, - 0x20,0x28,0x28,0x5f,0x34,0x30,0x35,0x20,0x2a,0x20,0x5f,0x34,0x30,0x35,0x29,0x20, - 0x2a,0x20,0x28,0x5f,0x34,0x30,0x30,0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x20, - 0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x5f,0x34,0x30,0x30,0x20,0x2f,0x20,0x28,0x28,0x33,0x2e,0x31,0x34,0x31, - 0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38,0x31, - 0x32,0x35,0x20,0x2a,0x20,0x5f,0x34,0x31,0x37,0x29,0x20,0x2a,0x20,0x5f,0x34,0x31, - 0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69, - 0x63,0x6b,0x47,0x47,0x58,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x4e,0x64,0x6f,0x74,0x56,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x34,0x33,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x33,0x36,0x20,0x3d, - 0x20,0x28,0x5f,0x34,0x33,0x30,0x20,0x2a,0x20,0x5f,0x34,0x33,0x30,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x4e,0x64,0x6f,0x74,0x56,0x20,0x2f,0x20,0x28,0x28,0x4e,0x64,0x6f, - 0x74,0x56,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x34,0x33,0x36, - 0x29,0x29,0x20,0x2b,0x20,0x5f,0x34,0x33,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68, - 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x47,0x65,0x6f,0x6d,0x65, - 0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x4e,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x56,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x4c,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72, - 0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x56, - 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28, - 0x4e,0x2c,0x20,0x4c,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x47,0x65,0x6f, - 0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x29,0x20,0x2a,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c, - 0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x34,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74, - 0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x69,0x76,0x65,0x63,0x33,0x20,0x6c, - 0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x5f,0x36,0x37,0x34,0x20,0x3d,0x20,0x28,0x28,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x78,0x20,0x2b,0x20,0x28,0x6c,0x6f,0x63,0x61,0x6c, - 0x5f,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x33,0x32,0x29,0x29,0x20,0x2b,0x20, - 0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x7a,0x20,0x2a,0x20,0x31, - 0x30,0x32,0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x20,0x2a,0x20,0x33,0x32,0x37,0x36,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74, - 0x63,0x68,0x28,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x5f,0x74,0x72, - 0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x36, - 0x37,0x34,0x20,0x25,0x20,0x35,0x31,0x32,0x2c,0x20,0x5f,0x36,0x37,0x34,0x20,0x2f, - 0x20,0x35,0x31,0x32,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c, - 0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x73, - 0x54,0x68,0x65,0x74,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x46,0x30,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x46,0x30,0x20,0x2b,0x20,0x28, - 0x28,0x6d,0x61,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20, - 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x2c,0x20,0x46,0x30,0x29,0x20, - 0x2d,0x20,0x46,0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d, - 0x70,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61, - 0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30, - 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x29,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x28,0x28,0x69, - 0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e,0x30, - 0x2c,0x20,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x29,0x2c,0x20,0x4e, - 0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39, - 0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2b,0x20, - 0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x7a,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38, - 0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38, - 0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x32,0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e, - 0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e,0x30,0x2c, - 0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x2c,0x20,0x4e,0x29, - 0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30, - 0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x33, - 0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x78,0x20,0x3e,0x3d, - 0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34, - 0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x34,0x29,0x29,0x20, - 0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28, - 0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30, - 0x29,0x2c,0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30, - 0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35, - 0x29,0x20,0x2a,0x20,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x76,0x65,0x63,0x32, - 0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f, - 0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x34,0x20,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2c,0x20,0x69,0x6e, - 0x74,0x20,0x66,0x61,0x63,0x65,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x53, - 0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32, - 0x20,0x5f,0x37,0x30,0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53, - 0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64, - 0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x61, - 0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2a,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x28,0x5f,0x37,0x30,0x37,0x2e,0x78,0x29,0x29,0x20,0x2b,0x20,0x28, - 0x28,0x66,0x61,0x63,0x65,0x20,0x25,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d, - 0x53,0x69,0x7a,0x65,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61,0x73, - 0x5f,0x72,0x65,0x63,0x74,0x2e,0x79,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28, - 0x5f,0x37,0x30,0x37,0x2e,0x79,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61,0x63, - 0x65,0x20,0x2f,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65, - 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x32,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63, - 0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x2c,0x20, - 0x69,0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x2c,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x32,0x20,0x6f,0x66,0x66,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x63,0x20,0x3d, - 0x20,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64, - 0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x33,0x20,0x3d,0x20,0x76, - 0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x33, - 0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x32,0x31,0x32,0x33,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32, - 0x31,0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d, - 0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32, - 0x31,0x32,0x37,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x32,0x31,0x32,0x37,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x37,0x2e,0x78, - 0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78, - 0x20,0x25,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x33,0x31,0x20,0x3d,0x20,0x76,0x63,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33,0x31,0x2e,0x7a, - 0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x31,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x2d,0x31, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20, - 0x3d,0x20,0x5f,0x32,0x31,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32, - 0x31,0x33,0x34,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x30,0x38,0x20,0x3d, - 0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x78,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x78, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x32,0x31,0x33,0x36,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33,0x36,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x36, - 0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x36,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34, - 0x2e,0x79,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x5f,0x32,0x31,0x33,0x36,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x36,0x31,0x34,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x36,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f, - 0x36,0x33,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x36,0x2e,0x78,0x79,0x20,0x2a, - 0x20,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x28,0x28,0x61,0x62,0x73,0x28,0x5f,0x36, - 0x30,0x38,0x29,0x20,0x2b,0x20,0x61,0x62,0x73,0x28,0x5f,0x36,0x31,0x34,0x29,0x29, - 0x20,0x2b,0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36, - 0x33,0x35,0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33, - 0x37,0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x5f,0x36, - 0x33,0x35,0x20,0x2b,0x20,0x5f,0x36,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x2c,0x20,0x28,0x28,0x5f,0x36,0x33,0x35,0x20, - 0x2d,0x20,0x5f,0x36,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e, - 0x28,0x6e,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38, - 0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x36,0x20,0x3d, - 0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x34,0x34,0x20, - 0x3d,0x20,0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x78,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x37,0x2e,0x30,0x2c, - 0x20,0x31,0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x56,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4c,0x2c, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75, + 0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, - 0x3d,0x20,0x5f,0x31,0x34,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20, - 0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, - 0x35,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35, - 0x37,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, - 0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37, - 0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x56,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20, 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x33, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x31, - 0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x34,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x30, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31, - 0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x6d, - 0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20, - 0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f, - 0x31,0x35,0x37,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x5f, - 0x31,0x37,0x33,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61, - 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73, - 0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37, - 0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x36,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x37,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37,0x33, - 0x29,0x2c,0x20,0x5f,0x31,0x33,0x36,0x2e,0x7a,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68, - 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28,0x69, - 0x6e,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x66,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d, - 0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20, - 0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20, - 0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35, - 0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30, - 0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33, - 0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30, - 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, - 0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30, - 0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c, - 0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32, - 0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, - 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d, - 0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32, - 0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37, - 0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37, - 0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e, - 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, - 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20, - 0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f, - 0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20, - 0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35, - 0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30, - 0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33, - 0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30, - 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, - 0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30, - 0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c, - 0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32, - 0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, - 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d, - 0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32, - 0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37, - 0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37, - 0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e, - 0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38, - 0x32,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, - 0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e, - 0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31,0x36,0x33,0x33,0x37,0x32, - 0x30,0x33,0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63, - 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35, - 0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33, - 0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34, - 0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e, - 0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34, - 0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39, - 0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39, - 0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30, - 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30, - 0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39, - 0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37, - 0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38, - 0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20, - 0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x32, - 0x33,0x31,0x36,0x32,0x38,0x34,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33, - 0x33,0x35,0x38,0x31,0x36,0x38,0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30, - 0x39,0x33,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28, - 0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, - 0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37, - 0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30, - 0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31, - 0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30, - 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, - 0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32, - 0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20, - 0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33, - 0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30, - 0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37, - 0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39, - 0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38, - 0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33, - 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38, - 0x39,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d, - 0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x30,0x20,0x3d,0x20,0x66,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32, - 0x37,0x31,0x20,0x3d,0x20,0x5f,0x32,0x37,0x30,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f, - 0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30, - 0x2e,0x30,0x34,0x31,0x36,0x36,0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30, - 0x30,0x39,0x39,0x34,0x38,0x37,0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x20,0x3d,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79, - 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x70, - 0x6f,0x73,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73, - 0x75,0x6e,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x39,0x36,0x20,0x3d,0x20, - 0x64,0x6f,0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b, - 0x79,0x70,0x6f,0x73,0x29,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, - 0x28,0x73,0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x39,0x39,0x20,0x3d, - 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f, - 0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f, - 0x32,0x37,0x38,0x2e,0x73,0x6b,0x79,0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x32,0x37, - 0x38,0x2e,0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63, - 0x6c,0x61,0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20, - 0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39, - 0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32, - 0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x32,0x37,0x38, - 0x2e,0x73,0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x63,0x6c,0x61,0x6d,0x70, - 0x28,0x28,0x5f,0x32,0x39,0x36,0x20,0x2d,0x20,0x30,0x2e,0x39,0x34,0x39,0x39,0x39, - 0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31, - 0x38,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30, - 0x2c,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, - 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a, - 0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32, - 0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x39,0x36,0x20,0x3e,0x20,0x30, - 0x2e,0x39,0x39,0x39,0x38,0x39,0x39,0x39,0x38,0x33,0x34,0x30,0x36,0x30,0x36,0x36, - 0x38,0x39,0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20, - 0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x32,0x39,0x39,0x2e, - 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x2b,0x3d,0x20, - 0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f, - 0x6e,0x48,0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, - 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73, - 0x28,0x5f,0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x38,0x30,0x2e,0x30,0x2c,0x20,0x30, - 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31, - 0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x61,0x73,0x43,0x6c,0x6f, - 0x75,0x64,0x73,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x32,0x39, - 0x39,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x34,0x30,0x29,0x29,0x20, - 0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32, - 0x37,0x38,0x2e,0x74,0x69,0x6d,0x65,0x20,0x2a,0x20,0x30,0x2e,0x30,0x35,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39, - 0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x33,0x37,0x36,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20, - 0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x6d,0x61, - 0x78,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x28, - 0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c,0x20, - 0x31,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x37,0x36,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, - 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f, - 0x72,0x64,0x6d,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e, - 0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x56,0x2c,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x64,0x6d,0x5f,0x63, - 0x65,0x6e,0x74,0x65,0x72,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x64,0x69,0x66,0x66,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63, - 0x61,0x6c,0x5f,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, - 0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x34,0x36, - 0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f, - 0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20, - 0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x35,0x32, - 0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73, - 0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x35,0x34,0x20,0x3d,0x20, - 0x5f,0x37,0x35,0x32,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x37,0x35,0x34,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c, - 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x37,0x34,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28, - 0x5f,0x37,0x35,0x34,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x74,0x65,0x78, - 0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c, - 0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x2e,0x78,0x29, - 0x29,0x20,0x2f,0x20,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x37,0x37,0x20,0x3d,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x28,0x5f,0x37,0x37,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x33,0x20,0x3d,0x20,0x5f,0x37,0x35,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x35,0x20,0x3d,0x20,0x5f,0x37,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, - 0x65,0x63,0x32,0x20,0x5f,0x37,0x38,0x35,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x66, - 0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x32,0x35, - 0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x72,0x65,0x66, - 0x6c,0x65,0x63,0x74,0x28,0x56,0x2c,0x20,0x4e,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3e, - 0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, - 0x28,0x64,0x69,0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20, - 0x32,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x37,0x34, - 0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20, - 0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72, - 0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73, - 0x6d,0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29,0x20, - 0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f, - 0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x20,0x2a,0x20, - 0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65, - 0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74, - 0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x29, - 0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20, - 0x69,0x20,0x3c,0x20,0x34,0x30,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x39,0x34,0x20,0x3d,0x20,0x64,0x69,0x66, - 0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x28,0x66,0x6c,0x6f, - 0x61,0x74,0x28,0x69,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64, - 0x6f,0x74,0x28,0x5f,0x38,0x39,0x34,0x2c,0x20,0x4e,0x29,0x20,0x3c,0x20,0x30,0x2e, - 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75, - 0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x69,0x7a,0x65,0x28,0x5f,0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20, - 0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x34,0x20,0x5f,0x39,0x33,0x31,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75, - 0x72,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d, - 0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29, - 0x20,0x2b,0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69, - 0x6f,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x31,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29, - 0x20,0x2a,0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x32, - 0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d, - 0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30, - 0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39, - 0x33,0x35,0x20,0x3d,0x20,0x5f,0x39,0x33,0x31,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x39,0x33,0x38,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f, - 0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f, - 0x6f,0x6c,0x20,0x5f,0x39,0x34,0x39,0x20,0x3d,0x20,0x28,0x5f,0x39,0x33,0x35,0x20, - 0x3e,0x20,0x30,0x2e,0x30,0x29,0x20,0x26,0x26,0x20,0x28,0x5f,0x39,0x33,0x35,0x20, - 0x3c,0x20,0x5f,0x39,0x33,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x35,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x39,0x34,0x39,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x5f,0x39,0x35,0x37,0x20,0x3d,0x20,0x28,0x5f,0x39,0x33,0x35, - 0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x3e,0x20,0x5f,0x39,0x33,0x38,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x35, - 0x37,0x20,0x3d,0x20,0x5f,0x39,0x34,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x39,0x35,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x5f,0x39,0x33,0x31,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x44, - 0x69,0x72,0x20,0x3d,0x20,0x5f,0x38,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x5f,0x38,0x32,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, - 0x6b,0x79,0x44,0x69,0x72,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28, - 0x73,0x6b,0x79,0x44,0x69,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30, - 0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x73,0x6b, - 0x79,0x44,0x69,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20, - 0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6b,0x79, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20,0x69,0x73,0x69, - 0x67,0x6e,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28, - 0x66,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x20,0x3f,0x20,0x28,0x2d,0x31,0x29,0x20, - 0x3a,0x20,0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x5f,0x74,0x6f, - 0x5f,0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x69,0x6e,0x74,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x6f,0x77,0x28,0x32,0x2e,0x30,0x2c,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x28,0x38,0x20,0x2d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64, - 0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x4e,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x29,0x0a,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x37,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f, - 0x39,0x38,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74, - 0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x39,0x38,0x37,0x2e,0x7a,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x39,0x39,0x38,0x20,0x3d, - 0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f, - 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x20,0x3d,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31, - 0x30,0x30,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e, - 0x65,0x73,0x73,0x5f,0x74,0x6f,0x5f,0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x34,0x20,0x3d,0x20,0x5f,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x39,0x39,0x38, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x36,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x30,0x20,0x3d,0x20,0x72,0x64,0x6d, - 0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73, - 0x65,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x39,0x39, - 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x76,0x65,0x63,0x32, - 0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x37,0x20,0x3d,0x20,0x72,0x64, - 0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x32,0x34,0x20, - 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x30,0x30,0x32,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c, - 0x46,0x65,0x74,0x63,0x68,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f, - 0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31, - 0x30,0x31,0x30,0x2e,0x78,0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31, - 0x37,0x2e,0x78,0x20,0x2a,0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x2c,0x20,0x5f,0x31, - 0x30,0x31,0x30,0x2e,0x79,0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31, - 0x37,0x2e,0x79,0x20,0x2a,0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x29,0x2c,0x20,0x30, - 0x29,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x73,0x6d,0x69,0x78,0x28,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x62,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x6d,0x69,0x78,0x28,0x61,0x2c,0x20,0x62,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30, - 0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32, - 0x35,0x29,0x20,0x2f,0x20,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36, - 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31, - 0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e, - 0x30,0x20,0x2d,0x20,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35, - 0x29,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64, - 0x69,0x66,0x66,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e, - 0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69,0x66, - 0x66,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70, - 0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x4e,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x20, - 0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x64,0x65,0x6c, - 0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x38,0x36,0x20,0x3d, - 0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x30,0x29,0x20,0x7c,0x7c, - 0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x31,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x36,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c,0x74, - 0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x78,0x2c, - 0x20,0x64,0x69,0x66,0x66,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x30,0x37, - 0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30,0x37, - 0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, - 0x65,0x6c,0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66, - 0x2e,0x78,0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, - 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c,0x74,0x61,0x20, - 0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x7a,0x2c,0x20,0x64, - 0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63, - 0x33,0x20,0x73,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, - 0x73,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x73,0x33, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x36,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, + 0x6d,0x5f,0x32,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c, + 0x20,0x4c,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33, - 0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c, - 0x20,0x30,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x32,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63, - 0x33,0x28,0x30,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x64,0x65, - 0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, - 0x33,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69, - 0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28, - 0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28, - 0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x31, - 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20, - 0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63, - 0x33,0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x36,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61, - 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x38,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33,0x20,0x3d,0x20, - 0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x37,0x29,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x38,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, + 0x5f,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x47,0x65,0x6f,0x6d,0x65, + 0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x47,0x47,0x58,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x20, + 0x2a,0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x63,0x68,0x6c,0x69,0x63, + 0x6b,0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x5f,0x36,0x37,0x34,0x20,0x3d,0x20,0x28,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f, + 0x70,0x6f,0x73,0x2e,0x78,0x20,0x2b,0x20,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70, + 0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x33,0x32,0x29,0x29,0x20,0x2b,0x20,0x28,0x6c, + 0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x2e,0x7a,0x20,0x2a,0x20,0x31,0x30,0x32, + 0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x20,0x2a,0x20,0x33,0x32,0x37,0x36,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68, + 0x28,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x5f,0x74,0x72,0x69,0x6c, + 0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x36,0x37,0x34, + 0x20,0x25,0x20,0x35,0x31,0x32,0x2c,0x20,0x5f,0x36,0x37,0x34,0x20,0x2f,0x20,0x35, + 0x31,0x32,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63, + 0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x73,0x54,0x68, + 0x65,0x74,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x46,0x30,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x46,0x30,0x20,0x2b,0x20,0x28,0x28,0x6d, + 0x61,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x2c,0x20,0x46,0x30,0x29,0x20,0x2d,0x20, + 0x46,0x30,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6f,0x73,0x54,0x68,0x65,0x74,0x61,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x28,0x28,0x69,0x6e,0x74, + 0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e,0x30,0x2c,0x20, + 0x2d,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x29,0x2c,0x20,0x4e,0x29,0x20, + 0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37, + 0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x69, + 0x6e,0x74,0x28,0x4e,0x2e,0x7a,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30, + 0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32, + 0x35,0x29,0x20,0x2a,0x20,0x32,0x29,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28, + 0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d, + 0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x2c,0x20,0x4e,0x29,0x20,0x3e, + 0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33, + 0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x33,0x29,0x29, + 0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x4e,0x2e,0x78,0x20,0x3e,0x3d,0x20,0x30, + 0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36, + 0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20,0x2a,0x20,0x34,0x29,0x29,0x20,0x2b,0x20, + 0x28,0x69,0x6e,0x74,0x28,0x64,0x6f,0x74,0x28,0x76,0x65,0x63,0x33,0x28,0x2d,0x31, + 0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x29,0x2c, + 0x20,0x4e,0x29,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30, + 0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x20, + 0x2a,0x20,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x76,0x65,0x63,0x32,0x20,0x72, + 0x64,0x6d,0x5f,0x66,0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, + 0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2c,0x20,0x69,0x6e,0x74,0x20, + 0x66,0x61,0x63,0x65,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a, + 0x65,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f, + 0x37,0x30,0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a, + 0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73, + 0x6d,0x70,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c, + 0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x5f,0x37,0x30,0x37,0x2e,0x78,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66, + 0x61,0x63,0x65,0x20,0x25,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69, + 0x7a,0x65,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72, + 0x65,0x63,0x74,0x2e,0x79,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x37, + 0x30,0x37,0x2e,0x79,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x66,0x61,0x63,0x65,0x20, + 0x2f,0x20,0x32,0x29,0x20,0x2a,0x20,0x72,0x64,0x6d,0x53,0x69,0x7a,0x65,0x29,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, + 0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x2c,0x20,0x69,0x6e, + 0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x32,0x20,0x6f,0x66,0x66,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x63,0x20,0x3d,0x20,0x76, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78, + 0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x36,0x39,0x20,0x3d,0x20,0x76,0x63,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x36,0x39,0x2e,0x7a, + 0x20,0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x32,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x36, + 0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20, + 0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37, + 0x33,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x32,0x31,0x37,0x33,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x33,0x2e,0x78,0x20,0x3d, + 0x20,0x76,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63, + 0x20,0x3d,0x20,0x5f,0x32,0x31,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x25, + 0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x37,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x37,0x2e,0x7a,0x20,0x3d, + 0x20,0x5f,0x32,0x31,0x37,0x37,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x2d,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20, + 0x5f,0x32,0x31,0x37,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x38, + 0x30,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x30,0x38,0x20,0x3d,0x20,0x5f, + 0x32,0x31,0x38,0x30,0x2e,0x78,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x32,0x31,0x38,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x36,0x30,0x38, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x36,0x31,0x34,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x79, + 0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32, + 0x31,0x38,0x32,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x36,0x31,0x34,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x32,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x36,0x33, + 0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x78,0x79,0x20,0x2a,0x20,0x28, + 0x31,0x2e,0x30,0x20,0x2f,0x20,0x28,0x28,0x61,0x62,0x73,0x28,0x5f,0x36,0x30,0x38, + 0x29,0x20,0x2b,0x20,0x61,0x62,0x73,0x28,0x5f,0x36,0x31,0x34,0x29,0x29,0x20,0x2b, + 0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x35, + 0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x37,0x20, + 0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x32,0x28,0x28,0x28,0x5f,0x36,0x33,0x35, + 0x20,0x2b,0x20,0x5f,0x36,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x35,0x2c,0x20,0x28,0x28,0x5f,0x36,0x33,0x35,0x20,0x2d,0x20, + 0x5f,0x36,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x6e,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x6e, + 0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,0x38,0x37,0x35, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x36,0x20,0x3d,0x20,0x66, + 0x72,0x61,0x63,0x74,0x28,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x34,0x34,0x20,0x3d,0x20, + 0x64,0x6f,0x74,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x78,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x31,0x35,0x37,0x2e,0x30,0x2c,0x20,0x31, + 0x31,0x33,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, + 0x5f,0x31,0x34,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x37, + 0x20,0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x35,0x37,0x2e, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x34, + 0x34,0x20,0x2b,0x20,0x31,0x35,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x33,0x20, + 0x3d,0x20,0x5f,0x31,0x33,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x34,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x31,0x31,0x33,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34, + 0x20,0x2b,0x20,0x31,0x31,0x34,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x36,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34,0x20,0x2b,0x20,0x32,0x37,0x30,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x34,0x34, + 0x20,0x2b,0x20,0x32,0x37,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78, + 0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x68,0x61, + 0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x5f,0x31,0x35, + 0x37,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37, + 0x33,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c, + 0x20,0x6d,0x69,0x78,0x28,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x36,0x29,0x2c,0x20,0x68,0x61,0x73,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37, + 0x29,0x2c,0x20,0x5f,0x31,0x35,0x37,0x29,0x2c,0x20,0x5f,0x31,0x37,0x33,0x29,0x2c, + 0x20,0x5f,0x31,0x33,0x36,0x2e,0x7a,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x62,0x6d,0x28,0x69,0x6e,0x6f, + 0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x66,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28, + 0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20, + 0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d, + 0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, + 0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, + 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30, + 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, + 0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, + 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38, + 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d, + 0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32, + 0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38, + 0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e, + 0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38, + 0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39, + 0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x31,0x30, + 0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30, + 0x31,0x35,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f, + 0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d, + 0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, + 0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39, + 0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30, + 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, + 0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35, + 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38, + 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d, + 0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32, + 0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38, + 0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e, + 0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38, + 0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39, + 0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x32,0x30, + 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30, + 0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x70, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b,0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69, + 0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x31,0x36,0x33,0x33,0x37,0x32,0x30,0x33, + 0x39,0x37,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33, + 0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20, + 0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31, + 0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38, + 0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32, + 0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32, + 0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39, + 0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37, + 0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30, + 0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31, + 0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38, + 0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c, + 0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39,0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37, + 0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29, + 0x20,0x2a,0x20,0x31,0x2e,0x32,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x32,0x33,0x31, + 0x36,0x32,0x38,0x34,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x20,0x3d,0x20,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x20,0x2b, + 0x3d,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x38,0x33,0x33,0x33,0x33,0x33,0x33,0x35, + 0x38,0x31,0x36,0x38,0x36,0x30,0x31,0x39,0x38,0x39,0x37,0x34,0x36,0x30,0x39,0x33, + 0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x20,0x3d,0x20,0x28,0x6d,0x61, + 0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x36, + 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31, + 0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30, + 0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x2d,0x31,0x2e,0x36,0x30,0x30,0x30,0x30, + 0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36, + 0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x2d,0x30, + 0x2e,0x39,0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37, + 0x38,0x38,0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x2d,0x31,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33, + 0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x39, + 0x35,0x39,0x39,0x39,0x39,0x39,0x37,0x38,0x35,0x34,0x32,0x33,0x32,0x37,0x38,0x38, + 0x30,0x38,0x35,0x39,0x33,0x37,0x35,0x2c,0x20,0x31,0x2e,0x32,0x37,0x39,0x39,0x39, + 0x39,0x39,0x37,0x31,0x33,0x38,0x39,0x37,0x37,0x30,0x35,0x30,0x37,0x38,0x31,0x32, + 0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x29,0x20,0x2a,0x20,0x31,0x2e,0x33,0x39,0x39, + 0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38, + 0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x70, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x32,0x37,0x30,0x20,0x3d,0x20,0x66,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x37,0x31, + 0x20,0x3d,0x20,0x5f,0x32,0x37,0x30,0x20,0x2b,0x20,0x28,0x5f,0x6e,0x6f,0x69,0x73, + 0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x34,0x31,0x36,0x36,0x36,0x36,0x36,0x37,0x39,0x30,0x38,0x34,0x33,0x30,0x30,0x39, + 0x39,0x34,0x38,0x37,0x33,0x30,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x20,0x3d,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x37,0x31,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x70,0x6f,0x73, + 0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e, + 0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x39,0x36,0x20,0x3d,0x20,0x64,0x6f, + 0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70, + 0x6f,0x73,0x29,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73, + 0x75,0x6e,0x70,0x6f,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x39,0x39,0x20,0x3d,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37, + 0x38,0x2e,0x73,0x6b,0x79,0x42,0x61,0x73,0x65,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e, + 0x73,0x6b,0x79,0x54,0x6f,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61, + 0x6d,0x70,0x28,0x73,0x6b,0x79,0x70,0x6f,0x73,0x2e,0x79,0x20,0x2a,0x20,0x32,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39, + 0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38, + 0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73, + 0x75,0x6e,0x48,0x61,0x6c,0x6f,0x20,0x2a,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28, + 0x5f,0x32,0x39,0x36,0x20,0x2d,0x20,0x30,0x2e,0x39,0x34,0x39,0x39,0x39,0x39,0x39, + 0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37, + 0x35,0x29,0x20,0x2a,0x20,0x31,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32, + 0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32, + 0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x39,0x36,0x20,0x3e,0x20,0x30,0x2e,0x39, + 0x39,0x39,0x38,0x39,0x39,0x39,0x38,0x33,0x34,0x30,0x36,0x30,0x36,0x36,0x38,0x39, + 0x34,0x35,0x33,0x31,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x32, + 0x37,0x38,0x2e,0x73,0x75,0x6e,0x44,0x69,0x73,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x32,0x39,0x39,0x2e,0x79,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x2b,0x3d,0x20,0x28,0x6d, + 0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x48, + 0x61,0x6c,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20, + 0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x5f, + 0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x38,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33, + 0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x61,0x73,0x43,0x6c,0x6f,0x75,0x64, + 0x73,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x32,0x39,0x39,0x20, + 0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x34,0x30,0x29,0x29,0x20,0x2a,0x20, + 0x32,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32,0x37,0x38, + 0x2e,0x74,0x69,0x6d,0x65,0x20,0x2a,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33, + 0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x37, + 0x36,0x20,0x3d,0x20,0x66,0x62,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x20,0x3d,0x20, + 0x6d,0x69,0x78,0x28,0x66,0x69,0x6e,0x61,0x6c,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x6d,0x61,0x78,0x28, + 0x30,0x2e,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30,0x29,0x20,0x2a,0x20,0x28,0x73,0x6d, + 0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e, + 0x30,0x2c,0x20,0x5f,0x33,0x37,0x36,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, + 0x37,0x38,0x31,0x32,0x35,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x66,0x69,0x6e,0x61,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64, + 0x6d,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x56,0x2c,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x64,0x6d,0x5f,0x63,0x65,0x6e, + 0x74,0x65,0x72,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x64,0x69,0x66,0x66,0x2c,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, + 0x65,0x73,0x73,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c, + 0x5f,0x70,0x6f,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x4e, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x37,0x34,0x36,0x20,0x3d, + 0x20,0x72,0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x20,0x3d,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20, + 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x35,0x32,0x20,0x3d, + 0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72, + 0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x35,0x34,0x20,0x3d,0x20,0x5f,0x37, + 0x35,0x32,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x37, + 0x35,0x34,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x5f,0x37,0x37,0x34,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x5f,0x37, + 0x35,0x34,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73, + 0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x2e,0x78,0x29,0x29,0x20, + 0x2f,0x20,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x37,0x37,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x5f,0x37,0x37,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20, + 0x3d,0x20,0x5f,0x37,0x35,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20, + 0x3d,0x20,0x5f,0x37,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63, + 0x32,0x20,0x5f,0x37,0x38,0x35,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x66,0x61,0x63, + 0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x32,0x35,0x20,0x3d, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x28,0x56,0x2c,0x20,0x4e,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3e,0x20,0x31, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x36,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x64, + 0x69,0x66,0x66,0x20,0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x32,0x2e, + 0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x37,0x34,0x36,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70, + 0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29,0x20,0x2b,0x20, + 0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x20,0x2a,0x20,0x5f,0x37, + 0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x29,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6f, + 0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20, + 0x3c,0x20,0x34,0x30,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x38,0x39,0x34,0x20,0x3d,0x20,0x64,0x69,0x66,0x66,0x20, + 0x2b,0x20,0x28,0x5f,0x38,0x32,0x35,0x20,0x2a,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74, + 0x28,0x69,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74, + 0x28,0x5f,0x38,0x39,0x34,0x2c,0x20,0x4e,0x29,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x64,0x65,0x6c, - 0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20, - 0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d, - 0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20, - 0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x64,0x65, - 0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x73,0x33,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c, - 0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29, - 0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x4e,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x34,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28, - 0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x29,0x2c, - 0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, - 0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39, - 0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30, - 0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37, - 0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32, - 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x4e,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x37,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28, - 0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b, - 0x20,0x73,0x31,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32, - 0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30, - 0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38, - 0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35, - 0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39, - 0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33, - 0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f, - 0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x32,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, - 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, - 0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39, - 0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20, - 0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36, - 0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20, - 0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c, - 0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x33,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x34,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, - 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30, - 0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38, - 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35, - 0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x20,0x3d,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, - 0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x37,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74, - 0x61,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x20,0x3d,0x20, - 0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f, - 0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x32,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x30,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64, - 0x65,0x6c,0x74,0x61,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x31, - 0x20,0x3d,0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x32,0x37,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x20,0x3d, - 0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x33,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x33,0x20,0x3d,0x20, - 0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x33,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x67,0x62,0x32,0x68, - 0x73,0x76,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x34,0x20,0x5f,0x31,0x33,0x30,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65, - 0x63,0x34,0x28,0x63,0x2e,0x7a,0x79,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x30, - 0x2e,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36,0x35,0x33,0x34,0x38,0x38,0x31, - 0x35,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x34, - 0x28,0x63,0x2e,0x79,0x7a,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x33, - 0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39, - 0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28, - 0x73,0x74,0x65,0x70,0x28,0x63,0x2e,0x7a,0x2c,0x20,0x63,0x2e,0x79,0x29,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x33,0x31,0x30,0x20,0x3d,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e, - 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x34,0x20,0x5f,0x31,0x33,0x32,0x38,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65, - 0x63,0x34,0x28,0x5f,0x31,0x33,0x31,0x30,0x2c,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e, - 0x79,0x77,0x2c,0x20,0x63,0x2e,0x78,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x63, - 0x2e,0x78,0x2c,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x79,0x7a,0x2c,0x20,0x5f,0x31, - 0x33,0x31,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x74,0x65,0x70,0x28, - 0x5f,0x31,0x33,0x31,0x30,0x2c,0x20,0x63,0x2e,0x78,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x28,0x5f,0x38,0x39,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20, + 0x5f,0x37,0x34,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x39,0x33,0x31,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d, + 0x70,0x2c,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x38,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63, + 0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29,0x20,0x2a, + 0x20,0x5f,0x37,0x37,0x37,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x64,0x6d,0x5f,0x61, + 0x74,0x6c,0x61,0x73,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x35, + 0x20,0x3d,0x20,0x5f,0x39,0x33,0x31,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x31,0x33,0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x78,0x3b,0x0a, + 0x39,0x33,0x38,0x20,0x3d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x38,0x39, + 0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x39,0x34,0x39,0x20,0x3d,0x20,0x28,0x5f,0x39,0x33,0x35,0x20,0x3e,0x20, + 0x30,0x2e,0x30,0x29,0x20,0x26,0x26,0x20,0x28,0x5f,0x39,0x33,0x35,0x20,0x3c,0x20, + 0x5f,0x39,0x33,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x35,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x39,0x34,0x39,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x39,0x35,0x37,0x20,0x3d,0x20,0x28,0x5f,0x39,0x33,0x35,0x20,0x2b, + 0x20,0x30,0x2e,0x35,0x29,0x20,0x3e,0x20,0x5f,0x39,0x33,0x38,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x35,0x37,0x20, + 0x3d,0x20,0x5f,0x39,0x34,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x39, + 0x35,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x5f,0x39,0x33,0x31,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x6b,0x79,0x44,0x69,0x72, + 0x20,0x3d,0x20,0x5f,0x38,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x38,0x32,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6b,0x79, + 0x44,0x69,0x72,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x73,0x6b, + 0x79,0x44,0x69,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x73,0x6b,0x79,0x44, + 0x69,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x5f,0x32, + 0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6b,0x79,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x74,0x20,0x69,0x73,0x69,0x67,0x6e, + 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x66,0x20, + 0x3c,0x20,0x30,0x2e,0x30,0x29,0x20,0x3f,0x20,0x28,0x2d,0x31,0x29,0x20,0x3a,0x20, + 0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x5f,0x74,0x6f,0x5f,0x72, + 0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x70,0x6f,0x77,0x28,0x32,0x2e,0x30,0x2c,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x28,0x38,0x20,0x2d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66, + 0x66,0x5f,0x6d,0x61,0x70,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x4e,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f, + 0x70,0x6f,0x73,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x6c,0x6f, + 0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x37,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x39,0x38, + 0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x39,0x38,0x37,0x2e,0x7a,0x20,0x3c,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x6c,0x62,0x61,0x63,0x6b,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x39,0x39,0x38,0x20,0x3d,0x20,0x72, + 0x64,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d, + 0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x30,0x30, + 0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x5f,0x74,0x6f,0x5f,0x72,0x64,0x6d,0x5f,0x73,0x69,0x7a,0x65,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x33,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20, + 0x3d,0x20,0x5f,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x39,0x39,0x38,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20, + 0x3d,0x20,0x5f,0x31,0x30,0x30,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, + 0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x30,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x66, + 0x61,0x63,0x65,0x5f,0x70,0x69,0x78,0x65,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x37,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x39,0x39,0x38,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x31,0x37,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f, + 0x67,0x65,0x74,0x5f,0x68,0x65,0x6d,0x69,0x6f,0x63,0x74,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x32,0x34,0x20,0x3d,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x30,0x30,0x32,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65, + 0x74,0x63,0x68,0x28,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x64, + 0x6d,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x30,0x31, + 0x30,0x2e,0x78,0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e, + 0x78,0x20,0x2a,0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x2c,0x20,0x5f,0x31,0x30,0x31, + 0x30,0x2e,0x79,0x20,0x2b,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x30,0x31,0x37,0x2e, + 0x79,0x20,0x2a,0x20,0x5f,0x31,0x30,0x32,0x34,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x73,0x6d,0x69,0x78,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x62,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x6d,0x69,0x78,0x28,0x61,0x2c,0x20,0x62,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x70, + 0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32, + 0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x29, + 0x20,0x2f,0x20,0x28,0x70,0x6f,0x77,0x28,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30, + 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, + 0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e,0x30,0x20, + 0x2d,0x20,0x74,0x2c,0x20,0x31,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33, + 0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x29,0x29, + 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66, + 0x66,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x2c,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x64,0x69,0x66,0x66,0x2c, + 0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73, + 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x20,0x72,0x64, + 0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x72,0x6f,0x6d,0x5f,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x64,0x65,0x6c,0x74,0x61, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x38,0x36,0x20,0x3d,0x20,0x28, + 0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x30,0x29,0x20,0x7c,0x7c,0x20,0x28, + 0x5f,0x31,0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x36,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c,0x74,0x61,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x78,0x2c,0x20,0x64, + 0x69,0x66,0x66,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x30,0x37,0x37,0x20, + 0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31,0x30,0x37,0x37,0x20, + 0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c, + 0x74,0x61,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x78, + 0x2c,0x20,0x64,0x69,0x66,0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x65,0x6c,0x74,0x61,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x32,0x28,0x64,0x69,0x66,0x66,0x2e,0x7a,0x2c,0x20,0x64,0x69,0x66, + 0x66,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20, + 0x73,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x73,0x32, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x73,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x36,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69, + 0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x2c,0x20,0x30, + 0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74, + 0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33,0x20, + 0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x33,0x29,0x2c,0x20,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31, + 0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x32,0x29,0x20,0x7c,0x7c,0x20,0x28,0x5f,0x31, + 0x30,0x37,0x37,0x20,0x3d,0x3d,0x20,0x33,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x31,0x20,0x3d, + 0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x35,0x29,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20, + 0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36, + 0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x78, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x38,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x33,0x20,0x3d,0x20,0x69,0x76, + 0x65,0x63,0x33,0x28,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x37,0x29,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x38,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61, + 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x30,0x2c, + 0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x30,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x32,0x20,0x3d,0x20,0x69, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20, + 0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x64,0x65,0x6c,0x74, + 0x61,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x33,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x2c,0x20,0x69, + 0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x29,0x2c,0x20, + 0x69,0x73,0x69,0x67,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x34,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65, + 0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30, + 0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35, + 0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, + 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39, + 0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x37,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65, + 0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73, + 0x31,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39, + 0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33, + 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, + 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39, + 0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20,0x3d, + 0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x6d, + 0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x70,0x6f, + 0x73,0x20,0x2b,0x20,0x73,0x32,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x32, + 0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, + 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, + 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e, + 0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34, + 0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20,0x69,0x76, + 0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x70,0x6f,0x73,0x20,0x2b,0x20,0x73,0x33,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x34,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, + 0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30, + 0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32, + 0x35,0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36, + 0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72, + 0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x37,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e, + 0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x20,0x3d,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x6d,0x61,0x70,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x33,0x30,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x64,0x65,0x6c, + 0x74,0x61,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x31,0x20,0x3d, + 0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x37,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x20,0x3d,0x20,0x73, + 0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x38,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x33,0x20,0x3d,0x20,0x61,0x62, + 0x73,0x28,0x64,0x65,0x6c,0x74,0x61,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x6d,0x69,0x78,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x32,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x72,0x67,0x62,0x32,0x68,0x73,0x76, + 0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, + 0x5f,0x31,0x33,0x30,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x34, + 0x28,0x63,0x2e,0x7a,0x79,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36,0x35,0x33,0x34,0x38,0x38,0x31,0x35,0x39, + 0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x63, + 0x2e,0x79,0x7a,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x30,0x2e,0x33,0x33,0x33, + 0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38, + 0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x74, + 0x65,0x70,0x28,0x63,0x2e,0x7a,0x2c,0x20,0x63,0x2e,0x79,0x29,0x29,0x29,0x3b,0x0a, 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x31,0x33,0x33,0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x77,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x5f,0x31,0x33,0x33,0x35,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x79, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x33,0x33,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x31,0x20, - 0x2d,0x20,0x6d,0x69,0x6e,0x28,0x5f,0x31,0x33,0x33,0x33,0x2c,0x20,0x5f,0x31,0x33, - 0x33,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x76,0x65,0x63,0x33,0x28,0x61,0x62,0x73,0x28,0x5f,0x31,0x33,0x32,0x38,0x2e,0x7a, - 0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x33,0x33,0x33,0x20,0x2d,0x20,0x5f,0x31,0x33, - 0x33,0x35,0x29,0x20,0x2f,0x20,0x28,0x28,0x36,0x2e,0x30,0x20,0x2a,0x20,0x5f,0x31, - 0x33,0x33,0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x31,0x33,0x33,0x35,0x31,0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38, - 0x39,0x37,0x33,0x39,0x36,0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x29,0x29,0x2c, - 0x20,0x5f,0x31,0x33,0x33,0x37,0x20,0x2f,0x20,0x28,0x5f,0x31,0x33,0x33,0x31,0x20, - 0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x33,0x35,0x31, - 0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39,0x37,0x33,0x39,0x36, - 0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x2c,0x20,0x5f,0x31,0x33,0x33,0x31,0x29, - 0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x68,0x73,0x76,0x32,0x72,0x67,0x62,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29, - 0x2c,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x28,0x66,0x72,0x61, - 0x63,0x74,0x28,0x63,0x2e,0x78,0x78,0x78,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28, - 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36, - 0x35,0x33,0x34,0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x2c, - 0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34, - 0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29,0x20,0x2a, - 0x20,0x36,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x2e,0x30, - 0x29,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x2e,0x79,0x29, - 0x29,0x20,0x2a,0x20,0x63,0x2e,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64, - 0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, - 0x6f,0x6c,0x20,0x5f,0x31,0x34,0x30,0x37,0x20,0x3d,0x20,0x76,0x70,0x6f,0x73,0x2e, - 0x79,0x20,0x3c,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x48, - 0x65,0x69,0x67,0x68,0x74,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39, - 0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32, - 0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, - 0x6f,0x6c,0x20,0x5f,0x31,0x34,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x31,0x34,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20,0x3d,0x20,0x5f, - 0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, - 0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31, - 0x34,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f, - 0x61,0x64,0x6a,0x75,0x73,0x74,0x20,0x3d,0x20,0x69,0x70,0x6f,0x73,0x20,0x2d,0x20, - 0x28,0x6f,0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30, - 0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35, - 0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20, - 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x5f,0x31,0x33,0x31,0x30,0x20,0x3d,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x78,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, + 0x5f,0x31,0x33,0x32,0x38,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x34, + 0x28,0x5f,0x31,0x33,0x31,0x30,0x2c,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x79,0x77, + 0x2c,0x20,0x63,0x2e,0x78,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x2e,0x78, + 0x2c,0x20,0x5f,0x31,0x33,0x30,0x34,0x2e,0x79,0x7a,0x2c,0x20,0x5f,0x31,0x33,0x31, + 0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x73,0x74,0x65,0x70,0x28,0x5f,0x31, + 0x33,0x31,0x30,0x2c,0x20,0x63,0x2e,0x78,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33, + 0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, + 0x33,0x33,0x33,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x77,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x31,0x33,0x33,0x35,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x38,0x2e,0x79,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x31,0x33,0x33,0x37,0x20,0x3d,0x20,0x5f,0x31,0x33,0x33,0x31,0x20,0x2d,0x20, + 0x6d,0x69,0x6e,0x28,0x5f,0x31,0x33,0x33,0x33,0x2c,0x20,0x5f,0x31,0x33,0x33,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65, + 0x63,0x33,0x28,0x61,0x62,0x73,0x28,0x5f,0x31,0x33,0x32,0x38,0x2e,0x7a,0x20,0x2b, + 0x20,0x28,0x28,0x5f,0x31,0x33,0x33,0x33,0x20,0x2d,0x20,0x5f,0x31,0x33,0x33,0x35, + 0x29,0x20,0x2f,0x20,0x28,0x28,0x36,0x2e,0x30,0x20,0x2a,0x20,0x5f,0x31,0x33,0x33, + 0x37,0x29,0x20,0x2b,0x20,0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33, + 0x33,0x35,0x31,0x34,0x33,0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39,0x37, + 0x33,0x39,0x36,0x30,0x35,0x38,0x65,0x2d,0x31,0x30,0x29,0x29,0x29,0x2c,0x20,0x5f, + 0x31,0x33,0x33,0x37,0x20,0x2f,0x20,0x28,0x5f,0x31,0x33,0x33,0x31,0x20,0x2b,0x20, + 0x31,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x33,0x35,0x31,0x34,0x33, + 0x31,0x39,0x36,0x30,0x30,0x31,0x38,0x30,0x38,0x39,0x37,0x33,0x39,0x36,0x30,0x35, + 0x38,0x65,0x2d,0x31,0x30,0x29,0x2c,0x20,0x5f,0x31,0x33,0x33,0x31,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x68,0x73, + 0x76,0x32,0x72,0x67,0x62,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x28,0x66,0x72,0x61,0x63,0x74, + 0x28,0x63,0x2e,0x78,0x78,0x78,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x38,0x36,0x35,0x33, + 0x34,0x38,0x38,0x31,0x35,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x2c,0x20,0x30, + 0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30, + 0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x29,0x29,0x20,0x2a,0x20,0x36, + 0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x33,0x2e,0x30,0x29,0x29, + 0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, + 0x30,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x2e,0x79,0x29,0x29,0x20, + 0x2a,0x20,0x63,0x2e,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d, + 0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x34,0x30,0x37,0x20,0x3d,0x20,0x76,0x70,0x6f,0x73,0x2e,0x79,0x20, + 0x3c,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x48,0x65,0x69, + 0x67,0x68,0x74,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35, + 0x31,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x34,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x34,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31,0x34, + 0x31,0x33,0x2e,0x69,0x73,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x34,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31,0x34,0x30, + 0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x34,0x31,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64, + 0x6a,0x75,0x73,0x74,0x20,0x3d,0x20,0x69,0x70,0x6f,0x73,0x20,0x2d,0x20,0x28,0x6f, + 0x72,0x69,0x67,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36, + 0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x6d,0x61,0x78,0x43,0x6f,0x75,0x6e, + 0x74,0x20,0x3d,0x20,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x31,0x34,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73, + 0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x33,0x32,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d, + 0x61,0x78,0x43,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, 0x34,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, 0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x63,0x6f, - 0x75,0x6e,0x74,0x20,0x3c,0x20,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x34,0x20,0x5f,0x31,0x34,0x37,0x30,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46, - 0x65,0x74,0x63,0x68,0x28,0x74,0x72,0x69,0x6c,0x65,0x74,0x65,0x78,0x5f,0x74,0x72, - 0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e, - 0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65, - 0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39, - 0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35, - 0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30, - 0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31, - 0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36, - 0x2e,0x30,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70, + 0x75,0x6e,0x74,0x20,0x3c,0x20,0x6d,0x61,0x78,0x43,0x6f,0x75,0x6e,0x74,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x34,0x37,0x37,0x20,0x3d, + 0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x74,0x72,0x69,0x6c, + 0x65,0x74,0x65,0x78,0x5f,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x69, + 0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70, 0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e, - 0x79,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37, + 0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37, 0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36, 0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39, 0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37, - 0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e, - 0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65, - 0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x78,0x2c,0x20,0x39,0x2e,0x39,0x39, - 0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35, - 0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30, - 0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31, - 0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36, - 0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x29,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d, - 0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x34,0x37,0x30,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e, - 0x67,0x74,0x68,0x28,0x5f,0x31,0x34,0x37,0x30,0x29,0x20,0x3e,0x20,0x30,0x2e,0x30, - 0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38, - 0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73, - 0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x20,0x2b,0x3d, - 0x20,0x28,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2a,0x20,0x30,0x2e, - 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31, - 0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x2b,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x34, - 0x39,0x33,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x72,0x6f,0x75,0x6e,0x64,0x28,0x74, - 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x77, - 0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x65,0x6d,0x69,0x74, - 0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e, - 0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x20,0x3d,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34, - 0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32, - 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x30,0x2e, - 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x34,0x39, - 0x33,0x20,0x26,0x20,0x31,0x29,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6d,0x69,0x74,0x74, - 0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31, - 0x34,0x39,0x33,0x20,0x3e,0x3e,0x20,0x31,0x29,0x20,0x26,0x20,0x31,0x32,0x37,0x29, - 0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x37,0x38,0x37,0x34,0x30,0x31,0x35,0x37,0x31, - 0x38,0x36,0x39,0x38,0x35,0x30,0x31,0x35,0x38,0x36,0x39,0x31,0x34,0x30,0x36,0x32, - 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, - 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x31,0x33,0x20,0x3d,0x20,0x28,0x5f,0x31,0x34, - 0x39,0x33,0x20,0x3e,0x3e,0x20,0x35,0x29,0x20,0x26,0x20,0x37,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49, - 0x6e,0x74,0x20,0x3d,0x20,0x5f,0x31,0x35,0x31,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20, - 0x6d,0x61,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x35,0x31,0x33,0x29, - 0x20,0x2a,0x20,0x30,0x2e,0x31,0x34,0x32,0x38,0x35,0x37,0x31,0x34,0x39,0x32,0x34, - 0x33,0x33,0x35,0x34,0x37,0x39,0x37,0x33,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30, - 0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c, - 0x69,0x63,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x34,0x39, - 0x33,0x20,0x3e,0x3e,0x20,0x33,0x29,0x20,0x26,0x20,0x33,0x29,0x20,0x2a,0x20,0x30, - 0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30, - 0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x31,0x35,0x32,0x39,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x66,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x33,0x31, - 0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x33, - 0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x33,0x34,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x33,0x31,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34,0x32,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x33,0x34,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x32, - 0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x32, - 0x39,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65, - 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x31,0x35,0x34,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x34,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x31,0x35,0x34,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x73, - 0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x2c,0x20, - 0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35, - 0x35,0x35,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x20,0x3e,0x3d,0x20,0x5f,0x31, - 0x35,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, - 0x6c,0x20,0x5f,0x31,0x35,0x36,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x35,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x31,0x35,0x36,0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x20, - 0x3e,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c, - 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x36,0x33,0x20,0x3d, - 0x20,0x5f,0x31,0x35,0x35,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, - 0x35,0x36,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d, - 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, - 0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29, + 0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f, + 0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x79,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39, + 0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35, + 0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c, + 0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36, + 0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30, + 0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70, + 0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e, + 0x78,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37, + 0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36, + 0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39, + 0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37, + 0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x29, + 0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74, + 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x20,0x3d, + 0x20,0x5f,0x31,0x34,0x37,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x34,0x37,0x37, + 0x29,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37, + 0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35, + 0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x72,0x65,0x61,0x6b, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x31,0x35,0x38,0x30,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x28,0x63,0x61,0x6d,0x20,0x2d,0x20,0x76,0x70,0x6f,0x73,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, - 0x31,0x35,0x38,0x34,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, - 0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x5f,0x31,0x35,0x38,0x39,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61, - 0x6c,0x69,0x7a,0x65,0x28,0x5f,0x31,0x35,0x38,0x30,0x20,0x2b,0x20,0x5f,0x31,0x35, - 0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x39,0x37,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39, - 0x31,0x30,0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30,0x36, - 0x32,0x35,0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65, - 0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d, - 0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x35,0x38,0x39, - 0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x39,0x37,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, - 0x31,0x36,0x30,0x36,0x20,0x3d,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63, - 0x68,0x6c,0x69,0x63,0x6b,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20, - 0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x38, - 0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75, - 0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d, - 0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x35, - 0x38,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x35, - 0x38,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x72,0x6f, - 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x34,0x30,0x20,0x3d, - 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38, - 0x34,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x36,0x37,0x33,0x20,0x3d, - 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x6d,0x76,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f, - 0x77,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x76, - 0x70,0x6f,0x73,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x76,0x65, - 0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x31,0x36,0x38,0x34,0x20,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36,0x37,0x33, - 0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x36,0x37, - 0x33,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x38,0x38,0x20, - 0x3d,0x20,0x5f,0x31,0x36,0x38,0x34,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30, - 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31, - 0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x5f,0x32,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f,0x31,0x36,0x38,0x34,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x5f,0x32,0x31,0x30,0x35,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x31,0x36, - 0x38,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x28, - 0x28,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f, - 0x31,0x36,0x30,0x36,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d, - 0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78, - 0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29, - 0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31, - 0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35, - 0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x30,0x36,0x20,0x2a,0x20,0x28, - 0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x47,0x65,0x6f, - 0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29,0x29, - 0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x28,0x34,0x2e,0x30,0x20,0x2a,0x20, - 0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30, - 0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x34,0x30, - 0x29,0x20,0x2b,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33, - 0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33, - 0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x74, - 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x74,0x65,0x78, - 0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x5f,0x32,0x31,0x30,0x35,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x36,0x38,0x38, - 0x29,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x34,0x30,0x29,0x20,0x2a,0x20,0x5f, - 0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f, - 0x72,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74, - 0x65,0x6e,0x73,0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x32,0x35,0x20,0x3d,0x20,0x74, - 0x72,0x69,0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20, - 0x2a,0x20,0x30,0x2e,0x34,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36, - 0x37,0x34,0x33,0x31,0x36,0x34,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x33,0x31,0x20,0x3d,0x20,0x69, - 0x76,0x65,0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x74, - 0x72,0x69,0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x29,0x2c,0x20,0x76,0x65,0x63, - 0x33,0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f, - 0x31,0x37,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x37,0x35,0x37,0x20,0x3d,0x20,0x74,0x65, - 0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x73,0x61,0x6f,0x74,0x65,0x78,0x5f,0x74,0x72, - 0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x67,0x6c,0x5f, - 0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x20,0x2f,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e, - 0x5f,0x77,0x29,0x2c,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72, - 0x64,0x2e,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31, - 0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x68,0x29,0x29,0x2c,0x20,0x30,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x35,0x38,0x20,0x3d,0x20,0x5f,0x31,0x37,0x35, - 0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, - 0x37,0x36,0x38,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f, - 0x65,0x6e,0x61,0x62,0x6c,0x65,0x64,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x37,0x37,0x34,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x36,0x38,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x37,0x37,0x34, - 0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73, - 0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e,0x30, + 0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64, + 0x6a,0x75,0x73,0x74,0x20,0x2b,0x3d,0x20,0x28,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74, + 0x65,0x72,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31, + 0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36, + 0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x75, + 0x6e,0x74,0x2b,0x2b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x30,0x30,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28, + 0x72,0x6f,0x75,0x6e,0x64,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, + 0x65,0x72,0x69,0x61,0x6c,0x2e,0x77,0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x30,0x2e,0x30,0x35,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39, + 0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c, + 0x69,0x63,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x26,0x20,0x31,0x29,0x20,0x21,0x3d, + 0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x31,0x29, + 0x20,0x26,0x20,0x31,0x32,0x37,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x37,0x38, + 0x37,0x34,0x30,0x31,0x35,0x37,0x31,0x38,0x36,0x39,0x38,0x35,0x30,0x31,0x35,0x38, + 0x36,0x39,0x31,0x34,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x32,0x30, + 0x20,0x3d,0x20,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x35,0x29,0x20, + 0x26,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75, + 0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x5f,0x31,0x35,0x32, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68, + 0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74, + 0x28,0x5f,0x31,0x35,0x32,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x34,0x32,0x38, + 0x35,0x37,0x31,0x34,0x39,0x32,0x34,0x33,0x33,0x35,0x34,0x37,0x39,0x37,0x33,0x36, + 0x33,0x32,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33, + 0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x33,0x29,0x20,0x26, + 0x20,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34, + 0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x35,0x33,0x36,0x20,0x3d,0x20, + 0x61,0x62,0x73,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x35,0x33,0x38,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36, + 0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35, + 0x34,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38,0x20,0x3e,0x3d,0x20,0x5f,0x31, + 0x35,0x34,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, + 0x35,0x34,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35, + 0x34,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x35,0x34,0x39,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38,0x20, + 0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x39,0x20,0x3d, + 0x20,0x5f,0x31,0x35,0x34,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x4e,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x34,0x39,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x2e,0x78,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, - 0x31,0x37,0x37,0x34,0x20,0x3d,0x20,0x5f,0x31,0x37,0x36,0x38,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37,0x37, - 0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28, - 0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, - 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x5f, - 0x31,0x35,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x5f,0x31,0x37,0x38,0x37,0x20,0x3d,0x20,0x46,0x72,0x65,0x73,0x6e, - 0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x39,0x34,0x20,0x3d,0x20,0x76,0x70,0x6f, - 0x73,0x20,0x2d,0x20,0x5f,0x31,0x37,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x34,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20,0x2d,0x63,0x76,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37, - 0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x20, - 0x3d,0x20,0x5f,0x31,0x37,0x39,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d,0x20, - 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x31,0x38,0x30,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f, - 0x72,0x64,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x38,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x29,0x20, - 0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x33,0x31,0x20,0x3d,0x20,0x6d,0x61, - 0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c, - 0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x38,0x33,0x34,0x20, - 0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x72,0x64,0x66,0x5f,0x6c, - 0x75,0x74,0x5f,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28, - 0x5f,0x31,0x38,0x33,0x31,0x2c,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x34,0x34,0x20,0x3d,0x20, - 0x73,0x69,0x6e,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20, - 0x33,0x2e,0x31,0x34,0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31, - 0x31,0x33,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28, - 0x6d,0x69,0x78,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x64,0x6f,0x74,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37, - 0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32, - 0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36, - 0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30, - 0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35, - 0x29,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65,0x74,0x61,0x6c,0x6c, - 0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x37,0x38,0x37,0x20,0x2a, - 0x20,0x5f,0x31,0x38,0x33,0x34,0x2e,0x78,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33, - 0x28,0x5f,0x31,0x38,0x33,0x34,0x2e,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31, - 0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x73,0x70,0x65,0x63,0x5f,0x73,0x63,0x61, - 0x6c,0x65,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x30,0x2e, - 0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30, - 0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38,0x34,0x34, - 0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28, - 0x30,0x2e,0x38,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34, - 0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x20,0x2a,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x34,0x34,0x29,0x20, - 0x2a,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x38,0x33, - 0x31,0x2c,0x20,0x32,0x2e,0x30,0x29,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e, - 0x30,0x20,0x2d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67,0x68, - 0x6e,0x65,0x73,0x73,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x2e, - 0x33,0x33,0x33,0x33,0x33,0x33,0x32,0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33,0x36, - 0x33,0x32,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, - 0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67, - 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30, - 0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x39,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x32,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31, - 0x39,0x30,0x30,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d, - 0x5f,0x64,0x69,0x66,0x66,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x32,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f, - 0x74,0x69,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69, - 0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x76,0x65, - 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x37,0x38,0x37,0x29, - 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c, - 0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28, - 0x64,0x6f,0x74,0x28,0x5f,0x31,0x39,0x30,0x30,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37, - 0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32, - 0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36, - 0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30, - 0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35, - 0x29,0x29,0x29,0x2c,0x20,0x5f,0x31,0x39,0x30,0x30,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f, - 0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x29,0x20,0x2a,0x20, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31,0x36, - 0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x20, - 0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, - 0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x20, - 0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66, - 0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64, - 0x69,0x66,0x66,0x5f,0x73,0x63,0x61,0x6c,0x65,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30, - 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31, - 0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20, - 0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61, - 0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, - 0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72, - 0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28, - 0x6c,0x69,0x67,0x68,0x74,0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61, - 0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d, - 0x20,0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e, - 0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x28,0x5f,0x31,0x34,0x31,0x33, - 0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, - 0x74,0x79,0x20,0x2d,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68, - 0x74,0x29,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61, - 0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31, - 0x37,0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67, - 0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61, - 0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f, - 0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74, - 0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c, - 0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a, - 0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x38, - 0x37,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x2d,0x5f,0x31,0x35, - 0x38,0x30,0x2c,0x20,0x4e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x52,0x20,0x3d,0x20,0x5f, - 0x31,0x39,0x38,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x31,0x39,0x38,0x37,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x52,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65, - 0x63,0x74,0x28,0x52,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, - 0x33,0x20,0x3d,0x20,0x52,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x34,0x20,0x3d,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c, - 0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36,0x30,0x36,0x20, - 0x2a,0x20,0x73,0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31, - 0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, - 0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c, - 0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20, - 0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34, - 0x31,0x33,0x2e,0x65,0x6d,0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61,0x6c, - 0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38, - 0x2e,0x68,0x73,0x76,0x5f,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d,0x3d, - 0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x36,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x34, + 0x30,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x37,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x36, + 0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x37,0x30,0x20,0x3d, + 0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x31,0x35,0x37,0x30,0x20,0x3d,0x20,0x5f,0x31,0x35,0x36,0x32,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x37,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x66,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x34,0x33,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28,0x74,0x72,0x69,0x78,0x65, + 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a, + 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20, + 0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43, + 0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e, + 0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2b,0x20,0x28,0x74,0x72, + 0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79, + 0x7a,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34, + 0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32, + 0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x31,0x36,0x32,0x38,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, + 0x28,0x63,0x61,0x6d,0x20,0x2d,0x20,0x76,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x36, + 0x33,0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f, + 0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x31,0x36,0x33,0x37,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, + 0x7a,0x65,0x28,0x5f,0x31,0x36,0x32,0x38,0x20,0x2b,0x20,0x5f,0x31,0x36,0x33,0x32, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x31,0x36,0x34,0x35,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x31,0x30, + 0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30,0x36,0x32,0x35, + 0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, + 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65,0x74, + 0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x36,0x33,0x37,0x2c,0x20, + 0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x35,0x20,0x3d,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d, - 0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20, + 0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x36,0x34,0x35,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x36, + 0x35,0x34,0x20,0x3d,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c, + 0x69,0x63,0x6b,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x36,0x33,0x37,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68, + 0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x4e, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x31,0x36,0x32,0x38, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x36,0x33,0x32, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x38,0x38,0x20,0x3d,0x20,0x6d, + 0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x33,0x32,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x37,0x32,0x31,0x20,0x3d,0x20,0x5f, + 0x31,0x34,0x31,0x33,0x2e,0x6d,0x76,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x20, + 0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x76,0x70,0x6f, + 0x73,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x31,0x37,0x33,0x32,0x20,0x3d,0x20,0x28,0x28,0x5f,0x31,0x37,0x32,0x31,0x2e,0x78, + 0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x37,0x32,0x31,0x2e, + 0x77,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x37,0x33,0x36,0x20,0x3d,0x20, + 0x5f,0x31,0x37,0x33,0x32,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x31,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30, + 0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32, + 0x31,0x35,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x32,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x5f,0x32,0x31,0x35,0x31,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x36, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28, + 0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x36, + 0x35,0x34,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74, + 0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c, + 0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31, + 0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29, + 0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x35,0x34,0x20,0x2a,0x20,0x28,0x44,0x69, + 0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47,0x58,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x47,0x65,0x6f,0x6d,0x65, + 0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29,0x29,0x20,0x2f, + 0x20,0x76,0x65,0x63,0x33,0x28,0x28,0x28,0x34,0x2e,0x30,0x20,0x2a,0x20,0x6d,0x61, + 0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x20, + 0x2b,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38, + 0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37, + 0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x74,0x65,0x78,0x5f,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f, + 0x32,0x31,0x35,0x31,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x37,0x33,0x36,0x29,0x29, + 0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37, + 0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x29, + 0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65,0x6e, + 0x73,0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x37,0x33,0x20,0x3d,0x20,0x74,0x72,0x69, + 0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20,0x2a,0x20, + 0x30,0x2e,0x34,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36,0x37,0x34, + 0x33,0x31,0x36,0x34,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x37,0x37,0x39,0x20,0x3d,0x20,0x69,0x76,0x65, + 0x63,0x33,0x28,0x6d,0x6f,0x64,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x74,0x72,0x69, + 0x6c,0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37, + 0x37,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x5f,0x31,0x38,0x30,0x35,0x20,0x3d,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x73,0x73,0x61,0x6f,0x74,0x65,0x78,0x5f,0x72,0x64,0x6d,0x73, + 0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67, + 0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28, + 0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x77,0x29,0x2c, + 0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20, + 0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63, + 0x72,0x65,0x65,0x6e,0x5f,0x68,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x31,0x38,0x30,0x36,0x20,0x3d,0x20,0x5f,0x31,0x38,0x30,0x35,0x2e,0x78,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x38,0x31,0x36,0x20, + 0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x65,0x6e,0x61,0x62, + 0x6c,0x65,0x64,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x31,0x38,0x32,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x38,0x31,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x32,0x20,0x3d,0x20,0x72, + 0x64,0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63, + 0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x30,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x32, + 0x20,0x3d,0x20,0x5f,0x31,0x38,0x31,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x32,0x32,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x31,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f, + 0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x5f,0x32,0x30,0x32,0x36,0x20,0x3d,0x20,0x72,0x67,0x62,0x32,0x68,0x73,0x76,0x28, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x5f,0x32,0x30,0x32,0x36,0x2e,0x7a,0x20,0x3d,0x20,0x63,0x6c,0x61, - 0x6d,0x70,0x28,0x5f,0x32,0x30,0x32,0x36,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x64,0x6f, - 0x74,0x28,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x76, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x5f,0x31,0x36,0x34,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x31,0x38,0x33,0x35,0x20,0x3d,0x20,0x46,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63, + 0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x31,0x38,0x34,0x32,0x20,0x3d,0x20,0x76,0x70,0x6f,0x73,0x20,0x2d,0x20, + 0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x34,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x35,0x20,0x3d,0x20,0x2d,0x63,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31, + 0x38,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67, + 0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39, + 0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x38, + 0x35,0x37,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x38,0x37,0x39,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f, + 0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x38,0x38,0x32,0x20,0x3d,0x20,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x5f,0x72, + 0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x38,0x37, + 0x39,0x2c,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x39,0x32,0x20,0x3d,0x20,0x73,0x69,0x6e,0x28, + 0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x33,0x2e,0x31,0x34, + 0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38, + 0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69, + 0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x6d,0x69,0x78,0x28, + 0x5f,0x31,0x38,0x35,0x37,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28, + 0x5f,0x31,0x38,0x35,0x37,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31, + 0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35, + 0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30, + 0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36, + 0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29, + 0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x38,0x33,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38, + 0x38,0x32,0x2e,0x78,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x38, + 0x38,0x32,0x2e,0x79,0x29,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e, + 0x72,0x64,0x6d,0x5f,0x73,0x70,0x65,0x63,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x20, + 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x30,0x2e,0x36,0x39,0x39,0x39, + 0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32, + 0x31,0x38,0x37,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38,0x39,0x32,0x29,0x29,0x29,0x20, + 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28,0x28,0x28,0x30,0x2e,0x38,0x39, + 0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39, + 0x38,0x34,0x33,0x37,0x35,0x20,0x2a,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x39,0x32,0x29,0x20,0x2a,0x20,0x70,0x6f, + 0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x38,0x37,0x39,0x2c,0x20,0x32, + 0x2e,0x30,0x29,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x2e,0x33,0x33,0x33,0x33, + 0x33,0x33,0x32,0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33,0x36,0x33,0x32,0x38,0x31, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x4e, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d,0x20, + 0x5f,0x31,0x38,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20, + 0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x34,0x38,0x20, + 0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66, + 0x66,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x29,0x20, + 0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20, + 0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x31, + 0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x38,0x33,0x35,0x29,0x20,0x2a,0x20,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29, + 0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28, + 0x5f,0x31,0x39,0x34,0x38,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31, + 0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35, + 0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30, + 0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36, + 0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c, + 0x20,0x5f,0x31,0x39,0x34,0x38,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x34, + 0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x61,0x74,0x75, + 0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34, + 0x30,0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2a,0x20,0x74,0x72, + 0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79, + 0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x63,0x61, + 0x6c,0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f, + 0x73,0x63,0x61,0x6c,0x65,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33, + 0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x5f, + 0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65, + 0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20, + 0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e, + 0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68, + 0x74,0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65, + 0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28, + 0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x2a,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62, + 0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x2d, + 0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74,0x29,0x29,0x29, + 0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, + 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b, + 0x3d,0x20,0x28,0x28,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65, + 0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33, + 0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69, + 0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, + 0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38, + 0x30,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x33,0x35,0x20,0x3d,0x20, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x2d,0x5f,0x31,0x36,0x32,0x38,0x2c,0x20, + 0x4e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x52,0x20,0x3d,0x20,0x5f,0x32,0x30,0x33,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32, + 0x30,0x33,0x35,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x52,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x52, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20, + 0x52,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x20,0x3d, + 0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74, + 0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36,0x35,0x34,0x20,0x2a,0x20,0x73,0x6b, + 0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x34,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34, + 0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x66,0x69, + 0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6c,0x69,0x67,0x68, + 0x74,0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, + 0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x65,0x6d,0x69,0x74, + 0x74,0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x65, + 0x6d,0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x73,0x76, + 0x5f,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x35,0x20,0x3d,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72, + 0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x37, + 0x34,0x20,0x3d,0x20,0x72,0x67,0x62,0x32,0x68,0x73,0x76,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x32,0x30,0x37,0x34,0x2e,0x7a,0x20,0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f, + 0x32,0x30,0x37,0x34,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x64,0x6f,0x74,0x28,0x66,0x69, + 0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37, + 0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32, + 0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36, + 0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30, + 0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35, + 0x29,0x29,0x20,0x2f,0x20,0x28,0x64,0x6f,0x74,0x28,0x74,0x72,0x69,0x78,0x65,0x6c, + 0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76, 0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37, 0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e, 0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35, 0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32, 0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32, - 0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2f,0x20,0x28,0x64,0x6f,0x74,0x28,0x74,0x72, - 0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79, - 0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39, - 0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31, - 0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e, - 0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32, - 0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x30, - 0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35, - 0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35, - 0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30, - 0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61, - 0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67, - 0x62,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37, - 0x38,0x2e,0x64,0x65,0x65,0x70,0x43,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x69,0x6e, - 0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x73, - 0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f, - 0x32,0x37,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c, - 0x20,0x76,0x70,0x6f,0x73,0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e, - 0x69,0x73,0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x30,0x36,0x30,0x20, - 0x3d,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x32,0x30,0x36,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x30, - 0x36,0x30,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35, - 0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39, - 0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31, - 0x38,0x37,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, - 0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x36,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35, + 0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x34,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x5f,0x32,0x37,0x38,0x2e,0x64,0x65, + 0x65,0x70,0x43,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x73,0x6d,0x6f,0x6f,0x74, + 0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e, + 0x70,0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c,0x20,0x76,0x70,0x6f, + 0x73,0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70, + 0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x31,0x30,0x36,0x20,0x3d,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31, + 0x31,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x30,0x36,0x2e,0x78, + 0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38, + 0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32,0x31,0x31,0x30,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x31,0x31,0x30,0x2e, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x31,0x30,0x2e, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70,0x72,0x65, + 0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x32,0x31,0x32, + 0x34,0x20,0x3d,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x32,0x38,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x5f,0x32,0x31,0x32,0x34,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, + 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39, + 0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35, + 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x36,0x34,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x36,0x34,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73, - 0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, - 0x5f,0x32,0x30,0x37,0x38,0x20,0x3d,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c, - 0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x38,0x32, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x30,0x37,0x38,0x2e,0x78,0x79,0x7a, - 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x33,0x30, - 0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35, - 0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35, - 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x38,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20, - 0x3d,0x20,0x5f,0x32,0x30,0x38,0x32,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x30,0x38,0x32,0x2e,0x7a,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d, - 0x0a,0x0a,0x00, + 0x31,0x32,0x38,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20, + 0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #pragma clang diagnostic ignored "-Wmissing-prototypes" @@ -5261,32 +5328,32 @@ vs_trile_source_metal_macos := u8.[ float3 vc = v; if ((index / 2) == 0) { - float3 _2123 = vc; - _2123.z = v.y; - _2123.y = v.z; - vc = _2123; + float3 _2169 = vc; + _2169.z = v.y; + _2169.y = v.z; + vc = _2169; } if ((index / 2) == 2) { - float3 _2127 = vc; - _2127.z = v.x; - _2127.x = v.z; - vc = _2127; + float3 _2173 = vc; + _2173.z = v.x; + _2173.x = v.z; + vc = _2173; } if ((index % 2) == 1) { - float3 _2131 = vc; - _2131.z = _2131.z * (-1.0); - vc = _2131; + float3 _2177 = vc; + _2177.z = _2177.z * (-1.0); + vc = _2177; } - float3 _2134 = vc; - float _608 = _2134.x + off.x; - float3 _2136 = _2134; - _2136.x = _608; - float _614 = _2134.y + off.y; - _2136.y = _614; - vc = _2136; - float2 _632 = _2136.xy * (1.0 / ((abs(_608) + abs(_614)) + _2134.z)); + float3 _2180 = vc; + float _608 = _2180.x + off.x; + float3 _2182 = _2180; + _2182.x = _608; + float _614 = _2180.y + off.y; + _2182.y = _614; + vc = _2182; + float2 _632 = _2182.xy * (1.0 / ((abs(_608) + abs(_614)) + _2180.z)); float _635 = _632.x; float _637 = _632.y; return float2(((_635 + _637) + 1.0) * 0.5, ((_635 - _637) + 1.0) * 0.5); @@ -5589,65 +5656,71 @@ vs_trile_source_metal_macos := u8.[ } float3 pos_after_adjust = in.ipos - (in.orig_normal * 0.0199999995529651641845703125); int count = 0; - float4 trixel_material; - while (count < 5) + int maxCount = 5; + bool _1432 = _1413.is_reflection == 1; + if (_1432) { - float4 _1470 = triletex.read(uint2(int2(int(fast::clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(fast::clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(fast::clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16))), 0); - trixel_material = _1470; - if (length(_1470) > 0.00999999977648258209228515625) + maxCount = 1; + } + float4 trixel_material; + while (count < maxCount) + { + float4 _1477 = triletex.read(uint2(int2(int(fast::clamp(pos_after_adjust.z, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0), int(fast::clamp(pos_after_adjust.y, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) + (int(fast::clamp(pos_after_adjust.x, 9.9999997473787516355514526367188e-05, 0.999989986419677734375) * 16.0) * 16))), 0); + trixel_material = _1477; + if (length(_1477) > 0.00999999977648258209228515625) { break; } pos_after_adjust += (in.to_center * 0.100000001490116119384765625); count++; } - int _1493 = int(round(trixel_material.w * 255.0)); + int _1500 = int(round(trixel_material.w * 255.0)); float emittance = 0.0; int roughnessInt = 0; float roughness = 0.0500000007450580596923828125; float metallic = 0.0; - if ((_1493 & 1) != 0) + if ((_1500 & 1) != 0) { - emittance = float((_1493 >> 1) & 127) * 0.0078740157186985015869140625; + emittance = float((_1500 >> 1) & 127) * 0.0078740157186985015869140625; } else { - int _1513 = (_1493 >> 5) & 7; - roughnessInt = _1513; - roughness = fast::max(float(_1513) * 0.14285714924335479736328125, 0.0500000007450580596923828125); - metallic = float((_1493 >> 3) & 3) * 0.3333333432674407958984375; + int _1520 = (_1500 >> 5) & 7; + roughnessInt = _1520; + roughness = fast::max(float(_1520) * 0.14285714924335479736328125, 0.0500000007450580596923828125); + metallic = float((_1500 >> 3) & 3) * 0.3333333432674407958984375; } - float3 _1529 = abs(in.fnormal.xyz); - float _1531 = _1529.x; - float _1533 = _1529.y; - bool _1534 = _1531 >= _1533; - bool _1542; - if (_1534) + float3 _1536 = abs(in.fnormal.xyz); + float _1538 = _1536.x; + float _1540 = _1536.y; + bool _1541 = _1538 >= _1540; + bool _1549; + if (_1541) { - _1542 = _1531 >= _1529.z; + _1549 = _1538 >= _1536.z; } else { - _1542 = _1534; + _1549 = _1541; } float3 N; - if (_1542) + if (_1549) { N = float3(sign(in.fnormal.x), 0.0, 0.0); } else { - bool _1555 = _1533 >= _1531; - bool _1563; - if (_1555) + bool _1562 = _1540 >= _1538; + bool _1570; + if (_1562) { - _1563 = _1533 >= _1529.z; + _1570 = _1540 >= _1536.z; } else { - _1563 = _1555; + _1570 = _1562; } - if (_1563) + if (_1570) { N = float3(0.0, sign(in.fnormal.y), 0.0); } @@ -5656,115 +5729,120 @@ vs_trile_source_metal_macos := u8.[ N = float3(0.0, 0.0, sign(in.fnormal.z)); } } - float3 _1580 = fast::normalize(in.cam - in.vpos); - float3 _1584 = fast::normalize(float3(_278.sunPosition)); - float3 _1589 = fast::normalize(_1580 + _1584); - float3 _1597 = mix(float3(0.039999999105930328369140625), trixel_material.xyz, float3(metallic)); - float param = fast::max(dot(_1589, _1580), 0.0); - float3 param_1 = _1597; - float3 _1606 = fresnelSchlick(param, param_1); + if (_1432) + { + out.frag_color = float4((((trixel_material.xyz * fast::max(dot(N, fast::normalize(float3(_278.sunPosition))), 0.0)) * _278.sunLightColor) * _278.sunIntensity) + (trixel_material.xyz * 0.100000001490116119384765625), 1.0); + return out; + } + float3 _1628 = fast::normalize(in.cam - in.vpos); + float3 _1632 = fast::normalize(float3(_278.sunPosition)); + float3 _1637 = fast::normalize(_1628 + _1632); + float3 _1645 = mix(float3(0.039999999105930328369140625), trixel_material.xyz, float3(metallic)); + float param = fast::max(dot(_1637, _1628), 0.0); + float3 param_1 = _1645; + float3 _1654 = fresnelSchlick(param, param_1); float3 param_2 = N; - float3 param_3 = _1589; + float3 param_3 = _1637; float param_4 = roughness; float3 param_5 = N; - float3 param_6 = _1580; - float3 param_7 = _1584; + float3 param_6 = _1628; + float3 param_7 = _1632; float param_8 = roughness; - float _1640 = fast::max(dot(N, _1584), 0.0); - float4 _1673 = _1413.mvp_shadow * float4(floor(in.vpos * 16.0) * float3(0.0625), 1.0); - float3 _1684 = ((_1673.xyz / float3(_1673.w)) * 0.5) + float3(0.5); - float _1688 = _1684.z - 0.001000000047497451305389404296875; - float3 _2105 = _1684; - _2105.z = _1688; - float3 light = ((((((((float3(1.0) - _1606) * (1.0 - metallic)) * trixel_material.xyz) * float3(0.3183410167694091796875)) + ((_1606 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / float3(((4.0 * fast::max(dot(N, _1580), 0.0)) * _1640) + 9.9999997473787516355514526367188e-05))) * shadowtex.sample_compare(shadowsmp, _2105.xy, _1688)) * _1640) * _278.sunLightColor) * _278.sunIntensity; - float3 _1725 = in.trileCenter + (N * 0.4900000095367431640625); - int3 _1731 = int3(mod(floor(in.trileCenter), float3(32.0))); - int3 param_9 = _1731; + float _1688 = fast::max(dot(N, _1632), 0.0); + float4 _1721 = _1413.mvp_shadow * float4(floor(in.vpos * 16.0) * float3(0.0625), 1.0); + float3 _1732 = ((_1721.xyz / float3(_1721.w)) * 0.5) + float3(0.5); + float _1736 = _1732.z - 0.001000000047497451305389404296875; + float3 _2151 = _1732; + _2151.z = _1736; + float3 light = ((((((((float3(1.0) - _1654) * (1.0 - metallic)) * trixel_material.xyz) * float3(0.3183410167694091796875)) + ((_1654 * (DistributionGGX(param_2, param_3, param_4) * GeometrySmith(param_5, param_6, param_7, param_8))) / float3(((4.0 * fast::max(dot(N, _1628), 0.0)) * _1688) + 9.9999997473787516355514526367188e-05))) * shadowtex.sample_compare(shadowsmp, _2151.xy, _1736)) * _1688) * _278.sunLightColor) * _278.sunIntensity; + float3 _1773 = in.trileCenter + (N * 0.4900000095367431640625); + int3 _1779 = int3(mod(floor(in.trileCenter), float3(32.0))); + int3 param_9 = _1779; int param_10 = roughnessInt; - float4 _1757 = ssaotex.sample(trilesmp, float2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), bias(0.0)); - float _1758 = _1757.x; - bool _1768 = _1413.rdm_enabled == 1; - bool _1774; - if (_1768) + float4 _1805 = ssaotex.sample(rdmsmp, float2(gl_FragCoord.x / float(_1413.screen_w), gl_FragCoord.y / float(_1413.screen_h)), bias(0.0)); + float _1806 = _1805.x; + bool _1816 = _1413.rdm_enabled == 1; + bool _1822; + if (_1816) { - _1774 = rdm_get_atlas_rect(param_9, param_10, rdm_lookup, trilesmp).z > 0.0; + _1822 = rdm_get_atlas_rect(param_9, param_10, rdm_lookup, trilesmp).z > 0.0; } else { - _1774 = _1768; + _1822 = _1816; } - if (_1774) + if (_1822) { - float param_11 = fast::max(dot(N, _1580), 0.0); - float3 param_12 = _1597; + float param_11 = fast::max(dot(N, _1628), 0.0); + float3 param_12 = _1645; float param_13 = roughness; - float3 _1787 = FresnelSchlickRoughness(param_11, param_12, param_13); - float3 _1794 = in.vpos - _1725; + float3 _1835 = FresnelSchlickRoughness(param_11, param_12, param_13); + float3 _1842 = in.vpos - _1773; float3 param_14 = N; float3 param_15 = -in.cv; - float3 param_16 = _1725; - float3 param_17 = _1794; + float3 param_16 = _1773; + float3 param_17 = _1842; int param_18 = roughnessInt; - int3 param_19 = _1731; - float3 _1809 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19, _278, rdm_lookup, trilesmp, rdm_atlas, rdmsmp) * float3(_1413.rdm_tint); - float _1831 = fast::max(dot(N, _1580), 0.0); - float4 _1834 = brdf_lut.sample(rdmsmp, float2(_1831, roughness)); - float _1844 = sin(roughness * 3.141285419464111328125); - light += (((((mix(_1809, float3(dot(_1809, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), float3(metallic)) * ((_1787 * _1834.x) + float3(_1834.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1844))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1844) * powr(1.0 - _1831, 2.0)))) * (1.0 - fast::clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); + int3 param_19 = _1779; + float3 _1857 = sample_rdm(param_14, param_15, param_16, param_17, param_18, param_19, _278, rdm_lookup, trilesmp, rdm_atlas, rdmsmp) * float3(_1413.rdm_tint); + float _1879 = fast::max(dot(N, _1628), 0.0); + float4 _1882 = brdf_lut.sample(rdmsmp, float2(_1879, roughness)); + float _1892 = sin(roughness * 3.141285419464111328125); + light += (((((mix(_1857, float3(dot(_1857, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), float3(metallic)) * ((_1835 * _1882.x) + float3(_1882.y))) * _1413.rdm_spec_scale) * (1.0 - (0.699999988079071044921875 * _1892))) * (1.0 - (((0.89999997615814208984375 * roughness) * _1892) * powr(1.0 - _1879, 2.0)))) * (1.0 - fast::clamp((roughness - 0.5) * 3.3333332538604736328125, 0.0, 1.0))); float3 param_20 = N; - float3 param_21 = _1794; - int3 param_22 = _1731; - float3 _1900 = sample_rdm_diff(param_20, param_21, param_22, rdm_lookup, trilesmp, rdm_atlas, rdmsmp) * float3(_1413.rdm_tint); - light += (((((((float3(1.0) - _1787) * (1.0 - metallic)) * mix(float3(dot(_1900, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1900, float3(_1413.rdm_diff_saturation))) * float3(0.3183410167694091796875)) * trixel_material.xyz) * _1758) * _1413.rdm_diff_scale); + float3 param_21 = _1842; + int3 param_22 = _1779; + float3 _1948 = sample_rdm_diff(param_20, param_21, param_22, rdm_lookup, trilesmp, rdm_atlas, rdmsmp) * float3(_1413.rdm_tint); + light += (((((((float3(1.0) - _1835) * (1.0 - metallic)) * mix(float3(dot(_1948, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _1948, float3(_1413.rdm_diff_saturation))) * float3(0.3183410167694091796875)) * trixel_material.xyz) * _1806) * _1413.rdm_diff_scale); if (_1413.rdm_diff_scale < 0.001000000047497451305389404296875) { - light += (((float3(_1413.ambient_color) * _1413.ambient_intensity) * trixel_material.xyz) * _1758); + light += (((float3(_1413.ambient_color) * _1413.ambient_intensity) * trixel_material.xyz) * _1806); } if (length(light) < _1413.ambient_intensity) { - light += (((float3(_1413.ambient_color) * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1758); + light += (((float3(_1413.ambient_color) * (_1413.ambient_intensity - length(light))) * trixel_material.xyz) * _1806); } } else { - light += (((float3(_1413.ambient_color) * _1413.ambient_intensity) * trixel_material.xyz) * _1758); - float3 _1987 = reflect(-_1580, N); - float3 R = _1987; - if (_1987.y < 0.0) + light += (((float3(_1413.ambient_color) * _1413.ambient_intensity) * trixel_material.xyz) * _1806); + float3 _2035 = reflect(-_1628, N); + float3 R = _2035; + if (_2035.y < 0.0) { R = reflect(R, float3(0.0, 1.0, 0.0)); } float3 param_23 = R; float3 param_24 = float3(_278.sunPosition); - light += ((_1606 * sky(param_23, param_24, _278)) * 0.100000001490116119384765625); + light += ((_1654 * sky(param_23, param_24, _278)) * 0.100000001490116119384765625); } float3 final_color = light + ((trixel_material.xyz * emittance) * _1413.emissive_scale); if (_278.hsv_lighting == 1) { float3 param_25 = trixel_material.xyz; - float3 _2026 = rgb2hsv(param_25); - _2026.z = fast::clamp(_2026.z * (dot(final_color, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); - float3 param_26 = _2026; + float3 _2074 = rgb2hsv(param_25); + _2074.z = fast::clamp(_2074.z * (dot(final_color, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) / (dot(trixel_material.xyz, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)) + 0.001000000047497451305389404296875)), 0.0, 1.0); + float3 param_26 = _2074; final_color = hsv2rgb(param_26); } out.frag_color = float4(mix(float3(_278.deepColor), final_color, float3(smoothstep(0.0, _278.planeHeight, in.vpos.y))), 1.0); if (_1413.is_preview == 1) { - float4 _2060 = out.frag_color; - float3 _2064 = mix(_2060.xyz, float3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), float3(0.5)); - out.frag_color.x = _2064.x; - out.frag_color.y = _2064.y; - out.frag_color.z = _2064.z; + float4 _2106 = out.frag_color; + float3 _2110 = mix(_2106.xyz, float3(0.300000011920928955078125, 0.699999988079071044921875, 1.0), float3(0.5)); + out.frag_color.x = _2110.x; + out.frag_color.y = _2110.y; + out.frag_color.z = _2110.z; } else { if (_1413.is_preview == 2) { - float4 _2078 = out.frag_color; - float3 _2082 = mix(_2078.xyz, float3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), float3(0.5)); - out.frag_color.x = _2082.x; - out.frag_color.y = _2082.y; - out.frag_color.z = _2082.z; + float4 _2124 = out.frag_color; + float3 _2128 = mix(_2124.xyz, float3(1.0, 0.300000011920928955078125, 0.20000000298023223876953125), float3(0.5)); + out.frag_color.x = _2128.x; + out.frag_color.y = _2128.y; + out.frag_color.z = _2128.z; } } return out; @@ -6045,43 +6123,43 @@ fs_trile_source_metal_macos := u8.[ 0x20,0x76,0x63,0x20,0x3d,0x20,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, 0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20, 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x32,0x33,0x20,0x3d,0x20, - 0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32, - 0x33,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x33,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x36,0x39,0x20,0x3d,0x20, + 0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x36, + 0x39,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x32,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x76,0x2e,0x7a, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f, - 0x32,0x31,0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x32,0x31,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, 0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x2f,0x20,0x32,0x29,0x20, 0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x32,0x37, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x37,0x33, 0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, - 0x32,0x31,0x32,0x37,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x32,0x37,0x2e,0x78,0x20,0x3d,0x20, + 0x32,0x31,0x37,0x33,0x2e,0x7a,0x20,0x3d,0x20,0x76,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x33,0x2e,0x78,0x20,0x3d,0x20, 0x76,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20, - 0x3d,0x20,0x5f,0x32,0x31,0x32,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x3d,0x20,0x5f,0x32,0x31,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20, 0x32,0x29,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32, - 0x31,0x33,0x31,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x5f,0x32,0x31,0x33,0x31,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33, - 0x31,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x2d,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x31, + 0x31,0x37,0x37,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x32,0x31,0x37,0x37,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x37, + 0x37,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x2d,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32,0x31,0x37,0x37, 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x20,0x5f,0x32,0x31,0x33,0x34,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20, + 0x74,0x33,0x20,0x5f,0x32,0x31,0x38,0x30,0x20,0x3d,0x20,0x76,0x63,0x3b,0x0a,0x20, 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x30,0x38,0x20,0x3d,0x20, - 0x5f,0x32,0x31,0x33,0x34,0x2e,0x78,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x78,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x33, - 0x36,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f, - 0x32,0x31,0x33,0x36,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x36,0x30,0x38,0x3b,0x0a,0x20, + 0x5f,0x32,0x31,0x38,0x30,0x2e,0x78,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x78,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x38, + 0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f, + 0x32,0x31,0x38,0x32,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x36,0x30,0x38,0x3b,0x0a,0x20, 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x31,0x34,0x20,0x3d,0x20, - 0x5f,0x32,0x31,0x33,0x34,0x2e,0x79,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x79,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x33,0x36,0x2e,0x79,0x20,0x3d,0x20,0x5f, + 0x5f,0x32,0x31,0x38,0x30,0x2e,0x79,0x20,0x2b,0x20,0x6f,0x66,0x66,0x2e,0x79,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x79,0x20,0x3d,0x20,0x5f, 0x36,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x63,0x20,0x3d,0x20,0x5f,0x32, - 0x31,0x33,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, - 0x5f,0x36,0x33,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x33,0x36,0x2e,0x78,0x79,0x20, + 0x31,0x38,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, + 0x5f,0x36,0x33,0x32,0x20,0x3d,0x20,0x5f,0x32,0x31,0x38,0x32,0x2e,0x78,0x79,0x20, 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2f,0x20,0x28,0x28,0x61,0x62,0x73,0x28,0x5f, 0x36,0x30,0x38,0x29,0x20,0x2b,0x20,0x61,0x62,0x73,0x28,0x5f,0x36,0x31,0x34,0x29, - 0x29,0x20,0x2b,0x20,0x5f,0x32,0x31,0x33,0x34,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20, + 0x29,0x20,0x2b,0x20,0x5f,0x32,0x31,0x38,0x30,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20, 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x35,0x20,0x3d,0x20, 0x5f,0x36,0x33,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, 0x74,0x20,0x5f,0x36,0x33,0x37,0x20,0x3d,0x20,0x5f,0x36,0x33,0x32,0x2e,0x79,0x3b, @@ -6891,510 +6969,535 @@ fs_trile_source_metal_macos := u8.[ 0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34, 0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, 0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d, - 0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x68,0x69, - 0x6c,0x65,0x20,0x28,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3c,0x20,0x35,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x34,0x20,0x5f,0x31,0x34,0x37,0x30,0x20,0x3d,0x20,0x74,0x72,0x69,0x6c, - 0x65,0x74,0x65,0x78,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28, - 0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63, - 0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61, - 0x64,0x6a,0x75,0x73,0x74,0x2e,0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39, - 0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31, - 0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20, - 0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37, - 0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29, - 0x2c,0x20,0x69,0x6e,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d, - 0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75, - 0x73,0x74,0x2e,0x79,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, - 0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32, - 0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39, - 0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33, - 0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20, - 0x28,0x69,0x6e,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70, - 0x28,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73, - 0x74,0x2e,0x78,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37, - 0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36, - 0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39, - 0x39,0x39,0x38,0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34, - 0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31, - 0x36,0x29,0x29,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, - 0x6c,0x20,0x3d,0x20,0x5f,0x31,0x34,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31, - 0x34,0x37,0x30,0x29,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39, - 0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38, - 0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x72, - 0x65,0x61,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72, - 0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x20,0x2b,0x3d,0x20,0x28,0x69,0x6e,0x2e,0x74, - 0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33, - 0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x2b,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x34,0x39,0x33,0x20, - 0x3d,0x20,0x69,0x6e,0x74,0x28,0x72,0x6f,0x75,0x6e,0x64,0x28,0x74,0x72,0x69,0x78, - 0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x77,0x20,0x2a,0x20, - 0x32,0x35,0x35,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x30, - 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, - 0x73,0x20,0x3d,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37, - 0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31, - 0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6d,0x65, - 0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x5f,0x31,0x34,0x39,0x33,0x20,0x26,0x20,0x31, - 0x29,0x20,0x21,0x3d,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20, - 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x34,0x39,0x33,0x20,0x3e, - 0x3e,0x20,0x31,0x29,0x20,0x26,0x20,0x31,0x32,0x37,0x29,0x20,0x2a,0x20,0x30,0x2e, - 0x30,0x30,0x37,0x38,0x37,0x34,0x30,0x31,0x35,0x37,0x31,0x38,0x36,0x39,0x38,0x35, - 0x30,0x31,0x35,0x38,0x36,0x39,0x31,0x34,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f, - 0x31,0x35,0x31,0x33,0x20,0x3d,0x20,0x28,0x5f,0x31,0x34,0x39,0x33,0x20,0x3e,0x3e, - 0x20,0x35,0x29,0x20,0x26,0x20,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20, - 0x5f,0x31,0x35,0x31,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72, - 0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a, - 0x3a,0x6d,0x61,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x35,0x31,0x33, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x34,0x32,0x38,0x35,0x37,0x31,0x34,0x39,0x32, - 0x34,0x33,0x33,0x35,0x34,0x37,0x39,0x37,0x33,0x36,0x33,0x32,0x38,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35, - 0x30,0x35,0x38,0x30,0x35,0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x61,0x6c, - 0x6c,0x69,0x63,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x34, - 0x39,0x33,0x20,0x3e,0x3e,0x20,0x33,0x29,0x20,0x26,0x20,0x33,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34, - 0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31, - 0x35,0x32,0x39,0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x33,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35, - 0x32,0x39,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x31,0x35,0x33,0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x79,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x33,0x34,0x20, - 0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34,0x32, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x33,0x34,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, - 0x31,0x35,0x34,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x20,0x3e,0x3d,0x20, - 0x5f,0x31,0x35,0x32,0x39,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x32,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x33,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x31,0x35,0x34,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x73,0x69,0x67,0x6e,0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x2e,0x78,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, - 0x6c,0x20,0x5f,0x31,0x35,0x35,0x35,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x33,0x20, - 0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x36,0x33,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x35,0x35,0x29, + 0x20,0x69,0x6e,0x74,0x20,0x6d,0x61,0x78,0x43,0x6f,0x75,0x6e,0x74,0x20,0x3d,0x20, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x34,0x33, + 0x32,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x33,0x32,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x61,0x78,0x43,0x6f, + 0x75,0x6e,0x74,0x20,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x74,0x72,0x69,0x78,0x65,0x6c, + 0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77, + 0x68,0x69,0x6c,0x65,0x20,0x28,0x63,0x6f,0x75,0x6e,0x74,0x20,0x3c,0x20,0x6d,0x61, + 0x78,0x43,0x6f,0x75,0x6e,0x74,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x34, + 0x37,0x37,0x20,0x3d,0x20,0x74,0x72,0x69,0x6c,0x65,0x74,0x65,0x78,0x2e,0x72,0x65, + 0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e, + 0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f, + 0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x7a, + 0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38, + 0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37, + 0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38, + 0x39,0x39,0x38,0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35, + 0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x2c,0x20,0x69,0x6e,0x74,0x28,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61, + 0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x79,0x2c,0x20,0x39, + 0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31, + 0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38, + 0x65,0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38, + 0x36,0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a, + 0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x70,0x6f,0x73,0x5f,0x61,0x66, + 0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74,0x2e,0x78,0x2c,0x20,0x39,0x2e, + 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36, + 0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65, + 0x2d,0x30,0x35,0x2c,0x20,0x30,0x2e,0x39,0x39,0x39,0x39,0x38,0x39,0x39,0x38,0x36, + 0x34,0x31,0x39,0x36,0x37,0x37,0x37,0x33,0x34,0x33,0x37,0x35,0x29,0x20,0x2a,0x20, + 0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x31,0x36,0x29,0x29,0x29,0x2c,0x20,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x69,0x78,0x65, + 0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x31,0x34, + 0x37,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x34,0x37,0x37,0x29,0x20,0x3e,0x20, + 0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38, + 0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x36,0x33,0x20,0x3d,0x20,0x5f, - 0x31,0x35,0x33,0x33,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x32,0x39,0x2e,0x7a,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31, - 0x35,0x36,0x33,0x20,0x3d,0x20,0x5f,0x31,0x35,0x35,0x35,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x5f,0x31,0x35,0x36,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x70,0x6f,0x73,0x5f,0x61,0x66,0x74,0x65,0x72,0x5f,0x61,0x64,0x6a,0x75,0x73,0x74, + 0x20,0x2b,0x3d,0x20,0x28,0x69,0x6e,0x2e,0x74,0x6f,0x5f,0x63,0x65,0x6e,0x74,0x65, + 0x72,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34, + 0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32, + 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x75,0x6e, + 0x74,0x2b,0x2b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x5f,0x31,0x35,0x30,0x30,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x72, + 0x6f,0x75,0x6e,0x64,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65, + 0x72,0x69,0x61,0x6c,0x2e,0x77,0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x65,0x6d,0x69,0x74, + 0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e, + 0x74,0x20,0x3d,0x20,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x3d,0x20,0x30,0x2e,0x30, + 0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35, + 0x39,0x36,0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20, + 0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28, + 0x5f,0x31,0x35,0x30,0x30,0x20,0x26,0x20,0x31,0x29,0x20,0x21,0x3d,0x20,0x30,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, + 0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x31,0x29,0x20,0x26,0x20, + 0x31,0x32,0x37,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x37,0x38,0x37,0x34,0x30, + 0x31,0x35,0x37,0x31,0x38,0x36,0x39,0x38,0x35,0x30,0x31,0x35,0x38,0x36,0x39,0x31, + 0x34,0x30,0x36,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x32,0x30,0x20,0x3d,0x20, + 0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x35,0x29,0x20,0x26,0x20,0x37, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, + 0x65,0x73,0x73,0x49,0x6e,0x74,0x20,0x3d,0x20,0x5f,0x31,0x35,0x32,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x28,0x5f,0x31,0x35,0x32,0x30,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31, + 0x34,0x32,0x38,0x35,0x37,0x31,0x34,0x39,0x32,0x34,0x33,0x33,0x35,0x34,0x37,0x39, + 0x37,0x33,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x35,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x37,0x34,0x35,0x30,0x35,0x38,0x30,0x35,0x39,0x36, + 0x39,0x32,0x33,0x38,0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x20,0x3d,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x28,0x28,0x5f,0x31,0x35,0x30,0x30,0x20,0x3e,0x3e,0x20,0x33, + 0x29,0x20,0x26,0x20,0x33,0x29,0x20,0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33, + 0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38, + 0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x35,0x33,0x36,0x20,0x3d,0x20,0x61, + 0x62,0x73,0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x79, + 0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, + 0x35,0x33,0x38,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x78,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3d, + 0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x33,0x38, + 0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x34,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x34,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x31,0x35,0x34,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x34,0x39,0x20,0x3d,0x20, + 0x5f,0x31,0x35,0x33,0x38,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x7a, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x31,0x35,0x34,0x39,0x20,0x3d,0x20,0x5f,0x31,0x35,0x34,0x31,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x4e, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x34,0x39,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e, + 0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x73,0x69,0x67,0x6e,0x28,0x69, + 0x6e,0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x35,0x36,0x32, + 0x20,0x3d,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3e,0x3d,0x20,0x5f,0x31,0x35,0x33, + 0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x31,0x35,0x37,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x31,0x35,0x36,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x4e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, - 0x73,0x69,0x67,0x6e,0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e, - 0x79,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x31,0x35,0x37,0x30,0x20,0x3d,0x20,0x5f,0x31,0x35,0x34,0x30,0x20,0x3e,0x3d, + 0x20,0x5f,0x31,0x35,0x33,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e, - 0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x35,0x38, - 0x30,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x69,0x7a,0x65,0x28,0x69,0x6e,0x2e,0x63,0x61,0x6d,0x20,0x2d,0x20,0x69,0x6e,0x2e, - 0x76,0x70,0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x20,0x5f,0x31,0x35,0x38,0x34,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, - 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x5f,0x31,0x35,0x38,0x39,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x31,0x35,0x38,0x30,0x20,0x2b,0x20, - 0x5f,0x31,0x35,0x38,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x20,0x5f,0x31,0x35,0x39,0x37,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39, - 0x39,0x31,0x30,0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30, - 0x36,0x32,0x35,0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74, - 0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, - 0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31, - 0x35,0x38,0x39,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x35,0x39,0x37,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x36,0x30,0x36,0x20, - 0x3d,0x20,0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, - 0x31,0x35,0x38,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e, - 0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20, - 0x3d,0x20,0x5f,0x31,0x35,0x38,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31, - 0x35,0x38,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65, - 0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, - 0x36,0x34,0x30,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28, - 0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x34,0x29,0x2c,0x20,0x30, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, - 0x5f,0x31,0x36,0x37,0x33,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x6d,0x76, - 0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x34,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x6e,0x2e,0x76,0x70,0x6f,0x73,0x20, - 0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x36,0x38,0x34, - 0x20,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36,0x37,0x33,0x2e,0x78,0x79,0x7a,0x20,0x2f, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x36,0x37,0x33,0x2e,0x77,0x29, - 0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x5f,0x31,0x36,0x38,0x38,0x20,0x3d,0x20,0x5f,0x31,0x36,0x38,0x34,0x2e, - 0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30, - 0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f,0x31,0x36,0x38, - 0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x30,0x35,0x2e,0x7a,0x20,0x3d, - 0x20,0x5f,0x31,0x36,0x38,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x28, - 0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d, - 0x20,0x5f,0x31,0x36,0x30,0x36,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d, - 0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72, - 0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79, - 0x7a,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x33,0x31, - 0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39, - 0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x30,0x36, - 0x20,0x2a,0x20,0x28,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e, - 0x47,0x47,0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a, - 0x20,0x47,0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x38,0x29,0x29,0x29,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x28,0x28, - 0x34,0x2e,0x30,0x20,0x2a,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28, - 0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30, - 0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x34,0x30,0x29,0x20,0x2b,0x20, - 0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35, - 0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38, - 0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x73,0x68,0x61,0x64,0x6f, - 0x77,0x74,0x65,0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x63,0x6f,0x6d,0x70, - 0x61,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x5f, - 0x32,0x31,0x30,0x35,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x29, - 0x20,0x2a,0x20,0x5f,0x31,0x36,0x34,0x30,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38, - 0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x29,0x20, - 0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65,0x6e,0x73, - 0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, - 0x5f,0x31,0x37,0x32,0x35,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x74,0x72,0x69,0x6c,0x65, - 0x43,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20,0x2a,0x20,0x30,0x2e, - 0x34,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36,0x37,0x34,0x33,0x31, - 0x36,0x34,0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, - 0x33,0x20,0x5f,0x31,0x37,0x33,0x31,0x20,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x6d, - 0x6f,0x64,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x6e,0x2e,0x74,0x72,0x69,0x6c, - 0x65,0x43,0x65,0x6e,0x74,0x65,0x72,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x33,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, - 0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37, - 0x33,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, - 0x49,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, - 0x5f,0x31,0x37,0x35,0x37,0x20,0x3d,0x20,0x73,0x73,0x61,0x6f,0x74,0x65,0x78,0x2e, - 0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43, - 0x6f,0x6f,0x72,0x64,0x2e,0x78,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f, - 0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x77,0x29,0x2c,0x20, - 0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20,0x2f, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72, - 0x65,0x65,0x6e,0x5f,0x68,0x29,0x29,0x2c,0x20,0x62,0x69,0x61,0x73,0x28,0x30,0x2e, - 0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x31,0x37,0x35,0x38,0x20,0x3d,0x20,0x5f,0x31,0x37,0x35,0x37,0x2e,0x78,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x37,0x36,0x38,0x20,0x3d, - 0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x65,0x6e,0x61,0x62,0x6c, - 0x65,0x64,0x20,0x3d,0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, - 0x6c,0x20,0x5f,0x31,0x37,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, - 0x28,0x5f,0x31,0x37,0x36,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x37,0x37,0x34,0x20,0x3d,0x20,0x72,0x64, - 0x6d,0x5f,0x67,0x65,0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x30,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x2c,0x20, - 0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e, - 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, - 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x5f,0x31,0x37,0x37,0x34,0x20,0x3d,0x20,0x5f,0x31,0x37,0x36,0x38,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x37, - 0x37,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31, - 0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74, - 0x28,0x4e,0x2c,0x20,0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x5f,0x31,0x35,0x39, - 0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x37,0x38,0x37,0x20,0x3d,0x20,0x46,0x72, - 0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67, - 0x68,0x6e,0x65,0x73,0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x33,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x5f,0x31,0x37,0x39,0x34,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76, - 0x70,0x6f,0x73,0x20,0x2d,0x20,0x5f,0x31,0x37,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x34,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, - 0x35,0x20,0x3d,0x20,0x2d,0x69,0x6e,0x2e,0x63,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x35,0x37,0x30,0x20,0x3d,0x20,0x5f, + 0x31,0x35,0x36,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x35,0x37, + 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4e,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x69,0x6e, + 0x2e,0x66,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x29,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x4e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x73,0x69,0x67,0x6e,0x28,0x69,0x6e,0x2e,0x66,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x34,0x33,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28, + 0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, + 0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61, + 0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, + 0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, + 0x29,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37, + 0x38,0x2e,0x73,0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x29, + 0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65,0x6e, + 0x73,0x69,0x74,0x79,0x29,0x20,0x2b,0x20,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, + 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x30, + 0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36, + 0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x36,0x32,0x38,0x20, + 0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x28,0x69,0x6e,0x2e,0x63,0x61,0x6d,0x20,0x2d,0x20,0x69,0x6e,0x2e,0x76,0x70, + 0x6f,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x5f,0x31,0x36,0x33,0x32,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f, + 0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31, + 0x36,0x33,0x37,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x31,0x36,0x32,0x38,0x20,0x2b,0x20,0x5f,0x31, + 0x36,0x33,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x5f,0x31,0x36,0x34,0x35,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x31, + 0x30,0x35,0x39,0x33,0x30,0x33,0x32,0x38,0x33,0x36,0x39,0x31,0x34,0x30,0x36,0x32, + 0x35,0x29,0x2c,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72, + 0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, + 0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x36,0x33, + 0x37,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x31,0x36,0x34,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x36,0x35,0x34,0x20,0x3d,0x20, + 0x66,0x72,0x65,0x73,0x6e,0x65,0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a, 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, - 0x5f,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x37,0x20,0x3d,0x20,0x5f,0x31,0x37,0x39,0x34,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x31,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e, - 0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x20,0x5f,0x31,0x38,0x30,0x39,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f, - 0x72,0x64,0x6d,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36, - 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70,0x61,0x72,0x61, - 0x6d,0x5f,0x31,0x38,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x2c,0x20, - 0x5f,0x32,0x37,0x38,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70, - 0x2c,0x20,0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x72,0x64,0x6d,0x5f, - 0x61,0x74,0x6c,0x61,0x73,0x2c,0x20,0x72,0x64,0x6d,0x73,0x6d,0x70,0x29,0x20,0x2a, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64, - 0x6d,0x5f,0x74,0x69,0x6e,0x74,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x33,0x31,0x20,0x3d,0x20,0x66, - 0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20, - 0x5f,0x31,0x35,0x38,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x38, - 0x33,0x34,0x20,0x3d,0x20,0x62,0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x2e,0x73,0x61, + 0x5f,0x32,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x31,0x36, + 0x33,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20, + 0x5f,0x31,0x36,0x32,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x31,0x36,0x33, + 0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x38, + 0x38,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f, + 0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x33,0x32,0x29,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31, + 0x37,0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x6d,0x76,0x70,0x5f, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28, + 0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x6e,0x2e,0x76,0x70,0x6f,0x73,0x20,0x2a,0x20, + 0x31,0x36,0x2e,0x30,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30, + 0x2e,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x37,0x33,0x32,0x20,0x3d, + 0x20,0x28,0x28,0x5f,0x31,0x37,0x32,0x31,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x37,0x32,0x31,0x2e,0x77,0x29,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, + 0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x31,0x37,0x33,0x36,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x32,0x2e,0x7a,0x20, + 0x2d,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, + 0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32, + 0x39,0x36,0x38,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x5f,0x32,0x31,0x35,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x32,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x35,0x31,0x2e,0x7a,0x20,0x3d,0x20,0x5f, + 0x31,0x37,0x33,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28, + 0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f, + 0x31,0x36,0x35,0x34,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d, + 0x65,0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78, + 0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29, + 0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x33,0x31,0x38,0x33, + 0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39,0x36,0x38, + 0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x5f,0x31,0x36,0x35,0x34,0x20,0x2a, + 0x20,0x28,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x47,0x47, + 0x58,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x20,0x2a,0x20,0x47, + 0x65,0x6f,0x6d,0x65,0x74,0x72,0x79,0x53,0x6d,0x69,0x74,0x68,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x2c,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29, + 0x29,0x29,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x28,0x28,0x34,0x2e, + 0x30,0x20,0x2a,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f, + 0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x29,0x20,0x2a,0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x20,0x2b,0x20,0x39,0x2e, + 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36, + 0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65, + 0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x74, + 0x65,0x78,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x63,0x6f,0x6d,0x70,0x61,0x72, + 0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x31, + 0x35,0x31,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x37,0x33,0x36,0x29,0x29,0x20,0x2a, + 0x20,0x5f,0x31,0x36,0x38,0x38,0x29,0x20,0x2a,0x20,0x5f,0x32,0x37,0x38,0x2e,0x73, + 0x75,0x6e,0x4c,0x69,0x67,0x68,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a,0x20, + 0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x49,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31, + 0x37,0x37,0x33,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x74,0x72,0x69,0x6c,0x65,0x43,0x65, + 0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x4e,0x20,0x2a,0x20,0x30,0x2e,0x34,0x39, + 0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x35,0x33,0x36,0x37,0x34,0x33,0x31,0x36,0x34, + 0x30,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20, + 0x5f,0x31,0x37,0x37,0x39,0x20,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x6d,0x6f,0x64, + 0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x6e,0x2e,0x74,0x72,0x69,0x6c,0x65,0x43, + 0x65,0x6e,0x74,0x65,0x72,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x33, + 0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e, + 0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31, + 0x38,0x30,0x35,0x20,0x3d,0x20,0x73,0x73,0x61,0x6f,0x74,0x65,0x78,0x2e,0x73,0x61, 0x6d,0x70,0x6c,0x65,0x28,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x32,0x28,0x5f,0x31,0x38,0x33,0x31,0x2c,0x20,0x72,0x6f,0x75,0x67,0x68, - 0x6e,0x65,0x73,0x73,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x34,0x34,0x20,0x3d,0x20,0x73,0x69, - 0x6e,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x33,0x2e, - 0x31,0x34,0x31,0x32,0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33, - 0x32,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x6d,0x69, - 0x78,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x64,0x6f,0x74,0x28,0x5f,0x31,0x38,0x30,0x39,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32, - 0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31, - 0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39, - 0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30, - 0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38, - 0x37,0x35,0x29,0x29,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x6d,0x65, - 0x74,0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x37, - 0x38,0x37,0x20,0x2a,0x20,0x5f,0x31,0x38,0x33,0x34,0x2e,0x78,0x29,0x20,0x2b,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x38,0x33,0x34,0x2e,0x79,0x29,0x29, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x73,0x70, - 0x65,0x63,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30, - 0x20,0x2d,0x20,0x28,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30, - 0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x20,0x2a, - 0x20,0x5f,0x31,0x38,0x34,0x34,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30, - 0x20,0x2d,0x20,0x28,0x28,0x28,0x30,0x2e,0x38,0x39,0x39,0x39,0x39,0x39,0x39,0x37, - 0x36,0x31,0x35,0x38,0x31,0x34,0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x20, - 0x2a,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x20,0x2a,0x20,0x5f, - 0x31,0x38,0x34,0x34,0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x72,0x28,0x31,0x2e,0x30, - 0x20,0x2d,0x20,0x5f,0x31,0x38,0x33,0x31,0x2c,0x20,0x32,0x2e,0x30,0x29,0x29,0x29, - 0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a, - 0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, - 0x73,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x2e,0x33,0x33,0x33, - 0x33,0x33,0x33,0x32,0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33,0x36,0x33,0x32,0x38, - 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61, - 0x72,0x61,0x6d,0x5f,0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x39,0x34,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x32,0x20,0x3d,0x20,0x5f,0x31,0x37,0x33,0x31,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31, - 0x39,0x30,0x30,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d, - 0x5f,0x64,0x69,0x66,0x66,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20, - 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, - 0x32,0x32,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x2c,0x20, - 0x74,0x72,0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74, - 0x6c,0x61,0x73,0x2c,0x20,0x72,0x64,0x6d,0x73,0x6d,0x70,0x29,0x20,0x2a,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f, - 0x74,0x69,0x6e,0x74,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c, - 0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x37, - 0x38,0x37,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74, - 0x61,0x6c,0x6c,0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x39,0x30,0x30,0x2c,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39, - 0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38, - 0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30, - 0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39, - 0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c,0x20,0x5f,0x31,0x39,0x30, - 0x30,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e, - 0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x61,0x74,0x75,0x72,0x61,0x74, - 0x69,0x6f,0x6e,0x29,0x29,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x30,0x2e,0x33,0x31,0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30, - 0x39,0x31,0x37,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69, - 0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34, - 0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x63,0x61,0x6c, - 0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73, - 0x63,0x61,0x6c,0x65,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38, - 0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65, - 0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31, - 0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73, - 0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61, - 0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31, - 0x37,0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67, - 0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74,0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31, - 0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73, - 0x69,0x74,0x79,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74, - 0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31, - 0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x29,0x20,0x2a,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69, - 0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x2d,0x20, - 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74,0x29,0x29,0x29,0x20, - 0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61, - 0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d, - 0x20,0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33, - 0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x20, - 0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f, - 0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69, - 0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a, - 0x29,0x20,0x2a,0x20,0x5f,0x31,0x37,0x35,0x38,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x39,0x38,0x37, - 0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x2d,0x5f,0x31,0x35,0x38, - 0x30,0x2c,0x20,0x4e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x33,0x20,0x52,0x20,0x3d,0x20,0x5f,0x31,0x39,0x38,0x37,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x39, - 0x38,0x37,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x52,0x20,0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x52,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, - 0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20,0x52,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x34,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x5f,0x32,0x37,0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68, - 0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x31,0x36,0x30,0x36,0x20,0x2a,0x20,0x73, - 0x6b,0x79,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x2c,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x5f,0x32,0x34,0x2c,0x20,0x5f,0x32,0x37,0x38,0x29,0x29,0x20,0x2a,0x20, - 0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31, - 0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6c, - 0x69,0x67,0x68,0x74,0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, - 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x65, - 0x6d,0x69,0x74,0x74,0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31, - 0x33,0x2e,0x65,0x6d,0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61,0x6c,0x65, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e, - 0x68,0x73,0x76,0x5f,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d,0x3d,0x20, - 0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35, - 0x20,0x3d,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, - 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x30,0x32,0x36,0x20,0x3d,0x20,0x72, - 0x67,0x62,0x32,0x68,0x73,0x76,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x32,0x36,0x2e, - 0x7a,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28, - 0x5f,0x32,0x30,0x32,0x36,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x64,0x6f,0x74,0x28,0x66, - 0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x61,0x74,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64, + 0x2e,0x78,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33, + 0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x77,0x29,0x2c,0x20,0x67,0x6c,0x5f,0x46, + 0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f, + 0x68,0x29,0x29,0x2c,0x20,0x62,0x69,0x61,0x73,0x28,0x30,0x2e,0x30,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x30,0x36, + 0x20,0x3d,0x20,0x5f,0x31,0x38,0x30,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x38,0x31,0x36,0x20,0x3d,0x20,0x5f,0x31,0x34, + 0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x65,0x6e,0x61,0x62,0x6c,0x65,0x64,0x20,0x3d, + 0x3d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, + 0x38,0x32,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38, + 0x31,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x38,0x32,0x32,0x20,0x3d,0x20,0x72,0x64,0x6d,0x5f,0x67,0x65, + 0x74,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x72,0x65,0x63,0x74,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x39,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x30,0x2c,0x20, + 0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x2c,0x20,0x74,0x72,0x69,0x6c, + 0x65,0x73,0x6d,0x70,0x29,0x2e,0x7a,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32, + 0x32,0x20,0x3d,0x20,0x5f,0x31,0x38,0x31,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x32,0x32,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x20,0x3d,0x20,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20, + 0x5f,0x31,0x36,0x32,0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x32,0x20,0x3d,0x20,0x5f,0x31,0x36,0x34,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x33,0x20,0x3d,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x5f,0x31,0x38,0x33,0x35,0x20,0x3d,0x20,0x46,0x72,0x65,0x73,0x6e,0x65, + 0x6c,0x53,0x63,0x68,0x6c,0x69,0x63,0x6b,0x52,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73, + 0x73,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x31,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x33,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x5f,0x31,0x38,0x34,0x32,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x70,0x6f,0x73,0x20, + 0x2d,0x20,0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34, + 0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x35,0x20,0x3d,0x20, + 0x2d,0x69,0x6e,0x2e,0x63,0x76,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x20, + 0x3d,0x20,0x5f,0x31,0x37,0x37,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x37, + 0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38,0x20,0x3d, + 0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x49,0x6e,0x74,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x39,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x38, + 0x35,0x37,0x20,0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x34,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x35,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x36,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x38, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x39,0x2c,0x20,0x5f,0x32,0x37,0x38, + 0x2c,0x20,0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x2c,0x20,0x74,0x72, + 0x69,0x6c,0x65,0x73,0x6d,0x70,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x2c,0x20,0x72,0x64,0x6d,0x73,0x6d,0x70,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69, + 0x6e,0x74,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x31,0x38,0x37,0x39,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a, + 0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x4e,0x2c,0x20,0x5f,0x31,0x36,0x32, + 0x38,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x38,0x38,0x32,0x20,0x3d, + 0x20,0x62,0x72,0x64,0x66,0x5f,0x6c,0x75,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x28,0x72,0x64,0x6d,0x73,0x6d,0x70,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28, + 0x5f,0x31,0x38,0x37,0x39,0x2c,0x20,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x38,0x39,0x32,0x20,0x3d,0x20,0x73,0x69,0x6e,0x28,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2a,0x20,0x33,0x2e,0x31,0x34,0x31,0x32, + 0x38,0x35,0x34,0x31,0x39,0x34,0x36,0x34,0x31,0x31,0x31,0x33,0x32,0x38,0x31,0x32, + 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68, + 0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31, + 0x38,0x35,0x37,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28, + 0x5f,0x31,0x38,0x35,0x37,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, + 0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31, + 0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30, + 0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32, + 0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29, + 0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x6d,0x65,0x74,0x61,0x6c,0x6c, + 0x69,0x63,0x29,0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x31,0x38,0x33,0x35,0x20,0x2a, + 0x20,0x5f,0x31,0x38,0x38,0x32,0x2e,0x78,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x5f,0x31,0x38,0x38,0x32,0x2e,0x79,0x29,0x29,0x29,0x20,0x2a,0x20, + 0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x73,0x70,0x65,0x63,0x5f,0x73, + 0x63,0x61,0x6c,0x65,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28, + 0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37, + 0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x20,0x2a,0x20,0x5f,0x31,0x38, + 0x39,0x32,0x29,0x29,0x29,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x28, + 0x28,0x28,0x30,0x2e,0x38,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x36,0x31,0x35,0x38, + 0x31,0x34,0x32,0x30,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x20,0x2a,0x20,0x72,0x6f, + 0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x39,0x32, + 0x29,0x20,0x2a,0x20,0x70,0x6f,0x77,0x72,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f, + 0x31,0x38,0x37,0x39,0x2c,0x20,0x32,0x2e,0x30,0x29,0x29,0x29,0x29,0x20,0x2a,0x20, + 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61, + 0x6d,0x70,0x28,0x28,0x72,0x6f,0x75,0x67,0x68,0x6e,0x65,0x73,0x73,0x20,0x2d,0x20, + 0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x32, + 0x35,0x33,0x38,0x36,0x30,0x34,0x37,0x33,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x2c, + 0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x30,0x20,0x3d,0x20,0x4e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x31,0x20,0x3d,0x20,0x5f,0x31,0x38,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x32,0x20,0x3d,0x20,0x5f,0x31,0x37,0x37,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x39,0x34,0x38,0x20, + 0x3d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66, + 0x66,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x30,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x32,0x2c,0x20, + 0x72,0x64,0x6d,0x5f,0x6c,0x6f,0x6f,0x6b,0x75,0x70,0x2c,0x20,0x74,0x72,0x69,0x6c, + 0x65,0x73,0x6d,0x70,0x2c,0x20,0x72,0x64,0x6d,0x5f,0x61,0x74,0x6c,0x61,0x73,0x2c, + 0x20,0x72,0x64,0x6d,0x73,0x6d,0x70,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f,0x74,0x69,0x6e,0x74, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74, + 0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x31,0x38,0x33,0x35,0x29,0x20, + 0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x65,0x74,0x61,0x6c,0x6c,0x69, + 0x63,0x29,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x39,0x34,0x38,0x2c,0x20,0x66,0x6c,0x6f,0x61, 0x74,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35, 0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37, 0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30, 0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30, 0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31, - 0x38,0x37,0x35,0x29,0x29,0x20,0x2f,0x20,0x28,0x64,0x6f,0x74,0x28,0x74,0x72,0x69, - 0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a, - 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39, - 0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32, - 0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36, - 0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30, - 0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32, - 0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e, - 0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34, - 0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37, - 0x35,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30,0x32,0x36,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63, - 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, - 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c, - 0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6d,0x69,0x78,0x28, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x32,0x37,0x38,0x2e,0x64,0x65,0x65,0x70, - 0x43,0x6f,0x6c,0x6f,0x72,0x29,0x2c,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f, - 0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x73,0x6d,0x6f,0x6f, - 0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x38, - 0x2e,0x70,0x6c,0x61,0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c,0x20,0x69,0x6e, - 0x2e,0x76,0x70,0x6f,0x73,0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e, - 0x69,0x73,0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x30,0x36,0x30,0x20,0x3d,0x20,0x6f,0x75, - 0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x30, - 0x36,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x30,0x36,0x30,0x2e,0x78, - 0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x33,0x30,0x30, - 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, - 0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39, - 0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37, - 0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, - 0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, - 0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20, - 0x3d,0x20,0x5f,0x32,0x30,0x36,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x30,0x36,0x34,0x2e,0x79,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x30,0x36,0x34,0x2e, - 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, - 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70,0x72,0x65, - 0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x32,0x30,0x37,0x38,0x20,0x3d,0x20, - 0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x20,0x5f,0x32,0x30,0x38,0x32,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f, - 0x32,0x30,0x37,0x38,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30, - 0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, + 0x38,0x37,0x35,0x29,0x29,0x29,0x2c,0x20,0x5f,0x31,0x39,0x34,0x38,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72,0x64,0x6d,0x5f, + 0x64,0x69,0x66,0x66,0x5f,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29, + 0x29,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x33,0x31, + 0x38,0x33,0x34,0x31,0x30,0x31,0x36,0x37,0x36,0x39,0x34,0x30,0x39,0x31,0x37,0x39, + 0x36,0x38,0x37,0x35,0x29,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, + 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20, + 0x5f,0x31,0x38,0x30,0x36,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x72, + 0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31, + 0x33,0x2e,0x72,0x64,0x6d,0x5f,0x64,0x69,0x66,0x66,0x5f,0x73,0x63,0x61,0x6c,0x65, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34, + 0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34, + 0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69, + 0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d, + 0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, + 0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69, + 0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x6c, + 0x69,0x67,0x68,0x74,0x29,0x20,0x3c,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d, + 0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20, + 0x28,0x28,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e, + 0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a, + 0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f, + 0x69,0x6e,0x74,0x65,0x6e,0x73,0x69,0x74,0x79,0x20,0x2d,0x20,0x6c,0x65,0x6e,0x67, + 0x74,0x68,0x28,0x6c,0x69,0x67,0x68,0x74,0x29,0x29,0x29,0x20,0x2a,0x20,0x74,0x72, + 0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79, + 0x7a,0x29,0x20,0x2a,0x20,0x5f,0x31,0x38,0x30,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d,0x20,0x28,0x28,0x28, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x61,0x6d,0x62, + 0x69,0x65,0x6e,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x34,0x31,0x33,0x2e,0x61,0x6d,0x62,0x69,0x65,0x6e,0x74,0x5f,0x69,0x6e,0x74,0x65, + 0x6e,0x73,0x69,0x74,0x79,0x29,0x20,0x2a,0x20,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, + 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20, + 0x5f,0x31,0x38,0x30,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x30,0x33,0x35,0x20,0x3d,0x20,0x72, + 0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x2d,0x5f,0x31,0x36,0x32,0x38,0x2c,0x20,0x4e, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x52,0x20,0x3d,0x20,0x5f,0x32,0x30,0x33,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x30,0x33,0x35,0x2e,0x79, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x52,0x20, + 0x3d,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x28,0x52,0x2c,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x33,0x20,0x3d,0x20,0x52,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x34,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x32,0x37, + 0x38,0x2e,0x73,0x75,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x69,0x67,0x68,0x74,0x20,0x2b,0x3d, + 0x20,0x28,0x28,0x5f,0x31,0x36,0x35,0x34,0x20,0x2a,0x20,0x73,0x6b,0x79,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x34,0x2c,0x20,0x5f,0x32,0x37,0x38,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39, + 0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x66,0x69,0x6e, + 0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6c,0x69,0x67,0x68,0x74, + 0x20,0x2b,0x20,0x28,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65, + 0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x65,0x6d,0x69,0x74,0x74, + 0x61,0x6e,0x63,0x65,0x29,0x20,0x2a,0x20,0x5f,0x31,0x34,0x31,0x33,0x2e,0x65,0x6d, + 0x69,0x73,0x73,0x69,0x76,0x65,0x5f,0x73,0x63,0x61,0x6c,0x65,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x37,0x38,0x2e,0x68,0x73,0x76,0x5f, + 0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x20,0x3d,0x20,0x74, + 0x72,0x69,0x78,0x65,0x6c,0x5f,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x5f,0x32,0x30,0x37,0x34,0x20,0x3d,0x20,0x72,0x67,0x62,0x32,0x68, + 0x73,0x76,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x30,0x37,0x34,0x2e,0x7a,0x20,0x3d,0x20, + 0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x32,0x30,0x37, + 0x34,0x2e,0x7a,0x20,0x2a,0x20,0x28,0x64,0x6f,0x74,0x28,0x66,0x69,0x6e,0x61,0x6c, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30, + 0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35, + 0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30, + 0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35, + 0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30, + 0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29, + 0x29,0x20,0x2f,0x20,0x28,0x64,0x6f,0x74,0x28,0x74,0x72,0x69,0x78,0x65,0x6c,0x5f, + 0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32, + 0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30, + 0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32, + 0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32, + 0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39, + 0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x30,0x30,0x31,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30, + 0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x36,0x20,0x3d,0x20,0x5f,0x32,0x30,0x37,0x34,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x68,0x73,0x76,0x32,0x72,0x67,0x62,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x5f,0x32,0x37,0x38,0x2e,0x64,0x65,0x65,0x70,0x43,0x6f,0x6c,0x6f, + 0x72,0x29,0x2c,0x20,0x66,0x69,0x6e,0x61,0x6c,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74, + 0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x32,0x37,0x38,0x2e,0x70,0x6c,0x61, + 0x6e,0x65,0x48,0x65,0x69,0x67,0x68,0x74,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x70,0x6f, + 0x73,0x2e,0x79,0x29,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70, + 0x72,0x65,0x76,0x69,0x65,0x77,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x20,0x5f,0x32,0x31,0x30,0x36,0x20,0x3d,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x31,0x30,0x20,0x3d, + 0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x30,0x36,0x2e,0x78,0x79,0x7a,0x2c,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30, + 0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32, + 0x35,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37, + 0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x38,0x32,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x31,0x31,0x30,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, + 0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20, + 0x3d,0x20,0x5f,0x32,0x31,0x31,0x30,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x32,0x30,0x38,0x32,0x2e,0x79,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, - 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32, - 0x30,0x38,0x32,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x31,0x30,0x2e,0x7a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x34,0x31,0x33,0x2e,0x69,0x73,0x5f,0x70,0x72,0x65,0x76,0x69,0x65,0x77, + 0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x5f,0x32,0x31,0x32,0x34,0x20,0x3d,0x20,0x6f,0x75,0x74,0x2e, + 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f, + 0x32,0x31,0x32,0x38,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x32,0x34, + 0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, + 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e, + 0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32, + 0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, + 0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x79,0x20, + 0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x7a,0x20,0x3d,0x20,0x5f,0x32,0x31,0x32,0x38,0x2e, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75, + 0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc: sg_shader_desc; @@ -7556,8 +7659,8 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[2].glsl_name = "rdm_lookup_trilesmp"; desc.image_sampler_pairs[3].stage = .FRAGMENT; desc.image_sampler_pairs[3].image_slot = 1; - desc.image_sampler_pairs[3].sampler_slot = 0; - desc.image_sampler_pairs[3].glsl_name = "ssaotex_trilesmp"; + desc.image_sampler_pairs[3].sampler_slot = 3; + desc.image_sampler_pairs[3].glsl_name = "ssaotex_rdmsmp"; desc.image_sampler_pairs[4].stage = .FRAGMENT; desc.image_sampler_pairs[4].image_slot = 4; desc.image_sampler_pairs[4].sampler_slot = 3; @@ -7722,8 +7825,8 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[2].glsl_name = "rdm_lookup_trilesmp"; desc.image_sampler_pairs[3].stage = .FRAGMENT; desc.image_sampler_pairs[3].image_slot = 1; - desc.image_sampler_pairs[3].sampler_slot = 0; - desc.image_sampler_pairs[3].glsl_name = "ssaotex_trilesmp"; + desc.image_sampler_pairs[3].sampler_slot = 3; + desc.image_sampler_pairs[3].glsl_name = "ssaotex_rdmsmp"; desc.image_sampler_pairs[4].stage = .FRAGMENT; desc.image_sampler_pairs[4].image_slot = 4; desc.image_sampler_pairs[4].sampler_slot = 3; @@ -7803,7 +7906,7 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[2].sampler_slot = 0; desc.image_sampler_pairs[3].stage = .FRAGMENT; desc.image_sampler_pairs[3].image_slot = 1; - desc.image_sampler_pairs[3].sampler_slot = 0; + desc.image_sampler_pairs[3].sampler_slot = 3; desc.image_sampler_pairs[4].stage = .FRAGMENT; desc.image_sampler_pairs[4].image_slot = 4; desc.image_sampler_pairs[4].sampler_slot = 3; diff --git a/src/shaders/shader_bloom.glsl b/src/shaders/shader_bloom.glsl new file mode 100644 index 0000000..6570f24 --- /dev/null +++ b/src/shaders/shader_bloom.glsl @@ -0,0 +1,32 @@ +@vs vs_bloom +in vec2 position; +in vec2 uv; + +out vec2 texcoord; + +void main() { + gl_Position = vec4(position, 0.5, 1.0); + texcoord = uv; +} +@end + +@fs fs_bloom +in vec2 texcoord; +out vec4 frag_color; + +layout(binding=0) uniform bloom_params { + float bloom_treshold; +}; + +layout(binding = 0) uniform texture2D bloom_src; +layout(binding = 0) uniform sampler bloom_src_smp; + +void main() { + vec4 color = texture(sampler2D(bloom_src, bloom_src_smp), texcoord); + float value = max(color.r, max(color.g, color.b)); + if(value < bloom_treshold) { color = vec4(0.0, 0.0, 0.0, 1.0); } + frag_color = vec4(color.rgb, 1.0); +} +@end + +@program bloom vs_bloom fs_bloom diff --git a/src/shaders/shader_post_process_main.glsl b/src/shaders/shader_post_process_main.glsl index 2b5582f..2f9ac66 100644 --- a/src/shaders/shader_post_process_main.glsl +++ b/src/shaders/shader_post_process_main.glsl @@ -18,6 +18,8 @@ layout(binding = 0) uniform texture2D pptex; layout(binding = 0) uniform sampler ppsmp; layout(binding = 1) uniform texture2D lut; layout(binding = 1) uniform sampler lut_linear; +layout(binding = 2) uniform texture2D bloom_tex; +layout(binding = 2) uniform sampler bloom_smp; layout(binding=0) uniform post_process_config { float exposure; @@ -34,6 +36,7 @@ layout(binding=0) uniform post_process_config { float barrel_distortion_intensity; int lut_mode; float dither_intensity; + float bloom_amount; }; vec3 aces(vec3 x) { @@ -85,8 +88,8 @@ void main() { float b = texture(sampler2D(pptex, ppsmp), distorted_texcoord - vec2(chromatic_aberration_intensity, 0.0)).b; vec3 sampled_color_hdr = vec4(r, g, b, 1.0).rgb; - - vec3 color_hdr = sampled_color_hdr * exposure; + vec3 bloom_color = texture(sampler2D(bloom_tex, bloom_smp), distorted_texcoord).rgb; + vec3 color_hdr = (sampled_color_hdr + bloom_color * bloom_amount) * exposure; vec3 color_ldr_linear; if(tonemap > 0.5) { diff --git a/src/shaders/shader_sky.glsl b/src/shaders/shader_sky.glsl index e57eb49..370c716 100644 --- a/src/shaders/shader_sky.glsl +++ b/src/shaders/shader_sky.glsl @@ -62,18 +62,6 @@ float noise(vec3 x) mix(hash(n + 270.0), hash(n + 271.0), f.x), f.y), f.z); } -const mat3 m = mat3(0.0, 1.60, 1.20, -1.6, 0.72, -0.96, -1.2, -0.96, 1.28); -float fbm(vec3 p) -{ - float f = 0.0; - f += noise(p) / 2.0; p = m * p * 1.1; - f += noise(p) / 4.0; p = m * p * 1.2; - f += noise(p) / 6.0; p = m * p * 1.3; - f += noise(p) / 12.0; p = m * p * 1.4; - f += noise(p) / 24.0; - return f; -} - vec3 sky(vec3 skypos, vec3 sunpos) { vec3 sunCol = sunDisk.xyz; @@ -111,13 +99,6 @@ vec3 sky(vec3 skypos, vec3 sunpos) { final += mix(horizonHalo.xyz, vec3(0.0,0.0,0.0), clamp(abs(npos.y) * 20.0, 0.0, 1.0)) * 0.8; final = vec3(final); - - // Cirrus Clouds - if(hasClouds == 1) { - float density = smoothstep(1.0 - cirrus, 1.0, fbm(npos.xyz / npos.y * 2.0 + time * 0.05)) * 0.3; - final.rgb = mix(final.rgb, vec3(1.0, 1.0, 1.0), max(0.0, npos.y) * density * 2.0); - } - return final; } diff --git a/src/shaders/shader_trile.glsl b/src/shaders/shader_trile.glsl index dcc5601..0190982 100644 --- a/src/shaders/shader_trile.glsl +++ b/src/shaders/shader_trile.glsl @@ -341,7 +341,7 @@ vec3 sample_rdm(vec3 N, vec3 V, vec3 rdm_center, vec3 diff, int roughness, ivec3 } float maxDist = 20.0; - int steps = 40; + int steps = 10; for (int i = 0; i < steps; i++) { float t = maxDist * float(i + 1) / float(steps); vec3 samplePos = diff + t * reflected; @@ -453,7 +453,9 @@ void main() { vec3 pos_after_adjust = ipos - orig_normal * 0.02; int count = 0; vec4 trixel_material; - while (count < 5) { + int maxCount = 5; + if(is_reflection == 1) maxCount = 1; + while (count < maxCount) { int xpos = int(clamp(pos_after_adjust.z, 0.0001, 0.99999) * 16.0); int ypos = int(clamp(pos_after_adjust.y, 0.0001, 0.99999) * 16.0); int zpos = int(clamp(pos_after_adjust.x, 0.0001, 0.99999) * 16.0); @@ -489,6 +491,16 @@ void main() { N = vec3(0.0, 0.0, sign(fnormal.z)); } + if (is_reflection == 1) { + vec3 V = normalize(cam - vpos.xyz); + vec3 L = normalize(sunPosition); + float NdotL = max(dot(N, L), 0.0); + vec3 light = albedo * NdotL * sunLightColor * sunIntensity; + light += 0.1 * albedo; + frag_color = vec4(light, 1.0); + return; + } + vec3 V = normalize(cam - vpos.xyz); vec3 L = normalize(sunPosition); vec3 H = normalize(V + L); @@ -519,7 +531,7 @@ void main() { vec3 hemispherePos = trileCenter + N * 0.49; ivec3 local = ivec3(mod(floor(trileCenter), 32.0)); vec4 atlas_rect_check = rdm_get_atlas_rect(local, roughnessInt); - float ssao_sample = texture(sampler2D(ssaotex, trilesmp), vec2(gl_FragCoord.x / float(screen_w), gl_FragCoord.y / float(screen_h)), 0).r; + float ssao_sample = texture(sampler2D(ssaotex, rdmsmp), vec2(gl_FragCoord.x / float(screen_w), gl_FragCoord.y / float(screen_h)), 0).r; // Emissive — self-lit, not shadowed. vec3 emissive = albedo * emittance * emissive_scale;