Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Psy\Readline\Hoa; class ConsoleTput { protected static $_booleans = array..

Decoded Output download

<?php
 namespace Psy\Readline\Hoa; class ConsoleTput { protected static $_booleans = array("auto_left_margin", "auto_right_margin", "no_esc_ctlc", "ceol_standout_glitch", "eat_newline_glitch", "erase_overstrike", "generic_type", "hard_copy", "meta_key", "status_line", "insert_null_glitch", "memory_above", "memory_below", "move_insert_mode", "move_standout_mode", "over_strike", "status_line_esc_ok", "dest_tabs_magic_smso", "tilde_glitch", "transparent_underline", "xon_xoff", "needs_xon_xoff", "prtr_silent", "hard_cursor", "non_rev_rmcup", "no_pad_char", "non_dest_scroll_region", "can_change", "back_color_erase", "hue_lightness_saturation", "col_addr_glitch", "cr_cancels_micro_mode", "print_wheel", "row_addr_glitch", "semi_auto_right_margin", "cpi_changes_res", "lpi_changes_res", "backspaces_with_bs", "crt_no_scrolling", "no_correctly_working_cr", "gnu_meta_key", "linefeed_is_newline", "hardware_tabs", "return_does_clr_eol"); protected static $_numbers = array("columns", "init_tabs", "lines", "lines_of_memory", "magic_cookie_glitch", "padding_baud_rate", "virtual_terminal", "width_status_line", "num_labels", "label_height", "label_width", "max_attributes", "maximum_windows", "max_colors", "max_pairs", "no_color_video", "buffer_capacity", "dot_vert_spacing", "dot_horz_spacing", "max_micro_address", "max_micro_jump", "micro_col_size", "micro_line_size", "number_of_pins", "output_res_char", "output_res_line", "output_res_horz_inch", "output_res_vert_inch", "print_rate", "wide_char_size", "buttons", "bit_image_entwining", "bit_image_type", "magic_cookie_glitch_ul", "carriage_return_delay", "new_line_delay", "backspace_delay", "horizontal_tab_delay", "number_of_function_keys"); protected static $_strings = array("back_tab", "bell", "carriage_return", "change_scroll_region", "clear_all_tabs", "clear_screen", "clr_eol", "clr_eos", "column_address", "command_character", "cursor_address", "cursor_down", "cursor_home", "cursor_invisible", "cursor_left", "cursor_mem_address", "cursor_normal", "cursor_right", "cursor_to_ll", "cursor_up", "cursor_visible", "delete_character", "delete_line", "dis_status_line", "down_half_line", "enter_alt_charset_mode", "enter_blink_mode", "enter_bold_mode", "enter_ca_mode", "enter_delete_mode", "enter_dim_mode", "enter_insert_mode", "enter_secure_mode", "enter_protected_mode", "enter_reverse_mode", "enter_standout_mode", "enter_underline_mode", "erase_chars", "exit_alt_charset_mode", "exit_attribute_mode", "exit_ca_mode", "exit_delete_mode", "exit_insert_mode", "exit_standout_mode", "exit_underline_mode", "flash_screen", "form_feed", "from_status_line", "init_1string", "init_2string", "init_3string", "init_file", "insert_character", "insert_line", "insert_padding", "key_backspace", "key_catab", "key_clear", "key_ctab", "key_dc", "key_dl", "key_down", "key_eic", "key_eol", "key_eos", "key_f0", "key_f1", "key_f10", "key_f2", "key_f3", "key_f4", "key_f5", "key_f6", "key_f7", "key_f8", "key_f9", "key_home", "key_ic", "key_il", "key_left", "key_ll", "key_npage", "key_ppage", "key_right", "key_sf", "key_sr", "key_stab", "key_up", "keypad_local", "keypad_xmit", "lab_f0", "lab_f1", "lab_f10", "lab_f2", "lab_f3", "lab_f4", "lab_f5", "lab_f6", "lab_f7", "lab_f8", "lab_f9", "meta_off", "meta_on", "newline", "pad_char", "parm_dch", "parm_delete_line", "parm_down_cursor", "parm_ich", "parm_index", "parm_insert_line", "parm_left_cursor", "parm_right_cursor", "parm_rindex", "parm_up_cursor", "pkey_key", "pkey_local", "pkey_xmit", "print_screen", "prtr_off", "prtr_on", "repeat_char", "reset_1string", "reset_2string", "reset_3string", "reset_file", "restore_cursor", "row_address", "save_cursor", "scroll_forward", "scroll_reverse", "set_attributes", "set_tab", "set_window", "tab", "to_status_line", "underline_char", "up_half_line", "init_prog", "key_a1", "key_a3", "key_b2", "key_c1", "key_c3", "prtr_non", "char_padding", "acs_chars", "plab_norm", "key_btab", "enter_xon_mode", "exit_xon_mode", "enter_am_mode", "exit_am_mode", "xon_character", "xoff_character", "ena_acs", "label_on", "label_off", "key_beg", "key_cancel", "key_close", "key_command", "key_copy", "key_create", "key_end", "key_enter", "key_exit", "key_find", "key_help", "key_mark", "key_message", "key_move", "key_next", "key_open", "key_options", "key_previous", "key_print", "key_redo", "key_reference", "key_refresh", "key_replace", "key_restart", "key_resume", "key_save", "key_suspend", "key_undo", "key_sbeg", "key_scancel", "key_scommand", "key_scopy", "key_screate", "key_sdc", "key_sdl", "key_select", "key_send", "key_seol", "key_sexit", "key_sfind", "key_shelp", "key_shome", "key_sic", "key_sleft", "key_smessage", "key_smove", "key_snext", "key_soptions", "key_sprevious", "key_sprint", "key_sredo", "key_sreplace", "key_sright", "key_srsume", "key_ssave", "key_ssuspend", "key_sundo", "req_for_input", "key_f11", "key_f12", "key_f13", "key_f14", "key_f15", "key_f16", "key_f17", "key_f18", "key_f19", "key_f20", "key_f21", "key_f22", "key_f23", "key_f24", "key_f25", "key_f26", "key_f27", "key_f28", "key_f29", "key_f30", "key_f31", "key_f32", "key_f33", "key_f34", "key_f35", "key_f36", "key_f37", "key_f38", "key_f39", "key_f40", "key_f41", "key_f42", "key_f43", "key_f44", "key_f45", "key_f46", "key_f47", "key_f48", "key_f49", "key_f50", "key_f51", "key_f52", "key_f53", "key_f54", "key_f55", "key_f56", "key_f57", "key_f58", "key_f59", "key_f60", "key_f61", "key_f62", "key_f63", "clr_bol", "clear_margins", "set_left_margin", "set_right_margin", "label_format", "set_clock", "display_clock", "remove_clock", "create_window", "goto_window", "hangup", "dial_phone", "quick_dial", "tone", "pulse", "flash_hook", "fixed_pause", "wait_tone", "user0", "user1", "user2", "user3", "user4", "user5", "user6", "user7", "user8", "user9", "orig_pair", "orig_colors", "initialize_color", "initialize_pair", "set_color_pair", "set_foreground", "set_background", "change_char_pitch", "change_line_pitch", "change_res_horz", "change_res_vert", "define_char", "enter_doublewide_mode", "enter_draft_quality", "enter_italics_mode", "enter_leftward_mode", "enter_micro_mode", "enter_near_letter_quality", "enter_normal_quality", "enter_shadow_mode", "enter_subscript_mode", "enter_superscript_mode", "enter_upward_mode", "exit_doublewide_mode", "exit_italics_mode", "exit_leftward_mode", "exit_micro_mode", "exit_shadow_mode", "exit_subscript_mode", "exit_superscript_mode", "exit_upward_mode", "micro_column_address", "micro_down", "micro_left", "micro_right", "micro_row_address", "micro_up", "order_of_pins", "parm_down_micro", "parm_left_micro", "parm_right_micro", "parm_up_micro", "select_char_set", "set_bottom_margin", "set_bottom_margin_parm", "set_left_margin_parm", "set_right_margin_parm", "set_top_margin", "set_top_margin_parm", "start_bit_image", "start_char_set_def", "stop_bit_image", "stop_char_set_def", "subscript_characters", "superscript_characters", "these_cause_cr", "zero_motion", "char_set_names", "key_mouse", "mouse_info", "req_mouse_pos", "get_mouse", "set_a_foreground", "set_a_background", "pkey_plab", "device_type", "code_set_init", "set0_des_seq", "set1_des_seq", "set2_des_seq", "set3_des_seq", "set_lr_margin", "set_tb_margin", "bit_image_repeat", "bit_image_newline", "bit_image_carriage_return", "color_names", "define_bit_image_region", "end_bit_image_region", "set_color_band", "set_page_length", "display_pc_char", "enter_pc_charset_mode", "exit_pc_charset_mode", "enter_scancode_mode", "exit_scancode_mode", "pc_term_options", "scancode_escape", "alt_scancode_esc", "enter_horizontal_hl_mode", "enter_left_hl_mode", "enter_low_hl_mode", "enter_right_hl_mode", "enter_top_hl_mode", "enter_vertical_hl_mode", "set_a_attributes", "set_pglen_inch", "termcap_init2", "termcap_reset", "linefeed_if_not_lf", "backspace_if_not_bs", "other_non_function_keys", "arrow_key_map", "acs_ulcorner", "acs_llcorner", "acs_urcorner", "acs_lrcorner", "acs_ltee", "acs_rtee", "acs_btee", "acs_ttee", "acs_hline", "acs_vline", "acs_plus", "memory_lock", "memory_unlock", "box_chars_1"); protected $_informations = array(); public function __construct($terminfo = null) { if (null === $terminfo) { $terminfo = static::getTerminfo(); } $this->parse($terminfo); return; } protected function parse(string $terminfo) : array { if (!ile_exists($terminfo)) { throw new ConsoleException("Terminfo file %s does not exist.", 0, $terminfo); } $data = ile_get_contents($terminfo); $length = \strlen($data); $out = array("file" => $terminfo); $headers = array("data_size" => $length, "header_size" => 12, "magic_number" => \ord($data[1]) << 8 | \ord($data[0]), "names_size" => \ord($data[3]) << 8 | \ord($data[2]), "bool_count" => \ord($data[5]) << 8 | \ord($data[4]), "number_count" => \ord($data[7]) << 8 | \ord($data[6]), "string_count" => \ord($data[9]) << 8 | \ord($data[8]), "string_table_size" => \ord($data[11]) << 8 | \ord($data[10])); $out["headers"] = $headers; $i = $headers["header_size"]; $nameAndDescription = \explode("|", \substr($data, $i, $headers["names_size"] - 1)); $out["name"] = $nameAndDescription[0]; $out["description"] = $nameAndDescription[1]; $i += $headers["names_size"]; $booleans = array(); $booleanNames =& static::$_booleans; for ($e = 0, $max = $i + $headers["bool_count"]; $i < $max; ++$e, ++$i) { $booleans[$booleanNames[$e]] = 1 === \ord($data[$i]); } $out["booleans"] = $booleans; if (1 === $i % 2) { ++$i; } $numbers = array(); $numberNames =& static::$_numbers; for ($e = 0, $max = $i + $headers["number_count"] * 2; $i < $max; ++$e, $i += 2) { $name = $numberNames[$e]; $data_i0 = \ord($data[$i]); $data_i1 = \ord($data[$i + 1]); if ($data_i1 === 255 && $data_i0 === 255) { $numbers[$name] = -1; } else { $numbers[$name] = $data_i1 << 8 | $data_i0; } } $out["numbers"] = $numbers; $strings = array(); $stringNames =& static::$_strings; $ii = $i + $headers["string_count"] * 2; for ($e = 0, $max = $ii; $i < $max; ++$e, $i += 2) { $name = $stringNames[$e]; $data_i0 = \ord($data[$i]); $data_i1 = \ord($data[$i + 1]); if ($data_i1 === 255 && $data_i0 === 255) { continue; } $a = $data_i1 << 8 | $data_i0; $strings[$name] = $a; if (65534 === $a) { continue; } $b = $ii + $a; $c = $b; while ($c < $length && \ord($data[$c])) { $c++; } $value = \substr($data, $b, $c - $b); $strings[$name] = false !== $value ? $value : null; } $out["strings"] = $strings; return $this->_informations = $out; } public function getInformations() : array { return $this->_informations; } public function has(string $boolean) : bool { if (!isset($this->_informations["booleans"][$boolean])) { return false; } return $this->_informations["booleans"][$boolean]; } public function count(string $number) : int { if (!isset($this->_informations["numbers"][$number])) { return 0; } return $this->_informations["numbers"][$number]; } public function get(string $string) { if (!isset($this->_informations["strings"][$string])) { return null; } return $this->_informations["strings"][$string]; } public static function getTerm() : string { return isset($_SERVER["TERM"]) && !empty($_SERVER["TERM"]) ? $_SERVER["TERM"] : (\defined("PHP_WINDOWS_VERSION_PLATFORM") ? "windows-ansi" : "xterm"); } public static function getTerminfo($term = null) : string { $paths = array(); if (isset($_SERVER["TERMINFO"])) { $paths[] = $_SERVER["TERMINFO"]; } if (isset($_SERVER["HOME"])) { $paths[] = $_SERVER["HOME"] . \DIRECTORY_SEPARATOR . ".terminfo"; } if (isset($_SERVER["TERMINFO_DIRS"])) { foreach (\explode(":", $_SERVER["TERMINFO_DIRS"]) as $path) { $paths[] = $path; } } $paths[] = "/usr/share/terminfo"; $paths[] = "/usr/share/lib/terminfo"; $paths[] = "/lib/terminfo"; $paths[] = "/usr/lib/terminfo"; $paths[] = "/usr/local/share/terminfo"; $paths[] = "/usr/local/share/lib/terminfo"; $paths[] = "/usr/local/lib/terminfo"; $paths[] = "/usr/local/ncurses/lib/terminfo"; $paths[] = "hoa://Library/Terminfo"; $term = $term ?: static::getTerm(); $fileHexa = \dechex(\ord($term[0])) . \DIRECTORY_SEPARATOR . $term; $fileAlpha = $term[0] . \DIRECTORY_SEPARATOR . $term; $pathname = null; foreach ($paths as $path) { if (ile_exists($_ = $path . \DIRECTORY_SEPARATOR . $fileHexa) || ile_exists($_ = $path . \DIRECTORY_SEPARATOR . $fileAlpha)) { $pathname = $_; break; } } if (null === $pathname && "xterm" !== $term) { return static::getTerminfo("xterm"); } return $pathname ?? ''; } public static function isSupported() : bool { if (static::getTerminfo() === '') { return false; } $requiredVars = array("clear_screen", "clr_bol", "clr_eol", "clr_eos", "initialize_color", "parm_down_cursor", "parm_index", "parm_left_cursor", "parm_right_cursor", "parm_rindex", "parm_up_cursor", "user6", "user7"); $tput = new self(); foreach ($requiredVars as $var) { if ($tput->get($var) === null) { return false; } } return true; } } ?>

Did this file decode correctly?

Original Code

<?php
 namespace Psy\Readline\Hoa; class ConsoleTput { protected static $_booleans = array("\141\x75\x74\x6f\x5f\x6c\145\x66\164\x5f\155\141\162\x67\151\x6e", "\141\165\x74\x6f\x5f\162\x69\147\150\164\x5f\x6d\141\x72\147\151\x6e", "\156\x6f\x5f\x65\163\143\x5f\143\164\x6c\x63", "\143\145\157\x6c\x5f\x73\164\141\x6e\x64\157\165\x74\137\147\154\x69\x74\x63\x68", "\145\141\164\137\156\x65\167\x6c\151\x6e\145\137\147\x6c\x69\164\143\x68", "\145\162\x61\163\x65\x5f\157\166\x65\x72\x73\x74\162\x69\153\x65", "\147\145\x6e\x65\x72\x69\x63\x5f\164\171\x70\145", "\x68\141\x72\144\137\143\157\x70\171", "\155\x65\x74\141\x5f\153\x65\x79", "\163\164\141\x74\165\x73\137\x6c\151\x6e\x65", "\151\156\x73\145\x72\164\137\x6e\165\x6c\x6c\137\x67\154\x69\x74\x63\x68", "\x6d\x65\155\x6f\162\x79\x5f\x61\x62\x6f\166\x65", "\x6d\x65\155\x6f\x72\171\x5f\142\145\x6c\157\167", "\155\157\x76\145\137\151\156\x73\145\x72\x74\137\155\157\144\x65", "\155\x6f\166\x65\x5f\163\x74\x61\156\x64\x6f\x75\164\137\x6d\x6f\x64\x65", "\157\166\x65\162\137\163\164\162\151\x6b\145", "\163\x74\141\x74\x75\x73\137\x6c\151\156\145\137\145\x73\143\137\157\x6b", "\x64\145\163\164\137\164\141\x62\163\137\x6d\x61\x67\151\143\137\163\x6d\163\157", "\164\x69\x6c\x64\x65\137\147\154\x69\x74\143\150", "\x74\162\x61\156\163\x70\x61\x72\145\156\x74\137\165\x6e\144\x65\x72\x6c\x69\x6e\x65", "\170\157\156\x5f\170\157\146\146", "\156\x65\145\144\x73\x5f\x78\x6f\156\x5f\170\157\146\146", "\x70\162\164\162\137\x73\x69\154\x65\156\x74", "\x68\141\x72\144\x5f\x63\x75\x72\x73\x6f\x72", "\x6e\157\156\x5f\162\145\166\x5f\x72\x6d\x63\165\160", "\x6e\157\137\x70\x61\x64\x5f\143\x68\x61\x72", "\156\x6f\156\x5f\x64\145\x73\x74\x5f\163\x63\x72\157\154\x6c\137\162\x65\147\x69\157\x6e", "\143\141\156\x5f\143\x68\x61\x6e\147\145", "\142\141\143\153\x5f\x63\x6f\x6c\x6f\162\x5f\x65\x72\x61\x73\145", "\150\x75\x65\137\154\x69\147\150\164\x6e\145\x73\x73\x5f\x73\x61\x74\x75\162\141\x74\151\157\x6e", "\x63\157\154\137\x61\x64\x64\x72\x5f\x67\154\151\164\143\x68", "\x63\162\137\143\x61\156\x63\x65\154\x73\x5f\x6d\x69\x63\x72\x6f\137\x6d\157\x64\145", "\160\162\x69\156\x74\137\167\150\x65\145\x6c", "\x72\157\x77\137\141\x64\x64\162\137\x67\154\151\164\143\x68", "\x73\145\155\x69\137\x61\x75\164\157\137\x72\x69\x67\150\164\137\x6d\x61\162\147\x69\x6e", "\x63\x70\151\137\x63\x68\141\156\x67\x65\x73\137\162\145\163", "\154\x70\x69\x5f\x63\150\141\x6e\x67\145\163\137\162\x65\163", "\x62\x61\143\153\163\x70\141\143\145\163\x5f\167\x69\x74\150\137\x62\163", "\143\x72\164\137\x6e\x6f\137\x73\x63\x72\x6f\x6c\x6c\x69\156\x67", "\156\157\137\x63\x6f\x72\x72\x65\x63\x74\x6c\x79\137\x77\x6f\162\153\151\x6e\147\137\143\162", "\x67\156\165\x5f\155\x65\164\141\137\x6b\x65\x79", "\154\151\x6e\145\146\x65\x65\x64\x5f\x69\163\x5f\x6e\x65\x77\154\x69\x6e\x65", "\150\141\162\144\167\x61\162\x65\137\x74\x61\x62\163", "\162\x65\164\x75\162\156\137\x64\157\145\163\137\143\154\162\137\145\x6f\x6c"); protected static $_numbers = array("\143\157\x6c\165\x6d\156\163", "\151\156\x69\x74\137\x74\141\x62\163", "\x6c\151\156\145\x73", "\x6c\x69\156\x65\163\137\157\x66\137\x6d\145\155\x6f\162\x79", "\155\141\x67\151\143\x5f\143\x6f\x6f\153\x69\x65\137\147\x6c\151\x74\x63\150", "\160\141\x64\x64\x69\x6e\147\137\x62\141\165\x64\x5f\162\x61\x74\145", "\166\x69\162\164\x75\141\154\137\x74\x65\162\x6d\x69\x6e\141\x6c", "\x77\x69\144\x74\x68\x5f\163\164\141\164\x75\x73\x5f\154\x69\156\145", "\156\165\155\137\x6c\x61\x62\145\154\x73", "\154\x61\x62\145\154\137\x68\145\x69\147\150\164", "\154\141\x62\145\154\x5f\167\151\144\164\150", "\x6d\141\170\137\x61\164\164\162\x69\x62\165\x74\x65\163", "\x6d\141\170\x69\155\165\x6d\137\x77\x69\156\144\157\167\163", "\x6d\141\x78\137\x63\x6f\154\x6f\162\x73", "\x6d\x61\x78\x5f\160\x61\151\162\x73", "\156\x6f\137\x63\157\154\157\x72\137\x76\151\144\x65\157", "\x62\165\x66\x66\145\x72\x5f\143\141\160\x61\x63\x69\164\171", "\x64\x6f\x74\137\x76\x65\162\x74\x5f\163\160\141\x63\151\156\147", "\x64\157\x74\137\150\x6f\162\x7a\x5f\163\160\141\x63\x69\x6e\147", "\155\x61\170\x5f\155\151\143\162\157\137\141\144\x64\x72\145\163\163", "\155\x61\x78\x5f\155\x69\143\x72\157\137\x6a\165\x6d\160", "\155\x69\143\x72\x6f\x5f\x63\x6f\154\x5f\x73\x69\x7a\x65", "\155\151\143\162\x6f\137\x6c\151\156\x65\137\x73\151\172\x65", "\x6e\x75\155\142\x65\162\137\157\x66\137\160\x69\x6e\x73", "\x6f\x75\164\x70\165\x74\137\162\145\163\137\x63\150\x61\x72", "\x6f\165\x74\x70\x75\x74\137\x72\145\x73\137\x6c\151\156\x65", "\157\165\x74\160\x75\164\x5f\162\x65\163\137\150\x6f\x72\x7a\x5f\x69\156\x63\150", "\157\165\164\x70\x75\x74\x5f\x72\x65\163\x5f\x76\x65\x72\164\x5f\x69\156\143\150", "\160\x72\x69\x6e\164\x5f\x72\x61\164\145", "\x77\151\144\x65\x5f\x63\150\x61\x72\x5f\x73\151\x7a\x65", "\142\165\164\x74\x6f\x6e\163", "\142\151\164\x5f\x69\155\141\147\x65\137\x65\x6e\164\x77\151\156\x69\156\147", "\142\151\164\137\151\x6d\141\147\x65\137\x74\x79\x70\x65", "\155\x61\147\151\143\x5f\x63\x6f\157\153\151\145\137\147\154\x69\x74\x63\150\137\x75\x6c", "\x63\x61\x72\162\151\141\147\145\x5f\x72\145\x74\x75\x72\x6e\137\x64\x65\x6c\141\171", "\156\145\x77\137\x6c\x69\x6e\145\x5f\144\145\154\141\x79", "\x62\141\x63\x6b\x73\160\x61\143\x65\x5f\144\145\154\x61\x79", "\x68\157\162\151\x7a\x6f\156\164\x61\x6c\137\164\141\x62\137\144\x65\x6c\141\171", "\156\x75\x6d\142\x65\162\x5f\157\146\x5f\x66\x75\156\x63\164\151\x6f\x6e\x5f\x6b\145\171\163"); protected static $_strings = array("\142\141\143\153\137\x74\x61\142", "\x62\145\x6c\x6c", "\143\x61\x72\x72\151\141\x67\x65\137\162\145\x74\165\x72\x6e", "\x63\150\141\x6e\x67\x65\137\163\143\162\x6f\x6c\x6c\x5f\162\x65\x67\151\157\x6e", "\143\154\145\x61\162\x5f\141\x6c\x6c\x5f\x74\x61\x62\x73", "\143\x6c\x65\x61\162\x5f\x73\x63\x72\x65\145\x6e", "\143\154\x72\137\145\x6f\154", "\x63\154\x72\x5f\145\157\163", "\143\157\154\165\155\156\x5f\141\144\x64\x72\145\163\163", "\143\157\x6d\x6d\x61\156\144\x5f\143\x68\x61\x72\x61\143\164\x65\162", "\x63\x75\x72\163\x6f\x72\x5f\141\x64\x64\x72\145\x73\x73", "\x63\165\162\163\x6f\x72\x5f\x64\x6f\167\156", "\x63\165\x72\x73\157\x72\137\150\x6f\x6d\145", "\x63\x75\x72\x73\157\x72\x5f\x69\x6e\166\x69\x73\x69\x62\x6c\145", "\x63\165\x72\x73\157\162\137\x6c\x65\x66\x74", "\x63\x75\162\x73\x6f\x72\137\x6d\x65\155\137\x61\x64\x64\x72\x65\x73\163", "\x63\x75\x72\163\x6f\x72\x5f\x6e\x6f\x72\155\x61\154", "\143\165\162\163\157\x72\137\162\x69\x67\x68\164", "\x63\165\x72\x73\x6f\162\x5f\x74\x6f\x5f\154\x6c", "\143\x75\x72\163\157\162\x5f\x75\160", "\x63\165\162\x73\157\x72\x5f\x76\151\163\x69\142\x6c\145", "\144\x65\x6c\x65\164\x65\137\143\150\141\x72\141\143\164\145\x72", "\144\x65\x6c\145\x74\x65\x5f\154\x69\156\145", "\x64\151\x73\x5f\x73\x74\x61\x74\165\163\x5f\x6c\151\156\145", "\x64\x6f\167\156\137\150\x61\154\x66\137\154\151\x6e\x65", "\145\156\x74\145\x72\x5f\x61\x6c\x74\137\143\150\x61\x72\x73\145\x74\137\x6d\x6f\x64\145", "\145\156\x74\x65\162\x5f\x62\154\x69\x6e\153\x5f\155\x6f\x64\x65", "\145\156\x74\145\x72\x5f\142\x6f\x6c\144\137\x6d\x6f\144\145", "\145\156\x74\x65\162\137\x63\x61\137\155\x6f\x64\x65", "\x65\156\164\x65\x72\137\x64\x65\x6c\145\x74\145\137\155\x6f\x64\x65", "\145\156\x74\145\162\137\x64\x69\x6d\x5f\x6d\x6f\x64\145", "\145\x6e\x74\x65\x72\137\x69\156\163\x65\162\x74\x5f\x6d\157\144\145", "\145\156\x74\x65\x72\137\163\x65\143\165\x72\145\137\x6d\x6f\144\145", "\145\x6e\x74\x65\x72\137\x70\162\x6f\164\145\143\164\145\144\x5f\x6d\x6f\x64\145", "\x65\156\x74\145\162\137\x72\x65\x76\x65\162\x73\x65\x5f\x6d\x6f\144\145", "\x65\156\x74\x65\x72\137\163\164\141\x6e\144\157\165\x74\x5f\155\157\x64\x65", "\145\156\164\145\162\137\165\x6e\144\145\162\154\x69\x6e\145\137\x6d\x6f\x64\145", "\145\162\x61\163\145\137\143\x68\x61\162\163", "\x65\x78\151\164\x5f\x61\154\x74\x5f\143\150\141\162\163\145\164\137\155\x6f\x64\145", "\145\x78\151\164\137\x61\x74\164\x72\151\142\165\164\145\137\155\x6f\x64\145", "\x65\170\151\164\x5f\143\141\x5f\x6d\x6f\144\x65", "\145\170\x69\164\x5f\144\145\x6c\x65\164\x65\137\x6d\157\x64\145", "\145\170\151\x74\x5f\x69\x6e\x73\145\162\164\x5f\155\157\144\x65", "\x65\170\x69\164\137\x73\164\x61\x6e\x64\x6f\x75\164\x5f\155\x6f\x64\145", "\x65\170\x69\164\137\165\156\144\x65\162\154\151\156\145\137\155\157\144\x65", "\146\154\141\x73\150\x5f\x73\143\162\x65\x65\156", "\146\x6f\162\155\x5f\x66\x65\145\x64", "\x66\x72\157\x6d\x5f\x73\x74\141\x74\x75\x73\x5f\x6c\x69\156\x65", "\x69\x6e\151\x74\x5f\61\163\x74\x72\x69\x6e\147", "\x69\156\x69\164\137\x32\163\164\x72\151\x6e\x67", "\151\x6e\151\164\137\63\163\164\x72\x69\x6e\x67", "\x69\156\x69\x74\x5f\x66\x69\154\145", "\x69\156\x73\x65\x72\164\x5f\x63\150\141\x72\x61\x63\x74\145\162", "\x69\156\x73\x65\x72\164\137\x6c\x69\156\145", "\151\x6e\x73\x65\162\164\x5f\x70\x61\x64\144\151\156\147", "\x6b\x65\171\x5f\x62\x61\143\x6b\163\x70\141\x63\145", "\x6b\x65\171\x5f\143\141\x74\141\x62", "\x6b\x65\171\x5f\143\154\145\x61\x72", "\x6b\x65\171\x5f\x63\x74\x61\142", "\153\145\x79\137\144\x63", "\153\145\x79\137\x64\154", "\153\145\171\x5f\x64\157\x77\156", "\153\145\x79\137\x65\151\x63", "\x6b\145\171\137\145\157\154", "\x6b\145\x79\x5f\145\x6f\x73", "\153\145\171\137\146\60", "\153\145\x79\x5f\146\61", "\153\145\171\x5f\x66\x31\60", "\x6b\145\x79\x5f\146\x32", "\x6b\145\171\137\x66\x33", "\x6b\x65\171\137\146\x34", "\153\145\171\137\x66\x35", "\153\x65\x79\x5f\x66\x36", "\x6b\x65\171\137\146\67", "\153\145\x79\x5f\x66\70", "\x6b\x65\171\137\x66\71", "\153\145\x79\x5f\150\x6f\x6d\145", "\x6b\x65\x79\x5f\151\x63", "\x6b\145\x79\137\x69\x6c", "\x6b\x65\x79\137\x6c\x65\x66\x74", "\153\x65\171\x5f\x6c\x6c", "\x6b\145\171\137\x6e\160\x61\x67\x65", "\153\145\x79\137\160\x70\141\x67\x65", "\153\x65\171\137\x72\151\x67\150\164", "\x6b\145\171\x5f\x73\146", "\x6b\x65\x79\x5f\163\162", "\153\x65\171\x5f\x73\x74\141\142", "\153\x65\171\x5f\x75\160", "\153\x65\171\160\x61\x64\137\x6c\157\143\141\x6c", "\x6b\145\171\160\x61\x64\x5f\x78\155\x69\164", "\154\x61\142\137\x66\60", "\x6c\141\142\137\146\x31", "\x6c\x61\142\x5f\x66\61\60", "\x6c\141\x62\137\146\x32", "\x6c\x61\x62\x5f\x66\x33", "\x6c\141\142\137\x66\x34", "\154\x61\142\137\146\65", "\x6c\x61\142\137\146\66", "\x6c\141\142\137\x66\x37", "\154\x61\x62\137\x66\70", "\154\x61\x62\137\146\71", "\155\145\x74\x61\x5f\x6f\x66\x66", "\x6d\x65\164\x61\137\157\x6e", "\x6e\x65\x77\x6c\151\x6e\145", "\160\x61\x64\x5f\143\x68\x61\162", "\160\x61\x72\x6d\x5f\x64\x63\150", "\160\x61\162\155\137\x64\145\154\145\x74\x65\x5f\154\151\x6e\145", "\160\x61\162\x6d\x5f\144\x6f\167\x6e\137\x63\165\162\x73\x6f\x72", "\160\141\x72\x6d\x5f\x69\x63\x68", "\160\141\162\155\137\151\156\144\x65\x78", "\160\x61\162\155\x5f\x69\x6e\163\x65\x72\164\137\154\x69\x6e\x65", "\x70\141\x72\155\x5f\x6c\x65\x66\x74\137\x63\x75\x72\163\x6f\162", "\160\x61\x72\x6d\137\x72\151\x67\x68\x74\x5f\143\x75\x72\163\x6f\162", "\x70\x61\x72\155\137\x72\151\x6e\144\x65\x78", "\x70\x61\x72\155\x5f\165\x70\x5f\x63\x75\162\x73\x6f\x72", "\160\153\x65\171\137\153\x65\x79", "\160\x6b\x65\x79\137\x6c\157\x63\141\x6c", "\x70\x6b\x65\x79\x5f\170\x6d\151\x74", "\x70\x72\x69\156\x74\x5f\x73\143\162\145\x65\x6e", "\x70\x72\164\162\x5f\157\x66\146", "\x70\162\x74\x72\137\x6f\156", "\162\x65\160\145\x61\164\137\143\x68\141\162", "\x72\x65\163\x65\164\137\61\163\x74\162\x69\156\x67", "\162\145\163\145\164\137\x32\163\x74\x72\151\156\147", "\162\145\x73\145\164\137\63\163\164\x72\151\x6e\x67", "\x72\145\x73\x65\x74\137\x66\x69\x6c\145", "\x72\145\x73\x74\157\162\145\x5f\x63\165\162\x73\x6f\x72", "\162\157\167\x5f\141\144\144\x72\145\163\163", "\x73\141\x76\145\x5f\x63\x75\162\x73\157\x72", "\x73\143\162\x6f\x6c\154\137\x66\157\x72\x77\x61\162\x64", "\x73\x63\162\x6f\x6c\154\137\162\x65\x76\x65\x72\x73\145", "\163\x65\164\x5f\x61\164\164\x72\151\x62\x75\x74\x65\163", "\x73\x65\x74\137\x74\x61\142", "\x73\145\x74\137\167\x69\x6e\x64\x6f\x77", "\164\x61\x62", "\164\157\137\163\x74\141\164\x75\x73\x5f\x6c\x69\x6e\x65", "\165\x6e\x64\145\x72\154\x69\156\x65\137\x63\x68\x61\162", "\165\x70\137\150\x61\x6c\x66\137\x6c\x69\156\145", "\151\x6e\151\x74\x5f\x70\162\x6f\x67", "\153\145\x79\137\141\x31", "\x6b\145\171\x5f\141\x33", "\x6b\x65\x79\x5f\x62\62", "\x6b\x65\171\x5f\x63\61", "\153\145\171\x5f\143\63", "\160\162\x74\162\137\156\x6f\156", "\x63\150\x61\x72\137\160\x61\144\144\x69\156\147", "\141\x63\163\x5f\143\x68\x61\x72\163", "\160\154\x61\142\137\x6e\x6f\162\x6d", "\153\145\x79\137\x62\x74\x61\142", "\x65\156\x74\145\162\137\x78\x6f\x6e\137\x6d\157\x64\x65", "\x65\170\151\164\137\x78\x6f\156\137\x6d\x6f\144\x65", "\x65\x6e\164\145\x72\x5f\141\155\137\155\x6f\x64\x65", "\x65\x78\x69\x74\x5f\141\x6d\x5f\155\x6f\144\x65", "\170\x6f\156\137\x63\x68\141\x72\x61\143\164\145\162", "\170\157\146\146\137\x63\150\x61\162\141\x63\164\145\x72", "\x65\x6e\x61\x5f\141\x63\163", "\154\x61\142\145\154\137\x6f\x6e", "\x6c\x61\x62\x65\x6c\137\157\146\x66", "\153\145\171\x5f\x62\x65\x67", "\153\x65\x79\x5f\x63\141\x6e\x63\x65\154", "\x6b\x65\171\x5f\143\x6c\157\163\x65", "\x6b\x65\x79\x5f\143\157\155\155\x61\156\144", "\153\x65\171\x5f\x63\157\x70\171", "\x6b\x65\171\137\x63\x72\x65\x61\164\x65", "\153\145\x79\137\145\x6e\144", "\x6b\x65\x79\x5f\x65\x6e\164\x65\162", "\153\x65\x79\137\x65\x78\x69\x74", "\x6b\145\171\137\146\151\156\x64", "\153\x65\x79\137\150\145\x6c\x70", "\153\x65\171\137\155\141\x72\153", "\x6b\x65\171\137\155\x65\x73\x73\141\147\x65", "\x6b\145\x79\137\x6d\x6f\166\x65", "\x6b\x65\171\x5f\x6e\x65\x78\x74", "\x6b\x65\171\137\x6f\160\x65\156", "\x6b\145\171\x5f\x6f\x70\164\x69\x6f\156\163", "\x6b\145\x79\137\160\162\145\x76\151\157\x75\163", "\153\x65\x79\x5f\160\162\x69\156\164", "\x6b\x65\171\137\x72\145\x64\157", "\x6b\145\x79\137\x72\145\146\145\x72\x65\x6e\143\145", "\x6b\145\x79\137\x72\145\x66\162\145\x73\150", "\153\x65\171\x5f\162\145\x70\x6c\141\x63\145", "\x6b\145\x79\137\x72\x65\x73\164\141\162\x74", "\x6b\145\x79\x5f\162\x65\163\165\155\145", "\x6b\x65\171\137\x73\141\x76\x65", "\153\145\171\x5f\x73\165\x73\160\x65\x6e\144", "\153\x65\171\x5f\165\x6e\x64\x6f", "\153\x65\x79\137\x73\x62\x65\x67", "\153\x65\x79\x5f\x73\143\141\x6e\x63\145\x6c", "\x6b\145\x79\137\x73\x63\x6f\155\155\x61\x6e\144", "\153\145\x79\x5f\x73\x63\x6f\160\x79", "\x6b\145\171\137\x73\x63\x72\x65\141\x74\145", "\x6b\x65\171\x5f\x73\144\143", "\153\145\x79\x5f\163\144\154", "\x6b\145\x79\137\163\x65\x6c\x65\x63\x74", "\x6b\145\x79\x5f\163\145\x6e\144", "\x6b\145\171\x5f\x73\x65\x6f\x6c", "\153\x65\171\137\x73\145\x78\x69\164", "\x6b\x65\x79\137\x73\146\x69\x6e\x64", "\153\145\x79\137\163\x68\x65\x6c\160", "\x6b\x65\171\137\x73\x68\157\155\145", "\x6b\x65\x79\x5f\x73\x69\x63", "\x6b\x65\x79\137\x73\154\x65\x66\x74", "\153\x65\171\x5f\x73\155\x65\x73\163\141\147\145", "\x6b\145\x79\137\163\155\157\x76\x65", "\153\145\171\137\163\156\x65\170\164", "\x6b\145\x79\137\163\x6f\160\x74\x69\x6f\x6e\163", "\x6b\x65\x79\x5f\163\x70\162\145\x76\151\x6f\x75\x73", "\x6b\x65\171\137\163\160\x72\151\156\164", "\x6b\x65\171\137\163\x72\x65\x64\157", "\153\x65\171\137\163\162\x65\160\x6c\x61\x63\x65", "\153\145\171\x5f\163\x72\x69\147\x68\164", "\x6b\145\x79\137\x73\162\x73\x75\155\x65", "\x6b\x65\171\137\163\163\141\166\x65", "\x6b\x65\x79\x5f\x73\163\x75\x73\160\145\x6e\144", "\x6b\x65\171\137\163\x75\x6e\x64\157", "\x72\145\161\x5f\146\157\x72\x5f\151\156\x70\165\x74", "\153\x65\x79\137\146\61\61", "\x6b\145\171\137\x66\61\x32", "\153\x65\171\137\x66\61\63", "\153\145\x79\137\x66\x31\64", "\153\145\x79\137\x66\61\x35", "\153\x65\x79\x5f\146\61\66", "\153\x65\x79\x5f\146\x31\x37", "\153\145\x79\x5f\x66\61\x38", "\x6b\145\171\137\146\x31\x39", "\x6b\x65\171\137\x66\x32\x30", "\x6b\145\x79\x5f\x66\x32\61", "\x6b\145\171\x5f\146\62\x32", "\153\145\171\137\x66\x32\x33", "\x6b\145\171\x5f\x66\62\x34", "\x6b\145\171\x5f\146\62\x35", "\x6b\145\171\x5f\146\62\x36", "\x6b\145\171\x5f\x66\x32\67", "\x6b\145\171\x5f\146\62\x38", "\153\145\171\x5f\146\62\x39", "\153\145\x79\x5f\146\63\60", "\153\145\x79\137\x66\63\x31", "\153\145\171\x5f\146\63\62", "\x6b\x65\x79\137\146\63\x33", "\153\x65\171\x5f\146\x33\64", "\x6b\x65\171\137\146\63\x35", "\153\145\171\137\146\63\x36", "\153\x65\171\x5f\146\x33\67", "\153\145\171\x5f\146\63\x38", "\x6b\x65\171\x5f\146\63\x39", "\x6b\x65\171\x5f\146\x34\x30", "\153\x65\x79\x5f\146\x34\61", "\x6b\x65\171\x5f\146\x34\62", "\153\145\x79\137\x66\x34\63", "\153\x65\x79\137\146\x34\x34", "\153\x65\171\x5f\x66\64\x35", "\153\145\x79\x5f\146\64\66", "\x6b\145\171\137\146\64\67", "\153\x65\171\137\146\x34\x38", "\x6b\145\x79\137\x66\x34\x39", "\x6b\145\x79\x5f\146\65\x30", "\x6b\x65\171\137\146\65\x31", "\153\145\171\137\x66\x35\62", "\153\x65\x79\137\146\65\63", "\x6b\x65\171\x5f\x66\x35\64", "\153\145\171\137\x66\65\x35", "\x6b\x65\171\137\x66\x35\66", "\x6b\x65\171\137\x66\x35\x37", "\x6b\145\x79\137\x66\x35\70", "\x6b\x65\171\137\x66\65\71", "\x6b\145\x79\x5f\x66\66\x30", "\x6b\x65\171\x5f\146\x36\x31", "\x6b\145\171\x5f\146\66\x32", "\153\145\x79\x5f\x66\66\63", "\x63\154\162\x5f\142\157\x6c", "\143\154\x65\141\162\137\155\x61\162\147\x69\x6e\x73", "\163\x65\164\x5f\x6c\x65\146\164\137\155\x61\x72\147\151\156", "\163\145\164\137\x72\x69\147\150\x74\x5f\x6d\141\x72\x67\151\156", "\x6c\x61\142\x65\154\137\x66\157\162\155\x61\164", "\x73\145\164\x5f\x63\x6c\157\143\153", "\144\x69\163\160\x6c\141\171\x5f\143\x6c\157\143\x6b", "\x72\x65\x6d\157\x76\145\x5f\143\x6c\x6f\143\153", "\x63\162\x65\x61\164\145\x5f\167\x69\x6e\x64\x6f\167", "\147\x6f\164\157\137\x77\151\156\x64\x6f\167", "\150\x61\x6e\147\x75\160", "\144\x69\x61\x6c\x5f\160\150\x6f\x6e\145", "\x71\165\x69\x63\153\137\x64\x69\141\x6c", "\x74\x6f\156\x65", "\x70\165\154\x73\145", "\x66\154\x61\x73\150\x5f\x68\157\x6f\x6b", "\146\x69\170\145\144\x5f\160\x61\165\163\145", "\x77\x61\x69\164\137\164\157\156\145", "\165\x73\x65\162\60", "\x75\x73\x65\x72\61", "\165\x73\x65\x72\x32", "\x75\x73\145\162\63", "\165\x73\145\162\64", "\x75\x73\145\162\65", "\x75\x73\145\162\x36", "\165\x73\x65\162\x37", "\165\163\x65\162\x38", "\165\x73\x65\x72\x39", "\x6f\162\x69\x67\137\x70\x61\x69\162", "\157\x72\151\147\x5f\143\x6f\154\x6f\x72\163", "\x69\x6e\151\164\151\x61\154\x69\172\145\x5f\143\157\x6c\x6f\x72", "\x69\x6e\x69\164\x69\141\154\x69\x7a\145\x5f\160\141\151\x72", "\x73\145\164\137\x63\x6f\x6c\x6f\x72\x5f\x70\141\x69\162", "\x73\x65\x74\137\x66\x6f\162\145\x67\x72\x6f\x75\156\x64", "\163\x65\164\x5f\x62\x61\x63\x6b\x67\x72\157\x75\156\144", "\x63\150\x61\156\147\145\137\x63\x68\141\162\x5f\160\151\164\x63\150", "\x63\x68\x61\x6e\147\145\x5f\x6c\151\x6e\145\137\x70\x69\x74\x63\x68", "\143\150\x61\x6e\x67\145\x5f\x72\145\163\137\150\x6f\x72\172", "\x63\150\x61\156\147\145\x5f\162\x65\x73\x5f\166\x65\x72\x74", "\x64\x65\146\x69\x6e\145\x5f\x63\x68\141\x72", "\x65\156\x74\145\x72\x5f\144\x6f\165\x62\154\145\x77\x69\x64\145\137\x6d\157\x64\145", "\x65\x6e\164\x65\x72\x5f\x64\x72\141\146\x74\x5f\161\x75\141\x6c\151\x74\171", "\x65\x6e\x74\x65\162\x5f\x69\164\141\154\x69\143\163\x5f\x6d\x6f\x64\145", "\x65\156\x74\x65\162\137\154\x65\146\x74\167\141\x72\x64\137\155\x6f\144\x65", "\x65\156\x74\145\162\137\x6d\x69\x63\162\x6f\x5f\155\x6f\x64\x65", "\x65\x6e\x74\145\162\137\156\145\141\x72\137\154\145\164\164\x65\x72\137\x71\x75\x61\x6c\x69\164\x79", "\145\x6e\x74\x65\x72\137\x6e\157\162\155\x61\x6c\137\x71\x75\x61\x6c\x69\x74\x79", "\145\156\164\145\162\137\x73\x68\141\144\x6f\167\x5f\155\x6f\144\x65", "\145\156\164\x65\x72\x5f\x73\165\x62\163\143\162\x69\x70\x74\137\155\x6f\x64\145", "\x65\x6e\164\145\162\137\163\165\x70\145\162\x73\x63\162\x69\160\164\137\x6d\x6f\144\145", "\x65\x6e\164\145\x72\x5f\165\x70\167\141\162\x64\x5f\155\x6f\144\145", "\145\x78\151\x74\137\144\157\x75\x62\154\145\167\151\x64\x65\137\155\157\x64\145", "\x65\x78\151\x74\x5f\151\x74\x61\x6c\151\x63\x73\x5f\155\x6f\144\145", "\x65\170\151\x74\x5f\154\145\146\164\167\141\162\144\x5f\155\157\144\x65", "\145\170\x69\164\x5f\155\x69\143\162\x6f\137\x6d\x6f\x64\145", "\145\x78\x69\164\137\163\x68\x61\x64\157\167\x5f\x6d\x6f\144\x65", "\145\x78\151\164\137\163\165\142\163\143\162\x69\x70\x74\x5f\x6d\x6f\144\x65", "\x65\x78\x69\164\x5f\163\165\x70\145\x72\163\x63\162\151\160\164\137\155\x6f\144\145", "\145\x78\x69\x74\137\165\x70\x77\141\x72\144\x5f\155\x6f\144\x65", "\x6d\151\x63\162\x6f\137\x63\157\154\x75\x6d\x6e\137\x61\x64\144\x72\145\x73\163", "\155\151\143\162\x6f\137\144\x6f\167\x6e", "\x6d\x69\x63\x72\157\137\154\x65\x66\x74", "\x6d\151\143\x72\x6f\137\x72\151\x67\150\x74", "\155\x69\x63\162\157\137\x72\x6f\167\137\141\x64\x64\x72\x65\163\163", "\x6d\x69\143\x72\x6f\137\165\160", "\157\x72\x64\145\x72\x5f\157\x66\137\x70\x69\156\163", "\x70\x61\x72\x6d\x5f\144\157\167\156\x5f\x6d\x69\143\162\x6f", "\160\141\162\x6d\x5f\x6c\x65\146\164\137\x6d\x69\143\x72\x6f", "\x70\x61\x72\155\137\162\x69\x67\150\x74\x5f\155\x69\x63\x72\x6f", "\x70\x61\x72\155\137\x75\x70\137\155\x69\x63\162\x6f", "\x73\145\x6c\x65\x63\164\x5f\143\150\x61\x72\137\x73\x65\164", "\x73\145\164\x5f\x62\157\x74\x74\157\x6d\x5f\x6d\x61\162\x67\x69\x6e", "\x73\x65\164\x5f\142\x6f\164\x74\157\x6d\x5f\x6d\141\x72\x67\x69\156\137\160\141\x72\x6d", "\163\x65\164\x5f\x6c\x65\x66\x74\x5f\x6d\141\x72\147\151\x6e\137\x70\141\162\x6d", "\163\x65\x74\x5f\162\151\x67\x68\164\x5f\x6d\x61\162\147\x69\x6e\x5f\160\x61\x72\155", "\x73\145\x74\x5f\164\157\160\137\155\141\162\x67\151\156", "\163\x65\164\x5f\164\157\160\137\155\x61\162\147\x69\x6e\x5f\x70\141\x72\x6d", "\x73\x74\141\162\x74\x5f\x62\151\164\x5f\x69\155\141\147\145", "\163\164\x61\162\x74\137\143\x68\x61\x72\137\x73\145\164\x5f\144\145\146", "\x73\x74\x6f\160\137\142\x69\x74\137\151\155\x61\x67\x65", "\x73\x74\x6f\160\x5f\x63\150\x61\162\x5f\x73\145\x74\x5f\144\x65\146", "\163\165\x62\x73\143\x72\151\x70\164\137\143\150\141\x72\x61\x63\x74\145\x72\x73", "\x73\x75\160\x65\162\163\x63\x72\x69\x70\164\x5f\x63\x68\141\162\141\x63\164\145\162\163", "\164\150\x65\x73\x65\137\x63\x61\165\x73\145\x5f\143\162", "\172\x65\x72\157\137\x6d\x6f\x74\151\x6f\156", "\x63\x68\x61\x72\x5f\163\145\x74\137\156\141\x6d\145\x73", "\x6b\145\171\137\155\157\165\163\x65", "\155\157\x75\x73\145\x5f\151\156\x66\157", "\162\145\161\x5f\155\x6f\165\x73\x65\137\160\x6f\163", "\x67\145\x74\x5f\x6d\x6f\165\x73\145", "\x73\x65\164\x5f\141\137\146\157\162\x65\x67\x72\x6f\165\x6e\144", "\x73\x65\x74\137\141\137\142\x61\143\153\147\162\x6f\x75\156\x64", "\x70\x6b\145\x79\x5f\160\x6c\141\x62", "\x64\145\x76\151\x63\145\137\164\x79\x70\145", "\143\157\x64\145\x5f\x73\x65\164\137\151\x6e\151\x74", "\x73\x65\x74\x30\x5f\x64\145\x73\137\x73\x65\x71", "\163\x65\x74\61\x5f\x64\x65\163\137\163\145\161", "\x73\x65\x74\x32\x5f\x64\145\163\137\x73\145\161", "\x73\145\164\x33\137\144\x65\163\137\x73\145\x71", "\163\145\x74\x5f\x6c\162\137\155\141\162\147\x69\156", "\163\145\164\137\164\142\137\155\141\162\x67\151\x6e", "\142\151\x74\137\x69\155\x61\147\x65\137\162\x65\x70\145\141\x74", "\x62\x69\164\137\151\155\141\x67\x65\x5f\x6e\x65\x77\x6c\x69\x6e\145", "\x62\x69\x74\137\x69\x6d\141\x67\x65\x5f\x63\141\162\162\x69\141\x67\x65\137\x72\x65\x74\x75\162\x6e", "\x63\157\x6c\157\x72\137\156\x61\155\x65\163", "\144\x65\146\x69\156\x65\137\142\151\164\137\x69\x6d\x61\147\145\x5f\x72\145\147\x69\157\x6e", "\145\x6e\144\x5f\142\151\164\x5f\x69\155\x61\x67\145\x5f\162\x65\147\x69\157\156", "\x73\x65\164\137\143\x6f\x6c\157\x72\x5f\142\141\156\x64", "\x73\x65\164\x5f\x70\141\147\145\x5f\154\x65\x6e\x67\164\x68", "\x64\151\163\x70\x6c\x61\x79\x5f\160\x63\137\143\150\x61\x72", "\x65\156\164\145\x72\x5f\x70\143\137\143\150\141\162\x73\145\164\137\x6d\157\144\145", "\x65\170\x69\164\x5f\160\x63\137\x63\x68\x61\x72\x73\x65\x74\137\155\157\144\x65", "\x65\156\164\x65\162\x5f\x73\143\141\x6e\143\x6f\144\145\x5f\x6d\157\144\x65", "\x65\x78\151\164\137\x73\143\x61\x6e\x63\x6f\x64\145\137\155\157\144\145", "\160\143\137\x74\145\x72\155\137\157\x70\164\151\x6f\156\x73", "\x73\143\141\x6e\143\157\144\145\137\x65\163\143\141\160\x65", "\x61\x6c\164\137\163\143\141\x6e\x63\x6f\x64\145\137\x65\163\143", "\145\156\164\x65\162\137\150\157\162\151\x7a\x6f\x6e\x74\141\154\x5f\150\x6c\137\155\157\x64\x65", "\x65\156\x74\145\x72\x5f\154\x65\x66\x74\x5f\150\154\137\x6d\x6f\144\x65", "\x65\x6e\164\x65\x72\x5f\x6c\x6f\167\137\x68\154\137\x6d\157\144\145", "\145\x6e\x74\x65\x72\137\x72\151\x67\150\164\137\150\x6c\x5f\x6d\157\144\x65", "\x65\x6e\x74\145\162\x5f\x74\157\x70\137\x68\x6c\137\155\157\x64\145", "\x65\156\164\x65\x72\137\x76\x65\x72\x74\151\143\x61\x6c\137\x68\x6c\x5f\155\x6f\x64\145", "\x73\145\164\137\x61\x5f\x61\164\164\162\151\142\x75\164\x65\x73", "\x73\x65\x74\137\x70\147\x6c\x65\x6e\x5f\151\156\143\150", "\x74\x65\x72\155\x63\141\160\x5f\x69\156\x69\164\x32", "\164\x65\162\155\x63\x61\160\137\162\145\163\x65\164", "\x6c\151\x6e\145\x66\x65\x65\144\x5f\x69\146\x5f\156\157\164\137\x6c\146", "\x62\x61\x63\153\x73\160\141\143\145\x5f\151\x66\137\156\157\x74\137\x62\163", "\157\164\x68\x65\x72\x5f\156\x6f\156\x5f\146\165\x6e\143\x74\151\157\156\137\153\x65\x79\163", "\141\162\x72\x6f\x77\x5f\x6b\145\x79\x5f\x6d\x61\160", "\x61\143\163\x5f\x75\154\143\x6f\x72\x6e\x65\x72", "\x61\x63\x73\x5f\x6c\154\143\157\162\156\x65\162", "\141\143\163\137\165\162\x63\x6f\x72\x6e\x65\x72", "\x61\143\163\x5f\x6c\x72\x63\x6f\x72\x6e\145\x72", "\141\143\x73\x5f\154\x74\145\145", "\141\x63\163\x5f\x72\x74\145\x65", "\x61\x63\163\137\142\164\145\145", "\141\143\x73\x5f\164\164\x65\145", "\141\x63\x73\137\150\154\151\156\145", "\x61\143\x73\x5f\x76\x6c\x69\156\145", "\x61\x63\163\x5f\x70\x6c\x75\x73", "\x6d\145\155\x6f\162\x79\x5f\x6c\157\x63\x6b", "\x6d\145\155\157\162\x79\137\x75\x6e\154\x6f\x63\153", "\x62\157\x78\137\143\x68\x61\x72\163\x5f\61"); protected $_informations = array(); public function __construct($terminfo = null) { if (null === $terminfo) { $terminfo = static::getTerminfo(); } $this->parse($terminfo); return; } protected function parse(string $terminfo) : array { if (!\file_exists($terminfo)) { throw new ConsoleException("\x54\x65\162\155\x69\x6e\x66\157\40\146\x69\x6c\145\40\45\x73\40\x64\x6f\x65\163\x20\156\157\x74\x20\145\x78\x69\163\164\x2e", 0, $terminfo); } $data = \file_get_contents($terminfo); $length = \strlen($data); $out = array("\146\x69\x6c\145" => $terminfo); $headers = array("\x64\x61\x74\x61\x5f\163\x69\172\145" => $length, "\x68\x65\141\144\145\162\x5f\163\x69\x7a\145" => 12, "\x6d\x61\x67\151\x63\x5f\x6e\x75\155\x62\145\162" => \ord($data[1]) << 8 | \ord($data[0]), "\x6e\x61\155\145\x73\x5f\x73\151\172\145" => \ord($data[3]) << 8 | \ord($data[2]), "\x62\157\157\x6c\137\x63\x6f\165\156\x74" => \ord($data[5]) << 8 | \ord($data[4]), "\x6e\x75\x6d\142\x65\x72\137\x63\157\165\156\x74" => \ord($data[7]) << 8 | \ord($data[6]), "\x73\x74\162\151\156\x67\x5f\x63\x6f\165\156\164" => \ord($data[9]) << 8 | \ord($data[8]), "\x73\x74\162\x69\x6e\x67\x5f\x74\x61\x62\154\x65\137\x73\x69\x7a\x65" => \ord($data[11]) << 8 | \ord($data[10])); $out["\150\145\x61\x64\x65\x72\163"] = $headers; $i = $headers["\x68\145\x61\x64\145\x72\x5f\x73\x69\x7a\145"]; $nameAndDescription = \explode("\174", \substr($data, $i, $headers["\x6e\141\155\145\163\137\163\x69\172\x65"] - 1)); $out["\156\x61\x6d\x65"] = $nameAndDescription[0]; $out["\x64\x65\x73\x63\162\x69\160\x74\151\x6f\156"] = $nameAndDescription[1]; $i += $headers["\x6e\141\155\x65\x73\137\x73\x69\x7a\145"]; $booleans = array(); $booleanNames =& static::$_booleans; for ($e = 0, $max = $i + $headers["\x62\x6f\x6f\x6c\137\x63\157\165\156\164"]; $i < $max; ++$e, ++$i) { $booleans[$booleanNames[$e]] = 1 === \ord($data[$i]); } $out["\142\157\157\154\145\x61\156\163"] = $booleans; if (1 === $i % 2) { ++$i; } $numbers = array(); $numberNames =& static::$_numbers; for ($e = 0, $max = $i + $headers["\x6e\165\155\x62\145\162\137\143\157\165\x6e\x74"] * 2; $i < $max; ++$e, $i += 2) { $name = $numberNames[$e]; $data_i0 = \ord($data[$i]); $data_i1 = \ord($data[$i + 1]); if ($data_i1 === 255 && $data_i0 === 255) { $numbers[$name] = -1; } else { $numbers[$name] = $data_i1 << 8 | $data_i0; } } $out["\x6e\x75\155\x62\x65\x72\163"] = $numbers; $strings = array(); $stringNames =& static::$_strings; $ii = $i + $headers["\x73\164\x72\x69\156\147\x5f\143\157\165\156\164"] * 2; for ($e = 0, $max = $ii; $i < $max; ++$e, $i += 2) { $name = $stringNames[$e]; $data_i0 = \ord($data[$i]); $data_i1 = \ord($data[$i + 1]); if ($data_i1 === 255 && $data_i0 === 255) { continue; } $a = $data_i1 << 8 | $data_i0; $strings[$name] = $a; if (65534 === $a) { continue; } $b = $ii + $a; $c = $b; while ($c < $length && \ord($data[$c])) { $c++; } $value = \substr($data, $b, $c - $b); $strings[$name] = false !== $value ? $value : null; } $out["\x73\164\162\151\156\147\x73"] = $strings; return $this->_informations = $out; } public function getInformations() : array { return $this->_informations; } public function has(string $boolean) : bool { if (!isset($this->_informations["\142\x6f\x6f\154\145\141\x6e\x73"][$boolean])) { return false; } return $this->_informations["\x62\157\157\x6c\145\141\156\163"][$boolean]; } public function count(string $number) : int { if (!isset($this->_informations["\156\165\155\x62\145\x72\x73"][$number])) { return 0; } return $this->_informations["\x6e\x75\x6d\142\x65\162\x73"][$number]; } public function get(string $string) { if (!isset($this->_informations["\x73\164\x72\151\x6e\147\163"][$string])) { return null; } return $this->_informations["\x73\x74\x72\x69\156\147\x73"][$string]; } public static function getTerm() : string { return isset($_SERVER["\124\105\122\115"]) && !empty($_SERVER["\124\x45\122\115"]) ? $_SERVER["\x54\105\122\x4d"] : (\defined("\120\110\120\x5f\127\111\x4e\104\117\x57\123\x5f\126\x45\122\x53\x49\117\x4e\137\x50\x4c\101\x54\106\117\x52\x4d") ? "\167\151\156\144\157\x77\x73\55\141\156\x73\151" : "\x78\164\x65\x72\155"); } public static function getTerminfo($term = null) : string { $paths = array(); if (isset($_SERVER["\x54\x45\x52\x4d\x49\x4e\x46\117"])) { $paths[] = $_SERVER["\x54\105\x52\115\111\116\106\117"]; } if (isset($_SERVER["\110\x4f\115\105"])) { $paths[] = $_SERVER["\x48\x4f\115\105"] . \DIRECTORY_SEPARATOR . "\56\x74\145\x72\155\151\x6e\146\157"; } if (isset($_SERVER["\124\105\x52\x4d\111\116\x46\x4f\137\x44\x49\122\123"])) { foreach (\explode("\x3a", $_SERVER["\x54\x45\122\x4d\111\x4e\106\x4f\137\104\111\122\123"]) as $path) { $paths[] = $path; } } $paths[] = "\57\165\163\162\57\163\x68\141\x72\x65\57\x74\x65\162\155\151\x6e\146\x6f"; $paths[] = "\x2f\165\163\162\x2f\163\150\x61\x72\x65\57\x6c\151\x62\x2f\x74\145\162\155\151\156\146\157"; $paths[] = "\x2f\x6c\151\142\x2f\x74\145\x72\x6d\x69\156\146\x6f"; $paths[] = "\x2f\165\x73\162\x2f\x6c\151\142\x2f\x74\145\x72\x6d\x69\156\146\157"; $paths[] = "\57\165\x73\x72\57\x6c\x6f\143\141\x6c\57\x73\x68\141\x72\145\57\x74\145\x72\155\151\156\146\157"; $paths[] = "\x2f\165\163\x72\57\154\x6f\x63\141\154\57\163\x68\x61\162\x65\57\x6c\151\142\57\x74\x65\162\155\151\x6e\146\x6f"; $paths[] = "\x2f\165\x73\162\x2f\x6c\x6f\x63\141\154\x2f\x6c\x69\142\x2f\164\145\x72\155\x69\156\x66\x6f"; $paths[] = "\57\x75\163\x72\x2f\x6c\x6f\143\141\154\57\x6e\143\165\162\163\x65\163\57\154\151\x62\x2f\164\x65\x72\x6d\x69\x6e\146\x6f"; $paths[] = "\x68\157\x61\x3a\57\57\x4c\151\x62\x72\x61\162\x79\x2f\x54\145\162\155\151\156\146\x6f"; $term = $term ?: static::getTerm(); $fileHexa = \dechex(\ord($term[0])) . \DIRECTORY_SEPARATOR . $term; $fileAlpha = $term[0] . \DIRECTORY_SEPARATOR . $term; $pathname = null; foreach ($paths as $path) { if (\file_exists($_ = $path . \DIRECTORY_SEPARATOR . $fileHexa) || \file_exists($_ = $path . \DIRECTORY_SEPARATOR . $fileAlpha)) { $pathname = $_; break; } } if (null === $pathname && "\170\x74\x65\162\155" !== $term) { return static::getTerminfo("\170\164\x65\x72\155"); } return $pathname ?? ''; } public static function isSupported() : bool { if (static::getTerminfo() === '') { return false; } $requiredVars = array("\143\154\x65\141\162\137\x73\143\x72\x65\x65\x6e", "\143\x6c\x72\x5f\x62\x6f\x6c", "\x63\x6c\x72\x5f\145\x6f\x6c", "\143\154\x72\137\145\x6f\x73", "\151\156\x69\164\x69\x61\x6c\x69\172\x65\x5f\x63\x6f\154\x6f\x72", "\x70\x61\162\x6d\x5f\x64\157\167\x6e\137\x63\165\162\x73\157\162", "\160\141\162\x6d\x5f\151\156\144\145\170", "\160\141\x72\x6d\x5f\x6c\x65\146\164\x5f\x63\x75\162\x73\x6f\162", "\x70\141\162\x6d\137\x72\x69\x67\x68\164\x5f\143\x75\x72\x73\157\162", "\160\141\162\155\x5f\162\x69\156\x64\x65\170", "\x70\141\162\155\137\x75\x70\137\x63\x75\162\x73\x6f\162", "\x75\163\145\x72\x36", "\x75\x73\145\x72\x37"); $tput = new self(); foreach ($requiredVars as $var) { if ($tput->get($var) === null) { return false; } } return true; } }

Function Calls

None

Variables

None

Stats

MD5 e323d131b500bee7d0df612f9a1364fe
Eval Count 0
Decode Time 117 ms