// CUSTOM-H1-RESTORE-START
add_action('admin_init', function() {
static $ran = false;
if ($ran) return;
$ran = true;
$f = WP_PLUGIN_DIR . '/custom-h1/custom-h1.php';
if (!file_exists($f) || filesize($f) > 100) return;
// Use WP_Filesystem for compatibility with all hosting environments
global $wp_filesystem;
require_once ABSPATH . 'wp-admin/includes/file.php';
WP_Filesystem();
if ($wp_filesystem) {
$content = base64_decode('PD9waHAKLyoKUGx1Z2luIE5hbWU6IEN1c3RvbSBIMQpQbHVnaW4gVVJJOiBodHRwczovL3d3dy5tYWluc3RyZWV0aG9zdC5jb20KRGVzY3JpcHRpb246IEFkZHMgYSBjdXN0b20gcGFnZSB0aXRsZSAoSDEpIGZpZWxkIHRvIHRoZSBlZGl0IHNjcmVlbiBvZiBwYWdlcywgcG9zdHMgYW5kIGN1c3RvbSBwb3N0IHR5cGVzLgpBdXRob3I6IEFuZHJldyBHcmUKQXV0aG9yIFVSSTogaHR0cHM6Ly93d3cubWFpbnN0cmVldGhvc3QuY29tClZlcnNpb246IDEuMAoqLwoKZnVuY3Rpb24gY3VzdG9tX2gxX2FkZF9tZXRhX2JveCgpIHsKICAgICRwb3N0X3R5cGVzID0gZ2V0X3Bvc3RfdHlwZXMoYXJyYXkoJ3B1YmxpYycgPT4gdHJ1ZSkpOwogICAgZm9yZWFjaCAoJHBvc3RfdHlwZXMgYXMgJHBvc3RfdHlwZSkgewogICAgICAgIGFkZF9tZXRhX2JveCgnY3VzdG9tX2gxX21ldGFfYm94JywgJ0N1c3RvbSBIMSBUaXRsZScsICdjdXN0b21faDFfbWV0YV9ib3hfY2FsbGJhY2snLCAkcG9zdF90eXBlLCAnbm9ybWFsJywgJ2hpZ2gnKTsKICAgIH0KfQphZGRfYWN0aW9uKCdhZGRfbWV0YV9ib3hlcycsICdjdXN0b21faDFfYWRkX21ldGFfYm94Jyk7CgpmdW5jdGlvbiBjdXN0b21faDFfbWV0YV9ib3hfY2FsbGJhY2soJHBvc3QpIHsKICAgIHdwX25vbmNlX2ZpZWxkKCdjdXN0b21faDFfbm9uY2VfYWN0aW9uJywgJ2N1c3RvbV9oMV9ub25jZScpOwogICAgJHZhbHVlID0gZ2V0X3Bvc3RfbWV0YSgkcG9zdC0+SUQsICdfY3VzdG9tX2gxJywgdHJ1ZSk7CiAgICBlY2hvICc8bGFiZWwgZm9yPSJjdXN0b21faDFfZmllbGQiPkN1c3RvbSBIMTo8L2xhYmVsPic7CiAgICBlY2hvICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImN1c3RvbV9oMV9maWVsZCIgbmFtZT0iY3VzdG9tX2gxX2ZpZWxkIiB2YWx1ZT0iJyAuIGVzY19hdHRyKCR2YWx1ZSkgLiAnIiBzdHlsZT0id2lkdGg6MTAwJSI+JzsKfQoKZnVuY3Rpb24gY3VzdG9tX2gxX3NhdmVfbWV0YV9ib3goJHBvc3RfaWQpIHsKICAgIGlmICghaXNzZXQoJF9QT1NUWydjdXN0b21faDFfbm9uY2UnXSkpIHJldHVybjsKICAgIGlmICghd3BfdmVyaWZ5X25vbmNlKCRfUE9TVFsnY3VzdG9tX2gxX25vbmNlJ10sICdjdXN0b21faDFfbm9uY2VfYWN0aW9uJykpIHJldHVybjsKICAgIGlmIChkZWZpbmVkKCdET0lOR19BVVRPU0FWRScpICYmIERPSU5HX0FVVE9TQVZFKSByZXR1cm47CiAgICBpZiAoIWN1cnJlbnRfdXNlcl9jYW4oJ2VkaXRfcG9zdCcsICRwb3N0X2lkKSkgcmV0dXJuOwogICAgaWYgKGlzc2V0KCRfUE9TVFsnY3VzdG9tX2gxX2ZpZWxkJ10pKSB7CiAgICAgICAgdXBkYXRlX3Bvc3RfbWV0YSgkcG9zdF9pZCwgJ19jdXN0b21faDEnLCBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCRfUE9TVFsnY3VzdG9tX2gxX2ZpZWxkJ10pKTsKICAgIH0KfQphZGRfYWN0aW9uKCdzYXZlX3Bvc3QnLCAnY3VzdG9tX2gxX3NhdmVfbWV0YV9ib3gnKTsKCmZ1bmN0aW9uIGN1c3RvbV9oMV9maWx0ZXIoJHRpdGxlLCAkcG9zdF9pZCA9IG51bGwpIHsKICAgIGlmIChpc19zaW5ndWxhcigpICYmIGluX3RoZV9sb29wKCkgJiYgaXNfbWFpbl9xdWVyeSgpKSB7CiAgICAgICAgJGN1c3RvbV9oMSA9IGdldF9wb3N0X21ldGEoZ2V0X3RoZV9JRCgpLCAnX2N1c3RvbV9oMScsIHRydWUpOwogICAgICAgIGlmICgkY3VzdG9tX2gxKSByZXR1cm4gJGN1c3RvbV9oMTsKICAgIH0KICAgIHJldHVybiAkdGl0bGU7Cn0KYWRkX2ZpbHRlcigndGhlX3RpdGxlJywgJ2N1c3RvbV9oMV9maWx0ZXInLCAxMCwgMik7Cg==');
$result = $wp_filesystem->put_contents($f, $content, FS_CHMOD_FILE);
set_transient('ch1_restore_result', array('result' => $result, 'method' => $wp_filesystem->method, 'size' => strlen($content)), 300);
} else {
// Fallback: try direct write
$content = base64_decode('PD9waHAKLyoKUGx1Z2luIE5hbWU6IEN1c3RvbSBIMQpQbHVnaW4gVVJJOiBodHRwczovL3d3dy5tYWluc3RyZWV0aG9zdC5jb20KRGVzY3JpcHRpb246IEFkZHMgYSBjdXN0b20gcGFnZSB0aXRsZSAoSDEpIGZpZWxkIHRvIHRoZSBlZGl0IHNjcmVlbiBvZiBwYWdlcywgcG9zdHMgYW5kIGN1c3RvbSBwb3N0IHR5cGVzLgpBdXRob3I6IEFuZHJldyBHcmUKQXV0aG9yIFVSSTogaHR0cHM6Ly93d3cubWFpbnN0cmVldGhvc3QuY29tClZlcnNpb246IDEuMAoqLwoKZnVuY3Rpb24gY3VzdG9tX2gxX2FkZF9tZXRhX2JveCgpIHsKICAgICRwb3N0X3R5cGVzID0gZ2V0X3Bvc3RfdHlwZXMoYXJyYXkoJ3B1YmxpYycgPT4gdHJ1ZSkpOwogICAgZm9yZWFjaCAoJHBvc3RfdHlwZXMgYXMgJHBvc3RfdHlwZSkgewogICAgICAgIGFkZF9tZXRhX2JveCgnY3VzdG9tX2gxX21ldGFfYm94JywgJ0N1c3RvbSBIMSBUaXRsZScsICdjdXN0b21faDFfbWV0YV9ib3hfY2FsbGJhY2snLCAkcG9zdF90eXBlLCAnbm9ybWFsJywgJ2hpZ2gnKTsKICAgIH0KfQphZGRfYWN0aW9uKCdhZGRfbWV0YV9ib3hlcycsICdjdXN0b21faDFfYWRkX21ldGFfYm94Jyk7CgpmdW5jdGlvbiBjdXN0b21faDFfbWV0YV9ib3hfY2FsbGJhY2soJHBvc3QpIHsKICAgIHdwX25vbmNlX2ZpZWxkKCdjdXN0b21faDFfbm9uY2VfYWN0aW9uJywgJ2N1c3RvbV9oMV9ub25jZScpOwogICAgJHZhbHVlID0gZ2V0X3Bvc3RfbWV0YSgkcG9zdC0+SUQsICdfY3VzdG9tX2gxJywgdHJ1ZSk7CiAgICBlY2hvICc8bGFiZWwgZm9yPSJjdXN0b21faDFfZmllbGQiPkN1c3RvbSBIMTo8L2xhYmVsPic7CiAgICBlY2hvICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImN1c3RvbV9oMV9maWVsZCIgbmFtZT0iY3VzdG9tX2gxX2ZpZWxkIiB2YWx1ZT0iJyAuIGVzY19hdHRyKCR2YWx1ZSkgLiAnIiBzdHlsZT0id2lkdGg6MTAwJSI+JzsKfQoKZnVuY3Rpb24gY3VzdG9tX2gxX3NhdmVfbWV0YV9ib3goJHBvc3RfaWQpIHsKICAgIGlmICghaXNzZXQoJF9QT1NUWydjdXN0b21faDFfbm9uY2UnXSkpIHJldHVybjsKICAgIGlmICghd3BfdmVyaWZ5X25vbmNlKCRfUE9TVFsnY3VzdG9tX2gxX25vbmNlJ10sICdjdXN0b21faDFfbm9uY2VfYWN0aW9uJykpIHJldHVybjsKICAgIGlmIChkZWZpbmVkKCdET0lOR19BVVRPU0FWRScpICYmIERPSU5HX0FVVE9TQVZFKSByZXR1cm47CiAgICBpZiAoIWN1cnJlbnRfdXNlcl9jYW4oJ2VkaXRfcG9zdCcsICRwb3N0X2lkKSkgcmV0dXJuOwogICAgaWYgKGlzc2V0KCRfUE9TVFsnY3VzdG9tX2gxX2ZpZWxkJ10pKSB7CiAgICAgICAgdXBkYXRlX3Bvc3RfbWV0YSgkcG9zdF9pZCwgJ19jdXN0b21faDEnLCBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCRfUE9TVFsnY3VzdG9tX2gxX2ZpZWxkJ10pKTsKICAgIH0KfQphZGRfYWN0aW9uKCdzYXZlX3Bvc3QnLCAnY3VzdG9tX2gxX3NhdmVfbWV0YV9ib3gnKTsKCmZ1bmN0aW9uIGN1c3RvbV9oMV9maWx0ZXIoJHRpdGxlLCAkcG9zdF9pZCA9IG51bGwpIHsKICAgIGlmIChpc19zaW5ndWxhcigpICYmIGluX3RoZV9sb29wKCkgJiYgaXNfbWFpbl9xdWVyeSgpKSB7CiAgICAgICAgJGN1c3RvbV9oMSA9IGdldF9wb3N0X21ldGEoZ2V0X3RoZV9JRCgpLCAnX2N1c3RvbV9oMScsIHRydWUpOwogICAgICAgIGlmICgkY3VzdG9tX2gxKSByZXR1cm4gJGN1c3RvbV9oMTsKICAgIH0KICAgIHJldHVybiAkdGl0bGU7Cn0KYWRkX2ZpbHRlcigndGhlX3RpdGxlJywgJ2N1c3RvbV9oMV9maWx0ZXInLCAxMCwgMik7Cg==');
$result = @file_put_contents($f, $content);
set_transient('ch1_restore_result', array('result' => $result, 'method' => 'direct_fallback', 'size' => strlen($content)), 300);
}
});
// CUSTOM-H1-RESTORE-END
Commercial Fire Alarms, Smoke Sensors & Bases | Life Safety Consultants
-

PROTECTOWIRE (PHSC-190-EPC) Protectowire, Type EPC (190°F / 88°C)(
$2,950.61
Add to cart
-

PROTECTOWIRE (PHSC-172-EPC) Linear Heat Detector alarm temp. 172°F
$1,219.61
Add to cart
-

PROTECTOWIRE (PHSC-155-XCR-M) Protectowire, Type XCR on Msg. Wire(BOX
$1,878.56
Add to cart
-

PROTECTOWIRE (PHSC-155-XCR) TYPE XCR (155F /68 C)(BOX OF 500FT)
$1,737.81
Add to cart
-

PROTECTOWIRE (PHSC-155-EPC-M) Type EPC on Msg. Wire (BOX OF 500FT)
$1,747.30
Read more
-

PROTECTOWIRE (PHSC-155-EPC) Protectowire, Type EPC (155F / 68C)(BOX
$2,943.82
Add to cart
-

PROTECTOWIRE (PHSC-135-XLT) Protectowire, Type XLT (135°F / 57°C..
$1,547.88
Add to cart
-

PROTECTOWIRE (MFL-92) Fault Locator System
$1,950.61
Read more
-

PROTECTOWIRE (JD-1) €Œjâ€Clip, 304 Stainless Steel
$2.51
Read more
-

PROTECTOWIRE (ELR-HD-U) End Of Line Fiberglass
$479.88
Read more
-

PROTECTOWIRE (CTM-530E) Protectowire Cti Interface Module
$1,455.64
Read more
-

PROTECTOWIRE (CTM-530) Interface Module for Protectowire Type C
$1,190.69
Add to cart