CREATE TABLE role (
roleid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
readonly integer DEFAULT '0' NOT NULL,
PRIMARY KEY (roleid)
);
CREATE UNIQUE INDEX role_1 ON role (name);
CREATE TABLE ugset (
ugsetid bigint NOT NULL,
hash varchar(64) DEFAULT '' NOT NULL,
PRIMARY KEY (ugsetid)
);
CREATE INDEX ugset_1 ON ugset (hash);
CREATE TABLE users (
userid bigint NOT NULL,
username varchar(100) DEFAULT '' NOT NULL,
name varchar(100) DEFAULT '' NOT NULL,
surname varchar(100) DEFAULT '' NOT NULL,
passwd varchar(60) DEFAULT '' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
autologin integer DEFAULT '0' NOT NULL,
autologout varchar(32) DEFAULT '15m' NOT NULL,
lang varchar(7) DEFAULT 'default' NOT NULL,
refresh varchar(32) DEFAULT '30s' NOT NULL,
theme varchar(128) DEFAULT 'default' NOT NULL,
attempt_failed integer DEFAULT 0 NOT NULL,
attempt_ip varchar(39) DEFAULT '' NOT NULL,
attempt_clock integer DEFAULT 0 NOT NULL,
rows_per_page integer DEFAULT 50 NOT NULL,
timezone varchar(50) DEFAULT 'default' NOT NULL,
roleid bigint DEFAULT NULL NULL,
userdirectoryid bigint DEFAULT NULL NULL,
ts_provisioned integer DEFAULT '0' NOT NULL,
PRIMARY KEY (userid)
);
CREATE UNIQUE INDEX users_1 ON users (username);
CREATE INDEX users_2 ON users (userdirectoryid);
CREATE INDEX users_3 ON users (roleid);
CREATE TABLE maintenances (
maintenanceid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
maintenance_type integer DEFAULT '0' NOT NULL,
description text DEFAULT '' NOT NULL,
active_since integer DEFAULT '0' NOT NULL,
active_till integer DEFAULT '0' NOT NULL,
tags_evaltype integer DEFAULT '0' NOT NULL,
PRIMARY KEY (maintenanceid)
);
CREATE INDEX maintenances_1 ON maintenances (active_since,active_till);
CREATE UNIQUE INDEX maintenances_2 ON maintenances (name);
CREATE TABLE hgset (
hgsetid bigint NOT NULL,
hash varchar(64) DEFAULT '' NOT NULL,
PRIMARY KEY (hgsetid)
);
CREATE INDEX hgset_1 ON hgset (hash);
CREATE TABLE hosts (
hostid bigint NOT NULL,
proxyid bigint NULL,
host varchar(128) DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
ipmi_authtype integer DEFAULT '-1' NOT NULL,
ipmi_privilege integer DEFAULT '2' NOT NULL,
ipmi_username varchar(16) DEFAULT '' NOT NULL,
ipmi_password varchar(20) DEFAULT '' NOT NULL,
maintenanceid bigint NULL,
maintenance_status integer DEFAULT '0' NOT NULL,
maintenance_type integer DEFAULT '0' NOT NULL,
maintenance_from integer DEFAULT '0' NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
templateid bigint NULL,
description text DEFAULT '' NOT NULL,
tls_connect integer DEFAULT '1' NOT NULL,
tls_accept integer DEFAULT '1' NOT NULL,
tls_issuer varchar(1024) DEFAULT '' NOT NULL,
tls_subject varchar(1024) DEFAULT '' NOT NULL,
tls_psk_identity varchar(128) DEFAULT '' NOT NULL,
tls_psk varchar(512) DEFAULT '' NOT NULL,
discover integer DEFAULT '0' NOT NULL,
custom_interfaces integer DEFAULT '0' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
name_upper varchar(128) DEFAULT '' NOT NULL,
vendor_name varchar(64) DEFAULT '' NOT NULL,
vendor_version varchar(32) DEFAULT '' NOT NULL,
proxy_groupid bigint NULL,
monitored_by integer DEFAULT '0' NOT NULL,
wizard_ready integer DEFAULT '0' NOT NULL,
readme text DEFAULT '' NOT NULL,
PRIMARY KEY (hostid)
);
CREATE INDEX hosts_1 ON hosts (host);
CREATE INDEX hosts_2 ON hosts (status);
CREATE INDEX hosts_3 ON hosts (proxyid);
CREATE INDEX hosts_4 ON hosts (name);
CREATE INDEX hosts_5 ON hosts (maintenanceid);
CREATE INDEX hosts_6 ON hosts (name_upper);
CREATE INDEX hosts_7 ON hosts (templateid);
CREATE INDEX hosts_8 ON hosts (proxy_groupid);
CREATE INDEX hosts_9 ON hosts (uuid);
CREATE TABLE hstgrp (
groupid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (groupid)
);
CREATE UNIQUE INDEX hstgrp_1 ON hstgrp (type,name);
CREATE INDEX hstgrp_2 ON hstgrp (uuid);
CREATE TABLE hgset_group (
hgsetid bigint NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (hgsetid,groupid)
);
CREATE INDEX hgset_group_1 ON hgset_group (groupid);
CREATE TABLE host_hgset (
hostid bigint NOT NULL,
hgsetid bigint NOT NULL,
PRIMARY KEY (hostid)
);
CREATE INDEX host_hgset_1 ON host_hgset (hgsetid);
CREATE TABLE group_prototype (
group_prototypeid bigint NOT NULL,
hostid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
groupid bigint NULL,
templateid bigint NULL,
PRIMARY KEY (group_prototypeid)
);
CREATE INDEX group_prototype_1 ON group_prototype (hostid);
CREATE INDEX group_prototype_2 ON group_prototype (groupid);
CREATE INDEX group_prototype_3 ON group_prototype (templateid);
CREATE TABLE group_discovery (
groupdiscoveryid bigint NOT NULL,
groupid bigint NOT NULL,
parent_group_prototypeid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
lastcheck integer DEFAULT '0' NOT NULL,
ts_delete integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (groupdiscoveryid)
);
CREATE UNIQUE INDEX group_discovery_1 ON group_discovery (groupid,parent_group_prototypeid);
CREATE INDEX group_discovery_2 ON group_discovery (parent_group_prototypeid);
CREATE TABLE drules (
druleid bigint NOT NULL,
proxyid bigint NULL,
name varchar(255) DEFAULT '' NOT NULL,
iprange varchar(2048) DEFAULT '' NOT NULL,
delay varchar(255) DEFAULT '1h' NOT NULL,
status integer DEFAULT '0' NOT NULL,
concurrency_max integer DEFAULT '0' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (druleid)
);
CREATE INDEX drules_1 ON drules (proxyid);
CREATE UNIQUE INDEX drules_2 ON drules (name);
CREATE TABLE dchecks (
dcheckid bigint NOT NULL,
druleid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
key_ varchar(2048) DEFAULT '' NOT NULL,
snmp_community varchar(255) DEFAULT '' NOT NULL,
ports varchar(255) DEFAULT '0' NOT NULL,
snmpv3_securityname varchar(64) DEFAULT '' NOT NULL,
snmpv3_securitylevel integer DEFAULT '0' NOT NULL,
snmpv3_authpassphrase varchar(64) DEFAULT '' NOT NULL,
snmpv3_privpassphrase varchar(64) DEFAULT '' NOT NULL,
uniq integer DEFAULT '0' NOT NULL,
snmpv3_authprotocol integer DEFAULT '0' NOT NULL,
snmpv3_privprotocol integer DEFAULT '0' NOT NULL,
snmpv3_contextname varchar(255) DEFAULT '' NOT NULL,
host_source integer DEFAULT '1' NOT NULL,
name_source integer DEFAULT '0' NOT NULL,
allow_redirect integer DEFAULT '0' NOT NULL,
PRIMARY KEY (dcheckid)
);
CREATE INDEX dchecks_1 ON dchecks (druleid,host_source,name_source);
CREATE TABLE httptest (
httptestid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
delay varchar(255) DEFAULT '1m' NOT NULL,
status integer DEFAULT '0' NOT NULL,
agent varchar(255) DEFAULT 'Zabbix' NOT NULL,
authentication integer DEFAULT '0' NOT NULL,
http_user varchar(255) DEFAULT '' NOT NULL,
http_password varchar(255) DEFAULT '' NOT NULL,
hostid bigint NOT NULL,
templateid bigint NULL,
http_proxy varchar(255) DEFAULT '' NOT NULL,
retries integer DEFAULT '1' NOT NULL,
ssl_cert_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_password varchar(64) DEFAULT '' NOT NULL,
verify_peer integer DEFAULT '0' NOT NULL,
verify_host integer DEFAULT '0' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (httptestid)
);
CREATE UNIQUE INDEX httptest_2 ON httptest (hostid,name);
CREATE INDEX httptest_3 ON httptest (status);
CREATE INDEX httptest_4 ON httptest (templateid);
CREATE INDEX httptest_5 ON httptest (uuid);
CREATE TABLE httpstep (
httpstepid bigint NOT NULL,
httptestid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
no integer DEFAULT '0' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
timeout varchar(255) DEFAULT '15s' NOT NULL,
posts text DEFAULT '' NOT NULL,
required varchar(255) DEFAULT '' NOT NULL,
status_codes varchar(255) DEFAULT '' NOT NULL,
follow_redirects integer DEFAULT '1' NOT NULL,
retrieve_mode integer DEFAULT '0' NOT NULL,
post_type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (httpstepid)
);
CREATE INDEX httpstep_1 ON httpstep (httptestid);
CREATE TABLE interface (
interfaceid bigint NOT NULL,
hostid bigint NOT NULL,
main integer DEFAULT '0' NOT NULL,
type integer DEFAULT '1' NOT NULL,
useip integer DEFAULT '1' NOT NULL,
ip varchar(64) DEFAULT '127.0.0.1' NOT NULL,
dns varchar(255) DEFAULT '' NOT NULL,
port varchar(64) DEFAULT '10050' NOT NULL,
available integer DEFAULT '0' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
errors_from integer DEFAULT '0' NOT NULL,
disable_until integer DEFAULT '0' NOT NULL,
PRIMARY KEY (interfaceid)
);
CREATE INDEX interface_1 ON interface (hostid,type);
CREATE INDEX interface_2 ON interface (ip,dns);
CREATE INDEX interface_3 ON interface (available);
CREATE TABLE valuemap (
valuemapid bigint NOT NULL,
hostid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (valuemapid)
);
CREATE UNIQUE INDEX valuemap_1 ON valuemap (hostid,name);
CREATE INDEX valuemap_2 ON valuemap (uuid);
CREATE TABLE items (
itemid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
snmp_oid varchar(512) DEFAULT '' NOT NULL,
hostid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
key_ varchar(2048) DEFAULT '' NOT NULL,
delay varchar(1024) DEFAULT '0' NOT NULL,
history varchar(255) DEFAULT '31d' NOT NULL,
trends varchar(255) DEFAULT '365d' NOT NULL,
status integer DEFAULT '0' NOT NULL,
value_type integer DEFAULT '0' NOT NULL,
trapper_hosts varchar(255) DEFAULT '' NOT NULL,
units varchar(255) DEFAULT '' NOT NULL,
formula varchar(255) DEFAULT '' NOT NULL,
logtimefmt varchar(64) DEFAULT '' NOT NULL,
templateid bigint NULL,
valuemapid bigint NULL,
params text DEFAULT '' NOT NULL,
ipmi_sensor varchar(128) DEFAULT '' NOT NULL,
authtype integer DEFAULT '0' NOT NULL,
username varchar(255) DEFAULT '' NOT NULL,
password varchar(255) DEFAULT '' NOT NULL,
publickey varchar(64) DEFAULT '' NOT NULL,
privatekey varchar(64) DEFAULT '' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
interfaceid bigint NULL,
description text DEFAULT '' NOT NULL,
inventory_link integer DEFAULT '0' NOT NULL,
lifetime varchar(255) DEFAULT '7d' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
jmx_endpoint varchar(255) DEFAULT '' NOT NULL,
master_itemid bigint NULL,
timeout varchar(255) DEFAULT '' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
query_fields text DEFAULT '' NOT NULL,
posts text DEFAULT '' NOT NULL,
status_codes varchar(255) DEFAULT '200' NOT NULL,
follow_redirects integer DEFAULT '1' NOT NULL,
post_type integer DEFAULT '0' NOT NULL,
http_proxy varchar(255) DEFAULT '' NOT NULL,
headers text DEFAULT '' NOT NULL,
retrieve_mode integer DEFAULT '0' NOT NULL,
request_method integer DEFAULT '0' NOT NULL,
output_format integer DEFAULT '0' NOT NULL,
ssl_cert_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_password varchar(64) DEFAULT '' NOT NULL,
verify_peer integer DEFAULT '0' NOT NULL,
verify_host integer DEFAULT '0' NOT NULL,
allow_traps integer DEFAULT '0' NOT NULL,
discover integer DEFAULT '0' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
lifetime_type integer DEFAULT '0' NOT NULL,
enabled_lifetime_type integer DEFAULT '2' NOT NULL,
enabled_lifetime varchar(255) DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid)
);
CREATE INDEX items_1 ON items (hostid,key_);
CREATE INDEX items_3 ON items (status);
CREATE INDEX items_4 ON items (templateid);
CREATE INDEX items_5 ON items (valuemapid);
CREATE INDEX items_6 ON items (interfaceid);
CREATE INDEX items_7 ON items (master_itemid);
CREATE INDEX items_8 ON items (key_);
CREATE INDEX items_10 ON items (uuid);
CREATE TABLE httpstepitem (
httpstepitemid bigint NOT NULL,
httpstepid bigint NOT NULL,
itemid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (httpstepitemid)
);
CREATE UNIQUE INDEX httpstepitem_1 ON httpstepitem (httpstepid,itemid);
CREATE INDEX httpstepitem_2 ON httpstepitem (itemid);
CREATE TABLE httptestitem (
httptestitemid bigint NOT NULL,
httptestid bigint NOT NULL,
itemid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (httptestitemid)
);
CREATE UNIQUE INDEX httptestitem_1 ON httptestitem (httptestid,itemid);
CREATE INDEX httptestitem_2 ON httptestitem (itemid);
CREATE TABLE media_type (
mediatypeid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(100) DEFAULT '' NOT NULL,
smtp_server varchar(255) DEFAULT '' NOT NULL,
smtp_helo varchar(255) DEFAULT '' NOT NULL,
smtp_email varchar(255) DEFAULT '' NOT NULL,
exec_path varchar(255) DEFAULT '' NOT NULL,
gsm_modem varchar(255) DEFAULT '' NOT NULL,
username varchar(255) DEFAULT '' NOT NULL,
passwd varchar(255) DEFAULT '' NOT NULL,
status integer DEFAULT '1' NOT NULL,
smtp_port integer DEFAULT '25' NOT NULL,
smtp_security integer DEFAULT '0' NOT NULL,
smtp_verify_peer integer DEFAULT '0' NOT NULL,
smtp_verify_host integer DEFAULT '0' NOT NULL,
smtp_authentication integer DEFAULT '0' NOT NULL,
maxsessions integer DEFAULT '1' NOT NULL,
maxattempts integer DEFAULT '3' NOT NULL,
attempt_interval varchar(32) DEFAULT '10s' NOT NULL,
message_format integer DEFAULT '1' NOT NULL,
script text DEFAULT '' NOT NULL,
timeout varchar(32) DEFAULT '30s' NOT NULL,
process_tags integer DEFAULT '0' NOT NULL,
show_event_menu integer DEFAULT '0' NOT NULL,
event_menu_url varchar(2048) DEFAULT '' NOT NULL,
event_menu_name varchar(255) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
provider integer DEFAULT '0' NOT NULL,
PRIMARY KEY (mediatypeid)
);
CREATE UNIQUE INDEX media_type_1 ON media_type (name);
CREATE TABLE media_type_oauth (
mediatypeid bigint NOT NULL,
redirection_url varchar(2048) DEFAULT '' NOT NULL,
client_id varchar(255) DEFAULT '' NOT NULL,
client_secret varchar(255) DEFAULT '' NOT NULL,
authorization_url varchar(2048) DEFAULT '' NOT NULL,
tokens_status integer DEFAULT '0' NOT NULL,
access_token text DEFAULT '' NOT NULL,
access_token_updated integer DEFAULT '0' NOT NULL,
access_expires_in integer DEFAULT '0' NOT NULL,
refresh_token text DEFAULT '' NOT NULL,
token_url varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (mediatypeid)
);
CREATE TABLE media_type_param (
mediatype_paramid bigint NOT NULL,
mediatypeid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
PRIMARY KEY (mediatype_paramid)
);
CREATE INDEX media_type_param_1 ON media_type_param (mediatypeid);
CREATE TABLE media_type_message (
mediatype_messageid bigint NOT NULL,
mediatypeid bigint NOT NULL,
eventsource integer NOT NULL,
recovery integer NOT NULL,
subject varchar(255) DEFAULT '' NOT NULL,
message text DEFAULT '' NOT NULL,
PRIMARY KEY (mediatype_messageid)
);
CREATE UNIQUE INDEX media_type_message_1 ON media_type_message (mediatypeid,eventsource,recovery);
CREATE TABLE usrgrp (
usrgrpid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
gui_access integer DEFAULT '0' NOT NULL,
users_status integer DEFAULT '0' NOT NULL,
debug_mode integer DEFAULT '0' NOT NULL,
userdirectoryid bigint DEFAULT NULL NULL,
mfa_status integer DEFAULT '0' NOT NULL,
mfaid bigint NULL,
PRIMARY KEY (usrgrpid)
);
CREATE UNIQUE INDEX usrgrp_1 ON usrgrp (name);
CREATE INDEX usrgrp_2 ON usrgrp (userdirectoryid);
CREATE INDEX usrgrp_3 ON usrgrp (mfaid);
CREATE TABLE users_groups (
id bigint NOT NULL,
usrgrpid bigint NOT NULL,
userid bigint NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX users_groups_1 ON users_groups (usrgrpid,userid);
CREATE INDEX users_groups_2 ON users_groups (userid);
CREATE TABLE ugset_group (
ugsetid bigint NOT NULL,
usrgrpid bigint NOT NULL,
PRIMARY KEY (ugsetid,usrgrpid)
);
CREATE INDEX ugset_group_1 ON ugset_group (usrgrpid);
CREATE TABLE user_ugset (
userid bigint NOT NULL,
ugsetid bigint NOT NULL,
PRIMARY KEY (userid)
);
CREATE INDEX user_ugset_1 ON user_ugset (ugsetid);
CREATE TABLE scripts (
scriptid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
command text DEFAULT '' NOT NULL,
host_access integer DEFAULT '2' NOT NULL,
usrgrpid bigint NULL,
groupid bigint NULL,
description text DEFAULT '' NOT NULL,
confirmation varchar(255) DEFAULT '' NOT NULL,
type integer DEFAULT '5' NOT NULL,
execute_on integer DEFAULT '2' NOT NULL,
timeout varchar(32) DEFAULT '30s' NOT NULL,
scope integer DEFAULT '1' NOT NULL,
port varchar(64) DEFAULT '' NOT NULL,
authtype integer DEFAULT '0' NOT NULL,
username varchar(64) DEFAULT '' NOT NULL,
password varchar(64) DEFAULT '' NOT NULL,
publickey varchar(64) DEFAULT '' NOT NULL,
privatekey varchar(64) DEFAULT '' NOT NULL,
menu_path varchar(255) DEFAULT '' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
new_window integer DEFAULT '1' NOT NULL,
manualinput integer DEFAULT '0' NOT NULL,
manualinput_prompt varchar(255) DEFAULT '' NOT NULL,
manualinput_validator varchar(2048) DEFAULT '' NOT NULL,
manualinput_validator_type integer DEFAULT '0' NOT NULL,
manualinput_default_value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (scriptid)
);
CREATE INDEX scripts_1 ON scripts (usrgrpid);
CREATE INDEX scripts_2 ON scripts (groupid);
CREATE UNIQUE INDEX scripts_3 ON scripts (name,menu_path);
CREATE TABLE script_param (
script_paramid bigint NOT NULL,
scriptid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (script_paramid)
);
CREATE UNIQUE INDEX script_param_1 ON script_param (scriptid,name);
CREATE TABLE actions (
actionid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
eventsource integer DEFAULT '0' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
esc_period varchar(255) DEFAULT '1h' NOT NULL,
formula varchar(1024) DEFAULT '' NOT NULL,
pause_suppressed integer DEFAULT '1' NOT NULL,
notify_if_canceled integer DEFAULT '1' NOT NULL,
pause_symptoms integer DEFAULT '1' NOT NULL,
PRIMARY KEY (actionid)
);
CREATE INDEX actions_1 ON actions (eventsource,status);
CREATE UNIQUE INDEX actions_2 ON actions (name);
CREATE TABLE operations (
operationid bigint NOT NULL,
actionid bigint NOT NULL,
operationtype integer DEFAULT '0' NOT NULL,
esc_period varchar(255) DEFAULT '0' NOT NULL,
esc_step_from integer DEFAULT '1' NOT NULL,
esc_step_to integer DEFAULT '1' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
recovery integer DEFAULT '0' NOT NULL,
PRIMARY KEY (operationid)
);
CREATE INDEX operations_1 ON operations (actionid);
CREATE TABLE optag (
optagid bigint NOT NULL,
operationid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (optagid)
);
CREATE INDEX optag_1 ON optag (operationid);
CREATE TABLE opmessage (
operationid bigint NOT NULL,
default_msg integer DEFAULT '1' NOT NULL,
subject varchar(255) DEFAULT '' NOT NULL,
message text DEFAULT '' NOT NULL,
mediatypeid bigint NULL,
PRIMARY KEY (operationid)
);
CREATE INDEX opmessage_1 ON opmessage (mediatypeid);
CREATE TABLE opmessage_grp (
opmessage_grpid bigint NOT NULL,
operationid bigint NOT NULL,
usrgrpid bigint NOT NULL,
PRIMARY KEY (opmessage_grpid)
);
CREATE UNIQUE INDEX opmessage_grp_1 ON opmessage_grp (operationid,usrgrpid);
CREATE INDEX opmessage_grp_2 ON opmessage_grp (usrgrpid);
CREATE TABLE opmessage_usr (
opmessage_usrid bigint NOT NULL,
operationid bigint NOT NULL,
userid bigint NOT NULL,
PRIMARY KEY (opmessage_usrid)
);
CREATE UNIQUE INDEX opmessage_usr_1 ON opmessage_usr (operationid,userid);
CREATE INDEX opmessage_usr_2 ON opmessage_usr (userid);
CREATE TABLE opcommand (
operationid bigint NOT NULL,
scriptid bigint NOT NULL,
PRIMARY KEY (operationid)
);
CREATE INDEX opcommand_1 ON opcommand (scriptid);
CREATE TABLE opcommand_hst (
opcommand_hstid bigint NOT NULL,
operationid bigint NOT NULL,
hostid bigint NULL,
PRIMARY KEY (opcommand_hstid)
);
CREATE INDEX opcommand_hst_1 ON opcommand_hst (operationid);
CREATE INDEX opcommand_hst_2 ON opcommand_hst (hostid);
CREATE TABLE opcommand_grp (
opcommand_grpid bigint NOT NULL,
operationid bigint NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (opcommand_grpid)
);
CREATE INDEX opcommand_grp_1 ON opcommand_grp (operationid);
CREATE INDEX opcommand_grp_2 ON opcommand_grp (groupid);
CREATE TABLE opgroup (
opgroupid bigint NOT NULL,
operationid bigint NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (opgroupid)
);
CREATE UNIQUE INDEX opgroup_1 ON opgroup (operationid,groupid);
CREATE INDEX opgroup_2 ON opgroup (groupid);
CREATE TABLE optemplate (
optemplateid bigint NOT NULL,
operationid bigint NOT NULL,
templateid bigint NOT NULL,
PRIMARY KEY (optemplateid)
);
CREATE UNIQUE INDEX optemplate_1 ON optemplate (operationid,templateid);
CREATE INDEX optemplate_2 ON optemplate (templateid);
CREATE TABLE opconditions (
opconditionid bigint NOT NULL,
operationid bigint NOT NULL,
conditiontype integer DEFAULT '0' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (opconditionid)
);
CREATE INDEX opconditions_1 ON opconditions (operationid);
CREATE TABLE conditions (
conditionid bigint NOT NULL,
actionid bigint NOT NULL,
conditiontype integer DEFAULT '0' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
value2 varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (conditionid)
);
CREATE INDEX conditions_1 ON conditions (actionid);
CREATE TABLE triggers (
triggerid bigint NOT NULL,
expression varchar(2048) DEFAULT '' NOT NULL,
description varchar(255) DEFAULT '' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
value integer DEFAULT '0' NOT NULL,
priority integer DEFAULT '0' NOT NULL,
lastchange integer DEFAULT '0' NOT NULL,
comments text DEFAULT '' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
templateid bigint NULL,
type integer DEFAULT '0' NOT NULL,
state integer DEFAULT '0' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
recovery_mode integer DEFAULT '0' NOT NULL,
recovery_expression varchar(2048) DEFAULT '' NOT NULL,
correlation_mode integer DEFAULT '0' NOT NULL,
correlation_tag varchar(255) DEFAULT '' NOT NULL,
manual_close integer DEFAULT '0' NOT NULL,
opdata varchar(255) DEFAULT '' NOT NULL,
discover integer DEFAULT '0' NOT NULL,
event_name varchar(2048) DEFAULT '' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
url_name varchar(64) DEFAULT '' NOT NULL,
PRIMARY KEY (triggerid)
);
CREATE INDEX triggers_1 ON triggers (status);
CREATE INDEX triggers_2 ON triggers (value,lastchange);
CREATE INDEX triggers_3 ON triggers (templateid);
CREATE INDEX triggers_4 ON triggers (uuid);
CREATE TABLE trigger_depends (
triggerdepid bigint NOT NULL,
triggerid_down bigint NOT NULL,
triggerid_up bigint NOT NULL,
PRIMARY KEY (triggerdepid)
);
CREATE UNIQUE INDEX trigger_depends_1 ON trigger_depends (triggerid_down,triggerid_up);
CREATE INDEX trigger_depends_2 ON trigger_depends (triggerid_up);
CREATE TABLE functions (
functionid bigint NOT NULL,
itemid bigint NOT NULL,
triggerid bigint NOT NULL,
name varchar(12) DEFAULT '' NOT NULL,
parameter varchar(255) DEFAULT '0' NOT NULL,
PRIMARY KEY (functionid)
);
CREATE INDEX functions_1 ON functions (triggerid);
CREATE INDEX functions_2 ON functions (itemid,name,parameter);
CREATE TABLE graphs (
graphid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
width integer DEFAULT '900' NOT NULL,
height integer DEFAULT '200' NOT NULL,
yaxismin DOUBLE PRECISION DEFAULT '0' NOT NULL,
yaxismax DOUBLE PRECISION DEFAULT '100' NOT NULL,
templateid bigint NULL,
show_work_period integer DEFAULT '1' NOT NULL,
show_triggers integer DEFAULT '1' NOT NULL,
graphtype integer DEFAULT '0' NOT NULL,
show_legend integer DEFAULT '1' NOT NULL,
show_3d integer DEFAULT '0' NOT NULL,
percent_left DOUBLE PRECISION DEFAULT '0' NOT NULL,
percent_right DOUBLE PRECISION DEFAULT '0' NOT NULL,
ymin_type integer DEFAULT '0' NOT NULL,
ymax_type integer DEFAULT '0' NOT NULL,
ymin_itemid bigint NULL,
ymax_itemid bigint NULL,
flags integer DEFAULT '0' NOT NULL,
discover integer DEFAULT '0' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (graphid)
);
CREATE INDEX graphs_1 ON graphs (name);
CREATE INDEX graphs_2 ON graphs (templateid);
CREATE INDEX graphs_3 ON graphs (ymin_itemid);
CREATE INDEX graphs_4 ON graphs (ymax_itemid);
CREATE INDEX graphs_5 ON graphs (uuid);
CREATE TABLE graphs_items (
gitemid bigint NOT NULL,
graphid bigint NOT NULL,
itemid bigint NOT NULL,
drawtype integer DEFAULT '0' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
color varchar(6) DEFAULT '009600' NOT NULL,
yaxisside integer DEFAULT '0' NOT NULL,
calc_fnc integer DEFAULT '2' NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (gitemid)
);
CREATE INDEX graphs_items_1 ON graphs_items (itemid);
CREATE INDEX graphs_items_2 ON graphs_items (graphid);
CREATE TABLE graph_theme (
graphthemeid bigint NOT NULL,
theme varchar(64) DEFAULT '' NOT NULL,
backgroundcolor varchar(6) DEFAULT '' NOT NULL,
graphcolor varchar(6) DEFAULT '' NOT NULL,
gridcolor varchar(6) DEFAULT '' NOT NULL,
maingridcolor varchar(6) DEFAULT '' NOT NULL,
gridbordercolor varchar(6) DEFAULT '' NOT NULL,
textcolor varchar(6) DEFAULT '' NOT NULL,
highlightcolor varchar(6) DEFAULT '' NOT NULL,
leftpercentilecolor varchar(6) DEFAULT '' NOT NULL,
rightpercentilecolor varchar(6) DEFAULT '' NOT NULL,
nonworktimecolor varchar(6) DEFAULT '' NOT NULL,
colorpalette varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (graphthemeid)
);
CREATE UNIQUE INDEX graph_theme_1 ON graph_theme (theme);
CREATE TABLE globalmacro (
globalmacroid bigint NOT NULL,
macro varchar(255) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (globalmacroid)
);
CREATE UNIQUE INDEX globalmacro_1 ON globalmacro (macro);
CREATE TABLE hostmacro (
hostmacroid bigint NOT NULL,
hostid bigint NOT NULL,
macro varchar(255) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
automatic integer DEFAULT '0' NOT NULL,
PRIMARY KEY (hostmacroid)
);
CREATE UNIQUE INDEX hostmacro_1 ON hostmacro (hostid,macro);
CREATE TABLE hostmacro_config (
hostmacroid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
priority integer DEFAULT '0' NOT NULL,
section_name varchar(255) DEFAULT '' NOT NULL,
label varchar(255) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
required integer DEFAULT '0' NOT NULL,
regex varchar(255) DEFAULT '' NOT NULL,
options text DEFAULT '' NOT NULL,
PRIMARY KEY (hostmacroid)
);
CREATE TABLE hosts_groups (
hostgroupid bigint NOT NULL,
hostid bigint NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (hostgroupid)
);
CREATE UNIQUE INDEX hosts_groups_1 ON hosts_groups (hostid,groupid);
CREATE INDEX hosts_groups_2 ON hosts_groups (groupid);
CREATE TABLE hosts_templates (
hosttemplateid bigint NOT NULL,
hostid bigint NOT NULL,
templateid bigint NOT NULL,
link_type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (hosttemplateid)
);
CREATE UNIQUE INDEX hosts_templates_1 ON hosts_templates (hostid,templateid);
CREATE INDEX hosts_templates_2 ON hosts_templates (templateid);
CREATE TABLE valuemap_mapping (
valuemap_mappingid bigint NOT NULL,
valuemapid bigint NOT NULL,
value varchar(64) DEFAULT '' NOT NULL,
newvalue varchar(64) DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
PRIMARY KEY (valuemap_mappingid)
);
CREATE UNIQUE INDEX valuemap_mapping_1 ON valuemap_mapping (valuemapid,value,type);
CREATE TABLE media (
mediaid bigint NOT NULL,
userid bigint NOT NULL,
mediatypeid bigint NOT NULL,
sendto varchar(1024) DEFAULT '' NOT NULL,
active integer DEFAULT '0' NOT NULL,
severity integer DEFAULT '63' NOT NULL,
period varchar(1024) DEFAULT '1-7,00:00-24:00' NOT NULL,
userdirectory_mediaid bigint DEFAULT NULL NULL,
PRIMARY KEY (mediaid)
);
CREATE INDEX media_1 ON media (userid);
CREATE INDEX media_2 ON media (mediatypeid);
CREATE INDEX media_3 ON media (userdirectory_mediaid);
CREATE TABLE rights (
rightid bigint NOT NULL,
groupid bigint NOT NULL,
permission integer DEFAULT '0' NOT NULL,
id bigint NOT NULL,
PRIMARY KEY (rightid)
);
CREATE INDEX rights_1 ON rights (groupid);
CREATE INDEX rights_2 ON rights (id);
CREATE TABLE permission (
ugsetid bigint NOT NULL,
hgsetid bigint NOT NULL,
permission integer DEFAULT '2' NOT NULL,
PRIMARY KEY (ugsetid,hgsetid)
);
CREATE INDEX permission_1 ON permission (hgsetid);
CREATE TABLE services (
serviceid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
status integer DEFAULT '-1' NOT NULL,
algorithm integer DEFAULT '0' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
weight integer DEFAULT '0' NOT NULL,
propagation_rule integer DEFAULT '0' NOT NULL,
propagation_value integer DEFAULT '0' NOT NULL,
description text DEFAULT '' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
created_at integer DEFAULT '0' NOT NULL,
PRIMARY KEY (serviceid)
);
CREATE INDEX services_1 ON services (uuid);
CREATE TABLE services_links (
linkid bigint NOT NULL,
serviceupid bigint NOT NULL,
servicedownid bigint NOT NULL,
PRIMARY KEY (linkid)
);
CREATE INDEX services_links_1 ON services_links (servicedownid);
CREATE UNIQUE INDEX services_links_2 ON services_links (serviceupid,servicedownid);
CREATE TABLE icon_map (
iconmapid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
default_iconid bigint NOT NULL,
PRIMARY KEY (iconmapid)
);
CREATE UNIQUE INDEX icon_map_1 ON icon_map (name);
CREATE INDEX icon_map_2 ON icon_map (default_iconid);
CREATE TABLE icon_mapping (
iconmappingid bigint NOT NULL,
iconmapid bigint NOT NULL,
iconid bigint NOT NULL,
inventory_link integer DEFAULT '0' NOT NULL,
expression varchar(64) DEFAULT '' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
PRIMARY KEY (iconmappingid)
);
CREATE INDEX icon_mapping_1 ON icon_mapping (iconmapid);
CREATE INDEX icon_mapping_2 ON icon_mapping (iconid);
CREATE TABLE sysmaps (
sysmapid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
width integer DEFAULT '600' NOT NULL,
height integer DEFAULT '400' NOT NULL,
backgroundid bigint NULL,
label_type integer DEFAULT '2' NOT NULL,
label_location integer DEFAULT '0' NOT NULL,
highlight integer DEFAULT '1' NOT NULL,
expandproblem integer DEFAULT '1' NOT NULL,
markelements integer DEFAULT '0' NOT NULL,
show_unack integer DEFAULT '0' NOT NULL,
grid_size integer DEFAULT '50' NOT NULL,
grid_show integer DEFAULT '1' NOT NULL,
grid_align integer DEFAULT '1' NOT NULL,
label_format integer DEFAULT '0' NOT NULL,
label_type_host integer DEFAULT '2' NOT NULL,
label_type_hostgroup integer DEFAULT '2' NOT NULL,
label_type_trigger integer DEFAULT '2' NOT NULL,
label_type_map integer DEFAULT '2' NOT NULL,
label_type_image integer DEFAULT '2' NOT NULL,
label_string_host varchar(255) DEFAULT '' NOT NULL,
label_string_hostgroup varchar(255) DEFAULT '' NOT NULL,
label_string_trigger varchar(255) DEFAULT '' NOT NULL,
label_string_map varchar(255) DEFAULT '' NOT NULL,
label_string_image varchar(255) DEFAULT '' NOT NULL,
iconmapid bigint NULL,
expand_macros integer DEFAULT '0' NOT NULL,
severity_min integer DEFAULT '0' NOT NULL,
userid bigint NOT NULL,
private integer DEFAULT '1' NOT NULL,
show_suppressed integer DEFAULT '0' NOT NULL,
background_scale integer DEFAULT '1' NOT NULL,
show_element_label integer DEFAULT '1' NOT NULL,
show_link_label integer DEFAULT '1' NOT NULL,
PRIMARY KEY (sysmapid)
);
CREATE UNIQUE INDEX sysmaps_1 ON sysmaps (name);
CREATE INDEX sysmaps_2 ON sysmaps (backgroundid);
CREATE INDEX sysmaps_3 ON sysmaps (iconmapid);
CREATE INDEX sysmaps_4 ON sysmaps (userid);
CREATE TABLE sysmaps_elements (
selementid bigint NOT NULL,
sysmapid bigint NOT NULL,
elementid bigint DEFAULT '0' NOT NULL,
elementtype integer DEFAULT '0' NOT NULL,
iconid_off bigint NULL,
iconid_on bigint NULL,
label varchar(2048) DEFAULT '' NOT NULL,
label_location integer DEFAULT '-1' NOT NULL,
x integer DEFAULT '0' NOT NULL,
y integer DEFAULT '0' NOT NULL,
iconid_disabled bigint NULL,
iconid_maintenance bigint NULL,
elementsubtype integer DEFAULT '0' NOT NULL,
areatype integer DEFAULT '0' NOT NULL,
width integer DEFAULT '200' NOT NULL,
height integer DEFAULT '200' NOT NULL,
viewtype integer DEFAULT '0' NOT NULL,
use_iconmap integer DEFAULT '1' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
show_label integer DEFAULT '-1' NOT NULL,
zindex integer DEFAULT '0' NOT NULL,
PRIMARY KEY (selementid)
);
CREATE INDEX sysmaps_elements_1 ON sysmaps_elements (sysmapid);
CREATE INDEX sysmaps_elements_2 ON sysmaps_elements (iconid_off);
CREATE INDEX sysmaps_elements_3 ON sysmaps_elements (iconid_on);
CREATE INDEX sysmaps_elements_4 ON sysmaps_elements (iconid_disabled);
CREATE INDEX sysmaps_elements_5 ON sysmaps_elements (iconid_maintenance);
CREATE TABLE sysmaps_links (
linkid bigint NOT NULL,
sysmapid bigint NOT NULL,
selementid1 bigint NOT NULL,
selementid2 bigint NOT NULL,
drawtype integer DEFAULT '0' NOT NULL,
color varchar(6) DEFAULT '000000' NOT NULL,
label varchar(2048) DEFAULT '' NOT NULL,
show_label integer DEFAULT '-1' NOT NULL,
indicator_type integer DEFAULT '0' NOT NULL,
itemid bigint NULL,
PRIMARY KEY (linkid)
);
CREATE INDEX sysmaps_links_1 ON sysmaps_links (sysmapid);
CREATE INDEX sysmaps_links_2 ON sysmaps_links (selementid1);
CREATE INDEX sysmaps_links_3 ON sysmaps_links (selementid2);
CREATE INDEX sysmaps_links_4 ON sysmaps_links (itemid);
CREATE TABLE sysmaps_link_triggers (
linktriggerid bigint NOT NULL,
linkid bigint NOT NULL,
triggerid bigint NOT NULL,
drawtype integer DEFAULT '0' NOT NULL,
color varchar(6) DEFAULT '000000' NOT NULL,
PRIMARY KEY (linktriggerid)
);
CREATE UNIQUE INDEX sysmaps_link_triggers_1 ON sysmaps_link_triggers (linkid,triggerid);
CREATE INDEX sysmaps_link_triggers_2 ON sysmaps_link_triggers (triggerid);
CREATE TABLE sysmap_link_threshold (
linkthresholdid bigint NOT NULL,
linkid bigint NOT NULL,
drawtype integer DEFAULT '0' NOT NULL,
color varchar(6) DEFAULT '000000' NOT NULL,
type integer DEFAULT '0' NOT NULL,
threshold varchar(255) DEFAULT '' NOT NULL,
pattern varchar(255) DEFAULT '' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
PRIMARY KEY (linkthresholdid)
);
CREATE INDEX sysmap_link_threshold_1 ON sysmap_link_threshold (linkid);
CREATE TABLE sysmap_element_url (
sysmapelementurlid bigint NOT NULL,
selementid bigint NOT NULL,
name varchar(255) NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (sysmapelementurlid)
);
CREATE UNIQUE INDEX sysmap_element_url_1 ON sysmap_element_url (selementid,name);
CREATE TABLE sysmap_url (
sysmapurlid bigint NOT NULL,
sysmapid bigint NOT NULL,
name varchar(255) NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
elementtype integer DEFAULT '0' NOT NULL,
PRIMARY KEY (sysmapurlid)
);
CREATE UNIQUE INDEX sysmap_url_1 ON sysmap_url (sysmapid,name);
CREATE TABLE sysmap_user (
sysmapuserid bigint NOT NULL,
sysmapid bigint NOT NULL,
userid bigint NOT NULL,
permission integer DEFAULT '2' NOT NULL,
PRIMARY KEY (sysmapuserid)
);
CREATE UNIQUE INDEX sysmap_user_1 ON sysmap_user (sysmapid,userid);
CREATE INDEX sysmap_user_2 ON sysmap_user (userid);
CREATE TABLE sysmap_usrgrp (
sysmapusrgrpid bigint NOT NULL,
sysmapid bigint NOT NULL,
usrgrpid bigint NOT NULL,
permission integer DEFAULT '2' NOT NULL,
PRIMARY KEY (sysmapusrgrpid)
);
CREATE UNIQUE INDEX sysmap_usrgrp_1 ON sysmap_usrgrp (sysmapid,usrgrpid);
CREATE INDEX sysmap_usrgrp_2 ON sysmap_usrgrp (usrgrpid);
CREATE TABLE maintenances_hosts (
maintenance_hostid bigint NOT NULL,
maintenanceid bigint NOT NULL,
hostid bigint NOT NULL,
PRIMARY KEY (maintenance_hostid)
);
CREATE UNIQUE INDEX maintenances_hosts_1 ON maintenances_hosts (maintenanceid,hostid);
CREATE INDEX maintenances_hosts_2 ON maintenances_hosts (hostid);
CREATE TABLE maintenances_groups (
maintenance_groupid bigint NOT NULL,
maintenanceid bigint NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (maintenance_groupid)
);
CREATE UNIQUE INDEX maintenances_groups_1 ON maintenances_groups (maintenanceid,groupid);
CREATE INDEX maintenances_groups_2 ON maintenances_groups (groupid);
CREATE TABLE timeperiods (
timeperiodid bigint NOT NULL,
timeperiod_type integer DEFAULT '0' NOT NULL,
every integer DEFAULT '1' NOT NULL,
month integer DEFAULT '0' NOT NULL,
dayofweek integer DEFAULT '0' NOT NULL,
day integer DEFAULT '0' NOT NULL,
start_time integer DEFAULT '0' NOT NULL,
period integer DEFAULT '0' NOT NULL,
start_date integer DEFAULT '0' NOT NULL,
PRIMARY KEY (timeperiodid)
);
CREATE TABLE maintenances_windows (
maintenance_timeperiodid bigint NOT NULL,
maintenanceid bigint NOT NULL,
timeperiodid bigint NOT NULL,
PRIMARY KEY (maintenance_timeperiodid)
);
CREATE UNIQUE INDEX maintenances_windows_1 ON maintenances_windows (maintenanceid,timeperiodid);
CREATE INDEX maintenances_windows_2 ON maintenances_windows (timeperiodid);
CREATE TABLE regexps (
regexpid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
test_string text DEFAULT '' NOT NULL,
PRIMARY KEY (regexpid)
);
CREATE UNIQUE INDEX regexps_1 ON regexps (name);
CREATE TABLE expressions (
expressionid bigint NOT NULL,
regexpid bigint NOT NULL,
expression varchar(255) DEFAULT '' NOT NULL,
expression_type integer DEFAULT '0' NOT NULL,
exp_delimiter varchar(1) DEFAULT '' NOT NULL,
case_sensitive integer DEFAULT '0' NOT NULL,
PRIMARY KEY (expressionid)
);
CREATE INDEX expressions_1 ON expressions (regexpid);
CREATE TABLE ids (
table_name varchar(64) DEFAULT '' NOT NULL,
field_name varchar(64) DEFAULT '' NOT NULL,
nextid bigint NOT NULL,
PRIMARY KEY (table_name,field_name)
);
CREATE TABLE alerts (
alertid bigint NOT NULL,
actionid bigint NOT NULL,
eventid bigint NOT NULL,
userid bigint NULL,
clock integer DEFAULT '0' NOT NULL,
mediatypeid bigint NULL,
sendto varchar(1024) DEFAULT '' NOT NULL,
subject varchar(255) DEFAULT '' NOT NULL,
message text DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
retries integer DEFAULT '0' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
esc_step integer DEFAULT '0' NOT NULL,
alerttype integer DEFAULT '0' NOT NULL,
p_eventid bigint NULL,
acknowledgeid bigint NULL,
parameters text DEFAULT '{}' NOT NULL,
PRIMARY KEY (alertid)
);
CREATE INDEX alerts_1 ON alerts (actionid);
CREATE INDEX alerts_2 ON alerts (clock);
CREATE INDEX alerts_3 ON alerts (eventid);
CREATE INDEX alerts_4 ON alerts (status);
CREATE INDEX alerts_5 ON alerts (mediatypeid);
CREATE INDEX alerts_6 ON alerts (userid);
CREATE INDEX alerts_7 ON alerts (p_eventid);
CREATE INDEX alerts_8 ON alerts (acknowledgeid);
CREATE TABLE history (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value DOUBLE PRECISION DEFAULT '0.0000' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE history_uint (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value numeric(20) DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE history_str (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE history_log (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
timestamp integer DEFAULT '0' NOT NULL,
source varchar(64) DEFAULT '' NOT NULL,
severity integer DEFAULT '0' NOT NULL,
value text DEFAULT '' NOT NULL,
logeventid integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE history_text (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value text DEFAULT '' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE history_bin (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
value bytea DEFAULT '' NOT NULL,
PRIMARY KEY (itemid,clock,ns)
);
CREATE TABLE proxy_history (
id bigint NOT NULL,
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
timestamp integer DEFAULT '0' NOT NULL,
source varchar(64) DEFAULT '' NOT NULL,
severity integer DEFAULT '0' NOT NULL,
value text DEFAULT '' NOT NULL,
logeventid integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
state integer DEFAULT '0' NOT NULL,
lastlogsize numeric(20) DEFAULT '0' NOT NULL,
mtime integer DEFAULT '0' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
write_clock integer DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX proxy_history_2 ON proxy_history (write_clock);
CREATE TABLE proxy_dhistory (
id bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
druleid bigint NOT NULL,
ip varchar(39) DEFAULT '' NOT NULL,
port integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
dcheckid bigint NULL,
dns varchar(255) DEFAULT '' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX proxy_dhistory_1 ON proxy_dhistory (clock);
CREATE INDEX proxy_dhistory_2 ON proxy_dhistory (druleid);
CREATE TABLE events (
eventid bigint NOT NULL,
source integer DEFAULT '0' NOT NULL,
object integer DEFAULT '0' NOT NULL,
objectid bigint DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value integer DEFAULT '0' NOT NULL,
acknowledged integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
name varchar(2048) DEFAULT '' NOT NULL,
severity integer DEFAULT '0' NOT NULL,
PRIMARY KEY (eventid)
);
CREATE INDEX events_1 ON events (source,object,objectid,clock);
CREATE INDEX events_2 ON events (source,object,clock);
CREATE TABLE event_symptom (
eventid bigint NOT NULL,
cause_eventid bigint NOT NULL,
PRIMARY KEY (eventid)
);
CREATE INDEX event_symptom_1 ON event_symptom (cause_eventid);
CREATE TABLE trends (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
num integer DEFAULT '0' NOT NULL,
value_min DOUBLE PRECISION DEFAULT '0.0000' NOT NULL,
value_avg DOUBLE PRECISION DEFAULT '0.0000' NOT NULL,
value_max DOUBLE PRECISION DEFAULT '0.0000' NOT NULL,
PRIMARY KEY (itemid,clock)
);
CREATE TABLE trends_uint (
itemid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
num integer DEFAULT '0' NOT NULL,
value_min numeric(20) DEFAULT '0' NOT NULL,
value_avg numeric(20) DEFAULT '0' NOT NULL,
value_max numeric(20) DEFAULT '0' NOT NULL,
PRIMARY KEY (itemid,clock)
);
CREATE TABLE acknowledges (
acknowledgeid bigint NOT NULL,
userid bigint NOT NULL,
eventid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
message varchar(2048) DEFAULT '' NOT NULL,
action integer DEFAULT '0' NOT NULL,
old_severity integer DEFAULT '0' NOT NULL,
new_severity integer DEFAULT '0' NOT NULL,
suppress_until integer DEFAULT '0' NOT NULL,
taskid bigint NULL,
PRIMARY KEY (acknowledgeid)
);
CREATE INDEX acknowledges_1 ON acknowledges (userid);
CREATE INDEX acknowledges_2 ON acknowledges (eventid);
CREATE INDEX acknowledges_3 ON acknowledges (clock);
CREATE TABLE auditlog (
auditid varchar(25) NOT NULL,
userid bigint NULL,
username varchar(100) DEFAULT '' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
ip varchar(39) DEFAULT '' NOT NULL,
action integer DEFAULT '0' NOT NULL,
resourcetype integer DEFAULT '0' NOT NULL,
resourceid bigint NULL,
resource_cuid varchar(25) NULL,
resourcename varchar(255) DEFAULT '' NOT NULL,
recordsetid varchar(25) NOT NULL,
details text DEFAULT '' NOT NULL,
PRIMARY KEY (auditid)
);
CREATE INDEX auditlog_1 ON auditlog (userid,clock);
CREATE INDEX auditlog_2 ON auditlog (clock);
CREATE INDEX auditlog_3 ON auditlog (resourcetype,resourceid);
CREATE INDEX auditlog_4 ON auditlog (recordsetid);
CREATE INDEX auditlog_5 ON auditlog (ip);
CREATE TABLE service_alarms (
servicealarmid bigint NOT NULL,
serviceid bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value integer DEFAULT '-1' NOT NULL,
PRIMARY KEY (servicealarmid)
);
CREATE INDEX service_alarms_1 ON service_alarms (serviceid,clock);
CREATE INDEX service_alarms_2 ON service_alarms (clock);
CREATE TABLE autoreg_host (
autoreg_hostid bigint NOT NULL,
proxyid bigint NULL,
host varchar(128) DEFAULT '' NOT NULL,
listen_ip varchar(39) DEFAULT '' NOT NULL,
listen_port integer DEFAULT '0' NOT NULL,
listen_dns varchar(255) DEFAULT '' NOT NULL,
host_metadata text DEFAULT '' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
tls_accepted integer DEFAULT '1' NOT NULL,
PRIMARY KEY (autoreg_hostid)
);
CREATE INDEX autoreg_host_1 ON autoreg_host (host);
CREATE INDEX autoreg_host_2 ON autoreg_host (proxyid);
CREATE TABLE proxy_autoreg_host (
id bigint NOT NULL,
clock integer DEFAULT '0' NOT NULL,
host varchar(128) DEFAULT '' NOT NULL,
listen_ip varchar(39) DEFAULT '' NOT NULL,
listen_port integer DEFAULT '0' NOT NULL,
listen_dns varchar(255) DEFAULT '' NOT NULL,
host_metadata text DEFAULT '' NOT NULL,
flags integer DEFAULT '0' NOT NULL,
tls_accepted integer DEFAULT '1' NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX proxy_autoreg_host_1 ON proxy_autoreg_host (clock);
CREATE TABLE dhosts (
dhostid bigint NOT NULL,
druleid bigint NOT NULL,
status integer DEFAULT '0' NOT NULL,
lastup integer DEFAULT '0' NOT NULL,
lastdown integer DEFAULT '0' NOT NULL,
PRIMARY KEY (dhostid)
);
CREATE INDEX dhosts_1 ON dhosts (druleid);
CREATE TABLE dservices (
dserviceid bigint NOT NULL,
dhostid bigint NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
port integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
lastup integer DEFAULT '0' NOT NULL,
lastdown integer DEFAULT '0' NOT NULL,
dcheckid bigint NOT NULL,
ip varchar(39) DEFAULT '' NOT NULL,
dns varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (dserviceid)
);
CREATE UNIQUE INDEX dservices_1 ON dservices (dcheckid,ip,port);
CREATE INDEX dservices_2 ON dservices (dhostid);
CREATE TABLE escalations (
escalationid bigint NOT NULL,
actionid bigint NOT NULL,
triggerid bigint NULL,
eventid bigint NULL,
r_eventid bigint NULL,
nextcheck integer DEFAULT '0' NOT NULL,
esc_step integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
itemid bigint NULL,
acknowledgeid bigint NULL,
servicealarmid bigint NULL,
serviceid bigint NULL,
PRIMARY KEY (escalationid)
);
CREATE UNIQUE INDEX escalations_1 ON escalations (triggerid,itemid,serviceid,escalationid);
CREATE INDEX escalations_2 ON escalations (eventid);
CREATE INDEX escalations_3 ON escalations (nextcheck);
CREATE TABLE globalvars (
name varchar(64) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (name)
);
CREATE TABLE graph_discovery (
graphid bigint NOT NULL,
parent_graphid bigint NOT NULL,
lastcheck integer DEFAULT '0' NOT NULL,
ts_delete integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (graphid)
);
CREATE INDEX graph_discovery_1 ON graph_discovery (parent_graphid);
CREATE TABLE host_inventory (
hostid bigint NOT NULL,
inventory_mode integer DEFAULT '0' NOT NULL,
type varchar(64) DEFAULT '' NOT NULL,
type_full varchar(64) DEFAULT '' NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
alias varchar(128) DEFAULT '' NOT NULL,
os varchar(128) DEFAULT '' NOT NULL,
os_full varchar(255) DEFAULT '' NOT NULL,
os_short varchar(128) DEFAULT '' NOT NULL,
serialno_a varchar(64) DEFAULT '' NOT NULL,
serialno_b varchar(64) DEFAULT '' NOT NULL,
tag varchar(64) DEFAULT '' NOT NULL,
asset_tag varchar(64) DEFAULT '' NOT NULL,
macaddress_a varchar(64) DEFAULT '' NOT NULL,
macaddress_b varchar(64) DEFAULT '' NOT NULL,
hardware varchar(255) DEFAULT '' NOT NULL,
hardware_full text DEFAULT '' NOT NULL,
software varchar(255) DEFAULT '' NOT NULL,
software_full text DEFAULT '' NOT NULL,
software_app_a varchar(64) DEFAULT '' NOT NULL,
software_app_b varchar(64) DEFAULT '' NOT NULL,
software_app_c varchar(64) DEFAULT '' NOT NULL,
software_app_d varchar(64) DEFAULT '' NOT NULL,
software_app_e varchar(64) DEFAULT '' NOT NULL,
contact text DEFAULT '' NOT NULL,
location text DEFAULT '' NOT NULL,
location_lat varchar(16) DEFAULT '' NOT NULL,
location_lon varchar(16) DEFAULT '' NOT NULL,
notes text DEFAULT '' NOT NULL,
chassis varchar(64) DEFAULT '' NOT NULL,
model varchar(64) DEFAULT '' NOT NULL,
hw_arch varchar(32) DEFAULT '' NOT NULL,
vendor varchar(64) DEFAULT '' NOT NULL,
contract_number varchar(64) DEFAULT '' NOT NULL,
installer_name varchar(64) DEFAULT '' NOT NULL,
deployment_status varchar(64) DEFAULT '' NOT NULL,
url_a varchar(2048) DEFAULT '' NOT NULL,
url_b varchar(2048) DEFAULT '' NOT NULL,
url_c varchar(2048) DEFAULT '' NOT NULL,
host_networks text DEFAULT '' NOT NULL,
host_netmask varchar(39) DEFAULT '' NOT NULL,
host_router varchar(39) DEFAULT '' NOT NULL,
oob_ip varchar(39) DEFAULT '' NOT NULL,
oob_netmask varchar(39) DEFAULT '' NOT NULL,
oob_router varchar(39) DEFAULT '' NOT NULL,
date_hw_purchase varchar(64) DEFAULT '' NOT NULL,
date_hw_install varchar(64) DEFAULT '' NOT NULL,
date_hw_expiry varchar(64) DEFAULT '' NOT NULL,
date_hw_decomm varchar(64) DEFAULT '' NOT NULL,
site_address_a varchar(128) DEFAULT '' NOT NULL,
site_address_b varchar(128) DEFAULT '' NOT NULL,
site_address_c varchar(128) DEFAULT '' NOT NULL,
site_city varchar(128) DEFAULT '' NOT NULL,
site_state varchar(64) DEFAULT '' NOT NULL,
site_country varchar(64) DEFAULT '' NOT NULL,
site_zip varchar(64) DEFAULT '' NOT NULL,
site_rack varchar(128) DEFAULT '' NOT NULL,
site_notes text DEFAULT '' NOT NULL,
poc_1_name varchar(128) DEFAULT '' NOT NULL,
poc_1_email varchar(128) DEFAULT '' NOT NULL,
poc_1_phone_a varchar(64) DEFAULT '' NOT NULL,
poc_1_phone_b varchar(64) DEFAULT '' NOT NULL,
poc_1_cell varchar(64) DEFAULT '' NOT NULL,
poc_1_screen varchar(64) DEFAULT '' NOT NULL,
poc_1_notes text DEFAULT '' NOT NULL,
poc_2_name varchar(128) DEFAULT '' NOT NULL,
poc_2_email varchar(128) DEFAULT '' NOT NULL,
poc_2_phone_a varchar(64) DEFAULT '' NOT NULL,
poc_2_phone_b varchar(64) DEFAULT '' NOT NULL,
poc_2_cell varchar(64) DEFAULT '' NOT NULL,
poc_2_screen varchar(64) DEFAULT '' NOT NULL,
poc_2_notes text DEFAULT '' NOT NULL,
PRIMARY KEY (hostid)
);
CREATE TABLE housekeeper (
housekeeperid bigint NOT NULL,
tablename varchar(64) DEFAULT '' NOT NULL,
field varchar(64) DEFAULT '' NOT NULL,
value bigint NOT NULL,
PRIMARY KEY (housekeeperid)
);
CREATE TABLE images (
imageid bigint NOT NULL,
imagetype integer DEFAULT '0' NOT NULL,
name varchar(64) DEFAULT '0' NOT NULL,
image bytea DEFAULT '' NOT NULL,
PRIMARY KEY (imageid)
);
CREATE UNIQUE INDEX images_1 ON images (name);
CREATE TABLE item_discovery (
itemdiscoveryid bigint NOT NULL,
itemid bigint NOT NULL,
parent_itemid bigint NULL,
key_ varchar(2048) DEFAULT '' NOT NULL,
lastcheck integer DEFAULT '0' NOT NULL,
ts_delete integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
disable_source integer DEFAULT '0' NOT NULL,
ts_disable integer DEFAULT '0' NOT NULL,
lldruleid bigint NULL,
PRIMARY KEY (itemdiscoveryid)
);
CREATE UNIQUE INDEX item_discovery_1 ON item_discovery (itemid,parent_itemid);
CREATE INDEX item_discovery_2 ON item_discovery (parent_itemid);
CREATE INDEX item_discovery_3 ON item_discovery (lldruleid);
CREATE TABLE host_discovery (
hostid bigint NOT NULL,
parent_hostid bigint NULL,
lldruleid bigint NULL,
host varchar(128) DEFAULT '' NOT NULL,
lastcheck integer DEFAULT '0' NOT NULL,
ts_delete integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
disable_source integer DEFAULT '0' NOT NULL,
ts_disable integer DEFAULT '0' NOT NULL,
PRIMARY KEY (hostid)
);
CREATE INDEX host_discovery_1 ON host_discovery (parent_hostid);
CREATE INDEX host_discovery_2 ON host_discovery (lldruleid);
CREATE TABLE interface_discovery (
interfaceid bigint NOT NULL,
parent_interfaceid bigint NOT NULL,
PRIMARY KEY (interfaceid)
);
CREATE INDEX interface_discovery_1 ON interface_discovery (parent_interfaceid);
CREATE TABLE profiles (
profileid bigint NOT NULL,
userid bigint NOT NULL,
idx varchar(96) DEFAULT '' NOT NULL,
idx2 bigint DEFAULT '0' NOT NULL,
value_id bigint DEFAULT '0' NOT NULL,
value_int integer DEFAULT '0' NOT NULL,
value_str text DEFAULT '' NOT NULL,
source varchar(96) DEFAULT '' NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (profileid)
);
CREATE INDEX profiles_1 ON profiles (userid,idx,idx2);
CREATE INDEX profiles_2 ON profiles (userid,profileid);
CREATE TABLE sessions (
sessionid varchar(32) DEFAULT '' NOT NULL,
userid bigint NOT NULL,
lastaccess integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
secret varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (sessionid)
);
CREATE INDEX sessions_1 ON sessions (userid,status,lastaccess);
CREATE TABLE trigger_discovery (
triggerid bigint NOT NULL,
parent_triggerid bigint NOT NULL,
lastcheck integer DEFAULT '0' NOT NULL,
ts_delete integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
disable_source integer DEFAULT '0' NOT NULL,
ts_disable integer DEFAULT '0' NOT NULL,
PRIMARY KEY (triggerid)
);
CREATE INDEX trigger_discovery_1 ON trigger_discovery (parent_triggerid);
CREATE TABLE item_condition (
item_conditionid bigint NOT NULL,
itemid bigint NOT NULL,
operator integer DEFAULT '8' NOT NULL,
macro varchar(64) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (item_conditionid)
);
CREATE INDEX item_condition_1 ON item_condition (itemid);
CREATE TABLE item_rtdata (
itemid bigint NOT NULL,
lastlogsize numeric(20) DEFAULT '0' NOT NULL,
state integer DEFAULT '0' NOT NULL,
mtime integer DEFAULT '0' NOT NULL,
error varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (itemid)
);
CREATE TABLE item_rtname (
itemid bigint NOT NULL,
name_resolved varchar(2048) DEFAULT '' NOT NULL,
name_resolved_upper varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (itemid)
);
CREATE TABLE opinventory (
operationid bigint NOT NULL,
inventory_mode integer DEFAULT '0' NOT NULL,
PRIMARY KEY (operationid)
);
CREATE TABLE trigger_tag (
triggertagid bigint NOT NULL,
triggerid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (triggertagid)
);
CREATE INDEX trigger_tag_1 ON trigger_tag (triggerid);
CREATE TABLE event_tag (
eventtagid bigint NOT NULL,
eventid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (eventtagid)
);
CREATE INDEX event_tag_1 ON event_tag (eventid);
CREATE TABLE problem (
eventid bigint NOT NULL,
source integer DEFAULT '0' NOT NULL,
object integer DEFAULT '0' NOT NULL,
objectid bigint DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
r_eventid bigint NULL,
r_clock integer DEFAULT '0' NOT NULL,
r_ns integer DEFAULT '0' NOT NULL,
correlationid bigint NULL,
userid bigint NULL,
name varchar(2048) DEFAULT '' NOT NULL,
acknowledged integer DEFAULT '0' NOT NULL,
severity integer DEFAULT '0' NOT NULL,
cause_eventid bigint NULL,
PRIMARY KEY (eventid)
);
CREATE INDEX problem_1 ON problem (source,object,objectid);
CREATE INDEX problem_2 ON problem (r_clock);
CREATE INDEX problem_3 ON problem (r_eventid);
CREATE INDEX problem_4 ON problem (cause_eventid);
CREATE TABLE problem_tag (
problemtagid bigint NOT NULL,
eventid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (problemtagid)
);
CREATE INDEX problem_tag_1 ON problem_tag (eventid,tag,value);
CREATE TABLE tag_filter (
tag_filterid bigint NOT NULL,
usrgrpid bigint NOT NULL,
groupid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (tag_filterid)
);
CREATE INDEX tag_filter_1 ON tag_filter (usrgrpid);
CREATE INDEX tag_filter_2 ON tag_filter (groupid);
CREATE TABLE event_recovery (
eventid bigint NOT NULL,
r_eventid bigint NOT NULL,
c_eventid bigint NULL,
correlationid bigint NULL,
userid bigint NULL,
PRIMARY KEY (eventid)
);
CREATE INDEX event_recovery_1 ON event_recovery (r_eventid);
CREATE INDEX event_recovery_2 ON event_recovery (c_eventid);
CREATE TABLE correlation (
correlationid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
formula varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (correlationid)
);
CREATE INDEX correlation_1 ON correlation (status);
CREATE UNIQUE INDEX correlation_2 ON correlation (name);
CREATE TABLE corr_condition (
corr_conditionid bigint NOT NULL,
correlationid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (corr_conditionid)
);
CREATE INDEX corr_condition_1 ON corr_condition (correlationid);
CREATE TABLE corr_condition_tag (
corr_conditionid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (corr_conditionid)
);
CREATE TABLE corr_condition_group (
corr_conditionid bigint NOT NULL,
operator integer DEFAULT '0' NOT NULL,
groupid bigint NOT NULL,
PRIMARY KEY (corr_conditionid)
);
CREATE INDEX corr_condition_group_1 ON corr_condition_group (groupid);
CREATE TABLE corr_condition_tagpair (
corr_conditionid bigint NOT NULL,
oldtag varchar(255) DEFAULT '' NOT NULL,
newtag varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (corr_conditionid)
);
CREATE TABLE corr_condition_tagvalue (
corr_conditionid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (corr_conditionid)
);
CREATE TABLE corr_operation (
corr_operationid bigint NOT NULL,
correlationid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
PRIMARY KEY (corr_operationid)
);
CREATE INDEX corr_operation_1 ON corr_operation (correlationid);
CREATE TABLE task (
taskid bigint NOT NULL,
type integer NOT NULL,
status integer DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
ttl integer DEFAULT '0' NOT NULL,
proxyid bigint NULL,
PRIMARY KEY (taskid)
);
CREATE INDEX task_1 ON task (status,proxyid);
CREATE INDEX task_2 ON task (proxyid);
CREATE TABLE task_close_problem (
taskid bigint NOT NULL,
acknowledgeid bigint NOT NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE item_preproc (
item_preprocid bigint NOT NULL,
itemid bigint NOT NULL,
step integer DEFAULT '0' NOT NULL,
type integer DEFAULT '0' NOT NULL,
params text DEFAULT '' NOT NULL,
error_handler integer DEFAULT '0' NOT NULL,
error_handler_params varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (item_preprocid)
);
CREATE INDEX item_preproc_1 ON item_preproc (itemid,step);
CREATE TABLE task_remote_command (
taskid bigint NOT NULL,
command_type integer DEFAULT '0' NOT NULL,
execute_on integer DEFAULT '0' NOT NULL,
port integer DEFAULT '0' NOT NULL,
authtype integer DEFAULT '0' NOT NULL,
username varchar(64) DEFAULT '' NOT NULL,
password varchar(64) DEFAULT '' NOT NULL,
publickey varchar(64) DEFAULT '' NOT NULL,
privatekey varchar(64) DEFAULT '' NOT NULL,
command text DEFAULT '' NOT NULL,
alertid bigint NULL,
parent_taskid bigint NOT NULL,
hostid bigint NOT NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE task_remote_command_result (
taskid bigint NOT NULL,
status integer DEFAULT '0' NOT NULL,
parent_taskid bigint NOT NULL,
info text DEFAULT '' NOT NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE task_data (
taskid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
data text DEFAULT '' NOT NULL,
parent_taskid bigint NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE task_result (
taskid bigint NOT NULL,
status integer DEFAULT '0' NOT NULL,
parent_taskid bigint NOT NULL,
info text DEFAULT '' NOT NULL,
PRIMARY KEY (taskid)
);
CREATE INDEX task_result_1 ON task_result (parent_taskid);
CREATE TABLE task_acknowledge (
taskid bigint NOT NULL,
acknowledgeid bigint NOT NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE sysmap_shape (
sysmap_shapeid bigint NOT NULL,
sysmapid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
x integer DEFAULT '0' NOT NULL,
y integer DEFAULT '0' NOT NULL,
width integer DEFAULT '200' NOT NULL,
height integer DEFAULT '200' NOT NULL,
text text DEFAULT '' NOT NULL,
font integer DEFAULT '9' NOT NULL,
font_size integer DEFAULT '11' NOT NULL,
font_color varchar(6) DEFAULT '000000' NOT NULL,
text_halign integer DEFAULT '0' NOT NULL,
text_valign integer DEFAULT '0' NOT NULL,
border_type integer DEFAULT '0' NOT NULL,
border_width integer DEFAULT '1' NOT NULL,
border_color varchar(6) DEFAULT '000000' NOT NULL,
background_color varchar(6) DEFAULT '' NOT NULL,
zindex integer DEFAULT '0' NOT NULL,
PRIMARY KEY (sysmap_shapeid)
);
CREATE INDEX sysmap_shape_1 ON sysmap_shape (sysmapid);
CREATE TABLE sysmap_element_trigger (
selement_triggerid bigint NOT NULL,
selementid bigint NOT NULL,
triggerid bigint NOT NULL,
PRIMARY KEY (selement_triggerid)
);
CREATE UNIQUE INDEX sysmap_element_trigger_1 ON sysmap_element_trigger (selementid,triggerid);
CREATE INDEX sysmap_element_trigger_2 ON sysmap_element_trigger (triggerid);
CREATE TABLE httptest_field (
httptest_fieldid bigint NOT NULL,
httptestid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value text DEFAULT '' NOT NULL,
PRIMARY KEY (httptest_fieldid)
);
CREATE INDEX httptest_field_1 ON httptest_field (httptestid);
CREATE TABLE httpstep_field (
httpstep_fieldid bigint NOT NULL,
httpstepid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value text DEFAULT '' NOT NULL,
PRIMARY KEY (httpstep_fieldid)
);
CREATE INDEX httpstep_field_1 ON httpstep_field (httpstepid);
CREATE TABLE dashboard (
dashboardid bigint NOT NULL,
name varchar(255) NOT NULL,
userid bigint NULL,
private integer DEFAULT '1' NOT NULL,
templateid bigint NULL,
display_period integer DEFAULT '30' NOT NULL,
auto_start integer DEFAULT '1' NOT NULL,
uuid varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (dashboardid)
);
CREATE INDEX dashboard_1 ON dashboard (userid);
CREATE INDEX dashboard_2 ON dashboard (templateid);
CREATE INDEX dashboard_3 ON dashboard (uuid);
CREATE TABLE dashboard_user (
dashboard_userid bigint NOT NULL,
dashboardid bigint NOT NULL,
userid bigint NOT NULL,
permission integer DEFAULT '2' NOT NULL,
PRIMARY KEY (dashboard_userid)
);
CREATE UNIQUE INDEX dashboard_user_1 ON dashboard_user (dashboardid,userid);
CREATE INDEX dashboard_user_2 ON dashboard_user (userid);
CREATE TABLE dashboard_usrgrp (
dashboard_usrgrpid bigint NOT NULL,
dashboardid bigint NOT NULL,
usrgrpid bigint NOT NULL,
permission integer DEFAULT '2' NOT NULL,
PRIMARY KEY (dashboard_usrgrpid)
);
CREATE UNIQUE INDEX dashboard_usrgrp_1 ON dashboard_usrgrp (dashboardid,usrgrpid);
CREATE INDEX dashboard_usrgrp_2 ON dashboard_usrgrp (usrgrpid);
CREATE TABLE dashboard_page (
dashboard_pageid bigint NOT NULL,
dashboardid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
display_period integer DEFAULT '0' NOT NULL,
sortorder integer DEFAULT '0' NOT NULL,
PRIMARY KEY (dashboard_pageid)
);
CREATE INDEX dashboard_page_1 ON dashboard_page (dashboardid);
CREATE TABLE widget (
widgetid bigint NOT NULL,
type varchar(255) DEFAULT '' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
x integer DEFAULT '0' NOT NULL,
y integer DEFAULT '0' NOT NULL,
width integer DEFAULT '1' NOT NULL,
height integer DEFAULT '2' NOT NULL,
view_mode integer DEFAULT '0' NOT NULL,
dashboard_pageid bigint NOT NULL,
PRIMARY KEY (widgetid)
);
CREATE INDEX widget_1 ON widget (dashboard_pageid);
CREATE TABLE widget_field (
widget_fieldid bigint NOT NULL,
widgetid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value_int integer DEFAULT '0' NOT NULL,
value_str varchar(2048) DEFAULT '' NOT NULL,
value_groupid bigint NULL,
value_hostid bigint NULL,
value_itemid bigint NULL,
value_graphid bigint NULL,
value_sysmapid bigint NULL,
value_serviceid bigint NULL,
value_slaid bigint NULL,
value_userid bigint NULL,
value_actionid bigint NULL,
value_mediatypeid bigint NULL,
PRIMARY KEY (widget_fieldid)
);
CREATE INDEX widget_field_1 ON widget_field (widgetid);
CREATE INDEX widget_field_2 ON widget_field (value_groupid);
CREATE INDEX widget_field_3 ON widget_field (value_hostid);
CREATE INDEX widget_field_4 ON widget_field (value_itemid);
CREATE INDEX widget_field_5 ON widget_field (value_graphid);
CREATE INDEX widget_field_6 ON widget_field (value_sysmapid);
CREATE INDEX widget_field_7 ON widget_field (value_serviceid);
CREATE INDEX widget_field_8 ON widget_field (value_slaid);
CREATE INDEX widget_field_9 ON widget_field (value_userid);
CREATE INDEX widget_field_10 ON widget_field (value_actionid);
CREATE INDEX widget_field_11 ON widget_field (value_mediatypeid);
CREATE TABLE task_check_now (
taskid bigint NOT NULL,
itemid bigint NOT NULL,
PRIMARY KEY (taskid)
);
CREATE TABLE event_suppress (
event_suppressid bigint NOT NULL,
eventid bigint NOT NULL,
maintenanceid bigint NULL,
suppress_until integer DEFAULT '0' NOT NULL,
userid bigint NULL,
PRIMARY KEY (event_suppressid)
);
CREATE UNIQUE INDEX event_suppress_1 ON event_suppress (eventid,maintenanceid);
CREATE INDEX event_suppress_2 ON event_suppress (suppress_until);
CREATE INDEX event_suppress_3 ON event_suppress (maintenanceid);
CREATE INDEX event_suppress_4 ON event_suppress (userid);
CREATE TABLE maintenance_tag (
maintenancetagid bigint NOT NULL,
maintenanceid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '2' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (maintenancetagid)
);
CREATE INDEX maintenance_tag_1 ON maintenance_tag (maintenanceid);
CREATE TABLE lld_macro_path (
lld_macro_pathid bigint NOT NULL,
itemid bigint NOT NULL,
lld_macro varchar(255) DEFAULT '' NOT NULL,
path varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (lld_macro_pathid)
);
CREATE UNIQUE INDEX lld_macro_path_1 ON lld_macro_path (itemid,lld_macro);
CREATE TABLE host_tag (
hosttagid bigint NOT NULL,
hostid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
automatic integer DEFAULT '0' NOT NULL,
PRIMARY KEY (hosttagid)
);
CREATE INDEX host_tag_1 ON host_tag (hostid);
CREATE TABLE config_autoreg_tls (
autoreg_tlsid bigint NOT NULL,
tls_psk_identity varchar(128) DEFAULT '' NOT NULL,
tls_psk varchar(512) DEFAULT '' NOT NULL,
PRIMARY KEY (autoreg_tlsid)
);
CREATE UNIQUE INDEX config_autoreg_tls_1 ON config_autoreg_tls (tls_psk_identity);
CREATE TABLE module (
moduleid bigint NOT NULL,
id varchar(255) DEFAULT '' NOT NULL,
relative_path varchar(255) DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
config text DEFAULT '' NOT NULL,
PRIMARY KEY (moduleid)
);
CREATE TABLE interface_snmp (
interfaceid bigint NOT NULL,
version integer DEFAULT '2' NOT NULL,
bulk integer DEFAULT '1' NOT NULL,
community varchar(64) DEFAULT '' NOT NULL,
securityname varchar(64) DEFAULT '' NOT NULL,
securitylevel integer DEFAULT '0' NOT NULL,
authpassphrase varchar(64) DEFAULT '' NOT NULL,
privpassphrase varchar(64) DEFAULT '' NOT NULL,
authprotocol integer DEFAULT '0' NOT NULL,
privprotocol integer DEFAULT '0' NOT NULL,
contextname varchar(255) DEFAULT '' NOT NULL,
max_repetitions integer DEFAULT '10' NOT NULL,
PRIMARY KEY (interfaceid)
);
CREATE TABLE lld_override (
lld_overrideid bigint NOT NULL,
itemid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
step integer DEFAULT '0' NOT NULL,
evaltype integer DEFAULT '0' NOT NULL,
formula varchar(255) DEFAULT '' NOT NULL,
stop integer DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_overrideid)
);
CREATE UNIQUE INDEX lld_override_1 ON lld_override (itemid,name);
CREATE TABLE lld_override_condition (
lld_override_conditionid bigint NOT NULL,
lld_overrideid bigint NOT NULL,
operator integer DEFAULT '8' NOT NULL,
macro varchar(64) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (lld_override_conditionid)
);
CREATE INDEX lld_override_condition_1 ON lld_override_condition (lld_overrideid);
CREATE TABLE lld_override_operation (
lld_override_operationid bigint NOT NULL,
lld_overrideid bigint NOT NULL,
operationobject integer DEFAULT '0' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE INDEX lld_override_operation_1 ON lld_override_operation (lld_overrideid);
CREATE TABLE lld_override_opstatus (
lld_override_operationid bigint NOT NULL,
status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_opdiscover (
lld_override_operationid bigint NOT NULL,
discover integer DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_opperiod (
lld_override_operationid bigint NOT NULL,
delay varchar(1024) DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_ophistory (
lld_override_operationid bigint NOT NULL,
history varchar(255) DEFAULT '31d' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_optrends (
lld_override_operationid bigint NOT NULL,
trends varchar(255) DEFAULT '365d' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_opseverity (
lld_override_operationid bigint NOT NULL,
severity integer DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE lld_override_optag (
lld_override_optagid bigint NOT NULL,
lld_override_operationid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (lld_override_optagid)
);
CREATE INDEX lld_override_optag_1 ON lld_override_optag (lld_override_operationid);
CREATE TABLE lld_override_optemplate (
lld_override_optemplateid bigint NOT NULL,
lld_override_operationid bigint NOT NULL,
templateid bigint NOT NULL,
PRIMARY KEY (lld_override_optemplateid)
);
CREATE UNIQUE INDEX lld_override_optemplate_1 ON lld_override_optemplate (lld_override_operationid,templateid);
CREATE INDEX lld_override_optemplate_2 ON lld_override_optemplate (templateid);
CREATE TABLE lld_override_opinventory (
lld_override_operationid bigint NOT NULL,
inventory_mode integer DEFAULT '0' NOT NULL,
PRIMARY KEY (lld_override_operationid)
);
CREATE TABLE trigger_queue (
trigger_queueid bigint NOT NULL,
objectid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
ns integer DEFAULT '0' NOT NULL,
PRIMARY KEY (trigger_queueid)
);
CREATE TABLE item_parameter (
item_parameterid bigint NOT NULL,
itemid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (item_parameterid)
);
CREATE INDEX item_parameter_1 ON item_parameter (itemid);
CREATE TABLE role_rule (
role_ruleid bigint NOT NULL,
roleid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value_int integer DEFAULT '0' NOT NULL,
value_str varchar(255) DEFAULT '' NOT NULL,
value_moduleid bigint NULL,
value_serviceid bigint NULL,
PRIMARY KEY (role_ruleid)
);
CREATE INDEX role_rule_1 ON role_rule (roleid);
CREATE INDEX role_rule_2 ON role_rule (value_moduleid);
CREATE INDEX role_rule_3 ON role_rule (value_serviceid);
CREATE TABLE token (
tokenid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
userid bigint NOT NULL,
token varchar(128) NULL,
lastaccess integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
expires_at integer DEFAULT '0' NOT NULL,
created_at integer DEFAULT '0' NOT NULL,
creator_userid bigint NULL,
PRIMARY KEY (tokenid)
);
CREATE INDEX token_1 ON token (name);
CREATE UNIQUE INDEX token_2 ON token (userid,name);
CREATE UNIQUE INDEX token_3 ON token (token);
CREATE INDEX token_4 ON token (creator_userid);
CREATE TABLE item_tag (
itemtagid bigint NOT NULL,
itemid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (itemtagid)
);
CREATE INDEX item_tag_1 ON item_tag (itemid);
CREATE TABLE httptest_tag (
httptesttagid bigint NOT NULL,
httptestid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (httptesttagid)
);
CREATE INDEX httptest_tag_1 ON httptest_tag (httptestid);
CREATE TABLE sysmaps_element_tag (
selementtagid bigint NOT NULL,
selementid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
PRIMARY KEY (selementtagid)
);
CREATE INDEX sysmaps_element_tag_1 ON sysmaps_element_tag (selementid);
CREATE TABLE report (
reportid bigint NOT NULL,
userid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
description varchar(2048) DEFAULT '' NOT NULL,
status integer DEFAULT '0' NOT NULL,
dashboardid bigint NOT NULL,
period integer DEFAULT '0' NOT NULL,
cycle integer DEFAULT '0' NOT NULL,
weekdays integer DEFAULT '0' NOT NULL,
start_time integer DEFAULT '0' NOT NULL,
active_since integer DEFAULT '0' NOT NULL,
active_till integer DEFAULT '0' NOT NULL,
state integer DEFAULT '0' NOT NULL,
lastsent integer DEFAULT '0' NOT NULL,
info varchar(2048) DEFAULT '' NOT NULL,
PRIMARY KEY (reportid)
);
CREATE UNIQUE INDEX report_1 ON report (name);
CREATE INDEX report_2 ON report (userid);
CREATE INDEX report_3 ON report (dashboardid);
CREATE TABLE report_param (
reportparamid bigint NOT NULL,
reportid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
value text DEFAULT '' NOT NULL,
PRIMARY KEY (reportparamid)
);
CREATE INDEX report_param_1 ON report_param (reportid);
CREATE TABLE report_user (
reportuserid bigint NOT NULL,
reportid bigint NOT NULL,
userid bigint NOT NULL,
exclude integer DEFAULT '0' NOT NULL,
access_userid bigint NULL,
PRIMARY KEY (reportuserid)
);
CREATE INDEX report_user_1 ON report_user (reportid);
CREATE INDEX report_user_2 ON report_user (userid);
CREATE INDEX report_user_3 ON report_user (access_userid);
CREATE TABLE report_usrgrp (
reportusrgrpid bigint NOT NULL,
reportid bigint NOT NULL,
usrgrpid bigint NOT NULL,
access_userid bigint NULL,
PRIMARY KEY (reportusrgrpid)
);
CREATE INDEX report_usrgrp_1 ON report_usrgrp (reportid);
CREATE INDEX report_usrgrp_2 ON report_usrgrp (usrgrpid);
CREATE INDEX report_usrgrp_3 ON report_usrgrp (access_userid);
CREATE TABLE service_problem_tag (
service_problem_tagid bigint NOT NULL,
serviceid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (service_problem_tagid)
);
CREATE INDEX service_problem_tag_1 ON service_problem_tag (serviceid);
CREATE TABLE service_problem (
service_problemid bigint NOT NULL,
eventid bigint NOT NULL,
serviceid bigint NOT NULL,
severity integer DEFAULT '0' NOT NULL,
PRIMARY KEY (service_problemid)
);
CREATE INDEX service_problem_1 ON service_problem (eventid);
CREATE INDEX service_problem_2 ON service_problem (serviceid);
CREATE TABLE service_tag (
servicetagid bigint NOT NULL,
serviceid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (servicetagid)
);
CREATE INDEX service_tag_1 ON service_tag (serviceid);
CREATE TABLE service_status_rule (
service_status_ruleid bigint NOT NULL,
serviceid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
limit_value integer DEFAULT '0' NOT NULL,
limit_status integer DEFAULT '0' NOT NULL,
new_status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (service_status_ruleid)
);
CREATE INDEX service_status_rule_1 ON service_status_rule (serviceid);
CREATE TABLE ha_node (
ha_nodeid varchar(25) NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
address varchar(255) DEFAULT '' NOT NULL,
port integer DEFAULT '10051' NOT NULL,
lastaccess integer DEFAULT '0' NOT NULL,
status integer DEFAULT '0' NOT NULL,
ha_sessionid varchar(25) DEFAULT '' NOT NULL,
PRIMARY KEY (ha_nodeid)
);
CREATE UNIQUE INDEX ha_node_1 ON ha_node (name);
CREATE INDEX ha_node_2 ON ha_node (status,lastaccess);
CREATE TABLE sla (
slaid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
period integer DEFAULT '0' NOT NULL,
slo DOUBLE PRECISION DEFAULT '99.9' NOT NULL,
effective_date integer DEFAULT '0' NOT NULL,
timezone varchar(50) DEFAULT 'UTC' NOT NULL,
status integer DEFAULT '1' NOT NULL,
description text DEFAULT '' NOT NULL,
PRIMARY KEY (slaid)
);
CREATE UNIQUE INDEX sla_1 ON sla (name);
CREATE TABLE sla_schedule (
sla_scheduleid bigint NOT NULL,
slaid bigint NOT NULL,
period_from integer DEFAULT '0' NOT NULL,
period_to integer DEFAULT '0' NOT NULL,
PRIMARY KEY (sla_scheduleid)
);
CREATE INDEX sla_schedule_1 ON sla_schedule (slaid);
CREATE TABLE sla_excluded_downtime (
sla_excluded_downtimeid bigint NOT NULL,
slaid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
period_from integer DEFAULT '0' NOT NULL,
period_to integer DEFAULT '0' NOT NULL,
PRIMARY KEY (sla_excluded_downtimeid)
);
CREATE INDEX sla_excluded_downtime_1 ON sla_excluded_downtime (slaid);
CREATE TABLE sla_service_tag (
sla_service_tagid bigint NOT NULL,
slaid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (sla_service_tagid)
);
CREATE INDEX sla_service_tag_1 ON sla_service_tag (slaid);
CREATE TABLE host_rtdata (
hostid bigint NOT NULL,
active_available integer DEFAULT '0' NOT NULL,
PRIMARY KEY (hostid)
);
CREATE TABLE userdirectory (
userdirectoryid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
idp_type integer DEFAULT '1' NOT NULL,
provision_status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (userdirectoryid)
);
CREATE INDEX userdirectory_1 ON userdirectory (idp_type);
CREATE TABLE userdirectory_ldap (
userdirectoryid bigint NOT NULL,
host varchar(255) DEFAULT '' NOT NULL,
port integer DEFAULT '389' NOT NULL,
base_dn varchar(255) DEFAULT '' NOT NULL,
search_attribute varchar(128) DEFAULT '' NOT NULL,
bind_dn varchar(255) DEFAULT '' NOT NULL,
bind_password varchar(128) DEFAULT '' NOT NULL,
start_tls integer DEFAULT '0' NOT NULL,
search_filter varchar(255) DEFAULT '' NOT NULL,
group_basedn varchar(255) DEFAULT '' NOT NULL,
group_name varchar(255) DEFAULT '' NOT NULL,
group_member varchar(255) DEFAULT '' NOT NULL,
user_ref_attr varchar(255) DEFAULT '' NOT NULL,
group_filter varchar(255) DEFAULT '' NOT NULL,
group_membership varchar(255) DEFAULT '' NOT NULL,
user_username varchar(255) DEFAULT '' NOT NULL,
user_lastname varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (userdirectoryid)
);
CREATE TABLE userdirectory_saml (
userdirectoryid bigint NOT NULL,
idp_entityid varchar(1024) DEFAULT '' NOT NULL,
sso_url varchar(2048) DEFAULT '' NOT NULL,
slo_url varchar(2048) DEFAULT '' NOT NULL,
username_attribute varchar(128) DEFAULT '' NOT NULL,
sp_entityid varchar(1024) DEFAULT '' NOT NULL,
nameid_format varchar(2048) DEFAULT '' NOT NULL,
sign_messages integer DEFAULT '0' NOT NULL,
sign_assertions integer DEFAULT '0' NOT NULL,
sign_authn_requests integer DEFAULT '0' NOT NULL,
sign_logout_requests integer DEFAULT '0' NOT NULL,
sign_logout_responses integer DEFAULT '0' NOT NULL,
encrypt_nameid integer DEFAULT '0' NOT NULL,
encrypt_assertions integer DEFAULT '0' NOT NULL,
group_name varchar(255) DEFAULT '' NOT NULL,
user_username varchar(255) DEFAULT '' NOT NULL,
user_lastname varchar(255) DEFAULT '' NOT NULL,
scim_status integer DEFAULT '0' NOT NULL,
PRIMARY KEY (userdirectoryid)
);
CREATE TABLE userdirectory_media (
userdirectory_mediaid bigint NOT NULL,
userdirectoryid bigint NOT NULL,
mediatypeid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
attribute varchar(255) DEFAULT '' NOT NULL,
active integer DEFAULT '0' NOT NULL,
severity integer DEFAULT '63' NOT NULL,
period varchar(1024) DEFAULT '1-7,00:00-24:00' NOT NULL,
PRIMARY KEY (userdirectory_mediaid)
);
CREATE INDEX userdirectory_media_1 ON userdirectory_media (userdirectoryid);
CREATE INDEX userdirectory_media_2 ON userdirectory_media (mediatypeid);
CREATE TABLE userdirectory_usrgrp (
userdirectory_usrgrpid bigint NOT NULL,
userdirectory_idpgroupid bigint NOT NULL,
usrgrpid bigint NOT NULL,
PRIMARY KEY (userdirectory_usrgrpid)
);
CREATE UNIQUE INDEX userdirectory_usrgrp_1 ON userdirectory_usrgrp (userdirectory_idpgroupid,usrgrpid);
CREATE INDEX userdirectory_usrgrp_2 ON userdirectory_usrgrp (usrgrpid);
CREATE TABLE userdirectory_idpgroup (
userdirectory_idpgroupid bigint NOT NULL,
userdirectoryid bigint NOT NULL,
roleid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (userdirectory_idpgroupid)
);
CREATE INDEX userdirectory_idpgroup_1 ON userdirectory_idpgroup (userdirectoryid);
CREATE INDEX userdirectory_idpgroup_2 ON userdirectory_idpgroup (roleid);
CREATE TABLE changelog (
changelogid bigserial NOT NULL,
object integer DEFAULT '0' NOT NULL,
objectid bigint NOT NULL,
operation integer DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
PRIMARY KEY (changelogid)
);
CREATE INDEX changelog_1 ON changelog (clock);
CREATE TABLE scim_group (
scim_groupid bigint NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
PRIMARY KEY (scim_groupid)
);
CREATE UNIQUE INDEX scim_group_1 ON scim_group (name);
CREATE TABLE user_scim_group (
user_scim_groupid bigint NOT NULL,
userid bigint NOT NULL,
scim_groupid bigint NOT NULL,
PRIMARY KEY (user_scim_groupid)
);
CREATE INDEX user_scim_group_1 ON user_scim_group (userid);
CREATE INDEX user_scim_group_2 ON user_scim_group (scim_groupid);
CREATE TABLE connector (
connectorid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
protocol integer DEFAULT '0' NOT NULL,
data_type integer DEFAULT '0' NOT NULL,
url varchar(2048) DEFAULT '' NOT NULL,
max_records integer DEFAULT '0' NOT NULL,
max_senders integer DEFAULT '1' NOT NULL,
max_attempts integer DEFAULT '1' NOT NULL,
timeout varchar(255) DEFAULT '5s' NOT NULL,
http_proxy varchar(255) DEFAULT '' NOT NULL,
authtype integer DEFAULT '0' NOT NULL,
username varchar(255) DEFAULT '' NOT NULL,
password varchar(255) DEFAULT '' NOT NULL,
token varchar(128) DEFAULT '' NOT NULL,
verify_peer integer DEFAULT '1' NOT NULL,
verify_host integer DEFAULT '1' NOT NULL,
ssl_cert_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_file varchar(255) DEFAULT '' NOT NULL,
ssl_key_password varchar(64) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
status integer DEFAULT '1' NOT NULL,
tags_evaltype integer DEFAULT '0' NOT NULL,
item_value_type integer DEFAULT '31' NOT NULL,
attempt_interval varchar(32) DEFAULT '5s' NOT NULL,
PRIMARY KEY (connectorid)
);
CREATE UNIQUE INDEX connector_1 ON connector (name);
CREATE TABLE connector_tag (
connector_tagid bigint NOT NULL,
connectorid bigint NOT NULL,
tag varchar(255) DEFAULT '' NOT NULL,
operator integer DEFAULT '0' NOT NULL,
value varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (connector_tagid)
);
CREATE INDEX connector_tag_1 ON connector_tag (connectorid);
CREATE TABLE proxy (
proxyid bigint NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
operating_mode integer DEFAULT '0' NOT NULL,
description text DEFAULT '' NOT NULL,
tls_connect integer DEFAULT '1' NOT NULL,
tls_accept integer DEFAULT '1' NOT NULL,
tls_issuer varchar(1024) DEFAULT '' NOT NULL,
tls_subject varchar(1024) DEFAULT '' NOT NULL,
tls_psk_identity varchar(128) DEFAULT '' NOT NULL,
tls_psk varchar(512) DEFAULT '' NOT NULL,
allowed_addresses varchar(255) DEFAULT '' NOT NULL,
address varchar(255) DEFAULT '127.0.0.1' NOT NULL,
port varchar(64) DEFAULT '10051' NOT NULL,
custom_timeouts integer DEFAULT '0' NOT NULL,
timeout_zabbix_agent varchar(255) DEFAULT '' NOT NULL,
timeout_simple_check varchar(255) DEFAULT '' NOT NULL,
timeout_snmp_agent varchar(255) DEFAULT '' NOT NULL,
timeout_external_check varchar(255) DEFAULT '' NOT NULL,
timeout_db_monitor varchar(255) DEFAULT '' NOT NULL,
timeout_http_agent varchar(255) DEFAULT '' NOT NULL,
timeout_ssh_agent varchar(255) DEFAULT '' NOT NULL,
timeout_telnet_agent varchar(255) DEFAULT '' NOT NULL,
timeout_script varchar(255) DEFAULT '' NOT NULL,
local_address varchar(255) DEFAULT '' NOT NULL,
local_port varchar(64) DEFAULT '10051' NOT NULL,
proxy_groupid bigint NULL,
timeout_browser varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (proxyid)
);
CREATE UNIQUE INDEX proxy_1 ON proxy (name);
CREATE INDEX proxy_2 ON proxy (proxy_groupid);
CREATE TABLE proxy_rtdata (
proxyid bigint NOT NULL,
lastaccess integer DEFAULT '0' NOT NULL,
version integer DEFAULT '0' NOT NULL,
compatibility integer DEFAULT '0' NOT NULL,
state integer DEFAULT '0' NOT NULL,
PRIMARY KEY (proxyid)
);
CREATE TABLE proxy_group (
proxy_groupid bigint NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
failover_delay varchar(255) DEFAULT '1m' NOT NULL,
min_online varchar(255) DEFAULT '1' NOT NULL,
PRIMARY KEY (proxy_groupid)
);
CREATE TABLE proxy_group_rtdata (
proxy_groupid bigint NOT NULL,
state integer DEFAULT '0' NOT NULL,
PRIMARY KEY (proxy_groupid)
);
CREATE TABLE host_proxy (
hostproxyid bigint NOT NULL,
hostid bigint NULL,
host varchar(128) DEFAULT '' NOT NULL,
proxyid bigint NULL,
revision numeric(20) DEFAULT '0' NOT NULL,
tls_accept integer DEFAULT '1' NOT NULL,
tls_issuer varchar(1024) DEFAULT '' NOT NULL,
tls_subject varchar(1024) DEFAULT '' NOT NULL,
tls_psk_identity varchar(128) DEFAULT '' NOT NULL,
tls_psk varchar(512) DEFAULT '' NOT NULL,
PRIMARY KEY (hostproxyid)
);
CREATE UNIQUE INDEX host_proxy_1 ON host_proxy (hostid);
CREATE INDEX host_proxy_2 ON host_proxy (proxyid);
CREATE INDEX host_proxy_3 ON host_proxy (revision);
CREATE TABLE mfa (
mfaid bigint NOT NULL,
type integer DEFAULT '0' NOT NULL,
name varchar(128) DEFAULT '' NOT NULL,
hash_function integer DEFAULT '1' NULL,
code_length integer DEFAULT '6' NULL,
api_hostname varchar(1024) DEFAULT '' NULL,
clientid varchar(32) DEFAULT '' NULL,
client_secret varchar(64) DEFAULT '' NULL,
PRIMARY KEY (mfaid)
);
CREATE UNIQUE INDEX mfa_1 ON mfa (name);
CREATE TABLE mfa_totp_secret (
mfa_totp_secretid bigint NOT NULL,
mfaid bigint NOT NULL,
userid bigint NOT NULL,
totp_secret varchar(32) DEFAULT '' NULL,
status integer DEFAULT '0' NOT NULL,
used_codes varchar(32) DEFAULT '' NOT NULL,
PRIMARY KEY (mfa_totp_secretid)
);
CREATE INDEX mfa_totp_secret_1 ON mfa_totp_secret (mfaid);
CREATE INDEX mfa_totp_secret_2 ON mfa_totp_secret (userid);
CREATE TABLE settings (
name varchar(255) NOT NULL,
type integer NOT NULL,
value_str text DEFAULT '' NOT NULL,
value_int integer DEFAULT '0' NOT NULL,
value_usrgrpid bigint NULL,
value_hostgroupid bigint NULL,
value_userdirectoryid bigint NULL,
value_mfaid bigint NULL,
PRIMARY KEY (name)
);
CREATE INDEX settings_2 ON settings (value_usrgrpid);
CREATE INDEX settings_3 ON settings (value_hostgroupid);
CREATE INDEX settings_4 ON settings (value_userdirectoryid);
CREATE INDEX settings_5 ON settings (value_mfaid);
CREATE TABLE lld_macro_export (
lld_macro_exportid bigint NOT NULL,
itemid bigint NOT NULL,
lld_macro varchar(255) DEFAULT '' NOT NULL,
value text DEFAULT '' NOT NULL,
PRIMARY KEY (lld_macro_exportid)
);
CREATE INDEX lld_macro_export_1 ON lld_macro_export (itemid);
CREATE TABLE dbversion (
dbversionid bigint NOT NULL,
mandatory integer DEFAULT '0' NOT NULL,
optional integer DEFAULT '0' NOT NULL,
PRIMARY KEY (dbversionid)
);
INSERT INTO dbversion VALUES ('1','7040000','7040000');
create or replace function changelog_hosts_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (1,new.hostid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger hosts_insert after insert on hosts
for each row
execute procedure changelog_hosts_insert();
create or replace function changelog_hosts_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (1,old.hostid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger hosts_update after update on hosts
for each row
execute procedure changelog_hosts_update();
create or replace function changelog_hosts_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (1,old.hostid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger hosts_delete before delete on hosts
for each row
execute procedure changelog_hosts_delete();
create or replace function hosts_name_upper_upper()
returns trigger language plpgsql as $func$
begin
update hosts set name_upper=upper(name)
where hostid=new.hostid;
return null;
end $func$;
create trigger hosts_name_upper_insert after insert
on hosts
for each row execute function hosts_name_upper_upper();
create trigger hosts_name_upper_update after update
of name on hosts
for each row execute function hosts_name_upper_upper();
create or replace function changelog_drules_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (9,new.druleid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger drules_insert after insert on drules
for each row
execute procedure changelog_drules_insert();
create or replace function changelog_drules_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (9,old.druleid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger drules_update after update on drules
for each row
execute procedure changelog_drules_update();
create or replace function changelog_drules_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (9,old.druleid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger drules_delete before delete on drules
for each row
execute procedure changelog_drules_delete();
create or replace function changelog_dchecks_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (10,new.dcheckid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger dchecks_insert after insert on dchecks
for each row
execute procedure changelog_dchecks_insert();
create or replace function changelog_dchecks_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (10,old.dcheckid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger dchecks_update after update on dchecks
for each row
execute procedure changelog_dchecks_update();
create or replace function changelog_dchecks_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (10,old.dcheckid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger dchecks_delete before delete on dchecks
for each row
execute procedure changelog_dchecks_delete();
create or replace function changelog_httptest_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (11,new.httptestid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptest_insert after insert on httptest
for each row
execute procedure changelog_httptest_insert();
create or replace function changelog_httptest_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (11,old.httptestid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptest_update after update on httptest
for each row
execute procedure changelog_httptest_update();
create or replace function changelog_httptest_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (11,old.httptestid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httptest_delete before delete on httptest
for each row
execute procedure changelog_httptest_delete();
create or replace function changelog_httpstep_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (14,new.httpstepid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstep_insert after insert on httpstep
for each row
execute procedure changelog_httpstep_insert();
create or replace function changelog_httpstep_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (14,old.httpstepid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstep_update after update on httpstep
for each row
execute procedure changelog_httpstep_update();
create or replace function changelog_httpstep_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (14,old.httpstepid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httpstep_delete before delete on httpstep
for each row
execute procedure changelog_httpstep_delete();
create or replace function changelog_items_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (3,new.itemid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger items_insert after insert on items
for each row
execute procedure changelog_items_insert();
create or replace function changelog_items_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (3,old.itemid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger items_update after update on items
for each row
execute procedure changelog_items_update();
create or replace function changelog_items_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (3,old.itemid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger items_delete before delete on items
for each row
execute procedure changelog_items_delete();
create or replace function changelog_httpstepitem_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (16,new.httpstepitemid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstepitem_insert after insert on httpstepitem
for each row
execute procedure changelog_httpstepitem_insert();
create or replace function changelog_httpstepitem_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (16,old.httpstepitemid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstepitem_update after update on httpstepitem
for each row
execute procedure changelog_httpstepitem_update();
create or replace function changelog_httpstepitem_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (16,old.httpstepitemid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httpstepitem_delete before delete on httpstepitem
for each row
execute procedure changelog_httpstepitem_delete();
create or replace function changelog_httptestitem_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (13,new.httptestitemid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptestitem_insert after insert on httptestitem
for each row
execute procedure changelog_httptestitem_insert();
create or replace function changelog_httptestitem_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (13,old.httptestitemid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptestitem_update after update on httptestitem
for each row
execute procedure changelog_httptestitem_update();
create or replace function changelog_httptestitem_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (13,old.httptestitemid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httptestitem_delete before delete on httptestitem
for each row
execute procedure changelog_httptestitem_delete();
create or replace function changelog_triggers_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (5,new.triggerid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger triggers_insert after insert on triggers
for each row
execute procedure changelog_triggers_insert();
create or replace function changelog_triggers_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (5,old.triggerid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger triggers_update after update on triggers
for each row
execute procedure changelog_triggers_update();
create or replace function changelog_triggers_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (5,old.triggerid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger triggers_delete before delete on triggers
for each row
execute procedure changelog_triggers_delete();
create or replace function changelog_functions_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (7,new.functionid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger functions_insert after insert on functions
for each row
execute procedure changelog_functions_insert();
create or replace function changelog_functions_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (7,old.functionid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger functions_update after update on functions
for each row
execute procedure changelog_functions_update();
create or replace function changelog_functions_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (7,old.functionid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger functions_delete before delete on functions
for each row
execute procedure changelog_functions_delete();
create or replace function changelog_trigger_tag_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (6,new.triggertagid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger trigger_tag_insert after insert on trigger_tag
for each row
execute procedure changelog_trigger_tag_insert();
create or replace function changelog_trigger_tag_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (6,old.triggertagid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger trigger_tag_update after update on trigger_tag
for each row
execute procedure changelog_trigger_tag_update();
create or replace function changelog_trigger_tag_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (6,old.triggertagid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger trigger_tag_delete before delete on trigger_tag
for each row
execute procedure changelog_trigger_tag_delete();
create or replace function changelog_item_preproc_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (8,new.item_preprocid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger item_preproc_insert after insert on item_preproc
for each row
execute procedure changelog_item_preproc_insert();
create or replace function changelog_item_preproc_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (8,old.item_preprocid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger item_preproc_update after update on item_preproc
for each row
execute procedure changelog_item_preproc_update();
create or replace function changelog_item_preproc_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (8,old.item_preprocid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger item_preproc_delete before delete on item_preproc
for each row
execute procedure changelog_item_preproc_delete();
create or replace function changelog_httptest_field_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (12,new.httptest_fieldid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptest_field_insert after insert on httptest_field
for each row
execute procedure changelog_httptest_field_insert();
create or replace function changelog_httptest_field_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (12,old.httptest_fieldid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httptest_field_update after update on httptest_field
for each row
execute procedure changelog_httptest_field_update();
create or replace function changelog_httptest_field_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (12,old.httptest_fieldid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httptest_field_delete before delete on httptest_field
for each row
execute procedure changelog_httptest_field_delete();
create or replace function changelog_httpstep_field_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (15,new.httpstep_fieldid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstep_field_insert after insert on httpstep_field
for each row
execute procedure changelog_httpstep_field_insert();
create or replace function changelog_httpstep_field_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (15,old.httpstep_fieldid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger httpstep_field_update after update on httpstep_field
for each row
execute procedure changelog_httpstep_field_update();
create or replace function changelog_httpstep_field_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (15,old.httpstep_fieldid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger httpstep_field_delete before delete on httpstep_field
for each row
execute procedure changelog_httpstep_field_delete();
create or replace function changelog_host_tag_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (2,new.hosttagid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger host_tag_insert after insert on host_tag
for each row
execute procedure changelog_host_tag_insert();
create or replace function changelog_host_tag_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (2,old.hosttagid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger host_tag_update after update on host_tag
for each row
execute procedure changelog_host_tag_update();
create or replace function changelog_host_tag_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (2,old.hosttagid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger host_tag_delete before delete on host_tag
for each row
execute procedure changelog_host_tag_delete();
create or replace function changelog_item_tag_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (4,new.itemtagid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger item_tag_insert after insert on item_tag
for each row
execute procedure changelog_item_tag_insert();
create or replace function changelog_item_tag_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (4,old.itemtagid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger item_tag_update after update on item_tag
for each row
execute procedure changelog_item_tag_update();
create or replace function changelog_item_tag_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (4,old.itemtagid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger item_tag_delete before delete on item_tag
for each row
execute procedure changelog_item_tag_delete();
create or replace function changelog_connector_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (17,new.connectorid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger connector_insert after insert on connector
for each row
execute procedure changelog_connector_insert();
create or replace function changelog_connector_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (17,old.connectorid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger connector_update after update on connector
for each row
execute procedure changelog_connector_update();
create or replace function changelog_connector_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (17,old.connectorid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger connector_delete before delete on connector
for each row
execute procedure changelog_connector_delete();
create or replace function changelog_connector_tag_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (18,new.connector_tagid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger connector_tag_insert after insert on connector_tag
for each row
execute procedure changelog_connector_tag_insert();
create or replace function changelog_connector_tag_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (18,old.connector_tagid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger connector_tag_update after update on connector_tag
for each row
execute procedure changelog_connector_tag_update();
create or replace function changelog_connector_tag_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (18,old.connector_tagid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger connector_tag_delete before delete on connector_tag
for each row
execute procedure changelog_connector_tag_delete();
create or replace function changelog_proxy_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (19,new.proxyid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger proxy_insert after insert on proxy
for each row
execute procedure changelog_proxy_insert();
create or replace function changelog_proxy_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (19,old.proxyid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger proxy_update after update on proxy
for each row
execute procedure changelog_proxy_update();
create or replace function changelog_proxy_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (19,old.proxyid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger proxy_delete before delete on proxy
for each row
execute procedure changelog_proxy_delete();
create or replace function changelog_proxy_group_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (20,new.proxy_groupid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger proxy_group_insert after insert on proxy_group
for each row
execute procedure changelog_proxy_group_insert();
create or replace function changelog_proxy_group_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (20,old.proxy_groupid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger proxy_group_update after update on proxy_group
for each row
execute procedure changelog_proxy_group_update();
create or replace function changelog_proxy_group_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (20,old.proxy_groupid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger proxy_group_delete before delete on proxy_group
for each row
execute procedure changelog_proxy_group_delete();
create or replace function changelog_host_proxy_insert() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (21,new.hostproxyid,1,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger host_proxy_insert after insert on host_proxy
for each row
execute procedure changelog_host_proxy_insert();
create or replace function changelog_host_proxy_update() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (21,old.hostproxyid,2,cast(extract(epoch from now()) as int));
return new;
end;
$$ language plpgsql;
create trigger host_proxy_update after update on host_proxy
for each row
execute procedure changelog_host_proxy_update();
create or replace function changelog_host_proxy_delete() returns trigger as $$
begin
insert into changelog (object,objectid,operation,clock)
values (21,old.hostproxyid,3,cast(extract(epoch from now()) as int));
return old;
end;
$$ language plpgsql;
create trigger host_proxy_delete before delete on host_proxy
for each row
execute procedure changelog_host_proxy_delete();
ALTER TABLE ONLY users ADD CONSTRAINT c_users_1 FOREIGN KEY (roleid) REFERENCES role (roleid) ON DELETE CASCADE;
ALTER TABLE ONLY users ADD CONSTRAINT c_users_2 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid);
ALTER TABLE ONLY hosts ADD CONSTRAINT c_hosts_1 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid);
ALTER TABLE ONLY hosts ADD CONSTRAINT c_hosts_2 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid);
ALTER TABLE ONLY hosts ADD CONSTRAINT c_hosts_3 FOREIGN KEY (templateid) REFERENCES hosts (hostid);
ALTER TABLE ONLY hosts ADD CONSTRAINT c_hosts_4 FOREIGN KEY (proxy_groupid) REFERENCES proxy_group (proxy_groupid);
ALTER TABLE ONLY hgset_group ADD CONSTRAINT c_hgset_group_1 FOREIGN KEY (hgsetid) REFERENCES hgset (hgsetid) ON DELETE CASCADE;
ALTER TABLE ONLY hgset_group ADD CONSTRAINT c_hgset_group_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY host_hgset ADD CONSTRAINT c_host_hgset_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY host_hgset ADD CONSTRAINT c_host_hgset_2 FOREIGN KEY (hgsetid) REFERENCES hgset (hgsetid);
ALTER TABLE ONLY group_prototype ADD CONSTRAINT c_group_prototype_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY group_prototype ADD CONSTRAINT c_group_prototype_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY group_prototype ADD CONSTRAINT c_group_prototype_3 FOREIGN KEY (templateid) REFERENCES group_prototype (group_prototypeid) ON DELETE CASCADE;
ALTER TABLE ONLY group_discovery ADD CONSTRAINT c_group_discovery_1 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY group_discovery ADD CONSTRAINT c_group_discovery_2 FOREIGN KEY (parent_group_prototypeid) REFERENCES group_prototype (group_prototypeid);
ALTER TABLE ONLY drules ADD CONSTRAINT c_drules_1 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid);
ALTER TABLE ONLY dchecks ADD CONSTRAINT c_dchecks_1 FOREIGN KEY (druleid) REFERENCES drules (druleid);
ALTER TABLE ONLY httptest ADD CONSTRAINT c_httptest_2 FOREIGN KEY (hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY httptest ADD CONSTRAINT c_httptest_3 FOREIGN KEY (templateid) REFERENCES httptest (httptestid);
ALTER TABLE ONLY httpstep ADD CONSTRAINT c_httpstep_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid);
ALTER TABLE ONLY interface ADD CONSTRAINT c_interface_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY valuemap ADD CONSTRAINT c_valuemap_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY items ADD CONSTRAINT c_items_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY items ADD CONSTRAINT c_items_2 FOREIGN KEY (templateid) REFERENCES items (itemid);
ALTER TABLE ONLY items ADD CONSTRAINT c_items_3 FOREIGN KEY (valuemapid) REFERENCES valuemap (valuemapid);
ALTER TABLE ONLY items ADD CONSTRAINT c_items_4 FOREIGN KEY (interfaceid) REFERENCES interface (interfaceid);
ALTER TABLE ONLY items ADD CONSTRAINT c_items_5 FOREIGN KEY (master_itemid) REFERENCES items (itemid);
ALTER TABLE ONLY httpstepitem ADD CONSTRAINT c_httpstepitem_1 FOREIGN KEY (httpstepid) REFERENCES httpstep (httpstepid);
ALTER TABLE ONLY httpstepitem ADD CONSTRAINT c_httpstepitem_2 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY httptestitem ADD CONSTRAINT c_httptestitem_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid);
ALTER TABLE ONLY httptestitem ADD CONSTRAINT c_httptestitem_2 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY media_type_oauth ADD CONSTRAINT c_media_type_oauth_1 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY media_type_param ADD CONSTRAINT c_media_type_param_1 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY media_type_message ADD CONSTRAINT c_media_type_message_1 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY usrgrp ADD CONSTRAINT c_usrgrp_2 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid);
ALTER TABLE ONLY usrgrp ADD CONSTRAINT c_usrgrp_3 FOREIGN KEY (mfaid) REFERENCES mfa (mfaid);
ALTER TABLE ONLY users_groups ADD CONSTRAINT c_users_groups_1 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY users_groups ADD CONSTRAINT c_users_groups_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY ugset_group ADD CONSTRAINT c_ugset_group_1 FOREIGN KEY (ugsetid) REFERENCES ugset (ugsetid) ON DELETE CASCADE;
ALTER TABLE ONLY ugset_group ADD CONSTRAINT c_ugset_group_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid);
ALTER TABLE ONLY user_ugset ADD CONSTRAINT c_user_ugset_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY user_ugset ADD CONSTRAINT c_user_ugset_2 FOREIGN KEY (ugsetid) REFERENCES ugset (ugsetid);
ALTER TABLE ONLY scripts ADD CONSTRAINT c_scripts_1 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid);
ALTER TABLE ONLY scripts ADD CONSTRAINT c_scripts_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY script_param ADD CONSTRAINT c_script_param_1 FOREIGN KEY (scriptid) REFERENCES scripts (scriptid) ON DELETE CASCADE;
ALTER TABLE ONLY operations ADD CONSTRAINT c_operations_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE;
ALTER TABLE ONLY optag ADD CONSTRAINT c_optag_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opmessage ADD CONSTRAINT c_opmessage_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opmessage ADD CONSTRAINT c_opmessage_2 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid);
ALTER TABLE ONLY opmessage_grp ADD CONSTRAINT c_opmessage_grp_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opmessage_grp ADD CONSTRAINT c_opmessage_grp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid);
ALTER TABLE ONLY opmessage_usr ADD CONSTRAINT c_opmessage_usr_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opmessage_usr ADD CONSTRAINT c_opmessage_usr_2 FOREIGN KEY (userid) REFERENCES users (userid);
ALTER TABLE ONLY opcommand ADD CONSTRAINT c_opcommand_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opcommand ADD CONSTRAINT c_opcommand_2 FOREIGN KEY (scriptid) REFERENCES scripts (scriptid);
ALTER TABLE ONLY opcommand_hst ADD CONSTRAINT c_opcommand_hst_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opcommand_hst ADD CONSTRAINT c_opcommand_hst_2 FOREIGN KEY (hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY opcommand_grp ADD CONSTRAINT c_opcommand_grp_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opcommand_grp ADD CONSTRAINT c_opcommand_grp_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY opgroup ADD CONSTRAINT c_opgroup_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY opgroup ADD CONSTRAINT c_opgroup_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY optemplate ADD CONSTRAINT c_optemplate_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY optemplate ADD CONSTRAINT c_optemplate_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid);
ALTER TABLE ONLY opconditions ADD CONSTRAINT c_opconditions_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY conditions ADD CONSTRAINT c_conditions_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE;
ALTER TABLE ONLY triggers ADD CONSTRAINT c_triggers_1 FOREIGN KEY (templateid) REFERENCES triggers (triggerid);
ALTER TABLE ONLY trigger_depends ADD CONSTRAINT c_trigger_depends_1 FOREIGN KEY (triggerid_down) REFERENCES triggers (triggerid) ON DELETE CASCADE;
ALTER TABLE ONLY trigger_depends ADD CONSTRAINT c_trigger_depends_2 FOREIGN KEY (triggerid_up) REFERENCES triggers (triggerid) ON DELETE CASCADE;
ALTER TABLE ONLY functions ADD CONSTRAINT c_functions_1 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY functions ADD CONSTRAINT c_functions_2 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid);
ALTER TABLE ONLY graphs ADD CONSTRAINT c_graphs_1 FOREIGN KEY (templateid) REFERENCES graphs (graphid) ON DELETE CASCADE;
ALTER TABLE ONLY graphs ADD CONSTRAINT c_graphs_2 FOREIGN KEY (ymin_itemid) REFERENCES items (itemid);
ALTER TABLE ONLY graphs ADD CONSTRAINT c_graphs_3 FOREIGN KEY (ymax_itemid) REFERENCES items (itemid);
ALTER TABLE ONLY graphs_items ADD CONSTRAINT c_graphs_items_1 FOREIGN KEY (graphid) REFERENCES graphs (graphid) ON DELETE CASCADE;
ALTER TABLE ONLY graphs_items ADD CONSTRAINT c_graphs_items_2 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY hostmacro ADD CONSTRAINT c_hostmacro_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY hostmacro_config ADD CONSTRAINT c_hostmacro_config_1 FOREIGN KEY (hostmacroid) REFERENCES hostmacro (hostmacroid) ON DELETE CASCADE;
ALTER TABLE ONLY hosts_groups ADD CONSTRAINT c_hosts_groups_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY hosts_groups ADD CONSTRAINT c_hosts_groups_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY hosts_templates ADD CONSTRAINT c_hosts_templates_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY hosts_templates ADD CONSTRAINT c_hosts_templates_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY valuemap_mapping ADD CONSTRAINT c_valuemap_mapping_1 FOREIGN KEY (valuemapid) REFERENCES valuemap (valuemapid) ON DELETE CASCADE;
ALTER TABLE ONLY media ADD CONSTRAINT c_media_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY media ADD CONSTRAINT c_media_2 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY media ADD CONSTRAINT c_media_3 FOREIGN KEY (userdirectory_mediaid) REFERENCES userdirectory_media (userdirectory_mediaid) ON DELETE CASCADE;
ALTER TABLE ONLY rights ADD CONSTRAINT c_rights_1 FOREIGN KEY (groupid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY rights ADD CONSTRAINT c_rights_2 FOREIGN KEY (id) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY permission ADD CONSTRAINT c_permission_1 FOREIGN KEY (ugsetid) REFERENCES ugset (ugsetid) ON DELETE CASCADE;
ALTER TABLE ONLY permission ADD CONSTRAINT c_permission_2 FOREIGN KEY (hgsetid) REFERENCES hgset (hgsetid) ON DELETE CASCADE;
ALTER TABLE ONLY services_links ADD CONSTRAINT c_services_links_1 FOREIGN KEY (serviceupid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY services_links ADD CONSTRAINT c_services_links_2 FOREIGN KEY (servicedownid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY icon_map ADD CONSTRAINT c_icon_map_1 FOREIGN KEY (default_iconid) REFERENCES images (imageid);
ALTER TABLE ONLY icon_mapping ADD CONSTRAINT c_icon_mapping_1 FOREIGN KEY (iconmapid) REFERENCES icon_map (iconmapid) ON DELETE CASCADE;
ALTER TABLE ONLY icon_mapping ADD CONSTRAINT c_icon_mapping_2 FOREIGN KEY (iconid) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps ADD CONSTRAINT c_sysmaps_1 FOREIGN KEY (backgroundid) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps ADD CONSTRAINT c_sysmaps_2 FOREIGN KEY (iconmapid) REFERENCES icon_map (iconmapid);
ALTER TABLE ONLY sysmaps ADD CONSTRAINT c_sysmaps_3 FOREIGN KEY (userid) REFERENCES users (userid);
ALTER TABLE ONLY sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_2 FOREIGN KEY (iconid_off) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_3 FOREIGN KEY (iconid_on) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_4 FOREIGN KEY (iconid_disabled) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_5 FOREIGN KEY (iconid_maintenance) REFERENCES images (imageid);
ALTER TABLE ONLY sysmaps_links ADD CONSTRAINT c_sysmaps_links_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_links ADD CONSTRAINT c_sysmaps_links_2 FOREIGN KEY (selementid1) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_links ADD CONSTRAINT c_sysmaps_links_3 FOREIGN KEY (selementid2) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_links ADD CONSTRAINT c_sysmaps_links_4 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY sysmaps_link_triggers ADD CONSTRAINT c_sysmaps_link_triggers_1 FOREIGN KEY (linkid) REFERENCES sysmaps_links (linkid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_link_triggers ADD CONSTRAINT c_sysmaps_link_triggers_2 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_link_threshold ADD CONSTRAINT c_sysmap_link_threshold_1 FOREIGN KEY (linkid) REFERENCES sysmaps_links (linkid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_element_url ADD CONSTRAINT c_sysmap_element_url_1 FOREIGN KEY (selementid) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_url ADD CONSTRAINT c_sysmap_url_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_user ADD CONSTRAINT c_sysmap_user_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_user ADD CONSTRAINT c_sysmap_user_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_usrgrp ADD CONSTRAINT c_sysmap_usrgrp_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_usrgrp ADD CONSTRAINT c_sysmap_usrgrp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_hosts ADD CONSTRAINT c_maintenances_hosts_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_hosts ADD CONSTRAINT c_maintenances_hosts_2 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_groups ADD CONSTRAINT c_maintenances_groups_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_groups ADD CONSTRAINT c_maintenances_groups_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_windows ADD CONSTRAINT c_maintenances_windows_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenances_windows ADD CONSTRAINT c_maintenances_windows_2 FOREIGN KEY (timeperiodid) REFERENCES timeperiods (timeperiodid) ON DELETE CASCADE;
ALTER TABLE ONLY expressions ADD CONSTRAINT c_expressions_1 FOREIGN KEY (regexpid) REFERENCES regexps (regexpid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_2 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_3 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_4 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_5 FOREIGN KEY (p_eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY alerts ADD CONSTRAINT c_alerts_6 FOREIGN KEY (acknowledgeid) REFERENCES acknowledges (acknowledgeid) ON DELETE CASCADE;
ALTER TABLE ONLY event_symptom ADD CONSTRAINT c_event_symptom_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY event_symptom ADD CONSTRAINT c_event_symptom_2 FOREIGN KEY (cause_eventid) REFERENCES events (eventid);
ALTER TABLE ONLY acknowledges ADD CONSTRAINT c_acknowledges_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY acknowledges ADD CONSTRAINT c_acknowledges_2 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY service_alarms ADD CONSTRAINT c_service_alarms_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY autoreg_host ADD CONSTRAINT c_autoreg_host_1 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid) ON DELETE CASCADE;
ALTER TABLE ONLY dhosts ADD CONSTRAINT c_dhosts_1 FOREIGN KEY (druleid) REFERENCES drules (druleid) ON DELETE CASCADE;
ALTER TABLE ONLY dservices ADD CONSTRAINT c_dservices_1 FOREIGN KEY (dhostid) REFERENCES dhosts (dhostid) ON DELETE CASCADE;
ALTER TABLE ONLY dservices ADD CONSTRAINT c_dservices_2 FOREIGN KEY (dcheckid) REFERENCES dchecks (dcheckid) ON DELETE CASCADE;
ALTER TABLE ONLY graph_discovery ADD CONSTRAINT c_graph_discovery_1 FOREIGN KEY (graphid) REFERENCES graphs (graphid) ON DELETE CASCADE;
ALTER TABLE ONLY graph_discovery ADD CONSTRAINT c_graph_discovery_2 FOREIGN KEY (parent_graphid) REFERENCES graphs (graphid);
ALTER TABLE ONLY host_inventory ADD CONSTRAINT c_host_inventory_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY item_discovery ADD CONSTRAINT c_item_discovery_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY item_discovery ADD CONSTRAINT c_item_discovery_2 FOREIGN KEY (parent_itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY item_discovery ADD CONSTRAINT c_item_discovery_3 FOREIGN KEY (lldruleid) REFERENCES items (itemid);
ALTER TABLE ONLY host_discovery ADD CONSTRAINT c_host_discovery_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY host_discovery ADD CONSTRAINT c_host_discovery_2 FOREIGN KEY (parent_hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY host_discovery ADD CONSTRAINT c_host_discovery_3 FOREIGN KEY (lldruleid) REFERENCES items (itemid);
ALTER TABLE ONLY interface_discovery ADD CONSTRAINT c_interface_discovery_1 FOREIGN KEY (interfaceid) REFERENCES interface (interfaceid) ON DELETE CASCADE;
ALTER TABLE ONLY interface_discovery ADD CONSTRAINT c_interface_discovery_2 FOREIGN KEY (parent_interfaceid) REFERENCES interface (interfaceid) ON DELETE CASCADE;
ALTER TABLE ONLY profiles ADD CONSTRAINT c_profiles_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY sessions ADD CONSTRAINT c_sessions_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY trigger_discovery ADD CONSTRAINT c_trigger_discovery_1 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE;
ALTER TABLE ONLY trigger_discovery ADD CONSTRAINT c_trigger_discovery_2 FOREIGN KEY (parent_triggerid) REFERENCES triggers (triggerid);
ALTER TABLE ONLY item_condition ADD CONSTRAINT c_item_condition_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY item_rtdata ADD CONSTRAINT c_item_rtdata_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY item_rtname ADD CONSTRAINT c_item_rtname_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY opinventory ADD CONSTRAINT c_opinventory_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE;
ALTER TABLE ONLY trigger_tag ADD CONSTRAINT c_trigger_tag_1 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid);
ALTER TABLE ONLY event_tag ADD CONSTRAINT c_event_tag_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY problem ADD CONSTRAINT c_problem_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY problem ADD CONSTRAINT c_problem_2 FOREIGN KEY (r_eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY problem ADD CONSTRAINT c_problem_3 FOREIGN KEY (cause_eventid) REFERENCES events (eventid);
ALTER TABLE ONLY problem_tag ADD CONSTRAINT c_problem_tag_1 FOREIGN KEY (eventid) REFERENCES problem (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY tag_filter ADD CONSTRAINT c_tag_filter_1 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY tag_filter ADD CONSTRAINT c_tag_filter_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY event_recovery ADD CONSTRAINT c_event_recovery_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY event_recovery ADD CONSTRAINT c_event_recovery_2 FOREIGN KEY (r_eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY event_recovery ADD CONSTRAINT c_event_recovery_3 FOREIGN KEY (c_eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_condition ADD CONSTRAINT c_corr_condition_1 FOREIGN KEY (correlationid) REFERENCES correlation (correlationid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_condition_tag ADD CONSTRAINT c_corr_condition_tag_1 FOREIGN KEY (corr_conditionid) REFERENCES corr_condition (corr_conditionid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_condition_group ADD CONSTRAINT c_corr_condition_group_1 FOREIGN KEY (corr_conditionid) REFERENCES corr_condition (corr_conditionid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_condition_group ADD CONSTRAINT c_corr_condition_group_2 FOREIGN KEY (groupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY corr_condition_tagpair ADD CONSTRAINT c_corr_condition_tagpair_1 FOREIGN KEY (corr_conditionid) REFERENCES corr_condition (corr_conditionid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_condition_tagvalue ADD CONSTRAINT c_corr_condition_tagvalue_1 FOREIGN KEY (corr_conditionid) REFERENCES corr_condition (corr_conditionid) ON DELETE CASCADE;
ALTER TABLE ONLY corr_operation ADD CONSTRAINT c_corr_operation_1 FOREIGN KEY (correlationid) REFERENCES correlation (correlationid) ON DELETE CASCADE;
ALTER TABLE ONLY task ADD CONSTRAINT c_task_1 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid) ON DELETE CASCADE;
ALTER TABLE ONLY task_close_problem ADD CONSTRAINT c_task_close_problem_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY item_preproc ADD CONSTRAINT c_item_preproc_1 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY task_remote_command ADD CONSTRAINT c_task_remote_command_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY task_remote_command_result ADD CONSTRAINT c_task_remote_command_result_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY task_data ADD CONSTRAINT c_task_data_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY task_result ADD CONSTRAINT c_task_result_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY task_acknowledge ADD CONSTRAINT c_task_acknowledge_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_shape ADD CONSTRAINT c_sysmap_shape_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_element_trigger ADD CONSTRAINT c_sysmap_element_trigger_1 FOREIGN KEY (selementid) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmap_element_trigger ADD CONSTRAINT c_sysmap_element_trigger_2 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE;
ALTER TABLE ONLY httptest_field ADD CONSTRAINT c_httptest_field_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid);
ALTER TABLE ONLY httpstep_field ADD CONSTRAINT c_httpstep_field_1 FOREIGN KEY (httpstepid) REFERENCES httpstep (httpstepid);
ALTER TABLE ONLY dashboard ADD CONSTRAINT c_dashboard_1 FOREIGN KEY (userid) REFERENCES users (userid);
ALTER TABLE ONLY dashboard ADD CONSTRAINT c_dashboard_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY dashboard_user ADD CONSTRAINT c_dashboard_user_1 FOREIGN KEY (dashboardid) REFERENCES dashboard (dashboardid) ON DELETE CASCADE;
ALTER TABLE ONLY dashboard_user ADD CONSTRAINT c_dashboard_user_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY dashboard_usrgrp ADD CONSTRAINT c_dashboard_usrgrp_1 FOREIGN KEY (dashboardid) REFERENCES dashboard (dashboardid) ON DELETE CASCADE;
ALTER TABLE ONLY dashboard_usrgrp ADD CONSTRAINT c_dashboard_usrgrp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY dashboard_page ADD CONSTRAINT c_dashboard_page_1 FOREIGN KEY (dashboardid) REFERENCES dashboard (dashboardid) ON DELETE CASCADE;
ALTER TABLE ONLY widget ADD CONSTRAINT c_widget_1 FOREIGN KEY (dashboard_pageid) REFERENCES dashboard_page (dashboard_pageid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_1 FOREIGN KEY (widgetid) REFERENCES widget (widgetid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_2 FOREIGN KEY (value_groupid) REFERENCES hstgrp (groupid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_3 FOREIGN KEY (value_hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_4 FOREIGN KEY (value_itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_5 FOREIGN KEY (value_graphid) REFERENCES graphs (graphid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_6 FOREIGN KEY (value_sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_7 FOREIGN KEY (value_serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_8 FOREIGN KEY (value_slaid) REFERENCES sla (slaid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_9 FOREIGN KEY (value_userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_10 FOREIGN KEY (value_actionid) REFERENCES actions (actionid) ON DELETE CASCADE;
ALTER TABLE ONLY widget_field ADD CONSTRAINT c_widget_field_11 FOREIGN KEY (value_mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY task_check_now ADD CONSTRAINT c_task_check_now_1 FOREIGN KEY (taskid) REFERENCES task (taskid) ON DELETE CASCADE;
ALTER TABLE ONLY event_suppress ADD CONSTRAINT c_event_suppress_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY event_suppress ADD CONSTRAINT c_event_suppress_2 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE;
ALTER TABLE ONLY event_suppress ADD CONSTRAINT c_event_suppress_3 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY maintenance_tag ADD CONSTRAINT c_maintenance_tag_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_macro_path ADD CONSTRAINT c_lld_macro_path_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY host_tag ADD CONSTRAINT c_host_tag_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY interface_snmp ADD CONSTRAINT c_interface_snmp_1 FOREIGN KEY (interfaceid) REFERENCES interface (interfaceid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override ADD CONSTRAINT c_lld_override_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_condition ADD CONSTRAINT c_lld_override_condition_1 FOREIGN KEY (lld_overrideid) REFERENCES lld_override (lld_overrideid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_operation ADD CONSTRAINT c_lld_override_operation_1 FOREIGN KEY (lld_overrideid) REFERENCES lld_override (lld_overrideid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_opstatus ADD CONSTRAINT c_lld_override_opstatus_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_opdiscover ADD CONSTRAINT c_lld_override_opdiscover_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_opperiod ADD CONSTRAINT c_lld_override_opperiod_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_ophistory ADD CONSTRAINT c_lld_override_ophistory_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_optrends ADD CONSTRAINT c_lld_override_optrends_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_opseverity ADD CONSTRAINT c_lld_override_opseverity_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_optag ADD CONSTRAINT c_lld_override_optag_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_optemplate ADD CONSTRAINT c_lld_override_optemplate_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY lld_override_optemplate ADD CONSTRAINT c_lld_override_optemplate_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid);
ALTER TABLE ONLY lld_override_opinventory ADD CONSTRAINT c_lld_override_opinventory_1 FOREIGN KEY (lld_override_operationid) REFERENCES lld_override_operation (lld_override_operationid) ON DELETE CASCADE;
ALTER TABLE ONLY item_parameter ADD CONSTRAINT c_item_parameter_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
ALTER TABLE ONLY role_rule ADD CONSTRAINT c_role_rule_1 FOREIGN KEY (roleid) REFERENCES role (roleid) ON DELETE CASCADE;
ALTER TABLE ONLY role_rule ADD CONSTRAINT c_role_rule_2 FOREIGN KEY (value_moduleid) REFERENCES module (moduleid) ON DELETE CASCADE;
ALTER TABLE ONLY role_rule ADD CONSTRAINT c_role_rule_3 FOREIGN KEY (value_serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY token ADD CONSTRAINT c_token_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY token ADD CONSTRAINT c_token_2 FOREIGN KEY (creator_userid) REFERENCES users (userid);
ALTER TABLE ONLY item_tag ADD CONSTRAINT c_item_tag_1 FOREIGN KEY (itemid) REFERENCES items (itemid);
ALTER TABLE ONLY httptest_tag ADD CONSTRAINT c_httptest_tag_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid) ON DELETE CASCADE;
ALTER TABLE ONLY sysmaps_element_tag ADD CONSTRAINT c_sysmaps_element_tag_1 FOREIGN KEY (selementid) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE;
ALTER TABLE ONLY report ADD CONSTRAINT c_report_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY report ADD CONSTRAINT c_report_2 FOREIGN KEY (dashboardid) REFERENCES dashboard (dashboardid) ON DELETE CASCADE;
ALTER TABLE ONLY report_param ADD CONSTRAINT c_report_param_1 FOREIGN KEY (reportid) REFERENCES report (reportid) ON DELETE CASCADE;
ALTER TABLE ONLY report_user ADD CONSTRAINT c_report_user_1 FOREIGN KEY (reportid) REFERENCES report (reportid) ON DELETE CASCADE;
ALTER TABLE ONLY report_user ADD CONSTRAINT c_report_user_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY report_user ADD CONSTRAINT c_report_user_3 FOREIGN KEY (access_userid) REFERENCES users (userid);
ALTER TABLE ONLY report_usrgrp ADD CONSTRAINT c_report_usrgrp_1 FOREIGN KEY (reportid) REFERENCES report (reportid) ON DELETE CASCADE;
ALTER TABLE ONLY report_usrgrp ADD CONSTRAINT c_report_usrgrp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY report_usrgrp ADD CONSTRAINT c_report_usrgrp_3 FOREIGN KEY (access_userid) REFERENCES users (userid);
ALTER TABLE ONLY service_problem_tag ADD CONSTRAINT c_service_problem_tag_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY service_problem ADD CONSTRAINT c_service_problem_1 FOREIGN KEY (eventid) REFERENCES problem (eventid) ON DELETE CASCADE;
ALTER TABLE ONLY service_problem ADD CONSTRAINT c_service_problem_2 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY service_tag ADD CONSTRAINT c_service_tag_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY service_status_rule ADD CONSTRAINT c_service_status_rule_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE;
ALTER TABLE ONLY sla_schedule ADD CONSTRAINT c_sla_schedule_1 FOREIGN KEY (slaid) REFERENCES sla (slaid) ON DELETE CASCADE;
ALTER TABLE ONLY sla_excluded_downtime ADD CONSTRAINT c_sla_excluded_downtime_1 FOREIGN KEY (slaid) REFERENCES sla (slaid) ON DELETE CASCADE;
ALTER TABLE ONLY sla_service_tag ADD CONSTRAINT c_sla_service_tag_1 FOREIGN KEY (slaid) REFERENCES sla (slaid) ON DELETE CASCADE;
ALTER TABLE ONLY host_rtdata ADD CONSTRAINT c_host_rtdata_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_ldap ADD CONSTRAINT c_userdirectory_ldap_1 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_saml ADD CONSTRAINT c_userdirectory_saml_1 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_media ADD CONSTRAINT c_userdirectory_media_1 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_media ADD CONSTRAINT c_userdirectory_media_2 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_usrgrp ADD CONSTRAINT c_userdirectory_usrgrp_1 FOREIGN KEY (userdirectory_idpgroupid) REFERENCES userdirectory_idpgroup (userdirectory_idpgroupid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_usrgrp ADD CONSTRAINT c_userdirectory_usrgrp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_idpgroup ADD CONSTRAINT c_userdirectory_idpgroup_1 FOREIGN KEY (userdirectoryid) REFERENCES userdirectory (userdirectoryid) ON DELETE CASCADE;
ALTER TABLE ONLY userdirectory_idpgroup ADD CONSTRAINT c_userdirectory_idpgroup_2 FOREIGN KEY (roleid) REFERENCES role (roleid) ON DELETE CASCADE;
ALTER TABLE ONLY user_scim_group ADD CONSTRAINT c_user_scim_group_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY user_scim_group ADD CONSTRAINT c_user_scim_group_2 FOREIGN KEY (scim_groupid) REFERENCES scim_group (scim_groupid) ON DELETE CASCADE;
ALTER TABLE ONLY connector_tag ADD CONSTRAINT c_connector_tag_1 FOREIGN KEY (connectorid) REFERENCES connector (connectorid);
ALTER TABLE ONLY proxy ADD CONSTRAINT c_proxy_1 FOREIGN KEY (proxy_groupid) REFERENCES proxy_group (proxy_groupid);
ALTER TABLE ONLY proxy_rtdata ADD CONSTRAINT c_proxy_rtdata_1 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid) ON DELETE CASCADE;
ALTER TABLE ONLY proxy_group_rtdata ADD CONSTRAINT c_proxy_group_rtdata_1 FOREIGN KEY (proxy_groupid) REFERENCES proxy_group (proxy_groupid) ON DELETE CASCADE;
ALTER TABLE ONLY host_proxy ADD CONSTRAINT c_host_proxy_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid);
ALTER TABLE ONLY host_proxy ADD CONSTRAINT c_host_proxy_2 FOREIGN KEY (proxyid) REFERENCES proxy (proxyid);
ALTER TABLE ONLY mfa_totp_secret ADD CONSTRAINT c_mfa_totp_secret_1 FOREIGN KEY (mfaid) REFERENCES mfa (mfaid) ON DELETE CASCADE;
ALTER TABLE ONLY mfa_totp_secret ADD CONSTRAINT c_mfa_totp_secret_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE;
ALTER TABLE ONLY settings ADD CONSTRAINT c_settings_2 FOREIGN KEY (value_usrgrpid) REFERENCES usrgrp (usrgrpid);
ALTER TABLE ONLY settings ADD CONSTRAINT c_settings_3 FOREIGN KEY (value_hostgroupid) REFERENCES hstgrp (groupid);
ALTER TABLE ONLY settings ADD CONSTRAINT c_settings_4 FOREIGN KEY (value_userdirectoryid) REFERENCES userdirectory (userdirectoryid);
ALTER TABLE ONLY settings ADD CONSTRAINT c_settings_5 FOREIGN KEY (value_mfaid) REFERENCES mfa (mfaid);
ALTER TABLE ONLY lld_macro_export ADD CONSTRAINT c_lld_macro_export_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE;
INSERT INTO images (imageid,imagetype,name,image) VALUES (1,1,'Cloud_(128)',decode('89504E470D0A1A0A0000000D494844520000008000000044080600000049473D690000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000130B4944415478DAED9D095C9357B6C0BFD6E7585FFB7C9DE9D8BE71AC4F2B90208EB6DAE9E8D4D73AAF4A36709916B58B1DEDB46EAD9DF6F5D7AAD5B6501F8E2BB8B405C55D2B5664114101954DF645F61D091076C2BEAF77EE395F022124102109A0DFFDFDAEC48404B8E77FCF39F79C73EF650821CC58E8B43DA6D21F67185B2DBDCFF7611F2B7FE3888CEBD8103A08D6661CB378F1BF31F3E78F672C6C7EC598882630D3173FC14CB599881D1EC373F0DAFC0DE3F17BA1C3FB54C0E0843E0600E89DE55478207010EC7CEB7FA75F27317F90FC9A31B3FE2D337BD9738CB9E0778C99D5EF19DEB229F8189E83D72C04BF615E58F29FF4F9FF50BC6F027E0E07C3E806A047F03654503093A750E181204D4493999996CF33330526CC2C8105334BF412632AFE13C313BDCA9849FE073B5FF2670AC32BF81A5FFC070A029F3EFF027DEF54FADE6799E92B9E66E6583E8930A066E040183500F4AA7A85E04150308B6176F3C5668C89601EC317BD4E856EC5988956D3E7D63D39EFCD8FADB7DA1FFCCEE9EAB583176F06EE7272F3DCF8FF275DD66C3B7CC0E68B43767F59FFEDA7E3CC25627C1F5F321F8198B9FC79D410A049C064F4688547178451227C3A1B411860CB51C553C19B4ACC7156F351E8EF0B377C47E51C99169490D3189626ED0A4DCD27C1C9527227F13EB995904BFCE2B3896F6C16B91E9D49BC22D3897B781AF92534A5E3B45F74E9B72E5EBE6BB61FFDE6D905EF09E867CF45CD00E602B4CBD485135535020780D185AF98F560AF412830E3F9560B199E78F9A497DFFA78CF698F80B094BCC6F8DC62129B5D44A232652432A3107B443AFD9A098F652482FE3F2CBD8020182952729B82E11B9345AE52102E0527910B8189E4947F6CEB76270FEF397FFDBF77E8E7BF8C2665C61BCFE1CF06D3A0D0061C00C6123ECC3C50C5D3E8ACB7B09E4685F012158C90E149FEEE78D12738495ADA99925F4612F34A49C2FD129290574212EFB38FEFE5961080222E87ED00470CEDD15932124D2151820260DC4D9592807BB9E46A582A391D104F5C6EC6757F7FEE46F4920DDF6FA666E545FCD9A0794003A136601E196D30B2C28701E7AF7C066722A87B9E78D527F6C7CFA4E497B665165592F4C20A929A5F4E520BCA494A3EF432922C2D23491408806228300427E7118FF05472C22F8EFCE41B4DB63B7B063CB3E0ED37585F833A9BE07FA06FF06898849113FE145C9E4D46E78C27FA5F2AFCF55EC1B16979A5D524A7A48A6451003265952443C682003DAD407F3084A51510B7BBA9E487EB5164FF95900AC1E63D9F30E692D9B89C04930066E9118060046CBE42F8B0343311CDA25EBAE5E4056B3E8DCBCA971754D4120020970200106417CB2908F2416100105461481808862C168628050C601A9C7CA3BB1D3DC3BBB61EFEC575FCEC652FE3D211560A08817673A029EA38D6A290C677F840ED2B854FEDBDE587BB76E79654B616C9EB487E790D9196D590BCB26A72BF147A955160006D004EA2836738D971C23B64BC85F51F11020C24F59A83FEA168701A15114A4DBD37F0346A630EC6153E387CB00E37B3E4337C6B4BC107DFED2EAEAAEB2CAD6A20B2CA5A524835006801008185A1BA07865C250C1484FE302840E80343994E30C466F7C2E0169682107CE5E4758B31B79EC7F0964E612C163F85A165F55034C611A82683D7D955C4245C56B281AB49F81CF813F07DF0FDA334F8642C001EC7417871C5D3E8F0519BFFFBD7FEF699ACB2A6ADA2B69194543790E2AA7A025A40565937A2305C096521F8ECD8554FC64C30177D02102806A76C9EC28822869BC5FF85D149BE703A7D7D263A913C218F851B1DCA99B8BA80F7F3DF780681500B3E3D120020F1F047A363450784277A759CB9D50719D25279557D3329AF692465350DA4944250525D4F4A2808230DC3E590648460CBC19FCF60E088673D0385CDB39C814EAB055D3AF2850B19BED562F061A8F32881B805632AF9EBC4D96FDAFC6AF6F215F47D62746ECD450BD8D0B44AF069FABA27464BF0C938AA1F55259D31E682798C99704D6074725A4D630BA9AA6B2695754D04B44039744D30C8B5C3205587A1A43F0C99DA60505D49F481818240FBF93B09DD0E1E619D7F5AFBF53F189EE42F7446BFCE988B97D2DF7FE5132F2E5F27DA68B7FB8B03E72EEE3D7BCDFFB84750EC25FFA8EC6B61C9A5FE3119353E91A972F79084E28B01D139872F07DCF9D0EEF8BE05EF7DF96E4FF069CECA677B571A23AB0D0C0C00251C53B482DFB0A15DB1D5E1F35E1EF5CDADA4960250DDD04C400B4097531046130CB13945E4E8B5C86EDBF3FE258F9B2FFB7CC2DC159FAFFAE280B393DBADD8E07BD9B589F7CB1096B89C12F421942B8B88F402EA54C232339F84A648315CED1393D97A3928A1F2F0D5C0709B6D0EFF60834F4BA6A14904B360337210187EBD0F76D35CFCDFB4BF46BDEBCDB50DCD1D0DCD6DA4AE8942D0D48220D4A8C020AF6FD20043432F0C55C683C19F2E11C1141CBA7CBB2C3829BB2109A292D45C284D05085E7D69C986A6D9A05338C25080308450107C63B23ACF06C4CAEDCFDDB8B1E8FD9D2B59DF81FA07908F18214D60D8D9CF16694C66EDA878D5B5C098D8E6D676D2D8D2461AA05310401B0C07866235180AB5C150DA0B43CE60301454A0BF00305CB893488E5C8B2431D44954371308825AC049230CE9BD3004A7E4915F42929A7FF00E2B5CBDE3C856C6DCCA14A3A1305623008161673F2E87A8036526593279C1DBDB9A5ADBBA9ADBDA49735B0701109AC6000C206047AF08CC2E0EE4333C280C1EE1A9AD3F7A47547F607FDA16210033890929E33A86864BEF02D16CC0070A34DE8948C8C86AEFE824ADB4B7C1D7F60ED20220E800038050D330300C004259B53A0C751A60A8E91370CA530B38F5C250893040C009B289103256E625D47D86445518D03CE806C3F5A88C8E63DE110D1BF79EDF83130556081616187D1CE300D0D90F5E2EAC91CD846F3CFFFADFBE6E696DEBE8EAEA269D5D5DA4A3B38BB4D3DE36466000D50DBE00A499330AFB9B89E1C0E01591D6E2E819DE24DA7AE01DAC838078039B917C6CAC02C0067DC0AEC1FA97DAFE83A7DDFD88A2757713D245FF194B306417571127DF18723128B18F66D0170CA7FDA2EBFE7939B068AAE5FA5730C884FE80EDE3631400EAC840B2078B35B1666F4B96B4A8826868DD00423780A00186F68161A85785A151330C953AC050A40603F80B05E5FD61806A23F00552F22B502BF49809993A0C1A329652CD194B250C008183C7DDDAED2ED7BDD11480EF841143C36B01C3397F33979930A60289F0C35D47890E6DB4C39040850666001C38F524953E60084EBEDF79C823AC7DE1DA9D42B68895D5028686C030EA1F133E74E9479D3F77FFB038F2804D230C3D264215061684BE30B492FAA6BE300008C38501840D00F8DFCBD1EA330C1786A31E772BBE74F2BA8A5A007C28C6F0BE80FEAB7AE72BD43F96694BB6149656D6906134A3C2A0127DD404C331EF48E21E91A6D14C684A5F67EB90BE562D6C094EC9EB3CE87EB7C56CF9C78B14D5CB130CBD22D0DFAE1DB059A0B6A0B60ED6B56622D19445EFDA758304F5D4461A865301F1E4ECED7B83FA0CC381C1D13DB472E3FE0B7BB11E017C293AB6A30A800177ED40D40F967EB360D386E4BD75DB1DAE100335551800049D6150F1170683014050850152C5A005FA642CE5DA3296432B6C710D4EACDF71D2270827118CA981978443133CD879A8EC51EEDA015A71D60BE632A6E2D760E947EDFF8EA317BCEF11233463C17083AE04C00F8099CF6A867ABDC300758BFBDD426A581F8A2EA5156569230A409FFA7D98EDA0E6A15A86A5F425143A6CE0A04EDF0CC1C69D82CDBBCF7DB6FF6C4C607C6613FC71B03E868100C18C6518C2D2F31100107E7F33A11F180004FA33DA177D606B83C52430D154762FE9BBEE50B7598F25DC0B2762FA123662425104143A9809C5A0EA459BED8FFCE01E9CEDEC13D50603A4AD1FA5EA136AF3210002836750107480A1450D86C696816100411DA17F837AFABA425BFA7A88852D4E3E918DAB76FEB4AB273CACDCDCAADAB5EC7E7E5020068FE9C3AC87BA37589BC28C874D997C2BEBDFBDBE76EBFE4BFEC9CEBED1ED8E5EE1E4E7A024DCA205CB1AF8C3D9A40F3BA8E084C10002E1212952E21A928C193617BF38B47D06D70A7A84E1ECED84DE245543B3416038773BBE6DD5CE1F1D189E700E4E384819C3E61928475376B66AF929D4C8C3A83B1C5CE5C30FC2A81EFD65A0FC89275EFF9DB37BE0F19BB15DC7BCA34860521E0EC8833618708887D3CF417860E08CE22F2861500B38B5AB86A2078001006643D17DCD843E61002DF9CE37CE17218B8A5554B3AC2D181381A28B66298A6BCCB0CC0C4AD5A0DA0AB289103B0093A12C62D50104ED331FD40E66A7ACA75155FF4728855AF1C93F0F5F0A8C6F74BA1183B16C18ACE1369891A0053C23D3D10932661B0A0C25F2867E9AA11F0CC3AC72BA169549B6EC3B1F4E27DB262AE8B7D1A9860E3BA3F1B1E82DAC41A44B6DAC4B04AD0C9B5A0008800134042C2175D8E1A4D9E6C3CC07E163250FD87AC99A6D475C6F9EA0B31552A3B54398F1BA34185008F38E441BAE66D0270C3ED199C4F6A477E17B5F395CDF7BD233F897808854BFC8E4FC5BD1A98577E2D28B82E2338A3C83E2329CDD0242761DBBE4BAFC63FBEFD96DF342019E9100DA4159CD3C48C999F60ADED954B5A0BD17BFBDEFECF5D093FE71C42F3E0707E4616FDA3296EA3018AAB0C53534191DE507296C894ECFAF7176BB1528D96CB78B9A08096A6D7022C17F58D8B3E9F531AD00F409E5023D607BA8BAB175BE7AEB1C757C40E5EB2FA6C7C130100CA069C1611E6A95D3E580C858BE78D326340F78300675E041AE1A20E85FC10BC4282A783FB273BEF43355F9700803D78C0343694D3D39EC1581DA6038256FA9D2D2E66F7F703D858EBB05751C2160A71253E803404F150F2C2BC0E93315BFF682E586AFDC4253BAC123059BC735DD60186E610B04845C6EC6E9ADB0658F8BFB4576F526E4A9D61DAA03C0CE7EC84061158FC4E6AC6F84F4CADD54FC50AE190F86D89C625C11E9ABCA896A84EEDDC7DD4E43593E3AF5E0DFA998825EDBFF9CE593B8A6A4B3FFCF6B77D87B4566D0757A11275D7D642C752C6C01184253A5981AD667C91B85A073F1BAED9FE086149562935E0030950B615EAA26E8FAD2F54E5C091CB604BF28D78C0B03049A40F0FAAE72BA161C170905BA98AD552936E955FFE02450CFDF6A8BBDEDCDB86CAC58E59AF161C8A23E80214ADEA836E8126DB0DD8A0123F005D82CE363ACF70FDE212679848B76FDE8E60E317D884A71CD883028FC05082E19AAB0E594E79DAB18DBC168A1B2E610A244508B8E513FC9928BFE51E9B07DA9ED1108F88C7618F45DE5E41791188B3B9DC1D79BCF561BB100B0275CCC84F46E405C566D8AB48C93CC43084372AEAC983D86CF7A0666783144AC2CE336B7329DBE74DD6AD8B664E85C3DD71E0C067D15B694D734B463E10E9ED2A25C0EAA0060B565F72608F9C20771EDE183A1545ED7DC1F001513F0ECC2D52BE2738A3B4165706D1482304C18F28ACA2B31858C69631B850950730283EE65C92080C0B5B10F837AFA3A3557761F6301206B90399B26565906F244AFBA78DCF6CB2E96777343FCF0C1703D28C68F3D9277E914363184C5222A81A059A29736D9FD640F09097D54FB706D0461D090B1FC70D7919D180EC663EE7A02418A50305400F1C566E32C24CB127264551038E0DAC3034345756D155671BFD077C3496F32883DBC792A4403DFDF76681F64939AB95CC043D35CAEF89DA1F25D80A65E65CB59DF5DBD982F16584001686452762EC494BBBA397760ACB782E2F2C2711656D698EC834D3D2ABB8DFA9683B1972A4D0547C1D4F2A34F4BABEA3BAAE992B09B8360CCB6CECEAECE8FBE39B6136B04A1D46F8A3204ACA80720EA7BFBA72976F79A882CAD36DBED91D7357541108143604C0690BA0F9C7277C68BB37A4E1ED930BE5F4918D1749C3BA40DF962ABBF7FED78ACAEB1A51B82099C39185BEDA49BFFCFD4EB5F8AAA1F6A3D351C43A7F9842F0C0CE1A58C73293DD6EBB71F71AC6D686E6F6C6D33CA064FAE0DAFB5B4B6B5399CF53C81671B4381AF968250A26567107B851B648BF0A8733CE94BF8DCA277B7664A8B65AD7465C041307A5B5199BC64F966BB2FB1241C663E081FEDFE20FB0288A67BFC4013CC8493ADE907C1167033D1EAAF1DCEB994C96B6AB8A11E5DADB2BAAEDAC9F5C685A75E5CF526167D40BC1FCE1798AA7D5308197873A8725B38FD00581E42FC18A3489225B05B68CDE77BF7DD0C8D8B949555CAB9E11F99D6D6DED19E929D9F79F482F799897397AF42670F3692C2665EBC9760F093C8753B18029C07C81882738867FF52DF00CA8CA97FC0F044EFCE5BB9F5AB7D27DCCE5FF209F2F70D89890C8B4F4F49CE92DECFCA2B2ACCCC93D15E24E3FA50BBAC304B5A5498965B9017959499E277373EFCCA8D509FED87CE383EFDCAAAB5B80D0CCE63C45A3FEB6938EBD9DB4D74BA8B40F7B37F95973C0208104BC6EB52608B32C000B762286ECF60AF7A5D01B767B0BB5825365C1F4EB77A8B8EE99B38A6780A8B5040FB62F61C26E11CAA9D4DD853D9A8970F7E5BCFE5D8BA5D7EF9E08740B30524139032CC1FC039362AF7E7E025900086251F3D50D60B9DC5F52176183FBC5B1176F62C33C16B6B946702B04BBB49EC8D2C7D0F8820863825ACDFD170EC8510DA6FD0523DD182EB43EFCADBC8F09A99C51A4E0541553FA45345F5704EE00077E8A99F6BC3F5A175D531B5518CF330CE0552EDFF02DCA524A9371DC0180000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (2,1,'Cloud_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000D0806000000B36CAED00000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000021C4944415438CBAD92DB4B14511CC74F2A2122450F3D083D2CF8DE63F4120C11FE0783F8D67B10F66445D06C2F6D5941598A6B4B86CC2E66256E8CAD542666175BD3DA09476D6FCDDE9CBDCFEECEACB397F975CEC452C9AA90FB851F7338FCE6FBF95D0E0200B45320C4345114D37AE1D6E34EB3F9451BBE68DA2DBFAE477D6374E0CA3DC789A7B36EE91D1FD03FACFE04F6F5A2D2EF98E1FB869CC7F70D181873767FF3862B412903DE680A845002F8A0042BBE18D8B8F73233E83A8910DD7CB1FF51877970A27DB7CEEA544F1FFC22F80BD9421192B202B1741E4209190218F6C380C5C131BBA44DCE2F2B9FD64478B3B2AEDF665D8B16EBC4E13D016434D71ED82FE13354AA552896CA902F6A90C1B0C45F30414C827B238CBF71F0043661D91785EB63D31CF97F470059A8C974B675DCB520E83AFCA37205C3340C53FFC0564509C3B2E0DF4CC3462409339F85D2F901F6505D00459F6B7F3835C70BC15855CA168CD110D37AAAC1327915D238E2383F9ACA01D9977964AAB7ABA7AF0351544BAD1B632CA3DC025FDD5EF61E22D9250C53B512E4D42D88604838993360EB784F77598E25DEC872DF75D4E30D95611FD27171A42B75EB372C853B8BA464B00C3B8F21FBF4C7337241854689C0B47205140CB33A5E9D3696FBD6FD5D8406CB27C65486996B31963C34CE757D5DF3CB8D3096F38AFE727EC973C736796ADB33A59B7BAFDA4C96E127F4CD91673DFF15D6E7DD976FD88F90A9D47C7F0129D2E0172D250F240000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (3,1,'Cloud_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001A0806000000F135DFD70000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005794944415458C3D5980B4C935714C7AFA82C6CF335E6962C4E32401E4137591337F6C874A81B4F751B922D19C4647318936599899A4D863093395FC8700EE7467460419D30C74307CA43606AA55A942ACFB640A12D2DB4E551DAD2F6ECDCEFFB982D0222C3514F72494AF27DDFF99D73CFFF9C7B090090892EB46984EC74210151AE8417F138F10E798C90A8E9ECFFC9B4FFF2EE71FB30A187A2D049DFC859E8F002E215B6782E2F6A45CC8E435F7EB8FDE0A6159FC48712FFF045C427E26906EC21833C78C4791B67928088851BBE4AD9F267A548562CAC3754D4CA6C976A65507A530A85D7EA6D274A84863DFC6241F067BBDE2301EF3C4581A71C80717E41949BABDF9A25B9A5D7046299CA266EE9845A990A6E4A95206A56C0F5A60EB8D6D00E57EBE550764B0A5965A2C184F4FC32E21FEA4178BC99530B80CEBB2F8B7E45209628A42A2D4814DDD0D4D1050DED1AA86B53C3EDD64EB885303508730361844DED08238773C206D87BB2443AFBD5F7BD2904571F2E4CADD02DB67CF90CF6F7C4B6DA38A38F1FF17DD7B75C78BB49A9ED858EAE1E906BF4D0DAA9031907D38830F5720DDC41189A19164681301D508ED9D89D75A18178626DE0F6C3FAF1F5581EF35A5C525ADCEA8D8991AE2FAFF367B61AC24C3A0013312CC8ED07D2F76BF47DB6EE5E0368F4FDD0A9EB0365370BD386302D084333D37C0F8C0A6194701E6B233E2DE76AF289C2BFB38B058AB29AE6C12B775AE1925866FBBDEC86FEC0C9E2D297C2BF08A44A36B900F8C259BC0FDEE850770F184C66E81B30418FC108BABE01188251218C0261DA298C9A8351DAC3A811A6134E55D4323035123633C246769B5DA96B83AADBAD7024AFAA6D43E2D1F50F522FF78FFEE2C867F7FD9A9B69B3D9C062B58279D00246F320188C1C4CBF11B408D3D56300F598305D58D812A814CBE00ED6CB50664408731D61AA11468030074F97D67BACFCE8055A179301E082DBC7EFAF4A6113D8D9108C09610610A61F617A11463F1C46EB0843EBA54050CFC03462F1D3CCD0E2AF6DE1940C61AAC42DD66D69B9C768639C30C0BF1D165F32C33F729546AB37C328664598410B0763BA3F4C89A8196174D0823052252A998253323B9823F955F279BCF50BC7A34CF73A4EA5CD6BF53334F26FC6C4C7261DCDA990E0877A0D26B89F8D08637084B9823D424595AC9B533235A764CABBB25C545D670CFE74D7AA21791D0BC4CE798CB8EFEBB3C8A2D0A5DFFF56589C5D22D495DF9458695A69BA69B19D1736321F1B8F8D0643A3AEED1D004D0FA764F6B2CCC150F5DABC376337CAED73CCC23AC4C03EC9C8F93098BB91F75C396749C4A6B567CA840A1AA9D18CAA0F75E641CC6AE560CC16E659BA7A1046D7CF29D90830A9A72F36271CCE3A9D9C995FB4FF78DE1F1BBE49DD3A67590C6FF868C2FE098A72F3098D0BB980730D55998769168431238C11610C9899BE01B3A32C230C6D9054768737CC5A6987697B72C67EE2B5E6F9A1A6C72A0DCE2A99458256BA57FF2FB339C0A02CDBF5185A0B5D083252C3A42029FC023EF6A7F96C7D0404B8867FFE5D34CE2E569822C37271E831DDE8FC580DB351AE36CD0F8A0E64CF1E581C2959E732A84A38838DB76126FE94FD357388224BD7CECD29ADAEA40F3A9B8DD53033F2CA8FE3369A4DC88BAB9FD891CA4FA0E9726673906584D995766A2B5910E4C68ECADE21819276B57313D899C168B2BCF5F1B620747E3ADB03B0A2F905E567A9123C0A967EA6E817DA0FEEF6017A52C243C6C5CB35429379D0E6CCCE5FBC2CBA447CC23CE9CE711C25E8958857A4F79EF433FBEA24729595B64F2732B952A34D3CC4DFC99CAF715E1B7998A3D7250BC3E6D1E3A3C7DBB12B36271DDEF243C6D99F7FE4E7674EC54ACB2E3CF6EDE1ACA4E0D86DE1D4273AEE0CBFE1186594C6EE4CB7151DA0FC82DD99AE3715CB6F9D3B73FFC4DC2FED1CF1E0FF0FBF0B1FE0DCB2A0670000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (4,1,'Cloud_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000220806000000EF55DF8F0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000079B4944415468DEDD9A095053471CC6575BADDADA6AADF72D348906A9F5AC578BAD821082755AB463D5F198D17A745A75EA4C47456CB5965A19CF7A753C40E9082A15B1155144E5964308844302E4E20A8124842360B2DDFFBE2406884080AAF09F5932191EC9DBDF7EFBEDB7FB401863D4918D543784BCBB2327A7D7D194753D10D7B3277D85F7C8F335F2FBEE704D477F6F9BEFB7433B3E654A0FE4E8FC26B2731E8458BC71C8DE858BD80B1DE92BD7C51EB1DC87A389BCFE6884676F06C8CB07D1311FE24946D6DEF56DD2EC10C7F593355EC7F79DB9FEE0515044922C243A5D13783F4579212C417AF4CABDF8953B8FED422CFE34348E3F0AB13DFA22F47241B47FD441E28E64C4D9AEB30FFADDB81E9729AE4DCA95E34739729C902DA32D364B86A385121C919A87C905D82F3C49E713703BC96DD3FEB5442D23D18899BD61DA742A00749EC38D8F751BFDD9EA1FD73CCA2A5009250A9C2129C5E9E2122C2828C6A97945F8B1A80827E716E2C427004586E3B3A53836538AC39273F1853BC9F5DEE76FC6F59CF885235510F1884E01808EFC307E1F32BFD97BFEB87C245B5652272A2AC7B9854A9C232FC3D93205CE942AB0D008232D9F8191620546708CD07020F05ED1D0B9AB3E46939CFA9994C09829182618A7A975BC81B65DF664BEFB9EBF7E4EA650E9A50A359694AA70414905CE2F2EC74D61949A95610DC6ADA41C7C38384AF3C197DB9CD1B8F9EF90CF7E839A2918A683C760F27E04622F18468CF45D0A1ECCB683A64C1B00909118EB31D8F3DB5F36152AD5F5252A2D2EAEA8C485E51A2C2FD3E0E660643503E3BE201F1F088C2C1BECB4E25334DE653262F3E64D5EB275EDEA5DC77C769F080AF0B9107A75FDDE533FCFF4FC6171CF498B2650381444FB1461FBE883737378B324C54AB54A5B83CB2BABB152538D15EA2ADC6618050C8C5B893906EFB3A1F907FD4313C21284EA641131D21CE2195912DAA232C4F8DF47D93A3FB2A27CE7EBBF971AE818A75EED8160DBC5207DAE87FDF9E0F06BDA1A1D865659ADC3EAAA5A6C8251A6A96A0843F97C184F1AC31097E28B11A9382653625446A1799A24980C948088212B4A7094A07AFFC5B0FB0EEE9B1DDB03C196D1EF8E267DDEAFCFA4C56E8A0A754DDD533DD6D53FC535BA7A5C5D5BD70046853518E52618EA0630F2280CA5190674FE6A7406856152C663238CA44630220522C36F7FDD4DEFF7D15763204FFCBF0020B971168ED9E87DFC303696DE60C04FF57A4C61D43584A169050C991186B8118C73E1C95415541992D2666184C408AAB71C093A4DCDB30D2A68FD8520330E6FCAE57F1E24622BD59130202C41272D95912535C1808CD110C6E16BF7653357EC9E85B8DC9E1D0E80598FC9E8C312C47173CF9316A9710B658641A648AD1146951946AD7518155A5C648471375544E7B9D8DA349131308416301273E406AFB3376F3061CA361534BFA3A3A6E7F916599686928DCCF4E94BB6FC8A6D2C8051FFB4F5304A892A2046DF4911592843651546B6058CDF2F47A4D1AC60639AB4DE790822F6AE03911DCFA1FFF465BC4D3E17CEFB064688FDC213757FC766D211CA2537019D6A6D196C80212A56D27D03C0B054467330CEDC8C2D462C670EBD777372F46E313936CDF75C2732E2EEEF73176D5E7D32245A7EF5A1A00EE61B74186E4255C58C1644D9A087E9D4880C06DB54D11A1869647E030C2528435DD5228CE0E8F4DAE1F356B9D3D408DB6E78B55B3C884E0BF0AFE76CBF1B761E9C9418DDB64301D782A3D27570232D152C7D7033065B2958C2D05BC2A8A730400D26182AA33220703D0F06E483A5DB7C03F81BF77AADDF73D277C7E14B7FAED971F4A77E5397F2116BE13434DE6D341DDC4653E499EC217BDBBB4C3E16189E109D2136B4B543ED29F8CAC630AA8DCAA834C3A8B102A3124709C5540D00436254463E5146B654A1BF1D2790EF3D7DC58F820033777A96198C00D6F580357EABEF45FF8854D18BEF790B3074CDC1A86460C46749290C489FA00CB95119963002C3625306CD5AB90071160F302981497844FA43E62CE785C409EBE08B5EB56A0D0C81B8D80CC3A40C6B30A253730A07CE583E87990E748927E6306EFEA813C1910F60A3F2AA9781668CA6308A4867CDCAD03E5386C20A8CE3976F055093A42B05ACF5135CB837E3322AC07C3A53598751F74C19169B344B18F11922291ACF73A07D877573C08CA5331EA489B4B81357B3301AED5865A5AA5AC4769BCA6406F283E5F2CD9C7861BE1A77916A09469E5CA1A6872E1480710AC4A4E596E02E588D61D41018318FB332108BCF614E94C0041D9C47863E4C89EE6C1ED036187A7CED4E6C9069DFC02C83242E3AF237F0F30A153506DCB5AB42ADD53AAFF17247ECD97DE93248C3003CBB235171DFA9C0634A4D95FE65A4C01751244B18761EF2DF83D81EC34C274816CFF5F87D606938EA1FE24F1C13AEED529D27D15A1F101A7911367A8CF9311BA386677E908E8839CCFD7AFBFAEC8242B9A18B4821FD498168D9569F0DC8C1D58E3E57B0D815363DF8043A63DC86C03AB962FBC1EF8F5F0A0D0889888B4D118AC4458A724DA952A57DD55B81ACA42C2A2943107023F2BAD7117F2F34C1F5437ABE41834FC32DF1734E83883BC2236C16FF3DD824913F9E40830387370BB178735FE9C6769D0DA75734E9B19DC7D23E405F18C7EFD6EA33C126FFE84095E1D4AB5334B857186D7A08D2FCA9D07F630D43FEBD29775D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (5,1,'Cloud_(96)',decode('89504E470D0A1A0A0000000D494844520000006000000033080600000068820D610000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000D154944415478DAED9C0B5893E51EC0DFB0CBE9649E3A9DEAC4C9F2026C13B39432BB295D74B00147EBAC4CAD9E3AE9C93AA5873C7AB253E9732C2D05D3524951434BB110949BA2221707C81D06088C316EE33E068CEB06DB7BDEFFFB8DB1B18DEB80D0BDCFF3BA293E1FFBFEBFF77FFF7F431863345E9BAC9B98BDC50E21C124BA05BA4DFF0EFF8EEC7AFEDF787ED65193C1F8099D08D8C5E51634CDF57768CE923B9083FB14346DE95DE811FEDDE831F23AE3A53F2067D7C9E841C1EDE467B7219735B71840B9C906607882B743AEAE3753A183C0672EB90F71780F23961B0B39793C8A58BCC79123EF49F27E3EF9F95CE4C07546CE5E0EC8D9F32134DBEB7EF41081E3E2F97BE42CB8958131F1418C9DF0C1AC80E0E194CF5C3215B1798F20B69B2B62F35F9EB3EC23EFF7B71F3AECF3F3B99863E7920A8E4626157E1F7439757B4078D4A6EF4EFDB4D4FB9B4FEE7659CE434E6E4F5020D3090C96D79D54332638883138F5C464C089654EFC547AB2397CFEDC651F6CFAE97C626E625EA9FA6A413916E695E1B8DC521C9753826344527C315382CFA717E18894427C3A210F07C689B4FEE792E59FFB9F097579EDDF02728DD904823DBD2ED58889699A4659F8BA53EFE4F927E4C8E79013CF5DF8D6A75F5C4ACBAF1595D4E04C69154E9754E20C09BC32EFD38A2A71AA5886530A6538B9B0025F2DA8C049F9E514CCF9B4227C8A80381C95AEFDFAE4251177ED576BE975E1FAE02B26A0368CAEF0C15EB316DB836DBF95E3B532342E235F2C93E36BE57538AFB40EE796D5E29CD21A0C30B2A5D5388BECCCE22A1D10CB3062B34BF0AFC21C7C202259FBD991882B5317BDB588F88DBF50A70D3E660241183DE13391CD83C46E3F3BFF55EF4D79A5D5EDD26A051657CA7121815020ABC7F915F50C8CB20160149987114BB4E270549A6657507C93D7FADDFF442CCFE9D4240D12C26F01D4280020C2B727271FECBD236FE1DA2D07F696D6367697D53561698D0217130892AA065C44B61E4685218CDAA1C120FE2348780DFB862468DED976D4870098491DB40E82C1B6D3E71BF033C33D8EE1AD95854F6E026C3E87FB009CFCB55BF77F57A368D5CAE44A5C5EDF84010281814BC8EE1F46DD9061441187BD3B2441BB72CBC16D5413C01C419E010206270D3EC2593099C92FB87F44EC65F7D00DEF416B7AC25B9A04A23183615DD3C3443BF742B8F8C4ABEB37D634B674D734B6E22A8512573628B14CDE8C2BEA9B8D61D4580F46544611F60D4EE85EBE79DF26E2F0A751E74C37F10FA019B33C9D11C7731EE2B82F80034237BC77E43D86381E8E34AA8230190ED118F912EB091F3E309CAE595CE729F35E79B3BC46D12657B6E1FAE6365CDBD48A090C5CAD6819268C7A5318A5E66140A4E473FA8ACA89FFE17246D0FCE720ECB57F6EE5DBAF6FF2D9B9D1F7F8895D011197FC43E3B24E5C482E3A1A2E14ED0BBE2C24F9863FF7FD6DEFDE326FA90B9A41123FAA294C783B010010D3F3D453B7D353C7E1F2D37225C5CD6D1DB8B1A5032B5ADA7183B29D82A82320C602C6B1E84CCDE643A192FB9F5DF5C546DF63677E894E91A614947765145531BE43CC445309D7CA68FE114FF28F1851090EBE22521E894894ACF9DFE12DB7CE218922683368C328FA07EB9C7EA8D380AA9313B7EC832FBF6EED50E396F64EAC24BBB9AD1337B5F6C2E8D10A13180DD6830121ECDEB349F862BA582B32E33352C41049C998B09638F1440318B139521C1893D9FCEDE9D8AC85EF7CE6859C797F460F92C3354A9A609DD30F21276731B1A1BC574B2A6B1BDA3ABB707BA71AB791DDDAA122305458D9D60B836A85B5601010E66044A58BB15F648AB1992A3686912AB60C2332A540BD374458E1B1EEEB9514824E137E530098D34F220D505596FB33EBB61FF257757563B5BA0BC36B2779ED505986D16835180D263020B7D81B7A155FC92B35315359063020034F338251A187712153A2F936F84A9DDB873B0454C3A94FB0AE291A29003B1ABE39F16720969B202123AF58ABD5628D468BBB351ADCD5ADC16A02A23F18542B0C6128AD072338F11A942E18CD2837F519D90630328C60C8F43022530B543B4EC5C81EE6AE9E4BC3558175CB1D234FBAA076CFE6BB3871DFDDAC06891B2CB330D4E66128470AA3CE14069CF03D671389E06B8DCD94018C1C02839A281D8C4C3D8CDE1C23E0425AD32787C22369384B4D11B21B7700FAB81F922E369FBBFF447834EE675982D14160B4EB6050E76D04A363C4300E4424936CB9C2AC993284913B008C9DBFC6D6BAAEDEEA815C48786AC5A2DFC89C2F2D39783920366F85A4BC4A8E07B9CCC1E83480D16604A37360188D9661909014C7644B759AA1C0508F328221EB8541B5C2028C10614ECB7F0E8545E84AE0B78D0B00A3FE2D7C089AD2F35DEE7B7AC50622502D1EC63284A12630545686119C9087C3920B0C34A3714018F96660644B6B8816C4C9A92F8032074293C60C80BEC20926074E3D6489D02274F26423B6BBE7AA8DBB8E632BAC1E18542BAC04031A3B2763458C66C87B34A369401826155BB20F4624D52FFFAFDF4788FDE23D90F98F3A00BDE0E1B443040042A73515F7B988C57F9E245EAF11009B7D8E04678102F4F1C1235A70BDEE0161A88C61B49AC2809032203ACBD44CF585516B1E8661F9FC52A6A4EBE37DA77FD1D596AC6286FAB7F110E34369179A2AB405C87F7E12FBAFAFAFDF1510E8179A50B93F2C49FD7DD855ED1E9275FA8624E0DD6712F0CF31D934F6869B02B33262AD18210C48D802E372B0BCB91F9F31000C4935937DE792686A476074312DDC19565B611B8FD20C7A8CC6B29D87700BCAB530B1C0727F81CD7B6FFDBE90B81212556842487C0D31327C48B8797537135AC27BB82188A7C3530AF1C173A95485ADB5FA850191944A6D1606F4968D3463983000A64F505C3D9DDA0067DC53CE069304E3343D656DD00E7D9FA17F18E64F3EAD9D93F49BC39D07E585ED3F86251C8E4AD740B31C4ED6601708048A5ED159C534CCB4E6B20CA3CB040698128B66AA2F0C85218C6613187B42842DC889985E47DE42C4F15C408290A7A10A8066D1719A474944E8C4740249E63C88C90DF30D1510BE23EF4907B7D5EB8E5D4A6B0D12E6D19B198973851BB3A68F182E0C5A0A19120CA51E4605D97EE149EA05CB371C59B1D1C7FFE35D3F9ED8713838C2EFD78B718782A363D7EDF03FE8E0BE662D31D55E68162D83CFD6F98B29964ADBE6AB9A24B47CFC6FFFF23E199BAD8E1595D0C864A22C0886AD0FA385C280E42E305EC46885BCD96C974F52A5C0C2ECA28663E1F1C9DEDF1CDD4382942504C02C2A5733053DE3C1295019125ADE355FF0C6C998CC36E8B94EE46502A36F5D6A8830AE919CE05C9A98C2E8B79761D0728D4ACE95F2566FF1A69D38980464A227BB3E0074A6076C1787B7D8EFACB03422B570429DFC5185A1EB65F48CC5F468C6601B4B05E5B5AAB7377FBB950EA551C7EDACAFAAEAA21EE2B11F73BD0B7AA3AB3ED9FB3D4CA2C12FBD5E572F0CCD906040E31FC2D2BE9A31982E1F81D0B97CC3CE0DC4CA90A8F2993B0D2224F207A80589F56F9EB3D4ED6C525E3BD4D26F9445B3EF41C2803924739A31D896AB305B5C8AD81EAE34C8D1F516989A3E94174872B17EE771BFC854B1D543C6EB050664C70399A9812AB69B7C7FDC4E1339C81798F1175A6A9802E6E760687C1AD4BF6DCB3C0C803050976FA0966B8430F32A4499B49E46B3673AB844AB9A4F9F4BC95780BAD8D6207A19C36CB9661494C86812076129CD96E10F07F77B1F705DC54DBC56A6818BDB96F560F4EDF2553734AB9013FF251A921A0278E1EF9F0B520B2B6CD21F290C5DCBB5DD42CBB55AD1DC4101C0432650CCA300D82FDE73F36CAF67D2C4151D7001DBB21E8CBE2D5769655D3DC98E17D1491266FCB1D70987276489AEE7F87FBC601896CF53728A44F4512B186660262C7AC3509F80307F69955C6D13E1E8C080BAD4DEE361FB69271186D998305437DDC0F2B2BF7BFE4A5E91ACAE0348D996F557534B6B8BC34BEF7AD25E424F22867BE67B60DCC2C9E3D14FF71CDB57256F1E668BDDB6FAD104EDA7BE01DB69895A9F03E801E09B68310EC8B0DC5F8849CDCB8190C9B6ACB7422F279FA7CD9BE9B4AFAEEF27F7D6A50574EA61321DB275725F9A5B545E09E1934D1146BE246555D23BE62E73A30FA5D31284403FD2623A680BBD4DA22693E7BEFCBAB8BCBA1AE2D8EBA92C3DD62BAFA82CFFF93736AF4033B90E86CFAE61F32D499D438626336DA7B92FFD2532FE0289613536A730B4D5D0A4547EF5C3A9FD60D2E9280FD87D9A7819F786CD4F3C0304F85E06A0C6E12D6471D7FC23EC7272BCA2A9A5C526DAFE57A74AAD3A7F25FDD2D4456FBE861CB8F398E79705169F5FEE7FEE1F665F7A26E0E0592B36FFE5573EDCF6B97F50D499CB57B3D35373C48505D20A5959555DFD8DB6CB99D7DAB41C717ED079E1C52F0F04FEE0F1DE56EF491C2F3E4DB4584BA653734EFBC0839C8AC096C6110104A4CEE04466719DE95C0CA4D31CDE6262A6DC119BE701238A37D4E6F0F93015AE9B105C80586E73E81789C08907C14372CB9CFA7E47D9073F90DBF3DD3EA04EF00BA09C0ADA01E3E9347C251B7EF98DB0E9FD2EB6A79D2D3898200F70B0F6BA678DA9E007F760DFF0BEDD4AA07BDA1CA0C0280BD5921B701B8E26A2DE07BC873233FA7F8086396385BFB0100000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (6,1,'Crypto-router_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000790806000000F1A3291A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000033BA4944415478DAED5D07785BE5D53E92BC77BCF78EE378C4711CC7994D08653440080402348C42F9A18C104849986D082DA510282D7FA1A52DF42F7B43C3DE09213B8EED78EF29EF255BD61EFF7B3E4B89AC58B69CD834A1BE7EEE73A5AB3BE4EFBCDF7BDE73BEF35D49CC66334D2FFFBD8B641A00D300986E0507CB85175E38C36432796BB55AB34422D17CF9E5973DD300F8812F6BD7AE8DF3F2F272494F4F5FE6EFEFBF08ED130C1068F47ABD1A20A8FBE69B6F76F4F7F72B76EDDAD53C0D801FD072F3CD37FB8787875F1A1919796B7272724A7474B49FB7B737B9BABA120040434343A4542AA9B1B1512197CBAB7B7B7BBF3C7AF4E8EFDF7CF34DC53400CEF065F3E6CDF31213139F49484898879EEFE6E9E94952A994782B93C988DB080C2040A0D1680410CACACACCCDCDCD258383839BB66EDDFAE53400CED0E5AEBBEE9A171111F1FE82050B6266CE9C49A07DB15FA7D31D3B8641C080B06DABF6F676DAB76F1F7577770FAAD5EAEB1F7CF0C177A60170862D1B366C880F0B0BDBB574E9D2D894941472737323854241A0771A181820F87CB18F57E802F2F1F1115B2B1818041F7EF82103A41F20380B4C50380D80336459B76E9D4F666666FE92254B5266CD9A250C0AFF4EE5E5E5D4D2D2422E2E2E820DAC3AC0C3C383FCFCFC081A416CF9735E0A0A0A04130407071F361A8D2BEEBEFBEEA169009C010B28FBBED8D8D8DF2D5FBE5C1817FE9C3EF9E413EAECEC64C3EB61F42AF8FB43E8DD2A30800C7A60665C5CDCB28080005788450A0C0C14AE81F5C08E1D3B982D8C58CFBAEFBEFB764F03E0F4F7FB0130E077A0FE74EED14CF79F7DF619151515115C421F18E0AED2D2D28F010025C060D46AB512B805F76BAEB9E6A7F1F1F11B2116531904BEBEBE2242D8BD7B37F5F4F4B0ABF8064C70F10D37DC30380D80D378D9B87163D6ECD9B3F7E5E6E67A32951F397244F872F4723D8CBD116EE0F9929212DD098D2591C8CE3AEBACA4356BD67C9C8425343454B8828A8A0AE13EF05A8935EBCE3BEFAC9B06C069BA6CDBB6CD05D4FD97ECECEC1B43424248A552D17BEFBD277C7F5454D451B8817320EE3A1D36984422BDEDB6DB6E59B870E1FF227A90300BB0186C686810E21061E156B88187A701709A2EF7DF7F7F1084DD073939398B66CC98217CFF4B2FBD2480801EFD02DCC02DA3F57EDB0534EFBB65CB9683C9C9C9A9414141840880AAABABC96030B04BF80CBA600D2202CD34004E4FFF1F0F21F7C5A2458B9239BC2B2C2CA477DE7947A87D2CB77EFAE9A77F19B7D12412B77BEFBDF7D9B4B4B49F3300B8E73300E03E0891403544E532B8998EC9FEEE5B9FFE7B545B5B5BEED0802E4C6FD2B79256BDFFCD179EEE9A06C00416D0733CC2B83D080123B9C7EEDAB54B8838D0BFA6A6A66639C4DF412700C06EE081ACACAC8719000C24B95CCEF4CF19C35E4410F3110ED64FF677FFF08B9DFFA7D51BAEAB6968A646793BB5B6773DF6FEF37FB8771A001358EEB9E79E6450F811D0B72F87701CFA81F209EABE373F3F7F090C59E1CC75AEBCF2CA2BC022AF3300983DBABBBB45480816D0C20DE4C2D5144F0500CC24B9AEA1A58D2A6A1B48DED6390D80892E37DE78632EA87B0F7ABC2B67FD3EFAE82342CF2788FA0E44033F420858E5CC751042A69C7BEEB9472004BD3931C4A124A78FC100E6D6D6D6CB1F7FFCF177A60A008D02008DD4D2D6310D80892ED75F7FFD7218FB1B44001236DAE79F7F2E42383082BCB8B8780544618D33D7898989095CBF7E7D4974747404670C5908724E80DD0AAEF7CBEDDBB7FF61CA0000FA670668699D06C084976BAFBDF692F0F0F077D9687D7D7DB477EF5E82B062003443C82D473857EF2C00E006F2B18DE768C2D2FB454A198CF29B279F7CF2D7530580260B009AA70130F1E5B2CB2E7B06E1DEAD3CA8C300E05C3E67F1121313FB61C4E7DCDDDD7BA0EA8D6817130EE7F4AE09AFC57BEB7E7E0F637BA5A7A73F04571286A882D5BFE8FDBC4047FCE9A9A79EBA73CA00D0DA2E5C40B3BC7D1A00CE2E2B57AE3C0F06FC2D42B4F99CBC6100B06AAFADAD15E3FC30A430A0759067BC85E91EF44FD694309FCB2CC00347D000656092BF023CD5616161075E79E595BEC904007ABE6080A6690038B77099178CB30B4653E1FF55C25832182A06060A82EF9672EFE5A15F5E38A6771600EC46D8F81C05F0F99C07600030B340605621D41C848BF8CBC68D1B9F9F5400B40100358D0040DB34009C5956AD5A150D231D86C1C2D8C04CEB00419F46A3515992377C9891B74CF158F4FC06AF5D79C5F15C146A6D28B3052CBCE5C5CC6DC823866017F1062E460DC3A7598EBB75F3E6CD7F994C00B4B4750A064034300D0067960B2EB820DCD3D3F3087C7504276DE0E7C56A2DF6B07DCF2EC0DA266C40DECFBDDAFEF8D1CEE5F5E8D1A374E8D02115CEF5E2EB60BDF3C1071FFCD33400FEB30C10020014D902C07EEBC8A8636D47DBC7238BEFBFFFFE0098C6CF02A2CD5BB76E7D623201206FEF1422B0A1B9751A00CE2C5CDF0F0395C005449E8A719D39A7B8B8985E7BEDB55E183ED072FB077E87657201D02518601A00CE33801F18A00C822DEA648DED2C10B836E085175EE8020384586EBF6DFBF6ED0F4D26005A3B860150DF340D00A796D5AB577BC1B7570200D193D5EB1D7D56575747CF3CF34C1B1820C2A2017EF7F4D34F3F30F900680400E4D300709201601FF79AF1003019CCC0F5054F3CF1841CB78DB2DCFE89679F7D76F3E402A09B2AC10075D300706E59B76E9D4CAFD737F8F8F8449FAA8F1FEF184E2B3FF2C823CD68D7180B033CFDFCF3CF6F9C4C00B475760B06A86B6C990680B3CB9A356B9A008098C9E8ED639DC3C3C208FB9A4C2653ACE5D67FF9D7BFFE75EBE402A047688069004C60B9F8E28B1B0180D8A9A07FDBF79C05DCB2654B83D1688C17D922B3F9794405374E2600DABB860150DB300D80893040032281B8A9A47F5E797C61E3C68D0D7039F1965BBFF4F6DB6F5F3BF9006804009AA701300106A80700E22733E61FED334E2DDF72CB2DF51A8D2681EF0B57F0FA071F7C70D56402A0A3BB972A6A1AA8661A001302409D878747C2642781ECF7F1A8E04D37DD54AF56AB132C99C07777ECD8B176D201001750533F0D808900A006464A9A2AFAB76E79B9F1C61B1B542A95D5057C0806B8683201D02900D048D5F54DD300984032A81A064A9E8AE48FED96E70BFEFCE73F6F181A1AB202E03300E0FC4905404F9F6080EABA69004C04005530D2CCA9A47FEBF6861B6E68542A95711617F00D5CC0CAC904409700402355D5354E03600200A87075759D3515B46F7F0EBB004403D63070CF871F7EB8745201D0DB2F44E0340026068072D073EA54D2BF757BF3CD37D72B148A04CBAD0FC205E44D2600BA1900700195B5D300707AB9E8A28BCA0080D9531D06F21661605D7F7F7FA2E5D6850040F6A402A0AF5F948455D6364C03C0A97F120B0050824DDA54D33F6F376CD850D7D3D393687101651F7DF4518679121ADA0A809E3E8560800A66807F3C390D00EB525D5B1761329BCF339BCCDFA6A624D749AC959E443200A010DBF4C9AAFC196BBB71E3C67A00C0EA026AA0016633166C56B280C37CF2006864104C03A0BEB1C907FFC3A52693F96AB3D9B4125B99C96CE2C6DD6B329A5EAEAEA97AE7969B6E1ACACDCD3D84C3674F552998ED76D3A64D8D5D5D5D7196AFD87CE0C0813408509397979711C7984B4B4B4DB6807016085600F4F60F03A0B2A6E1B177FF1B01D02C6F75412F3F0F8686D1CDAB61742F9EC781AD28E8140030F196DF9B746AB5E6EB1DFF7E6F4E697171A4B5D073AAE89FB777DF7D77736767678CE5EB76161616CED36371717131AA542A038E31787A7A1ABDBDBD4D0083D1020293F30018181681FF6D00686D6BCF8351D9E857984CA610616C6174D3F12D1BDD640181DDE73C7FAFACB4842ACACAA8B3B383A62A2D7CCF3DF7B4B6B7B7475A68BEBFA8A8E847F8BE3A0080CBCD751E1E1E3A060483C1C7C747DFD0D0C0538A8CE3318115007D8A0121022B6AEA7FF800E8ECEA4E16463799D6639B3C6CD491C63D1108C300B0DF67FB9A6706D754575163433D69008CC90C07EFBDF75ED8BF3DDC0200554141C1B98840740C020B1078AB0518B43A9D4E1B1818A8ADA9A9611098C602C171000C5A442000F0B71F20007AFBFAD1BB4D570CFB7573DE084A37597AF9284070E0028EEF3F76BC656BB91EFCB5A9B1BE4ED2D1D12E7191C9C44C9F5301C2030F3CD0DEDADA2A00807BB58001AEC5FDF452A9940DAF67E3431368F1313F805ACD0FA36E6969D14D1400558802DEFEDBF61F0600060695ECC72F86B1D6E33BB17F773946E5CE18DF96FAC732BEED75ECCE359A8CE656B95C51515EA6AAAFAD6183B8A1B7BAB161613009A85B0A034B790B4127037DCBF8C9E2008C8C41C3F30D79FBDC73CF75CAE5F240B89C7740EF2FA2970FB1E1C1027ACBAC231DAEA961E30F0C0CA882828234136180FE81C16322F08C06804AAD96A1E1570EFB75132B799F137AF028867364FCF18060DD371620ACDAC160306AFA7A7BBE2D292EFEE6DDB7DF2CC53E7718901F2B27B658DDD0A3DD61447780C30306F50130BCF8354F2B6B6A6AFA02A1601DEE63C0717ACBD6808F0CEC02703D0DAFCC02C9C9C9FA9D3B773AAD01FA0794C744E0190900AD56370F46B91A8D7E251A3DC256B04DC448270840675DC088EB8D715DCB7E8341DFD3D7DBF7715151C1C7AFBDFC5239B79BC5BFF356C253C72CAF39E96436180C267E7228B6469E520EB018C002266CC57B16805A340218440BEAD73B23006D01A018540EE701AAEBCF1C00188DA63834EA7A4BBC3E7B5CCA1E8DFA9D7501A3E98271C064FF5D8EBF1EF9FD0C7A43F5A072F09DA28223EFBEF9DAAB722B10AC00E0054666639BE002C49641C15BD0BD993F03608CBEBEBE06D0BED159E38F0A0088C0B7FF7A7A036006D675687CF6EB4B4DDC5026278C358EDFB79E6B6B7CE5909AF8C109C9F1D1C4F378C76201675DC638403483CEF76A349AD7F30F1D7CF7B5975F54E0DA120B00D8E06C6C33E85EACBCDF9204B226804C134902D9026040392446033915FCD65F1F3BED00C065311762BD1AEB2A1652A631E8F6547A2D1F276FEBA06F0F1551615915E90D46CA4A4DA64BCE5F4E2E52A9D342F0F8F54E52589ACC5A93C9F8B1DE607825FFE0C18FFFF487EDB60F9A34DB6D4F2A0D7C02009801A0014E170030F297635D8FF532AC0136FFE8388D3A7116E079FC85E535B4FBC011AA6B6E23571719CD4D4BA145D919141E1A48358D2DB4FF482994BB8C1664A5516468B0839EECF8FEA3B2C628C61F05387D38F64D5CFB655C7BCF7557AD9BB41E6605C0A052254460F96900800C4B4FFF29D698D10E98508F1ACDEFDA189F7DDFDEFCA3B4FBD0515220140AF4F7A545F33261E4D924438FCF2FADA47DF925D4DEDD2BEE1D13194A7900405A721C69B47A727375199B059C7501A3E51446D722F5D8FF0AF6BF7CC3D557554E1A00862C00A8FECF0080E7BC5D65317CD67807DB3792A39E3F160B34C8DB69E7BEC374F86805218EA29484185A963B976627C7535FBF82BE3B5C4C078BCA48ADD5122772325213C106E9141E1C442DED1DB4BFA09C4AABEB29342880D69EF723F2F5F1764AFD9F7C0E6254301DC6FE97B0FFF59BAFBFA6F35400A014001816816F3CFBFD00801F76B0D662F415AC739CBDC1C4FCEA71E3EB8D063A72B492BEDA7788EA1AE5E4EEE6460BE6A6C3F07360C8195455D74CBB0F165249759D38DECFC78BF2F079EE9CD9E4E1E146251575B4AFA0849ADB3A2928C08FE6CF49A5AC59892405402A6A9BA8BEB915CC9040916181637E3F7B1670944D1C2F22B1B99E01E77E812D5C84F9FDDBFFE77AD58401A0521F13816F3CFBE8D40100B1EA8550AED7E0E56AAC1E13BDF8311F3901BA1D1818A29D07F2D1E3F389131E6CECE50BE7092A67A571A8A89CBE3D50486D5DDDE21E71D1E1B424279332521249ADD6D20130C1FE825262A194141B0950A45122B61A8D8E0A4AABE85071A5F88C470567C645D1B20573C8DFDB1BCC621052C63C6117E0FC60D428D75362FBAE452F7C75D7AD37999C01C01003000C505ED7F0D81B7F9E4200DCF5C0D6AA9F5D7985322B33EDA44A9A9CE921D686A96B6AA12F761FA48385659C92A5CC5949B462510EA526C6121740EC3A5020FCBF4A334CF373D367D2D2F973292A2C8878BAF477F8ACB0B44A18312B2D9916810D8266F85337CE65401CADA8219DDE409E1EEE94353B99B25393C014EE5451D748F925D5C4B4BA72D13C4A880E9B0417E04482CAE67A96D76DF8EC551CF3F2DD1B6E293C2D00B061CB0366A9444AC14181FB6FF9F9B551C14141311306C0188D658041F61796C2F007789A13797B7AD0D2DC2CF4F81C18CF4F0C797EB3F73015C1787C0D7F5F6F5A323F4BA87D366449551D046121D5C245F8FBF908A3E764A69287BB2B2201B91084D58808F8DCB0E019343F7316744302E9B43A3A82B0B1A0B40680D2D0CCF828441133291C1A41DEDE4D550D728A8F09A3A890A063C6740484F15C86338351A3B04629CE7B09DB57EFDBB4A1D91E002AB5C6321AD8F4D86B7F7E64EA0070C73D0F0A0048A412C2569B91366BDFFACB2FCD757373F39E90FFB7FB47FB0606E82BF4F62FF71C221ED8888908A3B397E6521E841B7FBE37BF58185EDE31FC28FC0450F8F2BC6C11E36B757A847825307C11F54000C64745D092DC4CF8F37832184C5400C3EEC3E73C7D8A693E35290EBA6016C5848752476F1F5C4805950238AC05E64013CC055B787B7850757D0BE5E3DC8EEE3E01C4CC94044A9F1927EEC761A6F8A9B8890AC1934872D91D8F434DBB865D84F9ED79D9D97F3A0E8046A101A614001BEFFD950D0024D84AC9452AEB38EFC767D52C5FBA68B1C4921377D6FFD7D437D1C73BF7C280C5A2117220D8CE81E16726C451674F2F7DBDE730845D010DE11F649AE7CFCF82FF8F8E80F1BA7A69E7FE23C2C71BE1AFB311F72F051B44C20528E0D3B9B7F3674C8F5E30604E460ACDCF48251F6F4FAA6E68A103702DF52D6D1400A6C8C9980503033046131557D60134D5D0052A0A0E0CA0B9B313291980EBEB1FA482F25AAA696A85C0F4A4F396E488EB9E54C2689CF0D63EC3690F04CBF5345E5EDEED6161E1F16EEE1E5409D7555E33C500B8F3BE5FDB32007A8144F42AF1B3AA1E1EA5EBD75D2A498C8F4B1B0B003A9D013DBA903EFA7A2F68BE89FC40E3672FCEA5B316CFA71988E34BABEAE98B6FF78B9ECB0DC10662D1C7FEDDDBD39DCAA076BF41085856DD403E5E9EB438670E62FF0CF19A9F98C94C50545ECD630D14111A440BC1222C08F95A85A0F8FD45A54243704E6001DC4312841F8BC0C310836C7CD605F151E1307C324587075313AEC9AEA109D103BB9C39B31284986C6AEDA4A338DEC3DD9DB20192007C367A786BE732266130CAFEDA12898C4CB0435B77FFCB7FDFBEED9AA91381F76F355B7BBE3D002C5B736848D0C1AB2F5F9B1410E01F3CA2A8A37F803E456FFFFCDB7DC4050CC9F1B174DEF285B4706E8608F1F61C2EA2CF76EDE767DE8BE33987BF72492ECD43CFD6198CE8D14761F87CE2B9F0319161C20564A7CD227E606771452D446121D535CB0533A581AE170314B191E1A4181C1459C0C3259582BE3909C411046B80D6CE6E3041397A4F135C8094D292E271CD6461CC2AB880C310913CEB868FCD8291E3E09AAAC01E45B85F3FA293200036038088C0E7E5082539D3188FEFE622939EE460D42414B798CDB5B80EBB8857B63FFCABEA4905C0A6071EB201C008C35BC0700C14EAA4F8D8BA75975C3C0BF1B5CB075FEE1606E6731643D49DFFA3859418174D9DF0AF9FEDDA2BFC3BD3BCAB8B0B62FB34B8813C8A8D0AA3AE9E7EE106BE3D5CC843C642ADAFC89B8773A34488B7B7A09876231AE801B8D84F739A97D9C0D7C78B1F9D4EBB0F1FA552F4527737572106E763F5F1F280719B11099489DECDE76543F065CD4E12DFBD180C7404510067D7E260CCECB424E10A588016C2050CC2A584C3E0CC04C1017E5452C3EABB994C601C7615B313A349A95693275709B9B94CEAC8A6A388698C34F4011CFF32279B9E7A745BF72903E0970F6E333BE8F9230060751383831A75A752EB865365E7AF58443F5EBA003ED88BFED9FA0F7A43F532B9BC97409EB5A182FACF466F5F01B5CF9F57D4B21B3828DC8087BB9BF0EDCB1192CDF0F5A14E08B79DFB8E0861A7D5E9282A3C8496E1F339B367E2BE0403D6D277078F52636BBB08FB3803C88A5EB880B21A1165301B85CC08A0DC2C8E02E248A3D60F4701F0FDEC025261440E2B7D3D3CE9280462110CCFE1660CEE95857031C017FB2B1B60F8266190997191608F38E80D1515617F3B80CDE058383785DC5D5C471A6B42F50D273D18657FBC01DB4F0518CCA61D7FDEFE3BF58401C0932A0000D34400C07F872B9B283B33DDB4707E92E1CBC01D6EEF05FE1F29838F8331B7FB2C7AC8FD098A312408B5FF39FC3FFF004244683040311F3E3C433CAFB7122AF76B3005C7EFCC249930C4B205D988D3C3057BEC2F2801CB148B2882133D9C0C9A191F237A320BBE43472B488D102F313A422483E2711E33C781A2721105F034EE4C6885B91626E0DECE54CF6E23292602204A222F4407456094B29A26D1C0B312A2291D86E7EB1654D4214AE9A1197EDE9481688159A2AB7700806C20230C330BA1655890DF382CE04CB430B112B751C03480F3DEB130C3CEE7FEF8B8694C005867D35C7EF9E5D2B8D44CC309D46F75093686B78D146ADB15949834935A02AAE98B8417CCDAD96D12BDF748004ACD320ADF9B45A1EFC2E747CC0153E40D8771E88DACE4BFDC7350503A0BBD25F3E788D5CF076CD0D323B2800761444E16658105964114868506527B678F48061D8521D11422919497359B4240E79C0E661750D5D02C94FC3C440873617CAD5E2FB4028B4116913CC6C09AC00DBEBDB00C8647ACCDCDC30C9181A841641371FDA6B62EF24374C1FBA2213CFB0695B846234459AFC841A442CFC446603F744377DF0034853F79BAB9394A008D5BDCE2B8C4CD717DE368C7FBF9F9F43EBEED57410E016031BE2427274786ADEBD917AC1972A6E7DB02A05F65A4196191D4E6DD404F856DA61F697E4233124CA6FC942FA5268971F83E0619A5372EA60D6E5B68B1CF5234601FEDDA5B84302F1F226E48E405380BC8E19A0C028B439E6FE006CAAAEBD12BDD85DF5F949D2942BCCAFA46313A585D3F6CDC5CF87D1E0FF0F47043F8D74C7BF22DE30133FC6801F6CF460FE6288041548AC882FFE3B499F1C26DC8C0609C0B28859FE7C10E3E760E3ED3E8D965D488A167D614AC07E210552887347019F50210AEF89E29095194848842A5D5E21A4DACD2C9CD45064609873B09E2D06862256E2759E86A7F3C97AC05F8FB89F194FB36DD211915006C7CEEF50505052EFEFEFE1EB8B8F7B9ABD7CA9D0580D54D706A40E6174A5D1EEDF4FBF0DBE9EC81B574A1E21A7A2EF67E92450F9917E9CF926C0AB997225D236877F777F4B4EE31AA88DF4FA13BB36855DDB5746ECE6221FAF8F777D848D68450587020FD68C15C010AB6DA11F4DC6F0F16204AE8A560F8FEC57001D9108DCC6F85F0EDFB1009F02C5A4E00E565A7C10891A0E83EDA0726A8802FE7E40EFB774E04B1A03B84EB95094048281D46CF8491F560A40218BEBA412E0698E620DA488E0D27B5560FC337504D63AB689394B808AC9122AFC002B15EDE4932B4476274182540DCF2EB16B88BEAC6769A11E04DB3E323C72F8639F56CA2B0898FB7B748790BFBC14EF7FF721400588DDFD5D5E58AD5CBD7D7D74FABD5069F77F1658746A3FE130160058965BF9B27F5FBE8695BC48D74DEC01574BEE22A7A34E2360AD7C7D2F5ED779A0CB35AE9CDB0BF4BE5896523524921A670BAB9EB5E72F92A5AE4FEB9F02135310E6C308F6625C68A240FFBFDEFF28BC467893151B42C17BE1FD4CDF4CCEE635F41A9386E56422C44591A446330F1D3B5F74044727A984526D37C36DC8756AFA58347AB442E82BF3F1B9D470C79C8F94869B5107DEEE83DBC7F16689D078C4AAA1005806DD86524432BCC4E8A054B11584A4E550004FBFFF8C81008C508AE29878855E07839E90D06C1049141FEE394B83936BEA3C8C13EFBC87DDA039190275C28DB4FD84532DC411FB87BE3A80090A6A7A7BB802ABC70E119106161D817030678D359EAB7D709433EEEF440CC75B44AB19ECE19B85C0020521F4FD7756FA6E7437F4BA6D001B33AB359A2753951A0FA57C4D24F77DF47E7E42CA2F09020E28722EDDC5F20C6FCD938C2F7E7CE11953E9C56FE0E2E80451F37CA1CB0C06244021C69F090EF1E08CDFA9676F285BB60F79009033345733EA0042E854BC73825CC61219F9F5F5A25E89B0B4CB8C7A725C508562B835BE05ECF868C8B0811A0F00298AA9BE438BE5988471E984A8350F4F274A77EE802DEDF3700A04687085048860BFF471AD3A90490932E80C32FCBDC47FEFE120B2BDB02E0C1CD779E08007E966E4B4B8BDBE0E0A09F9B9B5B1814729CD1684C3A7FCDE54F394BFDF6003002819B127F461729AEA3950397080044EB92E89A9E4DF45CC836EA97F5D006C543F475CEDF4CE50907A45C32E73AE4450B1B7E427778DD4DB1EE71D4D1FD097DB5A70DD142AFE8B91C212C9D9F290A3AF889D9CC1245A06837DC2B17826F6156BA68FCAAFA26DA8DD0B005C704F80F0F12A52727204218120C5102AA77E13232B800761B2C1A3917C08A5F943941DCCDC1CA9142657D8B283F1B526B293A2C186E2381FC7DBC107676E1F87AE2B1F910B8A0CC94580AC0F71A5469201E9BA8B5AB8F62008899B11142544E410268C4F5D891BBCA5C44826BD80EC3F692580C3FCCE012FAD5E6BB4607405D5D1D1773FA638DC00989D89F0C003CEA90FA2D37B1A57E7B77F152C4BF28D2904CCB072F120088D5CEA4F5BD770A000CC8FA6873FB1F6997EF077430F4135A6158697A78E6C35237B33BB575FE938203FF81F0AE0171BA2B95555E0E51772F50ED2B8CCB19424EEEF8F9FAD052F8FE9CCC59428471AA960B4439E1C475048BE7A50B21D737C0A56425C33D1E869F87989F5D002F9C7B60BAE7866531980D267003EDB3E03B545C25046328228979E9C930B41FB541731C29ABA55EC5A0C82066A6C421DC0B102EA81C60A96BE910C7A525458B54F6C90C2BDB8D018C9B00E2CE63ED80B69DD1DEF8FCFAD75B369D08806DDBB64977EEDCE9A650287CD915E3C058ACF159F3F3AE8A8C8E5D2C834F7096FA25365B83544FB53EAD94A89D2B0010AF4DA5AB7A3708000C49076953C7130200EF073C4F5B5B9FA758972EE3F2BC676549714DA3CC220AA5D7FEBD92767C1121DC020B421671463440414905ED82E139E1339C289A23F2F79C82FEEEF051F8ED7A72E5EC607A8A303E6B55CEF71F2EA902C0F422A99393315344184DED9DC23D70F83603EC9183E880C708F83D4702AD0837D9B03C981417110A97A0A7CA865630855CEC4F4F8EA5E000DF711340630E0039A5FE4D62F453141B5B8DEC0400B6DEF3CBD14520423F17A552E981C50F5A20949900378A9A11183C3B63EEBCD541A1A149CE50BFE484AD8CB4326F7A24E2764AD2A4D3BABE5B0500D45215DDD9F1D831003C2CFF3F4AF429A694A83F93CC6D91393B732F2EAB1B01829A86646A6CFA3545452C12BFD1B7BFB04C0C060D20746495BF14BA203E3A42A87DD6059CE66511973B2715864F013D4A84CBE0641067FAB8D864013EF3F5F64034810801D79377740BBDC06061D13630A4160C510B46E014737A729C1078DCEEBCAF047A418237AC1562A10D4EA6B47DA20920CE97B01661512119617C9B91DB118038EE0E1EBAD70100F8350B411F1F1F0F34AE0F9776A3E387400BB0208C884B4CCA4BCBCCFE8997B777C071EA1F1F00BCDF2491D1D688CD94ACCDA0CBFA7E2100A093686843E7A3C700F05BF94B14EF534829914F5261C393E84D5ACA4DFF2B147E1355D5659052B91186391B62AB13FEF829344C31BDF0C612C4F719B41C6CC02381FCFCBC9D070A450128C7BC7959A9C772099C20DA638910B8146C2142C300B8107EDAC6DE8272507EAB2832C94184302B3166B868A4A24ED40F7243A7611F0F2CF1C00FC7FDAC1754D0059CF14B4608C8A19E5363FF1398DD641F1DB0D1D56A8DB8C671816735F8F8C6E775DB7D773BCE0358934088C1E1065D3DB1FA180C86193886DD028BC3A8CCEC9CF31267A62C7105A78E67785B80947B94539147295DD07FAD0080017FB775FDE618001E6D7995627CF305000AEAFF2846FDE6C6DF450D9DB798BDDDD71962A3DC5CD5BAC7283DE533083DAD65BA9927FCFDED545675217DBDAF08E15C8318AE5D3877B628026585CFB9FDE194B152B8058E108203FDC11A2AF4F8D2E1513DE80216831950FD1C437172A7B0A29627888ABC3FBB1A0EAB785C221F0CD2DD3B00651F4E19A07B6605DB5EEBC8F8E3A56DC7CAE6717E6148C53F4DAF1F41E7D6D85E62B36F3C57B0EDFECD927133812B56AC90222A90858585B901005E5AADD60F6C3003170C052384FB050424E7E42D5A1D1E11359B95F27800B0BA0BADC4403A830F3D0B00B0F2FE45D743C700F058CBEB14E57B4800E048DDFFE21C83004085FC1EEA195C4479B31F3467A4D6497C7D4E2CA26D6C09A6E75EB9882282CF1686E7EF540630EC3A542874417C54984827470407D290460DD7512E1881FFDB392988043292212287AB850F96548A9ECDC3BC2CFCB8DA98C1935F564DCD6DDD622898EB017CBDBD4EA6087442C79B10F20EAA866848A9B2DAE7585B3A03806336B101C0C30F6C918C3B18640B0418DF55AD56F334682FACFEFC73ABCC06F83C3C2E313167EEFCBC0BFDFDFC439C01007F591EC27BCCEFF7E21FBDA9FBD7C700B0BDE52D8AF0DD6F01C0B338476B01C07D00401EE5A5FC9406D40B283AC2C79496F2096E319C56560E795271F91AF4E20DB887371D6DACA4BDDF55103F4F979340CB73B34445116B8643472BA1EC2B44CF663A676DC0C2ADB6A90D6C502E06967850874BC84211DA2941B72213D8D82A42BCECB444F1F914957F8D385EA556516F9F4280E0B841EDFCBD9DC073460BFCE6817B244E8F065A07851022726ADCD5CDCD4DE8039CC353BF82615CD60791F37217FE38353D6385BBBBBBC7A8DAC00600FCBAC7A58FBE70F99A56F6AF3B0680279BDFA530BF3D0200F9B5CFA117AB0400CA5A1EA43EE57C0180EE81A554DB7E2BCD4D7C9822237A60B03C7295DE856BFAD27BAAB7E98DD8BF92DA6B80323FBC90AEF2B886126322C47CC10288B87D8525A446A8C6FE9FC3433FCE257476D19EFC5211DAF12CA3055C3B08B0F0B07311FC7F6975A328FAC84E4DA404884B567E8E14BAA36711381A0072A4FE355A2D75F7F40A5F3FC2A8521B5F3F8ABA77D61D3CF2AB7BA5B67313C79D186265030041C2E304303203811F94E00B77C0B37FF9F7F1C27DFCFC12962C5B71715C42E21CDC4C72A2E16D1214169650E925B4C3EDDF00C00BF487E6F728C46FB700C0E1DABF436C298701D0FC6BEA1B9A2700D0A55841751D37D1DC843B49AB0FA2FAB65F997A432AE9B5D467A4BD312343C79CFE65B4FC9BF554B4AB450C30C5C10D70781802FFCF2562DFE5978858DFDBCB13864FA194B868115296D6D40330B522E3C845A119600A16919395B071647C16789DDD3DA4802825FB106E84514F0D007BBFFECC1521BFC9FA5432A7A786D9BA056C5DE01678D62FBB053FE884406603E116E2E3B3F2962CBF38283838D2BEE71F4B18D9B8895A491D3DE5F938DDD3F6E763003854F34F507ABF004069F343D43F345700A0B3FF6CAAEFFCB90080461726DCC38B21DB491FDA631ECA6C94C0598DF8CE3235228197AFA64B822E11C51D9CD4D98B48804701DD5D5D4468C8A961169C3CE0333C694425CAC4391AE0ECE354CC03B0BF1EF7F8F6CE4ED0BD7914756F35A8D4CEBF8FA4FC138132BA3BF87CC73BDEBEBEBE3AEB1349263C37D0365A001388DC010CE985D7EC1682F0CF31102272172E5A393767FE8F3D3DBDBCC702005FCE283522EC929144F63525473C41076B5E2437971E018092A6DF9042952900D0D1771E35745D670140841088CF073F4A1DAECDB469E051FA26FB6FA692F8BD527E40805777105D5279235DECB296B41A9DA80C6221C72A9FF3FE39E9B3448A96433A4E0F77F52A282A2C58E40502FDBD273CE43A660590830A60AE5F6C6E918B0213DB6CEA893D7C6CE38FCE06A36B810FDE7A3508BA6EA8A6A646CF2C7052B3836DF54159193F8359E6CA19241894DD82D007CC06FC234DCBCF3EF7A29929B3E6BBB8C8648E42446B2849D201F8DC7F524DDBD5304EBB004071D32334A04A170068EB5B454D5D570B00A8B43154D5FA4B01801E9736DAD2FE341DF4FE9A7645BC4D4BF44B4C77786E929A0D1231EB87C33DAE3164E1C723845C17C8C59F3C42C8D5BEECFFF3E6A652745888B353C04F69AC9EFD7C7D63B3F885B111461C1500D25119E164F4805EAFFB62EFD79F5F83F61ED8B76F1F3FA7C8784AD3C3EDF501878DB89E2710E68B9B0472FE80D9203A3A367DC539E75C121E11193F1600AC5946F6812A5D334506DE0617F0000DAA5305005A7B575373F795C300D0C45155DB5D02000A59376DEA785200E0B5C0A7E9BEB66728541D642C29AF94C2D0128EFF7910890DCD7A602F0CCF833C9EA0788E04B8E287CC74B253C09D4E00B1206D92CBA945DE2A8E939EA4F14FD002E38486069DAE55DEDCF46C536DE547B0473BF49B625200E0481F0C0E0EBA734109FF843A878D781DCAD9C405798B96E52D59BA8AEB0D464F22D9EB053DE9208EBA078992C22E2379EF45D4D2B34E0040A94902536C1000189229E88E8EDF1F03C0D6B67F90A9534AC5A5A5F0F3A9A6A57353253AA351C2A9632EF8E4FBF03C8079F0F32CF026710AB8C304505B5B3BD5D43540BCEA4E30E08921DB487730112D60CB0626A349D3D5D6F2456D65D9BBF81E0DD06A72B0724F5757D7A9B980B180601B36E266EE60031F34A6700BAC0FB02FEABC5517AC4ECB98B39835C4D800B0293895286948DD474A5D08057A3F8886F4870BB899FE11F43BD24887E8B6CEDF1E03C06FE52F92B6DB4045478B697ECE3C51365E565262EEE855486627C6D2C2ECD9623A98C3F97CF6B57A4E4E011FCD05F4291454565145FD8A013BA33A0F8089EA01F446537F6F77615D45C9FB68FF5A7434395C7327BC740FDE2B4F49044E541FF03382386CE4B432878DEC163862088F8C9CFD930B2EBA342E2E3E45324A8DC189238F2305247B0A324BE93BCD1E6AD77551AE66391551017DE0F61ADD67789406FB87E8C8D1725AB9348F3C5CDD10DA95535C58903EC0D7DDECE5E5E37652099B0964F3781E43596525445EAB1D4D4B1D50FAE4B803CD90B2B9A9AEFADF7D3D5D47D1426DF81F3AD0F63DD80EF0A02A567D7E7EBE71C261E0A9B885868606A10FF09EF5811F4463A035AD9C9B97B768C5D9E7AC9E11302368ECAA237B0038668B13A20E9BCFB97B949795A90D64767391B9C94E750AB8FD1800978D55D5D45145750D190D46C7C677920D8E33E0D8EEC0A0D70D74C89B3E6F6F69DA8DF7AD6C78B47737BE93026D3D845ECF032806CE01D83E9D6CCA9F13681F36725A19F7647D20D2CA0C041E64BA60F5C517E4CC5FC0D944B7318D792C9218DDC0E301C0DAC000A2A9A4B4542B7375F7308B7638F529E0CD1077478A8A49A552D919543ACA08DDE4B802DC5CDFDBD5BEBFA5BEE6537C2F9E4ADE8EE3BAE0EFFBD0F395E8646A4BAF378DF628DAEFE541918EC2467C396F4B0DA2D007A1E1E133D75CB2766D4A4A4A86542A938CDEF3270E00FB19CEB6514777778FBEA2B2CAE8E6EEE171524210FB38677F28BF80DA3A3B471990190B005207E19D53EEC0AC54F457B637D67DA8D5AAAB2D74DF89EFD383A61DE0E97A1D1D1DBAECEC6CC35B6FBD6572F468BAEFF551B1F661637474B4AB42A1F0E4688181006084601B9E337FFEFC5517AEBE343824247CB2A87F24004E74313555D5DA96F676E0CED5D55917A0D16AE8F091A382EE398E3C91A6A50EC6E79D48E08C617C9D56DDD9D9D2F889A2B7879F24D28A766B478FEFC67756E0B8A1808000CD68747FDA3C2B78B4B0115B9156062B88B432D688D56B2E397FC9D265E7787979794E16F54BA50EB405B6FC3886FCFC239ABE41A53BDE4B1D8DDC71E9774979397A7D9118657494811B8F0D26A20586BF9F51D5D7D1F66D77BB7C17F7785EF1FF745AE95E83055B5D6262A2897BBD330FA3FC8F3E2DDC7E26121A93879DBD39ADCCFA80AB9182838313AEB86AFDDA8C39737264525E2687FAC73A4739A4341E387058A731183CED59A0A9594EBBF6EC15B43FBA4F771E00CEEA017462A352A128EC696DFC1C6DD268A57BAC3DD04C0370A12A1BBA9FD0EF10FDC77F2F60347D605B8D644D2BCFC9CA9A7BE9DACB2F8F8A8E8A1937529800F58F758E5C2ED71D2E386A369AC9BD4FD14F5FEDDC6DAE6F6C963832E031553EAA6A77D21DD885861A95AAA1AFBDE553B54AC90F9A6C63BA4747E1D9B6FD4CF79E9E9E5A8040EF0CDD9F960018AF1A49AFD78BB4B2259B187EF19A4B7F7CF639E7AEF2F3F3F19D2CEA1FAFE2F9C93FFEAFEA95777778F207D2B114FB18C63F7178766C2D6032E8FB155DED5F29157DF9ECE76127A1EEC100BD60C841A67BBCD6A7A5A5199DA5FBD31A00CE5623E1FB86FAFBFBC75EF7B3EBD7E6CCCF5DE4E2EA221BB7E74F1000F615CF8F3CF684FACD0F3EF51C378133C6889CB37A000A53AB54F41E1CECEEDC85FF95E7668A648EC5F003F84EAA9E9E1E2D04B4F1647BFD690D80F1AA912C935782990D80FE8CF5D75CBB2E2121317932A9DF7EB0EA37BFDFAE7E73C7279E6319DFE1A08CB35A404266CD90B262B0BBE34B8341578F7BB3C86BE7640E68BF9F53B84CF768030367F24ED5F0A735004603826D3592451F045A26B1845D74D1EAE5ABD7AC5913103063C664523F6F796100BCF1EF8F3DA50ED2AF137507F65AC0A8D7B60DF5757DAD550DF10F5CB7A2B7B7617F27DC1FABFB416CD5B674EF28A6FFC10160ACB4B25D355228C0117DF3CDB75CB278E992E5EE6E6EAE9341FDD65F9E7DF8D1C74F00807D15CEC9E801B3C9A8540FF6EFD10EF6F3AF9AB65A445E077A7BCF54D0FD190B80F1D2CA3C89058DC569E5B0993367CEFA9FFFB9E9CAD4B4B4F453A57EEB2200F0FE479E12A9738339E38586123319F4EAC122F560DF2EC498C2CF5B451ED3BD4AA51AF2F1F1D14C36DD9FF100182BAD0C9A1C319B69D5AA0B175FF9D32B2F0F0D090D9950A46043FDB600789D01E060BEDD58B1FD0836E0805EAFADD72BFBBE31E874F54CF76C788EE9F1BD7BF1BDA794EE7F100018AB1A69707090F5C1B16A24B044E42F7EF18BD52BCF39E75C2F0F4FF78952BF2D005E7BEF43CFD13378CEB902321A7AF4438A6F4D7A6D198FD6B19F67BAE7DC3DDEF3889D48E6C4C7C71BA68AEE7F50007026AD6CCD2626262626DF76FB862BB3B3E766F32093B3D46F0B8057DFFDC073B411B9714343B35963D20D1D32A89507ADE95BCBDA8DFBF543BB28D55C3C6019A7FFBE0CFF8301801D10A4D007526B5A199E8127B1F85BAB91CE3DFFFC0537FCECFA2BA2A2A3A29CA17E7B008C9C9E359EF1C9447A6D8549ADFC8EC8C4E9431679ED5C99C3740FF13A88EFC843B5BAEF8BEE7FD00070548DC4FA0054EBCB6569EC16F03AE2B6DB6EBB00A1E32A1F1F6FEFB1A8DF1100C6D30252B3414EBAA13D6434F230612B8B3C363ED33D56CEDD0FFD27E8FE070F004769E5A0A02077DB6A241E760E0D0D4DD8B265CB950BB1F0F32F1C19DF1E00F620180100330DCA8C9A0312A3AEC4326023B7D23DEED9C78647AFD7FCA7E8FEBF060063858DF6935C972F5F9E7DFBEDB7FF14BD31C1D1753811F4CA3B3B3CEDAE6D6B7CBD8B51572A35E80E4B246656F672CB383D9765F59C2E74FF5F0780D1DC023C828BFD24574E2BDF72CB2DE7E2984BFCB09CC00000C0AB7600E045FC32A8D9D8E866D241E0995AB04BCE15B830B8E8F53C6237563DDE69D13E3F7400380A1BADD548D649AE3CC804571173FFFDF75FB16CD9B2E52EFC34A9630CF084F29577FEED637B3D19997ADC497F4446E65A9CCBA95BD1EBF1DA3A703368538F673CDD0CFF5F07004761A3ED2457BD5E1F04DA0ECDCBCBCBB8E38E3BAE4E494949E5731E79FCC9FE97DE7A3F40F47A32AB5D495FEC6A3656E09C0E363CCE6FB50DEDAC29DCF1EAF1A601701AE9039EE4CAD54888CBAD6163E875D75D77D6FAF5EBD73DF7CF170D2FBEFE76A00B99CADDCDBA5256F3303267F0388DDB6A2DCB827B19C4B9EAEF23853B0D80294C2BDB4E72C5DBC839D93967EFDBB3A7432A31F37C3A56F11CCEF11C3B1EAEED51A9540A7F7F7F953355B8D3003803C246DB49AE00C50CAE58C6E75CB9EC02706870783F5EF732DD6B341A250FDC9C4A59D634004E537DC0696518D99327BAE223DEF27E9E54C953AC54F6A19DF90C6CCC6900380082B51A89F5010CEF0A20B8C0E0524F4F4F6357579701ECA03F1D3279D300F81EF4010C2EC1CA358A1250BD392424C474A61B7E1A001304021DFF6503F39922F09C59FE1FFCA75EC13BC1567C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (7,1,'Crypto-router_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000017080600000011218F2D0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000047A4944415448C79D555D4C1C55143E77FE76F67F4110851A15D66D29155B6C09028235D1041FFCA1151AA535A68D3F2F3ED0DA072A2249638CE1AD10131F488DD4DAF6A5BE6852B14DA891861A3492942A942DCB82DDCE02BBB0ECFCCF78EE024D2196526E7232BB33F77CDF39E73BE75E62DB36AC77353434B0C5C5C54F949696BE9C48246E0E0E0E5EEEEAEA4AADE5C3AD17BCBDBD9D292A2A7AB2A6A6E6179EE7ED6030986759D6C7F8A9732D3F06D6BFB88282828FFAFBFBA71B1B1B770D0C0C9C22841C5EBDE9F31327376F88606A6ACA8EC7E38F4D4C4CCCB85C2E6D7878F8723299CC5ABD2F37DBF7CD8608A2D168706C6C2CA4AA6A7E7D7DFD8F82207C886489969696A32B005966631A20A0C3EBF56E451D805A616121E0FF74474747F0EE7DEC2A82756780DD666A9A06D4308BCC13173F393929AC00241B24307051E065F025020E5FB32B32601E9000C5AD1AB911EE6A3E72F47DA7D379079C9A699A045BD58DDDE5C28E228B1AB0F7D700A37C0AAD4951B526C3B20BE930E6E4E6C0C1F73EB06F4BD2C878387CFDB72B57629BF2F3DDB22CF7B32C1B40379D1AC7927B123C84B60FAD09F12A2C1C70C334E0FA8D71884971C8F27921E0F3108FC7132A0A85428AACA8A985859F5E797D8F74FEECCFF3D851060521AB342034BA93A7CF34BFBDB7FE539C503FA60CB3C93918BA3602A39128D0786CB04051B0E6F8CDE771811FCDB4CC8C1E0A3545956445FB5E53D2DF86B63E7DA2BEEEC58A1504CDC7DACFBB9DCEF28AF29D092147289E8848A81E0BA24380B4AC403AAD824D4C30751B6B8F80587F0EDB9112091C8B04CA3211761BC889E4DC71FC7DAAB3E3F87886E0C8279F5DF07ABC2F71820857B7FC6AF1052A04610B13FABB9C760F8D0234C30419C9545DC7773AD0125ABA0604BBC6E712C1324D24513224948C412F1CBAFD4C6565A5331E9BF2733C072E9187CDC9528609E731D3D235ABA2AC13A34C010A8D911B40CF5D8EE3709858602C1C029E8780D795C98696D6C67D0612D159109D2241411C2C15E78DD75EED7E34EF9119BF3F50F5B87B9383631C1020D3448D611E453FD8C3A24A40C9C1B2F1A063061428DBEF869C806F71467403A396419A9E415D6856149B50FDCE90E5FB80F6716D6DAD7B57C5735F3FB3A3EC4D973FCD19E6048A29C169F7BF7668B2C47A78BE80F5B9DD909BE5BB2330D5287C3302B762B78156C1210819437C4557B572B2FAC2A144070E1CDAF66C79D977DBB7EFD8268A0CCCF229F06A59908C4B326AC063C9385AEBB1F108FCF9D710E8A893B004CCF3AC959A9DBD284D45DEEAEBEB93C8BD6E34E4618EB5B6BE5B5555DD81875B40144570A2318458BD972EAADD3DE7B8545AE605C722B0039F862247E5F99943977A7B2FD84BC0DC1A879B8524DD7575753D7BF6367C555B5BB3DFEFF37248C46467E7B0B7E2713E530AACB76D1AE9D44CAC2B168DB48E8E8E6AF65D5173F73941E94615890EB6B5B57DF1C2EEDDA79FAFAE2EA3DF741416B331414FF7CF2567DF191A1A0ADBFF538E75DD074B8EFF20D1CE9E9E9E7D16902F594B67C842FAF0D53F7E3F4BB35DCBF9818CCA434FE5929212CFF249B096FD07E7378AC36FF5B9D50000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (8,1,'Crypto-router_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002D0806000000E84AE8C20000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C394944415468DECD59797014551AFFFA9A23C964323399841C431297641192800445401158964B1441C505FE40CBB5BC58DD558152AB40D42D4B74AB74B5D46555C492E5AA756545290F40969543399248C81072907BAECC7D4F1FFBBD9E193239882C90945DF5AA7B7A665EFF7EEFFB7DD76B902409867BE041BDF0C20B345E53D77A6E2AF180613B1E7EF8E1B4091326DC555A5A3A9FA2A86C87C371C1E974EEDF8BC7975F7E19B9DAF98795C0AA55AB0C4B972EFDB8A2A26221C330C0711C90737B7B7BA8A6A6E6DDFAFAFA575E7FFD75C7D53C831D2EF0EBD6ADD3CC9D3BF7D9ECECEC857BF6ECE16D365B43565656D3B871E3261A0C06935EAF7F223737F704FE74FBD53C871E2E02D1689441C9DC515B5B0B6D6D6D5FECD8B1E33748EACE03070ECCB6DBED6E9EE7598D46F3C05B6FBD55F88B24200802E7F1784C168B0570F5BF6F6969B190FBDBB76FEFEEECECFC421445F29B12249A3BD43C1FEDDAF3E0FD4FAD7F7244096CDEBC990B87C3A66030A846F084802BF57BB4407728142256D2E047F55073E975BA7B150CF7C088FA4020106011E06D66B399382CB8DDEE5FCF9933E73E0C1862595919DBD1D1918F3E00B1582CE3B22664A89175E243870ECDC788739FD7EBADA7695A8D60E7E2ED25281B151E62777737178944BC4AA592C6A8F4EAA64D9BEE5FBB76EDF94BCA841A6102083A53A7D34DC10164A5073B938116EAD9B76FDF34B4D690321A02FFF01010E207FCDC5028140C3A3AA065B82109D0F4C81240AD5F920086CF8BD728219900FE9EFB997C3BB20430FEF343014FB1008B7E22E1EFB9A17D78E42D104A021E0C787210E0E8CC11FC3D3BF482D0239EC8A297E303E8EC047818CFDC953A313D4C16189240D22A541C59E4E79C98A687D9071A1B9D9934EBBD1B857F371F13CEDC3C6D5AC38FC78F0F00DC5F4EA43A45120226348DC964526382E3713A5EEA572253C394071458222C8CF1E24A4EC92F426C2A49C4D507E9F64577DC0993AA2647EBEBEAC066B5282E65094200B1D2587294E07C0578B8B04EF2E2756CB808D07EBF7F06AEF44A9E17EE1125C89220D91D414AA7046034E62874B760B9C0F392DD66ED6C696AB160654AB22F939696C665666672E9E9E94A24D284055F35CE9D86BE101C3F7E3C354854BB6A0213B1F05A2108E272C45678112C409FF64E4413F4219278BE4E6F28D4646615C6F8F2483010FCC6D2DDFDE9D62DDBBE6D6D354759961510B888F5938084A2757575FCB5CAC4C53856E058894E368E2493DED5EE1D440A35F58D70E65C33E4E5E8E5BAA5B4C4040A8EED6391041DA542A95C945F58B8E899E79E76F2317E7784173F696BA83B823DB384ADA63478A4B9FC309A8DE3311CDFE368C6F1671CE3E2ABD9572ADE4000BE3A741476EEFD163C5E3FB02C0D1DDD362424C27F8E57CBD716BB132451EA4BA4F75A4F5A6606A4C3A631654D7FFBF0E397DEDEFCD1D8C14B89CB90D04B7F7963C15DF3E7BF54317E6CD5C0B0D8FBE0A6D60EF8EF896A60B1B7D56AD221148E80C7E707A33E0BAC0E27CA48029552013FD4D6439ED100E72F74C0D85F9980410BCA52480698544B8A5231DE7D9EA2A4E7DF7CEFFD5318AD3E1143E2F6356B1EB35C76356AB7DA73B76CDB51956BCC3EF6FB552B0A0C7ABD2911D321CAC7E0F00FA7A1BEA10546E51840939E066D9D56C8CC4883DC6C0304B139512995F23C36A71B8C3A2D64C5E28184C03DF5D339FC4F3A960E2CE418B280C5154D95563F594E224360C5D75E7EED8DFDA3F2F2F3863040EFAEC49F9E5D7F3F3AD4161C2807365A5A525C337BD68CCAC33F542BBDBE008C2EC8C3D56CC5582EC075A60268EDB2800A0165666440E3857630646981636870FBFDA0CDD480C3E1224B87A267C11F08811243A6DBEBC3CF24748A509C9F0B1CCB002FF0F29C2447C843485E0B29DF0922CFC7768ABCB82D43217DB561C3067E0081A79EDBF000A7507CC8C9041842029CFEA8408D0FC281595B19432C0796363D02B1730A74D66C0806C360E97142515E2EB85142515C712D5AA4A3DB0E1A3C938787C35150A915D0D3E385F43415048221B40207E1501438050D91280F05461DCA919643442FF8FE04523FF3768117768A0AEEFD775F79B106E54551E5E5E58A48389CC560DDCD30B4BC7743468E2E8369613B9931A76F93222E51B2E95BE1D88D7BE07CB4017B550D64A81054282CAFAEDF1F941D58AD5692D88FD6E02082A424A1370C129844371C47CB0BA046324DED1670B83C60757A0644AD3ED24A7C46B846AD3673B53E3DFD35794E0C5F14AEB6D1E77155C8C0E9DEA1442B280506D2BD3994C93C95FADAF98D5433E6207C7ECB3B10605A202D8D07B7C7276B5BA144C0D1982C91502802344325B6152560D0A222AEAE5AA5003F0227FE22E077247211C22266F0EC2CCDA009319504518646A3C16728C8BCD13E61D4E5B05F8845C25E9A495A213E267B27825688F7DE6A672EA53F38199EF971BAB8E4962761C59227A120DF8CA615211DADE10B04658990CF64DB44810F24A488B47C443E189DE26044C84857617010A0243F074619B5C9227020F8F8F64BBC2FC045953F13C6429C00F3DD77DF11569821FD0D1DAD2DDFABD5EA5C9DCE301A9B0D9A410BA8191564502A883012F430769028116E55F82873CB74686DBB5E2819DD4A4F2CDF86408BE042A71232D46A5942D14814F45A2DD8511A99E96A945A141B130A571F7D00BF2BC937823E3343262362AE20842F0E297EC6EC4F763864DFA0E4AE8C92F5484A0B24513367E6ADFF6413955F046F76555656BA6A4F9D6868BBD03CFB861BA7FC717451F15862912C4A0B55A20E82BC0F9AB806140525EBDD15CA6554EE80A4C960814A73508D93CD409DBD11461B4DD0D8D6091A04A1428B78D132066D06B8300A5D67CA033592483A67AAD6E3C91A9D39C683A3A707424880A5E33E295082EC4B9440818817483ADA270F903D1BB2A5B36CD9B266B3D9ECB0592CC7AE1F57BEBC6ACACD0F626196CD62EF318F9901C7259493549D88F11438DC39943F50097F55FF2475DF749A3A3BE608ACFA663D5A42054E8F170CFA4CE8B438609441072585A392912491D012A0E37A9117A5DB6A831EA753EEC248B24417EC5D75F94C2A594002BC4802D0A0BBD3E47E555515FA36ABC7EFCBA6CF98F9C4841B262D42A9A94898A5682F4AB00E7C610A9B0D1746211BBCCD0740640458D0BE58087A22CC688CF34D1D5D50906B80E2BC9C81311ECF31242324AEBB2C5668696D97F54E9C351909D9E439E51E46CC26A7D5F290B5ABEDF090DBEB84C8CC9933951E8F27D760304C9E336FC1BAF1E51555C43FE2090FB517F3A11EDB605FB403FCA20F4A5B276144D18AD6EE4E6172E5588EE85B069BD2D4A4C678BBA307EACC66F0622EE905CCF6019D24819D8FCFDAD9B6ABA3B5F93DAD566B46FF0D5CD6FB818D1B37D2BB77EF4E43072F282FAFBC63D69C394F1415179BE249AF77707DAE19E8ECEE8A7475592886E514FD93940F33F6C9EA5A68EFEC22BDF1A08093D7A8D498BBC77ED8DAD6F2263AF76997CB656B6C6C8C4AC9573E977BA07F3067CF9ED5AA54AAE2790B163C74EBCC592B8D866C0D9BC8DEDC206408883367CE84AC3D4E620D368211E8444D0DD4D4D6C9F21F003895044D4B41BFF79CBDA3FD9D4824F82D46A48EE5CB9707B09410AFF80D0D9115764D1C9230A04F8C5F76DFEFD64C993A753676592C77096B105002CF8B7FDFB235B4F3B3BD2A5415C324A422036507AE3A1F0DDB7D3DB66D986077A185CEE3B3DC2819A17FBFCC5EC18E0399208A3CAC53A74E757FBCF5A3C6E3C78EDEB6F49E7BD79597575C1F0741F71B0CC9BE34D64274381A93C153C98892088D4222D288021FF4FADCFB431EE707E833D5A8752B028F48975869FA2AB64EC423478E84E6CF9FDF867AFC74E386F5776FD9F2C1CB769BCD4132269D529210C044E75222548A423C9B261397200AC44218BD9CA79C5D17D684BDAE67F13F07172F5EDC7EF0E0C1B034844CAED94BBE59B366B1C160508BF35DF7F8E37F78EAB7F3E62EC9D2662A935222ABFBE22B9B423B3EFB42DD4FF71225C4DA85906707D6CC7B519AE730CA390793CBB0BFA54CFA0702C82E2B2BAB7AE4D1479F9F3E6DDA4D1CC7C9F52821F08F4F3F575FD43A25B9693EFC1512D88D163A85F72C478F1E0D4BFF07A86BBA379AE21F1604B47FED9A35750B172E5CB472E5CAA74B4B4B4793BC29FF4EE0238C18394109D1ED78E330326F2D2A2AF2EFDAB54BF845BD272661B7B9B93903C914AE5EBDFA91C6D6F6DBFFB5676F5021F1FF4697F81A0999D1077A4E9E3CC94B570864D8DFD427B239790FA04329E5E3F3B2F0763BFA4537CA2592A8C17E996FEA07ABAF309E3346A33176257219ECF81F3D0880D812A4D7290000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (9,1,'Crypto-router_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003C0806000000D689BC640000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000132D4944415468DEDD5B09701367967EADD67DF81096EFDBC6C6273E201C018F434E8E21243B2159488A1C9B996442364C48323BC9EC26EC4CCDD4D6EE4C656633BB6CB2D949A5865C540E42428024600E87C336D8C6B7655BB625CBB26CC9D66D49DDBDEF6F49B66C8C6320800BC18FBA5BAD56BFEFFFDEF7BED7DD501CC7C17C796DDEBC99369BCD225CF41F3D7AD47F3D7E93BAD10050F87AE081074452A954949393532C168BB36B6A6A6A07F12597CBBD870E1D72DED400ECD8B1236EE9D2A53B351A4DE5A2458B1663D0E2A1A1214F5F5F9F115F874F9E3CF9AFDDDDDD43D78A11C21B19FCF6EDDBD32A2A2ADE2D2A2AAA904824E076BB617C7C1C944AA5343F3F3F233A3AFA672CCB16C6C6C63E89BBB7DE540C78FEF9E7D5656565AF9794943CD2D5D505F5F5F50C9E8B363232D294989898B170E1C214CC0EE8E8E880D1D1D1F79292929EDCB06183EB873E0FC18D9A7D81401085AFB524C023478E80C160787BF7EEDDE59F7FFEF9EDEFBCF3CEAA868686432E970B643219D97D6D737373D64D9302BB76ED92C7C7C7DF25140A631A1B1BC16EB7EB51EC7E8BBA1712BCBE9D3B77BE8200ADC27D14C88C68DC762F8E0B370B03A448EF24A43674767602CEB405D5DF1EBE0302D2AED7EB6B8826041993F5E69B6FCAE772F04FF61F2AFDE3FFBCFBF1E6A75F7A6D5E028081B3F8A624000C0C0C10E1B37BF115BECFF0F030879F8F12614421244383FB29E6727CB1449296181F7BBF4040DF332F5300679BB15AAD31168B05C8C0D91D45207CE1FBD034CDD96CB631C200866100D360018221BA0C8301E4CFBC04E0C2850BF7A9D5EAF564D9E974824AA55AB966CD9AD377DC71078B8132B8994553C4A130666049E401F0F97C29582D56A340EE7BF4D1473D73889F1FF30E8075EBD645605024370D18D8009A1F52875D7EBF9FC62C208227437D2029C222037CADADAD1674893459CFCBCBFBDDC8C8881697EBBE1700FC23A0E6210350D5FD389468723270E661B6111111C1BF9352F8D65B6FF5A32E14A2608AE768B1E76719C4D9F4A3A03141619B7510EA9341824186B0C417E076D19C011008E6A50690E0B95070E1633630303538A21718D81C01989B065CF732F8D1471F11CBCBCC36E3A1E56900500400344D734E018A9AA755800DBC66A57E3820C13278990C98C7659068C0E5D09F0CF40AE0F1F0D56FCE0C105082F99702E435530A4C07633A285839A86060736300CCAD0ADC28002E3B05D03D86D8239EB3080AE6290057980254B02912FD9022785D0068EFEDCD68EBECDEA0D3E948174873010ACC9A02D3874824E2F50AFD003986809A437437B40A188DC698719FEF2196E1FE5EC0B22B198E05A7C73776B6AEEE8BF7FFB627C260D07FAF010A0704679EA73EAEAB939393A3B049F26280A4836482FDC38DBF208241CB0522D126C6CF6C6558EE2E9C0321071CC97908BC43A4582CDDFAF0B647017D3ED3DADAC2EAFB7A45DF9702C132280902A0C1C6280901716467673BB0323810080F37C3B5BD60D65C73008418CC9D3E96DD2A124B36E1092A48A430713A5C60F06FC1657C29140ABAB4B48C2E2E5E4CAE0F58BBB4DA419DAE875CFD10C9E5723284D80388703F21197ABD9EC3C04F9B4CA6A32888524C053F06EF9DBD125C432B8C27B31CCF612BC3B00F62481A0AFF61B9D06C034CCC3C3F82EB105C9EB21D40A9524517162F8ECE2B282466E79C5EDFFFC9BE8FF77E8B9DE05858134521EDC7699AF623C85ED404AFDBEDB66383E4E32E7165F75AB4C3B948C9ADF87B5BD0CE674D060A933487A901FAFC0CB4747643527C2CC8A592C9CFA68034F17D4A229594A76764966FFFC50BBF1CF77ABFB6DB6C1F7EF2E1FE8367CF7EEB09A60087C1B3128984E9EFEFF7CF96FF821F0880041C0FE1D88AA39C2F6313391D38F910CDC3677774CC0E276AEBA1B55307F90B33F95CEEE937C292E24510A1904370E7A9A911CA90C041C5429A5E8F2DF1FA471E7F686CCBB6CD1FFB7DBEF7BEDCF771D5DEBD7BD9A09FE0BED70C5C21001138EE0F06BDE6A272C9859DEC44E081EDDA9E7E3872AA16DC9E71585A9C07910A057C77BE09A2544A589CBF9007C46AB343E5B252DC9DBD38352E6251403CF1DFC7714A1FBF67E3FD863BD76F7CDFC7F9F7E06EF557EB06A7005055555D525979EBCBB8F863D2BA5FC2C54DCB690EBC5E1F54D73540756D0324C569E0D6F262A47D0F1C3C761A0A7232615DE50A686CEF82FAE64E285E9409524C85BFED3B0CEA4815AC282B04BFCF0F4A85F4921AC185B103B727E1DB0B142B78E12F6FFDB5193DF51EFCFA7B3B9F79A2F74A00987267E8D9175F792D2252B5F1A9C71E51A624252D9C297826AC4E9BCC16F8FAC419E8ECE9456AE74354840A4ED69C07EB9803562E290289580275175A402997F38177F51AA0B1AD1BB2521320353116DA902DDE711FE46424C3C8980D92340B203A22700D9099E20782CBECB4F5C9FDC8F58593AC9FD9E3A1FC7BCB0B4A2B388AFAF4F0F1D367FEF337BF5C3E6727483A2E97CB5DFAE7DD6F67FEE57FDF39EE74BA2C3350009ADAB4F0FADBEFC3FBFB0E426E660ADC525208C7CF9C87330D4D5081D45EBA380FCE37B583C53A0AAB9696829FF1C381A3A7402E9322F5178305F5A1BB7F1072D353D1E38BA0BE550B328904FA0686E0445D13385C1E9E55D304725236264474822D3891B01A856137CD50C60BCD4DBFB25A2C44020497C5805FFCEAD5D7685AF02A961AE08790B62D595CDCB2E19E3B97A09A0B8F7E57C3D33C3B3D859FD153E79AA0014FFE96927CC8CF4A83D3F52D306C198565B88E0E904F0BA9440C6585B9601E1985B62E1DCE7E1244462AA1A1458BBF21809CF464E8C7C0C7EC4E484B8E455659611497D393E2C0EE74436E46224FE47016B0C1657FC82992F519D8E16749D7E97FD7C7327B2204DCD1575F7D959D15809DAFEC9A028030F8EE6759DBA8CB2FFFF13D95C2C6D89350653A0619DFAD84B54B5683582482E367CF83026777596921CEAC01EA1ADB90D629909B958AB3DB89C15B61F1A28530EE1DE7014B40AAA7246850277AF9EA909E1C8FDF1BC0CF7D909A1007FD8326BE97D7A823A1CF38043969893C580AA918F7E7A65AE54BA6CAB4ED2C3380EFEFFBFCFE3DFFFD87DF9FBF0800D2603CFFF26BBBB0E7F87578F0A161F5D170AEE800A75F7E86B2459B41EE5341D981FB60BDEF2718683A9CAA6D04FDA01941C80795520EA7EA2E008D295582CAAF331841AB33407E761A286532A8C71422A530393E065AB43AFC6D01A4E28C77A34620EB2021269A4F11A207D1910A68EFD68352298305B8EE1EF7A256445FAE464C6C2780CB6452FD7FFCE65F52263480049F9B9BABF079C723890E9013174C1B1A951CBC0C50B77DF373883D5BC43DD8F81CB72AEF16D85DFACFF027DBBF4149490E2C2F2F809A8656BE14AE2C2F22EE0D4ED65E80B81835942210EDDD7D60C61429CCCDE44B61B77E1016A20E102A13F03271A649EE5B5123F2903D169B0DFA4D23B84F22389C1E18B28C21703268E936F03A112A135C982F996EB9B930BF4126551D1D05D15191C99366095FE5E5E552A55299EE7639D3A7044E07DE092042F0828811838893C298D54F197BBCD47B9EB7397D66131CFBD11E7859F133F0FABD7C7D379A47A0A6B1154A0B7220332501CE9C6BE66787ACEB0606C180B42ECECD06A7CB0DFD4613069BC65703D390058A72D2F9E03A757AC84D4B066CACA077C00C7999492014D06018B242166A0549878912195E26277C4458F0A82252DC5FA554F02010164CF1015EAF57820D468CCF372EA7C383A7A60291E7CC011176A5B8067E8A8134ED4A8A3529611957CE6C8D15D3A9CB9FC41E211E34312FC389B32E387AAA0ECA8B1641715E36D435B7434652022CC5F573CD1DB89F1FD3238B2F8BBD864128C9CB84E6AE3EF40B3D287CC918F41096493D2CCA4802130A6857BF09B252E24086558399EC10BFA7D708044AD24A80E011074B916DECA43F20B79CA8FCFC7C8EDC84340D99FA44025A16A956A78945C489A216082775208E8D85282E1ACE2AAB21C59B85CE9D855EA116D68E5508348A2FB8B4640715A3EE447A77E10CDD032A05875AD08DFE40090B5114491518F7FB70F63371E6CD6019B563E0D958166DA0ED1DE02B0209AEAB6F10838D07894484FA3184E66A0182178BE722E08398DA2EE33A7194E4D2393BF919366BE04590F96BC354C012052E9004962B57AFDCC50340907AECB1C7186C2E5C2A85C23C3C646A1CE8D335CB95AAF86875541C4D0BA9F0AA2016902F49812587C1BF46512F2C1B2F01A9404FE9FA13A1B67133239748A9F2C5BFA58AF20FE0C967C2B1D31436457E28CBCF813E8309063045CAB1343A30052E74F44036E63E52105ABA7A21158531265A051D2888C429E6A3CF902210BC6DC6000381069783B31C083C10BCD7E7059BC3C1034005CF910AF9426AB245B86DF5ADBB26449034153A9D6EBCA6A6C68CE9D06CB7DBBF3875FCC80BC7BF3DFC7BAB65443F298C144FA50ADF0A88A3A24018BC4B859FE22CD0401A33873781F6F9CE52066329B9F487BAD00BA57747835ED58D46A9051D630EC42F88C67EE11CA891197918607DD01394176483B6CF88C08CC36AB4C8297131171BA04B74920460339A1FF3B0057C5EEF0420E12C095F9FD107042B025559594923080A9CF538ECF9738ACBCA1F2C295D72AF2A2242454E34C4063F86FEEF8ADFC1CF6D8F407CD4215CF3C280751364C5BF01C3B6D5782C29F781B20F6A2B3EE32FE12D6B590FEA8FCAA0387D213FE34417521362213176019C47109472191464A7F2604F96B4D9EB3B1FB87998779DFCED40727E023A20DEBC76D181C9A383934807D64F1D3D2C228FDE0967F0FB04113F9EB0BDA0A0C0AD5028461AEA6AFBB56DAD8756AEAE7C625141C12A343F42F203323CD83F312F0125B5E3C9C9F1C710794E88C70830C3E717510DDE1658FFDD76EE44F65E4AEA50C2AAB222A8A9ED8418343995B794C0B9960E5E0B962DCE4581134F08DCF48E73F2E2D26459B358ADA01F30920BA5C18069D2AB23D9D900F5598A5F6683CB2C859F110600AF8EE4E2AA5338DBB57B52207027EB8A152B5C6EB77BE89B4307B44D4D0DAB6E5B73C73FA4A567E4921F550A94408B228112FC147FE01B648602CF4D183C5F21EA851054860C4A335A0EA9ADB7B22D7E3D55B9BC846A42B5AF462BBD14B5408DD63834BB53949D9B49D939B0399DD0D9D50D0EB4CCA1990DE438AF4C930113A50A6E0881E272D8DB070CFA5DC8707AC614B8C4E565F238ABA0BDBD5D8A416B7035ABB4BCFCDED5956BB66862340BC21D23490D2FD38BB96F058F4F087F848FA0C2762F9C971D87CCB3B7607B9CCD757676B045B9E974727CEC0CB49EB0AE17D1DFE5F6406B7B070C1807A7519B0ED27D2ACDC3D3C1EFF78E990C7D7BFBBBBB3EC092DF3E323262D66AB5DECB7A5032689A84E4C227061B8F23F7EE75EB1F5FBA74D9DD728542229C6CA2826008603A38A16593C9E4350C1839A94C2E096F6C480AB0D380184745EFE8D0426BA79657FCC9FC0E0618CAEF702082C12365BCD661D3B1FEEECEBF62AC17B0DC1B1000475D5D1DB99CC65DD193A2C43A6767678B542A5504DADD24B55ABD64E37DF73F5550585C261262D914064E44480B215C34E969836C6B6D6BF38C5847D1E4098533895E8FAE0F6AEA1BC0E5744DCE6CB8C085013185050201E7B48D35197B7BFECFE3719EC6DFD3A19E8D56555579B9904382AB7C54960081FA20F1783CD108447A7149C95DEBD66F782225352D3910F0ECC18796C9031338231E9BD32D61584E4002370F0FC3F1EA336034992E9EE9694A3F55F591EEE39E8161A3FE03876DF4101EBFD3E9749A9B9B9BDD81CB995303BEEA678543FA60369B652E974B83C7CBDAB071E3D6DB6EBFE327D15151CA9900B8D4BADD6E63BE395AE5FDF0B32F85FD06A368469ACFC2028E611C76EBF0C151F3E05E5C6F994EF76B7263247860869414D48771A4AE75DFA79F1A8E57551DD8F2F0C34F2F5BB6BC422012D182193ACCE99DA75ABD80D6C4C6D23DBDFD221230FFAC5850DD0322CECB7BC0D905959EFF80637D0E87EDACCD3CB407995F8F60F610BAD7D6D64EA1FB35BD351604C28740D8501FDCB83AFC5F6FBCD175E2D8B1D50F6DD9F2745E5E7EEEA55AEDC941F1F1F0DD1A1516F04540841E8464399FDBA1755A863FC046AE3A4077D710F6366E72E99C9B03BDAFC9E3F2C13BB702648404B5418D4625FDDE4D9BFE6ED3A6FB1E898F8F5F30732A0440F8FA489577C7CBAF892F95DFA174C0BA661E778C7EC978DD87318626A4BA016DBC7D36BA5FB7BBC36169E1465B3D888DC9D8BECF3E331EFCEAABC34F3FF3CC4F6F5F73FB5A95522999CE80B0E7078286860A73754116E09CFB5CCE938CDBF939FE4C3DEEDB1D19196999AEEE371480196CB503D9E041F765F9F3EBAFF7EDDFB7EFD3EDDB9FFDC7254B969491071FA6DFC5255F236D2FB061F9CE01C379DDCD3EB77D1F6EA9C1C0DB30CF074522911B8367B82BA4F27579482A4C1FC69011EEB6B636F38E1DCF356FD8B061EDB66DDB9ECACCCC4C9AE12992100B3881CFAB07BFE720769BD5780CF27F06FA9055B6EAEA6A1F7795397C5D9F122314C500C82DF0116484E3ABAFBE1ADABF7FFFF19D3B776E43301E442A2B900D1301512C332AE63C27F1BD0ABF7B1EBF4B9E131E269EE14AE87EDD4470AE4249DA6E6CB2E4389BB1090909852FBEF8E2B35E962B7BEEA55F8B45E06F1071FE2ADCED1C96D6163CCF81A8A828C7D5D07D5E01100E04B6DDA47F56CA64B2C4B4B4B4E53A9D4E899B47F0DC3A50237A67B2B0370D00E1B61A19211E1B1B53A1B0299115C4548D3536367A66B2B0371D0061FE81A48640A3D17073353357F3FA7F49685BF974DCCEF90000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (10,1,'Crypto-router_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000005B08060000008C2580560000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000225E4944415478DAED5D07785465BAFEA6A74C7AEFBD878434123AA22E8A050B20AB28EAEA457DD4A58A8AC8E2AA5C5DBDEAA2AE5E752DA082C86557D0BB0A5C4A80908490C6A4F75E276D32BDDCF73F249884992484E86A6478FEE764CECC9C39E77BBFEF7DDFEF3FE70C3C93C944571FFFBE076F2A02C0E3F1040B162CE06118B76EDD6ABC0AC0CFF0B8E69A6B84C1C1C1D6BEBEBE7E8E8E8EB7E874BA20A3D1A8C2DFA5858585BBDE7DF75D258ED57815809FE071FBEDB73B2E5CB8F0497B7BFBFBFDF1001002765C7ABD9E3A3A3A282727A7B7BBBBBBD2CECEEE493C4E5E0560121F1B366C080C0F0FDF9F9A9A3ADDCFCF8FD8F188C5E2412A225401190C0692CBE574E0C0018D9595D5078F3CF2C81357019884C7EAD5AB1D6263638FCD9F3F7FBAA7A7278176B88C6741974824846093542A258140C0BDBFB3B39376EDDA65F2F1F179099FDD7215802B786CDBB68DEFE6E67670E6CC99376249D5D5D5949E9E4E3D3D3D646B6B6B605580E00BC2C2C228343494038455C289132718481AA552E9B779F3E6F6AB004CCCE5F010BCB4A8A8A8A36969691296D91F7CF001CB7425787E1F02BCA3B5B5B52D2828C81BC1DFE2EAEAFABBE8E8680134829A9B9BE9D0A143E4EEEEBEEF89279E587A1580093C962F5F2E484949D9336FDEBC3B91ED8C56A8B4B4D4E0E1E1B1EEE4C993EF9D3F7F5E3BF8DEE4E464D16DB7DDF60C84791B40E034E2E0C183646363A3CCCCCCB4FFEAABAF0C57019800FD383838D4C2E7FBC2DDD0962D5B08D95EBE73E7CE4873561305237CFDF5D7F35131D1CECECE949D9D4D5AAD9651D2031B376EFCE42A00974F41FCBFFCE52FDDB366CDB2CBCDCDE5E8273131F15F1F7FFCF1629385037AF6D9671F831EBC834AE0F4A2BDBD9DF87CFED7EBD7AF5F761580CB7C3CF4D043EEF1F1F17531313192DDBB7753464606A39A9D9F7CF2C92A4B00DC71C71D2EB0AA2D090909C2AEAE2EAAADAD65AB0B366DDA34DD740541D8FBEDA1075ADAE44F9555D708EA1BDBFEF18F8F5E7F6ACA03F0F8E38F2F9C3E7DFA112F2F2F7AF3CD37A9B1B191929292FE022D78DA52B7CBAA0654D5814A71620D1AAB0250506B484888CFB265CB26AC03070F1FC377F2B69F2D28A6DCE2D23DDF7CF8C68ADF02006B20C26F300106B7734D565C5CDC9AAFBFFEFAAF96B2993927F07D0D80F3170A85545353C3744005101CB76EDDAABD5200720A4BE85C51C96F0200DE638F3DF65A4040C03AD6607DF4D147A456AB69DAB469377DF3CD37DF8DA61BEBD6ADCB43E3368DF508CC8EE2733A80E8B076ED5AD5950270EE7C09E5C87E0300C0823AA0C33D82E62B894D35ECD9B387EB78BDBDBD3F426677E12D06AC37322A1A5C6218D8710606063E0CDDF063EF67228CCED9E0E8E8E8F4D4534FF55D3900A500A0786A03B078F1E23BC1DF1BE0E1A72388560C80B2B232B2B6B6269148C45C8DC5CFB2E36416D4DFDF9FF5001C6DB175D0820A74C9C7E7CE9DFBC6860D1B6413052057564A67CF4F71006EBFFDF6DDE86697817ABA91BD6A70B84EA150B0891E761006A3D16802A79BB014E1B8C400C8846118789D558209C1960030E025E2A9F0F0F5F56D069D25639B4B4051DF4C14803C5919659F2F9AF200EC4416AF6414C2B27E700C3E67DC3E783C6C1D1B6C0E68E4FB06C7175F7CD1060CDC0736BF74F3E6CDFB260C401100289CE200DC76DB6D9F3A3939DD672EA0964019EDBD7FFFFBDF5BEAEAEA3C590C30EE7EF1C517BF9C2800F945E59455289BF2007C0CD1BC7FBC811F0B14F40D2D3299CC7360F3AB5E7DF5D5CF260C40310028904D790AFAC8CECEEEC18966FCC8E77BF7EE6DCDCCCCF418D8FCC36FBDF5D6871305A0A0A482B2F38BF6FCE3C3D7A72E004B962CF91022FC87C9AA00F40D6D870F1F761F70498FBDFFFEFB7F9B2800850020EB3700C07F4BA5D287AF24F043FF3E72E44827BA6797010D58F3E9A79FBE3561004A2BB90AD8FFC16B5317805B6FBDF53D74AEAB279AF123DF7BEAD4A92E08B1238B03C6C62FBFFCF2B58902701E0064FD060078074DD463935501595959BD3B76EC9060D31276926DDFBE7D2F4F1400595915654284F7BF3FB501780B017CF24A033FF83C3F3F5FF9CA2BAFB046CD0E63DB810307FE7425006403807D531C80D7D058AD9F8C1E808DA2A222ED4B2FBDD48B4DBBA2025E86286F9E280045E5D59C067CFDFEAB5317805B6EB9653BBADDA727AB02CACBCB0D2FBCF0421B36ED8538BC76F0E0C18D570440010078EFD5295D012F0885C22D93D103B0C14ECA6CDDBAB50E9BF6C7780B14B466A2001457D47022FCF57BAF4C5D006EBEF9E62D00E085C9E801D8F38686067642BF1231080105FD0D14F4D8440128A9AC81080380775F99D214F40C9FCF7F79B22A809D9479EEB9E74A8D466304E2F02128E8E1890350CB89F05753050008A458241245878585E5B346959D52BCE9A69B3660F1EA644DC6B10BBA9E7EFAE96200108538ECFCF6DB6F1F1898BA368DF744FD2000A555B574365FB667F7AF1C005E655DDD2CD21BEF455096194D26672CEBF47AE3E75D9DADBBB76FDF7E0328E895A153CC5722C4EC9AA24D9B3695180C86487CCFBEECECECFBB16D83838383412693B193FBC6B1C01804A0ACAA8E7341BBDFDDFEEB03A0A9A929C26032AD34188CF7188D26765D3F194D46EE22DB0BC3C42DBBBAE44DA7D2D3BD4B4A8AC968305C7133A6502868E3C68DE500204CAFD77F8FBE603500D0E8F0D068345ABC4F0F9DD061170D9640B80840F50000EFFC4A00686D6D7527E2AFD01B0D2BB10F293F067B44E0CD00C12EB2ADAEAAA28AF2326A6D69E64E474EA402542A15AD5FBFBE0ADB0B46CC4F151414FC11FBA2469569D8920DBCA6C2BE6A2C8130084079753D07C097EFBCFCCB0500A26723B2B25A82EF5C6934187F87600A2F09F825D97F61BD89051E835DF66318F25CA7D5182B2B2A5455959586FE7E8595B39393D8C9C9695C7AC0AE0F5ABB766D3596416AB5FA7F403B6F0A0402167C167015F4A61F0F4557579712CFF5A3015051534F5979BF4C00F8388885C8A49508DC9D08A87458704D26F3996F0188D12A44AD52F75456565417CBCEABE59D1D46045388EA604380AC16A28913B0C19E632964AF83F75BDADADAFE899EE0281C960EDBD1B10A600060099652F4B7B7B7ABC7AA808A9A063A0B17F4F98E5F080028E97864D6BD08FAEF7150DEC303FA63202F6636D6FD98E117D60F7DDFF0D74C968119F80EB54653D1DCD8F8DD911F0EFD70FA747A87995D64CE0A52623020F0D855BD0180E8F1375BA5635AD0D7D7A70C080850E7E4E4E8C7D280CADA0650D0BF1F005F1C0884D4B8124189B514F47165FF957C76B86E18351A75865C2EFFFABB7FEEFF2E373797BB06885D3181801B519D2604DD3470058509596FECEDED353201F6F2F2D28D16FC6100D435721AF0F95F5FFCD901B0C758CAF1BAC9B40099CB3358C86C73C1BC98D14382C6042DBFA49262C38228D0D7737420CC077D045817D7A9902007B46ACD17278F1F3974F2E4493D026D4290B903494A4A223B3B3BD3B163C788865CCA329E3EA06A00805D3F1300228C1B3056B2291A0C2BD3B08C348DCEDFA64B8304CA008796507A561E75F5F651F2B4484A4D88A1DEBE7E6AEBECA298B04002695F6EF68FE6ACDAC13FBB41443B57AEB8F3EC306EBA8CA00C02505DDFC489F0AEBFFEF92705200DE35E8CE56C0A77C44E9BCFEC3182D221EFA113D9B9743AA790ECA436343B318EE2A242E97C59159D3E5B404D6D1DA8022F9A9B124F5E6ECEA4D5E9C9C64A3C91ECB79810A8CE52838976190C9ACF1FBAF7DEEA894C453000CE0280CF7E0200420732FD9E81BFCD3EC6ED5E065E2BA9ACA3A3A7CF52616905B23B98E624C7939BB3239D3A9B4F67F264846E88A6478551EAF468E2E15F465E211596545168802F5D3F2799BB0555C0E70D007FE9F75EA4BE8164189AFD3FD2E3704BCB2E23C5FB4EE12D3B0D6AFEDE471FBDBB6BBC00D434347322FCD99B930300CBEEBB06029F369E0D8D2DA446D268749471AE908E9CCAE6686656D2342EF05DBDBD74FC4C2EE5175790839D2DCD4C88A5A4D808AA6B6EA15339E7A9B1B58392A2C3404B11A4C236B2F28B5021D5E4898AB8F5DA592416092796FDA3540E3CA7D664301EC4FA5D5D2E76DF6E5DB64C3B1A00B500206BB20078FEE55777DD75DB92D898E888F8F16CC452160EAEEB9077D3E15359743C33979C1DECE89A9989C8EE08CA2B2EA56319E7A8AEA99542027C680E6826D4DF9BCE169622F0855CE6A72544535C6408DED302F08A88B90D2F77174A8A09237F6F0F9295D5D0F9F26A4A898BC467BD860BFFC45C93B9F775E1F35F194CC69D1B1F7FE49459001A5B3811FEF48D6D570EC0134F6D3E066B36DFC3CD3D63F5032B035C9C9DBCC706E0D20328AEA8A67F1DCF2076E16A426C38029F4CAE4E0E74ECCC394E6C5510DEE4B828F07B1C8985223A8175D905C5E4E7E541B39362C90F016697FC659C9351674F0F458504520AAA804DC69D2D2CE6AA20D0C79312A243492814D0395939F52B5534373996ACAD2493E19A2EFDACC1586D301976F148BFEB9975EBCA0601A803006701C0C79301C0939BB61C1300003E38962FE0ABE2636232EFBA7349AA4828B4B6483F0320A8355A3A95954BFF8BC077F7F4D1829949DCE89077D1A1F42C62779238486D696E6A02CD4A8CA5C696363A9A914B65D5B59488E03211168B4574E6DC794E0BF8E07AE6881262C3480EC1CEC82BA286E6369A1611CC6944574F2F65A362EAB19D30E8435C4410F52AFAA9A8A29642504D81DEEE93E59A2E9D93321AB35C5C9C5ABCBC7D6F6D6E9343848B01C0D62B0760ED33CF1FE3F1008080CF5D73CF0682DF74E3750B6B67A526CF3407407BA79CFE752C0341CE240F3717BA7E6E2AC7E32CE0DF9FC8A4AABA060A0FF24715245114FCFDD98222043E87FA556A646C1CCD981E4B9D5D7044594C0BCAE1785C39FA890C0E4030ABB92A60C29C8C4A8AC6E72BB8CEB3840B36A3A8E8D00068462BE5CA2AB87D8A03408E7636945F5A45D61231C00AE128ED8A5D9399CFB2180AC562D8E5DE0C919BEDB5FF751977DC9807E0D9AD1C05B1C00BF83F82C086B5B555F15D772CB10E0EF00FE44E9C94578107D311E8622E888BE6A791B3A33D1D41B61F86D8F6AB549CA82E9C9D4236D6D6087A36A567E6919BAB132D484DA45804AA0854722CF31C55D73723B3436866620CB938D85326C4361319CFB6970637E4EBE946B9A0A46C80CA7A82A498700AF1F326596535E5155590BD548A40079308AFE516575253BB9C22827C28D8CF8B2A6B9BA8073D45EAB470125D14ED49EBB687BEA7D76030EDC372A7BDD8747CACDF2B320BC0FACDDB00006FFED0C00F0342C037898482A68E3EBD57674F2F7FD1BC99742D027C5479988A8E3753417A3DDC8C945B376F4602B5B4777295910B2D88879B59882A700700CCFBB3C06BD45A647B2C37546A15A567E7739D7014B23F155520417665828EF2107C0F7C8E09AE9BB3039D2B2CA30264B80F8049840EB00A398B751DDDBD14838A08823E94A0AB2EAF6D247F4F5754933F35B4B5C35575522280922221C60384B979AA41FB6AAE7286CC6535180DA6CFF53CD3CEB7FFF305D9B801D8F01C001008CC5400EF2218A0283A5FD30A1B394DD335AB42FCA5F43D9EDCB381047A112D6EB99B9EB1DD46C5F90D1CFDB477C83920E6A725924EAFE7FCFF49F87D37672768413CC7E5E535F5740295C1F83D05C2CCFC7F37ACEA4980548A9E2102C14B8D8FE2BEFB4C5E3195D5D481D27C11F830EA44C0B30B4AA9AF5FC96943A08F079C510D74A59E02F03703A3A9AD930AE198980B8B0DF5E7EE942FAA6AC0732985C13D8D6C24275737B8F7E4311765326ABE7CFF8D379ACD02C0CEBB2E5BB68CEF1F117B14253E973F827E46D251738F86028343E8F58027C82540646A0FA8E25D9CAB505A53E2FEA5749FCBFD08662CD53436D30FA8820264713C023E2F753A32D79DF3F427D003B0AC990337341D995C5EDD40E900A805414B8A8D042011D4D5A7A00CF404F54D6DA8A2508ED3D9DF59D00196F90931A1E487EDE597545029021BE4EB49B1E181DC36F24BABC9CED61ABA10C835700578DE0E410F053505F97A505D4B07F4A7972202BD38BD9854D734E4B3ECBB1DECED0D2F6D795A780900EC36CE989818A1542AB59A7BFDE2EF8542619A19EAB9B0E45D58EAF922B27174A76DDE7FA0453D2B48EFD063CA9B7E90E7DAEB4BAB748FD26D6EB7D38ED6B7E85C4321397F3B8DE625247181678F6308FAA99C02F286A79F37633A37E9C6E8E364761EE9B1B3331362B8CAA8AA6FE47A02C6DF297043B1E89A4BE198CE0038B61F4C947DB08D1C886F49551D9C8F17070E7325E720E656A0AFE991C164035B9A5F520DB7D40E6A72A7F0401F6A87E8CB2AEAB963890CF426177B5BAA696EC76744B0CB7613CB7E3395C3426C05EB6C8F26532010D2B3EB9FE40D0380053F343454E4E0E06087E76E0B6EB879B7959575DC05CA115CA41E7355C097BAD276EF35745DDF1DDCF4E119E90FB4A6E9797D41C221C1FF05EFE569EC1403F3D441F440ED06927F27E15C4E7C542828290181B1E1827E1A1DB20B7A8439E88EC34137AC77E09A31EC6A5A02D6414C59A7CC44D9DACA8AA323771727CA829B2AA9ACA750043411816FEBEC864897E14079DC7327500EAB800A88B02F7480D14F1F7A8582D21A52838622F1395F0F6700D34915F5ADE4E9E240019E2EDCF78E6F5271F4EC67F732DB585B9190BB8B93C725CDE60D7F1C0E00FBC1BBEEEE6E2902EA851136E7DA456FD84AED82CD077D0428220928E8455AD0772BE9797ACAB23D428FB46FA517021EA2248F2863797816DF4417AA4CA8B2A215A736D27D7EF772F6F1FF4EE710BBBD93F13BAB027727473A0DB1CD406530E7331B60F8329A427396955FCCF1775A7C34393BDBA14F28A2E2CA0B3A900C37C4B239B3A0843B5FCCBA644F8835D30159792D79B838521CE88865675E4915C9D19FB00A08863E302A2AAAAA8783B2811678C26E0B26E51C058B2B735B62049EC7E35F0C3E0F31DBB271CD8F00B001EA817313388A44A2207C306EEE75376CB5B777F0E18FA41FDE104086F4089F7BEDA2484D3269F91ACAB1394E0F776CA68DBECB696BD34794E976C0D41092470BD437F21E73584B2AF9F7646BF337AAACB3A6AAEA0729257E36B6C5E37480053A18B67236B4C0C9DE8E9B376281F7F170E3ACA9BDAD0D9DCE3D0FEB5B4B9121FE5C57CC1AB1D3B945A45269383A0A04A7B3D7F3E0A2ECD1F025A00AD8EC692E025F0F816714C5B2BE4FA9A642BC8F05202AD8178E4832EE066C2C20D8462F24AD80E3FDC1C41D04E2F9A7D60DAF00F6A34662B1D84EAD56FB0188E8889869BF0F0C0D5F0440C416A967C87A8D50432D36FDD420AAA33CEB93F460E7D31C002F347D4C87EDFF870CA4A7553D8B0D735377082243CB2E8ABE5E6F4F87D317D3277B7DD10F847353CE2C034F64E553CEF9520A4627CB28492211C13515A221ABA1E89000F41B51D4D3DBCFD15637962CF011086229C49BE908DB06B3A5CCAAE623F065358DE4E705FA090B4085185119B5D01425B6E5476E835C3F8E69EBB1B2DF0087C7513AA79317026F0E80AD9BD60F0780FD00D2810307ACB021473C67991F24B5778C8B4F485AEAEEE51DC1786C24F58C0484C717D271FB3354689349AB3A367000FCB9E9333A64BF97FBA2FB35A914E9FB1659D9CC31C6C77C8B8F6849A99290AC6C111AA78DB0852AB8A41ACEEB47870572DD31FBAE1359055C271C83EE370D816756F324DC505B4717373BCA4ED4D436B45246BE8C743AD04F6C1805797B5021C02A80E8BA39D973226C6525A2F36575D4D0DA4191D0137F00326C12714C31B50C04FBB140E6C478605ADE00D57001B700C49F9EDE70890873F6B3A1A1418C2A605AE0820DFB20F0013EFE81B363E3136EB57770741D493DC3AB8347B512F87EBBEF69B9FC510E80971A77D1F70E7B886FE2D37DDA140AF77E83B22B3EA294B075A4D647187DDC5FE4F7ABCB492C7E9D62C2CF524D43347576BE408A7E6F3A8E064D060E67BE9E75D24A8D9AD201461DAC6732BA59E6745ADABBD0CC9DE72C6A22783F32D80FFD44239D83805BC14EB21EC1155A520477C47A02464F11013EDC3E8FCF460E5C1263327FFE805DD6C226FFF47ADD00BF0F04993718FC1F7BA78B0060B9EDD98D3C733674500F848E8E8E128542610F5A726340E0A5A0B8C4E45BC2A3A2E74B245692D128A95FA0268DC18636F82CA7ED0D5FD0FF3A7E4922A398EED12550A8D75B9453F901CD08BB9F4A1BD7918DB8C33477C6173C6F8F8E21B424A22FFF398BEA1AEEE64498CDFF1FCFCAA54A74B32CA06CF6B4A75741E910EA46F87736131A0F9098BDCC845E308A4944150478B9711D30135D0FE70B222C81BD9CD8F4C3704D60DFD1D7D747FD2A25E87E38BD8C04C21C0DFD79F3533C8B9DF060356467678BECECECACD9CFB9A0C43CB0DA4F2AB58F9E3173D652DF80C05854076F58150CE9110CD8FC5AD747E899E677E85BC7CFC9CA684D2B747114EAF936E554BDC70150D2B891ECAD4BC8DEA6886C6CE38D49D3F6F0454235E517CD43496FA00A632F9D2C3B4B9DE97CCEB2B2B92036D39A7EB680D83538B1E1C11CF7772110A77364D00205D7C445C1153130B20BCBB98027C6849023FCB7855391979C3FB8E4929861D96F2405DC5B5777CF85C66A28DD580060280D0D82F1E2739B78639E9264402C58B04000A4D9CFD0DAA0DC9C5111ECB6FE8080C0E0B4A4B4B43B5C5CDC3C87F608438742A020835A4ABBED3E261B839496EB6328C4F35D3A57F52E074071C3D3E4602323A9551955B7FD819243D75249CD76BD343840F8B6E4552A8D3A4D482EBAA67909DD55F528E5645611BB193A1C34331360E8747AF409326E06343E32849B8696C31165A23356AAB59C15F571779EB44B5DD81C554B5B3B69900423036B09084B3AF0F2F3CF08062FFA1DF59CF0202D25252509A00D121B1B1B29DEEF8AE18D11989236FBA6B8E909D75BDBD8585B9A374A179CA2064307DDAC0F0400EF0180B739008AEA3793A36D0100A80200AB2839E43FE874E97EFACCE715D2863699E47E7517B344DC2DA5EB773E4E37862C40972AE14E531657D6C08A067055A0D5EA38FA61F33D4C1B98C71FB8F777C499B1E14098BFC86B78F66B21AECD2DAD5CD673011C0CFED06CE7F12F713AC35F1B0E44C6D11FAC8F1D3BA6E57ED3683C57450C00C1BA6521BA652B6CC41E0D8F3B96BE365269E4BC05D72E0B0D0B4F100A85FC41911E0A066B2BD57A197939EFA0DCEA37390064F55BC9C9F61CD9486AA9B67D2500584DA74AF6D3DBEE9B29A5FF1A92B86B4DE9B1BB79D67D8E745FED1F29C534939B9E66A72B03E07266A12F608D0E3B27500C918D41871B0FB7231008C631893676F6B386AE1519DFD4DCC2BD365444870360BE124603E0DB7DBB9D5D5C5CFA8E1E3DAABFACCB5206F5A1BDBD5D848182B071C46A464BFE7EFE8129F3175EB7CCD3CBD3CFD2249E91DA48DEEF844AB81B006C23676936598B1BA9AE630525063F4619A55F7300CC522C221BA394F6BB7C40DBDBFFA6EF53F409D0F9F258773C27791AB93A482947568E5146013E9E340376D47648236518E844270404D6C9BBBBA8B2BA96D46ACDF0AC1EE166CC57C2106046BC863EA151DED1F272E1B9B37BB18D6E76D5DD842ECC6273478C9620CE4C1F6CD1B039335A62B615227DC38CD4998BA5767652B31379DC68A73EF4003CDE3700A786EA3B965162D0139451B68703606EDFCD243149E89F4E1FD3A6E61D94917986E2C342F4B393638485A555E87C65DC69CDD9A802768E792C1B39DE8BC4FAD16394555452875C7E9156CCF2FB082046D301B61E34A7E96C6DFAA15426FBD468D41523564D709A8ACBAE0073FA30685B954A25BBD9D90D20F848ACADC36E587CD3F298D869A968A605969AB70B7EBC8FD41054B1E01D6A903F492F5B6FA439BDB79000BD037350EB5B5EA7E3C7D369466A0AC93BDA4D3D5D7253725C043FD8D7EBF26DA485D94C1D34A4ACAA9A6AEBEAF03A8D4921A3399D1140987AE41D05356525BB954AC57984AC16DFD7021AEFBB2C0D180F2DE5E6E6B2A96C6B3C750008EC2760FCFC0202126FBCF1A6157EB04D969AB791B3ADD877D283AC7A750A6AE7B55294249A9AD0BD7201C7BEB206ABACAC5405132816084582CBBB6674E415D706AAAD6FA4A2E252D268B5E310D14B2BC112006A557F53634DD5BEEECEF60C1678C4A30546A64BA552292B2A2A7483BF6F3A6957470FDA568D4623D26AB5B6103127ACF2C2F09F3377EEF5F3175EBBC4C1C1C9C15C373DDA6CABC0D2FC93466394C98A347C91D88A7DFDE55E6DDDD121A79CFC7CEAECEA1E75DEE6127E37AB033FFE6DD4E9156D2D0D3FB4D4D7FC0BEB6BF07D0DB0F09DA06905FA2A2D327FD87D06937A79BA39DB0A305CF0E5DE1821B7DDB17479524ACA5CEEE6080B9DF458137F17336F00C48E8E0E5D6969994120B6B21A0FDD309ECFC9CBA7AA9A5ACE9D5D4A1D9681184D07D80D1CA09BAC96BAAAFD087839E25A8F636EC5FA5E8542A196C9647A7337FCFD2437680CB5ADB05BECD748ECB153EE58EDEBE7E7177FFB9D4BEF0E0D8B881C76A267E41C13EF4290C70B1468495DDFD82AE009F82273D9AF37E829BFB088720B0A49AF378C8BC32DB999914028157D15ED8D35FB950A45FE00DD3423C9BA241289D2CDCD4DB777EF5E8B97B9FFA4B72899B3AD00C203FD82FFAC3973AEB971F1CD4B5D5D5D5D2E877A4603831D64D6D96C75578F42823AE70F4E1FB06C4F3F7D869B431A6BBAE0D2205B06C0A0D3C8E56D4DDFF575C94FE2ABD9BD668D5656561DE07905B25F0B9B6918EB7F6EFA596ED263B615FAC067D31AC8465B88F4A06D0D5AF1FBBB97CE9A33F75A6B6B6BF1E550CF68A028FAFA0CA732CE68ABEA1A25DF1F39666AEBE8145CFEBC8D251D60401B358AAE8E93F2D626C6F35538BE3A1C4F2BFEEE198D6EFEAD77499AB3AD58E58A9DF6F1F2F1895DB9F2BE7B626263E2047CC4EA32A86768E58CFCCCACEB166B551A9DD8B2971FFF0C26B724BE51ADEC91F5B4351F4453C56EF0AE41FC18DDC8D97F9FE2EBEBAB1D8D6E7E11F7090FB5AD6C5A839D040225B11FCEF39B356BD6DC3B97DDB5C2CBCBD3F3F28479E4B810BC99D7DEA055AA470060CE4E8E0300834EDDD4DBDEFA9D56AD3C87F5D5D8EF462CDB91480AD08E663C74F38BBA517BA86D4526B1D956665B3D3102EFBB6FD51DD75E7FFD0D525BA9F5B0D956C1E8811F36FFC46E6CB86691B61F15309688F2863458239B2E93D1A050F5C88FAB153D27B0C9AA8166AA15FBCCDC8D2A2121417FB959FF8BF9A982A1B6954D6BB07B88215E2EAC9B7677778F5CFDC8232B1312935250213C4BB3AD664F8F5EB0853463C122AD52A3158F3D6F634607783CBD56D59BABEEE93A846057B0ACC768C2DF72504E3F1C8E6EA4A7FFD501604E1FD88561CCB6E240D9D938DF3973E6CCBC6FD5AA95FEFE017EE3A59EC147CA82DF818234E28B6E661CF336EC3D469DA65AD3DB75D868D0C9900C95E8651AB08B6DA0CC5E18098E6E2EE717557E35BF9632D4B6767676C2185973B6152FF93FF8D0434B6EBEE5965B1DEDEDA56351CF4500E65FAFED576BC596663047026032EAE50665DF718356758ED10DEB64F1D966D8CA6E08AC12C9714574F38B076034DB8AD55E68EAC2D7AC5973EF4CA835A88A6F897A8602D0A7548BCD77B53F56028F67529346794EAF529CC27AF60B5A4C641B50851D96A610A6340023F5010190000C36DBCAD9D6B4B4B419AB573FB22A2C2C2CD81CF58C04C0F2992C9E916FD0969BD4CA1300A17C20EB6B27EAE9A71400966C2B56B1D956775093DF1F1E7EF8A6BB962D5B8ACA7030F7D9410006B6338C868426438BC0A03E6D32E88B10834A4637AC93BD124F3F2501B0645BD9FF7EC46C2B4009D9B469D3BD786D01FB65144B00B0070340482685D0A4CBE11B75792CE371FC6CD4E3EF76886DEFA0A7FF29B3FE57098025DB8A8C65D31A3EA9A9A9094F3EF9E483515151914300500300AB818B6075129EBE5460D0666133D51895C8F85A7CFE2715D9290580A5698DC18BC85015BEAB56AD5A74CF3DF7DC0D5A724E99FFBBFE3EA5CA4644867A31E9B3C968605453F5738AEC940460AC8BC890C941A0A57B5EDBF19E7F577B4BB1808C4D38CE4616788C3A34763F9BC84E69002C5D44C66C2BEB1F1064D643D86028D9F4013B1FFB738BEC6F02007367E35005B600815D48C640D1816AFAD8CF8FFDDC22FB9B0160E4D938E88300C116020C3E96462CF5A01B1678A3E91774D0530E809115316495C9F40B3CD8FF077745D6E4B1A518C80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (11,1,'Crypto-router_symbol_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000007F080600000027FACA070000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000261D4944415478DAED7D09781BD775EE9901402C240812043791D462AD14B539B663D9969DC64B9AC475DA24551AB769BEB85F9CB64E9E9B67FB392FCD4B6C377DCF4DDCE43DB74993C64E6CA771B3D5511CC7892D458BB558BB288B5A4891E2227127C19D048865E69D339801EE5C5C8020C54D2DE6D3D59D19020360FEFFFE67B9676624555561A196A79E7A4A7EF2C927D5871F7ED8575A5AFAE16834BA6C7272725C96E56EFC73EB515CFC7E7FE8E4C993117521BFE87FE2455A88F3FAC0030F3856AE5CF9B0C7E3F990C562A9743A9DBE8282825CB7DB0D914804FAFAFA606C6C0C46474787900CE791186F9C3A75EA7BBDBDBDFEBD7BF746B2B05DC304F8EA57BFFA3904FCE1E5CB975F77CB2DB7584A4A4A40511440A0419224ED35C63691E1C2850BB06BD72E181F1F1FCBC9C97979C78E1DFFEDC48913E12C74D718013EFBD9CF96AE5AB56AC7D2A54B6FAAA9A9B1565555018EFEA4D789BE4F381C86BABA3A387EFCB88AA468989898F8F457BEF2954359F8AE11023CFEF8E35B7D3EDF4F366EDCB86CC3860D8072AF8D76FA6C9477ADD1BAA102AC1AB0DFEFCC9933B07BF76E4025180A8542F7A1FF70300BE12227003A78D7555454ECC3515F45E0A3DDD7A43D180C92AC6BB69ED649F66D361BB85C2EC8CDCD053413DA3611C12003820EE817029A00407FA1677878F8F6A79F7EBA310BE32225C0238F3CE2C5D1FE7A7575F5D64D9B36416161A106624F4F0F343434405B5B1BA09C6B403B1C0E1AD91AF0797979808A01E41FD07B68BF4182FEFE7ED8B973278C8C8C10518EE3F16FFBCC673E93F50966B858E7F2E068E33F8300DE44F69E3CFC40200057AE5C81C3870FC3A54B973479A7FD086E0801ED42A02524841D55C18166C183231CCACACA342210418804A4106BD7AE8563C78E91A978576767E7C7F0A35ECE42B9C808F0E8A38F5621589F282F2FB778BD5EC0F81E308CD3E49B1C3A0213F7FBD1C13B846AF0DDB7DF7EFB2812204AEFC5FDF977DD75D72308FE87F175CBC864949696C69580D481CC04AE5BB0FFDB175F7CF1954F7DEA53C12C9C8B880068D757151515AD40FBAF3975434343505F5F0FB5B5B59AEC23317A11F84FA1677F10657D82A23F23D983C08E20511EBFFFFEFB5FDABC79F30BF8FE2D14311091ACD6D857B6DBED94272013B1A6A9A9E97ADC75380BE72221C0534F3DE542DBFC97EBD7AF77916493938752ADC936D9FFCACACA0934018F628CBFB7AFAF2F28080589086124C21904F99328FFAFE37A1581AF8F7CCD749003893E83157D8607B30498D922CFC541FD7EBF1781B985462C81454091C377F9F2654D0DD0E33FDBD8D8F8666B6BEB64BAE3200F945FFFFAD7F5F8DA7FC66328A42244263A26398A742C722AD134DC86A4CBC9C2B9480880C015622B21D926800838029F3C77F2F871FB0D94EDA10CF3FB91FDFBF73FDFD1D1D14461231180F2064400DDD450585989247067E15C24044050D6A38DB613504400F2E6DBDBDB35B0707718D56027019B219954741A270606060E1BB903722889486412F40492134DC9C62C9C8B800028C556B4D937E5E7E74BE4BD53E837383808DDDDDD5A0208E57B18B7DBA779D8303A8A7BC8E9230210A9885C141A528F7E8184EB7767E15C1C0A6045395E46CE1A8143809103482AA02773FA4924A639BDABE2318E22010244282200650E8900D4EB2AB04E32B245D96541098058C8A564FF69C4130128FE27D06841520C846976679A4B7373731712C04F21241D8B8E6D4C26E9B38715DBB76F97B3902E3001D05BA75158A0E936E24CF69A4840EB345211AC8091F0998653A9A28228E803F4D1F10C025014601000077F694D4D4D560116831388E038087072DA0830C373D7C19A44074E99EE31E93D78AC7EE3988602E8A42202E4EFDBB72F8BE842278230D45371643A28E4A3914F2120D97F024C6F93E8D14F7B060A5543C1F7068CE9636A06017412E43CF4D043D9B2B1852600CAB382A3D146C0934F469E3B3552046A086268260A80219F4ABE83110150336A07743361411F204B808526007AEB9B7C3E5F0129008143E093E7AE834FC06D5AB366CDD7EEBCF3CE100248F97F220C1122CA6EF37D6565A58CFEC52ACA2AD2B1890806C128278066C18A21283CF1C413595417820077DF7DF77AECFE0E01FB08DA6989649F24DA700009245DB2AB11B86A2362632337233214F54426B2FD7AB1A84600DA479F4321277EA6ADB6B6F6BF23B1EA512D2EE267B6640B48E78900F7DD77DFEFE349FFB2EEE85DC011BFE2CA952B4E8AD3093C9A13A032309ACE9D69010ABD8F1484C027C0693690C84361A1AE3454DCF28FB84F753A9DC76EBDF5D6167CDBFD5988E7810078D24BDC6EF7CDE4A8210986A9E1081C217B8F6D9852B6E8A4E52140767CB9933CF6E9462006D8A40034EAA9728880A7631329481D5C2ED7892D5BB6F83C1ECFCDF859D9FA8079340111042382A03850EA8B69A433925F45CA8004C02E1AD049D1AF878756DDA1233B102F4F639D3B7D5D95620B6DAB7AC68F7AFA0C891C4404DF5D5D5D7DA31E866A916316DEF9234054CFD700DB0844220235248505FB3C831CFABEA4F599FC9D88F0D8638F0D23F01EC6C46409308F26802EDD527802889A91BB9FCD6638926C8619F765EB03E6D3041804301CB6546DAABFCFE43D3AE0942882AC022CB009988B119E0941C84FE0E698B20A305F0440272E82C0A75480B95005FEFDE470926399558005F201C83B9FED519DE9DF35B4D119A4109159B204984F13A0C696590378BA0D1540D5C33FE3F85913309F0A10B300736FEB53FD8D1480F301B20A309F51009F0798ED113E55A3CBCAB82820AB000B9D089A0D6730D3F7D8ED7629AB000B9B0852E762D4671A56A2092005A0EF61FC26AB6478A6D965EE093053F0674B15AC56AB1CC205BF4BFC376DDFBE9D54209485797EA28079B3F72255400590A3D12881ED32488261619600532CB352148AB63792CA0798ADC4101FF70B14C082C408B3E44052641DC1F920C0744DC04CD2C553BD871400B8CBCD3032C83A82F34100AA05982F6F3FD53E520012234E99B204980F022000D1AB8D00AE56157402443865CA9A80B926801E6A45AF760467AA0AA9DE8304A0AF62BAE2089DC2AC02CC3501C8F3A372AF9928C06CFA02341BA89797671560BE15006D2D9D78693E337FA2E9605C4C04C07D5905980F1F80AA3D1108693EBCFD54EF111100F76709300F0490DADBDB156364CEA65D9F8E2A10018C4AE2AC09982702E8E5D992BE2ECFE7A817F900C493AC02CC130174F0E9ACE7343636DA100479AE62FC4CDE235200C84E094FB9586708BCAC377ABF0B623784905281361FAAA047017C822AAB00B3490092791D689BDE9CD80AB195D2E5D9C62DE067CBAECF80001217A26609305B0460463E9D54873EF23DD84AB055910960093017E5E1E94891350173AF0086CDA70B3CDD3AF85E6CE57A93E77BD4F397A1F13E0DAB005BB6DD695555C5A52A6AAEA2AA2E6D9D7A6D5B5B77E27A08D727703DD694D8BA626CAB6AB0A3E1ACFA5F8E008CB4CA3A0148FAF37412D095BEB9E3E3E37E97CBE5A30B3D71F49339B01A57EFCEA52A501D60FFC020345D6A86D160D81B0C2B1051E849240A4C46A3FFEF5D77DCFD2D04D2852FB625BD1F5F87800BD615BA7375F23ABEA874E5BA00AEFB71FD32F6D4DAF45E6B782EDA86DA5B47AE150264FCC008DDFEDB75C0BDBAEDD7EC3FB6327D3D372F2FAFB0A8A8A8C4E7F39517141494DAED7617E5E9911C16FC1BDD4452BBB4DBB8C67FAA0B3F8D9EC8E41F1C868EEE6E68EFEC86BE8101F023F04343231055A21A80084A0C2C2180CAD480A7204182B8B84FFF9CD87E765D616F58358CED327EE73AEC4FE0A93B21CB52ADBFEDD2D8B54E801CDDF6BBF56690C1ABAB815327894D3717A43056B7DB9D8FA428C5BED0E3F17891041E043F8F52B5440E5C57911C329244C67519FF2E836C91039361189B08C0E0C8180C0E0D43587BB6500A205902B0A019C0C4DF97211984E4892B81F9582613669C2F883FEE466F0A9EC27A592304365923C6E9CE8BE702D70A01241D50C309644D01B55C7DBF4D278A852181B12D33BD66AF9100560FB1C2575C525C5EB1DA955FB0CC96632FC193E35004009AC14C00986AF4C75ECF8D5EF6380253C01229F93822DF45D5815739A7496381800CB2B14EB7C4DF8FA4785592E5575BCFD65E5EEC049018608D519EA3373B3BEA3902B0DB71021495947957AFDF786BA1B7F836BBD3B1014FB08507337EE25311211D801C013219C54202F0801BEBFA90D7D7803D95898054075DDF29A56FB5B224BF8AFDAB176B8F9E5E5404E04860349923852C68867268AFABDE747DE9F2D5EBDEEF74E57E004DC08D382A2D71FB9A0180199120C9794B72E638C005441082AE8D75F34DAC0C2224620F2327160F9D8079F2598C0C3155B0586D20D1F313A2110119E43654861DB8FE2F678F1E685C14044811194882065C2FFFC1F64FAC757B3C8FE30FDB4E5142ECE401141478A1B4A4184268EFFD83E8D80DF64344BBADEC54244821E753C8786A2967C1077D1B7479374820204022E68C1341E26480FE773A73F177964179F912F0798BA0D857047DFE61D8BDEF0D08EBB7BCA3D7CB92C42B8582FB5EC3FE9BB507F7EC5F3404988210F1A1F0E77FF9375B90E57F8B1B1F4110A458F58E1DBC8585B07279156C5CBF06B7656D544411A4C64B6D70115B5FBF1FFAFDBD18CE8593CC003FF2C5044800AB4C27D914977701E8F175C6DEEBFB8CC58261AFC75D08959555505C4440FBA0A4D807EBD7AE829A75AB713DF6149571746EFFFA912FC1C953C792FD04486922C881FC06B6FF38BAE78DC8A22200BF3CF8F92F6EC593FFBFF0F8F792474E0E980B4701B1FFFACDD5505652A4FF28E07E746C9BE2F8F30D973432F4F4F521217A201A090B46B1C2012E2044A6A0EBA33821ED3AD8BCBD5763A3DB6177E088AE80125FB136A209ECA59515B06563352CAD5A02F63445C9CF7EF72578E1472F69A48E8F78DD449814C0301B9AE308467F19FBAF1EDAF9DAF38B8E007FFDD8970B1194E7F0B81F65E3647211BC28F7D72DAFC091B0124F9E5DD38A38F032FF83132D1C8942DDB98BD0D0D4023D3DBDD0DBDF8D04897080A7B7E162C0811BEDC9CE9D4180828222A027A095E0A8F615D1432D7DB0B17A0DAC59B5020A3CD37B5A4D67572F3CFCF857A0B9ADC9EC1C9AD6138321C97904FD7C81B41BB71FDCF7FA2F5A1605013EF78527B72108FF4EB7865314B36D35B6490D725D799A0958B37239AC5BBD1CA8A0572479B2605F281C815367CE43C3C566E8EAE94132F4306488D9EDA2421F783C05D0D4DCA07D1EA85C8A19D2387786A49B8800E0C92F40B0D762BB0EDE77E7ED50BDE6BA199FA7A7BEF6CFF09B375FD78584013E3622E220430AB300E6B0721CDB17B17D6BD78E9FAA0B4280CF7FE9EFA916E04BD89E40102C2CE0FCA834A78325C877E7A359F0C2C69A35B06A4555FCC1D18639908D98594E26C6E464088E9EAC83FA46244377B7E67EAC5AB11C3E70CF1D50545400FFF4DD7F43E5389DF84C1664860C90960090907D8829C1EA55EBE0B39FFE3324F0B2699FAB93B5E7E0C9A79F01FF507F0264BE1790210978CE4FC0FF0E62FFC06F7FFEA3A67925C0634FFC43199EE01FE3717E8FF7A8152595979D3C2F20491628C4515B565A0C376EA981CA8AF2B804B24A602648821013C190F6191E775E7CFF64280CDFFCF60B70F6C2199303191FD91C01803109091F2FB6EEF5FAD074D5C0873E7817BCFB5D337B3E151DFB0B4F7E1D8E1C3F6C063D6EFB7932E86600A40CFD04A91BDBB65FFDF8C54BF342802FFCDD3339F8FE03E884BD3BD9DB663CF6344430D970DD67B05A7270041741657919DC72D3E6B8E79C641E900C2633214B09C5D0C882244062FCE3B77F8024A813938021030BB8D1FB7CA528F76BE08F3FF401A8A95E9531D05D3DFDB0A4ACD8B4FF57BFDD0BDFF9FE0F20140A1A0902A34B069E053AE57A729611B75AF03C6CFBC50F9FEB9C73027CF1EFBFF11D7CFF5F659645E31520D56B20A12074E3871C0794A277BD62D952B8EDE6EBD1B6BB937D030378D9500B9921494C099E79F639A8ABAFA307D49AE37B9E08B19302BEE2320DF83FF9C8BD70DDB2CA8C81DFB3FF08BCB1E700B4B6B640C5920A58B17C29DC75C72DB072C552F8C213FF000D8DF5A6916F801A5781A43E06320B38EF2842B259388BDD7B7EFA83EF0CCC1901BEFCF4B39FC4F7BE94DEFBD6433460A75FA739E5ABBFD7E5C8431254C1C7FEE8FDE8443A93154136E7DA65960CB81E42127CFDD9EF41DDF93A860066FB4E3E49697129AC5BBB06EEFFE8BD38824B3207FEC011D8B9E720462A1763239C498A381DB9505A5A066D575A92F2C5F15491C4640D993E250998B019B8305ADF3E42E6E0E5EFFD5374D609F0E433DFDE84EF3B82003B85A029D38FC58D491552066374929FE02D2C42676B05BC77DBBB213FDF9D36429053388B86A9980C85E06BCF3E8FE6E02C7E0493E9C3D355E22B810DD5EBE0E338E28BBC051903BFEFE0317813816F6A6E84707892CF059A36A524E053806F02998B10985EE253CC9C99C0F6D197FEE59BBF98B59AC078B6CB223FA155D0E0886193308A1E5629526CF44BAA94795C0E46658FD1DBA020DF035B36AC03373A761D9DBD3030348AA389EA0372C061A7BA012BE4E4D8D14C58E93B31A0CB8C69489C24CA3DFCCFBF7910BEFEADEFC3F90BE74C8EDFC4440023891ED8F1FA2EB8FB3DB7C2F2A51553007F1C76ED3B08CDADCD108EC4EE4161B5D978CC852C481AF5714790DD2F023C31F24DA09BD64D7EC1E770C72F6655019E7EF6391FBEA753A1722B351349575280AEDB7A601232E92A849584876EC1114D2957ADA75A4089B665741EAD5A0512EDA3DC824D7B8D45DB47DB5A8F7F2365AA7DE73C0C8F0DC625396E0AE88E63762754942F41DB5F05EFBD7D2B9A9E8A38F0070E9F44E00F414B5B0B4422193CFED034FA25300F7C894DA527ED17FB04900474FA75A9E65FBFF9BFCFCF9A02C816CB36AAB5938CF06DCAD12DC79521391123A75002C8607F14475E04426176C246B49ED8C74EE0683795D0CAD512797DE36F8A1281CB1D97E1727B1B1C3A760C9620199662584A2AD47AB915A24A443BC954A9A4A6C73DD5BC89C00F30EF4F10426C164CBE417A02FC15AE3C3C6B04C0D1B57CBA397699CBBE09D50032D8C79000D8BC3DBB1FCCE01B402FABAA82E19151E8E9EB650087A4620EBEB083DEDFD1D9AE35ED545B2454119BD9999B7AA64C6812CC45EC9CDD17EE4BD7A75CDF34AB3E407373D31DAB56AD49025AE17A55083AA49C75330398E2BA418E14A22AE438A0E887E458ECB07AD50AF8FDF76ED36C3A9992BAF317E1786D1D34B75D81C1A1C1F8C4250F7C34AA421946042E97039D3B549B68589BA0A2B4733442935B518844E9398851CD144463B5807AE246658D7D922EB00027178F24FB04E67DA9B745BEC1F0E0C0DA5925405757976DEDDA6A731E1D6DAAAC03986AB48B4901422200BF3DD59C3C93BEA5AB549D760754AF5E09EF43E0298914375FE8336C46A7921A55139F387D0EDE395B8FF6BC1D4627464C36D96A8D45319FFEF3ED50EC4B1C834844F31174534A0A2D437A1F0C4E6A8EE4D8441026020108E076507FC22911C620D0C4F804B45EE982C97000954432178F70C0B20525661F201970B6D804A4C4BEE1A101FBAC12A0A3E34A3F395B6680E534A08BE49D051D84763E793A563C279FB0DB0AE4B9F2B439F77B7EEF1670E7E5A6AF8747B3B0F5C6CD5A23F05EFAE9AFE0424323460E4A5CDDC70363F0DC0F7F068F3CF400381CF638891CF61CAD4D6721A2BCFEE65B50DBD98DE8844DEF37016F025C448884B248A2F090731407FDFDC15925C0B9F3677BFCFE7E282E2E4969D745F65B28E18C1D4F0D7A42DA690419E7C42000ED2BF47860D3FAB570C7AD374E1B1832096FBD7D1C1DBE4EB0E518956D894920FFF0203CFFA357E0A1BFF8B8E8CAA38C9653EF5C80575EDB0981C9092D4165DCBD4EE2CC84C9096481E6404E992D0476EE20F61BEA4E1D1B9CF53CC0E1A387E0C37FB45D5C50C1839834FD2A98834F220167CFE93FFC417FFC07776AE5E1E72F3643674F2F9478BD5AF1054DCEC4EE1195F972BEA109F6634877B9A38BF40363F818F8A2B0B8BDA3137EBAE30DB8FFA31F9C1101B66C5C0B76BB0D8E9DAA83CEAE1E181A1DD5AAA04460B3F303291D426EFEC00C7C2293D8547F0E0607FCE15927C0A1430760FDBA1A58BF7E8358CA33250264B64E8F96BB71530DCA7B6C3266DBD61BA0DF3F08DE42CFB447657D630B1C3A7A0AAE74766944B311F0AAC5880120B953B5B374AEE122C6FF859A799976E88CDF91BE3B3572162F3434C38977CEA13FD58BBEC7984E5E33F0AC7368023A891C821EFF1F1D1D815DBFF9E594DF6D460420705EFEF10FE1B147BF084545BED42555A239780129F869589E00E5C53EB8F3F69B4DDFC1575438ADEF7CA9E5321C3C568BA3B91B5449CFDA992A7A5526B2534D45BEC6D6E113A7A1B4B80836D5AC99F1041A25AF3654AFD21A119BC870EACC05E8EEED83B1401043568BC90F30397D02FF40347F4024DBF9DA2B109898981302689F450F847EE1C5E7E191CF3F8EB6D336456D1D089D3F91CDE7C960C11372EF3D7768A9DE992C2D973BE0C88977E08A017C0E07BCA8AC5B85E4048FCE0ECAFB7B0BF3A1724959FC4F0383C3701AA3891B36D780273F6F3A3915D8B07EB5D6880C540379FA6C03F4F4F5C30446107622A9281AE0E60F7827F1EDDDBF85DEEEAED9AD07D02F0D0357C992A751D21E275993650BDC70C34DF0C94F3C107B4A2870F576023B9FAEEE4EE59338C8E4DB6FDE021BAB574F1B788A0AF6EC3F06A7CFD5836CB52457F072D5BC49DB712150794DD0E6141EF8F81F6ABF79CF81A3D070A90DC291B076F24B7C85B072D952B861CB7A6DD672260BE516CED537C1D90B4DD0D3EF87108692C65D6F85E0334EE2F9B3A761DFCED7615C7BC8F608F6A3EF60C8BAE5AA0860804FAB3A01FE874100EA972E5D067FF1C083182F9708490049EB7C554E7271062594565496C13DEFD93A63B9A5CFECECEE8177CE35425B07C5DE21C06F6D22417C1E80035D4D22827971615848F9000287BB318976B1AA55B22019BCB0E6BAE5683256A3139833433244E0D8C9B3B0F7E071C8F3E4C62AA2809B37C07F5124CD892307E07CDD6918D3809F05027057026957FAB88ACBFF8F6CB13CC212801A5DF1FBF18FFD29DC74D3D62429E77D0048458C380100721D39F087EF7F0FCCF47ECFC1C9100C60C4D0D3EB87A191314DA63BBA7B3593629C409537F20049E4E012C3D3FE1E040CE51CCA7C45B076F572A85EBD22E3888542DC03474EA16968A6E2486D5ADBE404EAEB63232370F4D05B28FB9D3036363A2D02583319F590B81F9055259759B0D033FB7EF4F24B70B1F122FCC9C7EE47C63B920B2FD3128099919354D876F3F519814F77AA1F1D1B87DEFE41181C198511047B68740C1DA02004C361CDE9328628913431C879585501E82A5C05F6DA62B3C67E43FFF0307461D879F8E4198D0C356BAFD366195345311730D43D72B20E82A130D81C39C94EA0BEDED57E19CE9FA925A0D30EE4544F4EB16600BE718127FD123B9E88B45A76E2C451686D6B817B3F781FDC78C3BB35E7842580287FCF1360DDCA2A282F2D4A1A0D816010FAFC4338A24791DD13303C3A0EA3E3014DDAB5DBC431F22DE1B6C36231397062E0B9BF73AFB94AFC4D9EB341863E54A39DE89F506D431946151BD7AD8425E525DAB9EA1F1882BD078EC300FE46BA3782C369155E6A16084C403B9EE7AE8E2BB1D2F7A9CDB89004D634E0CB60BEBCDBA13555B54FF56194297C19D5E0CD377F03EF7BDF0734B340B2A70AAEB0E1C951989F8B76B30AC322BF06F0F0C8388CE0081FC7111D0886B4220F76FE5EC2E8C0213B12E2ADF232AE32BE1C7F152F1B0D4C21F6575B3ECF390A36BD78A4C73F0CED7B8F82CB6987FC3C1774F70D400E3A99AEDC5C61D5501815C1EFEF037F5F8F26F719724FCB0B8A486015D87C1E7CE33E00D4DCAAAA3832FDCD03037EF8D9CF7F0CBB76BD0977DD750FDCB2F5B6D81CBAA81A575FA7F2EE37DF3A192BD432A907B2101D2953C9365FCC91E17A32F03C51521A0298521AA4A96A43A4A4D7C64C9D04A38110E4BAF3CCAF65AA868218D78F0E0FC26470DAF7949021761BDD291540E264DF009F665662378652D569C736C3C343F0CB575F813D7B77C1B65BEF802D5B6E8092D2D2B80F9038F9B1DE962327EDE78B39D8A454E6C04352AA571504FDE27070161613F6C97583FC3E99CC18AA0149FCC4F818E837659FC9A7CAC6AFD0EFE4A6261180937E037C870E3EDDFEA580149AEEAC35D3DF4FCFF6DDB9EB0DF8DD9E9D505E560E9B37BF0B366EDC0C65A5E5602ED386A4C28E94644861E3D534B65F480C412A3879B067E81426612BA5799DF9AFE41492ED27279AEEA144612079F557493B03E7284F02AB40FA8DBB79E430239FC0D7EF05A43A676330F4F4F6C0EF76EF4455F89D5632BD0989B0710392A1AC2C05F069F625D9789533EBAA500152D9FFA91CC2ABF503A4A4DDB1509A8A5C296434C2EB59D41D2B6302A22213C0C6FA164EFA3D0C018AF0100E98E5A5AFAF17F6EEDB0D6FEDDF0B5EAF17962D5D0E5555CBA0B2B252538744ED9E481978E78EB7E582D725A39F76FF4CFC41494A9FA052F519CEF8154E7A9B83C5204054FF51D4144305ACDC0B8D7BFFE440E20650742730E396700599440157B30C0D0D612C7F86EA0E627268CDD154A1B272292CA9A880254B2AA10849A20A0036DB7795034A15029C0CA63A05D0EA34CE7B2C25AD55054523B1EA66ED2A0449B3EF3293A398C345D2F18CEA2A608A19AD9CFCF30A6010C0686E759E6FBF4A69D5AEEE2ECD64D49E3E19ABC87138A0B0D00B059E42F014148027DF03F9D8DCF9F9DA35040EBB33A5D3974C8CA9F6A72705814AE561541718033AAAB5D84D3194B85D8F37FDFA85795C8CDBFB525D40840D0B0D13C0CB3FAB002EDD0C30B78253ADB0C04B2814D2CC86DFEF379F5CBD9113E5761319DCDA5D3C6CB89DA3DD803247FB1B4D05DBACFA3504DAB502B15ED54123D229D1D8BA92E23E44D14844CB42D23E8BE03BB069F2055E8C9B7BB337F152443E0070593F23F9E3D29B534F042DF82FCA640285424FCA851B40C4AE1C8AF53C40A95BEAD758F4BF49F2A23F1D5130DFC54D62D33E322715EC73000C12B0CDA62AD13064976B69E9E346BFA914594E9338B0089A55894483D9737AED2C68AE3A78D079072195D7A38A5CDE682838A2AA4A247B6AAF1902EC4917BEC81CE80AD3A2BAD718318510AA1A8D06837DD9537B4D80DF828EEC1926099434A865C1A88FEA214348EF27F516D25B647274A855894627B3A778512FE1C9C9E03382416C22812C18F91106F809AE6944C070291818ECAFD7AE09CB2E8B72090426BE37190C9E3106AD8000940854790530D84240D39CE338367AC8C1A8DE8FEB44084643938381E181E6ECA95E7C4B687272AFBFBF8F6E0C11D4B1349240C9994062819E0D3494C090FF091D74A79E0FC8D143C37838313936D26E7338DD8EBCFCD2EC695F343990D6F62B6DFF57C72FC098EF2898E7034C89209573FC26F5BF8D31C01BB38446A8A8B169ACBFE73CB985B985454B21FD7D11B2CBDCCBFEE18BF5E7BE110E87FDBA5A07040A1097FF380152A84010CC0F7A309208ACB3A8B5F1C1FE8BE16060A0B06CC97A59CEB167A198776F3FD4DDD9F1C2A9134776E88376CC30D59C0F90140558056160844B08494CB4C0021F6698150E05C6C37D979B47BCE5953568127C5958E667999C9CEC3879ECF0D72F35355C60FCB454A35F6147BF89008C0A182490F50318B2AE708EA21116D26BB489220A0DFBDBDB8EBB8B8A9717F84A57CA28075988E66CD4477ABABB7EF7FA2F7FFEFCD8D8E800073C6BFB4DE0F3C7B1720755F4D230C30C0097405098911FD49BF181133A119CA3FEBEFAB1417F2B926085A7B864856CB367CDC22C2D511C6457DA5AF6FCF6D73BFEA3B5B9A99D89CC58E027199C4CE0A7AD0A66009720513AA470B90263F40719E0E94BB8F59EA68F9DAAA238077BBBC687FABA9B0A4ACA96794BCB57E5D81DCE2C8433F6EE030D17CEEEFCC9BF7DFF976DADCD3D1CE8012EE40B73765F11812F24806E0A802181CA10810D132719128CE904C8639A564F8087730CF6748D0EF576371696962F2F2A295FE9C8CDF56421CDD8B31F3C75FCC8AE7FFDD6375EC3F0CECF803DC18C7676D44745B23FAD2B83F417AB8C398870A16298518109C6F3348A4772F566D41238880803DD9DC3D8EA9DB979858525654B3D45C515AEDCBC822CCCE665627CCCDFDC74F1D881B7761FFED9BFBF78167D2B7E9407190F3FCCB4A820E39712FC9404E07C0289C91EB191824104366B68148EE431E01BFB8C849223303E361C6869EAEC6C69B211197CE515CB0A7D2595B9EE7CEF7F55D0C746477A11F41307F6EE3AFCEA2B3FA967C036CE6F88013DC43878A972FDAA9AC1A5DF5396773126C1901459E00F18AC1CD7411E3546BE88004CB3231986AE3435B4632332E4172FA95C965F50589297EFF1395DB9EEFFAC80078381117F7F5F7337FEF2C387DE3AB5F337AF363100B31370931CE8610EF42827F7538EFA6911208549104D1987F4E30518B360874481A99D23819D6B362483FF72637DBB7E1C1BFA8CAEA292B2B2425F71A9A7C05BE2F614F8642AEABBC61694F0C8E040FF95DE9EEEE6D6E6C6A61347DFAEAF3B7DB29703975F0F7380B3C0B3E73F69864F9DC60DA06774BB78E62A2200733531FBA8581B9346361E2D6BF40E6EDB58CFE152CF36E678F4487A4B61517191AFB4BC2C2F3FBF0005C28D2A918F2DCFE972E6592CF4C47A715DDF5CD6045A628FB151C3A1D0283A6D0368C307C64647FB870607FA2E35D6B71C3EB0F712EE673DF410D38704FB238291CE3B76D1AB01FEAA08300511D8BA429E103C2978D07398D719DB56EE587C999AF679F8552C9E42AFBBC05B54807DBE3BDFE3C9CD737BEC7687DD6AB3D95038AC162BF536DAC4FF72B41EF7D82CC80A03580212CF6418CF4B5851559AFAD6D6B10F294A149B128A4622C189F1F1A191E14154F1DEBEEE8EF6BEE6A686FE00DD9420E11B453875644165B7D9D7B25E7C941BE50A978FB92AE06785000C11D89A335940082BD3F3CDC61184DF3640B731C761C990EA79C56C0A1BC03C5125312750B55A6DB2D3E5B28642A1F06430C0264F800340E1EC6E14922BA7A20230C30C31A22946765800385FC9336D1B3F2F0498421552A9035F786A15F436665D86144F2107F3649505A67E9E719299E6A21C85CB7DA80260221C09D2B588601F1B5E47B9CFE6CBB794D918EDF3428014AA20220370E0A52248263D3BF2F9092C99035F12643E8193571048AE22500255306AD979F728F7DAA8E0782A47C039077D5E08304D424802F02401B0EC8817BD9E3F8E88009022FDCDAB81A84FA5104A1A6055C1A85638E2C15CC8FBA222C0146400CE5E8BC8C1DB7511F0C0810F199800358D490001584A0AB30102B0457F1729CFBC82BEE00498062940E0C84969A45D12387D52060A2022829AA2871492AD0AF609415717CB495F4C0498013144A04F05B43C4DF0610A7548F77A555DEC27F75A20C05512642E976B02E0A996FF0FB34D1EEB0232D91C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (12,1,'Crypto-router_symbol_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773DF80000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000047F4944415448C7AD556D685B55187E6F723FD27C775993B426B529A5741397ADB5B128EBA0E80FD14145E9FC338B5445A6A05044D03F326C0545860CBF50A65018B6F8B16E9DD4E8D6B1424D8A0C2DDA8E655BD2765D933669BED39B9B9B7B7DCF6D5AD2D221B6BEE1C939F7DC93F739E7793F42C9B20C6546F5F4F4E8BBBBBBDF37994CEDA22846A7A7A7BFBE70E1C2E0D0D090003B3055F943575717D3D1D1F1763C1E7FDEEFF7DF5A5C5C6C42A2CFDC6E771BECD03611D8ED760A4F7D7C0CADBFBFFF84CFE77B359BCD6A0C06C3F1FF85201C0EAB229188399148843D1ECF525F5FDFF0D2D252A25028D8774A4095C7A0B3B3F33D8AA25E94242949D3749C65D98C4EA76BD0EBF569A7D379ACB7B777FABF12D0E50F1A8DA6D1E572D91C0E870D1DC23A868787FD8140C0895BA6772551110DE580ADC86432443E6ED731B817812008722C1663774D90CFE7A96D9C03C683BCDEF90DA835D32081712B01A6ED3A01BBE32C22DE71EEC400BF69B1585AAD562B5D5757271B2A2DA682285B42F3B36268EECEFC6A3E8F17120C02CF27711ECBF37C8C5251B3986D57CC34F83011F2F74C53E4A8C0614FFBE34FB6B47ADA4E565559F6DF0ECE31C1B910A023942AAFC8251404E5662CCB41DDFDB5D0585F0F5AAD0EBE1B3EB7CA30B49763B97727C7BC7F6C5B076FBCD3F78920F0AF3034A372D53AA0A9B101F43A2D0467E720164FC0C8E8A82259B5D5062FBFD00DED8F7A60391A832FCE0CC0E5F17150ABD5282723B334FDF9C8D0C0894D04274F7D7AB49017CF17CA4EA9D36AE1D083FBC16C3400A7E1E0F2D50958595981AEA78F2AEF47BC976061310CB22C01851F955AB546A2A671A49F3B73FA83C10D82975E7FEB4AD3BE078E8824B8784A328A45118A38B755ED85473CCDC0B12C9C1FFD15388E83B6870E2A92A5D239F8EDF76BC0A38C2AD51A01198381EB57BF3FFBCD918D4AFEF9979FE2CDCDAD401B194506E278AFC50C4F3D76589129347F17C6C6FDA0A25910448948019566133CDCE2403237CC048210B81582643A43EA0906C6BCD18D5681016674B61AFAD4C71FC2B3CF1C83E6432D204932B8F7D54368210C89441A62892448941AEC363B905BFF1D98550E36F9E775A8B15AA0C66E855496071922E0BD780EB2E994A810A073520B2E59145DA954120607CF82CF3701EE030721B61205A7A31668860196D34175B5162422294211B6348AF8158E65C06ABB0F6ECCCC28598787E0886F72031DC22D1545FDBA5CD1E832F8FC1330F5D714603705A3C1082693198C462318F418704EA3C44153A1016D854ED9B3AEFDBA2101A90996AC14119942267D9BAC6F578D45A948DA08E47239C86433C0E7792501B6FCDD963B273DED4BF25342C023A68A62E187447861BC20F059D885A5D3C985E0CD1BAF61A24C12F568649350AB083E7C9BCF66AECD07660EF3B69A272C365B03C3B255A8E0BFF6A05C2E9BBD33179A892E472E9DFEA8FFAB542A75971C1C7DCB9B2A9964130E2684015189A8B53B6A0F98CC7BEC06A3A9126130198DAC4AAD4EA11051A9282DA2F39BDE911F7DB817D760B5E458DCB6556C6A526BD9A52975517509AA529C48DCC4120A044489EDFCFC03B71E6B6242A160270000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (13,1,'Crypto-router_symbol_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002F0806000000A58249C90000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B174944415468DED55A697013F7157FBBBA25CB97245B9223DBD80E60D3842BE14A4873113E0065723913326DA7F996F443DBA15F683B65683A30D366DA0E90494A67C8B4E9346498D264202199128E002D606C63B0C1E05360F9D061D9D62DAD76FBDEEABFB26C6CEC3009B86B3FBFBDB4FBFBBD7B57E6244982D92C9B376F366FD8B0E185F2F2F2F52A95CAE9F57A3DA150A8EBE2C58BFB5D2ED7CDEDDBB78B701F166E26021C2E3B76EC58BB66CD9ABF2C5CB870BEC96402FA0CCFF3E0F7FBE1F2E5CB6DCDCDCD3F55ABD5C7EF0709F54C276CDDBAB562EDDAB5EF151616CE3F7DFA34DCBA752B61369B23B5B5B505687915CAA27038BCBFADADED793CBDF15E13E0EF7470DBB66D457575753F426BD71E3F7E1C1A1B1B5BCE9D3BB7F48D37DEB09C3973A61E41F7462211D068342EBBDDFEC383070F6AE714814422C1A1B51FEFE9E981AEAE2EA1A9A9E9AD43870E5DA363070E1C38D2D9D9F9273C87C20C0C06C3B31E8FE781394540AFD77368619BDBED064CD8686F6F6FA772ACB5B535B96FDFBEFD98CCC3A228423299B4626E14CF2902084844E04594AC482486BBE2B9C703810011F3098200284614C39C4A620AA1EEEEEEA2FEFE7E181B1B4BA147F4EBD6AD2B88C56222C6BDE4743A0DB83F68341A6587A1278C73A68C6EDAB469652A95FA4D7E7EFE13C1605087E0380A152A9FCA42DB65656550525222328F9C4452BFDDB56BD789FBEE01ACEB4F3B1C8EE73039D3D8BC0298A8A3E9743A8CA492485AA5D56A39F402A096743A1D8FC7B4586A97E0FA46FCF8FD27808005B230765D1556222B7A82040A0A0A80F4E4752AA77BF7EE8D63D869E6440E207801AD2A8709E999D69127604323EFCC0D0254811490A4675AA7DC402F242994FE2F3DA010C0F5B9E1012507EE043ED70398F4108D4689F43D25C0CFE481E9004F26A49046D1CE090208247527C093D7691EC2304ADFEB249E96008E05E26CC387343544E681FB4B80CB2C3A4C48FD9DC04F458E79E0BE57211D8ACBE7F35551A39A29F62755A2347E36EB81FAFA7A5573E760B1944E73AE62EDF0891327846F7D1642EB17A0AAC51162557575F5F7707E2BC14E6BC631416FB55AF534C0E188A1292A2A02BDC108DEC03078FDC3104BC4E1ABD36742B1783281A3F5080660B120A48BD282C00969795A85B4901E451DC0ED405AD6A900AF520DF29CFA9CC1A03A35D0D1E1FB2608500858511C2845CC23B44F633617E6D52C5AB4AAC8625BA2D5E9ABB0F658101410C0348DD4E48D095A069DD18AA748338F02DD9BA37BF2721FC16EDE86728AE75527794E77AAB3E5ACF7AEA6518EAE08A062C26D7C79CB43F905965D368BE5C979952E7E7434049DF894E61F0E20A8DB41D2B6BC5F242D32D02CD9093CDE93EE4BBDA3D2550155F32A615E65059E2BC1071F7E08747715AF92500E6878D5AF2E9CFE77F75DBD9578139F898538B7239D4EBD69B7D9552B962F863247095A8A2796D0D5ED86EB1D5D70F5FA0DF007FC9944C699281E8F2168310B5A110E2458B17C05AC7C6429549697C3FC9A79E0B09728A30BFC78EB2FE07CE345D91B8A208914C7F3FB745AE9AD639F7C32346B023FFBF5CED74541F81D82B208C2B8656D360BCCAB70C1A20535E0B497CA64A807B45EEB001C45A1C255067BFEFC3EF40FF68F5B9C955993C9084F3DF104FCE09517A1B4C43AE17E878F7E09BFDFBD47BE16EB29E8098584ACC3185A3F39F2D15FF7CF48E0973BFF588F803FCA8644B6D28CAFD3C75C4E276C58FF345AB30CD468792243613130E483B777BF079E81013C4F94C7EEA71E7F0C36AE7F260B3C1C8DC191A3C7E04253337AA21A1A9A2E21E9810C78464226C0F1B91E9130BA5FFB68FF3B1F4E4B60C78E835A2ECFE74390F999A413592CE726601A346A2DD4CEAF019BB508B4F860A3D36941A7D58241AFC7751D8C8C8CC181431FC370701456AF5C0EAB1E5906CB1EAE83683C0E47BF3801C7BE3A8BC70220677126EF282AE5D0A41F9EE7E4E456BC217B84B679D540A5D558BE7DFB7661CA3E90D2F43F99AF33E74F4C4091593FA39598BE76A303DAAE2B312EB150C1C74CF48C0E49A530E48C26035CBAD206972EB7C90F3E94DC63A130453DE4E59965021C97AD1E32788E55A60CF89C90CA78C3D1E71B7B06CFFE624A02274F7DF950FDCBAF66008BE284B227834F8F27A5288DAF4B48A00A7363D5A34BE1E1BAF9F24D07BD3E387BBE09CE9C6BC0474F1DBCF6D2664C5A1B442351882593904CA620859A72A7A1A915BA6FF63242138567E1A4103976F89F95D376E2A69646CFB3CF3C07768773DCDAB9A07380D385D7AE5A06410C97BA05D55812CBB2D789608C5F6EEB80F6CE5E30184DB2C53FFBF224BCBEE525A8282F9B704F9F3F08A3636190785A1F661EC82531EE8D21CC93F6AB5786A6CD01A3BDEC5567A9F31F3FDFBA0DF47ADD94C0C9DA94138F3DBA18962FAE9BF0F9582C01172E5D81962BED1045CBCAD7A7BA9FA99560B514C1F75FDA04EEBE01D99A0F5695CBE094A5AF7F08DA3B7AA0DBDD07C323237259568890B7FEB66F3712687D1EAFFBF16D04A881E94B1C5B741AED07369B0D5E78FE1558BA645916BC942522C103A55658F7DD9513275824E50F04A1F9CA75E8B9E9C9342C822EFF8E6B03267C349E90C3C564D063E8954175A50B3DE8CC5E2B1E4FC2A7C74EC3A03F40290D7EDF009C3AF6395C6BBD0C03FD7D5902EA1CF0D4750D3878E5D3383682EC3FF8FBFBD0D0700E5E7CB11E9C8E32D99A4440AB51C1776A6BA017AD383A1681514C4A0A81D170345BF38D7979132CAF6865316B7499FBA2B83D5E70F7FBC0A46FC5D26C972B597B971B92A914E4E1BC75D3DD03ED6D2D983B912CDC0939C0C053A0964A42CA853CB237EAEEE982DD7BFE00AB573F068B172F436B55815AA386C6D66EB9E2486C2C9030804DC6CC7707F28F74BBE5332D77BA99404E5FF07883726899F30BE4DD9E5B6E884523B74DD1142DF4E241CDE61E1AD62C280BD103D5B7BDA140AB36349C874B979A418F35BEAABA06E63FB800AAAA6AC081C94EC93C4E4462866624D89890C52E4D66C1B15D622651556AEC271AD068B4100E87A67DEF4C731A9E2FA9993BC8E476940508D671A7E98F42C4EDEEC538EC87FFFCF7AC6C75BBDD9179C165CE07FA0687AA8EC968C086669009A34933E334F600AA686410F2889CBC541EC9A4085C8B8D50A59AD5146D64CF1D698580968DCE259220A8BECE3C9E4A2561104BDBF0B05FB61A81C8E88C15D9EBC79C63B84DFBB58AD6CA1ABED65D21C026E5EC232579517EB5904EC6C724312DC01C5D301C83A8DA9438E41970AA692328D4208663C1E0B5390A5E8C44C33BA94F52D5A65D6AC684BEB8184069A76A948A47C4907F482CB4D917CA33C01C58B089F97DDEC17742A3A39FE2E618114042929AFE60322571871F852C9F226F24C2A1803712EE2A2C752E292EB157CEF46DCEB7B5E0A369A2BBABE35F870F1FDA9F8844DC3479A044E950B60F906B90047D853448D3003BE926EEAF0E0E7AFA22C1E18AD28A79CB0B2D56AC541AF5BD009E4C2462DD9DD72FBCBBE7ED775B5B9AAE526833CBC715EB4FE8C48C449CC5568479E4164A59321173DCBA71F5A287E72DF9C5D6AA625B6965B1D5E62CB0D88ABF29CFE0A89E1E1CE8EFE9F7DCBCD2DAD27CFEF0A1030DF1789C3050D2869861099B28E5CC3F53BD95E0586955B386411D9ADA6221D305ACE41662592C76B82A6B9090DD603098B0FEE36F9E1EC5909767426DD6E37E0D954FECB249ACFD311CCFA32861511442424A08E1636A7068B0EFFAF1CF3F3BEFF50EF818D80893282B30A9C9C0677C26CE21C233325A263A462A8F899E351575CE9B0C35134EAFD7D3B680D68C3020C9493ACE804618D824B3B4C02AE494C067F556620A329043489D039A67C7B9492494F0127224CD2A5FAE56C02AFB246996FF85C2CDF6BF55EE40287742E472D6737343CA6D9630C55847397837B9F33FD0996C4041A692E80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (14,1,'Crypto-router_symbol_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003F0806000000501DCECA0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000FF34944415468DEDD5B796C1CD779FF66662FEE2ECF2597F729528765C9B268C9AAE3D4B22C25A8EAD4285A3B409BF60F418652D428E0B6A85114B5A43A810BA468D20641A0C0418AA27013CB8728F992654BB225459464EBA068923A68EEF25A1ECB63C9E59E73F4FBDEBE19CEAE96144529A8D6237C7C73EFFC7EEFF71DEFCD48D0340D96B3ECDAB5AB6CF3E6CDDF292F2F6F1545B129994C2A82208CF7F5F59D3D7AF4E887C78E1DEB871C58843B2560CF9E3DD6356BD6FCD1EAD5ABFFB1B9B9B9B5A8A80854556546F71A1919819E9E9E2F2F5FBEFCD2F4F4F447070E1C48DECF0448FBF6EDBBA30B3A3B3B9F59B76EDDCF57AC58D1128FC7617C7C1CA2D128C8B20C369B0DEC763BB85C2E2F1EFB96C3E198ECEAEAEA686D6D55EF57022C4B3D71FFFEFD22F6E803DBB76FFFCF9A9A1AAFCFE783EEEE6E50144546A0E308DADAD0D0508A0B14171783D7EB2D45B778756060E033BCBC27E709884422AEA6A6A617D0E76B464747E1E38F3F06ECE54B7EBFFF071D1D1D9FA3FF6BBB77EFFE6B748D3D8D8D8D4544427F7F7F092EFF70F0E0C1EF3FFBECB3899C26007BDA8E60B691DCCF9C390348C2747B7BFB6EF4F78BFA39087CDFF3CF3F0F6EB7FB25ABD50A641817BE3D34345485877DF72301E21D28205F92A4BAE1E161B87EFD3AF97C5F381CF69BCFC10C106B6B6BFB11BA472F1E630420715EB49AFBD5059644004A5842308D168BC51E080458E04B24123368F1CC7391A0C8C4C4443B1206783E20691624634D4E1370FEFC7907125047698EFC3F168B0106B8290C74B7F83582D610FC249DC37E40643FB132A70920FFC7A68CC093511C409BC094989500ECF109520092C4EA0324A112B38823678320A639010B9C4DB44E850E4A9F3240F9B66DDBFE12C1A9A80CAA02A9556B6B6B85B1B1B13A5407AB09A85640024B9D4EA7152F8FE55C25F8DC73CF95616FFF127B7603163AE5580B5851DE02499BCB3B6DA1FB2161803501E4E7E73302F0FC28127768E3C68D3F7DF9E597CFE69402B0B72B0A0A0A9E4630D8C94208D7C7B1472308348A99404680024ADDCE09D1C8F03C088542AC764015A8485C78CB962DDFC5FD27F096B9450081A4068159B1DA2BE40628692A790DCBDCD6F791BDF2CA2B3790281109B0E55C0C20FF26C36066D5073DFAC067B16DF37E1A2952DCC0756BCE1180BD267312B2025CCCF46B50442A650E5C724F01287D1941288B01BC9D0A50011A118064E6A6027402EE42052A2720F7144075909A5AEE48F619C614909331006B798A01EA1D024E338AA5540FDC8F04DCB614C602282D062CC70D904495BB932DE708C0F4450FAFDE2968B3D1F88013907B0A181C1CC4C24FD19693FE4C04B07BE17AEE2900C7F634C8D19693FE3209C83905E0034B3E9F8F86C2C2728B20329A19E24B6EA4411AF5F063F968F5E802D6E516416605E092336950422B406B40DB80967737A5301220E80A2072D73DFE789198803245534A939A5AA6CA9A0BF3CC94AA262764419990C296099FEF72485BEE6BABBB9D0FC06724D97BD15AD01EF47ABD8F783C9E661C0A7B7074E774BBDD765C779496963ACACBCBAD788C6682D908302F2F0F66E72230303C0253A11998C3F5EEEBD7E6A6A6A65DC9A41C9555C5AA28AA4555149A28C12A2BD52201C63ADBC613D02665599940122730084D8892388429F594458213637D7D23BF4B0274F997A095F3D6494AA00922EECBF6C2C2C2E2FAFAFA5A6F6555B3DDE9F68064299635A15891158B0E6E1EA8CA81EAA04925E9E0557E9ECA8F6BB4AEA59434FF6CA9891851947A24094E4A92F584D5A29DBC79E5CAD8BD2440E001D2CADDC16A325B717171FEC62D4FEC70B8F3BFE174BB1E43C015493969805539D814A8F99ED5F73317318155950CF7D1E65D28F57CFA330AF46CCC28AE545554C3E8584A0882247D49CAD044CBAFBACE7E76F19E4D89994811BFF7BDBF710B6EF1FBF8402F3AF3DC158DF5B5B0764D0BF69406377A7DD0D7EF87FE810136196A06AF0364EB0C3C079E019AEEA3B70C3C075E5850040DF57550575B03F535B5D856C3CAA62638DD7E017EF2F39F8188AA10445D1922A9E4535192FEFDF327B6BCABEDDDABDE1302FEEAEFFE798FACCA3FC487F738F35CB0FEC1D5F0C0CA26B0D9AC20997E7C6C7C12BAAE5D87EB37FBC0D7DF8F64C4E78322023348D07B99AD6B693DDEBCA2051E6D7D18EA6A1030825EBBBA19E38B33ED7946C782B0EB85176164748429422465E8CFC1DC44A0F576FCB3EBD377DFEE5E36017FBB7F7F8992105E5364F58F5593EFD203DBED0EA8ABAE8446EC9D07563583153588CC1B840C0E8FC2D5AE6E54C510AC6A6906F2AB37DADA20118FCFF73A81663D3E4F80DD6687279F7812FEFE85DD1854B3CFA6FFDB4F7F01EF1C39CC5D424CB5049AA94130A942A0B9B87D1FBCF9FABFDE31012FEEFF499105E2E7B1D75BE6C1CF13304F8606F998059A908855CD4DACC7240B11418488062118C1E1E8F153F0FAC137D96CB1AA71E05CF2349BBC65D326D8B9E32978787DFACBA4E0C41474DFE885C7363D0C3D37BE8297F6BE02D1580C285A994910798C60E08D164D12FEE5EDFF7E6DEF9209A0FBFED3AB3F3E8CE09E36FCD4085C664BF765ABC50A1BD7AF8367766E078BD592065EE2647CF8C929F89F37DE047AB34624B89C4E947C2BFCC18EADB0724563DA738C0527A1EDFD8FE0E4A933100A4D83B7AC1CF29C79E0C77843E8D93F83844C350846D660FB24E9F9D70FFCC76B4B22E0873F3EF01D59510E2F04349BB95D6E588BAE505C5C083624C266B380953E9A40A35841400BDC2E26EB9367CEC1C143EF3277686C68804D0FAF87CDAD0F414D5505FBFD91B10938F2E12770F6FC7998999DC9E81A960F8C96252D1309A299084198274010FDF5A5AEA6BDA6C0B8E0848864B36E1715294B4F6BC6B61EB5F5731218F0BEE8E864B256B95FAB66FFA62088AD45A20792C066B73155043090B57D1080231F7D028D75B5E0C5C2EA72E79730179963CF9297E7CCCC48FA0A8B2BA9ED4C2598DC4234B6EB835175079E7CF4B6044C4F4EEE2C2BF3A697B6A6E8CD8019DBF3EB462ACB88EC44427959196CC69E5EF7C02A0C8ED7A0B3E706F4F6F9405664764E617E013460D44F601A7DE8C1B52C9D527D9148CA2027536D924CC1F54492A947E0E0B21390E11668D7BB3BBFB924027A7B6FDAABAB6B3340AB69BDAEA7B05B5A8380D4B9759515B069E37A687D68ADF13AADDC5B0ADBB77E03AEDDF4C11B87DE83C9E969882713E02929863FFCD6D6455ED4AAF0C9A976F8EDB92F607A269402A6AB21733DC328185E3A776676497382573BAF4C3DB96D472DF9D3A23D6D809EEFF10757B5305F1F0B0661C3BA3518D81A6EB9FFE474080B998B28F56E88C5136C0C41D79EB970094A3D251814D7677DAE7822010E749DDA9A4AD0063454839CD6FBF3D5E2AD6A080C0DC2F0607F6849040C0E0E44DF7FAF0DFEF44FBECB7376664FEB249853990A9EE222D8B9FD9B58AA4A59EF4B03A4B3172EA3FC7B51D2099626093C95BB7A3C3E7EBA1D4A8A0AA16545BDFE7A9E65115A9C18407FFFF71E61361B9E83ABDDE446FD3018184D4DC00A26028C00294012DDE5D8BBEF2C793E407495570BA7CF7C06959555B075EB5359647EEB3AA5B89D4F3DBE20F8C9A91006BA4F2138359D4A91749E06A9929781D78CAAFFE8C9DF42184792D77AFB6002AFA3D8D0D25807CD4D752CA8D1928F2A7B6CD30666E17004BAAEF762393E0CC3A3E369994146A28F1F3F0A33984617258080A7F20C0D7A34E6ACEF1C7A0BFC7E3FFCD99FFF05381DCE546437556F66F93FBA610DFA70D12D3F42120F4E4EC1D4F40C34D455B36BA2B144EA970CEC29E80605D89CBE7005F47159DFC030B3D3A89EFADA4A5881E390066CF5C5ED76E2FE2A18088CB3EF129862F0DA99D0149C3E7E0CE53F60CAA35908E0E0453ED475E30318B3371D572FC3F08F06E1E99DCFC0239B37830D6F6E0C58B4542CA8F67A580F052743109A0D63800AC3CC0CB5B3108EC40C9074BE2059C1E9B4CCEF9B7F139BB69EF5652D82F20D8E826F6004F2717C50535906B555E5ACE7FB0602EC38CD4B50878C0606A1EBEA158846E76E19EDEA932D968CE1AF9DCF0495E303A415E15485FDE6E0EBF0F1898F60C753DF864D9B1FC560E4307A3F1A97E1834F2FA4C6F1DAFC684E0391E5716374A78131BE37B60D199834B050852EE85D28604D01E00F04C13714A452171CF83BD4F3C9780C8630E04D06C7179AED12F45FB0986461E593203401D2840F9997EDEA10A6AB436D6FC1FB1F1E81A6C615B072E51A68695E0994326D360707A399F2BF96D6FBFA5724696D1A01FAAA961D7D8686F5B901FA4CD761CFC32C118391E1A10515C4314B5C049A854B5FE2B33D34F343A1B719EF605F6C9448BDEEF3F7C12032FDD9A913589F3B3140B54073730B96B68DE0F194B148AC193DAE47F92C6D1ADEDBC0C78BB0444FB9123E3A05522B124024504659C262E39DADD2774D16132B4440295A355AAD39062C6549627EBE79F33AF87C5FB18729C0AACE534A738505E8936E1C27D01880BE1AC963C3684A7D34ECB551C0421049ACECA8F2A30F5214CCEDFABC0165173D361060024E32A72C62919635C96CE704D057EC060122278042B8879470B713B291680412810492116484A4CC6AACB35EB3A6EF4B5F4F6D5B33B64D53ECCB5D129C0051076E362B9FF4B42BC9F80C7C3D972BA630C2FC5FE52EA7725910434925160D2E128B7372C1BAE52615B926CC9A1E351434FA8887EAE4496A9564622C3E1BEAFFFA80D7A2E1D9997D1C6752EF5C9D00991FA05E1FE22C8DC766A6BB1391F0E8D7A0E7E393C1E0ABB158AC0337C37A0064D19F5EFCF2098608BD0C46F3F348C982FBECF84842492456167B2B5A78BACCA925168DFABA3AAFFC607878F0225777442780D501A6E44B2AA0B1F230DF478AA01A3214094DCE26E391404979F5DAFCA2126F2E004FCAC9B0FFABDE2387DFFEF57FC5E371C2348546813DAE83372A41DA401528FC6088CB438F09E416E3C9586C64D4DFEB9F1E1FA92CABAA5D5BE829ADCE1C58DC0F4B341A99BEF4F9B9C3BFFAE5CFDE9C0A060334B9C58147383EFAE6F1D639414E82AA33C4B3C12C676E98BF2C2D8B47E6FC83377BBA027E6B495149691D12515B58EC29B7E417E4FF7F00566439393E1AE81DF0F7755CFAE2DCF94307FFB7038B29BDB7C31C788C2B5C597438CCE381C0C1CB9C8C391E1B02BC50222B5492C98289D140271A0177399CAE526F5575A3A7ACA2A6A4B4ACC262713B7F47D15C0D8E8F0F8C0606BABAAE5EBDF4FE7B6F5D0A87D8405F073BC72DA6A7740E5CCBF6BA7DE1F702FAFC522A5358780DEDE01523998B5B7E464BC01D9E52AFB7A0C4E3C973BADC4E97CB892342679ED34D6FD79D4896C3459B2EA7C391E7A2FF8D228822FB2033AAC84A4455E4B9643211961372389188CFC463B1995834321509CF4E5CBCD0DE3334D41F3401D67B58076C06BD20F025BF1ACB204227C3FCC6D8C1B386FEFADC69AAB7F573B319BB2F4D923A9DF962381CD2A3B3CC5B1D44C2B42FCE6353DC94CF93A6EBF4824EBD1DF03B7E396A9A34317F5F249A00594CA4584CFB7402CDE0C58C71B9CAC1CA265F554CFBCD269BC851CD551D18934B4B07252C77D06352869910C1542B88E69ADBA422B39AF4E36A16031328D55496DF15E07B46C00284C022A95158A0850CB0E913035982E0BD0CAAFF07B7BC38A039A5AA7C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (15,1,'Crypto-router_symbol_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000005F080600000017B4C2400000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001AA74944415478DAED5D09901BE5957EDDBA463392E63E3D33F6D873F836600C3826608249C8C6040824D9DA65D95C9BCDA6B6B65249209B6C6D88A9DDAD902CCB1536F16643415CB049A08209C159C0388180EFDB339ECB735F9A4323CDA1914652ABF7BD5FDDD2DFADD68C663C361BAC1F7EF7A16E8DF47DEF7DEFBDBFFF6E09B22CC3A568F7DF7F7F8ED96CCE5EB972E51687C3717B2412A9C4BFE5C77DE3F8F2A9975F7EF93DABD53AB97FFFFE61B8829BB0D40408D81E78E081FA9292921F21F05B56AF5E9DBB66CD1AC8C9C98168340A3E9F0FBABABAA0B9B9D9333333D3363535F5E4F7BEF7BD5FCA97CA12AE240276EDDA6546E0BF6B3299BEB663C70E27AEB3FD168B05D4BF4324F8FD7E080402D0DBDB0BADADAD818989897DB8FEA5C71F7FDC77A511605EAA37FACC673E63DAB469D38F2449FAE2BDF7DE6BCECACA82D9D959D6097C740CD6911CB0D96C8C94868606703A9DF6D75F7FFD9ECACACA65F8365BAF34024CE8FE4BF2468383835F2F2E2EFEE65D77DD65A16D8FC703EDEDED70F2E449E8EBEB83E1E161B68FAC9F081145919D8732C5B6F1D8CA0B172E946DDEBCF9B58C042DB03DF2C82357BB5CAE8377DC7147166D0F0D0DC16F7EF31BA6F704305ABC172D3E60B7DB2DB9B9B9F9797979E6E5CB9743616121F308FA0C7BF6ECA16367F09C1A348A918C042DA0A1EC3C8EC1360B331D989C9C84975E7A09BABBBBA1ACACAC7B7A7AFAD903070EEC46EB9E4192C4BBEFBEFB13CB962DFB161EBB818E2F282860D244847476766623418FE2F6FD574A50BE680250FBAD5BB66CB9AAA2A20230AB01041B1A1B1B01411E44D03FBE6FDFBE76C452E24E79BEAEAEEED5FBEEBBEF1994A17B2816504C282D2D250228487FF24A4A88C48B7D830D1B363C585B5BEB0A0683E0F57AE1CD37DF248FA0FE1882DFA6039F35D4FBC9D3A74F7F03A56AC4ED76039D4B52459E80CD8592765F8680F4727E1101DE41E0515A49164C246066338505D6CFF0B568AA73F7EEDDDB3B3636F6120566F21C4A4FC91394B4F5D32FBEF8A22943C03C6DFBF6ED62381CAE26E0C88A9B9A9A00B701ABDD51AC72A5B9CE258D6F696979786464C4437183CE5333225C5F8D9E61CE10304FABAFAF17106C1BE5FA945E6251C5E4073DA33B3B3B5B9AEF7CB4F2713C6F00AB6146209EC36408DFA318B3234B8680791A5ABE8840658742212641580B00653608E0D0F8F878349DF740E087315362E723996A5A9A83D5B13D43C03C0DB59ACE671E4000928E9384200101AC84D321208AFA3F44DEA356CC4400BEAF05E3436D260D9DA76185EB40AC4C94C9908C908E534730039882A6E50178BC8FE487BC88E447AD92D19396650898A7915420F0261A66A0EC87AC582121442FA7294141029F485083B9326E5498198A98A3EDD8B1E3C3A8D94F60017535A69D8C8063C78EB120BC62C50AB2FE0815C924335C8F6F23C0124A5614CF75AE5AB5CA555454049839B14A9AA40C25E889E3C78F3F803D9C2140D776EEDCF9EF68EDB7E0B979983A56A30C992906504E4F952D0553A5A84A2790B32A9808A0F35439C2F41430908F63A6F5FB9A9A9ACF3FF8E083531909521A5AEA2D08D835A8D56124C18B8091B5CB8585858C50B4604AF32364E1E811F4371CD8ED069E2021E0D19E9E1E029C86B04D44209E336BB7DB7B6EBDF5D67AFC5BF7E0715FC59E2180D3FEB032AE6FC15E4C56AC76BA0E4052428D52528C07B88804705F08C115946EA163B00B780E6D8BB44EAF516A8B013C676060201FFF8E99BC01971FD89A60B104C8A4D36ADAC977DAA74A8BCBE5A2A519BB532587278B274DB7CFD4D9D939A37E3EF4086B8600ED185094075C4FC45CE4E8F719EDA758803126C2C5918C07E80BA874C09D8B9CB9482302507AC22A01B83F43809104A503F8422C5FDD47F10563477C2CE9833C2EB4680216036CBAE4281224A91E80CB4C0C58480CB858728800CC9C246E2A4BC603741E105D88DE2FC41B780952332A243C43403A316029E4471D8C4302641AD6C864417348D0A5901F75481AC18F5211A6109E890173A5A14B9D111101349CA17AC0075982C4454A5074A1BABE905A80085067CE7DD083F062AF88494B213FA9F62BE9677C9816C9C810A0F380C8A5921F5582780FA001D80C0189004CE6195ECAA06B1403E84F7184673C80E74095A0858EF1A41B1B14D99139D233041849D0A5AA05681F822E673C20597EE878533476C96BC9826E8A5A40CEC4004EF7B199948A341BF37351B1CC251B0F328803190FE0822E814F375FB8B0976385EAE009586CCE3F1709BC045DE931808EA10BEAF9D869B2547D3018CC550AA48BB2FCB9C85132A12B7B389AB37E22A080AC1F7B55201010C2E1F00C8DD1D09494A5AE05E8627E48922CE1A88CE9960C81B074F3D537DDF6981C95EC72349A1D95952E45ED5149CE9663DB109524FA4C01EA98A605705F4096A23318B068DEA41BF7F50851A93762117ABC9D9D0346F72E5CEE36E7BC2085009B62FD65D82B8800F2049BCD5656545454515C5C5C9D9F9F4F3323B2EC76BBD5E9749A1D0E8785A69AD3842D9AF19CEA62BCC96C8671EF040CB887C13D320A1E9F0F3C9E7118C31E8948311265CE4B548FD1EC9335DB09E2D5752257624B597B1CA5D203A228F4626ED12A8AA61366513C9E6F13CFB6B7B7CFFE7F2280F4D7893D0F3B494F31F64265DDAE6428740C4D51A17BBC0A5D2E575E61616131925088E0DBAD562BBD6612CCE82DB2608DC860094951CB6C2862A201371E5459052D25F0F21C64D0B66CB82D2BE7D252F534EE7BC63BCD7512C0D48839C00951301D8F88E637DC2D67BADE1702940FA7663F36A56763CFE1C08F13A0489ABAA4F34C35750D2B9655AFDAE2CCCFDF82165F96006E1E203912640E7CFDF1BC07C4A54CD9A71210035C051E14F0654D6D192380BEAFC893115B0AE2595CDD8B5EB2B7FDF4B1539795002EFF57E3814901D8CC6D8BDCBA69EBCD1FD9545056F10974888FE2495551FAD2D1484212640E78054C59B16C234FE04993354BCEAAE3C72A4B15787A1D12B18618487C63393EE221C4BEA8C61BB2B2B263F245379D8802234714841E5CDF6B3299779F3BF476F36521C0800C3E8312D4FED9CF7FE57693C5FA2DFC925B09305422A82C2F876515A5D0373004EEE161181E76431883AC21B03C19B24E420C09E0C1E7AC3CAA000EDA40AF141549D3B645CCB84A8B4AA1BAAA1A3F2B7DDE3258869FBBB3BB1F9E7BFE3976BCA812932042C67F5E378BC263C7DF7EEB8DCB4680BEEDDAB54BEC1BF3DF835FFDDB08D4D5F809A1B8B008965756C0C675F56CB26ECCB5057274E8EE1D80D60B5DD08F840C0D0F41440AC7AD39C98AF552C24B8A465E62DB9ACC2A0EBE0A7A6C98DB6E77C0F2AA4A282F2D878A7202BA0C6A5654E3675D0D79B9CEF8F7F2FA26E1CBFFF020B4B63733CF10635F822382932A416CC2CDFF3874E3F5CFCA0F3D14BD6C047CF59BDFDD2C45A59FA3E5AD252B952419F273F3A1BEAE06D637AC02ABCDA27C40214957A9B577F640736B27F4F6F7C3A07B10A448380E349F9A463596CD93A00DAA09F0633A6FB55861C3BAF5505E5686BD9481BD616D035457966BEA0CA3F6E8D3CFC0F3BF7C21663C90F8FC1A12285E88DC771384F7A282F8853FBEF6EBB64B4A00FDBDBFFFC787BF264BD2F7111CABAAEDF1340FDF331BF5B3B4B8186A9657C2BAD5ABE253D613812DE6CE22291A7EAFF32D17A0097B776F2F0C0C221998A297969422910D70BEB51D49EAD6CA4B12E83A9DA705FE575A5C0E6B5637C087AEBB16EEFCB35BD3FA7E6D1DDDF08D7F7A084647471901F1D800DA18A1E962DC1B02B8F8E76D57AD7DECA134BC61C1047C73D7A3455238F82C82FD89784A286B09881762CA32D7990B1568810DB52B614D7D0DB33E8123401413DE41E79E6D6AC578E1811DDBB78223271BB5B80F763FF702F4F5F5CC093E28190EF301391664EB6AEBE1C35B6F807B3E793B381D39E9C9EAF79F80FD6F1F608003E701C049694A2214793209C201BB1CDCF9AB5FFD2AB06404A0DE67FBC17E1841DD10D5CB441211B261EE5D985F0495CBCA60E3DAD550BBB29A81CF7B05ADC7B74531FE7A47571FFCE4993D18CCFB92C08F03AF6ABD2C40437D036CBB7E0BDC7DC747214BB901DCA8B5A3B5171516407E9E8B6DBF7BE838FCDB634FC26C30A0583E1810A17A04E8C017F51EB1AF24DB74D7EEDDBBC34B42C077FEE5D1FFC1A3FFDC1874E38247BBCE174102661EC5B0BCBA0A767E6C3BD8AC9604F8AA67702490555156F2F44F9F83FEC17E0EFC84EE1324AB15E077DE7E0B58CCA9475A1A9BDBE1957D6FC2C933A759AC68A8AB83B5F57570ECF4193877BE31919672CB38F820C4130B8D3C899C772462C32FD65697FE652A394A9B80EF3EF2E4D7F15B3E6A987B6BC04D1032171939D90E6858B5126EDEB605B5BE88D7D004E82A014282842E94A3A7FEEB5918181A88EBBC09F7D7A3D4DCB4F53AD871CB36B63D17F0AFFEEF5B70FADC399809F84173ED936DA001A8F5810006440889B8A091225D1D01899415E5E88BCFFDF8B167164D003D8A4C709478113C8716FC6422B48590960C352DCCC34C696D432DEABB1DAD8F9E9662856CBB1DBB0D7B364A861533282BF30A5A37E3316AE641ADABA71F7EF4D39F63E61423C182165CB37C39D4D6AC801BB75E0B2B31F0EB5B53F305F8ED1B07D0BA9B20180CCC71B515626072B2C3EF8BC702AE7A8639628292359DFCD9933FD8BC6802FEF5A9FFBE4188CA8752163FBA4228BDB17FFD3109C2B0E40733066A9309ADC764468BC66D8B192CB8CF6C8EF560300C3DFD3D10BF2EA114594446754525ACACA9866D376C66B7CDEE7BF36D683CDF0CB3A160BA591E47869048FDB86D813388C47A429AF45D164D37ECFEE1C34716341C1DBF1E68326F97C5548550B2BC247B8211F8609CC37301952AE630D606EA7E474E0E9324DFC404CB70E83E3359C976E24BFCB777B08FF5770E1D45F204088563839BEABD6BF3CD39E06FF0E441E65FE701D78E25F164F099117C12772E8E80BEFEBE9D2B96AFD0498DAE12D578828195F3C303D1E461027D07AE92CD75BAE0EA8D6BE1B69BB7218816387CFC0C34616DD0D1DDC31E75C313408D32AD8AF2120887C23112D9CDE3B8C4AA3B1296D83E498AB0216F22188B49456A54108DC8E0C1E6E428EE016000BC9A4109D0D3D571CD822FC8A8ADB5A559AC5D559BA21235B2F4A831E8290A270DF04A60A5F7C8CFCB87CD1BD7C1CD1FBA0EB2B212D64B819BFAB43F00078F9E82B60B9DD0D5DB876086181124355BB75C05D7E0B9296675A0572029A1085B0683B3189003F87E33E85D53F087F78EC2D8F838D0708F568E5213A15907AE66507A575B4B74D104B434378DDC79E7A7E2566E0C3A0F72744EEBE6C197680A8A9C0086C82D292A846B37AD83EBAFDDC46241AA46417C755D0D66446E162328EB50E3C12BFBF643517E015457951B0D286280B7B2CE93F2FA81F7E0E8A9B330393D89898145334AAAC01B0756B30DDA220D7452C49E0AD97CCEBD68023C9EB1E0201640D5D52BB4E3EBD1B96484D7794EEFF98BF978FE47AEBF8691D082566C315B18F09BD637CC7BA7FDC0E0301C78F7301B362009A1EA9A82B53AD6194299F9E5DE7DF0E5CF7D1625CC91CE282F6C5AD780DE13C22CAB0F86C7C634201B011E972C0D31C931A2A7F3024AA53FBCE82CC851B2EC1745A5259F7DE01BDF4629B0278F3CA6DB75B2B3B2AA123EB5F3D6F85352D279BCC1E0D008BC73F838B475F5E2E790E292A52441DC387F6C4143205FF88B4F6176B4B099F803EE112CD2CEB3D15B26475420265C62EE78C05D5B08F8FDF0EC4F9E8081FE9EDD92247D65511E406F37EEF1C0F32FEC81BFFD9BBFA3DB16932FAACB5C559AC6784D8E3D0B3EBEE346832CC3B8B947C6E05DD4FB0E2CC4C8006255AE2901BAB2A2B9D882FF8F8E7BE1E5D7F6C3A7EFFC58FC6F0CE17BE5B99C60CF4A3D44B1ACAC84756AFDE86D679A5AA1B77F10C67D93209A44C34A1974A92979F8FEDFBD02FEE9A945CF8A6025654E7105DB6E6E6E84DFFEF615B8EBAE7BC0685E506AE041430E2173EB4DD763D1959516FBE7DB3A61FF1F0E434496D8F585F84515CEFA35EB712662DB5D7D83F0D63B47E0AAF5ABE1ED83C7A003258624ABB2A20C6A5754C386B5B5AC204CD52A2B4A596719E1A01B8BB90B8C940904D68C758AB6628E6D10F8870FFE1EDC28DD8B1A8CE32E438AD9C5E52F98CCE67B99CE626F6858039FFBEB2F81CBE94C99C3270F0FC7E0A17A617DFD72B861F3C60549C2D4F40C4B3F5B3A7A94A028A74180BA1ADBA01A429DFCCB075F8A3D5598B6D6D65461505FC90AC0F9DAB8D707BF7EED00F803B3AC30042E130A0666E0D03B6F41475B2BF8BC1E98F0F9C0E71B4F4F8204357A24AE015B94656204B1BD0D7EF0837F85FBFFEA0BB076EDBA39E48623451938CB47D7BFEEEAF529BF181144B9FDF098177C93533031398DCB69CC4CFC109C9D65D359648DE4C87AD98F93A3E301523F434A8081110FF4BB47E1D0C946A842E9A95D59C58634F4D248F5C4BB4730F5EDEC6359973DDBAE9121CFE8301C3F72103C63A30B9F98C581AF5E64B7B2D90F067333A7FDD3B0FBA74FC3B6AD37C26DB7DD0E4545C5C9E3F23AEDA7AAF4C6EB37C5C7FD43582879BC130C68DFA41F26A7FC0CE840301477EB38D8E89059367B02725EF3F5FA6FE0D5F29CB5AFB6F50F8F41CF109271A2112ACB8AA1AEA61A0BBB62686CE9C058D0861956146C2C7E2406ECE8216183BD3DD0DD75018BBD70CA29B6FA47329B0D3E8BA858BD559982423A93325A1D46B68F9D38069B375F0B1FDD713B94975768D2CD84FC44A1382F17F57888C9C9D4D40C735F992E88A9F2C1FE47A0F1CBF1430BA0795DD668BCACD37B39096D79010408493BFB873DD033308AB1C7041189D25D0BD8CC89B494D2EBC9491F8C0C0D826F7C1CE6F9338292F1C94904289ACF83EF50265F15E0F1733E42923EC4A95327E0ECD9D3B061C35570D34DDBA16E551D678C31127CD301F0628F0551815991FA59F80135999710EEF538E43218CA8FFEF5C5FB00684642191A420C2C25CC82C56A63536D7C5E2F8482690DF2A9AA22F1249839E9014EF3739499703403AE148FCE4E375836359D8396962670B972611392B171E3555053B34AB9E74BD61092349026CB5AD2787931901C7E7F92AD5FCC640F215E7669E0B39AA97A8E4DABA4F9AB1313DE854E8436299F4CD27B80C04DB8CA52AC9F26E352225C8E50642DF43BF831461C397A08E5E928381D4E58BF6E03AC5EB30EAAB0F872E4B892C9E065C560841374E468E54647C2C53E7D5D09A8EA7C20BAC063620F9535B30C4910177563916ADC9486C9CACDEEB2999B6865E2743F376EFD44820CB68BF93E3398969D38791C4E9F39C58A9882FC423609AA0A7B454525FDCE00FB72098BD6790257E1EAAB5DD9908085C84FE208894649D924B098818A420CEC18E0025C6453A76D46141298F29875EE6151E67CBA9419D105312296F651011318B4CE374F416B5B0B9B954679383D35312FBF805D2DCBCBCD658F3B2319733AE91738ECF1E10A8DDAA7003A9503D0B07424121B9AA6E168894D3B4C4C7164964EB7C82AF5CEC5639EE401846348218139995997FD5815021C0A09B9CACCE84BFA28792A8E3C9E31F0FABCF14135B5E8A3D841D52F4D71B7586CEC32250540ABC58C0590955D1FA0D7453610A7A29F20470D6F9428B0E922CA7BAB20F3A05FCA86C62372F36945558AF404A82C652952443D2B2A452EDB7CF95404C59ECA1BC1250137C3B458E4882260C5F8654C7E5B5D17E1FDFC41022460502140A367A2410DC0CF7E663D1A0A4D40A65D6C3BC98D30A83DE91E313502AA0F58658E1C0905A7E00AFDA5BB256A34FFA585C3379E69F004A84FB40D2B81625659D255F1D9C86C603883E3E25A2422BDAAE029F186CD13A0824FD139A83036AD74BAEA3D1BF08DB747C3A1E90C9C0B06FFDCE4A4F7C70A01618E80240F90948308F049EC3EEC5E6539895E30EDF78C3661400C67604DAF614DE1191B753F0CB1E75E07B81434CA7B00AFF9218E00BA283AA2740FA5EF52243C3E3DE23EF77E67457F1A961F1E18ECEBF94E2010E8559424A87880A47A00AB84E91F652C487DE63F313501899BED3432159E0D84C7077AA6F24A2AD666BB728B33501B149A3EEF5B278E1C7C6A6666C6AD60E9E708D0C4003397FDA804849413F4F2A406E602599266BD437DD3E1E04C4D7E4979C3BCB79B5C212D2A49FEB6E6A6FF7CEF8FBF7F43017E52919F1905BF7810D68C862A5EA05AB95EE355690A2A6FE457862972A7BD9E40606A7220AFA4BCCE55585465BA428940B999E9EA68FBDDBE577FFDE2E8F0F0A002BA0A7C4031DC881E7CDE03781224CE4564CE2BD4EC684A619791807161D233D8EBF18D0C9E2F2C5F569F5754B61CABD12BE237C042B3B353674F1FDFB7E7D9DD7BC7868747146CFC4A9FE1321FF5E75CE439AF88E93C21A4AB0D54022615022843CA53C68C5C52249233D2D733EA191A385358B6AC2EAFB0B832C7E9CC87A51ED27A9F1B3D31D23D38D072E6E4D1834F3FF5C3D7C74747BD5CBAAE6A3D9FF14846966F48800109116E1951185549F0AAE02B0376AC2311D923FD3DC3D8B3AC367B6E5179454D41716995C39557F4A74A063D57C23D34D8D2DC78E6C84BBFD8F35E7BEB79B702F80C27332AE821CEEAA37CC663F4DEE6142CB3933822A206B1604A21C1A1F41CDD7A766836601FECEEE8C56EB366D95DA515952B9C79F925D88B1CC8082CC1AFB95EA2601AF1793DFD282B1D3D3D9D6DAFED7DE9687767FB18F7DD839CA5CFEAA426A21FCA99EBB791CDF3B91B97A286B96A39A4FC71D51B68F49486B1B395650EB7CE7A2818B0F575B67740EC7913568CD7598565E56505452565F9E8224E576E41564E8EE372FF5640241C0A4E4F05C7BDDEF17EF7407F47CBF9C6D677FFF85647D0EFE7819ED5813DCB59BA8A8BC4E7F873593DDFD2BE474C375F48E06A04F54A8FFAE00E9B4288BEDBB8AE1E67D18FBC2207D9798545F9AEBCFC3C576E5E6E8EC395EB70BA9CB6ACAC2C8BC56AB1DAAC16B3C56AB6D1938A2C36FAC7CC2E178AB16B07B200614166E357E1A82C87408E86F03B86C291907F066BF9E9C9C9719F776C6464D83DD2D1DEEA1E710F4E7229765807F02C272B3CE011CE18554B973801497BE07231CF8A10382D17B9CE3FC84325C4CC01CD3F59C5A63B867FC28AFE2120F1197AEA4780C45336E87E26C8B1DBF11C31EA0FF843ECE91ADA9FCA8A70D6C9CB4458076848B72FCC1DA7079C9798B4A466C9084841849E0C91F30E154C8B8E20B3C17EFE8A9109129305F40408BA21743000862782EF111DA011DD6B3C59FCFB447543C9515DCC5C1C8E4B31CC9F820C3D29820E5C51B7AEDF27E8CE1574E00B0604400A0B4DFA29451D41B26E9FACB36EBE2E922F16F42527C0800C484188A0B3665E5E0483F5B9804FCA197444188138D7B6FE5CCD52BE4417A4844B7DA12B05217A624007702AC05359BF11197A50C1C89253BCCF2503FCB213B04862C000F4F98E9517B8FFB2029DAAFD1FDEE710B125BBBB070000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (16,1,'Disk_array_2D_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000180806000000320BF5E50000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000010F74944415468DEB55A696C14E7197E6777767DE35D9FE0038CB9C261623087482348802828213FA234AA447E04A45655A4AAAA447EF657941F8D1A892A51A3A64242423489841285464D40A8342424DC4702C6107C801D03BEED5DAFBD8777A7EFF3CE7CEBD9F1ECDA28C948B3F3CD3733DFF3BDC7F75EDF6AC160B0351E8FFB0CC3D0C83AE605CB8A02C1F2F2A58D0D5E8FE6A1E1915103FDB15829E5E58D512A95D43C1EAF413FE331119D3092E49D5AB8A0CA4FA4D1C8A3626A3906D7DC6E359A989834C8EB4BD65697FB30F0E8E8988187014F8C465379944A32A6D7C4D47202B8E3692E13989C9C34743DCFA8AA0C7A53A914854261C3E74951BE3645E1949F928CE9F5DAE9CC81ACE59AC2F4C3FE817E0A87C2A9D0E870B7DFEF677EE6C9C9324FE8B1582CC00A50E3F17848D334C2A452060D2EA8AEF42FACABA5C6C6465AB060016DDBB68DDE7EFB380D0D9D26BC1B8D4669C99225D29E9A9A9213DFAA361392D1C6A9EBBA9C914884128984BC8F76717131E9BE0A9EE8806FF1A285B478F162AAADADA5279E7882DE78E3180BEA2CE5E7E753381CA665CB960951764C8CA530B2618E8F8FCB3DDE652108667930C0F813BE8685F5545D5D4DC78E1DA34B972ED1FEE7D7D1CD5440BEC35153533303D38E61A71757F09199CBF39E4863329F85E99555D5F2FDB2258D545A5A4A478F1EA5CEF63BB4777B13757B82C24F3CAFABAB9BC14F279E1B26E8C495652AFDAC4C543B7F3E75C4E2068FB71434819745454518FF9E5E50504085858532000E619AD797A14D3D3D3DF4E38F3FD2E9D3DFF3046FD28B2FBE48C3C3C3A2048A216A32AA6D3FC180EA870FA98E0966F5A7918101FA9E3187C7C604FBB1C71EA387FCDC7E74747488829D3A759519D5462FBFFC32F5F7F70B5315D18A416E9860402DBFBFC0C21CE6F1BF2B29A1310B130CEEEDED258B6C518886860611CAD858273D8C106DD9B245F040A77DEC6CB8E85BC2E3D7048382D9373A4A67ADC50241AC5EBD9AC642E1F4DA2CE1F92C5AB48896D454B095EDA1BE298D366CD820988A4E2786F31E74AE64A157050282D9CBF8171813FD10727D7D3D452626C9EBF18A42CF9B378FB66EDD4A57AF5E95F17530036641AD7E741ABA778649B975EB160B32C95A4CB242410C040B2075B5B7ED5768E5325E017F7CF659B6AF013A70F02075F1E426F93908C5E166DBDBDADA449B71AC58B142CED9B0D433588B35CCA0DF3FF30CB154E9AFEFBD471D2C64AC4460625CD3B64F9B4A589DCACA4A4A5CEF94FB850B170A6F9C18D9DAB0664D3E1FFDE1F9E785CE370F1C203F0B1ECFC05737D30DA5F34C8ED2405B8FDCC3E2421673C1C315BCDDC074EDDBB54BE8FCF35B6FC99C1526E8C478EC3F69EFDEBDA21458F450BCCB972FE7E9E88012A8D58F41A389D40C6198E0A60208F35C4E11A4EDEA7C6667B661BD0393A79E3BBD1DE6924AB98FEB86E1360F3B1E143C1333130F8C135AAD7BAC986C18594FD068A7D339273C9A0EB7C8C70AE3999AB6B8C05482733B150D19F46A9974D86937DB26CDCACACBCA671CDC8B0B80D953AB1F2B24118E640C8877366FDECC93BD26F77D7D7DF29ED3D73BFDBFF2CD308177D934FDE3CB2FC96082FBD9078FF3CA50BE58B4D4B134A0981B376EE4D619B987B9C6AA768B31EC7D0A136377B09B5298C3D60AC5BC95C23B57E3DDBB77A9ABAB8B9AF3CDFBA1A121F9C62DA671A31763B7339DEF9C3841062BD320DFC798F1CA178B301C8AD9DEDE4E6303F7A9D663DEC3152AF39F0B57B5C1DB56E6CB3BC78F0B26E88C5B8B1942578797DB1F7DF491B81DF0BCD8B486317101F00B6AF5E3A35064326392555555545151C141D962F6C3BD74EDDA351106FA4094DD37D9AF767FD5CE7EB19BC7CA67468C7350E5E7C957F28431CEE0E020391519E6B8ACAC8C311BF99D4109CEE0BF61A29DE367BBDE62CC2E1ED4CF3445D8E7175A4121CC2630359BFCC148C439172E5CA0965D2D549657262E08C2007FEC74E6A2F53BE6E7F74C936436ACC43ECBF443391E3C7840C52C00058AB1D177E3FA0DFACDD6260A721078FDFA75190782B28F9D0BF3122FD02B56F037CE82F55B4A06790E70BC5532AF54780BD9AA130A29AE61E7CE9DBD1CE5D760E580099854F7FDFEC1C292E28ABAEA4A669817E91105CB384245EAC42B6B6222C2D6C06F9918F3C73272E6D598799DBE18E92B19D3DF4C2250D2F3687E65990829CC049532E3D979D1A404458CE9CF33C7D4EC631A19634E5F35D779D94D649485E22FC8A772048ADC373830C4CCD1282FBF803CF0C35309F2B3F5488F61C7C8A011CECB9D76A74B4AB04214E6175230584A71E6F9085B2908238F237360C65868CA15D9BF150423831A57B7EB9C27043F3595A2B170D8181DECD7A058CA0AB09534B300DC405BA011623ABC9A042F95E565FCF23C2A0B0425FD0A87033C58179BCA2EAAA8AC2243524643AE8631DD4ED97C955CDDFA32AEBCBAD8DCE2A864AB525C2293E36093577F28C066BD83BABBBB19B342DE356CDF092EAE645E536A2EF66786FBB341C6F4B0A2549495CB7D7F5FBFF8E7354183067C95629D2AABAAA6E9B38F99CAA437A39F663E577C981A9F824E5339F31656618873F43C2D49CB4B0B68D45F6E625654DAF83513D75078D9F8EDE88FC723A25C9A759AE198D9D691134201B0FAF13226051351C42B03796B5D5D2D07B401DABE7D3BBDF4D2DFF8D93792B67570EE0A3F6DE4146C2AA38DF15454ADFA46395542BAE7F355D320AF8602C65DC8A94B90CD376A0F3B76BCC9ED6B9275B4DFC9C4B40744B361822E15E8C2950013EE243A19154CDC23B63973E60CADF696D3ED89219ACFF9F3BDAECEF48A748E9DEDAA022EC553E5AB514F0906D8DAB0204B98E72B998F3DACD8B76EDEA0F9C900752487C5ED753126E69D8B9FCE7E58111C8859D056D8E023167184E9743BC402C024C0F7AC59B34606F048243BFD12FC2598A30EE4910051819E4A392058679F2ABC94B7B6D286EA6A0E02F2A99573D04BDCEEE771215010FD90579F3D0B806F1C16F36806323B76EC9831AEFD547DEA0A3A16B00F6FB630AF5FBE4C1739F618191991201098F719C34E2778B169D3263226DB8579CDCDCD2248157839719C6DD0B992F9B48E5339A44BD7396E39C958E8875240A1E0DAECA098CBA6E635940A750B664B4B8B0875363C75C5D86BFBFBA9891518745E39778E4EF198AA0E80382D1A8BA75D883343D0A1DDB00228F6A8CA9EE650001C5F7FFD356B55821040C36260E273CDC90154C30CFFF5962D92ABF670E4ABCC90D262B7E3D4A9534C64325D34C1FBB361A936567A3DAF7085D979F3E6AC98B06C78FEE07FE6FC10FC211E996B4E0E813430E62BBC40A40EC098AEB4D978BB6EDD3AD22686E9CED96EB987B5556977AEFA83D7AA2FE05CC18AFD0A5B4BD0D9C68BCB2D05D534CAB0228A07A200CAC429BFA0B9E4E4CB972FE7DFAEAC39FEACF9B1D3F43063818B95AA821727260442D4969EDB9CB1B2D41F907383710AD3997AAAB4CFAF52272B757B245C471D4045DB10949906662AC0FDFBF7C9131DCB785F5500E7520370AB03A879AB7A0269D38A0F05DBB3678F588723478E7874552B5FB56A959840017128407979B9F8605D3F29F72823825900724B8D9CF798483814A23F7DFA2979B017C05A1CB2D216A57C4AC8EA406DDE5400F338C7A60D6E682E982A478E7040758B31BDC82AF819D23F60A4A36CA1721A1339F8C58B1769578359986965B7851845D5E7DD30ED6D607EC3BEF706E7DB924E733B6EED27A48B4F0ECB0A05E8FCA18DD6579BEF5D665705254CEFCBE4E0ABDA07F92FC737E73FFC50AA7D43700FB6804F65106405F8C8F290DE4201D89A18BAAA0841C0A8B5E32573C51AE9AA11560E80F6EC59CF42F0896F8679443DDDBE49E2DC18716E64A8EA0202B21AAB68836005CA644BA4A41F4110AE7BF76EE418A448E6064C9430B31562DC0A25939652C5D9FFDA3111D7C872D44C4CD0849C1926D65FD3442BF5A044E4C0441DC4BE0164C756025105A838F7F55B2B33CE4C9E6FDB0CC2F84556E14BC55650B0582249F3EA9B68853F204A8AC00DBE3B5B11C8BE4984730282B5825485093C15F0025305C06AE3482998B67FFFFEDE8686861A30182B0C675777EF6049B0AC2219352B82497E314373D356479B752736FB2665E68706E746451CAD46C743E67DCAF8495BBEEEDBA80E53C9CA5F5C1AA0F0C8503ACACF2C1FDBDD5296D1B49C5398F104F51360868607A779EB403557ECCC11B5B910EFF252212BC5E0E090D1D5FE8386FD8D7DFBF6490C77E8D0A11EDD5EB65581549273CC025DA315EB9AA52287A0EFF1C71FA72FBEE861C1B74A5916AB1F51AD5DB39C5B956E7DD9B652C7C72312216FDAD022E322E86B6A6AA2CF3EBBCBE6B355560BDC02B6669DA6DE8997ABDFFE2C140A53622A4E1BD6AF1386A00A08DA5ED9584BF7F2168B55C06E1A5CE06C984E1ADDB66DD3663C3E499B376D14B770FEFC790A0FF7D373CD8BA82FBF5E30C15B60CE15CF8DAF19DBE3C964DA52C30A1D3E7C585C00BB8394AE4AC030193855FEE8D5BD691F0D7381099D38F1B1D40190AADCE19CBCB3B3D335F776469AB2C5CC7EAD005127EAD37C1D62131FB57603319E2A43ABDC5D8A421C517FF2C9610E5CAECA5E043051AB77C3C88689AABF17E68AFB8758C8A00FA9D3FAF5EBA512988CC6E41B28972ABF76DFEDA22B91117137B76FDFCE0806DD30ED6D1FD383522CB2F224D3D46FD520C0FC952B575AB1801950A22E005A43FC5D47473B754C0D4B1F3055CCE0469BB3EDB7309130C7515CE2318109F78E05E3D37D6218D42287CB051F240B5079BAFD3492A90C038AA0042B039528C80F051A2B8898532A08BFD6D8D141BF7BEA294955FE79E4087D83ED606B924AE0F66036C441236A01AA6FE7CE9D33B64973A582F87ED5BD7BF42AD223F6E37F3F7488BEB514208DC982F0D8301121C3D251DF15B987D2A958245BEA67EF83326F635EFD165BD08C79E0FDF7E933C60226E60E2B13894CA4E30E15605715FB29F9F096DC3FF9E493A27073DD82469CB29B1577CF8E1D82F99777DFA51396C2621CA4F862012CDEE17EF7EEDDBC984F98FB02D01408589D2022954ACEF0A0888E5107C8960ECDB6158CDDA86266004E44ABA87943D9907998EFCDF45D67CF9EE5159972DDEA9C4B4AA633038A51EAB6FEF0A22C1C98309D9F4FD389FF398802B8A481B952317B9FC415A093155C15919C3B73F603FF7158BEB431233D7ED42D681F302D3A5510EDDCF6C65CE0FF116022DB81B233EFBD3A18625700499574BF33B5A4A79F7E9A3EF8E05F8F9C87AB13E6B607D54456B0040B9FD16582AA50E416F4A0FA77F060C78CC2C66C79BFBA42C114668A05A1A2DF744EAE6542626B1696A32A8702E4C2143A1526F332899D40AB449B2E3E6999FF7EB971E3069BE1487A1AEA2F76B9F0EC0A87639CE9539812C85A825741ADEC04F2CF0B2FBC203C01CF91627306E21705801981E0714209F24BF40C7B8C4008FE50D74D2D3E79F2A4A42F6050B6FAB4D377DDE6F3F4B7DF521E2A6B9C56C6785520B8449A028138C58FAAA4FA2F1E0EFC5F0F65DC5C984E1F7987DB2781893496573D56225C17842C984666F10934C134BEBAD94C6FBFFAEA2BB1884E7F9C0BF3DF2CBCFF1C3F8EC8D85434FE16AB5AB9272726E8BF70EE2C3DD76406D4C08702D86B0FB3D17994B13EFEFC738973E248ED5876F85EB90B5825254F7B808A673A34029D500275169594A62347300BEF201F7EEDB516CEC72BE91EFBD6B56BD7A60B47F608D9B96F3D5B1F821E6084C3E3F833AA100641403131FEEBAFFF8A31EB65AF1E98F0A3D9C6CAF5DF00671B98E3D83861E500C3B0DB880580E0D0BF7C396DF2150A2FF097AD7C4B79B2FDD7C1D9CE361FF9B30D333E2FCF744108A2A1146BD9ED04562CA5167FA1283902522766B6FF22CC85E6582C2E16003C045FD5C618B2008D997A89B5C500F1CA129404CB26CA6A16FB13B189E29FF2576FCF9C1278EB5D5D9FD2743D968C468BE81738DC7274C64C68BA2FFE4B61BACE8331BD5E3D31158B16CEC2B49FEDD0BDFEF8485FCFFC91C18184BDEACA8B29FE7F92CDED5AF8A47A870000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (17,1,'Disk_array_2D_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000408060000009463FF180000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000011849444154189505C14B4FDB401480D1EFCE339080ECAAF481229058B1E137645F7E7DBAAD5A09894A6451CB5128D89E3B733947B6DBEDE9C7E3E3A6D54F5C7D110ECFCF7C3B9DF81513B7370F6C36CA300CAC9F9EF803749F7B40501CF3E1C0F93411EEEF79FDFB9B8BEB3B8661E0EBCB0B3F4550D529EC76BBACADE17DA556C187C8FB6A8534509D29C51011EA7A8D2F05039A092146F4EC0CF51E514562469C23E58C5E5E12A699E3F1E85DD775D00C284CD34C356354C5309C87FF6F6F2CA5F0AF56CC794AA9346BD4AA1484D7DA00A8E6D0A2B4D6185B238440DFF7E2F6FBFD29AFB245BF62B33EC75B631B02294652CCF45D474E99EFCD9052C8399153C439472C0B7DABA4942C8891520433AE9685B2CC8CE3583F0013BA8E908485C7E60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (18,1,'Disk_array_2D_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000000908060000007477AFE20000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004AC49444154384F4554DB6E1357145DE7CCC51ECF8CAF1927B11D038E13C425F4A14A0952C8A51212156F7DE4B552FB1D3CF01FFD15FA042FA8524B0554248D703071EC90D8F175C6335DE7D0C258A3339E59FBB6F6DA5BA4D3E93600EFFEDEBEBBBFB72B5AEF0730641FA66561369D613A9D603A1E438EC618C473483B853841B2BBB32D9E3F7F8D60C184340CCC660A3BC56C34829C4C711ECE202D1BC55209DDD6014C378F62A188F97C8E19BF4D89894643885988B32844DA7192E66A531CBC7A09BF5C43369BC53C9A633AA34FFA9D0F4788A3087DDEB3689EFCFDE6F5A85C0E86F2EAD5AB6EBD5EF77CCF132926DD7AFF11FBFBFBB8B3B181B5B5265656561098267EFDE121526767104890B24D61F1DD71AB8B9D9D1D6CDCBE8DE6EA2A6AD52A9AB68D27DF6D2226369D4AC17733B8DEB8829889AFAFAFA1525966210564320E361D07BF30C669A703DBB245D6F7505F0AB4DD6AA381A5A54514F27990643CC8FA78BC52C3E969076E2623F6F676DDADAD2D5F3C7AF4A83F994C7CC7F592DDFBDBE2F0B08B38561D30BFB2CA0E64423245D624034BC3C4F7FB7B78F6EC25164A364B82C6AA8E85C43AC49EB273969341295840FBE8002937AB598DC8E0F43F6C3219C3E4F3096F3F97C31A4978F3C7EF282C56E0B0B8907E14764AAC18B3B324A1CBFF76DAC1D1E101AAD5EAC0ACD56AA2DFEF633C0D6190D53831353B524A2049F41DB3881C1DF6E9D06097D43B2904933190225BFAE2BB44E199B8EFA4B52C0CD3804D9F699EAA488BB68276B1F2C96404637864B743BF266568126B89B90EABB0EA8AE358630D7E4F117F46020C436A3F2A4749A054EC59962912823F1C7FC4F6F6366EDDBA8566B3A9AAC4029D3DD9DC84797E4E5D46BA034ACB9D931EEEDDBB879B376F6295EC552B153458D0CFEBEB087BBDCF49D1B651AF68BCC22C2F2F6B596432197C43EC8FB4E9112B85D4645417039E36AE5DBB46092D214FACEAC67DD7C5C320C019A5A9FC2A5905416088A74F9FF6DFBE7DEB77CF2F928D1B3744A7D3E790F56153CBAADD21872C224349AC062A84244B2AA98D8DDBF8EBD53B262235131A4BDC9CB7626CC2AE49D342B15840A77D8C94E3E9A06C95C6451CD088C3ACB1FCEF643C2C96031C1FBD839F2F2145ACFAA6B021B173621579E13CD6F13B271F71F7EEDD89541A570CB869475CB9526790A26652B1E4B16A9743684B811B9E87541273809CCF434686A230C32DB4801CB5ADB00E83DA4C719DCF2675E0D1B6902F209B52F23090CB6575118A1C499F0E136C3099313797654ACE53913142FD9D83AA3BA264A5164796D8153E8FB8B9D40269B55A78F1E245284F4E4ED06EB7A947E8816DB53E684934B805F40662DB8A0CF298ED372E2E34238C8DE170886EB7F705ABA4562E97B1C2E00F78CE3E7DFA3C13C4D62A4BDAAE42621658B0EFFB5A16D789DDE2F305FD0AFE54B28B41499F0A5B2C16BF60EF10FB2D89B9BCBCD43E554C622C831AFB89129A546AF574A15414B66924FF1C1D627039C439875B253AA1447E3BFB8428E3EAC14B848C4BDCEF713C4B7ABD0E2E06035CF407B8E4AEBE64F0973C25B131D4A09949EBB80D2F974F144153258930A26D822E89F993B2743D1FA66D27A661A1DDE9C2F1FEDF56941A25A316C007CEDD1BDA7AC47208E3EE6987AEC2C9BF78BC39D24D63522D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (19,1,'Disk_array_2D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000C0806000000D2F3BBC90000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000007504944415448895D564B6C1BD7153DC37943724851143592F5A1E4C88E637D6CB96EE5204BC3710BD8591428BAE82248760D90753701BACABA5DB45D6613A4408174EF14698BB6A88BDA559554AD23D3526D49D4CF11298922298ADFF9F4DC478E237788C7F799FB7BF7DD73DE28DBB6D73B9D4E3A91EC2BDF7AF3D6C5D9E959A4D313F8EFD37F6160208D442201BED7ADDD6EBF3C66737D1FC7952AAECF5F312EBD7A29B8FFB7C748A53A181B1D85EB795ACE75455EF4BAFACD6653CF3DCF47DC8E231E8BA1B4FB0CF1C13138CE10629C6B1F6CAE34D7EDCE5B2D7438F6683730CC606EE6B5C8D2E26270617410BE3D8073E7CEF13DFDB4BB318ADF4EC7D56BE2B31B7707B9C7B9A3A8651AFDFDFD3595C964D2A6693A1DCF3B4DF7A70DC7C9E0F0B081C07731911D478B4E1B0D70EEC135008FC6DEA856104422F86DB188E1E16124B989FE548AC9B28D95AFD6F1DE7B77B543695484EFB95A3F43F9EF5DB880DF3D7982C56A15737373F099C0C9C94918C7DB689926EDF4699FE2A7D3EADA6830803BF4D70A027CBC95C7C8C808127D29633093C1D4F909E330FF040BB7BF857ABD0E5F92D56E691DB1933D39C1DD9919FCFAE1437CC5B5D9D9598C67B3D6F56B57D3E57259A9F1F171300128F314E589D011FDC0300C249349DD075C9026C1CA894629E3F7D6CF3E9665E95EF4C48E3CA19E9C9AE29A4D198373E385BEA1C772B2A2138FC7F5BAC8BBBD3579AF7DF6E29077B2268FD896271A8D6AF9504F29A5633529273E23BD58453F168D1A520DE24B8DB254250152CA7566E8E0E88819CEA2500890CBE560D17058F69E6497ED2F5494521A1C74F4BCC57195996E349AB8FEED57F08FC57FF25DA65BBA0C4297B2EBA1924EE3A3FD021A03037068A3745C260412D8C8E7516A1AE867F0CF9F3FD7C1777ABE24419615C5671A4E84D6D83898060D9FC3C343E477F6707E6C0AABAB6B4813B21EFD48D94BB24C65619B95F98BF5753459A923D4AFD51B28140B5EBBD520D4D3AE927292E7A8548645C74962DE34D994A9D74DC97CC464F3C0BCBF386DD38C40598A29E558B9B0B9A1583C469C2A24EC36224644373929B1C173D1B2F2A74C0597BEA23C19A55815C4BC850EA1E27D534EDC40D75BA05B1048D54037598A702027482558017986EF65CDED5549E007DA86AE40B12515C79F19315EC425D5A51CC7C1D6D616B3AC741909216D6C7CAD9517161634AE4E4F4F35A6645CABD5F046A1008F063E26A62581A227E5DFA44C2EB78E0F3E785BE34FE4C32636129B9BF821F1F89B2FBEC003CE673896CACC66B3F08A9B68D0CE057284C887FE640362EB478CAB4E1FBFDCDED63E2DCB445F5F1FE66667B0B7BA8C5B3F7853FBF846D760F37089F3775F7F1D3FFBFC732C934FA6E9F32C34558A25221090D44A7665EC384994CBAE4E8C380F5B484845C118E5248B52E6660F8F4288F248194B20221FEA494FA2C53392DF690FBB41976C34BCCA4CAC1577B0BFBFAFB17BD6A7B41DC1774FC7D395D2E598020F23ECC5E7FFC75BA6ED15DAAC5347F385AE081F57AE5C1108C4949C9C10E1F6EE1E8ECB153C26EED36907CD561B1B3C31C1A3EB0A89750390327D10513A881431DDA25C87763799AC269D5EBB368A7F3F7AC4D349D1A1A73129B2A25B27BC3E2D14E1F1E49C988DFDE2016CAE952BAB68987DB089DD1263D09091600D81591409FA7B20B750E0223B799EE5CD78B88967EB1B38A5FFC1B157B1B5BDA32BC2D757A4E85988B33F8AC6F0E9C101BCF12C26780D0B07484C21612AC97658E21992D35566C6B6B338A99634C68CDE09753ABDDE2723B79BB0186485998F276C8DBB577895DDB871036BAB7FE07DDC210FC4BB777144EE700A324B1E7D2584DCA8DBE6353B3C34A40315DED95AD9E5C60710ED718F4F920B7402BBDF0111C667D1CFA904CD4351E4A0F3931378BA9A839D8CC08D0D13DBD0890978586E8FB85D564194FA4DEAD67840C3FA5BC1C5E2E222F809D0562764EF52A9A4B12D952CCEBEFC724597DACD9B377572CE36917F8BB22D6EE2E76B6B18E22648299A50B689CFA74FD7F1CE3B3F469858B11BEAF6B1A27E72FB363EBC770F7FAD54203750089D66268D3A713E3F3FFF423EE40EF1F93E658FB9F90FC91F222F5522DCB3F09DEB78B6FC1077BFFBFD97E20C752FD2FE4FEFDCC1FB9F7C8225CEA5DAC91FC6D4D494BE45D401CB43F053AD54F495234667672F3209EB3A4BB291B085D8FA235B8A272749D2A7A3A27A23D3D3D3FCFF0CCBCBCBDA79F8C5283AD2C789FF8F9696348784DF16C2DC12EC5EF11089D17E7DF5865F9CA19EF4F7A81BED71C7D9EF80FF3C5A4192BDE875BF30DB2FB50ED77E75FF3E8A1C77757DCC5F9D577DC9842432AAF2F9FCFEEEEE6E9510A8546AA7632BB9356368E89CA1EC44705CAD692782474F48C724DBC723D88CC635BE078747B4D17AABE5ED7DBDAF7EFFA73FE3D6EDB9606FBFA81329EF7CB9CC9820C5ABB44D3CFF5DEE686718E399411C954F8238AFCE93FCB6111BB948DB36F1AB60C548B02A46351BB6DFE58F1DE919FC6BA97ECE3D345DDFCBEFECAA54C681337439A8910BE2E495087D58B60F9BBCE5F77496D8C72E5DC665DAE9101EF9CDCD13729A47C2AFFF0F76E33820C635A0230000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (20,1,'Disk_array_2D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000120806000000A472DBF20000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C154944415458C38D585B6C5CC519FECFD9B317DBEBF52DF63AB11DDB499CD88404A5710837D10AC8431E2B21A40AA90F4595DA271EFACE4BA5BE2221E853A9A2A2482D1214418B2008D4125292364E1C4262C7F74B6CAFC9FA6EEFDADEDD73FA7DB3677667379B84638D667C76CE37FFFCD76FC6AAADAD1DCA6432D52262B1C5DBBBF69C7CE2F1707D438344A351CF71E2924ADF95D5D515A98A548BEBB9E2BAAE78AE97EFBD7CCFF7FA5D61ECF7B95C4E92CB2BB9C78EF43898EEB577B44B2A55254B4B236259B6D801BBF2B79CECBAFE7BCF58333F677D6B4B828EE37576B4DBD333D35EAD979240431BD6CB4A4D348A39929F2F6E7E5C26A318329AFBDA486FBB2D8D758168B456A6A6A6BC8EBA90E4A22D92256E4DB5819197C97BC0DE5D2DBFE72999EECECD7B7333D3AB559148AABABA5A1CC7493B507A4330188C5B96A51465071DB7A1BECE7AACAF578E1E3D6A7DFCF1F73236322C4D4D4DB293DE926C369B5FC86FFCA6D0EFEC480DFADA5048D6D1A76C5BAAAAAAA4A9A15ED6D7D7ED46F49D9D9DD60B2FBC202FBFFC7BE9EF0FCAEEEE2E0529C12A1F7BE9B4D441BE30E625F17E1332B4B6B64A385C0FA5E4A4AB73BF844341EBBB8B9F497A392D5D5D5DB2B1BA5A2267255C677B5B62903107BC05FC9F4AA564EFDEBD52150CDAD19A1A79E2F831191EBA6DB9D6AA4C245665FFFEFDB2BEB2F24039D51858D5998C5443DE0DEC6D050A86834B474787C0D905D66AAAABAB6B8AC562FC66D1A9AFAF570AA0B771223D523F23232392482CABF1ABAFBE2A3B5030DB3604AFD4EFDCBE2D6FBEF8A2C89E3DF2FA5B6FC9403028584C685CCBCA6352D01B376EA831BDE095575EA98C658CDB2626E475E07E3E3C2CE70707650572D2B02918463F0D88D853BDDDF2F5445E516CE53866DB42F4FC028EF23270FFF8E187F2A74442C95603C5A7773305DCBEBE3E694E4DC9F8745A9E7FFE79E58095F0F43A5B0B0BF2E73367A4B1BB5B7EF7CE3BF20564A46E239188589B29397DFAB4C20C87C38CAEA043057133B45E1A9377A5F8E4ADEAAAB14A075E69DAD1EFCCA61FCFFF5E7F2B5611976B15E655C0782026C7E63BF4960F1C0804E04879E7A1C14DAF37B14ADE1B7B35D7B20C5943309295CABFB0112D0FC5F34C44A500B557CB07B4D1534E463DB1D81C86024383DECF4858DADA297CDFDFDF2FA3A397E5CE1D91F7DF7F5F09430F20A8D9B838DFDB00FED5A79F4A0C069DC5DC1016E3EF9EA1282EFADC73CF61F44FE5851F7CF08112CAC4317BBE1F87630C7DF28942B8E72B9BF2E671F3CF0A52C3375787C48EC5657E7E5EA6A7A7D5EFE5729AFFBF078C7FBCF79EA4917AF81B15A5B28057B4C0CD9B37A5D5DEC0A8462E5DBA54D87FB98C057C7CFF9B2FBE901A44FF3CC67A6F3ABB30FA67666654C4421719EBECD9B309A4A138BD7F6D6D4DE692ABEE13BD3D762D0CD3DA1A97801396C5C4BCFA2DCAC2A60C8BC572AE2A3039169B9C9F035D3F1FEADF0AC52D271B5B6939D4DDA91486DA22AB6B9B10641205D89148288CB9F979F7E56C03936B7939B75030D3E96D0947AAA46D6F5C26A7A6C4C2DCC6E6B82A78D570024BE0B15294EFBEDAA270BCE23AFE3CCF0A487DAC4639E638D25F635D4CA2B17A287157AA9036450562F15BAD8F9CC675F3BFE58CFD70E33B999C4C8EDE51CAF70DB0A82280758096621EB3ED0016A9923D4D8D2A8FCECFB9120927258BEA4F833898C7C297CBE6142B507D212AB218DFDF2358651306E08698FBBA0F1C907FFF6B1C35A006511790784B5C095B8269F6B9E21A85B5E87DE88360500D903F09E7C825A7A19966711065CCE5AC3125D19A3523B718C959F33DE4A0A228675363A34CC000B1EC9A64DD1818176A1AF405D2528295CD95660557BDCB15E4542917D1B5B39BF2EB61B139F46A16085A6973731306B048ED241E8FC3084DF2DD8D2914E3DBD2D3D323CB4B4B85D03353911E7B1B1BD2896FE97D638B8B328BB9C4A1E21D282A04C13BDADB55BB70E16F284811A5A44462E13E2CB38F20FADA312F83FF47D6D76509EF0E1D3AA470290FEB587B5B9B4C2E8CCAC4F8B8F4F6F6CA06E6B195E3EAC694D00A87DB0743AD61DE00D2101DF0009C231474940EDA8079E5CA15097BBB32323EA68AE7CAF2724107E5A958E90599E43075009D4E4207637EBE272E9DBBBCAE290330BD2CA07A53190183054D4E4ECAD8D8821A23553D92AD6CDFBA256FBEF4528105CD225AB8B859D8B8F8F5EBD7D5985EF6205CB36F871C64419F0D0DC91272E80A14C0881583AD3437374BFD912EF9EC56425A5A5A54F43E94ADA0FEFC1CEB6B16741DEF281B71B36E5141274F9E9448E2A6C8F296AA892CA095F00AEC0A7AFCC34F7F9A67416FBF2D237847DC7CD12D2533CA00F47EF25FFD5881A20118C62D2D75F0D007B3159315F19985D521A5AA15DAD26611E6C3A830D9C7A398550678B3106219DC5E8CB53C83C770F3EB1B9B3F9AADB06D41718B886AE22B197D2F31A9F822F6D3E1B915595B2596C5760F726692C992FD6B7C46CAC18307E5F8F1E3323E3E1E74C86C703852DE4FE6601B8B3FFDF4D3924C0EA0D8D5C9B973E7145D355940F9418CCAF9EDC08054C3B3D661BC3A60B3B8D3D37508D0C39E7CF24984E45750DA9A9C3F7F5EB1AF92035D19F6F758F31BA402A6B075608681450FB6A0681A967318C117FF7B5BF61DE8552C039B2BC1A984FB2E70CF7DF49164613CCA4525E1C028D1DA98929569EA36CE364B6114F5685CBEFCF2CB82124DBCF2357E7DF9B204BEFD5652302CF74E1DD0C92D2B5098A7199AF5C61B6F24E0E9710ACD94F3C37ADA6D8C56D9E4D401DB1107F9906197D9CD532ACFA23595AE7DB69FE7E36A6889CF10B47F1A1E0065D1302C5091AA6A650F2514FF50774ABEF1A4886BF978FE6B4F9F32E881601EE14858C995A24158D4602017453180825951462D95578CA0F23583C80A1EE47490B353DB29D48390220B2CD6EC4B62CF333ACF2BCAE8157FE05BA51A30BE2BDF7C2DA74E9D524C1007B1658716A38299C7D84064657FFB411526274E9C906BD79288826B8A677723AFD1A28C027EA3A3819EA20BB30EC92D5F21C4649D9984817B0EF6A92B045E45BCFBEED712689950DFB2A0168A189A89A7FFD79E475C7D90CBF9B4B1AFAF17B56A4CEEDEBA2AED47FBD5FAA479BC3E29C7D363DD732E65D4275C321C0B35A0A9B14165860B172E48570D0CDA7A44CD5557157E2620069BA903FD3FE792D4D0B952A9B4D2416A7B57FD3E3A3A2ACB28E6D853D6D18AE4C6D82410561F333531ACEFDE5D020BFA4EA5237AEC06984EA58DB0B77FF8417E8662E8C183BE854286A1340AAC0E697E0AE20619E65F7D751998D5B26FDF3E65DC4A78BA6F01EE31186E01DF0D22BFCEE1DD91234754683394282B8BB0DD522FC323232ABF5209CCDFE5C6D498DCF74F78CD817A34837917B077D691C3870F03339FB3C9AE5823F7C67272094A7BEAA9A79452495A2A61AA31F47316543500855F9B9B93FFF92C8858B67F8054853EFF8DE750A95C8C8A658B36440A358006181C9C159E3D18360F6540ECA1A0D74E9F562CE8261891EB332075CA348AF0D5AB570BC6E0DDC8A370DBB189D79E7D56B1A091C1C1E2B584C1AE1859F1ED76191E9851E71A5E7E3D94AD40E1FD8810CD826CFF5E295F2C8B7590F73F3B772EB2CC2B2A6EB2A08A774CC0F92574A55810CE109ECF82F24CC8529140676114C190B6438BD21AB42A0D50DBD85C589C29E7F87107E13D2AB3B3B36A01ED3DAA2E1863368F477B1CDD3D586CC75092BE9FD1CF33CF3C831474551986B5A71CB37C9D1064FC048A1FA54797F168FD2C81CDCC8E4CAB42C46FEFDDBB57229BC6D36983D173077BFE3B8A7B02BD4E1B4A5186AC9751507BC2DB6ACCB4C1EFCA653465DDC1F87314EE309C770B637DC5A15910D32F2382A4077DC4613A20D82A429BA9A0ADDB295C98D100C9640E130FCBC58B1755BA204879F815F23F4E8E7F651EC5B7AB98DB86852814AD6E5EC6D15BCF9C3906C1EFAA68E0FF3A84CD5AA0FF9F04EE2C366EC3B3B7B17E1330A90886348B1DE725405387E696E5D0E32794F2A92CA60F13C7ECB98F4BA867FF999F976DCC6B0013A33312371A0BABDF1925346CB0C6C6B9A253DD0B919A5381E5873A3DB67038FC0B746AC19937316E413A220EF560811868DDEA546421050C62D15012BC15425B878F9D0CC6A2557B2801267A05675054DEBADFF5FCC77ED00F9A1905822910AB1A5E92E8BB91D249953F7DD8C3AB18271CCE850212CA64726E21303C17D2DBDE8F43A930C50E64B0D560D00958607FE675AC81FB08292B28646B2B951DBA3110C0FE33FE757CEAFFC2F8362A4F39594A0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (21,1,'Disk_array_3D_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000200806000000DA2270250000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000012124944415478DAED5B696C1C659A7EABFAB0BB7DDF89ED90C389E31C0E21178782920021419646485C5AA4956656CCB9935FFCD81F2B062131B33B1A21E6CFEC6A58105A4644C88878A2109189476449E22C0B28C48921977360E772FB6A5F7DB8AF7D9FB7EA6B5797ABDB6D8E4D18ADA54F5DD5FDD5F77CEF7D7C652D954AD1EDFEDBBD7BF7727CF0D8C563078F22A779F9ECF5EBD0F36DAD3BC79CB0A66947F9F3307F76F2DF19BA03FEB4DBA100BB76ED2AF2F97C0F5984DEF45D0AF90E559C9BFCDB5FA110BAAEFFF5E0C183B7FEA615E0D9679F5D97482494C0B7F2F0DE4E01DEAE35B3CD63AF709ABFEF8442783C9E63EDEDEDE1EFB5023CF7DC7395B1586C2713B69B3120F4857702A3BF274A11E1711C0AC1E3F0BBEFBEDB9DFA8E04F5AD29C0D34F3FED2A2B2BDBCCEE6CB7E9DA37F3D0BF0FD67707E40773CD0FF09070E176BB3BDF78E38D1B778402ECD9B3A79E05BECB14F8233C2A6F7722F65DAD798779932F9048C23B442291A36FBDF5D6D4FF8902BCF4D24B5E06DC9A4C269595B7FE0D64E7DFBB6AC3367F9A47175F76BA5CAEC39595959FBFF8E28BC97929006B937BC992256EEB0FEC6A52172F5E8CBEF0C20B4D70EB3C6F77AE12ED4E11DEFF2B050DA3BA808760433DFCCA2BAFF4E754808A8A8ABD6CD50FF04305FC90E0159794BA2BAAAA5D0B16D6FB5C2EDD977D63791098E7AE59E1C85B5848A18949FAE6AB6AB60C3BF309F5ABCBED21AFAF90C29393E975B52C6BE4654D79DCB83D5EF2141450786AE26B2058D74B39A3DB164D2593A1EBFDFDF1E0E8682A1A090D7BBD5EADA0A040E34A23CA3F77B9A3D1E8B670385C6F9622A26D65553593353535C5ADAB9A69E1C2855454544477DF7D377576DE205D3F4BB76EDDA2050B16505D5D9D80707947F1789C58E3E413F7D691ED3BEBFC60708C868702B4E99EF5B23630D7AD5B47870F5F17CC818101F91E037BCCB6EE7C308747462934364AEB5BD70ADEA79F7E4A376FDEA4BF5B5F43570A9B687C7C5CE8AFAAAA92E7B261E5331476743A4AB17894EE59BB4694FE934F3EA1A9B1617A746D230D143464607E533CF3DA5FBF7001C513C954383459C661825801845EDE4F899B3582F02506188B4DBA74176BAA715FC856893910F6A1437F666174D1C68D1BE9FCF9F3D4DBDB9B7E460DA77B6C449F9AA202BEF6A03460451BE14D4463310A8542B461C306C689905BD7D398ACA122ECFDFBDBC9EFFF54E69C3B778E382CC91C2B4E2ECC42581DDF0373D4EF27567662A5A7D6D656C189F33CCC0716573174F5EA55BAD17F953E9F1CA765CB96098D972F5F4E6364C355989E48840AF81EE54F827102CC3BE04120AB56ADA202BE8F27136238F5F5F5228C71E6C395CBBD74213A488D8D8D8279E9D225474CEB7D1A93795800BEF23DB084B7D1A860DC75D75D223F0EE3A270A0190A063EE059B79F9902E12BEBC7465D9E8C7480262626E8DAB56B0CCA8C64CAB66DDB261A343D3D4D5CEBCBA7F5DAFE39C92EB69919FBA3071F242A2DA5D7DE7E9BBA8A8B69606444B0B129BB438325DCB871231D6676EEDC294A910DC3BE0F3CBF9231FF61FB76C1FCF73FFD898E9B0AA0ACC0F098333EB394E7C1EBD0D049B9DFB46993CCB36238E1AA6B28F3C3AC003F7CE821C17CF58F7FA403CC74250CF07A7232336187A5D795B052DC3C27F75BB76E95FD65C3B05F43368F312FFFFEE187893598FEE50F7FA0C3A6312BDE862351B96E6969113C28625F5F1F3CB9EE86203149B9722C9AD45CB3A20EDC63241223C64A5BA075589315A7DF74DE40B18FD309C6D3588BA24C00E71E5452523293E4689901ECE38F3FE63D251D1322A73DD831DD0A93190F0F00416014830887580D8B971E6DA7A100CA2B5A87B2BC6CDFB9AC7432260C0A03D6A7B217ABD2AD5CB992F4D0089D351500F39C30720D3C53CC34824EFC4186F85E373D2AD88ABD6CD9B24568C77C784081F3F166A1F9CAFAC1A050343E4B0176ECD8417BF7BE3D6F41A831C9EEB8872D128C89B2E08971B129B559A73F58FD9B6FFEC7BC70AC73C7D9F3F45CB96260B2C269A6E041A7313795A100086B23EC9596A824D14101E6C21C633ACF9898A08D4CC12BA102CFAAE667CE9C21776C2ADD3183D0D4FEB20DAB82E06F94BDDD190E53C04CF0B3C054F394D661DD93274F8AC141E618434343710901887DCAFA4174349E9989238E70999836D083070F8A8B854B4E9831D4C93AAC31EB1C8FA3DDDD1203638C19E5E7A078A3A3A3E209343309B55A23E221572172DFD1D121EECE6E214ED70AF722AF77ECF4692AE47D4699607C070BC03ACA2D6BB650F7C1071FD0CF1F5C2CF7478E1C11B76ECD8FE6A2F57DBEFEE0C409D2F83A62B1501522247FB7D039363646FFDD759C7E704FA3DC1F3A7448E62AEBB5C77C27CC037C7DF0F871D4F43872946731204F843C8D733A5DD7E80A2B261400037C60BE27C503E00B08128290F81B8A88BB4FF0E2C36C1103810067AE09FAC94FD751205045FDFD7D1C47560B619288A413940425B1312885F95DC292BC648C8431B7BABA9AC6589960793133831D1A1EA6C0E0A058ED2F7FB981F16BE95A7F3F352E5A244A97562C333357C950321B160F7F62E6BAB6B64E62F1E86810662ECF22F182301083E3CB96D226AF8FEF83AC848B984E97F1AC499B7DED84DA4B3235B32FEB1ECDEB185B672814266F8197851C638F73413EB7DC7B1F152F5DCC9885341A0C4A9C86D2E5A2271B3FD3FBB35C4FB027D44CA5809169A692C8755B5BDBF58686867A681DB405095BFFCD814997B7B078515D0DD7CA2E1A1C1A125B8944CA395F08CAC2BADB3547C5AC39DF69CE3391A8E8BA9B16D45573BCD645F1E45484317DBE200B899353977BEE0A5CA33C2B79A6271AE19ADC4F556525622160BE24667A9886933E510C274C4DCBB31BA0CDFE25129D661EFAA9BCB4D80819F0A45A827C14A771CEE513967C212BB3F2E1B9E5124A160C0653C1E1410D96AFBC00CBFB861B59AEE90E644350048D055051E4A7C68685E28A51362007F8ED6FDFA7C1C1FF92A49117A4A6A6A6B4F5E5D30B80F58238B842898F66B68F10545B5D4501B6FCC6FA85B474E9522991506DBCFCF27EC63A26D9382CD40933572DAC30A1D8AA96073E68AE2C2F138B5CD4582F78FBF6ED9364F79FDA5A693251428525C5C20F3690748E94ABAFA086CA09C2A1703AB422E4C0DBD6D7374819B8F8AE46AAA8A8A0F6F676EABD78817EF4D03A8A929F3CBE42590F984E6B67A317D68CF9539C8328392AFA6BEB1650D0D45ACDA6BDE910800688AA0F35236D4C4FEA67F7FBD5575FD1D1A33D6C29E7E9C9279F1461D8DD6EB61A190C681818A0C54C70928531C8E5DD2916C0302B11F017B16BBFC5BF5BB7867A1CC23E72A49B93DBF3F4D4534F89D239613AC57F60D633CE120E3149664280AF3F673A917340F810B878361314B910F0A08C1313BD14980C483880612841DB856E6D0EA9EF56B04237309D29A6F316F3F4387F620DB8F4E5CB97D3142B85A2137C476EB5A2B19682637D1488A6E8FEFBEF4F633A09DADE9082A05B5816F54C678A8DA48F31FFC72C2351FF237F9304D892A8662800AC19C4F7F4F4506565A5111B746D969BFBE28B2F588BE348DE65513C93AD06B77F4A1F8009FA47D4AAE5E5F4EAEBAF939F179A604B54798793534386AC360C4F64ED03CCD50B4042D7C29FBF78F451A98F5F79ED355136580894DCC95542116B6A6A28D1DD2BF7B0423031DF9A1C6BB7B2107EBE7BB760BEFCFBDF9387F9A9AC71066F06144AA18747E9E6993EB937926D2DEFDE0378BB9EE9FAF1638F096FFFF977BF230F2B1D7E9F49D067BABC7683D1412086792864587F32354B1E6A4EAE926CAE5E8055AB5422A23669F4E1B55998F17832A3F4742ABDB20EA728C9B8694CDB0465E1D6F389B96A72FBEFD91205EBEFDA2CCC4406E67C7A004669A9CDC2B37A48A3C432BE43DF67D7AE5DF4281B061B94E686556140DB6121E94D5A1684AB42574CD73F967B9413B0B03C7BD1A2A9298EEFFFFA97BF1083D1205BFD84E9A6B0A119C66476E580497454EED1025661279F388C98AB5B314D6BC13C78AF999A5CCF0875F0843B6A8C7B743F91A3585DBCFDDAEE8E7BD8BBFCFAFDF705F33ADF47CDD8AC4A49946AD632106DE6C0B5ABB4DC3C63CD87B776CC6EF63CBF3E70403007785FD366FD0F4CC557CD540A780684413C27AD60550E3CF0C0035CE205D2D6A1848187CAD9B5206EB6B5ADA18181292999C0E0C58B17A76B4EE53DD25EC46C6A284B1F65F73AC1DA2D09193A57BC9142163E8432C8259FD533A6CCF210CAF1F8E3ADBCAFA83469B069841F3BA64A8232CA1B9C37F0FEC6190B8C98E451660A1F49E08859652851601FD7AF5F17DA1E5EB1991ACBABA55D0A4CE4460A43792D5C635D30D44A672F7BAD5E08190D350E03453C179E0CA10EADEDAAAA6A1CD1A513601CACF55EE9A375DB3650A35E2EB916E8AFADAD152553B45A8795CFB8BFC082076682950F98C57C0D3CEC13BCADA8A81467A71254847AF001B2D59E7FFEF9EB9C75D743F83871C3B8DC776DB2B4A2B2D80BB7CCF9C0D45428235EA6B8A6D65C7A8ED248732C5172554F49668ACF5F4A2E2E893033140EDB7E4FC821557EE7B15A5E47B6700245A5E5948A478599611BA65106BA66EF7C4E5A7355831A1B5329AF1D157C94A2D639090E072EB7DB71212D0B8E3647F9A933DF46464753572F5DD4E0E99F78E20931AE8E8E8E9B6EE546AD09149A171E2D452DCD2B24290273D6AC59439F7D864EDC25A9189045AB33049599E6FA9CEB37D4FD11B69A96D5ABA41102CD5EBD7A359765E382094B01A60A53F3C174DA03C6D0D030737C9A56AE582E567AEAD429F1048F3597D2B582C5E28A61FD7258656936655B2F1F9AD1EF482539736F6E9635BBBBBBD95B4CD1BD2BEA68C853275E41D1992FDE5CD79362C046198BF53FFAE823510056F8945BC511755022AE831FF47A3DE9F88FC9383CF8CD6FFE4D8E83716276FAF4E974C292AB244B0B8BD7855EBBD01A45FC67A6AAD32CAC5DCA38B158301DFFD5FB00BFFAD5AB721CBC76EDDA34A6537BD411932DDA033769C104ADC8D6A15CA5A525148A18D68F7086F88B10305818A0CF2747A42A387BF66CBA2D9BADFD9C818D362E62307E47E7CF0C13C04599595464B85EAC8970F6E5975F726818A67E3D4817A2C67B16B9301D3F2D9871540866C8C1EF5060BFCF4F63CCE7B8742243526283BF9274E24BB83EEB482612192E04C99771346B246B8F3CF2C8ACE3E05C2521AC6A2933F6A98D1BA151F4CEFEFD7482CBA5000B029687FC021BB3BA2E242AB07A9558B7B5B5CD2AC9E63A0E5EC689E3D3F7DE2B987B3B3AE838C7C72913537201A655B760621F721C3CDE23F7A8C9731D07DBB141C356C67D7CF366C17CBBBD9D0EB002401810287229E3DC630614DF55F957120D19A5E7F6EDDB338E83739580AAC4DECE983FB8EF3EC17CFD9D77A8D3F4CA301618705C7216A31C45FC0746575797283EDE0812A660F36A4892630B24274E9C60E5308E83E77B1A883F307211DE206282DD663DAF8E66672A8FCCD875ECD8B18CE3E0F99CCCE1CFC7162F982C78B7591B8309608A53C06C66B76C1C07F7E4751AE85422A2BFD1D4D82874EA8CA9DC3114C0E9353A7836390E3EDE3BAF1348EB1EC0C326F656A0D37A9AA86A7F957FA9C41A4A688635DD8D1B280034490DFE7A9602A02BB6776FFBBC05A106183FC0564D381F47E6CC1B7199D63153B36762A215FCE69BFF9915732E45444E81974EC86C8A000F0C8297733A82C65B38F03C0D398E83E7EA0BE0C06784DD2D99E59F660A3EDD7BB02939DE72724FCF9CBEAACA225F3CA3D73F4D23EC05141F74B3FC5359BFB401D8D53DF3CC33423BE6E3153FA6D5230A80388CA114A0C05F92D10740E6884E9CFAAAB3B35318A5E271B6F8648D9197797471F2E1C571337B8029160EDCB0AAEDEDE25747D0EA381847D06805DB8F66B36162CDAB7C7D82310BD08E35190BCD87C20BA66925EA0FEB83B61F6EAA4D7B3DF0459DCCE57A1D4C5D7730C6C17DFB24EF905A9B695547B3469329F3854E94A3273FFB8476B654CBFD871F7E987E6B291B6FEDD7EFF1DA07DE7BCF380E86F2984AA7FA15BAA59251CFA45F5481CB9723438B121414A9B8A109B3D01041B2F2B39F6DE0BAB25AEA65C44AB8527BB69DAD676D1D7EFEADD4BC46C60BC603276936A0B00760A2FDBC67CF160A04EA2407B16266C3C8865B88F70F2CBF815660EA1E4F46D307D50E3535D3268FD1A3C01B3B709BF9E0D97FC77D99E55A0E6AD0E1F4185D55D4FC0883CD2B5BA86CE50ADAE4350C02CAAF30E78B5BCCD795B679D3AC14F000C8A9A05CAAFDCEFB4969EBD7AF3FC54CD740BC624A717945A4BA7159493216F57FA37F3B9AC7DBD59AE64A686EF73463FAE6F5FAF5D77C855B9ED25D71CDE58E2562617FFEABE9DF881FC0E4DC209698B6D0A97D3BF464EDC030DEF08D6B65A34303D36479F3883D70EC7F0108698FD5A38C52720000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (22,1,'Disk_array_3D_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000060806000000D9AB5E130000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000018E49444154289185904F8A135118C47FDFFBD7AF9BF993C45132C8B81AD45518F00CA22E0457D979214FE201240B5D78830105575E4026A3E2A4EDA4DFEBEFB50B276EAD4D4155511425E338B2C772B99C596B9F02CF4B29CF44E474EFFF87BF96523E88C8FBDD6EF771B55ADDEC3B25C6F8E6C5CB57AFEB78745C551253CE92FA1D590BD3A313C42A43CEF4BB1D2967BC01EB1CC607D2AD56D70DDAB7D48753F2308C7DB7DDB65D7BF3E5F3A7B7F6E2E2E2DDE3470F8F839BFA935994EEE777CE53CFA6AA38BB7FCE6C12299A395D5FD109CC4E2654DEFF9D77BDE66EEA397C7046D95C7330B943D76EE46C7DE5AF8483F97CFEC42C160B5155C01242205615C55A4A51721EF0DE1342C055150561181401BCF7D81028C6A0AA08E3BFAC840A80B66D314DD38CC330607DE277D7313ACF3711C4188C516E362D2965D6CE63EA48DF6772B9FDBF69F8E51C591595C0A08A738E1F7524C40820E6F2F2B2F52130AA10BCA7E4CC3D6B1104303475C458C3B42863DF136385B3165585ED960320788FB302E3484A89E394D03CA0A5E81FC739C561226564990000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (23,1,'Disk_array_3D_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000000C080600000024BA3E510000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000053E494441544889AD554B6F135714FEE6E199B13DB6E347E247E224240DE1212A955208AFB41554455D7483CAB28BAECA4FA01B547E032BFE45B7A08A765321A42054A9905425C1896DECE03876E2C41E8F67A6DFBD0EA88B2051B5231DCDBD77CE39F79CEF7CE78C120401DEE7B97EFD7ADE75DD2FB9BC46F982927AF3ED9F3E0EF3F73EDF29CF154579C0F77DC7717E7DF8F061E77DE252DE95C08D1B378C582C76914EAF514704FDE16101FC1FC11FB27679EF6FDC3FE0FAFEDCDCDCD2EDDBB7FD4313A06807890C6EDDBA35E3FBFE351134CF3EE799FDAECBFEEDFE3F26D7A4FC2C12627CF7EFDEBD5B7A9B80699AAB83C12073FED265FBB3C545A5B1E54055F6605926FA4E1F4EBF8F3E85F4916B3A80E70738F7C9193C7BBE81E4888E9011A2AE43BDA18ED4EDF5A8E723164FA0555F8761A7904AA524620EF55CA947FFB4133650554C158BA8BC58463495A36E52DEE5B8435D1183B843F86EEDEEFA7F2D3FEF66B3D9BA5A2C1633535353B15432A9244712A8961BB87CE922E68F1EC5D4D42472D93124BC017E9C3F8A50ED15745541D8322074374A0D2C9C3B8BB9D9594CF2F2B1D10C8A0317DFE7B270AA15D8913032C9044ECC4EC3E7F911FA4B33303B6241D7147CD0DDC7B7DC57CB1BB042218CA653288E266184344C8C17E41D11D3808A00E719C3D77614D54A19A94442BD72E54AF4C2850B797D6666466617305BCBB2303D9DC3A3478F64F9243A0259CABDE565F4A35184348DC804B06D1BC5621A4F9E3C19227EA0EB537EAA54A08F8C8095854B79F9B20C239AC0DADADA5B3D217BB47B5DABC18EC5E8D39367E5D74D247351944A25B9EFB192E2FD9862753AF25E6FE061696909131313039DE8636F6F0FEDCE1E3A7CF75D1FA6A950CC0392B1E80CB8D5EB42B7C2A400F7818F9D9D5D0C3C452663327145E8515C02D1E1651AED05837DCF87467A884727CA2AD72A4150F81614D9F73C4423119AAAF4E741A30F917888BAE24CEAAB1A443BF458C5307541FBE13985816A024193A5D2F9A152AEE3D3C5459C387E1CA23A857C1E498672EFEA55E8CD2D782CA52E1D2878556DE012E976FCD831566E1AF95C0ED3FCF6C3E9D3E86F6E42D77526676276322FAB344B7F6363A4643C0E8B099EA0EECDF979D4580591A448A4400A093B01EC2829C94908833D76351EC337A4E966BD0E43577966F0FBA8A6DCB97367777575D56E34B771F6CCC728AD37885517268D860DECA2CF32EA7D071D22A412194D0B6161E12C1E3FFE03A9A42993719C61A30DA8AB12A936AB106265D2990C6AA5355228CE868E497407EEE0806E3D285C3769176752939345ACAE3C4322934584C988E615FA4237A0DF80D469D3778454DE20C5161616BA3ACB186C6F6FB364869C12B55A9FC6862CAFA485F8C9F41514C9BD173B3BA49125A9C1A6273D4C7232CAAA78073F231FAA03E478C13E2F8F84C344358AA8A5C3D75489BA4BA445BF69DC1BF49F61A337D8CC21A26ED3CE543C39A90C41A183512AA812A66E982CD966D282017556E2E9D3A79E2ACA57AD56258A02C1F5F50A4E9D3A85594E1636892C799206DF712A294C5450417052A0B2B9B98593274F4AAABDD11DE7C55F65B3E8351A1200E1B758C849BBF1F171A4D369490B31308EF0FBE704ADD56AB12714C9FBFC685A52A850284840A3222926FE11C1389748A0DD6ECBFB678674D4B4442271736565C51DCB4F589CAB30CC10A7C60BECB2E3B7E95834769783EC97661303A2291A352036598ED781EF62AB51439B0DDDDA69A3B3BF8F1D36DE126D14EA7A444F6330D55A1D513B8E9EE3CAB9DE276D02367F9355FF9DD41053480B9912F5579C4291585CEA88FF85686CF19419F49FDCDB764C542468345EF70878F76F6265D90C03A2C2520000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (24,1,'Disk_array_3D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000100806000000A6E779290000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000007D54944415458C3CD564B6F14D9193D555DD5EF6E77BBFD1AF7D8A63D1690F070060424AC4013C646C922DB2C461A468A50B28C94ACD820651B947FC0229A153B56D10488128949C691F10C5826360663FC6CDB6DBB1FEE47757555CE77ABDBD8D89308924869E9EA5655DFEF7DBEF35DCD755DBCCBEFE6CD9BFAD8D8D8393E8EEABA3E4A3DE7F9ACBFA9EFDBF41FF6FD2DCEAEF3DB3DEE5F341A8D3FDEBF7F7F09EFF8D3DE2601D7AE5DEBA9D7EB239AA68D3A8E73859F52FFCEF9C3FEFB4F82FF967353920C59B55AEDCF77EFDE2DFF571270FDFA75D3E7F35D9480A5D25CC387C9FC8FAAFCAE49B1B81E4A32F8FD8BDBB76F4FB8FF22484D607BF6EC59DFF8F87883E79C1B376E0CB0BAA31234DF3FE2FFB1FF9740DF02117BBF6F48BBB04D15426EDDBAB5AF5DB45028F40D619D0945A2F9EFFFE0623A93C968C9441AD9EC730483619522F6D9FE657BBBDDB0D55E28953194E9477B2A85EC4A159AAF08EADD77BE75D669B4641BA8556B080403F0691AEAE52D18E124E26D7165D36938076D3ACE6B7DAE83BEDE5ECCBD788EDE8E245C7F18E148F80D5F1DEAB1D5EEBDDB28EEEC384FBEFE2617F01B7A3C1E7FA947A3D1742A958A5158EFEDE9D68E7E90413C9A8255ADA03D11433C12423860C2EFD3C8700DB8B685E3E522CEB936F29B1BCC4E1D91901F94C5B9331FE2ABBFCDE0485F1A895804D15000014387A1BBD01C1BD1C23646F83D95DFC2DACA123AE978B22D8663478760D64A70A92B60F8A04BA0560D56A58C4AA988C2D626BE532EE17B5615AFE69EA3B09D43C83430403B215347EED5347D8DD306135CB7945CB95840717B1366761557180316E631F77C16C9784C4F2493C1D3A74FA77A7A7A068D743A0DF6394AE58A8204E18FA5A52CFC7E3FCE9C39839D9D1D944A25B5CB2A168B38BBB5853AABD6C8666118061C564451F3FABADA4F9C3801CBB20EC8C66C1B3F1A1AC2F4CB970AA2BAA6A9F3814000897814E5601043FCBF755E56B95C5636CF87C3280A82E89FF88BA6EC602683D9AF570F9593BD9F323FA13F5F4E4D7936751D7D7DEFEB03030320F27DDAE8E8E8068348AD66D7978F1D3BDA7BFAD44974750DE0E1C37BCA314DE059AFC3A6F3B2CBA21732EF50A572515AB56C7C387C0A172E5CC0E79FFF01B19885301DF66464594A4EE0AF13DF36DF776A3544A2510403419E0DE1C5D463B4F7F62B9BA2B365AB4E1DA24793E0F95EE6B304118EB6E1D489E37870FF1E067B3BE106E36CD9E0AEAFB2A4080E77F1B7C6E70A57B2BD1D534FFF51884723F164329933BABBBB95C202B32CC25BF93C7C4601422141F671381486A594D69542CBF20CD4AA55F8F8CDEBCD3AAA0C68796505A619222A1C65C873E24D5926A2AA81A9A5BD06CF3650AE54E12794A55743B4179040E4FCAEDDBA4AA2EC11DB4B8CA6B92A2883ADE0E7B20D136C652553B7F6CA4912EBD0C9373E9E176E94A24ACC6A75757581B3938EFB55D5DA1309ACAE6CC3E2B781FE7E44A311262108935017C80AA95C647F5D62BF6DACAD916EE934892C1A89D01113E3E333181E1E463C16A35C0801BFE9419D963B3673F8ACA3033D9B9B585D5D4182FD1FA4EC91817EA422A67037128936A6C6558455270F94A5ED0A797CCC647E4435AFE6E751AD54943F6DF138C93783ECC21C863E18548109CA2459D20225F247E7C63A7E2171900B16171798E0E0EE949065C4E8A8F4556B284A56020173970FF62E1190DD6E3EB7DE75E949FE84F95B72ADFFF63D4BBBD8CD69D0FCAE359DA9B15A5A503B28D3647E9B01DB7B7C697140A5E271578BF9F7CAB56CDACDE9A346A3F8CDEFC2199C027EDFC8C8C8AFC901E185570B45C30CC41C5634160B22975B433E5F203C2B282A22232313F602AF7932F52C0311D4384442DD1662D23D72722B585A9E5746A5ADA4820271816B9E7213D4B5E93354EF576A964AC02611B15528C30C86141AA5AD04CAB23BF45912FC8C0FB384B2204DA7BCB489D89E7B398FF6EEF790DBCEAB73D23AC21B6EB3A24572CA57D45F525C1351455E5D5BABF5A5D3A49B80A54B8F085CCA341CE51C7D9FB3B523D5A7C8C8343DD8ABDB922A9554C681C5207C342241CBB4F013E61DECBFCC9123AC4858415FF3AE8CCDAC534E12451B0E6D99AA78AEB21762D029F245C0AD79320A114EF3BE40B430685BF860876392C5107F4597F823720EC772C8A934DBB3B17BD7B0853FD80A55CA596C050811B3A50C264F744C4C4C607272B26EC888910A94B84B40D2474F9ECC2A45972F5F3E740CFE90E72DB6CAEF5EBC50C46330F3527D1983D3D32FF1C9279F1E3A06E3ECDF9F9D3F8FDF3E7880BF140AE8ECEC54728A8796A32811E69CCF074699D8FC7932890293F91B3ADECEC07DAA55039C3EC31C837FC5D59FFEF8809CAC01FAF1CBAB57F1AB3B77F077BE73F6F35EA26BBD2CB4C46D88D359CEF302D95F6A6D92C88E1FEFC6D8D8341E3D7AA402A912FAB20B3CE5F94B1A08F35C6B44FA838637930707D5FEF8F1E35D3991693D0719C89DA74FB1D1E40087B06641541FAFAC6F22D81DC7B367CF7665F6CAFE89B246F3FA2AC5D19A1C30C9F92EB4363333B3EB9F37713CF90675FF9E71E4640C37B9E5E4C993BE18C99D13D0AF5DBA746972696929BCBE91DBB97CE5E3EF767574B2223D58595E909E52765A5749A779BD6C28E75F5F3949606EBAF73D8D15758B45B653B9C0B60868CEBE73ADE7D7575C8E4957A6804A64ADC2AB6C4C5A4A934650671CCFA64784CE9E6F245ED370BA521DFAE2E2A2DBD5D90EB956F98908EF0A2DE4D778C3E786B22FDD383333BDE6D8F510B9AFF44F6BD5282037CD73570000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (25,1,'Disk_array_3D_(96)',decode('89504E470D0A1A0A0000000D494844520000006000000018080600000005E9F8940000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000D224944415468DEE559596C5CD519FEEF329BB7786CC7B1E32CB6639B903DA10941590802140414A4AA2A45A4CF3CA03E21DE7800893E50F5A51201A52A9578404195401555687042C8AE40C0C106123B5E623BDEE338DEED19CFCCEDF79D3BE7FADA9D4953200A52AF747CCEDC7BCE77FEFDFFCFB1E1388EDCCDE7A9A79EDA883DF6A33D819F7BD0828BE7DC090DB79BF313AFFF16ADDE308C63535353A7CF9F3F3F7337E563FCD40A78E18517A2F178FCB1B4C029F88A9F9170FF57EC18E69C417F2C954AD57FF2C9278DCE4F2CB01FAD80D75F7FDDECE8E8F8455AE06C3BD0AC7B2DDCBBA49C2178C6717CAB374DF3D8E1C387FBEE89025E7AE9A53286956432F904087A1CAF8AEF85706F37EFC7AEBF43ECEFE91D5448381C3E75E8D0A1E9BBA280175F7C31505050B00B6EA8AC1C6B3671EDCF5138F7707D1CED1C95C1FCF1CE3BEF34DC49B8520AA8ADAD0D2512094FA09D9D9DB1575F7DB592C20618E3F8A318E7FD1F0BF787AC1F4E87AB63B66DD7BFF9E69B3D1915909797578FA4B90D931DB665CB2BC25555D539A170D88AC5E3924C06C5B2E2004D8961983F28CEA5528E244054416E4412734981B215AE69C65C3732163A9366CDFFDAC8E0708964422C3B2039E190C46231094842E28E254E0AB45A664627BDED9BF430991209D8A6040301851B3292C8C6486BE0C3308DF989467654BEF2BF9DC3D375AD23317C636832271249442211090402976C086313045F8C0641A5C40C469C3595AB8CF5EBD7CBB66DDBE4C2851E696B3B2928C9A4A4A444388F02748598FC8F31BF43E3323939A97A2857AD6BEBE894FB6B36C8EAD5AB65FFFEFDF2C61B7F97DCDC5E999999916834AAF6D618FE1E74AB9E58487C0A97DFC8808B3F275BB66C96D6D65669BE7846CA6A374A4E4E3E99936030981153D3CC3D496F5C195A52C6C7C7A5B0B05082915C292F2992B56BD7CA071F7C20B54B44CCC2D50A1306EBC9806B32E16B5C2D03E2969595054A97950586870623C4C9CDCD259E6973434EA2DB9059D334D2D66748737333847F8B21490E1C3820B3B3B38A585A057B7FE3BB19CCFFD5CA950274F9B4AB4BBE04211515152E413E6BA0B01A1A2ECB430FE5CABE7DFBB2E2E93E1FB87BABABA57568481A6EDD9216D049E14C4D4F2B37B12C8B0C4A4EDD4A69E81F909D3B77CAD2A54B3D2CF2B518978A7F68624236D4D448C377DFC93FC01BDFAD5AB54A627309858BC42A2BC14F65785C4E770FC833CF3CA3849C894EDD6640E3EF4A4B25525C2C9F7EF1859CC2DE94654E4E8E8C4DCEC8F2E5CB65DDBA75EA775F5F9FAB006E44CD112CE9131535D7DEDE0F06455929BFB35111FE9E8D424841914F6EDE2C307939DED0E0C549D5FBA2D7B56BD7B05F4A5974515151465C5A097BE216E7E7CB93F0C6935877E9DCB9794CB634B9A42F7F691114D027A1504850342CC0E55E862FA651903550DA2F1F7C50AEF7F68AD3D7A7BEBB34CFCFA3B0A4F3A21A53561A8F464BDA88ABB19511E3DDE31B36485155959CA20CE2718F5E1AF78E1D3BA4B2B25279279410B4972C59A2DC8A56C23033369BF036DFB46993747599D2D272594E9C38213A4CE9B0E0EF55F841FBE3D9B312407818F20BDF17C389F1C8238FC8C183671533C425233A2CF8439AC61F035D7F3A754A26C0F82DECBF10D77D6EDCB8214DDFB440D1F9720B5E323C3CEC097A71E86123F649BC6B39724406305F870EE2FA158593B05485585DDAF21D3C85C2E7BC4CF4AA3170FF7CE182049B9AE47A3CEEE1E9FEF8F1E3CA58D8C0F7AC4D4BA16609CC091373E32A699289919111B82463ED7A15CFE88E14D66266BC06B76B4D1363AC5923D55A398A3947114E410D0C0CC8B3CF6E8487F5AA776565E55893505E9148509949B7D7FB00B78563B86D3EBC214CD7479B46C8B0918469383DB06223372AB52BAB5528205F342C85319750F82E9D496F7C136D88DFB17FA50A2D3197B7A42BE081C14131C1EF54B858EA9697C934425E141E4BEBF504AF7957FBB8345F617E21EFAB2B654D2A09D9BAB87CB4C768AF511E400590090ACB1A9F96098C7BFBFAD14F6352898A89D333B372BDA70F85404A098D3DAB0D0AD6EDE7DF6B61BB1685E48AB50EDC6F746C4CC6C627E43C2C24910CC8F46C5C6C2B21D73ABBD4BCC5EB35BEB7A77E97FE1D430246B923C3376FCA18B00B429612400C7CD8D8730A0A5A88E55A78CA4F2FE9272F100E2B2A621BA62DB3F0CEA1C1213717988E328E18046B817E85E1685CC7E333E5A38DB8AA8C43E5184295C6F934160ADDAF04E5015402E3269540E75B929F271BD6AF93FBEEBB4F8E1CB9226D575B54528BCD4E7B995F572DFE710A4417605C000B198510C6B029ADB0385AA8ACA7086EC7F8C7C4FBDC737F4095852A6636E9E60F8D91A1175A1EE684D086208431609797974B183473CE6A244E968CDF9FFB54264763528D843D367A6B81B0336187406F2130E9313DF8CD24CC2419CEC9937C14129B366D94CB9771D83562D23E38AE681F1F1BF52A283F9E270FD056803E07C21D05DE0DD0C0F98C1E991E9BE510ADA7BBBB5B09CB32E7B3E5D5AB5791A9DD58FAFCF3CF674DC2BA9F44DC7B0B252693F0CB6FBFCD8B13E5AEFE984AA15CBA7449456F56024F3FFD74D6C4AEC74B41C72BC065127E0F317904CCB20C9D8195EB87C97CFBFDD5F279EB88AC58B1C2AD6616E1F81B0DE2B750DAAF1F7D54DEFEE823F92BC22285489A1C5FC9B6810975BC5DDA100D76EFDEAD8499094FEF33D5DF2F7F7BF86195845F3E78508E4109E499854E2C31B5C0289402B8212D804252CDA7007FE5C0857AB1BF5FDCFC87297F1564FA94C00A22E54BA6999A1F3FFB29D4597040F31273BA5848F9C28E1FD77BBF08737E7DE613AFC6CD8AB798569FA0FDEBE9A19B512DB6B5B5056C5A286B75F63D3D3D0B04F5204AB4D6D673489622EFBFFFBE9AC33C91CDA51D7CFBCDC71F231687E406AC2B9C766F8637F15541B424D3FCA74AEC3CE850D1D9C20F7B13D6D5082B0D006F10B8BC6AA5C539BE328845C3E98B9725182D975E24E48E8E0E4F40FE50E9FFFD17D076F8DD77158D9A3686A108A2827E9AE0D5E5F61446F972E6CC19AF0ACC1A32E121078E1E951C600D0397C6A6BD83C6A22B307D7E305E7BEDB50178C1328620D6E74363934E59D1122314712B8EFCBC5C3037A6625F80824C272DDA8FA313B01A8B3716C5B83B4F74C2825F17151628D7585EB15C795A2F146EB0963614AC8BE7A42D4CEFA37EBBD85EF24B9F01D4893827570A40633F4288655B122D8CA21A89C358C2D84A2759C75BEF62A4E6F1453C3EF477F219005608063788444C39E4E6E6493C362BC1B02B03C5739AAE793C97363F1FA93426EDC4312DF9F2FC5975C3C0121FF2BE69EB939D8E6B042C45C2E595010F21CDCD384E9B4D120EDA2A093196E9BA5FF7996A62C6587545188F2BCFE9EEED93952B2A54FDBB67CF1EF9F0C3AF6559694C591D5D5297B67ECCC5E70DBE9B51954DCA3B381A60AAAA72350A841919EDBA2C36728185FD4A4A8AD45E7EAC6CB5BBFFB4AC0200EFAD900F994BBA71A22FB726C5C8AB41DE09CBB265CB549EC886EBA797B44ADA5B6D1E2CE3EE1E5DC04CEF99B43920431418438261B9FF31A4D6A994C1C111B972A549B66EDD2A3751EE653D03B032C0E1673BAF36A0A46FE1515740880E6F56FA8A83551743CE679F5D94EDDB43EA9E88A12F1B265B01CE0E6B316F12F434E16CD28B77BC8AD0A5208D82FB98C31DAA7060E26445477E162B500B897CAF85602A606CFD38059F82B02830567E8665AB8B47D2C610120D3B72B1B5551E78E001191D1D5587BC4C774BAA61CFDD505E0861ECDBEBD7A5291DDEEAEAEA249E743C453364F2BADA9E4967695E3B4C4C4C486E618917FF2898C6C61E085094D5DEAE02623F896AEA15CCD355D07C2E4A2D48965F7DF595AAABA998BD7BF766AC7CFC7D29FA97717A6615D4892AA8D77F1591C62D2D2D95929A55D2F14D8FAA8858F665AB547415F430F6D755D0E9D9595FC1309F4777EDDA25C9F60B184DA988A0EF7FB255585368BFDFB9D3AD82DE7A4B1A7D27615E45301FB2D4A517C1A04D5BDF2EB214A512F2A2F30AE0C4BA3A473A3B9BD509D67F41A6DDD6FF2E06411FC571DD8105C47CD95F2738FD6CD9B2057F2F7827E3FF7619674358471B1BA50D9637B7A8D2D0A8B4CC81EE7EF73A1956C9DFDADA32E1B3B563CEBFBEFE5A86D1FBAB32C307DC887D6B02AE15D3406F7721A96482BD4F36374B047CCDA4AF223C5CC88037C18C0054446D6D6DC42628BD802E41A22BAA2CAF7AA09B8F8E5A1208D44A7D7DBDBA71F4DFAF2CBE864D22FCBC078506B1F1282CB20C1B91286ADB7F1DCA5CF2D8631B21A0EB72FAF46975C8CB7667C3368258DE0D3A2DE04CC0BBA2BC8680524C860A71AF0DFA517F5F6AEF979A0D5B65686808A173503199E9CA588F4F20BC7C0EAF8A238415A018A08018BAA2E1882A1638664595CAB3900F2AA5A1A1419D3F386F01DFFE31B00E214C1A90E704C2501164401C756119087A06A2E930506A7E838F41123D323262D4AEDF9A1F2DCC2B3271C49F4B261CCF70D5CD63A67FC818D9FE25E17D56B7842989E74582A15432E9F0AE65E10223E3FAECFFF334D2A12DE99881603268990130E3A43C6B4B1938503A77F02F988C1F50F8266DC1013D601989B984E3FBC712700D673180713B30DFC78989C9C4D5EF9B60DB29E55238044FFF1B7E86C6BFCEEE897A0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (26,1,'Firewall_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000600806000000D57A7A490000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000351D4944415478DAED7D09945C6779E5F7B65ABBBAABBBD5AB56CB9225599BE50563E34DD8181B830D780984254372806C0472CE4C801CE624B3713287335B92C984330B64920C13E684B01A07B398252CB665E345963759B2B574ABD5EABDAADEFECFBD7FBDD77A5D5DDD1660036EA9CE79A7AA6B79EFD5FFDDEFDEFB7DFFFFAA0DA594BCD26F47EF5A5B5CF3D9230D3977FB896FE62BFE1B18863158ABFDC1B9509EA500886EEF79AD19C66F21105E0E709D03C02F79F61B73D12754B7BC20AD5A8697DCF714D7C95BBAAB3FCDAE4FDED5DF11DC51FDE0C43B7B3BCF01E097F4F6FFEE14D33868EC9258EE5EF4E21F8B611BCEAD51A0F6C99D3D5DCBEEE82EC38A6EEDB941DE6F38E9531D5154B526E4435DE3EABFC8DEF30AE700B0C4C0B9BFD3BDE1D9376CCEFF224EFE4D4EC7E5C6B858D653CED717BDF8472AB6A3CECF185346391E8D0FCA72E75818E81537FECF33939D95F4A9A2A566E3BC9C528FC5BF16EE9CB8FA1C00DADCE6C2C15EC78B3F3E506874FC224EDE99B1FE98BC3FB7DA9D96BD869D3E3FFBF6CE55FAC1FF3E3611AF31DFA59E94DEA076F269D9BBD76EB71F2F42C21F918D8E3845F95786E9BDBFBA57E656B9618FFA5E5413233A62FC7782FD1C001664FFDA62A150FFA8CC19FD954A1BF384D7F9E0A715F713EF32CA2FC63EF10BC69581AD94D559BEDE3FD5FB5ED98C2C078DE7A7ACFB74C0E00BECFE9EEF845B8CC3D18FD5BA46F1D1DF59B49F4B8C921AF5FE201855452FCAD97270A0184FA80FF97D231F887BECBF09602D821FA97575D57B897EFF877BBABCF7756EC902EEAC04801B45FDC651F3EDB16F8C89E9D416BCF8CF36E48378E6F7BC1BBBDE25B7AE2EBDA8D34EB754DBEF12B36BBAEBEBEEAF57AE5CCA897BC5CE8F8547E372682B31EDF87D613DFEF5C6E6998B8F4EAEB1837DF18572FEC02A1DA48989BCD5977F7780BD44C7A27F2B6F30E6A5600A067136DF79C87B207A7F18814BC2D8142732E3205EED3D6FBCC73961441A0073CA084782AF4EBF637D772D083FE03D25DF70FB06D69ED500884D35101D54FDB1A8C7E55387DC052FE2EFB054BC4F1D519FF407E73E2677EDC82DB9A33BB73B8DF774FE8DDCB966DE68DDF95915C50142B1CFFABABC69B8D8EE63E1F3F2AB7EA024546258865C1B06F10EA3D75FE71402330C94E189BF2BB8BD6BA7BF39FEDC9C788F8545A5FCC371C7DC40D76FA6FBA8C22548B7AAE920632B345C25E5AA1F174C333828DBD490FA4A8433E76BFE41D56D45C160F88C7151E361B53AB4BC7F715603C0CC35DE1ED41478D6F9A776AF178B271E5217185FF5BE241F758B473EB0A48616C69D70BFDCC28FE8BF6FE8EAD500ABC4F7FB87E2E25C79EEC34D5658F8F9605AD63230D6065B2CCF3083D9A810C6B9C7AD20EA0A44493C17AC0F5E908BD40BF6F58557A9BF502543053102FD94FA439C4B13905F38396B56CC3F527030B9AB2C55182CD465F4D950C572D09D8A0DE7B835E86C713400BCD9D808DDDAAF4493AA83FB99FB7EF83EFFF6EE8BCE4A00903AA313EA96B0AC549433F3F21B1D03344FF2FED5A5DAAF547F77F22E945D9F5441D12AFC66DC236EE36BF28986EAB97411F5C394CD3E571FF69E539D12B9793E3755521F9A7B5307C8DBF896CEBC47E4C382FDDD54EAFC8DB9770FF6E33D263FEC1F898B2101306849FD6428D655C6C18EBF3DB1BFA8826B3533F8E6A0FB58F43EEF7824C6FEFCDBAD7ECBD4993EAD2AD23D3CAFDF66607D4BFA0DB7F006316A97292D37CE85C6FE0847F1676329AC01C0AA66130423F1DB55D9F479DCC6786C4DCF849F7DA5F7097E2A00947B8CADFE61B521720C9AF0DBA78F597F553BDFD9E94E4603FE33F1BF29C7CE7AFDC6CF8D8E1917CA9FF873B1E1CF84FF4703E3749D6ECD74EFFB5FEE887A2C7063A39637E3E48CF60433D6C76CBFBA2FC4D9358E44F9292FFA1FC158FC7B8D03F527A6DE5CF9F4CC7BCBEFF5C0D6D26D8A5930245E1FCDE42E377F7B9F188E5F8B7F358FAC8D8CB8379C515B032BA81B977813850D8E181D86402A6C69443AD0D18C7DB359B08A7E4DE5651334E7AD635D52C61B2B32600E19AA3E15E9012A9DEF0883EE8EC41B9C55864530F0EFA9FBE3CD56AFFF91B30B00EF310AB517C2FFE08EC64E585726C6E1ADC171B93CB8B7F00E335615F770DCE557BDDD47EF5C5BAC7FB47A49AE647D2ACA29A93D146F448C37CEEFE7B818FE49F5BAC6689C8F4C08B95934E9DA91A165F7487C95EC9EBE3E886321DDBACFC6B72ACBB0E79E887A677EA0DEE93D677E1035BA74ECC88B896F903FDFFC54FD7BF167767CB2F269ECEFB2E25A4BCA5B6DCF9F9052E8AAD81B8F9F100848D7F69C043E1EC1E8F993C68ED897B5B235FCDDCA4539838D4455B236D7AE197D0DF67985B5511AAE0766C1FE0B83B694D6430A3CC9395563739C6B7A86C08F65E2DEF88353B777AF3F7B00303DD0E99F48F4B7C7948265ACF246A32E99369F57B6E3860858ACE26D7D7BE6DE6655E47B56DEBE5EBA8DD0ABC7529B88FF5CDE3DD82CEF201120E3FB221B05C02A538CED339A968DAA1AAF9F8C73B9E7739F34BB2D3DD07387A3DCF40FA30B7416CE44C6E40FC30BF9D8E934712C1115A9D787C78D1EF570FE8EC61119E093F18471993FABEC70DA28CC7D43AEC4D1A4D86F8BB3DA14F72353EF8D63F3C3B3BFDF316EBC60FD7667C59678DC92B8A13EE51E92FFA626CDDD854EA718F94673FF3428FD96F88D587253F6E6EAD682A4C671E6B9A814CE583B562E00B456F777A49D34D796B25F5703211EE7872D0644A2825279DFFA82590D8A1867236AC870FDB1E886E001ABA08AF19F9A6553D3A67B34A6699AAFEFFB22F541A32AAAFBAD39296E6A6800945E653C1544B1B8C763A3EBC2BC84187E9F2C00190941DC0C3C59813A0FB3A637E7706E6B2F82A2468D5C7D3A922030253A625CE7CEC666A164DBEE9832A3064EAC4349E7AFA3CCEB5277041FEAFACB93F7F97F577F26B65580AF79D416D530FBD46AB559956229C28454D7404A107D13C7CD038C2E323E443D595D9F13A76ACD83C0B3C36D2B1600F5B7AD1A1A351B9F9E0A4E5ECEBFAD1ED509ADCF29F8E88E01476A41A04A97DAFFB178F7A9A3B3338DBB022396D893EEDAE1F892FA6C882A4D8A5D1B730655D79D89F38D5A804F264D94E1DA8CD12D9EB1DD176FADD22EDFEA3662A7DF94B9E958F25DA694D737F59703CDC7A9FE7A412CF5F130690A20537137F6B4AB5F5374FBC70C9380A9E01C1BB3308200927B6543CC6DD1847CBCE38F8E7EDFBD7B762CB28F1E688867011C27A140086EEE9A50E2F303318A4A3A7A2C1D7C5A43AB00962A99E2BB4DAB32B80B2C807D72CB79C6FE150B00C38ACDD08F37BA5DD147B8F0C2DB58BB2E88443A37414F4B9194B69BDF3456A16CFF4F5DEFA81F93B70CDC5084663A737E5DFABD28AE85DDE1FDF94143BA60A4BC3928792E67BB9332ACD96463E5528878C1C080876BBDF2E1BDE715A23963B3B3D9A8C760013AB5551716C4860B67603BD739F359C7BF278EF8CD9E00291F813979D817063D5F010320752BC30E0268480DF2135CE74A749927C6D78AD5B107C32F4AA7EAACECB1A0FB4AA26BEB120D83C90857FC1D4AD44C7BF6A7F87A1FFE86EE970008BFDE0440A5C796C12D38B71EC3ABACCA3FB97201D088E1A365953F1DAF5F83BF6B078D3D160A9F3E04460A1830C374A71F501F0C4FD89FA81F8B2FA06282F8F3DE4C548E63E54C3D1C6E155764008305D650622B1802394F503EC5AEF53F07B616253E052D0FCD7F9E3BEFE4BBCC51EBCAFC80E9C43A679179F0085DEB723AE8F90E533A864F8360FC28028EC007D0E691E7413BE7E524CFACB598B2900600C1F594F4DE82BF6F6D88755F410A4FE54DF72430FAAF41E7384A61270074B127E1F5759C1F80045251FDE42D3019FE6E5CE849B439D078E8E873C4AD477A5C6C8063ED650519BE26FFED42251A5F990040353E3612FED9A9FDE1DA629F798FC851DF1F559B2467B03D26D1A4855ACEB8B9BB2F9F778E58433323A165B918F939F3FAC0336CDB304BB52755B73B8181C591065FEB78E187273E3EF3A4EC7F61DAFD5AF0B87181C5283F076484C63BCD4B823F53AEB1AE1AE71CC339DD01E6C0073C594461CD4E00C64ABA736089438FD4E5890766A5EF1D001ECEABA3AFA92E761E06B56489714128DD7F8C4F3F8732F080A3E99C8197F5C8783047F7C69C367A6107FE660309F1A507088742F172780E0008CF03D0FA43298089BC469C5823D120EBBCCC28C9ACA1561E00DE6F38CF97CA5F1E79C87B93D969F895B0FCE74FC876CB9B8CFB017FE1F20B038365CD9966A5C79199D150EB728C11F68E19D599F1D02CE6E0112661E83068E16A0CE00760971AEA2F82FF5AFECBE7BFE65F7EFC71BF69B10F838A5D439C3D2809378592376DE9196E4ECD33F30AC87C0B55221D8583FBA16DC579163871D493EA6B703E5B02A96EB4A59A7CAE500600FA50F75F57D7C7305FB0C57B434DDCAD08A8CE74437A2EB7A463322FF6FDF0B7633887195333400454461D7173746A9093E1405CC8847A8D2F3E98219D9D3002FA03B563D6760A2B0B0028D59E1F29DF7BE41BFEEB617CA5A3D7B9DB302367A3756A380CA56C174F676748278E013EFAACA70362A2A657B4CEC8C64AB7ADF5D75F158AFF963904DA3E5EFB78F1432FDCEBDF5E1AB264ECB827DEA5AED0DEC7184CB30F004280947D3AA1EC4233DB4ADD0080DFCCBEE14D0529D2854B9309729B0086F5306F1F9D91DCA591F60EEC0F189B70ECB5014DA918B330717543DCABEB283B59AAC2545E0760AE0B24581B4AEEEB65B17F58D020E0F789CAD80F829FDB87E7F0D980FBB9B121ABFE15C07031CC26939ECE36926A70E5D4792B0700EF5F5D7AFA85D9CF1EBAC7BB3640208DA2110E6D2D7E5119D6D5A652BBFD50151C64571A22CAEDC1C7EB28CB62612F2707DA0504A473C0D699C7D2CB79374C0006BF706F79DD91FBFDB7F6BFD61267BD21A58D860400807F15B2CB6AEA6F3D8A4F4F38A1D89CBBBCAE9B31F94E18304FCDD3EFF62B2A52C5313AFB1DB1FAF15E666D0EE7506B82132422C126AF194C6C018C5CCC78758652BC22D6E71FE239EF8A864415047B0615C0A379312791F1082EFD00BF5B61DC16EBF1BC28F604708CB0074C4716E98BF43E74536873F0AA15038099496FC7D107FD9B597B33BBBAB758CF3A8E7A4EC5F10E84689D729453E8349B59C6E03F5B93F266433A8740DB434DFACD152DE91DCC89872CDAF8EFE0A4BB63C9DD5316C70740AA86ACFADD481A53B1545019441564E92E4F0F3AF5D75E1D890F8DA656D76FAE4B6CC7DA9977556D89FC6665A0291E40DB7355975C7C55A7E4D78B068FF5644EACE38E0608670CC2C148EF93E10ECEC731BAA0E9D871D72DB166007A017F20A0E7177F4320DE269F3D0D301880C273C0D7315D53F2CFE2C188DDDC178E1302448D759EF8004ED88DAD1ABD6201B060510367DC2EA9153F00CD9E7735F935EA3ED3347BE1E9F704AB839A1D494701FCCA013EF25C436651340DDE6A8BF36518AE89269E8AA0FF68C092F8120FBA1E897920A7CB2DCF8CA5B8C1D041370AB6ACE92C8A3F1249B03AC97A4697D9DA1B89330B5DC7C1BC9D011B345284E33AF4435F032B3D37BEDDA1592C37C143BDE68B0E10A008A8B81930CD26749B9D1A0DCD5B24F3FB1104BB715143D8AC880BB17E2DEC8277E985341C4365E1DA521F870CF4260745D6133031A4CAC7B9C24F6C59110C702786776244DD90D6D95C3A31D8552A45DDD127A2B5C12EFF0AF7ADEE0CC4A06AE8AC1A39EE4B791B060B83517C5D2CE50B4DADBDDC9C35C8BA6DC83AF83CF39425DE6657EA7B6B62F688A6D34DBF658ACD8564A39614A1BFE631473F1F31C30603DD80CC7FABAC1DBA7B6943FCDB1AD27707CEAB375AF005349527F2D1D8EC49ED9A9A84306A6414D23ABD055FD3D99B0022FD9B99AE92C7347E212424CDF200554163675D5CDC070045882DFB791F52D0E0F72B1300AABA2218A0165BBDE38783FE205961BD7377453A3CE7DD1E32B18E2FAB9CB87B6E0481BDC91775C4168540E70693120AAFE7A19FD69C2D01DCBABF26D003C78CE3640FF53700C59A074C0D1EFF3C04790A2670B32FCE3F56A4F2F705997CC79428D06A80C1B579668772E21EB6F57B0546D2D86BA0DA9895EAE79AE31DA35C73E113E2BCD28164D6D7763590A9C8DCA7F312D9CDE735CC5526E353E4B4FCBDE0299C77BD0A3400042659A91ACDB349F3FD78D24A3E1489BD2200706AC63B7F7632D2AC30BC362FEBD737DB9DDE065F0204D49CB664EE380234D8A4E54D17E1F53E4FD7CF5603266FCCC660812A7370FD784FA407C8C0E3502C6637FE2EED8DF5FB49A3F16EB769FE14FB04CD8D010B281174F10842F18725E8F48C365B1C709FF5F93A5F0A2FE4A48E8CAFEF70A1EB4DDA4EE3E2E2D87E57A4EB742D0DF1C2B82DA0C039949FC7C146D8F4FD3180988F470CF97D6B5666EB75F06245CAD5BC74ADAA638392602B775952E9859F198A5072CA032B0200B32A788D9E90295BB2E3F52598401A9C58EABB5C1D3C65C532781B6A6B0C6E0E03D7D963CBDC5A98219AB7310C5CA3A928640666A51E7C1AB0BE50025D2E62F4BB9A59A3A997060F8F6BAFAEEB9E42643503A95083BB786C21759D1370F9D8C2415F52073877595D3F5FDB8672AC92E87A4B6075B327C964C3B7B00FB8FCE390A6E3A840469A010FEC4D38A79274ECDFAF91A132BBE1A7E32258609A66D7920900E2C999D3072977960052968C53473FF27FE58F5FF90040F9873A7B0F1FAEDD9993E055AEC4D36CB999DA40696D04E5F6BF078334866C07D5B34E225F68678CAC6DC06455E6600669E1517BABA03991D2ECC4C8E240250CEA7786A7475DF77F6399DD83CCFB5159376C144AC83823FD5E77281337CE8029A226C527FBB24E562437DAD00176928CE6E3DAD0455238392EF9E3C7E70F4F30061B19E42603A98C32A8842ABCBA42F865D98B4A6AD3726ACB4DEAA9573C00E626E37250970D2CA17A6E30C45DED4B9E3361363416D994EA9FEEFEA124323D436B3CB39841F0ABA14C5F5193E8E118D999944C41B35DBA887A5BB255B5D1E3DA26578AD071D333E1C6837900B0CEB7477BC4393A23A56FE67580730C34CCE4E8EBDF24435FFAD2A2C328F8142D332D59AED24C4F0011E5F3F01F3D60BDAA04DDDD52397020B48AAED88E83E3477A0B791F86B2526EF300E8B042A7518F3A872FCE897171A09B2774D7AC73B5964789EF9905314F9B3233E489BBDE93002E5825C1F12BA14C5E3527966BE8CC57D1C2E0B60BF48287EA748BD53E61CA6C5FA7149E3F29BD9F4E028DCD427978E2866BA5FFEB5F6FFB85544B166783EC97E02710DC10C16580FD55AB74C9525FB7AE795C0FDFA7BF5F3A7EF843294016C64746E662CBEAB5E048B9398582F4F6F68A5BAB8993CBE98E54B152E95F1100A8D3D4F7C5DED03B51B2C1D5DB08B484895687D92022931C98B1AAAF1D389DB78459F3CC8E9C3A1D8D68894063B3279A413527D74AF1D0887EEC8C621B6FD6F3A3375D213DF7DCB3EC17C86674844C9D5BB346073760A03B3B75ED172170F50D1BC49E9A126B721226729D54BFFD6DA9CCCECE5F53AA92EF3679DB6D927BEEB9E6A98721921DFE05C0486F458068FCD8B1EC298CAD080094368D9F187E8739CE691B9DEDA46F3877DECFEB2F351B7230B7C5D533727AF0C225323A796C81B275F622B0F6A92E31667BA4E389E3928369349AD3F972F2BA9D52BDEFD48BCC4B43723A3A507FF788D7D72763D75D2751B1088982DC58602504C9705D9DE1F6C4841410C489ABAF96DEBBEF5EC40CEEEAD52233336039B508442966CF96DB3C009E78B5549D50B6A7A3A09B1EB1CC374616E55DA69366002839BAEC13D67CB0A53180FB588AC7A64E9BB7BE2E690CF54BFEE8E8E24C061533637D527342D1A4E6D19B6FD6AF07E5B2D8C8DE228C5CEF7DF7E94CB61A0DFD1EBEBFF39147E6B3381BD4B88D24A8767E00008B708C18E7D1D8B2452280ADF7D9672B7E10E845257A5FD07F1BD4DF05E9D0C7E17EE2B8634500C071ED8B69E9D2BF0398BBA817149F74C7748BF514E879AC136EBAAE83AC3768756DF545527DE4D1053B76870BD0F2E0748091A90CAA3B38289318440F5AAABB3DA4680CF6891B6F14677A5A423C2E1D3C2895C71F9755DFF8861E680EFEF4EEDD923F791286EFF84275E1EB34704B6473886344958A065788FB185B00063905AA57900C857331E6E650B92831A0EDD691231223E0D6C888CC4E4C347C48404757973E4603AF53FFB5F6E33C4DFA87B9B968450020E6FA0852F6ACA183CAE05AB343523A844187C3D6948D784EEDDA21D54717069B0BBCE224C069F67A3053CC2A13200830E83904D781E61631B085D15148434D6C0C7C09039E0DD8E4C5176B0A17CF93A88D5BD7999B642BC1A2190001D5C7C6312903E98DC09ABCE1064E186883977BFA699486C725FFE083F386CF3FFF7C29FEE0078B59820A58AF6BBF1FE23B2800D56F9CFE19220BB2C33E406376B6B1220070DEBF2CC6D6B4A9A0D9F393FD53BBD649E5D12685C7CCDA816E69403F39F801B382038B216ABE06CA072D53A7AB8F3D26DDFBF6E9D7783B81200CB4B8760F018B53BD4DDD3AF61762DF756AF4F0B0046009966634710C660D8160E042043C7FE89058001065C101882C802684E6777DED6BF02DC10263C72073DF367C81B49186A5D8E3ACF200E66C351774558CDA86EE66A984ACF559F220180C0A83EB60AB3CFBACA6621B266A7AC7623698DAB54B72A74E2D306F044A030009011AB201F59C52A03309D44ED6E0BE4D02063A6B005074EC1EB476D597BFACD960014B00509D94879680696D4F65A11D7B64DE47CF110058218CA4810A2186BBE7A6E803F03C5963F08107AA940093D9CE5219E3C27210D581EE0D2452D0B72200E00E0F5738180C7C170C15E93AB5F20C6A6BA0A9E964025230D920C2E005D0590F2EBDBE7EBD280C1A079912C0C735BC8F4EDD4550BBBFFF7DA9227BB5CBC46D1C01EDB9F7DE455938073316B304CBD0B26AA92EB9EF18E7CD8A8000ABF13308A0C2DF31CE4F9F075884E7E28109349BE17D2618C300A51BF89E04B851AF8B01E086D75C23F9CF7D0EE56F28A3F5FA1420D99DFDDE036BD7CA09304EE676726534829E7A6A42071B1ACC019CA3AE32B0D4597C690655F7D8E9C6A1DFCC568B6557D250E97CE2099DB566A2935EC22285175E386DC81824661CD8236EA1DD8880622001A4F4DE074B4C2320FC3B6610B94C1BC7E57E276FB9A5F9796627B2D17AFE79710E1C681AB9B1311DD006805562305B7A060D7C3687F250B5E92528DF9728635ECF1A0998DEBE7D557DE3C6666943BD44907C00A0E7A187A417199BEA79960DD2819BDDBE5D6CC88260E0D88C09012017F2A18D191D386995C10798A8EBAC00681AC9222640448D3F856059085A8CF718308CB963C7A4822051E799A93E1884E7957FF2C905016357CFDFBA55F2F7DFBFB00BC87B304C96F6972A0F977A6DE99684A10DA0DE8C57F62F85CC9F7CD7FEFDE35DFB4F5FE0A25D3D190081A317D0148FAD013668C0A0E9060CB292A68C81993BEFBC669623D805386D13C134918DCC4477F366E98609D4EC10864D874D9387E01551EE2DC84EF80A13E0B391D10B66E6922D6A71EB519B86632A0D3C47F6F56924850C026F413988C16EDEAB5FADF55E3F9FF401F467F15DFD37BE513F1EDCB74F7B00EABD915403161EF7AF5993CC04C2607A5EE78A00009C77791AF44F7AB5A18BACE149F3757C59D27C11545E3C7C58CAA07A2B09246BF30AFC42D684CDE2B98EA429933E6F6EDAA4B5363BEB960D2A01C44A821B03269401068A5240B385E783A1211D400F2CA503576BFE2A0D9F8B93C99B18659D39D6ECCC52C375E9B66D9B4408B8097D37F81AC06582590C50BD2290B17FF3E187E78DA39101E388EB4E0158DD347FDC570D9F3D3D1DDCA94130373535B1325AC1C78ED5B0C92428BE2BA5F8645068C6F20000E99AC10A18982458353A686A34CD1882E6C3ED73468D8FE324AB98ED1337DFDC0C16071CC1E3C0F3331E1825828760C61B49CF9DC1A3417411BCD237BF891DF8E2408A78AF5025346EBC510A2CF75AA8DB7BF39BC541D5909DF2D594BE674F33F8F87EF300A4D47537FD5DB4C474F059E501509695262FBA48D33E295EEB2B506E01F50C5C0D0E9A59C0E738AFCE0C3251BA51BF5DB04409F26127CD165DAB23A87C8F956624BB8BC84482A1F8E31F2FD0EADA6B5F2B856F7F7BD1A20CE3820B444E9C98678C6CC097ECE3B7793ECE4C502C2A1D5BCAC8D6E7E7CB64C84901CCC45630CB424E0A990071A15C5E1965A03D32525F3532B260406648F199606936C073E52CC5736105EBF6A347170E7AD22B3732831EB74CB6CC9771D8A2844584DACDE740AF2CE382D5AB9B7A9E9495DA7B70CE004CC5BF0D9AC9E4B598C673EF5EFDB7DE0FEB794A01DE1FD3E0A60C836309658CAD68F629D6677EDF81AC006093BB061F7AA84ADDE77761EDCF39810A5E1FC7383520697C2E8EE395510636AAD57CEDC20B7533846E5E374A90C52EB49706302DEF1828376108F601D8D225ADFBE973F01026A75939B8FAAA8C4877EE2C560949A0F85E06913D026AB2EEB35F7EB97E6F441D1F1F6FF6E7210B94074A428C2AC06060C028E6030FE8C01A5C9C81529112643DF69898D8386143F9D01E00B263B091D4621CE54D6F12F5A52FB56500FBF6DB25F8E217F5DFA3BEAF3D4076C0C8026EADB6F22400659F5F8223AF8376CBAC061213C5F28F595F0213B4D2630D925184815AE0E2F15C214BF118D41A34BB08CDCEBE2F40E9C62CB4602C174CD75E769998070F8A3131D15CCC9BD23200C5E0AB642E7EFEFD64004E284D4C2CA6F564D6AFF57923CB424B740DCFBA5670A352C9916E59F24942897AA60CB449632708984A7A04D4F6B4067701184DC1346EA44A64B6BB71E382ACD3B53ACA44C9042344A60B4D65329B373F810303A9D825E45C7FE6796DD8F48F3FC40B276D78BE38A6C239EAE793D7F95993FB20836402CDCF5BEC14D2D96701969E0767082919BCE6D0751DEABD0343CB5290134079EC7310E363D9CDA10B3CEF15BD22C84807606AFDFA1BFD9E9E7F4CEB61668187F22D8F6C9CCF1EBCC632CCE1A44A3247AE176A60406CB64793D62EDD3FA5C2C0401B5353F3FD02D6E01180603DF594AEBBF93E7A8468E74E4DDFCD966447B3FD4B7ADFBE5D8CB437C17A9DFB27D000BAF899679A1709F279968A040DCE571D3AD404015F831C29B6B4595AD23F504278DE0406C0C7F32378E2C4A8EAFDB17D5CAFEBEFF6D74F3C71B25EAFF771295808D0CFE2F32AF98E9932F091CF2A75D12B9E01A0C581995026F5DEA6762318365CFD02EAC6E0392DDDB80899C1A06AEF40C74CF3C752907E003A6EA6F44A50905592DE8195EE17D96B646463DE38C22B18FBF62DD66A667DA6F337DF6F00ABC4F00731CBC5963E0441121D38B0803D0C1CD7DEBC59BCEF7D6F51E9A8E728C29093FD7D691F200DFECA2C033B3A721E4C205BAE0E4A2FDDAA655D8F20449C3C6186D117B00F90183E4EAAB06D4B374D16D0034B13C90C6256D28D23BBB594B0F667F6B10D9C4A060D1B0D1EE83DC4B1F9B71E689A438209D94813A88FCB2D793F33356E316F6913274A6604DB957971CBA452BA52FD27990EE622104A021784E8FB577819382F016395CA75B8FB164D5C9E862FBB3002FACF468D2495C0FC3CFB9E3DE2B08B9619B400CFD999CE9AD6C9D7BF5E2CAE07484B36DEC36FB06C13488C064A3237A09091F4068AA68EBA4F30D10052CBA9BB00A202F024599943CDD6B40DA9315811B06F90F8002391007D4FF0A59D3C1E874002B59B9CAB6083887F138CC93DFFFECCF3CF8F23E2ABD8FE95C423E401F09953A7C4E7441898061EE0D1CFC6F1EE573C0304FDFD85C6155734339CD3B97A0DB8D5D4620C1441C00CA496EB8E1DE700A89FD0694EF35253D9A9237384D4653C36924030CB8C348B53B0208374BD9E5CAC316FF868D0C02A2A990B9877EE6C44B17B98D0F87C86426A2CB047F0DDEF2ECAE0024ABA4652D2659B3CC5DB6E93FA17BED07C9EBD840494044619A563FD9BDFD47FD7A6A7DD3A409FA57E4E074F8E2D5808AC568404C889136EF1F39F5F78654C92E1F3148AC1D2860DA51B8D9D994CAE043086066A773DEFCE16F075D76933A78D18414167FFE637CFF70148EF3AD094060CA83E26FB010092C9852200806E2327C0A2A6D38DAB369341F40BF41C510BEDA70CD4AECDBBE079CA0EB7A4B2E1638F3D0BFEAE611C072BBD1C9C0740383C5CF2508333386CC29062230683548C2CA00788711FD1B9836EB3D057A0510340313259265CD6C58C4F5AB93A202CD5F8FC430F9D061AA7842111E1E38F8B41F0805EF55233BA6CFA073081C5D93C1E83CFA30230E82338B9C3E311883069793CA73F4FF920E8706F0E0D8973C925BAAAE0B91360BAC24867056916B365608B57583050F84C0EA0E57D3F40CB9290121406C1CA6805CBB16375CEC107175FAC339C668ED41E4187A3DDBBF59CBC6EA1726D3E25829FA13626664D711128F49AC0D1F71C64028999CDCF6666DAE2ACE3261B3030005A6BA6E6B8E0F33BDF59F47C1E34ED7EF5AB8B7AF7E53BEE9039503E8F4D30782815F91EEE871E22C6B95849E08B7BF78A4913CB3674A6B36703A49D642B7C6EE8D147BB7961086B7EB684EBF013E3902C1FE75BE2BA856619B8325AC17E77779ED9C906891ED4D15131324B9FCC166327E92C1B2582AE9C3535EB6B78026DD49821C840D6E65CE0C936AEAE0C98B104108D1D3D02EB740602C023786206839F076816ACE36B99CC69EBDC2905D46BB200375628BCF1BC706C6FFFFE05EFCFC3701A007A7D896B0A8E2B3589BD55DB4D07FFCCEEFB0CFE9BCECFE3BFBA9E6600CF8BA8C37A1A97DD3D04850B2734DDE371B8664DF3A4A895CC56068EB53EB59E994EB7CECC67F0D23E41F2054C646C888CCD0EAEB56D9BA665BA7606814E9E9B4D238A7D73E28555408ED9C80123CB906D38C308BA2FDC78A3064B764B7D459CEA793A1D9C4C4CB5FA8438533A9E6919D8124596828EF1D2FE8349F58BF10061186B4A67278D416739840C9796324F71D28612C1EBEE9811975E0A6B3CA07D826EE00010028DE462120692B44BA06889C8C8413A3D1BA5C0A1894CAA8310D41DB548420E5A1E819582A347939F706D82C6616712E00C01A410E75D7ADDEB74B3899F71009490134B3C277C2607368A083AFA1BAE6B24DBD14412E00451763979B6F667A30BE04AEBFFF9AA8093478E5396B1B1760030CE30D06A89CFA9565CBD1C8C6067766EE82B65AEBE5A5368DA1357CC7CB65199D93484BC1E80E6892D6252380770D72E5D9E65075030F8268011736610EF35B92297460DACC2FD308074DCE6451735D7EEC179F3BD26EB7D945911E99BEE3C93C50BAE23A0D760D673F510CEA7BE6FDFA2E055C11E13FFF00FA79FE72A65BCBF7AC30DD21819118BC7C7DF2580CBC2BD5E5CCA657089740C3FF2480F3D00375E14E2615C3817702259E89AEC775AE62F825F36F0AD046364EE9703C2CBCA0AA7AF0C8204C8134F344B39AEBEC99E31E85A3813472DE599B147CF660C8D10331F996420134DF6FDA9F5649024BB430E1636BD1F0C720EACE2665BAF94E85B6F15FFD967F53E293936C0E2ECD82136BC4298CCFEF118640F07E711224011D824A40C91F693CE60AB4F98BF4E203D16670D09483CAE27731CADB781BBEE92B1CF7D4E3F3E2E420FD0D59286ED32DD398380CB8B047D2905522FA71F98074094CB5906CA31065590F53ABB49D70C009820622790349DB994CBE41A428225B95C8BA55AEE55AFD227CB4C67402DB083EED4316349A5D817571C47000A299B32416DF7592E62739F7E7A7EFF95DB6E93E9CF7F7E41065B3846E5A69B74D998E324144A5576F31C3E26E5B38C24A091AD7CAD04860971BC00A0092841C93CC1190EA7B194F6B3242C701D82E3F4E0BCED25685D2D43F98BAE5D5DEE1C2007EAE59082850C90ED9A912EAFBA4A2FB0E0AC9979FDF5CDDF7FA3F632986CB1122CA0525DBBB369C38106BD072D4BBE0A6F7883D4B910939771031874E5361823475F80CF59085407E85A7F06741B0118216582FF9192149FCCCEE90B497901298E5D03005A53A6FB965B64E22B5F69029053B85C74021096C1601DEC5A52F7F1BC837360A693F2F95E1E8B2021B31060FC5CC80529C2AF5ED08B40729CC8E245A3C9AA60DD3D0598A64E9D9AC9CC6B2DC702714B2FAA75D981D186195A25A3B58268CB0E7AC653A9458F9707C09A3565135AC839F418944D77CEBE78C88CE4F46DF23E0B591F20EB191C06D340E998BFE61A9D71FA80F83C67E568BE22E8BACEC8F4726C1A430046334EB2A6D0650996292F8BD8BFA66AF6D9F1D9123C09CF895D47760709983CB2BDFC9AD748C86B1109386C7172F958EAE8F5C5A5ECE861D3EBF711B8DAFE85FFD7A1846AC7023B3520070C3AF5DFC3F9755D79A506C2C0830F76B2F4E3E7EBB89F4BCBCACC74307F444216FFE2EA724B0FD3609B67600ADB01A1756D4BDB9232FB5CF258B503C269093872A4864DCCDDBB2506ED73AA549765A061065B9B393A7A368312AAD54D1E0C9E0396F033D3B6640C3A6E93E0C03D33BCF496B7347BEEEC9E652FF1E6C965BB709C86C640BBA8466A99A9E8023B80691079E10A4A446E456477CF79E749C06B17F177FF5BDFDAFC3E90AF004CC26AC2A6B1CBFCCA47ABA6EBECE7774385910509A0CADF05AB32D84BD5F290811C2A206B093D574B64F572D566BB60C799FE99D18639E40C24A82D1BCC03C0D8B2A56AB231C21F6A40F6C6CCFA84666D663DAFF625A52298ACE15962F16FEDDC79E50FB316D91322E338F85C58A9F03840E9969A3302C161778F9771016064902E00CC82F3D780624501596116869C6DE379A49545321BA79984976F81A13C6C3E8E416699FCCE77167C31966D036F7FBB4CDF7FBFD83090056CA5E4DA4066BD2E03F11EF60C48F75A0638091545ED359F920216A21CA4D3C271532A0B6D00F06201592E80AD414F19462DB3EFF8C582FFE2B3814F3E39A5E0C449DFCC5C076E5D9771D462CA022999AD62B657290B9C1A8564B8040606D2C27B2D5073055E41B756D9BFE79534C8AA80810210CC24C319382F0106B72A4CDDE43DF76876A03E135C3964752F74DA4BD6F2939229333C170294818F96599C19F19233BCCE8C6EA5FE3EB0D149948764901C671301883CBF334092E33591C9FAC2A11FFFB82B4AAF6402A85D781102205B0662E467E5CCFEFBDA999479EA0CB658DA5CF0DCC64CB6630AD5CA02A73B818383450BE68632E03FF040B3878E007B0C30A56078587270F4346F31DD3B9B21AC9BF13800A507AC120E1F5E509373A2C7C68076C204FA780F834873E6F06210300733DD4B96934749B7CE05381AC904920D309E4CEAF834730990EEBD7B254039A86B772E49E7CA25FE3045020C6E613261B5DC8D1E82DB5265602201CB9681AA39B02FD5BF96FF49023EDFA7928517342DB59FB615C4E9B980C949CFE6A2C7EBAE13877DF4A4DBA6D70720B80DB08320F3F3D0CA06034C478C4CB591399DA0F13859144A0AD73FC986E072A3DE17703F91FDB1267CB6F3F2CBF5C40B3776E47A6FBF7DBED54C50B82C3F5BCC4D9474F00204781C6E7F413A010843EF7CA77EBDF3D24B35ED53FB1950ED2B90D504469098C29FF5C632908B439C5CAE5B4647AD9728F822CB5FA36A2C039074B67C595648CBC9140876E2108D7B6DDB67F633C86E62E858F691DA8B085681AB68D839A321E20211320582C4B9736A619D4D24F6E099E1434392DFB2452AD75EAB6BFC1C40D275E38DE222B09402BA7B9FF30E78DC60EB3973EBE65A029C5319A6CF46C6F725C0600948405112A44D00B52F8096CF26CBD7B3B70A00A117AC601FA5AD5BF5C524FD4919C86F9F650E1AD50503669A9AF6752948738BEF37001FA32F8881B13C3536369D29038D970800B24420E3CC7D24B2E85774548BBC186D8C67D6102A3BA590D785E18FFEBD690EEF54EACD08E37A7CA3CBAC38BE243A7EBC8B1D42063B663B98990F6ACE412EBA11600E3A9B3B5C04EA410298BD0DDCFBA078EBB9E7B49BD71A8E8C2C423EFAEEB843D3AE45A640D0F2901666BBC795419CC7E78F4880710892A9EF7D6FFE843B5FFD6ADD1ACE015C167C400A0C068C0EDE8537614097A47B56160B7FD8E1741988F3A4B41458DF032404876E05A30CE4B22F0E96070F90D5FEB40C84F95567E8018C3635FD72C6D16CC9F0EC85D0514BB6A732649E819758F0BA9D6940181F8EE32979E081BF4E766615C0101F328C0B76C5F18D96529BF1E65D761C6F89407934713CFADC830F362B0538F93CB4BDF7AAAB340D9392756F00D9E661E0A9C9B5279FD47A9D3A76062F87CAA007EC4050F033FC9B81A84372082666A74A7A0834930CE20C9C7D7A2BC2D917366CD0D243094ACB40BD7F1C7B0E950C8F198C8D2D5D06B2B9848D3237FD831F9C5E22010F40ECA5D3C1CB04F6A5F600B284B337329A6F2D5101B42B47B320CAAE99D51E206E59AB11250731113EF34F947A4C9E7AEA8914141703FCB719C69E01914B06EBF5EB7CA536E2857E4A814B394056CC02147AE73066058062F56FFD960E1C03CE8AA1CCF7229B081452BAD6F4E4122E6DF640B779808099A803877DD29DF3BD7C8D52325F01F08255046FEE9147F4B6C0D0BDED6D3A706CF2B0B9436F90EA9F0B96E2E29028993A3ED35630CBBF025883A0E0CFC5E6CBE51E3976CC5CA2D7FFB37800F345F43E5E8641D2F785C916B7F9FC3C00DA698F91D9CCCC663D24E23EA4D4B7F0F83BB27FFF9F721FBF22B27A3700D123B2A71045D762476BF8FF9698D573D80AD0CC34C00C461E7F33EBF99881640956DEB1433C808274CED66F1D5EA4BC7DFBE92A80B5385906EF5DFDDEF7EA0A420784252A9886FD065D5A667EC899725207EB70CBDEFAEFBC533392057016B1BF221844923634CD6283FE86656B181AD47ED23D570531E8F400D390A709B0113D008E36F11232C09900A35D9D9F3581612691C3CC16B534949A0048DCA0CA988356041B4B0022D51CEBEF440E623B8CC79F97871FB6C00E79A8E8760CEB1ED4501755C3F06A492EB2D45D37D0327BFAACF769DAA8C30409753ECF1F82A06B478098F564115DAA71197A62D4C80E29A0C82805F888C2FAF53AB05EB22C3CFDBC036F92D6F5F3238A40D37CB61A504AC6D0BBDE2521F4BE0380EC7FFCF1325BC11334AE09537055F0CCC2FD192F33005EAC5C8C5BBC41906C7E9BE0ABD696B0BDC432A4330584D906103642E0FE9908857A9F7EFE9E7BAC2B447AE0EFF70C0110A82376E70D836BE9CB6979573B70406F15CEDE011C74FC64854EFE702440A01779A0A2A04E9B49374E9F28B29F264E1B3998D3530006BB872C012933AC0008181A394E2173D6910D1F760AA3CC8F4AA6C0E0B9CCA20A62776754843AD3B55C29582A164B3239699E81015467B850E427F108AD01F733810F64D1AFE32D3317F022EBD2960244B40C3BCC03828F61ADDC1F347F599BBF1869F79D3A95BB6D72723358627B2FCC252CDCAEBCC8E6D4C93238338997481D3BE99E0D24561EFDAC02927904ED01D26B0B33AE9F5B0D154C299D4700C0F25CE98C4CEFB9E926DD9822107CF80C1A4EAF4DEF21BD712108B5BF04396019C88B45F56CE0C444FC123280B14CAB37ABE969C0B3F7410BCDAB33594B60FCAC73CB691FA1E50B984B3084950022DDACEC3DC0507ADFB66D7B3BC7C737154E9EDC843CDF8117FB5200B49BD1E394320D1ECBC6F2CE9DDA5032937597110C405F50E26F14B5FB2CC0C07EC3348056E0C415BD087C077D00C7E5EFEFBF7F360EC30A9784F14A20CE06B225CCD7D232706A6AEA19B8945F7B89A93DABE1ADD9ED67821D65CAC325B3FCCC1685FEB467BC9021D2756CEA450061B503044C44E30F0F1CF87C1618D78B0CBD0A9271A1655D5DF4FD0BB0E3B5BC2678FEF849976FEABBDFD55B5A5ED24B745F7FBD5E03C01E845EC089FB0640C1B67476D227A6E97CE619BD4DDE77DFBCE984CD9CC317ACA4B3811ED72E2E8E98F1227D00E30C74BC55BFBD36010F33C18EE5A789F6CB0180E5009159C5A25EC43F982D8C6027CBACEC6F881CC276440E1CE0B2620B829C7FA3C8055B4476821A76F49A26BDC4E082734070592A72ED40DAD72730758F01F4BDEA8D6FD4FD05CE0632BB3528D8E8CAFE4064E682D3EC8DA51FA5A0CCF51090925CB95C451968BD04D9EDB56878AB797B4902FEB203A00D18DA01C258C63F64C16065C0A001310D2FF1B722BC5E8D3F656617A7A6EC3D0F3FDC7B89C8D6B5F0132845B7C3596EC3073B5ACF45CB02B61CAA065D5E26B38F4580A2C28B5F78410900C1DE0341511C1D75F2EC5B90EEF15E5D06F2472DB18F310206400B162F0A6D2DCFB2DA9D0D76BA2DA5DF2F57CC7F7E00384340B433947E6BA99901859305452308ECEF0741E3FBDAB40B3540FF44D4EB45D6BFE5D8B19B41DA1508C0B682C846A395AAD9CF47B075B329319C9C3C9A7DE411CD14A55ACDE14AA0996455535A06F20AA1255CFE52D9ED6632BC5DC07F2EC1FE8503E0A7A830C236EDCF56B9705A361B1F74EE1679FAEE7FFAA78329930CC347BE0E2C71BEC885E520782D2250C59B7BDA9D170D25B753F024C6326520223785C8B2FD585B22BB97D4EF5F54C07FA900F01300221DB47089EA22CB0E6DB7E308C45F21CF85F2F1E52F7F869FBD5CA41FDB85908E6D40C25648C72616074BC51B917C6ED6F727C0175FC1F6D001916792ECF633741EB62BC7D42FE90F4FFE52FFD0F18B00A25D8561B561875CCB7D2A21F68F448E63E3EA936F731F300DF6C74E9CB87E0EEF190220F81B2648EDC333000DA864DFB8C8242FA36F63D67EEEDAFD52DD0CF50AFE49D4363D08A3050CAD5585D302063BC32459D969A5F3A04D76BFE282BDE200B00C186409EF90650853162EA78A5A2650B2341EAF8460AF6800B401C352EC90FD7BA935742B32D8670D009601446BD9D6AE443DAB6EC6D9FAC5CFDD4E3BE873B7730038773B078073B7730038773BFB6EFF1F6F7C8B1BF3E2652E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (27,1,'Firewall_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000012080600000041EC1E9E0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000369494441543811B5C1CDAB94551CC0F1EFEF3CE7799999FBDA1DC597C29B24227951304245A556AE24E88D68E92AE81F701141DBA27D6DAA55B86FD5227011AEB216891712830A3135EFCBCC9D79E679CEF99D5F230A4584D3A6CF47CC8C59E2C5E5335ED28D2B3F0F066BFB57BA2B85EDE7B307EBFC0762663C14DF5D7A495BFBAD5CCC4A3EDE5C1FBFD9DF6B8BED913CC8D15873DE89DC4BBD7845DAECB4DDB65738942E753F197ECE0C626620E286AF2E7C23257792973E6A1FC5717A3FFE2EC7D3D88ADE9A1FC7A195D9B3E927396823FD3A3F35BC15AC3A2E67775D1E5CE5093C1F88BBFD5AF7C3AAC7411BBA17A3262FBBB4DB3D2DABEDE56C6E63AB25DE4E45679F30F1FA7CB53BFAF284A7EB0B993C3DF6CCE07FBD5E9DDABA69EFEC3969B43BA95B1D4EEC347A3A7BCEA477CE93AF97C4730D320FB23BF8A602DBD7A22722CEA5C80C7EABE5AD5DAF4B4F1723F94222F4C09749C624ACDF924E3AD8C8E1C7A2E9DEC927BA3D977DBABD31F865A3F5078ED4E1D2059EC8CF5D4877C358C8EEBBE06EECDE29EE556DB659783FCABA6EA7E9C4B939DAB224AA96613229AD69B87FD76E8D5B3BF6FDB75233835FF9626D15E960DEE72EA5658D11CD329A22213D4F52256D6E1245B0188955852B0AE7CD70297966F029EB252D0AD40C0B8164468A110512606549AC2A34256C32416344550921904288CCE02731EA1496129A122642604A048D11055208688C685DA3CEA1AAE6BDC7A79431836FDA36A973281052C29C23C588360D3A1E93BA5DD47B529EA3DE837364A391A4D18818823283AFF33C8F55858D4644E74866A808A92C094C753A2810DB963818A0AAB4759DCC8CE07D2E221E3020316553FC8D1F8D462D53D13934040C083162DE13016B5B625D23DEC3FC3C4E843CA5AE1F8D7850D70BC0121081044411098002F6901F7A7F356D6F1F7355B566228B1148790EAAA82AA24A363F0F22C4CD4D4C957A674723D03AB7082CF3880101A8811A684424FA97AF5DFB52442E03C57B2B2BC7F6989D595A5E3EDB71EE68D63407AA7EDF5B96A1DBDB4855E1AB8AA269F2D0348C542B601130C000052AC001AD992531331E9229FE92019DC3B072BE28CE3C531427F7F6FB2F74B2EC501EE3535F0D06B72631AE7E371EBFBDAE7A03D80686400D04334B3C2666C6BF91291E112007BAC0C21B4B4BAB716BAB7B137EB80E7F00CA6336C53F8899F17FFA13E957F4FFE373D1E20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (28,1,'Firewall_(48)',decode('89504E470D0A1A0A0000000D4948445200000030000000240806000000CF45B90A0000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B404944415458C3D5586BA86565197EBE75D97BAF7DF63EF773E6CC9CB99D9933A37373346DC6746A94D082404D12956A42050BC27E4844F547240821210A2A42FA11989009D19F402235210B31F152E3389E716E9E339773DBF7BD2EDFFABE9E77CD3A769C4693DC102D58ECB5D75ADFB79EE77D9FF779BFB560AD454FF63B2B975D3886BAD4F57FDC8142CF9EB56A77F07EDB8DCA83520A1F66E37D69D77D383B7E08011EA81E78F7DA03D531996B7A4DF5D3FAEEA1EBD1E3CDB91418DC3732195DDDF7A98CE22DAA7CA9814B5F1AE95F398EEF1EB81F464DE32B233B1057037DC4F9A9BE6B641F1E564E54F71EC5E503555B57D7E853F6B7F896AAF6924096EEF76C5FBDC68F9AC71E771DFD232FDEF4921E38798FBDCEBCE4DFDB795908B56F1E3DD83718BC18AAFA13E1847BCFE08F6BF5D6F5FDEF28E58EA909FD2813EB332E9F32F3585B558D2DB573FD1DFF06BDCF9EF6FF10BE908E966EC2E3C638693F3E731F9E7C32ED7D06FACE79D1DBE666DDF5AE6DF79FBA4DCF7B4F777EE53E81FBE1855F1F9C8ADAC92F9A85E543711D3B31933ED7B8B3FA58B868C7B10E693AA636C6A173BB1A70AFEC2ED9093C82B2DA6F8FAB2F247EDCC690BBD547F7BCF3D9A5E7F4A1F6E4EF77F52203DEC5271AA71B41FBB4193413F89AA9DBE3C5EBCD75D1EFD486C57AF5877649FF466B35693D6C4D5B6ABAF1F7C4B1A9DADBB7D143A01C273A6EEEA4026DFB4DE395AF7575FD6FA5EFF881BF3545FC4B6F58B9E5510FCBA7ED68C8B0D54ED8472A4A7DCEFE9B043E4206E6EFAD3E1816CCADEE940B1BA86E12A9AB1B7F34B7051BDD6277D1DC58BEC3AF073701C53D6EC4A18E3BE6C10C028B6762784A394B87B597D4E0EBB2556A6F6ACE3C866FB6BA898B49BDC35FEF2059AF293007EBF6179114CC4CEF32C0623B7BACFFD6F6E9F41B8561F7AF63933EACC215AD7311528521A58D53B9D52E9E7D3CFED3C45D6E4957E26F97C72B700B0EACE3E3C80B4DCCCCB4307E55097D8E077D7B07F6F562B1705D8CC2EE1449DD811A354837C4B035174152C2D8FEC251FBEBAEED0981E6E191E9B79F6D3EB566B3FF8A1E492FF74B0A0B8C6A6A148A03AE93EE48D07CDA3FD034A11AA620AC6BBDC22860D71A846F39D8B2AF82644F88D2740AE7550FE1F6182A3008AA29D20ECBFAA40B3D9E30C52EF0E510E1730EC2D1F8AABE5E65E0C452FBBBCB75ED5CB1B752581AE9AC6FCE6A4457441839D507356510EFD788C7AC5A5BA0B4962DE2CD114A059EBFB14B32458CCD97D0DC1BA13B9CC0B61512636027627A1CD0ED6390C394D922A1851262C58C7CB205EB29AF27123A718F2A35CE160E6EBAA604BD3BDE9D3453A88D06EEC7F9D06718E1C91861C5C01CD462BA30733E74A8A0794E3714E25BDAE83CAFD0DA146580A39D1C7FBC007F8EE3CF95E19EF1503815E1159BE0A9B9C4064FD96E50F1EBBB0F248737DCD0030241BAC6754A4BE5D143168D0D21BC0241FED9425302AD9D219201834431A2C905B926438C7208B4271338B30A85A30524F3050C3F1AF0E438CA47976C38B64E790B0B08272690160A88E318F56EE36863A9BEBDB650283BAE5B3EFA7234FBF9EFF780C09AADE7BACDFD5E2D1AD2E3DA0A5060797707A92689B104FE591FC5C32EDC8501944E7704645A797389E0B6B84EA7034380495F1F4C42629CB03E35AA54BB8D68781868B5E0CECF239A9C847EE75CAD1586082A1534EB754956AB372EF49035CECFFD31E7480995B309BC858A094E44A1C1A4E7B554212D97A1D23403AA64A596246E73DB06F8EFBC03677919E1A64D701617D12548776909A943672A16A9FB1076600066688875D1861D1B0B2ACD66968D01920BA3A8D2331B9DF8D9CE2ADCBCA6B476D220287BDD2E92FE002E81C4555E8EC452150CC159463EA63C5C01DA6864D7FDD75E43B8650B1C46371E1D85E238C3E90CC7D820804E12C7B0B87D062235A6B78B39EBF926F57D18463821188974C8E8599288791E1239024928130241C2281B21C8B19DF17168DEDFBAEC32983367107B5CC4BEFA2AECEC2C3425644E9D827669A35164848027C79A0D2D4D4DEF1A9965E7646A33F08C745C2A41D56A8825C24CBFEEEF87226091115964320181C8E23F2518CDFB0DC7D9F5EB33D2E99E3D5C2BD4B2FBAD04E0C409E86E379255438DC55DA22C9330ECF48C4097293604E1106C2A11A42CE4E10E6520359081E23D582121BF04661951295E23BA97E395170DCE637299C879CBFA30CBCB25C51AA9B226248B7EA954EE9984E4619611930664442E04C494236206B4D4005D2615DD93A4E66FC48CC4049988E4E41CEF49E82E722D21D184634536096517334309C98AEE55966CBE45394E6F6B80E0ACE8381519F1C1228B849910203123AEA5509989342F584D19E8C14124721F752F36AADF7C33031D1F3E8C84AE15CECC20A2746292EBBCF20A3A73731D0954C4ECB99CDBC9DA5E8F241433A599550A19C982E85B5C44342C5ECF885B5AA51D19813D7F1E86BF86805988506BD7421F3B066CDC084DCF77A6A761E84429FF2B923524AD76ED82B7B858B6B4DD2233D4A09488BEDDB30C48B463662016024C6F5698E216E234927E3E50D39512463591CE4AC029759DF09CB893D9B62DCB86A5B58A5389198843C9AE29C3CCB55C57797C8E6441EAA040ABEE59060844413240FD670529A0A42EF202C6D818F4E9D3507419C34C2846396134C5E3418086F503014709A624E088FC4828EB059C2724E166BBDD01EB0479A167CEF7AF8F062BBFEF595E7F98979D8C8016D710E07C80A4DCCAB1EC0424EE649801776A0A31E583356B60E9EF102B2458E42EA4A40E48CAA1DC9ACC94614020054E39056C70857A3D08593B8C3C42799E9B75CE20072DBBB9E83763F89F485C201086D670622B5ECE87A66293B9D71BD68043CDB709CA6526A49005AC910296D0491D884C48D29175CE1B6F2020D994241D922C70CC8527796E999293261670FCB95A4D809572C059F9AD3A5E01CD242BF34199B950C4A25F89AA00931BA4DD0B1949B71092E2A4BE4301459052BCA9EC6289241ECFCDC1E5F90E1DA8BC7D7BD6D4407538222F91A0F404DE2B72120BD51CCB65481551545A251DBB0AA8CD09E9FC375D4D5094B742222B62765225F61933DA9A0F48281D9D17A1F8BDE5E2ABCBFAB02CCE9880B4783A49CA6C31970C1ECF5B4AA9B273A7ACA5A03857266F1EA7329EF7B7E6E6E22E03E0E5D738961D11C57C2FE5729297B472BE07AB76B9872D1D6E8EF9DDFAE1BBB8727FB076EDF4C0F9F3D70E0E0DDD608F1EDDD5BF6DDBC748B102E9B61261EAD827894CE3D2B1F3DE205DB8C09AD02457E002CEB06865936C44E25CBC5FE425D61CAC5B57EE6380EA3481F2059772736097EA07AB3310E5E7DC55E7574C2E51F9042A6726BB5F25EB43C0CECB06070F166BB51DC39393FBBC30DC5CDCB081698AB3884AD43B6C541E65E773412752C9166BD47D67E6C2078792BC07C83B018370A4D138F67ABBBD55AC342491539DCE83CF03CFE0831B9ABD0834F598BD47C83A8A0B016BBC5C4B36D7964C9634D9C67E02BCC005D98B9054CFCE06DB80E1BB943AD0BFB0B063FDD4D427EC912353A58181351EDF07B2C226308FD1EED2328BCC4AF682C3A985A014B3AC68A576C41C0ACC62D1987E36CBD2C55F0A5739D16AD0ED1C74B802FC921FB6565577BAF2CD56642E13BCC517B5EF2D2C9CCCD27EFCB868B47263BDBEF9E0CCCCFE815A6DFBBA4D9BAEB6274F6EAE6CDD5A12A0B24B21CB84DDE3C7D15A5C8CA50FC842CE917A33C6CB25B45A2E2B116EE7C7517EDEBC5F5FF8C02F03ABB2939122A1248F029384856781D9676BB597850C4E9EACB2DA2A5FACD5F6AE5D5C9C9EF0FD3D238383BBD5FCFC046D55059E574AD8F05C66A0D56C36887056BE11E773AD44385EB1D10FFBC54E7D942F7BB9E4566AC7CB9D42B233C05DBE5E07D3C0E01DE3E35736CE9FEF7B0398EF7ADE8B7FD1FAD53CC27A2540FFED2746F5113F4D5E4C06ABACCE5DF5E952AFF2716B7BF5D05E12F85F6D0EFECFB77F027609EFBFCBE612740000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (29,1,'Firewall_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000300806000000A14B7C1F0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000124F4944415468DEE55A598C1CD775BDAFD65EA7BB67E5709D2187EB9014499112174596252BB2A5D8826458486225B11DC4B2B22080F31120F14FA28FC4800103897F12C14A820846100341E2C4366C481F06035974249291448ACB90438A339C7DA6D95BADEFBD9C5B5343B528468BE32605A481625775BF7EF5EEB9E79C7B5F0D85D69A3AF90A1E280FBB2F56C7E923FA323A7D03CBA667AE5F3C214CFA33F1EE7BF2E7FC7ABA7B3D3D25EC8F16005F15591242FC5CB3FF7AB9227C3A929CF31C9BFA7BE558D77337821075571EA7A7F6DBB219FFAE9C2F7F9B07DF7E0078C15F29EF55BAF4DBAF7E992CFE68E28975D9F79AACFA58A5FC8EC07CFD752984133ED8BBCDFBFDF2A728333B175F1523D1B1D24BC90000E13DDCF3683C4DBF16CC9DFF98ACD05BE171F5797AA4B28EBE985F7D7B01F8D488132DE9BF0CAFD1D49D7F4BF1ABC850BFAA7D337EBAFBD075CAE2E57FB63CB4C2904CA4FFFDBB6DDF45E7C493716CF445F3F11FA931F90CB9545403F2EF9BAFE8BBFD2FE377C746ECE84AFC9D385043B22CF7C557CCAFB516955177E4F3B519F385E8A99E03B70F804A980BC7C5215DCD4C301F76C4E3FDBE41FFE21D8D7F488D427732067A8DA6F4F3741F99DEAF761D0A96D48E878CE2376ABF57DAC4146ACEA9AC2E083BDE21D74692D6D72F14FE50949C6F45AE267F49FDC5ABB3632AAEE829F7617959F55863FE380D9A231605137AAF7745AFABBE1E7E9F1EED2BDE16001ACED223ADB754216E455F8F7EA36B9F6CCA6F76F514DF0C24896A6C7C8B3E2EAC9A57FC42ED9C3A32961D315B13FA6FA4238CE64BFA0FFC97E4C9F95F2E1C97108CD12B227BAD31A11D910DE78CCF075EDC74B63814C77ACDEEE7EC9DD666416A8F247B8BDE1E6595CEACB7A9B5A8F354349C859371DF5CC1FFF35B0B00D379FF7EDB5FA0CFC98C1652C8C3767F66C25F50FB5BF9C68FCDED42D6CFCBC769DD80EB9FD5A7A85FD0C89F8E3941A4D75B05B35C9B97E6D2795D983F1AEF11DD2619425834697EC9BFAAF3D13C6D6CBEA1BB8BAB0CB21F506B6A7FE7FE89ADED8D3AD09F8EEAF26B56C512960B35658428AE769D10626A4EABCFD0133B9D5B02C0D8C39BDDA9CFE5BFBA347AEEC1B0A6B73BC336896EE3E2E282F74555D4C58597E2D5993556C10FB4457B1BF9FE4F5AA7EDBB74D4C851C61A12BE250D72D759640D18D4427F716D3E22110AD118D3461CA227A86A4B697CB7DB239A32CDA91FC48F2FCE0542696DEA0371A65031297634654A26D9684F7AEF70486608123C256F0900DDDDE4864BFA7782A65A1B45D45318B4497A34E48D1BCFE42B762E6851AE7E4E5B9523B6F4EE5287AB35F5C3AED5B61D5DB5FE29DB6D5778957D5B5C32F206655699343B13D2D58B3E7979496E8F49F93E8B0A8705891E4DCD97C586AE87C870F6680AFB24298CD15945E17D2DB28790794FD2E00E97FA0F9AFF46FFAC3B0FC0CC43ABF24B93577F34FFBA1CEEB1F2C7FC50E7D8CE4B8EED2E9C0F4D396BE6281256753A14B9239AAE7E83FEF8CD7FF00F2A5EDAB0BADFECD74EA617D446F002E95BB71BC30D8C9BF2A9F4A598F2FD16E5D65AA47FB349200AC5C392B29F0030C39A8C3336854A931A50248B92E4675B148F46C4AC51BDFAC0CFDD877C6000508FEBBAF6ECF8D1E0A03B689C505ADC6F66C95242D3D4BC4F214639D0666E954DF9FB88745D9841AC0F66B60AF21EAB136310F6C7686824C59B233232829CAC41A3F774D1DA071D0AB744649998A42429B4700CC4643E1A901A54E4AF8E89A6014C2028CE49728EE6281E0023EE0FC85F1351D81B6DA10EF6EB498343B37DB9D98BD73EE36B45FDBBEC53E176EF118B8435331F92B73EA0A101D8B9145440E6E34331C5AF9B5438A8A932E990B88C4C6D84D67B11C80538F88116194B26E9454DE55E8BBCED11B52468BE15E9441CB18F407B239C8305404E976292DB907DDC5B0C0754B8E090AA1A1477E1F3FD604225CE75B455E77F2627E3CAF4E5283FB23547C592FD85C6BE9AE1BD6952A96052F6971499F598C47FD9140F8514642419DB021201167C47407AD222F3B44D11B2969F4526EBA0D56300EEBF6188A75DF286438A034DF53B9BE88C107CA409C4A295941A7578C2A42077D2A6B1254517E21A75BD4C54461F982F2B2AE7C542C701A8CDC5070D9CADFBB449CD919611808AF97BB088E32655FB31004B4082282A488A4C85AC2932701D4299E1885C0E0651C5DDA0F625979A830D8A7778E4238B7E19EC68A21C620E6B12523ADA47CE4448F6958874AB17A5C1267B763699637C6DABF1833151C06414051115CA5D5428557FFC57973A0900F4EF679D2343D0AA8F8CB28E15D86CF5A1CD5D0D7AC3C86AA31E8500C5CFE2BB652627BA5F8E5C27D77C5EDBA0C89D86E17D0FD2A80F526E6C9E7AA7306FF7362A9E3D478A5BE7C16E128D0629CBC2FCAB49DA3619E532F49FA3606AEA623637B79BA7CBE6F364604C6DB118749601A7483807752DBF0FD9F55087E1C63A58CE686D9B4F116B934D6EC3F23ACC0541F6B44B168CCB9D8096FDB5943F334DCEB4418D8D5BA978EE1C692CBCBA6713C9560F4A9C43515717C55BB650542A81F2D0088293C522655F7B8D9C304C8089B76EA5E6F878B586FACBAF3C7E535B5CE47B5FEB2C00A8B1F6F7CC6EA6B321518658A3D0AA093D3B571565177B2873A545CE140604FD2A3BB168846818FC810112128E5EA9801D156A8D72DF6B502D0D343B3646E6B56BE46DD8408537DE48C8122148E7E2458A0B050A3047637898341840085AE2B3CCD050B90B41AF34A4E5FE7E0A3DAFD2710F287DDF2DD87308BAD9AF72E797244CC06A0E6F8463C5A4B259325A2D04E99270A5D1BA7B33B9D06C667A9A1888CAB1634970B5EDDBC9C4E225B21B9BF092356BD04576530C30BCBBEE4265582285CFEBDBB691C07CCE2BAF90C4B5C4186362226159230CAB9EB15C99A3001501D2F0EAF5A58E03903BB1B55F658AA40DC3A86F1A31320830F7D65B1483A626CE23BC736082E9A954A2DFC6BA7549796E1E3C48F6DC5C42EDA0A787B2A74E9175FE3C799B36917DE142A2638F83AE56D1ED81FA004463BE104C213048394E220905CABB9393657761D9F40B18A770AF6CB1D8790698BEF455564002924C04C9B46C6CDE4C0E321A819AD94B97C8999CA426E8EC0298080B0E5DF840AD968C856792422625B227474692AC53B34911E688FAFAC81C1F8757C04F009075FC78C298107230CF9C4932CFD732F580461C5FF78016CC12DFD73A0E80402A0D98119B175BBA82FE848732060A1A58447DED5A8A11B403DA7B082883859BC8B28F2CBB3897002340966D802391D118DA150040631EBE56F88D06900AC0447BF690669021ADE88E3B9231847BF175161E500253F8A5908C1200F35BAD7CC70180168D1088B33699920640900C062818A13C31181A0B6AC2F8F8715D04BD73F912D0A977F83099972F134106DEFAF5649D3E8D0A017FD8B831C9B0F9E69B14011C03EF9C6D056FD0CC1C1CCC1A66909E9949E4548FE36A0BD726BC811361612DA661581D07001990C6FC3C859C71802011AC444638330C886056F0018A276D390E0D703416AA780CC6B2BEF97B09B628649B52D757D0BB60200102617ECD20E39DD80B608CCC008D4A42BDBD941F1F2F3B5887840C9C4C86AE0154DC67B1E300C4888A356D40E76C52261661C08C245861229B6C460A0B64B70EE10316A89E30071937B8EE7366F1B9E073066708FB59F806FF4EA3D429780003A811948674B8EE0BF843F2397B00BE1300BA3E35D58838F3CC023090AB401445E58E3F118AE35809767B644E206066408080154C304076226489CFB9F663E34011020910BC9A9AA200A6C7E0490016B2E9711964F384CB73158941756E72D81863643C46F5500028E2AA3038488A4D13F78A30CEE9EDCD58083C86472C613D0CA05FAF573BCE80C8B2CC100B13685C42642C3125DC9C1D5DB05E61464C6BD67C84C5EB6BCBCD99C66F1239205309AD99CE600D1B5AA26D3E0738C412615920CB9ACB1ED77FCC4F0856C06324DF837B0E00CFBAE723C3DE83F932C562B9F312E03B717690590681835758B8466DE78A903444A911AE5CB39635BB3B589000866C2B18A002480476C8575F4DA4216098715AFA8C1D3B283A71223937711E9E3CB9EC0100C2C1387F6626A871AB9C96C12680C1DD6E01035005241067534B4C0E41247AE520F139A11472D6399B1A6ECE8647F85CE19C407596078F2504C18ECE9916F7DE4B8ACF31CE3C7488241B1E823276ED5AFEC30FFBCBCE9DC9FD140015003357ADE68BD6B22F1B584BF7AA5514349BDD9D0760656387C019086E5AB8AC25343E7B761918985C1224CA9EE260E0F802A54E72F691714A29CED5437010F83EE20A01433551197C068ECD0EA58F302F67DF84B45806017C47833DB0FBAAEF38EF6885FD66B3D6F6C03A793406D074FBF9FF1980A4C481DE498639D3C838C1FC78F1021993CC04068375C9257245BF00260658CC00CE98FFB39F2519B5E11D3EA8CEDA7741F5008019BC11424623DEEC60ED59001AB35C00940350B80A7455ABE50CC6F2F7DC0AC768CEEC6CB620F8D1FA0D4FEE577286734D6F3F5FF9D0802C33404A4D1C3C6796B7A74C79CE169A16D6743223B3002028D6282F000084D8D018C86E04804CE8D506ED63766FC8C7397080628C4D2404D018282E392D5491182067005203FB8695577E749496C6C7530758F6006601EEC994C8A441B61FEA26D7094B3E0C08CB0C304D2179EFCD8D0D16AAD1CAB24693CD0A7FCFAD310385ADAC01660490057FEF40C38A37482867DCE4B09663060EEF26AE03F40B0DFCC601484DF408025B641772C97125018B8AFBF793E0E6096D334A2095366E2C175306700C59C86A7669C9C3AD9D1B02E5E731A20D8495929E8CB99115EFC58EEB1E20785383850850537199E3BD013732A066885657A26E5BE8FDD9B14DF4F04929E35E9FE5C393F006EAE597934C67618CD5175F2403342E622BCCBD400E19B6009E66DA73806C7CBC4F007B3C00D3041B107ACD07136D6ECA000CCB2A97CD56B0B1B26FC280F62057CE657AA89B7D0F60D48D402C03E07911973203755D3203B8B63328FCD88AB30D4A5B0884172BB83AF066060BF4018C85F2D780C125C1626B1CC03CB9B617EFBE3B9140628CDC5FE0737E3553DA33E55B6FBC41167EE7E2BE19B0A472F972790E0C60EADBF81D37434DA27ACA807724F326D7ED00DCECA09435FADD0CA8567D7BF7EE44CB89D639430830006D6DEEDCB829C2A2183E0BB4F4B0C9F1E1DC051824673CC3D9E53E3F0536425768711D47807C14F7EE25138C32D8E8184800C8F32465134C88004E086017E0011EEEEF0240DE0B704BAC3DAF3B65C0FBBD549B3C568E382538B5C9E6FADF599809162ECC3B89BEF2F4F9F3CFB9B3B3FB8ABDBDF7A2191A3584D894DDB54BB0E32B2C9E3734ECEA8B3FFD29991C086A7BCCE6C70F4B609A26165C47C3C32E5F0498DC38E5E111363B3C7B0B82668FE0121BB011B269A20C1ADC7CE17B5E52F7F0706909520B3166093D0497C15AB3D96081B517819B04DFEE0F715BA68D34C9E60DFE71FD10E960233DCCF4703E41D4F72B0303F73A3333DBD1F6ECEBEAEFDF8B1EBF5402CDD9C579E1BC5D665DD7500D38A012EB1DB437796BCD2BC1B983206BC78E25D22AC03B243E33907D9B4D9319C726080099354717168E2FE6F3FB4CFBED78E73DEFAFFFB5D97CF6039AFA8D46A9DAA4C14CE027BB7EFA0EFBD2CA4A0D41A606B1825EF002E4FAC2CCCC951441976667DD2789468E4C4E3E20C6C7370194DD952D5BB6D74E9C305D5481E29D77262594E905DA266592E9EF83CE4CFB10CC30D36D72628200AF06C630880C02035BCA640A5368AD2300CC65D0E3A74A96256F60C0BBFEA0FFBF00B1120F071BA6817BE9B95C3142EB2625422F57BE442851CA0CFEA1F13CD1D2F3E3E3271340608DA3939395FB95DAB96E7272EF867CFE1E79EEDC064CB82A8FA6874B1B4BC0418B9B4C85E9D9ED793FC11587106801DFB3841246F1F3070C74D1666770F076987D60717151A70088F7C9BC6AD33C07DB6ACBF64AD0EA5DE87DD09E41BCFD175AA3EDB056C0488FECC788567F72EDDA7BB2131343E824760DECDC390A26389CF52E660900E08CF3919C83018DD75E4BDE5F223A39EBBA7BD2845017E43559AF3FFB1FADD63FDEC4F0DA69DD4A93E4A5D7D10AFDDFAF29FAC08F9BDA2692A96444DB021AA977D83F219AFDC9C4C4197ED8CC80749F39937B8068D30EAD778FD4EB87E9ECD935A869EB0BA3A3824B229B649E9F27C22B7AAE5CE9AAD5965B7F7E2CC665B0AE7523CD7EDC166CAB2DC361BBDE3F6C2B2C7E517F794E01116D666AA5D4CDA460F0C34DFE6F76F646A2D2934343F738972EADEE43312C126D2B8D8E76FDE8D4A9D7B1B9DE85485A9952E9F2FCB56BFF7995E8BBAF139D6E0B384E03D6FA17B078D1A93FBDA780B44BC54A1B9A6C0A463E05272951BF353838144F4D75813A63385E4303D46CCBAED41D5AA8E8F4FF15BE093BDACBADD12EABB643EB5BB1B05B05C07B99AABE5D0BB8DD007C545E06FD3F7FFD0FB25CDE52518571F30000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (30,1,'Firewall_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000004808060000000967F0630000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000023314944415478DAED7D69905CE775DDFDDED6FB74CF8AC10C00622156120B0112E0022E224532A4683A914D2425878C1CD9DAAC248EAA9254F4C38E92AAD8B17F38A9248E9DAA5454962A8EE5B8CA4E282B52289122B45012201220C5153B06C00C304BCFF474BFFDBD9CF375BF4663082E62A86828A9AB9EA697B79E73EFB9E7DEF740A9344D6559BD1EDC989B9D9DCD0D3C33B3203F032F63B99D50A8A63F35D0944DF233F25A76041875F978C3094F5DF1E5BF508E3C3C5E7CC38D9452D9DBC337DE68C78F0EDE230FAADC4F27019F5546EF05BFABAFF729CB98556B2A8717A67BC18D262A7BE2FEC5FF347760A0FABA6D0E2833FE95BE0FCA81EB1D7EDCB3E5644135E3DF8AD3EA7F918F29FBA78B8003CA0967CB1F940FAFFDB14457BCAAFA3189C4948FDD6877C94691B2CCC62199347655C2E41979585D9909DE582E9D30FE61F8F2C456FD399D9538AF5E4E9E970F85516DEB4F0F019F55966F953F642C9A1F90D835AFC888C7464B6F3B2B10B1F2ABEBF25725E08CFACD309F46F1E4B97BBCDB86F78727CB8F069F2EDF2B7F9C8666A978207E466DF6C2DA7FBDA26644C1D6F052BA2B48D566EED7F5FABE6038D693412355E179F9FC616481FBA9E2B83EEE7B9980C6914AD59C35FF59DC3426E4EC94DFFDE1D8C8DA78DAFB8F8B8F8C0E5D75C30F5786E591D5858CA070B8FC0BC1C2DCFF78DD7A1F2F8F84CF27D7C6696A0449F899B8993C12BA3214BD60FD917CF6B386EF4451BC299D885E4E7E497E71B8A2B7F9BB837DDE99E049FF6CD2970EC7D5C579B72F7859EE09E324E7C3DDF9DF8D776CF32BBBA305E33F378BE53F38B60CEBC2DB26C0CE952AD18974431ACB37E5C934EAD1E8A9204D779861EBEBF22BB5FEA5DBB981DCE68ED6FFD5E18F8AA5F7238B07DD6FA61F083E32B0AD376B9A0D75208852890A862DB3E9FE643C1C8D03A318B5D2FE70F5EFED946B836FC625B9E44D2766C3F6FFB07DF6769C0CC985A44F4938966870A330B5E319E37369BF123F48245854FF38386DAC6D7E3DFD8DB181C1EDEF59020CE5EF0EEAA96D5A76431737143DEF43E5BBE4F3532DABBFF058F003D9D6ACA7FFED0AB782F7495EEE0C5F540FEDC1C7C5BF5DFEB85C7AA41E9969EA9E8EFF22F86879B33C565BAF0BAD6B3CCAA8CD8D591224519ADF61FC6E62AA5D912F4EF3FF989F885E55A3E6A8B9C39754C28B6ABFFC3924E54F269BE9A0FAA7D64D86943E9A4CA579339131F1C2B958FA76E684EB7AC7937BD244ECD64C6A3427FCBF9CCEB2E73D45C047862BADB3D1EF85469AC6897A78E144F94F5CF3C20AEFA4F1C7EE238363A7EB95D7D476F55CF37072FF7C351ACD52A36E2EFCFEE257E41F4156B4E6FBE78D4FCF4D7CF9E6B8ACE2C543F116CF559FBCF0EDE495FA072B9FF34F25DBD29A12555262EE95FF9EAE8D37265EB2D35A6DAA703EBD33280493A6A14C67AD25519496E50F4505736A87312437CBCA44D4CAA85689DCD0DEA45CBF118B89FDD82B4D695D480654D57090A5523F1C8F1BE3C16FBDE708705B4ECD7D2D5D1721521395FC7DFF92DC1FF946A17526BDC648ACDCEABF79F18FCCF1F4A0D7485438ED7EAE5D64D33452B2C69BC7167995C89C246194E6A4687E2532C4F4C354169E497EBD753EB2EA07E3479B27E272657B4E122315F744B23B3965FD07EC7F4DAE64E5C29974205C5096773191DAD69C448E98AD3FB5EE4D5ECBEFC8F5991F71064C898BF107E71FF2FE8DBD5AF5795E22712232B0232FBE9F1A85217B2CB6900D90B8D927E24F2E3E363AB2FC09806BC88A56B418AE06B88633664A70291A4E47E598B34225BE9F388699D482A78DC79C11F3911017D97A2DD9D7980F4BDC2E99317ED35E6FA6F97B9353F2C534B6D7AB69F77C5A2AAF73940F5D689C8DF30164A205E25C3F15280F0EA6A43298DB629EB48717CF27B68A94E9CDAA01A3610F354FC64AD512A97E38AE249EDC78E99F98BF13BD680C1BD326D835FE461A261F35CEDAF9DA5A473860B16C25694E89E51B766D4B1ED296486B3A2A58A15F5CF6042CC8AA6A312AFF991C583DE039EEBD5A9F5722FDCBF142A96CFD7A63D63B201551738BC12DF32F4769D232864BEB1D41C4E3B223538EA9DCC8FA8173464DC5F65DE105EE337F637AAAB51049BECF90C26A5B280BD95F2E0B53A110B97C64C9C5977D00960A7892C6C5D028E54C71C358C2FDAEA8A1F4A599DF701E997E2E5A3579C2135545C423A3CCDDC8B6959114062D31613A5333150BC78A5A890CAE73C4AA1AC814099396152C7B022006C3ADF3C9DD0BB63FE8B972F3C00D8E38C34AF223C6135E2D79DC9B4C3F32744B3EC125EFF7E324F61A516B78B32301645C5989D128CADAD6E6994F95D7D856DC976C68DCD53764C6E64A1954A9C0FB8C5C9F9718ED5671D492043D2C09BE741AF900029ACD48E6A723C9D5DAA7E7F49BA8ACB138FB1349AAB1188F17B7378EA7DBABF7E360DB62F16E76250173890317950769C8C4605520C813A90CA1A8BB8998D8D586BB4A525A6F1E2D56CDF9654D40FD6FF5D726CFCEFFFB188AEF844614D4934DD05A49812E107F205FB7572D9E49D68BA78C2490FD922A67F6505C45E195913BEC30F9CCDCAF05FFB634EE7ECFF81D27843ED7D5BEE057FD43F2927373B16A2B824C79280C5BC2F668C575059D018B00FEF4D1A64C05AED49019C511ED5CA5B6CA166B4F227D9F4486BC0A79993624B70B6E08F5A2B2C39064750802D0C8611FE9482C6909F673BF27C9B5A138E386B49001261C6F7148C9F843E621F1A6BCE54B00BADAB9F9F04BE70F07F73A65EB8B79DBAB43FF070D53891103B4A65DC81986CC4D45F86CC8FCA96455BE604B7D22946004E9FF6B41143E6B3D73EA8BD1574F1DF4ACB880C804606A7B724DBCDD5723AB50413BEEBFB4C2A6A391A1358EE4FA0D9D05678F7952FD5424A5F7A5521DB5992CD27F8D2DE103AE443E022087066B3414358A827C0B4075913E2741D419AB9D052B42C403EA0F5AC5D6ADAEA4EF4776AC877491F510E26827B74A69ADBD3C09789FCABF7ABCF117670EFAB7421692A1D1DCE3419C1F0F90FD5691DA926AF04EFCD0153F8692E03262E8F42022D5C50546377B623CE798A7FEB57CB9749D329BB022E13E80C0CB45548603912844AD59C076F85CAB997429FAD01B6F2C8BCAC382960C49D744123FE88A3D8C63E00CA30DF8DC8FDE2F06B0E5441F478D21AAF745126D02D27553ECA70B922E1A1216910BC8D4FC77F019E716EDF525FF7702093720405AD43375AD2C466AB91060F57E3851297FF2F45FBBF7F37D65DC3A95CB1B0E8AE0BD096CA39347AA0383D3A75C295F634A61D6100B6CF40D238AE179D67DC29218452FFF62CEB10643C9DF8E28BE00F9D9EE4B042D16A8870CC512238B9A370040446BDE87A59C8C759417CBA6ECBBAF5FBC18608790681C4B354C31A0E7E1BA401F3BC9613F43F87D14FB5E8755F05B7CBD2FEA9C253980CF6090048162A762CF5B621DCD897BA32BF1100E7E9D8B75F2E28D86C5E6A727B68C893CBBBC0880779FBF18FD3D6A31637260ADF54C5C4EEF4AC68352B1258EE0A2CE9D8633418A8FECCEC9989BD7856D68CC9178A72FD6ED81A8C3058910A9A51B52BDE735EBF392D4E15A52463CB47930D23E3F2E201BB6F85A32DCD700AAD106CE415D305170EBC0CB70213795589245584CAC1287A40912331C71408A422B3A2374D526297D5897074210B89B782E38BF095BD2ADE8871DD404AE739B27218A781A9B5B64D91130EFF6CD9C8E365287875638327A4DEEAE68653812DCE82D86DF17F16A915C9A0D6400DAECDD8422691444BD02A0E0A85BBB3C89119DA999C8E2FD4D31BE0309B805B6D5851B0198F9FF5D96E61D8B200719508B250770FCAD9EB8D86E648B21EEB79131C7A0E528C811004EB04D00C2EABFB420A5678AA25A20236C0786F6A949FB4FF6E22FB193EAAC119C436BB327D69425DE582051DCFE3EB641FA50409F003321B5652741A72F7AE3F5A9A8C0F73BF69471C66ACCDF00ED2CC4B5C62414E4FE50566D73241CF12029908DA69218D7138EC6B07EB087289021A23FAC46702CA644061AAD7D2D5100A688222CF300B18C6DFA13291CB3C5395490E62D4DF85D6A7A5372276061C742BD4D1CB76145772BF5BB1ABA39EB8EFFD2CB7FF99699629D37C4C6629D33F4FBBF429776AA5197D24B15E93FEA4A7508923A884028D932B42A42A619AF2D3B02E616A25DCCE66BD0319A9B63F16BD05EB89A08000D1E303500D5B223F3A3BE06DE9C698FD7E322D609DB4D4FCAE80578E940DC06AC106B941AFB172540F4338ABDD1404A271D29BE9097C53D4DED58E2722CEE164F5A1B034DA0AE171D75D153253825026B4C0D497EA28EF728BAE74166BC0AE9674BE1CC194D46B64CAE1139FA7C2AFD237999BB78F9DE7EFF484D0CFBE2D7FEC11F244F2F2B02FEFC803237558A0F9896923500DB5F0590A1F9B06CC2BA56DA9D8AF1248A2C8B1E523C826637F6B4A4F29D92B6762C90294063116EEBF29507698D7510C57AAD4D9E145ECBB52D61D8F16158BFBE17D2356F8873C4D4D19C34374AE59553625F40545F848DC57E67F6ED94DA77BFDBAE01247F0C24586DE5493B8C25962573E7F32F18A677FDD52E78FA9C4C6C7B240D961501F73803A5E37173C3EADB6D8977A0A9013831EC5CCCA206904CC80D6580E005F9B6A369ADF5C5851FB7EA964469DA83C295D17B856C309AA1E70B632622B925B53FCB8943802F39E297B748F5C84BDDF566F78D4BE107137AD3A4033897D0346167079051FDE8074635E0ADB131BD4D303C8CFD5D10E7F871A3A21661610D44FD88E40A05F15D579C7C5EFA0607572CA769A8266020309393DB92E9DA43289A68749C0534356CA0A20C484807B2A285F65E839181CDC2361C7490C9A29092819F10B58C5E6712D1ECAE93CA4B67C5C67B0B513EBB6F8F0C2092BBFC58A678DBEC36D8B91CE4AF26EE8A1592ECDD0BD76448542C8AD9426D0090F59D3BC5080249F17DE5E04161C1D0E4E0BCE2DB6F97C2F7BE27F3CDE6DC3CAD53577A46204517B358985A7604C875975AD5BD0ABD148A9D67681DA73C249D0A9158901D447CD2C988EEC6B30418D6F1520D11DDD460ABE600481A90F2F153DDF5E6F68C49E1950BED9A01104300BC70DD751295CBA831395161885EA224E1CD37EBE82EFEF087527BEA29B11616D04C25328FEF2BCF3C73390B10FD8CF6388A7A6B727B1C4155731CCB8CDA7655479052B25C5F6D887F1B97F93FCD3BB34812C80CE32AEDF8717BB20070430DB033095F9E5E237D47261089ED0B6BAE5F2DA51327DAF70EC62B12AC5A21F3C58AC4958A069072310310FDC141299C3D2B85E3C725373525C54643EAFBF649B5075C7ECE9D3CA9DF6789465023484F0CC2C2BE3E98831189B02F1F7F53489082BC488780456C5F3E71A2AF54AF4BB15A1517C7E035310BF2C8A466A331BAFC08E09B3346EA4CB525432D8E4AE9F8B4385326A2109DEBFAF56D8011498CD4F91DD74863EB908E604A0065C3A51EE3029D4B9734B8B9E96959C476D5A347BB113AB77BB7548E1CE982AD81B56D69219A096C02C2BC55AB24015911B2C4989F6F175664CDC20D3748B872A5140E1F16E7E597C569362506C021A48A9FD39E3A5177DDD905106F829CF9E9E92BA4687E6666725912B0EE5F968B0A8596402C5CB70D8D504B5ADB4B701F689E00BA87936704E651E44AA7E04EE6E6C4032059E4535A5AAB574BE5D5572561A1C4BA3EE4A4BE658B961512E503AC188007F86CCFCC68B018BD2181E7B6DFFA96E47EF003FD7DF3965BA478E810B230EC829BE03B6362A2DB87459D02ADA7A0CC109C438A2028BA6EA5849A61398E94ABD5AE04E5F05BA9561B589604CCEDBA29A136172111C5D3A77504BBE3E35D80F95ADCBC59ECD9598940923734240148F1A9C5C800039A1B02000F9F23009A07498563C7C444140720B0EFFBDF977216F988F02264477AA2968537F17DED6A12B81592D2BAE61A4900220380775862120812040598EB88E769E0591374A0E077F3C517256D34A21085BACEE8C731AA902B6682075240D8E2B224A0383111371021941582E8420AF8DEEF006A414B592C1580F67041D5E79F1703F2C2E86C8098D22BAFB4A31224B8909EDC6BAFE9F7218B2BD66F5C7FBDDE0F0109601B29339A0C7C6760DF94AF06A507D9619D3B2726EA44BAB82806A426DAB1439C6F7E53ECACD802FC1899653FFBEC150D5872C71D62E2B84DCF73831E1FCC624D423A52182C4B0298A6D46B1B60B4D6ACE9463E2390003B88A0182005B8F800693D0750F89BC28551A319C15AB7E15C5813B81E33AA0040F2D06D0352136CDD2A25D8C47CA7D813A216223AF79DEF5C061136D3029982F5BBDF41CFE39E6C4971AECC146622CF21E592E33DBC610976ED92EAD4D4904FF2901D093283C597FACFBE200AC3E5598411F506B5D9EAF86D6601DD0B0BAA42AAB35806B8E00234BE8034A7A6B710E979109501B378E38D5282D4649F9B00C33C7346131201241670175ACFCF29F6A7895ABB163D9ED2000A2428465DD1C0625D35DFBE7318E3BCE2DB6ED312A3262785B7D4126C136FDFAECF43CE9F07932D514F3C2129F631DF68CCCE215B7BFDBFBEB3866B5AB645B876E448B8B871A338B818164A46568428A33C6842202301961011AA359F60F17BCA09EF80D3CB0328FFEEBB45B0ADDE0E5910DD74934400C286A428D40F3A9F80128546CCC43E8A943180E9A32FA0A4581DF2825B6F15F3DBDFD69962649980EF0C7EC7846546A04631130435ABDB0F909C284AE43DF2EA1230B3678F4DCDF6A8D9908E3C8A710E17A6250640E65F7A49F2D451E8696BD326C953263AC0781B36B0FDD7171F216B480401EF4A0832C37AE185EE670170295C54D73A9270463A330164B2CB4D6C5B678CFECC85C5999F33C2F91D8E45F9916C3D6616F6393039391422006CFCC62CE0082240165BD8E7B21C45E812303F9FEAD4D69DAF251E4024F08C7416CF103A4AC9509DC80F3ABFD346D2FA05E80318F142922857B4ADAC096888582362446F8C0C32504B52DA5A68BF2607DB515608A88F262A01C006239A520879622397206314BC7E0257C573E3F152DA4B92CC510465880B8A78FC8D6FC88CEBCECC45D17B6814C15BA57041316C5F1E1795E71C856E0717EEF444728048B70142EF67ABF33BC948B0BD0DA0BAA301D400ABC7A9C490238335224D2FAF0362544756F4D8005A9FF4D411FD35C04E507BBA45987D058305F5A9773D13E4C7081010F2BA7FF8662228980128C4D565494063D3264B4F1971B1993564A46736D4A45504C82CCE49661D5944115D8CF0940332CE76D01F304285BF2303747384A22A28A849677AA93F73CE43F038740309DC56E05CA8EB29481046392CA87EA13027FC0EFBA23B12661E171C8B99A33ACD9AE0B389F58626264662EC3F931E838FA4E09C8B38C6ECC58BCBD3863AAFBC12D9B8085E8CCF4846A46751AA18E9BD910F0F6EB1FDEF442D3FDB9DCF5A6EAEBD56F7082A8BFCBD7BC584FD3432FB4930D1F5A63D43B414D9215827FB4E3113F03921B19DEFCCFDFB25443F90155B41C028901AB1F9CAB2830F78C5F1C5B934DDB8D40559201F84B8CBD386AE5A65D2121A702A2C8A9C364658CC4B9774D1D3832F44B440D35910992DCC04C54807E82CBC3AB211B5FA2F9634EB569935002F650443DB531C8796538F924908DF333B207929B51BDF1BD877C263707BCE9B1018068A73DCD343181D3774458FD0FBCC0DD6E7F881F7034C5C431EB5A73638B872591210E5F34A5F180160EA0314855A60C0E7B3F06A8F8EEE989D66F74291190A9991453AE7F70A51ABB2D9CD0D3788EAED5611E529F51D8D97508A281F28C609E73F1C1B70B289662DA615666146D1E6D8C15CB74EE4C2056D8DADDB6F6FAF07826390CFF7F648FB6167C571060264E4CC9991149217732087633890CA69F60AEDF3B8B03CA7A1CF3D17F2F13D467F48D7810BA1C3E1382201D0D45EDD1BD0BD641A4E3BC8CCE8447AC26E93910ED034918C6AEC4FBB1492CA4C80CB49B92F164B2C26877133335D5931396A3E795212664A873887C3BACE0D1C4D3CA2DA06511E87753D915F440FB2F8E4933299245A82B26B63062CFB3EC0BBE1063BA1B5E3400CC58CD1A40B1E2505002A80A2080A7F87E62BF405DD4C80E6A7AC1174267428948EAC66B099036931DC120B332DAAB16387A873E774C346593211D50A9E3E06110A516F82740B7291740AB581EED9C988EDC896013279C32626F12493528563B197E0BFB871B06F16611BD1CFBF0328F67CEF359BCB53828C679F0D53467E26299CB76CDB26829A90F0EE12A2994D9026854D11359F91CF3E8063045C200190AC71A204913C90A6BB64D6162E00CFC67E82E79EBB4C204831B76F97E0F0E1EE777900EE1E3C78658483A8268AB774663F0E88A114716461216858B08B207BE8FCF9216615357F06D293D95E16E5FACCCCF294207FD72E5BFB6B4A0AC7BF940C64816E78185D2CBE58E4F9E7DBD1D689FC6EA4239215DC53CCA9286D28160B35209D98D0D348DA43C5E68CAEA46317B56EB3D8E258CC000BEBF17D4C3B4A3745A2B3DB8ECC2E76DAD0757D7C2C2CF4B4AE5EE70E5A56802FA5E9A545914DEC84AFF86F6120A82CA4061284F52E55EFE01F9CA7EFF27F5CA34B00278E2C5CC24E15A02BCE683AE92ED75FAF47C3BC41CEF78C76BA21FA71BE5776E761636E4799600F41C2B0AFF08517BAFA6EA3D3F5F958494F5433D25B8C74648D01D20AF81C81C40811ECECD9A3F76D23FB020EE178BF984598B58AC5993D06CF8F0519E71773748D05DDBB9507790E7ED7D20322388E26DE70451574EBC612ECD5559EE1485FFF4CC78F731C8D229CA2B0B14072B6C2F90DA3923AAC2D65B5DD4026B850465D0C8292CEFD5683CE855E9CAE06516E41BA14A7A800C066E4B3F8C2CE1A9CCB0060EE9F7A9F80704A083346838763711CEEF674DFDC7FE58E3B64FEE9A72FF703A81336806DFDF0875A0E0DEC8F4B1F08F39171FDF57AD5C5F12EF1EE1982A8B71F40CF51EF5CF752D0D325EF55CFDF2E111971EF562674098877EEB475C7C901178B1A8AA4762B3D5A6D427262D841C13A02FDB5D6ACE9126452BE380CA3E3E18D1D64807633202B87C8777B6EBC338A5D4819C18F5E7D556C14F532EA0FA3DC04B0FC9D7D006D266741FCCE8615E53E431CAF6B73B57F8E3491ECB463044203E77B89B785978E22101CEC094018D89873DE02FCEC1E7F7A95DF3B6AD696B1778D80F0F9E7C3147E5CEF1C059172A3DB7D3A14B812CA8ACE026605A3F7CC19ED40C29EBEC0A1C4C0E71BAC1DD826876D992526B6C9533AB03F926A036C1FFB88E6E6C43F7B565B4EDAD546CF8D990A8AE93C6744941A8E424056EDBEFBC4C3712DD61BAC9F1F1FD77294749E8A28202878D3A76F66A68F0F4E72F6C3FAC31B33659C13A5E8E2C58B75B9F2B1FC74C9927496A519203DDF49DBA728B554A27E54522E9FC8962D96C188A627E7E324B848363531D2D880066740D381D89027CA08239FFAAC239F9E1E80988C52687F046069295B1D67A3EDFBCD37CB22EF0563314010B3A60AA003C8830972CB20C9C47E233EC586FDE679FF192485FCCB7BCB703424257BE5E98220412E328DAF79D4178B599524511DDB5451ECEB90A2DE1B32497B5067BE09F8460FD0E61BD484AB6DD7CD8CA575FBCDC8B95C84D109B3B962D1D4DA8EFDD8D05401298C7A8B5D290764EC0538847BF9E5B68E639FCEC68DE2812076AD0EA4C2D9B9536C640733A7C8FBB47C9607FBB620251C3593A0B0634B2DC8DE5C47DFF9AA80DC26EFB8C1BA32736C2CFD77DD2501A4CF0680FDD81FA3DEA0F5E58D7A481C6B07E589FD4000C051A5BCB4338A28E2D82CC644954F4954793F6066C67A83A27BB5F74BC1CC9EFF4A7A817FBBD2F5C636F4D0A190C5D280CE3B005D37459C50E2AF7FEA9444883E0BE00600DA40B41A00B3C0BB5D884CBA973CC701D0FF905A8CAC717B1AB532A27C0151CF88B7200583BFFCCBE2621D7D0238661500F33E8287636860791520204166845872381649EAF62C7CBC0485BE05A22CEC93D952421DC9B1BF40F11F39776ED8A151E093127C900004CC4EB56F0304C21271E5BF0C7A9B6E6769C4F7CA55464ABC44A67A1D567AB5BA71B91143113690B21CE32688361FD24110A8DBF9BD7BC558B54A14E4218788A5F32030212E6AB12331BCC8DCE6CD5DF928C2EDB03962B4337B6CF4083ED6F7F1D90150F55E40A1D5151C835E9F36B60FEF6D009B8D28B87E71D3261DDD8CF4AE71E04D1B2C7E87CCFE7BEED144C1EFCC200BD6759FF8A854327940CF671740F6D2FF748D7A1BE0CB12E0E39E1AA17AA42BB90A416F9E0164E66B96E5D9D75E5BF44F9C1013205BBB77EBB94C0C995088380FDE3CA0AD43A4E6107D212501A45062083E673F5A6A8E1C9185679F9508C09421278D4387B44E3B88E2E1871E121FDB316A6BD07B3DBA40A41240CA870779E2A2C1C47E339248900D32B98DEE2F203DEC016A77DFAD1D118909B190BC0E5ACAE84C3F730C209C7F368A98ADD74980F50E0C4B3680CD8035AF0274D459A443502FC19D0183BAA2605BF8823B35FF328A36DD11C7EF5751B4D53E7366AF79F6ECEEFCA64D2B3CDE89C285594C735C30359740B34788A8B7DFFB9EE4204DCD8E27CF23D2FB3FF0015D582D489579E79DFAE93676AB1E80EE2DA23C99C1071ED056D3C6BA04D8EE644D0EE4923482CB4C24714580DF2B45BA08734088EF591F68816B38DEE8B97343D3F82E9B82F68E221A0B0B8D3790A0B74B42BA240B7A97AC26184BA42859225DDDF759EA648BD93939FDF79F8F8C6C1CBB787167C53076E7D3744F75D3A6EDAD575FB5F5136D008F52C1468712432B497DA7AD341075F3743BD93D5968BC0F208A94281663DE2983BB0900741E40CF7CF5AB97D745E413644A90C3811B96C2DAB5E2C37EE6F1B789E2CF7EC1C7C2DAD0EB82B2D797447ED012D9DDDB8091EC611C6BBED178FA0BF5FA27DE02E8377232E9550A71BCA416A45721AC373BA26C1B0446A27A0EA696E8594648468A0DF5CF3D2AB203EE9BFF8A6CF7E0860D7B83E3C7BB0F3AD152B68E1D933C8AB8C959109B29640CA373F6892774C1EECACBC1833ADA0B28FA8CE21C328CA016914D734F3DA50B72DA799A2D234537549414D483227A0976CFFA3145CE85208124D44703F978AB75242E1677D286F21F66E8510424CEC77AF566F34B7F15C79FF97FCC8037EA21963AA5A85DF7BB4BD8932D5A82D4526BDAE3639792D19B219A10FEBD5B64182DD66E78A01BC676ECB8C33F7A742D562C67969235C0622306B928C2AE52AB0B008F1D2B9B2ADAD18CBC7934626CFEF220A37AEBAD9A10CA4A0EFD051D0FC125C876C7F968D9CB4E169930F4F0C3BA863C353777EAFCD4D45A9F96B9F3687A960968D9FED7E322BFFD363320FD110A746FA4871DC0F99F44F097809FF63A21EB4DA67DD9EC2379034274767C5D64110B6DC897E5E8D1DF8789B40F886CDC0642D6B55AEFC3D9AC46EB7FEDE2DC9CC1268B20339AD930E59029830F3E281E64CB01487D208CEF5D80C82CE2BADA89F144512306EEBD57D7044A9CC139131F14E343B7585FCF9290610DB8B20BE8C9BC9E3AC3E2CB268C7D40C375918EB3EFA406A837C8862CA233D0FD0EF059D4479934BD6923F636C6AF57236469769838BAFD796830DE3F2F2FBEF8A7CC94F548865F8074ED76DDFB70962B8A22DBD1F40D4668FA1C3EC29EC90B081A78FFFB359894AD3EDE844114BB2085BA4FEBDB6B5FB94E71EB56F48745BD2D4964115E3931313007E9E32822828CB5F0BE0972F894F4DCAC4E39F34704BCB7982E9516AF07F87069417EABD1C48F1C09BD84B0AFE8B15B460F2957D48E13228D7F27322DCF3D773093AEFB44C6D167EFDCBEB070376FC98394CD00DEF12033EC8459D433CDAFA188C77CFA0EF698055D5B56382A8E3F38B6EE9522BE2EB48771AB19F5BDA3884E36F03FA365BD85EC484F745F4D52FC2580778BEF3B9F05BD938A74E5C1E24EFDC8D2F1CD6A8703DFD3C4720AA4FC35BF47AB94FB45912DFB215B2A8E579644B63A2049DF7204192CDADDC9262DEB6DB7E9C11EA5886E89376E5823D853D0F6B227E0ADC81AC7E39DA15CA71173AE42C09B4949AF8E47BD6EE75D9D86BE1BAFAB10B254AED4D2EC20195C60CE735F10F9FE175E7CF1486685AF1719B853E4FA9B1A8DBB80CA302AFB166C5822C0EC3358E07B8BF0E0FDF74B1E5DF3CAC9C9815948CE227A01CA4F3F08CA8A303AE456E73CA21E29E905DBBB8A9CBCA3E8FEFF4EC05BD48FA49321D1558A796F76E43AA4E45E8069C172519E7D96E16F5A6DE95ABB47A99D1B5DF726B03B5AC067C5FFDC07229CD952FFD6B7E43C2408088E2F09F126907E01C6F56BF838D901DAEDFC0D97C8C98F05ECAB169A9FD4FF7FC09BD8DDD765079BDE1E62EC1EC2CC1522C5FB513F50E8B7ECBAF3CEDB9BDFF8C6D057E0CA10E955007E14E17E58F5F5BDF6B5850592D8EAB184D18F3BBA9735016F93904CAEEC1E42723D8BDDE368920EB0DE1AFCCF1991B9AB78F0E42709F6B226E02D0859DA99674BEF04F275ADFEBB55287F2609780B425E777B70B945F64F1D013FAD2FE3E710FC9C809F13F0F3D74FEEF57F01BD129E0E0720CA810000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (31,1,'House_(128)',decode('89504E470D0A1A0A0000000D4948445200000075000000800806000000355B26160000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000202B4944415478DAED9D075C13E71BC7D9A3ADB6AE0AA22C4185305440EB42C4ADB8C1554414B50E0415151544D1CAA80A560554B4AD9BBD05441C2088227B6FA50E6A6DFF6DDD03F2FCDFF7C8E125E432206040FBF9FC4C808CEB7DF3FC9E716FEE24004042DC14A120A912212F59102E2779205C5652431CB7519C25761B14F9856417A4FC0845494070215C5EB201C18D0997959818262321D99EDB929898A81C1B1B3B3A2E2E6E29D20674DFF033542115D5455226EA2BC9CB915F4A02020B912CB0286A315C40704BC36425EC11DC2EA278BF909010E99898188DE8E8E88908D86A046E3FBA8D442A080B0B7B75FAF4690808088083070FC291234720383818D0DF1E220522CD41CFEBF2192A1F4577953C15DD4512105888C260597023A870E59064259F21B88711DC01AD79BFADCB2D7E39E6EB9E121511761F4182C8C848F0F1F1017B7B7B58B56A15576DDCB8113C3C3CE0E4C993F8F1EFD0F3AEA20F831392CE67A81C8AF946CA35E66B4988C6EA8AA052E19251FBC19259702598086C6298B4C4F45029092961DF73CD5C93188779C6B07EAE31ECB45F5070EED713A9B13131CF305C7F7F7F70717181D5AB5783A3A3236CDFBE1DF6EEDD4B442D8E5E1CC5289A212E36E6F9A5D8A8F284A8903BD7C302A3B22EBA4DFF0C1529B687D492D8EE5210DB4D0A105C8861816D8ADAAF3E442D174B0614B580E056874A4B6C4270BF11F47D37599A246F9D6F049BAD8C61CD1C1342F656235FF96C5B9E131E12948DA2B001473002F7F4524C78E9B5988BF9D7224EDE490F399C9719E4712FFFBCEBEBD2B0BD5078CEB94905E79CB77DF2502FF5921A17D753EA6D5C0F049504CB821BCD0997B72563B0582F10DC6308AE1EBFF75E3D67581406B96EAE09382F3002272B23588F2217DFE2DFFFB876C6CD82F3DB9B8071022C3CBF0DCA23BDA034740F9485FD48A83474F7BE4F1A6A7C6F29DD4BDF4AFD830471BD907A2251E152A396CE9215D82D9915B5802C1910D86BA1921273432425A4B946AA95F1B54D968D514A82744450B7A0E8C5BF77B51D978EE11507ED24C095477A12B78DF7BDA0246437145DD801E463B03EE9484D5096528E5796AA8D579202041730D84B54B02CB831C25AB21C3BDCD046B8B508EEB61009899E9C91BA0141744610B72D180A38BF9236BC16C97BEDE4FC925077288BF0608F502E518B01E3C79586EDF1FC24A126F695FE3251453A3BA18F1420B8C00696132E356ABF91E46EC95FB05B7238A7254B37C17D8DA2F617047728DE8E8D96C6C9182A09D39165BD38C762A82852D3A8008B2E6C47F0DC899FCBA3BCD96E4B82771176FC4946EA655569E9CBFDA42F21B080C042021637B8BD3E5872AC682D1950D402029BBECF40356BCB3C0471BE31914BC928DD6C85F3AB31FCB46E6A010656866D17038CF66EB25BBA88FD24A126A9491FBBAC260D082E20B8D004B78FF407B07496DC9D8F25F32BA4D82D99807B4E4116BC7554C065A6010112456F537E2523950E6071902B8AD49F1A0BA5F01F097D7285D2154D69E72B1AD290A48E4405CB0697BB25C789CC9239A216095932044949C2917E3D60BB990E2A941AC1BAD99A65E0C8C4799500877326592821DBC5503F00FE040BA5642DE985C9FDA599082C1060B9C1A5462D9D25F7E463C95D3E58B200BD2DA725133AD5ED4B7037D200EF5593F38A83DD9AB7329C518B72696938B2E908CF4FA750BA3A4066CC556D9937082C10EA8FC0927049B05CE17280EDCDA3906AA925CBB05B720805EE45399977D7668D80FC804D8DD178D19580C99E671BEDB7E8A2CBA79353AFEBC80CBC3648E6EF6B036500C10504971D2C275C2AD8965AB2F0E346AE964CC20D959682C4EF74216BAF1D11959F74A1748321F3ED755D991A041610586802CB0DAE20968CC12AF328A47859B2F0BD2D9B25938A56ED0537574C81C2D3DBD85A9AB2F07D9DBF4F4DD197F9E2869ECC1D0416B0105C680697044B67C9AA8D4A6C95254BB674DCC8D59249857FA50857A70F871CDFD54DD68C7BD5FCB35BB74B48484872AAC3434D3594954A3590894A319001041710DCE660B9C115C49205EC6DE3DAA2B7E5023744521212866A41E64E1B22528B83777B2088D21449B1D46E70DBE4456F0E913D9C3A5816520D115416585AB86C964C13B5EA748594E0962C48211529606FDB0C2C4B51BDBBBD4B18C5B8B8A34B971EEAEAEA0A5A5A5AF20C06430EC19461016E17B0227FC13423D94D3787CA02020B3731580EB86C607959727F1E96DCEEBD6DB37123F7A8450A9694FC678BB6F69DD95A5AFDBB75EBF675AF5EBDBEEADBB7AF220B2E19B9921D066ABA89EC3CA48634635940708184DB0816895FD4F2B1E416F7B6BD04EF6DA35AD8DB92DAD3B7EF63073D3DB067304AC76B68E87FFBEDB7BD555555BBF5EEDDFBCBF6022BB217BAF59DEC885BC3655FA70F9305041648B0694339E17244AD1EEF428AD692D5F858326BDC78A99DC68D18A85FD7AE751828A9750C46F92835B5E17DFAF4E987D413472DB6E4B6B66291BC48C64839AD8C11B24F115840600971C265B364431E96ACC3DB92C5B5B73D2727F3DF465D5DA042C55ACB60549AA8AB8F5152525227C15222B64DC0B6FA056E8F96EB797B945CE5ED917290315216105C20E19260D38D9BC315A690A2852BE0B831BE8DC78DA13212F52E5AFD999C402960AB8CD4D4C6926039AC58BCA0669ACA29DC31954BBF33460E105C4070115839026CC677CDE1B259F2101E962C82DEB6B5E346617ADB834ADFFE63AFA7F714011408AC8A8A4A8FB604DBE227DE1D2727996926179A39560E1058C060EF8C6E0EB7C99287D15B726A3B5872424B2DB92B6F4B3ED355F10905DC9FBCC0AE41568CC09AA268554515717774FB85919191ACA80BA7964335973B88C0C25D3339C8C4A2C06D16B574966CD4724BE6396E5417CDB891DF529AF02FA55E6C1934900DDC2A5DDDA7745049B0C3D4D547E3E289048B808A146C8B9E943D41DE3E6B821C648D4750CD91C67D009B694A0FF7160F4BBE290A4BEEDF8A71630B96D2EC53EFF7821BB8E53A3A7FF1033B5C436314B2E1BEB8DDC17DAC28C10AFD849CC9F233B327C937644F9407126C967973B89C60692DD9848F251BD05B727B8C1BE90AA9C0DEECED0B55EBF5F4EA4FB9B8BCE50576AD9E5E85B1AAEA080454455D5DFD1B518215EAC1B953E54D72A6C8BF44602167923C60B054B82458812C995F21D5524B16416FCB6F294D7877D9BF37327469819DF3F67EF5E79F7FC2B97DFBDEF1033B14F5B1FDFAF5EBA3A9A9F9350BAC4C6BC10AFCC0BCE9F21A79D3E49FE44E93070417105CC070B349B813E41BA3763C7DD4D25AB220BDADF88C1BEB5DB53569A3D065C68CE71828A933EEEE6FF958719991BABA49CF9E3D95F15811CF8C5B0B56A007E5CF94EF963F43BE34CF421E105C20C1E6B2C052E10A65C92DEA6D0518378AA0B7A55B4A7344ADD7135ADB1D3CF84D6D5515930A15EB173737BE608D35348C7BF5EAA5D4BD7BF7AEACA9538BC1F27D40C16C05F982590A290533E50181857C0C96032E19B5BC2CB9A9906A034B6E9B7163F3DE365859E1B1233D1CE6F58888B79C4049056EDBF686A7153318A5269A9AC678568CA2B64B6BC6893CFF58345741B2708EC2C5C2D90A80C02221A82CB824D83C326A5B6AC962DCDB52E1C62949BF74D619D84007E5D0BA752FE880920AD8BC992F582355D521BD7BF7FE16836DE9389137544B05CFA2790A503817690E1209776673B8825872532125724B16416FCBC792BDB5FBFE8F0EC6A6D1A35FFE515707FCA062F96DD8F09A0FD8621335B5C14A4A4ABD5A3A27A6FD43F17C851F8AAD14A0D8520130D822122C52010B6E3ED592A7F3B1E4093C2CF963F6B6028C1BCFA877ADA5CDA3FAFAF54577EFD60B0294D4CFF6F6AF04006BD8D23931D75F962E549856B240A1BE643E828A85E01671C2E511B5BC2CB9A990E267C9A35A61C922EC6DE3D464FFDAC4A37D09F6F57D250C50523E3FFCC00F6C9191A6A65E4BE6C4CD7E51B6587168E962C5E7A58B14A06421D2022416D8A6A8A558720115EE0C3E963C898725B770DC9826B27123D7A86DD8ADA3F99C6EC7BBCD99F3BC254049EDB7B37BC90FAC71FFFE0C61E7C46C3F942F51542DB3567C5CF6BD2220B880C1962EFC00B798132E356A85B064410AA94C31E86D8F0FE8F93BED4E1F3AF44D6D4D0DB4062A96B7AD2D4FB0EBF4F40A4DFAF7D7C5E34441E7C44D772A962A7E5D61A35884C042B93582FA7DA34AA970A9514BB1E442612C790A0F4B1678DC48534889D09263B4151E38EA3168DB97D4D8D877AD058AF5E4C913D8676DFD820FD882615A5A3A82CE89897F2A9729CA56DA2A5E456001ABDC06890A77F107B83CA396CE925BD8DBDEFD48BD6DF2009997DB190368477C47376E7C210AA054B07B172E7CCE67A4983F525D7DA0205327E29F2A3BC53395CB1501C1050497005B4182452AA3C2A546ED023E85D46CF6DE369F1AB51F6BDC68C8DF927D74551ED3ED5C2753D3177FFCF10788122A0116BDE62E4B4BBE6087ABA86853A64E5C0B2789EA955FECA95EF10520B050458245AAE084CB236AD90A29212C59E071E3B8B61937722BA44275BB54D1B62F0606EF4B73731B440D940A76E7ECD93CC1AE63307247F5EBA7897B583A1B96F8EF7E61DA43EF89D5082E54AD5064874B82A5B3E445C25B72BE30963CA18DC68D34BD6DB29EEC53273D1DDA950B11FEFEAFDB0A2829EC023B66CC78C6076CCE780D0D55960D378B5689BABABA7FFFFEFB6FF8AFB638F7A1A7D9EF4D518B446BC9D61F2C996B21C5AFB715CF7163C35E7D0DDA83DBEE5656CFDB1A2815ACF3D4A9FFF1017B77AA9A9A1219AD6C50CBCBCBFFBD77EF1E3C7AF4089E3E7D0AFFABCACD7BF0E3E83A915A32AFDE7666DBF4B6B7855C4AF39B418F0ADA9D6864F4FAE1FDFBD05E5009B07575B065D2249E60ED198C3B8B070CE8D90C6A6666E681FCFCFC37A5A5A5505D5D0D0F1F3EC42FCAFCABEC4E41ADFBF0BF692DD9E68325732DA4F8F5B6735AD1DB8A78DC983444F1FE069AF6653D6A5F321213DFB5275052758F1F8393B9F9BFBCC0A2EDCB58A6AEFE4DB3EA372525A51F827B3C3737F77D494909545555C1EFBFFF8E6D8059977FA3F4DE4EA3E70259B258F7B6DC97D2A499C8BE72D1D3A6ED138F393BBFF818409BC02207DD6466F60F2FB048B7B60E1CD885EB44E9E6CD9B9A191919A77372721A8A8A8AA0A2A202EE23DB41D6DC509371E97EB5CBE037CDA2D656F0DEB6B5E3C61C518D1B29517B74701FDA6A77CBB8712F9EB441FBD202B0CC4DA6A63C17B339EAE9A5AD6530BEE23AFBC595545C5C1C03010ECFCACA6216141400CABB80F32EB26666C9D5903FABB6E9BFA7B56491F4B60AEDD2DBC60DFBAA9447FBF2AEA2A0A0E1630325F5E8C183860D63C6D40902962B545C26E371949F9F9F695252D2D5BB77EF02CABB40E6DDDADA5A6641C2D97FAAB6EAD6136097F329A44468C9B922B2E4F491F24F37EBEBD04E8D620203DF880B50520F6A6BEBB79A993DE10576DBD8B1E53CA1E2E3792A2A2A031C1D1D575FBF7EFDE99D3B7700E55D282E2E86CACA4A1CBDCC82B85FFEABDE32A8A12D7BDB36584AC3F41AA2F1806EC7EC5BBCF8B9B8012575EBE6CD87BB67CDA2851AE0E2027CA1220D4460C7C5C7C727959595C1EDDBB79928EF427676369079B7A6A69A591073E2BF9A2D039882F4B6425BB2887BDBE0EFBA17D05A98B1F1AB47A8481457A828B01E444544C0AE19339A6DFBDEF9F3F1E9E005866A7EE9D2A5245C1163611BBE75EB16130950DE059C7731705435371444FA3DABD9A42576E346126CDA58C57BA87DA19B1A35642627BF1757A058687FDF8B8C8C7C16151E0E6E16161F8ABA912321A2F11CFF2D834A0ADB302AA898696969805A22C8CBCB03DC12555654341486FFFCBC66A3266D6FDBCC92DBA0B7E51C37DE1D2FF77AE7606DDA2AF2A4ABEB0B71068A8502A8DCD8D878CEA953A7FC2243439FEF9C360D1CF4F5E1F4A14304D056432555585808A8D765A6A6A6627B6ECABB6565A50D8521075F546F50178B7163E070E5423AA0CE13263CC787C03A02546565E5C94A4A4A0C1B1B9B4141A74FFB1D73737B4B021519542C54111315F2B56BD7980830907917032F292E6A28BCE8F9B2CA4195ADB7AD6887DE96B4E46BE65FD1025D6F68F8AEB2A88829EE4039A1E235C278FD128ADABE08E611A4B722854A858B6D38393999892A66484F4F07B2252A2E2C6828BAF0E3EBAAF57D45376E1460294DF61485BFB618E8D04E8DE2CF9C11BBF64518A8F88039668718A921A8A7440E950A17476A626222F3EAD5AB40CDBB4505F9F5456777BFAE5AD7A73D7A5BE6C161EAE57440BD6D6DC5B67D11162AED6A4251412585C78C186642420213452F907937272707F273B3EB8B4FBBBEA95AABDCBA71238FDE36767CB74C3AA01B860F7FF5B8F100C667A82D111E336298E8759849494970E3C60DDC1611D19C977DB7BEE817E777956B7A8B74DC983543B166A33EE33DCD22EC86EC9494FA8E0454ECA092AAA9A921F26C4C4C0C13593350F36EEEDD3BF5C5A736BFAF58FDAD287ADB37EE43B56897789EDEB3E76547032AB65049E11932EA71213A3A9A89AC1970DEC53FE35164D6EDF4FA92131BDE57ACEAD5E271E33933A5DB7440774C99D221DA970E0795149E21632BC6D75743EF0157AE5CC13D2F61D577336ED6171FB3AFAF58D953A8DE3663F657B9B4436F43C3B73565651DA27DE9B05049E119328ED6F0F070888B8B036ADECD4C4B795FECBFBAA1624577BE965C345FE1EF6D8307D14E8D922E5E7CDB51817638A8D4B932068AAF7888F22E6E89F0408368893252AEBE2F3EB29259BEBC1B4D6FAB088747ABE6D1013DB87265876A5F3A0D545278868CDBA0909010888A8A82F8F8783CD020F26E464AF2FBE2C3CB991576DDD8A2F6D28C6E39B4DF211D31E245476B5F3A1D5452F8F01EAE948382829AE5DDF4AB89EF8B7C6D50E47E0377177EF964A30183FB37B5F5F5EBF3D2D3C5661543A7815A7BFF7EABE0E2C37B286299172F5E24F22E9E715EBE7CB9B1254A8E7F7FDAC3B5EAA09DDD4B8F79F360E78409E0646CDC04F582B77787B75DB184EA65650537108CD6462E3E02141A1ACA3C7FFE3CBEC52D115BDEA51E022C2B2E06F73973FEE92C40C50EEA9661C388A839F0FDF79085AADAD6C2C5932864C9CCB367CF0267DEA51E02AC2A2D15EB83DE1D1EEA96553F82A3F10870343080131B374209DAE9AD858B23F3DCB973CC3367CE60C810111141B44464DE7DFCF8B1D88C021FD6D6743EA8EE2773C0C53F0B362CD9060E0683C1C9C808823C3CA01AF5A8ADCAD7B5B5C4B21A14A96F0303039FE4E7E7BF406DD14BD416BD7BF4E8D147835AF7E801E4DC888198801DE0EF680EE13F6FEC7C503D4FE7C1DEB365E07AAA049C3C2F838379E3AAB8EDA6A61077E244AB8B292C1499F0FAF56BA2B0C205557B43AD2AC9851B61FE707EAF0D04AE3182E04D2690E8360662778CE89C507D2E1480775005EC395346442CB17A6F7B10388C9FDDB81ACEC20252516EEC4850EB1E3F84DCD458883BEE0AA7378F878B1B8C21DE7514A47B99C36DEFF14D8A731909113F6FEA7C50FD428BE1E7F02A02AC7B60360172B35F2E381E2D00C70DC7C1618419F1BB402727B1865A5D9A072911C720CCE37BB8B0E93B02589A073B444E755AA88191A51010738F00EBF95B6EE31193E379B0F9585123D89F11E84956E0696929B65013029C2066FB48B8B9CF8C2744AE500F3B753EA8A7E3CAE197845A02ACCFF9FCC62FF39ECA0717946349B00EB3578A35D4789F6590EE692EB462B77752A8BEAEBE7036A18A00EB17524440F53A53D0986359605B0B157F79BA2DA15EF2590E297BCD8456A4F308883CD209A16E9F3015368F3285437B4FC0898846A8BE170A3F144F08EC8639ABC41CAA1D5CDD6D2AB4C2B70CEF9C5063AE95C3E19D0761A39109388F9B4C40F50B298643ACE20983DD34EF07B1861AE7BB022EEF1C2DB4429C8621A89B3B1FD4E4DBB59094F527842514C1BE65EB1B7BD4E99670F0C8A526B05BAC568B35D4589F55A8E81925B42E6E34E99C5053B31E404AFE5F04D8C86B558DD52F824ADCCE5F013F1DBF01CE0BC41F6AD4B61142EB9CA371E7847AA7E011DC2EF91F01F6526A0D013328A10C8EEC3F0F9BC79883A3BE016C9DB148ACA1C6F8FC0061283F0AABD3F6461075744BE7839A5B5A07B955FF12609333EE379E70EA4A3984A53C42557135783879C3368B05E20DD577355CDC344C68FDB27648E7845A52F9044A6A9F116053B37E27A0C65DAF84D88C3A02ECF9E407B0CB7A9D58438DF65D0BE71C8C8456E01A4388F2DBDAF9A0C69E3C0B950F9F1160EFE43F6C5CDD97564DE45812ACBB8D78438D42507F5B3754681D5F65D0F9A0E283E318E21E8B9970252201F24A1E133FDFB85DDD543C61B07B6DEDC51BEA217B085C3D5868F9AFD087683F67F1808A4FE4419EF3A1B587C52E9F39032EE3C6354E92162C06970993E156564D53F19494F5043C96AF176BA891BEEB2160A581D03ABC5C4F3CA0E293F263A8E8BE19827A5924DFA5A9AA82202FAFA685618756AE831BA9854D60BDECC41CEA2107388200092BDFA50C64BF1F192A3EED283E213F92167A913189898909225DD79B9B0BC71C1C501BA30F8E8686E0E7E40AD76F55C1FE950E620D35C2D7017C10204175CC1E415DC5808336BA1F1DAA143EF3333E673B7A92068AD6EF9292922EB5C5BADECCE46462A521B1E0DAC8189C4DCDC41A6AF82147F8C97A90C0CA0C37842B81FAE8BE0E44FB6FFBB850F17550F069BDF1855B516E1D72EDDAB5A8B65CB49D74F62CB89A9B1370C51BEA06F0FE7E90C0BA136108C9270D88FB1F1D2ABE060A3EA5377E22823AE882BB7B5A4966669BAEC6C7F936D8DB9BA8943B0B547F7B1DF879E5A08F0B9533AFB2AE87A2EA37776EE9CE7EFD2074EB56A82E2D6D53B8D595959D062A55E20095B060FC24DCDAF8CF9B57BCA3776FC0DA33681024FAFAC2FD7BF7DAFDBB351D196A4CC0769140453C26090D951AADB860C236EC6D6B3BFEC8F4E90F48B058FB478C80B4A0A0CF50DB1FEA440455175F92B32550F1E5316448B0B8C5396A67E78C60BEA2C20D98350BF2AE5FFF0CB51DA016161696A1E2753CAE73F0E53859970A130C2A0758696CC5F805F005D151AE553A666B1BBC5747A78104EBDAA70F9C5DBD1ACAF3F23E43A585BAA3D5EF5F5454548272AA290A326D9C165997099316EAF2D5E4C558F11371458C8B27326AD7CD9E3DD8DFD232CF5545A5296A776B6A4294BB3BDC639D87FF3354D142CD484CAC40963B1CCF0F70114B5E9B46E80BCD53C036452DFE84E03E167F5A3C972E5DF8F3A4494FA996EC69680857F157296A6B3F4325A11E7369D17B96A6A743A48B0B780D19023E66662FD0BE37E8D1A3870AE5F260524243A5814BE45A9CA8D1A7E51B5C891D5DBEDCDBCBC8E82D15EE217373C88C8DFD0C5548A895393910B76F1F1C183912A8FBD3D7CCEC39DAD7FD5947D0BEE07AB12161A072CBB59C963CC1C44433C0DA3AD1BD7F7F2675634E2E5A044519199F34D4D8E3AE3C5FFB5E490924A156F1F0C4896C2039A03E43FB5A89D745FC5A04955BD4522D1957651BE6CD33F59B33A70217504DC514CABDC14E4E50555CFC192A4B0F50ED71FDF871A283A0EE2B4EB9A9A981DFCC990F02D7ACD9C1EF729B2D86CACF927112C79FA8FD4B97AEF6193BF63FEA06EE193000E20F1C80FB35359F18D49DC46B3C7EF000D2CE9E8553C8BD76F6ED4B0BD24559190E8D1FFFEF713BBBA0B5B36619E043A13D7BF6EC22D0F55345216E968C37006F088A60153F5BDBC07D0606F5D48DFE69D830B879FEFCA70175F14038B3D916CED8D9C12E0D0D5A9058DE26266F4F2C5992B27BE9520B5CABE0B486F7257642D605E765F85EE958C460D92C1927736C1778FA31DBD454CF7FD1A2F45DC84AA8FF1347A74F879C2B573A1D542F240F0B6DF01A6B08BB347983DC3B68504380955589EFF2E50E08601F5C08E19900AB56A1C29416F89AE46D00578AB5016C968C3658798BA5E58CC316160F5D9494D8ACE6CC8A15509A9DDDE1A17ACCD4869F260C853D03B5798274535585A316168F0356AEF41DCA6068E20F3E6B1F75C1C180F71B763D4A644A9181C373FFB705546EBD2DDE38FC89232D191FA7F5B1B575D93F7224DBC87197BA3A44B8BA424D0BCF03F1B1A07ACE190007A618C38FFA3A3C41E20FB2EFB871CF8E2F5F1EB66ADAB4E1B8EEC0FB83E566B83D54E0169582C06C73A8FC2C195B0BFE64AAA9A9691CB5B109A58E1CB1F6E9EBC3958000A18717ED09D5D372201CB418065EC6863C411279D2C8E8DD716BEB34376BEBB9B8C6C01D02EEEF497B65B527B2149052C2806C57A83496CCD6DB624B5E3271E2707F2BAB7CCE6AD0C7D4146E47468A0DD4506F7BF09D3B12F68F322152062F907B060E64FA5B5A961D5AB16233FA20F7238B1ED624EE0B5E51D9AA7DDD5E50051937624B765DB870C9A1C9939F72EEA013F3E743C1CD9B1F05EA23E416A9BFFE0A815656B09332E7E626BC9000157E757E767647BF633006F0287A645B6AAF620595576FCBFAE412E346644DEA3E36360770694FDD61787871C1C1012A8B8ADA1C2ABE186D4670309CB6B5251A7F7E7912F5E2CF8F2D5D1A6D3B69D268FCE1E453F4882C2AC506AA20E3C67EFDFAF519C260E81EB5B6BEBC5B4B8B6DE4E8AEA505715E5E5C8717AD818A2F809B1D1B0B17D6AE853DDADA7CF3A49791D1FB638B17DF76FBFEFB45CACACA6A6D51F47438A8828C1B712E5A397DFAC4A3B36757728ED1BC8D8DE1C66FBFB51A6AC1D5AB10BA7933ECC3DF93E50312C166FACF9B577970D932177CF8ABAD8B9E0E0955D023407807BA2F5EECE0336EDC7F9C3BFAC8E4C9907DF9B250504B333220DACD8DF860F003898BB7C3D3A6FD7974D9B213A3060FD6A32B7ADACB5E3B0C547E964C8E1B91B40FD9D8FCE2616858CF99D77E5BB60C2AF2F268A156E7E7433CB26D5F5451F3034954DE63C7BE08B0B189B7B3B030C7791E57E9ED5DF4740AA8025AB2EA18636393230B1766B8A9ABB381F8C9C8880D6A555151FD95C387E1E89429409D60D1E6C92143DE072C5A94E5B270A12D3E6EF9B18B9E4E0395DB521A6E4780D07DCDF5B3665951478E9EFAFA6C50777140E726F7C63C597DC0D6D61D7F214C9C8A9E4E075590712369C91ED6D6BBF68F1AF58A132ADDA12DDC1E1D9E3AF5E9115BDB5FC7A01715D7A2A753421574DC88A30B41D03BB1664DF413D4EAD0413D3866CC4BBF254B2E2F9B3A752AFE469FB8173D9D1A2ADDB891B4640C055B262E68562F5A342EFEC4893FC2828309A89E8307E33C99EDBA70E10AFCCD783E458FD8DB6BA7834A67C938BA7AF4E8810F2477C7EB9211B0BE87B66E5D7764E5CA9D6A6A6AEA089E2A5E8147DA6B6B0F6F7D86DA4E96ACABAB4B54C938F23038D697A6BB77EDDAB5FB37E83F0CB2A3153D9F1C543AB84818182E701430402C6D6D6D792E203B7C54765AA874B64C0128DDD941765AA83405956467B25641F47FBF6882BE724DFB2D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (32,1,'House_(24)',decode('89504E470D0A1A0A0000000D4948445200000016000000180806000000FEBE0D4B0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004834944415448C78DD56D4C5B551807F0E7DE964BDFA1043A0A8CB1C286C8E8C88848CA4450D064EA3682236101B78E38464C8C6612753A58B2AC44E6074D140C3234594A34E21CB82540CD8A803A0B38C78BC828E56514182B2DA5ED2D7DBBD7DB52B0400B7BBEDC9373727EE79C7F4EEE414892047FF53317799E70215F391CE435D2098D274852FF56E101CEC18C82776D41E12FB359AC870902ECEBACD74AEEF89B8FF8836F4721498813FDCDE5043EE120817080D5E524E586285EB346B2AF2D3949FC777A4A620AA0846EFFF10F239F08EE3C8044BA70DA1F141AE772A34E0037EE7280A76DE0B12128FDA98967A5F97B113A6D61FFF1F777ED08771C44D80C92FE2B05A4FD8F026C58C0FB45992C5B4856EAD4B56953867C60C01010FEA110A1C568B116D241BEE2C19C9E0828D0BB5B2FEEF2F6B9C766195CD540CC6EEE3C82E4B40C0E3EF20BF7BFC4A8239DE4B9D5C99BD00D71AC8E595DE8587774E21E92C3C16D66F3A3C99595AC76B57A61033CF83AEB03D24E54AFA3DE087C8FEEBB20D567E9E4C6DB7992C3C4A9AAAAB0AB4545CB2B4B4BDA7FF4FAECAEB9B9C71EF8C1296611B513393519D931026FFB3E44DC1FE7EF89FDF8E64D3E8AA260C371A286C21D46E3CC98D198FDCBCCCC22B2D823572C359DCF702E1B395B51DF3856C7F4F6A0FE0E52945CDAD080468B44D8DAD171B399F8F4E449A3CB649AD459AD39487373F3BE1801FF2232A5CAE3777F16465896B10D11F89CC2E940669B4D22BEB8F8B4FD88541AB2F926E02693ABF6CC193D4ADD4A4FC6252525C28A8A8AE9E9F1513CCC30B4127EB7368C309BE9DE3CD72220DA74516AA33039EC7C6363380428A542D1BE3C3111B70ECB64B259F7C0FCFCBCF3A1E681456018B4EEEA6D88705A2C3477AEE34BAC1EC5626C4AC58D1B5C2687830682BBBABABEADAEAE3EBB055E2BAD566B9F1C1DB2C62C0F59987F36E1D70704BB8F5EBEE24A914858B04D058471A311EEFCD80EB9854780C1E1C0E4E4A46D74640467A1A825EFD8B198CD9069611A8239A180B178DBC31683015A3AD4B030330FE5E75E8060361BDC57AAB7B7D79C9999C95903C71475806BBA804D2781975D0182F8B49DE1CE5BBFC3A2950E0527D281CDE77BE0BEBE3EB344225987FFBAFE1E3816D59EF6DEA39740204ADD1EB6E338A85A3B00894D85D4A49080F05DF945783CA6F2B4334E5F858838F156585A581879A1B2728E11B27A351D361BDCBB751B52F27281C9E3F985BB9B64A0EE6D836026027965B510B127792B9C9393432F4E48500813130F3F9D9F4FA76118F8D676B0BB5E7DA76E1DEE562ABF91D5D494ADFFDD1004416BCBCB9FC3ACD6C6F8AC2C517C6EEE13C32FBE2103DDA006A6552A1B121A5AF3667D7DD59617845A805E5F56F636CD6EAF4C29280889148BFDC23DF24F60E1DE08D8750E82C6E44EB122855F5C696FFF52AD56DB2993F4FBE65138929696C63C2B1637328383F39F292DC546B55A73FAA1439C71A512C63A3A488BD1A86745477F37303777F9F3D6561DE5B83618815EE9B5782E15178BA231EC27278625D8351A8221142A29E542537FFFBFC3C3C30E3200B02DEC1BCF4752A9F0FBEEEE05EAA86E8CD869CE7F4552180558747E940000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (33,1,'House_(48)',decode('89504E470D0A1A0A0000000D494844520000002C0000003008060000006A9098E10000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000ACC4944415468DEC599775C53E71AC7334820C55107A2202E2206C35270946A411C2DE0069CA888E38AA3CE8B560554B84ED40A5AD072FD2848951050212053020A82B202C680A0809F6A9D54114145F2DCF73DE4E0099B88B77F3CE4437272CE37BFF37D9E379F373400A075B6049AB4FE911C7A7E048B715CA04EE3B6777C6C6CAC964824B2140A85AB6262627E4A4949D150E5BAB83AFD86786D9A66540F7AF6956E74B8FC0D1D2235E872219B1E1BCEA4D9A2D3D1A9C76E983FD6D477F79A8C3F422F141D3C7810366FDE0CDEDEDE101C1CFC262E4A109C2E38EEF8558105341A53A4451745F76640D4B70CB8DA830E57341138870E11EA7410326925E10CDA26745C4F0278B6C5D8CD8E16B00595A7EBB4B23B82C30F0B85FBDF49C33CE19E600FC8847BF2BF2AF0355D66606C7F06C4F46380A82F03A27B21F09E08BA3B82D624D28608360257A3550B19B4DF0E1BEACCDFE6680E9B1C2C60DB3C8B6A59843790B0B8A4E15E795F0D3871186347FC2026C40D64C2351D06C46A23702D04DE0741F752A44D6A82D366D100690267B47A80B72517B63999574B2F61D8BD702FCC0B3D7AA184F74ABE0A70328FB93089CB94270E6342C2102610E0BA087C0082D656A44D684287ABDD1B3489E434A60D481308E6B0EB5317DA4061903B018BC1A502CFDC2E074E3356B312F3D53E5CE7A941B2811A2070481C8AC00723703D9C36131A35E9D3A0C9D59E94B4494D50DA023A8267A94182B529E41C5A0DC591FBA534D4A8B426CDAA32F0ADD16CC31BA35895A9266A2036528394916A707D04021F8EC0F529690F6C489BD424BA0FA529BB353465A326286DD4944445F4ED215BCEE3590E193244034133BE08F8F6185AFF8C71ACF2740B16DC18CD82343316A41A23703E0237A4A44D6AA2D7A049EC004A53F66E68CAAB645336D1E460BF7EC51BF8FC37B30D0C66F7EDDBB77B47A05B7C52328DA69935919D9D69C9868CF12C481FCB829B187C1402375523C089B4494DF43F6BD2D894ED6872AE3BA764BD91D1AB9F8D8C003D56DB73B94E5A5A5ADDDA836E3E6B9D68CCECC96CD19D496CC8FA810D9913D870EB3B16A0B4217D0C023757A44D6A62F85913A5A6A46822D2229BB24193C86E8C975B78BC4FEBF8FC6A373EBF86849E397CF85C6D6D6DCDB6A09B3D916BA71E98FBA33AE44C51873B366CB86D8DC02722F0EF15E064DA5813D33634194CD1A4BF9226F2BDFA839F1290C6C675F1172FD6AE37357D4F42633D747474BE69AD1195FE2998C5D92199A10EF976EA90FB13829EA60E286DC069DFB642E0386DAA26E69F35696C4ADEE7A6C49AC437D1E477BD9EF7301CAEB33E3E6F9E3F7F0E79E9E99FA8D0B3B8DC198A46A4B70A2C75E22CBAEBA0212F9CAD019299087ABA3AE4D922709CF6D4067022ED963419DD9A264C254DA206B2CB3719F109D8EDB6B6951896ACECB4B4BAF526261F14D06F1D0C0CEC5A8226FEC8166A58A1FA706F9E06481D35A070AE0614CC42E0386D7B05384E7B0ABB41132B8A26D4A66CA289D2EC1EC6ACDD6938FC35065A6766F6AEBCB4B49E0A8CEB8E58FC910AED686060CBE572D5A9D0B4FB2BD986F79771FE2E76E640D1220EDC5B80A011384A1B0AE760707590E0B4494DA62A6B9249D5640C451313654DFC78038A142AD4270985354D61C9CA4C4AFA80DCFE0CCDE54E43C0AC46E0BFFCE62495AEE040890B07EE2F45D0085CB61081CF47E04E081CA5DDAA2636144DBE57D6E40645932B7C4D29E9ED91B56B2B5B83252B3D21E13D098DE67495338F674D4E0E5A6969E9D31765D2BC3F8FD89696B822E8651C285E82C01763700DC09ADC6D4913B2295BD0843ABB5347B15E6CE3F38886DA6869F9FAD9B367D01E30AEB4D8D8DA466823A3D76BF9FC310470626262CFCCCCCCBD3299EC4D59416651F13E9B1725CB15E0544D9C289ACC6C43931F9434911F301D52A61861EF0BB3B3EB3A024B96382AEA1D7A5F2D71778C8DFFDE646232BAC10B24B58F8F8FAE4020089548F2EB6E2747BF927A4C7C8B35295E4A499BA24901A9893D4513EAEC46E061637AE5902A5CF2F3ABEA0C2C59F1E1E12FB7585810E7D8696353D5088C87B59D9DDDD4070F1E407272726D7676767D665C64A574F777EF94345940D1644EEB9AA45B6B94A211568F2FE4E1E0F04A15585C0F1F3EAC0EF2F52DD93A6E1C8406044033E0478F1E012EE436C4C5C5D5225DE4E9A28B95B29D636B7053624D64AD6892AFD024E747F55A0FB3E1C46AB661F4E8AA3F2B2AE4AA0297979757EBEAEA9A05FBFB2F8A8E8ECE691598ACFBF7EF033AB0E6E6CD9BF21B57822B8BB65BBC6FA689A3B22667270C2054D8606CFCE926FAD0AAC25281F97C3EBB71E1680B982CD494F2C8C8C81AB1582C4F0D0FAA94B98FFA4068B2A84113A94293B4E9DD72496F4FB9BBB73BC2BE1A305977EFDE95878585D5242525C9C597022A8BB69A7E2435299CC779E16EC2ABC2B05B274D7AF9A5B05D024C964422A90F0D0DAD419ECBAF5FF0AB946D36AA3B6239A49418612626EF4AA4D24E8DB02E052EC8CA02D1E9D350515EDEECB59C9C9CFA73E7CED520CFE5D76262AA9245A2AA9890902F56E18B80B3C562D8BEE904782C580962A1B0C5C4B3B2B23E9D3F7FBE322A2AEA555959D9878E023DB897076961C7202F2DAA6B817D4FA7C18E7F07C0C6B5C7E1D0F235505450D0ECB8274F9E40017A1ECDCE8FAD01FEF5E431E4260B20E1A41BC4784D06B1B715641E428F978E762DF0E9A044F0D97D063C02B361E3D6B3909590A012706EC205B8B97F52B3125F3AD6B5C0273D8F81D7A2D5E01B9401BFEC0A6E11F8F1E3C7ED0327FE01F19E139B9538EC78D7022726E743E0FE40D8BFC1133C56FEA23A70721844BA8F6F562961BF762D7086381B2E0684C2D594523871384465E0BCEB4208F9D9BC59A508FC3A0F6C6F6F3FA525E00768790EF6F48480CDDB419C5102E702235507165F86C0D526CD2A45E0DF39E08103077266CC9861D5D662917BE306F8AF7103DF95EB540746E3CB77A9A1529D75E7434AF8A98E032BA059CB67CD1A971612D2EE2A972210404166A68AC0D17068314FA94EAC32540998E13C71E2805FA74E7D79D2CE0E8D9F8476C1BB0A18576BC01515156F11B0693360121ABB1CB862C5C14316161FCFB9BA822C27E71F052ECACF7F8B9846989B9BB35ADCAAC23EE317174E9EAC1DE8EC1CEF3372A43C62D72E78585CFC7F03AE40D74AF2F78753B6B680AE5FAFADADDD0F7131DBDC6EC569E34D8C7D4B968C3B397B76E97F8C8D21019DA4A52F405D019C18721C528382E08C8303ECD6D1817D0606F20047C7A280356BD6533753DADE8B6DD81D67E21DC5A3CB97FFEBA895D5DBA3132640462B5F803A0DBC70049C5830018E4FFB013CF4F488F2B7B77F7A66D52A3F271B1B5DC556155369E7A743BBDE0A4DD009BE3DE5E2F2DFFD26269F02E7CE05496A6AE757BA9428F077B602FF1953C06BE850D8D9BF3F1CB3B6AE3EEDE272798B83C328C5CE250BDFE13637033B08CEC09FDAD9DA9A7B72C182AC3DC38641E8BA75502C91B40DFCEC19E4C7C541D8C68DE0CDE3C14E6D6D38686E5E17B078F1AD03AEAE737AF7EEDD034F81A6697ED1CF5E4D35C1BBE5BB172F9E7EC2CEEEC91E7D7DB8EAED0D8FCACA0860F2FBF05D74072276EC800366660424F6F2948343C989152BDCD1A8EA83172B742EB58EFEBEA11230356D9CCAA041837A1D7571F1386C6959EB377932017CD9CBABCE77FC7802127BE96767F7FC94AB6BC0B4B16387E20F8AF56AED967F35606ADA58133D3D3D9DDFDDDCA26FA354F7EAEBCBB197BF2D5B265A87564FEC7E4B0DA4D235BFE4CD4DC0D5707A3E6E6EE3BD5D5CE6A2E6E9DB5E03FD63C04D1327BDEC2A486AFD0FCBC58EA110BF6B7E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (34,1,'House_(64)',decode('89504E470D0A1A0A0000000D494844520000003B000000400806000000A4C00FB10000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000EE8494441546881D5DA075493571B07F0104280EAE76028DBD93292220A4AA10AAEA2965A1504418A1450BF5641501495218238505B4645A155111702828C02828CB287833D05515A51B115B5AD15519EEFDE246F7889490009D8EF1C9E030792F0FEF2FCEF784F2E050028A2A8CB92940FE3A5C4EAE2E8D40309148AEA3BBE8E587272B232AA5931313174515D1B51227991D4D114F984D162CD57468941BC342A49B1D77134B1F8781A65A1B0E7392F9B2E197A648F27C2C5474444B404040474FBF8F880979717040505BD8C8C8CCC467FFB26252565D2BF029BAC44F92079BC7849D2583148FC8F1820345CF90081A5C4204E520C2E4B506A63A9944D3114CA68DEE76EB560C8B8ADD685EDEB4CEE8707EDCB3D772EF27E6060201C0B09791E71EAC7BB97CF9DBC959B70BAB82836B8A43CCAD7E7BD62F75228D4D40962893FCB512159860A49E3A89088D009188DBA7C459A83A623348DF20CA183115A9D8C7536D383ADABD9B5C55C0F0A4FBADDAFBDE40D75B1BE5017ED0375317BD93F47799D79AFD834256A68AA02155226A092A7C2CFB2083D1EA35197C770BADC1B6D889360A17B62C528E9D114CAF26D5FA8CB6DB5D003570E74F3AAD970FDCCEE8EEAF3BBA0E6A20709EC03E80D88786FD80C35AA7BBAAA385C55168734452A10685697113A09A3F9459BCE8A36C48AA3A252EE1D66AAC08E2F75C015619DCD6643F1A91D0F6AA3BC58C8EAF33BA11E816BA3F7BCBFCE664E13B7BA3645BC2763B238A4AB21B00A022B71D013395D26477B8CC06863305CA2512164B21C782ED282D2889D8F708C31B03ED60FAA2FEC6277F6A2E7E911C7666BD08CB33EA275654E17876B53514D11878C4908AD4AA0495D1614ED0FD8D18E23A2CDEE32A0F10C099315BA0A9D56201C01F64591DE8DBB1C36A2D83C065D2B478BD699A349836C751A647D4803D465169AE8729F684F24455B8627DAA304445B8C8D8E1F3B0A72CCE64265D836D6D845D13E43A150C4700D3B364F97A298A72D712FF7631AFCC2A4014203EA32A02E23B4381B3DA5174D443BB59F685F21A22DD937DA311C74AC3815AECED17C55E0BC2A9EC160D011560215F55DD0037A500E8332BA404FE256FE2C09C8D391805C6D1AB0D00C8426BA8CD07CA3AD2C24DA6305459BD227DAB822E8F4AA6F198C70656565591515156984151F2CB87FE87C0AAD489F7EB5688E0414CE9680025D09C89F89D033D868A2CBC2A27DB59F6827F613ED68AAD813370D8DAE2D4C26ACD7D28A525252529D3871E2280C1629B6D4887EAAE4533A141B4840D127088CD0A8CB80BBCC4693BA2C28DA9378A2AD408AB62C4FB447BF15ED9EBD93541B3194287B4DCD3804561B2C58E81FAFCFA7FB9419D30181A1642E021BA242E0227D52970718ED8C7EA29D2C20DAA1F2E39B31708396D6AF64B08396563C8AB40A27D2D421616F2E91B2BFB1980ED717A25A4007167A1E42E32E1BF676F99DA3AD2224DA9C6D67CC3889361706830B74323078C20B4658E58182F9FEB26299A449F932C9EE5B4B24E1E667927063111B5D369FDDE5D2B91CB401A7CBE468EB088E36EE32FF6873BA4C8A76920CF59F5DEA1FFECD85CE9CF9775B6B6B8FFFDAB57F91C18E082C2B2BAB3479F264A9FEC06FFDA276E5289DCAE592CF2B4C25A1FC7349B8B514814D502DE6A0892E8B22DA9379A24DDA761E9DA27897003933996FF25353BB3A3A3AE0D1A347E06B65D507BC1E8D6179797985E9D3A74B0A03F7855A48AB559949DDAF5A2905555F4A0242030BBD0CA197B0D1DC68CF17126D3D9E68F3ACCDC2A29D86D0512AD20D64CC3177F767184A140B6C69F9272F184D5813386B31DF2589FB43F9D7E3C6D55948D5D4AE96821A7329A85E85C02BA4A012A12BBE6077B97C29073D8CD14E5593E8D8C6D07C4D20B62D58F00CE3C85816F8E143F031337B4E066F6030E2D12C2D2708CCE92885DE60239D536F2D05756BA4A0D6128131DA0CA171975790BA2C2CDAF37AA35DC41BED99BDD1C65DEE13ED0FB9D17EE3A739E501779C6A6BBF6CAAA979CD0B2583BD56ADE205C7E18D87AEAEAE042F9882BEC49AECA42F36DA4A43C357A8D64A43BD15076D41EAF24A76972BBFE089F66742A2CDB336F7469BC637DAA7D5656AC8179E7CE6CC0B415032D8E3CB2F9F919FB7514B2B8EA1A222C30BA6B4384A1F6A769086DB5F4B0342030B6D83C0085D87D1A8CB838AF682DE6897F0467B766FB47197F34813589AA6648B0BB37799D96F67F7B43F2819BCCBD4F42919FC0D024F1D3F7E2C79D341E96C6B286D0F5CDED0EC88C0F6088CD1EB10FA2B0EDA9AD46584AE26A2CD3B810D21DABF68D3FEDACD54EFEDCE9C397F3EB87F7F40503278E7B2659D64F0B74C668C2A8522CDC5D6D6D6B6DEBB770F1EB7D656FC76646933174D747988D12EEB2FDAA8CBC1DACADCD9D789C9ECBE5950F06A3050A21E22F07613933E1B8FCD4CE685BD9CE58892939323555454E45A5959F9F0CE9D3BD0567BBDA1C97FD123BED1B66647BB9688B61929DACB79A26D2224DA86BDD14ED41D5D49BEB833070F3E7F1728510F1E3C801D26261DE4D744750E83B933D5F1E3C747A7A7A77BDFB871E36953531354E45F7D54EB63FCFCAD68AF1D7CB47197F945BBC050B27D3B53B38BB8A8DDA6A69D438192C03DBB962D6B278377191B67F54ECB482E232333C6D0D0706E7676767B717171777D7D3D5CCF4C7A52E733EF2FDE68D713D1B61412EDCF79A24D5A9BCB8CE8AFFD674E6DE3C65747E7EFBBCDCD3DA2C0E24249FD63BFB53517FBFDE6CDF01656515151B7B4B4F4766B6B2B20F0EB82828237D5D5D550921EF7A4DEFBD3BF6F135D1E64B46FF144FBE2277237C9DBC19CC4C47F4405C5D5D0D0F0F86C6464C67E2BAB1EEFA54B2131214130B6ADAD0D70E1719C9F9FDF9D9B9BFBA6A2A2028A53633AEB3C0D5EE06837BE4BB451970B164BD791979960171791C4975C682876A0CDC527DF1F3EFC697444C4CFC9C9C93DFD62896A696901349975A388BF41E31A0A932F3C69F098F392776DE61BED3E6BB3D4730F1DF53FB8DB4123A3A778D9182E2CBA1B1A877D083B63C058A29A9B9B212323E3D5B56BD77AD0E3A020F1EC93FA9DBA5D7DA3DDBBEDE48D76A8810A77F6C5DBC186CA4A81DB415162FBDC080C144B149EB153D16D575A5A5A4F616121E4C59DEE6CD8A9FB4A60B45197B33E1F574A9E21AF8487FF391C509163896A6C6C84A4A4A4AE9494941E34AE2137E6C7CEFA1D33BB79A35D6521DDE6A6ADF58280FA595BFF315CD061C3128597A9F8F8F82E0487ACAC2CC8893ADED9B07DC6EB46F632D5ED3F7BDA1D6E57F5F49EDDFFF5D761830E3B96A8BABA3AB874E9D24B04C7631BB2CF8774C66E5EDAB87BDE3C70D5D6C6CB4CF78D5F7E79399C50916283D7AF87ECE868A1E89A9A1AB870E1C2CBD8D85840E31A2F5F505E5EDE13171EDE31DC5091627DD76F87AD6BDD20C0CA1ACA323385A2ABAAAAE0ECD9B32F10FC399ED010FAF7A1205A1B6B203FF114DCBD5D3B32D8832E7BC1FF7C23B83907818BA92D9C7072821AB4F60A7BCEE3C78F7BD0160E3233339F0C06F7F0413B54165C85F4B01D70C5DB04D2BC3E859F3D0CA1A1A26864B047DDFC2024BE053CDD4260C7C17470F18E0357A325D08C666641CFF9FDF7DFF17E15D08CFD6C20C89AC2144809B084546F232838B0104A0216712B1581470CFBFD164F884869867DBB43616F5026B8FF58035B566E80DB6846161536E7D44EC8DF3F9F6F257918406345F1084D504EEEE06BBD1E7CED5DE1E8892C56A4B79A6D142D36C203AEF918F1AD3877FD91C39EDC7310AEDD7808FB1DB68087E96A3878281ADC2DBF112D36720F24ED36E45B51AE7AD058593232D848BF4350D6F0044E1E390567CE66C101173F705F6E25526C76A42FC4B8CDE15B914EB3460E7B7A9717D4DD7D06174222203EA104E2F3DBC1C776B368B1E7F6C359E7597CEBA76F74A0A9AA7464B0574242E080B9059CF4F287F4ABD721F36607F87FED245AEC850008FFEF0CBE15EAF8F1D0B1727272FF410FD0292B2B6B1286C5D580360B27B76F07FFD56B2029361302D66F112936F3E25108B267BC55C18E0C08B463206CD9D0B0F8936C2525258D9B376FD6F587250AED73E1A88D0D6C9D354BB4D8A84008B0D178AB2E1F6242F046CD2163C5F0477EAAAAAA4AE75D5DDBABF2F20684252A272606EEA01BFBE1C61E59C7FE3E242C072C2E2F2F3F3AD4DCBCC64B5919CE6FDA044DE80207831E6E2C5103C1AAA8A8E80BC3E24355341CE7E31B36781FD6D77FB977EA5448F4F38356215D1B48A1BDB168B1D5C2B1B76FDF7E84275B94D631023F79E780A938D2F37575E5C2ECEC2EFB6968BC3980EE4533C3C2007F54F26FC7D6E4E642E2BE7D4FF1FC831B2710CBDB657C3863CBAA55CCE3161615DE2A2A10686C0C250909FF02ECF53E8F6F2C2B83245F5F38A2AF0F1E1327C2A159B35E4D98306122FE60BA5F2CB9CBF8081D5E960EAC5B671EBC74E923FC623F5A5A4215BA217F9FD816F47AA90101AC06E06BC2E5F7D1473D27CCCD1BC3376D72E23D452314CB8316C7D1C603FE98A3A31F1ECF7812BBE8EC8C268BAA11C31EB2D08020F3B910B27811782A28B080DEAAAA70CCD4F441F8C68DC12B8D8C58A7DF38470DFA1C2619109637DA682C7CA0ABA1A17862DDBA2B7EEAEA3D7BA74D83447F7F686D691916EC212B0D08B69807DF191B809792120BE8A9A808810B163C0F777088755DB95207EFFE38C78368820E720E0ACB2FDAEB972CD10B5DBDBA1A77F9C08C1990FDD34F7C27B1C16233228F40889531042E9A07F8B589981E9E33A72BCCD6366F9FBDBDA99A9ADA78D61BCF3E4E20DEDF11DD4163F9451BFFD37D3636D6414B963CC61714B470219425250D1A8B3F6D2F8E8A82085B5BD8A3A6C605EE6730DE84AD5953F39D83C36605050579BC17E09C7912D8459162F9451B9F430AB4B70FC0EF3EBEC893D6D6505D582814FBB0BD1DCAE2E3E1FC860D80870301F49932058EAD58F15BA8A3E361E6B469AA53A74E1DCB997086F7BCF120A24DC7D19EA9A939E9988D4D0A1ECF3882512E2ED08EA28DB17979794FF1B9A6F2B4348842931B7A0C17881F1BF4D9679D610E0E17D72E5E3C03E16448934DBF311D112C6FB4F14481A36DBB70A1C10FE6E6751811FDEDB72C6CE4B66D2FF0068500E23A6268F8CF095BDB4C774B4B139C0EFC86BD4B4C47142B28DADE6BD6D825787A3EC3D843FAFADD1888C0AF8F5B5955ECB7B3DB806F3EF09236D498BE172C6FB4656565C7E093A3970E1FBE78DCC6A6FA0747475F849B8C4FA2F1C4745890C38EE58DB69696161DC37044F1F7FED6C4FF4B2C9F4E53898966A49044FD0F55A3E6737511C09E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (35,1,'House_(96)',decode('89504E470D0A1A0A0000000D494844520000005800000060080600000099BCB5F40000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000174E4944415478DAED9D07581467D786573AE633B144A508A2A0940524014505451463B017442C2016940404141114455014D46814691A5B8C82D2A409A84855E9257410B12218F325C69298007BFEF71D7660D99D05161676C9F77B5DCF05E8CEECCCCD33CF39E7C519680040EB4F454989F844490E4A8D90A0AD08A3D144FBFBFDFB5BFDFA66318369B637060F82286924A941102931E859A4186D0F023DB237FBF5F4F414898E8E56888F8F378E8B8BDB1C1B1BEB8B1471EDDAB532F4F52DF4F74E313131AAFF6AC0319FD216C40C19D41CFD9F4170E313A4C1AD90919B31E88F11E2B44B487ABCECD3D9FAABB93F9C3C148920BE464021383818DCDDDDC1C9C909B66EDD0A5BB66C816DDBB6C181030720282808C2C3C39F22D801E8B50BD13683FF3580E33FA3E9C60E15791FF3D92088F9741060C8D14CC8374837B7828608315A56B8286D2D72B54457FB755AA667B763A51ED8AF9CFEE1B887D3BDC8B06B056161612D274F9E24407B7979C1B163C7202020002E9C3FDF14161AF2FC766C4471F28D9F3233C203D30A423CB60E78C0893234A5F811220D71C345207618D2D056C8C8CDD0C1CDD26D6E8648711A848BD11A910E84D26872DCF6FDEDD2C9D64E667A4068851E7CB36C32B859CD7EF5839FEFDD94A88B05F7C2FD4BF2238E3F2BBAE6F567E91557C0AA08F384D2AB6E507EDD03CAAF79F80D68C0F18AB46137478A542041FCE72210370289808C44BA9915B47487D8001419D8D14DE122B4EBC8D186540E766482DDC1048D1DBD6DC5E4971866F9B57D50197E102AC3BC888F15D7F713801158A808F782B29F76F90E58C0092A34C92459D1F4041911B8391A69542BE4780C79783B68223686748C8D28D6D8102762032244691026422B46A0372149930EDECE04EB8CA362F96402F67673FD06EC500CB68373D1C7B25077E2F3AAC84308B887FFC0044CA30D4A1A231A92242F0A89722290208BC4844CBA99044DC4C667DD8B0D0C1AE5332047FF17413EEA61A8EAB1CB5CB70DAC0372B30BFA7AC72AFDC68AB0FD50157598702A5665F88156B011DE6DD007AC836F2B89F9DE5214855B0AA2804023C84818B24C3BE87832368673890D6E4550BCD5CD0832840FA23102658782C78C89E0B2B235877154D899E9BFC0394BC444E85E4204D0903D08BA0F01BA32E2E0C074F0EDF122B677C689C26D25A4B108B2622B64D2CD24687EC506061D368806178748C1E1496361D7D22FC0C562CA2F0444EC5AA683B19B7126B346C6807370CA04D105C92AA2CDC9CAA270673C023CAE1D32E9E6B6D890E18C8D3832368676121B9C45B035361064141B1022260AA7C68D7C5F70CCA62D7709A018348A0DC2B903D1C1296AE2BA29AA62EFEF4E1483BB13C400812620B3BBB91F6283008D5D7D536B1CE4B8AE41203DDB628215FA807170AA9A9452AA865863AABA18A4A821A9B64326DD4C82BE3596D3CD6DB1C1AD08B2F5CE1CB121D11E1BE12CB1418046BA31F233485B6D0CA5175DDB1C3C60BA884C2DDAB0742DB18A344D3148A38B01020D04680C7922276841C406A9700931B83D6B12E41DDE80007BA3966D9F1F8D461361D120A1028C7BDD0C1DF1F48C496290AE8DA485206BB240566305CDE9E6B622A84042E6121B5445B0EB91BB431164058D153741FEEFE425D342B6CAC90D56515191D4D5D515478045F90DBAE71BA383C8FC523C140932BF1007041A08D04CC81DDCDCDFB141DD3B73400E1115AD73A0D36F4D515292193E7CF8A763C68C914670C5F909B9C71BDE9F22E17B7FB238DCD343D24590316802B278073793A03BBA992D36A88AA03CA79B7B3972772882D769B48F6E2A2A6F1D3435E15B4DCD747579F9097272729F8F1E3DFA137E42EED1465953C56D1F4C158707FAE2707F0A12099ADDCDFD1D1B3CF4CEBE3232AF315C52B6747A96EA98315AA3468D1A3D72E4C8FFF00B32CF1BE4184A2ECC369068CE9A2E0159D310641234BB9B49D0DADC6383CACD6DB1415504F934725F18225DCF0A97D4563A3D47454E4E0743667572BF01CE3616D7CD9929F13E678604641B221920C8D3C5218BCACD7D111B7CE89DC3A444DE38ABA9C13774FA534AC81A1A3913E5E52721C0A39890C57AE3E26EBFB0689694529EB17863EE2C09C8359200041A08D00464363793A0D9DDCC1A1B74EAD8A072331F476E86E7F8B17F90306D34341AB840CEC6712123233312E5F2E0DE40EED68B4A16D08615984856E6CF9180BCD948C6083209BA839BFB2636F8D53B078D1EF68C1DE6664DCD5FB941565750A0E3C2C7EC2E7A04B9CB173C34A54916CE934C2FF84A120AE64A42BE8904B481667733099ACACD24682E459000AD4E1D1BFC18B92386893738D1E91C204FD8D9BD0DDAB9F32F2E90B3E88A8AEA08F0702664515E2177D9EB169B4A8516994A42E1D748F310641234829CCFEEE6BE880D3EF4CEB1C345FEDEA3AAF2911DA09381C1FBC68606F8E5975FE0B4A32337C80F26CACAAA61C84A4A4A52BC42EEF41F8B1749F9FEBC50128A174842D17C241234959B49D0333B898D295C62834B11E4D7C8FDBDD2688EAEC15E4BABA92C3FBF19C325E5676FFF2717C8F7D5E4E42622C043F1D4C70B64AEFF50BA4CD2B6648914942C96849F1721C8ACA0D9DDDC9BD8E8E3DE39544EFA0915B4EBA74E7D60854BEA84AD2D37C8F7F030327EFCF8CF10DC6E43A6866B26B9B07CB95473E9320478291202FD33091A412E66753309DA4412288B20066DD8496CE871890D3E8CDCF1F2A2BFBB68A8B5B0C3F258BEFC2D155C52DFD9D87CE006993E668CF2B061C3306489EE0C221C7F51653158AF7CA5D4FB723329285B2105A5CB9148D04CC8BD8F8DFEE99DBD272ABE6687B4EDCB2FFF7AFEF831740618EBC8860DEFA920A3892F63E2A851E3F0DA45772077F8A2D2424A09A9B162951454984B01020D65246804B994DDCD2468D34E6283AA0862D0D3FB36362E290FADE580ABA9C9C88C8FFFA72BB8A40E5B59BDA384ACA191A12E2333F6F3CF3F1FD2D548DDDEEBAEF96C58D55AE9CAAA35D250B95A0A1068C0A0CB49D0087219AB9B7B131B7DDC3BDF1C2F51BF9DAEC101C6DFD9F96D77E162BD7AF50A0EAE5E4D09F91B0D8D740459B1AB758BD65E771B4DB2C64A3ABDDA521AAAD74903020D954CD01516ED6EE6880D6E45D0B41532D7D8A02A82FC8B8DBFF7D12770407136327AF7AAB1B1DB7059217BAE5AF59612329D9E4E979555E86CDD82E8756B364A873EB496869AF548560832025DC50A9AE9E66EC706959BFBA9770E5097A9E368C9B4B5FFA92E2969E1152E2BE4FD2B56BCE592C9A9DAF2F2F2DC466ADA231B69DFDA4DD250BB511A1E6E406282AEB66A777315AB9BC9D830A38A0DC956D05445705E2BE4BE8C8D58F5C1B58E14106E9C39F3674FE1B64146EE775FBAF40F2E4E4E99ACA424C3EC913BB898F6E66979E60BDF39958F360F0656D035D6ED6EEE2C36CA5863636927B1C1CFDE9962E44ED5147FB34B53ED1FF693F7B2B0E02977BB82BC67D1A2375490BFA5D393F5E5E547B0BB98F6F4E9D377F812F8ED4959EEF3C346B5B59BA509D0AC6EEE101B046469CE2268D6EE6641C4C6512D85171C27AEA7F7A1FEF973BEC06585EC6A6A4A09D94E53F3D61255D521AC2EA6151414DCAAA8A880C7A8376C686860FCFAB030FF99F78C673CC7065511E46BEFCC7DE4BEAE33B482A2256BC94D4EEE764BC68B1A11649779F37EA7828CDEF7A6B5929254872EE2DEBD7B73F3F3F3B3CBCACAA0B6B616EAEBEB19F525F74A1E794C7D4DB8998C8DF59DC4C62AC1C446EA64C9173B343518EC277AD6DDFD5D5FC02585CC08CE2626FFA5828C14E749A74B700C1AE9E9E98B7272728A4A4A4AA0A6A6069E3D7BC6A8BA97F0B4DA5DF73DA59B2D3BBAB94F7B678A91FBFE54F17FF64F52E158CF753131798B63AF2F0113905FBE6438CF99D3C805722C86DCB16743E16C6A6A2A191E1E6E959191F1B0B8B818AAAAAA707C300A6F85BDAE76D3F9D8A108AEEFE8E6FE8E8DF37AA339A3415BFBEFDA8A8A1EB764BCAAFEC50B86DB575FBDA482BCDBD8B88003301D51C76B9F8A8A8AF4A0A0A08BF7EFDF6F2A2C2C049CD38F1E3D62E4275CFD6FF52ECDBF89D8E067EFCCE3C89D3C7D7035554B76F3F2E55EB764BCAAA8B0F0D54173738E63F1DBB103B802969191D1D8BC79B31DEA32A0B4B4143233339BF3F2F288CF517C30F2E37FFCEDE14E7A93206223C748F28D9BB61AC78A97AFB5F51FFD0D17EBE79F7F7E151B1D0D07CCCCDA8EC573C912888B8DED1CF0A64D9BEC500EE32C060C1AED08D2D2D25A504E139F57565632F263CEFDFE70A77A332FBD736F47EEEF75153816721CF5F5DF37D4D7F73B5C2C14A32F76EFDEBD27322CACE2C08A15E03C650A445CBD0A717171DD074CEAC99327505454042929292D595959C4E715E5E58CBCA8E0DF1F3AABB6F4756CC4CF1C5A4CD11A351766643409022E09184DCBB3C78E1D3BEEF2F9F31B2EFBF93DC6707B049815346AED1877EEDC6941390DA89F86B2D252465EB8FF9B873B2630FA62E4CE9927F57C879646133BE04BDEDE7DDA9275173062A68457D7CCCDCD25626363ADE3E3E31FF71830293CA0A0C860DCBA75AB05751E909B9B8BE3A325EFFAC93F1E6E57E6676CFC73405799E3676BBB4D4D0592BB9D01A631EFC10E0B0B93E8356052757575802283919898C840390DD9D9D9505850D09217F2DDDB5AC7F1BD1EB9438C46157244838ECE5F8F51C11556C01C83466F009342AD1CA0C99071F3E64D06CA6978F0E001E4E7E5B5E45FF17D57EBA0D4A3913B6BE127158E5A9C2D597278F84741C3ED77C0A4F0C88D0B210A7A46727232868EA224BB25EFB2F7FB1A3BC56E8FDC08F29BDD3A6A1C73FF715B5B814783400193C223372E84D1D1D138A701E77476D68396824B5E1F6AEC14BAEC9D03672896B2C3DD317DFA3B34A60A1CAC500026555D5D0D4949492D376EDC0094D3909A9A0AF733339AF32FECFBB3FA1B79CA913B79F1D0028EDCD5D26A2AC9CE6E163454A1034C0A0D2780DA97E6C8C84840390D77EFDE858CF4B4E6FC1F76FF556D2BD756048B577FD2B8434B9DE3BF3B851E3F2ED0964CE801932A2F2F07E4E666D4CA100D398A11484F4D69CE0F76F958652BDB72505F996301C563C992DF040D53A0800BD2D3A1024D76BC6C83D736C2C3C39BAF5DBB0628A701E774CADDE4A6E8B0B057D1172FBE893879B225C4DB1B5C8D8C3E3C451D8AA0610A14705C703038EBEA42E8A143508B3297976DF1DA466868685348480844454541424202EE42801CC7D3E3E284A66B10286017EB3DE0347705B8191A42FCD9B3C448CDCB3EF01AF4952B579A9020222202E735E0360F39BDCF0137BCAC87F2DC54E106ECB9F722785CAC841D3BCF81C3B4D9E0357F3EA4A182D6938105B9F76D6363634B4C4CCC5F7979797CFBE930ABEAAA4A2033FA0708F7B1862BDBA742B0BD8170033EECF523F886D410909D165882A3B51738E8EAC3776BD7423E6ACD78D91FFEE1E2EBD7AF895C2E2828E00BE086972FA038F3262404BB41D89EB970C3752AA41D3082EC2373085D7034146EC0C70EFF04A7221F11909D17AE859D27EE81E3F107E0B8C6051C27E94032CAD89E002E2C2C7CDF53A88FABCB203DEC14C4F8AC821B6E0690E2D50E945D420FD8EFE815381BFF8480ECB2781DEC3BFD005C82CBC0D1BF041C96D810AFE96FC0B7FCEDE081EF6CC8F29DD3A52E380939E0136E47E172E22302B2EB927570E84C36111718B2C352C100BE8D006778CFEA96CE0BBB838FD838C1AE5973E1A4CF25D8B3742D9CB894D79EC9CBB608C8C1DB20D97366B774CE61867003BE121C066151D9B0DFCC12B67FA907470F5E6ACF64B3AD82011CE008897B0DBAA5738E33851B70D8F908482B7E0D09398DB07BDE2270313281DD4BD6C051BF247035B71508E0A480ED10E336AD5BFA41D81D1CFD6314E454FE4640F65A690957A30AE03BF753B07DF254705D682110C009813B207CE7946EE9ACB0034E0C898692BA3F08C807CD2D212AB1142233EAE1D28D52705FB94140809DE1AA935EB774C641C82322E4D051A879FE96807CC8C20A12EE96117181217B59D9090670900B5CB2FFA25B0ADA26C40ECEB97307DC8D8DE1C0C2C5702732117C565B424A46455B267B5BDB0B04F0CD6057386B3BA95B0AB4EF07C08A8A8AC3646565D56D6C6CBEE5750DA1AEB616AE1F3902CE7A7AE0B568092444DE69CB649F8DDB0402383E7837046CD6EA9602EDFB3822F0D397F03DB9727272AA5BD11F5E0193AA2C2E86B34E4EE0A8A505276CECE07672311CB571100CE033EE70723DBD539DDED4FA31A03F00ABA8A87C3A6AD428657B7B7BEB9E02268517788E5A5880A3B636B84C331008E0B833FBE0C83AF54E9510A80597F7D2C1DFAE8F01CF9A354B0CDFF7853618E3EAE0B0F6495D5DAF0093C28B3CFB4C4C040778AD5AA7BAB49B0E7E5BD4FB163013B2087E2E02DA6084D7DAB55B7C757521EDD225BE40C6DFACB2FC7CA1044CCABF2F23827431BE1509BBD877FDFAA57BE5E460CFE8D1E0376F1EE42725F105F4BF14B0312F80F17DB712F8C5A7366FB63E616CFC0643769791818BEBD743796EEEFF0366517575F573D4DA1AA1CE6B2CF3B65AEE805921E382876F11C57D71F0C68DA70FEBE83461D0FB1414207CD72E785459F9AF031C606FC4F3FE6B6A6A9E214ED371DD62DE52DB396036278BE15B44F1ADFB0B0D0D9582D7AD4BDD3F6E1C03833EA0A60649DF7F0F4F1E3FFE9F055CFFE409A45DBEDC88C07E89AE7819E6C39344BA044C015A1C6F8C7B64770B8BD9FE8B17D7B9CBCA12F97C6CEA54C80C0DFD9F018C6F55C842E77BD1D2123C1415F1F9FF8DD84CC0031A1ED47802CC02194B14EF80D9C68DF87ED3A66DC767CC78872163052C5A044577EF0E68C0FE5C00E3A753E54547C3952D5BC04B4505C873661AEC23762FD59302BB05982A36702BA7AAAA3A043FE73170C3860B8734359B8942885C7DD9C606AA0A0B073C607C3363317AEFEB8E8E70505DBD03542C4F151546D0F2E58FCED8DA6E67760F1DDCCB33607637E3228863035F1A165F7DA511686191E531762CF1E6FB9594206ADF3EA86BBD637440012ECFC880283737F0D5D1E180BA6FCC18DCB2BE3EB379F3D9454646CACC6585C1DC9E7AC233600A378BE222882F0FFC18C2BDAB562D3CB560C10BDCD2E1033AA4A505770203E1298FFFC3A7BF01FB2C9F08DF994E86C393E81C50B18E1B1A7E386B6D7D73A7B9B9213E4FF281CECCCCE5FAE4EC1E03E6161BCC758CD1DF6FD8B0E7D8F4E97F92077862E64CC88E8A122AC03E2B55E1C4E2A9E0ABA74309F5F0A449CDC1AB57E71FB5B65E879FC68ADD8A8DC47CF046B71E49DE6BC054B1812F191C1BCACACA0A01969661DE1A1A2DE4419F31338392CC4C8101F65DA50627971BC05183C9405E65AC42058C118872D57FD32694766365F10C805B5416B78A91507BFC603A7EC5060E7E7C39AD9A33473760E5CA223CA0E093D82B2F0F21F6F6505352D22F8063FC77C329F31970C2D800DC99A33FABF0F1F87DFDF56B344C9DFFDAC0401D3FD6163FE14F8EF9007D2654515EC0F609606EB1810F16B731A87FB638F5F5D7AFDAAAB0B232C4787BC3E3478FF80EB8E1C50B7870F52A5C58B70EC86F2C47AECE98F1E1CCFAF589DB962D9B858F0F5F75D814F898D97F2B419F3E3FB8B7B1812F2D72E4C6E3E4F1F5EB7D8EE8EB7F244FD40755EB9473E77A0DB8F1E54BC84539FF136A13F1378F0A2A7A2F2257BDADACACD0F1C853142C9E22406080B98DDCD821F812541F3F7E82BFA565FC0155550679F2A74C4C202F3E9E27C0B8572D4A4A826B0E0E70108DEE545071AE062C5F5E870AAF2702AAD855C1128EDFA3D173D044EF8C6303150FD975262646A757ACA8C039480239B7660D946565B103EE70F34B597A3A44BABA82CFA4499450895C3535FD35000D4126D3A669F2A360093560AAD8C00EC2278D5CA5E06161617372EEDCDF580125FBF9B5012E2A2A7A5B9D9B0BB1F817A1EAEB5342257335D0CA2AC96EE9D239388EBA2A587D7ECEFD09985B6C6057E1CB161599F1C7ADAC4EFBEAEAFE836105CD9FDF06D86FFEFC266E507DBEF8A22970F5EA028FD5ABAD998BDE7D52B0060C606EB18173514141416EB28686F6E9356BEE9E3333639080BDB5B55BA872F5B8B5F541B4AD0A2E587801AA2F0BD68003CC2D36302859595945F72D5B96E6C5C6BE494A4C8443DADACDCC5C7D7DDADAFAE26C7DFD2FFABB600D48C0DC6263C488114310E4CF11C431673C3CBC82366E8CFA66D93263FC6319E6C2F670320284C5AD420D98CDCD04687CA96388B848E14C1D8AFEE0BCC6058B056ABF15AC010F982A36981025981217B608189080B94487080B78A186CAAAFF03B287F0DCCFCD12530000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (36,1,'Hub_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000500806000000D1007DE40000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000296B4944415478DAED7D09785BE599F5AB7D9725D996F77D8BB778CBEAAC40580209490861874217A6A5B47428B4D39676E83CA50BC3B4408769673ACF749E29745AE84F29744A292D242121AB93D889F7DD9665CBB6646BDFA5FF7CD74B6479939D00094479F448BEBABABAF7BEE73DE7BCEFF7DD1B5E381CA62B8F4FEE8377B9038087C7D47B1C4BB8ADA32B231C0ED98A0AF2AD57C2FB3106C064E079FBF6EDE33DFEB5AF6B355AEDAD3894BB00838DA150D88BE37A23140EBD180E85DF2C2B59E1BF12EA8F0900A602FFBB575F95979494EE14894477F1F9FCEB107431329FF0CA9880107C42F0F11AB660F9CB58FE626579E9E12B21BF4C01C002FFD5C71E133CF4D017AFE20B04F7F079BC3D08AE8A0B3617F4100BF664D0431C08A6DF4F0081ADD38D755FC2672FAEAAAA68BD12FECB00002CF086016325B2FC6E04F14EEC6FEA44D027821C1DFC5940381FFCF3EC30F1DD9358FE523814FADFF56B5699AE00E0127B982D635908D4DDD83FF62C9908EAEC2C9F06C03C2C30F3F399A0B07BFD64B07AC3765FD0A210F17F93AF117F7D73ED3AE715007C440FABCDAE43B0F62158F7E075035E79D1419B06C1022C305FF0D9FB603044C30E1FF55ADD6476FA4924204A538A294525266138ECECB5F9CEF9C2A1D753F89E6776DCB8DD7705001FF0C3E9724911B49D212ED343DB27CCDCE2418F2DCBCF6FC31F0850EFB89BBACD2E72FA02A49208292B4E4AC94A11B90341EA1FF7D080DD4741ACAF5788285325344B04F4D2803DF8D7FB775EF5C615005CC487D7E7E3233057214077E3752F02A49E8FA6C353591E9304CCD67DBBC74F9D2376EAB6B826828B4CCFD5CA482B1391D9E1A5AE313718C14B42018F3254124A578B884F3C3239BDD463F593C317249D44E028D40A9F13F2C2FF75D375DBBAAE0060998F402050C5341DC182990BA52E29980B51FF1C1260B2B9A9D564A50150BD109563B64E41B9F17212F379640013B49B1D64F304480926C8D1482815C10F80097AAC1EEAB3FAC883F73AA900A010E3954F6358B7CFE6274F306C5709797FC853F3BFB2FBA61BCC5700B0F8231BBF71D7A4A12B09C5EAD4630C7EE47B7F20048AB75193719C2C2E2FA911DC42BD9AB2107C1F02DA316CA30E04DE87F5F408789E4E4E897211D9BC01EA343B21035EC216393064C7894826E4D1A0DD4F3D362FD6099194CFA734159F52647C0A84C3811E5BA013FBF967B13FF4DDAF3EB067EC0A00CE3F7478DE86E7DD78C2CC8578B1D0787456C7AAFF2EAF0F411FA3A6A131F240DF53E3E4549CACA16468FC88DD4D2D4356EA8504B00E5276BC820AC0042CF3876C1E6A1B75802DBC2446B0B3210D396A092010A66E78829E310FB9611A353003592A11E9E542B261FBBD90864157901442A20C059F12A5641BF384F78F7842EF695CA6671F7EE8F3814F2200A478DE3C19F4ED788AD8C2F054F0E609FE8548C008E8BDBE7F84DA4CE32400B51720DB8B53B5A4120BA96BD4468D60020600A948482BF42ACA4B54918005D7E2A416938DC6DD7E8A938125E295941E27212798A06DD489007B38BF900283C8E48101600815433700617607285E26A06C9590B4123E0DBB00087B80C6C010F1621ECC237F58C60BBFD4E70A1E7CE2817DAF7DDC01C0C7F3EAC9A0DF82A73A7A856900CC4BFD4B0B7E3018A4CEE1713ADD334286313BA965622A4F8BA7A2E4380A60BDA6010B023FC60553A7945019966723C01E7F909AC104AD9001C612691A19150210490A31681E2C31ECA041308290CF98404A795AE617C2D40326E8B078C885EF3340E469C42483611C4029D9CD4CA23F44C9723084924FC003F53B82D4670F5210A7354F45FD4992F00B661FBDFAD5FB6F6FFF3801A00ACF7BF0BC03CFD485565C38F873077D86D64F028005ADBE6F844E750F92D5EDA3349D92AA3213115C158D3A5C74BA6F94DA06C771E2C3948980AF4CD3518A5A8ACFBC7416A0E818B1410278949FA8A462B0814C24805F704236AC6401132891E545900726033ED07E3BA4A1D3ECE63C418E167E0172C24621BAC0025D635E0A6079965248D9A81AD8FE77C138F623F07C80264321A074198FEC00472F0031EA234A9352578E3CF48380DFFFFFBEF0D9FBC72E4700644F663A7B16C7FAA5508C65DC7C2C60819B3FD63548677B4D1C2D17A7C753755622E914526A1F1AA7533DC3D46FB19348C0A712D07F45BA8E945231F54202CEF49BA97FCC414AB1884A53345494A4E618A409F4DF0CB03891D5C900493140910EEDB7B8FCD434CC4A463700C28734C8010809F910C816B30B12E026111822572345E0855CFFA0CDE223038CA2147E2017604891B38A012C650D9085C982148CA2E0911080E9728469D40B80C8422733A4E1A7702EFEF4C5CFDEEFBB9401101F61E66AD9FA4BFD8105BB750BB040A7698C8EB4F6531B8C9D5222A29ADC24AACCD2835288CEF40E535D8F89AC4E0FA920018C09CA90F12C439B8C16806284AB02925572AAC8D0A2FC53D118FE3E6330C32FD8D82628374141A5C96AD2022C8671279D1BB271E5618242442560880C643CDB46D3B0936B20B1C6D10A9D9432D4623203282D00C900CA420D78BF402BA62418C421C842FBB89FC611F81498C35CA5803BA60E5B8086DC61CE23E428C39C0FE9721099BD14CE9207FF922A0E7E0FE7E1F057BEF0B9F0250580677EFAB3773FFFE9FB562A150ADD7236BEB8FECF0CBE2F18A0339D4374A8A58F86AC0E50B99AD616A451718A8ECC0E371D6D1FE04C9F8FE9B156496B72F5C86A1D39BC5E006218C018E1B2B230298EAA321290DD32EA0113D4411EFA50FE4941FBA5A91A2AC5E722E83803433D8CE2B8CB47E9A0FE720042AF148335DC1C208C762FD7292C4954E0558C807B0008179960085945B0225E420930917DA8225A20F40E7F0026103E01EC10808CB4020C46540B7A09A4472D203E8F8121880A224CC00CE529899482100DB9880C1EF24AF9E1238532DFC38F7DE90B8D970400BEF4F8B7C23C01CFBAB976DD995B76DCB881CFE70B970A8019DDBC3980C096D990C9EFB5F4D2D13603A7F565A0F80D85E908B28ADA0CA374B8DD401D43163632482B5275B42E2F95D2B40A3282DE8F761A39E327100890ED3AAA011B30D7DF6434D3C9EE111A7178281E66B01AD2C124C0E3F753BD618C1A1078D61B2844B657401E94623EA7FB67B07C0CCE3E5B0740E0330D1C7F174AC8B3430EAE6A60D54269A28CD458BF13E6B0193EC1E30F53AE5644057162CE2C36030C43D846920C32122782B10C7360304002E021A94045DCEB1080D06E0FA3D4244A9186284B16E4CE53A74B308253733841E47FF4E9C71FEAFEC800F0E5AF3D11E641F3F83C3E89C5A2AEDBF7EEB254AF2C5FB524002C2201233627FDECADE3E446E06B11F47578323D3FDE3140875BFA51C6B9B880AECA49A6750529A06231B50C02146D46EA81B1D32924B4262789CA91F1ACDF7F02F45FD76D2217B6979BA8A69AEC78CAD42869D4EEA1137DC3D43468858EF3692598A03C4D4302ECCF592C3B33304E5E00A208D95E9E124732219FF30A2CF04E9F9FF2E1074AF1995CC4A3E61117C704011C43118052A89390D513A073236EAE5C4C818C14EB44F89D30C0E0A75E48851A52B1224E400928964DCE103583096C3E949A308BF90A260B21EA74A28A70F34881EFE5CA02A4158682262FEFCCA89F5717E60BFFE9C56F3D38F0A102E091AF7F7B1A007CBCF270E2B46AF5894FDF776742B25E9F73B1F49F513A7BEF0495FFADBE9B8E751800083FCA38196D5C918120263338D189CE413A049630A36CCB498CA3F50044A15E43C33617BDDF61A4863E33E703CA91EDAB73F4A4938B51325AE93898A06BD48A6C96504D563CB45F83A0FA200D16540863DCB13116284B5171FBD160B472A0805FA4157A2500A10050881A86EC9C27C0EAF00972041E5506FC40C390930B7CBA4A4CA59005563E3642E03BC77D600A1E1583EF993934B903D4044098994740E08B200BA07DEA40F5D085E08B2111F98A102589C384A282DA9C3C1A0BF028451CA46C89DF8D7AE335ECDF8B38677FF9EE371E0F7CE000F8CA3F7C671600F838C390027F5E76D691BBF6DD52299349D50BEAFF121A40AC957BA2D340F530786B40F325E909340EED3F082660FAEF4586576525D106F882248D9C5A61F80EB50DA01A18E3FA016B60146B201F42EC6703A4E308FCC430AA8874C8C5DAEC44AE1164B2A2AA805F6886C633635793A5A332BD9A1C608CBA7E0062D086CC25AA48555359B20AFB14A6536007561D48C00A15C94A045ECEF983D3837664B38FB2504194EB6508268F1AC00CAD281355D848598298D2E0152CDE20D58F78C8043F90241750491C9FD460924E7B00EB865814A850C5A30C79183E224C2DB63021F3492F0E51BE3C4832FE2CCF3482F3F61B24D88B4F7DFB1F8E7F6000F8FB6FFC63980BFC6C00707ACC17F0C6D75655756EBFEE9A2A3E5BB844FD5FAC01F4C7BA367ABBA18BA428E36A0BD3B8C04B84023A89B2F0002A0493D5451930831B0A535105C483F6FD74B4630865E3108CA11FE65143EB010AD61A66E30087F1598FD94E493087EB0008A6FFC33076470188560498B5876BD2994954911D947E0280681A7670630AD5692ACA47E0FB51119C1CB0718E3F4F2BA5CA6405496128CF80059A47DD2417F2A83249065088B801A433260FF5D97D94082F511E2FA67818C26E5405E7503EFA83083C642157C5E7FC48D37898FA5C21829DA015CC2708438BCD6A62CF76BCE7A6B9FDE8BB4F745E54003CFACD27C391813F0F800850B057C8DA75576F0EAD5BB33AE5421A40D1DD3FD6D96B1F345356421CB910D083CD7D74A875421ECAC00E9B8BD2512920AB2101EF81254E2090AC4EAD41B9B8213F995452119D4105C002CFD6C98327A8CD4BA42C80A67BD44E87BB87A90B3E221126716D5602E85E0DD3886AA367949A018844E62F323494AB535027AA88E3FDE3647278B9B18455600889803816386B824F41E0AB00867CB83B365E706AD0495D9000AD54409589124A5508E1057C7466C40BB609518146004F20E41A4DCD9600B5C313A080A012358F92A414FBB99BD96739CA494428FCDB1F7FFFC9D10B02009B8B070084E6CCFC080030799892091E05C76FBF658F2C2F374772A10DA0E836707DAF89DE6AE886F6AB695361066915626A1D1CA3FD4D7DD4681C45F68A11F4145A87C0B342FF28FCC2E1F6418E09CAD375B4312F99121068D6003AD83E4403A8FD33210DB5399086042532DB49873A87A91395006B13AF83346481395A0190233D161A7179A908EBAD499F30887503308E461B89F1BE26554585F15280344875830E6A35B3BE019FAA93E4DC2092D1E1A793A8F546E101F25015AC4C9010F49C9A2C7E6A1EF371256929982053C96399B3DCE047AE1FC0F23FE3FD8B78FFFA4F9F7ECA1D3300A62EB4D8B76F1F3FB3B02CB024003077847D50CAC4EEFBEEBA43AA542AF93347F72E7C0088ADD73D3C46BF7EBF990C16D0B9464157AD48E7B2DEE6F1D2FE6603823FC49946660437C228CA211BA7C0040750399851721625C5D126008205BA13013ED06E823438C01090130022552DA54600E570B799CC087C31BCC37A008265F949F8813A839510335A053094EB15DC38C30900E22CF45F0E40AC8669CC873C8CB87C74CCE82483CD4BD92811ABE113502000205EAA1FF5726DEB721D2B1F8508C4C252391F10A2833F0770ECF8FB552C7F11EBBFF3F39FFC28342F00A6E6DCD7D4D408C462B170C3B6EDAE05A97F0E004C1946BFDF17CCC948F7DDB26BA78CFDC252C6FE17668E294660741FA6E2D47800C1466F9FEBE5DAC20A8988B6C02FACCB4FE298E070BB91DE43E099C9ABCC88A7CD608804050BB085F6B70D8209DC54920C56C9D773945F8FAAE03D3001EB0296A15AD890AD23B95840C77B2D74BCCFC25519ABE013AA52D4D0F0109D348CD329A39D80315A0D59603D0256121E31D8B871831425CC698A9C12E001DA2C1EAA1B72930B7A5FA285718C673D02BA18339C179F3135B1DC989696FCFD6F3FF6F72FCC02000B3ECBFAA6A6268146A391D8ED76D9F5BBF79962CD7C7E14307893DFF3BA5DBEF56B56D3EA55D5E2A50E00C53203781846F017FB1BB806D235A519B43A5BCFD1FEBB4D063A84CA818DCAADCFD5D3E68254780221C7047F6B1EA0518787AA200D9B0B92290E5EE174BF99F68309C6DD3E54001A484602B25540477BCD74044C809FA4B5991A5A9516C7B5928FF78FC1248E73E76E559A1AFAAFE49A40EFF759A969C481808B687DBA8A9B62D68DAAE0E8809D2CEE20D73DACD64B0978588221BEB0E0B3F752A9B47F5575A55121954A6EBEF1FAAA190098CC7C7E7E7EBE302E2E4E2A140A557EBF5FB76DE72DF5730160C884F2CA344241FC689C5A45C5C52B48C017CC09802906F179DC9E1D375C274C4D4D112EC508C63A033888483B3C1E7AF564275705880502DA5294429BC106ACAC3BD265A2BF0114368F8FD6E626D296FC54B08580EB11BC0B86B079FC1C20B6803914C8F863587E104CE0C76FACC9D47112C006744E20E30F0110CCA0AE4AD3709E20100AD25104FE143C810ADF5D9FA1A6029D8C8CA830DEEBB3C103F8285723A175A90A8A833758CEDCC6E999CDB19E93C9EF0AF83C474971D1497D7CFC7A04458278D4030095D100E033DA47E065D8685C3018D4B361DE6B6FDEFBFA5CD46F341AE9C0C143D3D2A1D1C4D1DA356B2833236D56E0235FD9C59B0886E7E69D3B8043312F56DD5FCA896A44FD3F0443B72E2F05EB04697FCB0032DEC075F936C10F305048B03F87E013DE6931726CB12A3381AE2E4AE632FE082A83FDEDC3E446363323B809609140FB59D3E8DDCE11AEC3C802BF21474BACFE3986E547200F42019F3680215682094650291CE819E324808D326EC85051B25C38EBF8A6DE2F06EEE5B000FB34232DF5704E664621CEBF9EC565D2DED5EFBEE986D900D8BA75ABD86AB5AA00023D9665E29973DDCD7B5F988BFA0DC6013A70E0D02C47F99907EE237C7F5E004C3189CFE70DA42426F8AFDABA4576316700479E145657FFE24023B541EBAF2E49A72D90003618B3BF7590FEDADC8F4006B9E6D035C5A9A8F3057418D9FEB7E641B2A3C45C979D405B210D6C7CE074BF85FED23644E32E3FD723D89C1BCF01E578DF181DE81AE586A86B9934A4ABC9EE01E0BA2D131280806FC6723697E08338BED9DB39BF3DB55A75B6B8301FA110164F5D3C3D05003C6703E0B6DB6E1374757549F0771CBBF40A81CAC16BFEF5BB6EFDC19C001818A0FD07DE9B0EBC582A23B91AC6A88C4F3919D79054265910001C40B02D87DDEEAB282BA5E21545E265517F0C278FC9542018A4B7CEF5D3DB4DFD9C57589F9744D70314ACF173A4D3446F36421AA0FD6B50015CB72285D4F00A0D70FB6F42324C760F55A468695B51126965423A6D18A3B75B4D6447C9B72E53CB994436C7E05D80819586ACBBB8355B43257A2573BE4B376B31067FAE7323128B8C4579793D72B9AC96B955EE1FEF7CF0278040F57B76DC381B000683410CE3A786FB4F4280D8E48FDCEB77EDFDC95CAE9F01E0E07B8749AA8C23455C1C55945A48A9403D2B0CD2E848021517EE9837F09100E04DEEA4D361736FDE502BD6C5C70B629D01BCD42C691D1AA30618BD2D8508300CDAE1F621FABF863E1A7379685556226D2F4FA37800974D2CFD63433FF58EB9A834398E6E284EE166169D353240186918E6B13A5D4BD716E809CA400711F843900036516473B69656C313F0B84658ECA5ED02AE3D264F84D3E882FC1ED769B56B713E6591419FCD0073008049406969A9502412C9B1612D029482F7E99BB7DDF043B9529513EDFA6D0E071D3B7D9656579B60023DD0BF30F9FC02F278043087095451360100F66BC14080C41209CC087F46E0A3AB874000641AF47BB76EDE248519E12D47FF63CDB6FF3DD60E3630504D5602ED5C9949492A29B599ACF487FA5E6A1FB651A13E8E760010591A39B58DD8E8F5B306EA313BB951C2EDC5C9A441D5F01E02FF6EC78449DC98A5A54D393A184F5ECC7D8D184AB6988E2F51A77D3F39392907E7316532C03477F64FFF5D7FCBCED900E04A40C602A0333996C5E14712B138A9A4A27A57464ECE3E8948A28A2CFBD8BF81C1A3949EDE028A1591C32926B747486EA79ACA4B6EE600C0F4F1BFFFE75754909F474EA78BAEDEBA99B45ACD3400E6EA2BB85DAE409C4A11A8AEAE96862F82419AAFA676C0F573F30247ADF4FBD33DDCA8209B3CBA7B650637A1A4D7ECA0D7C004CD8363949FA8A29BCBD228552D4359384A6FC12BB0BEC26A30C13630810A1E62597A3DEF452E8B075F2C117564A6A6F9C1D8C5D3418F0AFC3C3250BFF7E69B2AE7EC03C0080ABC5EAFC8ED764BF0500602012D3E4A502814992B57ADB9579F92B655C81708223337141AA3B32D75949F3B48FD462D4A2B1E15E6DFCA0180EDF4F32FFC6CDA2B20B369EDEA6ADAB07E3D49C10A0B0D348D8F59BC79B9B9BCCC8C74F107D920E931DBE8EDC6016E2E61259EEC8AA2574F77D3C93E33A56914B467653A15E9D5DCACA237B0DEB0DD0B4F10473795A6C0E889973CC0158BBF59E8F8F0872D5E176F04DD177141E3D1649023B27F6120CC0D80E86610F37678C8584F00ACC08090989C9ABE7265F5EA07B43AED8AE87A7F78B48BBCBEA3D4DA9E43375EBB651A00CFFDEBBFCDAA16AEBE6A336D040866788B593E6162A72DE65177C5CA9562954A29085DECEE58C455C3EC3D9B44FADC3BE7285E21A55D1519B43A4347E786AC00442FF58D39B969E4BBCAD3294B2B5BDE0CE70BD1FF6030849A7E343D3D5D2B100A44E783CC218022FF9E0E7C54F6B3671800D8371F0022DBC1600336BC2B843164D5811C8BD578C663C7F5651555DB0A5694DC2193CBE323EB7EF66B23660BA526E9B91F6307F4EC4FA7BB8E241489B96A212F374CD9E9C55459B66141004CC94DC0E70FB99C0E6F656585144CC18B2598CB75DE6CFE401C4C62EFA89D5E3ED5C35D4B901E27A7BD95E95492AC59108017038C7301CAEF75BB929392850AA5523C95F11411E88580102D0338A900C08ECA9846035977B0A6A6860141E4F178A472B95C8103D230590039A4ADA9ADBD3D2B3BE73A8148249ECBF5B39DFFC9F3FF4A52B90281D752618197D2926D933B469495FA0069E212669788DCB6661B459BCDEE170B05C1FC827C69F8E2F6C8676D67D0EAE2CAC3827815CAC384C951BA25CE6D58AAFE476DCFE7F6F8144A7938212141723EA367067E3610A265601610EAF7EDDE5919D37C80C83B719D3E7D5A08FA1159ADD66959C077F5C9A9A945ABD76DB82F519F54057B302398ECF9CAEB7FA6F48C512AC831C314B26E206A1697981BADCB4EFB34E9B409F366FE7CE30C2693C99BA2D7F3E31313453175C5A24623E70BFEB26F4671C1035C33C7387C7E5F10CEDA979A9E2E8B2AE16851202CEA07A8FEF63DBBD855DAE1982F0C594C160086A492B295B59535ABEE56AAD429D1F57E6BC719B8D6FD1C43884541320CAA499FE0A434FD83CB0200FB1B272F3C3468F464E7E44A645209FF8206976265938B7085D342C10F058361489D479F9C241173A41A41EDC49B0708D1B41FBD7ED4BA440DB7EFDD5D353167271C5ED2A5618BC982402048A9DDB475775171C90EB1442C8B348AECE0EBEAFF4489FA36B23B2538603E15E7DD4B5A4DD2A2D43FFF1034CA468F37386E19F501085C0324F401057F39B7A459CAFD0DECB6718F5AAD1628952AD1B4738F0AFC9C4058A21FC00F9E7DE607DFABA9ABAB0B2C19008BC902CA461D4090A8D56A73375EB5EDEE8CCCCC75023EAAC688EC1E1D1D27E3C88BD46D50D1351BF651824E1795F9338130370066B7992D16B31F8F504A4AAA64D189A8F364ED74C7F122DC8F28D6061032DE8FE5C1F8F804E9F9922DAA93376F462F0684D97E00FBD8F81F2F3CBF6AFFFEFD3EFC6E68D95707CF270B6C3C0101D73159285CB1A2BA76C3967B7409F1D9D1F5FE99738D545C50484AA57C41EAB7D96DE4F705482215539C4ACDFADD0BB699FBFBFB3D4AB95CA850AB85E18B7C338A453D43A4D75844FF7D3E4FC86EB37913F44952EC3B8F1715F8A50321363F10F4070EFCDBF33FDE8EC4F5BDF2CA2BA10BBE3FC05CB2808772726029110797B461F3D61B2AAAAA77432ED4730E0C2D40FD7DFDFDF4CC732F507666268169E8B65B77D3EAEAAA05C71998967677777B987B4685C28F9E5114BE80797717CA026C7BA3C326B75AA3154B2412C154E02922D053819F4B06E6E8EDC7E407F0FB4E8B65F4676FBFF97FCF9ACD66CBF5D75FEF7DF2C927C317E50611F3C90282A166630B4C16542A55E6D5D7DD707B6161D166815028986DFAE6A6FE7E433FFDE09F9F9DF17B2B8A0AE981FBEEA2D4E4E405079A5C2E67D0D06FF021CB648BF60C96C402CB0BBE6574C4CB1708F94A15749E22747A56D0170742AC7E805D9F333A3AF2EEE1FDFB7FDCD7D7DD0299B4E0E96A6C6C0C5C9004C42A0B38810A0684A926526E7E7ED9D5DBAEBB3B2535AD2816D76F300CD0534FFFCBACDFDABB6B07EDD9B5730E269939E0C4958D4326DFD8B895D49A38F1C59480581B4076AB2DE070D8021A1DBB583C3AF0D15A1D2503B396C5EE07EC366B7BDDF1633F6F3C5B7F14923C8CCFC7C562B1738AFE97650263040145CA027E54EAF3F994F82D0DCC62024E4ED2BADA8D5B6A376EBC55A556C72FE4FAFB0700801F3E73FE3E34934DA58A723B29A47974DBEECFA0B4942E0880A9EDB5B7B77B0261124A2512E162C15CAEFE4706DFE3F386868C835E8D5637A9F3340F8DC7008425F8019FD763696E3AF7EB43FBDF7D037F8F20F816C8B21D2BB0411E3F0C6070497D808B210B4949496CBE814C2412A92665418F9D4ABBFEA69DBB2B2A2AB789B8C2773600D8DC83A77EF46392ABE210F838AA2A379326CEC35D4EC566F814E57C918A8B2A660E354F8121BA7AC072D05FB8B9B9D92392C8A4001DEF83680085822130579F5B2492892552A6F30B19B668202CDF0F8443415F4F4FCF9BFBDF79FB259FDB3D8065A3D8271B8EDB05DDF756555505A632FF43BB4D5C2CB290919151B87DE7CD77E6E4E4550804FC19F5BECBE3A69FFEE2575458D04BC97A3BD73F605D44BB434222518856E43F4CA5852B17CCFCB9C61B6C566BA0B5B52D205528A51733F8A6C121AFDBEDE129542AF1C263F3170F086C06E0A869F8E4FB07F7FFD26834B4B2AC47828DC1903BC0BE5E7CD58FBA3F38D5FCF9D06F1439972C600765A026C5942CE07D724DCDEAB5D76EDFBE0F35714A74C3E7E8C943E4F6FE867C0111C9A47EEAEED3525A8A8D56E47E090C50397336F202818FAE3C50367AFB0D033C308278590DA04920D86CE301A37130A08ED34A6319949933F0CBF0030E9BBDFF54DDB1FF693977EE288E6B18FBC91A22769D4EE732180CFEA9AC9FBC5C2FFC91DE2974215900007400022B1B5376DCBCEBC6B5B51BB6CBA552D944753001847038487FF8D32F49A1384D769704B5B49036ACFA3400501D11D889201FAFABA3B2E212EAEEE9A1CA8A72EE0612B327AB4E828CF547CF9E735B6D0E310F2B2EA501E4F1FA429D1D1D5E199804ECC59B3FB093C18DCEFE65FA01BFCF676F6B697EEDC8A1037FC42E0FE1D84691F156ACE394C964DE49AD0FCD95F51F1900E692053601050651CC64018BB926123389894949397B6FDDB7AFA4B46C35AB1923B3D7641AA163A77F445DFD12BAE9EACF517969D1ACCC7FFA27CFD3E9FA06EE64262626D017FFEE3354B9B23CAAD49C79BD830FA6EDE4C9535E4F20C8EE79C80B2D7267938E8E0E4F30141289593D4FBC99141D1DC8981A388BCB00F62760E8EB39F0DEC1FD2F7B9CCE3E2C1F66748F04B223F3DD78F597949404A3B5FE920240B42C949696E2180422D6418A9685B2B295957BF6DE725B6A5A7A56348D1F3D5E4779B9D9949A92340B003FFAF17374F0D0FB337E73CBA60DF4B5AF3C4C2AB56AC6BA635E0B25C813A77DC7A879345077AA3E10E2F1A47335808C03033ED38899E44A8578FE5EFC3CDDB80BF003E691E1C6E3470EFDC63438D888F36562748FCFADCCE421EBD9DDC602B164FD250180B9D8009A25889405C606AC9B88CF93B7DFB4F39A6BB66DDBA1C623BAE11349FDD300F897E7E8C0A199FF451052951EFCCCA7E88EBDBB6600E05387EF227D7C02FD53E10F4923D54C33447B47BBB7B1A58D5106372DCD6A1D0FB4B777F8518A72D2742183324BF1034EA7C374F64CDDEF3A5B5B8F0602814166F2266B7A07D8D3B390C9BBE401B0145950AAD59977DF73EF9ED5AB56D50A4562E142A6EF07CF3C4B07DE9B0080582627659C96CA4A3C9410EF247E584B8F3EF4CBE9EFDC5F77071DDFF42665F514D323B26FD1CD09B790903FE119D8E93976FCB8FB8D3FBF1D0610D88C65FE6C3D5F40E397E80722D7671DBBCED696B74F9D38FA268EDF88FD31E195D5F4367CEE36994CBEC54CDE650380586481B59419100A0A0A8AEFBCE7DEDBF2F3F30BE703C0F7FFF9593A7EAA9E141A1DE56479A8A47098BC308DECDA05D3B092BEFBF557CE33C0C9DBE9C4D56F4EEC83974F37BAF6D10BCA5FCD909BC79E78322812890573F6E229B2854B74A17E808D0E1AFB7A4FD61D3FF29AC3E1E866260F2B8D4216C7DD6EF7924CDE650580586581F50ED894F56BAEB976C3EE3D7B76E9E2E3E3A301F0D63B07E98DB77F4F576DEC86B91370135146CC7292C902D4DE9940CF7FFF57D300B88F01E0AA3F9D970AAF843A048E19339BBEFAAD7F9C06C0BC8332CBF203338160318F74359C3AF1DA88C9740EB119C2B10E23F096B94CDE72B3FE9207C07CB2C0A6AB63119B8914C79A4808901E2727EDBE4FDDBF63F3962D5B9119E248A3E80FF8E9C5977F08D7DE80D2D147BD062DC56B9D30790A7AEA9BBF9B367D771DB9954E5EFD67E209CE03A053E89AF618ECC100206400882ED96649C1F2FC80DBE5B0349F6B78B3ABBDEDE814DD33938735AC3846E7724DDE650D80C56481B594A7AA858C8C8CFCCF7CF6B3B794AFAC281770972E9CAFF7FB06DAE967FFF5EF949FD74E9D3D3ACACEB0D0230FFE651A003DF61E7ABAE77B7434E72FE448327300E812B928F2BE578F7E9331804830776F3E763F100D04983A6F4F67EBA1C6FA337FC5F118F0A5212C1BC16F8F5D0C9377D9036031590000D408B8765216926B6B37D6DC73DFBD7BD2525393A3670DBDBDFF6F74ECD4BFD399C6647AFD573F9F0680CF662599564767ADF5F40BEF73F48EF60D6A538C53C47F4B0C007C674E0658AE1F6057780C1A0DE71A4E9D7CD3ED74B2BB810E22165CD60368761C97EB6298BC8F0D0096220B784DBDE79E7BAFDDBEE3A66D6AA54A1ED9F061E5DC7FFFFA65FABBFBEF992EF75ED9B299F2366DA2AA279E20B15A4D4DDE065A29AF9A79C7B46F7C7B02007375EE960804EB9865E0DCE9BAB7CCA3C3E7A6E89E993C00791CC7E460260F991FF8A0B2FEB20640F48DACD8554C53B20093A444F668704C9C2C242424643FF4D0C3BBD6D7AEAB110A45FCF96E71F3BB9A6ADAD6D242FDAB5651FA77BE43C9DBB773AC31F39E890080502C9879B9D5D2FC80C7EDB675B4341EE8EE683F8ECF8D2CEB234D9E070F2CF35D4C93F7B104C042B280E391E13CCE9085CACACAF2CF7FE10B7B503666CE058057AAABE89EA6266E9B56918842F7DD47DAFFFCCF9900F887278282A92A60D675770BC902582718F0F77577D6359FAD3F80FD3320D8835359CF7E124F974AA5F27E1026EF630D80586581958CAC9B78DB6DB76DB9E38EBBAED7C56BD591238D2F579D07007BB8C462927BBD337EE32B5F7F0212106102170D3C3765216C320D7634D59F7AC7ED72754F66FD109B9D83D771364923C2E4B1C087C21F72403E1600588A2C20D332BEF4E52FDF74EDB66BD749A412D6D6A3DFAE5943D73434504A28B42000040C00D1BDFC798060B78D8FB4369E3D601E363164B1F6AD91993C363B472291D8A24C5EF8C3CCFA8F25001692059455720021726C21A5088F471F7D7457454565816BD844679F7E9AE46FBD4525F002C13900F0C8D718030805735D6E1599FD3EAFD7D5D5D672A2BFA7F3241619A7B27ECAE4B95C2EA752A9F47C5826EF130780856401C7AA4010D8DDCD1358B5C080B063C7CEB59FFBDC676F4C4D4DD5D906066814DAAF7DE925D2B6B5CDD8DE97BFF6AD0909A0B9AFBB0B8543C181DE9EE6AED6A623C8F201FC169B92659C9CA461010819DDBB3F6C93F78905C062B2000AE66E7EC164011291F6C8238F5CBB7BF7EE4DAC9BE8B55848A29BF9BFE47CF9F16F41028482B9A6689987870C1D4D8D475D2E472F960D4C397C6C9BDDD69D0DD73A3F2A93F7890640ACB230552D646464E43DF6D8633B6A6B6B4B79915D2062FF7DCE3751068A04912D5C0784BEABA5F1F4B8C5DC36D9C8E1823F39566FC1321B2BED0030DF4765F2AE00600E204CDD0B794A160082A92612572D6CDEBCB9F2E1871FBE2927272779EABB0F3FF68D002440C83611F0F9BCBD5DEDCD83FDBD6CC08695738CEA0722C7EA59FF9E99BCECECEC4B2EEB3FB100588A2C307FF0E0830F6EBDF3CE3BB7AAD56A3918C08FD2513068ECEBEEEB683B8B754C91590F1631B1864E54D6072FD5C07F6201B0982CC030AA1910A66441ABD5663EFEF8E3DB7FFBFB3FA8DA9BCE35B99C4E0B96B351BA2116F8E8AC67F3EFD3D3D3839772D65F01C0D264413F593AB2BF8578EF61033693B373862FC7ACBF028025C802B1FFBA4728D480F299616426D08BAC67CE9EFDFFBFD6CB45EBAF006099B2C0869C116C39402145C6F391E501ACE66233713FE8B1FA2B00B8046401F5BB004C20B2D96C42A552C98344000721BFCBE50A7CD46DDC2B00F81064E1C9279FE481DAF9232323DCF83094210C50842F47BABF02800B00C2D49FC4FD4F441F7D0BF7623DFE3F3221A5A39C45D8950000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (37,1,'Hub_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000F0806000000FEA40FDB0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003864944415438CB95946D6C144518C79FBD7DE9DED1DEF56C1B11DA0AE5D0943642635FA84AD52812BE8049B589A117E35B9068359870490946F18B5A494C13133524980A6851230DE103DF88244DFAC1C60FDA0891EBD583EB95EBD56EEFF676677666777DA60583B1503BC9ECECCC6E7EFFE7FFCC3C23F9BE0F776B5353535B99EBEF230E313821A75B5A5AFE845534693901DBB66B1963FB6CC7E9A58436134AC128DA902B947CD326573877BFA7BCF0F92B7BF766572310C6DE8DBD17814F10420314C1D766E7213B5F049350A09401E50C98C3C07339F7B9F733E16C3854CC7ED1D7D747EF287072F887B75E78EED9A38AA2548AB94D085CCDE4E08FE93C30CE81310E94B14501DFC377B1E638B8E6828BDF5CE658DCE51701F8898183AF9FC590FD7F09BC73F8FD9135A150DB63DB5BC9D34F3EDE80D183619620393307E91B7F41099D3828C011C8712408E5E8C4432147882F39827260A0B8244D08F9C672D8A9CF3EFA606251E060FF9151CEBD4782C120544522B4EBD10E29168B6922F70514BA3A3D07C9DC3C1074E0BA4B601BA1028C7B05510D2022BB20FE17C189B12A1A1DABBFBF7650EAECEC0C363ED472B6AC62CD33A5D26F5243FD5310AD8C80AECA767B5BAB160C8564DC68B0B05FBE3E0BA9BC010B257BD151B5AEC2FA7219E86D606C931BEA6A0BBAAE6F5355F9C0A203499202AFEEDFBFE7BEF51B8E2F9846B565FF0ABB77BE018A2C7BB659A40D9B63BACB5D69E93459909A35102E838B6922948008A0681671CA9CBABA7A5D535509F713344D39F0CF294211098740E2F09181B5EB6ADEDC1CDBA2E5F379285916343EF8002F18060F57467501BC15AD18F148FB99CC35525D5553866E0302ACAA0A38949ABEE7EFFA4F1D08A1783C7EEFB6875B87A3F7D4748DFDF295F45AFC138C4603B3B0406766F392E74B1A45A1C964926011CA15E1B0AA2832E00309BE97CD64CEA78DB9F8C9C1C18274A74A16693B74A87F67F3D6A6136D6DEDEBFA8FBE0B3BB63743F9F361D878B9D1BA70E1A74045A452175011B52CCB90CF65276F5C4FF70E0D0D8DF937C1D2DDAE8A5B691B3876ECBD864DB589E95CAA6CED16171A37ED714F7D794E566EC2AD62C14CA7921F9FF9F6F487C87357BC2A9613EAE9E9A9EEEEEEFEBAEBD2A55DDE4B2F7B9F8E9C97B19879269DBA98BCF2FB8BE3E3E333FE32B0FF25707BDA1289C48EF68E8EE3DFFD385296999A7C7B7474F41C32BC555D762BB911696B6A6A0A4E4C4C94FC15007F03CC7928673F920FB10000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (38,1,'Hub_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001E08060000006AA49DC10000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009A34944415458C3CD58096C14D719FE67E7D80BEF7AD736BE387C61F00136E62A0E041BC78823265C7609A41052084DACA60529540AA547AAAAADDA544A294A88D2D048546D699300A58423C440A0226003C607870D3EF0B55E7B4FEFEEDCD37FC618D6612949A090919EE67AF3E6FBFEFFFBFEF766084551E0616C046E576FDC98C6CB72776E7AFA4D78441BF1A0049A9B9BB340A75B030AAC9415254514254592A413A224ED9605EE9F53A64CF17EE3080483C1C45028F4AC2088AB25592E40B0208A2236DC4BB7F678EEF08584FE10DF68659437BC42F487DF993729F038095858965D86E05623C8B9B8D769A06F831F04CE0A02B4F4F9C11BE4C040E920C809A02314EC270741923F2375B073DD33A57B713CE5511060B0CDC73ECF21C0320468088F7038014F8085AB3D2E104419F424A11130AA0478017809AFE900BCAC00069DA2F67147D1BABFF787D80F7FB466F9D1874D80C0360BDB6A6CE5D8ECB22C4794880ABEDDE981A61E37D0085040A0019607AB81867E244462E4D5380710B8892180132400752C59C164488066011DC82D2141FE3409C46D2FBEF85CF7D72670EAD4F9C459B30A5EC1C355D8C6847792B4280F811781C3A85E6AEB812E971FCC0C052E040B388E9921C1E90F42145E0B601FF5191332F323010609067809485083A19290F11919B383449090825142995DB550C20EA7C7F48F375F7BB6F72B11A8DCB2F5F9585B74E5F7D6ADB12726C4A785770A8F7E7D9B03AEF7F463444968EFF382D5C8E02028199605AB9E813E7F000C34093A1C3780FA67504E7E8E47E9A09CD01F6A46D47164CC960A5C25A2A8D950349F6872C39BBC1EE4134149D9373723F6EDF2F272E9BE045ED9F293E7699ADC45D1A4302E35F5F355E5CBF24C266394367058F4D56395405BAF1B5C03E84B49013D4D409F370876B30141739A0F1037F8433C44E949F0E21EF96A1252810B9A7C1450A5A932C2E823390928CC4E48F51031781E4F8BA05744072F8A7FC3F7EFFECD4FB756DF93C00F5FDBB68EA198F7288A02B59104111A97363654BE6C890D7B10B7B31066DC81100BC7EA5AC1829AEF720F00061E24EC13E445CC0C85D96091000503282102E5C2E2330AEE097930DA1492F4E03D233EE7E74430530AF83809120C58F248491B6BF07DB7DF7D15F7BB31687FD9FEDB5FB4DC2650515141C6A78C7B6984D9BC5D05AFDAD8A8D76B44444110BE3575B23C63FA347DB889A53059DD70B8C1E109401B4A4AD57CFF400862CC0CEE59AD22F95951D3BB5A1D38949109993AB18F05D3D21FE4C18625CA151420DEA843F0C4B06C0FAF7A83E79839764266E6F6CAF56BB7A86312D3A74FB74F9838F9E7A353522A55D01F1F3A0A469311E6979680D168D4880838099414CFA6921213A92F666268E0D65E0FF4A1AC9ABADDE811343782C44C62A5513453DB301B9D9E20C49868E8C57BD106B5007010632021DDCAA01C2355BAE104E2E362CE64A4A7259324E95AB2687E3E51545444F97CBE94AC89F9BF4CCB9C504123D883878FC29854012C6633E4E52CD608D0348513120A4114D8E2394FEA1986D1DD6B06F60559A8BADC013246DD8B0013AC7AB8D13B00F1517AE841AF586EF9C28CD9CA8B37691E183ECEDD63EA19FDD58CF45496A1A93C1D16046CB5CBCA16E66B19C8C9C9318FB0D932F3F3A66C4D1E3DA68C133CB4D373161F24607276397CF0D17EC8CDC986E9530B90080D82C0494686E60B0A0A8C5A890D271296196F2004D5ADBDC0A2279CE807239A5DF5875AA1668EB16176E488CF85471FC7F7C7C7C536454747E7EB0637206F1158BE7851BEE601752589246883C110139F943473627EC1B684C4E47CB7D703F1B123E18F6FBF03A3461B904406CC9CFA340C197DC0E7E363EC36BC378A89343B0F45B1CDE9031712A8EB7241D1B838342B1141DFC39F1324511143A160F298317A4C3715061C1BA111285F52963F6C26461E3A5C3D1AF05AD2C4BCC9153979F93FB0D96C23AB6B8F81DD7E1D7A9DD1B0B064E32D0224D0B788F4F674B34949C994C96CA68640A8154408D3B0748F08DF1D7D94A0C7CDDAEC7632CA62A1EF80BED3D46B68ADBA95CB97E6455C0BA955E9CA952B16BD5E9F32676EE9E6AC9C9C152CCF195ADA6B61F68C058304D013C140104C68F2284B943A1129DD9D1D6C42F228039E101AE8FF11E148D1F77ABD024E6A726C6C9C5E1701787816505AE7DEDBB9A3F09E8BB97059C5C52514149794FC3823337306CD30C450E477BEBB0B5A5ADBE1FB2FAF87DCEC6C2D2381C080D8D3E3106DF61843E408DF1DFD402828F5F7F6F1B1717146AC2EA0238749651870C42B39BABBF75EA8AFDDB4E7FDF73BEEBB9CFE82ACCAE614176D1A356AF46895C05B48408256484C2460E592D7C166B5DF9657575717E772BB09466F6422D5724DE73CA7B4B6B5B166F3082C327ADDBDA23DD4FA9C8EFA0B35E75EEF686B3B8155D0555555257EE9EF812159E140298B9E5EFC52E1ECD9AB481ACC9F1C7F0757962E7866C1CFB0462780CBED01034E82F123E380C268363436867C8101465174E43063B7B671218ED321783A2268F2CEB581015FDFB586861D8DF59776F33CDF555353C32AEA94FE55BFC8866485EC63D1DC9396ADA8D83275DAB4279B9AAF9159E3B3202A2A0ADEDCB1134E9C3A0D951BD7C38AA5655017BC08130CD9F2C59A4B9C3FC8191C0E87D8D67E531A61B118EE802622EA5D1005AEB5E9DAFE9AB3677E8F389BC68E1DEBD9B3678FF4C09F94E1B2CACDCD2D5DBA6CC5E6ACECEC0C553A6FFCE12DE8EEBB00E9E902CC9DB5193E1F7F0A4E5A0FC16EE3BFE1DAE9EBDCE1AACF1892A288BBAA8B1A7162F0182727B9F366EB85DA9A73BFF3783C67700EE8397EFC38A744FA7879908FFAF06AB560E1C2B565658BD746DBACD17FFDE0D7E0F2DD80A2C297219817805FC5BE0ABBE8BD10FC0FF0073FA96222571842934F7F9FB3F372DDC5779D0EC75E5CF3B4A4A5A50D7C31EA0FF5AF44B8AC4C2653F60B2F7C777349E9534FF5F4F6D15123CC40FC6B3F18F252C15E3A176A4F35F2078E7CCA44D27C2814F0375D6E3878B3B5E5CFA8F33AF48BB3A1A14150EE03907888FF853459617D4E1E3F7EFC9CF5EB376C2A2C2CCCEEDCF22AA4EEDC09D4F9F370D2EBE3F71F3EC684CB07FB0BED2DD7CF375FAEFF13823E8DE0DB117870C8A4FFF7FF429164D5D8D868C5F92365DEBC7915DF7EE2890DA30E1CB0C76CDC0827FD017EDFA1A35A067026551C5D9DADCD571BF7081CF7315EBB82045CD5D5D5C223FDB1753F59E16956256ECB972F5F70A9BE013E3A78C4E0F7B85D37AE5D3EE675BBF6E1E2F02C02EF0C2F8D8F9D40B8AC264D9A64C4E8E267446261E9FCF91B8E1C3DC63BBB3B0FE37B4FE0A4D784BEF1AA13D263FBB5F865B6E2E262CAE9745A106C229E5AD5885BAD56C7BD4AE3378EC090ACF0E389ECE8E8209B9B9B85AF239748DB7F0178B0CFEEA76491710000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (39,1,'Hub_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000002808060000004ECEFCE90000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000F274944415468DEDD590B7454F599FFEE9DC7BDF3CECC643249264FF262080430521AC000D51A8A085A4B10105ACFEE1675A554B4AEF882D2A3ADBB9EDD233D5DED39B6A7ADA0AB6CD7EDC36AF5AC07CEAA298108E44120EFD72493C924F37EDDE77EF7262193210F68517487F33F7772F9DF99FFEFF7FDBEDFF7FDFF4388A2089FC7ABB1B15157515111812FD88BF8AC0820F075F6ECA52CAD9EDC4610E40E41106FE239FEA420724713B1D86F2B2B2B03FF2F09686B6B33D0B4EE6EFCE45D8228AE170441C1F302F03C0FBCC08F5F79218EE30F1CCF1F5511C2BB4806FB652740E9F3056FE704761702DE8CE0B4E34065B049E027DEE388B13CF4F922E08FB16CA149F59627CCBFBFFB8EEAD7F0B3C42F0D01B158ECABBC28EE44696F43803661022097045E10A613E18BC6A17D2404B1040F59063544590E46A20CA4D30A20003C6331B6C9A117F7DD5353D3F24525A094E3B89D18E99D08AA2845DA9723CC0B53EF39BCDF3F16844BEE00504A1281533018884184E1201BDF279084814002CC1A123424018361160C2AE8D328C56381187BECD19D77B5DC6802EC38EEC5711FCEBF792E6927034F302C5C708D4197370059460DE82925B40F0741A500C84BD3823B18036F38010E23051CC7C340280E669CA35311E00E33A0C6793A0508DE18D797AB219FF30563FFFDE877B77B3F2F02F438EEC6B113C76D3814D24D4106285C19F524227CE12834740D832F1283051946943B8BC091049306D27534B47BFCA80A11F2CDB44CC070380E39A804692983C13858340A50603EB8430C98D40490680BDE180F66959888B062939E108E149A95AF6FDDBA95BFDE042871D44C80DE82439BFA80146121D9E09288E81EF6C1994E179028E3A28C34E81909806B2C04CE2C332811510BAAC144AB90081A3A3D2188731C2CB068D11718F060C4738C6A34470E861178A64E090954C5688C834C4C8D107A468415204D0D301AE741478AA1282F9CD62BD8177EF88F7FFFFE7521E0D91FBFF85875D5CABB6E5DBB669554C7677A804F01CFB02C7CDA35048D3D6EC8B6E8215DAF81B3DD6E6071F115F936180BC5A0DDED8782743DA6800A9A07C6404729A0D0AA85EE913044121C145834083A0EC1188BA941C118121244900EBD123C115626C24291E08E72A055E07A4501C6E2026451228C312290A2E0D52884B74209F18D9F3DB1E7A3BF9A80BDFFF4CC2125491ED4E9B4CDDFD9B18D285E50509E3C599A9B1AF5B6C111F0062398EF1CFCA5AD1FEC261D2CCE498756D728788251A8C8B12048165A0646A1C0669053A0C9E50525AAA4C0AC870E54092F88B2127AB12C329C00B9260AFA7D311010A855A3940D120B062E16CB0492E0D012E067501108DE4E8B30181540896B33A90470C7C4A14235FBCFBC187DEDF9030746AF8980470E1C3C84F23DA850600E920A31D36EABDFBD7D6B91392D2D7D8A8029F052B993CA9C746DEDF700AD54C2074D9D2069A722C7065D98EB7DA341589A9B2E3F7BB66F042B80066C88A6D9E593159167D6C045AC0E122179981A6DDE30A8F003AC5A25748F46C18CE59144E4AE200385461504904CC90FF2F50AB95A48E44924F48505344C1172690E8D4A5E1F8BE5F93D4EE08F6A80FDFDC18307E3F312B0FFC94387140A729C001C4A1C044932B959B6D11DB5B5768A5293F3558020D6F953ED2EE8708FC18AC24C70F9427061D00B0B33CDA04290E75109F9661D58751434A2279835E809061A9A877C60C00A60C1BF2FA13FD8F56A040E3209C5161AA2711606D0278A4C6AB942487E50A027A03BC82161229418D0A545E1CA358DAF2B88E3B7C8C8D1745A7902C910AE2000539EDCFFE4B387954AD55393E0652294B21A80E75876F1C2526EE3861ACD5C1560F27E34918037EB5AD10C4DE08F2490845158E2B0C8913EDF3F4E8259AB8673FD5EB0E9298CB40ACE0FF9651528484012C2509A8EB1C394E840124ACC14F89184618C7A9985825E4C0B16BF67B15989BD8338DE7C25AD434829C9496B7561257BC361C978E9A9A7F60FC804D4D6D62ABABABAF4ABD6DFF6BC4E6F7C48022E7D80CFE7034BBA158C7AC338214806138F25D6A1472E723AD5F33540E31E318A2E1F057F9485464C81250E33D67712CEF478A0C08AC6A856C2A748C802AB0E9B24021A07FC5066D3CBB23F3F14042792106304E8F245A1DCA6914BA30FCD72998D962BC27C2539B55AD134D5B37C698547ABA57EB965C3869F4B4E4FE036558BA08B2BBFBAFAB98C2CC71D12D84824027F78E75D50625EAFABBE058A8B168CAB415606097C221EABB9FDEB6AF407C595C0AF5C8C0BBD208A15E3770D5D50EE184F87D3DD1E28B39BB0F151407DEF0838ED06D0E2F79DEAF362F47572E3D134148045197A082618E8F3C7A132530F59D81DCD44F65C0141A0C1B2D2A2B3963473154992D863910F6EDE54F38A4CC0B265CB4C086CF9D29B571E72E4E6574B20C348C09FDE7D1FECD95AC8CF07C8C95C0DF68C3C19FC648A88A82595824CDCBA7E2D4D900A62A6C508294448E5F1BFCEB4439A468DE55009FFDBEE868576239A9E1A4EB60FCB4A30A3F3D7F58C8213814BDD513392B0DC61C434A06156B267F93E7C2F64DA333E7664663A0905994EA2C1220192513F78F7A68DE304545555D18944C2915358B4D9E95CFC039DD19029A5467B571D46DE05A108B6AA89255052B41C2EB57780DD960E8EEC6C98344BDCDFB336AB995F5AB1949E8AC2DC5171FBC3700E53C26ED0C20717FAC181AD711E96C2136D6E2C897AF40424A1D70B4B5015CBB24D48F63828819F27EA49F2D7D054735E4E8E1A555C2A356768E8304900FE3D4E80045432C075EBD6A903818045A552152DADFCCA9EBC8205DFA4685A130C0FC2C8683D50AA72246009FCF467AF48F36175D54AF8DAFAB553668923E01B8B1717172932ED99AAF9F609938BEE1AF1CB7B83B7CEF44006560649011FA2124AF0BAA6D0826D30C0D5784D32F11CCB45D22D695E8BC59A4F207092C0884F5C6522E42B3C78CFE64DAF245701024950E01657CBB26C86D56A5DB67C45D52359393955C82021883C2E540D4790002B9A54D92211ACA63258B1ACE63201D24086C5B1D19178B9D34951B4869C2482E3E78E5E1C374E27DB86C0839D63CDC24CA0B075BE6A839BB8CF62C9105926E6C8CDD5A854D8D225014F2540A120A613907494459697972B753A9D0189C8295DB8E8F6A595373F6CB15AF31448DBC94F3E80C28276ECFC54100ED9E16BB7EC86E4BE61D2245986E183C120535656A2C1605DB56C679A2324CD993C6B1092E6E1F61CC2C1602CC39EA1D668B58AE9919EBA4E1121DF7BA8F6EE3B5F9E7537281181DE40E15B0B125150B5A6FADBCEC54BB62331FA31DF20B475BE07F18415EEACD999420039ED6FBFDF8FBEC70A5999D9D46CB215E692F63CE70DC1809F5153D847A499D5E3E67639C7A71320DF9FBA876DCDBE5DDB6B7F3AE779406A5A982C96C56BD7DDBAB7A4B4742D7A85228CDB5E8B256D1AF8D30D67211E4FC0AAAAAF409AD178990C976B204EAB29A556AF575EABB467021E8E84B95824C2D96C19F4A4B9259B1C31ED3A3D0D3020FD635ECF8EFDDFFBDEC757752072455A389D6BABABD73D9C9D935B922AFD636F1E878F3F39055AAD160E3EF938E4E6382E93802547ECECEC88EB0D460ACB2639056AEE149856469984383434144783A3952A157139E23312305DFEBCC02506FAFADF3CF93FEFBF8041EDAEABAB8B5FD391586A5AACA95EB76DE5AAD5BBB0194A9B94FEEBFF711C4E9F6B86923225D8D279D87ED7613099D2A6558B582CCA777674323A9351239D04258317E6686EFAFBFB62A83C15ADD12953A32A5F2F1391F27F04881EF7505DFD271FFD8BCBE56A4053F722F8046217AEF94C30392DA4A3328AA29C776CDEB267E9B29BBE8E6DA6AAF562075CEAFE15184D71F00768D874DBD3906DCF9E562924B224428687DD4C6FDFA0A8A2D4D4ECB92F8007E7F9034130184DEA2BCB598AB9A5A820180CF4369F6B3872A9B5F53DEC7506F1FB230D0D0D9C3801FCAF3E159E4C0B9AA68D1835475151C9AA4D9BEF7CA8A4B46CB104F2CF1FBE0143DEF350BBF919C8B465CAC0DFFCCFB741C47FDBEEB90B8C06C365425A5B5BE3C3DE5125AE7E9A3F040341BEBBA79BD11B4C1ACC9859EA390133A501820DB65D6C7DFDD3FABAD7707DDD0683C177E2C409468AFA753B169F3835222A2B2B69B55A6D6618A6704D75F5960DDFB8E3DB76BBDD160C8720CD60C40D082D03DDB3F71118700D624A98E0E5975E84FCDC1C38E33F0526AD099C9A72B1FEF499B83F14A6130C034D2D17E2B833A550F12441CE10F1D41C9F8838B6E75C7F4FF787F5751FBD8C2A6DC6E73D1A8D268AE0797106B0D7E58791D4B4C0C5946EDD76EFDF55DF52BD51A7D7539391FE8787BF0F71360ACE720128B5083F7AE2381C75FD128E141C8207F8C7609FF6498C7A807BFEC597444AA351A546754ADE33D678717878E8425343C3CF3D9EA18F31EAFD1890404B4B0B971AF5CFECA731292D8A8B8B551861032E3EC79E9575F37DBB763F5879D34DCBA56EF277EFBC03839ED77157494034A6841F3EFE36FCBAFF17F0C2A2FDA0E228E85444416AB61E3FF82351819BABF9CAD9E4351C0A785A9B1A8F7577B6FF11F17462FA781B1B1BA51320419C07E075FF6D70222D484C0B0A415BB04B2B58B566CD866DB5F7DE5F585890CDB07178F537FF06C3A36DF0AF878FCB8AF875F45578CBF40BA83774CA9FF183670E8BA81862B67236099C6112B1AEB64B1F5C683A770CE7B7C4E3F1414CC570B2C9DDD05F8793D3028928BDEFBEDD3B37DDB9698BC56AD10E0EB9A1302F0F2E1E79090C5D5D90FEDCD360C9C8979F7DECE94348809220529A9AC934900EFD067A7BCFB7369E3D8666578F72EF429FF14D96B62FC4CFE3B3A585B4C9DAF3C003DF5D5BBD76252E9ABCF0931F43E5E1C3102A28004377B7FCCCA34F1D14492420B5AB93A07BBD9EFE8B8DE7DF0E047C27F07E2BAA6C702E93BBE104CC9416D84415AE58B1623D12717FBAC753C01D3800592D2D40C7E31387B312010A22D9F8A2E170B0B3EDC2876ED7C09F71CDE730F23D9148C4DFD3D3C35C6BD43F7702664B0B24A26CC78E1DF76CFFD6B7BEA93D79D298B67BB73CEFFB079E9D304169D3C231FD3D1DE77BBB3BFF24705C03CAFD223EEFAEA8A8881E3F7E5C10FF46009F2B01A96981CD8911CD2B47AFD72FD9BB77EFFD1B376E5C8369A1DCF7C43322C61EDBD781DE1E343996654EE1334DE8233DA15028D8D1D1C1FE2D51BFE104CC96164EA773F5BE7DFBEEFFF7577FA5ED6EBB7806CB5B3DE6FE599C7A09E53E82353D7635A5ED4B41406A5A606475A8063B4ABC086F67E308E07F75E0E847F02104CF8A9FC1626F3801A96961B3D974D8C1E931F20C9211C49A2E9536FE33FBDE2F0A01C97B0B5404894488D7C3E4E67BFD1FBE7BEA5343C65B240000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (40,1,'Hub_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000003C080600000099D4BFB40000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001B454944415478DAED5C09745BE599BDDA9FF6C5BBAC788D1DC776623B4EBC64230B24049AA440422949688796E5F494D2D2164A3B14DA59CE749939A70B4343D7694B4F5BDA613A94522890400849C86A27766CC7966D59B665CBB265EDEB7BF3BD17CB516C794B3225A528E73FD27B7E7AD2FBEEF7DD7BBFFF7F8A88E3387CF078EF1EA2EB0900113DF8E7679F7D56BA7ED3A64DF4E576C6E238C1C8C4BF2F2A2A1AFF0080FFC7C0EFDEBD5BFCD4534FAD9232CC1E3144BBE96B65B12C0B96A3C1B22196E55E8CC7D9E7E412BC5C5E5E1EF900806B14F8AEAEAE62A954BE97037737ED29990878D2E02EBD16FEC68DD2F36FB928FBCB952BABDFA1D3701F00B0C047E7D0508686137D8482BE873EBDE1F280A70C3AA61DC3F1FBE2DDFDDEF0E15030FEEB3DB7AC7BE9030066790C0E0EAA18B57A271B8FEFE1586E6B9C65A5DC4430E935383EC8DCFC8088C559D8C703B0B98388C438E4EAE4C8D648CED8DD91132296FBEE3DDB379EFD00808B0F89DFEFBF9182B68732F6360AA0667A16CF15F44BFB029118BA47BCE8190B402D9762915E0183420ADB7810764F042AA90816AD94A5E7437DE391664621FB977FB875C3D0DF1D00D16874658C65F75286DF45C113C494E312999E8A5266C97EDA3FE20BA163689CB23E08B35689229352F89BD515C0A02F8C2C8D0CF93A05E2746CEF58080E7F0CE94A092C1A492814E70E8E06A26F8B75A26F7F66DBB6F0FB19806221D32F8ED2E9419D12746E062026FEC683D5E3F4A075D00D5F2882A20C2D0A0D2A380361740E7B311E8EA1C8A844BE810105189DA37E78823158888E16E9647087E2E87587E189C491A392C0AC96B89CC1F8B1502CFE9B2FEED9F1F3F70B0019343E42630F9DA781A7148E4D91E9B30131858A829128CE0F8CE2DCC018141231CAB3F5C8D629D14960B40D79201303A504460E65BC6D34888E118F60838A081C335582CD138495AA002C90A797214B2545BF37823E6F146A9EA2D462AA14AECFE18BB76A25DC538F7CECF6A37F6B00A868ECA4B197C6161A527E273719C43982CEA506C2E50DE28C6D18ED8363C8356A506936422115A3D9EEA28CF710080C9666EBA057C8D1EA184707016250CA509AAE814E2EC605971F5D44497A464A6030C2BE4E02C84EC1CF524B50A095C21B66D14D5A41CD1DF234621016E8F5C5066512F6A56C15FBF8FD1FFDE8C8F50A8084C68D1341FF300DCDD403388E9BB798B249EEC73A3C8613DD43708CF9519E6BC2321A4E6F480063909C4E69A60E15B42F1A8DE36CFF287A467DC837AAB0344B87683C8E16AA8AFEB1202C7A0625692A90F6A0DDE987D31F458181A723051CDE30BA888E481650485521A69AE97247E189B2C85389619401B6409C0DC5387B898AFD8A5FCABEF0857DFBFCD70300AB787AA171178DACD90E5C48F68729984D3D0EBCDB3920D0C7CA822C1467E9D1DAEFC2A99E210A2C8BE58BD251916DA0E0FA71BA6F04A3FE10D191016554050E02A679C00D77308A25196A94A4AB314CA0B50E7911245B5A96AE420ED15127554417D1112FC8A5460502F4B91DA32184E31C8A4827E81058C7237085582C229DD0C938F47A5984E26CBC4C17FFDD7040F45A578EEAA7BFDDBD3BFE5705E0C8B113F734D6AFFC0ABD2C9DEF89E693FD63BE208E74F4E144D700724D5AD4179BA165E478D73A8026CA78938AC1CAC24C14A66B718EC038D9ED84442242B5250DF92635DA1C6E9CB18F920E885199A3A74A60D041827CCEE1859AC4A13C8BA72329CE5155F03D42BE4189128382843B82F323014844222C31C941EC84B6D13009791CC5444D6A99089D040469398AB422FE62D0E9E32015712856C7877D11BC4612F23FDFFDC2279EFFAB00F0E92F7EF940469A49F9E0BD1FCFC9CA4CCF9BEB2417E967E6ECEF1E1AC55BAD3DE8181C45557E161A4BCC70F90278A7BD9FBAE23194661B098C6CE87830BA0671AAD70933D1CCCABC4C1854329CE87112FDB84807D4A8B118A057CAD1D4E712E887A79E6524D43CF5340F8C63982CEBD20C0D0AC9AAF68C06D0E2F4C1209760693A4F4F4459C301A14A78201802A2958020EA41A95E4AC188A36D9C8598025FA21182834E2F0772B52854C5C180EDEA0B8BDB9462F689EF3FFAC0E9FF37001E7AF4898312B1E806B1581C295FBAE4C8BE3BEFA85528E49AD901489DFD3DC4F12F1C6D45655E166A0AB2D1DC3B88436D7D70FBC3585178110C7F308CB73BEC820057E6A6A3AE380B01B29E473A1DD47879509E63444D9E89BA5E16EF760FD33E1F96E6E8B0DCACC7B0278453541521A2976ADACE25CEE7A9881FB95A0615996A12DF289A867CF47D808A7486048DC3B99110BD874539012111B138E78A0A6E6CA95E4215C2A17D3C86D13087C574D506292754842B2C420101912E8973D690C84697F76A99CCF3D897BEF4A5B16B0AC0C38F3F71502C12F300801F528974F8C60D6B3A36AD5FB75A24128953D2CF1C221C0885F183574F62CC1FC4DA258BB0AA28872AC28537CFF76194AAA18180A8A18CB70EBB098C7E8C0723A8233AAAB198D0E3F2E1A87548D081DABC34D206A34047276C4EA8A813AEA5638C5415A7C931750CFBB098346159B64610DF53F671C14D2DCF520BDFE58CC3471AC361592623504CD3500811DA5F494068E5206022700458AA0831B219112E1010F600874235070BC3C146D2DC1310215B1E471E1385846323D464BE14E3D85F8E6B942F7DF7A187C2570DC0E71EFFEA410AFC240089A150282EDCB1E316AEA26C49E99CFC9FC2F9C4851147ABDD89DF1C69255F2EC3BAA51694641971DC3A88B7DBEDD0100DAD29C9C6E24C0309F230DEE97240463AD050948902A31627889E4E52E01791EFAF2BC8101CCDB19E11C11D2D371B5099A5A50ED98F137D63824D5D61D6526F11C789FE71FA6C0E2BB2D5908A45383948821DE55045409814629C7506A9878891669065D54829F01174D1763ED9D5628D08763F8B0EA2A73405D1939A855C94CAD971EE381B7B9E8D8B9FFBD63F3DFE16DF165D11008F7CF96B04806802001109A144784E00A154C86D77EFBA3DCD62C9550BF49394FD5CD2E45A7C620A2215108E510F947219FE74A68B787F00A54433EB4B73A127213E44401C232D305390D795E492504B71E8C2203567A324BE063450658C136D1DEE1C12DC4F5D7E3A96666A7056A88A31E410F5ACCA330834778CB645F4AFD6A28582AEE128558497C47745363925B58C2A20800EB2B1257A39CAA80AACEE085A5C61EA9CC5A830483144D5706E2C020D3571E57AF2DF126E5E169BB66D718EFD15351DBFFC8F7FFB7ACBBC01E0E7E81FF9CA93048064BD644A055C1AFC2581356AD5FE7D7B3EAA56294996E66D43938020BB79CE3E8C2CAD1A3EA2A8D75B7AC80D3951451674FD120B02E108DE68EB876D641CF545D9A82F4C47B7D38BB73A064938E3584355514C8DD809DB0855868B5E93B3CA3362884039DC3D02D23134D036431574B87794282C8A5504043F6FC453D139A2AB42724955992AF47988AE06FDC8A0CEB93A430E0F356D278743D46572586E92529588E611F48B549C6236E00CCBC59F8328FEABEF7DE31B03290198580E1455545448B7EEDCF5BA542A5D3B35F0A9008945A3B192A2FCD887B7DFCA5C36B53CD714C414CD384B81EF22C15E4DDAD0E574E3B5161B7C04C00D5415D579E9E47A9C38787E000CD9CC0DA5D930EB9554010E9C2237C457457D7E1A594F3FDEBAE084826CE5DA823430C4FD87AC238216D42FD2A3941AB526A29EE344470514F8BA1C2D86FC24F6760FF50462ACCA510953DDEF0E92532251AFC950C0425DF442BBFA5912919ED8037916F33F7FF991870F4E02905812B4DBEDF24824A2BE61CBF6976472695D32F5C462317A9680611429C108878291F58DF5A8AA5A2E5FD0C24AD297E5840938375E6EEA41757E064A4807DEB9D08F036D76E4EAD5D8B83457E075BE2ACEDAC7504B416FA4AA681F1AC7C10E07543209369664414974718080E823401AF379D1267A228B7AB8770C66AD026BF2F482337ABBC70DBEC35A4D55C1D0751EE9F750071D436DB6128B0D32707368DB65993EDBE4E2C4DFD52A95B576F9F251A59239B9FD962D0F2603206E6C6C545090F5B49DB3EEC69B7FC1285515C9013E74E830FC013F1472391A1AEA909E96369D9AA888629150F0D69B6F966566A64BE733F936D305062331FCF04033E452096E2AB780B75E7F6EE94387630C6B176793286708BDC0EBE707A92F9062D3921CA8C9EFBFD63608EB88176B0A3388F7F5383B388E373B9D30AAE5D850601234E980D5455D740CEBF30DC8A00C3F6CF3C04A1D722DE94265062308FB7CA6C967BCBE29EFA3D88C572E2D3B633218568BC42219857BFFCE0400FCD8B06183241C0EEB28FB7369BB6CCDA62DDFD4687505C9D4F3C6C1B7F855AD045DE1C33B3E84ACCCCC494D98044122064B69A19049C2B7DCBC959149A5A2D9B23F799DE032FA4ACAAAD75B6D78F55C1F362F356315391FBE31FB336D6768186C2D370B8B337F6EB59335F5602D01B3BA300DE71DE378B5FD62556C2EC9103AE5D785AA08625D8151585378872AA299B4A09A2A64658E1A845FCAEF993014892ABDCC64CC52DD9467F145B9E6C3342A29F0263E6E02D38B44FB6FBBF5E64B0010EFCB886E0C3299AC9082B87CF5C69B9ED4EA74B9C9D9FDC6813731303008994201834987E2220E4579AB613464A7D008914057A1503066CECA88AD6E68601692FDA92E2636B13EF0345545B656855B962D12A6315E6EEE4553FF28D62FCEC20D645F2F0C8FE3E516BBB054BFA52C8B8E55E22FED834263B626DF48CD9A16477BDD34C650464DDA3AAA027E2A622E8D62E73BBD3EF13EBD4E7B7A7141814622959424023F39C420006EB9BC025C2E97562E975BE880256B376FFD37AD4E5F9CEC7ADE7AFB08A25C0C55CBDD483304E1F12910F2E7A074F18D98C92D25F6FB3CE3E1CA8A72516161819C9B710D989B97CBE0ADA58C38FED7C72E0895B0AE24079BCB7260A73EE07F9A6CE49C62B8B93C0725191ABC461570B4C745026D1444F954BF1B6F101DF18B383716A7C1447A3297464DB7D3B37F57322F7D8B0B0B06A867AA9F167861080CB2FFF6EDB75CAE010482DCEFF71B685FB65AA7ABACACAA7D303D2373355586880F227FDC98FB75E88CC324C85244A212B8468A505DB15EF8DB6BAF1F80DEA043C5D23264F2D424BA4449FC33FFE13E8F3BD8505727D76AB592F9AF92A5CEC66EAA06BEFB1DF206F0DFA7BAE1F004F0A14A0BAA2D461C6C1FC26B6455AB730DB869493651D338FE445A61A4806FA3AA58A463E6B4920BCD7E2AB8803933F38C41AFAF25BA5188C4D3832FBEF47A1A007C25F020C80281809AB480E72B73FEE2D2354BCB2BEFD3EAF505896C0E059D181879073A6D08E3EE7C2C2BDF2464C9779F7E46D007FE436A6AAA70D3E64D9053A335B53A48E8D9682414262018FE73AF46DCF86DAB739C8647E811F8C6ECC5E63E724F5A02231703EE00FE40DBFC637B8599284733E3F2E8659C3E9FB5EAC4FBC8B6CA64126BAED99C2695C9F4B304FDD23E310FC0AD0FA6EC036A6B6B25A15048C1308C96B6D32968B9CB56D4EE2A2A597227A360B4894076F576201A96A2AAB24CF852DFF9FE7F4E3617320583EDDB36607965CD65029D0C86CFE78DAA95CA785959193317A75EDED8A406CB4196F395D67E6ACED2E1271AFADDE91E8C0522D84140ACCA375D2EEE0BACB69992231A090732D2D258BDC1A0991E74203505F143BC7FD7CE29004CBD4DF0F4E9D3528D46A3A44D3DD15016A3562F6E685C73AF7951C106A9848825D9F5F0007CEF3FA1D4E860C96350581084411784885D4F94D43883465C04C6E574862C66B32423335336FBDAF1FC2CA12718C12F481FF8F5831B8A33853580E4F74D752FD31CCD2CD596784D8E3146F6389A63362B67CBF49906F1C4FE3B6F9B01802420784A127BBD5EBEB15293433246A3D19CBC82A2952BEA1A3E999E915196082C7FD2175F791DA5A556A41903084524F07894908B6BB0B266C39CDD343FA13D3CE4082D2E5EACA0D2135F7E1B0B3747F6B357E8601698FD7CC6C7635C2410089973731929398119038F84DB990104E0D93B6FDBF1C09C4B92C9D31306834141FAA0A55D022D55D5AEBA655955F5DD6AB5C69408EC90B30D3D036F0B20787D0C14D22AD4ADD894BA0226C459224AEAA623E1B87BD415295E5CA29CB6C6CC710BB78413599C4C61F1890E76615AC3C2E31E0F9AD24C32955A2D154F7735F31A89F7D1B5FDE8A3BB6E7B809ED9792DCA2768E9F8F1E332028201BF46219566926D2D58B7F1C67D254B4AB7CAA4725922A8C74FBF0999FC14D8D86AACA9BF2125F5CC665DC7C646A3B14894CD369B15F311E2AB989B9933FB7D1E4F4442CD9CC968928B164033B3E90119919FFEF8074FDF7FF0E0C1F8826E4B49454BFCD445667676D5FA8D9BEF35E75AAAA4C2FC9118C1700481801F3959592903DED36B834AC520128EA26471514A30EC7DB6904AA592AAB53AE9822C6122E3AFA86A2E82110C06E2019F37929E91A54CD0EC42337D8611F379BD8FED7FFA3BDF3B79F2646CC1F705A5A225FE062D12EADC65D5D51B1BD7ACDB6B3018B35366B9E4D2EBC3878FE237BF7F01F1781CF5752BF1915DB7233DCD3401D625E7C4CF1F765BBB4346539A823E437CCDB37FCAFB283B39E7B0236434A42B6454D4B3D28C781E81C7A5E3A89A4EB536373F79FAF489C3C420DE0557C04CB4448D95928223B8251A799BB76CBBB3AABAFA5646A954CE443D8708805FFDE6D24D0639D959F8D6BF7E7DC66E3AE0F7C57B6DB688C994AE8C73DCB47999A9F71B5D49F60F391C210ABA54A5D648AF2CDB5303150A0687DB5ACEFEE8CD036FBC40D7D24FD4ED3E72E44878DE1AB0105A22004C7C3C4D26D3D26D1FDAF1B1C525A5ABF8CC9DAA033C00CFFDFAB79048A550690DA8AA8A412157E0EEDB1E8546639C5123861C4391E191114EA3D52AAE55F6F39AE3F3FAC8CF1B15D7806226075577A8DBDAF5BF87DEF8CB4F89297AA9BA5C6AB5DA6BB15822CF3FFF3C311DC75D939B7353D112E943065D5C6E45C5B2C6CD5BB7DE93959D9D97EC7ADE3D710AFFFDF26B58B5D28B0C53801C10AF1D1C562D7F1CF97985986B31A8BDA33D14088549FA15D22BBDE53D1808C4FBFBFB233A837182E771D5419FF8991B37343878F4E8DB07F70F0C0CB4D0B9878972DC3E9F2FD4D2D212BB7823C9C5C05FD3DBD367A225FA53DED66DB76E6F5CBDE6368D56A34904F16CEB4174D95E46669A1FA36EA530BFB469F5A30440C19499D5D4605086714DCD4D215624E59D99683ED9CFD3562C1AE5ACDDD6909C512A6432B9786141C7AC5AE071BBBB4FBE7BEC275D17DADFA6EF3840DF719428C7AF5028A23CE77353027ECD7F1F90A886A9B4449F63A6CEBA64D7EEBBEE5E56B57C2D5588D04DF3370EBCF8CA2FE92D2711E724D8D8F01816592EB9A2FEC141381C43F00502D8B46E1D2866D380F1783CB1E6E673319154C6CC95FD365B6FD81F0C89552AB56CA6064A2C5EB8DD0C8742EEF6F3E77E77FCC83B7FA0EBB513DD0C9383F386E8416E279E9CF57F955FC84CA5252A3F1D65413A6584A5A4A4A4F6C3BB76EF2D28282C49B89E31771F7EF8F3DFE3DEBD1F83C59C3319DCD6D6363CF6C4D784736693507FEABE7BB17EEDEA141A21426FAF2DDC7EA1932228954F6DA446465CD13EBB3DAED1EA9899A8467C053E9FCE1DEDEBB61E387AF8ADE7229148277D4D0751B03B23232340239AE0FAF7EC3762095A723A9D3297CBC5CF9DF04D5C163D2FDA7CD34D5BB6DCBCED0E6A728CA91775C46821001EFDC7A726CF279648F1CD7F7A120D75B593C1BFF7DD7DF866CDBF23576D118272FACC99A07D704846C92FA560B0ADE7CF87158C92114B24A2ABA29AA4E3F9C7B0C371F6D4BB477FE1740E35F1EE86C6483018F4517547F8ACE75DCE75F123BDA9B4148D4635C48B7C1367E657E1F6ECBDE7238DAB1B37308C523E95EFCFB59EC7A35F791252B91C1ABD092B6A82D06BC328CADF815D3B3E2100B6C6B60C928C383E2DFA12F619EEA37D12442311F627FFF55CB0B77F8091C9E592ABCDF8E463BDDE71C7B933A77EDBDDD5F9166DDBA80AF8DFA18DD323D4D9D9C98BECAC59FF9EFD4C35152D1110825BB258F296EDFBF83D7BCACB2B2AF9BB311295D0D9D58327BFF51D2CAFF46391D94D6E895FC502E4D2F5F8CCFD8F0995B2A6B712A395366119F289F0B7719FECB3C27B9F79F6C741DBE09032C57CFCDC419F68A092034F14E3EF6C6B79B5E9D4C91769BB87C600C5CF359BC85E97BF139E4A4BF4309068096EE9861B36ACBB63F7EE3B73727232135560ED69C5AB07BE0D9DCE8D711F43819040AF69C0C30F3C2E00D5D0558EB12ADBC5BBFAC24FE173B22784F73DBDFF479300CC9CED98B332C839C5EDB69EE34D278FFF3E1C0EB7D3C7F4118D3AE933C8F4B8C353ADE5DFC42FE5931780F8351C9E96888E84268EFE54B8F79E8FEDDCBA65CB4DD47029139AF0C7575E465BE7CF41C90635538F87EE7F5208F49F1C7FC42F44CFE044DE417C21FE353C22FFAAF0194FEFFF61D03630BD0216623B478687ADCDA78FBF303AE23C4DDBBDFC4F9EC9D88CCD5764AF5B0052D112D954862E8EBF392083774B99D9D965F7DFF7C05DF5F5752B28E34413DE1FDF7EFA19E875267CF6C17B11F57AD0F3873F60C9BEBD7825F412246A6087E2CE8B00FCE087C1DE0187F24A02EFF7FBC6CE9F6D7AA5AFC7CAFB792B9FF5B47F842AC09B10D92BCDFAEB0A8054B44443452DBB3E414BAB56D5D77FE213F7DE59545C6C99EA96824E278ED4D5C152538D826F7C0386AAAAC973F200F4F4270000E6A305D4A485AD17DA8F75B6B5BE4ADAD445A38786834EC777B2C19A9A9AD8D566FD7509C0545A224A92D36B7ECA5B68E24898F3EFBAEBAE6DBB76EFDE66341A27BB691E80CEC646D4F5F7C3A7D542F1B39F4176FBEDC2F9BEFF83679300983DE3F925B801BBADBDFD5CD32B54856DF499DD14783B55DC087D073AB536722522FB3705C07C6889DC53C9A71F7A68D7A64D9BEA19854212181E465B43031A072EDE741CFDFAD7217BE2894900BAED8373AEDB8EB99C8EF696E603EED1D126FE3F70E1B93E612DE9B3835723B27F9300CC444BF410DC12EDCEABACACAC79F8E1CFEEAE2C2F2F3AF3B5A7A07DF14594B6B4804D02E07BCFEC0FF62401306D9A38E0F775B69F3F3668B71DA7C379BAE9E61B2A7A76310CE3BB526BF9BE0160265A22414E4BD0D2CE9D3B377EF2939FFC905E2E37B87FF213A4A5A743FEF18F4F02D0DD371D803811BDBDC77ADEDAD97E982CA695CED54587DB886AF8ACF7A49AB5FCBB0560265AA2D73AA224BE89B350B6163DFCF0C33BB76FDFBE96684926128B130004AC7D03AAE46962E7E0405F577BCB9170287481AEDD4A19CF673DCF5F2E0234903C577FBDFE5705D70D2D9125541125196857165D475E7E7E7EE5E73FFFF93BEAEBEBCBF8E308005F97AD5FB869CAEB768F59DB5B4E7AC6DDE7699BB795567E1A81BA5B2701EA996BD6F2030066A1250AA09AE237494B24D0AB3FF5A94FEDF8E39FFF22397BBE9DB17575B40C0FF6B74C345282B5E4A711AE6543F57705C07C688974A260D9F2EAFAE6A6D363B4EDA543FBE95A7B68F00D959382EF25EA0ABF1759FFBE0160365A2220F8B9A44CFA137F93579040E097058782C1A09B783E4080C5DEABAC7FDF01908A96888A54E46AF85FF7CB20FC275E511F811230994C61B296EC7CE6EA3F00E02A6949A7D3493C1E8F84A88625CA89FDB5ACE5DF3500538148DA755D053EF1F83F3F4AC8DF08E055B60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (41,1,'IP_PBX_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000770806000000CBA9486A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000469A4944415478DAEDBD09741CE775267A6BE9BDB1EF3B081204778AA424521B45C9912C99A216CB9215CB637B3C9ED87EF39289CF7B939997F71C5B19FBD867DE49CE8B675EF2C63E4926893D5AADCDB22D89B24459124549DC4970074010FB0E347AEFAEAA77BFBFAA1AD58D060190A028D92A9E6255575717AAEADEFBDDF5BFBF6A1806E52E122FCE8FD64A79B6577B3172F60DE77123DFC37DB2642DEA02892F5D84113EEC972CE5127A8E7BF884F88B65008BF83671656B5FCED9B7B7570B09F2115F77ACF667831F47FF040916C8000EE23B89AE58ABEAD83ABFA7AB840486630591356B4D3BF635FB5C3CDA274C701106C8437CD55A5DD6EA71ECDB4C215F259BC0C891FAB4B5A6784D58DBA4754F36238009A44F98E0E22AC066005BD241742FAF3EC76A3382EA60820F93016C023A896F133ECE6BCC5A15EB73EE6F7E6796FFF1F40B2FBDF6DBF73B7FFA5FBFFF274BC1004EE2DB12EFE73568AD05D6D66F7DE77620C1876910DAD7D72C82DAC48FF21AE135CC6B28473D19BF8BAAA0ACB878A7AC2A472E1B011C567FAEF407EA56ACBAAFA8ACEAFF54155552555972A9AAA4280AEF2BC4C74855B12AC4C7F833AFAACBFC2C56955CB222CE51C4F9B2B96F1FE3DF2B2ED9FC9D754CB6AEA3F0B9380F5B1CB3F7C567C9BC9624F3BE2CBE3764593214591C334686065FFDD2A35FF8768E7DA05F258FE50ABB43970FBC4E04901D0800B80FF21F2872B9D480496CC522B8B52A4A8601CCCFCE7394ECCF8A4D74E76745308193814C46318F9B0437BF9B610045105DB1892F56BE4B49861D43962953682156DAB205520E26F8DD5A9640F1E653016E4BF707182F7D8A452C152F9B5F70C60294B01AA63B60606BEEB3A565AEFCBE259D09A3F37BE7DF1A62CB3F3298163A43B1C6ABA4898F06A0195FA567C4167F49DC141F9014BE96A1886BB1A8F3751432F85A06AE0BE6900D52DC2EC128BAA6B92D7565DB030987C1FA3B8502B2242F0903487910C06DA18017F04C7A8AFC5E3F1504032C854C1A866101CDAAC48C6142372451B52514E7C892208CAC307198D0E6C5F9B30646D1585AF9BA695E0D30071F914DC2524A12D7D3F9B306A99700F326E467F6C1888221717C468395545533CFEAAAC356B10D56392790F5BB01004B8800B96A40A0001F7043CA37B4B5D1E6EBAEB7882B5B30AC0862CC6C2D6816902DCF7C97F7378EF3ACEFB3CF551CBF993977F67733D7EBB9D04DA7CF9D234D170CE0B59E41CD0964FD6E6900495A72159015FCE1F7EA0203AC685DB9F4CA67116CBE90BFD6D4BC8C4E9F3ACD68A5AB795C55E9432248DEBF73A53C8FA53402295F14909F87D15C12C6D7C743240C5632B026F212FF8AA8801C2F4A2C0F3DF490D87FFAE9A70DC7394B9EA092E5A54580DC2DA32C38E063427CF386C54DD3DC49ACA526BC64137C6464449A9E9E96E2F1B874E2C40971CEDAB56BC9EBF51A050505464545850186B0F9652918612955403E0703CF2843BF2E89B5F121B835B2627A2A57324CED94F81D3B76C820FAA143876426B09C4AA5C4DF2D2E2E16E74C4E4E0AA7269148187C8EBE65CB161DCCC0BFD397021596DA08CC5505E21EE53910E0B78786E9ED43838CBAECB4B195CF4E99E9FAF1676CD9B46762C0C7338FC3B993CDB0BCF82C1BE631E7EF29F37BFB7A9A807571AE7D9C3FAF5FB7867EF0831FE4D589922C5D11C8CF47785BCD54555529A15048F5F97C8209D2E9B41C8BC50CB7DB6D3082EABCAFF1391AA38388473012E86082CB45852BC50099056E17A26EF95EE36428499DBDD34C1FCD74E0412CDE373F9BC766F6CD9C8C241CFDD9E799DF698EEFD239BFB3CEB37EE775BBE67821F215B1F66CB807D4777676CABDBDBD72515191C28465CF577131C155BFDFEF6249C767A5B2B2D25B5B5BEBDBBF7FFF443299D43C1E0F9F924EF15769669C34B67830561597C508708DAF280388C08FAAB26BA5CDFAEECE1B6AE8F6EB6B8421225BFE3A7C7F49046624711C6E9A9471DF48C40F24C53CCF0CEB9A913CE1DAC9F6BEE470F52447D44FCAB87F5E8F27EFFDBA114E965C578CF0807A10BEACAC8C3D245965A2BA755D776B9AE661E9F7FEC9B7BEB575ED9AB53B0B0B0BFF40370C2FAB80BD9D9D5D2FFDCF7FF9A7D7060606C27CB924FF2EE972B952CC08A9CB6704E9CA32005B8086CBE3A59EAE2E5AB37E63D6775EF7A5C50132FB4A8EDF9FF94D8EAF9F132FB0BFCB5DBABB3AC9EDF593ACCAC652121EC61D134866A22A0CE32A13DC859525DBC3F7E6FDF297BFBC6EDBB61BEF2DAB28BB5B51D44A66064AA711E1D4A8A0A070FBBA75EBB67FE77BDF0F8F8D8CFCE6CCC9D32F3EF5D4E37B1939E2600666842418014CC0E80146D016C308B2245D690450080C303C3E41636FEE219FD7C344322381080F9BC4C84EDE8838BE6C2207228272E65C392BAE2F1845440C554BD255716D441625B155C456C9208A22A27E76F44FB2E203260C4AC4224865E555245FE8BE6C1D9F4B7868C37038EC62030E70EF79E081071AEFFACC671EA828AFB8D7EDF1B482E85A3A4D69DE8256997F86B9323A064BCBCAEFBB6E5BF17DEB376D1C1C1D1DFDE5F1E3C79E7DEDE5974F30E1936C2BA49829C008E9C5308274C5114084779920FC8ED3C924F14BE087212B5963256E209D76424796731239B220AC99F091330CA3AA363A209C2C5BD73199248DAC215F43939D9140730B62E35DD80F6E58FFB9FD3E2A707BE852DCE2F9086FE979F7CE9D3B4B1F7DF4D17B2BABAB1FF079BDD733D16548BA9621BAB077C53E5984270713D8E7B0C9505D5E5EF96F6EB965C7BFD972EDF527C646475FF860FFFBCFEE7BEBAD016684A493116CCFA1A5A545CFC7089274A56D00C4DDF9B6BD2CCD2BDADA2850583803C702FAA58C0A7042BC88D9AB26C1715CCDE87B4B5D58E7AB82A836A3D8E95DF33CD53A47FC2E2B142C67FD3DECA79329A10222D1082DC690CEB5EC59CF4B2CE5B0E34078575B5B9BEF7BDFFBDE1D7575750FF9FCFE3B0CDDF00888D7D23392EE24307B2AC74F77D2F1339D74C7CDD7F333488261673185F53B97CBBDA6A2B26ACD9D77DEFD6737DFBCFD9DF1B1F167DFD8FDF24BDDDDDD2130023C075637E97C8CF0E2AB7BAEBC1720DE8F9EA6E52B57514979C5D5C905CC6103645DAF40A692D212FAE0FD0F48D774E95288CF96BD625BF63FFBD9CFB63534343CC2CC701FFF9D529C2408CF6EAA496853DA21D22026AB747AEB832374A6EB02AD68AAA3AA8A52FAE9F32FD38AE67A6AAAADA282A09F7C6E778651C8629E19A620C5EDF16E6766D8FED9CF3FFAFD4834FCF2D8F0C8D32F3CFBF49BEC3A269811D2B98C00665B0227601E06300C14D291D7EBBB7AB980052E503DE974921920BD280D6013FFE73FFF79EBB265CBBE1808041E66A22FCB89E56713CE92E0BEC1117A7DEF0714610658DDD24415CC84474F9DA30DAB56D0356B565047773FB95D2A8D4D4E89736FDAB44EA8D51995E06082CCB529E0F1F81EACAAAD7BF0AB5FFF77439158F4B9A1FE81275E7EE9F9A36004C4129811B44775C17D225877390125753E3F53963E3E49341DF5020BA8FB705AF9D0F790FC7F7AEAB9EFDE75FB8EC63B6EBF7559FE848EB9EAFCE20F1E3F45EFEC3F4AA54585D4D25847078E9DA2C327CF32D15BC9C5AAEF42FF10AD5EDE44F5351574AAA39B5AEA6BA8ACA48876EFDD4F2B9B1B840AA9A928CDD831B6ED60E43018DF6895C7E3FD465D63E337BEF4B56F9E8846234FF7F4743D79F2C8915EB8E638871141417471CF9E3D97145D9CC70B302198E48F4728589F81D4052DF0ED61ECB14BE74A2493A52FFFE68DEBDEDCBBEFEC171F7ED0BD6AE58A2627024463317AEDADF7E954E7795ABD6219B53637D27B878E09625E7FCD1AD6FD1DD471A18F56B534F2B9093A7CE22C9FD744CD4CFCE1F149A10A0A0B02D47EEE3CD55797D3FB474F53735D2523848B7C1ED78C4A713082D3BE60E458E3F1FABEB3ACA5EDDBB5F5CBDE624F02D15191F93C7FFE3C5483663382334F301F23CCEB05C84A7E45D3D13B4DE7FBC30221109E95EC0A21848F61A95BFB3022ED7482BD669D87EFB195C9FA6C571B59D7C03D1039FE06515D6D35DDB36B571E31D5495B60E19725FD48DE280CFB2A33BB0CFB82757DEB4F9FFEB951565C7CE64B7FF8505D2C910EFC7ACF3B42CFAF6768AF282DA6770F1C1544DF7EFD263A72EA2CF9BDE3B48699E260FB696A3FDBC5CC514F67BB744682612672154D86A6052AD45555503812A3C9E908AB55371D3AD141D5E5259448A5D876A8316BA0B2EC0BCAA808877B89FCCCADACB628E03256DDF699FBFE29118D3D7E70DF6F77F3B124338264198BE2D7F395C3ABF365D76068E55BDA3BA6E8C537BBAF4A2878DBD6EBF23280CE0C60E8C682E01FEE1E12386CF4C908EC28CC010EE3520A47A22BFFDB8FFF213911A3C4EA478A5CCFB87E2CBFDBDB465F6DF95FC8E7F3D2C973DDB4911962F58A663AC2F08F77BCBE6DB940825ED6F70DB51574E26C37F50D8D523D13BEA3A79F42E1081506FC343032CECC504EC1808FA2F138AB0D95F61F3BCB285141F14492AACB8AB35CC719A698653B2061FB3997D7F3B92D37DF36924CA69F4E26E33F7D6FCFEE03CCE09ACD0497E50598AEE06C6C5EBBBC8802BE964B460045325D24D9B46418018C4521407E0D228B08DC42162473D8EF96D8DF96F9452A482367791DFCDC6EB7CB5DEAF7D1DFF6FF1D15AC4DE86F6F7F424E1C99A6AF36FC31C55365A6C1B77A394B7FB3D0F5705D9BEB6AE864C77901ED4DF5D5D475A19F827C8D9282A050058DB595E4F7791809A2CC0C3E1A1A9B6406090A43B277708CCA8B8374E814A34863B5B06910049B51070E7B214745F052C17FFF2BA595551BD893F84FCF3EF9B30F6C26B85839FCC593418A62B07B42D35393C47E70D677CBEB0BA8B5A9E823130A0E87A7F921515CBAF05030EB7E89215FF2FBFD9259FB301367B0EFA3C0C34C956462EEBD496E4B7F5A1F6E6D97BEB9E56EA97EED32DAF1F617E9E80983D6B5B508783FDBDDCBC65F3313B98AFA87466879632D151715084468666600024C86C254565C48BD03C35454584905CC04BD8C12B51565D4C3E745D87EA86204E8EA1B66242822BFB00F66E207E46404B2914132545939142C2A6A5055E5E67878DA0BDB866D1C8399C08E1DE45505F326833CBE00F2DA9448C4C8E3F664C2B2F9093913189232F5FB765047CA848925597614905AC120C98A284A8EEB8B7D3963D0981B1339CC523113327496FA31BEC782A2924595FC225DCB4C80BF6148D20C233A99506195539EAA10D775C901B97F2842AD876E34289092AEA9F15343D92B74E8D81636ECB6512C9EA04E1882EC014C31B13B7B06A8A5A14648FBD8C414553391BB581514050354C144EEEE1B12866094A57F7432245440EFD0182386975635D78AD0B286BC42AE97E0701DD35AAA87DF6B9A69B319C7801A89B4A686422185D14D675567D045AAA1E775035D0C652ED54FB1705820011482205E66108792A786DFB94A399FCD97AC661D9B091367982963C59ABA5D63EB4ED7CD448BA69B9FCD30AC4E40A9D28A4A5254B73867210B2C665C9E1940C73A36D2FF57B5F54D45B2DBB56E26386522DABDE3BBE883C2A3CC0CCCC09A4A8901B7F48789DB69EDDA7FA475EB4FD2B51B7E454FBEF8676CC8EDA0A3A73B454008D27F82ED84E1B1096A62229FEAE811D25E5F5D21186379630D45FC26EC37B15AB830C0D21F6543734583E3D98C2CF8A78CE41B944A26A3E17064D8170834417D81F0F6D888783CE6F27ABD0AA380C6AA4EBF0C37D0649D742A4D2E85DD9502B799DE95959910708611A40CF133D2E31CD193F59D94511136438858BF62218055FA2D598C8B2770E933C112BC10CDE40C1301783B1D0A91EC7623127851C20306716D245A0E1D3A64D4D7D76B535353E983FBF61D3AE43EF8C5EDB7DEF648754DFD37F9A516D9B908B7E4A355A9669A964C3B43A84739C52EDD4D343C52CC84BB47DFB4EE45B9B9E1475455F147F4D26F9AD9F81B133EFFB1331DECE679585DD6B30BD94DCB1AAAA992A11D4CD0DA542BCE1B1E9FA2752B1AC98E38DAAE67BE9C027FAF0FF4F78FBBDCDE2297DBDD0C8697A44C058F899669941C286A24124943C5C1E3B1EB1317C500B8AC9E4E919BA1B9AE65C5552B0B9F652FE4B9DE407F1F1D397A3CF302E75B601C21AC8AA40BBF58E4E613463A1D79EB37BB9F292B2B7B77DBF6DBBE5E59557D97700EF9FA8D5A03E9EC109DD4AA685C1E633460DBC0502899228A6BA7E589C97AA3AEFA1CF3C7492ABEA598CE1DEE27D7541BAD6B6D1141A2C69A4A110BE8E81EA0B6967AC1B43D2CF5AB781FD1C24C1AD961FD3BA11F4CD0DFDF178BC612B2DBEB2947E92B905068414B58D00E01FB69BE31542681F8FC7CD2252300AEA6692996969AAB170A5E6024B2AEBE810E1E3C40FCE00BBD3951ACC9BEB38E8A1D9FCF978846A332EFCB6363637DBF7CEE99BF6A5BBD76F77537DEF88DE2A29236E11530233EAA3D424FC94F9B1E0786BA60C412635447DF3A69622A453F617BE2C8ED7F21C9D7C9D4BFFB5EBAB96B27DB048D74FC0C5BF64D7502EE3B2F0CB0E7D0C8B680DF546956726976F6D014DAB1D131ADBBA747F7787D62A4165C5D1DC4262B2D9ED9379921954A8B77C0284788175CA60A309624EFFC612C292B273F2FE52D3580A8D98E1D3B321C6D490C5EA2C1B68F76EAC4F183A74FB6FFEFB77DEAD377ADDDB8FE51F60A8B61D07E59FA0219BE618AA63CFC768E5BD7545822151A4C8F49F7FCFA3FD0E9F2BDC6DDC907A45343FD542F55D01A360C4F77F5D0CA65F5B4FDBAF542E2859E27A77B478E3437A28F51E3C8E1A3BAC170A9AA2EC5D6F336E6CF30808502BA60A151360E8661D8B20148CCD0971909B443741F8305F1F1851A81362FC0166077096154629D496C3809C3905FA8A8DDE3979E7CF38DDD2F1C38F8FEBB3B77DDFF8565CB967D5A868255EA29E06DE217BE8C55E409B68302BCCF46A2E1223DEAA2FADE6BA523877B69DDF246E3DC853E09C6DF9D376DB10C582D8FA467E979DA7FE0A03E3E15925C2EC61DC9B4EE4DAAEBA60724605FCF3000F83F1A093F79E6E8B1BF89C54283A845644350B4CA59BB76AD61058516890064EADA0F0FEE2F3317A0E1452D2C1B68A1008C239D8D24E40508E5DBCC0442FA9175836A505535C92F3F119A98883FF12FFFE36F57AD59F3FAA7EFDAF9D5CAEAAA35A26E416D22BFAF852A4B518F78237D33799E5C457ED26536CE142F824052799157F7F9037256669172A27B16239C3A7D5A6F3F755A525D6EF019CD58F77AC60596244745146F93C9D8FB03DDE77F3432D87F823F4F31CD527EBF5F63B52618E0BBDFFDEEA5DA007353E5F50F8678EDB3CABBCDD1D799926E91C94A9B9F0DBB998766ED6B26E75AA5E322EC2B4ABF35F139533E6E978D5BD79330DA1BE7F38BD8B4713DFDCD8F7E941701347DE191002713E023AB03C0A611080474480F72F02C494002362D52A8E14B9C387E3C71B2BDFDDB77EFDC75EBCD37DFF2A8DB1D2C53ECF881E2A74DDE0DD6F0783E56630F9557646628E3C891A386EAF1CAD9091F13F38786868D377EFB9691D20C8BF08643B767CC7C0B00CC637A3ADD3F3C3AF8F7833DDD6FA6D3E929BEBF08337182D12C190A85B47038ACAF59B3C6B85838F8E22A0083B495FC0C108EA66870347655720195E5657322403ABDB8360033E555A64DC0680026D0611C161515891B60E2A7E129A451704084CADEF82BBFFEE52B6FBDFDDB035FF8C2171FDAB871E3A7F9982BABB2C9E1ADC0E361D522DD76DBAD527FFF80D17EF214A3838AF82CC56251FAE5AF5FD187C62664050D3850FB28E98E7E07FA8CCEB75D63438B85C6C79E1BE83EF71CDFD718AF2126FE347F1F65D48A336AA5D8A04DB38BABDBEEDF2585824529B7EA62C19BAD5777DE52473BB7379891C14C59B8E5CBE77503A56C97D12E139B150A96E609059B41A4B972F626722C7EB15E90E1A815806D80913C88A669FC77D3FC92D38002D805FC9213E1A9A9F88FFFEEFFFD07D6B17B1EFEC32F7CA9A9A97943D6F3E5E416F05CCD4D4DD28AE5EC1A1E39AAFFF3E34F19FB0E1E4685B94844A1FF819403F394F1EFC5564F4423EF8C0FF6FC34198FF782F07C2F203C243F06E2A3D218A11B665E51547A79C9205931BC5E3F4D4F8C93D717C8B2074CC24B1F895C006877F8D0414AA661045E5E0308DB43B02447A80588A1DBEDD6F91E34188618E4C1865A924F4D227E70F2E4C9F8637FF1ED1FDCB36BD7365EFFB0B8B8B43213C370D4503A19E1FAEBAE95FFEC3BFF39CD2A4B22D2F3BA7336F44B3A2B422D752E323EF2CF91A98976FEBB53FC77A799F861267A94EF25CE7C9960FB25C544C7E013CDAE1F9CAF26409DCF0470F9BC0209C68706C4B85B3523A1769857B50A47244770C72CF336A3866495749B2821C93694C962049F94F94BB6259C5D3265C0B01331505D44F934C3CEFBEB42E4B14DA6CC8088D75FC0DF5F7E27987C6A0189151855500F6004B611601F64D00044F8C58B2FEE796DF7EEA3DFF8E637EFBDE1C69BEE66A671CB39C5AC3613081D6E18BAAEEBB3DC39B3458AE9EEE9863E118F4E3E1D9D1C7D838F4EF1F7D37C7BD3CC8480FB18743E069BA0B47C6A6A4AA82C26BE6133F065158488C02760DAED315D97744A9485CB8E913F666790DC12EE995E3E92DDC787EC7E3EB63E9BC95118566ACB4E6680E43082D0560604D6C5563319C0FA0C7FDFFE0C0673FB03223CACA597AE15D0C5D0002F1A8C0038C0200F1B0D58F7C6FEFAAFFEEA7FAE78E9A5BD7FF2EFFED74756AD59BD292BC9640989B8BE6668C2D873B873F6A0633E96D212F1D7E2D363CFF2CB1F05F121F5FCE7D00D4DE87AFE5BF0503252BF69D3265BEA175C1636AF0D6068690A87264452C8EDF559FA5EB2DAC298102DB27B429FCF0CF392C4A0103533744C308C2467868E4916F3CC0C0F339B3D896B90F91DE20F88B349765B185110A058F50556B650B841493A7ABC9D42D1303381464BB95C0C0DC6C7C7856DC00820BC05A0019F0A894C749E3D1BFFD33FFDF7FFCFAE5DF76DFED297FED5E7ABAAABAAED77E3902F20884FB260DE5603FCCE0F27A3A1278C34FB9426E1432C8061483D6F63401C18A3CC8828128515AD1F3870C0E075D1AD71E74100D4DC27C8E3F6516169D9473A17B0B26D15FDED4F7E42A964FA8A44ADF2A10112337019B1D806A2153710B103780B2FBEF8FC3BAFBCF2EB13DFFAD6B7EEFACCCE9D77BB5CAAD7C10129D3CFB77D2EA38F9289A7E474E29004B8976561E4F11AE13F1F6382C7715DFC1D364E91E9D3D8CDD3170AF78B660074DB48A792E40B147EE473015E9F4FC4EA1752166E8F09B0DFD7638F3D36E7B9DFF9CE7768F6889C6C34404EC142038CF113DE02332DD4428209C6421A8FFDF0873F7C8609B5F7CFFFFCCF3FB761C386EB2553DC93962A08CB46E2176A2AF91B48BC6DDDF3F530A034CAFB31C420C05C401CF8F896D40BC9BF9C6613F31A811FA79E6A696BD4CEC51E89892D2132C69223F66B6A6AB2387A6C6C4C2A2B2B138FCDDF195FFFFAD709E7B7B7B71B601430842D1FF9D0004C6005905288C859F6011821C6CC12FEDAD7BEF637F7DF7FFFAA3FFAA33FFA57C29332F457BD94784ED6688C1922CCD78980F0CC4042EA59D8E330F29889527C5FE9E1E161DD92FA25E9843EAF116856DD7C3C720190FE397201526969A9D4D6D60682CB309C311E00C70706064419221B55080583F8228182A4D0C4C484B17CF97223168BE9ECEBEBFC5B01B7CC10B9E15563EBD6AD7A7777B7E80AC2922A6C04261ED353D889227804286786F03DFBECB313CF3FFFFC81F2F2AA123F2546C124400A308925EDC2B5038AB0B781EF84D4E33E9642EA17C10073D37E783C4EA353095121641A7C64167ACAE6BEE9254876B32161B8C9966F2B7A4EC852A68054B6F6ED63665998798E621785CAE6319C5B5A52429B376FCE130A4689549617200A3FD1DEB6AEAE4E6E686800C1512AA532911526948282500CF404F1711E32824C3074F630104AE57334E406100DE4DFA6D9D7D69811B4A79E7ACA6026321819D00748E2F3C064C47F032802DC4F332210BB66B00FEC50729CFF0EFA1A8BAEEBA3A34383E820C2F78048239824C1F79B60F44858529F66D522823A97ABEB2F9901E6FA53FB8E8D5ED5B2F0677EFE4C1E04C8CE06A22D2DBF74947F2B4C34374BB7C4845098F8E821E86642BB9821053130C40AC487C10997175137101EC401F1E0E2415231566F707010C916DCB871CB2DB748172E5C40FC5E418B1830426565A51849CD08A217161662A4AFCE8C83E2932433058236E83380224DC96E2103294770C98A2DA450CE858414C2B9B03720F54B01F98B6680B95A9135D70668C7B53566BD004AB6C5000F735F16235974B3CDAB886E5925DEB9E79231F37B69665F26DD0A7F671FB77FB7BC65597E15E08803A04E0E711836D0D4EAEA6A3718805F3ED3D4E56642A2C419AB97CFF3D53534AE9715B5C83074D1F516C6AF9D9FD7D2A989D0D4E4A158243CC8EF5EE866263EFCF0A4455839180C8AB91478ABA24B18E8047BA0BCBC5C67461085A708202121C4BEBB86FBE22D882F2241252525B80E10030CA7B12AD1F85ADA9592FA851B81FCD65168994CC48495ED5C36B496D035ABCA2ED90D5CEAB27096220A85A3C2B207F199D0324BA4C2C4F7B044AA2C512A1FF3F377E08292FAC6A66D8545C537BA3DDE4DFCF3801960D2ACE2532BF86415A2060A8B5017D9178E84BBA291D07F4D84C3EF01CAA11ED01F88CCCEA4FE548A8AE0AAF1DFC818838811F0318DB73A131DA8026283114440895504D2CF69561F3AF43C7EF7F0C30F6BAFBDF69A601E3616E9C73FFE315DA9092FE645008F3F40A189119A1C1BC67876335023CD047BEC3E40AA15D09132A5DEE6796690479ED9DA811FC9EAF861957DCB8EEE1FB215E4219BA9CC5620A64D619F239B0356F0BB443C417BDFDB4710FE34C300338DCC7A5965C9F232FCC3B0C3679FCFEF2FD9BCE5BAAF0682059F6229F7CE1079FEE8212BE6BA503852C7DAE2667741E9512D1AFD0ADB69E3E811C4F75F1025EFAE94A27E5742B763C318935DDE0E89B4FD6E35B547D2927DB00358C291514CF3BD688C0E80FA74717131880E3480FB28D08291826EB8E106090802E9677B83606F383C58FAD08C404865C01FA471668044346286716DA34D323B76D8BD19659A495BCE8E171834531041992A1811F2C531D4B9593900110E36CC70B09046EB58DE55334439B8BFB098548F1F9E00A01F2366DD2C55015E7DBCEF69686C6A5DBFF19A3F555557831D5A5EE81263828C4D4C38EB0E36A841FFD3E9C9D883FCAC5E5D525792E2FD73C5CC5FB87853CD585E6D18F24D4949FDF7FC1D7AA38F93A47591A21F74798C37BC52AA03553CB02D18BDD2701959ADA42CE3117647DA2EA4406A9A0D4BB8A4BAE57DE87061ED18C5158B0398410A9D92A80C767BC9C3ABD0CD769CDF2AE19E61063BDEEFCC6649568DBF230F6090990832A41C57C3C8C41EA45906A83113934045B8E35CB6CBE86CE7790C92106D09D1B28D2D673F135F815EBEE1A69B6F6F6A5EF6289FEBD1B5C5E50A302874646C7C76CC21AD2DE7E7A9E277EFD63C45DF51D058DBCE69640DE5129FE06D5418B25AC1DBEB9386F18D04DF8AA16B9346523F2FC9C1836EC5784349D309A8101883F002F8FAF023D3A3A3A36946318D66E63D10C8C04C80913F99F8C4A530C3BC0C801141A94492CA6BEA3F92A160C96A25D7D3D3433FFCEB1F413AD1E6C5CBF05FC04C1078E0C1CF7DBEB2AAFA56DD4A2C2D8AF82CF9436218F65CEF5429337CC1CFB13FB95C71105C332CE6CC6A1F438EBA3FF19DCCBAAA94F7793536A70CE36B2986412D2D8FEB5AEAB822192F16ABEA6E559513AC32E081A4AC55A003D408A3850E2FC14204C426163D33CAC543C1862E25F825F8831FCD50B018374F66FA985F0415057D343E4A68F5E2E7557DF0A1876FABA9ADBD55D3169F21C430AF81A1E139FB0D30AAE9BAC7B3C1E50DDCEF546BD87F3615A10B7A8A9A24959A64951AD9DE29B3D3DC598C4139E3FDE016AA6506796EE5CFB74EF28DA76389417645DEF3B9E889228F72D44A022511580010B18D934201281B8C69780E768DE342D1609E5C00896AA08F7A20D06937F03B87FE2FB8EFFECFAE6D5DD9F6078BAC1216CB2843FEE8F8F845CF61F409C9C1D2AF43EF3907709C6335D4AE2745F0EAA491A6D39426F68829C02FB1816FAE8199A18E142A37E41994C8650AAB1642656873BB5CB5FCF901FEFCC0482A954C2562E78D74E2F5E280E7F1804BEEB7CAD4124C7CD81249361653CC04DA927408B173F41F650E302C23915F84DD934FB97BE7CEF5D76FDBF60797621B85D9D01D1C1916ADEA2E1A1D73B90BD92B929DE3F7D27CF897F18999192AC4F077730809F2B79DCC105DBCCAC26F94A88E99A196D5185A43545853E464F723CA660C663A371B8A2B797F25BB10DF188AC5C2C944BCDDD0D32FD4177B9F62B777925503BDF5D65BF01AD2AC12A4CB2C08D1E9439D654D5A9CD4E39FF0DF354DD404E0586BEB8AE0CE7B767DCA9CBA6871F71E4F24E8FCF99E0CF1F1FBA191112A2B2D154D1C2CB528BC0E9FBF40CEED01F8763444239A393D8E087393D9FF80464748631B456E594E4A4989380E5CEA3134EA13D5D44972F3C3573333881508C1ABE2A81C9E610C5BD56016B682A03F10DCCA9FB64EA5D3DF8F4622439191D1FFBCB1B9F1EF11A0A2054C9475510680CD04AB39DF6B7CE5DD7E7A656F9FD9D11B215AB2C3B696910A4EB74BBDAD8EE0B291B63E6B5607712BCCEBF89D9409055B65E3524E9858D2E9DACD9BE8C73FF9B15925C4E7B0121481A0F2B272DA79CF3D15F0AB17ABF7E349F624CE75655AE2F4F50FD2FE4387692A344D0F3D70AF6000104065E21795556659FBD89F6404DA1D9F16155392E5122B96C723575691363E49FAB973246FDA44A963C7C8BF798B78669B5160CD0CF1E711F41AA494204C3933432513BA92B765E8DA9A354C3CDBC8445713B60DAAA3D3E37732F1FF092FF562E301168800C69CE6648AF12E96485F2417A0E5C9056899F3E4AC5C803E7F2E80CCF3145EA3D1A81503D045FA37CEC40703ECDCB91363FE257D91D63ED0E31C131F08C4D615BDBFFF10759EEFCE5233780F1EAF874A4A2ACD59D07260FAA5D028A50CAB438AE140000C693F7C885C75F5E46A5B49F1BD7BCD8018334CE8572F91E2F551D1F65B499F9820B5AACAF4862CF531C1CC30C5CF7B8E9F5FE16B16B39B5D0166E033CAC99CC1CDD9582A1A0E017184938DECE7F83C76CCFC0C2049066E365F91C53DB7D4D1BD3B1A3ED45070A66C4C96CCD1B4A934255872113993307CDDA72EDAD54BA69274BAA343A0C9F474987A7AFBC9EFF3515BEB72668C94B8762A9DA2EA6005050B8A4976B92D776EE6C59F8947E9402C2CB47886F8821198284F3D49BEEBB7919B891BDDBD1B79677EEB0AC50F1E20576191288DD3C7C62879E10285F7BD4BD5F7DE4FF1BE5E72171692ABA4CCCC969AA3E0699AFF6E8405E2020BC81DAA8F5C42C1180E0698C2BB41F65206F1DBDBDBE77509E7350215978726C74699FB7D2C5D9E0F53CDCFB9D8032B91B38FC6A262C652848A176BF1B34D4DA7CF7560342D8598F8181B585D55415E9674AFC78BBA00739F579FCF4FAADB47B92E9FD9C24DA69B9839CE3223401528B6F4F3B6E80B8F923E3040A993272978E38DA4060B28FAFE3EC00E15DF7C0B450EECA758FB715299E97CB5B5143B7B863CE5E5143D7D8AA4FA0692748382CDCD963169AA9432564741973B4B05E8A25F828630BA66CD5C22A347D065750963902515C5A0BE000DF4749B15B8E6AC1C44343342D549599146238932839B8D193FD72C61D1456307DDA1C3EC70AF617662147A1D826C3643C4796657105BEA24C30E534BF4E0671FA43686D6C5EA7C48F589B367998992A2072098A1B0A040CC45603200B65EB1F5F8D025DD2370D9C8A387D71514D23A262CBE1B4925E80C33E5396686CE788C22FC0CAEFA7A52580588D1D67C526005AB823367287AE82079D93E483303176DD840D3478F526A68884AD7ADA7F13D7BA8B0A1910A5A965936056526E66C60A1C4E01867C4311A0D0BD4846CA8C840A5D3A2E885ED008D2EB5450C089581544898664EE1225DA41DAF41B9E150C3B4E710F7B7DBB819E6BEF9D96C74603862FE2241638F0310DF69A45B8C607AA566F4EFF6DB6FA7D5AB57D162753EAE79E2F45911424E2493E2EF1415156411DDC908490B6D80342E972ADE456EDB369B31AA151F55315ADE6C949A5E045F1F8CD0158F5077324E097E10A8834075B51922671513E135CA08E163C997CACA68FC9DB7C9CFE7143636996A90AC6E6B96B835303AA924650592A6C647CDF884B837C3CD760D862508A223388489AC6014E6A2813A5F3108E031169AA282A222BE41BF5595E318D625295686D03963889529B4B28192330B28CFCC1292192F60959A67C61020DBA890F51B79268FC00C9082E1C72F951D626A686A5E34F1B19C619D1F8DC604A3E16F14B1BE9D91FA6CE977B95D74DDA68DC21E4042686C6C9CC627A784BD1065F4408614AA11E7390339B69D50C70F52CBD7BA894AC4BD0EB2CDD2CD0C7181B77D8938A519FABDEC19C816910D6634D7AAD51439DF05BF945C8C4AA2BE42323D8B227E6F452E570E0312251871C050A313533B8E9F3EF7C7A5A5C1E7B6AE5B7B26140A25101CEAEFEF1745AC7651ABCD08F3AA80241B3745EC079794965F955C805D46668E02322511567B5151F12515AC5EE8EDA3B1F109714DB876B68E37A5DE9BC508B8A7B5ABDBA8201814BF2D2B2D215ADE9255848A6B8D8C8E8A84D1E46488A69831705F814050A8CFACE81E3F4F03FFCD7AB6276EB4F4F680C5083D89180DB107A2FB14E13E96A0258F65009ABD121DD22FE21433F09FE0DFDB4DB518D16A2643D3FF9199F43FF6F58D451EBC4BF43E8ED7D6D6A6D6AD5B875031DCC34CDBB88B3380664878D95ECF87DF2D3CA33EC0AD56EA37C92F0B0C00E28339166BF18FB30477F7F68A412E18CD842EE868E0E4C923FD2827ABADAEA2D292E2396224EC9E7576091B62E3BA3559DF4D304274755FA09EBE7E668C09815A858505EC5D046675FE6A6041A8E7FBB89E1102CF33C4CF38C0EF7C80D5C5582A9979DB7644B1D1EB2717F4BFC30619E81BC92036D0C9FECDB6ADD706CEF40C3ED65A5FFD433811EC3E27AC390D5187A8CF8F00A25B459AAEC622395E341800B90FB864056C70B94437B0C559FC30F4A0F75DACC7FD3EAF68F72A0C3C5E7D5E87C5CF5B37C339D0A0AEA67ACEEB411D2070545B5335EB3B20C69A552B69F3C6F5E27328344DE7BACE53D7F90B22BB8841AC258CAA85FC2CCE6171604A1B21446899BF18668607538CE2F9F9992BF81E737306E313A6FE1FE66B87C311B15FC71E85C7ADD27832FDCDF6AE9E6F32AA461841F73145BFBDAABE76FFC30F3F2CBA86CC1F0AD6AF4E2EC0B00230D813FE3EC31C241695B68B957C40F5B1F653A22153794990826CB1CFD6F9A60A60C389A5768C962F6B9EF37A0383438C247D74C76DDBC5EF9CCBF90B3D74F0C83166301FDDFD07B78963907E3083CD10D34CA413A74ED3B1936758674FB06A29A7F2F232DB0A9889FDC3E2679550EFF359FD12F3E40860A8B34783C218A837480E0CD56DD76DA29EFE41D1A0428CA54CA7036CF37CAAB8A8601323413DEA10E7550186D30BC859FA86A3D43F1AB34AB966FAFBDA9FED322FB32CDC0A8EC894E9F76BEB35D9EE129EB98E94E9202E14A0E51A565694D1ADB76EBFA4DC443BBF6C247960ECA1EEDF49F05C46006C03DACF9CED60555328D4405D6D0D55575688A0148CE2D3E73A69626A4A1887B94B3D9F0B15535355393BD11489505FFF00353736D2D66B378B1591C7E3274ED1C1A3C768606884554E29D5E01A56E879766F6072740C657533312E0CD9EEBE5E766D4D54DCBA65B3886B08A35C358363A04761810FE89752A4B4CAF640FAB1C71ED3D5B984CFA2BF59B295E7A40327C7AF485938720AB25811779718C6647EF9E5F4F84FFFDEB65E1745FC8EF3DD343C324AA8046FACAF65B8F7CD967E4BEF8F8D8F8BF3676C86491A65343874F4B8B039AA99A80D75B5B461EDEA59B6017207C7E0CAF1756EBDE986D97107669CF70F1CA6FE8141561B356456A693682A0D4373E3FAB5E2F34956531F1C38449D3D3DCCB025A2025AB599811C96BFE5025EE8E9A64824CAF03F2610A4B2A25C08CBD8F8A460220D55D90810C11B619536159A928381A0DCD5D525F5F6F64AEAC510982158D80AF914406B43017DE6E606B3D45BB6CBB9ADAEDE6496830BCB557294804B33DF2B8EF33225E0B2993D33DBD36999E38F3C74BF80C8C5067B609D9FEB3C2FF65B9A9AA8985DD9B9A41F2FF1C8F193F9CD5BD17C33CD2FBB571877884206037E66A87A6A6AACA7E68606265601336A25B5CE51B21E63D76FEBB59B28E068BA0D4242F281361BD8905CBBAA8DD6AD36577C77FCE429DAFDC65B8C36215ABD6A15DADB66A9639C33C95EC879403F89E6DE74E3B6EB29321D3189AF5B4D273449DC1F5443783AF26C79C0835952C000B36C002367E55F2B140E4DCDEA16BEBAA588D6B6962C592E40CEB4A637DF388CCF241B40D0A5B50C898BF5F7619D1F3EDE2E5E528D05E359011E87EB07E2BE77E060F6DF90E6F678206980D8A3ED27043AE06F54313AB43435B0158ECEEABEACA9768E9D3849070F1FA395ADCBE986EBB638CBEE69556B2B5596970B64C929C9A7F56B56534B73938841BCF2FA1EDAF7DE3EAAAF6FA0FABABA0C03401545A371F1F91A4611B4CB37CBE6156BC8B9265006EA6C626222D45051F45FD8A036508EEEF40266139E44330E4D62ABB9B7AF4F3433C2D800D951B62D65023BB2357C4BCECC3364077924E7D87FC91C2266168A2AA6C4CBE6F8437C6758CDB044353033008CBE3BEEBCF3928C48BC74C02EACFD6BD6AE61E3D16F59FADE0C1378D8E003F1DF79EF03F69F5397E5B242B7F7B044BDF1DB774450A8A5A99156301AB42E6F11845CD5BA42D8063345A56966A0930251EEB9EB8EBC5E0BEEABFB422F7DF1F30FD2239FBD8F3EFFC0BDF4DEFE83F4C6DBEFF2BB52184D7C6CB30C0850282D2EA22646A2543221548628CA45A08BDF2FBC12335914F98BC2D202A173972D5B66300ACC3202ED9E6F58F14652A2EA4E51A9B7BF9F34F64D7523339749A6D05127232B2D69867ACDE209BBDBB7A1CFCCAD2742BE9A63DFB2F6C531A132C4640DF45F7EF043F1308B4DF2F4B19E1D1C1E16FBD75E738D184B684BBDC742019B701F1C3CCCD23C7D49910D9129CDD3960E21E6E3274FB34A39219E0D05252B57B450DB8AE5CC10CB84A72159ADF091750423E62EB8C74DEBD7D14DD75F97B95FFC661B2308D6B31D5DF4B53FFEDF843A02A26EE3F3C00898B19544199F29FDA85F00E30D0C0D9DA92C0EBCCEC751648A1E883A2A899D08A05B5B9BF8A212553430E08B048ACA1CB5FD342B25EACC4A1916C167EAF92D6267DABDE48EBEB1C60158C527B019BEF8F987A875C58A4B48EFA684F4638105DFDAD29CA5F3B3BD833334343C326F902B5FABDC4D1BD6512DC3FEC9D3A769747C8A064746E7BC27F8E760C837DEDA2BD07159738380FEB5AB56329CD7CE0E559FEB10310B7812F014F22D4F3DF762666CC3AA95AD6216924C03494BF783315C1E17D4A1EE53E53FE353232839472F219142E773D55CD8B72A2F50C2169514399E194061E4247BF254A5987EA99E35C043C0B961257BAC811E330CA0CD248274D3A78591B876CD2A7AF0FE5D97D49CE0284B1DF4BFAD13ED38BF9413CB80CFEC2CFA58548093CF1B1B1FA37DEFEEA3C2E2120A85C3E2A755EC2A6ED9B8818DBAB3D43B382CBC88DCCB222671FAAC49E0675E7849C435D6B4B5B2E1B78AD6AF5D253292355555E2BD2C6FCE1F8B787BDFFBF4EA1B6F0AC62C2808B2A02C6364F392D93ADE34FA64967EDD4A238D8E8EBC5259E8EF822D8A318D18BD1C0C06B3E2008643FA933603280AC6A95BC060386BF1B21311B3096F6446F6648DF0C987008E6C9F64253DBEFCE82326BC2ED2EA47252FFC78117CE11709DDABE4E92938CE96337CEFB9CACEF336C7CE3904DD1B8A4629C16A0B317F7C0DC8BED0DD4DEDC78F5379F58C6403829BD805839D80D9439C0BD4CFDEF7F7D35BEFBE27DE1D8C41DC37C2CBF906E6A244EDAFFFDB7FB7549044D76DBE866D81804016CD32FAB09FD6C4542A140A8562D5C5C1EF230C811E044C7C0C3211238CF2A980B405FF302BC3B2AAC6CCFEFB46F63466F9243F0FF16DDDAF6772FC0E06D01C0C60CC483FE613BEC0440CF18B5AC330E9F12EBC08E558FBC92C88CE477C185707D8F55A483C215F0014888278C2D0D028AB2FC36A506D3ECF2BBF79838606FAC5EC258816C223629F9BFEED571EA5C3478E90918A53BFF020A6F3F217040891C48EAE6E7AF617BF126E1B42CA602C4411E1C9FCCDDFFD8426A7CC78FF32F610CAD8BE41EC410C69B7023E68258FD15C78C2E8F4F48FFC4501B49D01E7253176C0592CAADAFD721D4C603380F4DE9ED75E381E287A875DB202FE034126AC8F4FF760DE633E5DB16B1474F37AD21CD1E4993C7CCE01610819928C56E85EBFCF5D10F4078BD09F35A53D7CEAF459FF91A3EDB49C75F8268672EF3C8C00E91AB32057E8FF3C717C58DE078E1C15DB4B5960906EBF712B1D387890CE9E3945C5651582A1B080081114A656550BBB06526FF6304CD2134F3E4DC78E1FA3652BDA281C8D2EAA4A79FFA1236CF91F124C56C296FEB0656B209FB16AE5722A455654B2665ED34DE98F24CD51D2232323BD6585FEE731ACDDA2691A43CE1F7EF8E159E960A70AC8103312898CF38A27F4592B8641BBACDF658A542ED57D42F52EBF54A0BDDBAD06FC15E5E5555FF9B75FDF35393DEDD7AC526FBC8077D91DDAB07E8DD0AF41D699F9C6061C35B35C99A5A2AC7496AB06B72B66F9CC97B280715E637FFCDD77F70A624EB12423E0F2D95D9F61D83F467855C313532CA1A1CC4B840FDF3F324685E555AC8BC72E32CC6CFE05A9675B70D0301BDE85DBE3162824026FAC02927A4A14B9A4D22943D1D3FF972CBBD1702A8641233E9F4FC328636751889A1304B2C533E9F89CB45502229722C260AE4EE25F1213A02B873592D75B5C5C5CF8A57FFDD53B8A8BCB5A4A8A0A6822141206130CAC383FD09EB7DEA55FBDFA1B114943046E595383F0B18B8B0AA9837DE9692B0B664A876F16A39C3DD79931CA2EAD5ED1FC36C6045D7FCDE64C9E046AEBD0C14374E4E85131C39A614DB409C6B869DB752298D5C9F7D7D9DDC3DF49667465BEBF295DCC16914496B2A2AC5CC0BF09FDA6D1A7B1DE1F8F98CFC8D2FF4E45D077C2A25B1C7D0C31450EA4DFD1E8CA6400BB075E0E683B5542D221F54A26457D790502125BA418C9EBC658BE929212C5EBF36A631363343834486E975BC4DC910646260FC59B80D6C1A11161BDFFEAD598805FE8E4FB767E3A735140F143F7EF9A1517C07AA94B390A624A8A583FF78AD62F2227611526E29ECEF70F92AFA084EF3549B6D501DD3DC8F6404747279555568AE8DC45A39917C9B83ABF42CC60357B0D0D6C87D8011F19B614A03F1A16D21F8E4492255EF75F22F18826D268208DDE46A8089AAF24CC703081CD00B2651CDA129FBB5ED282C91A21FD2CF9EECACA4AC4A653AA8C962969610C41F261196BA9345DBBE51ADA71CB8DB46FFF417A9B8F4DF377A22C9C5758FD46C6402BA0473E7BBF59B9632D309890DD5B80619FF7206209EB99119F7BEE7951D8E1F1CE84C411D089C763E6C00CD1CDD46DA102D189536758DD844D14EBEECDEFD14A8B864C5AB7B64DE41C0A8201F10E4CEBDF34BA2726CD7100A189897F2CF6BBC7F96B58FEF0E8D2E878962F99A63A7464A65ECCC10C56C37AD2E780FBCB620074EA424B73560129E827D12FC276112DAF21CDFAEDB77BDF1355BB2B19F21FFB3FFE03A25A6C71EFA1DD7B7E4B306E019508AA7CFA53B765A2666602262EB26B0B50457352077AF7F95FBC444986EE7822452E8F46417EF93BEFB89D0EB27D82D87F1FFBFCB975B298BF4856DDA4C87671AB96F5C2F2CFC374F1635515E5BC565053439D302504F185DFAFD1C0C490E89036363E3E52E8551F47A349BC026612510F88AE66F92A83D53C71EDCC8992E4E8DCB0903B5CC4C2EE081800192E31AC19BD735E7DE5D72FDFB47D47414945D96D8383C3C509DDD925441711BE03AC6BDDAA4BA45CBFF2858785A4353735B2EFBC6A96C176F2D4D9B9A7915BE05DC38A87D4CB4A8A7C6C57A012C9C3EAE985175FA243870F5343530B91359C0C29621867D3E1693A74A49D7DF6D06555433917B884AB56AE10E164B7353FA2EDF7636C04EC1B315E221AFD9EEE96316D4C042D6BD1CD8C577DAE54FA3C55C1995FE432C4652F77DE79A784797ACACBCB710FA20D1B3876DF3B6FA15DEA51B609EA56ADDDB0633A1A6B1E181E519DA8301D89D0B32FFD9A9E7CEE45E11EDEC5920F1709C691FDA06758F762BCDF828DAB798E89F671960E4739D8E8C808155754893C88CBAA4FBCFEDA4DD471F61CFBFC87A9A2A67E492BA4DA98F88810227328205FD232E5F9DDBDFD96E1377AD8E7920EC2ED630680EE87FD2662FEBC5ECAC4917332C4922CE87983F668E88F834005263CB2DC4D997596F6EEDB6FFE1CAEE78A956DEB3CC1F2CD3D7D8325985E3D933BC0D83996B27F79EA19FA879F3E2E2CFFFB76DE459BAF59CFD677F292010AC406C2E04577759FA78ECEEE59C36C4BCBCA1C1DC54C94D9BBEF03EAEA38C70C1A254DF18A1A3F5A00E4CF678B00592AD9EA47B818255EB6D1876C5F171BC4313136329E76E989BFE49B0FA1A53C7A1BF25643D4EF6285342A5DA5053705AB14B5693054C0B50C611396B1693344216F03674F9F7A1FA8E0F5FB8B562C5B7ED3F854B8E5426F9F2BAB59143F20F4F5FFF78FFF4C9FBFFF5EAAAAAAA04AD697019F6FD1F78694F1D98E0E7AF9955768D9F2564168BC78C0AFD783F4F800F50F0DCFFA1D6A048ACB2BA9B0D49C1A2E63F52FD06ACA87AF60C6D6D615B46E4D1B0502BE8C3D81F73731394ABDECDD988521633F75933184B6F27CFF70FB52E8309A6F30C84782017053686ED4DEDE8EC689500170E445BB34F4C487FF8AA951785B0093016B8CE1E24CFBB15FF0716F734D5DABE4F65D7BAEABBBCC46055B45E0252321741ED53B88A0B1AB585E5E2A6A15164289483422BC87EABA0651C983702E3C0C620FE5E4C90EEABE70815DBBAA0CC1107740E46FD4D14C6AC1DA729ED396373752154BFFCAE5CBCDE49928F1C2ECA0713A7EF28C55BA36D1EB32528FEBE6E451114C2481F67374B9FD01AEF402EEC4FCF6A5A5A568A78A19300C87F4C38A0DF036C844050314609FBFC3EA1F1AE8434CF554B15B0DB6AC6DDB36303ABEE25CE7798F2D7533E9668D864646D9521F1286545D4D0D13D437AFF421955A525C9C691E895AFF8EAE0E9A189FA4404161265175EDA68DD4505743EFECDD4BB53595EC960E2EDAD59CEBCBC2C2A02885BB61EB1647899726B27D308831329A055DD3A2A1BF900C639255E9344B7E1C6DE76EBCF1C6AC90EF479201EC001446B1DA7187C2C242F43F4AB0FEC2CC18982CC18FD6AE203C18811F120C60A3829FCF8D0CF576BFCAB2FDE6356D2DCD4952AE75B9DC95F97A0AA2AFC0C93367484B6B22D75E59592E2A95164AB0E2A252F65A8A852760A7B121F5BF796D37192862F1F917657348F3149BAC686916DE4DA5B037B4CCAC229DE7BB44032B11E7181B7D921FAE9BEF2764E6BA6229D84FB921DF8F24033899C01AC56A8C8D8D69838383E89A898ED92E7EF02812507C4EC86206C4780B2C2408A24B27B6608648681221EBEEE282C083B144B252CB493F3BD3D0A8EB478816D5B928A5425E7DE1649A3986EC5DB0B88CE289B8E929684B336711D2C240A06DA220C42EF4D04580ECF0B16326F12727FB8D64F4097E479356C83781269368526DA77B3FF20CE060028C55036C61AE5BFDBDF7DED31A1A1AF030E8992F5C44F4DBE73564D906A0580068809599050623FAD915ECFEF54B8FD7D5D5D5B7AE5E77239BC2D50C9352A638C58AE1DB0C811CC2E163ED42C28A8B0BA8B1B69E0241FFA20D5AE19BEBFA9C528D733EB5FD162A08FA442592ADBFF33118FBED545E564A9FBAF516F260C22ECBE8C3A45D6FBFFBBE882E62FAC2C8E4D85F329C4D604E21BC1F4C1B87FEC573057D3EB20CE07431315CC99A94016DD2E58A8A0A942FA5311D2A381C63DF59CF611A95B0E53206A016F87311BFA462BE4C31A2C23D3D3DC9DEDEDE41268C6FDDC64DD7F9038195E393939E395BCEF23A3C324E0383C3620411EAEB9BEAEB44C5CE522C88DE1DDCBF8F9E79FA19FA4FDFFE8E885F6084723EE84709FBEA95ADB46259B34014BBC40B95CB6356DB9789F1B16798F85DFCCC93FC3ED0C15C483FA3A7B198F1131F1906C813921661686BBA163171039A2BA3FB05225C984A8591018C803A37CCAD03AF010811618980DA280232B071E93FF8C17B6FF2FEBEA69696A6F2AABA6B2743D3A54832E5670433F288FA82EE9E5E61ECD5D65553737DBDC8C12F228793B540E5D45655D1CDB77D8A3E387058246DF25D0465654146A03B6FBBD54AF698BABFAFBF47201596E9E9D040727AF2097EA649CC21C8CF2BA4FFCC9933101A6309670DBBFA8C60C3273E433DA0EF3EA66371AA07CB6D84E720B656F50B18A2C87223A12AFCE73B3AE2DD9D9D5D3E9F3FD8DCDAB62DA9E94DE31393EAC55001F0DBD57541349102F48240CD8DF554182C20459D27D093338803892B973760CE6B94E774E4312AD85D45E20B65EC8240CC0409468A975FDF630E184DA7F5D0E8F0F7791F319329FE3E8A994630BDED8E1D3BC0008B7ACF1F5906984B3D90391D7A967AB052D6E8B69DC45C3B60000496201D96912856CB9BF04722E1F88923075F4542AFBEB965955A105C373A3659A4EBA92C14C8B7F6F6F69BF105AB54AE910D488C072C62D7509AA33C66212001266F6095033775F386F559DFBDF2FA1B9951BF93E363CFB1A3D7C5520FE917757EC8F5DB68B9E4CDA23F0EEA01FB56F3644CCE809EFCF006F0C6420E4FA1C01954B23C0A5F4F57C761FE7C42C53CF095355B929AD1343A0E5BE1222DEA1DB3979E3E738EDA4F9E160C01431065E835D5D5A270C59E0574214B79A93976E1EE3B6ECF3A8EB105A7F86F600987C3835323834F32F127F8EFC12B8AF273A76A6B6B752BD6BFB4F3067E4C180188A041F73537378BD93CD918C2546D0209602C324CDA8C10743202C2CC967AF0A51289F860CF790C9C70F9BDFED24045D9A6702C5E37323AE69ACB4E70AE2273C87A1D163E565BAAC10888E5A34A1961699470E516AB62E816023E5BB76CA2CAF2B2CCF189C949DAFDC69B621FD3D24D0CF7A3D1C3383338E61016D93E86FE746565A57E2903673FB60C30172220B7505D5DAD031231DB5671717192A50653B8000DC28E3882CD08014B35081B0188C0E77863D1703C1E8BA0FA52AD292EAA52BC818DE3A1E9EAE1915145CBC30473BD781CC79070ACF91634BA40887987359AF857BB5F1759CCEB375F234AC35FF8D52B62A08B19F019FB453C1281D53F6147FC3097E0A542FFEF0403E46104049430955B861158DA30BA49CCEE8D383910017104CC1DC4FB3633046D44B0ED04D86408404D4F4DC4A5D0643FCBACDA5A575517376835DB0B95C363E36EFD22FD1316B2A0C52D0A453128166313CF32F131B0E5674F3D2B3C8EED166344A391E1D1819E27F8DEC601FD30FC50E685221A867FC3F2FBE9F796012EC60896D720E6E8999E9E4E5A53B062223FA8061FC3A998410C2860E51D0296AAB06716C3EA41EBB5E9A9F14EFEEE4291CB9083950C2FA4AE8E2612B59353E160341E932FE7DE31540B452CF63A323A618DC3D4F5E1BE0BFFB76DF5236906AB1F851EF0F931A1D442227EBF170C908F11F2790D988D132F1173FAF27E9899414C1FC7D225A41FE8603181B011C004B0136C54007ACB12C5BD941AF5F914B5CC5724A7A9A45297D515D178B27A626A3AC8B0BFA84284742A110E0602DE4834A6A29C0C891E14A02663B15F45A7A73B6112C0AB61433386546F4747C7A27DFEDF1B06B898D78097068F01337825128994553429BC063ECD2D2681B212501632088FC1CA4C62608C0FE758F90920831827A190965034ADBFC8454A7145814C352515D1A4D11889C72B63F164301E4FBA99A84A5E55904A6B83E73B7F415A3A595DE8F5A68B0B6F18199FAC1B1E1A09C5278705F4A35806412E24CA3043C8A5F8FCBF770C308FFB28F5F5F5E9A848665580D9BB14967C154125188DBC0581BD203A98C162029FA51A7C3622582B5001E7BBC010187329A552719F447D3E9F2A1356E625C3905C494D2BD449AE481B465952D30BD84C09F4F59C3F994EA726851BA7A5438A967EAAA6D033191D1F44CA0F469FF0F9F9FAB0633031F565197EBF770C305774D1A91E6C54884422628E5F865FA41DDC9817D092769BD85E8BF8BE9C7D9F652BE05C0CA0C1B03B4C4D2BE627C616CDD73DAA8C3A877E0953AB126B0E9F9A8C4F4DC09AB70B38B0454413441F65E2C3ED0B21BC8D0ADF8181812581FEDF4B0658082AD84623FA2D63381526A0043230F4BA603C82B820321FF33041BC963AF0F167AF850C5EDB68247318DD0C2A481256CC3422329F988BD8523F5831DD3CCAE3309124BC16F8FAA3FC19C61FCABC924343434B06FDBFF70C301F2A80194A4A4AA49E9E1E94A8C180C47CBF2A54057F467008FB2ECB28F4D82AC3B60D2CB5E0B266167559CC0054C02A63726ACC180E2FCF927884B1050AF0F19495DC42954FC84EF6A07C7EA9A0FF1306584084D1A92290164670098359D166054CC116B9906AABCF0208ECB6A4DDC58483FA0003B82C467159E7BA2C14C082C921A31602601FD28FBF9B468C1F8C81D437133E59505070D93EFF270C7069A820540460D74686CECE4EC9361E09D316B0FDC82EA5C2B6038C48317816C466220AC312EFD966141C2391F637090D66C28A29E3EDFEBDF87B289567DD0FA947C0278D78FF42AB7C3E61802BCB0C86534DB0CD206182EAE9E969CC580A74909911C4E0598FC7235B0C01E58E55188418168F1032660A071380D870ED58CF635671C3EFF78BFA48B44AC00CE336F1AFCAECE19F2C0B620671CCC910EC4548555555343636060F4362699620F6600EECE37CB8735830B53C0670B091872173E26FB0FD616040677373B371A588FF09032C11335C8C21E05E82291821A8A5A5453086F3770D0D0DFA9933673018C5D8BA756BE69AF6355003615CC1C91B3F61802BCF10646F77EDDA95F7B788E7E7127BA975FD5CCBFF0F7AA46003BDDAB0A30000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (42,1,'IP_PBX_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005AE4944415448899D95794CD36718C7D10D9C9B66997FCCBF66CC2E991ACD260A0C127153608988504B951B2688DC3D38CAD196ABB450AEB2022D052C57A1E52A1410142B97A82071611E88782128BA2563C6C40DE877EF8F8811C236B25FF2CD2FBFE47D7F9FE7FBBCCFF3BC262626266B8936127D41B473056D23FA98C81480C97F893C6B967D9B7CB875DBCE5C0B2BDB7BFBBF3F38E9E4EC3279C2C37B3220286892C5624DF279BC8722B1B89FACDBBC1A80AEC3707C39E033C7C347C6CAAA6A50A7D3A3F342370606AFE1C6ED514C3C9EC4EF337FA0B7DB3047D6ED5A1EA99D9DDDBB7BF6EC317D3BEA95005F1DB277BC1F2F10C12F2C05C1EC34B0B86988E30B919C928E1A7535EAD415F364DDDEC54DD44FD56AB545FFC080ECBCC1D05054547C8CC03650E95E11E04A67DC2F5496A152AD814EDF860BDD3D18BC368CD1D1514C4D4DA1C7D04539D84B455AAD69709C999919FE65F4AE51DBD2818AFA16D4B7B4A1A246FB549C9B2F2B2AADE452A025003A83F12035331FA7A324602564232E390729A25C6466E5A1A5B919BAFA5ACA8105959288A8B80AB654F022A28D3557DDA041C1991A88652548CB2D42F64F7208445946661C5F4BAD5D04987B7AFBDCCD931540595A068DB60E6DEDEDE8EDEDC1D0D0206EDFBA85165D23E5C08272E0EEEEFEA92055DC2E69CA34AACFFACD25948B202BA9824255050E9737EB7D2AE40501CCD8D8D86C7CE3C0CFCFEF5176E11930F9058817CA912A2946567E090AE5A5E8E9E985BEA961C1C1EB0D6B77ECD8B1299CC939AED3EBEF8D8C8DCE6BEB1A670F3AD1661D69EE46678657BF9393EB374B1CF80704DCC9CAC9854C26834AA58256AB21A9D1A1A3BD0DDD06038AE585738B00A23502818082985959596D552814E28B3DBDD3BBADED262C6D0F045A5A5A6EA6D3E9EFBC7D06DB8382831FE5C92BC04E922351A48430A714B90565902B55E8BF3480367DF3BCA9A9E93E8D46B3A152ADF6529695D3A552E9BAF0F0F0750E0E0E9BACADADCD6D6D6DB790F7FA951ACDDCCBC76B2C36261A71D11CA42625422C4C4176463AF2242214C9A488E1B0E73224928C4EC3C55FF567CF4171A61219B9B2DF1232652F7D85D9734C816832949BDC18C08E7621D19B510E57EDA0AFFF125A5BF5C6A1E1EBF3DDFD03C894168093988CBCE272D065C5783F29199B1378B04C15832EC947B030C718C84E1CA752F9E69019C74F8C725891E04486239E38E1C77391CC4B442A9F87A202196EDEBA8DE19F475053DF84F46C293A0C3DE8EAB90445A31E61A5E57048CFC4AEA85858A40A112E2FC3291677D6FA80E37E2A5D0B0EFCFC4FAEE840595681B1BBE3181BBF87BECB57515DD788EB2337708DC02626A7303B3F8F274FA73172E326CE765D8482345D85AE1D6E7E81F00F651A3D4F856451802D2EAEC7AE44443211191901369B034E5414A288FAFAFAF074FA19EE10482D89FED5AB57683DD7056579350A4A542824D157691B317075104FA69F2FC06A1A9AE11B4C32919C0EEF003635A14DD65BEFFFCE659F8D5DFE6E0BEB92ED5F5B947CBE7D7709C3CBB7A3A1B9159D24B2B6CEF318BFFF0057868651DBD8BC00C82B2C8654AE84205D8293616C780686223C2601FE214CC889F3600E574D9D83C9EB3CBD4739A12A8A92999999794A9A5044AAE54F39A998BE81AB0B696A3F77011A0250A96B490A8B17460333361141AC18780484E088BB2F54D51AA465E5BD0C0C0C5CB83FFE71AE53E5E6E1E16113C58D2B0D61C73C53914158D7D442003AF2730584644E49A48588E6A5E03401500EE25344D0779C473833E687C57EF8D7CB83AA676A3433188C2F23222233D332B21E46727973115C1E35D4C027D513CD4F815F70047E0C65E1E1C4634427265D5ED2C9ABB9A5A85C52206767E74F68349A67C0E9904E9AA7FFF36F0F1DFE6BBB951DAC0F1E46AC20CD982496CC9261F8D1924E5E25E0CD2D4645676F6FFF0101ED3A7AF4288D28F6088DDEE2EAE696EBE6E3E3BCD860FF0BB0DC1505A3A6665858D83ACAE1DB2362517F034B66C609ECE617C80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (43,1,'IP_PBX_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002C080600000023163B670000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000010CD4944415468DEBD597B705CE5753FF7BDEF5DED6A57AB9564C9B265640B0B18C731B101DBA549A96B120782834361E29A4E9CD04CC80C0492D000D3061A98E91F506813320D0CA450D3695AEC0C01031636D81023DB922D4BB6852D59EFDD9576B5EFBD7B1FFD7D572B4B9665F328E1CE9CF9EE63F7BBE7F13BE7FCBEEF72A669123B388EE3310890E9F1931CC62CD1CDE9493F878363EF82F24C611BC4057196CFF98FF3FFB2D21A240F4943729012E6353E2B25EFBDF779E7E38FDF9E9DEF9958F6BCCD5951D1180CD76F1378AA9004C12ECB92202B3229B2C4C9A24C922C912CCB1091D8B588519224531224D366934B2E973B036BBA7EFE0F0FBF84F9129857FDAC22F1C57555BFC5B0695E03CA9E760A82BC3C5815FA81034A3B1D36B229367260B4DBED645714B2D915B2DB706E63CF601844C67D59826122465CE70A85E398ABAD1C0D1615FDB33080E72E8EE86903EC22E9952D8B1A68CD756B2DE5149929A958A32CCB33F7D8F59CE74C54B548BB76EDF2622E3F64A80CAF8B630FC7ECEB4B454B10F84B1AC026C24F0487CFEB218EFB78C09F7BB8DC6E12384EC1A972A9FC292BCEB5B4B4881E8F475055950B8542FAFAF5EBF5B6B636A36CCB79C6081F1181729C60823875B9EF708C8E9D8AE2A1064D209C86B2A443549CEBD63D810937F5EC178FFC9C16D42FB0A254B68FBB94E23E9F4F29140AAE9B6EBA6969636353D30B2F3CB7671CC78A152BF26EB75BC54FE735E49206F03CAF0D8D8C9256CC93471468FD650C3A0CE353F846C29222B17B12CE314A56129388DF9EE8EAA0DE13C749D3CCC2C5148772029456B66FDFBE70D5AA55DFF2FA2A3649B2DC9CCF17E8BE9F3C901B1D1D69EBEF1F78E93F9E7FF6F5D6D6D60CE66686B01C325F79EDED8F3680E339AEC2EBA5FAC54BA0DC34C6CB98670A2B5219EF30603A07CA06B1E725AD44870F75087395BFE5965BF82D5BB60456AE5CB9D9EBF5DE2A8AD2970AC5223F3C1AA59E9E5ECA17550AF9BD0E5F857F8362736CB8E7FE9F8E8F4F4CBC323C38F45B18FCBECD662B1A86CEA6E2E68BC83903449E177D1E3779BCBEA9A4FD8449CCEEB51FFC409E1B009B37B8C410E467AA23912FC147FC3128DDDB3740C9549A345D275DD768241A87334472B14AA74801A7D3B5B5A67EC1D6BFF9EEF74FA753A91DA9C9A41BD093608336175A33101278931784FF570E1874BE83186C8C52D1FFC1E18E355DDDDDB1C492A4C7191194E5EA6A282C91815EA74DA944A94C96E2E3098604B2B35E23092C828D92A2DC7FB2F714FDC5576F7E67ED576E7CF6F8E1F77EC5A0356D843893E9BC9ECFE56874B09F1607446AA9F6A17995EBBC5C16E483A248D63DA92C228C4EC4C62836364CB96CBE38DBFB800007C858D1B3D9EC412AE4A92B76C2483674717F357E359719A9470474320C83583F95914F79B544495525970DCD12B58C3D8318BA69289541FFCF2626269E2BF719CB809972C793A9381CF00AFEC4B1A79CE50D4160224051D14A58A630AB56EC1ECB4EDDD0817F0D9ED4A864E8B3E983190C068DEEA3877AC68687BE07000F35AB0D545768E26B07FCB87CCF58DAB4930A4AC62A087895F56EAFDB410BC295E4049C98F26323A399783C9E1104B155D3F40AE4846DDDBA75FC3C10E2443651A4AEFE53E7404FCF49DB6C08B1BA8E9765DBDF7BF7771D1FBCDF7EFD0D1BBE77F5D2E5DF34F8882D573CCABF5DC8507FB8CD5CF5E15738874D217F95DF7204AB4CC3C323E6C953A73487CBEDB2E13D2A228368755DBC8CB236543EEF3C95A03303297437C312918D28CD126F4EDDE34CDC434EF06C34E9AEEF7E87AA23D554D44A73BBABC138D1E2C58B138886FAFAEF773E72ACF3C8CE8D1B6FFCE1C2E6BF5EFD35BB8E8CC2CCB26E44A363A09402178BC668F75B7BF4926E0A70B6C414370D339988477F79BAE7D8AF8B38366CD860CC1301A0C1D02C4CD687ED541DB097891BC3BA082FF32401467239C124519CEA0900AA0DDE8B45C7289DCA96E67A68DA88DADA5A1DF82D0EF4F5A5FFF55F9E3C73CD75D75DBFE9EB37DDD5505F5BEF88D8F91557B5D28BFFF95FDA732FBE2C28369BC0E6E44A6AA990CDBC9A880D3D65944ABDC8B938BA77E1A1871E321F7CF0C1B911100DAF2F48C978D45290855406335018F384E2122FC1E325E2759E4A682FAA6E52DAD4510A0DEAEBEBA54251A39C5A2CCDD76C58C52837A53CCA61098AE4DFD9BB77F2DD7DFB0E6EDBB6EDB68D37DE786B85CFEB1225B1A86A9A932FB1F7940E6527D24F9572B90FF0FB31E443BAA1A1A1F8F2CB2F1BF3965193D3C57C364D55B50B3E1599C3CBE9178F3FAECC479B1E7EF8E1E926C40CD1901799743A0D1AA4A69F79E6992777EEDCB9FBBEFBEEBB13956899A616C775ADF09B82A1EE061A06F1EE4426932974757569EDEDED17D08B994E6C0A3C6B2A2C11A21305CAE6B2800E6F414442F591D9392A0FBBC7CA9D88FB2C523268E0CA955F20AFE22543D3AC46E27038B88D1B374A8F3DF6981D4AD8E041FED1471F3540575484DFA2DA50A808C5F47C3EAF2693C9C9BBEFBEFB744D4D4DB58B53C781F971E8398ECE9D41EE94E67A7D5E03E01A9D79911D89944A237118C093558BAD64856AD0D74A5A5160C9CB59F7D8F51557B45AB993CDE47444856F6A6A723736367A03A1D02A97C77B3DAAAB472B6946A190EF8E8E445FD1B47C372375681A1582A6A9289345E4C740341A1D04C64B28D105703B15554CFB2842C795E96F4DF3B2CB6FDEB6EDCEC7D2897196D01624041EF5195E0705200E9E9E691A26B105A389DECB6AB7C994CF15A8776078707FDB9B3FBAE38E3BE46BD6ADBF5F14A4E6624925157CA788E694484ED2782281559CF0EB54263F5A3085BFC74C2AAC1F3574BD0308785D32736DE02323800E8B94CA96AC485806BD79D70CB30C587ACB6DDFBAFD9FC2E8039F2607F2851CFDE481876236497C61CBEDB77F0749E7B0142F1B303E91A0D1588C29C19AE1F122C94D054397F66B45AA856BC27088006FA01492AE95727A493D89A8BEE612B917EDA23180C8E40F1C38A0EED8B1E3BC559E508691A73250D9DAD272F9F5DE8A0A464DA76CC3682D99AD912B2F76B899454FF984955411D2D171D8FCC6E6CD5FC0B953B7889A6E75EAD37DFD144F24D0A4746B1E9BD3138053C437B53CBD5BCAD30934B44E70AD5160B4C0F20BF5D9A3D8C376C57E8DC1CBDB3325FAFEC8447A93A8D8CD2307DF3B8422304F153239639ACCBD7F344EDDBDF129E266B51AAD4CEC58F39A2672BA45E44434B59F3DF06352EC36DA78E3571D5843F3ACF94C1FA0C6148DC7A9F3580F5587ABE8CAD656926C767EA858A0F7D43C29C8253E9D2173629CC6C0AD26143B9D04ADB7811507B0C8AA02941BED5E072270E5F040DF3D98F2DFE184D20564CEE44C4D5535FAB0FB28F9E1A5B5CD2C07C07B041979A060C133C57D4039304E458465012A0BFD7ED72B584BAF239FD7CB33AC4F1FC9548ACEF40F80D398B4FEBAD5140E0589971D16C709A03ADC46D57406D03B0D0E5844DFE141B1CDC94920BF482518AD2E6EA231F8F44A9B9D24F41D4357398F272C40F7D2051100DDE3585206AA2256E7B53AB03CC53C0581B151618A81A2A909D64E8460113AF044C2EA8AB020015F99513E9BCD51FFC0203941101B16D4512858494B973459C42F3E9E246F22499598C7E4FCC44516D01822D20F19860CA099B2B582D366A32ABC3B8039C6913FC542A1FEA55DAFBF964AA536B0FD2724B731630069AC6292CF1FF858648E19C6A280D2486EB7E73CE59992A7FBFBC98F7C0A550628080904FC545713B19E7BB1706A6E5A481EB79B8647C6682299A0607C9CAAB01E305C2E12E1C409ACF04631B713F987164D2740D9510484EA70F8DA33631309ADA4EF4583FCF28C01067FAE467D9C058D0432B7A0A692EEBDE7877389031D3DDE4DD5A12A8A44C2140A0468143C69EF3BFBA9D3E7A3EAAA1021516859F312DC8F51B82A4891EA2AEA3B3B407F76ED1A9A048CFE78E80815A2196A451E70802883DC646A12954EA5E5CB16101AA0E875BB57320489E5850153BF9000FE6C836769111634CD619F05A5A9758068F505365AD0413EA07ED3D557AF26467567E3FED4E93EF243D1D6CB975A9E1F8392A7B18464FD62742C6AC18A45EBB53D6D54571DA186FA3A0AF8FD042E64FD5F45D9FDF2BA6BF17B93BA7B4ED2C90FCFA08225E90CE658BD6AA5C599ED98371A8DFDD2EFF0D1B401454E10933A12763096B4967ACC6A560659E9631C5D05C10239B4943540397EB0FD4E60DF773EEEB1A21B1A1EA16F6FF9267900932860D171ECF8057B4991709846C6C6686874848E76F7205FB2AC0050D3A285D48C3C7103466C9E96A59759F2E3877E6E45290443D9FB6313E3F14535C17F3E72E4882ED2D4E66C8E13A82F1E8B756A5AC9017C49E88AFCB411258DD5F412B12AA51B1AE7B43BC46030146693CD56AC13D059B27891A57C064AB51FE9BCA0F533E526C663804381352C4AA5D3D4725913A27496DEDAFB2EBDFAC61ECB790B1199E5CB965ACE6BEF38469B36DE80EE6F90AAA966319FBBCB5E1548328E74CE80DE9E9E4EC8CDE5AD4107CDBFC5CE5556563A9E78EAE97F449286DF68DB4B3E4421025CBBDD2E2B21D7AE596D45EB70E751CB789AB3D505E24671F486DAEAB0F5FBAA6010D188523A9B3BF753A6F4B1EE1374A8E3A805A9B5D7AC012CBD9404C4CF9E1DD85F13F0B6A11215592FE0CB0D81ED0DA42083906EC81148FB5C013B6C07093BA9D81CFE7E245D2818A03064370C397EE2247DE36B1BA9BEB6062FEF4175522FD88A645B973A946B69BE8C26D359E291532934B1D168FC82AD3CAE6C756D2442575DD1427634CAB383C3259FC7711788DE245BD49C5BD49B5307637E05481A929C4FD851575737B9FBD55D0FB81DCA814C3A9BDFDDB6CFAA1C0EBC80ED5CF7F6F511EE5F807B563AD38015565BD4036319FC4228AD603F9672F36D484A289F5FDFF897E443998E239F4647869ED072B981279E78E2DCD6FDC7F988317BA78D71FD4924DDFB07F6ED7DECC8C1FD3FB5F3FA6F1AEB2283BBDF7ADBB875EB763AF0C74394621D75CE7F47464741B7B3A8385EE488978228AFE3A82E6CEB9C3BFF25651E0636B0E68B48EC46CAA0381CEAE81CF0D9E57FC3BBD3D35B2A53EB984FFE0D82DBBA75AB0263DCF86F0009570BAC2FC4FDBA4038F2E7CBAFB8F2EAC9C914C776166CAC93862A2D4F328FB38A552882262047D2E5BACEF817BB5F2C0BE351EC9A25FBFD77FF9D950F2FFDEE7FF4E1FED39B249EDFFBE4934FA667D36A9E3EF9613EFBECB3C5FAFAFA7174E80FB1A23A080376C3A03FC447867EB577F7EB8FE8C5FC41C0221B43D8DF3F7888DE787B1FF57E789A8AA0D58C3BB143661F4B1CF699EA6457ACFE62F11BF49A6FDFB69942307EFFC10F686870E8795484C3A3A3A3D9B96B02EE33F80AC4AD5FBF5EC0D2CF066E540943EA119546161130C8C6506DFD75A974AE6E381A1573B93C388E66F5818A0A1FB960007B7B8191B97284D878E5F265E8337F4B070EB6D37FFFEFAE915C227A031C759239EE4F61C0B99DE8152B5688CDCDCD7628E283112178BB01F33760ACF287AA5B414A569C1D1AF6C7E2135C2E9F9F8200B0EE72BAC09B6090CB4155A016575CDE02235AE80F6FB61903BD3D5BB082DBFDF4D34F276763FF333760F69C9B376F6638918BC5A20784308077D4E27A21C608ECAC20D9715551D317E50AAA1F154C614D6F5A8FEBD75E630E0E8D587A35D454BF9C9E18FB514343C32098A736EFCBFE549F74594450ABB9AEAE2E40270756EDF02157AA108D08C66A3CAEC4BB3DB876283657555ED7EA6050C8E37426782DBF87B73BAB39B5F0783A9DEEDEB97367FE628B7BEE73FA266DE509925E413374005EAC82F9604410C660FDC4796188BBBC8B3786F32CC628AA584F63636382F1FE8B4EFC397E54A7F257166210733A9D12FAA20DC969C7B98C47320CE3C0785917646D5C8DC562D93D7BF668979CF3F334603E63D8AE1D6066F53228CCA19A993B76EC98F6F8472AF77F85959895F5D1768B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (44,1,'IP_PBX_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003B0806000000CB8C8CDC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001A014944415468DECD5B09705DE5753E7779FB223DAD4FB264D996BCEF98CD2C610D365B9B1070429B342421D0A18466867426A49DB2CC3493A614C23443636842D23681E0C685409612C6369B6D8C171959F2266BB3F4B43C2D4F6F7F77ED77FEF79E2C6BC386927267FEB9CBBBBAF73FDF39E73BCB7FA5DAB64DC54D9224997718C5BD441F6DB30BC3E23D368B3E619B5A10BC28AC03C359D83B3E021093053730341E780D1F5BF664D43F0900140465817D18A518C1C2F16410CE1780A2F0698C718C58E1388761FE31847BF89FB7DEF9E883F73E3F270005B35758E0D2CA9A9565E19AAF2B921C5455C5ED50150736C9A1623854C23139D5FC5EE5BD5315E7AAEA24957F5765521555FC86730BF7191E97271B08FA13CDCD875EF8E98F7FBC9781C13BFF2856E0F7BB9FC4EEF90FB280A2E90754A76379A8ACF28B4E08E2723AC8ED7491CBE5243786D385633E773AC9E5764C1C3BF19B8B81C1B1000883C15255064901280E2A2D2FA7C181FE76BCA30D238BA1FF31405065E59C5C402AEC7DB665967921DCC56B57013D1FB49BD7ACD0B6436815D720A09A17902D808F1D798D0B61D5E2398457B0E7870F8FC528994EB36B0530C60A6EF5B113A22CCBE70C0043E5C4EDDEC6F975B464F94AA14D4741A8A2F917CF8B5A9EF99EB3AFF1BD475A0E93A91B1EBCC35578D739714A819CC5E11D77DC218EB76DDB562458FA200B3A1F000408F80355913EAC55CE2E93A96BF8D55627BDAFF807F65C824368B9A3A3430E04020AEFF9DAD5575F6D25120973D1A245CC257601077B6600A47302A03819599214994DBBB83DF5FC513AD5350C63D549B273183A8E796F906469E21A5906EC197B1BE7E2BEFC7E5E4D05EDD8F1BA788EC3E12429AF8D3943EA64C1DBDADA94E3C78F3B7C3E9F6B7C7CDC5D5F5FEF2D292971E07A0C7C93C36FB9952B57EA2B56AC306703423A470B98085DB22ADBA9AC465A2E274CF9AFEF5C7E6E2EC0FB19EE13DA370CD27483D1A5D9343E497879C3860DAC7547301874E352E01BDFFCE6358D8D8D9F0DF883D7EA86AE0E0E0EBDD97EF2E44BDB7EF9FC6B00661C80649B9A9AF4BABA3A06C29A0C84721E1650604D5930D38EDFFD06A42615C88FC90EAC5F1050E510A8F07566784400579EF8F2A4A788DF14B02F9C89E4428AB1F6A24B3FC8CF2508AE40B36A3299747FEF7BDFBB70C992255FF00782B7C25E2A73398D721A2CCB9028140ADDB066EDBA1B9A162F8E4547867F77BABBEBC5177EFEF377745D6720B4C9403CFB8BEDE707009386D7EDA68D37DD4C30BD59357B3E24A840BE23870FCF2A3C9BFBA14387D4A79E7AAA0942FF39CCFC76A4268B59604DCBD1582C4ECD6D276870780C737253B83C443E8F0BE6AD94969684EEF42CF3DDF9E0B7FFB627161B7BA9ABABE7176FED78ED287882334F432ABC632EB23C1B0089243F1EEE74BAE8A39701F98D43A11356624D9F83780134AE3EF60FFFF8D4A51B37DE0D1616815B83F0DD7DFD74B2A3872243C3005321B693783C49C9780A7E645369D04FA5010F599645B2A2CCF7FB830F2C5EB2E481DA79F30E2793F1177B3B4EFF12724B004399EA1AB302904F0ACF84E7639D314A654C5214891CF8495144A880994BC2BFA060ECF3D7F81E15D754BE07C741BF97366FDE2C9EA343209EE8D48DCD7E6868C8FD5E73F32D6DC74FF4DFBCE97A53757B1BFA0686686C3C4136FEA6ACC44FB17802CF55584194CE64059F44A2C3D4DDABC3629D140A0658BA22186B5D6EDFDAFAA6458F0D444E9B6B2EBAECAECAC6C6EDD153A7E200C29C0AC2341770383D13E73D03698A8EA6F0420BC11B0F97ADC2B18D3D80E173CA5F9341C48A943F57F05B7959C904004EB895694E03400287718873C25D1080D59A1D6FBD43472BDBF5CEEBDF506F3F7D9F141AA8A10C48D9EFF5523C91242E269DE0A3642A4DBA6E88872433391A198F0B2594C245446CC57D966D29B9ACA6385CAE67ABCBC2DF5D346FC1A3F869EB5410CE0640516CC3D0A9A7FD38B93D1E5A1106D1D5B9407CB2203F07B4C084E774E4D35CAE01980CF32498CF0015D61454C5D6DC72683FF1ABC66209003073FD03E293E126769E439CE4737A1C4D7B36D34BF5BFB02F6CACA31BC7964AED5D2B04D9B2F6B3D95CDEE2709EE58805EB628BE0615AB6508465E5075E6D1BBAD656120C8431A74FE572B99F8073ECC969F874120C0411EAB362C22C0C3F865D0305D2A4A8E02C64794EA111A700C30100E10F3626020D988645866D928EE7B8FD7EA40BD300B05D2E978D77EA3DA7DAEF6E5ABAF4B180CF77E1BAF42AEAF20FA076A8932E5443E4AE78DBBE7443B374E4D82594CD35C0E45D02084DD305D05CA704BC2ED42D0E112934440C960DA418075886CFEF5FC9B25826A900CB198D46F5395D0033A7054D4BE68CEFE79B0AEF7B770FE9F6740BE02406313F7BACF570F389A32D5FBFF8B22B3EB762D5EA7B575163A58984CBD053D43F1C96949883FE30EF5D5BAF3B2C5D7068539E8700BADFEB86FFFB8415E48A828FC7AC8E531D9A073194E76218851CC4B615DC27238B94662741B02643F541A9EDF9A6C23C61B3E0B3932D80F37A102142B81E676BD8FDE6AEE7DF7FBFF9EDCD9B6EBA7BE38A0D7FE2F19253378F906626498BBAA5EAA13ADB842505FC5EA9B1B2063CA00BC1D9DC33D92CBDFBEEBBA66658B2D3E576EB109C530CB612D3D09B63D1E856B89B05CE999B04A54972BCB627F29148F03BDF79483CC782099AD6740B603FE42E1142950DFFB4E0625A2E95CABCF4AB17BFDF7068D16F6FB9E54FEF6B6CBCEA423748F42198BAB25495507ADBAD2D47E051A62C7C1DEEB667EF1EBBB3A7CF46C9AE308FC8AC75088EEA76646468E0D9BECE932FE03D030040ABACAC9C1D00F8BCED70B927CEE787BD545EE2FAD061B0B8E998A8AECF4C8205104C2627A4B566696929A2A696E9387932F9C3A79EE8BCEEBA4F5FB3E9E69BEE0EF8C3B5B012F8BC4BBAF2CA2BA5542A696F7FF915EB85EDBF96987CE06A80D2107C05D1B54C22F66AB4AFF739D3D4BAA1D868369B4D969595E9B03A6BD628C09BC7EDA5536DEFE71B1C90B892094EA4BF855457E608200BC213292F5B0D04C6159AA85E11F132897142C24E6CB209CD9A350A4C0241242B5CED613330E11CE6907AFDF5D7E26FBCB173FF57BFFAB5CF5F7BFD759F551D3E2F734B7575B504F337D259CDC5442C046757D312FB6389D16732C9E411CC6D08CF1CC7F3D2105EDBB56BD707E7010AC82B180AE501500B4D0E47BEB353CCF58BE12E3F64F1776C723C0159CABB9154D8733448F7F4CE09401104DE152A3B0BDCC020E878471623F9A31FFDEBD6DFFEF6373BBFF1C0035FB96CE3651B3107445A250B927349FC6EDB3E6DA6C67F6AE6526FE1EFFB3146E152C9919191DCFAF5EB8DA99A9FD50232A90455D6D4FF9F36449C6FBF452F4D2741A990A74F054258D28103070CB88585B06580B973786EBABBBB3BFE37DFFA56DFB5D75E7BD1FDF7DFFF6558A6DB340DC9A119DB0D3DF36B28A28FCD1D8F89E339198FC7A3B5B7B75B18B3F60CCE02C0966CB891F621B3FED9A38005DFC444276E5CBC78B1B46EDD3A251C0EAB4F3EF9A41C8FC7C51FA304B6A135EB9E7BEEB16A6B6BCD471E79C406083A88CB42CA6C721F20856DE7CE9D633B76ECD877D1251B2FF05AFA3110EF10FC6714C08D01A8542C16CB71889D4DEBB3BB004967B591FEEDA593D47D7A8CF32992B9D121612F9A1EF956BF4C86687EC8DC28215D9CCBA25162504DB89CB66D7B310F2C9E6B00000827A1DA53962E5DEA5DB870A1CB8B0DC590079356E02252269331E1AF39089F40359A00101A8E25DCE3A8A9A9917B7A7A7490640C1820EA65870FEEDFD7E972A9563A9DCB40F81448922D456F6D6DB530EC7369BA4E298624DB8190532C5CBEB069217CBA71A2C9E928647C22F3635EE0FE8052DCAB136931EF5D0EE78449F746FA452D8070A6AE5AB52AB06CD9B2F2F90B17AE0E876B363B5D9E8D5053197C59E6D86D68DA783C993C958A277FB660C1825711115CEE60E852179EB3C2EF3F063EC88D8D8DE9A823B200C2C4330D284DEBEDEDE510A7AF5CB9D206D9D9E7DA719EC6013EAF9F4EB61E422CA77C5E2F31E323EC494A9EE531A4A2C5E31D79EAB2C9E4A4D9E4B86C8AC444A4C3087D1A921509CFC42DCAFCF9F383307FEF159FBAEACBA1B28ACFC12A142E6A587051C9C1FA0CD32A892752F32DB2AF71F982FFA499F1DDBAE2FB2500546D8F07558E957055F87A2ACA6A9AC386F1BACF69EFE710876767D845D8346139E6A38F3E6A3EFCF0C34CAA74CEFD00D67B3693A1F98B9691D7E7C9174082CC944234289060B10DEEC8FFA62AF956793E75560BADF4FC6F5C03FCF867FFCE16E282E61BEEFCE25FDC07CB5FA64F274591D20E46A322B9C9739274A5E40D7DDE65939AC2B5A465CA65B65402B05603E4D596C3FE52DC346DD3E14E82BBBA286DBD167099FFD1D0D03004E5A5C12FDAD6AD5B8D2D5BB6582FBEF8A208B3735B003497CDA4A9A4AC222FFC478C0279B75169F5F265B47BCFDEC0BDF7FDD5378225C1C5C60CC28F8EC56870688826A7A296A4D6B8DCCEF9ACC097B3E3D462E7A80416D98067D6C322E7593285C821D9961DB06D8F0045B3CC0723A94C5CD7922D92696EAFF0A6B6C12DC66111695884391504754A0892503E4E9C47A219141329684F2E94BF92586D51C51258E11A67895C268B73597002DFE70197AC5DBB06B97A8E3200F52B77DDB5A1BA3A5CAD1BFA34E161C28227389748A5D3140C04A07D54A6DE60035C814E6A193A626A1055122ED53E3A403DE11AB1C0E0852FCEC33CC238ABC628B31D9C2D06612597835B2ECF68FAE3C3C9F8402A97D9021076B35BCCE102C8E31D67DAE2EF1C1EA4C8401CAF40DE8F2131EB63705D20AE498573F8BD2463D867EEABAA08D1E38F7F9F7210AEBAA6962A59F81934CF001D6F3FC5551CBDB3F700352D6AA0B5AB565045756D217A58F4726C5008CFEB4C72224E32AE99070F92A3761EAFB151B796A3E1F90BE828F717705E092EA982421A25272FF149AA43AEC9F68CAE01C3EDA5292B5253AA41589329D150E43479BC3EBA768D9BD4F5FE82F6D5423A5C58FA129ACE67836A213354278E65418EBC22A4221AD4CEABA79934CF95DCD113ED343A1A23176A90CFDCBC893C1E3755876BB93B8362C6A6613D47CB31176736436308A57622492ACA44A9B48468384A6636472AB256DB3940D99161722F594609581FF88356F3753C6374A89F798B0597A73649A75980C3EBA52CF2789D5773A47C7E2F15989FF54E85BF35395472EBA9C0F8CCE216A200F7F10C5317B7D5D5CDA3DB6FBB4D6871EAC6A56CEBF113944E67A8A2BC8C4A4B8218255456564A999C4E590CD5A5522DF2FCAF01007EFE189B3FCAE06E2D4B3D20EBD1BED3A206E1EA4F0250AACF4F3EBF5FB8C642878B3C18DC8CCDC105C1D34E64862E90A159B082E91D219629938C53FD828513ABBDE74382C5D618CC8852C914ACC89B7FCB14005801474FB68B46457555059514846710D6AC5C8E7ADF2FEAFB91D1318A440669786C8CC6A1F900F0DF585E4197DA242245ACB69E7A705F0480F4E7B294839539785D82018095B8312F5E98619E6A39DAF1D4FEE6A30FDF72D5A54BDF7AEBAD447979B90E3EB0D4B33C00D998656874E64B99F3DB5830EEC07024E19E2283C1317EEA76B2A3538057120C4C689E896F5E4D58089FAF4ADDC4D1A2B1B1812E0EAD2B448A3184C9611A188C8A156707F8636D304817C821A1E918875158C228F6F5BE8030FFCE482F883543090078C1FA35659D036343B8777824327A0F1EF9F2594B633033DB3893B3D3DE962890CFE59322D92AD4FE08CA12578E76FE9C1B217C4DCE5FE386C8C517ADA70B376C10663E758BF40F523295A47A105851EB81809FDA8EB723EDEEA57055A50082398575508ECA94B721E407D01A95E17C695313AC6354FC6D734B2BB47B9CC6E329AAC1DF559684847588A628F6D1E81075A21AADACA8202F949249672487AC56DA12DD845AE11575525CCC7FC4242974FE5B3E23E43FAFABABA14B2EB958F401A66EE3F1389D38758AD6AD5841951034AFFD20B51D3B09ED8E0A8D0F0C0ED17B079B8505D684AB841BF0C49B162D148D17DEC662317045489C7BBD1EFAE21DB78968B27BDF7E6A693B4E6E70C17CF00F73D7C8C82842A746576CBC8485271B9655162AA5FEC8E9FF696B6B93D44949A0813FD0E209C4DC43FBC5D71F7EA838E091C58B24910ECBC23D44DB5B2AD6FF92D0145FE7D6D5ADB7DC74A63132C53D0EB7B6D192A6466A6A5A3461FA478F9FA49EBEBEE924097F3ED5D945C71025F8D8073E59D8309F1A172EA0DA70B5981303CACF109D698C0BD6AEA6654B9A0447BDB3F73D3A05CDF7F4F6D1BAD5AB44F66ABB5DE4F379614DC3CD4DF5F3DE6C6A6AB28B16C0769F452E9E9421389F7007CB36D8944CC1C0DCD3E382861B1BECE70634AC17CA5C5D43BE0F50BEFBF70F4123DE19435E47578FF0C92B601D2C3CE7FD91FE0184C193678AE929B82D86B0FD43511A1A1E1121731F2C63F7BBEF8979D4D654C3151A69F9D2252222F19CFA613D4CA2BCDD7AD30D74F7FD0F5249202840E3DFB9838584C80CB99D7F393A3A9AE67E4311009E7102B17898FBEDB630695B4C382F7C3ECC19DCDC84E0CC13FC404E6C0C01824937DF701D2D5EB4684607E14CEF18045DBF66B5303FDE62E3713A04FF9DAD93C056D4DCD22652631FCCDCC865C4422B629920CF535DDD74A2BD83B6BFFA3B91972C85E639E5AEAA28A77075153DFBD3FF447619A14DD75F2B5C889594A11C0D7577FD6C41B8BC3B1219E6CFF668B20524BB7ABBDFD52DEBCBB96C86CB539F6D5A4EC478251F222D2AEEF950EC396F9065052416A828BBFDB6E7B7BF5C33BFAE165A58212655DC5ADA8E0A6B59DCB8B000488E0EBCDF3265BDF06C184241BF28CC38A1A942A86C87B0CCF40A46774F4F9EB80A7F92C67DFB0E1CA2DD307BB63E264E4EADD93AC2D5952214B292FA2291D1C679558FA3944E70918431E102CC589991FEFE3E8C9848B1F3DFF3A84434EB67160865722814F27CEE4B5FBA0693ACD1601DAD60E4577EFF072A0D961083510F32EA02BBF3A4EAE7D50A2B3A0CCDF3826961F97ABAF6E11ED19131B1BC2623BC1C3C70900225A5E2EFA11C1A4F2609F17A1274D259F00DC06DD8D7375EB401BCE4A22CDE350E77D332898794F2E0B0DFEFCF15CA64520B1D59A2331F35724D1D2F083E674280CC4A417D5F5A5555AD777423DEA6D2E44119FDD95B6E14E6F9AB5FBF4A575C7629AD84266EBDF10621EC31647F49143CD22C8FADAAACA0DEDE5E9172D72274B11997575609CD76F79C16DA9695B9231513F335575E269EC5C5531491A0B3AB7B7F5D796867341A4D3EF1C41366B128528BF1AF00825518269DC327B2DCDEAAA9A971B7B5B5B45E7EE5557B5D2EE7FAEEEED3AE8E8E2E31D15B6FFC3458BF896EB8E62A417A5DDDA745D93BD7C661D0B4F3EB0E879A0F91D3EDA51078A3AC24400CB269DB67E5173391E7C2050DB46ED52A41CC9C51B677741A254EC74348CC46B87334B924562785297BD20FE7F40DDF962D5B14B84012FED5B7E3F5D77E884B0BEA172C58DD30AFF6535DBD7DE13777EF937EFFFA2EFA97AD3FA1BBFE6C0B983B9C37D71960E57586C6BA06242DA705E9F2E73A55E11A41B41998FDC1AE2E51A09D21499AD18A3C6E0F6DBEFE1A915E33F99EECECA4A18181E76ACA02A74646465285C6C8EC2DB1F3D9B8EBFAC8238F64BABBBB7B812E78CE88F67476F6621C8045552D5BD878D56822B912C98977C79B6F8B28C07E5D8952995779CECC5F1284C851417CA18ABAA2BFBF9FDC10980B254E7272288E58F3A6359B6EF245DB65975C44CB972C16D1E908F8E8547B475F38E47F16E763030303C69C0D910F91FB8B107AEFBDF7C600400696308C49F4E05A258EC3A73BDB7B2058E58A86DAC6450DF59B3089F29C96A6E111C475D4F025C8E3D94FB980112E857A807D3D07AD33E971E4181E1EA6E1D111E417FEB3486FA62D8CCC71F3A7AF46D873533B2CE6E8F11396994D7C5B2929E90F0402E91FFCE007D3D0FB4800147178E699670C588219894472D05C1C6E1165B70018E500209C4C8CF737EFDBD3B572F5BA8DA1CACAF5394D2B65D3EE0333772241E2BC82A3452572FDB36C3C1F1260CEA5C2158A65795539EA03DBA49EC8D0841571E6FA999B36511DDC666C7C9CF6ED6FA6E8E0E036AFCBD59C4C266348D08C735A19FA089660177A0DDC84CC85C3E1244C6E0421672093C9F05255B4B5A57918BFEFF5F87C558B162FDDE8727A1B07D219571659DE91B663E20307B7D34D30170A0603B3E608A3B1718C31F1854A31695AB37A255D7DE5E5A25FB1F3EDDD003732A898D9A76DC539C8DF123EFDF4D336989F3E1600A60041DC74E0C54EA49A064010293622C628AC21825BC2A944227CE4D081D3384608AD595455567EF1486CBC2A954ECB23A9518AEC19107ECF0FABABAD4185584501DF99D5666EB07850EFE75B6CFCED6009DD76CB66917CED79EF0075747659F1D1A1BFC30DBD784E62E7CE9DD39AA11F0B003380310184D3E9CC689A365600A18C499279627030324083115EF008D655CFBB206B98CBBBFB22012631B68896D6A322712A468A1097D0A525488F7D28805461314B173789AA9043E81BEFECA1E1A1A15724C338805C62841751688E2F543F3600A602C1A115AEA1C31FD3C81D4600463F8464C2AC0028D5CC15837DDD43EC2255016F45556970DDE0E858C35074C49BD3AC7C9202CD7379CCA3B85D7CE17A7A1F35C37FFDF72BD48454BBA2AC74343132F843585D3FAF0D70A49A6B7E1F3B0093B128BA060853076166F95B5F70C4102CA117829763C2550C443A91A8C0DCBB4A54DB1F0C87BCF0E385A8E51A93E94C452C1EF7663239D92E28D5E6E54F53EF0BFAFDD5D1E11115ACFF18CC9EA3CFF873CF3D27F2FD4F0A00B312262F863261E27A04D74B713D045038249461842453EB43CE7EA8CC2DBBCBDC25CC7C2EDDA6724B522A92F198AE59DA7EAF2C672DC3EAC925B58300320A00B462BEFF89026036C22C5845BAABAB2B06C2EC07005EDC12802041987308F7F0925810D7BC3876AB92E4B02D5D570C2B6658561AD772B82F827B7AF1B7A973591AFF7F05E003AC225B5151910081B1553853A914EA2E8F1782B9A15D370475F331B7F030C6F99B00F08901D3E725F238409D93F83E7100CC66151CF16019B95DBB76A5F09302BE10FFE1869458E57F67E37B79451884AAA7D369FE88C2DABF7FBF71AEC27FE20098090C3EE42F450A9144F8F4A38F3E2AB5B6B68AC88072DC2E2E8317EF3F9FF7FC2F9799D8BFFECAFB820000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (45,1,'IP_PBX_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000590806000000C1ED215D0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002E684944415478DAED7D77781CE779E73B657B436F0440825D043B298A14498992A5D0B22C4BB629C58E4FD1D9899DF81ED9891D3BE7387E2C3977973B3BF9E3EEC993BBC48ECF56747191EC9314D996AC4A35B3486207488000088020D11765FBEE94FBBDDFCC2C76D10816C98A9E5B3E1F676776303BF3D6DF5BBE6F25D33469FA4BC28B37CEEE1CDB6BFD3267D99AE66C37F83E7A4985CF5740781E72C1283CFE4E30C12C20BC610FDED7DFEF8C100C9885F00A868AE1B2B7CA1C8CB89692EF105D9B36747B18EF4726A885CCB009CD447763F830BCF670DBE73A1A712DB460BAC971089DC5C860A4ECC1FB396606E4E43DCB845BBEF52DD5DD19F7FCFA9FFF2671590C28907ED92632133E8011C688600431FCD39870ADCC502113349BD8698C38C604C62446ACF0DCF72A13FE64DBAE6F3E977BF31378BBF24A34C0917E0F13BFBA7EE9CE92AA9A2FA98AE2515459551555555DAAEC5224ECB8485154C9ED52B155C8857D97AA90E2C25671B632E12FECA110FE9E146C5DF656C5E7B82429B2C2FBA62ACB7C2D13C70C7C8FE67179722E972BD7D971F6E7DFF8FAD77E52E00F8CF7AA299115C55065C5B812135428FD6C6E42B24B5DE20BF8B7BA999818CEB6F8BD5A749CF7C55655EDF398F8F671FB98C31466186F9981CE5661A6802132B6B284214B3430D87FD2D6C4AC3DF4025FF11E64824457CB008F3039A611646915928A4F400B52EC214B264E360B3CB2014FCEC3B4B71886814B804E62E864EA380B173160ED4C8929680A4A624F50D3FA1B5C55D649D1659258BB540F69B91C9BC3906D92920540E0BD8968E8CA18506882D8CEFB410ABF0A12EDD9B19D1A1A9708B321A455997D6B9915FB7DC15055E7BD5AF0B99C3F2E8EC985E759C7A2D1513A76F204699AEEB5FD51A1FFB9A60C601F78AD7C8A740577A64EC3FC161364F296448254BF788920DE74624F27F4F463EABC0C508A19A0CC64406DDD223ADBDE469964DC6B6BA56B1A0CBE2A824F437ECEB13C13AE9421B22C5F1318AA4A4C52457967D454BAACF39C1844B95AE217105EBAF7DE7BA5E1E16129168BE5AF170A85CCCACA4AF3F1C71F379D532F971192245D1503F291AF224B922AFD76CDAD84EF97A4BC765E71005848F83D7BF6C820BC1820BE9C4EA70B455644E0CDCDCD061861ECDFBFDF703463A18C90AF920145372DABC5EA343699A56F3F72120E530715E042B19519BAF3BE1856E03AF5B946B2699DC7FBD6E7FC5ECB9FCF5BB23FFBCEB7FF2BDD72EBAD450F230921B832E2CF46F84C26A3949494A8A3A3A31CFFB8FC7EBFAC691AA0B56A60ABE3B886CF359CA781113A3382B582DD8463A2E66386749526A8C8964D37411EB74C37ACAD1488889110DF93EC0C413043980DE7187F2EEC46C179E298D8B2581BE25AE2986C526D6DED8C8729B807F35A103E97CBB921F51E2F5E8140C0FFF9071FBCB9A1BE614F7FFFC091C77FFAE367BBBABAC693C964069039130C0673D012ADAFAF4FC775F48598275B60AE09034C2DA7537C72824A4ACBC431BF57A57DB73515219EB950909A0FB8A69D378BC32D3CE6BCD2A914E980B01EBF5FBB521B0F620A5001C2BB1CC2E3B97C7FFA677FB663ED9AB5F7E0F86D269911483E85C2E17D5FF9DA5F7C736478747F5767FB538F3EF2C8FE4422110723D2914884199163466CD9B2C558BA74A9311723E42B4441331F0680DF1B8CD0F1132DE4F35AF1000755AA1D54A90A07588A08B2C4713E867D378E2BAA7D0EEF73D4CC8CE0F364652A3A760230D9223C07306C72F851C471FC5D5DC362928E9DB81CE2E7090FA957407015C30D61F77CE10B5F5873FDF5D7EF2B2DABF83060707D0E44D7721AF1D6C0978A842449DED2D2920FAEDFB8F983FF69D59AD191D1D15FB59D69F9F92F9E7AEA0898C48C1039A9A3478FCECA88A77EFDF2B5F301EC80992801102E1C0E0A93C14457A7497B910608624AD84A969902313918E320CC947432142B8C1554B603359DA35E8D833D49981CBE7D5DD74805612005976D6E401C05765D1D1F1F777DE94B5FAABFFDF6DBF781701F77B9DD6B59D273203A6F99E04CF889589CA2E313545D512A8E3903CF545E565676FFD66DDBEF6F5EBBA1331A8D3E71FA64CBE32FBEF86C37AE97814669F82EAD9011D70205153B133D47EB6FD8466E977B4E7333B709BABA3880B76FBCFE2A08965D8851954108B6F3EA830F3E18DEB76FDF4741BCFB20F937B10902B184A41712B8ABF7029D6AEB14DF934CA7E96CF779AAAFA9A48A9248D17942235DAE65A565655FD9B673C7979B376F383C3E3AFEB32387DF78A2B5B5358A6BE7A06DAC113ACEB7D4D0E6C24291933A474E43F2B85C5714585CAB176B859ED3E44B991D26FE3DF7DDB7F48B7FFCC7DF0496BF1B8703CE39EC47980C3C58FA0F1C3949FD83C3E4F57828994A0B13E8F5B8280B069DBF3844274E77D2AA650D2269E8C3F1626698B24B756D2F292BDD7ED36D1FFCCF9B6FBCE9F9F8C4F84F5E7CF697CFC3D4A5B2D9ACC2760C6650BE9C5862760D20CB2CBC1371C042B594EF9BCDD17CC467B3C392DFDBD3BFF5AFBEF3DF777FFC23779CDBB1EDFAB585D7181D9BA0570F1FA14C362B046A1C66A71C921F0A06B8C443BA69503299C6BE8FFC3E0FF5F40D503293A5AAD230909F8B4A428122463020C3D6EB76B9EE0A9794DE75E7C77E77349D4E3E313A32E232749D033C176B44A18F988F0973A0204564240B5F99AC4E47DB4648962D8CCE5B919CE37D308BDF4BE298649F4376224F12CC949DCF67F97B3EB66BD72E6A6C6C2C6000D17CC2F3F0C30F131E90713CBC36B9202B0DFFFACCF30D2FBEF246E727F7DD5392D5CDF2A3A7DA44E63501694F249254555E4A6591B070F4E96C8618E9F94074BFCF0BB764501A84175959DCDF70744268860F4C08057C1401831CDF51CC10F05375FDE1C0603F199A9EDBB8FDA66F4C8C8DFDE8B5179FE964F86A07747332419D4B4A65B5D809C6931A7DFFC9762BA0B28764E6ACADC1FBF6FBFCE739FBB873ACF873C9C8155DE79FBEF78FD31800273D8FF2B6B4B448C0E632075538D1A5DABE04845CF6A39F3D698C9AE9F4997DCF7872DEB474CFD9CF5264A84A68001355823478DC6E7C4996137E423B3C2ECB4FE16648D30D91A9650D61A6300387A3E314F47B85C9522D824E31C13673001640AEEA5F46CA4ABFBEF7EE7B0F6AB9DCF70061FFCF5D77DDA5CFC58439E380E91EBDACC443FFF88D9D050E57B6918F938C93A739523B9D5D1407C853893BB9E03A3806A759F47D9AC6819A346781837339303F92CFE7C3EDCA4A61321044904361C9EB3A5D4FE98A3EA3A3FCB8DCBDA89D3EDCF300B9639064363D862E88EF76BBC43D88929CAEE3BE64616644240E46B1066512295270DED0E80460B95B149CC201EF741F911F1002035A2585ABABFEF284DBFD93A79F7E5AB8A4D99830070324F205C2D47BAE03EAE91337332F0A2A4240724106559E9939B589CED228D9E9067E6691F611E6CA92521920405216586192677E4F5857299829236940954F053BCDF4920169A4FC0DDA1930A8E3DC6E32658FEDE2D8D718C45539A68D535461C6A43219A119160C97854F08FA3D14F0B867202B6700B975783D5EBFC7E3D90E3E0CC339BB39D107E79C87AB97660088E2F3F9459A40677B8D0792B8A2E5B62B5E5CE9724F55C1DCA2E2E59E591573DB553111C429E2B890305B855902735A4E6C3930CA023266B239E12CDCBEA020CC5C2F4E0D400B4C607EBDEDC4A917823B027F5F565EF60720BE579823B8851DF12DB43FFC3AF9E31592FB5409DD50DE66AE5B7B4672B9E3341A5D4D67BB1A48725B68C7417C7C8FA699122650B624833C7625B0AEB2D4BADF5C01F1C9F20BA9547232194FC67DC1C0727E3E5D17518F0426B81147683045F9169B05C501B96C5AD8BB903F9C8F58F9C13849C7EF85C4EA9C4234280B3B6E18A60872B2995C01DE77CA8C53E648961D73250B66C8B62972FB205D818038164F24A8A7B76F5E06B03471E6922D472A351E7BE5F95FFD5D6363D38B1BB65EFF67BEF2F29D7C4D9FACD29ECC2EDAEF799D0C58B3B158B5F4F2812A209B2173EF9E9F4995E5B7D3E1F67D8222ACD94C387E06BE677E1E2EAB7278B8BCB15610D4927A9A323518F01FFAF99EDE98D7E70F4340C306EE5947E0699B7090525639E9074191662B00CD15070083A7A9BAA9C9CAEBFC1602B1BEBEF3944925943920AAF0519CADECEEEED6E03FD290B4587777E7999E9EAEAF6DB9FE869BD76DDCF479AFD7B3A8428ED03DC69DF4B2F22AFE6E4448EC58AC42FAE50BF7D023DEACF9F6BE3F94761DFE386D3DF94161EF99E91E085E0E9AC88467AA710C614C0BD01835B5B79DCD66B49CE2F1784B38E690748BF01297609909C297698CD4E604DFB3063A92012324BD33B58085C701064BDCBC6733C45BB26489E676BBB3204C12630204187EFBCD432FFCF89F7FF0471D67DB1FC5B154D0E5A18F793E445EF566487719AE0D0D373C949A7449EB5FBC9B9A5B77190C49D9C667B16DACADA2E6E58B853018B3D8F9EEEE73C6818387F46426E366030DFC2F823E669E1870F0D0182D118FFF5F4E75635C6E1CE0A4567F7B051961D22C3B4AF369013301810FE7F1CD542A652412091D2A9FC5FBF4B34F3FF5BF8F1C3AF0D29D1FF9E8679A962EDDA5BA564A41B5993463188E7E90D6660728A52322CE8581BA0D93B1FEAA25F5524EE48D7245769EB723C323E6C137DF32897B75144B5B249674DDCA03E942FA75CA66336F0F5F38FFDFFA7ABA8EB202215216B585D922E3397C803423B33799C8D10FFEF5B4C8E34B76FBA62C0A2C867DCC7A2F8664EDCBA6F5BEF86FECCF9C73EDFD2F7FF94F69DBB66D530CC0C3999A7EA9685930E1EDB7DFE69CBD8998C004FA3060C2F8A173B0BF99A1A1A1E4F7BFFBBFFE7ADBF6ED5B6EDF7BC71F54555635F9BCF500094DF4800D165CAB05B090345D334F1C3F6148AA4B7622691EA9648A9E7FF125633C969015972AA9EC016D625B484E129D207A2633383832F4BDFE9ECE5FE3EF46713C09E9CFE2BE38323667AB6BA8735926768E34AD600C783D551F949C5A61E13FC32ACC08A2CA79224F1D73DE2BA2154596A698323DEF648840CC5C80A99AD204403DB3B5B555347181B07A8EB379B29CE671E8C081E4E183075BEFFBC4EF7D1851F7BDF00FA1E2F845462C12906EBE79B7141D8D9A478E1D17D1C0FE575E355ACE9C9514974B667F28394E5697040D2403FFE5CC746C22FAE450EFB99F02760EE17A51DCD624FC440AE631575F5FAFCF0641E7334126384D3A20976A174A4201177DE1136BDE95820C4BDDF8440C8FAFE80BCC1B0926D80F69421B0C405403A64843A0A6411BB220461AC4483DFED31FFFF4A5179E7BE3337FF8D9DFDBB061C31E45F41F147776D42DAA93162F6EA4CF3DF8A7DAD1D6369553179477B096B96154A50314E5D2A9DF4C8CF43F02953B07BB3F06664F60701F13131FFCC86A070E1C30E6AA2DCF1907945556531A7030191BB7A5DFEE60730A2A85D16DE17B688E245B9D6DB264075B42F72411E64F85EE858ECD10CE4E981D9C97CA66C950DC6481BE0527EFF23979471BBABABA848A81101A0801D3AE65709F299884E4DF7EE7DB7F77FDF5D7BFF4A97FF7C0034D4B97AC74D05EE18049823F3554416C6176F4BCE93175AD2B161B7B24159B380A8247717C1C23664B7D9A5B2B1904CD47FC794C9095905301C7B8EECEAA26A0646135AB508A597A38B2B589CE4C102D0D7642D52A695B5D700E84E374803033BAC500C6D94EF633AB8121B88EA15F7E2BE82CDA60F6F5F5B13670CE5E03B1B2F8AE0CB6A9B7DE7A2BF1E69B6F767DEA539FBAE5A31FFBD8BDE565E5A58E7059690329030E781C73A3F3D6D4C67389D8CFF5D4E47360E828AE3386E799C4F9095C37059A6481F9B5356BD63866C7BC826CA8449363231408472810299F41EC773A0ED060FABEFF831F004D64AF08864DD306DDD1865028C47E814D524E2478B359364BC9471F7DF4E9279F7CF2ADAF7EF5AB1FBF152F10D565FF7DA600E9E4243DFB62269BFC3938D1CF761EA7B0B911528F58848BF95C3FD6417C4E3B18575C0F80444A5A2E4B1EAFAFB885EC5D7A21B0A1F2D232D23229E5122D85F4AD6F7D6BD6CF1F7AE8A1428D301C6D80741A2096CE389D6DB4A30D205CF2E1871FFEA7279E78E2E5AF7CE52B9F5CBD7AF506495652C2446AB9A3722EF963E86E17E8300A783C8EEBC56009126068BA50EAC17013A8CCBCAA8AD81458FAED15640C43A3EC4C13243536364A20BA0462C9BC2D2B2B93CE9D3B273534344C41E6C949F38B5FFC227DEE739F33EEBBEF3EB30029096D3873E60C85C3611310D50806839CA5E40921699C963876ECD8E4FDF7DFDFF1C0030F6CF279D4AD1E23FB038F629E00292641D2491BDDC4D9A123E6C8E025500E886EB4B4B4980B91FA4B9BA0590264BE6432ADC1DC98A4CA0671A2520148C937DC2A4E878393A6B69B7065273B2A4FCB90CA536969C05B98872224C48158611C800796A0E240278BF9E6DC08B414201C251A8DAAE5E5E572329994AD34B626EC6E4D4D0DDB7B6DC58A151A18C584E7AE373A74E89009E9362A2A2AA8A3A383E1AFC1D2CB7011C4E4C9213CC3C5FFC31FFE70109F3DE702C0D734838F73A49D842FE12E6D76E6A25D7ED3A64D0BB2F597A701B3BCA21319FADADFBDFD8E16643E74E79DF9EF134ED9B49C321E96892F373535A9CB972F17FD3E207E7EFA14CE7571CD56B25E3C83864D4C16B69ECD43925109882F0876C30D3748907C5720109057AD5A25AA9B2323233A8E39F30F38AD11E74A1B2B0EA711B8F8CE3D426072361E8F67B1D558EA21F15724F59766803233100B220EF8A37DABADF262BED4689723ED12A4559A94A6CA947629D2D9E6CF9D769C057FC3C68D45DFC7CE2FA78B34B104022A8B162D72439AA54824E202D178CA5408E6A3A6A6AE7E177C55B36E182EC3D0659807E6007C983606813E1A8B4DBC9198983843D6542726A4525B5BCB4EC08DA899136526CC918EEBEB70CAE6C0C080067AEB5CECB1B5C960330373C34467AD62476E3CF7DC73065D83D99B736980E90BF869727498422565C0E4163AD9BC32C26990390A318531813AF3983C95A2968B2A628AB826EF271177F0FED0E0007574F702D62A3A131F26C60D02852B2B2B15486E685573F38722E192BDAACB7D1D08AEB0B66802C64E0D4E81237ABD2B99C999BE52F7392D97FA935C3C7E94B54593A48AB412FC07496580A91F03E55FF078E82CAE9D8566E538780293397660FFA08F8D8D01187808668DDADBDB45F56EC78E1DD2DEBD7B4DA747E0DA6A002E150C95028767C510D35A4CCE91CBA41B808976354BB6F32085BEBA285F0EBC2F86CE5BDDCA12629FCB8D9C41E4DC3BD75F75CD6A98D20CEE58B35A495835F8EF20E5AEAAAAAA10A4D65F575757B963D7EE2FF8FC816D16A1E78F1346A2514AA5D37C774B65C5F3A4ECC9EDA65C8E3435F81080DE162BD3296D3315E573A478393819278FAF57761B4755597BD1AF538B24E5D27633169BA62C408098BFB66CD932D159FCDDEF7ED778ECB1C74C46638CBC2E971992CD049E81C273B1AA3096DCF63B77DC7DE7873FFC99646252B4095A5D0C72513951145A64BBA8621F7386E87493E47C7026B1F44B76F79B5D7674127E923D1F4CB26BB00AF68747A3F4F21B87E85C57E7CB1DA74F3D06D393D8BBF78E159BB76DFB0FF8DBF2296937F2123F5D03FA078728914C16830B43FB7A5A33BC86EAFFA6512428B3D776212C40E4DA0424A1D734F4636E457A3AA41ADC2FC94E39CB4C81D6088DB1DBDB9DAA97B15066CC61820C8A4D8C51455DFDBB5E90516C269EEBEEA6CECE7637CC4FC9F61B6F5CB563D7AECFE3593CBA7EE9F4D0E0F0C80CE25BEA2995ABFEC8E71D2DD5307E9D4B5215BEBF11C8AFD494EC4A97F539BC30620D5709DE978015EB317E3F0AE78218A9978CEC6B7E97FAA82B9B3D47D6BC661E399827917E86666880CAC6A5A640CDCA0003FAB990077DA7E200FE6E6E1B71CBAA67CB962DCBF67EF043BF07A62C88F8ED1D9DB3F6B2CB926C4A3EFF9D6E45F53B4596DF6493F4A699257C22C040184C6884B636904275785F8EED0CCD80449A1EEF525C83C7032399542A9BCDB4939E7BB6CAAFFC08DA1005724AF5F7F7A711A364C1046D3E26CCE903CC7739FECDABBD6D42B8F85D595911F8FD073EFDBB70C4FE8510BFE5749B3063CEF50ADA03E1C254C9EBF3AF76BE675CD7E8955CCA4273A6D54C9C964CEA00F43D479A88847C78FE45B24AB56044AD60882C9C5C21435C6AD0E7F7073680191B12BAFE1F4712C9F15C2679844CFD5FA2D189C7CACA8415D22F2F15C1FF8CE2BF49A434FAE5EB3D53933344B6DC28785F306983739A5C882998C031B56F4FDA206B9F1BA07882C6273FF9094280249C33609FF0319FFEF4A797FA03018FB600E27775F708E26B20EC850BFDD479AE876EBD7997D5E3836B45CACAA788071BF3CBC4983041AA24E5A7E11A1D5DA40F0D926BEB5692E1ACF54090FA40BB7E51B33045FB5DB5A450354C6495A452B92989E9B953DAA1B2E6B2C9BA150CB9F5626FD7BA322AFB1A07824E6A64813E409A31253D07E472B2239A9F8264CD0FB6A61D59539134FBB89E9F7AE44C5192856F2A98BEC49F19CEF4246BDAD26DB77D8010645116C447B043376CBF914A4A4B1764767A2F5C14367F3216A3370E1C164E5CE4F04134B7EAA6D2CA2AD1EEEE10FF743A4927B3A929E2F313C7E23C3384BC9B3753F6E44982F3A14C4B8BC8EE06D6AF174C94004547F1DC63A6416D785EAE8C95E3F30A8C1A7CCE3EC4B08BF6C9448C645DD4B465EEE2BBACCE380E2519B13084243B3D501272D35F3FB875E14E5855175490B1D095D514C5929F02213510A9BCA2821642FCBE8BFD340AB8191D1BA71818D70C2DD2C1D41C8049D01FA4521052525C537D9DB8F6D3C35181CAC4F44B466B389E3D7A945C8B16510EC497D219924259AB210DBE28D3DA4AC6E4048556AE266E42F7D7D793CCED2BB8FF98C85D18E487A9AA92A73AAA476213884344414946142E5D56454C4C490A96D0E8C0C5BC4390ED228B28B6D890917B6624CBA658C7C8AE01F027F96EB769693D3EC19CE65E6CE230C3D7AFDF408B97342D88F817FAFB69606808921F1797ABA9AAA280DF87E1273F06202249D000472A1D0DF846C3323A9749515B32419DD086F3D934796EB945F80166863E3A42FA204C51382C9ED14CA5C8C4F58C71302E18A6C9B7DEA292952BC9555222FE864D6C83DB436E49CE339A103F01D1718E4981439619112DDC07300EC3C55C5E1FA451170515A9A0ADCBB097CE70AA59CE977281C5EABB74822F1BA7E31A22F0D2ED00AC08B75B7FC37CD9B665132D5BB69C1662F319E7B3F4A75269D1B51688842DA28BE1132D95395C3B93CB92EAF28868DBB4F13EE0255DE75269356C3CEF67717FDDE93475A692D40DC60C725B644DADD0922C98AC43C358A39919FAC438052ACA2900EFEA4C5E0EC1BC5578BCF9169654D28AE8C942935EC431B96834CAC19ACE5DDD85A668D6406CD7CD1FB87BF7CDBB3EC319CA8ACA9A6B5E9071D213AC35CC24C038989F2CA2EF9060DCF4A06AFAFE48748C4EB69E1601145F5710DC21BCBDADA9AAA4E6EB560B068D08133546E3937198A984980FC0A90A4E89CCD6729EC677F4C21FF464D27401DA118543161ACED3A7F0776938EA605575DE8CAD7079A9D9EBCFFFFDB98E76B893047574F7A48787A3ADAA2CBFF2A13DDBBF3931319145542D161C711831BB0F900D29872F2F59DCF48E1564EC4893AB5EC459E050A46441DF91869F38D3DE21DA0679FA5431E1ADF7DCD7CAC4E717274D1B16D589C16DE89CF2E0F362305B0343C3D40F1336323A46C9748EBC38974D2C3BF0EB60FB579B614BA21959E17B2F403B06708D586D9DB584189B5EC872A33F40882FF20C48B006E061C0682FBE73735975D5E6E1B1C9A72A4B234E149D0303F4B97D80665C513D7681A49FC2FB2006A246487E90AC4627FD12451A20B1D36784C9F1E76DBD6FCAEC60CB91F49AD5AB6665F8A9D63382117C7E08DFC9A36151AD48AE71235677EF79EA397F0191F4A8D09448492979BC1EA1C9AB60E3570643E23A49DCE700846608E66D027F570B73E7405C36D90C59A3639334311913CD0C1BD63553FFC0E0FEC914B0A4697440A3BF71EB0D9B9EE4479A2B12B689215D73A97708C9034124F984C4FA2E9958E3D7E9F6B394014261671B0C068A08CF5B4EC98C4F4CD0C58101AAA9AE120F2F203488F4EA8183B475E3068A84C3F9EB9D077CE5F8E1A61BB78B06AD15CB968AE10848CB99366A3D739606016B4B4BCBA8241211E62A0C8684DC2E5A5ED82B6ABF1FEC1BB0DA17CFF709EA6DDBBA498004BE17105EC573AF0E05035F8763FE057C42760E276C55A48A0A329359FA2FDF3F51B0C480967F9F2FC208EC6F2D5F203E37B4A9B8C0CCE53BE9B855D2EB92E9B65B77D337BEFEE70B72BA3D904E76BC0D75B5545559516476580B18671F3FF596B0F967BBBAC4FD57C259D6D7D6507D7D1DEDDEBE5DF4FC3BAFCE73DD82A037EFDC51F43D1D5DDD70EE1769CFAE1B69C3DA6631D854B68219474FB488497E6508EA6A6AAA67F51FFDFD1781CE86844FE3FB8CC0AFB136713BBFA4C954561AA14422C56D94CA962D5B24755A25D8B4C300D398163378DD0ADDB2B5A660A902B2971D30F3C7E482F7D6B20434F33CD98A2A79DED5673E73FF8234879DEE998E4E2A2F2DA5258D8D33CC0FFB83577F7348CC2F28345717FB07E87CDF05D20F1E160460F3B3A4A181962C6E10B0BAACB464DAAC1C9D6A6BAA68F9D225F963275A5A61263302A1AD5B739D20F24998B2D7F07D091C5F0ED4C6F3229C547C3C364983F02D0C4CB65FBF99E289A43099B29816E5C17796D2F8D8F8E392D727B5B6B6CE608061A34C44F406C501B94A3884E7B8C0ABD0DD7B165F71679C6C4FC466F306EEE341AB0554BC94DDE7CF4F8208FC10EBD7AEA19270B888013CE5F4B50387C49C8222B430CD7AB2669C6E3B0B3FD026AE590E18B97449232D6B5A4C8BC1144666A7E05F2ACA4AC5B59DD7D2258BC5BC85826E0CC120D62E1FFCC30BFB5FA35367CF530382330F40C1F9BE7EC1A48DEBD6088AF27D6B9295B2E77B07732E365695FE087EC7E47E51B590F0763E3B07C09555E1D9BBA0F672DF79581723FF408E1D2FB4E76296885ED0E1266C3CABA76EC703A628C858785FA23B6EBF8D56DDF7F105055B6D9D5D5C54A16D9B36516D75956DF72DE2F3EBE8F193343C323A77B5638E0383C3C3C257BCF2C601211C8B1BEB69C5D226F11DD3937B6B56152F84188546BA3D6E61C2F6DDFD61418B378F1CA37F7AF427C2F1962040634DE584A29BEC2056F1D85D75B92F13B9B25C870600C9C350675542D6E134BE34AD33B1105E0BE2DA13D784B321C38E282D69366C7FE1045D46BE4F5E77FAE405132C629B42EAEEDDF7D105999E18A49A9D64457919A4FFBA227B2FEC38EC353BBB85BC2AA0C9DBB66CA0336DEDD4DED553C47C76D20C6D99E07C3C0C74B472C5725AB372055D875108220EBF7D0C840F513DCC59A15630743DD3DE2E34E9C66D5B0472E2E39AAC91AC29E4F2A874A1EFE2C1DAD2E051EE53E576184ED0A905B65FB78B0A09044EDC15509C2AA6A94CA231BDE4C844B7A35F2BEA752629388CB0D68670BB14FAEA9F3C2810C742A4FFC4A95671EDCDEBD70B261476500F0D8F502B88395FA9AFB000C179A21F3CF22805012DF99A6B11272C6D6CA0370E1EA20B70AC85AFB1F1091C3F4CAF423BF8DCC5302F0C6DD7375F479B37ACCBDB7CE7954CA6E8DBFFE3EF054D56AF5A41914838EF5344950F7E2F1E4FE4CA03EEAF72FF28505FB6A9A949CC1F56F325306BE1540E122615B77B92D3BA4E5DC0B4E7FB1B6621138C295363D77A674ABFF5DED4AD952643909C51A82F3BA24244326B92ADBF9F864646849FD8B4BEB988F84C4C363D7409F23BAB1832CE0F427B5235752210E37BEAE9394F870E1E245544B00655C1A6DF7AD32E3AD5D242C75B58135279E163C4D4D6D1453F7BEA17E481E9698649626CBF71FD5A1171FFCFEFFF50385E8E2BD85C71F0A783F8B2BD145D1674191B1BFB615D596800DF9D840FCC71839813093B1AA0D91A103B75E2C88B43172FDC93CD64783D9D60CEC8F97912324CBA6A55E81DAE19F9A5540DE77FE79061D8F3CD141928C51D8E448266BABAAAADA3F377DF3E7E829A602337E221F88166C48120D08996D3E2FD22C0CEC2862D8E9C8F1C3B29187E49932F3A6C64DA04E77DE0D041384DBF605E241C120CF506C3F97887AFF7D453FF4AF1548632F92512A419653C96F6836F1DA1370EBD29EE9319C73929BEDE0D5B375219EC3F0B273B5EEECF49A653343A1A8D56857DFF887BE776C60CF78E3AFD87B3F980D4D8D0D000062F1BEC276B29630F4D2DA0B7E04524B8A7C7E3F1A8BEB2B2C0AE9D376EBCF3231FFDEC249C14C3BAC36F1F150E70E5F2A570580D70820DD6EC750EB8605A92764DB7B2BCAC085A1E8359E26506E892C6C7DA326119A232242D05F2E1006DCD8A65F49B8307058A6198C82691353C8E404EA7E9EB7F4AF396523936E157D392066AACAB17ED2BDCE5CD0C494E24C504BF5C26FEB0A9F8C7407C7E288DA53F9F0D75FA261DE12B6006778AF11FB8686AE542F91202379D0172381CF65454549420E888404DBDA525119894B508FBFB04EC7BEDC061FAD5732F513C9910D06EEDEAD5F92B334E5FDFBC267F3D7694B158AC5838E7F97E8E1B2621F12CE5F50DF562CB26F0A9679E8526E5002F4382F8B7DFB4930EBD7918CCA9A40B1707E67CBCB998C0669203B672405891E9D524CA61CB2BB20C0D0F9F2CF1F95E83A38FC1F4647B7A7A8A56FE550B7BEA696A5960A3C024152E5D7F39793909C4976B6B6B7D1830F91E230D69BC0049ECEAEE15F8FDA377DD41837080FB5FFF0DC2FE7620940E01F1766EDF2620E147EED89B37513D403BEC13E6F0B4336E6D15A49C531DBDBDDDA47A7CC2143183D956872325762E4A1708E857CFBF00014889495452910FB9B4A231DDD8173435348AC9E81CEDB2F473AD02C65EF74BFA5F1886340E3F94BA78F1A236BD30A34E9FD8300D15CDB662E18219003CAC5457572B6084363E31D65F5DD790EB4FA65CECA0A3E3E3F4D42F9E1548E1037B76D3FD9FD84787DE3A4AC74FB5D0EE1D3788918F8447A3D48B88F6D22D4E533777B6F31CF583085C750EC3806EDBBC911B73C5326A69FB9C50284093B10465755E33C2234083A66B0BF99AFC6B515D0DAD5EB95C3860617A60FB0711C0A66066A323234F843D4A2F231F4E45D7D5D5CD58F95D9AE7274C88AEEE1733A44D9B3629CB962D0B80FB3570A4CB716CF9BA0D1B6F099755EC84AA97B279E03224E74D3855CCC868EFAD7B8406D42152E6DBE0656638F79FB3D1CBCCFA802198385FFD80F713F1188D83E96E9F5F68DFA6F5EBC80B89EDE83A47E7CEF7E7D1D1F4BF9FAF36C1587FCFCE9D882F360A84C8D74827D374B4E5141CEF585CCAC4EF80DDEF71BBDD51487F9ABBE816344DB5E0A42B6E3C6526DE7DF7DDE6E0E060865720C42ECF28193875E2F87E6C8FFBFDC18A65ABAEDB1D4B259777F75EE00E67102845FFFC93C7E97B8FFC0BA0A3873E76D79DB476CDAA79D60D9AE920D9F44442613A7BAEABC09E038A82F09542CA2D22B2FFE9E2C089D7030A975C517FD36A04691BD6ADB11DAF053B5B7ADA84E34DC4C6FE26E052A3600ACF259855FAE7D4806BF5BAEFBEFBE4D2D25217181084B32B038AA906232AF09DE5B09325D80F633F5853B768853718D9DED1DD5B01272909AD8046F043FEC1FD9F12814F6565B9C8B5E4A55ED766B6266ABAC0E0C78E1D251F1C6C2920E1F6AD9BA8BDFD2C45276222B22E966443980DAB3F756152EFECB3C3FDC0CD3721485C2BEE85B5B083E385B31D34343474CAA5673E87E7EC0D85422C78DCA0652CB82BE25ABDD8E17067586F6F6FD26EF5CED8CB098C605BCACD16BCEDBFD0378ED0EBB44755C3EB572FDF313436B9AAADFDAC57B68B34CC108E4E59C5AB2B2B0461E75A2A1E112735352DCB136DFF6BAFB339201782311F0647C00C6D5BC1947308C61604A7A6BD1839AD5EB19CB66E5A6FF7C84A14872F39DBD945C9442A4BE9F85F1A8A320AB39B282B2BD3A2D1E89CBFFA21BD0BBF06C2538A64D840955BC3813ABCF84E5E6529088246C00CD6FF12DEE238EF87B10D044391464F30B273CD9AEBAA9C950F9DA527F97DC0E78603AC1758BEA8C8AFE9F9C5986693E232C0E0236FBF45C148A99803A74FFFDB4BF9015C7BF9B2A5F4910FDE2E8249CD1690675E7899C6272769F042DFDFCA7AF6A7207E1F1835B175EBD68C334D6AF6D948EF42D721AB1F42F11CCFD185438EF10C43DCF40088DD8BFBEAC4E0A44E3B4CD259BCEFE262556C72BC253A74E17145A25E3C8861E8C51D16D1F1181D397152C411DD3DBD96C99A3D782D7A71D3565DC312F20782B3A259966E0700CCF6E238A619B69F530ECEAF871C4770C84D61D1D1D116339B7A8613A610B084DFEFCFA71CAE7A8AD2559622F31017CCE0004FEBEEEEE6F66E5E4680E7D74EDA4E3AC49DC81865EC2B0C38B0979E7BE627EC27D6AC5BBF35102E6DCE64730127CB2AA4131AD189B8820B369CF0E3DC3E9B2955ACFFB39064451170A08D6B56D26BAFBD4A2BD6AC833DEF2C2696AA8AFAC0EF7C608F203C434E2E6B9E81DD4FA5D3D9EC64F4615E250BE7811FB12C4CEF257F6EE55D61C03464257E0989B58267B4F35202C16030C3613A18C2886102A78E715292138378CFF370CB4F1D3FF62AF6DF8C9496D52C6A6CBA01C7EA321943D60D3D9F8165D3D4DA765654B15805962D5D4CD51515A240244D43D4D21C35EBB33D88375C5E6A873D9FEE1EB880BF7BC776AAC235D91C4EC2F4EC7FFD0D91A61F1F19FC7BEE15C37D8D01F3A778191DC0CE4BDAF7778D01B331C3EE16E3650574EEAB8799CA42B2786E6E8227CAB14F65A7CDCC00D3CA583BC6A3A3718C8BD01C7F655DC37AAFC7DB8C38C2AFE7EB1116BA61661C3FD16A2F3B43545F574B353555140E06E75DE57C1C4194CBE3CDDB7D87FAE150889A20FD3BAEDF92D786E75EDA2FD20D6363D1D6746CF2D78AE578E3761A67413FB725BD177E92CB09FCB85909CE5AFCA01054D8CD8B0FE2236196B02DC57E296FD969DB8D6401B188AAD7571D2AABBC3E9ECAD42493492557B04EB4B3F68FF39E4D166729972D5E0C275E9D2F37CE073FB948BB148EF70144EB0D7621E6ADA3C7E9B9975FE120323BD07DF6DFE3DECE605C84204D0C0F0F671F7BECB105F5F5A8F41E784D374FD008CECAF24C452D1008A4418438AFC9C044B77D846084CD9850369D8A8D5C60DB411E7F30B2CC152A59171D9F28E7998EC5553AAB50A4C161B7B6B58921BE130C61CDE0E45F085B5ECC95171AB4FA5B89AAAAAB80F79BF3C41F1E1DA597006FC53C83E1FE7FC0775CC07B5EB02301E26B7335E2BE673560368D606D808F90795D505E0DD5C30BB921A065AD809A87B08DD89AC04C88D81AE1FCEA1F435D37B4626D4637575D1C180E4FC4262567C9FACB79660EB8EEDC7B1BB5777489947563C3225A0494348AB8647C7CAC75A4AFE7CF211C5DD0B2C1542A156F6E6ECE3DF4D043FFB619309D11DC5FCF9019EAADC4E3719EDFEB867433239C9F5C149A81AD8823ECFD00DEE77F85C9747997A7B2DA8AF1C95859747CD2BDD0E77618C0B560869A1CE8EDDEB18D936FD99EB6339F85A29E8630F4410BC62F5CB890656071D54B15BC575E85AB9EB049E2E5062A2B2BB5FEFEFE2C88CF2B25728E899DB48FA12A88108634B2364438A8B3612D33C247D9541C0EA5D517F6AAB561BFDF54DC2B53BAD130198B9722CA76CD5661CB57E1600A23413F2F0C118EE6C624C01CCA2427BEA7EBD93E7C9F8878B9CC78B9C47FCF3360B6E4A0AD152C691AA05E16617E1A7E829B082679E124263859BFBE17B6734DCC84A0EDB0FD82196478243D3DE633CD2381B047AD0A54BA3226D56B065569BA5192D5B410E20D6F3A93514D7CE5C0C5BE83998991B6B0626AE125F54D99442290C9269EC7B5863026F93767E80A7F6E57FAB7FA13BDD3CD93B52C84A2BA7816752EE701F139DDE1E79487AD05CC187E1FB4DF8B722B4F7DE55F54B285917F5DC96E7C165A97E31931B2B5CC8153A4E2A0917B61BA780B1F350E4148CF956C7B5F68C042CC13B77BB35670CB07023BB1EA094C860B8CF080311ECE3FD96B4CF8712C08C6046C98EBD4BC7930F475E398F30B8319FC9730ADD2AC587D851788C576001A37ECF7FBE3A150284B57F163D3D2FBE947AA9D78827FCCA7B4B4546A6F6F97797D098E0D402CD60C972DF1CE4A2BE247AB799F8F3313F05E386D6E28B0032A0E06D9D7E478DD08B2D6151AC7E7E3887813FC2B4B0BC5FCEF2B0D58A0AFE0E564F44422C18B686711BD0A24C5E60A5B87214C6C17AF9E622F55C6088935872FA1F17237BC161CF679BE973043782F1678E2250A2E07F3BFEF19301F33C89E16C4B105B442E2008FA36E105886C952703AFFE00FFF74B5C22BB0F0E250B6DDCFE1331EFCB30026CC9AC939FEEEEE6EE34A50CFFBDA045D6EDA835FECC4BBBABAA4A54B978A1FF8844D97B9B9165A22C1C4985C4A840689A5F2F97C5E361FC196397DB2DDFF67C05532C47915202BF172883D57EAE46A5FFF0FFE9FEAE508C4E5AB0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (46,1,'IP_PBX_symbol_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000770806000000CBA9486A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000042924944415478DAED7D07941CD775E5ABD0B97BBA2767CC600683418E0401E624D2924052A468525AC96BCB3E92B5DE635BDEF591B5ABB54451B62CDB3AF65AB22DDBD27A751C762991546010259212098A240890C879069373EA303D9DBBAB6ADFFBF5ABBABAA7270224C0150AF8A762D754D57BFFBEF8DF97354D83E245C0C5BACB1B94585FE9452BDAD6ACC7B5522F776D2958E465125F588411DEED8F2C14137A8167B846FC95320027BE415C916F8B45DBC6FA4A214129E2AB9666EC6BF83AEA352458260358886F25BAC49B6C595BCFC3154202CDD288C80A6F39CBB6625C4BAF768D0916618012C49779B3F1E6B06C1B4C215E219D402BEAF539DEB2D8D27C9DE1CF6430023181708D091617010603183D9D88EEC4E6B2348311640B135C0906B012DF207C0A5B923789EF5B45857A8DDC0B334029E2BBB17979F3F1B59B9FB35B90E0DDD60334DEAB550BF113D8E2D862D8A245E249BB260A1661008BD66F308001F99EC6751B3EE4AFACFD1FB2240BB22C0A3659162449C26D09F018C8323509F018EE63936DFA3E6B32D844895D23B1EB457DDB3886BF976CA2FE3B7E4CE4F791F05ABA8ED674CCD866FB827E2F41C46D919DD74451D024911DD3A627275EFCF58F7FEC0B45FA817A852C96F7140288160620B8F70A20F86D36D9A3135BE204E74D924C06D0F7ADD74885FB924174EBBEC498C0CA403AA3E8C77582EBE7F20C2031A24B06F159C3A71444D26380AB32651CB1725C17C85A98E0DAB20C1160E7B2DF8378E99238B164FAD8F8814D0D50A0A6E9E680466B7D1B352DBDE1F71654248C8ADF1D7FABB135FE48435AA808C50A364161BB1A41339DCAE5BB2DFD25F650784090F05E9AC4EE855D1DEF238186F7D2E8BEC41CA20692DDC6184555143B1757863E90B628ACD750A00403082510C0CE51C049F00C6A16DC4E37F8BC1EEC85481A846106CDB2808CA14337F544D9E8A1748D2830C28812120709ADDF1CF7156214057B2BDE37874D23E6C023A24E58C80AEC7E2AEE2BD4EB0582791DF2CD6D6244C690743C2FC1CA6BEB906755D9A2AB180AAB58E4C8BAB62C6005885614C00376EAE5DB3A3B61D79EEB3971450EC31223467ECDA19941B6983F57F23796EBF8F9C26B25CB6FF2D7CE3F97BFDFF0D02074F5F480A2320670F277908B1C59D79625444081F307BFAB8D18605DC7FA12DED877CBF12B2CEBAFB5B4AE85AE0B5D8856AA5CC254BD46FC15F8014C2F20422DA2B9C094AFF7C482CCAA316DA224F1AF89802510A0788D284B1C20BD675E865B06A502585705E11F79E4317BDA37532565846A546B3DAAA286D05099D9DDD9107AF4D147D52B8D00C5184F2E0291E42B08EFD2F7BBC43F234ABAA50257C04DFDC9FFFA5885A60A77684AAE1D8D956A5555AA544DC5B556A5AAB456AB54B75A266551C1D55494540A365A0BF0E6E951F59E0F7F2A82FB33C81433787E4653B5193C3B838AEFA8A609AFDDB9B7EDE43BC124F242C4E70CC014B052CB2F8E4FC1EBC7271075F19950CB47A34C37FD709FD6A8DA2331C8C6D38F937127EA6E79B62F6AFA31EBEFC1FCBD713F85C13ABBD6388EFB5BB76C82AF7EF5AB251E5C20ABE05D81FCDFFFFDBF75689EF84D4A4E7D1F1AA77723EBED428289ACB308AAEE93D004FE5EA52089FFD3FD17F4D415B8AE1025613D99CF1A59505ADEBFF1FAF1A1F0DD0F7DF255648803686FBDF2D3EFFFC3E9CBE1D594173B49661779DD4A7DC64834037D2373481F4537E08958B8ADEFEBC7F2DB7A4C466086FEFCEBF4738AE55CAEE877FC3AFE3BA7DDB680BE28BEA3DDFDB38F7D7D9BAA68F7A86AEE6ED107B728AAE8228004F27130C2236B93A92A90AB4365A631B12D1E615D40CC632B089C49046412125D881464C2824E52CD5C335661B716CAB13D80D73E408C73FFC77E37F8E0C73F734090C45740C87EF707FFF277C1CBCE00CCF123CB685A29F3CEDD73433DDC797D3D7B4991DBEB64FB0BCC3123B0E364A609A6F906CC7F2048FA75BA5B57F7E431D34E34B6058BA92758BC7E8269FE391D8E92CF6B2777B260BBEC84FFFC57FFFE839AA2FD317E8F1B6A6BCAA1754D0383F191F129181D9B86743A5DA08882C0F941357AB8CABEA54AEF86BD5BC5DE4D8E315523421736A2BCD1AD9D4E07D4D554417D6D3534D455B3F5D0C8183CFFD26BF45D2BF1DE0FE17D1F1224F96B1FFBED3FFA5710E4BFF9BFFFF467172E1B03A006A8D91C4E18EEEF874D5BB7179C73DA57E70730B7A522BBDFFC4D91AD5FE42F30CE152F83FD7D6077BA4194C5CBE6E97BECAFBE7533F2FED7917177E5B42C6CDFDC015B36AE63C424C6DEBAB183C9F10B17079030E3303C3A01C9744627367352A99CE0D8B3559DC02AEBE59AB9CF1AFE0B94F918916BAAAB90E895D0D850039B3ADBC1E37699CF9348A6E0F93F790DEC76BB291A58130517AE3F8D1DEAB77FF377BFF82F6093FECB77FEE7A391CB80001210034C85C2107CF500B8902345EE0924F7B04E8CC2E00DF3E38B3A7290475034AF150BFCFA8C5198C750E63D5D66F726CFA2C0D6125B4B26A248CCEB6778FF04EE1F10445DDF73B85C5059550BE2D0E0A513FEB1C74439B0E6F3A2207F499034C9F8D0672EF4C3C0D018F6C42AE85CD78AC4AA60EFB57BFB46D8B3733364B359387DFE22F40F8EC1F8E40CB4B73631F43C71A69B135C3589AEB2DE0E260364730AF87C5EF88DFF703FFBCEA596A77F7200829159930140D0513ACF0C22FDFF046EDFF39F3FFB67BFFDCDAF7DFEC7978600CCBD8B04C16F9CCB6420168B81E117300338D43B8D808E281605724446583DE0239A0C23CB063A903B59E4F7D19924475143BC87225A3D81FA9A88ADBFB72EE90D3169C75EE2B33B40BC0C0AC0934F3E29B9AADA7E841DFB5E92DC4428E303D3F3A43239E81D1C878BFD2350E1F74173632D6CDBD401814019381C36B8E9FA9D70CBBEDDEC7A7A4F5D64BD08474E9E9F0FF59A2EEBEBEBAAF077DBE1AE5BF7B16F652C842EE1D92854960760723A0887DE3E95EFFDBA96CE1921CF049C211AB03DF3077FFCB58FFDCD9F7EF67BAB4700F2BBE31776626F5ED7D9099EB2B23C1C33E8174C11608578E6B3977582D371D994F75C5CF0EB65465483518CF0AE7E9DCCAF61BF2B70058B057F8FB673992C1301F1441C2E55311E8D685F9124DBBDA248269A1ECCD29534BDF7E6D72244E349388DA870EA5C0FB434D5C183F7DE05368E76BA2EA33FE7AF3DB21F6C361BBC7DFC2C675C5D04342092ECBD6E2BDC71F31E769D95F03F7FF5301C7CFB24CC8422D0D2DCC0089B53147018BD7F1E034081586058200AFFF6B92F7F3DF4175FFCCC4BAB4300BAAB9A83F6F51BA0BCAAFACAC40216D0010AEEE713A1BCA21CDE7EEB6D403B7AD538F0F7DFF9FE5EBCE7E758E20897DD44684D33D685CA1B110AFB0012A899C9EB7078165C2E2742B81DD1C0C1908C89417CD6FFC89840422638CF885511F0C1FBEFBA09766CE934894FF77BF9176FC1E16367602A18E6286283D1F1695DC92D203E377C2DC4CFEF9BCD868CF8177862950CA069944887DAA8EBCAC50296B990E8C9E532C800B9D5DBC4B2FC2BD8314BF4762EBF558D13DF7A5C83C1D16918189962D72B8ACA7C15845C4CC7B1884B423597DB494C0A73F1343CF1F4CFE0A73F3F086B5B1AA11CC5C9A9F33D30139C65C4733A9CC52191BCB74398BFB6E44314A3C1CE3FF9AB6FEFF9C21F7EEAED55E800A667ED3DB130825D42DE472C16BFB7CCEF9FD7CB4DD9AD5AB4788B265FCA9CCB6BF802AC45B3714D532D2A90E3104BA4209DC9EAA240D39F36188EC2C45488398E02655EA61092A730A7E89911A22858086C41E7A275F1B6D190E1EEC6C32B67009D8B25B82CDAD5BBE00A3608B1DA656060A066F7EEDDF95EAE1611B79801166CC014C00DED6B60CF8E8D50591160F7BF7EE716C820F18F9FBE0007DF3A0D49C6081A5300776EED349F83EE91CDE6D8B564FAC59349B8D83784BFEB864C56318373F39140C82BC9427E3F1A9DB3AFDA0A104BD8DCB4F48ECCC1C0588C6B9D1AFB432C43882920C0615077851AE104A3155C47E7692D02DF37B28DF83DE819002C7F03D046AE837BEFBB6FFE432171944BF096F7F5F745F6EDDBD7526CAB17F670B5D086D774A5AE32E04505CDC67AF37A24FCAE2D1DE0F1B80B1F0F2FEEEA1D84F33D43CC294E329D7EFDEA9BC7A1A2BC0C15C97AB307DBF15ED4BC5E372AB74978EBE859A65750828DF11DE7890110B8134A30B74924C593A989D559015CD12AB59CED9D85675E1DBC22AEE07D7BF7946400951367B54BD785AEC8F1E3C7E0BA3D7BE63B6BB4F9CC60987236ECEDEFBFF306F0FB3C6C5F282136BB7A06E1F8998B301D9A65C47118DE4CCE402FBDFA36FCEABD7740C0EF9BF75B72067DE4C17B50C751E0CCF95ED43926600415430D4A8801238782C5223418991A4311905DA51F4010B82938FF8536B7FBC1E36A5B3502481C9E289750F766692B4280D21204EFA628AB933EB8B46FBD199E7DF639A8ABAB83B56BD72E2EDB2D0870E3AE8D8CF85662184B38128597DF3806A1488CBD3CB9B1F9C8D582E44405775E387018F6DF75039C40B3328448B2A6B1163676B422B3D8B9922AC18EADEB59CBE57270AE7B0086C7A6606C2AC8E220854820C0D8D818CCCDC574A7D3AA824192A4D9511B9D9B8DA0F65A0867ED4D3EE868F15F35AEE0586C0EBF292597AEDC15CC53E3C9432F2AC840DFFEF6FF82FDFB3F08B7DE7AAB09DD0590CFBD77B45E535F09EBD63696BC2F4309BC756B531D245343480881FD8EFF07CB86EEEA4D2BF0E48F7FA1CB43520E67FB9119FAA1BEBA1C95C81A58DFD66CCA7FCAAEDEB6691D6CD9D08666E359142BC36866DA39EC2BD0D73B804C14D69F7511457EC96090C3E581482402E97412659CC374CB962664DE312498F9FB86534730DDC482285A1248B93348E01E45C1727FEE7D9B6FFB7298E3724EC5170EE233FAFCE52B4EF915F4AE43CD8E5F4BA2FBD2077CE69967A1A7A7171E7AE8C350555555B2F77B5C76B86EFB06769F543A83BD7D0E66E7E2301B4B60CF4BE0760232D8534999B6D91DA6E7D2ECFB46E4AF806BE62BC6C1681C66CE92C3A98FC509D63456436B733DF40F8DC1A90BFD90CA28A86F78D9B5A150182E5EEC81542A6D515E17F68D2C69069207CB26BB21198B31242081C088670EE2904AE4F05B9B50B4AFF768B9E058DE4D6C3213273A752292EDA4CC30D308E5A0C2ED6D22142965845215D53520C97676CD0A896F24C17AF163D9AC9DE5DCB97370E1C20520CBE0831F7C3FD4D4D4163080CFE78663677A201A4B42329DD6459001EDB896F0DBB964398F0626CDB5425A6BA5285FC244C2FF33B3C80C284E4E2033289ADEE11C7609A6A66750891D84B968544F34B13C278A0B91DE55D334758508A0CBE41C9A2436095FC667D7C3BBA29477019B8C2098C417C5E2009195C0FAB5A2795E32C587207104E0A9DF024FE3A7A7B6A946A8547F2945E70C1D01704D2F2EA256AD2ED30C30609F139F34AF2AEC290E28527AE9631E397204BABABA60F3E64DB071E346A61F545557A14D9FE55680C81C3786450025D6665F2FB15D08005A4182CB42BCA060479845D40B06433039390DF1789C6718A979065079A0299396754067E363B5653300FD253597053B427363DBBA2B96163E4F5F2871BFF1B1513879EA0C43856512DF481E25E5A6025B1D76107B696B481745C3C3234C1C9E3E7D062A2B2BA0B5B5151A1A1A5044543293CE54EE0A923A16DF5E2E001021E7E6E620148CC0F44C10C228DF4911D4BD8F3A2A9228D41940332D22A277269934B2A4D5E2F191F2525F4A4113A2BABAFECAB98297E9896C6C6A8663C78E524876B90F67F47E0F67805AFC2E0B30805410DC2106A48F3E39390989441C262626A0A2A29CE90A2E978BFBEC4533E803DCD2B1C27FE1264735456144252710859633D450B78846E7602618844C26A35FC308AE70D19827BEBE2E4401FA238954D2182761D44F588908D040788F645367F1E3E5966F061203D83802F8B1059819B180392C08D6F18862C1BECE102A324382318BE1E051155D67C9293906D906B1C86145C4C96515247486B986B3485C4658CE040AFFAD82BFCDF1DFB29EADEA0129E695347A3BA140311368AA19ABC8A653C6BB8A2B62002301E35D73055FE2C27AC5F29440EB18086334B4239349CED81CAEB5A51C625604D0730384798C904F5D93780C216FEA194E2495F7604664CE1C744C33CC4D959B9A8617B2609D27AC15EA8D1E6F105F51F3A2807E33393E721116181FB93802805810A7BEEA63010A7D98654503B5A2C6460FA7E2B3431E5FC59E920E31512C480CC933825870CCD8D7C56CDE6F0016E78FA6E51544D3AF50702CAFECCE6BD6D432556F56E52FCF047C3F978B9D3F79F0FC4286A6BC34414A53E5E5B727B18DF2F46E7DF4B599D2CD1C20397D5F338A79287C5BD1D3C779EA3873FBB2D46F85ED9BE9E346DA38BF9F40E28BAE1754D8B97D2B7CFD1BDF288900CAF25DC11A97895449841598884C8F9EF6056A76DB9D9ED6620428116B2F393CDDDA61348BCD6F350F0BAC030B53184487528EA7851841D52CE220CF040A5708C786FBBE89FA4492BFEBCACC4092FD64B2950C9DA209343193BC22B1801AD4BA1742805C6ED9D120A3C2085516097353D0313E78EE89A6F61D9F96649BBFD8123074814246C88B04E3585EC9CEC37F0102584CC402BF8025B8944F0BB72202948C4B981A7F11234442D32F1C79FD274FF277CCAC9801582AB76CC31BCF97ABFB6F6984FDB736EB9E41332D9CDBF225CD40A1D06434D2C4E6B98285255CC1BA13A9B4EB1538722CD1F535CA74A1FC6D9301425C17107299B43AD67FEA1F6A9B373E6277BADB0CE21767DFCC8FCD17C6EC0B98C06ADF6B5A911F402BB20E0ACDC802E629100D5084149C2118F115756A6CE8F123AF3FFF8FFCDD62FC5D57E607104449733ADD30170E81D3E52980379DF0C255110BA0773A71FC18645822C5B2BDC186EC27111031A408B67426954C0E5F3CF6F7354DEBEFF606AAEE2413CAA07731E1F34C918FC9CF37F38ADCFEDA7C0760B12F402BDA2E5028C1A25F1421033EFB78D799237FD57DEEE86B78D10C7FB7147F376D852200BB85CBC990203439CEC6DDCA660F35DCBCB299FE9477EEE869DEBAD710784AB78E128268842D45A6970AE65F325E4A28C897D748B1636FCD951BCD88FBABECABD03A9355D92D9C6E1F9E5F9E08E028608881844524A4788F999D1AE97E323435F48BA6B64D777B3C9E1B2898572AE267BE85509ACB4AEE17107E3E2A944291F9CC94BF3E954E0C0FF5763D71F2AD577E8C1646908BB539FE3E593D5F465B1903B0002BC1B4DDA1FBDD73599604295A46FEE895418A53B8F3B57C04435102D19493C043BD06E1354B8EBC91D665D8BBA6364BA68D45BB2553CAD867B6B7DBC3DCC3CAF27580622630CACEA5390350CFF1E732A9E9810BC706C707BB7FD8B979FB4D0D8DAD9B5C6ED73AD02BA814E4EABDD34B31F552E9E44424183C393ED27FF0E89B3F7F959816F42A6931CED41943435F681CE1923A8086766A2C1A664121BBD3C5E5BDC0CBC2E810CDA27B4C9EE78779096C50886C0E1D630C2388E6D031C1F0AE09F9216182710FD0CF91FF812A0509465918961020F1FC021E2DC4461EB25367CE423411432658593E808509340B13A42C4C409E42773A191B3B75E48D5E6C5437C9BD71EBEE0D1BB76EDFD6D6DEB9D1ED26AB41939663D916F38BB0025358C966E742C1E93393E3C3C72F9C3B7E78A8B77B88EB3009CB3AC5096F68FDDA628348E5A59C65A81481C3EE82B28ACAAB3A16B0BE73037CF3DBDF866C26B7E2AEC83F90A1181A4C90E11F34CADDA846E14C27A2A1F3CC89B786B1BD4EFB8140A5FF7D1FB87FCBCEDDD76F696C6EAEF5FB033ED966C366F7E1B3B996040823DC4D7E5784BD4C261B4BA712D1443231974E262333C1E98BBD17CEBC75E4CDD7CFE1A319444E41BE4066C642F465117E590C40A904B96C065C9EB2AB3E16E0241F3C79E09691166ED44634BECF638F3DC6D65FFAD297D8E103070EA8535353D944229173BBDD9973E7CE1965738C225A360B53D82391A0E3A9C7BF7301DBD396EB58F3F97C8EF68E0D81BAC635E55595D5E565814099DB5B5626C9B2233E37178DCE86239150383C333D191E1DEA0B8E8E0E4573E426CCD73E36889BE6CD287D9785C2FAC8068A692B1936BEA412F85EAAA9C65CAC8B338080C41688D09B366D62DBF5F5F5051C1D0C0685DB6FBF9DBD3645DFBABABAD4F6F676EDECD9B3B9643209A80C8A3D3D3DD662DA465D656B0D65738DF7104F1C7B5B046A85852B8AAB9C5B8B5A5AD756225B89AD167933575505754925D0C82F7B2F2CD4FB1788050815151542676727115C4CA7D322F66A468CF1F1711613A0244D3C2E54565652C2A64643BEABABABB59A9A1A0D09AFAE59B3064D6227EA9F6AEE85175EA06411B3D6434B4B8B180E87053C478D122F04BC9682EF42241259AC5A4971D5F385F6D512EE6B582DD157C0000BD37E2A948299D934CB10D2153ED0133D457D5BB71204A3D81053DC8C91ACACE684289809A422DF368EE96961FA359291142AEAC7E8DA8AF272D8B56B570957B0C60753E41FDF6EB7B3F2B68D8D8D62737333115C42E2CA4864446159C2EF27A14C27A660D7E1B68008AC513E642C1653F11A051560059981C9D7B2B232E5339FF98C525E5EAE7EF39BDF644C838CA5C6E371E69CC0DFB02F862284EE81FAB1A8F5F6F6B287C17B188C03455EB952F6DEBC63EF449DE3251960A13F79E8F4CC154D0B7FEAFB4F954080C26820254E22F104FCF012F67C3BF66E219BCD4A0E3DCDD68E84B6D1F839D02BA25142282B8A45262F59064478FCE639FC4D068FA7F15826954AA5272626B2A81BE4485410B20C0D0D89B5B5B5740FC1EFF7B382112E974B45E2ABBC3CAE160A8558CF45D1A33DF9E493B079F366F6651F7DF451ABF7F05D97B84B3280B84028B8B5C103B75F57AFE70B50CA361BE0A16F53E9582A8EC08A65502914E029DEC5D78296FFBD90DFA661D982918B60396EFCAEBD6D6D691160F10350B530ECFD222A61725D5D9D9D1800E537D2D466C70FEEE679004EBCCED5D8BC66AB28C97ED4C059D55B527E0DEF9B92CB86A3B391E3C9786C02E9134382C691F80964A20C129AF57CAFD7CB14433C27F36A21243614420FCAA9E166A68A4AA58A08A022F155D43560CB962D2A29A04F3CF18486C735D249DE6D86586A5C8046899699749269D9D6655B4739ECD850B96A33F072A7859382168D2598664FC447428BD80B2524BE03E5B88CD08D9699CD8DE7880BCA9BD6B4EC2BF3076EB43B9C3BC9D6D71D4C0A4F3E55CD819E74CC53E6A7BCC8D1583CD69F8847FF361D8B1D46422788C0882246655277360B7E44FD14F57C44911CDE23ABEAF169D6083508558829108D541447CC3D4BC437E4FCA73FFD69EDDD64882511C0E1F640343C0D91E014CB3B1779D50FC3D963D40192B943473053BDF5EBF28914427EBC3F3F278842618285209A49282C2BD8602ABD1488AE5318D788FA8015FA5D3A958683870F0175FE1CC200328D884A988C72DA89F04F8A1DEDBB5C6E77F9AEDD7B7ECBE3F5DD85BDDC9927F2D2DEC37426D3188DC51B515ADC6CF7559C5212894F284A2A84BF2544F125C0795F5692BF2450B5634D0B92E817403D6283EC2B36411941DA31F38DC40931033E634E375C14EB14376471309430180299C064088B057BD99861691180C4F4B8BD1042064827E2BA1BD750DA04BD6287112D132D63D3E62BBDF3439E2C6D4AB50EBCB48EC8B564BE688561CE82A6682C1DDC5D1600D9E1264B80A09FEC6F3BCA670F3617D9E2CD6B5A3AB66EDFF107B26C6B365CCBCB5D92A91404C3616BDEC136D9EB7E3217493E84EFEA5405793D48CECF4B7AFCC286AB3A541EEA344DBC2923489FC197A1DAE8214155FA502E1EB30BF0B253CDF610432023134AB035A203999A0C25B29418C84DC19191111219840E2AF755A85674B81466585A09C41E92A1CC60BB131CD8986C36FCFC3C853BCF0C86BFBFB07A856809973206D1748B58D084225343337D0FC23C05542B08A4A8966B6910C4C5BE01EC4E2C4D5B40A8B5A132E646E24B289FE51B6EBAF9CE96D6B51FC76B1DEA0A478F269329980E86E6FB1C724A3BBE0F4B24551CFE47252AAC5D9CD5931F4544D646B526CAD5B8DE9BD2B4DF496A365553950872F10092F0985D82579C39E51C55A14150C8204364F0FE591225333333394431A5D80740E8F0F0C30FD31A56CB0C4B32008D08CAA6335055DF7455BA82055E4A6E787818FEFCAFBF41BD53C01EEF44F8F72113781E7CE8573F52535B779B9129B322E263CF9F9C9959D81402A95273797F15EDC976C9427045E3CC5994D903858C21A2ACAAC06D6CDAAE8CA67D328358A7E4C490AA64CF4882F64C40965F9265318DE28B2C902C6F6495E4F098821689DAD4D4A47244D0101D563C33CAE2AE604D15D2F811DCDEABD315CC46E2821E3EC60F017EAF0B42332051EFC7263FF4F02377D43734DCA6AC62CC781251657C726AC17A03886AAAEA706CB3393D0F1466F268F0836C1C86D42CB40832B48832AC417DA7D208731730861102369902CD50B95203C76DB87F5B041F3C974C4FA02972D86583EFFA1DD2297205A388CB90324140843A4E3693C928B1582C8768A7A089A9222A2C1B0DE425332755E5AA77045AF506FCE624FF7D1F7AE0C39B3BD677BE6F2543C58C6506217F26145AF41A449FA8E8ADF834B0215779A2F6A0183AAB6698F3EABC96832E3400D022060F7EC4667CB86664864690A04A13F32851CC143C17424668B3DB6C0DB8FF20EE3F388D0A64369D1CD072E997031EC7E31E9B3896A3BA3808D448FC34EA0F14B7C8221328CB1505F25201686384EB554B7CAE2452FC849E551244E903FBF76FBD7EDFBEF7AD46378AD1408FE92956E06951EF98CD5E865691684DD3CAE1E11FA7C2F9192AD8F0773662904571FA9021FAB189CC6E14A01199A101C5583D3244359F22A7B862A8953190E9EC0E87633D6EAF47CDF13F4D2693B14C3A755653734F37059C4FA0D91B41D100AFBDF61A791C732812969C2B71091D408577D53925ACACD7D33F634004E504D0B18E8E75DEFDF7DE77973E75D1CA9E3D954EC3C0C0B0497CFAFDE4F43454565480CD1CE4A932ABC3E5F68985B580005E4F44615AD1A7C7616E6ED0EB1FC0CC3428A8A3886DED2095979BA3338635054659367506ECF8F275C80CAC114260934A2483E6954C9A85CDE7757BBC7B716FEF6C2EF795443C3E199F9EF993EDAD6BFE99BBA6D54B4200D299486B2EF5195F78730C5E3838AA57F426172D186E5BAEA412A71BA9DEBC22B8A8E5F8BEC22B887337AFE57782E90AE669E342919B5850E1BA5D3BE15BDFFE96393C8A46D59023A8AAB20AF6DF7B6F353982562AF75319B4247AFACD9238A3631370E4F809988DCEC1C30FDECF1880082023F1FD953505DA3E6D4710815E4ACDB18C29819BC412B778C49A5A5042A8F0F7F480B87327644F9F06F7AEDDEC9D0D46216D6612F7A7B19D812C234C1532430D12BA06D79554B5D59A155CA464223A90F95B97980BDD83C4FF17FAA8DC64BC142B405B509DCC22DE25D3B94562014A895880625E2716C402D4A563013CCF41027D0896CA074050F83785C42706D8BF7F3F0DCB12D4156AFB841E3D487C42201A8FF7D691E3D03730582066E83B389C0E282FAFD167412B82E9E7A23390D5788514CD820034A4FDC471B0353681AD733DA40E1ED41D62C830D1E79F03C9E902FFADB7811A0E835C5BAB5B435C7C84911966F17D7BF0FD25BC6700CDEC6A6206BCA20AF419DCC0C2148958940D50A73F4B318AD0127ACCD20C20081AAB925922C67EEF2D8D70FFEDCDEFAA2BD84C1B13F5220E346C3D8D3D17CD211068F8BA4B5EB1A997C966A0ABB797A1099553191E1903B7CB059D1DEDAC4A17DD3B9BCB429DB71ABCBE0088363B40112C77A7127034196352DC243E630424CA13DF03D7F5FBC08EC44DBCF412C59DF1AB4B903A76146C657E961AA7D2C0CFA121881D7A13EAEE7F0052A323602F2B035B79A51E2DD547C1C31CFEDD38768821EC2077CB2EB08158308228119BA56F43D14B91887FF6ECD9254DC2259540C9E680487006B99F46BD3ADE4D31BF706E1C1F444981974432C1AA6992AB78A51A3FEAD4D0D5D3CB46E34691F834C6BEAEB69A9569A7F1FE9423C0B6B1B95C6E90ED2E2836F998298ACC791332C7456404120592D1FB71EDFFD8C7411D1F87ECF9F3E0BDF14690BD3E48BC758860070237DF02F1A3472079F60CC8C874AE8606485EEC0647551524BA2E80D0D40C82AA81B7B5952B93BA48A94471E4B5D9E78D09C09E4A6E74F222B23F8FE6A0B2D4A4D98BEB00F84FA664509707C68707F50C5C7D560E302A560845D98D2C8C0642E1A817FED1541D4F596107D522C3AC152D40350640EA43BDF49FEBA35E8D5E2768869B5A80873EFC107422B4AE54E653AF3E77F1223251069928C998A1CCE763459C7406A0B593AD1D2EAA1BE160B8AC9590C35B7C65B005094BE7A6B369E846A6EC4166E84B25218EEF606B6A020945001B6D4DA565D6A128E8EE86C4F163E044FD20870CECDFB60DE64E9D82ECE424546CD90AA10307A0AC790DF8DAD6729D02CC89399B6D0E3638C6EA714C24627C9432501452A6AA2094F4827A80B2987368710450B53CA4520F53F4295C8445CAF1160C7B32C7B1E9FB6619373E9C49DF079DB8169FBF620C6FE669DF1A53F67446D0AD52DDFB77E79D77C2C68D1B60A5329FEE79AEEB227321A73319F677FC7E5F01D1AD8C90E168434863B3C9EC5B148CCCB188843AC905B58896376B15BA1581F72746E84FC56130938234BE0889034F5D9DEE22471113C79640847061CF172A2B21F4C6EBE0C66BCAD6B4E8621078B535DEDD9A119D64100A1C49B3A119DD3FC19E4DB3A35E83EA909D119D9C4354EE8694C2158D0CA24B091E93D159F0F9FDF8806E9E956319D625483C42689D3184470A793450B04601C5FC2C21E678019E6A6E8E21A068A304FC37F98199A4146649F1C38F8A063134B7B4AE98F8B474A3CC4F24928CD1E86FF851DEE67B7D61EFB7D96DB067E776A60F5040884AB28422B34C5F48207A50849444235D6775E4187A4223BE4803DEEB262867CF3A813ACB2032C410AE47D329C821F43BD132103991356434DB868D101FE827BB146C884A22AF3D48D7F8F1BBF96DB62206044823E21043CD84676F3FD3D5F37B1515DE1FEEDDB2B93B1A8DA6C939343636461E428D87F94D465852046450B9F1A31D5C5E5175456201A2A5E8218904EA89A4B5FBFD815525AC0E8D8C4230A457E226D3CE90F17AAF771630023DD3E68D9DE0F37AD96F2B2BCA01DADB0A9250E95ED333332C60148944611619839E8BAA76C9B642A6A0B98E9BF16F36A13E712397DBE39C1186D34998440B447549CC7C2CA7923C5C01D46B255A7A3FF353E4E13F8DBF378A6A21A2D547A2739F4326FDDCE86830FED0FB6FA3EC995443434376CB962DE42A26F350337483C51940D104FAD84EC7BB5F2DDC141FAC74BB1EFACDE0C7220620E21373AC54E3A7BA798323236C900B8D66A22AE82E92F1257A3FA59335D4D542457960011F099A677DFD4C87D8BE6553C1B9302244FFE0100C8F8E216384196A9595F9D0BAF0CC1BE0D98C1DA1099FE37A44087A9F497CC771FCE6E3282E822C75C0A864A17B14D738DD947A54A0838C8F4E9B884DE864FC66DFDEEB3CDDC3138F7534D5FD391911683E131AF0E4297D0CDDE20CC0EAD6E4E04A2C82E543130350EC834C321F2A5C36560D6C651A3F297A24F76D28C7DD54D3DFC5153C6C2EA745E3C735D5E8253468ACAF5BF07E240EC871D4505F3BEF1C21C6A60DEB61D7F6AD6C9F6AFCF4F40F40FFC0108B2ED220D67244D5327C17EBB038624A0321986B194F4C21C31353CCD0FBE33B57E33316C70C42615DFE4FE1BD63B138DB6E448BC261972194C9FDCED9FEE1DF41548D23821E428A7E614353C391471E7984E5262EED0A56AF4C2C40E30E18DA62F63EC21CF5588FC7B3E29E4F507DFAEC05566BA7AADC0B5ED4D8E7CB7C5D04507D9F69B4CBDBD7B62E78BFF18949449251B8FB8E5BD9EFACCBC0D0301C3B799A158BFAC0FBEE60C7A8F71333180C3187443A77A10B4E9FEF46991D46D152C52A8D0986F564F8FE49E34791D0E472F17A89256204A4A8A34543893124DEA8E790A2BA6FCF4E181E9B60E565D958CA5CCE833ACF5D01BF6F2722411365352F290234AB1550B48C4E25606C26C953B9F2F57D8D7DB368028099126ED40C36AF039EEA6D661941BEBE302FDE0ADC34ACA9AE84DB6EBB7555B189B3F8B129C843CA1EE5FD5B095ECC0804DB04EDDD177B51D4943131D0D8500F7535D5CC29454A71574F1F846767997258BC34E1B52462EA6B6BE6079AE271181D1B87D6356B60EF75BB5823CFE3997317E0D8A9D3303E398D22A702EAE91EDCF55C5C9AD6BA4FFFC3E1105364074747D83C03B4ECDDBD8BF93598522EEBCE31A24799CF45E89795849C8CFA40EEB1C71E53E5853A1FA7BF9EB255E2A2A3E743EF485A38C51444D6C8EF2E208C896CEEBCC7FFFD9F8BAA6F2C6FE91D1864553429137C4D5303C2BD6B7EEFE7723F180AB1EBF33A438495673B7EEA0CD339EA90A8CD8D0DB06DF3C679BA01C50E4E932987F7B9EDA61BE6FB1D9071DE3A7A02C6C627506CD49B05A0EDC82CA4686EDFBA99ED9F4731F5F6D1E3D0373C8C0C5BCE32A0658319000A269BA22343C383108F2710FE830C4168DA39EA2CC1508431914259D9E420226B0445DA6C7456F47ABC627F7FBF30323222C88B21304230D3154A09808E661F7CF0E6663DD55B34D2B979556FD0D3C199E62A5852C085FC79C9729D99022EEAD133BD3C9D621EFFE8C30F30885CA9B387B4F39EBE01B6DDD6D20201346517EAFDF4114F9E395F5ABD1580859B8786479872475E48AFC78D0CD5042D6B9AA0B5B91989E54346AD818E0552D69368FAEDBD6E27782C45B78990D4F3096DB6A122B97943276CD9A8373A77E6FC0578E995D7D8CC611B376C40FDC757208EE99A085A210304FDC08A7BC38DFBAE87F85C5C27BECA67285504F67C241A6273F11F54791CA2DFEF270698A703140F3FC25F4B108BCECEAB16BEB1CD0F9B3BCA2F5B2C40344BD3EB5F9C94CF8C3EC0021A1012576AEF93767EE2CC59F691EA398C1738782CA61F11F7F0D163857F639171FFD4D308624F9D3DC7D081FE462DA2435B4B336AE15459DD5530D5CEE973E7E1D889D3B0BEA31D6ED8B3DB9A760F1B3A3AA0A6AA8A214B514A3E6CDDB411DA5A5B980FE285970FC0A1C387A0A9A9199A1A1B4D0620519448A4D8FE0E44112A97AFA7CD4B7CE65285A10C89B370381C6DAEF6FF252AD4DAECEC6C811F603EE1F512F68A805AF3C8E828249309363640B4A46D0B96DA79FAF02DD19C67C870F208D6B1FF823E444C4F1495F41E2FEAE30FE99CC66B13B36C60640052FAEEBEE79E552991F4D1097649DBDFB179139BBDC361F5F42103D0146C44FC370EBF6DCEE3B35A939564FB30F6A8577EF106730AB5B5AC817588061DED6D8C901B3AD631DD209F549A43063ACF10E5DEF7DF5DD26AA1E71A1C1A815FFBC843F0D10F7F083EF2E0FD70F8C83178E5F537F15B496C2289E1D1713E0B999FCD5E96CDA499C86049B98A3E7F3159257AB028FEC5B20A1F93B96BD7AED51005E62981D611A96C0832CBBA936418191B03056D5363C64B6B3123D5520DCB0893EAAE5BD5ACF69D9F7D83BB7C15CB36D7F6D9313EE31699627FF9D53F672FB3D220CF28CAD989A929B67DDD8E1D6C2CA1D1EB1D1C050CC2BD7DEC04F6E6B95579368C499FE7E516A4D208DF5D2852CEB177A38492F5EBDAA0735D3B32C45A73FA37FA3D451D1DF6F9156AE919776EDD02375DBFC77C5EFACD3E44106A177BFBE193BFF7874C1C11A2EEC3EB881168C65660697C7AEFA7FC0562BCF1C9C9EE9A80E7653C4E49A60A7E07953289AD08608C403588CF3251E90504BC89C75F69C9ED877921D1C2D265F90997AC152B0B8A19168CBEE1E30078F209E90CBFF69187A163DDBA558477B3ACF7D3421A7C475B6B81CC2FB40EBA61726A7A492757A952B93BB76D810684FDF35D5D30139A8589E999059F89EC7362C8575E3BC8D0716D6B3383FECD1BD6239C37CC7755F7F4329F0559126429945A9EF8E133E6D8860DEB3B50BB77E48B5671D94F8C6173D8481CAA2E59FC23BC344E29E708FF0A0BA1D3BC84C5B00FF93A3909411253E6008AA232E7A5B2524A4DAC98AF5C5D54D7D6188AA5E6CF11D39092B879D30678E881FB56559CE014F63A92FF864C34FCFCC5859DC866B6267DACC8C1499338848270E8CD4350162887682CC67E5A8BA6E2EEEDDB50A9BB08231353CC8A28BE2DF924BA2EEA047EEAE9E7985F6353274D4ABD01B66EDEC02292F5B5B5ECBBB4B796F645BC7EE82D78F195571963D27CC31DEBD622B239D9F734943E117BBFCAC3483333D32FD494B9FB4917A5318DC16050F57ABD057E006BC954A31A4542926C095DF3B6D4B92F36478C630584D7CC913D05237C4A218025DA27F0A0C76F7CFCA33ABCAE50EBA74C5EB2E399F3053F24C95EA9444D419A55836CEF85D2CE4B16C72E3A44B2379A48401AC516F9FCE93441F6D0E0209C3D7306AAEAF23D9B20B8054D30D21362F144C17D48FC1C7CEB08BCF6E661F6ED4819A4E726F772A981B994A2F6D77FF74F5C0409B067D70ED4053C0C5914AEF4E9D3CCB2A954201A8D26EB02DEAF901B02BF770A894F834CD808A352222007965269A22C27F5A16B96796E16EAF925886FC87ED58CF117D6B3351940CBF77E9A4F78088918C50FB50961D2E15C7E12CAE9B3E70B20BA14F149B93A8AA6D772FC09A51CA08428E44F989C9C41F1A5E50B33E3FBBCF0F35760727C8CCD5E42DE42B288D0E6864F7DE2E370E2E449D0B229186316C45C49FEA20E449EC4DEFE41F8C1B3CF33B38D5CCAC458E445244BE6EBFFF06D88CCEAFEFEB5682154A27E43BE0736A49D3B7C54411FCD456F98989BFB86DBEF99C5F76555C368EC80355954E655B2040B13180C201C3EF0B3A7CF78FC6FA049E6C33FE045C2BAF07207CD94C6AB62319D5ED5EF272CE04DCEC7E18B0E3045481390CF6C92D3EDB2FBBC6E2F6AA67E25AB3C72A1EBA2FBE4A9B3D08E327C2742B9730946A0DE15E490CBE47F093F3E69DE474F9E02BD04CFCA1752486FBD712F1C3D760C2E765F8040653563285A880834C163556D1DD36BA8D7EB350C33F0DDEF3D09A7CF9C86B5EB3A219648AC284BF9C8F193A8F91F674C568E9AFE14D735289EB1617D3B54505454E033AFA97AEF8F67F451D2D3D3D3239565EE1FD1B0764ED3DCA64D9BD4471E79645E38D82A024C62C6E3F110367A43176F340CDA987DA2B8E6CD6AB468013F2AA1BDDD2E7BDCD55555B59FF8D4A7EF8BCCCDB9159EEA4D1FE04D3487B66DDDC4E4ABD7E3293936E0941EE53297EACA8A79A61A995D496E33AF6621C6F919DAE36FBE79901173167B32395C3E7CDF0711F64F037DAAA9F02CF6D0A8F911C9861F9B0E4259552DCAE2E022C3CC965E28F46C741C2A984DD685DD616728C41C6F2802326A9625B96473594D52737F2C8AF628324F92068DB85C2E8546192F34638866E99E19CB7E06F275F3EC50580C49B894F83055E5E023799D8140A0ECD77FF3B7EE0E042ADB6822E57034CA142652B052F842075E7B139E7FF1E7CC93461EB8B52DCDCCC60EF8CBA0176DE9391E05D37B876B1EA35CECE93395B2D5E52BEA6769BAD7AD3B76997112125BC78F1D8793A74EB119D6343EE71031C64DFBF63067561F3E5FDFE0309E1374EFCA527F53584C17115894B2BAB28AC1BF0EFDBAD2A7A0DC0FC5F577C4DEFF46B5D7758ED30D3F6126B77BF76ED6FB49F61730001703C5A06D1509194BAF97203FD9C2A5240808A891D2485E3B8DE52B2F2F979C2EA7120C0761627202EC363BF3B9531898227994BC49D03A3139CDB4F7E75F4C32F82599FCA1FDBF62DE94A0F8E107EE9BE717A0B6DAA58A1262CAFD289F47A806901E93E08989F44C036313E0F295B3D93F0CAD8364F704EA03BDBD7D505953C3BC738B7A331789B85A4F91CF60235A0DCDA887180E1F91742982FE448CF5FE583C9E2977DABF4C81C7743A9D447194412457282368A99430CDC2040603885C39B4CE38616DAB5A90F06C1C3FF67C7B4D4D0DF9A6B3B228695450839421EAF9A4192BD91C5CB77B07DC7ECB8D70E8C831781D8FCDE13963EE1CD2FA355341F3C1473FFC809EB9C317529828BAB70CC5BEE441F2256C4546FCE10F7FC4123B1CCEBC4B9C1C3AA954521F98C1AA99DA392A009CBBD08DE226A6A3D8E048698B56583164C296CD9D2CE6E0F37AD837D0B57F5DE90E47F47100D170F83B01B73D84A749F3278B2E170E87B552C134D92223CD7C310B3308901F8F5E0AEE2F8901A85217956243119025F9C4EA4598131EF19AC028DF7E71F030CBDA5D8F90FFD87FFF2C79B550E33E002F1DF80590724B50494E955FB9EB0ED36BA60760522CBAB60C51B4207548EEFEE8D9E720A35041E62CD81C0A78F1E3EFBFFB4E3886FA09F9FE47D1E62FCE93A5F98B44D90E92989FC6050A3EA2B04C8EC81FABADAEC2560D2DCD8D4C9560C46776BF02E3E14956212D180A4D9739E5C7F1DB91A941561CCB07A42A23B09C6AE146D954FE61842264102E031FB305CD1162008A70B161CD0853EA8B2FFCE4A737DD7ABBAFBCBAF28E8989A9405AB55609519987EF28CA5ABB6C6321D74F7CEC11D6D35A5BD6A0EDBC619EC276FEC2C585A7915BE65393164FBD5E94B2E042BD8232911C289E9E7EE639387EE20434B7B401F0E164142226E56C2E3607C74F9E459B3D7A49D950D6854CC20DEBD73177B29DCF8F68D8FD343682F41B365E2291F853D52ECEA2661DC7EF96A1BA44D8D48542E94B640517D62B1784CB971A74CF3DF7087D7D7D34D51A3D032BC3461C7BE88DD77E4E0E3DD4091A376CDE76FB5C22D93A3E352D5B51612E1E871F3CF713F8DE0F9F61E6E1FBB1E7938944CA91F1A2DD287B69BCDFB295AB258EB1F2715C86533AD8CCF43404AA6B591CC4C6F313AFBF6E27F45EEC419BFF0454D7375DD60CA94E243E79082972C8205F50CCF4FCC19131AEF8CD9C70D9846364F6210390EC6755D049E9C3B68A71010B33C46559A8E60D2A2739AA8F438E0A24DE2C3737A9F2A6F2E6EBAF7E9F4CCF75EB3BB738BC55BB864727CA698E5E33764063E7B097FDDB134FC1FFFEF7C799E6FFA1FDEF875D3BB6B2F9F6560B50446C4218FAD0FD8303D0DB37386F986D4565A5A5A2988E32070FBD0DFDBD3DC8A009502427CBF1836540FE52BA08214B0D6AFDE42EA6142F43E9A3685F3F2AC44936363295B3A9E92FE3C353ADE13815A3C235AB46B658228D0C5768A18722AD9472D3485121AE45080B7365D36088325C7B2E765D788B50C1E976FBD7AD6DBF29341B6B1B1A19B5154F954AF2FA1FBFF3AFF09107EE87DADA6AA84179E971B956FC6C1432BED8DB0B3F7DE10558DBDEC1084D1F9EE0D7E9A0F0F8388C4D4ECDFB1DE50804AA6AA0AC223F69D34AB4A652F84ACCD8D1B10EB66CEA048FC765EA13F4FDC291191841EB464F0C09FEBB1DB449FCBB317C7E32FBB2A858ABA506835C150C400F45C58DCE9E3DAB50C9132AC048DF80CAA7E14B90F32986971022D0644E9498EF4D225C749F3DFD2C1E77B6D637760876D7753DFD8395062A1822823E32058406287B873C68682A565555B05C85E550229E8833EBA1AEB19965F2903B972C0C400BE5FCF95E181C1A42D3AED62418F91DC8F337632926B56C69B9C465EDAD6BA0167BFFFAF6763D78C652BC0434395370E67C374F5D0B8FD8B4ECE3D809A2F81CF144229141EB4A814BAD0FF04E2FC49D88026A4545450EEDD5143EB866E9FDA4C57A70ED45A21203F8681BCF51734F8E8F924FF542C02E7BDB3677EE1B9F09ADEBE91B7018BD2E1F6E5660727A0635F549A64835D6D723415D4BF63E0AA596070266F148CAF5EFEDEF857028021E5F9919A8BA6EE776686EAC87370E1E8486FA1A344B27566C6A2E74B2ACCCCB52E16ED8BBDB92E2A5B0681F29C434321A3BBAA224A25F14342D82A2740E7B7E8A4ACDDD78E38D052EDFAB92010C07148D6235FC0E65656554FF288DF22B29CBF21C12D14DA55D89F0C408F892C400062AB8F1DAF8E4C8E08BD8B75FDDD1D9D69A01E93A9BCD5E53AAA620D51538DFDDCD66ECA4587B4D4D15E833C82F8F60017F055A2D01738A56724153AFFFF9CF5E028D92585CEE15E91CC212C926EBDA5A997553C3F40D85C7F905E81BE86705AC989F2338F33D7CB9417C9EA81EEB4A66497F2A76F95E950C6065023E8A550B0683CAC4C404154B4CE347B0E18B27280085D7443933908FD7C791C04B553A694DCC108F46C8653D18F0791E4AA633354A51F8D91A86A6BC7E72D152762EA552515C7DF964CA1FA3E89D375009A9744AB714565191ACD442616142A07D2C21C448F4509983ECC4E9D33AF12391312D93F82E7EA30877F9A63D1E0F397DCC70EF55CF001626A0B16A045B1A15533E7CF8B0D2DCDC4C2F93A13A79642222E1C8B68D72DD8028E62134A086CC420A23D5B3F3BDF493E71E6F6C6C6CEAD8B8E5465485EB102685FC44CB5A0143500CE1C4E9B3AC8705023E58D3D0041EAF7BC50A2DB3CD5575C15E4DD7DC75EB2DE0F3BA58269221BF4B3118DAED5055590177DD760B3868C22EAEF4D1A45DAFBFF916F32E22F2A9F148F0CB086761643CEAFDA42265A97EF1424E9FAB9601AC26260D57C2C68A1E1E387040ACAEAEA6F4A59CCFE763892A34F61DE55C023F768C9B8C1E120BB8EFC78F14C0DB04C82B3C3C3C9C1919199940C2B8B66CDFB9C7EDF1AC0F45228E054BCE629B9A0EC1F8C4141B4144F9F52D4D8D2C63E7722CE4BD3B76E4103CF5E453F0DFBEF028F35FD008E552D04F29EC1BD777C0BAB5AD0C518C142FCA5C0EF2B22FE150F029247E3FBE7304BF07553067BD1FD1535BC9F889AB86014AB8A4991B9AA00C2D0536710355DEA6EA17E4E1C2750A91811881F2DC627839590D841071EC112436FC840CA85CBA8FBD7DF855DC3ED4D2D6D65255DB785D243A574141A6D28CA07B1E29BF60707884297B0D8D75D0DAD4C462F02B88E1142C24721A6A6BE1E63BEE82B78F9E60419B5237A1B4322F22D03D77DCC6833DBAEC1F1D1B664845CBDC5C743C3317F92EBE5304DB1CBE2FEBFDDDDDDDD4692EDF9C4157032318F049FB241EA6A7A7559A8CC12A1EB8D94896035BF3EC1762083F37234954B8077A7B53837D7DFD2E97DBDBDAD1B92FA3A82DA170445E0C15087EFBFB87581129825E2250EB9A2628F3FA40929770F4140DE2A0C095CDE9D1E7352A7139C531AAD15CA5C017A5B133022113A411297EFAF2017DC0682EA74667A6BE82DBE43399C5F309448D347E17E5F6DB6F270658D177BE6A196021F140BBC5E28187ACB394F088CC90220620C712F50EAE24B2C6AD09773C1E4B9D3B79EC450AE835B5B66D907DDE2D33C1885F55B3052850AA8D8C8CE9FE059E2AB70615481A0FE847D35058203D663920414CDE8C2287CCD45DDBB6169C7BE1E557CC51BF9150F08768E8F563AFA7DECFF2FC28D66FA0E5652F16FD5E100FB4CD8B27E750E667B1979035405F2C6AB1147C56A712B7285CC3FDBD2770FF9C6CB77B2B6BEA776714AD652644BAC22225EA2DB3977675F7C0D9F35D8C214811A434F4FABA3A96B8624C2ABD9CA5AA421FBBF081BBEF2C384E630B2E74F7B0ED582C36313B3DF13D247E18FF1E5945097CEF6C434383CA7DFD977BD6B0F7042310222824FB5A5B5BD55028A4A03294C14B181290B28830693082D7CA08E466E6E2C1954DA75313C3033470C2E676BA2B3CD5953B63C954E3F44CD0B6909E606D2C7288729D347C6A46AF2646205F3E6529935B9A52B88A935569E816397CF6EEDE09355595E6F17024022FBDF22ADB4682ABE1A9312AF41042069FC57BB3681F427FAEA6A6465DCDC0D9F72C032C8408145BA8ABAB53091291117281402083BD86A67021348859FC08062378B868603A0221025EE34C2662A954324ED997727DC05F2B393DDB43D1B9BAA9E9194929C1040B7D783A4E43C2A9955AA8D005B9986FE7A3899F7FE96516C5BC7ED70E961AFEF4F32FB0812EBAC327F86C2A1E27AD3F6C78FC70C9AE16FAFFBF6080128C400E259AE4D16404EC6D34BA8914C514F9C90911C88F407307E1B6C10C5E03110C3D8174327240CDCD8653423432867D56EE68AC6D4C69B011F5859AA960C8AE2E523F61390B95B8A544511A144B63132F22F16960CBFF79E207CCE2B895334622119F9A191FFE2E3E5B88A09F143F4AF3A2241A847F8DDBFDF04BCB008B3102B71A94AAAAAAECDCDC5C863C8CF8016D6806926870219CB219C4080578DCC1C3458531B3183507955E9B9B0DF5E1B921BF4D13BD35082F206F4CA4D30D91D99837914A8A97F2EC34548B92588C363D13E6E33055756A74E86B86D64F4133D2FA29D1836CFE6F7DEB5BCBF2F8FD5230402946286535A0E24453B2A4713B89DB316406367D1CF62ED6FB091D3813301D819880F404031508BD4501524EC8CEB85C925CE9F28B3928AF5145795D2295A90BCFCE7911F657948890CBA6635E8FC7194F24654A27A3400F25A06692C9E71373737DA4129055838A669242BDBDBDBD2BB6F97F69186031AB813E1A590CA828A2DE97CEF2A4496635E065763609140F4071646016038F4CD2C018175DC3E313840C6C9C84044A5A529431BF0DA440B54F84FAF2EA44465B134FA56A92A98C3795CAD891A825A798CF6673CAC440DFB3A0E43275654E672E5076C37428D23835391D4D45A618F453B20C39B92850463384ACC6E6FFA5638025CC4761747454A58C6414055989E69A1345999C4AA434E29A08EC24A2133370267071D1E0321081374205BADE460C41632E856C36E51260D4E59245A086BCA469822DA328652A88D5394DABCC28AA0FD514CFE8F0C0F95C2E1B61669C928B4A4AEE89FA324724119AA0901F297DCCE6C7FB931E934306B824C5EF978E0116F22E5AC583810AF1789CF48414C22F851DEC342F20EFED06B19D9CF8AEA26D17D715E85A1A4043C3EE686A5A363F31ADA9F8BA431629CF614CA0A9550125874BCEA466C3C654F0C6086DF26812D16790F864F645C9BD4D19BEE3E3E39705FA7F29196039A860288D546F998653D10494840C08BD36521E89B844643CE6408238B93870E1BE932383D3501A411F4697470541A0C66617A7C827CD45CCC50F359A3B90D2E314D24FF0DE64EBCFE03E297F94E695999C9CBC6CD0FF4BCF004BA10231437979B9303C3C4C296AA4408A894442265181FBE41CA26D1B570A1D86C83074032E166C7C66511B670642056A22CD27CC67134DF01E9FE1B388D2F12C0F6E51964FD408F650FAFCE582FE6B0CB00C0FA355445058989C4B349895CAAC1053A046CE7A35AFB34004B6F3DE6E43C291F82006B07146B1F16B6D1C0568A1C921131C01689B7A3FFD5D9A77988E91C69F40C2677C3EDF25DBFCD7186075A8C04404C1AE810C7D7D7D82A13C024D5B80FA239A9412EA0EA444B2C1B3446C2422532CE93B1B8C42C78085FD7542133351A3E9638DFABDF4F728551E653FF57A72F8E4C8DFBFDC2C9F6B0CF0CE3283661513A833083441F5DCDC1CCD584AE8202223B0C1B30E8743E40C41C29D1A530869583CB99071CD4AF210B1C9B44339AF5162ACDBED66F991542A01514635887F45660FBFB62C8B19D8312B43A01521D4D6D6423018240B43C0DE2C50B727E6A06DBA9ECC395A1049541AC0814A1E0D99637F03F50F8D0674B6B6B66AEF14F1AF31C0656286C51882CC4B620A4408686B6B638C61FD5D7373B3DADDDD4D8351B4BD7BF79AF734EE413910DA3B3879E3350678E719028CF57DF7DD57F2B7E4CF2F26F6E596F50B2DFF0F44B91E614568C69C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (47,1,'IP_PBX_symbol_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005B449444154484B95947950D46518C7D102B3ACE88FB27FD266B244C6C1692092B4014B896654405A500E399215976BD993E55896639705966B71818585750159586E5840906B39952BCA1011F106AF6A3AC61953E0DBFB6384A152A9DFCCF7BFF77D3ECFF7799FDFD7C8C8C8682DD1EB441F126D7F86B612BD43640CC0E8FF8AFADE7C7FEBF60CAB9DBBAFDA7EB977E680A3F3CC118FA333FE0101332C166B264628BC214D4AEA23E736AE56EC79800F1CF61F9C529F2E43659D1EAD1D060C0C8D60FCD2246EDD9EC1AFBFFD8E1E43E71C3967F1AC02BEC182B7697EECDD078E049959D2E9FF72497DDBF6D93B5C8B1449E11B1C0F065B0C96408C881809E2E21351A62D45A5B6789E9CFB64E952B434DB53A6289A4CCF2EFE83199184C3C77808E289714A5B3B1FC817DFF6A0F3D37D9822D365C0219ADBB51C951A255A1DEAF44DE8307463686414939393989D9D457767FBDC1220427CD235235F0769563172D415A869EA40729606E5352D902BB5E0C7C91121564094ACAC5F06D0DCDCAE27A464E104570656541A22E2D2112FCD404A6A261AEAEB5157554E39B0A22E58EF710C4BCBD5A2B4B613DFFD781963E353D05434A3AAD1809E7363E8EA1F4541A91EC224E50F4B0033CFA3DE573215D95015AAA1ABA8445373337A7ABA313C3C844B131368A8AB995B02BCBBD93C6B8BC5E7642409D0E90DE81A9C404BCF186A5AFA5150D64C9C1581C14D848B77E8C8B2035F5FDF9B6939A71016938D48891209B27CA4661520475988EEEE1EE86BAB971DACDFF0C6E1CDDBAC7FF16184A3A4BA0D6DFD1750566FC049753562652A0487536FC27D6CB9DB217CD9819FBFFFE5D4F40C28140A68341A5454E8C868EAD0D2DC04436727F29539CB0E88D6989A9A6EDA696B1FC212C4AA32728B0DA9B9C55704B1E9833E019CD30E4E1E024B1B7BB3955B641EC060DCCC5416831DAB44B45405497A2132B2D550AA34E8EB1F4093BE7EDED8D8D85AA7D36D28D16ABD54EA229A5C2E5FA7542A8DE964356934DA4B14F879FF819997B7D754389F87081E0709B1D14892C4232D3911993229721572F039ECB964992CB9B5B3EB27FD99B3C83B5582E40CC5CF51298A873E92B4B930917426481057E3CFE63913988948245AFB9F1DF4F6F5A3B151BF303C3A366FE81B408A3C1B9CE83864E61781A6C8C7ABB171D81825C4A70949A0C9B2C090A42FD0D9D1D34B8E161FD9EDF091490E8B090E330491C4494CA40071C26824C408919BADC0C5894B18FD9E3C66552D12D3E468E9EC467B773FF26AF4082E2CC2578929B0E086C32A418210A51AC7598227367B1C6C49ED358B0E7CFD8E3DD3814A5D8CA92BD3989ABE8ADE738328ADACC1D885718C10D8AD99593C999FC79DBBF77061FC22CEB47721AFAA01C575CD70F5A5C32F286CC1F378602A05D8E47CE89BF3A1CC303099A160B339E070B9E012F5F6F6E2EEBDFBB84C20E5A4FB478F1EA1F16C3B5445A5C82ED02087747FBAA206038343B873EFC122ACACBA1E3E0C3289B8441CF56753096DB4DEC6F60B67EB5D76593BAC6C0ACC3FB62AD862BEA3C0CDCBA7A5BABE11ADA4B3A6D6364C5FBB8EF3C3A32412EA17019939F9241A541025CA702C980D4F7A1042F851F00B0C8392386770045AEA1D8C9ECEE915CA09B551944C4C4CCCE2C51229D9963F9564637A070617C7D47CB6033A02D068CBC908F391765289B0F06804B0F8F0F00FC441771F684A7510A7663EA43F4DD6E7E638B56E1E1E1EBBB88288C24036FFBE860461656D0301D491E27990909C92C973C013C6E30401500E22E3A5D0B7B421248CFF35D5F80B0194A87DB6B4B434767373FB28349499224E4EBDC11408E742054288A4A98821DBC38B89872F2314DF06B170E3D66DF0A263CF3DFDF18C5605ACD01A0AE4E8E8F89E8B8B8BA7FF89C056174FBF079FEDDBFFD87CA71D6CF6EE47B848BC109B247BE2EEEEFED6CABBAB15FE9B28DB5477F6F6F6AF1190859393930B51F841175AC32157D70C576F6F47FC2332562DFA022DC2ECECEC5E0E0E0E5E47395C19114BFA0B7650F272BBA723970000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (48,1,'IP_PBX_symbol_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002C080600000023163B670000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000010684944415468DEC5590B7094D7753EFF735FD2EE4AAB5DAD160909014620102298C405DB404DA64E87627742D43A8C3DF1389D90BA6DDA4EE271625AC3C4F6D4782693C1539AF4154FDB090C9E34894DEA87EC20E300018C400224210492D06BB50FED4ABBDAE7FFE877EFAE40484A82DD84FECCE1FE7BFFD5FDCFB9E73BE77CE7AE609A26B14B100411830499193FCE65CC12DD9C59F42E5C027B1794670A5B21251047F15EBC93BF2F2AAD41D290042405C9635DE3AE185054D4E6282BABF7FA6B9F92442A5324C9A6AA8AA45A54B2A88AA0CA2A29AA42AAAA4264629F658C8AA2988AA49856AB9A2F29294D62B1CB2F7E7BDF61AC1783E4EE8627E4A2010E4952D7782B7D5FB3436987DD4A568B95EC186D361BD92C16B2DA2C64B3E2DECA9EC130888A795581618A851B97CA64BAB0565BD11BCC2BFADD32C026935ED1B8B48E363DB8992B67519992163EAAAA7A6B8E7D9EF39C492E97A5A3478FBAB0563964A4E85DBA1B06B017013992DDED72221EEE0C7773AF92D2529204C1825BCB9DC44FCBBE7DAA334ACD592D1BD0F2BA2F97CFFBB45CCE99D3F213F9BC16363523249A7A5FEBD1FFE8FE4D06142E1126C8858F1F9E0FD3A5AB213CD4A00944D0909674480EF73A9F93980885672FBFF4222DAE5DCCBD54B46FC16DD8B7EFBBEE9C243F63B55AB679A7D5C69C98B74BC81F8660600745322589649654F0CF944DF25694D3DF7EEBE5C9EB0343AD9245FD71539DEBF0F3CF3F6F2C6880288ADAC85890B46C9A9CB2445B5730E8580AF886620858B2286C4EC13D46850731C9F8EE95CB1DD477A58B34CDCCFC2AA7BDF09D1FECD6ADF66F072ADC9EA575D5E47295D0E08D510A86A2149988D168304CBA8ECD01043EB7ED017AF0F73E45FECA0A7AF55F0EB922F1A99D9224ED1C8ED1B35FFDC60B7FF54FAFEC699B678080BF2C73B9A876D93D506E06E345CC33852D4A11EF306026068A06B1E7792D4FE7DB3B16AC1FDFFDB71F3D62B3DB0E2A9A42F1448A4E9FEFA252878DB66C5A4FEB9B57523EAFD34FDF6AC306E8F48547B6F135DF7CF73845A393343A1EA6B23237DB6078495A234AE24FF6BCF8BDC6179EDB3D729B01B228CA6E6729395DEE42D07ECC206673E7CE7EA42E64403A99D853EEF140418DEFB20E45D9D87AFC2CF764D3CA65B46E4D0375765FA313673AA9DCED246749097FAF6618A41B260C00B0046684E832057A0ECBFEF9ED1092445394A4FF530C18B470DA3F71E2847DD7AE2F92C694D70D3230BA9D25D4DCB89416F9BD349948527B672FD2B69DF25076E3A7D7920C5DD8A6F55CEDA7FEE1208522711E1B0662647070283B0F429220EAE9548A82C383B4CC235363951BC5AB98E7D5A2201E2C1685CF2945612F8A85C7293C3E4AA9E974761EF851E5EB576F4A1D3A748876ECD8411515153CD3DDBB661919D8DDAB0323340CFC472693E40654D81EB4FEA21DCF4C18E9A09A2A1FDDF7A9D574B1A79F0687C768E0DA20259289DC0259884C0B76006B222BB07504161724494C901D2499072C5398652B36C7528D6EE85C1136E60DDD98A33CFB4AB9A16BCEAEAE6EEAE9B9420F3FFC07D4D4D4441D579018B00E539404853CE5E53453B8CDA227D98EF70D06E9747B178D21C104C7C7112F1A6A4E46656BB34A3F0B4282CCF018585CFB8963A0A7A7D73AC701ECF332182049B2C203B1AFEF1A37786A6A8A962CA923B7BB8C1741AD181BD96C9652E9344D4FA768727212DF4B503A9DA14C068267F95C9EE2B1B050DCFCFC2D0358192ADE775E8D51FFD01402C6E022B311B95A11CDC29C60620E3121B2D1A4A7BFFA15AA0A545156CB2F94FF8D442C74A6DC5F5B2FCB2CF5CA45F8C97C63A462DCE5A0583A95A61460CC0C48E13E93C9F2CCC482BFB0F339CAA433B99E8B677EC81D757B10030546214BD4FA6D54E5B115895BE16516552445920B738AC4DDCF6B822C120A138543E394989ACECF519ED5856BB1F0D0613043873550BB0D5EB0F194C8A0086170E1D0310BE36C619E2AC0D3E07A4D27A7C6AEF776BDD4DF7BB97B8667CDF2806CB8DC5E8A47425C413B9452C10C2C8C7942714554B0E37912759190B629A79B9430B13B80FDC0401FDCAB512A97BDCD00865140758211BCC848DF95647C6C834D1577BADDA56BEAEA96D4F0F71774E7DB6916D16FDEFC0F8C50CBA52622E3DDA1E0C8FBA73FF89FEF034A41B631334CF7A601A6A0CBE9E90455562FFE44644E86975E7EE515CB02FD86D9D2D292BC866B707070E4A313AD6F434A7E565555BDE391967B7D95557EC4874710C532640D3599989A9A8CC7A3C944221C8D467A4FB6BD752A9D4E278BDECC62397D412A219892A8EB1A4F71A1890C4DA7A6011D91434441F651D93D5CCEE654968D30CF3CA582066ED8702FB92C2E32348D031AF95CD8BE7DBBB27FFF7E1B5C6F6D6E6E16D7AD5B67003A39ECE0E4B163C762030303636FFCE887E7011181492C16138BCD9139BBBB634EF875CDD12C0FC0054AE1636C2A4763111820B20A4D8560856AD09707AD2CB1E015F81CFBBC766D5311A3291D5E11972F5F5E5A5F5FEFF2F87C9F2971BA1E4276756A79CDC864D2DDA1B1D01B5BB76E651896919BDCB2AE67F037694806998941D0006163D0A33B69888422FD5DD4B06AF5E79F7AEACBFB13B1280B680E09499489556746B004ECF42D8E0CAC1AEC7F0419C32F533E95A1BEA1D1E1936DEF3FF3C4134FA8F76FD9FAAC2C290DD97C8E72D91C65914162F1498AC662E8E2A47F9D4AA6831953FA3BAC9483F541C3D02F9886F18E4AE9636EBB3D78A706CD3260E517767DF1F17FF0D7D47EA218486752F4AD3D7BC35645FEAFC71E7FFC2B80859D2B5E34200AC6190C8779764131ECCA92BA3C63E8CA492D4BD5D81A3F3644C26EF08CA3E5537A3ED70BAFBE53220B876CB231E4743AD3A74E9DCA1D3972E4B618908A307256782A9A1A1B573FE42A2B63D4B4601B467E58C147A1D8EC08B79A9EE20D4BA92CC777749C3777B6B4DC8B7B07276D4C50A1AF0F0C522416E3399DAD6375383DD814F97D2D4D27F269BA92495227E01E0446332CBE909F9D169BDF66B1DD6F88EAEE649EFE726C22F1A86CB19917CEFEB27DCB962DE6FC1830056386CC9DBE18A1EEBE4881B84118692B103B56BC66889CCE899C8CA2F6F77BBE49169B95B6FFD10E3B7A689115A5992B3A31012216A1CE4B3D54E5AFA466D008C56A1347B219FA652E4D16C4920832674E44691C056EC262A35ED07A2B58B107F5A21250AEB7B9ECF040F3E8D0C0D7B1E4BF6313F20BA451131D9D46D7BA2F52397669F30AB9586C54C4810534A0C07D403930163CC2A28015A59F1D7D03BDF41672BB5C22C3FACC15075DE81F1CE27C67EB831BC9EFF392A8DA7971F2203BECA22AEA07F4AE830366517744D00613F40198A33C8CCE2D5B4EE3D8D366AB8D14D41D43CF094EA75F82EEF9791E30749880A0F454060A659E5560B5C03C2589B151A9400150D424C650E5422545F0910B7CC65D56CE4BFDCCC5B8CCE0D030394010EB16D790CF5B412BEF598EC647A348344EAE589C2AB08E29949310584CE3F0C8206414328462CAB891C36AA54ABCDB8335A2889F6C26537BF8E8BBEF20B8FF10AF48B1F6F29601A4B18C49EE72CF1D91396618F302522395963A6F539E29797D7090CA114FBE0A0F7A5B0F793CE554B328C09FBBD038352C5F42CED2521A1D1BA789788CBC912855466364A09191B18913E8F08258DB81F82BC1665E0165471290AAFCFE07FAC727625A5E3FBE6FDFBECFDE32C0106FE6A83B69681490B9C58B2AE81B5FFF9B3989CDA48BA0CE55BE4A0A04FCE4432716044F3AFE8B93D4E9765355A58F1028B4AAE11ECC87D1F77A29505549033786E8F71FD8449380D199F60B940925A90971800ACD21373935894C97A335AB16533299945DA5A51B1882E499CA07F53331E0CF3A7C8396A2A169F0BB39940A7D80CCEB021B3974C40209BBEFBE8D64859766E3FEEAF501B4846E6A5ABD92EFFC3894BC3E30C4EB45703CC461C5BCF5CEB136342B01AAABADE1BD4099DB5560A548BB9FDDF200EFBCBA7B7AA9F75A3F32589CFAB1C6C6CF6CE09CD9867543A1F0F7CBED6E9A31202B48725C47C00E87E3F8E3220BD4F59B743697CF732ECE9405BFA7AFEDFE32B0EFBE1DF7A0C223A363F4A5C7FE849C804908B0E8B8D435EF2C29E0F7D3189A9391E0185DECEE41BC4CB30440CB972EA106C4492960C4D6695CB982CB37F7BEC8BDE483A1ECFDE1896864E922EF772E5CB8A0CB45CE9112241A8884C39D9A96B7035F0A941450540466449E37E17962594A3734C161B3CB5EAFCFCF169BAD5827A073CFB2A55CF924943A77A1735EE967CA4D44C3804386152C9A4A24A871C57278E906FDFCF8097AEBBD637CF396C0336B56ADE49B77AEE3123DBAFD61547F83725ACECCA6534FDB2A3DF1D75F7FDDB869405F4F4F27E4F3C5A3415BB1C8CD6D5004F4B4F603FF78F00504A9FFBDB6E3E8A8DC1400AE4B4B4B78406EDEB4917BEB7CE745EE419A73D4158FC72982DA505DE5E7DFAFF47AE18D1025A65337BFCA94BED47D85DA3B2E72486DBE7F1360E9A238207EE3C6D0C9451E571B321163A6A6582C08EC20760A320C6144AB03D20E39375B5C2ED7B9C6C6C65E8BD55E3E88A0F3793DE487B4C290AE2BBDB4F391ED545BBD082FEF4176CACD3B8A6447973A946B6C5841938969121153532862C15064FE4E15ADAE0E0468DDDA46B2A150DE181ECDBB9DF6A7A3D1E8E4DEBD7B4D9A39C3340B17A3ADAC514840E20B09BB6A6A6A265BDF3ABAA7D46E39954C4CA75BDB3EE499C38E17B093EBBE8101C2FC3CDCB3D49900AC2CF84E0F8C65F0F321B582FD70E5163A9054903EFF78FBE7C88D341D413C05C7460E68A9D4D08103076E1EDDDFC98F18B34F1918D79F44D09D3EF5E1F1FD17CE9E7CCE26EA3FA8AF090CB7FEFC03E34F9FDC4DA7CEB4F3467C2E6D1C0B0641B7A791715C88111779915EA3C82EA220DDAEB750B484B1814D9F4660D75312C9A1BDA373C86D53BF87772766FAE1998EE9E39E680B4F3EF9A405C694E26F3D08B86A607D09E66B3CFEC0B6356B9BEF9B9C9C12D849829555525F05DF49B6E3BC2967270B88914431AF33FEC5E6B345613C8A7D66C1FEEC5FFF058F87C33FFE893E3A78FD5145148FBFFAEAAB89D9B45AA48F7F99AFBDF65AB6B6B6368A0A7D0DEDDE5918D00A83DE8E8C8DFCF3F1D6775FD2B3E9B380C574186E3F7DB69DDEFBE043EABB769DB2A0D58C3BB14B653F96D86DB7B293CDC2EB0BE737A8355FDAD5423E187FF2EC4734323CF29FC808E783C1E0F4DC9E40F82DFC0A24A0C392BC5EAF15DCA80286D4C22BF5CC236090F5BEEADA07A712A99AD150486647251A6A08AB03ECC0B60406B0B76718992B7A888DCD6B56A1CEFC199D3A7B8EFEFBA747C752B1D0C3D8A85EB671BF0B036E9EC2AD5FBF5E6E6868B04111378CF061B7EBB07E1DC6CA725F551348C9FA1B23A3E5E1C884C0CE7E380480F512470978130C2AB15325A8C5DAD58D30A291DE7EBFCD18EAEB790C1D5CEBC18307E3B3B1FF5B3760F69A2D2D2D0C276A369B7582107AF08E6A7C5E8231003BCB48B5AFCB6AFAD25426578E0C6661456F468F8736DF6F0E8F8C71BDEA1655BD9E98187FA6AEAE6E18CC535BF065BFAB1F12994790AB85CB972F033A29B06ABB1BB152096F043056E17105DEEDC467BBC55A5299D6B51A18E4733A1C31514B1F136D8E2A21977925914874BFF9E69BE95FD5E00B77E937691E27087A0B8AA11DF06219CC0D23BC3006FD93E082216CCEC0FD38EEA7318690C57AEAEBEB63737F56FAFF30E0A657D8FB18C41C0E8782BA684570DA70CF4E9B55763E04C6CBAA202BE3B970383C7DECD831EDD7AE79370D58C81834250C66BC96416101D9CC3C72E4C8CC8EFF46E5FE1782657CFAC9003A450000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (49,1,'IP_PBX_symbol_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003B0806000000CB8C8CDC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000019464944415468DECD5B097024E5757EDDD3734A33A39146A391B492562BED7DC272AD01E3050C9823366BB38E53603B95041C274EAAEC4AC510279838762584025CB888B1E3007612DBAC83C1E0D806BC2CD7B2F78156D2DEBA6774CD68EEB38F7CEFEF1EAD562BED017665BBF6AF3EA6D5FDBFEFBDF7BDE3EF550CC3A0CA264992CC3B8CCA5EA20FB619D6D0798F4DA78B6C532CC12BC2DA311CD6DEFE01809829B88A51E281D7F0B16ECC44FD6200C0129405AEC2A8C1F059C73341B850002AC2E730921809EBB888A15D340058666F63816BEA1B57D6861BFFCC26C93E45B1B9EC8ACD8E4DB22B187685704C0EC5DC2BBC7728E25C511CA4F0EF8A4C8A4D11BFE15CC77DAADBE92E787DD5E90307F6FFE4991FFC60070383775E3456A0CC307DAFE2B02F0FD4D6DFED80204E879D5C0E27399D0E7261389C38E67387839C2EFBF4B103BF3919181C0B8030182C4561906C00C54E35757534361A3D8E77F4601430CA170B081500785F65E85AAD07C25DB1761555575741BBA66685B6ED42ABB80601155340B6003EB69B1A17C22A9573086FC39E1F3E3995A04C2EC7AEE5C598B2DC4ABF982C805DC08159793A5A17D092E52B8536ED965015F3AF9C57B43CF73DA75FE37B0F751D24ADACBAF10EA7F52EE96222C10ACBDB6459566CD2FBB5CAF965D2CA25FC6A2833DE57F983F37AD97D5FFEC6EAB25A5AAA968CA0AA95EB34550D9631545573A8652D5636CA311D7B4DD362924DEAAB77E5773DF7DC73A50B890222F64B924D66D3AE6CDFFE712F9DE89F84B19649328A18651CF35E25492F896BA4ABB067EC0D9C8BFBCC7D736390B66E7D4D3CC76E779024CB74BE21F56F1EFA6E88D4CC6D4555BF4155CB378029C2C26B647EAFC4715B3C4F927592158914CD46BA5D82CB99C695D45DF93BEFF9AB5D9AAEBF02927EF967CF3EFEDEB90010A14B5664235B2851A95814A6FCD79F597E7E2EC0FB39EE13DA57552A95554697CEA5F1279E78C2399653BE521770FFFD65EB2E7529361B0D0C45E864FF308D4EC4F00C993459231BAE2BBA469A66275DD729545F4BED2D4DD4140E51536388C20D41F7F77FF8B3EB862363D7D964DB3FDDF3E70F6C511CB6AF3DFDED6F1C3B1B00A4005566A6ADBFFA25484DB2C88FC90EAC6F09A87008B4F17566784400A7497C26E9D9C46F782934633313084C7ACD65579DD3141FFEB7FFBA4AD57D3F72DAB5CE7CA14CBBF777534B53032DE968A59B365E45A3E3314A245214C3F8ED1B3B21BC8E8C4A276F9587AEB9721D7DE2F61B48C7B56C2E4FEFEC3A4053893488BC9A4193649BBC19EEBDE94B5FFD972F3FF1CF7FFBC4BC00E026F2B85CB4E1D6DBA8AAAA6A5ECD5E0809DAA0F943070F9E55F8C79F79A1C66977BCA848B690AA690093B5ABD1C9C1284546272054915A9A1B28581BA0F5BE6AAAF2B8E9D56D3BA9BDB591EEB9EB76CCD54D6FBCB397DEDEB98F12C9AC90C3EBF572860B379184E530BF613CF277DFFAEEEBDF7CE00B87E60600F757BB9D88E9CEDF1951732874C04AF4B384FC743CB629848D85662D6ABA09009B376B7AF7C1C3B4737F8F380F067C140CD6507D304013F1143DF3D397C8E3765132951116E9F7C9A46AA2F43001C06040ACBD0316F9187EFCE89C009849E1A9F07CB82F41D93CFB9C4476FC04D7E350013307E1002D28187BF31ADFA3E01AF3101FFBAA3D74CB2DB788E7944B2531F9F9B69D3B77D67F7AF36621B809802EEEE763DED705BCE21D6B57760A97602BD973A007A6DE452EB79B3E7DE74DE4F756999C83BFF9C56FDEA4E37DC310489E0182B9CF65F30BCFEA0276877BFA7C703407946152928EE00DC665D615C706F60086CFC9BC26237CDA24F3DC86DFEA6AFDD30038E0569A363F00BDBDBDE36FBDF516DD78E30DC252F40A0018F5013C67E3E564D66B44432363F436044F65F354051F478D49AFBEB19B2E5BB78C72B982708B3B6FFD08C5A69274A26F84FA86A39448E50480F9429EC627637DF30360B319083B3478FC884076451844B7C009E29305F9D9997D1533B961D2E31A80C9D024413303648666B4651061D7FE3D3C3F41486CD273660F30BB852B3638B66EDD4A7D7D2769D3A64DD4DCDC2C84B7C1BC365CB60299649252A92C25D359210C1896BC10DEE0A0827FC5B24E6FEFEE16CF7BAFB78F42709105E120B52D08533A5F4414D2697068842223115275DD383B097A7D08F505316116C610BE0413C73815151C5696875AC0C105924DA4C632FB8321910676D6549D5443A3329EE3C26475559B4B780EDCD5A54236ECAEF201807E7AF4D1C7E8FAEB37D2FAF5EBA91559E9CE8327B89170DAF07A4F092FA499C52F99820AF78D523A93A1C9C9189DEC1BA07C3E2F6482826D0C7AA53771060098392DEC5C72D6F87EA1A9F0AE9DEF52D9D0E64A1DB9F7D05C2EE6DB18005316830E1DEAA6783C4E4D4D4DB464C91200D122589D1562BA062BC5945BD7592833D728816B8A8502848ED3E8D8385C2287EB657010062C5B83128AC542A5DF513C93040DA84FD7CE99DA5E682ACCFE875A60AE9F7832C17229679B6115D32EC502E7F33998BF19D3191C16B25084A048D68A85A2D8178AE6BE58B96E1D3359AA782F0BCF20305099749A7B122EBCA7C4D5E8191620CD90E39577231F88041F78E07EF11C1D13D1F43939802F165253633D35C105499B62F7B3D0ECFBCC21E6B19564B13B56DC0056C08313215D9C1BC22A6692A71945389CAA42F0320F904164E8E40B331B32A70180971876A76BFABC35ECA13ABFF37D87C1CA56C6E4CA656DAEAE11F7068675553D383E7CF4C9BAC645773B1CFE1649242E66FC36C3974864208826CCDEB0DCDE1CC6196326189AC825342AE473C9C1BE234F1CDCB5F517FCDE4A2F42993D2BB7CB43277ADE331B1C90B89E094EA4BF56AA2B73049005E1899497AD0602E3CA74A8E254229F4ED20B5B7E2AFC2E5DD2E78B027C11D516EDCFA5A762B9F4DEF742CD1DB786EA837F00A1FD660C3F0586D961B324AFB41D5968EB781A04EB98AD03E1579D880EFD72EF3BAF3D96484C1EB6FA11DABC51006648BE40C00440B19A1C76B3B353C9F52BE1EE94B95A9AE2BD64BA9164ED391AE40687E70480B50021CB1608198CE8F8C889A3B1D1FE9F2C5EBEF6F2E5ABD65DEEB0DB56841B1ADAAC26CA796D857C766C6C34F25E746468FB9183BB7F3B3111EDB3042FCC6ECA9E6101F96C9AEA1B5B7EA70D11C7DB6FD10B67922037A3256B2EFAD7BFFEF5FCB66DDB8A478F1E8D47A3D181C387F61DC4F8EF9FFF84BC4D2D2DC16BAEBEA1ADA6B6AECE53551D70B89D0187DDE58776E54C369D48261353E9643A9E4CC426A391487F6FD7EE01AB019BB784E6DE8036570BEE34000CC99054B5F43EB3FEF9A3007C5C9051E5C6C58B174BEBD6ADB385C361E5B1C71E9353A994E8CC7FFCE31F3770AC777777A72726269200446A6C6CB4E73319E5D7FFFBFC6EF8B42D93C9C833ACA1D27DD62DB3D62C3F2957D6222A96763EFD00F662CBD7CCEDDF5F38867A1C9663A09EE7468784BD687A98AD7ED092687EC8DC28C13BF95C168D12951AC375B465CB73D62C25842495439BE4F7FB6D4B972EF5B4B7B73B3DD820901B5663838B48485634B85571E5CA956954A369E40025E4022AEE9110D381A35A74B95C1A2CC400407A7D7DBDB162C50AE3A1871EA2F311F69C00B045DA91B7570A973FBCB91D3EDD31DDE4B45B199FC8FC9817B83F60ABEC95E9B498F7286FA7139BE14854D40298BCB26AD52AEFB265CBEA5ADBDB5787C38DB7389CEE0D70CA5A082773A8524B2514769913D954E6D9850B17BE8CB8EF74F90257B9FCB586A2957AF1FC3C728202402A0218EE2E6B4F3DF594F6DA6BAFE9CF3DF79C5E59E7395F20CEE0802A4F351DEBDE8F584E665ECF2CCC610F59AB2459EDA8E98E9E611132D896995763E6D5441812E930421F676292879318B2B5B6B6FA60FE9E6B3E7CDDE702B5C14FC22A6CE5B219A3197411EA34DD9F4A675B11E9373AAB7CFF5AD252DBCBB6AA9F0240C5B03939AEA5A081A182AEEF579CFE5731C5DDB0882C00293CFCF0C3455851F9DE7BEFD56015DA830F3E689C0B8CD300D00583E6A975D132F254B9CD02489099CD8A06160956DAE076F337C566B6CACDD459B15AE9E66F5C03FCE0D91FB28538A1F9B6CFDCFDD92FC2F29795E7C80C39CB1B9B9810098EC949D2B59227F069A7414A16D732BA26D71A520DC0C2305683D53E3BA56906F82503EEEAA75CFE15AF53FB515B5BDB38949703BF94601DEAE6CD9B2BD6717612C49B3961207F6DD014FE034601D36D145ABD7C196D7F7787F7BE2FFEC5977C7EDF62750EE1E353091A1B1FA799A9A82E298D4E97A39515F86221495D4691FCB0C8363CB30516D9ACCB1420BB844CD06B18EED50C4A49D7BE12C9E653E552A64BD2B4E7839EEC165847121691834568B3415066C565492D9F8A0291893CB2AF2CB4275BE52F677B3691084D5FE32C91CB64712E0B4EE0FBDCE092B56BD788BC9CF3F93FFEFCE7D73734841B382F3F236EA380619EE05C228B02C687C2C780A01E8FAF0DAE40C74A793AA49520AA245CEA787C9406C38D6281C1035F6CC63CC2386BC0A835ECE4723A7DB092ABC12D57E74BE5472633A9D16C31BF19206C67B7388B0B208FB79F6A8BBF73708C22A329BC02793F86C4AC8FC17581B82659E7F07B49C6304EDD170A06E891471E16D559436313D5B3F073689E013A72FC042592097A67C75EEA5CD4466B57ADA0604393153D747A31312684E77526399D2299BB46FBF691BDA999D7D868A054A4C9D685D4CBD515CEEBC1252128A44372F0129FA4D8E5C6C2607C0D186EC7EC15A959D520AC4993683C32446E4F155DBFC645CA25D596F6152B1DB696BE84A6CD6CB052B929D3C7B220475E1152100D9A9A5B682ECD73C5D67BF4384ADF043951837CE2B69BC9ED765143B889BB33A2C8992C176939E6E228E4690AA1D44867487143EF357EE48F13A4A1225490B51A8E512AC426C9B56419A5617DE00F5ACDD7F18CF87894794B37D73E44F265CC6B01768F870AC8E3CBBC9A33A3A72689DFA5E9E603171964E8D38C6F565F66A5A66A6571DB8205CDF4A94D9BAC26E5E95B19A6DC7DE4286AF63C05EB6AA9C6EFC3F0536D6D0DE58B6594B865529C0A3539ECF42700809F3FC5E65FDF088D176810641D1F191235888C28220128A5AA5AB4C9D835DAED4E7263703D50840B82A71D6EB7DB0932D4662649A703C0454C26452D0BDBA7577B2F84042B753CCC88B2992CACC863BE651600AC80DE63C7C562494328487E4B780661CDCAE5A2DD9587EBC4E25314898CD1E4D41425A1792FF0DF5017A4ABB81102D0134D2D3488FB2200245A2C50115666E77509060056E2C2BC78618679AAABF7E4B7F71CE87DF0F6EBAE5AFAD65B6FA5EBEAEACAE0035D39CD03908DE96A894E7D2973815F454030AEBD3992704F91C1E0183F7B3B76B24F80E7F779A735CFC4D7DC1816C29B55A94B34333A3ADAE88AC03A2B524C214C4ED2E8D8845871B6833FD6FA7C74A91C109A4E70188525C4B16FA9F20AF3EF8B0C8BC5923400BCF49235B57DA353E3B877321689DF8B47BE78DAD218CCCC504FE5ECB4A36B02C817CDA448D6ADDA1F4159E2CAD130CFB911C2D764F31A3744AEB8FC12BA6CFD7A61E6B3B748748C32D90CB580C02A5AE71E5FCF91E348BB87291CAA174030A7B00EEA5099F2368EFC005AA35A9C2FEDEC8475C4C5DF1EE8EA86768F503295A546FC5DBD3F60364A744ED2749A9818A73E54A3F5C12079A0947C2E2FD965A5DE90E8D62D5BB6BCA4CC888BE6474C92ED7D7D0B65362774F87D235D79E515A20F307B4BA65274F4C4095AB76205D5435053FB3EEA397C0CDA8D0B8D732F6FF7BE03C2021BC321E1063CF1CE45EDA2F1C2DB542201AE0888738FC74D77DFB5494493EDBBF65057CF1172810B5AC13FCC5DB1581CA1B344D76CB89285270396551BA8A16864E8373D3D3D9232230954B94F964A23E6EEDF23BEFEA8868ABD6E59BC4812E9B07CAA412155EA7F49688AAF23D7A73B6EBFF5546364967B1CECEEA1259D1DD4D9B968DAF47B8F1CA3C19191334912FE7CA2AF9F0E234AF07115F8A4BDAD953ADA175253B841CC8901E56788CE34C6A56B57D3B2259D82A3DED9B19B4E40F383C323B46EF52A91BD1A2E27555579604D93073A5B9ADFECECEC342A16C0765F402E9E9121B8A827352E0275D175355B4B9A2868CCD6B22ADA5365ABCCE58623AFC17DEB1FEE87463C7386BC93FD83C227AF8175B0F09CF747A2A30883C74E15D3B3705B0C61A3E313BC982142E62E58C6F69DBBC53C9A1A1BE00A1DB47CE9121191784E51580F93286F77DC7A13FDE95F7E85FC5E9F008D7FE70E1612222DE0727C211E8FE7EEBAEB2EBD0200CF388D583C59823095969261F5D62A4B55DC6565D3562B8DC6B2B967506EBBE9065ABC68D1DC1D1A30F561087AC99AD5C2FC784B2453B4BFAB7BDE4E025BD181AE1E911AF362A85ACC8B8556C432419E27FA07E8E8F193F4FCCBBF1279C952689E53EE50B08EC20D21FAFE33FF89EC324237DF78BD702156529E8A343ED0FFECC270DD40243259121DE8191690E91F1ED859D6F5CF150B792E4FAB0C4D7720C6DBCC10A95365CF8762CF79832CDB4062DE60EDA736FDF8F9171B5B1734410B2BC4A42A5B574FAFB096C51DED162045DAFB5ED7ACF5C2D36108F8AA4561C6094D08A1F2388465A697310606074DE2B2FE2487FB76EDDD4FDB61F66C7D4C9C9C5AB375841BEA452864258D4422F18EE6D023C96432CD4512C6B40B3063E563D1E8084642A4D8E6F73CCAD97A710865722010707FF29E7B3662928D2558473718F9A55FBF4A353E3F31182D20A37EB03B4FAAA5B94958D141689E174C254BD367681FEE31119B12AD7119E165DFDE7DE4F5D788BF87722895C910E2F50CE8A4D3E01B85DBB0AF6FB87C3D78C94905BC2B09772BE5D3F7DBEA7C93D5D5D545AB4C26C56A4CD28C8F1A79C52465097ED6840099950DF57D4D28D4503E3980789BCD911B65F49DB77F4C98E7FFFCE265BAE64357D14A68E28E8FDD24843D8CEC2F8382479AE7B1A1FA200D0F0F8B94BB09A18BCDB8AE3E24343B303824B42DDBCE1EA99898375EFB21F12C2E9E261009FAFA07F62CA80BBC3E31319179F4D147B54A51A4CCE8CED2ACFEDA39BFE7E1F6566363A3ABA7A7ABFBEA6BAFDBE1743A2E191818729E3CD92F267AC7C73E0AD6EFA49B365E2748AF7F604894BD67DB380C6A86B9EEB0FFC07E72B83C14006FD4FABDC4206B86715A7E311779B62F6CA375AB560962E68CF2F8C93ED5EFB0DF8FC42C06704B334B6265668B7AC60FE7F50DDFE6CD9B6D70810CFC6B64EB6BAF7C079716B62C5CB8BAADB9E9C3FDC323E137B7EF927EFDDA367AE2A9FFA0CFFFD1663077D834D73960E575868E056D485A8604E9F2E73A2194BC4CB4BCACBDAFBF5F1468A74892E6B422B7CB4DB7DCB851A4D74CBEC7FAFA687C74F4E9C65AEF89582C96B51A23F3B7C42E64432625DAD9030303C340173CA74E0CF6F50D63EC85458596B5775C174F67562239F16C7DF36D1105D8AFF9EB0EA7D33943739220448E0AE20B55D415D168945C10980B2573ADAF2C34AFCDFBA18559B47DE8CACB69F992C5223A1D021F9D387E72241CA8FE3ECEA7464747D5B33644DE47EE2F42E87DF7DD97E066252C61129318C4B57A1C8787FA8E0F42B0FA156D4D1D8BDA5A6EC624EA8AA51C4DC610D751C3FB91C7B39F7201235C0AF500FB7A115A67D2E3C83139394993F118F28BEAD3486FAE2D8CCCF1968F7E447C32731C16D37BE4A8AE15D25FB5F9FD51AFD79B7BFCF1C7F5733645DF0F0EDFFBDEF75458821689448AD05C0A6E31C16E0130EA004038934E460FEC7AB77FE5EA751B02F5F597144BA51A36ED1130731F1224CE2B385AD423D73FCDC6CD900073AE11AE5029CB4375A80F0C8D0623E3D356C499EB276EBD9916C06DA69249DAB5E7004D8C8D6DF1389D0732994C02099A7ACE85910F680986D56BE02664311C0E67607231849CD17C3E1FC5EF13DD5D0726F1FB0E77555568D1E2A51B9C0E4FC7682EEFE4E5EE433D8761152572395C0473219FCF3B6F8E104F2431A6C4172A95A469CDEA95F4916BAF16FD8AD7DFDE0E70236336ADF0A461738C21E72F3CF9E49306989F7E2F00CC0282B8E9C05F8323D554018248B11131E2B086086E0967D3E9F0A1FD7B87708C10DAB828545B77452C910C65733939968D53E4DD51E1F7FCB0054D8DA81043E27BC0CAC60D1637EA7DB3C526214AF869D3EDB788E4EBDDDD7BE9645FBF9E8A8F7F0D370CE339E9D75F7F5D9BEF23CDDF29007380310D84C3E1C8974AA5290B845A2649E689B1B1C8288D450EA3FCF52D6868BEB4A06ACB0746225E2631B688AEEE5E9138552245804BE81A3FD2E32A14408AB098A58B3B4555C821F48D77DEA5C9F1F1972455DD8B5C22363535553EDB17AABF37006603C1A115AE51863FE6903BC400461442326106014A0373C5D8C8C038BB48C8EB09866A7CEBC6E2536DE313314FB1A49B490A34CFE5318FCA76C56597D07BA8197EF6F397A813A976B0B6269E8E8D7D075617E5B5018E5417B432F4FBC4A2E21A20CC3208B3809C3C098E1887250C43F03A4C38C440E4D2E920E6DEEF578C6A5F38E0811FB7A396EBC8E4F2C1442AE5C9E78BB26129D5E0C56EAD3CE2ABAE6E98988C2960FD7F84D973F4493EFDF4D322DFBF58009897309B9A9AD24C98DC30C2F51A5C0F00140E09B55C17495A690439FBFE5A97ECAA75F999F99C6583EA74C916CCA412E5925EDAE391E582AEEA83C54C691F809C0000A54ABE7F5101301F615A5691EBEFEF4F8030A300C0835BBC10C407730EE01E3F1FE39A07C72E4592EC865E2EDB543DA1EA7A0ED78AB82F827B86F1B75936FDF35920FD7F03E01C56510806836910185B85239BCDA2EE727B20980BDA754150171F730B0F2389AA34ABF2DA79B19845869902A8E5F3FDCF18170500F35905473C584671DBB66D59FC64035F88FFE1869458E1FFCE26BEB37338102C4A65FE7E607C7C5CDFB3678F7ABEC25F7400CC05061F02844A24113EFDD0430F49DDDDDD2232A01C372ACBE033BE1A39EFEDFF002B9CCFBC01A03F340000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (50,1,'IP_PBX_symbol_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000590806000000C1ED215D0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002C514944415478DAED7D09905D6775E6B9CBDBB77EBD77AB776DAD6EED12B264495E458C31D8310187CC0C2140C114542826AE09613C1E84A6B214496A3209C34C30788050A13CF60CC1408C318C2D5B966DC9B2F66EF5A6DED4FBF2BAFBEDCB5DE69CFFFEF7BEFB5E77AB9F6CD910D55CD5AFFFDEFBDEBBCB39FF39E73BCBFFB7A0EB3A146F026ED49987ABF4377BD357E8757DA507BC8536C1FE7E36C253136DCD7EFEDD60826E23BCC61B1DABB73A2318035620BC844DC6E6E0BDB40A236EE6C83789AE14359537ED5664826C6706273411DD89CD83CDCD9B937FD794889B2105C52AC72474165B065B8A373ACE1133709CDC724C906DA35FE44426C2FBB10579A37D6F11136E961AB23341E1C44E638B635BC216C516B37FF75663825C34FA5DD87CD50D6D07C3D5B57F244B925392455996645976C8A24312F0C00192240B4E878CBD040E3C76C812480EEC25B317017FC19B04F87B90B077F05EC6CFF1922089121DEBB228D2B5743CA7E17D1497C39573381CB9AB03FDFFE7F1C7BEF294CD1E68B7A20AB28F7E523701C921377B7CDE3D4E222636B32FDC970BCED331EB65997F8F88CFCFF37326538861D41303CD5E22A6204344EC45019B28C0D4F4E4252E8559DE549BADB82519E0622A47D7FC345AD948C54F901620F1260A3A7E59B759640D2D39359DF7D8340D2F8174624D055DC56FE14534D476BA4014D41925F18851D3F80D5E55544152451048BA641728B91CA9C3005749491B10805B5505919EF72229BC3292E8AE03FBA1B1A985A90D365AA5957B43ADF07D5B9365735FB67D2E5AE7D939D1FE3DE35C24320FE72F5D04455149227D45F6E79662805884F90D2688E02E0BF9A1A1B9C5D0D58C8046CF8ED768F2759BA3B03996B7BAFA75E073B920938CBBB9543A8A60F02DC58062182A0B34A625E9DD713C841BFA9EE98348B722F18BFD00CBF395444190855FAFB40B787F6482F06E38808F1C3BE62C9B170FE440D9A42B4AA5AAE995AAAA552A9A5A05D8AB9A5AA9A86A85A668695557E635559F57356D5E55D4790D9479558579B487A34ED9F9F20BCF3E3971B3185010921065B1E0DC42340B5FFFFE2534982A52014D28F62241773A66CD705CF39F2B20EAC6F7E8D8F89CF615EBFBD403FFEC2FBFFE1770F73DF7E44703519F0D829B43FC47BFFAF5CE6C4678BFAEABEF2F57A53B5551F309880074BA87A0B2ABD3DD54C1A20108A2104470502D881ABE0B7E80341134070326CC31C1FEBE8F7CB64794A417F1EB2FB93DF24B3FFAFE7F9B7FC70C100D5C5E70CEE514E1B6AD550C11111212080D998D114C636AC33C479F33BD61FB1E3BC77A7A598D5D8B9D1375A8ABAB2B1C0485CFF0B660E7578EFD5D932E088F239A7BB8B16E5DE5EC5C04A2F1247B3F7D85CBD27309AA81D608C969487809D1197A7E88EA740A4881CE7F43CF565B5509EBEAABDB53E94C7B4FFFD017045DD03FF6078FBE85C0E24F9FFA9F7FF5EC3B6180AEE454884797A02C5CCECE79DD327CF4486B01E2590D05C996C355F43D6939E2B19F33B7742A859A400397D7ABBC1DC21F3BF63DB7EACEFC7BF41C1FABA9087B0E1FD8CDFC1222FCF0B50918C1363C3A09D1581C44BC8F4A239C084D449734466CB64F0447884C7E4C6BD33AA8AFAD86BADA2AA8ABA984B6D646A82C2F8374260B8FFDE9DF810B4183C85487B8177D981F7FF20BFFE9A420097FF2BD6FFCE79337AE8250C1B9FD21B870B10B3C6EC31F9065272214EE54990E95C36896834568C951F8B9857E386364D38396C8E932CE8B92C0449E5E9C3966888EEA1B9B41387FF18689FF177FFBFD07E5A0FE378226B711C167234BF08B175F8786FA2A686B69802D9BDA606BFB0676BFFEA151181C1A039FCF03A8DFE1D5536791F13AF3610CE21B8DB4521D12FF339FF8087B27FBF6DC2F5F41D8BC8474721B6ACB505DE44C1E4446BCFAF92FFFF94F5C0EF8DC7FFDB3C7A64B66001960228A0F6F160CFA9968CA92C318B1ABF904A432E8C646889539613A5A2B72B4543C14343AC75F0E75A9C6BC5E348382C47E470F4D0FAFAA0AC88A42A3E08689FFD7DF7AEA33C8E0EFD0E815558D49113121935390D8E3D07BF51A549405A0A9B10EF6EEEC849D9D9B61CFF62D86178EEFE0F1B8E0E5D7DE3298A0EBCC0E6DDDB21EEE3EF43ED8BCA1C508D9E2358F9F3C03139333D0B8AE0E4E9EBE086E0F129FFE09603181EECBFB07B16F7DF4D8DFDCF55F8EFE51A43409C01F839A83EDB7ED43D175AEAA6E565741D773C4A442476C15B574F2D5572097CB8AA512FF7F7CF7476D4E59FEA626E65589443D6B5CA560CB64734CF52F456378FD1CF87D5E54AF2EB4710EF8C8878F60EF84975F7F8B31E5F06DBBE103F7DECE9E877E7BE2F5B3F0EAE9F3303BB7C8EE79E6420F23B239FAC1CE00531A8CB0CA363C710C7FF2C5D26C8024082E7488888BBFAE8DA442CD29253F80EC747C4050359745705DB3886E3240D78DFDDEC16B706560949D53514A8950743F620209AF1B094ADF3BF9E62538DFD5076DCD0D308E237E7E6189DDCBE3711704848D78B281992D3554D49096FFE6D8B1635F3A7AF4A8B6B60480A14EDE0D3FA054478C5400A9A352B72B577A1FDABAB5D3329E26F1758B19BAC500EA75F61D43D590046CEF580FFB7675204A4A4057CF20F4A1BA9A995F002F127B3DDA8EE6865A0A8D404EC94116018A826A3287FDE8181AF344CA466C8382CB9900412D5B1D22445F020A925844D2BE65B22A9CEB9D035134303AF52C3847C7C82CDA17D839817F077820CF185DA2F9F90ABFA773870E1D82A6A6261B030C2694BAF5F6F4CCEDDEB36B39D14D836A33AC12DEB4B62A0C4B88823A36B6C0CEAD1B99F1A7CD8DCC98289B636AD5EBF58082E375612906F7DDBD7FD93DCF5FEE83A9D90878D0C8311B66E8A0BC2DB031229D4E8BD3998C5EA2238684910B8D603CA9C0933FEE331C2ADE043D67F41A1DF37DEBF31C3F6F9E2BFC5CD07205D7F9CEB7BF55C4008D19EF9219D0DB3B7BFAD4693878E8A0416C3EBA89110643F8C8C7FD7D3B3723126A5B2671DDBDC370AEAB1FE16982A17D8FDBC3707FFFF004545FEA855DDB36433C91647683B69D5B37B13634320E83086B47C7A72199CEB20106B6D14F83626C7CE2C6FC00A148579497B9E05B8F1FB4195C84A662DE089B48226F487938BBC00F102D14C5A2A0B6E828E95DFBA628E4A8095A696A4D10D66F3D243CFFFCF3ECF88E3B0E3320A19B6AC7849478BCAEA67C19F1692375338884CCA29A717B3C86089AAE1AEE9FEBBA0AB3F34B303635073E544BCD0DD5D0DA580F35D5E5D0DABC8E35DA46C7A6D0765C868CA2320948A5D230323A0A49F46D1C9974A90C40CBEE0BC2E8D000EA400FE3E87551500102128DA8A9B52FADD0440BA61928012CF125F59045FD2A22081024492B81F82C9781847650FAE1B9E79E8337DF3C0D0F3FFC11E8E8D8C2A5C050416E04E4FB776F61486871298E2A28C9747E14FB251CF5E9ACC2DE57E794D78DFF2C677C6E31CE060A49E6E0B5196CB310F47BA0A1AE125A1A6AF0BA0A74F78FA04EC5C187EF3332720D2626263900405596490BA53100DFC9E3F1B230814AFA1A892650A8D8C9335E94E972E6B3604EE674399767C59C3C2BC6C2CE123B2F316A0B8C30A651A35E41AC9E4558C86022DEDFE9F1A311D64A213E85AA039AAAF824D1C9CECFCECEC1134F3C013B77EE84877EFB21A8AEAA62F773E3F3BCFA560FAA898C0130F47C78819C3F2F12CE1CF1F6D15F1C0FB1533187DC181A9F83A1B159233D8512373F1F818181ABCC4BD678728A06416C312291B4DA73DAABFA01B96C9A8D98803768E46EF988A7201DEDB311AB52764B832CEA71D2B9840CB2999C0DEF9B69C6BC3A1245535D898C192257454E8F0375AB8F9D8B271228B663D765002F269078D1409DAAE4C292C359F09D9E9E1E98FED634B32D5BB6B4437373135457571BA3DC32F2A6C70B7CDF24B65E142AD20B0E390065BF8DA1319F8F44606E761EE6E6E77150290CDE52D354CDB043F8BDC8DC94934777D5B5FC00C4E069A8696DE58998F7DE111B1BBB069954E27AEEB0C0336565D81A510282CB7C097EAD643209838383B0B0B000E170190BFC5557D780DFEF4329757215611058B0A1309303F4798E49690EA127496A16075A06161697606E6E9EE9791A7C6663C4377B1B1C8E8C8D52764FB25776AC2C011A2A21E1DDC90594EE07D04B2BC21AC924074FDA57A2CF20AD14D5359BDD0691079C4C26C0E572B2201A492F9D23754804264233B5A8904ACC5AE7720CFBF3EFF07DEA4D9F43D55426B54478854B405E0A746D6666C64C2EE556CA88D91E1C782CFED79790612A4D554BC9E8B12C5E2A199D5839AC2E5A467FA5A6DBEC00D74BDC49336249E6E70521695D5FE6F0B14684D64CC26B2CC067305281542231383F3F912D26EA2A36C08865D8B7682207DFFDC91516C71778F9A6C8122C1A3F67ECB32618C7A26EEC17FE867F667E971F3FFAE8BF837DFBF6E519802FA02BEA5A455D8A59C8158B4C769555D64FCB0E578D9D0106CA2A445DF673D6A5F4BCF397EF8BF78B9ACDBF58C6109B04501BBF76F51F6CA535D767000D2C328EC50AD78146D5CA0F0A66AED0FE4F3312338CA8A245E4FC39735F62A528A290674A71DC49638E98BE1603B2DCB59FC097F64D8DF4FCA0AEA5E3D38868CA5789C730886D3246E0684CE790D34CB7587BBAE5925BB0B4900976274FB71CC0BC4A62EA489B9E1CF9E1B9D77FF9235E5EA3AE89824832258494882C9851A42DE073C0173FDEF19E2464E8F916D1FD1705495D8301A44BA97C718C854B52B1E468EF9B9395EB367C2018AEBE1309ECB4D71DE725C0F07504A15002F204CFE31EEB34E8795EE8B67D4B7A964B463CB6D4D37FF9CC3706FB2E9E205F0F8C5A57B5243FA0BCAA06D2080793B1453EFA79059B955CB111519698AF20891C5AF2EA3633C66F41360B5ED875693E64C0D40E798F68F834C989FA657511A05124189E32BDD41C9786251C79F333D7FAA6A3F313275CEDBB7E271C0EEFE091817CDA5110D6000436861480CFE2FD22E27346657399C8505FD793674EBEF04F9CF024A5091A30C575ADF2AAD68DF039FA01A465E941199434896F9513E6194084E7992086FDCDA0147370CD8784BC01330366AA6A88B2A12B8DE867564166E075B4351C31CE04953321C75F9282F533E9647CB2EBEC892B91D9B1F6D68D5BF6006CE80895855A3972BAE95B26939A9E9F9BB9343B3D7EEAE2D993BF8A2F2E4EF06749F0C1A1AC5454BC6A2822BA3007BE60087CA18A65C47EB7FD00827F4F7EF7BB90CD6685B5E12A7B29954B037190DCDC18970AFFE4B5A1ABD88EBF86FB1E8F277CE08E233B76EDB96DFB96CEAD1D5EAFB7CA4B21CF65704FB075C2B2F3386072E80744E7E766FBA62747CFF4769D7FADEFCAC5214EEC38EF53FC5954B8CE041379150C2E28E86CB8DC9EE2477A4F3697CB0D15E172503229E97A9E30BDD3B163C7D8F1D7BEF63566BB8F1F3F9E1D1E1E56504A530303034BFC1DC96173A75229CF8BBFF86917B61FF1730E97CBE7DCBC794B797D6353B8A2B23AEC0F05CABC1E7FC885FFA553D94C22BEB4105D585C5C589C5F98999C884C8C8DCCCDCC4CC638FA4A7342A739B1B35038A964CD993DF2AAE6ED5D227BA98E98A6A1C7B95C05094D4D4D02125D40828BD49797970B43434342636323FBC2830F3E08D16854EFEFEFD7DBDBDB33DDDDDDD9B2B2B2E4D9B367259BDF60CDFCC96412D2C58B67046CA69364778034C85764AB454DB1F5E6E779CB516232435E0584AE201500C9B482EA460799EA6528E78A20C52AB8E52A44B4C2D4BC085734A3A362518454CC87A511DE0602810224C48CB3CD0F703A9D82C3E1109A9B9BE9E19C389A255429522412912B2A2AC46432291A616C8511A1A3A34341B8A9DC79E79D0A3243438F37874D476F54A8AFAF17914962269311C89B9D9A9A12C859F2F97CC2E4E4A439F2B4426B5B3879B0F8FCDB9D342297FAC5C85206BEF28DB7DED584CC071F78C0BA1F33CABA62C67488F8626B6BABBC61C306368A3D4662964D9FC2EF3AF0FD59590E8FB3E029359BC60D7F9B6C69694923D14D27484066C9A8FBCD51A621E1B58989099D98874CD18E1C39A2A3E430821E3D7AD4F417DE953909F22A19F1658E981FFD807FFBD17623BD68A51A793A92A7208DD4A4904F53F254A4D95BDF2D3A4F037FC7CE9D05F723579E42BD388A051CFDD2BA75EB9C1B376E1442A19003094229A980DFEFAFADAD6F3884B6AA139D1E87A6A922222CE200DA30652193499F8BC5964E2696967AB861A69937124A9B1B19E434477A229150508A72785D05254245E2ABF1785CC3EB6BA8E6745477FA238F3CA2777676EA379B21AB4980EEF179213A3F0B81B272C4E4063AD9BD29842A485C251163CF8AC9CBCF89F910B558901193D835E938897E071DCF4C4FC1C0F028C25A4925E223719CC8806055559584A335B0B9B3F383A160D97DB2C3B905092E1507BFA851085C72383E9CCCE4744FD839A4E4525FCAC5E3E7485A1441A84C4BFEBF27082B807A5E54945F8292ED436633438ACF9045463386901A4334A622F1D56030480CD16E26435635C2FE40187178963536AD45A7DA1811DD6B848966D11177F1EDB6DA1E3B5916A4D28CF02CA51B2956C2C2B72C68C543B91A451D8DEC118906FD0E47A1A3BABA3A505757E745355275E0D0E12F7ABCBE7D66C0EB7ADB5C2402A934CB42B58992EBC7A22B7718288229FB8F22D0DB638410847DBA207D2E0D4E0AE62C82AE8E0859ED9C2CA9BF7269705914B326C2C9A1DDC8213372F84E0A318404F589279ED09E7EFA699DD0D8DB618660836914D6ADC6D672E4B7EE7FE8810F7DE8D3C94494658A441E47B1A71359A2C5EEF9DA43BFDCCD379D3381463F2BD913790D8E6805FC78E19255D227E1F1EC7C045E3A790A8606AFBE3470E5F2D3A87A12F7DD77FFC6DDFBF67D017F5B911FED9A35E28B2560727A0612C96421B8D094C7D28AE6D664EF57B58281B272B00D070B2272650947C2A8AEA9E79D92F0D380AC5DE4B0338BEA2A8B12494C2946425AA9CC58450569105B5A80CAFA86F73C212371260E0D0FC3D5AB7D4E543F65FB6FBF7DF38143873E8FEFE252D70E51C3F4ECDC32E21BE22954C8DED0E74D2945D7147E914B4235DEBF09915F58177858C4F85C46F1D0754719EE97212BB663FBFD081A17F4914641CB9EF03AE41F38B2D9212E214C4ADC6E770E6D3F498682AA4A2B4E4196C4000DE5B394177DB7FC00BA3795083A45D9B567CF9EF5F77DE083FF0A995212F1FB06AEAE58CB2E0AA22E78BC0F3825D96B462F5FCB26E14D3DCB6AFF090C0491094D28AD8DE80ED4E37E05F6CB240347A4EE72B7E135A87D722E934A65B3993E5073CF577BA51FA23444C80944389B461F258B4C50AEC704F97AB1A8F7D2FFB5C49EAB10CA4E555555FA7EFF939FFA5D34C4DE5288DF75A597A931F37A66D08D5D5B9205B7C7DB6EDE675155E0E55CCA4073F8B222B6B4A0C30042DF21F4AD08A37AF0FDD78932D42123EA1843C47C229F3787ECF778BDBE1DC88C1D0955FD93B944723197499E455BF28F91C8D2D3E5E54C0BA93724012C68A615FE269152E09F5F1DC94FCEA0A9AA6C5286B96F9BB441314D4AC4D82670E48FF9A40D308E29464A13347EEFF73E0EE8B932E38C589CD9984F7DEA536D5E9FCF5542660C06874718F11524ECF8F8245C1D1A817BEE3CC4DE862075A8BC224F3CD431FF9C58602A4816046B1AAE363008EACC3438F6EE05118DB5EAF3C318D26E92E52C90D8F8B435820435A822AB05192A50728402E99049724965DD830CB9676274705B39947F050DB44A36E1066C80B06C4A7A0E91CBA581883505C9981F6C78E3C65424859F57ADA947E61425917BECD6F425FA4C33A72719D3968E1CB917D0C962C96EC4E070DBFEDBA12C1C2E49ED8C8E4F309D1F8DC5E0E4EBA79911374A0D7570CA4E085755B3727793F857D249B8944DE5894F6F1C8BD3CC1070EFDE0DD94B97008D0F64BABA5874D7B77D3B63A2E072C13CBEF782AE412FBE2FD5FE54E0E795D86AF173B2211ACF15241331105596D316BBBABA84D50CF22A3600AD0F2FF3061E1E280B38E1CFFF706FE94658964B4AC898795B7A361AF92924A48244AAA8AC8452883F3631C94A42220B8B1043C675A214A9C8D41C0213BFD70F6124A420390AF2BA3F9D8D3054C6823F84D6F07CF6DC3970AC5B073924BE90CE8010304A0C65B44599EE6ED0A24B10D8D48E765C006F4303A0EFC0DE21C6429F1A785155558B0E4B1AE6624BE887B0849288905578E69967F41B71C4C0EB2F83F9A909CB2098E93C628C68CE0201A307D32700B33A586485B846B55B51588FBEA01799174E1C62F8F6ED3BA0B9A5B524E28F4F4EC2D4CC0C9B6A4497ABADAE069FD783CD0B5E6C0811414009D0ECB95D64C0E38DEB61289382DE6402AEA2345C43A8EFBAFB6E66078819EAFC1CA8D3A88A8241F68E7A2A053A5E4F5B44C6F983103D7306CA366D02475919FB0DA9D846A70B9C8268311AD07F4244A79023890659244454BA0D201C861773B8A93A58650915C11679D2F8D219565ED42420CF91AA96F3C571BAA61A8E97CA1DB002DC6EFC86F8B26FCF2E58BF7E4329D5100CE7D3E8A79A1C5AB3C2170A1A4467CDC38AAF7278ED4C2E0BB2C3C5BC6DB3AA01E1256C71C8D08E3A9E8EB3F87CC3E9345C4D25611819334D6591B5754C4AB2C86415258C249A98A12E2D82AFB2027C685DCDC9CB01546F952EB7951B4E250D8F1E0C34E9463F26178944C85953296C6E57452B3A6287EEBCF7A1C3771EFA3445282BAB6A6F7A42C60C4F88BC7218611CAA9F2C7ADF01C6B862A7AAF8782EB20097BAAF30078AAECB086E129EF7B5D555D0B9A59D31688EA9A805588CC6514D2520994CB3500585442CD5646B69BCC728DA83914C1AC6513A2268909984D3F429FC5D1A0DB5BFBAC652631B1D6EE8747BADDF0F0DF4A13949C0C0F0487A7636D22D8BE2CB1FBC6BFF5797969628C4C1C2DB262356B601A226E4F0E665CDADEF5A42867B9A94F542E2A721102A2BE91E69B4133D7D036CD6234D9F2A24BCB14F75AD447C73364BE3BA7AD6A8C88A859DF17B544E3835330B93A8C2E6E6172099CE1973BD4463A99D2DA8FBDBF5A031A20959E17DC7513AA6F01AB1BA7A237140AA17C77293D7074EAA2BE50C489004E0CB20A3DD78CFDDE535D5BB6717A2CF568543A6179D4306A8ABDB00455B331FFB0E489FC7FB480CF41A71E4FBD9485E4BEF93B45CBAD2C3548ED7D2F59EBCDAC19E3CE98EF6CD2B32FC72770F63047D3F80F7A44613EDA8E299F202C3A3D760E4DA387AD2F34C5242656170B95D4C9237A38EDFE40FB0EB24F139A770D0CCA07A5BC2DFD5F17276E65D6B2A83AC9185289B8746C50C3BB675C2E4D4F4F1680AB1A4AE0DA0443F7ECF6DBB7E4CAFB49A27CC8921DCF4516F12924D9843E3E66123D6B366608D4D43EAEB870C221432B654D7E92B523B1492595C5A8289A929A8ADA9662FCF203412E995D7DF80BD3B774028982F21BD86F095FC873B6EDFCFAAB937AE6F63CD1C205D3DBDD0DDD30FD3086BC3E172280B8598BA0A2243024E076CB0156F996A6C7A6C8AF5C3D7C618F5F6EDDDC540023D0B125EC6F76E0FF87D8FA161FE19DA84EC2A46D8C848152464A259F8B3272FDA961850AC7D2B09C3B0BFB17C01FB5C53F27E819EB32AE9645907B7438423F71C86C71FFB7249467704472719DEC6FA3AA8AEAA2C503B240584B32F5C3EC3747EFFE0207BFE2A34960D75B5D0D0500F87F7EF07A7335F107175689811F4CE83070AEE3330388CC67D02EE3A743BECD8DAC91AA9CA6E64C6B98B5DF80CB3508E4E5D6D6DCD8AF6637272824DE8239B46CF1942BB46D244E5FC82224279380489444AA78CDE9E3D7B047979A18BB13AA156E433B89D12DCBDB7D6B65401F0650774EB9C68DB37962580E5DF130DAF32E0F3C0A73FFD899224878C6ECFC055A80887A1A5A96999FA217BF0CA6BA7D8FC02BBBA9A989C826B63E3A0BE719A1180D44F4B6323B4343732585D1E2E2B9A95A3B209D91BDA5AAC7317BBBA514D661842DBC6277C5C42557602EF97C0F31B10B59993B78964F15814A6D1B61030D9FFBEDD6C4A9393CD38A559982EBC67181617169F11DC1EA1BBBB7B1903348E32D1A3D7208E90AB8C5C78F20BDC123C7457F3DBAE8C63E5805CBD21F7F1456B18545C4BEFD3E7979008F412DBB77640593058C000377AA7275E3FC5E61414A08522ED499271A5B71FED402FBB6605C2C8B6962658DFDA0CCDC814426697D1BE549687D9B5CDADADA599CD5BB055633006917479D03EFCEAF809B8DC7F0D1AD139732128B83636C998B4735B07A3283DB72218217B7A7664CE445375F8876877F4B6B6365DB6139EC7B37308B8B2325AF641147B71EC1A6A17CD7A21538FDBF539C58E34353F1F2B3F57979766B37A4995E37D01EE7FFF11D8FCC8EF94E46CF55E1DA4A40AECDBB50BEA6AAAB9DE37884FDBB90B9760766E7EF56CC72A27A6676799AD78F9E4EB6C70343735C0C6B656768FE2E05EC7E64D85EA1825D2E9723215F6D1873EC468F1E6D9F3F09D1F3CC50C6F193A6824A91450749A65F292CBC879A8B947011CD9B9B9391501880543CD55094986D378D3344DD71744D9202E2B9CE5C60678C9B6067C2A285805A9AC169EF57907CCAC8F3788ADB351F7B18F3E5C92EA89E1A826235959518EA37F4B81BE677A1CF53519BB52B64A94E47D7B76404F6F1FF40D8E14309F8C34415B22389D0F223ADAB47103746CDA085BB0D941C4E9B7CE23E103D080EACC2E15045D7BFAFA9824DDBE6F0F434E745E11151015091C2E19C6C726DEA80BFBCF218DD27EBF9F05E8649BEE57795221818E539CF07241A8188A4BB20B6BE34DEFD7F07A0B272BA87C9E94D321C11F7FE90F19E22865F45FBCDCCDAEBD7BFB76C6047B05F5CCEC1C742331AF97EAB32720284EF4DDEFFF00FC082DE99A5BD14F686B6A84936F9C82F1E9D982DFD2CC979368375E41E9A0EF36A37A2168BBBD730BECDEB16DD9821DC9640ABEFEB7DF643469DFBC1142A1A0655358960FED5E3C9EC855F89C7F8C4C8921EACBB6B6B66A8C71B60224B3D63E2A399D510AEBE62BB4752B5E9367827D1980FC549CC2D16FECEBAAB1D2640047CE3C8A2F19223B225931C8363909337373CC4EECDADE59407C2226A91E5883FC665930E17C3F4A4FAAB6DE9A424433184FBDF106C8CC83D5A01A75FA3D771C82CB5D5D70A18B2421650D3E424CBD0383F0BF9FFD199B55D3892A89B0FDCEED5B99C7FDDF9FFC1E33BCE45790BA22E78F266718732C28D4A1D1F4A8EFD59707A6F0DE49B481B98F7DEC63BAE909EBB6C90EACAEF2F2C5B3FF776662FCB7B3994C081FD89FD3725E1CC10E54E9B291A137B9A659E54B9AF9BF794AD3F87C33494494E20C86427E3D5D53DD3B70F577DFBA70115A5147EEC497A0175AE60722812E765D61FBEB1076DA0BB6C8733E7BFE1263F89A2A9F55D888B00B8DF7EBA7DE40A3E965CC0B05038CA16E7FD0F277E87ACF3EFB1388A73290B196481096A5F168B4BF71E62C9C3CF5267B4E621CC5A4E87AB7EDDD09E5A8FF697092E1A5FA9C643A45B32623D541CFB7F0D963A8AA321D1D1DD6DAA72BD980D4C2CCCC1436AABBF782B194B10BF20BE895BC8804D5F4B85C2ED9535EEE3B74F0F69D0F3CF8F067A368A408D69D7EEB1C33809B36B4A1C16A4423D8C8D290CCE142D592E439DDAA8AF20268791ED5523A9B5973F49B3D1196202A41D230221F72D03A36AE87D7DE7883A1188289A41249C2E3E8C8A936C929902661F5A0206DAD2D8DD054DFC0E69C5195373124B99464F3C97299F8D774C9BB80C4A7975268F45BD1505EE26D0D3E1B33A8922CC9EB28ED7593258787F021C46030E8AAACAC2C43A7238462EA0E978550A56C45B77F8CC1BE13AF9F86E75E7811E2C90483765BDBDBAD2B134EDFDED9615D8F0C652C165B5EC0BCCA467E4314473C8DF286C606D6930A7CF6E7CFA324D152350146FCF7DF71104EBD791A995305E31353ABBEDE6A4C2035490E5B05425816E95504C8619F44E83B333B7BA9CCE33981863E86AA273B323252B0F2AF6CABB33735896EB30999150A564B8D4F08487CB1AEAECE830D55BE4B4BE3681CC79138383CCAF0FBC31FBE1FA6D1001E7FF53574FBFB10A10C30887770FF3E06091FBCFF3E4B458D20DA219BB08AA55DF6689B719453A863747418649787A9226230E9EA60A88CC7A25486809EFBE5AF7000A4D8242AA1C086AC2D684437B205AD8D4D6C323A79BB34FA295781CA5EF50AEA7FD0346111ED506A626242294ECCC845931DA00815ADB46261C90C403C2CD5D4D448C80865716961B2A6BE3137994C39C840471617E1D99F3DCF90C2BD771D864F7CFCA370EACC39B870B90B0E1FB88D35CB139E8FC0287AB46B9738E51FAEFFEA1050A12D659D83A840F7EDDE09A74E9D02A7EC0073C58640C0C716E6C822339C4E17030DCA5A4BE414BDFDBAFA5A68DFB4811960A67A50F74FA3039B42351B999BFBA7A04B1A25E443A1E8FAFAFA652BBF0BD7F9132600EFEC2F6608BB76ED92D6AF5FEF43EED7A221DD80E7366CDBB1F3EE6079E54114F530A9074A4352DC8442C5848CEEBBE72E2601F5E829D36324504753ECDF3EFBBC303FA031265E2F7F40C789780C1691E94E8F9749DFAEEDDBC08D237660700886AE4DE6275817FDFE7AB909C2FA771D3C88FEC54E8610E91AE9641ACE755D46C3BB101732F1FB51EF8F389DCE088EFE3455D1953445C9F6A5B75D804A4C7CE8A187F4E9E9E94C229188E321AD973675F9E285E3D85FF07AFD95EB376F391C4B25370C8F8E538533122805FFF0D433F0EDEFFF235BB7E7231F7E00B6766CBECEBA41CB0D24A99E502008FD4383367D8E5014095FC546B94144B23F83E43821D303C1B2B755DFD48E4EDA8E6D1DDCF01AB0B36BA49719DE446CE1AF7C0E39824C892303561CFDAB4AC0CDDA1E79E411311C0E3B90017E3476E588626A90119578CF0AD49365781CC4637F6DFDBA8D6E7F68FFC0F068251A498149054A04BDE4673EF1AF99E3535555C1622DD6A85795E5A589280984C1CF9F3F071E34B0618484FBF7EE82BEBE7E882CC598675D389235A636143EA9BA94516F1E93C1BDF7CE3BD049DCCA9E85A47080FC85FE01989999B9EC50339FC3F71C0D040234F0A8404B2BB92AE2666D6470A8326C747434C9274E64F0199690E873D887A9D882FAC9F1B14574BDAEB86439B8BD7DC3819985E8E6DEBE7EB7C8933419BE2E0389784D552523ACB08A56448F135A5BD75B443B7EE2555207E040678C16D7230F98A06D373265089DB192E054D146C8A97DE306D8BB6B3BAF9115208EB6A4FFEA202413A92CA4E3FF5193A47954BB89F2F272251289ACFA573F84F7E0AF81D094221175A04CA5E1883ADC784F0F4A801F091A426690FC97518FE7E93888BDCF1F0835B9FCA1831D1D5BAA737C9D06637D0685EDFB3C4E34800D0CCB1724F915C30B5FCD2E94230C3EFBD619F087C26C0E9C5AFCDBB5EC005E7BC3FA3678F003EF67CEA4C207C8CF7FF5122C46A3303D3EF6D7A29AFD5F48FC3164D4D2DEBD7B3354CABE1A03DE8B6511490A3474C573F8502934C831EC23F8D05348EC517CAEABD828A8D3872AA91FF7072959158B2E764566C69FA145B2F145344D2DACB0882CC6E0ECC54BCC8F181E193554D6CACE6BC146455BF58D2DE0F5F95744B334BA4D00B0D2467E4C27EA7E0A39987F3DE4023A87541416999FEFD2B3A99F53C0140758C2EBF55A2187773C45E91DA6222D888BCC603309878787A9BC3B4D0F8A848D72231DA04A646CB4D440A58606ECC5177EFE14D9898E6DDBF7FA82E1CE4C36E75335DBE84489B88A7E05256C28E047B17D52538450AE178E5E0538C0CE8E4D70E2C42BB0B1631BEAF3AB85C49265961FF8AD7BEF628427C84969CD1ED4FBA9743A9B8D46BE86836816BF87FC886551F5AEF9E756DE130614212BF69790482A8E1F3FAE793C1EC5EFF767C84D4786106258C2AFD2CC726A51DC8FE14B555CBE70FE153C7E33142EAF5DD7D47A1B9EABCF643451D5542B024BAAA9BBB79F65B14804D6B735434D65254B100945885A582567DD3F82FE86C30D7DA8CF8BCD0325F00F1FD80FD5784D528751543DC75F3DC9C2F48B73D3DFA45A317CAE05C4FCA99696160561E79AFAFD3D63C04ACCE0D5621A8AA94A75F5A8A6B238B252F871021B4D788E93D1266620D3CA493A1623F3716C132839DEAAFAC6ED6E97BB13FD08AF6AE5230C7443CCB870B19B79BA74B786FA3AA8ADAD86A0DF6F5B2362F9B6884E94C3E5B6F4BE49FD602000AD38FA0FBC6F8F250D2FBC789C851B161622DDE958F417926178E33C8C53D29FDB127E13FE2497E9F851B1121A6BB6081F8AB0134793173F626A09FB301E87A90763952C0ABAFBF033B7D3EDA9099457BD2F9ECAD426934929C78D3533DAB685959821C7F314A55CDFDC8C46BCC64A375E0F7E5292B60D0DEF27D15B6FE4899833E72EC00B2FBD4C4E64766AB8FF0FF0D97AB04DE0405A9A9D9DCD3EFDF4D325D5F5C8F01BB015AB2794088ACAAA68A8159FCF974622C471C4934A0A721BC118C11913C8A653B1B971D21DE0F2FA43EB1D81B26D91C5A50A9A075C98A53312450A1AECEEDE5ED6D83D9121241914FC0B604F8B78D34283467D2B40754D35E2FD4E8BF8B3F3F3F022C25B36CF6076F2EFF11EE3B81FC1674920F195D50A717F63256025892069401B21A28D10512DC9E86D5254D64D5281621EC03EC42581981082C2BFFA4750D78952B135A3EA9B27A666834BB1284D5D65527023EF4C0ED703F71D81BE814116B26E6A5C07EB1025CDA35FB2B8B8D03D3736F2651C1C832865D3A9542ADED9D9993B7AF4E8BF6C06143382EAEB0932A3784BF178DC89CC70E2E82646F838E1996460CFFC087EECC37DEBAF30E90EF7865456D9B8188D954716A3CE52DFDB6400E582096A92A377F8C03E0ABE65477A7B3E8B827A0507C3184AC1E2F8F8789680C58DCC9294E13778335F849B08155593565555A54C4E4ED25CDE34BE38C598C8487B08AA221182381A491A42E4D471584B8CF04036154783D2ED09BAE5BAA0D7AB4BCE4D29556B8CC6E261F4B21D2B65D8AC2C1CAAC290DF9B40A60723B90501610E64924BDF56D5EC18DE8F79BC9466BC51E2FFC63360A5E020970A1A690A42BD2CBAF969B41354441045624488E060FCF5BD208F351113FCDC607B19334073096A7AC1A3EB677D41975CEDAB726474685034A85654AD2CAB2801F437DCE94C46D6F1965313636F6496E67A8392AE045B1A5A3389842F934DFC12AF35832D8A2A32036FF3CFED0AFF52FF3069B17A329685906407FD15D05C8EFE8E00853BBC14F2E052408CA17D3FDF67E9569AFA8AC7E6EA29F4D76579E13393BA1CCD88118D650ECC2415398D540B33483DDAA8455A8B62B560DB2D2101A5A8272AF726A9A0920F74EC28E7422AC3818C7021635C147FE26B4C78F19C1F19E3E330D7CC795323E84BEBCC997F633383FF25742335CB962DC0CF63D84FA1C4CD7ABDDE782010C8C23BF863D3C2ADF4F7914D7F026D85100E8785BEBE3E91D69720DF00894592E1E023DE5C6985FDD16A3AA6F3C404DC67469B0A0AB84345CE20D99A1C5F1E2D8DC78BF8F9227ABC095A53A254CC7F4B494089B6424315A526120901476E16BD5786A4485D616F328488EDA0D553A82729A073B4EA0A2DD641CBDDE067295A1FC2E974323584FBA4F3D3B444C18D60FE5B9E01D76306F06941E45BA05408E4E091D78D0416516549F8750919427FBA5AA21558687128AEF769A5436A785AA3F584748AF10F0F0F6B6F07F5DCD22AE846C31EB491111F1C1C14DADADA04F46205D4E92215D7A29408A862744A25A204E9F8192314328F2D53533CD9EEFF33E01D32C4DC6CC88A6D26B1570B9DBCD3EDFF019AD0BC84D284ECCD0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (51,1,'Modem_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000004D08060000006E486CA10000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000028C74944415478DAED7D07785BD799E58F428200C106B0F7DE295222454AA20AD5DDBB23C7762663C79ED8291E6726DED89B38EBCCEEACB3F9BE4D76767637D96F67B313C7768AD793EC38892DC92A56A50A8B48B18955EC1D2441108520B0E7BF202410044050C52D44F20C02EFE1E1E1FEE79EFF9CFFDEFB24B1DBEDF4597E7476F744DAECF603769BFD09BBDD168DBFDFC2DF6FE6E766B7D3DA63C587E4B30880AB7DFD2A5CF77D369BFD49047D3F9EE57826049F107C3CDBF8F93C5EBF89F77F5D5C5830B616EACF380006868665B8D6DD369B0D3DDDFE109ED57CED083E2D0BBEEBFB36BB15AF0FE17880C1FEFFCAD617CFAD85FD330480E191D15204173DDDFE1882186BF71EE86BEFB9B08003188BFBB16F16E7F817C10C36FB91CDE5A5B635007C0A01303E31998EEB7A1C417C1281CA71F46E9FBDDCF1DA35E8CEE35DF7DB163FE7D83F84E75FE1F9CDAD9B2BEAD600F0093FA6A667B4B8960308E21308E216CFC17409E292E0FB018EA5C1773FBE19C7B15E786BE7B6CADE35007C4C0F83614E89002C8A39FB7EFC1D60F71130F7E07B6301F7F73C02C173CAE0FF9FC47FDFC4FE77F6EDDA31B506805BFC309BCD3234F22EB66D68F487F01CB294AA57A2746F2CE02DEFFBC902CBF58219EFFF912D25DEFFE3DDFB765BD60070138F79AB75031AFD4934E66368D4382F8DEE39E8BE82EF3B885E82EE23657806870EAFDF596486530FDC7D877D0D00FE3DD21080C7858AB7D972DD1BDD3D00EEC1F7D65BDD83EF1908CB41E53DB5F84819CB99E42ACEF1169EDF7CF8BEBB5BD600B0FCA1C5F6056CECD7B76093F8EC5DFEAA790FC78F8E8C524B4B13998C26CACEC9A5B88478DF2CE05B08DE400AB2D5321070FCAF1E7BF8FEE13F670028B1DD8BED496C77600BE037FDA76AFF1BDD6AB552477B3B35355DA689F1710A0C0CA4D4B474CACACEA6D0B030018A90D0100A0808BC8914B00AFDE1D8BF80E7230EBD60FBDD970E3C32FBE7000029B65DDCD3B13D8C2DC4FD00F7DEE7ADD19717749637BAC160A0C64B9744E04D2613821C4A79F9F99495954DFC0B3A3BDAA9BDAD8D666767492E97D3FAD2324A4C4A5A7E3E0F81F6167C77407A63123740CCE1EFDF2FEA85C34F3FF998F5F30680F58B3DFD316CF1BE0E5C59B0AD4CBD8303FD5473B186DADBAF904422A1E4E4142A282AA22404777A6A5A00A203FB161616D0EB03041B646465512800323C3C4C4303031419154DD131318BF9FD96A6005AA11C3DCA63115C6378F6CB4F5CF82C032015DBE38B81CFF3E703D71A7BD56ADD46D6F979BA7CB9892E5E382F8218A45452614121AD2B2E46CF0FA3AB3DDDD4D0D04003FD7D021461A0FE9CDC3C4ACFCCC46B29757775800DAE800DF4A4D16829353D8362E3A10F0012B8113044807710DE500AF00BD46DD8FF168F567EED2B5FEEFA2C0040E31473D82AF9D8D59CD82B45FAB07E33333374EE5C357AFC4541F9D1D1D154B67123E5E6E58BE31A1B1AE9527D1D8E9B26A9544A898949820D121213C5F1CD6083AE8E0EA11392C014AC0BC223343467345277673BF55EBD4A3680203E2191B2001829C0B284E25D83E8729DEE405875CA58EE6ECE38C6236CBF7DE1B967263E750078F5EF5E2FDDBEADF2C77B776EDF7EA3275E8D67EFEAEAA6D3A74F51D3E5CBA247E7E6E55179790525A7A4D0F8D8185DB87041ECB35AE749A10812B9BF685D117A7E040D0E0ED0E5C606EAEDED2505046156760E65C111289541108913D47EA58DFAFB1CD5DD60B59A5252D2281EE9035F4EFDFDBD422C4646C7E07BC903F5DFF672F43C8E7F1FC7F348E57B7FFB8DE74C9F0A007CF3A557AA48223DA656A91A9FF9CB27E519A92979AB3DF14A5537B3C542B53517E9C489130844BF1075151515087C39A9D52174E5CA15AAAE3E0B3AEF12A0D068B5B47EC306CACF2F24994C4AAD2DAD4803F5C209444646527E6111A5A7A71347927B7A4B7393D8C74C118500676466091D306B98A59ECE2E688B3E9C47460949C9140F2691C9E464B198490E1DE157AABA095DE3457F4CE3F8771D6312F6E32F7FEB1BF64F1000AF5649A4F6634C9112A9C49E94107FFA99BF783C3B3424247A55F9DFC38FD5E97474ECE8313A75EAA4A0ED94D454DAB66D1B9594940014F374E1FC39AA3E7B561CC701CAC8C81469200DC19D9D35507D5D0DD2403D9794293D2303BAA08462E3E2C80C67D0DAD28234D044737306210859136466660B708D8C0C53074035363A42EA9010211663E312D0F00BD407F618004B30C324A7A6511C00E12BF81E5D8DA794E13A4CED81497C14B8FAF1DEDBCC0CDFFBF68B8D9F0800A432720240E44A894C325BB17E7DCD83F7DEB91981095C9500C4F31550F1A14387A8B6B656F4CA8D08EAF61D55A0E4641A1A1AA693273EA28BC8FDF310804A88BE52D8B88D60040D72783F9CC0F973E7A8ADB54504B6685D311503302121A100CAA4D005576001D909B0FACFCD2F408F770842168C575A5B697A7A0A0C104B9970085AB802A3614E884576197CADDAC828C1062C321924E3D8C2212023F13E4F1AF858CBD14BCFDB20520400F1DA2BDF1EF85800F0AD575EADB293640900A478662A8682EE7DE09EFD436525C515BEF3BF5D50EAC953A7E8E0071FD055D03253F5CE9D3BD1E3B7932A3818A2EE121D3B765C80831FB1B1B1B4A5722B6D00D54BD1FB9B1A1BE92CD2C000520407A2AC7C231516AEC335C8A81B81AD056098EEF9BA929293A9B0681D0461121921FA5A9102AEB4B50A41989A964699D006A108EEC4C40498A08D86870645BD80839E04AD1110A8A0217C4F7FEF5580D04211DA488A8B4F10EF4F8C8F51685838052A14BEF3FE4D14B8FC18D8E2B1CAE38B29E2DDBF7FF5E599DB0A00D6009E00C0BD97FF0E51AB6B9F7CEC91D0F89898CC65133A907BFFF4A73FD1E1C38749AFD7236885B46FDF7E2A595F22A8FBA38F3EA2A3478E886030CD1742C96F072832A1DAE79016CE9C3943E71078FE6C167A6CF9A64D2215CCCF5B05682E5EBC4093F82C57010B706E6684B0F070F4DC31B1BFABB30362514139700FEC043888FDA0F92B6090C9C90952A9822905A060BA5F58B0D2D5EE6EA4803ED1D03171F14213F06F65304C8C8DA20DA482216213920438E45C65B47919C3F03106E12DF83EC7445CC728AE7FD688CFBEB7E8243EF8D1DFBD3A7F8B01F003570D000038032F5D048144D02B9E17929312CE1C78F0FE4295521971194AFDBDF7DE1301E400545555D19D77DE296C1AE7D9834801A74E9E1434AF8622AFDCBA9576ECD8415AF4B60150F171B0416D6D8D004559D946DABC658BD83705FAE614505B5343269311EFB1202C85F02BA40078FA4E58BCFADA3AA49241713C33417A66067AFF8270016D2DCD426F446834C22570AF37E867A9BDBD8D06FBFB445A61DB9880CD62B6206D748914C0C23026368EA2E3E3C9045619C6351A66F5140AB02524A71137DDED1B91F46E4BDDCE3B8ED7BFE5CAE37FFEFBD7CEDE32003835807BCF9748963EF331D5A74E9865E84B269349C515BABBEFBE9B76EDDA2DACD87958B8F7C1068DA0733E07EFDFB3670F825B29A8BCAEAE4EB0417B7BBB48115BC1049BD0E3996E99DE592CB205E407E7EF8D1B2B2008D3848B688018ACABAB25FDCC8C109325EB37088FCFCC71194CC02980754102DECB81758C861B181D1D154C30323C24B4465A461625227DE8F533D4DDD121E89E01C12C101BCFF585591A0013E867A691B6D46088042122192033D33A8021025A216A9533916E746EC38A035B9DF89C9816FF5F7FF41FDA6F18002FBDFA832A8BD97C4C11A4F20A00273BCC4199FFFA8D9F8B5E9D9691697CFDF51FF6AD2BCACF3E74F020FDE10F7F100DCE3D9AEDDDBEFD77C0C6E509357F02A2EFC8871F8A34900D9ADEB57B37E8BC48FC987A04F6C447C785B7E72A20B3413904610404A14E3721D8A0E1D22571AD79107C2560038D2602411D112E81078B38BF67E7E6E1FB0A281801EBED81356C6A142980CF93959B8B1C9F2802DE71A55558C6A0A020A48674B880649A86B8EC051330B838E0FC5E4828D2CCC8208D0E0D392A6510931A16890B369A9A1C278552854DE935EF2F49053EC4A4D782994717E29549CE2F8E54FEFAA73FFEE1D8AA00F0E277BEBB6FA4AFE720E7CE28203E0839D38DFAAF01E0D4B123545F7341882DDE58696BB59A797570704038A872DFBE7D08FC7E8A42430D0C0E800DDE17C167BFBE79F366DA83C073AFE5419C93274FC00D9CA0A9A9298A81676736282D2D15DEBCABAB8BCE9E3E4D6DE8D51C90B2B272047E3D29708D1D1DED5403A6E1A210EF2B0490B82EC0A065E7D00C06E1B2309783F3F20A280AE71EEC1F406A68C277E928183D3B0DAE2101397E62629CBA3AAE88C0B323484A49A530006674789006A113B8E123A3A3293A365EA480F1D161D221F8FC220442312232DA1100AE9BDAC9CF9948B7A11C7D1D4056B0E9BBA505252FFDC5930FF5F9048084A38CC7B7BFF7EFAB24643B3AA31BA7E989310A09D750642C2BE28025006041F4BBDFBC4DD36844270078E307D4B8FDCEBBEF997AE9DB7F13021B26676D7009BD56833CCC80D8010B1812A246EE1F84583C04D1572D3ECBA26EC7F61D94959323E8BB0EB6F1148031845E1787006ED9B295F20B0A8467BF547F892E5C3887EF770086470033B3B285FB608668BEDC88BF2DA25E900FF7100EBAEEE9EE12EF7339390C01E3AA613C348AA813C04A32D5F3B032A7062E23B35B602658809E88864B6121C8C01AC3F16300050783D380262A064095930E4C323335297493263A8EE44865FECC6DF05985BCC1B90D809F353B33FD4C4A72F23A92DA1F7CE08E3B8E7B058033F88F3EFAA83439AB68A73C407A98DFE2DAB96E6C0854AF272D7E10FF50A94C2A0070B5BB934E1C39746D9CDE7DE39E9B92926A5707AB24F9C8C1F7DC732FA8BC5C80A8B1A1813EF8E07DA10D542A156DDDBA8D764034B20E98410E6726388DFC3F3737470505854230B2729F999E1660A9811370067763F92688B824F4449DA82E72159083C4F50016849C4678A8B8A9F19210831A6DA41090B150FC83B07E6DADCDE2BC5C6DCCC8CA11167068A08FBA3B3B210A4D087C1C98204DA87FEEF1AC09188021004A4C5C120522754C4D8ED10440C181090E09A5706D144991862C261319D17681480FB2C5390ADE26B9DED4CC66B7CF4545696B0AF272C2E552598620233BED7CE09E1500C0C18F8888908644C6EE02FD7FE0AAFACD50C113C87F36D8A6E8F824A05E43B517AAA9B3AD45F4544F00706E6CD14ACBCA6D5FF9CA5350DF7AE99FDE7F9F86060741B909B41729620B04215BBA5E50EC51E802B679AC1B2A2006B76EDD0E0BA605BD0F0A50345CAA17F9BDB8B844D8431EED6307C1A0E06161065331C420079EAF9DE9BFB1A15ED40698410A8B4AA0EC63A0F47BA8199A8003CF168F2D23533BDBC176FC26AE2C72E0D3D233446EE7E2502FD8C30C17A246805913F0F31434C5C8503FCD038C2A7508CE114B018A20BC36930EEC6936CE011061A4C266772D2879B17EAB72151E8E570605F51415E68F2A158AF2C5B88A8D7C018083FFDA6BAF498E1F3F2E8D8A8A0A48CCC8DE1DA40C7ECF93EA37C0928D03080A85927AA0D2F9477A0ABA2750708F63B156BE7123DDFFC00322572FD81684853B74E820B5B6B60A8BB773E72EDA5C5929AC645353139D387E5CE479AEF26DDABC053DBE8214410AA8F936AAAE3E232C265BBCF28A4D62A088EB0575B0938D971C2563E1102014B5E8956C192F233DB0EA67BD920776E1F90203E8F1ADF82EB6796CFD32B273859E6091D805BB380B5662AD90989A86EFD28AB433D0DB43C6390329A191A2A195586CB2189E004BCCA29DD4D01021115AB49BECD6A700B7F34964127D4E46466D4478F866C43BD01978B13942ED1B00DCFBF15A860653A4E5E4EF016AFFC593E8E3677C254DA361AA4F9F103DD55BC03D6DFC6081B667CF5E4A494E144E606464843221C2F6EEDB2F067CF838EED1C78E1E11FBD8C6EDA8DA4145E8F5DC8DEAA0F4B99EC0CA9D67FD6CDA5C290A3E0608C9F3E7CF0996E0D4C5F304B95EC0BE9DC701EA010A0E3C57F88A8A8BC52820F7784E0DCC040C086602CEE9D3C8E36D2D2D00F83802ACA2D4F44C8AC47E30183441275C824EA496386882304DA428288D2305E8C647056344C620FF0706DE8269ED2BE67D5B7C5CCCE9C4B8F85C8426EA5A8F278918E1BC0E023F00303636C6CA3D28353B6F1F00F01B6F00703E7FF4E10764432EE48099F13F9BC926C492B7E0BB82842D17079645DF534F3D2500300DE57DE4C3C3A252C81541CEFD3B77ED12FEDF002DC02EC0A90B38B85BB76DA3A4A464317074F6CC696A80F7E79FCE76B26C63B918FE653DC0256376015C902AD95046514CF5C8FD0DF575348900F3686101528686F50780D0DA749946114CAE45B018E49A00A7049E53C0E28FD35542528A00046B2DEEF1237020AC7962002E6570C8B2805DAFFAF966013FD6375EB380A1C1EA86B4D49440B95C9A2B71449B246E8177A601C4CB3700AAAAAA64A9A9A9728040199390921B9B98F44BB91C02C20700AA4F1DA705E4BAB1D051EA7CA481A4A14481834A8A7C37890206157E310207A3BC62336CA2F69A78634DB06BCF1EA1EC272626E9E8910FA9FAEC19F1E34BCBCA68DBB61DA48D8A449046842EE0F9005CBCE1DECE81E79EC925611E596456E014B001B6910B418383FD02101CE0C8A8285A57520ACA8F15051F7607BD3DDD8E9144B88994B40C00DA2A02CF6561BEB684E4545149E4F2F0C4E82818A4470424263E51884B9B4FEB776BD6370604C8075393927B83948A4D926B41BF1E784F40B0496C3B1FB9E71EFF1800EF85E0ADA8F4BCC2674242C3FF5226932A978F0B48A9E6DC69B2C10AF6465EA5AB2FD7903479C171D6513945FD4326051FD7F80CBE2B23F0600E3B856F7CF39B8219B80A78F0E007C8E575600B8570015B610F4320B47AFB7AE9A36347C5D02F8BBE8DC8FD3C81440671C82383E7CE9E1501E52164012E008945E78573D5781E10815A5F5A2A02C953CA3905744240F2230381CF04BB70DEE67A00570739004CF5A919996202C9946E927A000A13041E079EF33FB7C9CD4D28593905005BC698A8A84B11116125B09941CE20D3759A5F4AFB1C787CB6BBB3833272B35706805303E05985A08401F15A589DECD4CC9CBF0A56876E71DA3F27002ED55E20FBBC5904B2B6A29AF45FEE25498463C5B5743C80329EDA44B669F2290C5D37BEE00D651B2934442D067BD896718590BDBF421148EDED1DF421C4224F10E5798095B08EDCE3B9378A790448036CF3580F6CAADC4AD1B0AC232343223DF442F5B36328C5F15CED9B47EA6A6A70D40AB891D241F57948473CE3A807F6960521D713582FB020540607D32C5254E79556D8CD09316894086BC88058DD2214CF03409E672A5FFF9C4A15D4121B1D1D2D97C9B5D7E8DD196CF2DCFB79CE642DDA85531318F0C16F7EEDABBFF7CB0540C92A109060EC0B85C8D3E0392A262EA13C313DE34BCA2055A233258841135820CE891CC0ABB15D34B8BB9D2CD9B324232965BE5241342925A3D44812A3C4A73E700509F76A9EE8F1C4935F1295C04650FC21B001CF0EE23A41D5CEDDF841A5A204CBB386CE2CEA029E3B58095DE0ACF99F3EF91175A2077361871D42764E9E106BCD48357562EE8105E9218DD6C136B2E2E711C3C64B7542F1736ACA2B5C2786818DE8E9ED7028C3481FEC00D2B37260F9D437B31AD9EF6165899D26E1E9E78355C131E442F3AEB44F6EAFB98A598FCEA943FA2C2A592F86C271CE5D071EBEFFB8DDADF4BBA40EC02078EFBDF764F1F1F101F8010A049F177C84E06F66030DB628B0C15D710989F701F92AEE4535674F12ACC792209A17CC2238B6791B5D2EAC27FD5DC3249D939162504551EF26936C24C02F56E0B1FD440837A65AAE19EC6197806099D1334FC305704999C5198BBEED555514053B370E77C2B6914BC03C61A462D366D1B3B97178C6D0856A477A60F7B061638560051E45ACAFB928042157FF0AD6150B2BC816B2A3AD857A003C3558291300D268A36E6CEC7F95134A6CB6F9F960459041131915EEACC7383AFD622FF70004B6A06DCD9771BD9D225D1500C00110B27C0C5CD1EED6CBF5C71163BB2B089695829DC520286B39B640F446D6042AECE2851FE1F85B13A45225E5E6AFFB82363A7ACB85D327A55A4DB8D740D6155C20FD77BA48B2388748D21F40513FCB24F5475ABF442237167BFB3BEFBE87B682D6B9F4FBD1B1632238C54077155C02F7780EDEB1A34785F8E3C9269B71ECFAF5A542B774B6B7C33D9C00754F8AE963E59BB688A2104F1ABD78BE5A502533C0BA920D821178EA380F10B503446C73B3F30A281E7A8193B0B719C0DEA67FDDD0FA46ABC5121D1B07AD27975CA37637A1E70A047EF423C55D696DA23058D882629E2D15B6440F58CCE67DFFF4B3FF7E0C62DFE60A82658341AEE940A954CA8C462340A4088432562218C1A0FB1004261C8769A363E38B70D1CF87A9555A46A9A7001AED463A7DD787647F544712D9E2774CC929F399CD44E352BF0A48BC71201808B4E804F6EEBF033D3E0A81679770588C19B0B5E4C00B4188BCC7799FC5E2F0F0909827C0FB788D00D7FBCF4310726D80052607DE314D5C225618B136E0F490851E9F01FAE4DF76BBD637BA9ED76234DAD1F918C08EF8924B316749E0AFFFCD95C8B696CBA2DD72F28B047379D20373B386BB7FFBAB5F1E413C17105B9B63E296DDEE7134D00982A6A62689930D66676779BD9F422E972B1110359E61FA2802EF67C4C6C6BE0E0BA9F6164C83CD40CDC57534F1500FD9E32D020829FF09283D16EDB740746E5CF1BB0B6CC0D5C4E6966628FB7342836C8120E400F3D470A6F4A31F1E169A814724B76CDB2EF481118A9F7B3C5708C54C24F494A27525621087F37FEDC50B34333D250461FEBA754210DE8EF58DEEC79BCD73A48098E45147895BE0BD0181DD4B777BAB18DEE622158F55F06C694F8E80FF98D4E91EF8FD6FDEFE10E279BEA0A0C0EA6401AF0B439C83432EE2506A3299E43C2194F581332D207061106025F0DE4F676767AF532995526FC1D34BF4341B324D0B81F3A4EE88A0D1B011EADADE42725C78E08C8234C7E3286048E1172B700148ABD588B2F0FE3BEF82F70FA2F1B1713A72F8905820C253CBB74010729AE086E7E1620E3EE7492EFA949597A3F7AB442DE1FCB93334323424344749E9463176E13EF6EE6DBA96AF428DAF19C0FC1E8F1FB0D3E052B4D4B574BB2CF0D7D3009F67B0BF576C9191D1949299254AE62B09C3D1F19147FEF59D773E04939BD46AB5F59D77DEB1F904803B1016EB0412675A080E0E0E6091C869818180F344CCCCCCDC013678146C90E22925B807B23EAD8674DFBB4252E5E297411F68DE48A1888371649D5F9915B8A1B76DDF41959595A264CCF57F6E0C66838ACD9B49062F5F5FE7184EE6CA220F316FA9DC2602CC2387D5674F0BC1A485B328ABD84C71B0761FC70D29F818B69461A07BE4D6EB74BD58B7F70684C9F1511AB8DA232A9429E8F5EAD0D0657AC01B108606FA1F3B72E8FD4393939326B4D13C3AF5825F00F096162C168B0C270BC0E71508B60002DB46F4B06804EE8B49494977C14D84FB0AA27101FAE0BE43647B44E7B2A28428F6F57C0A3B12E3570189376E901C0497E709DC7BDFFD6003959815CC6565AE277025707BD52E911FD9019C3D7D8A5AC01200B1083CCF0958F5CA9F15D6377A4B01AC3F02031414AC0EBE1E7497C0938BDA77EE33C1E272C59187A6E39352490BEDB32CF0EE69C30508B8C6C9AECE2B0F579F3A75C9603018F155D65503C0575A80F80A4020445A0000D460064E0BA9C8CD5FC9C8CCAC0C0D0909F416CC41D500B56CAA23D38323D79820704045B9CF6CF75B203A372EE9DE73CF7D622D004FF0E09540BB76EF150B444C2633F4C259A482F3A2514A913A8A21FE580B78BCAB88AF25E07ECC00769FFE3507E0B1736195EE39E84B7B3FBF2706988606C4849BC8A8188A044331AB791686EE4010A6C53A3333F56E6DF5C59F8C8D0DF621367CDF02F3AA52803F40E0B480E0C8915F38D09003E88244C22D0020A5608C2F232D1462BFC453102D560BB5A736D374CE182D68CCA41A0CA58477B3C92031D058D40829478329C010407693DD2F56C8445EE4B4B06BCF5E3122C7B57FB6815C33E011C54D5B2A892FF1162D01F799022CD01C53702AA11161A2BCBC44C57B093C3B9D19DD04E9C6C7440592A7E505062A96E9015F0EC130ABAF6DBEDCF08F3D9D9D0D389829560F001A2726262CF7DE7BEFC28A22701540E0DA81A4ABAB4B1A1212220B0D0D656D1088C02B11709116581F4037DC919C9272201E89D6DB0C22F7601EAB3A48922F4E11192524EB5552D4BB2914762E6A4945D11B2BF063FF1D778ADE333D3D2DA68AEDD8B55BCC37B88D4BC0AF1772705D3C89848786D9A52C0BBC7B1D7F110826A38174622D8204541F0B00A8571486AEAF2D66CB70577BDBCF1B2FD51D431C26D03ED3F8FE593C1BC10016D7DE7F4B6E11E3CA06AC0F783C8137B68DF8D220B68DB810BEAF6F281A36067AE1405A5ADABDB023C11C3C5FB47E7CC361B2BE30746D61BA7D1EB4F2C7584AFC1FF9B460F1BFACFCB5AF7F9D52D33284685A713DDFAA96807B0EBE0EBAC3326F21A54ABDB487BAFB781720F0F5CE4E4DD03CD24408D2843A2CC2637EF70604DB826D6E7070E077F517AAFF2FCE35C681475BF3EAA139EC3773F0DD6B00B7F42651DED202021000C11884DDC236E2A2581FA46BB4DAA75253522AA14865DE02382A1FA1B30F1F26F92EE3F5BB13E072137F5C44E187E2FC9E89F48D6FBE405F38708006FA07681CC1E15E793B9680F3D0334F73E73981BE7AA92B1098EE4D06BDD882009860049E97C5AD240C1DAD2DFE639BD24D9EA8AFBDF00BFDD4D4555CD334F6CFA0E31940F9260E3C7B7F1CB700FF6FF7590ABE85405892162016E5B088D7AA890C046CE10046597272F25331313139FC314F41641034ACBF40FA070648BA38D218DCA8A1DCEF56FA2D10D919FCF58B2F3A5636E1F3CDAD2D6434CD934C2EBB254BC02D16AB9852C6EB28642278E46572C6522058CD4632CFCDE23A0228481D2A269DBAEB015FB6D03867686B6DBAFCF3DE9EAE4B78ADE3C0E3371A70FD46EEF568F379BD5EBF909E9E6E63DA5F5CB769BFEDF709744F0B9EAA890C046603048E8737F76665653D01FD10C98DEF1E401E74EA0BBF4AFA281D59C34CA4698925556F2835A537D054DE28059A141430A1A098D38924D12FAF3F9494ACA7FFF8C31F3A16B770434A45AEA486C646B24B64628ADB8D2E01EFEBBB0AF09163D0C5E748DDF540F2AD6AAC66833847A02A18810FF2A807BC01C13A6F9DE8EDED7CABA5A181676EEB98EED1B966F1F71CDA165AD7340F676675EDF59E827FDB6F14E9CB36829EC4201382C225E47050558C46A3790C6EE16EA485207FA8FDD0CEF748FEF4F4B5D420695452CC1B991452A311A391CEE3B8D0F34FFFFBE72E00902EAE7794D0F8F80418A19524B2805509411E6E9EE4798162D1CCF55EB93CBF5FA76BF16435090048A1EA6508BC3FC2D009025C87797C74F40F97EB2EFE16ED388A604FB1BA476EE7C00BBA07035939D73B077DBC05FE63BD55ACA76AA2D336BA5613B1852160E9098989CFC4444797639FD497C8BB98708E46BED544D2F0EBBF818562FC4F0A28E270DC9281A45FFDFA372E339A962D72A58EF64EEAEEED0310643E83CF8B4ABBAF3A96ACF1F9AE077EB90F772DC7CAEC5692D8AC6497CA2191031D9FF52A0C97D607F8A19F9EAE6EBE5CFF8B199DAE13D736C5748F801BD0998C684B8B1BDDDB5D85DEA7E25EC1ABA926B23EC073594E4ECEB3B02DA99E6C23338269C144C78A0ED2DC2383248DBEFE6F3FC8461454F8F59D649B757C8ED711FCF32FDE5836A5CD7DD22B07B8A6A68EC67453D7E6F03B81C069886F5BC323590C28F2E0C13D01412EB5538084938C84166090EC5EF480372080CFBB7B3ADBFF4F7F6F4F0D7EB3C8F3789EC5EF32E23AB8AE2F049E3F74FF8903C0575AE0F10508C625D544FC482D74C1BECCCCCC2FF1E8A327DBC881698D6CA2CEAA463297E9443551322FA592BFD94B0143418E52317CF84F7FF63F9750BF27003801C2B79839537D9E668D26117C5E9738ADD78BFB0C2C29BE90C42B10643209A9E48EEF332DD869C1BE7C80C663D017DF5B58989F1E1EE8FF4D6B53E3FB786F129D631A6DA3C73687DF6382939A5F2DDD7F2A00B09A6A2218826D6338DF3C046EE1F1E8E8983BB953791B57304867C9A046A0E6024831AE5A9202FEEAAB5FA5BCBC7C316760A5E9EE623FC032383040FFF0D3FF2556FAB8DB2F6F4090E1B3C10A7C7F808C4CF36029EBC262FEF754C0F1600B89E675E36387AF3437FE0A411E62BAE7C0B3BA47C730A243589046AD3742F79F2A00AC641B796CC1B59AB89816D2F3F3F39F0B0E0E2E468F90F83B8F00E7A4471E7D94C620DCF8D6B2199919E2E60F524F817702635127BCF4EA0F844D73B763EE81C74748AD545008363382AE375A84765822EC3CD0BE2B100CB3FABAAED6967F9E9C1C6FC7F74FE2DA85AD63BA5FACE1CF23755AE1A86C3742F79F4A00AC544D64DBC845240602CF3D406F8E50A954650C04EC8BF30500E7BEEC9C1C7AE69967C58DA25A5A5AC4383C8F1CF23C435F0070AC947E4DDC59D47DA1852B1054B08011A12AE144A60CF0F616AB5FC2F05AF9D6621918E8E97EA3B7A7B39A038F6D1A0017B60E8EC8E4B475E8F9B69BA1FB4F2D006EA49AC8FA0096F1AEA4E4E427ACF3F34A5F96B1AA6A27EDD9BBF75A80F93E026DB07EBC72685DD13A0A8F085F42FD52976033003C31003F1481011415114A4A3C4FCE186886475A3D0A43CFF501FB826D766C74F8779DAD4DFF8A77F88EA1C2D671F9D659BB77E679B0A2DD5B31E77303007FAB89BC6EC19916B0C51417173F8DB4B013C1F6681B0F1C3820EE25ECDAC3D9D67576760881C7338F79191ADFD2C649FDCEC7DF7EF7DF5D630067EF974353446BC24913A6269DDE40E3BA1907DDAF200CE97AFE5F9899D21DEFBCD2FCB6796EAEDF69EB5CAB781A8D66BEB1B151E4794F25DCCF3500FCA92642090739E726F268231A2F7D4B65E50B60831CD7E0F332AFE79E7F5ECCEFF324FECC2633D242B39851949B9B2B6E57E3A47F270064B2806BC1D44684517C94864C660B0D8E4D8A9B5B7A0CBCBB2D5C0482C938D7DCD7DDFE8BC9F1F166F72A1E849D19ACE77715EF730D80D5561379ED0203016EA1222727E7790045C3A980EF32CA379D5A49F5EBA6A6C4CDA878D206DFD68EF58100C0BFFD3E49C100A1EA604A8D8F11E0181819A729FDAC473DE06D7A1680393A3CD4FFF6487FEF095CEB24079ED53DFEBEE12ADE9F0500FCA9262E968E83C9F18F5684A351B51B376E7C303232F2A1071F7A3888A9DD13003CA9FEBEBE3E211479BA1803E1873FF947CA4849A488B0501A1C19A3C1D1095A5C4DE553183AADA21D943E3D35FE87EEB6D6DFE3F528D33D023D0310CF71158F6BF7B7D2D67D6E01E0A99AC8FAA0A8A8E85A35116008E22292531FE070ED7DF7DDBF7DFF1DFB1F0D0B0BD7AE0400E78399A3A3C3A10F7816F1D8E41475F70D8AD93DDE47EADCEA0308A2413F73BAAFA7E32DB3D1D8CB553C047E9ACBB75CCC71DABA9BA9E2FD5902C09B6DF4564DE4B480868E79EAA9A71F2A2FDFB827305011E85EF07155FDAE0FBEADCC8FFECB7F23BD61CEEB0A5C4FBDDF6232758C0CF4FD72727C540CD3B2BAE7F2ADB38AC7B57B30D6C2C74DF79F1B00F85B4D44AF16B69181C06B1B333232329F7EFAE927B2B2B28ADDA9DFDBE35BAF7CDF3141C3C7044EE7E71716AC93BAF1D1DF22CF1FE53CEFAAEE7972C6ADAEE2FDD903C09F6A22982068B18824D202CF3FB8EBAEBB2A1E7EF8912F46466A635DA9DF23005EFEBE5D2A13B96279EF77DE7FC76EB7E867A60F0E74B7BF8BF61CE15ECF553CE477FED7CA8DF8DB723BAA786B00B8C16A225E47E0EFC8E79E7BEEDE1D3B76F0FC03A5B7F3BEF8F2AB362923C0E3DD3788E7EC5F1CEABBFA96D1A0EFE4C07F9C55BC3500F89916D013653C53D9594DE449AAE458E91C91949494F2FCF3CF7F11BDB242E22117FCF577BE67450A90BB4FD8B0CE5B7A278787DF9A9A1CADE1D13A6715CF752EDEEDAEE2AD01E006AB896C1B5DE71EB03E0013943CFEF8E34FC4C6C6A62C01C0BF79D50202087456F1ECB6859919DDE4EFC606FB0E72F9D699E7B99883A09BDCE7E2DDCE2ADE1A006EA29A889E1AC893505CAB897CEF83679F7D76DFEEDDBB1F54A954A18B0C60845350925D62351A668E8C0EF6BE63B35A8799EE798C9E6D1D58E613A9E2AD01E0165613A10D0410B8A21883C70B2FBCF085C2C2C2BD7001468BD9DCAA1B1D7AD3A09FEE5ACCF1D36CEB705A8373CEFD2751C55B03C02DAE26228042282ECE51548209D25ADB3B43FB7ABA1A116056F306B67438C51C2FB3FEA4AB786B00B845D544D7256DD815C8D6919FD13672677110A0B0706FE7CD69EB3EE92ADE1A006E836DE46D6E6E2E003D9DDD83140C2101206005A556A6793085C8F19F565BB706809BD407D9D9D992BEBE3E297A38EB04B10F5AC18E80DBA11D6C9F97C0AF01600546608DE0BA9FBDFC6799EAD700B04A20787BD83F670DF6FF01137CBAEC0E9053820000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (52,1,'Modem_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000E080600000035F8DC7E0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000036D4944415438CB8D545D6C5365187ECE4FCFE9FAB7365B4117420C9BE0EAA8CAE06209CAA6F166C9C2606162BC592421811BAECC8C3F373823241AAEF47E5BB417889A45B36886E90523862C80A6800E28821B5BBBB6A76B4F7BCE777E7D4F6189982DEC4D9EF39DBFEF79BEF77B9FF7E35CD7C50621E4F3F9377466BEADE97ABFCED82C635ACA368C1F7B7A7A346C32B8FF097084FD9AA61DD599718448E3748F5ABD0ECBB241CFD075BDCA18FB4133F46F6281C04C6F6FAFB519815708EF10DEB26D679BCE74944A0AB2F7B2C8E7F2E0780EE14833784100CF8B6B42D0185B21B1F3ACAEA54E1E7F7796E6BBEB0A7C70FAB3CB470F0F4AC9AECEEEF9DBB7B1B8B0801C117B7FCB7E198661C1340D9038449F4890093E126124A23746C203CD60A9BAC652673E1EFDFD098153A31F1662D168CBA5F4C562EFABFBFDED1D1D419EE721F0020CCB248147E49EA06DDBB04CAB71EF9324B81C4FDFCDC759B1B5F16628E0FFEAF447EF7FC9F7F5F589E1501875B58A92996B999898088E8F8FA3582C81190C4C633089C0344988265B34DA8E43353151AFD51AEF1CC72538705C071CC7953B773DBFF2F24BC9D1865346464650508AD72391E6D7CADB72CDBE6704945801577E9983A294D1D6D6F6A8F474F1566FD2EA1DC786BF298840380CAF84A6657959B82287E5E7B66F6FB24C6367B55271F675EF39DBD8A2E1E1614155D56062F7EE71D3D20F3EE0B3DCBD67E721A442904419DD7BF762477B47A386815008B1580B913E7615A190CF231409A349F653B60CB458083E71F1A7EFBFDDF1844DBDED4A2412EDADF12DDF956A2B893F225761E76CD4660DBCD0D98943878FC01F0C361CE4112F2D2D41230B7B0E73292B59962149B25B564AD355A5706C6C6C6C995BAFD1FAFBFBE5AEAEAED75BE3F189FB0FFF6EFD6DCFAF7831BD0F5F9C3D876CF62E32B7FEC2FC9DBB944D18B2E72A41042F8AA8A9951B4AAE70FCDAB52B57D3E934236E97DBA893A958DCC0C040D381037D27C86B9FFA44513E383888602080D4F90B502A2A6D9F088BE633A6E7CBC5E27BAB85DC85C9C9498D389D351E7EA30EF4D4A7A6A6EAAA5A39777166664B7CEBD64FA8046A341A855F925CC60C28ABABDAF2E23F672ECDFCBC2BB770FF6B7260EDBFE4EB1D151B86579F6432191B1A1AFAFC7AE6E69B376EFD799955CBA732994C7E6E6ECEDCEC59F4D420C749743CC8D417C6F4F4B4E13E85E05FB8DA080B38BFAAE40000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (53,1,'Modem_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001D0806000000EC30EF6F0000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009CA4944415458C3CD580B705467153EFBBCBB9BEC2B9BC76E5E64F32890101A5E050A550A532AE561AD0D56C930C51922A0D60E6A61C01119EC74A4D5B1753A5A1C4785D82AD8A10333425B71686D3BA0502B69424C489ADD24E4B1D96437D9F77DF9FD7F489A84F028944E6FE6CEDDFCF7DEBDDF77CEF79D73EE6A5455A5DBD9DADBDB1DAA565F2D49628D244985A224BF222795BA3973CA1BE933D834B74840E80B0657CB92542389F243922C09004F9224133FCAECB3F4BE2CC975098DFACAB2050B7A3E0F04348944E20B4951AC01F04701D63102F60AE85102F23822236BB2284B7F5744A94E95534757AE5C19FDAC095402C8065956BE8163C15500AF10884663A4D3EB684226C6088DAD45F13D47534AEA901A8F9FAAAEAE96EF14817CEC5FC75E837DF6B5A29B1245BA78B191BA2F5F26BBDD41A224526E5E3E994CE6A93332E17EB907C7971555ACDBF8D863FFF93408D8B13F8A7D03F62F62D7B245767E3298C1C1413A77EE1CC56251CAC870516F6F0FA2AF27A7D349E150985C99592423338E8C8C2BF74F4960FCFF0DB228D62929F54FDBB66DEAB82502CFFCE257AF6EDAF0B5B9EE9CECA2F117288A32F6B09696163A7FFE3C9904814C160BF97D3ECAC97193C160A070384C4E000E85429488C701DE49F1589C32B3725818C8807B2679635276F85185BFDE4225AB5313FABFEED8511BBE69024FEEFC71935EAF2F2E9F51F6DE86EAAFCE1504A395AD2712497AE79D7F72F01E4F2E0D0D0D515FA08FCACAEEE2A0D9C35D2E1775767692D168A4F4F4747E8D252D9DE2F118A112915130E2495ABE661C2532D11B53158304D68E8BA2782890E53CF9526DAD785D023FD8BDB709269C0E1224180C81B2E222BF2A25E746A2514D5E5E1E353737935EA7236F490975767402681A0982893A3AFC949D9D438AAA40527178C14EC160908CC88A46ABA56422C141C762317E3D0398EE70904EABC33D34B5B426AFC9725012C5BFC073875EF8D94FCF4C4960DBF7B677A559EDB96648C300126FFCED1824108B2F98378F16DFBBD86CB3DAC8EFF7537E7E3E0D4786697060900AA74DA3FE603FD7B915E77B7ABAC96EB3533295E21E60C023C343949666E57E11606E11E70CC8540A478B258D5819D26875D72FC513B3732933C3F1DCDE5D4FBD344660FDFAF53AEFCCBB2FA6E29132A657A72B8B5E3BFC3205FB47C0798B4BE4C7373DAE8945A35A6C2051C03A30405B89D167D7B9E185E06090F47A03F7C410E4654336D8914927C13361245194E02B99743A03B2138397D241568247CC37949646A31DA89839BDC169B7BB1E5EF3A50A4E80EDA8C7A6928AAA06C168F4EA745AF2B75DA2A6867A9EF66834CA8F26B399962C594AE5E533A9B0A09057A218CC9A0B7975767490CD66053095868787B999FB0301B2432AEC7EA351005115E64E9005D21B82D16D7627F78811B2325E5576276602D994F2DC9E7773DCD9557A9DD68E20FEEF2B6B56CD1825A05DB76E5D5A6979E50E7CE97618D11C47BA4FF5BC469D1B1B29E7E76524362B9C04DB19E0AAAA2ABA7FF9726A6B6DE5751F99A128EE712173DD97BB28333313461E06706403E007070690D511520E6706CF062BBB767C4663BB56D3E3FF9B4CA6FA823C8FD5A03714B1ECB37D70A0BFBDF69B9BBC631958B56A15CA046539333317794BEEDA91919935EFC2B9331A5F693349FA24458309D2F875243769784493C924CD98594E4B97DCCBE5919D93431FB5B571726144977DADCD61E70D8E9D0BF4F651BACD76A5248BE4F6A04F6A35D7D0F9E8311577DA1D6187C3E11E05CEFCD4D7DB4D9EDCFCF6CD9B361643DE2AF780061B6464C08DAC74E67BF20AD6EAF5BADD8A249A58D49BCBEAC9BFB19EA6ED9C43628B3A262B9D4E4FB32A2B69F98A153CAA2910CB853F5A5B9AC903322CE2CC0F26B3055E0851A1B71895C83C45E5F998402A25922C26951CB7470B0C00AEE31EE9EDEE226BBA95B2DD1E16F8D683BF3B5071E2C489D4845162EFDEBDDA86860601117682D3D282C2C267044128668D29A0EDA5C450922ED4BC4B19A73DA47F336D4C564E48E1FE15CBD1E04C8407C307431C485656167575755271491924E4BA6E9541BD8737062131271F4558C481814203FDACAE70E0ACC4B3758554DF91BA3F561E3B762C72D52CC4B2B16CD9329DCD6633237A5966B3B9C6939BFB7D45966D0C6C4B6E23B5AFADA7E2A7E752383E444AEF4846E2205959399B97D92A94DED64B97A800669F565C7C039D6334190872905654AD51B92461F0548275741737BA169263EB28C3BEDEBEEEDD67DE7EFBE8F1E3C7E3D79C46476585AE9A8E8FF9A5A5A5BB51161F4136F40C70A7E0A7FFFEF01FE47ABD80EC0773C764C5EAFF030F3E480FAC5C4582D9748DF161E47304FD8495602B06419D4EC701C228008EA607D931E98D12420063BDBDDD87CE9F79EF45F4101F3A7EF4F0E1C3F20DC769262BD47C635F5F9F03299C357BF6DDFB5555A902588DCFDA4ABE451729F3D522EA29F393E52D07257B457A68F51ADA5C5B4B8D8D0D941415745C750278E6958FD0478CF003F3080709B928528A8FE446D3C7C0113C2534103CD554FFC1FE4824D200A2A18A8A8AE49E3D7B949B7EA1B9920D369D9A51E733DD6EF7CA92D2D27DD148249B49A75F0ED0BF6BDE24395DA4A21FCDA1C5B396D2779E78021D5DC7FBC20717EA29298DC8A8B5B58DE298AF0493C00DAA8334F45A56B7F0C735CED646C0E3FB9B3ADA2FEDEFF0F94EA39C06B0254E9F3E2DABE3407FA2574A4664DEBC79FA828282347CF44C9F3E7D0BDE03BE150E878460AA9FDA663452C6BF3C54682FA22D5BB7C1C499989FF4A437E8C987C9F5C0EF0F716930700CA48075A3016384CAC6F6118DB3462A89A960A0BBE7D7CD4D1FFE19A5F73266B1C881030724750AB0B7F44ECC6475F6EC5903A2624754BD4BEFBBEF69687F79687050C37CB068D162BA67E13DD07884BC455E3EA1B292F8D49E7D9C9001C0ED691612E197A4287383324260910C0DF61F6D6EF8F005006F83FFC22828A951B97C9A2FF563B242FD17103917A6D0F90B172D7A0EB5BFB87AFD7A62132C8B684F77372F875EAF9776FE641F65A39CB22D3C1C1DAF733516193ED3E16B7D36140CBE8FA0F4E3FB12478E1C51D41B00D4DCEECF2AA3B2C2DB98056348CEFCF9F31F5EBB6E5DCDCC19332B997458EDC64B0AC6EE0E3A7EF20D0A0C8479471E052FA692BE404FE72F03DDDD2761D01E5C17C54B93A4DE24B0DB26308E881623092671BD1540F257AF5EFDC89A356BB6C0F059A3D76CDFB567AC5C2AB2323414EA3FD8D5DEF6078BC5E287DC86162E5C285E4F2E7794C0A46A654475CA40172FD9BA75EBB7972C59F265F8457872D71E0572572097D7FBBBFCCFE3D917D18107702E793372B9E304A6EAE68876764949C9DCCD9B377FF7F9DFFCD610ECED7931361C3E0BEFF4B19F592697C5CF0581C9DD1C95290DCFB121D2AC630F83580411673A576EFB197792C0F8B28B48F39F699019E593EAFC7ADBFF017777D42D7614FC5B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (54,1,'Modem_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000270806000000BF984E3C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000F754944415468DEDD5979701BF7757EB801022071F102C09B94784A3C44893AABCACE5492E3588925D1B54B27E9B4CED46EA66D9AB6761CD952279D8CE2493C492793C91F49D3727CB4D24C93388DEBD6634BD64DF1924452140FF03E00900048020440EC2EFAFD9600095094C3D892E3149AD5028BDDE5EFFBDEF7BEF7DE42128D46E901BD24C3C3C37FC009D424F0FC239CC09F1304BE79C6E97C67FFFEFD1C7D4A5E92FB4DC0F4F474B920449B389E7F8AE3851C5EE0090410CF0BC4897BDEC545F937A382D0BCBDA6A6F5FF0501814020331C0E3F09C07F0280B53C032A08C42F0316C12F1F4B78BF7CFC36CFF1CD61E25E7B78F7EED1DF37025200FC08803601C8670048B60EC004E06BBF4B22298AEFCE0B1CD7CC4742670F1D3A34FF692540CA71DC015C03D0FC1710715D1CA01003C7258047CE277D66FBE563AB44AC5CB74A521029F3CB88106D3669550FDC2F364AC0166C4DD89EC422AD1F2EEBE5C8864221BAD3DB4B93931354B7AD9EE47239FE9A34F93C769DC07F58AAB878817B83E7A8F9C96347DA3E6902AC0C700C382380D8B91F2A6B00F7CCCE5247473BB95D6E2A2E29017005F5DDE90576096DDBBE83B808472AB57A831E9144D26D644A734408BFF64C53D3E883224087ED0B31D00798E413BF64E7726B161797F940FF005D6F6921A9544A15159534333B43DDDD5D949999498545C520C445B320C79E93430AA592224B4B6449CF5C264258930E09840A2B9F57488AE2BCF3489966615171F6AB5F7D6AFEBE10F0DCDF9DCC3AB0B7BEF9F39F3DF48700215BEF6461256ACBFB60282882EEE8E8A49CDC1C2A02D09E9E6E1A7238A8BCA282B2AD56EAEFEB47D4235404352C2C2C80A83E32180CF8CE4E1ECF2C194D26D2A7A6DDA5A40D1A691074FC828B449B17BDD3FFF3F2CB2F731F9980BF78E1857C65543EA451ABFB9A1A8F2D56946DAA5E7B727C01EE1937BDFBEEBB343C3444F5DBB79336454B57AE5EA1C54080B6EF6810F3BDABEB16A50258C9A64D343C3C249E9B9F5F80A8A7D3E8C808095181AC363BF9BC3E9AF379A910E7A124421DAA8D8117EE4A1597C0FC22C2379F78FE6FDB7E6B02FE06049044392493C9488E2D23DD72E5CB4F35E6190D066B5CFE5DDDDDF4DF6FBF4D128984F6ECD94B2EB79B2E7C701E32CF02F01DE4743A45E363D1CECACAA29B9D9DE4F17AA8A2B28A94907D3FA29FAA4FA52C9B8DC641C2E2E2A24842084AF27A3C50839996901AA950884AAD49AE28312212D321A9C14A4EA3DB115EF837A9947BED5B2FBE38B641024EE543F8430CBC2CB6E17D302FC7D691614CDD76E9D22565717131D5D76FA76BD7AE516BEB7531FA9500C74CCF05F0DBE0F604B3BB76F52AA9556ADA5A5D433E447760A09F7273F344B93382984FE4E6E593DBEDA285F979CACCB6D2BCCF07420264C9C8203F5245269353AAD18873E5CBE6FB1B55B08E5AE0175C64B90557F0A1B3A74F9F5EB827015F7BE1546128B830986634251240E7DE7D879C539391C6C6469784C836ED9CA683070F92D96CA6F7DF7F9F1490FBAE3D7B687C6C9CAE5F6FA1C2C242447C0BF5DEEE415B3C052FA88462A4D48D9430994D64B7E7C223066929B244B69C5C9A71BA44E059569B980A3CC791C9928E6A32430A859252F47A0A06FCA4379812400A1B2BA7C9E706D17FFC428872CD3FFEDE2B6F4763C0571570EA54A1E00F0E06FD0B6430A7931652E5615E675EFF572CCC879C8D229F372FFD7163238D8E8E280B0B8BA8AE7E1B5DBFD64277EEDCA11D0D3BC80A1057AF5C11655CBBAD8E6666664522D8B9968C7490D005C214945B904FA343C3E279F6BC3C72433D68B0281B4A70B99C22F969260BB9A727C5F7BA5403CD7967C535C9946A968FC90D566CDE486AB084BB1B33B55A3DBAADBA6A5AAF561C3F7CF8F0C80A01A74E9D927AFCFE12ADDED4CBE4199807602E8228F174F5E239B1A9896F9A94146674427151A19445EBC0430F8BA5F0C207172071A39806DDF00A9044D5D5B52457CAE9467B07A26F86ECF3E8764F8F48787E51118D8F8E027884F2608E531393A231327F98C67B763C3D339BBC305C76DC88A0F817E6456029BA541CA37BA4C5DDBD041B573617175DB758CC3BA512898AE4928223070F0E8B04B00DEDA6ACB4AAB6D29C91D111973F6B007A6EB6D3C4D8E80A780C3C2BEFB350E2F6EDDD2BDEA0B26A0B6D2E2DA5CB972E62917EDAB96B37CDCDF9A8A3BD9DF2911236806A6F6B138DB064F3661AECEF17235E8CF7E323A3B86F08E715911329C3AECBC92D10D3C1EF873FA05C066196216C69304929BC61E36552A04C8BE5923DC75A2C934A33597099814B15D264028E1D3BA6D0683479F6A2D2FF54AA54157123743BA7E886E32A39FEB493D4033AD2BD9141A185F00A1911A448E596AD540849DBED76DA034258DDBF75EB26A25F43668B0529719974C8E3B2F20A3105584F505659496300CE4096C22366514D2627C6A9007D443018241788B0C334C5CE120A30593248A3D3890E9FD8880931F9AFAD0CECB34AA5EACBCFCD59522AE49512009732E0D2E5BE4E1E95171C39B24601B82055A6D1E416176DFA4A7A66D6D388560A9376DB950BD475FC2ACD3F3E4E969F1652EACFAC4929C136B942417575DBC88414780829A152ABE8C2F90F28035D6039C0B6B7B6822CF8425DBDD8134C4F4DD1D69A1A9A4705E8877F141597105BA463B09F6C3049AD4E0F650C91C1682613AAC2723EDF73924C52415488FA2D26E3709A21AD5C8A9BB2161CFF01BC4454D8E8F0306DADAA2B6E6A3A36B8E20190851424288D46632AA29A9D92A2AF2C2E2F7BCE6CC968E8E96C930898465CC6499278643450DD43BC3D48A9FF9E4DE4902511C1FA81924D25545B5B475BB66E15532282DE9FA5C4F090030007A9B6BE5E8C5C67471B721F84A6A54119372923234BAC048E813E444F0DA32CC4EA241B6980E22A884A04613E3B3B2B05F387421A03CE08082D069176BD506406E5151450302C147FF189230E560956AA00334298971C04A4E0C6461CB259EDF6FD0AB9F279B94CA28D83BC5D7683C69FBD499288948A9E6EA0A5592EC923D8565A564E3939763A7ABC51ECFA6EDDBC8189703B524147972F5EA44C34497900D8D9D60A53D5D0A6D20A2CB04F54C9A6B20A421A263540DC1A734B9A0F703CB41888A6A5A545F5FA5429032E89455C80538E0D3B4499E743654A945576DCE39D29738E8DF5A175169286212881F9014B14250069B1B7E0FBCFA05BFB465AAA3E8B952D06745A37415EBB8B342D06723CDC4DEAB114D2BE63A650709508663665E5E5B47BF75EA441059D7BEF3DD2C30BB66CADA1F6F6560AE3BC5A3455AC124C4F4D52152A86018DCF46CD4D040EBF88E2B309ED753CC725B1BD67C645F3A2A1E6538A56479204450C0F0FD69E7DFDF5AEB6B6366EDD7198A5445D5D9D0C0B56A5E2851CCCD26A75CF665BB39F42E3A38E83F4713EBAF297BF26BEC64F69FF65A5F4EF1427550AB621AD6833DCFEF38F1FA5BEBE3ED1EC768294F9B939B13962269A8B3278EFC6E66EF9B34992F52646B3057D858C124D2E145C84A93A51922D6460554354C4AA0F401593DD9DAD0706070787CE9C3913B9E7F300A68693274F4A585AE0A306A96184024A6C76FB37016A0F6428650067246E1AD87993A20A81D2DF282067FE38A9EE688977094964B066A861E72EDA0432AE5CBE448568ABABB6568B3EBC56D27187E7D6D476769E1B8D925A9D422A8D7A25A2A2BB831C9FC74D32345A668CD9EC58A20F509422B3B3AEB31D2DD75EF1FBFD433E9FCF7FEEDC39FE373E118AA78556AB55609E67CF0B2CB8F96E007A51A55216B052B8E20FD65B347CB285A4334AB2BE5A46CA8BFA24353030FBF6EFA7C38F7C561C7C7E9BBEDE8BA12A805E0079BE92E30C1C4BF0F0A25FEC5AF5B827EB34139D9F9DBB30E76DEFEDEA7E756262B415417441D47E449F037661C3CF041911AC5CA23CAA743A5D2A00A1C7B03C61B5D99EC51AF42CDAC17090DAB75CA6C9CFF592DAA5A592171A28C00788F3AF1A654D4D2D7DFBF4694C86FDB41058446323FB9007A9024007C42E91CD04324C6B4926876E3182264A8D715CA152AFFA408C80F052687AC4E1F851FFEDEE5F2350D358B7CFE1708459EEDF350B6C9484785A78BD5E0DC830E0702EA6C4AF83D547D0DDC918C8402840612E4C7D193D34F21C9A28879E327F5A44D23B4ACACFCFA757BEFB3DB1D162E5B5F3C64D2C94235E9CF8568988703C0DA16C4A005AAE54C622BE0C5E2241E9C6B52CF7E52ACDF2F1980FB03D8C31E8724E9DE9B87EED5F808F3D3EF3C2C71677ECD811C1FAA3D104D01FE9B1783C2DDC6EB7027EC0AA8519F7D952595575124BA8585A5ACE7D0FE7A1CBC7DFA6E03E4C76D31A2AFBF37D64D019E9D5EFFF8096BB4DA94804C8A40E10B1C42D1330363A461E989C4A931273F5B8A489142CC2486841AA48CA7131F2C874749717FB7B7A7E303FEFED81DCDD88BA1FEB8CB07C8FAE03F663FD3092981672B95C8F2DC364321D8422FE0129616269110807A82FBF8B22EA3065BC9F2B5EF7CD132F613EB0268DDD6CCFD2E267AFBD490AF52AF0B8DC35E8361572292DF1518A8A7F3BD9E4C2C1A063C431F0C3F1D1E1F3B8761AADFD1C93FBA38F3ECAAF8DFA7D23606D5AC05DD520C1807BDAA086AF18D2D29EC43145E220C59E077EF14B5FA2D99919B4C0C562994C7C08F3F72FFDA3F830245ED3554A05A56935629A843040AD443C4600CFF1F3AEE9C9E6C13B3D6F623913B887177F2BB89EDC1F0801EBA5457A7A3AFBD5C882C514EFDDB7EF250C40DBF159C20868D8B913F3C243E235A3688298E44B511A113111F0D74F9C022172F1418BC598CA467F9A5B0850748D22F08FF37967FF77A4BFF74718A0FA71BB19CCFB01EC97E0F0427483C0EEFB8FA36BD342A150A4A35A34D4D4D49CF4783CD6C6279E101F95C723CEA6434855EC120BD0A73302B22C66D2A14576CEFAC45E60ADC9A1F5ED9A1C76FCB3D73B7B1D7FD289416E3EE6EE2CCF85FBF5C3C87D4B0B90918632646D686878FC738F3DF668616161E9DAFC6746C814D1D2D64E6ECF1CCDF90377B5B75C64C93DEB9AFAC9F4F8D8AFF07902E47AF1E782151515DC46E4FE8911B05E5A204A29D84C907CCED1A3471F3B74F8F0D366CCCF0C3C03187F7DED1B2F8BBD413CC71970AC31BCE0F3FC726C74E827D14864E4A3CAFD1327606D5A40E64ABCD58384744C6FC5CF3CF3CC9FEDDAB5EB8F104979FCDCBF7EFEA5A80CE3672CFAD1C5C0428B6B72EC87FEB9B95B00ED84A2E6D1912E2536331F6B6D9F04018969F1D65B6FC96C369B1A1F0D6CC8AAAEAEAE6F6A6A7AB6A4A4A4829DF757CF9FE0A00A3917098FF9669C3FF6BADDEFE1BC49D4741F2AC6C792FBEF9480B5698148CA11E11480654D94EDF8F1E38750B3BF7CE29FBE43019FE7E7AEA9F1FF8032D88F1AB3F087002A4BE4E3CAFD5341C07A69816AC1862C034AA10966C9FA0637BEF662EF47E4C3F7EAE27EAF09589B1656AB55817AAE60C7A10C0E33C3128EF1F753EE9F3A021289603B80153FC7F60F1478FCF57F0F62DF64389EEFB80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (55,1,'Modem_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000003A08060000004F8D5CA90000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001B124944415478DAED5C697414E7957DBD77ABB54B2DA9B5A1152124815824B1098401636CB31807BC81633BE78C2771166C666213C7269E9C3327F327F333936DE28C719CD88E1D2F079B5D60641601424212DAD1BE2FADB5257577D5DCF769714BEA6E89C5F15AE714A5AEAAAEAAEFBEF7EEBBEF7DD5286459A62FCB525B5BABB7CBF2363CD31EC9212F9724C7BB24395E4B4E4E3E4F5FD345F1253080B2AEA92947B64B7B24597E5092245FAC24C958792BC9E490A42AD9E1785DB22B0F2D5DBAB0EA5B03DC81A5BDBD7DB1DD2E3D2691FC28808E1803DB799569BA21780B639CC7CED764C7E8DF323333BBBE35C04D2CDDDDDD510E5900BE0780A67A067CDAFE89559EFC6CC3B91FCB0EF935FBC8D007393939C3DF1AC0C5D2D3D3E3A754ABBF23391874691D56850B306FDE1053CFEBC5F66D875D3EB43167CD69DC56FEA61B403B3434B44522423295EE9765490FEA205950883CBE959CB6F2D8569EB95F9AF85B9E76AEE4E2B32CB60D88B2D71536F9D0E6CDEB4BBE490650D8EDF6550E87BC47961DBBE1DD81EE69C495474FDB277BF27E57D1E3EA1ED255C941AFD955D21B3B376F6EF9BA1A6001B1A74B12737BAC672A990AD2A4973B9D83E44C7ABD01ABDE8531E64259AECE81A895E5137687E310D986DFDDB56BD7C057DD0061581F66E0B12E9327BD519E43129DB9CF66B351654525955D2FA1BEBE3E4A484CA4B4C5E9343838445E5E5E73F07E57D1E3D210BC7F08EBBBA0AB433AB21F83311C5F150318B13E300EFA46ACAA8903B2273AF0E0997D7DFD54585840A525A5F0781DA5A4A6D1BC98586A68A8A78AB232EAEDB5507C42022D4A5FEA0ECC5BA4ABC9F3DAF0DD3748B61FFAEEA38F5EFE321A8041DE340EFA8E7123CC586ECEFB25AAABABA3CBF997A8BABA8A620078DAA2C51410104025C5D7A8ACECBA3827362E9E12E72741CEC85455510109DB05432C213FFF805B3784C7F31CD7F1F7219B43F9FA33DF7BB4EE8B3640C638E84C3321B35D642EDE3F3A3A4A57AF5EA50B17CE535F6F2FA5A7A7D3E2254B6960A09F0AAE5CA11B353564341A69614A2A28683E7574B483924AC9D2D34371F109148B7564781846AB241BAE159F9044466F6FCFA0DF5AB28790923E618A720C2ADFDAB7EF09CB3FD500FFFD9BDFFD6AEFEE071F0B0E0A8A9CCB05C6E8C7BDF7A3F8A2BCBCB374F1E245F2F7F3A3CCAC1594BC7021959797210AF245D28D8C8C8277A75364541495959682928A49A552D3029C173D2F86DA5A5B9123CAA9134631858480A6E2C817D76AA8AF23AD564761E11173F3FE3946A8D3FE11ECFB5042F21EE80A3E7CF0E0AED1CFDD003FFEF717FFA1542A372F4E4B39FFD8EE0733B45A8D717603CC1C503900CB3D758A4AC0EFA9A929B46AF51A0A0A0AA20BE7CFD3A54BF9222252525369D9F20CD2A8D574E5CA652A07EF8799C329352D4D005D595E2EA2C06AB58ADC109F9028EE575559411DED6D148A73A3A2E791C361A7AECE4E0A0C36914EA7BF05EF7793B0A78CCDD18D7BBFE990E9D0817D3FCCFBFC0CF0D39FFF43A9526E871148AD56B5DEBB6963F5BA352B572970AE3B034C14425650C4A7797974E2C409A166B2D7AE05F0ABC962B1D099D3A7E95AD135F2F5F545146451FA9225D4DED646172F5CA0C6C6064A4E49012D2D21BE6F5161A1005EA7D35152F2428A4322EE40A454226AFAFBFB457E60E07B2DBD547BA35AD0981951C006617A532A55C815FEE2B93C79BF3C6B913775FFC435648754038A7A5D76D0A183079EABB8A306F8C90B2F230214DB55004239BE7A190CC58F3FB24B15131D95EC8AFFDB00E4C71F1FA1DCDC53141616461B376DA2C58B1753E1D5423A75EA24D5D7D7535C5C1CADC9CEA6F9490BE86A410122E19C8882E51919B40892B3A3A383AE5C1A4BCCE6F0B12888888CA60A80CEC6508392E62F5820F6D5D7DDA0EAAA4A61FC98D838328586514B531335373590C160A0B08848788B82861139FE814118A5E2E6BC5F96E7ACBA609C8BD81E72A8A4BFFEE781031DB76D80670F1C640ADA8E2810E08F1942C15E259BC3423FDDB37B67A28FB7B748CC454545F4FEFBEF434A16D28A952BE99ECD9B291034731211909B9B2BA823233393D6AD5B8704EB4D9F9C392D7241486828AD5EB506C9355EA81E4ECC9D3000E786C5909C3A48D222246C069FCF4D5E984AFE5049E530447555157923F9C62351070404524D4D1535238202007404A2828DDA545F2BB661E60832FAF8502F12B91FCE556B342E0D319BF7CFB1B6B1637B0454F59ABDDFE7FD5FFFFA59EB2D19E0B9175F991101132BEFC3F9032DF5355D92DD160D8015F7DE7B2F6DDA74B748A61F7D7498CE9D3B477E4890776DD840D9D96BC5FE93278E537171B1A09D35D8E70F7AE05CC02B13DB72E481C5A09F9E9E6EBA8C28A8ABBD41894949429EF2008B61E8DA1B35140ECF664A52236754945F175E1F81041E8DFCD00B9A633AE2F14446C790C1CB88E30D3408CA32212A7DFD02A80752D6E8ED43DAC92AFBF6BCDF43B2EF47EDFD773B395E0BD6AB730F1E3C28CDD9003FDCFFFC71288B0D5AF0AF33F0E26F44457969091DF9F07D24C59891170EBCD010141090F0C1071FC093CB68213C78CB962DA09F74BA74F9121D3D7A94BABBBA2827673DAD5EB3868686864462E6841B0ECE5EB97A15258192380A381730A72F5DB68CD2D216511B92ECD5822BD4DAD242490B92110529A88C07A8F8DA35EAEAEAA4F8F8448A898F13C7AB9194D92831C80D0683911A40517D7DBDA0B248F20F0AA6F69626C8D96E44A78902F0998FB1671B7D7D88873FF79AE196A46E13F2C55F1C92FCDA6F7FFDAB6B1E0DA0C0F2FD7DFBCFF67575ACF2F1F3A7C090302107C72868CC081FBEF316D5C11BB97DA007DF868787DB376ED828EDD9F39896E9E7E8912374ECD831E1E577DFBD19149401C9594EC78F1F8794AC100073144C28A2F3C80506BD415018737CD9F5EB7429FF220D23A1B321598A363536213117084A6343B0C7D7D654A3402BC7337889824D87676143F4A17A8E420404434535373682DADA28D814822808A781FE3E6A6B6EE47152A029149160A0011883AFA1C438E7D6E2B835A9ABD36A5BD35292FFF0D49E875F726900067FD7AE5DCA98E4B47795A4D8DA6FE9A2010C2628345C243206BF1B9E77F81F6F0BF0996379CB6BA8D94C89898936D9E1D02C5DBA94B68096E26263E993B367E918A260707090D6AFBF4B28224E8CB9A77301723EBC38815667AFA1909050F139FFE205F0BB0F2D87D1E2E0CDD7610C8E02954A05632C01DD44D275D4094C3F5C11B37198D7393730CFC7222A58093535D489BC108CEB4644CD43E40D52635DAD90ABA6503379FBFA5177673BF5E13BDE50653EFE41E298C36E279546EB06CC596B0697E7B21658909878DE6C0ECD00C4C777DCBB79C70C0330F8BFF8C52F14252525EAD8E445EF60C0F731E0B802F574B402E4510A85FA68A8ADA5C2CB1727819F58D9187CB338E8F4FBEEDF26850407283911B322BAFB9E7B888D5285E4791C91C151C08999252AC90AFAE493330264501AAD58B58A4CF0CC2BA8130A4053018181A8133229C86442522E40915622EA841450142FC54585C2E3E311019151AC8E6A4574B2C7C7C4A1721E19A13A24E9213840584484F0FA6E14739DEDAD2247F06705C669E9EA201BCEF5F147A2D6E96FAD6E70113D612121E713E26322554A5524471DD6F776DC77CF4C03BCF2CA2B4AF0B8CAC7C747B762DD86B7546AF53DACA527A8C7363A425DADCDA2F2644E77067EBA31F87BB1909C4F3EF9A4BC6DDB360527E523473EA6FEBE7EBAEBAEBBE0F1D9D4DCDC44A74E9EA40A1883B5FFEA35D95C73888AF91A14154B4BAE98BD8C46CA87426219CAFBD2972CA511DCB31006EBB5F42002988EE226E9880D95889CC2415D5D51262236028631C379F8EF664486061ECE3295E9A70B7966A0CF82083791C1DBE7B3A252BE9D024E866CD7572E489A3FA8D568D2C780170CC358BA37C0850B173438C12B75F9CA37351ACDC629C9777CCDCF3B038FEB7109FEF4CF4C119191111403CFDEB67DBB888202E87F8E822E1871EDDA75B472158A345CEF341233530B2B218E02C921A1A03B2BDA0F9C809765648A02EC72FE05A17652911BE213E6439256D0F592620A04452E4849258D564B1530564B53A3003E3A361EDFEBA3BAEA4A619470ECF3859777B6B58282DAF07700F9A37A669E7005E6F4026C36EF572815DD09B131C590E9AB01B84A803EE6F9632B0CF0802B03ECDEBD5B3530300021A1F6494A4DFFB197D1FB05A54AA599A805948AB16D69518108D792D50534BCDC42867A2305FC2592A46ED9AD31B891C6451903C1932C2C5999822A91304F2031372151AE58B90A8A6835F5A28AFD04F981B53E1B230351C01177FEDCA7A229B774F97261106E451482927C7C7C45438FA565190C710391608E08A784F9C982362BCA4AC90AE5153D0FC55A9899BAC0FB1C057C7E68781421D26F6EAEC18D2180A13DD4147CDE640A4A5328947E5340775AF1CF7B0F6EBDD7750430FF43261A71C1C0D0A8A88C8888E8E7F55EC674E728282F2DA6014B37152DBF44BDFBAB858657D7EB29F2E925245964B791C1F7E02EE7438F3C42815057478F1EA101484A4ECC2BE1F10D0D0DA0A413A0B87ACA02E8192B56425E36D359E40796A6CBB3B22835354D14665C2D73B5BB04B503F78BB885CDD238089E9C92B6186A46259E93BBA9DCB48B8262E23C518368D1A83514897D06A81E698EED87A9F3D453E7B3F91A069DAE2C3CDC6CC0B5E74D508DAB95151AC4C0D5FF38F8F212974938272747A54501C051808FC148C4663CEC7DE688A8BD5A9D3E900DD0587F83BADB5AC8AEB053D9D2ABD4BEB39AA4F0518AF9E512D29FF177999C9D3FB36C654ADABA751BDDBF75AB5039C7901FB858CB062531FDD422D19F3E755200CF51C16D8AAACA4A3AF7E959A1F5B356AC02BD4451290ABBA2AB57C8C797A360995033A530463D9270D4BC1824E605A27D5D05C5C4DB180804567377AA00037096A0C0008BAFAF6F8C3BD079E5DC5300E112841A2475D1E2C37B1FD97DBFECA4FD67A82028071D566F0CD61FA087601B95989CFA6888D9BC1137D71481870D06BD00D4EAB092553748CA4E355D4F2FA2C1EC0ED274E829E8ED4852D66BDC1AC40C25C3AA47A3510B4AE21AA0BCAC1C947494FAC0F56C8C65A09B0AD40F6740494CE02B56AD11DDD072146DF917CFE3BB1A911BB8DDC06A881512F7901642218106204D4B44FB9A5B1670A2CFDAE673E9827AA01C07129446A5EC0B0D0DF585932A27C12667AE5708A397145D15635E0407E1E6208EBC5F5A78F901602D4F18614A1D30610470B146A7D319B0DB8729093732F9FB07A5242E5CF8445D4D75AAD1A09B01EAD5B47CB2FCB49208EA55615151F84BA9A42DF076AB967865EFCECACAA446E401968A776DD82480AFAAAAA493C80FC323C3949DBD0EA0A621842B4149A7C90EAD9E91B902C02622019740115D167303E9CB3244345C4714B0149D8704CCB2581458B325D23978BFC3E120FBE8B0DD640A51EAF47AA55B9EC7B55895B110989FBC507469278E01EB0F4F1E39BC13C5AB63C208332A6136426E6E2E602435B8568B5D5EF8DB17D11084BF43A134F625C4C7AFE307720673C83E44451917A967572DC9263BF99E09A5C85FA6CD4A4B4C6D9C701F79F431D2E9B4F4F14787C1D97DB46EFD7A5AB27419358EE707EEE3AC806A4A05CFD754572131E741A5A9901F5688417204941617C1DB23452ED0E9F5B7D3CB99B28FAB72484BF243FEF244375D88B81BC8355C0C725B840BC8B1634A21452587E3E357FFF0DBEF00831160EC9861800923F096ABE2808000654B4B8B060F8180D019414DFE00DE8CEF3C0D0AD9121810E0351DD42E4307F505F5905713BCBF47A2F27BAE920A0FE05D10485E577CDD1AC317D529E787EC756B69C3466EEEB5D1896347515CD509E0976766510BEA8733B9A7444F29336B2525242589F9E22BF917C7A36039F90704DEB15ECE288A33C93E2A267AD851DC013F6C1D125297ABF2B88424617C57E7D96DB6E37F3DF4EA6E5C7F282B2BCBC64D3AB793F2CE86E0C97948488DC56231C0AADEB8400064EB4218E899E8E8E84C246F952B501BFCEAA8EC6779A4343B886C0AF27D3B9C42FE27DE631D91B4600125803A9A11C25990A75CA4F1E4CEA913C74501C7051A4BCFA6C6063A979727DA0799388FBBA277AA97C33437D8D72B9236277E77C0C3A3A9953BAE03FD140D8FF781134DE603E5CCF36DA3A327DE7EE3D0C3A869064C2693EDCD37DF74CCFA5A8A2B5A420234F06BE4304620BC3127CC6CFE9770B3398EAF359D722E2DCEA3CE3D5544810EF1C6E6BC979792E1537F8FB4C40030F039EB73842A62C5B32C230392351B859B853EC93D499D9D9D9409B9CAEDE9B142EA263B996E12716F77373CD840062FAFC90A5631C5FBC7F659A06EB8ADC1FDA620AC9EA889D791E191FCBADAAA972EE4E5E5239A06678D007786E096455C5C9C1A40E900941146F0032D85E03ABBE6CD9BF7A83F1606D019D87AFF5A6ACDA8219BFF30CD7B3B85A4160535473790BED98BB41D48E8A3AE8DC113EEFCF6C4F6071E10D4928B5CC0051CCF23B30252AB35B3A89AB937D0B85064CAF19985E74740375DED2DA297141C6A16DD624FE73B6CB68E86BA1BBFC9BF70EE1D00DF012AEFABA9A919D9BA75ABE3A60CE08A96582D198D463DCB567C0E00F051C0FFE9A8A8A8BB71238D3B2FBF907E9606F7D5913C42643C1642E63F2790DCA170A994F87B2C2FC359BAC6C6D0FABB3691D1C7DB75453A39C7EBE105DE698618B15AC5FC0203EF89E7996EFA7B3A851AE2363D3B87BB739542F148236D2D2DEF155CBAF02A927813C6D28DB51FEC31ECEDED6D7FEBADB7249749F866A281690994A4C245B58804031E8E7FDD120843A4454444FE2824246411B73CA7835AE55B41E53FCD230AB18BEB69AA8C94F8A395641FB67B6CF47D7CF498A02495666CF0B7F3DE2803D9DCD4249A725C8FB8F5623CDFF060BFF07C6FBF00D2C3F3679CA3FC0C785EFA2C96F3D78A0A7EDBD1DA5A0E6CBA70AF5EEC1EC218469DC1BFED97735DD11206E7851BFAB16CC5B537C4C7C73FEDE3E363E6013B835A6E2AA51B5B8A6838A30703204A7E219B74C53E1E13F4EFFEF0474A4C48A001146BE51595A275ECFC5A8C6BEF9FD64290C75E22181E1E111331EE3C788C3E4668D43A481A94447AA3F7B45C30960F940AA5B31AAAABAE2AFF7D7579791E9EA3132C60013B0C7A79790D8376EC4C3BCE45D81D793B7A3A2D21DCD4504C7A6CBD71C81FC085422D3D02B5F410BCC1CB19D421C71075F8B5925D3D4A7E55C154195E46CD1BAB486BD392F795200A3C1536253F1CF8D98B621E61FC2501A1846A1B1A49A5D6CEA99AEDB3F4524B5B2B7979FB4CF3F271E09513C514CE1FB1025D2569F446D15FF26428C961EF6F6A6C7CA3F8EAE57781673BD8A01B0E37C03000137E99CBC15E3FFE1A8FFCB9FC3E60DC103CABA6E0CE2AD3124043C9A8F461B504C0636263637F101C1CBC0EF754BAF2F0FCA44FA9737F19295478508826E399608AFEAF34B25BC78ABE3D7B1FA79D3B774E6991F36DAF41257575F5908CCFAE0C318CE4CA6F4F68B47ACF60F200243B4091488173154A95479E6760517C1D2B2B2EFC13C65C8F7175E199FAF0AC562C0CBC3D2727479AEEF59FEB2F64A6CB562C3A18C00BE1E88B434C4BE90B9293F7E975BA4406C8996EB89ACE5DF711591F6C218566EC7A11BF5F48817F8F12C7773FF430EDD8B1E3B397059CDAE5A3B651BA78E912F50D58C727DAA1E72507D55455D330BECB1331AEC11CA3118D92DF4486C1607D69925694E4DCE1746E3F40FB5FABAEB8FEFBF6D6D6427CEE649EC75807E17823EEE8E69FF6132577D5341ED01B099AF343889F9FDFDDF109094F03AD49D9CAEBF0E830954617527B661DD94C4334EFBD14F2BD6412C7EED9B28576ED7E88544E2F094C7F6D86EB838B972E534D7D2335B7B4B9AD4A27C0D4C0885E5A158C4534E290DD9E37916C514CB535D6DD78B5B6BAF2049E9B5FC4EA81730D0C0E0E0E634C364F74F34FFF91DEF4FCC0BF1D436ED073938F652BB735121313BF8BAA700700D6CC90A0F06AE71CC08D3A9EDC494949152F67CD9CB51BCB0DBC7DFEE55F8A09177760F214A8AF974E3CE7E0880DB982DC033F262BAD9DEDEDEF559414BD816769C5FDBA11D97D188395D50D28C7311BDD7C613F53F5D4E4E3FC80C1C4A72F59F2AC5AA55A0AAF52B892A0BCEFA9EF7D8F4243C3C45465B0C944C90B92455B7A72E66EDC200CD8BFFDFC17A406ED28A755B07CDCCFDB48069D867A07AD3462B3BB057DDC7FE4FEDEDEBCCAF292FF1DEAEFAF442477E1997B71AFA19BA59B2FFC77C2D365EBD0D0901E0332829AFC7038187235031EFE1CA49B797A35CDEB0B070E10CE11C07097947FE8C1BFA0E157609CA98817610054CACE6032F0817EDED40FE07B0786C43BA39EC01F1EB65637D5D6FCB1B5B9F12257B1C0CA026533800274E456E8E64BF14B7957D534CF3D4C34F9B0862425256D8B88887812CAC2F059B7D4979EFED7EF4FF174AE2D2A100D3C979CC6AFB4232AC62F4FFB5F3C3869006E25478404D108E8ACBDBB57D4039EE8C66177583ADB5ADEB85155F621EED58EFB7015CBB2D2EA544CC9E3B8DF16805FD87F55E0AA9AC66EA6259E120D420498D7AE5DFB0300B001FCAAE4F74C17A7A78F291FC567AF4AF29627734A4B4B45E732353555FCB06FFFCF5E1609382A2C84E76DA9B1AD8386507C4D017D5AC71248D8FA2D3D476A2BCA0FD96C238D2C2B1181BD30FE504747C7C85C64E557C600B335F9B89AD66AB54146A331313B3BFBDFB66EDF1EE36D341A5C299F89BFB9C2E57754434343E9F0D113141E6AA286D676EAB2F48A8EE9D47C30B5C3691D1C2C68AAABFE23F8BE946525BE60816018C4330C9BCD665B4F4F8F74BB74F3A534C06C4D3E00EB8F6734454545253CF1C4938F2F4C49598164AD98AE7A26A887C7C3FDA2C3478F537D739B9823507AE856DA6DA3CD1DCDCD7FEE686B3A03A377B0BA81030C8066ACA040DB44EFE64E03FFA532C06C4D3E3CA30FC009C4E190D5AB57673EF4F0C34FC02BA39D55CFF4E5B9032FBBAD7A05DD48D2A0A5BBF3DDE6BA9A7790775A59DD701F0DF71A9A6B15FBB533802B43C4C4C4A851E4F09B1A463CEB44351DF6D4534F6DDBB871E34E6F2E085C2CCFBEF0B2AC142F2DCCA87CA5C181BE332DB535FF077EAFC1A99DF0789695A26986C2D1EE3C69FE55FABF223EF76A1A80E9C1C94C4B7EF058881E53EC33CF3CB3373D3D7D8D92B9C869D9F7FC4B0E44806A4A153B622DEF6A6DF9536F4F5701F631DDF470D30CC6B5DE2959F9B53180BB261F1C5EC3F2949B7C5C4D735B232B2B6BC9E38F3FFE24E789C9DFBA3DFFD22822403BDEADECB27476BCD1D9DA740C4AA98D65E5CD36CDBEB106F0D4E4433418B88803A0416C88BD7BF76EDEB265CB433052C04F9EFFB995A5CE507FEFE1CEE686BF619CCD882051C5DE4AD3EC1B6F004F4D3EA76A3AC0DFDF3F74FFFEFD0FFFE9D05FBD5AEAEBFE66B50ED4E16B3DCCF3B7D334FBD6001E642B8A242D0C2266E3301E2EE6F86F1EDB28AB1A5E792EF6769A66DF1A600EB235383858DDDFDFAF0125A9F938FF3F4150363618C8FE45F2FCD7D600AE0C317FFE7C45434383E8C82117C8005F9A00FE8BA69BAFAD01A653131B637C3B3938F94B3AD0FF074DA05F0457DF4F530000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (56,1,'Network_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000660806000000032399540000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000041224944415478DAEDBD099C1CD5752F7C6AE97DEF9EEE9E7D46B36943FB8690B0C40E5230600CCEB3FD191B2F9838B1835F5E127F7102BCD879C97B2F7E368E4D3E2F1F24C1B1836C6CF6C58A598C9040484212A36D24CDBEF6F4F4BED5FACEB955D5D312C286188186A87E53BFAEA9AEAEEEBA67FB9F73CF3D87D3751DE6DAB672DDE6C4C9137D75E7E26FBBF0A28B7FF1D4233FB961AE8CA5087374DBFAA77F0F69DD0B9CC003CF0BC00B1C703C1EE3FF1CFE2FE0FFBC2000BE0922CF8120F260A3633C2FE0AB4DE4F0BCF11E8FAFEC7A1E40E078F65A915590540D64590149C25715FFC7738AA280ACD0797A1FFFC7F75455C1F31A08877F098E52C6813F2F6AFE4C15F714EEFA79067887B732EF81B144054411896D1341B409788C0F6443629AAF22E0396406154FD8F13A5EA4F7E87A63B7D18EE7E81E36813ECFB36BCA92027A5905195FCB02EEBCC2CE9535DC91D865DDD819932083C812C718A3DB1300BE9243F601670DD173B8CBE719E01DDEEC28C14E87C88827220308ECD5383698C13A675D23801D8FEDC818C40C7646FC590660C447D12F21A14B28D5254585324AF5ECAE4305354245D5D92EE1FF32FEAF68B8A31995351D748DB3E8AE9FCB52FF3E6100019C76EE54829B4415ECB38C611017DFB31BEF11E1EDA7115E1404663A88F816B1CB48643AAED0FFAA497C05D82B330D784ED16807467C553369AE57897F9E01CEEA0F47C2B99CBC29E92613D80C7360AB6A05E3FD2A9398EF9D427C7CE5380ECAA8CE4BB2CA885F22A2CB4470620424B862487ED9D400924A128F4C60121F0F510B402DCDCF33C059D700A8CA9DF659B54F4CC0086B7FA3EA9F3511E6AB6031008244D4DA25C9243E4236227CB9AAEAE9158C63640249D34DC92782734CF56BB8D32B5E8A14E72CAA9F6780B3BD9124BB9CE22C08ACD10255FB4FBBC91036BC86272088EA5EA825BE6CDA7A53E513F199EA47705751666D7E4533249F115F33D4BFCA8E8131015900AE4AFB5318403FCF0067617308A401C4AAA45B9E80CDC4021626E0791D785040400AB1F7F0333C7A05483728CA4A0DF151F59B925F2E5520509884E18A885E800B251F55BD0AB3C4278947B2AA26E155D4068CFA06063C8F01DE951F8EC47509B62AB1AB1E80E9E6F1E4FB23E12BA924040B53D01470C191723D845ADAF12CC724BF6212BE6CDA7AB2F9153401C55402FEA0538072A50C8F1F1B8257A40828362FFB1CD97AC5243E630230094FC18359AACF09E99FD30C40011B874364522D9A7E3D3102058418E1D329F06646616D431082F17AC8E40BA04925A0C82753E70CEC11F16196F8A6AA67411F14FB582800B75E1884AB1333F0F0917ED8510A812ABA51EA7926F51AEE3A0248FC5224B56AD980F30CF06E6C14B02113603355BF40114093F0EEEC18ACAA0F42B8BE955D2BCB3254240938DE8BEA1C89AB700CD91BE85E634C50D1A0C6C7D7D8F5A55209DC6E373446C3703BEE1F9C4AC2B6D787E185821F39D08304C7EFC45DE7543CE46A7FDE790638DB1B0D38A97CF20448114BE969F0E5C661554308C28D6DD5EB88F8E572191405AF115410515009CC49CC8D33096EBDAA0623C8483649323E47C121A7D3C9EED5148BC01F5F1A811B27A7E1DF0E8CC2AF733E906D1E64009E31834172FD7400781E049E2D06004D81526A1A02C5295889121F696E3FE51A0ACF121169979011144E37E2F82A30778EED9AA1F60DF50FA68F4F580019A0C2B11801ED0E87A37ADF96781DFCC9157570D344027EB27F0C7E9DF5826AF79DC700EFDE86B63B330321751896350521DAD6FE862B3494708BF8A4CA89C08A0866140F8D8549687A55981600C3CF67000F980928739A01EE3943BDD732016D6DF551F833DC6F1E4FC0FFB7670A744D9D7326809F7392CF7102AA5961B94F85CB97CC8368387446E213D12D0628572A4CA2158ADD9B84A7481E233EBD9AEE9D445A03494E0C50AE48A7DE0377322767DAE2213FACAE772003503448AB7503CF6B80775CF6755D5DB56EB376B828C0CCB14158D0108680CF57FBFE29446344440690791B73DDC887B78238AA399143717C55AF0DEC180C60C7639E9B35039626B0D96CEC75746A1A9E3C3C09BF9C7142410CC00ABBDDF409CF9B80B36C004077D535821C0CC0DE4C02C4DE3ED8B8A8CB88E9D710DE92E012EEAA1D4C02EBCC85534C6620A125E2EB26E948895390883446093104980933DC698C40E0F0BE570660373481EAF5E1659C3917F40613704E33010F7374A3B0AE9DD039DADDD6B0FF14E25748E5A30DA7D7D9FF6543D299CAC757E406430BCC924C67E15CC3B72F9B9F254D50C6CF96C824D46816D234FFF58A25D00D33C0A98A659FE034F57F1E039C352CA0AB904F8C416329016D0DF12AB119E24797EF2422F43C65F020A128698362FB1A186A5E538D289E950EA7835EA51F1DEB08334A784151D161BCACC393132A7CEB501E2673A44D66BFC781A6E02F3ED00A4DD2388B41983608CE63807761CBA792D00259983FAF057DF659C046D23D8084E2976D842CFAE6C5A11308EF4751658BA00B36A6DE5583CC60919FB3C2B960DA7C4F000E569A20AB0930E96A0035E0060D19E8BEE1E370DBBC0A6314CB14047D5EF8CBF571F8F3972619F15542A073641E604E32C0CD37DF2CA0921682B97158B1744135D06348BE02239902A84D3D108C4419A0131D6E28B7F430FF3F24DA41514AC0A364DBF07F179BE133A7796947F69090768A5B84A2D8C5C0409C9C0E0EE9299269688447074EC24D5D7C1510D26B53340C7FB9B2023F7A24C7C2C8B815CDB1E5CF0782DE5917905FB56A556CD9F2D5AE8D17F4B0408F05F64AA532EC3F70007E78DF03CC569FAD64E73E047FC5954BE153B77CDC9C033298A1A7A501AE5ED50DBF786CC073C9259708CF3EFBAC3C17C6949F43C4E7D6AE5D1BBAF4D24B3FFDB9CF7CD259EBEB93FD3F71F224FCD3BFFC9831C2D9CC742710B967DF01F8D9430F3346ABFD0DEB2F5C07375E77F5D26432D9CAE21573024BCD9175015BB66CF1B7B7B7FFFE473FFAD16F3B1C0E7BB15834227C38F0B97C411F1CCF704EB71FCA782E97CBB2BD58C8A39690596AB72C4B4C6328B2CCCC069DB78E2DDF5EA45DB4D51CD36493DD9C70B283C7E3059FCF0F5E74FBC802B844195A9BE2803F075C2E17DB295AB863C78EC77EF8C31FDE7EE0C081718A5B9C3701BFE3B67AF56AF7A2458B2EBFF1C61BBF41C4AF89D069789C7CEAC927FEDCEB8D3F76E5076F7421F08FA1568EA1D98E216B87D0723B34E01C3C074EF4021C08DD1CE54AF916A922B965CBCFE7CCB5024874A7D3D12F08E25308112BA8DC699AA0CCE3B1C603AA1698412B34A969DC54299F9EF9D10FEFF16FDD7AE53FB6B6B6AE4689B79139A0FDA28B2EFA3D64D009D4525FC5F353FA392C65E7BC06C0C17485C3E10D5FF8C2177E128D462335011E0DA53FBB7DFBF6AFA1C4DDD7DBDB9B3AD340B7B4B4B82AE0D8C483D80302D76E176DCD1FFBC4A7AF9255CD3F399980E4CC0C9BED8B45EB201E8F4162727CE8A16D3FDE8EB71AD454ED84522ABD9E4A8DEC7F13C6B4F9FDFEA537DD74D33FD5D7D7CF47E614490BD01432125E7FF8E187BFF6E8A38FFE9F83070FA6CF552638A735407777B72312892CFBD4A73EF5C3582C16A9917C1DD57961E7CE9DFFB86FDFBE1F9D89F85D4B367E249F99FE1BA902F334ADC4B9DD1EF0FB021089D441B8AE0E128969961BE8B0DB8D4412537A9190AD7E9FE7D66C260DB25406404B5E57DF5E16EDAE17454FD3EF8F1CDE9EB4BEE3D5575F95D134BDFEE4934F7EE1FAEBAFBF3F140AB590ED2750888CC0E17B5FC9E7F393C824FF8CE7F2E722139CB31AE0820B2EB0A3442DB8E38E3B1E58B870E192F22CE022E21771F07F42D2BF6CD9B2D1C6C6C653ECEC2F9E3B704972E4E42F73E944354BC3E3F542281486483802ADF33A2180C78409545567F69C328BC8639B9E9E82C1FE13904EA5209D4E314C616DD1C6CE43CBE7C7972E5EBCF8944143C4EFC6DF70E535D75CF31D9FCF17438DC25B9A0019A0FCC0030FDCB27FFFFEC7F03717CF33C05B43FC2212B6E3F6DB6FBF17D5ECA504F42CE24B925441897FE9A5575FFDDFA1787C5810C537802CB9AC3A8747D37F9FCF2437950A19BE58C8315B4FA9E35E640402732E971B1CA8FAC9EE53568FA6D352B00AF3224A08300B08209178880D0470A3E6707B82654F20F4B5B6B6C043A77F9FA6AA5CA55472FBECF6AB2FBFE492FF8684F72203F016309C9999C9DC7FFFFD37663299179F78E289CA7906F8CDC41756AC58D18C68FF6FD09FFEA815E523D44FC783A3A39091142D180E83C0167F72E8CB1ABE38E58850A208119462FA2CAAC7739C11B9E3E97F7A93BDC752F978EBD8FC0CDD43303F679CD7D93546D44F67DF2470E6BD8CD8B1F1BD86372DA1961A1EECE7421E0F47DE00610B8B09464646C6EFBDF7DE6BD1453C40A6E33C03BC49A067CD9A35B1AD5BB7FE29DACF3F5651B26A409F9E4CA5B8483406B1860618471BDEDED4C8DCB8A9541A9A11C0D1044E01AF8D864290C9E5D81A80204A7C3A9B033BBA6A1E24C84C3A8D847181C74DC719E6B6F95055D3F594DF1F0906986330914C4263D458E43B399D84FA688431C544721AEA1143D0F12402C838322231411ADD4E27DEAB821AA4F7F583E0C57B22B6D0090B584C70ECD8B1A3F7DC73CF0DC8187D683694F381A0D3B68D1B3706366DDA74CB95575EF94574A138CBEEA3E4AB44380ED5754F57272848E880C7CD7605B5820BFD743F0EB88094139118A87F8D382C12D2E574808E3E3FCD1ABA9009E87A3A76E2BD54CA13C09DD60AEAAA826ABFC05613DB9171F2C834742F5A3E9E4ECFA0036168982C325BA958626B80745982C4F434332F4ED106535309F0793CB060C102189B9C24E6C4AFA8E856A8BAA7A767FEA73FFDE91FA0496839570245FC39447C1F82BD1BAEBDF6DABB51B50B96E413F1D176E6871349EE9A2BAE80582C0E53332958B6681104020126FDD671329B85A58B164210A5385328C2A29E6E884622A021F1BAE6CD833AF40058966F7D3D3B0E47081486F138024D0D8DE825F8A03E1E67BBD3E5448FC038F6FBFCEC3A3A6E46ADE3F379D9717767275EE7C2E318B4B7B5828BEEDDD8000B7A7A6011FE266402091940A99DA646F376D1ADB7DEFAF78871EA49E39D7703CD40CFBC79F32EBDF9E69BBF89AAD251135ED5D0F6670E0F0C96BAE62F08A490D8B4E5F23994BC043B4EA36640894221D400ED2BA2F8244B0923043F3935C5A67C93C919764CAA9A2496805F1EEF41E71C0ECA29D058583781D70D8F8C18F7452F60786494CD19922770E8E831082363D1BCD0F1FE01A8940D2C378E92EE46CD4266238DBFE3D091A3C8305E08F803106B6C740EF6F71F6E6F6BEBA160A369E660C3860D37A0B61947B7F32EFC7FFABD740FDF7306A0404F30185C77CB2DB77C1F5F7D35215E0D5568F6F917773CD0B6F8823FD8B07A25B4A0ED1F42A22CBB6031B4363733C4DED6DA8252D9C4A6738726A79884D23682C7AD2DCD0CA08DA26A6E6F6D657EFE04628745F37B18802C22D14913C45013A43219A8A82A74B41B29E5A3F879926AB2F5B2A28217CD4D137E7F19094FD7CD33AF4BA1EDA7EFA7580281BE0A9A85F69616365154A848FCA1DEDEFD535353B6582CD681DF2F5A9347975D76D9E773B9DC04BAA2FF80FFBF6781A2F7140452A0A7AEAE6EF997BFFCE51FA30698570BF890F8F99776EEBC0FFD2FBE795EE71FAE5ED0833EBB0A270606A109D5ACD36E871994520D07341A081A0C303101ADA8DE691B1C1F87798D8D0CA90FE3710B9EA7813F393C0CF39040341730818C81DFCFB00181C974B10C61AFDB60A0F149686EA86784647906F84AD882FE9F46AD434093B4433A9DC59FE866C9211447A01A036EBB8DCD011353F1A23072DF0F7EF01768BEFE3A1C0E3721E814C80C112844E2CB3FF9C94FFEF0F5D75FFFD7E79E7BAEF05E30C17BA60128D08376BBE7F39FFFFC773B3A3AE6D5A87D227E71FFFEFD0FBD7EF8F0B62B6EF8D0BFAE5EBC102E5EBB867D2E532CC0D5975EC28E1F7AE229F8F096ABD9F1EE7DAFC1559B3641AC2EC2D47214113C6100DA9EDBB90B2E5E7F213BA63C3FEB78EF81832C04DC8C924D66E3573B5E824D1B36B0F75EDEBB0F5A90D1082F50C068F7FE83B07ED50AF6DECE57F7C062D4228419F2081C8F9D3C092B972C31A283AFED870ED41C61641062D85D7BF73539FCAEB1EDFFBEFD2B5BB76CFD06D2386AD97E6402DB0D37DCF0CD6C369B58BF7EFD53F4F3FE5368000AF42C5FBE7CDE673FFBD97F58B76EDD95B5513E047D6574977EF58BC71FFFCA8265CB824B56AE79BE2D16E508A9CB920C9952B12AF123486892787A8671B4E70D08CC4842892882CDCE249134402A978710DA657A6F0AB54603328786C449209824C048F581E8BD5C4502BFD3C8FD4F23A0A4E8211596A27B1450F5FBD175D4341D8AF85B09FC096652484521A9B7A31BA9B19431B7C70B4079821CB05CC4443A79FF433FFDD7BF8E7823575D7ED9E55F47C207D15C709626989E9E4E7DFFFBDFBF01CDC8CE071F7C507A5F6B00727FD0D76FF8D0873EF4976BD7AEBDB236970F8FE59191917D0F3DF4D0579B9B7BA6E72F5CF8674DB11877D5E68B59F065D79EBDB006A590217B55837F7F69275C7AB121B1CFA2F45EB872250EA8F38DDF893B45FDE895249D024A6FBC8234C54E58B56C197850A593F4EE39D80B6B972F65EFED7FBD17714713848241662E0EF71D671E076D478F9F600031566754AEDB7FE8302C59B8800594B2C87C078F1DDDEA0B35FC6DEFBE7D0F79DC9E087A3C7F86E3E0E1CCB422D456A18F7FFCE30F7CFBDBDFBE160171EFBB192812DF65E2F3A8FAEBAEBAEAAA3FBAF4D24B3F6EA57399EE9E9C48248EFDFCE73FFF93482472D2DD146AB33BDD5B441CA243478FB2CF1F39719CE5E04D4C4CE2C0E650DA4A70B0F79061B347C7E0782804D51CBFD388DBD5318F610062809388E24FBDC8F887BC89D78F1C61B69EB6E999241C3A7C84D9FA14DA7D92FC006A050612C7C6699E88451E691DE131F42012D3C63C113E07ECA3F804652DE3AD1559AE0B45A33174730777EDDAF5038FC7135DB56AD567F0F7B8386383D6D6D6E6CF7CE6330FDC73CF3D1FBAE4924B4EBE5B81A277D5045C7CF1C5217CF05BD1DDFB5B42C416E8235F39954A0D6DDBB6ED0F1010BDF0E1CB2F77A43D8E351DDD8BEFC6B189210104BE1AD385D950AE95A74FC81AAA4BB8D875D5FF69968F7105721FCFEB56E817B8D9255F82112BAE7E861DD16A635DA70FE9D5EFB1B8C544F2664D08AEBA5E00CCFB52DD418E958B61670551504F0C0CFCE1AE5FFEF2197C4615C7A0E9DA6BAFFDBBC58B175F8FA0D041E6C08A16EEDDBBF7F9EF7EF7BB9F7CEDB5D786DF8D6492774D0320577B11F57F1041CFD7D005136B933AD0274E3CFDF4D35F191B1B7B717864B8FCE5D0CD483267DFD1A387BF8C03E922C2A99CAA0B206A68BB75228A8AC6581474B40448545ED5455DC4B7545D2582E12B7D86BE5711045AEBCBFEE81CCFFE370AF7F1941D4AE7CD73F4BE84277855A84A8550BD8FAA5BF760D7B2CF544050049D220282790FE4E6EAB1CC5ECBC029A2A47BBD6924BE8244D55000461F7DF4D1AF2206A843E7E70378A9DD62A2952B576EFAC4273EF177787C07EE1374FD9CD700E4EB3735355D86A0EF47E8EBFBADC91D33A327B57DFBF6BFD8B76FDFBFE19EB67ED76DDFBB4D94C625A1D05BE05065B21FE9F3F974340F7A2FFDD3DB0BA150889D6F6C6CD49F235BDADB5B7D98D3A76CDFCBEDAEBBEED24F77F1502044347B0B3EF2918FDC8FBF7F296A019BA505EC76BBFEC4134FDCF3C8238F7C6DCF9E3DC9B3E91E9E7506C007752227AFBBE38E3BFEADBEBE3E3E9BC55B62811EF47FFFF7CE9D3BBF87C49FD6E762E1E2DF61434D60CFE7F32BAFBBEEBAFB11087622E145CB33C031D37EF18B5FFC056AC67F447390395B63735663D114E84149BFE0F6DB6FFF7E434343BCD6DD43755D40B47BFF8E1D3BEE47E227FFB3119F3672F9703C5E7BF2C927BF94C964C669DEC3F28888365BB76EFDEF1B366CF8D095575EE9B63C8639C300942F87DCDC8DC4FF4E474747770DE0A38C9ED28103071EC107FF764F4FCF59B773E7F28668BFDCDFDFFFE233CF3CF3DF100BCD9059B498003502058AEE89C7E397AE5FBFDE3967188056EFE04B2BDAFCBF5DB264C9DA1A3F9FA27C9513274EBCF0D8638F7D1DEDF9104A810AFFC9371486625F5FDF532FBCF0C2DD94E84A1AD21218C43D1EC409F7A1F95C4526E31DC70077FD8FFFD3B1EBA517AE433C7D4C97CB079013477F1789A440CFBA75EB1AAEBFFEFA3B2FBFFCF2CF58E95CA6F44BA3A3A3FB1E78E081DBF1FF5E74F92438BF59E3C6A17B4841A23F42D0FC65947E4F6D32C9D0D0D0E0B7BEF5AD0FA28771E83F1A23204F78CB962D4D8AC62DB5395CDD6B2EDCF008F7B15B3E5B191D1BB75BCB6978745F795E50398193F103153C5F4007258FBE78063DAF193444D32AA8137A451D2BC8A5814C62E23524EC38AAB1323DC48A152BEAAEBEFAEA3F46D5F5E728ED7C0DF1E5E9E9E9BE9FFEF4A7B70D0C0CEC468EAF9C27FB1B09844C10479BFF97388E9F442670D6868C0F1F3EBCFF9BDFFCE6873B3B3BFB77EFDE6D1345B1311C6F58E6727ADA45416C14443E0E3A17D53908A16A0FE2B157E77437E5ABE89A66D3344DD074DD0A82D0A49AC4FDFEC73F234F279362B0A913382AA7AA916F5B81422605D94C8E45CE282C4A3B5B59A32AA02A8AB9A2D6C892A1D4274ACE14054189C722FA97FEE80B2E9A1EAD41FC3A123FB7ED67BFD8964A269FCDE733BDC81083C8D5E9FF8CE0EF74C96F6D6DA5B9813654F7DD76978F88D9BD76CD8AABD6AC5ED56C65185BFB638F3FA13DFDCC739AA2CA02A5CC69A6AEA668252B982950495C91CD6FF0E64E092DBE401014D10EAAE8005D92213D7A12EAEA220AF7D15B3E5F9C494EBB84E5574121348F2D83B2DB6CE07772E0A532ABBC0A025A04419381A7C0945C018DF2E5D5324B89D22B65908A392867D3A016D2F0A9FF7213CBBCB5884FFE3E2564FCF8DF7E0AB9428945EFCC95383A328C863F50E205AE82CC5F12383E8F17A4915BD3B96C66D72BBB5EFCABF70391D75E78F15F0702C1B51A6861944A3FF2BC179FD18DD2E85014D9AE6A2AAFA97AD52567AF38E6976CDA88607A6595F8A40928E7E0E78F3F0DA3B90A380375203AD165B4A302A7C0341258707941E56DA8C66DA020C443EA415EE5205BA63A0912C8B206DE997E50F73F0991685D49E4794EA1B62B3AAD97236EC29D5335C8290248363B3890831CAC1E1F31064ABC5C827A29C962E08AAF0E02E130E3B6E9934760A54F67E952B353BB12ABC57BA420C08A8F7F91155E50A512A8C8345AB9C849859C808CE32A67665CD9A9B1E0F8D0009B3C3159FA8A7863CBD1C9B1E11FCD65E2D737B57E4CB4B9BE3A3E696430793D1E686C6D8750BC091C28950E3FEEB4D6D0E101D1E5461A3AC0863BAD4D94B22998C826A10925BAB646D175D75C01CF1F1F0368EC62092AB6E961E80A3A205F51E0652504E0F443595259510CE355AE2986A581AE568023ED00822C22212B785B1F2545D2051C2B95A62313E82CAB92C70F70E60E0A0F4A6A06D68725E868A4DCBC04F41D3D01431207ABEA1C10418EAC2675548CCC99DE8C0ACE9E55F8806E56952B5F56205F92F1B5027200CD4A5461451CF14D6843EE1329F54253C136F53A3CF7CFDFAE9BEBD22FCB4ADD86DFBF15E4F8421C5C1164944899E32127520D0254D976A3758DC7E500AFD3062E2A7F6B36BEF0449B60726A101CF951A8F39E5AA3E8A2F618EC3DB21756B43743704133FBAE93A31350C923AEB659750F349015BD5ADD9C8659436DA09B269CE7411251F596D9FA485562F57288F09C607C8063DD31A8091332022B85AB31FB6F01C65838C476CD3444B54BA5E9F347531570B42E02CE1D804C45851CDA1EAAD14B9D55ECB41C8B4DC400CBBE9539AACE496559506DE1350D5EA4BDCEFBE7BCFEC767107D6198AC10A17956D276B68F8155E05A64194454BB58C681F6E335540D9D1821D4320FC68755B097A6C09CD30273E919AC5FBAE894AFD24CE105AB08A662FC4FC52F6959BB8AF4A342391CD2D0343715AA7B51D150E2045566D5B2386B278253497DFC204F4CA0194513A9A692761A6EA31F54ADC84553BBC86AC7A61013342F04D11F82026565733AC317740FAAD8C9338F832C17125F438EC4CF202460B368E882A004384903F9E63C03E033909D7682D5C3809E5B651DCBAA9D4BECFC6CC5737CD5F0F90B483C8ED7C081D70A681A4626F3D025CCCE7A5ABB55B28E31806EF431D2CD32B8D6AEEB66830BB3E43D683263088EE7CBF873B812A960C6009A592A4BD3599D7D46745419126F68069A4CA50881A69DCA00A7976523F51F40624E8EF641B62203E78F82607300421443EAD94EE6853A711400F269F0A905F0D86D30CEF940A5D62EBC939665CD79138004AD13ED4EB0017526A32966191AB92C4CE770CCD16B73B8EC26E1CD8E263643F2A90C6E6E7C088AE3C721022570E1FB54EF40539D55A1B3765114AB0C4004260D4A758F657DB62A1A15C964E5F088760AD21A698E1E618944B24809924E4532350033C18824D94C1112C9A8ABCBE14D79D10089B5F4AF2DCA585BA34FC6570F820F473E097927BA20AD4B10F420237046A16615DFD7320970E71270598B1F96752F808964067EB0771A444F14DD19076A043132D71940E084880D19DBA91BBD0C75F48AAE58148480DB010FEDED87A2A315917C18EC0EABD905CF5ADAC8E934D8865E07BE9082220A8BE6B0836626AAD40242CB1C509633D30066E93B4523D7DD287B4B0CC034373103991174F589E61CA71545A4475142B40E160390ED37894F9FE2CCCAA7BC7973DDACB0C90C484D94EF4C8CC0D027AA72C58F6E8CD7C30640C56BD57402C49909D888C071F9EAC5AC3883019824A61AD920A0BF8A2A2A34E72D00C7856C0ED47E9AC0BA93497919318F06419F073EB161213CFD5A1FBA74E8C33B1BD0CB729A26410067AC014AFC5AA89C38003C0A1135A9E42A953714ABB4D2CC89090CF3CC310690C9B49AA57029D6AE56CD0032038E33D11CDF2A8A78AE408404A5C23ECC6E007A55FA0DCFC0701F6871249D67953425E98C842F9975FA547C1829D808B68E25100884D0CDC46F4B4F819A1885656E0D96AFED34FAF6D4821854530E52870E1BD8F04B59346BCE63402E28A27FEED04583D1E9F94C86A7E7DFBA7A01EC3EDA0FBD09D4C28E7670B883466F231402575B27A8F58D909F1C87DCF103C8001974C3E5EAA2D45A2D4059482A33A92A5BF24EC7CCDC6B9CD9DD4433AC3B5DAF50E1CC0A2D8E2D8822CFE52B150AEA941912559991E79829B0DAE0A82613189A00D842894A4DC144A6054C89A79ABCD3AE00F0F31641B8B189955095B269288CF443A74D86658B1A19183CD34659B5ACA52B6BEF4AC858F753E2442E97634F4A0921673ADEB3670FAC5AB5CA32499CD3E9D4AD637AA5FF4F3F4FC71D1D1DDCA14387D8FBB1588C1F1A1AD24DCD46AB7B4F396E6D6DE5E87DBA16BF5B482412DA99AEA5D7E6E6666E646444A7F3E462B37E860A111C9F88873730FE9AF9F3203A3E09BB46FAC0D1DE03F660882D65A7289E68B7836A47E90EC5607C6408ECC387A1097184701A2350D26C19FD7EC5AC8068B97E32990F3205AA511F917C3F0DE95D417A51D10AC427AE54B95C4205506037A4944AD6084933D885D34C5360320411940518AAA5542BAC3E5F199F6C4873432ED609DE8616B0A14DCB65B2A027C7A059CDC3E59DF5E0B0DB7EA3B450A8592B65817ABF4AE431F3BC7F66666601225DF45C142D9BCD52F50D36D878CC065E55557EE5CA95CC4EE1B140D934B4A16A14F073BA85928D3A006C63E7D01E8AFDFDFD2A43DD9A264C4E4EEA5639787AC573780B5EC3FB512E21BDAFD03199F542A1A0D1440DDD8B5EF1EB102F233C733A293C2BE4F379C5EFF7F3EC1E82142C4E8D82C2A30DA7E0596E1A9FEB8DD0A6BD210E216F1E9E1FEC45977811D8A28897507350632B89B4B2CD037C630764BD51989A1C81F80C0A14AD8E679D508C7EC924802A553B37719A0AD6ABE17A9B320CBA5464CBDD1C0E674AF4783C49721B2AF99C61A3890138B6E29E690493FECC14D05A795223A46618F1F1CB8BA8DA8F643518F5B781BDA50D5C1E17101F668706A04B9B81552D71703BDF9A29AF0BF8E0C25811310072276A83B6DB3F1B6868A8FF27607996464F16A26D4D6E045FA306AD9C09D353E2C0E003DE0AAFD231F10677DAB560FE537B0CE6E7ABF7A2FB989F3DE5BE35DF557B1D6F322A97CF170214E9337249C98B72810FF1D099B680CF0BD7F438E1C513BD88FBE7831089438573B25E0615C260D4ABC8EE0135DE09273C75D03F3D02DDA93158586743B321B33677A4F235B39329F3FD9929E0D80EAC31366AEF6286ADA5F478BC49D1EDF12589837233D3E0C4672A6AC680B24E98664CC0AA7549E89DC237D466AD28AB7060AA0807853840630B38DD3E105D0EF41E7828A593F0B1263BF89CAD6FCB5E46C221B657B7455D34CA2BCF9A7D7E9BF350FF91EB63B1339CD78C9EC3679C1CC2FDE2AE66D83FD807C7332894B116904597D9E60669A01B09ADAAC30B854827EC2BC7E12832C1E25C0E35870D50A5994D2D39A6AD35B3CB996EF2B81B853C37936459D55E9F2F297A7D8114D99B4C360B314E8602F97A46210D1310B2FAD9ACAC3A2DB4545D3ED88B4CB0634683196F13387D4170386DA0A0DAA6562C3C4D4BD8DCF0E2F0285CD21A4675C7BDE9C0BD1B04988BDF4B9A647E3C02EE9904EC389202BDB9071487C7E85FC89880639D4D28AC5CE1DC20473A60875462913F1251CDEA7FC099B26BE9379EDA9A2B30858C45F51051F85388B7841CA15242EE3CA205BD9A77CF9BC08CF000674405E93E76374CF05ED414C0225B14D7266F81823AD49C919A30A31D80935A3BCC1C3E8C3E7E10DC769169935366BBCE13FD375E4F4C10418D7A092FC3AF4EEC8752D302509D3E64028E45FB58A0871882A776B73A780417D20E553E4A2143FC60D00D6A4A10309BA41B53FA360496A26043DA0B5C5160B168D2130A65831865D3B9D90F6B5694090CE628C89AB9188363A1465ED3AB4CC05EF17E0E7F18CA8E65F0D4D83158EB2DB287A109A7DF3620964DD74D86B140DFE98364DADD779D906FE77BCDEB66F339D9C0EA67FCFC19EF49A15ED4AC9735BAE1D99961180F778344134AC404ACBB99C6884C2A3E8D1CE161180ECC8AE8C6B4BBD1D79011D490604D66DF65F6582C8A88F20BE496B0EF470271A2F9434DB5A1930AE7C034058811A8DF9E6E944EE1CDC821FD183A261791B56825E0415398DE00D8E65D00BB2706A0233101ED412F72A8C46CE01B1E9801288131D66C5C80BE5597054178D3B57214DD222631015BF5B8F6FED6399399ACE6206F46E0DA6B7F1343E83566FB4CC7944483AE074F613A83B135639E5F79B331385D1048BBDA09CCF1E0141C28F928BD68A22573D2873A9FA866932B5937A6F145F37FF6A0BC11B8AB9A00BA270B011B15D318ED151E0AACDA168B1228A6E473D5CE19D602280B4CE4694E4030E204BCE91AF21613A8B442068C664C02FE40F225101CBA5BBB613CE583DC781F74FBD1AF956424AE728A49A07EBEA96209722A0E96DDC1A688CBD3E33035707C773C16EDA53C79AA1B6452A74A24CD988A24D4CD4AF5D3797C9EEA3158DECFA9A3ADD57EDE1451CDBC86B78ECD6B348BC90C7ED378EB9EE677586E27A3B9E501505EE5E8D8F885ED4B565FE36E6835C2BC04B29393B0A03E0C72A5FCA60C402E1D4FFD876C229C4C96E038EF805230028AE840D5CFCDF63C226C463B813DFCBF80E7BD348D60493E7100124757B9AA8BCF69463A2195BF23DA8B82CE1705C134018A6474C3648981B30106DD28B786AADFF027D97C81A5152C4620E9D78D30312DE2524D57847EACDDE102677D0B681E0FF49EEC85769BC0A69FA92E9F35B54C018F32821AB1A58B2547D08446A52CC3F6EDDFDB190EF9FF818881FE3B119628C2A14FAE2A8AC2469DDC3B3A672DDB32276134EB7D499234CAAD43FF9DDD836207B4DA88B2956A3F4F1937742D7D8E2D233BC37D6BCF59C7E654388B0958D752C1A95426EFE8BAF4BA6BDC5DCBC0ED10C18E03C4F51F45B096354ADAD77A02A6061488F0820D264A00231A02BF580770AE207EB18D690216D235FB9390BA5798DB6E2C892501CDA18626A46F6871DD7C35CC00136AC53201F85D487B11354A81CD47331562AC69D74DA937B48051638FDC8A0A9B42148CF7CCB071D5533063D0AC21939580A05B4C002CCDCC198A8273D12A181A3802917205EC782FA95464AA9EF29D79BB173C757520788250AA207F671A41E17875DFBE7DA3247037DD7413B76DDB36B6D4AAB7B797A3E55F78CCE179B6148CCED1FB356A9E11C3FC1C3B479FC59D0D397DCE3A6F5D4BEF99EF5BC7D6E7AC63AB09C4299FB37049EDB58DED9D822712035F30044E8700762448D9ED81CAF4342B46C93EC3E2F9480C87033827026C858324170025D600B6501DA8821319864CB76EE467EAAAD9B57C36E0C39881245D313C04076F786C50F50274B3A9156F68791256963B481A40D60B640FD8595D368183D90CDBB4FF7483920266C4C930750C18D66003C2003A6704210CB504A63B6269051E34B40F4E7F08C2F3974261F42494C74EA264A0A46733A02243E8761F734F28046AB3E183E06039445B1007EA4DD3A0EFBCF3CEB7EDFFFFB6CFD4BE6F1EEB35C7B5EB18F433E088EAB59DF32F08B8F019585B7B4AFCE08D69765613812676282700B5A3CDE3832CFAF0454F3DE8A118787C619078279450236A8AC6C68FD91FB3CD8D06467C5F634EB7CEECBC4EC4150C1C40BD8E3C4452CE98D8332C215ECB2B40CB5F2D1048B417A73D5AC132019C241B7682DD9837B37E792314C9CD02138D33AE514D5CA1990C61C58C54CD6AAF6EDA2B1DAA9A4043F5E4F0FA21D4391FA44000727DAF838BAE95F1BB092C51C60C0E164D678A4E2715750CCFD5892097D319B1B99C08B878C604340FCF51BC44633E34D8BD3EA8A05B5DAE6B065B84CAD1454012EDE8DFDB90F028E94CEA0D815234438A89D02CB7873368C2C69DB304D5105A1A6B028A3603CE18EF332C80FF4B8A652281682FDEF9C94F96AFDAF6B0A1C134A91A30003372C4DAA86A86AAE22C7B627EA1316F60107F561756734A8C1FCF7AF3999AC10C50D03987C30DEEC65696419CEAEB057B2907029A082ADBC6D194287297C86AF9DAE72C038836475870BA8C546D626CB4E32E2A3B138DB3C08E1A8E830FC7400CD48166771A5A96ECBC62867051B40D69374797FC7B0B83E98664AB8CB8162E15583735A206B5CA1545D3F6EB06006474532B861720083AD19E4DCBA1DF4EEBD66D1AE58AB13ABB7C15385043659DE3AAE9DCEC86FC2CAAD466CB26984C308BECADF431CD9C8F56F55960C8269B101778D14652BD9D622A091EBF1FD5A11734E4528DD627A0BB2488C29C9D1216052128C815748B6977006983487B272491C96308F6046F10CD9E13F02919F1354E35E3F79A21E9C400FA6C4CC108E4E8666EA06E4ABE4564D2DAAAE1C1F1065DCAA88A9D3C57F5EC18985765CB0D64AAC060004E40D1D76DBC52A9FA8BBA39AB44C89213CC6042B588326FF8EB3C57253C57E3BF8AC8855E44F92E64282772103A7E78CE28D72AA396D1F1BD12791C5219B45201CAF93C14B35950CA7928A432307872D0E8F6899F477765CE2686E218F91FB8EB2BCCE77621C1DBBB3AC0130AB05C7EB797D2C13D0878BD28084ED06CB468C34EA156962FE024588CE32C502611C5F89154158E37894F63CFECACE1A5B171571970331129A383A2F10C88F3359A9B574C0CC01BB115D1E454D9C08065F6A53ACBD4D5F14754208484E325847AB43044A5EA19085EC896E1B59C8430452E025F2E0087BB5ECC829ACBC0F8D438EC1D1961B573D05D633BA54551FF1DCA77673E31ED68F3C91FB5B25AD6AE5B0B5E548F89C919689BD705D1589C3040D35C6580ADD7DDDC44B3A689A909DC2721168DB1B512BB9F7DC1D0904CDA8D5557C4EC72B5A791C42AA251312BDA1D7611E2CDCDE08F37B1CA651E570001066A4A34A39ADD83BB0B34D1818CE4408C85F841B0A359B0B3E452D43DE849D959D635C36B72D9706705419AD5000257A11F34D3BB139AD293289905C82626601289582AFD6EA5EB4A25A361934DA6E64B92D1848965C0DAC0819210AEAF83FA7823C41B1A2016C7BDBE0156ACD908E9541A92D309A9F7E0EEEFCC5506387EBCF73B172C59F5A5CEEE1E7B105D4109CD41627212EC4E0F4C4E8CC1C4C438BE4E4085F23188F08A3156543C4B968C2657B415710CFBFB8E03D0FE36370F9AD778731344A30DC039BC30337CC2703F05BE627888F8CF87FFCB2D032FFEFAD76D60BA740A72E49BB54A7FCB08D8ED66008FD6A5F911ED070241088642100C86D92BA589F98341A3AE6F2AA56733A972219F1FCF66D2FB8686FA7E363678F267EF97D5C35414B3B9B5F3C6A6B6AE0FE3582CF778FD0D7E7FC0190A87297004D9741A32991956F738939A8114EE994C86925ED85EC8E5A0884CF2BBF4C3233794BC3D13A0C1C60F6C1CFCE98FFFB95D3462D69AE2F1D719E081A510ABE0138D050B36D6464D641935C66E67AF94DD6323F5EE2015EF00A7C350F5944D433B5D43C11FCA3EA50444E46C55522459AA944A23C3D9CC40FF89A94236BBEFE440DFFD7B5FDEF1F2FB7991A8C9C83F36F76A16C98A8B2E5AD7D1D6FD499F2FB002C73A866316400671D545EB70C8ED8248E388E32F99EDED287E20D18AAB8A0C65A9C2CC0395BBA7F729C74F962C0DA2B0B2F812332BB2D11A07771670A2CC64D63C5B9F05815DDD3D7F35303476AF2429ACEE16ADD810454145FBAC515CDD38E65591E768DD8E6ACC67A8B28ADF285778C9110AB7A28FE9C8654A4242AA88085DC5502422767474F20B175FF0FF7F78EBA64FC3F9ED4C9349BBCCFD8CDBB6C79EFDE189E3C76F1D1A1ED6D3333314A5531C2E876A27AF4D952AF96C6A18C965D3741571B766E3690A4EA4CC7B5E14789B202A82A0A8A2A0690AAFC8AAA0315CCA09769BA074762DB8B36A02DE36BAE5384AB4A3150A14C1B53FF8D8F37B50BD34F41E3A02B453AF9DC58B16C0A2450B912B8BC7FEDF3FFD93FB119E4EE99A36A1A895D17462F4384B3AD2F5F26FF91EEE0C133973C70B788BBF1F2FA3B11403D1C62E4170362191EA11B9C7BEFE777FFF292AE470E8D06136AE6452695C69575565FCE6DFDB4499B092B997F16BDEB6DD16DFC6C350C66438146DBE31DAD8F9317CA216D41621F4209C99749A27C42E0882696B04D3776513753DF5F50D7F93CFA6D19E6598FA09C7DA34BBC335D2D2B5EAB6AE16FFF66834AA27162FE636E3D56363635C2A95A2D270FCE73EF7393EE5F1E8B7DD769B429DC1EEBCF3CE39514BE8EEBBEFE6F139849BEEB8430C150ADC17BFF84575626242A7B276B525ED0E1D3A24E424E1B278EB827BE572B10589CA73BC023E4F00BCFEA0E191E99A15B8A98E2DEDC964A221DEDC31A2285A195DC1145E3C1C89B7FC78666AE441BC3DB5D17B4B0538DE9206A0BAB6D1A6EEAFA3CAFF0355956D06A8B021980BB32EDDABD66C40A0B308A610E18E4F4C41A158040FB5701105E843E45A44CF82800D357120BB457E292D928CB57417962C9BB77AE1C28521A7D3D368B30BF58260AB471731EEF3B85B5D4E57633235539C4E24FFEE78FFF167EDC562E17BDFFB9E72AE6A04F2B43E77DB6D226A406FCF9A0B37C7E3B13FAB0B053DA57279345F280CC9AA36A12BEA84249727CBA5D2E8CB3B77168706522F4D8CF479C8F2D26311AE228F2114AA034F3086E6B90B31990CC54209BC6E0FD4D7C7208EFBC1838760CF2B3B203D9340103D5305ED82689305D1FE9DC468DF57F17E85DF9901A8E68F37D2B429DED0FE4C726240B0A62E7D84F011C9078201686DEF4117D4694C23EB6622075E63478E95E53C6BC04800D1E7F7427D432334A35BE2703AF448304873F102B940B46A867C620F3E24810C022D1E97130AA53204FC3E383638B4E7D0A1A37F3C7EECD0FE93ADADA5E7EEBA4B3D57188154FD4D0F3EC8DB1F7ED8D3BA74E9D2250B167DB3BBBD6D1535ABF2B91C902F971902A785B07974AB29D043F90E22EB2BA0ABC9549A4AE97063A3E330313E0639FC9C2CAB144A66F99574ADCED2ED04C39727A08E8234D47F043269F4163229C8A1A7606D91FA76757CF4F8F5C5D4E4E3BFD5FC9CE97D4B85A1B40A6A5D9D70ECD557433389D2FFF206C2973B9DF688DB257281800F39955CBB20C4E371A88B46201231327AFDC81CD4402195C9B2762A34F345851150ADC354621AEA2261861388B054F1A25028C202E474AAB5DFD4500F7DFD03501F8DC2C8F838ABD74FAD5C16E2FB13D3D3FA2BAF1DD836D4D77F772E393680A6A2B26DDB36ED3DEBB64184BFE926DED9D6E6F4DAED6D0B7BE6DFB966E9D29BEAA375DCE1A3C7218ACF39323901AD8D0D30399580AE79EDACC8F4EA15CBE1086A46967F80639346D3E8F578591B5BAA389E4326C9A316A5C65684F683FE002B3B9F2B1658C83F914CE1B549981A9F8099548669D66C268FAEA2A2178BE56431977AC6E128FCD58A4BAE9E08562A0A755F793313FA0606B8E4EEBBC55B972EDD108F446EC6779AD1ED6B713A1CF5289D7E9117DC9C919801A3489C90DFCFD416856DA97902F9F4056AC3827EBE1BA5776C720AD6AD5CC1DCC9E777EC8425085EA8AE7F1AB9D6ED72B14CE408B56BC187686F6D81040EC0FCCE4E664246C7C68C3AFD85024B3372A2B4144B156843ED319E9856F6BCFEFAB77AF7EDF9961E8B25DA1104BDDBF8804AE179162FB671D96C74F1C2C55F5ABDF8822FC563117108A598989E1669D08C9E975517D759530AB7DB05C74E9C84BA701806868650CD07617A7A0682013F6ABA228403416888C7E0C0E123B0E9A2F5CC7DDBB5771F34E2390AC84DCFA49856240CC0840BC790CC29F53668C4FB9319D01849D522C70B5924FC8424C9C308254626C7A7B67DEB7FFE8F1DA797A217ACE4076B7BE291471C3645F9F3EECEEECF85FDFE05B148B8011D0A1F8F687F7C6C942342B3180012753E4A655747073E408075DA9CDFDDCDA60706F1E168068CFC56E26A6A9D42EA9D3A6F91A5242EA77E3C13C80CA4FA69BA33890F473DFF281A460C4083D4D6D28C0C839283D70E8D8E417D2C465A80FAFCF1CB172DBA28525FFF19B950CA0E8C0C9FF8F7279F545F79E5157DF3E6CDFAD90678CF3FFFBC2DA528C1056D1D9FDA7CD1453FDDB07AD566155DADE9540AEA502B4E3346EE60BD08A9A700C5EB51CD3386A7F7A8D43DC54A58457134772B972E637D0E687E857A0F6690B8193403C3F8CCACCD1D0AD9040A13B5BAE9686F67F75980634D2DF4A8240F8D33C561C86C4E4D4E7075E188DDEB76FBC28140030ADF7C55E756EF3DB04FF3391C4F5F7BEDB5BF99017EFDF8E3425E513A7881FF40A554B6AD4509A6C51A7154C9D3A88A49B24965937F333038C4BA70F59DEC67DD3A48D2A966FE456BD7B2BE3E88D9D0F6DB186796CA12ABBF4F44A76D060784EAE92FC101229B46AD5EA248F4A1E111D6A0696C32612458E02035E2BD998648265983A74C2E6F1451F4781C17CCEFBEDAE9F37DA4A4EB837DC3C363CF3CF288FAC10F7E503FFDB9DE09754F9D4E8E4D4EFAC30DCDD7AC59B3E6679BD6AEF988DD6673508712625CEA4452AA9461C5920B580027878C4C6BF04650ED1381A770ACC8941173BB9D2E46C41C3E4B02411CBD52C7B2340A0B4DE05087141A6B6A7A4D4DB2E6B5B521438C328D428B4A0EF41E623D930687469099EC2C20E4A46E27BC08AB962F8508455BD1C4EE7AE555181A1BAE0C0E0E3E580A875FBE7EF366E5379A00526DDE96964697607FE243D75D7B410209D68DB68B961F0750E5A32BC306BFEFF87158B5620553537BD076B3757DC8CD14152C9A3582BA905BC3A8E6A83913D9C3180ED0F1FE7EC6E1D4B59B9A2F5103065297F12875EFAA83C37D7DB06CF122A635C84E1276A0E4105A904A9D3CE91E03C3C3B0B0A79B0D1631054D28BDB86F3FE473B9E7A646263E75A277EFF03B5D8114B186F0EB63C75ADA1B1AEF0BF8029BD7E32013D825C6A5713984BF751E6AAC49C43864E6280A4AAB81893988E8A4255F43A2D131FD66C20444B84C368F2633C82279D4FB90FA1B12A310EE211C9444221F1F1802975D448640CCA0482C07937228572D5BCA846ECFBE7DD0DDD5C56844E1641A17EAA8D6D77F12A2D1383CF4D8A3AF57F2F2D613BD7BC64E2F32F9060660C0E68E3B9C5E495A78FD75D76D4FCFA4435B2EBF94A9A4C9A949C8E58D45A4C6624B23B3845AB8512B95BDFB0FA0F4AF314AC620E73FF7EB17D97B295459749DDFEB616DDBD6220822C2F61E3D860F59C78020B58309E2405A39F4F1589471F141B487C4803480D4318CD41D790987FB4E80A42A50AC486CA045563E454F8D8F8DDD7CE0A5975E78A77BEF6CD9B2C5B17ECB968B1BA3B10775E042248594EB40408DEA1D2DEAEA60BF835AD374A2B4121108CC2E59301F924894A984D1CF9066F533991C5CB87A051312120E6A40458CF20A0A523D32148D316914C25843A815366FDCC83408D1EAA55776C34A247C0A7114BD47615FB61A5892598E00016DA3D9A50F9EDCFE2B088443A99F3DF2F0952EA9EED0F7BE7757E974C07C462F80B440A4AD2DD2D8DCF847976EDCFCD5519438526B61340574E3DAEDF91D3BA013259DD03D252F54A4326B9A48B6EEC2552B1971C72726512B14A113B99BA4FF859DBB5092232CD04192422AB11E095E5BEFC6CCAB87B189097879FF41568A2E8D9E03CB5A660D3D385D51E46CB9583C922FE4F62412C917D01C1D108AC571048EB9775A03B0FAC7A190D7CE714D68EE9684A3751FF0797DAB9C2EE70251B4F98D5A1ACC478320323A69AC75A8251AEB8D0059ED462691084FAA9F0847D9C1D49F78D3FA754C0B9C40934AADE8C8AC9220BD8CC2416394416FC16137B0431405E7C4E02082C58B4EB937E10BC253AF1D38084DADADF0EC8E67BF7EE2E8897F28241289338DC9191980B4C027EFBACB0153530BD09E3E2357A4E87A24260571483D915F4AE8D38E80851882DC3A52E9AFEE7B0D365CB88EDD830A48EC7CE51594DC207369E85B488B2C59389FA9366B2976ED46523084768EB40499803CAA31D1D434049764499ACEE773BD857C61F7D8F8F88E4C3E3F8CA7B3227E942F970BE80B57162F5EAC9C2D8F8000602F2A3D5FB1E8D0F2798FE070783549F23BFDFE96A6786CA3CFE75BEDF67816DBEDCE3AB66482D55250C08BB61901357BEE16F46248FB9DBE913620B3401E00790594F9E3432648A5B3B01EB52A990BDA5E7AF965B4F1CBD9F81226CBE6B22CC780059190D1A85D1EC55C76EED903A2C39EF8F9A38F5E1DB5DB0F7FE31BDF28BDAD40103DEC6032898AA0EDB3976DDAFC7554ADB079C3454C159F699B46BB761239726626CD9029CD125211C3954B97B0A8203006C8C2B1E327600D024BFA5E0284A3E8CB92B6C8E48B2CC994C29D848C3555D1CA95F27821973F90CB67770F0F0EBF54D2CA1308B67382AEE7CB3C5F84584C4AA0CC6DC6FD4C5D39CEA6FF4FE9E8CF21E48AE2EECCE74975796CAA8A084DF1A167538FD27751C0E75DE3F17A963A1DEE064E1058A37BC24A541D8DB00FB9CB14F720EF864C1FF53EEC41EF8130056DE40DED414976399C4CF8A8652E61B02E94EC48DD99CB27D134F2B3BF7E091A9A1B61FBF3BFFAEAC9E327BF5F4E26936FA6117F6324F08B5FFCA223A7EB3DD76ED9F2944DB4372E415BD5883F7862721291ED18B343C46D647742C81874ACA25D26C44A1BA9394A64249B44B69BA47B606494A9295A5348E641672B8F290356960BC5C270219F7F2D9BC9BE3C383CFCB2A4EB33E892E62A9A9647C343AB38E4542AA599EB01F4732912480C41EB12C8B342228928056EA9CA10106E6A6A5DE7F7FBD7A196588EEABD4514EC364E30D65752CB79AA8AE2F3F9611E12AEB5A989694872FD8831080FD1D68F02462BA82859249D49336F8C34018D3D69963832D2389ACC03478E51F2C9F8438F3FBE4576388E3EF826D2FF5B1980B4C0D1B1B17067D7BCFFE78ACD977F83B257C8CFA5668B51F4E5A9D41835605EB16CE9ECDC3781B68E79863A47625373475283940E4D04275F95A440924BE55CAE7012A57B5F7626BD737472729F54A9A4ED8290E32B9542D6EF2F850A05E55C24F8DB610864069AD01251A65D1AC72138907D1AC8A1A6C6B6E5C1A07F3DE288E53EAFBFD36677386D669A1C99035AA749D5429B50780848939091BB4DFD08AD6DDFFEFD2C0A4BB11432CD043CA7D1BD8ED7D7C353DB7FF95F27FAFAFEE5BE7C7E46FF0D78E8B7CE056C412D50C7C9DDBF77C5D6C783FE406B1B6A800E0473D6F6EA6BAFB1C00EE102D20C14F7CE174BEC0753EC9A12428CFE80A51CAAA76308D8F62653333B2626A70FF37A254B2A9D773A0BE8BF94DBDBDB151C347DAE11FC3FC2101E5D771043F0C4108AE28FD5D72F884622177BFDFE1568027A9C4E978F40B16833023C887B101338C1E37499311781C560080F58DB4974B107D0A4667399A1279E7AFAF7A0AEAEEFBE3BEF2CFF6E9341A8053E9148849A9A9A6EBEEAD2CBBFDB77F4086CB9E20A16CA9C4C2480A7444F54FD24DDA4CA5922A32CE9F9423E954E670E2120DF3339997831954DF6EB2A9FD36439A73B1C8530E2C48391884AD3A2DB1E7C50D34F5B65F37EDE3863F52879163C323B37303020CA3E9FDD23081E49D3BCA22CFB3DE1C03C94E48D7EAF7F953F185CE4757B42769B9DD644B2CC1E32A9548B51532416A4A3EEE84FFC723B74CF5F004F3DFBF41706FB871FFC31AA4FFDB778436F693AF8E6BBEFB63BD3539D576FBEF291B696D62E9AADA2EC5452E565AA3855296BE8A22490E207F3C5C2EED189B197CAA5C288AE0A391BCFE7B55CAE986B6DADBC17806DAE690902964B92492A3665936C368F8C0CA12343A0A7D1D8D250BF0171C21A34C14B02BE401471024F0B69C8742076A2922F3032327CFCA95F3E733D57289CB8EFBEFBCAEF4C3E006A818F4E4E065A9BEAAF5CBBF6C27FA1A9C94C3A3B96CEA40EE017BF3C323ABAAB542A2574B4DF22C7E51587A3581E1C64A56CDE6FEAFCBD6008CBD3102B15B7A2EB5E4E557D76B73BDADCD070A1DFEF5B872070A93F106C24D77CD7EEDD9FC88E8E3E7DEFBDF766DF4AE7D1B79C1246B384AD894440E0F93872A51325BB8CE8BC403E784A964B0DE728427FBF318485231063894949723B45916909A2898E34096ADA245E9379AB7D85DE564E20790594E345695B94DAF47E046C73912108475834C1B7B4B71308FBBFB5F4142699E3861A0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (57,1,'Network_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000001308060000008AB0CD3B0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000045649444154388DA5946D4C5B6514C71B5F37C518E3A21F467C19488C88400824487438FDE00783C9483F383256322D4244601B93C150E85A406C6F7BDBD2F6B6E596D2D77B7B694168A59442A1851270CBDC5C94900988890BBACC2C8EF7F6F83C4D34338BE0B60F27F7DCE7FECFEF9F9CE79CCB0300DE4E514ED86FF03B4740609D86DA814B706E6C0EAAFB2F42B13E04C56D4C1C691EDFA97E47388ED35DDE3F2B9C33201ABE0CD22BD7A13A7A0D8ED0417849168637446E2481A4FB32F84CEF5E35DA18189F98801343DFC1BBBE65B0312EB0B06EE0B7D9B0C1DEFB3238A575AEFA030190EB0C50865A94DFBF04C7C52AE03C7DC09732D8E0917B36282C2C4CB53B9C7FB4B4CB6ED513D47203695AA923E81B3532E352B58858615DAE98442279F59E0C323333F79BCDE60B5285E277A5C170A1B3BB674E6D34AD694D964D9DA9E717D6EB9D5151D44FBDBDBDB790C9B37765909393B34FABD50E2955AA6B0EB707060323E01B198540681C462393303639059333B3303533032A8D66956198DF9A9B9B1FFB5F060505054F1004411B8DC61FBF54A9E71C7DFD9B1EAF6FCB170C6E872293DB8381E0963718DCF287C6B702E3E3DBE8FCA6482472592C96ABC8E4811D0D5253531F158BC512ABD5BA505454F4DA6E03707B747474440D0643F40E83E24F5B6225623A5E4598622724C4B6D5EE8C97D436DD2C3D255A3C7CE4E8F1DDC05873F464CBA2E0ACF4BA4CA18AB72B75B11AA93EC1C46CDE3BB53238A40A02D1ED8421BF1F1A493D94E97D50D9E98163675A97D124ED4177F2707E7EFE5E9427E136E03C3D3D3D09BD3F74ACBE75B98CF48090998546EB00701C0766A617DED64F0366F30E56B6C5B3BF1A86063D03279534B45ADD30120CC2D7833E90C854EB0A858296C96476F4342B954AB35C2EB7932469416145EFD636B97ADDC17980F5F44373E03C7CACE3A0A9D30CD9CA29C06CDE9B15E2D8CB641432E84B50E8B90A75CE6160D1E4D8EC0EA0E8EE985EAF5FC4178EFA3B8F266B09E597298AC2F93CCA2F921A5D8CEE3603EBE240DE6D8783EC0F0916666236EFADCA73DBA9EA5948367C0F59EE0510847F05917F1648C6030D5AEB06DE87BCBCBCA77373730F6464643C959D9DFD7C5656D60BB86DE8FCC546CAB681B5E2FE312819BC0259AEF9040B33319B577858B0F67AF91770A8E22CBC57590F1F549D8E95D7D66FD4D435AD947EF809BDDB25977E54D55553F7F94A79ED990D5C8B1998859998CD4B4B4BDB979292F24CCA2B39649344B1299669D6DAE5EAB0C3DD17B1B83DDFF6B0EC73FF05A76DB603965ECFACA3AF2FD22A25A7C58466B549426E2296323939793F6627841EDF37EBA31361180D47602C12496CEB28DAD650741AFC13E13865B3386E07F3F9FC07299BCD81BF610DD626361CD7220666B9BDBE8D7F16AD87E36C135351884C2371640A86C642F181E191B52EA7E3BC94A2846834EFF8630A04823D520D25C41AACC535B8163330CBC4BAD87F6DB299E57EA6596688D0A9DFBF9B0DFE3BF07E90A8B68B75FAAD1CB720140A9FC4E77F0196FCBFB5EA865F170000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (58,1,'Network_(48)',decode('89504E470D0A1A0A0000000D4948445200000030000000260806000000828D18010000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C984944415458C3C598795453671AC6D376BA9DB63375AAD6D6A5A756A1AD5BADA3756B4BD16AA95AB72AD45DABE086208A232E6C0164470861094BC8C212484242488004020924AC0A58B756C7F5885BA76AAD755A499EF9DE5B759CD39EB63362FDE33DDFC7CDBDEFFB7BEEFDB6071E00DEFDC49C15FECF7BF1C5989FA8C70241153CD3ABB138A70E9F4BEAB1BEC0868092466C53B760ABB2116BA5562CCD3061FEDE72CC88526181EFEE6B2CC75FEEA73EAF27042C1154624A4C153E115AE02569C52AF541F8198F23D87E16B19D9711D97E099BCCA7E0A93A8C29B96D782BD18AC1A195F00A12DC6439FAB378F4A10AD8906BC6A2AC06AC2EDC874DE58711547712E16D17107FF82AA20E5EC1A68673F02A3F8EA9F907303AAD094363EAF0D26E031606A57CCF72F463F1C8431510A46880BFAA1D3B8D5F22B8B213E9FA3AC4371D43D4D1EBF06BB98445A63308CF5160B1500397E446F48FAA45EF9D0678EE149080BE0F5D4088A61991C683482ED4A2CA684443830DA1063B02DBAF6091E502A6EB4E42902B435B5B1B0A541A7C1CAD40EF501313904A025E78A802667DE6DD3B4A5C0CA3A99A03B4DBEDD0E87408D4DAB0B6E9326699BAF08EFA04F82919A8AAAAE2EEA148932AE0199C7683E5E8F5D0BF005F530F6949299A9A9AA0D168902391C25769C1D2FA0B986A388B91CA93088888874C2683C96442A5D184D7A24DF0FA49C09F1FBA8088021D2C562B34DA3204B337CDCF2D80B7A6050B6BBB3801A354273135428CC9095A6C4F12A1A6A606B13905F00A492701CF3CD465D47BDDBA394636EE75E5E5D8B8230CAB77C563E5AE582C0A8A81E7DFA3F1E9D628CCDD1289599B2331C33F029FF885212E2919B5B5B5888E4BBC79BFF5EFEB612F2FAFBF9597975FAFA8A87084F323B5C25C956791AE7E992047B99D1F9FADDA1D957673EBEEB81F229372BE0E8FCB4C16C9747E25E5362F49A1CE335324BA66655F4D2010E43E1401D3A74F1FA252A92EB289E9080F0FD78C1933A6375D7F6DC4C4945E7D073A3F98361B7EDB23B17CED36F8068661B0EB48F41BE8FADD9031EE6FD37D0101012E797979374844424242C81F2AE0DD77DF7D492E971FABAEAE76EE15081CE932F9AD82526DB742577EAB586FB8A5D41B1C4A7D854353657496D7989D65C66A87AEBAC66130D77657D659BA8D566B77ADCDDEADD29577171616392D168B33262666F91F2260C48811BDB2B2B21ACD66B3332535F56A99C1000603A3A51EC63A2B4C160BCC0D0DA86BB0A3892D972DEDEDA865FB82B99E5DB3D9D0D8D282F60307D0BC6F3F6C2DAD2850143B954AA5834D6C476464E494072A60E4C891CF242727ABE98D6564649CDF9B21BA516DB1A289C1D85BDB50676F64F036066A8785F56DCDCDD8C760099CAE591B9BD0D6DE81D6FDEDB033781B13D3B2AF1DFCE8E8FAB2B232271B8E3F868686BEF94004B031FEF89E3D7B84F5F5F50E8944F2CF35EBD7FB69ABD8EAC3426FAA413D83A3375DDFCCA0F677E0ABE327D0C844B53071D5D60626CCCEFD4D41F7DAD87D2484A2CC68BA121C1CBC57AFD743A7D37DC744F4ED7101BB76ED0A6213AEBBA8A8E8FA92E5CBE76FDF13B331312BEB4C8248D49524129D4BCECAEE12E68ACF09C579E7B30B0ACE1795965E12C9E55D59F9F95DB9854567D8B5B379858A2E4971F119B9527546AE529DCD57ABBB14DAB2D332A5B2956A444444A82B2B2B515C5C7C998978AAC704040606AE60EBF62D36566FFAF8F8ACBCDFB5FBD7223A3ABA89F615A9547AAC4704AC5DBB763A4BF88356ABBDE5EFEF1FE4E6E6F6A7072980BDF92792929268858348246AF84D01F3172EB9B278CDC6EFE7792DBBFCD1CC79FFF8F0A3D9FBA7CD9C5BF3D18CF98A5973E62BD898FC816D560E3F3FBF62171797FE3C1EEF9107054FB9070D1AD4CBDDDD7D9A40907A8D76EBB0B0882F898598888D18899598899DB7D467B3C32DC90CCF1C1B36289AB1A5C88AA4D21A84C8742829D5C05051819DB1C9F0499461558C184B4305CE45DBA21D33177B7FD553E0948B72526EAAB1314D892D994A64E58A51575787446909E224250896E8384662256662E72D5BE37B6B7CAC091FA4D9304FB61F4B332BEE1E8B6942256449B04DB71FDEBA23F84CBE0FB3922B312DAE0A8B22B2BB7B4A00E59A166FE272530DAA156C3D8D28B519252525CC5F34704C61B94A8E91588999D8799F7A2EFBD784984A4C48AEC7D49C36CC49D57337DF9E48884FDA8B00A10CBEAA16ACCBD420BD50834061115625E43B7B4AC0E749854ECF940A641528B146548E6DB5A7B0A3AA133B824321140AC18E2CDC0BDD91A5E418899598899DE73E6DE67793A274189D60C5A4CC164C4DD4C15C5B87FCFC7CF013F62250AC4444753B448A52343636FEF42684126CCA5039C78E1DDB6FF4E8D17D6EC7CBC3860D7B62D4A851FDE93A8D67B6770CA2BEABABEB73AC1D48E725BA8FAE4D9830E169B631BE3A6EDCB817FCB3B4CE9509F95CEE0A668C76E49522E1E835441DB804FF54099253859CCFD89C51CC3172AC8C99D879EFB97B7C3339528B37E2AC1893D68CC9890608650A2C4B94620933E84965E6BBE077A28239AB127529D46AF55596F89BD2D2526AAFB0A0F62A9BF8DFB0F65BB6BB5E63FD2B6C05BBCEFAF4F7B7B451B1E05A3AC9526875E5D057FEC7ADD9D8AE1D57A2C796E62EACB49CC7ECD2C3D8B0370F8B53351C23B11233B1F33E983AE3C2E408155E8F6FC0B0D4668CCDEDC0DBD243785F7D1CF34CE7B0566947BE520D135BD66858DD1B6411594B4780BB41F38605B50E76CC060B271DB76FB74E83C1703768E765E1A0B69C82798A3BA1AFA8045FACC0DC8A531C0B31111B31122B31133B1B42B34E4F0E2F866B921D6F0A5BE19AD90E57F1418C511CC714E6A696375C84AFB6117BA545C82F2C043B4620313D0B91A92204050599F97C7E318B220AB6862BC2C2C20A582B0F09092964C70329EBE7DD6E73D9B51CD6CF6621623B7BF6EEDDBBD3D9F2ACE60B73109D294676760ED84191D67FA4E6E4C157AC85BBE618C7424CC4C6313256622676DE94E99F7C3529341F2EC94D704DDF87FEE91D78557C18C38A8E6372D96978D69EC7E6B6AF11D6C48C798E1C69D9B98891AB9064EEC01057D7D934EE274D9AF41C1DF418E4A334DEA94F1B1EFBED591AEBACFF14059DA7E8377A86CD11EEF757060F9E2168388264BD0531F109881108B12D438A0DA62358507982632016622236622456622676DE548FB99D934364189ADA824169FB3120F30006E51D858BE204266A4F634E7517D6375F06FFD055649CB88A148319B27D47216EFD12C3478D5D72BF2B10E5C86D398AC28327112D2F81F0C84584755CE26A526D62201662E2D81823B11233B1F3A6CD98D7347D7B0A26EE51613CBF0813C3E5981C26867B48263EDE25C0FCEDB1F86C5B04966DD98535FEDBB17A632076F3E3B1614B30E67AAE08B85F01948372514ECA4D35A816D5A4DAC4402CC4446C1C2363256662E77DE831AF6EE09091183078385E7B630CDE7C6B22DE7EC70DE3DF9BEE7CFFC3594E8FD95E8E854B57DF58E9E37F719D7F50A7F7866D854B96ADF5A1E5AFA7F601CA45392937D558E5E37F816A526D622016621AC6D88891588999D879343627B8B9BD3ED6CDAD1F1B937FEDD567E0BB7D070C9105EC8CBEE4BB3D063BA3D23069CAEC0B2F0E7439D4B7BFCB325ADFEF8D9E38FFDC138FF5E93F74C58B035DBFA09A549B180276ECB9C498A4C4C6CE63BD89959889FDBF12F5193078E8A0A1A3BE1F3E660256ACDF8A207E1262D96A132748438658EA2C546B7E28ABAABA595E5D734B575DCD3CAFE9C7BC12F5D6FF57486E49C92EE69B7FA45C949372530DAA1527C8607533194322C7424C8CEDC6F37D5E1E7D6FBDBBF02ABDFE82BDB5D5419ED654670159452BB38516B6A9907FBD630BCD2CC83AD6B2A8612ECBD2D88CD22AE3F5F48262F7DF0B2E90CB3DE8197A9672502ECE8E526E2E6C5C4DAA4D0CC4424CC4468CC4FA3301E979790D46731D67F9EA983524CB67B1B1C42CC82ADA5A5B39834E3E9625416B47271AC90BB7ED87D9DE047595C919979919F16BE01E1E1E4FC60AD3E3E95E7A869EA51C948B72721E996AB07E2DE7AD1B39066221266223C614B1B8ED6786862C9CDA6070D07F0C280E1E3EC28CB91D0DCC98B7767470A6FDE49933387EF2142BDC463E161295FAFB54A9B42336232D2C342666C0EFFD023BE3235E89CB4C0F4995483AF394AA9B948B72526EAA41B5A826D5260662B9C3A5D61B1C9F6FDA34FC171D998C9D5DAB6A6A39A3DDFEC517D8D779009D870EC1C83E1FFBE44E894AF56DBA4C6E8D4D4F5DC7043F7BBF13F9CEB3A1A1FECFC7A50B7D2837D5A05A54936A1303B11013B1894B8A350B362F78FA1705787B7B3FCEC6974363A8808A2995976A2E66CAE5DA188160CE82050B1EEBA995E7B70479F8FA3E19979C3C3B5326D71203B1704C0643F7D2F5EBDFF8554F1C9190309EE241C3FE2F82D8CB7B624F7CFCD88894C471D4BFF79E7F037BFF6CE432A5649F0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (59,1,'Network_(64)',decode('89504E470D0A1A0A0000000D494844520000004000000033080600000027DF0EB10000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000015154944415468DED59A0754D457F6C74936C93FFFEC66B3299A58A2C46E6CB1478D0AD1286A445151C4500C58500151208A06E920481518CA00432F03436706180686A177502CD8359A62E226465D6380EFDEFB5BC87177DDB39E246423E7DCF37EF32BEF7E3FF7BDF77BF7F71E5A00B406C256ADFB486CE41E03C3A3E930F493C23040864D4139303A9E8B8F42F3601E5600CBC802584517624F4C11AC638BB02BAA109661B9300992C1E85806D6792643DF351E2BADBD616269B39BEA7DE1D7D6A935900158E3578879AEF9D03D5A8215216A18886B6194DC828F659DB05174E1A0FA32DCEB6FC0AFED2B78367F81FDEA2BF838FF2CD6A5B56389B81EB3022B31C1A3044BDC32B1DBCEC981EA1D4EF6872726005BC24AB132408975A24A6C96D4636B461BACF24FC34E7911876AAEC1A3F94BF877DE8257FBD7B0AFBE8E8F1517B03EB3134BE35B313BBC166FFB9543DB55011D5729F6EC3B644FF50E257BFA890980559C1A5BC455B0486AC02E5907F6C9CFC2497D09AE0D3708FA1B049CBD0DAF937F857DFD97B02CBB82F5B95D589A720273A29B3029B81AA3BCCB31D4598145AE19D865EBB49FEA7DE3890A8063461DF6A437637FFE091C5276C14D730947D5A7E05FDE8EE3E7EFC0EBF46D38347F0DCBCAEBD8507811EEB119F8204A83C9A2468C09A8C2304F15061D9663110D811D369FECA37A073F510170CD6FC6A7F24EB8979F87AFB21DD16999A8ADAD4568462EFCBBBEC381F6BF625BCD57D8587A0DCB72CEA154A914AE7B46A760CAD162BCEEA1C26B474AB0D84386EDD607F752BDAF3D5101F054B4C34FD184E814A900D6D4D484F28A0A1C4BCE84CB895BB06EF8069B2ABE805ED155CC9776214B2643555595705F4D4D0D5C4449184B2F511DAF1C6CDBE5604BF5BEF2C40460E55AE3B8E309E9020803B1A9D56A64E7E4C043920E87A6AF6041ADAF5F7A030BF2AE627A7A17622512E4E7E7FFD3331A4D15D67B27C372B7BD0DD5FB17B2A79E8C1E60B025E658BE06B1E999024865652572083E4E128F435149B069F8121F5552EB2B3EC39C9C2B783BF51C02838291989888C2C242D4D5D5214D968B695EF978DF370F1FEFD86F4DF5FEF9C909000D81909A339048FFD1ADF3A8654551D10419847DC763B1A3FA060CCB6FE003F935CCC9BE8CF1A9E771C4C515CEBE41F03C1E058542210C1B8363E914807C986EB7DD43F5FEE98909000F81081AFBDC9DB94503E2921079E233B86696C051A6C6DE8A8BB0283D8F4D0567B15A761A3AE99DD08928C3DC8436CC8BAEC3B1F068149794A0BABA1A9601893032B3DA4EF53EFF440460D2A449CF39BBB877700B161515C1C1E113FCE5B5A178E9D5C7B76123C7222C2C1CA5A5A550A954B0D9E7E435105A7FF50A0D0D0DFFE0EDEDEDC0F0DC8D4343C3BE8E4B2E70132717060447A5257807C5E6BB7887571D760FBEB6FFD0D1FB360EEE0FEC0FFBDE77720BBA74C43B4CE31D1C971718992EA1FBFDC3E3D2431313937E2C2B2BE3BA1EB8BBBB8FFF5D0780FE9E727575DD4463BEB7B8B818515151372D2D2D87F75FD71E376FC250ED296523C64CB960B663FF9D6D766E785FDF1C7687FDB1C670EBB7AF8F98D035F4AD2919DADAEFFCA5FF197B7BFB35696969DDE5E5E5C8CDCDBD7DF0E0C1577FB701707171994FADF523775B894472C7D2CA6AA68E8BCB338219EEFAD3B8690B4F0E1E3E1AC3B4C763F1F23530DBB90FDB6C0E62EB2E07E8EA1960E498491832723CC64F5F2CED7F6EE6F6EDCF12F4DEACACAC5E9E4629189F5B5B5BFFDFEF2E007676766368BCDFE3EE9A929ADA2B8A9320213B0709B21C64141421BDB00869F90590159720AFB40CD925A5C82F53A1A8BC02F94A154AABAA51ACD6A084E67D755D3DCAAA6B515E5B87EAA666A8EB1B20494CECE56994A7D3B8B8B84EEE6DBF9B009898980C96C964B7B89B4AA5D2EEB068314A08AC96C4172ACB504E70F52DAD28AEA8849A939CB67694126C3581F13D25D4B2AD274E404DD09535B5683F711295940734D37D0DF45C151D779CECC4F1F0F0EEBCBC3C615A15894425BF46107E31FCD2A54B5F4A4E4EBEC4DD935AA8FB88A757A78A80F34B9404DD22C01553305ADA3BA0ACAC4219896FE93881323AAEA296AE6F6EA160A8D14601A820F8DAC6460A509B10888ECE4E5451903808FC7C25BD587D7D7D3B0A0A0A841C21383838F29706E117C14F9D3AF58F62B1B85EA3D1F00BAA87DE01928894B47B8DADAD28A0A150ACAA105A5E5E564E2DDD24B4AA92BA786B4787500A70746F59A586604FA182E6FC766AE9EA06EE192DE838750A5574DC79E68CF0FCC953A79155985F46E017797AE51C810272E09704E167C36B6B6B3F1F1A1A9AC922287FEFF5F2F252BAF8F8BC9755A480825ABCBCBA06B9F212D43436516FA084865AB6968E6BA8BCFAD975B451EBD63434A2B1A50D4AEA01FFE8091A34B6B6A1827A10B7BAA6B65E18264D74AEAABE9E02473D4753F5C072CF9EB76808DCE4699682DFEBE3E363F49B0660E6CC99CF1EA33F86A72CAF372020A07DC182052F1E0908488F4D4BEF16C527F4246566F5885352BBB98CA5692C254BD6932ACBEE4DCBCEE9AD6968EA9597A97A3372F37A32F3F2F97C4F6641614F1AFDCE2E2CEAC92C2CECCE95CB7B72E4722A153D798A123A56F414962AC94ABB3DFCFDDFB4B5B51D1F1B1B7B87A75B7AF774BBB9B92DF84D02D097E8EC21F85EEE86D40BAEAE5AB5EA65BE666161F18AA1B5F5A0CDFBF7BF666C65F5B2E1279FBCA4EFE8F8A289BDFD1FCD5D5C9E37747179EEA769F1714C474730F6F9B03D34F32CA68FA7073CEDCAE5F21F68088E19D000F4253A6BE885D7C3DD8F129D5BC6C6C6A306EA7BE271CCD1D1710BE5063D9C2ED34BF8BB03070EBC3C6001A008CF522A950F4A684C53A27377D7AE5DB3FF97F0FD8D42899213274A3C0D53303EDB4EC9D3633FBFDEC8AC4A7FBD7187FE3A63B5BEC1A6AC956B3686E97DB8F6F0323D7DB379BABA8B478C182144942A1D412FBBBB1400D0B4F780B2B1D5FF6BF88783E0ECEC1C959D9D2D2CBAD0BBA18DCFB1766660166662366614588999D9B50C0C3FEA31FA341CEB8F88B1D9350AA6AEE1D8EA1C84AD4E3E30DDE78C2DBBF6C1C8745B0F7D94085F65E9E9E9303631FF66D9CA351DCB571954AEF870834C6F9541C4F2556B9C67CC7877E240C3B20FF6C53ED9376B602D4BF5D65CB67770FC81B3459E963DBC8FF6B276666016666236666456666676EE013FAE74CF806EB01AABC575304E6DC5CE9C93704E5742942A43A0AA0DF11959C25A9E8C227C24321987729B609352050B71314C43B2B1C53705466E62E8199A5E1EE800B00FF6C53ED9376B602D87729BE15EDC8E63E151E8CF16C3D272C06B12E9948E5BE5760A6CCCC8ACCCCCEC5A869BCDFFF6817322E6FBABB0445483B509CD30496F859B44262C6535D2BCDD97E5C12B3A094734976023EF8279E609182536614DB81A7AC74AA0EB55844DFBDDEF0C7400D887AEB71C7A7EC5826FD6C05A58936BF55504D65F4544740CFAB3456650D03BCB34B34360634666656666D732D868F2FDFB4E3198E9A7C27BA1D55816D3807549CD381C9BD5B728296479FC01024FBF00D847A6C1A1FC22AC8BCE625B462BB60724E2585C0656FB15C0E470C083810E00FB5813AC84B5281B76A24C6C8DD7085A1C2A2EC331A31C87DD3C384546525292B018C36B8B458A62AC4B6D13D89891599999D9B53E5C6B744BC75E84A93E65981DACC1A2A806E8499AE028CE425F96C76F7C040606E2A0AB070E2417E27079171CE3F36968640B3D444969AF71A41ADBBD23BB073A00EC837DF19239FBF69764606F662DDC1ABF8077FB5738149F8D4FDD3D393F414A4A8AB028934F5FA27A092D021B33322B3333BBD6B295EB3E5F641782099E4A4C0BA8C45C513D74629B601B9929ACE5252426C23B20087BC5521CA9B900AF927AC4A567A18172F4FEA5EBE252254C83B2B0C327A297BE0F8653A6F8D2ECD9B34791BDC129F3B469D3C64D9C3871C8BC79F35EA16BA3C986908DA0F3C3E6CC99F3EA3BEFBC3376FAF4E983E6CE9DFB673A3F819FA37A06CF9831630CDF4BC76FD1F5A193274F7EDDD23DA477BBA412DE51C93FF94FC9298053563982BA6EC3E7CC6D38D47D8EDDE1290808398ED4B43424A549B138AE5960634666656666D7D25BB5FEF2226B3F8CF756E16D7F0D6684D561417423B68549111123816548328C8B2F6147C5154467E6A2FE21F07EE3B1964DDFFAD9B9793CF6BE25FB8E8D02C8C7DF53799BBA23FFBE4BE5F794B57D4FE55D6A1D3EE6F22EA5B477A8FC1B957729CFB847E57DCAF0EED1319FFB81A65F3EFEA184825D4A3D8ED7051ED620A7F39EC5F538D0F839AC6ABFC466E535ACCE3E05ABA078F884C76081B85960634666656666D75AA1BFFEEC422B4F8C3B5A8E09747172681D6645B54047D28C77133AA093750EFA8AABD8A2BA06B7D4029A0DD4C24BF15156413345BF7152C2F6F0311B4FA58F325E48799471DED16F9CF2B23D7CCCC689195B218D751EA29BE99DC09A7564E73127E914DE4B3C8959D1AD021B33322B3333BBD6CA3586ED8BB61FC1585F35260456E36DBA695A5433A6C4B4634A4227E6649CC3D2822B58AFFA5C58C63E905E224C2B9C74F49B4C26430EB57E2E4D3FF4BB9B668C1FA87CC0C6C7745D3847769F32B61E2EFB8EBBE99EFB74FD873EBB9F9999D97FEEBE542AEDA1F26F741F9FFF914B69561632B364C8C8C8E0ACEF274B4D4D154AD6662AADC792FC4B8276666016666236666456666676ADD5069B6A17593861AC1F4526A80613C31A3121A219DA116D9820398577D2CE617ECE157C587A035BABBEC2BEFACFF1A9A211A2A454C4C4C4402C162334320A1E2979708E4AC1860D1BBD284BDC4C99A3257DAC6CDCB3678F31A5CCA6746E039D33DBB973A7D18E1D3B36585A5A9AD2357D36FA8832A272C5B66DDB0CD8ACACAC56989B9B1BD2793DFABDC2CCCC6CFDEEDDBB17E92E5DE6E01C978500452DBC82C310417EC3C3C3211245202A4E0237EAEA26A22C412B6B66EDCC20B01013B33123B33233B36B515AA85A64B61F63FCAB312E842214DE8437C35B303CB21DA325A73129F51C66655FC632F96730AEFC02368D37E17AE2AF7057B5E2684C02FC6976F0090C4644E30504577662F8C871069486FEE151E9EA43F6F4C3E7FF5B9ADB7FFCA6F6B8B5EC23A2E9027C2263E0E3EB0B4F2F2FB88545C331AB0256AAF3D85C715DD0CA9A593B33300B33311B33322B3333BBD65AC38FF216195B6374600DC61D6FC0A8F0660C13B56178F4098C949CC1D8D40B9829BB842545D784AD2CAB3A9A6ADA6F2180DEB8218DE71198950FFFB824C4765C81A8E102264F9FB373A0A640AE9B7D484EDD80AF2419DED17170932AE0D97059D0C4DA58236B65CDAC9D19988599988D19999599995D6BDD2693D4C59BB66174501DC686356158683345AC036FC69CC2C8842E8C49BD889914CDE58597605A7C1E7B555D70D674C1AFE62C22EACF2052DD08716513C24A6BE09D9A87B90B759D072A005C37FB10A9EA212AAD427455ABA081B5B026D6C61A592B6B66EDCCC02CCCC46CCCC8ACCCCCEC5A1B369945CFD6F9100B9DA231CF2104EFDAFA61DE1E77CCDF7608F3CDF662E1460B2C58B51ED366CDC7E0A1233168E85BD01E3B195366BE87A5AB36C0D87C37EC0F79C1F56818DCFC227B2DF6381C1DA80070DDEC837DB14FF6CD1A580B6B626DAC91B5B26641BBA98DC0C24C021B31322B336F30328FD2DA6462796CF8A84918AA3D1143464EC4883153317AE20C4C98FA2EA6CE5A8859F39760BEEE0AE82E5F8BB59BCC616AB1A7D76AEF81077B3F71FDD6C6DEB96B979D5381E5CE7D87F4F5F5C7FF569FBFEC8B7DB26FD6C05A58136B638DAC9535B376666016666236666456666676ADBD4E4E43E62D5E9E3F6BC10779F316AE902ED4FD30497799BE5877B97ED4FB2BD68518995915D97EE2FAFDCAF5E60F5C7C23B0CBDEF9D337464C7A5B6BD0A03FD10BEAD9FFF53A00D933ACE58D116F4FDAEDE0729835B256D6CCDA9941576F4D0433311B330AACC4CCEC8FAAF4E957078F30193C6CECCDD7DED0EE5E6960029F90781859EC87C3916358BD71ABD0DD5E1BA2DD3B72FC8C324747C717031213C78427A62E4CCACDDD16121FBFD4C5C5E5995FFD1B60FBF66743259225EC233C366131FB5C6660309835B096B7C64D81FE467341236B3D7A3C012BD799801988E5AB57078D307B5483FD5334D9C9F805FA2F8E9E34AF71FCD4D9BD0B74F5B075A72D3CFCC3102A8E8738390DB1A9E990E617F4E61597F61629553D4A7525782384D7F6559A6A945059A054DDF41689A63FBC80F9735B9882F9B44B48F8BBF9CAB2AF4BFA7C08BEC827FB660DA4A58735C59136D6184AD3B3FBB1305858EDC3FCF7F5C02CCC3472E4C421CCF8F0D4FA93337F72420E6E35B4B6FDA8D454F754D6D609BB37F5CDCDC21695B2A25258A3E71D1A754DADB0EEAFA67BD454F28E4E5D4B8BB0CDA5AAAA42197D42ABAA6B212D949FE6256C86F819ABB54FB904068E9216C9CF705D429D5437FB605FEC53DDA741D042BF591B6B64ADAC99B53303B33013B311E3372E7E7EEFFF5B00F61E38A01D9D9872BF863E76EA1A9B04AB6D6884861EE68D090D7D5757D53508DB59BC6951462DC11537B5B70B5B5DBC01C2F7F006480D89AC6D6E416B67276F6EF606C749522323231FFB7DC14BE8C112493A3FCB75705D5C27D7CD3ED817FB64DF424369AAFBF610EB058D1A2A05CD748D19FA79988D19B7DBDACEFDB70070770D95C41E96524E5F2BECD8B40A9B94BC63C3C75C213BE39D9BCEB367A1E9DBA9E1ADAD662ACF5DBC84EF6EDF462539D7502B64D387892453D62B4A4AFE363836B6C2452C7EE57103B0CFC3E3CD90B8D8327E96EBE0BAB84EAE9B7DB0AFE63EDFAC81B5B0A6C63E8DAC9535B37666E0636662B6E362B1D7C3ABC6FFFAA279214BAEB8A3A231C63BB8A7BBBA70F39B6F84EEC4BF79EF8EBB19FFBE7AFD3AEEDEBB87B3E72F08C2B28B8B119F95DD13959A7A3324264EEE11106046DF02AF504EFFFCBF8EBBC719FBFC0CFF1F00D920CFA020D360AA333225F56BF6C1BED827FB660DAC8535B136D6C85AF9376B6706FECD4CD972C56D632BAB51FF715F80C7EAF1B838DB6CB95C184BBC1BCB51BCF1C5973873EE9CE088235C5CAE8654AE40726E5E776C7AFAF5E09818A9BBBFBF3E89FD733FF0CF19F7FF31205417FFA3C40A0A88F181032FBB0705E987C4C666C466645C670DAC8535B136D6C85A59336B67066661A64051E4A17F7D313F6ABA7941A6507CDB44DDEB1475ABC25225E4AA72E4169722A348FE202E33F342488C38CA2D2060216F79712BFDDAC08FD1439ED671D1798603F2314DC3F452D309114745C549A51759236B65CDAC9D1998255BA1B865BC7BF7C8FFBA33C42041D1D1160A75656F4E69E93D8954DA19141DE9EBE4E737753505879DF6CDF34FFD8E36469EEEDB437CCEC4C4E48F9F7ABB4D0F8C8A3CCADA69B8DC6716DFB0303BBAFBA9C7DA1AE320704F30B4B3FBFF7F6C68EA3CF36BFD4BCA6F9521F66DA43E67C70C643AFF2139FB3B95A8F1E9CBC720C20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (60,1,'Network_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000004C080600000092F6B2750000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000029AD4944415478DAED7C09B85C5595EE3A63D5A9E9D670C7BA63726FE604121242184212E6061A4124088E403F501FEAB37DEAFBDACF07D86DBFFE7CDDAD82BE4F6C5AEC16D0061504154184080801131230818490DC9BDC79ACBA359FF9FD6B5755B84170448862E5DB39E7D43975EE396BF8D7BFF6DE6B4BBEEFD39BFDB9E88A8FC57FB1E5C799C5AB56E3889F47AAB5EA87F77C49FC8FFDEAF772FD84F8A6FA0E12369ED8F3ABDFE03F7EBFFA3B8A6D6DFFD0C04BB474E1B22F7FFF3BDFF868ED8FBE298250E928F9ACFEABB7D37EE358D274154DAB6E03D86ABCD5C5B18E7D23A052505728887362CBD76AB2B84ED7142ADB0E15CB36154A36152B68A62D8E4B150BCDA672D9A20ABEEB5B3142D1916722F8D3ED35E18FA2B96F5905A8B0E6B0A11FA900DE42D0FAE17D9502D80F42D841B1AF08A5E8AA22AE295A10BEE951C1F2A8687373A9846D09DB32B61534D3F5C946F3AA9EE1CFB17EE92DED01B22C41012C6C8D54343DF00A45CCD906F5AA02EA56CFDB125BBA5515FACBC2F7ABC2777C348FAC9AF06DCFAFE215D5F0EA4D829FA34A018A2C5324A4BF42D8733D4115CA1190C40A1282AF5A7E81A186856EB9420925B4AAD0D9F27DAAB0F021746EB6CFAD1A0AFC6AA8F0DE54CF3F6A3C40925E01412F0BBFEA15AA10B60A4852A00455558502F235E1976AB0C3DB12E200430F2BA152B378ABB675D05CCFAF86E92321E82DEE018A4481390AD0EB4A105004812B32E96493A4E9A406759280FB858A538319E03E7B0060289A3D4861DBA6E7FD14F09EAA96EFB2E089A00FB1F504DCCB75AEE4CD81A237DEF08E1E0F401086602346004DA770889B4606339CD20C25FB9FA293FC317287F621E8CA02DB05ECB855CB678C2F5B16A54A13F4811529BAB661987A8B03645B262CDFAB0ADFAF0A5FE23F26682DFDC5030E474249A610041E10945321958504C12732076979572B0516F4803E9A242B55E157EC6A60151EE0561BE3BDC9DF95CBB4B0BB9D3ED94DB4676088FE6B7F99B63B4D401C89834D3567F0A47A4AF01705088140360C3B6CF17E7186E2B383B4BC274DC1C66E71BE52A940B015B29C20F910B2E9F8A209CB175B3428C1E43CA05812206318062DEEE9A0EB7AAA8AB8636F81B63929F22445B89CFF9718F00A2554B2D4303D4C2B58F0ADF30E7F6FC2F28BC522954D8B4C5F23DFAE2BC015F85E06D673430A20026D01D772762C41ABC16050DC8315F1595644FF20FDE70B05F239401C1903DE1CE83D1A04EF9985404C93E8CC469F8E5F340F1C3F70F89C055C67E1170A0564B215725CA6932CF83AAFF74433996242EC15E101C5C38D9537F7B3785E27BD67698C345CED794778C05BB72B420E44CC9CE5D31393156AB5C7686157BBA09936D84C5D90A55209AC06420F3BE409E14B357AE9D5A8A52438BE83E352A928380E7B808CFC829BA669F4F40B07E88E43442F79493A5609FE25081FA10470FB48EF32CA64C668747288DA9A1A8FB0646EA0F864053CF29C1AAD04BB719956FAD5EE37074A6025D5638004C1B312B84522114A450D1AC1F53E944BAE7C5464C2470D0DE5AE18339FA196CC216A6F691616CF6C66746A9A4633B3801FC4011C7312E51EB6FA5A2F684D7E90B708C4F9B2497B662AF4CD0187760F4F8998C00AEC696BA6BFEBB348772AAC9D7A2FA9F7170FC0C7AE94293EBA977A411F19EF5960D3B93C9517AD212DD94A9981FD640E1F204AB49003BB11C2F7B92BDA13144A9600395A8006DB57D1B063514E8B0BCEDF9F9BA40F8E0F506FCD138EE9EDA48F56FAE927072C72F079B313B1A342015387F6362D6A5F03F6D32184CF6D263B4BCF4D9529E01C22B97F886C301E5B8E100DF69374E80019F0020DA20BF91EC5198EB887B3E61555931E249FBB1C20E347670A1451ABF18095B061F97C2A8D3F4A4F5A26BF7FA986046F4D05AC5AB52A7ED9E5977FFAB44D9B0E63FDEC6C8EFEED966FD081FE4354866778EEEFDF4DCF020F80558D7475D207AF7E7F3536E0BB73CFD80026E49E78ECB1C7869F7DF6D9E25B1282F8E52FBEF8E2FFB171C386F79681EF82EB972BF6A1D1A927AEBEF653FB8241230471C54CCB8C978A8504AE69A898A5A855B122E57249A9403915FC8E19135F6A84C37E40D7CB8140B060048D5C281CCE0443E1AC22CBB38E6D1586FA5FE8308CC226284061259C7EDAC6630061FF7BDEBC79D7F5F7F757DE520AC04B07DFF9CE77BEE78C33CEF80CE8A6C4C247B66B6EDFBEED2BDFFBDEF7AEDFB3674FFE95BF89C5DA1B03F168CFBCF97D6BFFFA82B77F65B658A122E86B58D5281C8B537666EADBB7FFC7ADFFCFB7CA07A6A6062710649DB9BFEFEC7C8F71F9E5977FF2F8E38FFF3414A00938DAB0E113C81586962F5F7EF3AE5DBBACB78402D802AFBDF6DA73F0B991F197311FC2B72180EFFEE0073FF887B9C25FB8FACC2585E991DBCC4A698566285A221AA6CE742BF01EC91712B3D9D959012B1C4F5DC7BACC30D4CB6691E5269A3ABC96AE45070C23F1D181BD5B7FC4F71A1C1C2C43D0FF02484AAF5CB9F24AC40415F454DAB871E317A084F1356BD6DCBD6DDB36FB0D95C51B3D280FE14B575F7DF5C9809E07A2D168289F07D329971D08FDF11FFEF087FF6DC992259373AFFFC5AEA13BC787F69F655965719C4C355263AA89D21D1D946A6C46D0ADC607DBB6686C64982627C6696A720A34B6408AA252AAB57BE094D50B56CEBD27E0260ACBFFB7A54B979E190E8715CE11F00C26FEFE995FF8C2179E804CDC3F4B05B0F02FBAE8A263AEBCF2CA871B1B1B9335BAE90F0C0EDA05CF9F0C47A3AE3C2779E20E3AFE1FBC3F040B0F83D5A8541DBB9125D1AD5C3BA0EA6FA8DACBECC3B03D45915D5DD74B7A402B2206B8E27AFCA0FE9B4AB9224F0D0F35B5B7B5055801DC666666F2DFFAD6B7D6DD7EFBED7B2017EFCF0E824E39E59405975D76D97D4D4D4D42F848B6FCB1890969D1E2257AAE62B677B7A7690289572A9910CCA76259148F46693293A15658FED8D424B53635896B5A1A535440B2C65D0CA1601009DB14B53737D1F8D48CD4DAD4A8942B15C5715D3D1609C799D2A6E271CAE4739488C6C4B3F06FFBC08C763EF30C2BCF67E348A5525178E6C378B6E319B1FEAC32E1152B5674027ABED3DDDDDD59A39BFEF8E4A4AD1A610A85407680E99669521982F1012BB3D92CE98A22FA75E0A6C48CC705CEF3D6B24CD149C731803BDBC088C8C6313329DEB2727DDCAF50288AFB89FBE277DC6F3193CD887B70962DCB0AB57776D1E4D494CBC6C0CF954EA75B2EB9E49287376DDAD4F867A380B56BD7B622E8DEBA78F1E21575E1673299D9E1CCAC7CC686F5D4CD789E88D3A2BE5E028DA485F3E609CB5EB270012CBE19D6DE487DF37A704EA3BE9E1ED2413BE7C17AE3B11825D0E675758BA4ABBBA313C7510A1906F5747620B572A90BF70EE05E7C2DDFC3B61DEA48A745675D127FF3B895C752389E90A1841C2B81BB40162E5CD8F7EE77BFFBDE75EBD6C5FEE41500D69104F5FBE7D5AB579F5E4FB410788B3B77EFBE7BC9E2252A0F9AEC79693F2D85B04BA53225013F2EAC9701987B3D874647A9BDAD55DC2B1C0A0B905720D0DA9022F87F504C69090603A4A88AE8FF67E529F01E55AD6E63103EE048E40BAAA68AE00CECA742B12492B4EECE4E1950782F1855918D839F1139CA8950C2AD78FEC81F533ECAF5D75FFF47BB392C3E0AE17F1AEEFC01860786066C4B5BB76EFDFB96BE056F9BDFD19ECA82464E656600290EBDD87F8022E130CD00F30BB89E7FC3F8EF38368D8C8D93E5B854C43D72F9828015C6760BE772B91CCD026E6C7CC7D092634503BA72C52AFCD880AEE94C96032F277A385712BF9B2DE44522C74A321A62F1C77EF6B3CF35373571A2A672509F3F7FFE92868686F0E6CD9B1FFDF8C73F6EFF4979C049279D645C7AE9A57F8344EBE33C9C58E3FA956DDBB77FF1C0F8F80F2391685F73324961788006CB44B014FDFF0DD81A3C2E0CA144A10C61F94143309700AC37048BF71023D873AA3348255C1F14F180AD997FC38A0B683A10C816F94210F7E367D0E119E150104A42F0861794E17162D40CE70D3DD03955C83CFACC33CF7C0E3064D7C7204E3DF5D48F20765DBB60C182C09F0C0B4242A3E1C1DF06E17F1EF451245A0896D673CF3DF7ADA7B66EBDF1F477BCFD7FF676B4CB9DEDEDF4ECF32FD0F1AB5682C91834082B6F073E4F4DCF900CA574821571E34F07AE6598E1D1B2857D7DC2D2EBE7F893811734A692E27C061EC2F74900E3C7911330E6972B26D85552DC8321AF3DDD268E27A6A7C5B512F8EFD9E7FCF515DFFEF77FFF07D0D7D6E38E3BEE9A9A2748A79F7EFAFF81710CE3BDEE7CBD13B5D73D0FC0F3CAD75C73CD2630891F008F8335BA69EFDDBBF7C1AF7FFDEB57AC3EFB6CEDB8152B1E8C85C24B145C5DB24C1FFB125BAA059C0E42F0263C81B15D125308A9DADD8C9D5834420D0D3128D3124AE273B2547564C77504FEFBB80773CABA6BABF004D7A97A4200E79949C98A22420807EE203CC92C57C454454955F77DE79E7B4E7CE28107ECF7BEF7BDDF58B66CD90560680A124636201B59FAB948D4B6BCB28BE3A8F100B616087ED505175CF05D40445DF82E32CF1D77DE79E7D548FF670CCF4BEFDEB9F353B8385EFB9987DCCBF37CC9F7207199C5227A94151CC8F88ABFC33112236469BECC03B9D857141C7BB22F691AF234CB57F83B5FF170331F419C6FE2A968306C1FD60DB93BD08DEBAB9AE621481F4EB23C5DF7A23A4FF9223911F473F39B9A66FF63DF3E67FDFAF55741A1F7F5F6F69EC8FA44A2A69D75D659F7E09D4EC1F173AF57A2A6BE9EC23FEFBCF316BFF39DEFFC4132996CE02E0608DF1B1919D9F7D0430F5DBE63C78E513442D01FC577D3E5584CA2F171C6F2235C30130E1F3E0E3734F8343020F66185D5EF61BDFC194BA55EFEDDEEDD809B843F778203F8BC38BF05AD69F7EEC3D7726F1B2CFBF0F175D75DE74B2FBF447DAA0A3DF6D8639973CE39E712C0D1435D5D5D8B59096053E173CF3DF7A1E9E9E9D5383EE4BF0EF0F1BA2960D5AA555D603CF7B4B7B7B7D6853F3E3E3EFCE0830F5E7EFFFDF71F98F3B04EADBD219FEB7E8B6B5E9E277DA43C1F78E0813158FE8588650FB5B6B676C29B246C53EF78C73BB6CCCCCC70B63C75542800012BFDA10F7DE88EBEBEBE8535E1FB78C0992D5BB6BCF7DE7BEF7DD63F1ACA707E8F0F3F372CFD00E2C0C52015F7736F057B3AE869CFFBDEF7BE1F23289F8EA03CFBA6D2D0458B1635E2616E42E272529DBA8197E7E1C21F1C1B1B7BFC8DEAD4FA232AC11D1C1CDCB97DFBF67767B3D9423D515BBA74E9EAABAEBAEA36CE75FE20E8BEFCFD57DF5D2A14974BB2320B049C41FC9A42C41BF741BB2CDB3AE498953D6363837B5E6DB002DC388687F81C68DAB5F5C95368C5C71F7FFC1370DFAFEFDBB7CFA43F930F32621DEF79E909279C7033E29151EF4185A1DD7CC71D77FC2D3CA134F77A90117DA2682D0AC9EA125D53BB24454D2B8ADC0A28E03EA624C25543281ADAA55A15F30257526523D1442A1217A79CA7CCCC0C55CC0A39B683064A184ED089276F7265557391CE9BAAA294C0F34A9B4E3B33B871E3C636B6FA6A3743C97E64CBA30FFCE2E9ED7B90F884E1ADD69F2AFCCC25171D1D1D896473DBC29DBBF6C8C57265CB19A76D3AAB3EAC79F2C9275FB367EF4B9B4F3BEB3CDB737D036C2B80CC5D75C1D9980CDBAA46AA8A4C1B794E2C9922351C014DD6A9949DA04AA9325FBAF45D57996EB4599FEC3D9DF4A04A91A046F100B243C54780F048937D52407B657069D9B34982922AC55972B39374F1A675B55EC78248EF1F78E027B4F397CF53B5EF1D8445D53D4D955D054A43002B2B925274C99B181F1ABA66D7AE1D3B8F26412F5BB672656B67E7CDAA243723D30E83B11AAE6BEBB6EBA88EEDCA753B0A23D35EBA6C116D38E524D16DC239027765DCFBE4B324C75B89F400815293E6BB540E3690EDC9621A4DD995285BF145358F653AD47CE0A7A4E4C72D5552145721571432F80E9211DB27983A8590AA1B419D42019594C2149DD9EC50FFB44976F702F2CB395A15EC16AC410CA423CDDF3B59A4E6F3AFA6732F42DA2FA61472BF4B49469223DBE592E6544A11DF2C375161AA67DFDE7DD7E05D3E78342920572E5FB360E1F16BA58626927483946088F4902106FB39290CF316F2E08E4017EFB76F603B2D9615D195C14A387BF552DA365DA1B055A4C56D492A942A747F3944B61CA462C512D59B268CD71613883D61DCB20C446198907CC7E07996B2572DE391A008C5C5B1838B148F74D3A4B6C6A4689685E4CA3329004D8BE144A4F8FDD379B2E6AD222D18A36CC9A2595B221306634B0AD99A01E54690E8E09FE25032DE49AAFCEDC6A30D6A14596D94BB8EA3694B41F6AC891A8580A2930951953C8D0A0E90C157298EEF0C2843597A12F5EF798CE649745809A7CF6BE2AC43DCAF58E2A9F41E9972B542A7DEEC9A8C65C7E2EC1B1EE0E36F38151E0F111720F3145D005CCE2914A1FA2265AF7F909888297D35BA49D33928A47D2929B106CA553C788F8C6B14381DB08F58A98E487F24B7448A1E265D93C89310848E36AC274A7075665052C433CA768102A1040582D5B22935009CC0B982CF90ECE27A971CD510833EA2E0A936945A9F0ECFE9BCC553E67DBF561AEB8989C4BCF5B838C4B5B883D154C1784C2B97235D72713104871F49B07AF600094D81125CE7E5316AAB36E254673D4EB948DAF38F53361827A9FB180A20602B9246161ED28715389943B4362E51634B987E78100F2B4781A3A1A34E01A150B05196187615D22A193A7F7E901E1D1C232FD046C168B256B30638963C9ADDF1330A6706296A04A8287A65FD39E3D8D58960AC800A8C999B103E0C9CE79739F85E87F2CAB92CFEA661028ADCCA34588F86505184AB2962D671D55D8815C01AABC9BF3E5DFC65D6535582592A935F040B4BA629184B5009DFB993C3B45029D2BAB5EDA2AB796C7286741C4B9A4A2DCD2DCD479B025ADAD2CD92A610682305F1BECBBB9AA93B55A21FEE1EA25250A660A41524852B34A1A0BE65547E7686E4525EC4C1B9C2AF4F89171E00E3B5E4AAF01DA44336F962367740B22993CDC25B8C8A0A7829F3746E83FBCE15836C9F2108C10517CA3528F2B8CA10EA9B2B74B10FC11778AA78CF326A58BC5ACCCF2C8E0E515B698256F735523CDA7AF805B9B7D208684201B196D628F7ADD49334A67AB5ACF3F0B69E89CE3D3F971ACEC9548FD87F25ED7DC579B9B67BC4B5BC7FE1E55745785C4294C3D63A9CA3E1105DB2663E3DBAE7208DCE7814ED9C07284220EEEEA364CF7C9AD9FF224DBFF014C9A2764D390C433C2DDEB25D3155DE21861F7EFFEAFC55317715B2A8407EAEEF94A5CD97BFFFC95DBB76AF4B5EFC099A541255BCD3ABCB03E8A2101A5A9F1DA1FFB5027807A862EC67C1CF14CB3466345378C5097039F8CFC420C5F393B4A23142C9865F1D4A3D383246F7EE2F9364C428B7F51EFBA5677E3EDF0318C25D916AD84A2C1693CBE5B2CD93A5344D93A160073987C2BD9942818E835DD9C26F74961FE8A0E5BAAE5E13AE83DF6AA083DCD32903267DC3306C6C83B8C6E56B9197187C1E7F8B7B4855DEC72999B7F85BEEE235A7BE145E7BBEC683365A7E98AEDAB0E288E7DF7D70845E0A3453ACA39B02D1185520512E93CD178006FD7B2935BA9B7A1A0C865791A04D154CBAA3D80E0FD0413BC132811E8EE588DCAAD1CED2CCDD9F07F55DBA55C5B39478048901CA5725461D92FD6A4133BFBACC050D683C7ECA9E325D28D3F366804A7D275224DE406E3E4BE9E1415A9BD0A9A937FD9A2E1E0D05E9D8680696E290BD72A976CE49ABEE9863A475836421D70D5696AABD9352DD8A49D45CC8A26F9FADB9762DCD7104794E17029FF76BD7F3BDEAEB411CDEE7DFF179DE164D4B538C92C85F0278AF5FC913BAD3949ACED0CEC117C9ED5A48A61AA232131708D84C2FA47D607707475EA2C55387A817F4B404AECFCB2254CB633D21578727D3F31F00311143A1B252421E201744CDBE6789A2059E53CF3F92045FADF610EAC0C5D16C86764C5A34D004BAD991A408AC9E4B4597985374DAFCDF0CE9C9789C4E5D591F0258C02FBDFEB7E887A1DFF59AFA711DCDEAFBBFE9BEDE9CEFA41AD9F895778886691D68F7132FEDA26CA28BEC505C1484547C408E14A06CB28FC6ED4EDA9D3D4409AF440ED0C316153C92983AEF897E571EF1B0C533C88A56E472DC827820F600994411B3274816090F607AEA36B4D037FD349960EF066868C8235114C735BBBBD566F2F7ECA1755D4DD5757DE6BCC86B09E7F516FA6B7C27FDAE237FBFCD7DD9D3D646257A7A7837ED8B7493136DAE566C7ACC22252804596FA49386B87C4A304847F4BD333D17B5546039122828DF5791E43CF03690E703A9E601F5C64C57AAAD7AC486C4CB01F04219660D964483C6B44882F6AB8B69F6E07EC0101802D7DF7ADE6F14E85C0BADC7C857E9A63F1C2BEB71730EE4F81C43E6DEEB95963EF7EFBF468C9EFBC7A4390FF3EB0D01572E8F21512B0DD39352904C3D8A9850E5FC2C6C2E183720700459C8D117B21477976B65518020A100050AC07739B166826BBF6C37B5E6F26F3C5C60B377284221EC15961830ACB6009465207D2F2101792A334C0B2AE3149649CC6E9B0307821970353C13119ED5E03B760901D09A0B191C14B115C007E1F2D0975B8F0DD8BA2CC47A5D17B67CDE9B132F045966A5F0FE1CDC17F7C23ECB86C79E19F71D3E4F62212E989E6585242D90921495473EC5A42D5D918F30A4BA6244E11FAE73F11E998A4A4E58134629A8A6E0FA72B5FF87C7A8F90504ACF862ADAFC34EE9543D40D6D45935108C4E5721C8A96AA8E601125793E3512A1E631C8119716C90448066C1333DD599668972514053244E722844FDD92825879FA738E4E158D5DE68A6681904A5996092145C971FEEA77B6EFAC7CF26E30D3F85000C0883A7A36BC8B2556634F8C03064FEB1C6FB60363CE8118282141C17A0B8204FBEE2715E5C8743A5C2F7E163BE178E232E8F145B5609D785715C579E24BA5E702DBEB7B91E014C2B3C399DD9B8F9939FFDBCD1D42E16812A1DD845DD51B09772F908C1CB9A2EAAEC47601BFD5A9C2A0DADC886836038D5257038C9125C9F2B36DD9A1D2B92A865F365B9CA6658216ED5038C6030A3C61B2213C20245DF8424D6661333066AB38D79310C485058BE2B342A893F26D7561EA9D6E656536D1F1960A0B9830AA0B095432F50CC43266C56AA9A0F8429BD6819F97A58CCCD711C257BC10517ECB8EEBAEBBC57F07FB966D97593A9EFFB35FCA82D2127D5CFFBD75F7FBDC413CC38AF98CBF5E75C7BF8BBCD9B372B77DD759757CF0BF8379DDD8B56A5C0F1A3E96ED2E028B9C224E541ABB9709085A1F1BC24087FDA43436E6327D2A41A09E2B9112E0B9FBB25840224AA765254636801FF4555A966D4FECB24CD75448F712C9118531BE2C929EE4E156E21CDC12A89036D4D218C67D549E0E28FF0BD74912873C9289A5ACDF0C45260604791D64E0251A722289B34F81279F0045F0F89E5C5A0767282210A868D040B7F6EC255DBBAAF1CAA7DB5FD39EB3C8843DCAB6EADDEAB5C7BF8BB3BEFBCD39D0329E27BC3082434402827619A00031BC2AF883E3019A4A31C88919DEE232FDE82C78F0AB4F6B8D7D87785D5737075A49769A6580E87CB6081A6150846AFC91F4028869D25A7BAE84834DC30AD061084559E27832FFD5A2AED577B370E339DBA6788C08CADCA7F40042AAAF25BB1109227AAD545FD2E29144E36533412263391A4E29E674943F2A2C3927C5EF12A18E084A5E5A8E9078A465BF44050F4802A781F239E20676A94BC708CA48E5E3212AD148C355209EF5741528537159EEFFAD58ECA7AB5B1B0FC3ADC54A917A01AF212D39B6A390BCF3F82AC79E69F1108E65528AAC8B3D0A0F22A0392ABADE2D5D6D511C7F5205AD530C7B6FA32927EDD13E628C2E120C418178E521C697B24D5480ACC460B28E0D74876CC22B03678D47449EB81404AB68AA49A6564F52A35F72DA060531B3413262996144BE21461E22E8F107A556FF7EBAB6E493537ABC1B6C7B2F26B4BE1F03E2BCDABB222F125A30A64CDAB7EB1EC5547F18BDC07528720B6700EAA8201D5163662E10720F4A8542124F8682E05CA0E057C9B02482A788B241F7064236654A8CCC1B752240F186A166629CB530DD93D79B6F3E0A078F0B6F68ECEA34501E9D6CEAEDBFEFE33E2193BBA3AC55A451CE7E2A9040562713138230542E4E94172159E711D109D768AA45350D1294C604208CE256043C553298FE38AA09C1C8449C0B4C58330A27C07F2B46D31439B658FFFBD224FDB2E4F0C517AF8299C34C92E15C0ABCA24C12AA8C482CC5361629486C646C8345F7D6A24C79100DC380078D1F580183760A6128946A9A5B58DBABBE75153532B6D3CE35C71FE99ED4F658E160574F5F666DEB6F97231933A3B3341531393D47FB09F5ED8F11CE50B79D10BCC9931178698C8844D100BF7356A9779D4ACB1B98D922D6D241911928211F2D080BBA419D56D69EA90983ACFB297FEF9E69B1BEFF8FA6D93C343C387FBFB3DCF7BB5C44970F8FAEA231C1B14B0237047311A146B68A0385A2295A2643245F1448A1209D1EDEFE77239B3522E8D954BC59D13E3C3DF7D71F78EFF7AA3AB117FD38727142F5C76DCA54D2DE98B43A1F0CAA0116A8D4663017EED4C6686B29969315961667A8A66B3B3349B9BA5423E0F0A6A09CFE66241DE72FEE3BD4622278BC12AD17F481D1D1D74D995EF6A5275D3CC4B72D08BA5DA645EEA250221EB60323CBD5B17EB770644650A0B9AA14A3FBC62A1EAF35614C9C99C247925686E1A1C783C3B3D7D707C6CF885D9C999FB7FFCE3BB9FFE5398FD503388DB6AEDF067E399179CD0D6DE728EA66A4B3445ED6E696D6D694BA753C0E5100FF821E393B844D6761C208B2BBC85EB11B854CAB4EC6A399559F520138D933B5160A2E89E903D6BEA5DEFBA62C1E8C4C45284972297ED0614351F0C8673B87799CBD9EEBBEF3E4E8A787EBCF6AEBFF9F0926B3E70ED934F6E7D9AB63EB58D12F1065AB76E2D5995D2D7FEEE637FFB7FDD805928CA729EC6C7AD5AC6EAD29FF047AA67A4E9B416B6ED986A05C29FFB977FFDA46E84AEDE0A1964E00DEB4E5843274206377FF5CB27DE7ECB4D2FF0D8155AE5FCF3CF0FFA7E24140C2A463E5F8E916A476D1E20F7BD707BDBBCE7BFF9CDAFEC1353136FBFFDD67DD8EC7B953F1E4522B9B0A97DC1A780246BE157A99DCF3C1311A53E8A2A309E3D8DB5FDE29E3D57A7BBDBAE6617D570ACA5FB0A9A6E7CF9861B6EF834BFC0C0C0805A0C85D4B05E521529212BC5222BA6F4B5AF7DCD7933E70E5D73CD351AB032E45A16A7CB5EC8B29C5273B3D30384C6B3E9EDF3977FC6322BFFDD36CB515D8F50B2B591F6EEDD438B972D17EFCE326059B04C766E7FE6F1A6746F0164661AF4E5E9071F7CE47396551CC1EBBD66C5A5F46B3ACBE4E6AEA59FB12BF9EB3CD715FDE6CD2DADD4D292A6968E6A111DCF0532ADAABBB97691662646289B9DA1703442A95413B575CF2B9D75D6861B930DD165F0A64E5D57D3A54211F01A324A9655C9E772FFFAF4B6876EDCBF637FEE91471E71DE48C16FBAE106B569703076D669A77F34146BF85848D782A552B91C8D46CA15D31C9514797070706860EB933BAE1C19EC0FCF2030178A05E80A310E4156512362E08A8B0A4346003270686AF4108D8E0ED2C4F89888A3B2A200A6835F9A187EF163BFB50238556F6D6D550F168BFA2F9FFCE52720AD4F5815080D71A1A9A5899A5B5BA8AF6F2135007AE2F19818EFE54557B9D488EB7A6391A8084CD17044ACE10398140F98CDE54559112F519CC33EB325A6B9B3C5527EC72F9FFBD0F32FBE78EF8254AA50CF8EFF589FCD9BEF52F4D6C7C20B17F45E78FC31ABBEDC100E47B99798CB58E34816399872395303880557E1D4A6AC830D15441CCCE70B6201719E76C2B900D7A165B3399A999A16147B787898C6C7C68561EA8170A594CFDC72D6BB2EFA54607ADA1D5BBFDEB96BF366EF88E1D5B90A6077FCABB7BFE333C0F54D08B69DB22427F2F95C080159C9174B1207632E012A8386251BE2A2E6B6A5B189F2F084EECE0E9A989C12FDDF3C6C198E4444311DC78832E89D8154DFC06FC72627AB952C3EAFEF69F2CC0051E3B5B7FFC0C0AE3DFBAE9CDABFF7A9743A5D79BD1521DD7083FC9EFDFB8DAEE5C7AE5BBA68C12D4BE6CFEFE1F7602F366A3568FC9C5C086E227072411FCF6EC8CE6691D14711098B1483517125660BAEE91F1CC27188C6A7A6208B06CACCE644F913FF8E872BA386E19B8EEDC6229192E7F919DB7506B3339947EEBEF3DBFF78EBADB7565E7576B405FE357068E04AAB523925140874878D60CC773DB56FFE3CE9A4B56B907848A09A31C1F9B9BB95B9AC6957A3BB8D88CFE3A95C66CA85D7CC93D945792C9495C28AAE17D1B175956141F158547804CF9D3C66F1A29EB3379EF2D393CE3AFBA765595E76C5155704E70C45FE214154E67B7D5292969F71E1453F3D73C3FA9FAC5CB2B8476106071A1D8F35084BE76789C268D8C0D8B21D5E1213EFC493B45CBC6B18EFC4EFA6E39DAB7981293C9EF19F272C08D9C462829E9FBC66352DE89D278192AA2C432040B759B64EE91F1ABC12C289CF7DBE23EA03A2AE5BEEEFEFBFA7ADB9F5433E70BF01378CC38227A0656E6B8E5D29A8E9C8E81805E10145517A5A14383801CBE6F2D0154B96D0A8374EF3BBBB45311C9F6397E6C19C6160E3A2F9BD343832821891142BE18A7A24BC40235E0E2F23CDEFEC5AD7108DEDDCDF9AFEC687A3D18F4180F93F24487FEA9FFE29DA986CFA425F77D7FBD6AC58CE83FD1485B0D913C54250B8755363A398E1D7D3D12E9E990D84BB57C2015D78434F5737ED1F3828E682F2360642C3349DEFC59D6C3C4B901799EAEEEA4256DD4ADB76EEA0E65423259045F3350CB953F9BCBFFF40FFBDBAE3E45E3306B0C55D79EDB56DA79F71C6FDBE651FB364E142516FEB894E39A5BA18062E9FD7DD4563084A0B7BE7031B8BF4FCDEBD026AD89D93F104A0294B6B561E4BC3C0425E16A008B764C8D1785D1F58521384CF2EBC08BF1F1D9FA0E94C8626A76728C7F38DA02C45E6711377746C68E87C2A959EFB7DE1E8AEBBEE5276F5F71F9BEEECF8BE2CA9692E3783450A413643E1A94482DA5A9A69EFFEFD34AFB35314FE31D470353D930E2E89E5B8956E69A16DCF3E4B4978CBCCEC2CDEC110F37A962D5E2CEEF5E2FE03D48AFB0C1C3C589B45288958C2F7E0F77DE145104C4D796ECBC30F9F77CB4D378DCCED9DFD95207CEE473E125898489C7AE1B9E73DA0F9BEB416EEC4D78C4F4C88079C15C1342816BBE0E50258A81CC07AA0FD5FECDCC9E39CA2EF88939304E0AA1978C99E541FD81887E246E009933359B1C086984F2391639AE5F152A9F40BC49C47860E0D6D81754E8541E76EBAE9A63F688A3BC34F2522274391786367AA6D2388C3A6A0113E3EA0075B20059547E7DAC0D81A93716A07C1607CAF23DF6C2E27E25A0642E71E637E0CAEE2E7B2DAFE43874469ADEDD83480E0CB9377B9089CA18CBDBBA5B959DCE7E96DDBC89664FFFBF7FEE0DC9D23835B1E9983FFAFAA00F682F77CE0034D679E79E67DE180B1B633DD060146C583894535AAC37EF4CBE75F1033E4B8F49FABDAD3BCA643739398BEC2F8CF41991F68905901049D81E28A5014632F946396CBC5C1522EFFC44C3EFFF081C1C1A734CDC96B6494E19F651A1AB2EA8326AF1FFBD9AC20FDD7717FA3E23821CD3723DDE99E1322C9E4699148E4242318EA945525E003FB99D1F1DCA6A6C61475A5D3C20B0EC26339F64560FDBC5ACB083C97BD890D8D3D62F9D2A5549F26C34830897766583A34328AF72E3DFDE0E38F5F78DB17BF38F62B13C75EED1DF1B07AEBE2C527C00BB698F9BCDC377FBE88011CAC983E368015F0E4231634C311BB234311AF7CCEF16104F86AC18D1947996A02474BA562E1A55C6EF6D199CCEC43E38383CF3B86515059D8D96CA5A7A7C7BAFEFAEBFD372A21AB95D3CA05D0ED0494115414C3B3ED70537BFB32C0E3E9D158C3A9E170B84F0B04429CC7339DE6053FD2B0EA34BCC4322D114738E8F60376583185DA120A1CD778B19066C495970E1C203D12F6BE77DF7D67F4170A4FFCE8C61BCDDF2A11E307BCE2C31F6E5C7FCAFABB3AD2E90D3D6D6DD4058BE6FE8CED809993D7AD134CE0E91D3BC5007BA158AE4E38E2411BCFE1154766F3B9FC0BD97C76CBE4F8E44313D3D303BA24956C45295963639565CB96397F6CBEFFFBB0A5EB2FB9441D49240C4B550D39E08712B1E69E542A7546AC21B61181798961841B90F1F24B8AB1CE7018790D88E4DAD5AB4462FAF8935B69CDAA95A2C3EDD0D0100D8C8CD1F0C8F0CF7EFEC4CF2FBDE54B5F9A7835037BCD4C9873022D153BEEA2F32EFA79666A4A5977FC1A4214A73C2FA00D7AC643759C7E9B56C543863895CD6476224979786C72E491FC746E0286539AB5AC72ABAA56DEECEE86DFD74B56DF7CB37AECFEFD413B97334041428148A4A5BDAD6D533C11DF148F275622D96C84B065EE05E509084C59A3C8717AE7F5D0D66DDB29D1D8E47EFFFB776D181B18FAC59D77DE69FD4E5D11FC79DFB5D7A64E5D7FF27FF676F79EEB89C17787AB5E9C5C2E37329D99797A7636F3C8C8F0D863B6696681AB65B50CD4C7E7F5C6EFA345211B376E543AD7AC0918BE6FD87ED9B02998E84DA74F41E0DD9448A5D6823EA7434648D5797A0B7CE4C0C1FD3FFAD9CF1EBDE29B5FFDEAE46BC9E3D7D6091F6A6A9A7D76FB8E8F40A6053418F9ECA307C70E6D934DBFA019360266ACBCACA1C17C23F1FBCDFAD4DEAF5E645EACC5911129167B71D7F0F0B76D2A1BB2ED453BD23D6BE2A9F87A23108AEFDAB1E333CF7B5EE6D7C9E6374ED9BBE1861BD4919191300F5FB506021560A2FD5610F8EFCBB40AEBD7AB915DBB82091C6FDFBEBD84F66BE1F7FF038B84A8764D512D380000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (61,1,'Network_adapter_(128)',decode('89504E470D0A1A0A0000000D49484452000000710000008008060000003CB0866C0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002E2A4944415478DAED7D09901CE775DEEB63EE6367EFC5620102C44512104110342829162959174BB4A8D31669279293942B152B4E4A652B4795CB7139716C9712A75C4AC5A25C8EE492CB2E53A22E8AD64191020F48E22188007110C0E2DC037BCCCE7DF4F499F7FEFEFF9E9EDE99DDC1EE425CCBD34057F7F4F674F7FCDFFFDEFBDEFBDFFF5A721C07BA5D245CBA39CFB9918BF696752FEA1AC093F8DA163F7E7E0FD4CD02A20F3C019C74F8F06149D334A9D168B4201589449C6834EAFCE4273F11600AE01C3FA83D40377E91DAB5693BF0F6EFDF2F57AB5559D7755A954C2623D9B6CDCE9365D929140A0496130A856CFA8C80DA04ECE9D3A71D1FA81EB83D306F2288410051F2E4A5A52505015453A9948212A81A86A122400A7E97BE4F5F711445B151422DDAAAAA6AE16A974A253B1C0E5BB8DA8944C246406D3F983D206F028801006592BE7C3EAFD6EBF5502C160B21406104304C5BCBB254943A5980689AA6851248209A780EDBA2C49A042882686227301148737070D042956BF780BCB920320077EFDEAD94CB6592B83082184150A20852144F89E2DFA3A84A435BB66C498D8C8CA44F9D3A3587A0DAF83713CF31F16F069E6FE0315A75045B4790F5783CAEA3B41AFDFDFD264AA585D7B17BAA750341F40148F64FC966B321029040C3868FE1F1388291C0F3E377DD75D79E23478E7C00017C07821643A02AB55AED32827E1155EFF9CB972F9F7BEDB5D7AE20701A9EDFC0B54E2B825B4769D4F078637A7ADAC46B5A3D69BC39202A1313132AAAC030AAC0081E8EE3B1041295D4030F3CF04BBB76EDFA28DAC6BB56F3191130C45EBB8CD7388FE09E9E9F9F7FF599679EF9091EAB2288F5818181C6E4E4A490C61E901B08A2EC9742FC5B6CCF9E3D63F7DD77DF234343438FA0246EBDD11BA094D6D1364EA17A8D7CFBDBDFFE373FFDE94F5F47E9AD9064A23A36D03EF6A4F166F9891FFBD8C76EDDBA75EB6FA304FE0A97C61B5A90C5967053BCE5965BD2B8EE45750BE7CE9D7BEB8913272E23A8A462F562B1E849620F8A0D0611A5C679E28927AEBCE73DEFF94BF4075F4466BA1FB5EBEDB8EEC6752BAAC312AAC5793C2F8D7F1BF77F1749502E9D4E9B870E1D1AE8EBEB4BA324923402DA42181D1D3D8C1DE22B780D62B60A5E67A5E84F6F592388CC39DFB163878D2A55FFCA57BE720E55DF156CF8EFA1DB40EC34828D1FC5C6275B499F930F3DF4D083B7DD76DB8710D0DACE9D3B637BF7EE1D20CD2CC0F32F684BC788D5E2AAE239B21F40E6A7F454EA9A16B91D2721C79C9C7494361DDB554380AA085809B7455485793C278FC7F30866FEF1C71FFF0602FFF9F7BFFFFD63070E1CE8C3733ADE2C994C8E2824E68E232390B4B2305E4F1A3708442E050E97469B7C39548B3AD92F04B08E6B15F7CBE8BC1751C20AB445108A284095975E7AE902AA51D377AD6537A263488EFA51522748951280789D1E7837491209010A915957AE5CB1D017D4B1C11BE432E05A4377A1867FAFA27AADE296F6EBA87A97705D5CED6628DD1174F893225CD76BFE9B60131D1E43035F7C13C1943883A42080448C9282DB28453285E0F038456334047176DBB66D5B56F11D6D3CD716009234D288480F860D66A7825C04C0640DCD01259629A33A3511481666C3AF58E8CC5F5FED66089A6371B6D393C49F819FE8678A81E08CCD879B48A2BC40368298EB064492C41E91F91981D8413AD94794426F5C903C03DA47D2297501A200BEB7DC646273238B07A612F02DDA315402D10A3A8FBDE50D07D1C30CA553E9421281C61D7BCDBE3941846E4024554A03C6D08B956E4E1069947FB57350933A1CC4DEB2194154568AB7F924B1A74E370988C44E29A38D3353E1867403222337BD66DF6492285C8C763631C850290F47D7F59E246E5675DA8D24D2D268347A92B889D9E9AAD7E27E620FC4CD0A22DAC855A33FBD31DF9F0349EC85DC36BF242A5D485A4F14371B888299D2B6933AF5034BF1EF5E936F6E75DA95B31F3C46D3E17A306C1E17A39B6BF500DBCC20761976EB81B89940A4B09B1F9F2EC36E3D76BA192551C44F8524AE246C3D49DCFC3651E9C2C97778829424D2167BD96E6F2088B95C0EFCA318E427AEF61D1A4F240029FB9B00A494455EC04176FBC1F2A50751179EC106129B6E2236E44F2A24B5E457925B52ABD5141F6B75820CB65B1CFF29AB6A75830094BA61A7DCE1A784639AF31F364D339C4C26EDD1D15129168B51B106A74D299576AE89D3469DFF93057B4D2052430741EC469DD27830CDA6A229E3B8D5E9106592D3FC7EDC375145DB547D8398EFF8F8B823583081CBD324BD7B8B204100EC95F67F6EC1DE284994BB01510EA94935144A217206D95352AB3415808A3350A58D442261A18D148954B608EB51B88E86B108D0F9F9792FDFB51DD8EC477189F64785D600B6D44D70623380BD261083D5A488A4F8C36E9D66452532A9B1DFFFFCFFFCECD4C52BCF1CFBF6334F9E3D7EF22AFE89665CE9B4521215954CA1522AD88694056073B06C5E9DC3A16977B4455B4A9DC0E63EAA07368149DBEBD7AF7B29242B811D94EE7F8C60AF591207060680BB0752B7EA947E6A381AC9ECDABFEFC3BBEED8F7A17C76E9D5D75F3DF59D27BFF4E563A66136687E07CDB9A1B91D5C126D0E94B792A4123054EC88C0E5603340E933DD85B608362B9044600B80E973106CAA84E5071BED339B292D8219ABA8F2950076D602F65A00DF3075DA15B1692DF327F50F0F1E7ACBBBEF3F74E41DFFACDAA8379674BD91D7353DDFA8D773F56A2D5FAB54974AF9622E7B7D7E69F6EAF4D2CCA5AB45028F0023C96C07B6D8A254B31958FC7C06321DE3E73A624B924D80D5EBF516A9A66B7020DB824D3F81A4BB4BB03784A4750277CD208ABA6E5C457565133B75B0645C49A493F1846E24B6AF9495EAD894B6AA178D8651D01B8D7C436B10E0F97AA596AB96CB4B85A5422E3B37BF74EDFCA56C6E214B6ADAE260DB7EB071B5C4BE00960010C7489251E21D21E97EB0B9647BF69A16BF840BB083767B9D608B213FA91D98EB92443E9D516208762589ED7B58320A50D600E2F89B54B5B3D271C009196678A86184877433B9E2ADA8568EDED00B0DBD5168D4B5BCC65692F06AAE522CE70AD95C363B33B73475FE724EABD56922AD25C0E624CA0FBA50E56C46985F9AC96ED3223EC7E3714F8D8B63026CFAEC276968B76125BB2D085AB0C82161E9077243D429DEB44B9BE87432954073AA54FE34944AA59B12E8E87898768B0686109E130939908CD9EC731B1DC16EA39B10AB47C2B19011DA124B25DC9C575CE91FDBF295CE360DA38280E7097426E10838AE4BF50A015E5A2A2DE697B2D373D9F94B53059EC1EED96841C2FCAB005BD8E74E242D954A79242DC8C8695FB85C082ED550B07D75F1C00FE4BA41E4315039183B6DCB5057B84E2C02902DB9A010A0E11095B15A493225EF9A0818028EA09B0E580EFB71A0A2F60AE135FA930EEF3C049EA8D309DEBE6E81546BA8A99A2AA5D468787B0C124190BD0E40D28A20164DDD28182EE868C31B39B2E15AB9B6542B96974AD97C3677EDFA526E7ABE4CE005557980A40955EE27696C9F16E17251CDBC52A964901BB67FFF7E9357ABB405906B0251D49F11B3C34912974D6DD31BD845425DC1480D2473553B9CB6974F41C5CF94FCEF020560F8EA35D0D7C2686242AA0DF1A88B8C2B5F4D20B8F162583650CC35DD819A4133B4F0BE08762C2CC16052C667F09DCB358700116933543449A9369C014D9507D45818225CB23D29F7836E590DC3308B28E57902DC6C1839025CAFD5738D4A7DA95EAC646BD9C252FECAF56CAD506E70156BF96C367518132550273F1A9B97D87B239BCDD2B47B43A858026043D4693A9D0EFB1995FD0F8FC3993FFF13D8FAC56F40A27FA0E95F5635B8FED269B7A1E947DB6E635FC2BF1D7EE7ED148DC33F49902D2E5793E4851258C9189E611B1046C177420A361E070C5C901C0202C58CA4B2866069B835AD26A0AAE2A03A96A03F2EA1C44BAE7A751FA809B80FB82A01DEB0B0E358105565946C0542B2CAD532B7D4BEFB9BF83C153CBF548308F6BB9150481E5110703A271E906CF13DCBB4AAE8621550C2F3885C8E0047E0B366BDB188FBF38D62E5EACCB3275F23C062B198532C165BEAC66E048812B22BB505C4A3DF85F3B91C68278FC39DF7BFCB3B8EC402CE9F3CD396426FD91E87D8C49E65C7B5A512E8150DEAA532D44A1528E58AB07DDB3678F8E187C1B02D383A791C0133D08E62C334708B2BEA24D88BE7C45306D48D0A93F2A684491E48B44A4C1DDB80D406EA0D5C719FF2B95CED80F617A5341595B00385B8491740B892CA3A0D016153A7B1F07E16AA741B327115C6FA428290B91DCC073675BE72C384625D8792632764494DA82165AB021108E10911DE39E95E966E5C9DFAC1AB1F207FD81D0CB22C9446EB8E3BEE90BEFCE52FAF1B44A99D241A03C37009FBCAFECC402B20750D161616DABA1ED3578660DBE0045E2CDAEC0C8609D78EBF0E954A05A8361CBB86A6C1DBEFBF9F7C53B60EEA613875F21C94F345169BC51F0A478E1C81BBF7DECDAEFBCDD32FA01AAC2D53777EA243F693A43315936190CFD013E780D40A00815547B0AA9A0955943852CFA204500425351E91211956017BB57B2F57BFB37B09F54C0774CB041AF7194C8660241581785886B3D78B50C16B2F9354E441B89FC0363648A5E2A25329EFC5C5457BADC446F2FB8964179106B7183FF9D77F137647D3B0F3CE43CBD829357C3B498C67FAA08252660F87BCC75ABC761D88861380040E81843F00F00734C735E716E1CAE425EF18CD261F1E1EF69CE689BE113853BF0C34A3CE421D379A1AC0863750CD1AA03B24A93A546C93195726551263DB148662FB7E364B5B7A74B2A151047B3CA682A27289F4C89C50CF781D5C3594ECB266408940C7ADC5AF1346F69688A848DE1446E22A28953B8793F0FA5C1134B4D77E105D0F468A51E935AAF89C4C2665CE4BD8CFDC109B4820FA81896CDB011FF8EDDF650DEA9FC9164F24E0F637ED67DD8092E324D257B812B0E9FE34FE10044AF46CFC5F2995209FCF031A7822530C4892C4EF7CE73BF0E637BF19094A035E78E105989F9F67F7A273086434FA80EA86DDB3AAD799EA9A7CE904FCF1A77E0F32990C68780E9DA7690DB65F4735BF84EA3F972F40B1886BA10CF972012AA848E474AC85AD92AA2CD51D28D47C8D1C906CBF248554042BACC000AAD7AD992853D1B65F3AC1ED18D7F255EC6031D8379682533379B49376D325C236A4A13BE230BCB0211B442F97CBD28639FB54E0B62BB0F12187F76E877653148BA82D15B555DE07C6474041212FA33A8D25623030360C7D83FD3032B105BE7EECFB90CF2EC1E5CB973D004982B043B1C8C79D77DE09B1910C4C1516A041602D16A1BFBF9F9D8744C2954C5E44901A2B1E4F808C0F904AA66068C805F7E4E957A114D2E02DB7BD0CD34B5B6034338F6E5006F2F501B8E79697E0DBA7DECDA4752510C946D690522F94ED4E7E2A122509F66FED838B8B6518EF8BC1FEF10C9C98CA21B1F24064C9D93CCB5EDA90B01B893235986FA8476D5591244D15F2FE5ABF87DE7BAD5C62AC54781BCCECE05777DF31025174161D9250D7FF81445F1AEE7DF01D502D965D12426A0EED4E241187F04002CDA70C5BF7EE6464268220D31A45C73E3D32003FCE5DC49E21713B66F36AE3E4AA2070B60B9E6909206D0F50D36E821B0945A151AFC2973F1FC17B177045A934AB90DC958657FE2A06E30F192047958E7E6537924AE793CABDBA5441C61CC64E5783AD08E481890C1CBFBAC4B488ED26098A526A2CAD85F679986E7DB153715114F11662639AFF1526279F839D3BBFD74A6C2A35983A3D09BE6AC72E38B88DA07DB8F32DBB215F459B29BB7F0B45C29042C9431103AD5A734B5BF17239040C81B6EF6D87A1389FC5E7B118C8C41674B4790ADA3C99E20F928F9458EDC0B39BC74C77F5FE6EBBD223AB2A3144501321B0909C017F061BEF018E2C6640C3C307BF0A7FF7E203B067F42AF4850AF0A3F95F80470E7E131E7BE97E6884920110ED16D0E74B7548A38DA5D8C07C196D37AA710275A1525F75FAC386D8442A42DBFA169AE791904C23C1B80A89C476DF38A4CE6C1C1FE1F7C064405E08C39E7BF6415FC2419B23F19E6A337BA8A03F188987583446418751417029B58ABA50241985A49D816AA1C2CE97149256B72308B26133BB23FBC013009A2DC7FC52E8DA73B7D165BCBF59D3B0B722D9A1A84348E19AC504351EE6F700F8F33F40B7E640018E4F26A071A50EA9076CF8DC1F6D07755705427BE3AB4A2AB1D37D6369269513193772C457BBCDC8D19A63A76D23D828898CD8085B572E8F41363B836A76B82535A35AAD3010FD6139B11DDBB51D1617F0E1B7A6508DE1B90D0719601E8E7EFD09B47D16DCF7813DA0A66FE7748C98A4C4293B7622944872CC2D6C54925402D9619DC4E614DF66AE825FE24C04B0450A03AB897FB3714B4FB7E39E04DCBBF7021C3D3D01EF7AF8247CFDE401F877BF3F03DF3875273484445147C4CE6353488940B65C29069AF16736D9A664A10DAC5B10AA59300627D8B14A3809672FA4C040DB7D7431C79E6F52B261FB4ED44EBB90816717C66AE3DAE8DC5C7CDE3F14B6A1A31888618B24C662BF07070F9E4570132DD58715240E44FFC5B9B4652BAAC1ED7B6E4567BE0CD9541CB60CC9E88BD10926A007E0465A220AE4AF3D0FC78FE6E04DF72661E8D65DF0DCE36750D34AF0C17F7F088E7EF71C540A26BCE9FEAD60A2245F3C5D81E12DE8FBDD7617A3F5BA6E0680B29701B70C5052A7B8169571385F30E0F06DE7E19BAFBF1F3E71DF57E00B2F7C901973BF3D0CC75141D8E846E0EF8C8675F637352AA1ABA1BBEA13EF39FE7ADDEBD49A8A92AC5A104F9540BB80BF157F2CF9C6266E4D5387BEED2A346690D8CD1563998C3E82206EAC3AF5B324EC192D7E622C760076EDBA7D59F9E80C128E83A36F71A3456ECCD5753764D7AEB0864595369B03D83A08681F4D74035CE956D12F730CB7032A248996C6EC94125518D8F57C19EA450B54055D1154ADD98BF3D09F0CB3D01849485D36E187C78EC1C14387DA4AA067137D00D7EA3532C20C8C579F97E0F9330023BF6CC29FFECE56481E5A84E88E61D404360F06D8F00B0F47F0E11AF0D3ABE3F02F7EF515F8EB1FD970E747558884EBF0D215C7B39D622B4276E1B802F1FBB682B65080A5A75FE5E7A069080FAF36867063A318FE445EEE7C021FE42417A3AB0161C6446560B6865A971A8B879AB1C78619F3A413E8C86CCE81F181348CEEBE9549ABA18EE2F9B3EEB3C81402733B483842D79640E7F51C94103092E3AA5DD96576F8A87BDE76081E7DFC6F00BEF4FF20AC8671551170B125A75D659A820523B053915B32EF94A02F3CC1AE411D8124C9E19A8C6CA3CDD53581FC6B87BE057FFFE27D904AE9F0E103CFC0177FF84EF8F5BBBF075F3B7E04C6320578F7CE97E1BB9387BD8E4D40298A052CA3043BA53C1C05D043F83B6ABEA8C972EB45A1371A67F48F126D48D82D38C1F445FB55786DE135F8F8E0C75A40ACA2137DEDD2E5B6C354B71EDE077BF60D43282A7146491D270CEFFAF05B6036EF36989C1C81B17D699052193010C4787F1AD9AB82143D44A974108A21D810475B56E060CB9EBA23BBB9FBFEBB513D8B8002D93C02C062FE588380771CD75E1A0D90871404649C45DED935F86C76EA78449E48EDF9FDBEBFF8C30908EDAE402519812F3D360CE1771AF0579FD90ED2780DF24A14CE5C4C01BCD36E91C4701819B564FB094C9BD417C71B67F567DC6F283B25B5AA282D6E3A7CC67A14CE3CF723F8F003EF835838EE3B17ED4BB1D802AC90E8D9CBB330B2EF56A4B0762B83F3EDF7EF3908877F518192E636C4965B6FF702CAEFFBE4B8C7F606C776C2C4418B911CD6E0226EE9A03421C8FE007833301E1CB672D0416F405933DDC8CB701A7EE7BF5F812FBC7237BCEB372CA8A2949ECA8E7A207ACC55E52E108D1D23F024BD80F69C85E66C975C793E25B7B9326D25B76305B525954937CD96A40867436D2245475CB5D00A62AE9203E952036D5ADE03911E9A0014EC340862667C1006E226AAC3101F69E083B76CEB128899BC090DDD81A5B2E532CF8EE3797CD097A93BCB07A2EF7CE81C10A7607405C19BE88FB05106A63910882FBCF211F6F797B2772FEB640C44028EFB908ED954C136762499016BB4A8532235B49ABEFB2FCB78F049A24903A04D1EB2AEF40C29406E5A6C223DCC7B2B6F851F360AB06D68BBD7F368ABA2BDA1D86570E49F801CDDB91D2E5E2D4112ED20C8F2326778B4CF3D66D8126886B5620424088AF03919B860AF1A51D99289A3F3ADA1A710855B0663BEB8A9507B6E07B17DD7D9FDAF3210891A70FC5A063EF85003BE752A0EE36F4AC3505F197E383904FFFC13E7E1B34F875AD4A9B7DF499DB6263DFA4BB0391BAA4EF9455B88CD7FDAF61FA0F69F7F7319B1A1E8CB6D9983AE6E90DD20B8FBA23F0968A45C6FE8CCDF93FDF1480E8A0818B700D0E23CDB1D41B9D1B098B8978E36F35AAEDA1C3B142145109FDD510FA67A2B23EE60B764C1175F3CCC1058AC22C59E1F64E31A8FBEF066D8351283696BDE93440F48DACA6DD4298D84C80EF8FCFAB67671DD7E2267A8CBAE1309455A5C0CD7D70B811C8DF9EC0F1FAB638D21B1C80C7000838D4C12E4B241C99382B5C62AFD929A8EC9B073380EA5BAE13D4B5973FD3AEA50BACF515FE97ACBEF6F2F3B7FCF50B245123D8914DFB79D8E8228C6B5DBC1B02610E9A5243C555138FC6AD78A589678969A2F024E36056D493811F55225828D826D8CEE806BEB260654CFCED1583725A035B0B11B68321AA6C5B676D7EA5386AB4B3536921043AB908854F14808768F243C8DD01E447B15F5BD1CE4172E5C87411FB1310C8E8B50CDABE715DFBCD86937E54FC8EEC5D329903331F76145EC546A4AA24C44C0C70EFD8D52AC5928351236B8DED28832AA1A1A21271008E4041210B2BD1248CB1AD9937A5F434791C44C2DD5219D0CC3B9B9321C88FF18669786201BD9C1CE73A37B360CCC18F08B078E80862E4A436F604731403770DF32597A0805DD75DB642923061E2317281FD1A1A8369F5772EC166223A4D1E123152BC5B95926084F67E45310D60EE2E1C387617A7ADA2F5B1DE726D26C621A951F1919610F9B8E2461283386042002D1481842E110A8219581C7868788823B96375C445B133FE72A45B8B63407B70C4558B2940706A7B00DB45D86E94A23A54E30A9B4289BCD6E2329765B491948845843BEF0DD3EA484E883DEEB9EFF4BB78FC054AE06DA74010607871038044B3758609EB6F499EDB3CFBA6F1F55476E11F2C3F63297427CD634873D63C46E76AA15C68D8282B3B1C9C37E17E3A9A79E82A79F7E1ACE9E3D0BD96C161E79E411F8F8C73FEEFA5AE8A7F5A90994A824A4532948A7DD6D145D959596333397E04AF63A6EEB6DD51745EF284F46C51DB2CEA416491A559E72E16FA0767E21B3E18AEBC690583B66D34E118067AF1760B4AEB34C009D836470009BFBFAB2E3A661B6A872913E229E9F4ABF325783464CD466F4CABF18868282207B19201B4A6C04A9E13651F18378ECD8317F76B8A73ED63CB74B024F7D0E26E721112D40C388A0D39F844C7C09E68BC38C81536A62B11E654356E463774774EC964E914042D917AE42D6F1AB3A874579EA8D860792C125AF55125B259456DB47C21CDB0EB818867B7DAE1ADBCD72A0691E7E76BAE136D1C74E15FF905320C57F9963BFA64168DE1069750EC613D7507AEB7071FE5678E8F037E1B9D7DF0683E92CEC1D9B84EF9F7D3BBC77FFF7E1E2E24E98CE8DC13BEF780E1E7BE541B863CB0558280D40AE9686172F1DE029890EF44555484654E6E093B0E4FBC6616BE6222C5C729399689484CEA5118D8627897A1B490C4AA5C986BB6C9F6B044E6BC406DD7720C15AA9A2B670F689438A574CFA1C7D67A3D4A9C74EE7E6E6E0C2850B4155EB8128AF1944C99394333F1E81130B512FAFE6C77FFF21376FC64AE1761BFE5A0B9E0EDF8F861A1B11BFF97CFF11C8974A70868208129210BB0095E4120CDF320C776C4DA19AAEC26259435B2BA39447201D1D42691E80DBC688119BF0FA5CC14B91A0BC9B16E96B914AB1AF7BFB486FF07B6A331A132036BAEEFA8621610B9D769E801B765B89B2AE09443E8A21F9FD44CA27FDE4273FC9EC60BBB976EB9928CB5E1BC7D592971F639A2D5B6F453B53AB348F2D5CA586A8C194EFFC91B795C1DA3E8864A9CAD20F1391182C551AC84E0B2C2AD3D60F44E24499762D6A73159B68C824897213C4803AA5E7A1510C21892BCD5EF199F49BE262B0D7BA3FF1C413303333D38EF4B426E3AE439DF2492DCB81EB006A27A0C9FD20264CCFA3C80A9C9E2DAE12D1713B902B891D6C621BA934C30462C817175DAE4E9927BBCE17146C143B55FCD96F9D6C62A773BA50D84D495C05B8E0DF82C728BB92C27D6EF407BC01DDD562AF64133D761A20349EF4055C0E907C4101E20481488DE304406C133B153691116D9F9FB8AE0078A08C97C4552625B5AE0A6277D5343BA9531E84E66AE846A59156029081288337B26E0702D9ED40741BDD6AB1897EF05A196993F4A88ADCEADEF8888D7B7F97D8ACA4A182B1D39B369E48F5BF2931772510DD0C3758973AF5DB921B95460AEF0A1065CA7C739AE911761BF5B91C44A7C526FAC1333878415B198D84DABD1BC4DB8A6A2FA12ED4A924DD049BE8CFB121497CF0C107E1C48913F0B5AF7DADBD4D84B54B2240D34F5C8B1A250069ECD393447A85BC6D7BD3DA82A0B58BE82C8DCA50AA5CF55C051A85B1C3540EC41DBC64017EFCA7D80A441D3778511E50789685E3C55CFC111BF7F95670319CB6AEC0C6B05331B9548C278AA9DE9FFEF4A7E1E4C99370F1E2C5F6EA74ED3E4C539DB6CB505B014CBF04D24A6052C71244C371BA1BBA32FB43A065D4AE4749FCCBFD1353E8DD38F083AB132D138AE819C9DE356D22AC949ED1CE4F5C9F2426120936294548A2202E74BC9D8BC1D4C83AF4A90822075D8C95546B1040B1123F351D87FB9FD05E7DAE3AC8DC99CD0697579F1F82480149CC1D2C4717F8E80FD05C51C22F1DF0235AC36E32046A3FB19834D511DAE81C1BC517986DAB4EED75446C5AFC44CBEECA8DA0FBFAA5CF0FA28E84C360EA940F57AD004A47A2234272D03EB5A2C50ED2F09BE566BD0B75DE92D940F9C60BE88E941C88C4922C699956EA0F3E67DFFFFADF96FA7AEBB289C22EFA2B677CF6B39F650CAE542AB19C9A542AE5D9C4BAAE41B15204DD6E40DDD0A05C2F43AE5C801002EF0887D7372153FCD0A546D9231FBBEF0FC3C7DFFA321C3B7700A26A036E199E81174EDF0607775C822B7303309BCDC03B0E9E83678EEF81BE440346FB7370E2FC76B873F714BC36B90386FAB2F0E3D9012F966BB7952CFB86079957A68F1264523A50553A92C4606796EB36845FAF80D330219D1905BDA1A1F469E0E8A879A212035200D8EE5EEB96C476C5F9D87CC3749AA956C12649F55E39770E644562C69CFD104914667135ADC3E7D00B3A66E1556B7D0A6871C90371AE3A087F79ECA3D0301550B00B4F166E81453D0DF5990C0B7A17C371385B4026991EC55FA7413C1C027D28054A3FDAC1510562831AD472A8FA3D9BD8F413EFDE7E0D5E46BB25001D4E9561A91A039ACF7923EA33B854C623F0F6FB66E1DC0F86A13A1201CD74E7460E1FDCCBFE3ED3C84005EF65291460AF8213C3C64828702E07B0674887F02D7DD72EFD40BB40C2C1D5F1BA6CE2B2BA1628D65237056B09E7F1B76E013B24C1A545AD6DFA026D6954E2E4DF9E67DFB9F3A17E5878AE08D5820D3BDF9681FA6C01E6269110DE1B87E2C06E76FE5CA9CF05B798F6AE3795CF78D7FBE9F436B69D5C1862C74ECD8E791D42729A3381A9B3A5179740C90F82DE1761DFB92775195E5E1A8759C5BDDEE19119D89A2CC25727F7BADF4756FADF1E38067FF0ADB78215769BA03FA2C1BF3CF21AFCD9B3F778C9BF5471E72F9EBB0B7B3732D6BDAE05A45E9F8309AF7DC404CF58809C524B188BA5B3857CB1447E651040D6B66BA6FC7CBA376E956EAA49D981A426BF8A6AC9F6720CB034770D5110BBA6838DFBC4D2684BC515C0B19AA3E1BEB579CC5975B56C1FEDE7DF79F11F06402AE9DEF59EFBFA08942E49DEE7B3AFF4C18FFE76D8B37F3439E6D13FDC0FD1623342ADCD29F0D8677683BA916F18C4A6325DC3D8367F435E0F8082C80875BA62257EAE783A8127C0F587EC4361242C3ADF57512D8B3F29525740F9AFDB1E6CBB55230406846DCAFAB69AD732E9575ABEA034CF0A977C6F13B4797796ADEEE2C413FD65B877E775B6FFEEDBAF423AEAFEE08F1C3A1F1CD6776E4AC48666B4F1E27CEA4AAE8137A2ED01D99938D48C1028A9287BE4BA85CA057F94A2A28D934360C85190930EE872A409528088AC94FDB6ECEF5EA2B17B6CFB5D352823E9BBE0B865C4124326441326E41C5E650A3B4F326100D58572F8FCC850144989D404D1E19645EE5210F52909F4497C884180EC4B61883674A825155838868C9AF277522AF846F43766643F58B0B6DBAAC3B68890F80A0EEC19F34DBCB485B4C661EC13135EC31EF9B566CD98E12D4D50C60369F8D466B1900CAF5C5BF246283AFB75764BB2AEF01317B7F4BB89C179F7EFFABE308C0DD6C1BEE89E571B0AC3FB3E3605E79E19F17ED7CE5FA941AE6E416EDACD7437E20A7CF0772FC3DF1DBF03B4DAEACD5BABA8B078053B2BBA7DD72F25C04862F3A624B87C320DCA5E6F9CD1EB12542564439287FD056B837EE24AEAD4F69C76076EDB9280D7AF9759350AA24B32CF7C9324CE07587EB1C346D6E9DB34A02CF1CFF41B583932F685A6C4E56B261C9CE88797AF2C76E5BC8B6C3BF1B7A95CAA4552670A09982EF8E692E0B9FFFB99C32DBFEB990BDB5A7F279EF37F5EB8BB7B73272497D4366512584D952C79D96F8E2785EDDC0C75BD36B15B4914F92A74FB215411D70B75D8B7250E352400A6C3E7CEDBEE280545534CF699EAB8D96CD692C55201DD73280B8E9C7536A2E153C54389082B9670F7F641D00C93D7796BDA62F0CDD50006BA067DB1B04F52BB73DE3772D1E3323CF4AF2FC3E74E1E82E1031A6C1F2FC377666F85C3EF5F849325192E37186FF5575FDCD800385FE4E0849AB6510B8A4270890C618F2BD7A92A930DE7660AE5D2F5C59F38549D5F42F7163172887EDA0EBA9336AB2E4C8507589150B638B61BD140000D53B64C53B10D33641B56F8EEF7A61EAA9AFB54C907942BFDF6B2BC5396AF130D33C96E67537F568B9150E11B337B99145E0CF5A3AB9464483D57DD0E9AAD8AC6B6FD111B962FEB7B65E14638FB8CDC74359404CD6A4A24599480AB55AA333FFCDC573F879728238DAE51354104DC6CD3F3BC6A1D7C103A84E75395A524229BC6F3FBDEF51BBB3EF4AD99109C2EA49A0173D608C1510AC903D6AD23E356E320126805BC6167C58EBC96CE2F1C6E5E630EB7B38524F31B754361AB8CCF51A845DC84797606F84B5BAF3F00EE2F9349DB582C16F2CF22EE54895FCC3960CA4D7233C069C20AAAD12A01887F2F2020553C5743D66B8A22AF6D427DA2CA71183771AA41CADFDD18A6A3BF7AEBE596C615710851EE84FA1B4DE2A2D4FF90AA30151D8BB8B3954E9D99823DBBB7B47CCF304CCEC4D5B69FC5CBCAFDF769F799EE4BFB745C519935878211B67EEBB72E7CE98FFFD7818FECEAAFA504C92293A1F0E9F074BFABD5F43DFFF6AB5EB5E38DB189BEE88D944824C2DD04B6C5D81D4BF6A5A2128AC4EC16625045C9AB202015C3302AE17058C3AD210AB00741A497A150692C64C911165BA662AB9214C6BFC5B8F96B791C31EBC33D26F932C75D1222B27259DD00BB39D0D29C2D22054255AD9FFDE7AFF69967EA36B31C6C4A12D76A06AA0547E25574C533B9A2C24AA791CEF0D527671A4A14225A73D8CD5F9C2F1E8F87BBB4A1EEB4EB905B679432552B1ACB2F2913D306720B2DAB8E0FAAE1D6E09578DB82C8CB6359FC7908402A49413598514CE5161DE80AA92B81D82F9AC363923BB187B15C56C58333626E19C4F71445F27D769379FD9F852159ED336513A8B6E3C1CB6C317B0C494783E4B0729EEE708DCBC0F93F22E7EEA086C54A48337E200CFE7AD4A96F3614D53A0D7527892E9027A64A6CBB6D200A0D83CDE22D1308F8701A5E8B9581ECEBEB33272727DB4529241EAF2549A420BB8A42ABE1FD09FC1AABF4AEAA2D2A9DD4176A6077B28AC381C01E24B3A974EEFC48AACC418D8C9601441EB4F89EC2BD76851F9779D4487C16230C4DF5D9F9334D3DE73509DD67D099545551DA6C9A76C03A3AE5E550E173EA74345D9D812D99D8E6067FF98B1DAC30B5661743D8C4643219EE16C48A6EC09E9184AB52F12B949C8BFB05BC1695806CA01D3432990C01288AA507B905BB27824CB92CD89F4C9D6C28FE40FA7E98F84A38A480BF849DCCC7EE1C1FABA04E48BD9D0023154A937A14FC1C45B61A8EA8ADDF53E5960C052199DE67F177DE062B7D569137DB6CAC536653F9B83014512A2C7A16367F1F9FC3E41A82D94E99892BBDF445A797BFF8405C93244AC1B1445E88A82B10D1F6D997AF178B0EABB5C422D8D4DF90A45A57F1A1EAA9548A401412E849A1DF8A8BFB5021F31D3B76905EA51FD720564BF341A8685428AC8482895AC1F40752B934A193351063CB0ADB8FA1CF18E625BFBCEFF9BEC37E87202A4A33012C9810D6E9336B7B8AFB4A8E5B7645614465114135D53081C8553B57A704B66AB1CF06B633692953D3346B6464C46E42D16521F70E356C245EC326D4295EDA728DBA397FF48FFEFA3FD2080C315162A444666AB55A1DC9113E9B66F4F7F75BD3D3D36D010C6AE62B57AE58E3E3E3448064EEAB3AD30BD2E7A64B521F36169A1F47C67E26B32C3B9907FADDD9AD2462542D47C2F6215BA410AFA036B7CC7462EA9CA4F1BB9018882092E4824E294FB2FB994DC526A3EDBEBF13DC1A3D789C74A0C3ADAC24A88D6BFDDC4E830CC5ED3FA58A9DC5A3F32F1E2F3F36BB35F4269BA12789EEEA9084CA6AC8999D6B7C97340E9A1183D8B8EF3D19EB4B94E2953318885DA953D7612502432E0563A3A406518A3452A30820BD2AC05A0940476468F1F74620A9B2CAE5B24ECF423DF4539FBAF067A856A9D49C424364FEEC83761AC55FA63578DE4ADFEBF0F76ECE69FBF7CFFFC9C92FF9B3D944457EFC0D0699197CCE0681481D1DA5B0A5A36F48CAA2A8EBD64594836E4CBD9C98649D93110DA550C787B2666767AD26FFE97C310E24DB27DBB97BF76E9AC84AE36D1612231AC7A1D7F9C99C394B1D1A7B59F87035803A5D6735A0D6704DEFE526D8B604A449EF97ACD7EB06113EFE4E8C968EBEEE917D51617135101D377046EF4DA4F7F210213168E5E07944A69B3796F980B41148F683114C0B7B2AD36DF48A09961651A948DDC68057EBAC9D92A357BAC66AD7EFF47791A65F2A95D81B6AA8830E0D0D59E2A52641D67EA3202E1B590E56585C0944C9A5CA1452A397761029E948626E0048C6E43921620685A6A4AFE5ADE1C161B61B1D0C6803C64A51AF1587ED08C4818101EF5D513E15BAACADD6A44E45F887AE458588BA697B1EC8A67723128016F5B2D1D151BB1B15DA25909E27ED8F66DCA066B959CB5AEEE3B451B16D3BFA0D8328C23EFC9D46961BDB76A00B864A2A82D429A3C9A42678247E5D4306ED5C907568964DBD74EAE8F20DFE6056A6116D0D039054E3638F3DF63CDAB5852EBE4FAFB6130E2B51481B7D4367A37FE4CFF3D251B06EB407F0F7FA11082C8A303F3F5F78F6D967BFB5D24449CAD442576016A54FC77D83D4295DE7E8D1A36B56A5BD656D92C8F0240241AA90A207447D2962F2E8A38F3E71E1C2856B9DBE8436EA124AECFF20D0290088805AE8ACDBBDE6FF1983E88877E8B88C9422EA268D369074A19F567EEAA9A79EA4B979C105C12AA1C4FDDF8585058AD4344882F90B22ED7F6C36E9E74512199E48486CB48BA4520DEEF3351E7FFCF167A7A6A6B24135FACA2BAF3C8F20BE4C00A20A35F0BB26455AD6C34A7BCB3AD9A950A9E81ED05B3689A490F8D14B1AF560DA00CD1DC866B31728E5023FB237712233B51717179D9E14BE4120FA63975C255A7C00974560A4361C9FC6092952432B1122C797F4D393C2375012854AA5883A49178DEBD150892206DB7CBE221FEF63FE21C5027DB6B007E01B6813D942E12062993C1F46E7ABD4C6E1AF92DD24B06940935707EC01B809402449642A95FB8B345CA251265AB0DA30E5D008564AA0F7F5F5F558E91BAD4E855DA4F7BDD3C841A1502049D490AD2E3DF9E493FF05C1DD826A7510418B534E68A954BA8C524BAA9688CD8647697A8B9B3F7AE35F92C46835281313132AFA893422154530C3681FC3B8CF249C480F014892480950434343061FF8B57BA4E68D25367E8243AE8649AF8345D781D42B0D3351AE0C0391D828B98B08A08112D832A0D95BDE60490C4823CB3647D52AA3447AA3EA740E85E7C86EA21D6C19D0EC49E12601D1072408200F1F3E2C0507637DD2E7F4FCC34D08621B20FDDB16BFD24F8C7ACDBEC9406C03664756DB6BEE9BB3FC7FDA8DE87B9701D93C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (62,1,'Network_adapter_(24)',decode('89504E470D0A1A0A0000000D49484452000000150000001808060000001589B6480000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003E94944415438CBAD944D685C5514C7FFE7DEF7DE4C3A9949DF74A6934CD298DAAAA5A895A86870D1550971212E8442A1455CC44DD1853B5DB8D49DB871AD3B2952908ABAB02841A148E807384D6D12F23D9D2699CFF7FDDE7DF7B8686B9BD685A4FD6F2E5C2EBF7BFEE71CFE06338388E4C8C888A5B526DBB655AD564B9899B14B194424A6A7A79FAF542A9F5896B55F2975657474F45300BD5D4301703E9F0FB7B6B62E4C4C4C7C343E3EFE8110628688BE6766BD2B28333311CD974AA5FAD4D4D4BB866108D33407F01832008099F5F0F0704A440C004AA9F4B1A1F724A534981949923C51A80400ADB57EE2D0288AE4D8D89845440A80BED3A1FFBF623BA042080900232F3CFBF199D1F78EB45BFECD5EBBBDBABEB0B0542C16BB524A4D446C9AA6164270369BD5994C866BB59A06C0003433F3233D8DC31005BB70F4C88BE5A3CC006B0DC609442A515D27F08330709324EE3A5EB0EDF8C1A61744F5438D37E663DF5B755ACD39225AF8179AA62909C0085C07F3576AD06A186B2B6D50ACB1B6B48C63C75F3306FB7205AFE515DAE45773650B725F0E03AC70E0B90A944EF0EB9F372F97CBE5E33B2A85605366236CACAEA174B084FE721E8EE3A2FAF23358585DC1DBA7DEC7DF0B8BB87AE15B58A31622222449083BEB616D29C1587EB37AEDE19EB214B21300A6618204A3FAD45E346E69A469824CFF00BEFAF96B701C62DFB14144690C3372A084403EACA3D38E7120D7CE3D3228934C6959165E3A3E81FE8A8D9835F60EF6C38F1348A580BC819CC8E0563384DDDE8B9643D8C838E88B6344A902985908717F505A6B9A999919D8D8D8C0A9D367F0FAABAF6079BB8E6FCE7F89A0B70D278C9019AC222E15E0B53C5464194DB78B68B30B27D7834AADFF5EA966B369121148883B1F3163E57A0F9B0BB7D16C3631FE4E05DBC247C771D059BE8C56A783DE10C3F703686D80E8CE2EEF804E4E4E46AEEBE2FAAD392C5D5C437DAB016B8430542DA04A36CCB289C4F7E09A213A0763246C42A48CAEB31F9A251A9E76A594F7ED3333158B452A168BDCE85CA2BAD34014B9B0AB152456159B8E07C31008C308611482B4860186675AD818781A765F80956EA10EDCDE59291149A514672DD02F3F5C7A2B88A215AFD932CE9E2E9F3B71A4FF90E6147EA5079206384D414280B58B762455BFA969AB4DC5CFBF7BC0BED69A841086D65ACF5E5D3AD798FBEBB71BBFDF700198E2CC9B17950A24B3A6AC340409C9CC244810484A5209771922DB67E86B43434389F1701868ADF54F5F9CFF707171D1BD1BE0C9F4C91FCF1E3E7C5828A5E8E1F70FDE552A15353B3B7B1FBA67CF9E647979F98F344D4B4110B8F752E9EE99EC2AFAD6D7D795E338977CDFCFDBB6AD9E489E327342449FDD73F538D07F00057E13BF79D7B3C90000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (63,1,'Network_adapter_(48)',decode('89504E470D0A1A0A0000000D494844520000002A000000300806000000678EE8A60000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B8C4944415458C3CD59EB8B5CF5197ECF75AEBB337BC98EBBD99B9AA44A62BC8434511052A52136D45602A5D882D00FA508F6435BFBAD1FFC0B841268FBA1885F425B8494122B2DC5D605C536AED6DD1AB3C9C6ECFD32B3BB337366CEFDF2EBF39E995927C96CF2417133F0E35CE6CC9CE7F7BECFFBBCCFEF1C490841AD8F840F6F9A833FA23948B45FB80B1FA9757F60940F1E3CA8AEAEAE26354D4BF2B94422E1BBAEEBADAFAFFB380C706DB4AB4019E4F0F0704251943CF60B274F9EFC662693E9595858989E9C9CFCD4F3BC2D8CF2C6C68685EBC35D01CAE3C489134A3A9D2E1C3D7AF4277D7D7D2F209223AD0B7CDFAF856178F1FCF9F32FCFCDCD5DC2707783066A6B676464248DA82D148BC5BF388E93191C1C3C91CBE594C3870FF767B3D9A79697979F5A5A5A9AC5A55E8BB75F29508E0ED21D01C4028EFF58A954DE4444F7BCF4D24B5BA0C0CFC051027002F0716CD5B642FBEA23CA4502B01C292E1A17E997A6A6A62E3DFFFCF3ED8AC0939276AB98B653DFE41D4737445105A87E834FB5E8184591D84DA07287730C56747575A90D596D7C5050E16EEAA8BCD317C96452B9E95474570245A5ABEDC708E8DD079453AFEBFA0D40C1D1BB33A2A9544A692BB4BB33A2FC414495F606B49B7D7E47A0B22C0B44F486D40741C0D9977655F03B7E81CF4D403570375D2814AC43870EC9500501C322DADA69FBFE976E0BD5DBC893D67E3C70DFF0371E7DF2D8BF3F9C78FF13B8281B4DC11F1B1B0BD05643D8C2C0B2AC005BDE8FF0DB68FFFEFD6C13C59735A18E4039C548FF0D3ADA3F3CF8E8F75FFCD11FBEFDC3E7AED60D6BCD75DC0DD7764B76DD2C1946B5686C196B0B57AFAD5DFB64A682C20BB8BBD56AB5780BC313C2F0F04402703F344D93F723244D6042E2A609B54F46B426D21128B74AFCA1D6AAF8C62F05B3531A1CCC1F90877207B6970038ED83BA2C5E7CA51F046CB66BB6631BE5AA55B24C67D3B6ED0DCBB24BB6512F1A466DBD522CAD2DFD6F66DDAC98362815601261B95CE60905AD097186BABBBB3DD08DFD47B463EA118918A879FD2AA943A3E41A16B9659FB43E9DD4EE6C0C30826249A1408A25705AC212204221469AA4C8BD9296EACDE692E311859804E42D0A29C4F7B68FE1F9383E459EEF59AEE7D6B6CAD686693B9B98E1A66B3B1B9EE3147DD75B2E5D597EB760DBD7B0C2B0D51D5CBF845969140634353D458F01E8E4C47B74F5F215DA3B5EA0675E384375C3A7C937DF211716F0E7BFFC05FDF9AD0B64D74C3AF9AD53F441E90A299E033001B9F80FB63232282F64A4448A88D90FECA46B6A3A9592D3F9EE64C1839588B07880B6D0F58D3A39BE4F0145AF143FBAF21B187BB76344E1F6799DA791A2D2E3CF9E21F6A40F3C7698F67EED5ED2610122DF21C7F569D32853EF403FFDFDBD7768E26F6F53229DA043C71EA3D5CB73F4CA8B2F53C5A8D17AB148F3F38BF4DEC7FF21ED5E1F5970E1BC936449991814479AF545474504D84F6A3215723AC03A649B761A3C4E80EBD2EDE44913A2468B8BE76960E03BB438F3192DCECD537E4F9EC60EDE0B500A3D7CE21869991411C613DF7B06491634EF6E9257B7294084D8707B48B3A6EB94102A2D7EB24E018ED5EE346983A04B6D15C496C954D2544EA662A002DE673097A48C2E7337A496B5DCB198584725A98B7A7A8E379A80A650EF3D7B289DEFA29AE1902C99B8F1C738AF53B62F476A0A4C41BA8CE555F224411B1B9B64C7AB03976C8733E0D2E0C124457644752D4D354BF0BA16B07C24CEA1EE794163F90F68AED245FFFAED069D7E56253D3B736A5D4A9DBDAD3CA198D408E4DFC0F13DA89C442A898A4674405D2D21938A9B8D1FFB3A95AFCD2112E01E7758CCDDF54DEADA7F1FBDF2FB57294064458082936412799D92C534493570AF3722DD5A4113615EB26CD429AC0B52FA5C92F70E50DDDA242559205589A3797B79628ED68549FF9DBE48A71E3D4D9FCD5CA5D5A515CA0FF4D281271EC0EA54A2C25037F5150EA292C3986B58F8532F6F31B247F7E1B8715E5764E2EAAFD92ED150863C28859E8072A0D0F85ACC843617DC1838D4AA814D3444949D1CF49576AC7A4E7D9794A5EF3E7E26E6DA8328927D8F3FCCD1A672DD2701394A6A021488C0475477C0D213A05A1B376F0CF02DAF912A0754B6025AAF39F1F910E7832881A16E17901ED6C9F502F2B530963ED17C4073C716CAA987F8D2F4F4342FA569647884FAC0D16C361347CA07B8954A914C6FABA19F4A4458BC500E45164488208AC46F02BEFEF1654A8C8FD2505DA223A347A95AA952B566905143B19A259ADB038E5A283C17934CFA8D2ED2B62CE2ED2D408F1C394258D8C51C7DE38D37E8ECD9B3F4FAEBAF534ECBD24343FB687478EFF6B5EF5C9EA48F6627290975105200EEDA64793A722223BA1A6D59039450654AF727289950A856355158282E489BEDF864DA1E79559B7C7016C21F171C07E07394DB40778CA8847E9C62A04DC78F14DFEAEE42CC7CF15395EAB3D03C1B202D2BDEF288D21A3DF4833DF89D203FB387564A06E5214D25A841A56A50D5E051A3BA6D029C06ADF6C04F37EE762D94B8416C396F9B7A887C726D6DADE54F3B9A5016178E440B1C73B9B59FCD3574B162FB54AC59F1BE1B78542C6D36411A680806F90245147511D3CCC5D85EF160828AF2F98252DEA9EAE13B83A79F7E7A1B287588A8401FE43F6F816B81851BA2EEAE6E448A391AC4E9E4FD523EA2CBCE3C2D2A252A6711C902917D7F8AFA550BE20E7EFA5E5C680DDF04A313C60FF0C41D05FFF4E9D3B17B025F630DAD5B752A1B55E25509F3DD463FCF174C4AA3298688966D8628883465D0A94422452E40F28D1B8031B4886A7B249C93E38AC73F37D667D73DCA66B2B13CA9E510EBB51CA40BFA2B0B013A75068A8848CDB6A51E3F7E9C1E79E411AA56AB74DD98A58B1397625EFA668D1CA34216F665EED5F71F42D45DFC994F128045D8B75C99ED156EE853D62B636201ADA1BFF7845572B8D8421505EA5231CA9038A0503D9F27337892BC4025ED8843FFDC8273593B704192963B577DF3016E5CF5ED2E5CE9D1249B9A91012F03E150046D0C51C181AF203A301AD80671F4D45843F369741ED83A943305689D7E378097C06BD8A7848AEFCA6054AFA0AA9D20EA8224467D748F64918095F43199C5E5CCD61D7514BC545BA619822EE07BA4424E05BB611672050A470762E2735ABD7804D48FB96DD69C466A312905F472D110567574213D8CAFAF0E261135854219BFEDC2047DA98DF3D023B351482A26C2757F478E32D06D19623B1672130C69E2AD8BBFB62BD63429C209BC20F27D5F78B6934E0967ECC73F7DF057453DC3AA127B4B065681FC8CA5799A72BC80951AEB8078C20D8801B51AFA7A55727243B29A4D92CA0D232CCB89BAA2441D81429698A3323F666C332928BF306E71D595D2DBD7DF9D7A1F3DD96E3EFAE1F57F6FD81D1D3EDA9B4101C810771572D368950AFABC0B7AA4527A0CC843C1704527700D6B265FC3899361AA674A09AF3F1B6A3DBA0FDFABD2792B3132FB572DDC91A30026DFCCD152CDF2ED20F461ACE661ACAB737373BC96115B5B5BF2E8E8288A305AD0137056B083FC3448511B4055552185C1A3014800A80228370F15D771C483A0E1BA54393EE76BBA126532B2C2DFEB89B0C60BC11D817244DBA31DFA81F7A7977FF71CA238833FDFE0B724AD970ECD4794261667F317FE619DA95822C10989A448D1E05C22852528542309CE4996B85149A102A8A0170806B114BC2B299A2C15978C0D451129BD5BCF2809CD5D58B0DF4610DC52A97463EAD9DBEDDBB7AFD30388102037C1C72DACE99DF637234D2BC6D1ADBCF65ACF0544E0962682DF4A2D9FDBF674F09673ED0F8A79593D3838E8C3E2F16BA3CE11E5B5385A9ADDB65CE647E726F8E80368D4210322AE8ACF5FAA7DD13735F1DFAEACAC6C3FA0906FBEE1ECEC2C4B8239313171BE254FE8F95350811A7819DEE9C986F8E29FA83944FBBD3AF5FA08CB0D13F6EE4D148A011508CF9D3BF72A5251E78CDD55CFF0C11B7EE9554114592783E5E5E5398FEDCD2EBC5FDAB133358B23807BDABA74E9D239ECF772A52F2D2D05BBF9E256EA746F2E88F1F1F104AA35DD5CE85900EAEEFA4BDB1D9EE34B6DD48876FB35F8FF014D1ED598C339C5660000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (64,1,'Network_adapter_(64)',decode('89504E470D0A1A0A0000000D49484452000000380000004008060000004FF7B4B20000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011534944415468DEDD5B5B6C1B577AFEE74A52244552B22C47F24576E4C44EDD24B69B5DEF8373018274BBD92D8AB68F4190BC7481BC1479ED5BDEDA027DE84B11044551B4301A6483A65864936C36DD6493C57637B16CA7B11DDB921C39962C5122C5FBDCCF4CBFFF0C87A664D9528A14B53CC280C399C333E7FB2FDFFFFFE71C295114D1FA43C1C11FEB6ECB86D1463FB88B0FA57FBC09B0E3C78F6BE57259F77D5FE5FB866184E9743A9C9999115DA0E17601DB03D805A78D8D8D99B8CCE0FE80AAAA297E2684F04DD3F48220F05CD7F58AC5A207B00103BDDB414A8009B8919191F4C0C040DE719C6100DDFDF4D34FFF4926932954ABD52BD7AE5D3B7FE6CC9959806E026843D7F5F6FCFCBC87DF8BED00509D9C9C34DAEDF6E0134F3C71ECC891237F313C3CFC479AA665FA1B0358BBD3E94C552A95D74F9D3AF51368B275E1C205FF6ED6A29E5C406BEA8B2FBE78627474F465F8DC61060D402D682ADF7DBE020D07274E9C383935355503A6771A8D86C5B81302BAAB01160A05F1EAABAF7E9CCD66CF846198E713E0869F7BEEB9179F7DF6D9EFEFDEBD7B04A4439EE7513E9F3F0001A4E18FDA066C7B571D6A1202606A01FCCE06B09A6DDB8B60CDEBF0B7AF3FF9E493FFD8BB776FAEFF47F0D35198AF01A1A8773B8BEA09DD33CFB03F754DCE03B9F0B5313B3B5B86CF5587868646FA050341F0A9DCED007B1A886E1E1CE304B424E08B018007209FC69A881FB7B9EBC1AD01B8FE48A5529165594C1E117C51ED02EB0748DB1A6037F8B3E9322A6D030D46DB1E60728050D6038CEE090D2678C0A66B00825CB6BF89224C24E6C9A6BA9189D23D6BA24935712F99687F38B93734887C53B22894A76E4032F78E0619E43D49327DFEB79106F9E06A43EDD6CACAB605882C46610DF6873E562030A580DB449561703366DABE53ED3B7BC7FF6BB974070D2A00B956831499F81882062D541E3AAA10D734CDA0D96C861006FB6D88934D3BE2B91C4EFB90C82761275A3F91B5FEFADB4C24360588A45B6AA4FF9D03C5C13D7FF50F7FFDEAB52BB33FFBF94F7EFAF6D2B5850A6A459F9373000B004CF0276E09D48C0C5C400802F743082B4C04C1807942EBFF5210CAEDA60D8F1F3FAECFCFCF972627278F9D3A75EA5D36CBA4E0BDF4D58C6F173423B6F148E07ED3B6DD9AE77835CF75575DDB5E753B76A5D5EA54DA8DE64A6571A9FCF59599E5A5F9A50EC040F181582F08BE46DF0104D013049FF57AFDB682E8825D0F7ECDF4E6A61A2C954AE62DEEA3DC2C9506D2B0E2AC5E524B7AC90B72B74DC143BCAFE3FA4EBBEDD66DC7AD398EBD6A5BF6AA67DBD58E6555AC667BA5BE5A5FA92EAE9417BEB8B202B0BE102200B09E3058328EE3085840D06F110C9CAD026E22CB3C9EF1C398E58CDF6D01A223D6AE0269DD0478B35CEA635454C7BE42ECA5A61EDF0F8482732D38B680819492CE65CC5D22327679FE0079222411E259244820B4723B81769627A246DB69C21AEA9EEBADBAAE03EB70ABAEED545C290C6BB9536D2CD7AF9597EBF34B75B60AE60008C46DC16C4647473BE572D9C5B885BE89FF29F97C3EC500C3B3BFA3A9B96BF4FBCF3C4B9EE3A8673F9992DA5281EC3B3FFA1E418C546B29E4D4DBA4041E655042EE3B30418BED559E57A5D013A4664C6A39018084A4A91184C26C1C91E5C3FC8350DEE7732045CAE040BA1045A90200EFF3011ADA5F230CBEB63C9FEA96EB410875DFF56B41E0571AF3CBFF72E9F50F7F3A313121E6E6E6C23B02640D42321C024819DA4139DB95F73B6D8B4EFFF6D338CE00D8C4A3FB696CFF1835CBABF4F907BF2114CAF4D4534FD103DF3B44EFBCF1F7D4AA37E9C9279FA4C71EFC037AEB8B5F51B3B24A46A491253C0AA280B2199D105CC8C8A5A5163D2F941A0F2590903851346121214ECBC3F380EF0B1A30551AC9E7CCC5A6BD73B9493BC1DF0FAA86FE05ACEEC36C36DBE6A997DB0204FB29DDAAC2946EB7EF7E7AE0BE3D9268F285417AE64F7F0874008E93071461208EEBD0E2D2A294F0E5B9194AFFFA43FAEFB39FB3B9532693A183470E4353829E9A384A478F1DA346A349ABF53A2D2E9669A9BC44E72E4DD3AE076DBC0C9A8586971BC312A0E802E5CF94AEC015142980961B928DF10CA6212C4FA3D50E48D0F5D9E252085F72C6EF8E1AE4492598A91E27D8F300A2C1A40609B447B57225E61B4DC5C01F2637D0687064884EFEF90FC8755CCA0D17694573E8D0771F251D32CAEF1AA6F7674F93EBB9B473E74EC9C6302E02A192619A34582892392DE8CCDB8B52705A364DE97183B46286865337A436ED20456DD7A0BA6DF600F3D88673060D650DEAA0EF280C38A4A95B8A836CA23C3D1883FD886EDC18A0F1F13FA476B3A59C3FF3795259D0FD472769F8BE2CE8D4A685E939DA7FEC0045F02D2D9DA29143FBC8B16D8A521A05302BCFF7A4F4191C8852024D4ED7F568E2300F1C16C4FE9875C80A5374E53F1BCC60A496300EC52565BC40AA2DE8406A86E69B055A9823B21B2DF8BC4925FA7AD7FC56023D1859E9FA601CEFD43FA3BD7B23DC0F494F9974E4B1A3D2FF34BCB86DF954E401F96DBA76FE320DEFF0A851B7A8B658A7838F8DD3A58F17E9C0F131B25A0EE5260FD317E72FD0774F9C9020DD041C4EC777C9197C10BE3E43666051551B833004ED7D38221F256803A96F36DDA156354D850597D45C9986E16A977EEB516BB1428FEF2D92A1CD1EFB8272D19633192619FEB4159266D24B625545C6D4D00749E453D25C0AA5221DFBC149F2AD0ACC5225556B426B2AD81283EFD8844086DC4FA5B73FFF98FEFD973F83AB71A7E853C496603C3042697CFFEA5C207D3A7B4250C659A6AA374883CA2AE502F8678410E4E525170402FD0DA5C81F74C89EA9E17D2558B7925440D13732D137C53B347826A2A71FF93E3996AD9CFFEC5CAFDD9E47F64B566B23EA8C1F1C23DBDB4985AC027F7918038DE83B130F4970F1E262440F815D939020BA6CC9A983ED055469BBB4FF893C1A0A5AB004552B1A09C7A3FA3238031D441983CCA22701C29E1082208CAEE0A3F82F628BE8743A5BD22027DA12E033D149D21EEADE84F6F61F3AC89222D5D0A86579189DE8B15D2E438877826A1DFF1616147DF41F7F8F7F3794D53911A021E41E221A93CF87D8D20E96A8986921A734E21022545AB90A93FDBACD84D2EDAF7F1137AE61373351857D902F902AC936A3DA08F9D998143404ECD10727D840E3D2498F09E42600029D13076CC4AC881CF8AD87601F8471FB7EC0E325447535940463434E8B0D6BCD736E7F6D155A84390B0EF20CDC150435C904E21680EBF2D34D4D14B6ACF7C546D9692E97A7DCAE1D6480FE351D1227113324CCA5E35890A0430D689435C5124D1B885DF0BD40A662AA1440085FE293339446AD4E416511EC3841050CF8F1E1631270BB63C1CC3B845C952CDBA26B5A9D2AF990EA2D8B0664E22FA41FDEE486A87F16626B3E98B0E84B2FBD44172F5EA4D75E7B8D0C84CFFB87F7D1EEF131BA6F74E79ADF5C5898A5373EFD05B28C1AF92C759854285FA34AFB91190AC51A8ABA0268D9B8AE4370BB11DC6B1645C368AB22E6F28977F1AC6584CC476D8258B2F80D6227FBA065711C0D7AFA8A641EBCC57A90837CA2414EBDA6A7A7A5F63834447798B5676B61A99AE5AF286B76304E2F362D3C30530EB4A8C864FCECF2C3348678C666BB6F4F81C2DD21356D92B966A3D944D8F04114D06027D6205F3B912B5919A848971A746316BE699E3D0D26C3D94A456FBCF2CA2B32DDEA7EA73B95990C3E4095303365C0CC3232FB61D38E4F3673475EEF3851A6E248964A033A5D412289680321B4E5801B08DA0E061F03B4BA003BE49AD0580883820059831C3B0D06B87640D20713905B61517D6161A11F306D56483333DECC4EDC5B4E3653AE4258B3D50EDA06A2C7A60ACE46B341B6EBDDA24151887D581171FF0AB932114874C798742D8AB6C2A26C8EEC7FD2448F1E3D2A4D34A91EA24D169698701230FDA998D7653E946052506118E7929281BBACA96811CD5FBF0E8DFA712A07A01EB4255082799974EC3E22F6417074DC0769FFBB39996EA0D75F7EF9657AEBADB764A79B693019F0461A949508C0F1A933FB4631D12400657C34159A3B186B0A85313E218828D50B05BF2756E8B26A729543D5AA474511F656F7226892BBDC328B263EC85A7BE18517687575951746A5162CF852B3DDC2775312439278B7AD0E8844D0A193488A43900A246F5921D56A06E506D2A4AB69108F468B0C301472E00C30DC202188E3A058632F2BD7D364623CA87260BA48EF1A11656D6416D92245412443D096E3A04C5ABA73A2CF3FFFBCD4086BA161D7E8D71717C83A17075936127B75194938D3BC4FD9119D16D53D648C6420538FD306E498782718D50778450DA85DC5E0BA5314E3EA127D150CD39EF40ACD764AB4375FA5D95A8146B22D6A3B26524083F6171AF455A340DA232A79E534ADE05DBA789C664596FC718F7484AB5F2EA1746D1DFCB9A294A32D870936D1F5CF32C534B5E0C736E250420EF6D525CA96907F7ED9A6013547BE62501B5215A1D14DCDB85D66AD8670CF8789554F438B4704AD7C06FF3D2468F91C62DFA84FCD1583E7FD887660DCBF83191EE24C278BCC812BF11C09354B4369171544288974A53D404E3D5C74DDAFD905A26F9CC9243EC603E4D43965706DAACA8C24F3C03E593EEF39093FCD6AD22DBC0C13898A802F9044FBBD54AB3F1765F31C7A54D0AA17D28E231EAD203BC9ED434047074C38850C4C3C3069E7619B2A516EEDB4BC0D2B5842CCC56F7CBCCB181084CA33DC128BF6F9E02D6DE03132D7E42CC4F6E30147289578C0EA401CD47BCBF84A488378B9A9A79193065D01B1CFC5A6CD00A7BD92F4B58BA224FB9FA7C1F84510602B90FB01E9623472AB9521E6E7F31EA928B704B29DB41E503352C22DF9206B8F4BFFA49A581BE742008789DA017D3935FDA6556F9D8F54C51681EF0B8C98D32721A031D74FF91DBBF8DC73A33FBEE01D1CE6845B9A67771A91C3CD4ADBEA91CD373D84A1D2F54CA13B26358EF7BC814755C3CD58544940AEDF61912CBEF0B41D4BBF3AB7F0E1F5DF9CFF88F7B5F1D47DE2BF202313DA2FA28FBD8FBC9CFECB3FDE7946CEBF70D7AC454D43CAE60BE2658F5ABD83043E4D5CB8C82400E518CF1CF0A79C938DBA73B14A3227AB10EF6CF9AF69A5B27F2C353892B64CB6080D09FD07BB8DA37FF391F24F5D1F8C362319352978FB631F836BB99EAC0ED06A116DAA88736D5077904C77E09A772FF2F72CEAC740C360430C802BEE50847230DCA5868132481DA183EFC91A9381B01B6B6A2FF98A949B1CC01EA6C509878FE61824FF2EEE9334C5C378C4A624532C1615840565FD0604392FEABA4147F87EC7F159E0375AAD9655A954DC72B99CE4F2BCB6C10B2F1AFAA8425B5E2A6D90CE5A01109100E45A1268F2288132E994BC66DF6521B01063105D574EB076031DC766DD14B66E1A61261DD78D2C24DD50DAB8760B8542B8A5389868B0FFA89FB9FEAF6FBEF1C63FA2A31B00513B70E0800380FDBB7FE5DEB7898909CED02B9F9D767E7CF64B651C6CA0A300D654E9DF5C12458C805711B548F1A5ED292197BFBC03095DA842E1C7303F39D5C2FC18B2C2E40E25A15CFDB231F3693E9D1FDC69EC30542534D28A3D7BA5F33E2F614C4D4DDD796DA2AF5CD236587DE27DA2AB4897EA4B4B4B363A131BACDB47737373FEE4E464EBEFFEF6D22FB2D9ACCE7DDE6E035FD7DF7B9FC918D6DFEB6F873E7BBFE76D67C89D7915CF3D7CF8305BD39D3598ACDF6D64A278E6E005B6C7A90DB12BDEBA29A1BB839137B2731B7F6565455957B66DBAB4D7FF0526DF5B14DAA83183ED2EA9850C6EB3E533B91E67DBB68F0E6B1B2C6B3BC8495D5ECBBBD39EB57E93DD12A23B2C73F3AE8FAD1CEB17456FBB468F02933563BFFEFAEBFFE6F1E44797C160926548EA57ECC8FC6F06DFE67273F42D1C5BDD8410CDCFCF239E87F6BBEFBEFBF9F9F3E74F77E93FFCE0830FFE19DFA771ED6E871D4FEA1DD41C2296F122629BA9BEAB55F7BDF7DE7B1F0E6DDFB871E3AEDE8CBE955C54FA20E382BF795D5663ADB6C09E1E6D837F0AD90C6084CA3B40106F57ABD573972F5F2E22333181A9C6FFFDB25D36E429B7534297D1D4B1B1B1142AF81C027E8A9358C49AF6D5AB57AD6E7888B6A50FF6FB217CCD85261B00C72B9EABA55289C189EDB2EB57D96C9C7DB149E967F3EDB219EF7F001FB18C82A58423490000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (65,1,'Network_adapter_(96)',decode('89504E470D0A1A0A0000000D49484452000000540000006008060000008380557A0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001F754944415478DAED7D598C1DE795DEA9FDEEBD2FECE626922645911263D13635E3F1468F12616CC09981B3F8C1405E922002F260C44F49300F1A60E6213230C8C30C3C40222441C6831960A031AC51EC2C1622C9B62C531E5324C5A529B2C9DEEFD277AFBD6ABEF357D5EDEAE6ED66DF963118A3BB1A85AAAEFA6FDD5BDF7F96EF9CFFFC55521886B4D32261D9E97CF8B80BECB345DA0E8F149052B25EBC78511CBB72E54AF2A1305E93FD7D0FF02380A68094793D75EA94DCED7615D77565B495E236A12CCBA1A669412693098686868218E4DEBA5F81DD04680CA61403A9B45A2DD5300CDDB66D8D97200894B85DA0AAAA8FE39EAEEBBCFA68EB67B359FFFEFDFB3E9AF8FB15D41EA069308F1F3FAE369B4D1DA0652189591CCB619BC1AA721B1F0BF63D6C1CB47100B40350790B8C6D677C7CDCBD7EFD3A831AEC3750B702AA30988D46C328954A39CFF38A00A904E12CBDF0C20B5F387DFAF4571445C9421AEFA2CDDCE2E2E2ADF7DF7FFF26F61BF878D7719C0EAED1C167BA9393930E40F5F69BA40A4013E93C77EE9CBAB6B6A643FA720CE22C96CB972FFFF3999999DF81044E6EE3E5592C174DD3BC5DAFD7DF79FDF5D7FFB45C2EAFE21A9D85850597D57F3F01AAA6C10530121C8CFCFCF3CF9F3E79F2E4BF29140ABF0DACB38FA155ECAC0C7CEED89933673E055097BE8B058ECC012BF0E0ACA41413D857808AE5D8B163D9A3478F3E03903A9665BD0749FD18ECE418D4B9CAED21A9A38970422ACB13131374E9D2A571B49B84892048F37390CE1FE472B90E2C013385803560BF48691AD090E9CFB56BD7DAB76EDDFA33DCFF77D91961CD02D03CC0CA82228D7EE52B5FF92A18C073300F23007E12F69218485E79C13566B1AFB33D4687C8FBCDCBCB29321E423D03F6D0589827B5014C1DC7AB90C455ECAF61BBFC9DEF7CE7CFCE9E3DDB814928F60BA28AC5E20C1C970AF015802DED4B40D352CA74677575D5C1BE0560DA00B10970EB90D275A8327BF3161CD7C27617046F2DA17F4410005A9550B17DB3A8E9983C963821AD20E8410C8607BBE8F139AC06030DBAF430F5B97EE1BDCCD2B9EF25348C9718D4208E78BCA5A5250F5EDBE305A0FA376FDE7CC0B6733B1A15D3B17D07665F2FBF35C1114B6D00F5676FCD521C743A1D6B3BA70DA0F7757264502F1CC67652D921AB171C003AE00240D5ED008D55FE00D0C7C6A850F70433CE3CA5014DABFF81CAEF61019ECAE3CCC201A003AAFCB668462A2F40E524F401A08F517B0E31E1F1E5C7007A20A183787A5DD7B795D0031BBA17F2AAAA4A1FC93CA04D1FC129C9DB11FB0395DF9B84EEE4940E547E50C7D44FE50F00FD25DBD094533A50F941A325D026651BE93CB0A17BFA902C3F2E523A48DF0DE8E5D5AD317C9A87329871C65E8E3B2DD812FB87FB5E42536124E74477744A3CA68445CBE572EAE1C387B9AD127F971C590E498ED71D977D23A13B39A5781C290B5C7358ED66B329F1C01FD73F61E59AA8D0300CD139D7AF5F0FB72454D2921BA640DD51A2FF3E49FC9E00DDCE2989739A5A80DA0F6175D9E167B35983EB9F78289519001799398EC3D42B181D1D15557C49351F2E2BB60CFAAF2AF07B01546295DEEEE4F0F4F893BFFB272FFFE1BD5B73AFFFE0CFBFFBD76B0BCB55E068713199E7793EF645755EA7D3090098CF432A00510CAF589625F67941DBE05711F85D039A1EC14C679BB67E378813E54BC5A3E73FF9F17F7DF6D90BFF626D71F1EDCAE2DA8D76AB5DAE57AA95B5C5A5F2FD0FEE565882F9B200868BF918586112F8FF18F820013E3E1E24E0A78187E087003EF8BB067E3BD00792D0840AE1876A3B0870CA34C8C6ECF123974F9C3A7CD9F624EA517EA0EEB96ECB759CBA63DBEB8EE5AC9BA655B3CD6EADDB6E575BD566A5B256A92CDD9BAFCCDFF9906B01FC0478FC864DC0C7B1445FE07960D134CD4DC033C0003ED80DF0994C868B3FFA019F80FE48D5F6C02A1F0DDFEFE0E5F19776CF393D241F40E6F01B65291523905282EFE2F56872D0833FB35D89BC5468E0F99EEBD84EDD16ABB96E75AD9A659A35B363D63A8D56A5516F54AB4B6BE507376F95DBF5B61503CDDC4D981776866CBEF9781015B0FADB018FCF31B84102FCF2F23257D23C023C576D33E890F420A18409A8BF742FDF6FC96921B9106E691B0DF2614D1C51492A91810EC8CB615418108AAD16E4D5090AD58920CC10FF6CC7F7A96B8764B92105FC8783BC02FA8E637975C7B1D6D109EB0E4BBD6555BB6DB36A3621F7D57AB9BAB05C5EBEBB501355C3B1C433F05CA0CD121FFF2FCC4D3FE0616E7C5E6BB59A074AE84E4D4D7185A168C3A00EACF20053DAD4115C24B6036514E9668866B325D16891252E7D3D800353007C485343D2D5A8C6828F07621B81C59D1FFDCFD21E49BC01A39335A26BF077B0350A48CBE396F24168CC72573810F5B6E591E904E4871BC0033196DAA6C7A03BEEBA0BB383B58A0EA83800DF6A772ACD955AB9F160B5D22AAFB7D3C0E307B2ED77C05EB836C15C5858B0F8FFD80CEC5E4253A1A4D4A34DB645E5DFF92CD92FFF579A38F6843864D6DBB478FD16894E8E4DCBB94F7F0C06694400D1EC4A9BACAD12D824B936150B43142200B31C4B988DE4E6A3FC402040B3BD102621E0C056809F6EC38053983A863F0D7D3F565005980EBE3CBA167740A084A48E40E247F818F81C354C875A001FA86D5C139FF3FDC086E4AF7B8E57F71CB7EABA4E2570BCB5CE7AF36777FEE2FFFF00921D42520300CB37EB0FAAF2C92C100168B8BA4CBF582B53E9C33B3D409B8D06DDF8C5FB0933105B3DEFD1F14F3DD773583E7EFCF2D5396A54D709B68B2BF6E81BDFF806756C935EFBF10F29705C723A26EB363DFF852FD2A2B54EB7CB0F890D8D0EF3A148610FF408CC20060AFF07E23F0160C7C67EE091A1CA02DC0D490F62A98E4053A041878733C4DCC574614EF0FDBE9007712DA3696AD3E596392D6534526076F87B609B4E425B7FCC120B13E026C5C5EA204026921A4F5E20E9C8710ABFFC4FE8F4C54BBD86B66513A2A374868A3A6D8BE04068A4581237B134374F776FDEA676BBCD911517F9C60E2C43F7DE799F1AE8143E7EFEFC793A34394DA3DE18DD5C9DA766DB2473A10A5075EA7A3624D6251BEC4BE88E2C930C44D49C41D9E122AC4C48195DA65C46894D8FE8821844DA3027F873611A6A6D5780A92912E50D59D8FB4038D89086722A1CA5466B2D4B7480B0D79EA3E25A05D8DD76A150E05A5869CF4EA9E7E501D6F3FFF1F745B12D03C0CBE8C4385DFADCA7A31B14C58C320D4FE6C86CF17C8692902013A6626D6D8D60C7085E97EAF53A5DBB768D6AAD06CDCDCD89E3F0B462FDFAD7BF0EE7630BB5AD7C304FFFE93FFC1E3EE350C7EC52B76BA2533A54AD55A952AD52ADB64ECB6B2BD4CC382467086A1C0A35767C0688B74A0F90206553D9FA6674858A5974882C09B0E379410058A6BA69D3705E874DF6A8D2B12353E0050AEED9E04411EE5FE672FA3DF1505E76F2F26A46A7C2F42805911844B86B1A4D4C64E27F259A3A364B874E1DE5AC1515868738BAA26BED055ABA3B4FAD768B0A30012353E334313B4DAFBDFD7FC92A28D18D5BBEB84937AE98E695CD8A6E6468787884744878696898DEBEFD339A9C59A0462B4B5399BBF4C07B86C6A4395AD43F29C008B700CAFB76D7A7F54E90B2CBD13E3BC927A74BB4062D1B2F1A6443706A1D0B26C113BE04DF2FA713397B8A94E2EC119675A8E78B64187FC4493D71A40529997BFFC6A608EACC27CE50E6C4B470483254AA303A44CF7CF612356B750188A429F0FE3E4D1C3F4CBFFED517707316045B222D97A125AF498AA945CE22557EEEB9D1360D6EF2BF0B89BA792D4B0128C5F55B2A4DFC7A48F7DF9769EA1F0502BC9CD2A0C9EC2275FD1CB9F0CF19C3A66A2B4F559896472538A0FBB5160D677572F11B87B21A55607AB61B2EDF13B1E7585EF4727095EEDDFB091D3A749B8686CE89F3DD6E97565656D21D41DECF894E5C380DB50AC11F71CC6F5375A54C1028CAE48BA4183AA9E041907F1A3A344EAD6A8339258EE3188015942776701B00FA1BFBEEE6FFD92E2A3A4207B2A83482FFD0FDF9ACD3A34E95059FE66FC05ECE28E4B74C4EF0E21336A967831E90614A82D7F1A3D97CB16373F03D7C1DFF97157AC64B3C45F1296AB59EA233674EF6E2FA0E6C1ADBC0B8E2591C2F8E0CD15AA543B3B379704270D1EE325D79FD4DFAC4174F90D9CC52AB1ED2C96727E9FE074D1A3F9A27CF827D6CB934756A82D6572B941FD529D0F290527F93246E95CC0D3310D2C8D9497A6AB682EF1BA7A6D5A2CC8551BABE148305BB180298100005704432A42FB01CD16999A647D9BA4BD323B7A8BE60923EA6D05B6F6468B1D586ED36716F36BDF0C204DDBFF7C1730F48DC63982AA4DB1DA0A00490C47B8FA4EF2469823EF399BFDA340B64E2D0145DFACDCF08672473B762D5A1BADD26A4B298831D0AE961396A2BC30B371FCCD3CABC49474E0674FBAD9B54FAAD33D4BCF78056176C9A3E7286AEBFF6013DFDC563A41D3947ABF51AAD95CB3031994D52EAFA5BA416F767BA2AFDFC6D83CC304F796785EAC553240F47F6532AE8F4F97FDAA1771F1EA74F3DBB40D7964B7462A2427F539922B5E992D600772F7AE0C600309B27E3C951AAFF640554AEC3B693347904DAC6A3116AF89125140E494EC7F2E1967092298C0430051F0C22BAC22AAD80C3B1AAACB5429A9C9EA6339F7E968CB1310A3F5C82EAC307C7637B9C760199A65C1E34D489AF0D76C7DF33F3C933F4EF5EFAF7A485F0C638C61E5891C10D65DE2AC2EE762D8B8C8B87C577555755D8678FD6CB3A654E5AA40E19E2F75C1C79977EBCF42C5D9AB8427FB376864E16EE53B53D44B3D2436AF8A3116BC18FD734B00D74BA767A989C1F7541095B717E41262E8E4F062ED3457103474A31A802D095B04C5FBBFFAFE8CFC7BE4D592D27DA75EA4D9ABB716BD3678F9C7B82CE5C3882102BB2498A92A7272E9E81648534F5F15FA3239A4C3EA4EAF465D0AAE230158E1994016F71951C4D3C751CD2322C38A13194A7A7BEFC1B7DA94FE2BD8BA963C387642A153AE48CFAE4142C6A8625611BFFDF9F82AB5EF6E887FF3343EAA590AEDC80313F0C2756EFC217048202B2FACB32CC02CC4C72ED64C92350413B1C507A07930CD5AE011D1919A10E445E8E1601E8EDF01E2DBE7797E62FDCA727679FEAD9D0D5D555B18F7651B8875EFE079F7F46543DF10D59D896B2510C1E84A374744C06670C687C62580031395112B49ACF4F4E4F6E0A2737C2D1AD514F2038A401677467B58D68076727A7C8D4A0B605CE60C15E3A91D3E19088B580C315C13741ECD971719AAB6787D1AE5683D4E711FB53B0292DD96CEA54A908B6146ECD990E1C7A727224B1A1CFD093F40FDDDFA053874E6F8A8C4647473706F7D0F4D08963B4B00CC750CC6F92AAB122A4103756EF86B4D6F41EA12B69E9DBEC791F3DC7DBD9910C95AB0E4D41B5D91B87219C4D988B3B6203F873DF18A31BAB453AF7CD117A6F718C3EFED926FD7C61929E79C1A7FFF5977E4F4267663AB44485A81352125A2C39343E1EF4C01C54E5A524AC4AB2F589840E4945FAC37FF69F37392526E94F1F9BDCC818C556963DBFB69554B3D4300509A45436E851DAB2938ACF8EE851DC8DBF0CEEA6039EBBB8DEA58EE36DDB09736BCC373BF4C1CA38B62DBAB38640246C93E94F4378577B91DF871F66483B1108094DAB7C2B96D074F1C7C0C3C84CEC755D179469A7413A0E39994F26E9B688AF0664E4B362EBA756CEF2B0E2E60D89268A324D14641AC9C99487DAAA0AFFDE8DB68158C3781BA4AE158A644618C281F8265884B6A99DDF678DC0DD587D4EE9617BAFD2122C2191D013275AB1E9D95C0C93CBB10D0D43CEEA393DCFB947620F2C77CCD817860A30B8919A71AC2F245412C9C29E142652D3EC72424482C4D83D0992998C40830C70C49CA1881EF745A744B2EEC7200835C6310BAAADA3EDE2C2328D79F37433771EF659A3C3850CE5EF4B74FAF859B24C130185499663C7AB4336020707AB0DCA7577A4DD4B54DBB64B7AECE5EFDE35483E1E0A87996633AE2B91656DAE59E0E112360103D326A1EFB1842E2C2CD0D5AB574562E34B5FFA124FEDA621B548A7264E21B6468C3E5C424F96E2A4AE1F4B48B4757C97FEFBDBAFD17846862D95D106E0071BCE2701DD8F259D7AC6231A6211F53E9C2982BE67750501864C6BBF5028F70590734D82B4B5E9AC050E0AFEC583B4AAA6936E3B00DF466701540B2BA2232D4067062D015A647E122FEFC31798540B8A1448C126D7C35A1E9BCDBD3BA5249667094D6CE88B2FBE084F5813E73FF7B9CF459E3D8E90543431541DEA9CA57E4520891AAFD43DD8C10FA96515008E8255C62A090762BABA50E9ED1C119B04F6ECB57628A29ED1098B9FCF1103130ABBDD41286C0148CE6A5958932D031AED3BE4E501A01C7FCEF3631EEA53B38DFD2C475421ED34B2BCBEBE2E58D09EBC7CA150D01380D25FC235B8E2FF5D56D070B324469F926E515ECA920B7D577597B21993A646CB20FB88A4CC3C5900D60B351A2D366828DFA2FFF2D66F930E1B3B5A3092671A51213B44A5536308330D91C098C7B55D84959DAEB9016202A800D3E91D135A134BA8071320B38462F5EC20A257EAD6EA18107B57EA39A481434FCEF5B184B2CAE7F37991567AE5955744CFA4E9D260F50152CF29BCF1EA09214D2226C7D675B3D82F6D3966611F12EC428D4F5EA54FFCE34FD27CB523A8124BBB0A63DBB64ED06AD3A4FBD5769C047645B26603CC08444E82A701160E4C8EA53F952F182ED954ED33652007625F1A0E93E1E48FE69400A87EF3E64DFAF6B7BFBDD55945A9B85D4BA8D4B35769E07AC98E3EC77AA4DBF77BF68EF919039BA652894970DDA0BFCA5B69F587CA7B2A71641E7582CFCF5112DB3BF7400D9F01F537365B4AA64DD5CA6682148FDF0F1ECB23C4D2FA1529735494A8F26EC7543686137606307D4E9453AADA06EDA1B06F0E5300EA059B543E0170C37E466BE0E785530C628A17A5007D7AFA698BE6FB149794866C9A9C640CE4C19223E94C7412CBB38472A6BD1FA011D0BBAF420C62FEB71380E97D96BE6C362BEC75F2D9F4766B30E06E527927653F37ABBC17C016C78427609BC9120AFBFBD39F86347ED17FA4282722F6127D24629F60CC93BE4E9F3E4D972F5F7E04D06498761040392BB593CA272B5F1B5C4FACAA302F9B497E1093FC3481AF19363DA83CA495C632D5BA6BD4B2EB6423220A409B948C4F59D0B5FC08C054E5DE13137DDF8F73AA3ECDCEBA8F907A5EB2598F8AC547C1DCB5CAF3831C92AA647E161EDBCB975E7A897EF4A31FA1C7AD9E0D4D68D35E2474275045E21740B274F2CA1A92A651FE36F17EFDB011EF2B5BC2DA34F58A96678756A9DCCCD00A8F9CEABA289C585E06706341CFE6278B69AAE0BD3D2DDE5BFA2E458FB48426A5BF24915049DE3DA0216DD8D0ED406589611013E9E45551A3E28528DF940E231F9754D90C6A7A99BB3E0467C4C51188940C43F882F1F1901CF9D12A43C3F0117EF6AFCE5377E93FD24EA9F7F081975F7E590C01F338FCD0D090B04736C068996D48AC24220CC7B3A3103495768B3A40126ACB91D0575F5CA3C5F290A8EAD1141FA163578476E55A06E02A22A00B0295464B6DB29D80E6AA63003A5D9A13F495BEEDB252FD636AA28CE489EA15EE34FECDB8352AE61189FDAC4A6385C364AB5D48678793CBC4FE71CBF3BD06CB8726915222A1BC5CB870619324B1FA2FADDCA3A5B5FBE2C67BC1626CA07C806B992E19232A423A80CA794ADBA7B7EF3E43A1E8729FE4C0A3ACDB45A808873421C731BC287223AFD0A01051545B6226E3C759A0009DE0D053334BF4EEFD5901DA538796E9EA6294473D3ABA8E30B424809C28B6A9DECD90ED45A988E95287569AF9C8AC1D536966BA41377E3E429D9C49E5F009CA1D9BA0B25D2073065AB36A915F02EE08AD3F0CE1A8A6A6DE23AAD147CE876EF7F08124AB54383D442EA473BDE13C62D3C27B73347FA54AE77F6B9C56FEBA42C77F6D88DA771B141890D68B1F4F4952BE2F0D0A57277AFB23B95842713F56D5A3B99F82D75E000FB63CEABC0D2A742C6A37BCD02429C8529091A958C17107925FC87379147DAC51A5953027C6BD3A8E4AEF3D98221AC3CD8CF183D18628A97FE1FFF4F353BD7B5DE4EAB087EB7700E8239192BC5BA7242E0C638D55EB57B91C3919FE0BB7499F8522C516FD8068AB1868874B2BAAF4688AADCF9A3EEF05BE48A688840AEEC7ED4443D63C65A2FE50EBB57F702347921BA97965394B4E4DEEE9E7BD9F1649F1B7BFEF8CE6D199A91A15330E9D186FF4B6D14D845CFEB877DA9478F99DA725F6DC443C769D9630D023AD4899A3E3D446EF1B47C6A8AB95C81F1EA6606494387F255276BA021BAA88C2ADE41A7EEA1ABD1C666C0A044B30647AEE4B15D1CE83C33DF7F9462F9A9A3865C12646A869C3014DCF767B9E81CFEDC8F31A3877157754017BB9EEF7B6D1C7C370AF4E89FA158A6D57BD1C0D371015A062395D8624C5B69455B6749226CF70439886DF8C8E8DCE8462C493ABE53CAC9C8EE3CF1C19CFD19D95E6B60EC68BABEC84DA03C4EF559E8C23A7807E22CD0A49E56575BA48AEAD88AACEC65886E42C4EC494A77D36436159DAB6929E47129A4B1AB927646AADAAE41E8BB634259288C1D631F93D8D7A6AFDC2A40DD3104B5308F55004403251AF74308CC774C22DC318622494879F1512A585CC1B3310D1B300A369BBE2869392C5C48B17331A087B3B92E06033456A981B3FB1DCCEF5F61D38A3D5D6C6FF77D6467676C48642E73F5DA31FD68AF4F473557AA3764C6C57BBA2E82DD8EB98D2D629353BD6D7535CAFC9F5F2FCFFB51B0FAF74D75BB7D01D26DF136E1CE62F04EB818CF9504C9F2BA9B16B7BB2E7DAAAE7F8998CEC8F3CFFE5E9AF59CA89F87ABD42D91E355A376D7A62BC4077CBCD4D3CF497B9F89A44EFD20C79D0B69FA5B691CA47D2B927094D5277715DD3F612EA47548601609EE9201EAEDE5F7CF3C677DF7A0DBDC84ED3E43AF6F48F88EDB20A64F951C545F6B1B95C38FBFCBF34BF76C78AEC5DC8A1277F2D4BB4E750A867D135262144A1E726342E798D067A597B158364B411244FD64802550B99E971AA368CAF038726B1C27174C7D5622C235CE4C25199A683E03B029ABFFC49F8E1B333D2D4F1D34E5E28B98FB05581D9084CBA3B4287FFC7F744EDFDDE543E97CB49ECEDD33674ABA78F9C52E46DD9730B2E1A8435B45B0788757CB61B3F907013A0E0AF8C2927C95C9E2AEA385241C64D7F627C5D48B9D975A854CC8901B44ED7A6B19102359A5D5131922F64A959EF88DA4D9ED33B3C94EB9DCB66756AB64CFC7643006A5A0E62F00CF8B227689391D5A8D5B6446D28F7069F2F15B3D4C6311DD1D81B35E7EEB393F9C9F3B3E23E702D8B4686F320F70EE5C2DC746A32433808B117CF0165D39948D34E2ACF0EA66020D6755CB27C1E4A08ABF8D216A2A8363F3D9CA7B9247382124A86EBF3D8B4CB85ABFCA877C7099A1CC28ADA288A6AA458FA1824B1CFA5372A0FE045C72515C77D499400711573728EF7E5DE754884C55252734551218622C5C7E2A11BDE17653DFC594572C42C1099EB0BE2CFF3F554418EC4DC299E8E93DCCB5E22A51DBD3C4BA6C69973DB131E7ED9E6949B5FE62A47C4E7D6D8D898333737E7F7A11BCAF8F8388F06F02CAD363AAE2903147E9A11DFA4E76B889C140194E1F988B7E1B40C55D85503CEC940E749C2612A62ED9DC3563734711D461EB69B749E992EA236FC5600A3731B9C67705918F8BC9F45C40614354DEEC88AE2E9B829EE386ECBDF2D988C248BE7F7B3B51A18D0940D957702143E26B8B5DCE84475C69C980B03D0A0657EC63DC04AC00CFAF1B742A1C0126A73CD3ADAAF47AFC65024BE31CFF0C9D0A3312BCEAEEB5051DFD78413D27183D98C262499EBE319102020CE19D81A862B40E6EBF8BA2FF6D9E24027C43E5F974D054BA1E1ABE218E746590B8CACBAAEEA8AA7F14409362186263A49D85B856C9EC38AC53B74E85030702C9F38A59D9E7B17DA5EEB8DDFFF6FFF162ABC085078D26C1DDB0E3E67F1435D1330B7CE93649BCAAFBC989A9AB2B93D77E0F53BFE4BDDBBAE0A530A03E5AB6160C78FDC0F35493279AA9C2A0AFDC8E267E972C52C185734F309F2A345C3CD201524E9F036BEC495BBF8F9A1021B1388714C889DC741961A467714CAA1AC047C4C10B850BA75B5FCC36C9E563F98C97E0C47D056E37E76345D771717CCFFCD4E3693C978F18CBA70A0895FC9A42F2EB1DF1AC3A7F69907D501087BF4063FC3997B113DE802D09DDE0F22C684795E7DA552E9A2D3FC6F7EF3D61F27EF1F4957FE6DFDA06118D236F3A9FAB597066D77F34AE56AD2E9EC84704FE2951D2C246CC6262727F909C07BCF87EE1829851CCA879C71EE0208B687F6EAEAEAE3C04C9EFF1CA0A7B9B837AC56AB3C6B4D761C478E1FB3210AD01EF74CE77EE7B73B96CEE5A686C5A53E15DB8F743C1C91CF92C9606E7DE7C9AE014D48EC63E679720F72EFB9102E7E8A83074003DAC5FB401250E3D708A507A7F83D4E8FFD7DE982B6C70D890F9210DA925C17F7F0C4134F88DF094109F694BE4BA642F32CDFC73D99317E92838B1EF4F9450334C0CB5592076A6F158B6488763749F0BFC3A5EF0BB976936D12D39A795A34B62E9CC7073BBC258C2747D86C67F8FD4AA997560D3AD364D025F8A86BAA4EE9B16BFC99BE82B22B40799A3354D8639BF8AD6F7DEB7BF3F3F30FFA39A672B9BCC8337421C90EFB13FA157ADAED20BDB7A336EF4205895F1200156655B6E1285ADFFFFEF75FDD5AEC70FBF6EDE5575F7DF50F00BEC56D171616F6E55BBFE45DDA0A7E76BD078A62B3FD7FE59557FE0FA474796358D50CDE7CF3CDBF00A8F719746EBB1D813F00340695DF37C78F0A625AC4313973B15E2545AB65BFFBEEBB6FF1393E9EE76912FBF49D74EA6E6C0B7B7880C412E7411A1D381D339D168D09BDC9CF67E277D5C56DF7E5632F772DA15CF2DC6EB7F9D91C1C1E76D380F2A323002A3F4AC2E16731C5E5D17400E80E0B3FA884A303B69100B4DD6C365B08135B8D46C3E1E728413AF9FD4B0ED3A562B118EE570995766BE6F8E17F6C22106F1BFC12C0E1E1E19142A130542A95F2333333FA3BEFBC73BD56AB35C7C6C6ACB9B93997F6FB7B3D770168F20255B55EAFEB5C34060AA5C549138FDFE789C8C806C56287E41FBC79760050CF9D3BA740D5C5EB7D45761891542E97F3D3F9CE0340070335BDA6F9EABE7E2FF29E004D81BA6D64B59F97BF05CB08F82E5A1304D50000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (66,1,'Notebook_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000007508060000008661E9610000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002D244944415478DAED7D098C25C779DEDFEF9E77CFBC39F722B9BC564B522B5214098781144BB148D986AD58909C204182200972208865048265C489A5C45010045060C7B08DC876C0F8889CC48865098E1C03146D4BB2A88006143A14459A22B9E4DE3B336FDE7D7557FEBF8EEEAAEAEA77CCEE1B7265CDEEC3EB57DD7574FDFFFFFD47FDD5ED31C660DEBF3FFDC6FFED037805F18B81AAAAB7E13A66E2C75CC72CAA2CCB645FE1B1FCC5C2D2C4E36828CC71AC5FE36E3FE9D8EC6B8E7B98723C6BEE8C79748CDB3E46FAECFFE88FFCD0DABC34CDC0027F41C0F2A3D1105E7EF925A8D5EBB0B37D6CC9849F9FD8119D66135B678E85891D962F97F0F3105B1DEFEFED41B7DB866DA4473A97AB2C42D305192080A7BEF407F0BFFFE08B706CFB38FCF88F7F2C1A786C4274C95A8CD8F3113E89D849849F4D6CB3DFA323F661094F5FFEC487DFF8CD5F8572A90CEF79F7F7C1EDA74FC35219E07BDFF33E387EFC046C6D6EF3412F4C6C9D986F5562DF00E197496C701C7B290F3EF2A37F1B3AED161C3F798A507A890C80A349A53370E6DEB3BC7FD1193B24B1F5895E94D8960D722B105B6FFF90C44E528DF5FA2AD46BABBCAF8005CB63008608C03C8F8FF4A92F7D053A9DAE3691863298A3B159575AADB278B961FBCC519ED48E399639AE37CACDF349E553EBC49A77CC284BAE57AD55E06D67EFE6C78B917F7123108D4CD179B3D9827BEE390D35EC3C92206368C6ECC625DBB415F452BA863E01F391E918EF373A0E38971333063E0B8FFD80EA05420A8851F1985F2BCBC3E3B0BEBACE3C1F30F10DF25BB5C5C7A3D795FD86FD69654138061075AD73E1B76CD7F8CDAF8DAE01ED5CA0DDA3BAAE52A9C1DBEE3B17A2B1C7BCE5AA004F83EC46630DD6D75713A1D580EB245873C03527021A3734893E1DFB82407E8065BE8FDFF4DBE7E5FCD897D7FAA29C26475DE3FB8AB87ED80E2FE7DF20EB92F744134705C4E4A25D864C072173B83EA2DFB05D6DACEA4304E36DE9F57C79AD7E9D7E9E99D7848C1FD86DE37DE2F869E28240C87ECA0B96C9008164004932293537426CFB58DCACCF6F2C24309F68A6113ECE044C27B63CCFA533BC36106D06D135D164B28898EADAD8357162F93623B808EC0721EA24F515125F49BEFD3118C10F91493181A20DCDA3E779CB55019E06D14430D57112E11731D004744E50FA83B894AB63C63469F64DC26AD7FAFAC46B84F46D424934600EC926B52208E89BF5922437C61026B195BA0866B5E5620466F7A5AEF1A51A61BCFDA53280D2598A726A108721B6AD3218530414126E1333D0A478AA646B13EEFB09C4502AC392667BD27DC9684C631CFBD880FD29C7CC375140D4F5433B661E26306C9520B241940AA0236F996EA04E6CC510FC66E622B6EE42994C202053487F04E311014262C4881D97E618E1557DE6D0C39AF4FBDAB58C994CC089270DD148E5B8743DE3689128E11602987A3F8277965087B1380270C997311A2E945E6AB92A806926BFB2761721B66D249A926D4AB44E6C75CC12245B27A009E352FA2C1837F4B8AF082824D2D4D981A577FD29BA9CC58C3836831158A2AE8F5FCF98D5170B42151C48BDECA59669046AC416C46361C7B3086FB87FCA704920B241405F23964E48DF847B66780C964D2021D80F2257521C9BF0AF540E4326E06D69D7070BD800B6A48692CDE640839069E2926FB89CEA5A4D05702F200896EB069AC40E64C7B3896D1FBBA53C0821548753DF926066314128E5CCB4E299AE4A34222B379105F3D802BE110F308DCB20A6BFFDC08C0FC419C6D2F989BADEC1005AEC228C4348B51CAA80546AF90800A1EBA119810B84466D3D6D103E46EC2091F08126CDBA5E8FA45C6FC38F4FB22FA5D3E1BF27EB70531DC41082457DDAC476E97DE630F8981584B283583AE308006032A01521C1728D40DD67971DCFB3E821021781A6EB1D8477C0B80AA6D806986F076234A9D583412A52181DEBC4888C3BF3589378164179485487F41B069A331269790F9A356F4BB6CD003A33E94CC364EC5F451E17A4FFA22A00C20E23BF3D986BB52B7010C0B0C69925D931C3CDD4DFB67BE60AC82886D3998039D0454813B99B7162C5022F86AE9E6DF4457A5B0B11BB5C3D3B546C4B7C603247384E16D96342C8966E04328DC03A0324AF7031A647C8148C27C0AF6FC3755CCAB97433DF72FFE2563A633282A8057358CC7A8F7EBBF4B6322E231BC374D76C7D6D33811DFF9FC6443AE1151A4C23BE5203BA11B85C06E02E07335482E2BC2426E037EF20BCEE9EF1897111DED7265C0B141956B2AD3274824A48F775D7CE77C5DB7D53E2FC6466088238F49BD7BA209F85167B1203B85446B4E89320F9A15706E13270B0DC405004314C11D78A0EEA6BDA4C412E33096FBB7026519564478457C121C355B35CACB88F1E98923DC5620F9C61578D309AF4334B25D8AB8371E3CD5E2164A6CEB70C3F66B569D4B1BE63B481651B814C9378197F0E8CE8A0B60660F9C2BE15BF3708EF33CD555392ED27125E197491DE654EBDCD82C8F7E7DF8CC5092FC3CA4E89B70D3543D7B3B82BC7125C3DA7BE675397AE23A68AD02389F8A0A9E280B1E5DA002216207F4360650569CBB986FFCD346207A1FEE6019798F1E65BEBFC0EC9F6FD7072A20822733380158767FABABFCB708BE97B0723D8019B90A00ED877187CD1DA3EB37E07CEDC02D3EA6753D433005B2E0348C8D76027EC385C226631BF5C4C6A145D13F01EB7DA85CBA507762CE8F6FD702214E1FDC094AC407333A7AEBBC7023091D168C60A024D02592C30E4D2DB2E48D763FC2EC2C7247E01E21BE979C1928D40B5F810ADDDEB6E616059ECCAE562E17ABD0AA6846BF86AC995E9EE1D3342B581A643155CEB913C97DE7546E094C1A9C3B28B491225DE91F5E330FCE23ADB36F6E2BA3E66F0CD497C3B46132CD70D9446A034034805840C61186BBEC3D717D01FADAC69411EDF541531374CB3B623C233B79FAE196B2A4DCC1DB491710939F13EF32DBDEE0AD4987EBA0EF14E7F7F1E468845F698561EA580CD4A9F0CC2B4B5252F07078C69C11D08AD74C64CC32C72F34CC2C7247B4A968CD34A4FCA9A49CC037410DEF6D50DA964B1689D2B049BB4B8C362FA7E1E5D6FDA113A13CCA3D385F5CFCC70FDB25480CE617493139EBBA741318B96548D45182B4D2AD0B275ECE5517F9AFFED6B4112CD88F36DC90E587C793546F864372CE9D895083A4DF7C7205E259926105F97FEB933ACF595DAE51A819AB509429AFDC984737C943861E9548BD811FC4BF7CCC1043114B08CB199849F12420D2CA87745E39C04760464A2312B432E9E716C5BFD49869F6D442EF4A7858297EB068646A0CCE143424CAC6CDB100994B1C63D0093F0E6B132C67C9EEFC72CC23B17631CEBE6E6B55AD086B13844C75C34795FF6220D3325DF6DED27196F6EA9662C39B07328E2DB6EE0F2034181B201B9D4930A60D22FE746973C8EDC30661886462C5E115E4E8CCAF73388E94BB5E274F758DCF50B9283327628767624CE8AF7BB8C3E3BCF3F26FD49EA408DFFC689CF806979014B8E03E83901DC7A4715E08719377AF68D06DDC65ABA65F42544E27483CC953AC5662CBBC6974FAD85166770C6E587C7E3EF26E4EB0C902CFD31B8D7087F23C4B7D3F596BE354C6505F14E4905C4D2B8584C7FFB52DF33A6790192F089BE78C2EA99DBA8630E23CE659DBB25D415D29DA69F5D8B3B86C433369D092CA95FD4704B7203812DDB0B08022D2F50A475F97E6A661C3ED4F7464E9B9FB870E2DBA9528C4DCD9B635A7E5C3CA6EE32F41CC659C2C24EDC804B807F0713C4B77C2D81F8861BC860D1E616CE090C8DC0D006F0E27176630DC0B2D635FD1D37DCA225DC64974C23A0964E1DD7F51A4C4F0DC2CCCB00B6BE77BB74B1EB0D23310EFF37EB2FCAD5583602A8E0845AC34F4D0CABD954037E14AB772EBED81B33AD689CBE31D2B757D484959FE8AA4D594B8F056D12FCF2985BA874B5C3784B74F134265816F14D15C08E4E05885D3B307B1935B651328ACBC7207A8AFE8F2C73DF195173FAEBC012C3B549C69B4BF7DBCC054E3D3F1D31D832882F697144F9004C8B5031340003BE5DDCCEA563C64E1913BAC375795FDFAD635BF3A67D1033FA9CE1589765AEB67A3367C83766F91B56BFBDDDDCA1EF8D3A71048824DE540937FF4FCF0738222350C08D3202FD78E244E22E187710C645789309CCBACE289CCB659B06D55676AD4DAC443FDF70E12C8488C1FDB2896F0782961C0A0E1F6AA0529121DAA51A58926D66E2306333648CA086BE5793E986785DEA8125A0438CF00E98B63759588B30361398EE9DC9502C543771465836F143DD7F887E320B028DB148418619688B1C4ECBDC09DD6ED8379E8EE15A4675847F67BB648AD8BA51961C98B10334CE889DC6044E83EF28891FDA00E60EA1A57A013201804BB72755413C0863AEC5BBB635B977C1C4213BE6FEB129113B9B0182084D42C94D4CC470C33FB376DE305B1D2448FC51105FB701D8B27302C30C20A502C887078DA87E7C3D3D3179C2159A0D92A36B494914B637605BFD717FDDA1B75D844F24F06CE23B1337970C01A167B2FC4860E40570FD0EBA5BC6DC615B437FB358E64EC098E9D75BF17AB0176A5C8467A6CA5061D118B1020784CF88E0E976030073067ADE34E2DBF900CBDE1D6C3C1184591B2BA6866399635F9BCB2F8F74B66A3F665527ACAE25866413DD335B6F9B718138ECBB08FFE6135FD7FD8B2A9C43A585AB2784FAF6E60B2D32C7021BE6DD8994AE4C1A434FDBD9B331972B705AE646C42EC12F4F6282F8824EFCF16C4CEE920A09FF26113F5C0D60D103378E260E10FED6B27D753B80262894FC08EA59901480B16302C991B93009D2E1BA19C61B3037FC3B2CFDC032DC9843EA9DD00F6F36F1415377CB4E0A65663E40B4F923391FCECCA40DE6600287AE76E87E96147A75A0453C6AE75613519B2EC227EBFDA3B1F467A98023080507563E801FA6746B811E434FDB51B660461A95236CEB20BCEDD6C5023496653FD5E0B37DFD298CF05624BE1D0A66EC08F3013802F80EC9D7DC3ADD1A8FE5CB057AC42F49B2A767DF44EB13F6F553F4B813FAE725FC5B8DF8DA6AE0D2E3004C7F549C72FF7C737F5C109890EEB0A65D3179F7B26A1231130CB8847A497179B7BE4F420E786B121FACAD61FE11EC0B502921E4054CB474AF242460D6E2492C34EB588C09B467E0B04497CF45D0B8DF3F4B7F27133EE9BAB70EF1F5743D26D5F2D18482D51AB46F1B68B6E4EBBA5CDB15AB1327167889E7DDE93989332DF82984B763F6E074F9CCBAF01627BE124E1A9AEF2F3529D4DC0CCA3786E85140E6F6EF23D7CED2E7CE0596B8BF6D4B6CE072D36270ADA3845BFFBB24DB752DBCC5890F2CDA1A269E1EBE240650C40E830F0133167B18E8891AB6CE9E6298B9883DC57D4B34E262F03D2FE183309072CB11DF8A04924DB64415C0CC7C00A63D965D93F69011F4094F78E2852EB56E14B0966695BE9B01F78A09D59EF979243D16DC61875B637FB354C011E504EAF90051F8D76DA5CF5865B3D7DD8125AEC7DB1B28E68DCF27111E9CEE9DF6815B87F80A8DD9D1A8002D12187B2842C24A5B6292855B1500242FCCD87A7E26D1F5BA1027384C41855BE52FCACE129ED9728D40ED91302C30F7E839E13DD0E09DCDA1DFB5C7D0B81666405F7CB1166440837F988A00DF39C48FD602E452F532BD8070F32668A1602DE72F69D1244884F4A46BA64178E086EC297A1D120C3E606F5606CFF26C007FA946A0F68CA014CDAB6F46F2DC1B222C29663095095C126D246418E7674BB953E72722C0AD497C3D13C8F397FCCEA0E8E9942928952A90C964C395C2D8E4AA90B1A583F5C7994513CF4CC90C8D30701FCB97E4A97717008B1E57A7B707461D300C3BFBFCADF8575F6D181B4316FD5B5805288EF3F01F756EBC3FC0D24BCE332CE1158D8E972A324779E24DB229679DEF330448BA98CDB866AE176532FD6B0EC24C7979E5ACA1F78783105D177D75E4A11F171FB089F59A764DAAB4FC0193EEEED7C8E9EFFF5DEC35EED1CCCDF37A1A98F3D8E86B9157C23A8EE77EC9F4DC6F484F7E133ACFD35CA60AF0B528E074C23B88ED20FCDC6F19D3FBFA2EB16342139BF3E5D9003E7F2FDD7704B16710FEA6115B6F7FEA4BB3E72176125AEACF685E2A03D08B0967BFDDFA50C49E83F0DF25F66C35B9D4BD81AFBD7EE145ECE35EB7911637DA98F58A70665A4687F86D5A4BCC3A79B8DF36A3B97E43DCD85DF4B7E3E91D8BBB9D2CB9441E20407F71690CD0EFF57F17FBF9D85FAC49BFA5FE86787B1F5D1E030C069FC319FCD87727FD2DFBF7EF5F79EE999797C6001F78FF7B5FBA78E94A9FB16045D795C990CC1C30C562B0655BB4DAA54EBF5C7F7BA97D7D2202B1B89FCF58DC696756BC823999DAD6DBB6203884406FDCB683A6AB3AD33252B12EB36386C679B750C8FFEEA21CE32D229D3FF9C94FFD1A5EFDB7F4A85ADC13701983F13266BB8F2CEEDF3336C5DD89C50458A2016A8ECBF166538711178D2BF99CCB0DB6C71CF78812E6C2753FAEBEA6CC0F7EF7F0E0EFFEDE7FFFF5FF76D319E0A77EE6DF6DE1D725ECC8632C61420CA67058D2CC65CD2633879B612CA6704D888B0113194697F6690CE32E8B334C32F19219799AF024307932538CF0BBF1F9CFFE97CE4D5501994CFAF14EB7EF8D4643235E1FC6E7C9FDF040CBFD13BFA387177A722BB91C6810C5E00319D7A7870DD0F9149AB2EBEB8DE98193F9276486442E1745683E2E5CBAC09FA3E4B9A4DF7323A9C7E7D053CE5DA2C745475A13502E1573F57AED7BF1F0F3379501D2E9F407FEF8AB5F838356EB48AC9947DEF90ED8DEDC7248C7F4D8C374145940B5C450E1704CF1FAE58B70E5EAF523B30269BDA6D1587BFCA632C0BFFDF47F4C8D46E3C715F149420BD91CA24286900132D90C3108F47A7DBE5EA07ED379FA3D9E4CA0DDE9410ECB33B29C3E5ECA836BBB7B90CB64453BF4498BBAFFEFF917E0856FBE18B693CD88EFEEA00FC3FE1052A91496C97EB05D5A1E6EB73A7CE2B39914A4651FF4D9DF6F625F291C374732AC83EDE1A7D3EB85B905E9748A8F2D8DE787F4FCE3F124DC0C92CDA6F93942AAE1700C2ADA8ED3108EAFDB1FF07951DCA4C6D71F0EF95CE91E118D61C27CF002336ECF25D913E8E8799E5187E68A9034E5E17DE031DDC3C49FC8D5598F970DC723F2D468D1E607B0F09FDE3406C0C979174EE26A2E9F83D16804C55C1EF29902F4BB1D68F5DAD0EF7590F81D78E0C187A0B9D7813612957E5379BFDB863BCFBC0DEAD54D18F4FBD06D1DC8736DD8DED9864A690DE1CE837EA70D07B2CE70D883B79D7B188231F0DFEDDE3ED669F3FEEE3A7B1FAC5636C4EF36F6DB156D1D3F7502D66A1B3041C2D1EF0EF643D7D7D76A50C3F27C76458C13C7D3EE35F9F1E93367A158A889F1E0B5BD8EB8970D1CD7DAFA6DD8D628BC8F6EBB0DA54A09B6D78E41BE5084E1A0179E0336C131ADE23DAE7362A9B10E7A5D585DAB43BDB2C9E771321E8B7358278F4CBFB1713272E0657BA3499F8FB7902F86C4A7FBE9F55BC8E82B50AF35C23A9DCE1E647345C8E70AFCF7E5EBE7E1A08363ED0D6EFF1B7FEF9FDCF95F7FE51766BA84A979E1BFD96AE3641524B621B7912422A186C33E3FF6272398A034D18DF073FCD383019ECFE70B9C71A86C20CBE998541C3D2E5EB4D50FDBAA552B14740ADB19A836F1BC871260F421C7401B2288F8BC4FED9CEF8F2198F8E178543FD4A698F87EAC7F7A023AAD7B4465A2BFF178C8DF9344DFFA3D8E50EA5442C6501BEB60D0E56D89307A10CD177E469341B891733C1E85ED4D709EE8B7CE18BCEFE1087C36D6C2F2014789D1A81F96E5B279FE7D80CC9A49A79EB8695EC0CFFEE267BEF6875F7DE6D12BD7AEC2EEEE3E1411C272086BB97C16E13107855C16F22B7978E38D4B789C871CFEE6E7F03A224CABDD851E4E522E4BE539E4FE0CFF1E21C1AE5DDDC5EBF1B7AC97CF67A0B0B2027FFEEDF31C42F3740E6F8CCAA9AFDD26492FB645E764FF796C8BE07077B7C96134C3CBB02D6C8FDA7AE3C22501BD08D7BC0FDE571A5AA896C6A331D79BBCAF7C1EDB236845A9EB1351275C4564F3A23D6AB7D56C736375828425F8A73E8A78EFCD568FC3332D93FB93A83DFE3475F9728DA8BD2C571BE3B11F2EB2A9F68A851CAA93311F87C8AE8ADA6369847A4873759649D19CA5B0DF0E3F4765748F4D44315231EF7CC7B9CF3FF98B3FFB4337CC003FFF99FFDC180D4757BFF2CCFF495DBA7C059A074DD844A8EBF72308A4CFCEB11DC8162AD06B77B4F236C27E171E7EEC7DA8535958A6CEDF71D7DDB052A8E3EF6ED80E41E436B6B5525CE53A382A17DFF73FF808CE584A533178AEDF8153A74F43A5BC69B443DF9B9B1BB0822A23EDA563E7EEBEFF1CE4D345E33EE878EBF83634D64E7194E86BE7CAB512AA817528AD548C3A2394E8F59D6350AB6C186A43D429A34773CA80792ACF20F14AE506948A9508E6B17C3246E62E95509D6D49B5310AC7450A7B6BE394810E9DC10134EA3BFCF768D483572EBECA8FCF3D70B65F2E96EABFF2F39F1EDD900A40AE7C7FAFDF4B954A4594D811E7BCE150874001831E493BEA380171BD10EED022E5868980B29E518F0CB5C17010ABC3131B2613AB8F3E22011A68E8860EF47209DB5427EA23EA879061E28FC3F6071A0CD3134C06430DFEE53554673C8ADFE318C74A46973DAE2EDA15942165A80DF9194F861CEAEDF6A8AD893F0A09A9EEA983F00D2CDAE5C355896C6B826A96E698AB0DD91E19ABA1347B844839AE1A5AADCE0AD2EEB11B360211369F18224C968A2B28697D0220D4452328D58AB0BA51E5163C417B0F0732E80E60FBF816C2D7490EDD742364ADBE76E10A87CAB5F53A1A2D1B1CB6B308677BA81AC6C8F1C5321A378D0A4219C233B645CF1EBB72E53A6FA3586AA0BAD8E230574623ECA5575E872CF2ED4A310FD5D5B2501FDC3B1842FB609F5BF1D5B50A34361BBCCF2CC2F0C58B97858EC46BD7B1BD6C7E07FBC940B38B44458F829867A54CED95B86A234B7C77FF9284E514D4B09FC6D62ACE41112E5DC53E3CE16E911A29A211BB8DE31BA05D706DF70D4990A8BD14DED3B5EB6F709DADDAA371D37C5E6FB690885DF9DE059F433AB517A0F57B7D8F620713A33D9AB7EBFB17D1E24F7322A7B9D79282EBBB1784A7802A288DAA40D806233A4F76C0970ECD00BFFAEB9FF5B091C7C56B5D4550A35A2CE104A07B83D6E65E6F3784BA336F3F87EED9089ABB1A9C2234DF76C71D5043882203ADD58CCAC7A301DC7BFF43904222F551051CECED87F078FB9D77219C3644F97E2B84C0CDED0D64960664A87FFCDD6AEE86E7EEB90FBD83FA263FEEB6A89DEB42351D3F06D56A8372D879BF4DD91E19ADB7DF73162A85350EBFFD3E8D41B4B773F2046C344E4815D0460F006D186CAFB65A8172710D89570DEFF1605F40F7B1DB4EC1FAC671547958A72FCFEDEDE1BD57A1826A238F567D382FA8269B7B4D58DF3E8EF7B9CE8D3EBDBD12A98DC60E27A8AE862018613B15EE09104DA86CECA37B9D2F43B158E648438C4B88CB1902E0FB918C3F71681580D2FF20927D8B60A52FAD66144F1302119AF8FB7E7D6658D30309CD6992688273AB7C7595DCAF5E649D6B6D920F3DE46A43D511B0CD5F48155AF4FDC8ABA073811783662AE706164A83EA577D46DC73F043B533D0C6409E0349A6F21A54FF64ED937AD055CD407ED33D8E4603D19E767E8C563AE5EA8BB6A24F178D350A7FF2310CCC3A1384776A6BC4613E2AEF1C1CF0FD985C6DC8F954FD2A8F4605A148BD8E2693FB7FECE3FF72E7D0084010427A9FF47FBB2342CB43F453098E57D1BFDE4098CD6609B64AF0FAA52B50A9976075BD86F02EA0892612E985FE2A1A36F934377AD2E92DEE1D1410C2CF5FB80CB974162AC8F1ABA41E78B02785708E1281F09C2F22ECA3C199CE6C713593C5CFC54BD778A0A78C2AA8BE5EE5019D0C62726730E6129E45585E2DD66123BD2E023868F15F454F83BC83C24A16AAB54D6CEF18FAD919D86F915E1F236C7A38061C7BA3C6DBF35055ECEF5DE7AFB9A136561BD8DEE63A4A5E05C77C1506A90E0FF6E48B591CDF067A073B3C204BD247904DED91C158C7F6CAE5125C45CFC9A34D34482C6AAF8EEDAD637BC1640C57513DF8F8ADB79747CF65AF794D30C878CC619DDAA380D70451E0CAB5D7396353608B826B835117AE5E13CC4E01A170DD82827268C3E1AF270FCD00A467CA486072B172784CD04CDCD8ED2ACEECC289532779E0628865ADFE01970AB2FEE973E6DC430899357E6DFBA0134ADAD6B16DA86079C091A30BADFDA8DE5D67EE474B3BCF7FB7505294941D43682E976BDCA512755A420AB1CEDD67CF41B6B2C2CB7B6D259D5DD8397102AAE53A9F1C82675229743D3DDEE6D8E97BA094CF0809A7F6FAA2BDED13C761B546D03C16967B5B1A9008B9456CAB88903BA4FB93E31B62BB5B278EC1FADA717EACB717601B2BF912571BD42F6FAF23C6B7B1B309DB9B27B947A5B7574311A6F9A471F7641D75BF8DED4D54455BDC08ECCB735964D8B5D51D1E9FE041A6DC88475FB98D20EC8027175601FFE3735FA8A13FF93DDC67463F78771F8D1F343E8668BD721710DDAF4EBB052D84A511FAB3011A8ABD6E17A5BD0DEDF6015AA14D3C6EA11ECB7082D360BB619D7D1E152384A049E16DE1B56D1925A417480E62759AE8018C78BD01EFBFCB6194FAA2BABE2FBC867E4F8CAD8D65ADD601F75CC895A22824D914A24E8B8F8FAB2684683586AE1CC3907B268370DCE43676B09F2B972EF1F0EF48AA0CDE9EEC6B84D70FFA6DD95E34BE0BAF9F471F1DF879826C7DEE06FDA1742307E27E657B972F5DE494218F47B41BB54784270F82CE295A903741F73F1A0EF927831D5220AD8848E2A5BC277EF2939F4A2D1C07F89F5FF85F1F223EA0F8F66B6FBC01BFF0CB4F421E1920ED797C558BC7C1F183E804D995120FCE00C5B789AB1086180EA8582EC27E67C4B791A5405C4B49A5740DF9BAED832E874B5546F58AC5027A0743AC2356CFA82CC5BFA99F22AF934AA78D3110EC0F26E89D8C261C16A93DD197070584E0D67E57AE614463E0708A3ECD080D575187CE8B7AC56A951B6362419385F5C88267D90222DD805BE6748EC64FF54AF51AD6E9F0C097DE1E568154A184E831E4A8A38FBB5CABF260943F09E4669BE87E0BE50A127D889EC3586B0F50FAEB70D0EA8AA7B3C9F6486590814E86365F1B40B5DC4741F9E0F73FC1034458EDD19FF9A99FF8FA422A0075C707D23C729643FDB2CBCB4AE801501CC047A89948C922376E7B15F5D988A26362C0A381305E0A08E385FC0A8E272342C56311E6240FA050AE42B5B22ACA27A23DAA5746A6A16822E9625FF5416DA26435B0FF3A5AF474FD98D71973F7AB545C8511DA1AC4707C5C746E24BE5790016AD80FC5027C5FB647E7D0A02B35B660255312F7E30FF9D8680CA54A954336B1FA84CEC9F10D7A2368ECAC42215DE4657CECD816A14C8579611DBBBD35ECBF80760E49AFAFDAC3BA748F2B850A4756EA27BA5FB4BBF0DC6ABDC211C00FEF778404F3D0135841DD5F08DB5B29E4D1E043BBA398E36A80793E778BE9ADAED5EA0A964D687570310620F78F8C3FF2002E5E167E748AA538C4122C2AD784B8BCBABE8DB0DA0EDD9FBE8CECE5560A48807559C73C57DFD8E106585F8B02D235C4AEF915D47D03BD8EA8576DAC13C818D753798086518EFAE130AFCE8976F345F2ED2BDA98C5376363B87B75438CA16F8E2143A1EC429D13975FAF8DA3B6B12D17A97ADA1870DC69945A7411297C6BDF53B9DEE048C1D590D616C5497268B006A96CAC3D422E8A8310D4EBD1C803747D374EDCC1A55DB53718A4218F0295C27F54E6A54420A98B6AE3C4F16D448C0EB983FF666E15F0FB4F3D7D3F22CB73DB5B9BDC25FBE8C7FF155CB97C0955409EAF7C89D7BB89B7856F6DADC32EC2320B63DDE4A6087DB471EC04FAD003B94B58D6A1FA685D5750FA065D8AC6F964EB86E71BEB0D68B6066269543E8790FA247BA18E93DF6F0FC5BB8598843BEC73ADB10AFBED110F52D118789B4CBCA1B44A9148945CF144B3897833097E089A73A5356480A1D60FC1EA043D927568B5C518F83DF167204CB89F5D45A62175C7E4B562A7F304C7BD0E4DAA13BEFB286AAF86E77A9D313F0EE4CBB4A9CEDA5A1D5ABD094FA611ED4573B4B6B9091D9C07F15ADD80DF2F04A2BD6A639BEB78F19E669FDF6F796D0D061DBA1E151B8AF51851F7EC997BE17DEF790CF6F70F82C168D8F817FFFCC79A732100C13F2D56542B2839689C5CBA720556B279B4DA2BF28DDF63F98D6E4DBE806EA2D82A2E5E113BE66A80A2992974F1CA95827C7BB8AC8303ACAF56E0A0EFA36B754C062C3C315932A1627D9DF13791C807D1804C91E1DF85B5A23C1118091A8DFA8A5A260B1F56CD1F5F83FAB5400B2944149E9F402FB9A20863018865CAA5AA7CD8E5448E71C217A68AE88292F6A409F7E91CA910BC2FB2B8D3E99AB8275A69E4E726A8EA0A901D045C7D857324CFD15C96CB79F1300DD51E9EEFB4BB50A1DDBD7E4A9B23D95E2607C36C005984755EA6B5974603428C7BC2999ADA2357B1847603F3858065D2015CDFDBE56A1BE9921AEF4FFE2AD974733100B90EB55A8DD28BE0A597BFCDA34EA4A746C391059728F9A9BB709A72689C1D8490AC60EC5DEB5B681B0411ECC9F3C710962A8DE3E81317C2278E532087D9EF1F0C5F30ADAEB15F53AF5D1368D7B069D788DF8542018EDF713767705D65D0E7B6D3A7218F2A601CC26F744FF73DF44E60E38C5907CF1D1CAC41195D31924CBBBDD3F7DC83705E0D2D7D1DEA1F78F8514073219A3B796EA7BF83B0BE0693DE24A686EE42C9CE66AB22EA28CF6D1EDB41FBAC10AA85EA6A0D2E5FBEC643CEB4B278D06A3F3E17037CF94F9E292303FCE5F5B555EEFFBFF2DA6B42CAC81083315AA301373AF2F9141A18456E81769B3D1EC449178BD8611E25A5C20D2E22C6088D12B2BAC33A9522ACA22EA78DA6640C8A18B648C9A2B689BB5384CF3C1F2E6DECFB174810C4B26CC5002582F07DF2F19758020B8C57DCD2A42849A5E04C3A5544B709A50DD1A986D679A737E42843CBC0644354CA68748DAB7C557180862FCA03ACE0F585420D6A7E89AF3B104A7154B4DAABA03EEFB4FBB2BD4CD4DEA4CA73FFC800242F83B797A70496121A74E86DE0F83C3FE0C136DE1E47830A5F93A00C2B0ACBE60BB44C5E8132DA5BCD832E9F0F1AF30ABAEECDDE015F86DF44B57AE9F2D51F98CB084CA733EFC52944FBADC0D7B23BC8D1F79F3D63A52E99A94C6C07C2081493CFAAD1539AA2D52A2FBEE7DFB38D1247BEBFDD168B8A98D6766C038117DF47A5C6AE32F8CC7A2CEC6F2B364ECF48EAF720BEF75FA83273F780AAB6A57E8307B14D085E7CC317B36ED0B3F6216CDAF5F0DCFA31D59F108ECDE3C7A14B696FD0804AA5BCF373BFF4CB67FFD93FFAFBCFCF60009149F2E7AFBCCA7B7CECD177C1638F3C7C84E9DC3796B9BB77FD3ADE74372149D3B5F123F9B906F666905A7D15A5B078637B2112368D3A72FCE31B44A7EDB84E4862A5C4966FBEF0A2A06D2643B49DC5003C7498D0B82B3BD775CEC514F1146FF7A6871BDB60F1C5DFFB02BA4AFBB147D0B87ECF5BA67EDF7DEF19F8C11FFE6B47B32964D174F7694C113107D9019F4E64806FFCD9F3F76632E93B92367EB8D3A61DCC70449B426C29217D3F409D9792E951B68BEB7279E77BC894F87478AE5D7ACA4EA1241489A3DC9B8422EFFECC93BFB1F20FFECEDFEC3B1940483F9B83E36630C591EE148A6E7E6F779F5BC58B1075DE0F198FB4B6900E1960BEAD656EA67033C03414393C5318ED16F0FB3D78F045270350F6CF8D6CB0703EA8210E4353206A966A71ED148ACA5EF9F6B779BA9A7A8AC96109ADBFF144FF1C349BDCBEA856AAEECD2133B6962D7FBFE15C5BCB9E7032C04B2FBFB28206E05F99DB0073318536116F068ABC7EFEB5E861967312DBF59673FBA3CE1173BD71FE3C3CF0F673B375B7EB29278E5D448CC11C4C715351E471A70D80BAFF3D58A130DF7EBA04E698014D4B650AFCBE7EFD1A2792CB888BBD9AD67A3AE93C6594D3F7E20BDF84773CF8D0D1EE379CB6197571A638F3D9DFFE9DDBFEFA873EF89AC100A4FF6F7887EBA21332278A24BB44A66AF9E08F7C8847E26210EA7A76400C322DD5A2AE560F6094D7ACADAD713B006630F9DC423363D7F292540BA1C07F3218E0F79FFAA3EDB4E7FD3153C1110A59C8A082471BD36470270C4878FC0F3CD5A847EBD81E8FE3C8CBE99CC73C554A411EAAC21F34CBABAB1DC49EE84B3E7E4AFC52D7C9DDAFF23FE3DD89F6E560F8791162F23239AF54C9A9608E68834551244FC561C45283B84F6130E861293118118AE43B743D31704F4CB007CD66D3D3422E20321AE4B48989F6C250989C2226D328A23810F3C43DF38950774E7310B62D13123C7EDF81783C179F05508410930A81B84A8E4F5C2F532FA8ED405CEEB1B077EF7D3106F8ADDFFEDCF7E0D7A9303AB6A4BF65B51D6FF6E6F5E3CDEEEC16693BECE2DE0FFFF00F9A36C0A5CB5752F34CDD436F3F038DB55578E995F3F0EAF90BBC6CA351C7F2B3D0EB8FE06BCF7E83121078F9F6E63A9CBEED385CDF3B80175F7E753659BC43DDD6E224F7DE8CB6932F74550932015C7D026D9A633EACFD490D2ACF95F8850F3E7015DEFBEECB70F9CA0AFCD6EFDC89768920DB439DAB70FFA0092F14EAF0F5F2D6DCC30919A0D7EB79B3871CC0737FF675B8F3F63BA056AAF1C450BE25A9BF0BE9A005274E9CE2A04D8908F4B77FBD0DCD0AC0EDC74FC1F3DF7A090DB4117CF76FCE7DFE993EB4BFF22D08CE66602FB709414BEC301E0F2EC2EE955DA8D0C2D064150E0E725C555CBDF4025C6323782077199E5ACF833F2792840921773CF0E845FCDA996F78413C9FD4538FBB30E3E7298F56E152371592FF22FD319C3F8FA52C2DA19E1E6210123294F296CEE9664FD2DF375E79EE9977180870EAD4B17F7CDB89137FA95EAB3E9CCD644E99ADA7A60399177FC4DF42BA6A9147DCA63C3B94CB6E44EB7B72FDF150C49196DCE189BB78DFDE94B8B6E74DDBE7C3FCC170F4AD56B3FDA7AF5E78E3AB5353C23EFAF14F9E6281FF7E14F2F76345CA2459BDA906DB61D1600920F2561ACBACF14CDBC9EDA5EC7A1EE5A43D8BDF7F886CF6F4380F5FFEB99FFEE9D65C3981FADF473EF291747DE7E42338B0C711F8BF0F47F1087E32371DEA6E68BEBD9BD853BC495BCAAD5404FD5B252130ABC3D8B59E199E3042167A6882AE1B8D065E40CF8147472F972F04A9543A00ED7C04C0DE79A4E81F4190FA527BD2FDF23D5B5B079FF8C427189B42E41803783208F0E10F7F58A6E440AED3E9ACE4F3F9125E5B49A5B2DB5E367D8252E239FECAB8BBC773F43C361C0EAA572F5FFA9484A4CB274EDDF6AFA5674C4101A66C08A68EC3404210EA358F7277E4790D25198BCA28E98756FD3CF5D03AEEF4ABB799F063995AE289A7270BD73860D1F900C27AC22D67625C344C2F7C15A73A2F9FC83117F730C66672A40826CD57E7EAD5ABFF7032999CA3E36AB5FA1FCAE5F24B7A1D392E1F7FF7F198A4BC8DE3ED8CC7E37E2E971BECECEC8CF7F7F783FBEEBB8FD90C113200111E894E4A243D1C0EE9592345DFF74B38D01A36B686A71BF8A9637919EBE42C2BD0504D588F3FAB0409C4F0335C2E68DE22C69C45609B9966318D889B255F83E7033C3F467AF570FE69E7E93E96ED23ED9A58DEC6F26EBD5EEF3FFFFCF3A3679F7D76A29820A3113F8B5CB25228142827B0861CD740E2D113896AF89B884E08404F23CA78532C1F3A45EBF1619C4AD4393426CF2B75F2193DECB0ED780B1864C18CD773BADA7294B145EBE8D31E5808268F5358BE82DF69FC1490116A488B0E1E1FE0F7FE6030D83B79F264EBF4E9D33D2C1B1313700620C93F3838C8168B4522721D894F15572467F6F133C24F332513FF38F0CF79430EF533F3C6AD0966F34CB2482E352683CD43605A3D94D295742D4B8A66BAFA50AB918B8CC16628D7DCD9755D0C4088ABCA0271017D4D32990CD1CFC76312DE1C32C20855C1446A66162200EAFA42369B5DC10A59BC08053F4D1C35159A54A753741D5BB43E65F5DCACB666D5A5DD44F3B43DCFBDE2BC259E57C1B179EE655A3BF38C15E78FE96DD1A7D7EB31B41F7C14F4C9EEEE6EA8060C1B00B9C27BFAE9A7397EB7DBEDA5E8EC4AA5F21DF7ECF88D8D8D5BE29EC808A46FDD10FCFF013D9216EC86CAAB0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (67,1,'Notebook_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000041449444154488975544B8FDC4410AEB6DBAF190F330A210A6483088F031220AE48C0250838844B243844E202FC037EC1DEF3173845E2C68548110214E58684142910A415E288C2E3B09BD919DBED76BBDD7CD5B6871976F06E4FF5C3FEBEAAAFAA4B38E7889FEFEEDEB393C934E8B0EEBA6E6B0C6BD7AF1DD6D6DB61ED76CFF14F5AABF6938F6F448C2B697856AB42AC8A0A1FF4204CA4EB9A6AA5A82C4B529857554535AC62ABFB3385A1B5F6FBBAD6188AAEBEF77E38E26E084CDBD26C960FDE388095D4349A4AD84A9554AC0BD88A8AA20041E949ABB2F27B3506CF9527E4754D67086A7811CAD04B520D0045B1C61C110074DC63908A2DA2E82352BDC5BE1F58378DD947D0501004BD671EACD880B357BCCF000CC66B55F5606A00E53396B48512C6EC21D090833FDCF5B418EC1E4F871CF83CD57D1E2CC0BDDCFB08147463C07F3D2D37A01A675EDB21E97D527B700DA286C1ADDD803603D17F08142D97CB8DB628B54186DA27B1AF92DA47CA964147702E8CEDC7ECCB0147C004A39EBD87DB9EEA1D50AE30D33467C0C78ADC93E49A56EB95978341466D7BD01E8CF7D98EE0E3253D43B03707A5A262B5F660DECB2D298C693696815B00FC1F383F8C71960080519252104614C5892F379B5B5486F1F30E49E444F25C00DBC38364C7E29779F53E8996ABA20EE22C13B2A3006F498B1B4D63CF71BD75431FDA6A27DB3D8BFF78FE785D9CEE101C1E1E06172F9CFF0D2FCD6D67BD17D61A4A93D4B04FD8C7C0BE75D43A5E8CC0D619D386AA6922308396A37402F2FDB5436082E4AD070F7E7AEDCAB30794A529803A7F834FB4F1B948A7138A42E9E5AA2ADC09E428839C420684F64B1A3951A8B8288A484A49C6B6CF7D70E3D3376E7FF9C50F0113E4F3273E4B7148EC21F40BD00BA759465916130942521B8AA4C03AA5499A500260F637065814C78834A63896C88DA3289014E21BD1B59F6F2258E4F9BB095EE44BB442834B626EE502D5C0FD49A2820C15429144AFAAE07D18711170C291ABD091100211C6D4898E04D0A58BE9E0994B573DC1F7F7EFCF93483E95E713CA2145B7EA289FCDD036349D3B97C3434909A20B211194A793E36396DB93A78868369950E5CBD950CD7242E216525E38BF98DFBC796B2A1E1E1D5DEF6CF71527CDDABE22EC581996E7967E79F833DDB9FDB5BFA17C895AD3D2F50F3FA2E75F7CC997EE584976F38D2F0076E49ABCF3EDDD976B65EEC93090EC214B834A68396C2E78AEEFE274993E7DF9CA944F6D6BFDC78FFE3E2ED675AB21BB602904E459474A3E19B4C29D844E4FB21690AF8AD7DF7CE7EDCB970EAE2DE6B3579099088D2AC8B249CDD0F8869C10C39575C37DEAAFB0F046F04D415D0AE2E26CDA4646C20AD706FA71511FFDF1E8CF6FE442B63F52755C9CAA9317106680212B291B06E9F8F678EF003110B1655986F5CEDED83E50AA1685F8FBC585FCF51FBE850151224F49460000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (68,1,'Notebook_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002C080600000023163B670000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B1D4944415468DEC559CBAB5D67155FDF7E9EE7BD37B9A979598AA58814DF087954AC03A926A21050D041111C547120084E3ACA5470200ECDD09150C89F50A3246D4144A4A8A54A620A499AE69A7BCE3DEFFD3DB66BADEFB1F73EF7DC9C633BF05C367B7FEB7BECDF5AEBB7D6B7F67745599650FFFDF1D65BE3E974D2DDDDDD05EAAB2EB0772897E42BC63C719C1D03AE6D6ACF84E4A8B587837D68B77BC397BFFF9D9D3ADE04967E511CA5228A60BE289E0074BD4284A601AED1B7022C2CAFDDEC3720A08C45B68CF79002DA1878F7DD3BB0BDD5778B42F542F02B1338034A69D04A81327849055A6B944930BAC4BBE267AD0D5E34C6D8B134476B9619AD5C3FCED376BEC1B6A9B5358DC7773DF7DC27E1DCC5F3B056018940B22C85331F3FB5E4E6CA22B4F062B100591450E0B5281650C411CE25AF210853F0A5B58442E28563691C2959E0189EC777091295A4B694EE4E4A4A3B8FD6A339D477F6ECD36C90F51E7056A089ABA8A10D812F78F16261C15B4524832C8A1A58A72081550CD48E098011AC7DB66DF29A74C0692C61F17DE409F2DE7A0F283711EFCB81492FF00002385280C0A232852A1CF80A68212B650238B6AA6F4B1EBFAC8076CFEC01A2A5B1D45BAB80929AE3402E79C082B78B579696CEF50B2773206A962720812EEC095D79C029A3950CCAB0B5D9F2D27A8DADAFD8F3A4CC7A0594720BA8901D183C719EB949D491C1D20C3E80A940781AADB2B4A58FAC59D9C582A38AF7867263E8D99051F5260A68AB2D2D48812BD9F20B509EE3B2E26CE0BEB77421036DF4129F95B3AA0D4CDB5635C594034AA03D6DB433A64F241BC5000DE220760002A71D90A29E316A160D63A40AAE6F72BB0AD460799771BC320CDE29E22DEF7FA529D9B81B5368369B39DECA90FA0260B2B2E37AE0B8942E73A8269F9768A20358E5F8EE2C2FFDBEA18302F59FDF77365280AEE974165EEA83D7E7679F65FC8B97D3A0A5816B3B4A583EEB400D25AB6C6737417524F8E001B98902BCA882F97CEE324E33C87C36B1608AC396AE830BFCAE2C2B6B96D635DEFBF6AA54693D506EB69115D22E3A9B995A0036B96E39AE02C73D6D2A4E7B4A5496B7FCD69C32BD3296AE6A2D78EB01D388892315A0ED5F5116620FD468510B48EF91CAD2AAA28D03E3C79A005686F862D03E3DBA7E4A934FFA1957C26C100376C3507211F27500BF1C8035609EC7553AACDA0DB00E3C1769C62ABB0E3C7B0015909B78C05B69EE36AE3AD0658E372C4BCF35EAD0D6BF0C3E04A9AEDA9B80670F108536F180A703A5D13A005553C297CD3A585A37BCD0B4B4E2D2447BBED33E63FE37F0DE031BC500D3045F42556600BF9439A4B2F54BE0748D327E13F4F421901EB8EFA7FBF297E05A0FE03EB01985A4A5825C142E8F5BB09C49743DAB54015881D5559FF11F2E9EE7FA4383670FE03E4065FC5A056883E20F16AA7F54F5A5550FC82AED2947151DC0DB71DA01AE7D7D19FBA5F561C05B0F948C6DAD028BC26E5285F34000AE9B99C37BA40ED27E0C5596B63CD71F19BCF580E1CD75BD02987D28E8C8033618752D1875C30396DFF56F5C1D64C6C94AD7FEA83FF20065C68D1488E318CE9C7D269C2E344E073098888FE04ADCFA1189FFE8AFC69B705C02CEF8DE0B762C349E7DCFAAE7384919DB060A20CF8480284DC2B1880725F031AA018C6AC721F571EECCA471358F50569CFFC0D1472AFCA79435DC3A05EEDE7BF07751969FF71880ACE88F578C5DCC78EB186F51E70D6F31BE4C657163411BDF0910C01837BFF246607DB85532F187B50A3C75FCF85FA3487C82DE6C0DE1ED85F62FEDEBA8494FC2F6970001631944C6D9DD4FA01E1144252B6850204A671FD7E55F4A4D613B4A4F85585C5BC62BEA99E147D7AEA5D93FEF0EF003A5E3DDB8CC73DFDEEAF7214D925A6CD4385F1B47963E24AB5F18E407A33107A8A71069CF638DF324CF058ACDD18B5FFAF4CED5AB57CD4A0F3C7D30FDF2EF6EBED9E9B75A1047D8898143A53405755128D8DEEAC2603886043BE338E5C5F356866587846E3B87F16486F32248D294B358DEC2FBDCA0A2E421C1992B41A595466346985621E66C4531A71161449C8C62DC7B0A5C23C38C865E1606DF873814664635E9BFFDEF7BE710EA9B1E73545760329BFDA095C5B82C400781E55902ED2C830C01A508AC93E79088185A282F31A546961D7C4498E33CFA7E88059D626A10D89F21184D60886B3846A0C27124AC0CFB80B0A38CD6C75C8BA0F1DD6504598277118140598AE073C490C402B124301B4F7F58C7DC50204FD2974A7695807EB7CBE796090227CB4528A3D21A8DC532B20E8129B5BDA7E82D819C1571C47B81408091D510E582D88A32CC6E4944C7B490A1C2B4C9918CBC4DB2143D4D4793E4710C189E4BEF3568FD04E79177F193F69B2B15F8ED6BAF9DCDF3FC34EDB0A4BD7216C3E95C4EC4F8449F97112EDA428A91F962723DBE103130580290B88826ABB31294926D9EE2F1E44152A88D6B185E83E60A966569E2D20552334BAD0C07283E2504DEE1E3383AF593575F3D76488176DABA4CBB2EBD607FFF313CDE1FC0DEA33DB87BE736F373EFD123984D1730194F60341C0055C20F1E3C008DB1313E18C3DEDE2330B2B4321C7F707000D3C918ADA7E1FEFD7BA87E0C2394292C5548B6FFF831EE2311CA46E8E99265B3D914AD1CB38C9C665C4943734B493B3D50E210FDB4F7ED430A6CF5FADF9BCDE64423D43E873C6F43869C7FE6D96771B108033247F72790201FF3769BBDD46AB7D8F4295A2E4D737E6EB73A4C170A64CA5211F2B985E3C99329CEA56C1C71F6229A952CA33E92B5F099689AA6943C0A3B374FF81922633D857FDB3BBD971B59E8C68D1BC9C79E3A71F1FEFDFB40FFDC4871521C277CCC8E020ED40C5D9EA22CDD3A0ED21087018E1DDB0152BA838A50205242691FEBC1683C46598EE050E9A9B4CA73764A28C930E5C84B31A527CA3CC2CA68AD946243A74415A61F15973417E90DD3598195C21C4E9F3C79BEA140DAD9BAB0B3B3D53A75F224CCD0EDAD3C63E05AEF32DFFB0888AC132539C783405E129F39287171CBE198EF14843EFF531876FB435C2F45CAA19DB1AF9553BA9DB28CCFA93815A30CA949323242C9E35A309A4CC2384A103BA86BAFD7A104D3FDD5B56B9FF9D92BAFBCCD0A60CABCB43F18C277AF7C6BA970AB6F46E6C8CDC8B8316FBD710BFEF2E73FD9F2D9D8CD88EE435762D3D817BEF2227CEE0B5F5C39BF5904DAAFB043EFC271FBC303E8669D6F2074AF40EB925905DC2D4477638E005E53F23F18C883C12094D8BEB4AECEFD253CC4206F5F681D6D0C7318F4113B3B29F04BF1B73B774E25DABC43291707095B81D8B4571A4EC6546E90CCF695B6FCF0322C05ECBD34E2D6CD9B30DCDF771635FC5DC1DF05B5F689DD1370E1E20B4BE0CD61659E5082386316F34E765C9CFBEAA5F3651485ADB9DFEB726AA2CA31C1BC3E99CC51D681C783030E362EA09AE514AC6892E6AEB8F397B38BB02518A91C71E9236C9D6EED465986EBF4C54E217447C39971A4B7B7E6E2C17B7DF3F46C18DFEE1E971C1038A3DD4ABE96BC7FB03F3C7D6CF78D5EBFDBA605B496895D94BE8F3198B2D44CA7E36CABD79D3B80E5066A845FA31AAE8F17ABE54E61C88B24D60B19E938D3A311EEF3EDB67CDF143966BC39293B180EA71FEC3D1A876AF4C73FFDF9F3268ABE9E08F112BAFC0C97B3488FF1F8A0D5DFDE99FAAF03FB725F263B8B05A0411A9EABFE2559B5802BB821D4A291B0AC9C8E471DFC2C15FDAD9D7189324CADF770C8EB5A8BDFFFE6D7BF780F1CBFE1F2E5CB39A6CB4F61B07D1665CF535CDB45CBB8288A3EE6E001FC1F7EF47EB69710FE40888E25FE85D73B58D5FEE3FAF5EB1F24D47BE5CA956DCC107BD8F13A5D98DBD912740A40CF9AF67AA0F23A096EC73EB448DC908F46A3F072EAF372BA0F8743A8B7E98E3B6EE3CED4C9F3128DC96DCC687CF76D4CFFE5C3870FCB5EAF57DEBE7DBB24ECFF05DB589B61037CD4180000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (69,1,'Notebook_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003B0806000000CB8C8CDC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011654944415468DECD5B7B881DD779FF66EECCDCD7EEDDBBABD74AB22D591BD98A2D45D8726A9716424A1289BAD01412421312F2809842FB4749FE0821500CA5505228D4C550681BD3FCD3520A2E694A4B6DD21857D84965C54AA4C8B6B4D99776572BAD76F7BEE771CEE4FBCE393373E67177EF75ECD2912E73E6CC77CE9CEFFB7EDFE33CD608C310B2D7C51FBFF18F06679FB16C1B0CC300A289E8A272281FE2B2782F9EF1068ABEB0AC68557D440FAABE88BEF03BDA5852E392034BFA0E39044100E572F5854F7FF2E92F6579B5A0E0C206CDCB977F040FDC7F0C0ECF1ED198D519D207347CF092B984F12CB3E9B6E3315BCCB8DE7708AB6BB7A0DBEDC0A90F9E6916F15A2800CE187CF8DC5370737E01AEBF7553D5EACC251F8B98553509434399E54A308A59FAC715939C274C0D4558385C21FA58B8ECDB46141F3F3627781A59000C7B0A5800B76EADC3A38F3E540C2D35888871AA6701C1CD176D033F10D0A332C38F8B67AAA7F701435AAA97343E3D131DD1631F8CC93E98CF54FB40B42126C47390DC659D6C4F772EFAC21F0FC478CE3EFE6B7068F62094780863218021539655825AAD3692BD1263BE110018917D73E0A101262A95E3C70D13EB1957EF70A03C8899E3B1C07C29B4F8A73D2B814642D37F42C04124C08446084229C1E1E32080E0828CD1C0A9BC97BD92E47DCFC341A210E201CBB2EFFB09233E69DB8F99F5D5A0E51D9FFD2C631A92020D3D1183513D8B10C4D20208985004DD9932AF910420E0CC6463925ECC6C81A3928C7931B392E1B41062867DC968A0988E68220D927058642A7E5ABBB13905416C42C9B382BF32151D01A44429203E0E0288984B049014F5F0A539259DD9B81C09410D4E6895EA844D6B08114C44CF7E6CEFB1F68B20CED2752CD27E90F809A6A381CC8B4B04F0701C0190A756D00F221348851D5050F6632DB358AB91A675F8B3944D4BA846F5FE707BD6A09ED4B358B84C738A4CD3BE14028B191782606338C19071051F2E3AD59D20173695D8B3AFB497D6BA5FE0C8F6603628D2AE0679DDFB6799CD685E1742A4443E9E13948C4B5F1024F19673CD7E75C635ADA718925A2621F128140AC61254140981156835ADDD48185250C45C221C96304F8E8F820FB50DD97826C094FD042222802A4BED92A3F22326E2F0A5435A693003FF34B3AC3864A5EC3A613AA649BDCB403ECBBCCA5184198FE30443955CF0304CEC2890DA968E8B49FB2721F84A43E259D56B4C04436D39EFB1F5F0A53396D57E9CFC28E8F39420B8885E5A4893EFC270CC4C50C5D03896335FC24C695F786DCDA675ED096DC7E50266B38CC719234FC33F622EFBACD3325D080CB293BB502469638741163BC1813B508CFBCA0464E6E6FB69CD067A28D2ED99B31CE4130F9E81BAE6CCA2B436096579A80BA6F970E6A5098012DCD82620A5ECB99EA6E5248E8B4164851067632C1FB3335E3CEFB915B319CDCA2C2EAA67855A27018543201E4666CCC79C0CC9461C5CCF958C8AC167E2B866E7A94424C8DAB51EB2D2F13B6222CAE48A1C1AD7CB3C5FB7EBA526766321808551FAC8C01B7871D84A2727699B4EC767960965413CE820E7C52386823D99660ACA3AECF7BAC2C8A4C772825116A51010DBAE9697B3CCB434A56DCDF6F54425501E3C1DC278AE2E7EE62C867EA2F94400A35CA172E86C1C13887D000AC0C3890E0B58719292D126BDE7713DCBC56A1D01C2B1E90CF3B420B8A6FD94D615DD38979E178C6502D4C873339A150C2AAFCC932968948DA534AD249F4A6062F816309C6152178044001FEACC7645007B1708883518FA99D95690C4E1A2EC8CA773F304CE2ABB64FA3D6FDFE259094087BD10C4102DEEE5052432C7F1013C9A406022E4BB5A36C652713CFF2B0863997095D7384F79F68886EEBAF6DF1DF33211928A1C270CF264C09EE7A76D39483B3096736C459E3BE92F9DBC24CC650522EFBF1AF37118A4AC968DB526C8955D9313C499DC1078A7B51A79F4200DE742E635ADC770E76987C7A500C25F85793D0C8EE304E522825A0F200470B52ACB8BE3B4F4B259046418CE6A387EAF0B407F9799D4BC6B00842A7719733D20CA03FCC04B79F38471A5ED4CAC8E53569ED874CCA85E97D5BC629A84FF5E31AF87C181DB1F5D009EEB6A4ED0CFD87ADA69C58C6AD0D51D9ACE645EDBB23ECCD8FBB0BCFE5D23001538E8BBA30BA0EFBAF1828898FD65B41F331E33BBBB4D739E61BA480891CDBF87CCC7D361FC5EBF3F06020694FF076A49999C208F4C408FCF19EDB2226687084038B7B4A37B3F988F5684C88449A9A30B00A5255784E48248A4F13003EFC4CEC3BC7DF3BCAD872901A87228CBEF07F3FA6CB03F8E09B883815817B46D078E3F781240DB18496D5B67373FA34D4CED9EDDB4046D733345AF6336F5ACEB3283ED1C5D86062FC334A1D7DA01771C27D843B8944C43F66BA81D216D1062D086B6736BECB1451E9F07C897F73A7730CE1984EC06AE5EA64DD7D105D0EFB51DCB2A1E706E6BBA60DBAC88590853DA1FEDC005A4CF06EC71F822DEB582CC76B91040D01E59008B0B2B7F8FB74FA5CE01EC79CFC37FD4FBFFC1D53543F6AD910570FAF489375A3BAE8BC94839660E7449D3D8433A3E13868A0B55A1DE84C939072A1A618C52D1D8503DA82E8D10D21BEF4AA6A2B7F8348211F230E540C2E8B31118B48189021D093024ED2BAFBDFCFDA5910530776CEE8FB07139397E928168181A6A9446627F61E1719930733C2647A79D26093375D9E33145FD696312D148FF8E0CADA283CFFFCE673E7FF5DFFEE9BB7F3E920056D6D63FFBF68DF902A84782C821425C8F7DE83454CA65F9F1226679916078CC080FF342C86EC92F2EAFC0F64E6B6C133A74E0C057F196138091EDE4DBCF3F3FFBCA2BAFAD2D2EAEC044B98269AA0F139355E8763D8CE7AE280F0626E6031ECCCC4CC1BDED0E1828E992890C986541CFF15DB5DE104BEA9CFB50AB4F8AE48A730F6AB5090C49985BE01CA3522361D948D703A76C41A954837EAF03E57289CEA7882CD4B2489326BEB390AE0F56D901BB54167425A7048E45E3E923EA39B6AB8B0C76E0F5A15E9D04B364804F93B9904167D00DCFCE3D3AF39DEFFCE5B6CEAF998384619D773D4F986DA904303959A7608A03B4617AA60925AB2C98AAD62A603BB64862CAF8EED0EC213940BB0453CD29B1214AC76226EA55B5AE1F40A55A1186ED7A03CC314AE2084EBFDF11266BD918AF7B6D4441008E63A1900648D717E198DA4B3A79C426A243AF80CC77051D9DC5A1BBA0C3B17B580EB19DE7F769890BE9060673828F67F9CD0920F0D9A74C64D8B66CD8DADC869F5D7913B5DF8795C52578FD7F2EC2D6D636668A1EDC7CFB1D58595E424D86B084EFE66FBE0356C9868DB5DBF0D6B5AB38A736A1B5D5866B3FBB8A032AA1707C5878E726301F132CD386F5B575E8767A683213D0DA6EC1F6E6164C4C34C147BABB1B1B50AF3590CE81D59555146223A62B9916D24D235D20CE204D4F1F4244381060BB99E95941E7A3F01A8DFD601A657CAEC354E3200ADB824EB7FFB95D4DE0D9679F356BD3075B2FFDF70FEB2D64DE2A99E8453942750206BDAE9068B98A6584B689F5B57A1D3A9DBE2837671A289C2ED233D8BF7F06D6D637B17D0951C0056A088A26C1B45A450D7AA23C315183767B80A3E03089E56E8F90E2E3E0B1BEE389B5496A6FA3297A035F20C0761C84397E257085D900948509D9B681B4653193751C1368FA5F2E57C14504D856053ABD16DC77FFD19D7FF9EEDF368722E0E4238F3C514591757B3D013582E9FE7D286D842CC1BC365115766922642B55FC98E70A01952BB65A29F28559942C53C0B66419A8C90AB6F104CC2B958A985B1024CBB60514A6E81D099ADAB9839EA0A3EFD2377126028E6D895365B43659429B3631B525D80BB3B1A8DCC17E7C1C5F19CB3D44B02B1CAB89A6D345A64DE463D097F4784D7DFD9BCF9E1A2A0094D48509D26AAB835005585A5882C5C545340117AE5FBB0E3FBA7811990C61F3EE3DF8E94F7E82361740ABD515EFEEDEDD44060298BF71136EA079102CD76EADC115A40328C1F6BD6DB8FAD337C5D93D9A9BDFBC7103DA98A39B680E44B7B6B28C4CD4906E07AE5FBD8642AD81DB97FD19D83EA223DF4030DFDEDA81AD7BF7A086CE8EE86E2D2F4315CB06D291D958388F714A55310D6E4CCE888D56EC088558FADDA126F0BDFFF8AF376E6FDC79ECF9BFF93BA8237CC8B357EB6584B98B5A02684CD4E1CE56076DD3440F8BDED940EDA046511160DAA841B443725A13F50AECB406386874A2889AAD9D9ED05E89B2066C436829617B07B546E640DF99999E828D3BDB82CEC60E3D26F327744788245BF806EAAF8A91A3D37645B9D99C84BB9B3B0241F46C62A410A6866320A7DDEFF9883ABC0FA443DE3F7B101E3B73FAD29F7CE36B4FE410F0FD575F9D6E4E35CE8A188B9E9D60EE6098F17D860109E14B50C47F6628435EB54C83EAA3F47B08B5369A8327CA9DD6367EB08FCF03E8775B88248A280C5CF4216D7C47B02527D5EDB4C45A031A3DD6E18011F674789204E890447920DA552CF243A1A203A8A0A9909F20928A63891D6B934C8A2A68190DE970A8D89FA433C47238B6C57E292C379B53679F7BEEB9722E11AA027CECD0C103E6DAEDDB5076AA08B116DCDB5C87E37327D12BDF817B776FC37D0FDC87B6DA808DF555849B05070E9F007BAAAACEFE6168C430471BA9DD0E6DA6D004C480955B77D4969AA4B9B3B1191FA9997B58C2FCD6CA3A6C35EF4265621FAC22CCB7366FC3A9338FE3F73745F9D8891368360CE96E63289E44A73C03ABAB6BC2A41E3E4D7477F187741F3889FDF948B70233FB9A684653B0BCBC0AB3478FC20E9A4C091177E4F0ACF58BC5C5DF44965F4E09A0623B170EECDB27163C6A75071A5387E0FE078F52A68ECEAF06274FCD21C41C0C255D98397012A15D8736FA06D340E9A2D7AD9955B228841A3A2AB435C3300514B180D0378453E52A5D95A921174EB0D36EE300F763828442DF6943737A0E35FD9038555B43F33B7EE27E61023D74CC4457AF9149B5A1D19C83871F79080241771885741FB673A05BEBC121A2C3FC630BC37063FA042AB42C4C6272AA219031D568FC5E2480D8075CBAFCE60A0EF06894F373FD74766ACE9DA4B7310D6472F4ECBA00DEFFFD7BFF2A92A350E5EB515BB922A4BE0932776F341AF091DFFA58E67C72C15C20F36D28A8CBA6D56ADC57FEE0CB5F381B23E0CACF7F7EDA719CA3431BE62743BB0A263BF1E9F707B0F08B79B1C29C5D1B4CAD13AA09CCF4CC0C7CE2C26FA7D606C221DF8670F749577A8D22AEFBD00B2FFCF3EC17BFF8E9752180AA53B9100D20ABB9DD241AC11A86082C9AD1BDF3F65B98F0B487329E3D38B9B3B38390EFC2D454B358C343668FF93FA228168CE8C70E3F81A4FF200460D9F60548FD19CB08D3581802C98225AF5AB5061F7EF22979642D1234578BA9D1B4552C90CAC398627B1ED152C6ACEFBD9856170906ADEE3C0940F880DFFFCA1FBE8EB6585387FDC98925C9814AA10C55872E2EF52C63A9A411B4862052EF0CFAA7DE490334C148F72B8AAA5D283E2E461705E8B8EFE85BA69199031BB27D3C5C6D0D959203EACC48E77C3476EC77FBAFBFFDA79F140278F0CC931DACAFEBDD9E39751C96563731096AC3938F9F86D72F5F1309C7534F9C851F5EBC04FF1F2F77BA03EE39068D97A6E0A3BF710B36361B70F5FA247CB4B5040BF503B060D574F2DBF3575E9B150278FC23E75F78E0C89163968D71A4E8D211110AB5868553C948BBF90DDAE1CBF606FDDF73923AF43276EDBFF8D5C0757B4BCB6BD72FBFFA9F7F1C87C1679E79C6B627A77F1D73C0F36824E7D1161FA3606E18E3E8C018ED8D3174B491E968E56411CA805858A15205A4E8840B917FB7643B654E7FF207725DB01F1AC66BC8EA0F30E97CF9AFFEE2CFAE466B9996B409C33C77EE1CA6BECE8F0F1F3E3C8F9EF8257CFF9061597583CB0F743AAD53AEE71D99DEB7EF6559975F67E7C5CB4C9A7D4A5B55071EC2DDC4611889E8D5E2AB318A6C0783C17E9C003DDC6C36FF17273EAEDA1DF67016B98CF7F95AADB68CBC5AD86710756A3CFDF4D34D24F800CD88717007F1A58DBF52118E348713AF0867EB2326B3751A337ABD91E9AB4860B93ABAEBCE2F6A4775DA891269AAA6490BCA5419E0BB1ED22CA270E65F7CF1C51D432D6F13024A939393F433DF4F4755A954DED7CD807ABD5ED8FFC2C2829CF354ABE1C6C606BF74E99240C02F011020422FD5D773700000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (70,1,'Notebook_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000005808060000000AB1F2F80000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001F924944415478DADD5D698C1CC7757EDD73CFECECECBDDCA5484A3CC44B0749D99605079102251215DB70FC830E8200F963C07F0223700003091C245110C53F12C08612C4B0013B896DC889895C4E62C431104970E40396E54B914DD922295A2477C93DE73EBAABF25E7557755575CFB1DC916464A4614FBFAEEAAE7EE7F75E55F73A9C7318F4F9D60BDF7B31934A9D94EDD436D8515B79CCA407FF70B9D5FAEB6D78F04FF2569D9EC7B73B390FB7C69C702C3E366BCCFAFDC7B6F131BAAEFBDDF7BDF7DD6706F1370D433EBEC7662F5FBA083FB9F06378F0971E865C363B32B381EF90496360B63136ADFFA8CC1ECCE43E63D4FA775A6DF8FEF79E87C3878FC2DCE29ED961FC1D2A00CE7D58989F878DCD75C8A4D3C0181BC2E4214C1AA235D179876BF460660F1ADB28CCBE35454867333051998442690279C561D702A093E4F305B8EBE43D506F3493B546676EA246C3D01B81214C96BDFAB98F24A6C3A81A0DC3980CD698062BC2A183C7C0719177A8BCBB16808F1AEF38002F5F78057E7CE1A7502C16B521CB3B4CB41DE81F5E826362D07AFCD0F721FC6D1C37FB3806F3A2E31173B9A1D1515FCD5AB473074C8F98AB9F4FBF8669193CE201FE4E673270FCE471989B9F06E68FC50218B0709047EF3C04878FDCB123F7A1981DEEFBCCC7B8E28BF37ABE87830CB748A32D1DF3B00DF33C217CE6139D814FC77CEA1B6EC37E9CB1601F2D353A167DC5F899EC1F6D99D68673161E937DCC73D0BD8BF6E1B582DFBE18BBDE9FFA1D3C7C1C8E9D382AF65329066388015C5C584A3F1E03FA33DB761F92D97EC86C4E4C0B99EA899B954CF6C53EA31BC36342585E242C9DB98130FD18E3D5716DABE8FA6F1E31556F2798CB4201EAC7C27D298040C0511FE081DB16EDF99862003878C280B3A6000630DBF6D18126471A2CF699AFE862EB49C648A607CCF5422110B3230B0A3552B39424E6EB0C17B4B03F6D95F5F82CD27CED5CBA65282118C7B96631812048A0A21FB64B33361E174402E06144A70B2533B93FFA50CC0FB59F06E979A14BF03CC3F43D4F679E17D35C72475C693C33DA2469BCD456BB8DB23EA60B2964226DB979AE98D67316FCD6DD11F3559C61E135C6E08202536261F01216300AD40B2D44F9ED505B03E64B8DF7228D54FE3AB4082B16046DBCD0BC23ABB1DD8ED44A93F9A6164782D204C9A2F3A958A56BB72E00D27216F97D5D705C9C9FABEB8C070509A9B270602CC6641DF1E8282462BE1C243369D2D7FB516065CC37826514344357A369A42D84C81FEBE78918C924D324330DD7C5549B801E0945B72CFB1AB2AD725FA4AC8CABB1EEDE02E8E4C05552C1849999CCB65376E51B259342EDF7342DC30C1B07E919DAAF335D324BBA98C40069309FC6E8594C6706F3653F758E30084BF7C399765E2508CD6D299F9F200416F417EE87878AC2C7610122D20681450880069A90CCE8BF83A0A9F97311F4BC80E98AA1813F579AADE0286E991731C18B904A0CC9D8DA278F333DF0720DAA6A8CD7ACD21610D3D08ED27A1E5DCB4448C16F9068917115BC39E7E381A12CBC11E992FA65958186449A4CC1D2D37CBCFA860261BA5BD2BF1AD2513EDBF34DED0DB55D61F03EE8874966E8DAAD319A18160BB83A93C36B30666ABF2E781EC6A50021EAFBE31080342F3D08272461127A2998296FD89309970637FD00027A469033DD470413590CE79B09501FF4A3B9101983B86129CC48A0CCE06C69BFE672243FA405E8CC97BC914198F331C15016467662B6118465CA2E828E6F2015050F433712F87FCF400C9EAEA956F00D9230531B937DB7E92EE2C1D2D466D94FA229DD9DF8A162E83E3FE6AAFCC81D71CE0C21496FC03853EE710C3180A94C18C26CD6A89784D2F6A4E6F3C8E72B7FEE85D6A160A41705614DFB6D4D36349F2CC2674670EC979946EE26BE65CC57AE32EECF7D839986CBB1E20D709EC87CC1A35040E3C984FD48DA51262C518F8ECF99D2769FB158129588D1FD289B4D84909ACF964CD61196AFF7513E9FC7DC53DC9FB30437150A8771C382A2FED1BEE9F3792CD8722603F2186B41B21411447CD0343D32732ABF46F092094DF73C1677235676A960A4517349607EE8EA6CDF6EFB6B037A6A0C968C8BFCBFA9F9C1BD9A351E66FB786B3F396E72CD6D8FA11614986D6401868FD76EC2EB53201326A9E0653CC5D7B1B8EE2A924A0736FEF6ED60A969735F46EA6E47B91066B58F12B2C8E70F67BE8C01C139C7301FC03833A4E979BE59D2651A2CF49891C20BDFAF054BBDA42B19C7F502574CEB5932D3ACC06BF8EB0401446E67147FAE07DD2866C8F2C3282586683C63B1005F251574E15EAF179492FD90B986CFD7E1A4272CC6F3A36AA55D53977183C75C52E48F7D3BEB4C4A920658808D544CD869FB7C16F3FFDC0EB623F87516F6F1C722003980F04648007642A24A087A3C607178A8434285546CD7A2FC378FE0A9828C5A7EE1C7B353853E0CE6FA894232999B2CCC5B61BE84EEE30BC23E53018C18450288EAE45AC6AB9515B88A1166414BFAF5E0B855ECB2EAF006F23084C614DAD1335266B90DA5387E32830D7FEEB3583C082A00266DD44FA03C81428C2908330D4246FEDF937E5E04572EB6064CF4B50AA42A1D240453DFCC2C7D8BB1064E57A93E338B6631A412CF70A5006D0C1FEBCFB95156DE09F3253C67CC194F2D8869B5A0C005792AE8EAB356411D9D6BAE881999AFAFFBE3C4A2971F415EDDC76B4537154C998E8ACC2C555523FB6ABE8E68E26D22E6DB09D6E81F15BBFCB1E4015126EC87D383B1890AADE86517AA740C6FF87066264A894C331228AE15BFCC5A8E8C27BADB3082AF9F1C50ED76F238DF05F3A5D23AE17DECBE1461CD22510CB0AB868C25A7FCBE91FA9B6E245E9F4940317D921FDD9DF058C01C1C50791FA4332EE647D3B810CE228EC105E930D4F37A461D9EA9ECD2ACD12BCD058BD946661AA12B53680930D076374968C54F602E0BE62FF47D5B383226706D7BCB9FB04A00FED8041099AA2FE671B9A179F182976F20156ED55192EB2E7AB0B698DF0FEF1BFE9C0D6863FBF464E68F3A873B6A0C600E1F170C957940E05F7B4E3FA462FA7F96E036CC926E34531509D8CA3E13981F4732BECAD4230D0F67C2C0EC2767C722A5E22367B73B31812873F6C703437D2D2B052F9E9DDAC52DCE58729D26B40055F46266FD4555117972E264CC38712B78135D5BB160045CAB8CA096418E9DF9DA1C0AF7C79309FB9219E1CA889E8574F4F2420C65F87DEAECC66C97E976A2B9553DC86ACB41380CCC72215C4263F87ABB8EA3CAEAE3677EAC82BCFB29492D080BBFEE27CC8DDAC134B95A29E756A3A9C1FE75173E08C9E85ADFC7DFC7CEC5759FCF5F37E6EBC9EBD88A71CA47AB592D93B93298EA9A2DB63C5E91B4D37EC3E7C7343F2158723BDBD54A078C25045C8DD96F00F3F529C9B1CC09736D4E58C2508391464DA50F06173E3BB95EC36579224CB012514C2286672663FB0A80A965EE6F04F365F22AE73DC69407F85A1EE0C718A827564A8395CFE646F265FAFC689E997196E07EA2D9B74497C378382F2DFBEB2E28F2F772AD8E8C0DAFF747AF9F8DAD1817CD7A792173B9050DCD4C971E2A50258898F6EBF120199FCB35A85C83AC7D7D7EB895E7D4DD12D7B47E5709D64E8A7112A6F3713DA0C1223741D38D863FE7FAAC96D4DA2424632EE75050D2C2F8B2DA192F0D44AE3062AE157079B4324D325F87A56FD4472A67CFF3C69309FB56D08BD5DF35F7A2B42D29982660749E8872AC8449D36AE5B62C81D9B0F2CD62BEE219AD7BEA8E410062825D253A5C5443A32AA46F15C424460FA62BB9952801E35AD0B6991C31CF868EDC4EA0B8EDBAB8E1F375C6BFD1CCD7810BB9EB5D0BC00BD7E7476B3F3D2D2EF499E448627EC24226D33A8245C01133E37EDF168EF2F14C5EE3CD67BE1E377BDDDEEE05D093B0937363A9C8A0829639E5173136A6D9961FD719CFF50C3C21C335DC15378FBF99CC071E65C2C4BB310820985009508D5C8C2503A98EE18704539E5018E37D345B0FB606D434D18EDC3AF073C27CBD824C88B1370E174413303E3D25E3A815CD5CC04A8D3189CC676AD5B4422FDA6439B78B621A32E236DA498093CAED00C4E2C39BFD9145C5B1A020E9824800FAF2C108A327CF3AD98B990C58A9325313921A0208DB989ACF63CCD751D5CFC72772C7A4BC63B080C0E5A4B80B53D33330512EC79E121FF69E85A4F744C45E2960BF7945FFAD3FAD2E9E8F8F3F9B1CA541B7E8B777957A459F72B902D5564B788DEE38624017FD98E3A049E17F6ECA81949B01836F6031DB60669F87B855CD0462CC1CF47A196EF48B0B20FE0E086E3077A0C0135EE0A13F8C0ED6FDF47B01496363037A7E306D0BE388013E9ECCA1374FD0C3193CCE6CDEEF7535233FC4AD3389F77F05423F668FF2269501CCBEB5B7BD0C19A39C1B1EC79424E501A9544A5D386EFA09CC1EE5C549AF23B3CD3E03DE0DD48FD930C26B6B46B8D7B1AC0BDADCAC5E705C678FF15610085EE011E15E23048577AD3666236EBE76C67C9D8D88AA96DBD0EC5F9D3AFE8466D4277C86CDF6EBEA61F3B8FFD6274EF437A2D8B35CDC3AA92CBCC5DBAAFE3FDCB5006EDC5CFB026E1EE4C0AD1BE5BBF80DC64B9346FA6DBDFEE6E7016E0EF9B4F1FBC15D0BA0DE68FC5B269DFE040602C7D6B89DA28491BA384E8873ACDF3B04391CC62420BED326D23AD99F5FFCC1B72E0DBDDD619AF47B7FF4C47BF066FE2516D412FCBFF9B2A3245AFFD8A1BF48A9AF5F357CB7F5FEB73E2FDA1BF492A5E85A43EE27F612A9FEF7153D29C95F603DF6EEFFFAD72F5CDB9505A432E98F40D243D94A1009376307BAA1428A983A5C48A63F8E31A24FA01D26A4FEC21A5148F6D8393FC333F014FE7AE8962DE0A31FFDCBF9D7D6AFADAEADAF3B8C85812C0C945C6322D7359802A5233018301DC584373D373B0B7B16E6129833D24D0D1752A2B5587D1304B15DABC1D5ABD762EFC00B3A38D1FD9153B41343CE63019FF667A6A75869BA38FDE5CF7FBE7A4B16C0B2FE233FBAF053E7DACA8A786F5C1AE1683A9D165FB14C9DF9E237C1540C11D06CB6C4A024CD755DA8D5EBE26D8BA9B0EF1A262A9B5BEB788CCE938214D23AAD0E78986FA4B07D2A15D0EBF5A6784F51CA0DFA71BC7EBBD9168B5E451B3C1FD5A57ADD6E60A9A9F05C9D96E00F450FBABE9B7291D60D6838C654DA150A4473DB824B44C36B6C6C6D42373C17B573F17CBE56CB211ABD894F5FED4634F13E2B3C115D4B9405E5716C5BAFD5DDC5B9B98771EF9F6F490078D2776E57AB2210CE942AE0F7BAD06E3430D5AEC3D2BEBDD0AC77A153AD41BDDDC08B6DC39193F782D766D06AD790595B3037370319ECC79151ED56031AAD0D98DFB388D9621BDAED3AB66988EDDE0377E0B95D459B9E2983E714218537D76A6DA280EA5099A940B1380FAD461DAFBF2568330B0B50C84F43A3BE0DF5561519C92087D72BE62705ADD1DA866C2E05A5D22C323E030D1C6373BB0AD9520E2AE545A14044A3EBCE9667B0DD94A2797E1B0A850AE40B2545EB226D7666592DD7211A73185426E7C04561B47B4D5133CB64F2B0555B87B5CD75F418CEBB6E55004EBDDE782C97CFA26637C1EB745043DAA839A885BC2796DDF550DB7A5E971690C2C444016FA40B3EB6A3B6A4D180CAE6B5DAE2B7D76B636212D4465ACD1A747B74AE0E6A4C4F3C4B4C8C9734C64AB86D893248B787D7E87504BEA77E24004923AD6E34AAD8B726C6865783FCC4B4412366D02452BBDD0AAE8BB47436259ED869D46B8A962D150C1A1A058EBB8BB49CA2811BBC18900A038D46404BE733A29F831D1CE443A7EB090BCD92D5E27FED56F35DB71403FEEA939F79CB4F5F7DF5DBDFFDDE0F6173631326F225E4A72F06818607E95C117AED4EE883194CE00D6C553BE82E5C619244CF157238002FF094D8C671E9B58E59141CEE3B7EF8DE4906A96C41CC9F3A10D0262727D025342125CC3C58649BC7F3F7DAD802052469B93CF6EB3928AC2E6AA02FB4102F80B24A295ABE98176370DD8CA221B0C0336783B231D2682C0E32CC75221A25FF1EDE46269D5334F49A78AFE426338AC651E8996C49B820E13A5141B2999CE0D3EAFA4D589C9F87C3B7EF3FF6E9BFFEF8851D59403AE33EE6D35C00BD0B13AFDC43ADAE5537D1D56C21834A509A5A80EAFA3AD4709F68B7EDDF0793534B50DBAA8AFD5A6D130E1CBC030755867A754BB53B71EF19F4DB1EFEDE14B4149AF06D074FE0F97B82466DE617E7A1589A814E9BAEB925E87B0FEC8762611635BB1ED2B6E0D0B113180B328246FB8D7A15EE3C790ADD1957B4222A41657E2F702FA295CA45585A3E82BFAB8A36BD300F333373624C44DBC4ED9E7D07A08CE39034DEED4119EFBB8CAEAA1ED2E84180999929A1F54423214C55E6440D6D13F9B58DD740819FC586177664019FFCDBCF7DE3A51FBDFCF6AF7FFB79742B5DC867B3229866322E94CB9370F3E686F89D466D7229EABB0E54AB2DD4066C83834863F0EBF61832B14BC244AD20B34C41A3DD13256EEA97416B99AE94E1F26B2B782CA368A58922ACACAC8B9BC96452E27C1464B7AB4DD43447D118A7C0DF56340ACCB478B88BC294B489521103FF761894035A2E97C520DF16C532B29A0CBA247221BD5EF0DE0A6C26DA31E1EB1D45CBE532E8627AD836AD68F94216E314DEA3187F06950BBD829312C79ADD9650E07B4F9E78F66F3EF1F1874616C0534F3D35BDDDEEADBDF6DA35F79FFEE33FA1922BA1F9B79516EF47CD669E83AE694DECD3F7F8DDA7904925A1ED9276EC9ED3D06D796ABFD369C091E3A7049A91B4D9B969284ECC0B3423698B7BF760209DC51B6B280BD877F0765482E9D0BAB6C4750E1D3F81C2CFAA7E443F76F719F0BB4CD18AA53C5AE6226163459BAC4CC01406D36E27BAE6D4EC14CCCFDFAEAC8BBE734B7B5041F618B4A5FDB7C344714AD138C6C3126A7CA53C2D689D1E828399BD62A268636B05C8019F387AA45BC9C2E4934F3ED91949009FFFE23FBEAFDE68FCC3A5CB57E04B5FFE0A14D16F1730D8D09BD373246544002D0CAEB96C466813BDD9B0855A4D70329F434DCFE6F09B82F5AD86C807F2D8268B6D27CB2578E5CA353C5F06D1097DD3E8228AF0EACFAE21737342C388E6A25BB979635DF491D7E8A1CFADA27BCBA095485AABEB2312AB07D6857D696C75D4FE0EC261499BAA4CC295EB6BE02012CB65035A797212AEAFAC097496A376786FD97C1E36371B782F5D4523F85BAB23A0E8453404BC88F2BA060DA30A74D1B229CEE5D0223ADD604520C7D8D2C1FB470B80B999A947FEE289C7BF3A520CC8A4B367F3D91ED4107266D09514F313A871DBB05A5B115A76E2EE7B70BF092B420BB605ED2D0F3C885A8638FFE656E80B0116F61E12816F75F346A8EDB35040B8D74641ADADAD07DABEB4885A3A8788A201EB216D79DF3E281551A3F0DC6B37022BBBFDF01114D694B896A41D3E7E12A169E08F891658C06948157301EDE61A5C7FED3558DC77483CB3256993951AC68179C12441C3EB4E4D5730B6CD8B8710E99E883683D63933B32F80B9216D01C73B3BBB2CF665DF251C6F40430BC0FBC8168BC8B332BACC3568776A28F81C2A55FA3164ED6802C064E5ECC4C4046AC49648363A88935DD74746E5102BCF89B9CE144679829E857C0A96969081E8A2B8D7437FEA42656A02CD791E36B79B02319166A7D315984133AFD65A02B6E60BA875990AC693325A130633EE85B429DCE6A0D9AA615F0F998E5697C520873EBFD9AC0A5A21A4D1E280560BCFC73CE18BB3482358DC211A9D0F21345D9FD04AB7D556B4A949640EC14AF1AA61A2A15560DC6934B683E40BDD0AD18AF91C5ADD0D84A99D8086E34BA373AF55D7455E2369043F035A5D5C2B83D7A8D636108E230CA6243545895DFAD790B5BF3B5400FFFE95AFDC8B2E6389A4767DF506E4D2187C1156651842341CECC2FC2CDCDCA8212C9C400DF244B42F14F2E8FB109EA10BC8206E2686A4B27928149D3069F144DB1442BA42211D3EA69413CB5D9C34993F9E9B16FD6A34CA3F1823B897138CA65939829D44CB120DDBB92E0554A465749A836EC6A4A511A180D69772D50CBA5527E3281A9DBB86312AABB523B7D4C2DC44A7657239E8353D8396C680ED63B0963482C829E41BDE2C0AB9271668150BF93BFEE0898FEDFDD38F7CE8EA4001A4DCCCD962B120D2F31B64AE88D15BF57A18843043C4C80E2E667AEBEB2A302DEFDF0FD3D3CB8882AA8A76DBFE03C888B2705DD25C0F1C3A881A5414AE45B63B74F4186A695EEDD3F7CE9377A10C535A70DD8613F79C12F9834E3B7EEF7D98797B6A6CB4BDEBD45BD102BA26EDCCFDE22F5B485A1313B513A7DE86597D4BB559BD7A45B8AAA05D406B5431ABC62CB7D7EB2A1A59F76465C9A0CDA15216CBB318073A8236315586225A7D9BCA29590CFE98C856D0EAAAB5FAA3C8E2CF0C0CC25F7DFA6B4F2F2DCE3FF4938B97E0F71FFF339829955018699428C23534A54C2E2FEA3402D2A5C49228D43034398475A2564413F7D8D6C520D0A8639223EA3BAE684F01B98D6649C18D60A4809254436A34C31A5340A354B381D720984BFD09D25231B081C1559C5FD47D5CA0724EA7E30BE84A74BA4617F17EAF67D23A025E3211CFC4D814CD172E42D1BAC10387921624560170913452CED5B52DB12F6994385EBDBE1EDC13D2F21883B6366B01AC46C090410FF15BBF710E3DCACA973EFCC1DF7E4F5F0B78EEB9E7CA8830DE318FC1F2BFBFF675D456576487B5EAB6D29E3BEEBC132DA2A3F61B14944F9DC1768822B63714FDCE1377A155EC355EC4C41015103AA13A4AA78D088675C4FB2468BFE9B7CDB6FA8B9F7CF99E519376F42EB40A44249B9AB69F3CFD16A4F5623442291BBA559C7E5B48BB19D0EA5B70F7E9FB435A08AF8976E6ED78BF2D8BF600D29A8A46B1E9E4A9FB15AD32554225CA8B7E7EAE8BB43AC2D432C6B5D6C3E7CF9F4F9D3B77CE4F140073330FCF4C5532D35315B8F4EAABA2A4D0A0BA08B69A9C9EC413978359AA1487322650935354B359C0E3948DA2C622849CCECD08F44055C86A7D03E49C96FC6B17548E206D73495B44B1212B0E3ACA2405640735FB2B1769858BC1F4F5A2C1A3A01883100C14277230B73017BC0A3346F3025AA920F202A2054B47341A9B13013CA0E591B62868549FB2693DAF63D018D1BA513BAAA476F15CA4706E98B411BA5A989B2D5DBC72F5AD7863DF4C14006AE7596AF8CAE557E1A1773C006F3D7DCA98837512261839244F53326E1DE5A0B8ACEAFFE29C4E58CF67C6DCAF03D6DF6E512730EBFD8E232783AC455D492B2FB85A36602F6CD2A7FA83EBF0F83A2663E25F5798F000E3D63859740FDBF59A70E5D9947BB6AF00D00F9F2517D0409FBC8C5960BFB535F109908419A641D3905C5BDB3060A6E9A9CFFE1D9A7743ADB78C66ADB8F13762B8B6E2C1FEBB34CB7B6F835F7DF77B8CE9C8A4FB499ED81971F6CBBEAF84F37569A93AC2568C0B1488FF382680175F7CF1380AE0803DB7993C0D684F478E7253D6DB76870889DC46A351C758D1369F94D404107B8A32E17709410405F89D4D438E3EADDA7FAEBAEF9CF1DB3EFDE9F333EF7FFFB90D43004E367B36C386CDB10E92FCB039E34173B5F19B5AB97E15837F35B6FAB9DF6F7D5F7F86E1C6EA6A381396EA3B1D694F9B0EFAB357C326F647B0161732FC97F1C7170D0164D1FD70B6CB150EB13F2135A290625AC6E1D2C58B628A7018E3935EDEAD6F1B8D06DC5C5DC1BC647F82D68E36B1DFEF4DF1FD956EE8C4FEA38600AE5FBF5EC46CF141EE2698E22813E03B59E130C8B569B406267FD33333CAFF1B9A6E3FD8A13D43A096C2ABF60CAE5DBD0A771C3CB8A3150EB732B13FDC5A549F478D44ECA5972E3CEAA4DCCFB968ABC1BB9E04B8001EE116842A843F31DFC6CC898BA7355CFADB4A62768AFE7539AD8520630FB6411F01081C4E857B47FC25146AE00C5DE13092B50CF83385839464149060C7AC1D2F83B1D6B52608C94DC1DDEF7DE73B5F1416F0A13FFC9383C8D3F95B5938A6AF62BBC5756704FBB902FE8E44784E4453EDC267039CE02E852CC5FFF89F5025D1276825C4EC467D1D13A93A625E93F370DC6A9D89138C2100A28ED034A58792166A26E7DA98823FB4E38821B8C1C579C49BA09D1837AA2A8DB2902F9E5402B87CE98A2B71BECD592A82DD7BF2084C9426E01BCF7F5F64A0C78FDE0E7B1616E17FBEF902262A3DCCF226E0BE5327E185EFBF045BD59A26948122933BC35BC5A5BD33E5B83562DF235BA737A0799F078BE76721554DC1DBEFBB0EBFF0C0267CF6EF0FC18DB53C54BC16FC7AF567F05C7101FE373F95781E9A88532EE8E0DDF77F1085F264DFE5294EB066A7E7A7C2FDF0A10D9609F7694A02716EBA28A6F5FEBF7FBC740BBF4DC8776685ED4C143B98E5D6E0F2CF66C534A98BB954A5BE0A9DC20C3433F964D377E0372FFFE05B4F090B9828959E5B5E5EFAD8D29E85E3592AC8BF011F519C7B033EC1C3256FCCE7E8B1E12EB7D16CAE5CBBBEFAF22BD7AF3E9F580DFD9D0F7FE42E1F9C47903FBF82477E1149457B39B8B3239BDF81504665569FEB8CBA64DDD9C9409DDD085F44901FA3123CE372F6344BF9CF7EFC8927560796A31DB1060F9C73E7CE6102999E748A9587D2AEFB1022BC19074CF782996AB9BAB97E5BCA4D751796F7BD2C39C015040A17F604CBB57918586534E4E1F514CD8D7E734716611CFDF102AD0F371FA37078F41408453FD99F3932308741529E33EC28CB350E306341A8E3A4A4AFD6AE159E0BB9C67CEE5EB9F8324D33C2E2F26DCFE64BC56AF47E26CE1055AE751AED67AB1BAB57B2D96CBB56AB759F79E6193FBC751E1300DE94FBD8638F6572B95C01B17411F7A7704B4FC62CB9AE3B87DBBCAD0F9EE795DBED361DEF158BC54BA36A069ECBE9B314F275730FFDAEB99BF361A228DC752693A9BA34676B1EEF216D1BB7ABB85D417EAEE1B78609620B79DC397FFE7C8F042104F0F8E38FBBDFF9CE77F2D870161B2C61C32564FE2CEE9742C6E79C21CE546AF2B81E7F487AC06D07D7E03B741543DBCBF18C3A064AA9F0E3E1B68D3C6C212FEBC8DB353CB482167163737373FBE9A79FF6D2E4723EF0810F90BD1551A309D63491740DBF37B01349D9C10EBC8FC6F25EF43032B78FD1968ECBDF836E5AEECBB6F2755FA3F4D5DB78F466D93EC7E843E50DA22531D26EABEFDBE319655C6819F25E187DF1D3CDE7F3ADF9F9F916BA77712C4D668016E0A344AAE84E9A9D4E2766AA62E541F841F3E1BA56387D12302934DC8EA485A552C918FCE5CB97FBB62D140A236BB8DD16C7DFB7EDF4F474DFF3A28730F6CBE5F2C86340861B6D979797F9A73EF52941FB3FEFAAACAE1903B9AD0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (71,1,'PBX_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000038034944415478DAED7D079C1C65F9FF3333DBCBEDEDF5965C72472EBD4012D2494802524404094D11959F88288A227F0B28C2CF0272A754292288201D0181F0A36890403A09E9C92597E47ABFEDBDFD9FE79DB2B37BBB97BD102021379FCF7B333BED66E6F9BEDFA7BD854B2412906DE170494827D0B6BC1B8ECF4579D1C4502F7D822D5CA66FA112B65AE0EA753A08B86359E0AADF89B4FD8485841AE8273C0032D4745E25F46CE558AEF5F20BC655BFE3AAFDCA39272208520090267C5EB5968BA0DAE654C78F15264864A9F1F1C3941316040A0032085F16B85C34AA22A401038E21364864107E4C55A2AA12CB0084130A04E900E0D2044FC2D662D1A98A360310B86314007195D0235209AB8A1A0C272408180054C2E754829505AFC762C4625015BD0A08E94CF059A982749D9E2EFC1096605A0949E58405811A00B210E55AAF97846DB6159596C5633153221137E3F926FC32780C4B4261021EEF20310107491F22B9CD898752B639917A9288E194A3B25192719BE35231A6FA8D163D098FA3751C5F2BCA737C8417F810CF0B218D46E3D7EAB47E81173C3BB66FEBC1F3FD2A2084556AE2C401409A3127A8844FB5DE8C256FD197BFB641230820083C16412CBCB89DB29F571D1FB40FD7FCD0FBF9947DF45BB52D5DC3CE91D7D23562E1C435276DE39A636B02616A8946A38E658BE69D81EFE6C5E29380104AB30B12271200D4B55FAEF9162C562CF6255FB9F2DF9AA1844C40188EF0B380410180245CB5E01580A880912E7C41163A03020A5B5EA714D407E188F3F485732FC0777362F1484008AAEC02A60A4E3400C8B59F846FA29A8F251F4BE1B215DF7C85095923B00F2A6834838497CA0443083B1B13C820501F57042FD57E2153EDE7C47D5CB2F693E06581F36C1B1420D039A170D0BD64FEDCAFE2BB0D482070AB582022AB015CE2270200D42E9F4EA27EAAFD36123E96E2332FBDEA29B1860A90673581496F9084C1B1B55833858CD44CCCC1E1471734A280D87D38F11C1214310747002060A96A392788359ADD9F4BA57E85EE79F119385EBC1ED87DE59A2E5F47368280B41FA3C3A0D76A211C0E7A4E9B37E7DBF86EBD2A10F8D258E08403806CF59B24EAA7DA5F8CA5F4ECCBAFFE2B0962F6D409505654A0FAF86A1A4E2F9C526BD5FB87BA46C87A1F2145E8477AAF436D1DD0DED50D7C02BCA7CD9F7D1DBE5B37963E2C0E490DF8D56AE0440280A0D2FF6689FEED584AB0949D7BC5350FD8F2ACB0F0E4C9390BE0980380A43EFEB36623B20EE75B32FFD41FE3BB7561E99100E0495303271C00B42A0010FD174800A838EFCA6BEF29B2E7C3EC29759F03006C400648F8972E9A7723BE5BA7048001C90EF0A9BC010240EC44018046C5006AFD4F00A83CFF5BD7FDA9D09607B3268F1B1E0084C182FBCC01B07623080800F4027E8EEFD621A9817E2CAE0C0C70C201C0203140BE0A005517FECF0F1BEC79169839E9D3074026C3EF70F71254866326006838082C993F2713007C23004865803262801557FFA83EDF6A819327D61E030048DE336700A8BC8B55EB368296E703A7CD9DFD8B2C00088E00200D00175FF3E3FA7C8B19664CC80C80FBDEFD3784A2A83679D1E523170E24F78C5C3D20978FFE95A03AAE5EF3EAF3B9B463E27E90FD7B799B39F77CF21A798DA0ABC9CF873F2D5E921100EFAEFF10743C17583867D64DF86EED2300C80100977FEFC6FA3CB309A6D58DCD0880EFFEE371F0130024A1642C4772EC08EF37A5B818D65E7A594600BCB7710B6851052C3875E608007205C015D7FDB4DE6832C28C7163320260DDC126163BE5A4DACC0B724856506A30A75205320B7069BFE5F02D9DCFEE2147F2D8F5A0DA4E867C3989EAD5F72B301AE18B35B51901B07AD366D02303CC9D3502805C0150F1CDEB7FD1104B24603A02C08C40C8499F0B998DB78F670308A9B1FFA1FE2F972A7C2A3DFD03B0FF600B98F43AFFEC93A7DD3C02801C01F03F37FCB2210109FC2200791623E8345AA5060A526D946BAB928D536A272405947E4CA01CB25CCB7916CEE5F8644D662A9D13ED83A451C749593E691B54D93FF60CA03C0FB313A4F87F2C16A3D82E94A37A884722FEE953278D002057005C7DE32D0D4A8C9D2818C12028563ECF1241244C3189A34ADC7062364FA34EF54AC734BC9096DC11941A2CF0EA4C6012588230D8D3E065B523A77E41163C249B88509E41AB05934EC7AEF3E33275D2841100E40A80EFFEECD6064E4ABC180D7AD06A344C8072B64E4CDC2405AA4EEAA40B9693337F2A778DCEE1E473D48922765C74FB048DA0D47A41FE7F9267A0AC41641CE61D480D4B1252839138D117320065347D3EDF0800860380EFFFE2B60632F2C69415A30A301FB7C9A0DE81012C0E48C462FE1953465440CE00B8EE17BF69D068051837AAFCB8CF056CD8BA83DC40FFCC19234660CE6EE07537FFB65E8BD4795255D9710F80359BB7E18B26D00D3C79C40DCC15003FF8D5EFEBA9E1C64955A5C77D32E8FD4D5B40C37181F9B34F190140AE00B8FED777D46BF0CC9ACAD2E33E19244602138105A78E84827306C00DB7FDA19E4E1A5B5172DC2783DEDBB8190454018BE6CC1E0140AE00B8F137F5F51CBA5063CA8B330AE70F6FBD01A198F4AD042961433EB920AF93891D2569A34AECA4247DD489227A40691FF3EDC95DE4F8E46F2569241D937201E3EC76F8CB1967664D06110016CF3B750400B902E067BFFB633D24E230BAB4E8B84F06AD5AB7891A8404962C983302805C0170D3ED77D5C7E231185D529811009B5B9A593B6A2501C489AD8539D60218A466DA729248A4672ECBB67C8E18D64D269192092021659B97188653E509EC26139C31BA3A2300FEBD660303C0D245F34600906B1CE05777DEDB100847A0DC6E0193C170DC26833A7B7A6177E301D06B357E6480913840AE00F8DF3F3DD0400C100A85D91572A2262516CF6A2F28A15B5A8BEA5AACAD02C72B891E516D8B615F10E4A48F58DB0549C0AC8DBFC41C644A50981704B9F78FF49B257C284DC529717FF63B41D98A04C8FD07894D22A8A2E85711DA079170D87FDABCD92300C81500BFBDFBC1064ACC88B1F538EB6821D37C6A572E311FA0913A9108EA04D1A09E3E998E0BC90E27EA7E81724E41562D526766CAEEC5E371A0D6DBB11816DA46A0C6620920C0D2EF782CCECE632FA9D5B2FB793C1EFFE2F9230C9033007E7FEFC30D9C54EB818180537A03890257F50E129282E5D3BB78B13E84A94923A563A80C80F4FD9CBA4B9894E221002412AC96539287404085044E408833E1E37EF44CA2B89DC06D0D3E9386D7B06B7D5EAFFFF445F34600902B006EBFFF9106FC1AE83EC5C1ACD78156AB513A632AAD7C06E9EE61848233E8EB238A04CA1D42E563AAE70B8482D0D2D189B5DF07C160C07FE692452300C81900F7FDA5218C4660519EE9B8CE051013BCF3FE3A648F98FF9C654B4600903300EE7DA421140E42B1CD72DC278356AE5A4DDDC303179CBD7CC40DCC350E70C7FD8FD407824128192E008EC164D02B6FAF82280260C579678D00206700FCF9D1FA50C00F459F01008E7632E8E5B7564124140A5C72FE392300C81500773EF8587DC04700301FF700F8E79BFF81482010B8ECC2F34600902B001A1E7ABCDEEFF341611623F0AD5D3B204A834DA9BC014ED5565F19B1437D8C4F3F2624C3C0BC3A1C9C0C0327FB04A41F5315BC47A9D90C5F9F34396328F88537DE813002E06B179D3F02805C01F0A787FF5EEFF579A1D06A3AEE9341CFAD7C0B427E7FE0CA8B2F1C0140AE00B8EB1102801F0ACC868C0078F483F720148F2B3559E9C72708AA3E7C9CD4034848FE96FB0ECAC7F8D4FE82F23520B3897A1BA434B3D2B348EE85C4C3689B0DFE77FE828C0078FEB5372110F007BE71C957460090AB1B78EFA34F36B81100797A2D50DBC0CF2E1974F806218392412A0010889F7FFD2D6A11E4FFE6652B46E200B902E0C1BF3FD3100C47C0EBF52A113E41D51E5F501A7470C9A48E20F70CE2929D3638B103094BF0F0C9819C38413CAEF4F651D6A9E3FD01270FFB060A3B302E90C3D472EA584A00B1B12BA59E493E147E53731BEE8B432C1AF37FEBB28B4600902B001E7EF2B9063A358A7A3E2AC5D995506F4A2F2051407C8ADF9EDA654C14BA2814B1DB96349A28C7A9C708551696D5A3B87F8249846DB3D83FDB8C8BB980445CCA072454EB98941C12F3058256033ACA536805408FC67FD5E5230C903300FEF28FE71B38491891187DF9B894A69552BD29B42CF5F2518FDF4782174401CBD4AC085D2EAAD46DB25B9798D44D300048252EAE49E82200202523C88001F2366503A53C310242906C123401FCDFBEE2921100E40C80A75E6840DA8460D08FB5484EF71E5FA1607F20085B76ED8603CDAD100E86FCD77EF3AB2300C815000F3DF97C83CFEF03BDD4C0E3B84D0621733CFAEC4B1407F0FFF0EA6FDC8C6CD08EA5074B3F9EE34286F0E974BAA0C562896089EFD9B327264FA3F0791D36362737F0C1BF3F5BEF727BC06AD01CB7C920B9B5D1DF9E7B199C2E67E0FF7DEF6A02408746A3E946C10F68B55AB75EAFF7E5E5E5058B8A8A22656565B1E9D3A7C7264D9A9478FEF9E761F2E4C9895B6EB985A990CF1318720680D3E5823CA3EEB84B0629E3164806EA5F9FFD27381DCEC0AF6FFCE12D28FC4EACF13D287887D1687461ADF7A3F083C5C5C511FC1DABAEAE8E4AD648BCBCBC3C6EB7DB13BB76ED52802031035BDF7AEBADCA47A5E38A3D738CB3474E00788018E03302C091E602C8A8948D3ED1E310078C7EE4E917C1E974061B6EBBF9370683A11B05DD878277DA6C364F7E7EBE1F851C329BCD6193C914C37D61BFDF1FC7E3D170381C457688B9DDEE38B2429C80401F10B7B977DE7987ABA8A8505C988E8E8E04FEA66309F93C35688E2550E4C6004F3C578F1FEDB80100CF0FF636A4AF0E8F3EF712B8061CC1C7FE7CD71F51D07D2854070AD88DC2F6E23A8880086109232B449121D89881F81E61145E18EF17C26DCA25C9CC00783D8FA0E0114C7C3018E4704DD3D025F0DC389E9BC07B2406060612322876EEDC992075920E8ACF0A103903C0E572A20D901900AF6FDFCAC656E55443BCA40E12C50F5D864A140D714DB6F3CB2C66B86ACA5485A2C5B68371D646F089175F03B7CB195AF9E2D38FA0C01D55636BB5367B81A03318C26807A0D0B57174716328C5386A7B0F1F09EEE4E2B101BC0F8D224A2580E008928051B01C82858DB22E10DAF113D050342874365D0DB2478CC61BC6F3E3785E1C81C3E621E8EFEF872953A6C43B3B3B21DDC69055C7A705889C00F01031C01000385692419C2A19F4DE452B9456C3B1589405B1229108BCB0F22DF0FB8311B7C7BDA7B0BCB24AA3D3DBC5E0514C0249B281A9B42F9688C50EFA03FEDD11BFEF8932B36E230AC88FEF1D410153CDD7A3D0D93C4A1C853A1173888518FEBF289D43D3D6E0BE289E1343809157114375C2C040A000D53C86E92CF16930446E00F8073280DB0516AD3623009EDEB00E2234B036373835AB6604906819D4C7B964BF3F3E3D3194960A8694DF7CDA792220E81E55160BFC70C6C96C6028127A381206FCE8D0DCDD078DAD9D6C6221B5B0530020ED8FA9F6074321D8B1773FDE270216A3716BA955FFFD2A9BB919EF2F606D37179696962D5C7AC6736EAFDFE0700C74BB5CEE3D5EAF67ADBFA767B5D7EB7493FAC012C1FB45F0F9A26A5040729EA214969001B17CF9F24176C4D10443CE8120B7D70D3A3C5B2B688EB96450726610295E89DF87025724742A5EBF1F1A3B7AC1E10B40A6DA3E08042A00044341D8BE7B2F04A8538CB4980C7AF7ACAAC285F83F35586C5FBAF8D2DF59F26CF3A8F34904FFAFBC26C00C389C21A7D3DDEDF37B1B9141D647BC8E77831E4F1FCA9E6C0A02029B9F80D40F0182C0E1F57A63A8364885C4D1188D1714143035422AE368B3434E0078F4E97F3604C2217079DC34CD98D41C3C39349B1C0E96B77975324790CF4B2675788E537E27133E208DF095BC56D956D917BCD42984937A17F1208794998DC7001067944FB53F0C215C7BE3BCD84F2083A0330240EA5F403DA13EDAB58B4511D3974ABBE586BA12FBB6454B979F5F5B37FEFB94A7480700ADC369BF69EDF67AC25EB7A72FE8F7354642A18D89B0FFDD98DBD1867294E73364731C22BB4424401000A268B4C67D3E9F32D3A9EC657C1C30E40480C79E79A92186141FF007C18B358290CD4B1D34783E19C39727654A19AA2D25C5C3A90D72D99096123EE23E25F9939E0360C9A0B8F21B581248CE0FC495759CA2B72C5F1087A2B23228AEA8CC20E86C20480280687FCBF69DC81E818C1FAEBAC8FEE0929953762F39E3AC3B7941A0995688D321148E802F146109AF4C80C8060C045934E0F3F4F97DDE1DF180EF3553D8FB1FBC650899013F77044F893240844221C60EA436D003891F3C783081FBE2B2AAF8F5AF7F3D2C10E40480BF3DFB52839862C1978A4459F72BE092FD0239A9C70E2F09580D06BA3DC7A7032199E801A91F9FF8CC321024CB5D127C42CE024AC9A0B8DC252C2E2683506C90C05A1F6725C6E8DF9C9F0FF9651549C1C6720180B89FD4C6C6ADDBC1E3F565FD70534697DFFBBDEFFCCF974C2673B5BC8F9EEBA1FF6E85979BF64395D9029546334C29B1C394F202549D20093D3320223195EAC07530108CFB7DEECE5830B44E88059EB643743701029F9131042DA81EA2B862DE066D53B00AD5445CF22612475105BCD8400F160CF8F0458E8D6410014CE079C5D5237B8A0487BE38F4797CD0ED0BA71872B9B2401855DDFA2DDBC0EDF164FD686887246EFBC1D5AB4655572F55EFEF7507E08A175F873DE014C73FC467D64705A8001354E88C506A30C1D83C334C2AB5815EC3A5083F3C0814A90009FA03E170D077808B4456E57191676C5A36DD8D0C88B04EA7C3D70F93EA88A29D1047D732A7790F734C07BFD0E0F179C1A01EF6F51800002F5AC48AB51F42E10F60ADED09886D01626A61C762870500A9B6D51B3E049FD733E4479B7DF28CF8F7AEB8845747F668F9F92BEFC3D3037BC4C12EA51ED162CF67715A55028526C64141440745BC010A753A283719615CA1194C5A2E233B8433B105B2702C12F2F2B1C84E5D22FE6AB9115ED026E26EFC2E7EFC0E21648288C40489A314087AA6DEE5F21E53C920D99020C131E1A3CEF6A0BEEE0EA60A7E68164802201245E1AFDF0414F2563E8ED4233A1E4B66854B2B46C1CDD77E1368F87CF5B2A6A903AE7FEF5DE8E783340A99F83E92D0E3FBF783AEBA1A04BD5E0282DC3602C181B7368734900F3AC817B460D76AA0DA6A00B30EB2AB0B69AD48975ABC44C33D108F7E608A476F32051D07DADADAA2B9B0400E00E02BFFFCF7A7EA5D4E17D84CFACF341994EAEE01B301A2247C72F50201E88D704AAFE0E100806AD4FBEB3742FFC000BBAFA0D142F7A17DB07BCDBBB0E02B57B05ECDB4D88ACBE0BB5FBD08265657A57C44FA1F573FF316FC37D289B55D4C99137404C9EB49F4F581EFD557217FC5C580140E82D1081AB399A6AF4B1ACDC02672060E6D1A7D90074B540B663C68C5772F336A902112A267A30200FDDF14AB0ADFDDD775E86773C794DDD3D4D4147EE8A187E287B305726280FB1E7FBADEED7243FE670080A4AF0F5272477CA538F3F5D19AC69AEF43EA27E1C7E531033202203308D0B866C2EFEEE915858902DAF0FA0B10F28B06E0FC0B2E079DC90CF6B24A58367F0E9CB770F6A08FF8C8EAEDD0B0FF434868C4DAADE145F7940D8081AE73F8A38FC032731624F0DEDE55ABC0B67001447BFBB17483BE7214984EAA15CFE5780508921BC48A10E0C018D100C50D0D78FF02FC3F463E865E473445BA7E472FC4DC033F99535BF5608828115FE7706A202700DCFBB7A7EA3D04802CCDC23FAD6490E86EF252F3AF188DF4017E127E08C1C02567AF57EBFCA100401FF0FD751BA0A3B38BD572BAF7C16D68033807C0E71A00BFCB0933BF7001D49D321B6AC78E812BCF59CAC642502FFD9E205CF5D29BB0877388359F002019A8913D7B20D13F00D6850B21E1F582F3A597405F558900380DFA5F7A118ABE703678366E045EAB1199C76402EBC449C0EBF420A07DC0492020A6530041ED1BDD3C4C3368116C5116AF90973E642D3D97B87E4655D1A3050505C1818181E8D101C063FF600C60B718330AE785CD9B2042FD025421597950A8943E0129616221C5854CDD978CEBF3AABE01721089A7E1EAF163E8B0CCAC1C0B36A339950A552C104B37FCE4FDB87E7FDD7A68696B070D7EF0CA9A71A03718524732273021CB58AC16B8E8F4795090671DF401FFFCCE47F05AEB41E8E07C90D0261BCB6AE899D1980CEFDB473A02D03D81BC3973C0F1DAAB60993C05A93E0EFEC646285AB61C3A9F7D066CA79C220E6533E080FC192743C43100BA824210B43AE00D463948C2C060F16860AA55A3A8033906D2DEB803EC26FDF72714DB9E0CE04276C073CF3D17FFF80078F449D622A8200B003EE964907AD0076AD96BC435E9C72BA7CF82196894655AB202406281F7D6AC83432D2DA0C59A5637791A18512FA7CF5C2E6FCF1A5F0BE3AB2BB37EC440380A6BF677C0C6964E68C39ADE1EF042BF10044E2F0356F404A846879A9B2170E080D8442D14467BC00005334F85FE0F5633C1070E1D62EB96A79F026BDD782844D5210B5E5E97FAF45063E1142F8158C08FACD5DFD90676A3FEBB93CAF29FD36AB5FE8E8E8E08D90143E50F7202C03D7F7DB2DE8DBAACC062CA990178552DFEB80CC04BF42EBB531A5401636D0550575A955528320B6402C0EA35EB613F0A418756F90CA4770B0D812F881359A703C064D0C18C713560B79A93DEC761166F200CEF23203E6AEF81766481AE900FBCFA28F0928D20365749B0BF4E54013174B135660BABF5258B4F8781F5EB2082DFBBE2CCB3536C0132F200ED81A95A039834F114AFA0F7E03EEAF1044566E3B5D34797FC13198E9AB785DD6E374B34650B0EE5DC33C8850F69D3258787F9B49241BC123B8E8B2154EAA082F68D9BCD733DF49209005B77EC808D1F6E013D0A7FFE8205D4A02375BC2269A20A3642197EAFCAE24216F8EA1E70821F6B2CC9C06E354171BE0D4AEC36D049FA7B2820F6B9FDF0DFBD6DB0070DBF2EBF1F06A22108194440102BC8D18498D7079EBD7BC0366932F4AE5903E58B178B2173A9293CFDD0B90438B5D090122CA2F845F3AE6DEC9CE2C2827BEA8A2DF7214B3A7D3E5F105DE4B0C56289C9AD98D243C53901E03E0440301401B7DF4B932E8A53BEF3AAA48E9413E0D27F2BE7A8F673A2FF0B29C9202990CCAB42C9F41BBF8E445F52862EC6406CC19ACF49AED9D01F3F35B3D78AFAFE8DB7DF011D0279F9D2A55050604FA1FA946DFCBF6604C9D2595307DDD7E1F142479F033AB1E05766215EFA2645B63CA82C2D04A34E37C84D5407767A9C7E587BA0039A1D1EE80B05C1990841C244EC20CA8556618F0774E82A26A4994EE4B887CDAD852905BA949C821BE9BFE3C07E764AF1A83160305BC94572C483BE3593F284AF11085C2E570C0111ABA8A84861839C0070CF5F9F68201FD44F35CFE747DF3BCC62F55C824BC228AB1492917F39FFA3247FA497927301CA6F29EEAF5C20F9BB2498390B1681D566CB39DB25B3800B8DD8175E799531C979E79C0DA5C54569424F9DCA8642CA679E3A03D2A37DF2420D4C1C4E171417152A35BDC7E186FDED9D0C1C9414CA439539AAB4188D47CB90019D4E870FB6B4F54197D70F8E30BAB57C14386342747965DD4F6E6F2001130523149984947BB4371F0427BA947441E99871A0331844A0B61E8CCCAAB0D56A341A6AC0422D9EC204020A15A37198103331B900E09127C46410A231148B003596E2A4342CA8021949207029291FD175E7C4FF9610FD5C39F3272781C4C11DE322D8E5EC9F34EE5F9C0DF51687EA7175602F291956BE9B5880D2BA2FBCFC2F1A1F102EBDF07CA82C2FCF5CEBA5B5D3E58105D32666A5770F1A7AEFBEBF16BABA7BE08A4B2F02835E9FF13C2752FADE960E38D8D90D5E7F08994703658576C6142C779105101D0888DDDD2EE80F6285A3C62CA8EF790A02383938ADCC8AEE6B3CE5FCBD3BB6B1B88519EDA2820AD12E0ABB1DA043C9D6D48E4B381DFDFD41BF67A58D8BDC0C7E5F9FC964A29C418CD4414E00F8D3C38F3784A311E0F1635A8C86E4E08D9F502858DDE49A9A7345B036792231080AFA236AF4F0C65B6F43E3FE2638EFCCE5307FF62919849FACFD0EF476686A1C5B5AA83745B02E17DA425A30A1E7A0660802EC9EC6FDD0D2DA064B172F64AA46BDF80241D8DBDA098DAD1DD033E002ABD928D9187C96F8BFB8DDE50A40539F975594094586947369ECA6ED9BD6B3384679ED04B64EA0ACFADA0EC0B2A5CB41D068944134C97E3AB87FDF966A5D641E9118AA82784E00B8F381BF36508B98A22C6EE0D10200AF0AF5CA563C35EAF0A19BE5D7188F48F89BB76E85D51FAC85DA31D5F0A36F7F8319746A00A8173752F0BF3ED804650536A8AD2C83715565505E54A0F019A9A5B51B36C15E14F21C04D2E409E353AEA790F4C6CD1FB1F317CC3D75D0B350ADA736037A0918AD3D7DB069CF0138800C4103689615E68341A74BD6EED8E113435D5D5D70A8710FD8CB2BC1922FAA23477B337BB651A3472BC2277052EFEE0D6B3F683E7574F1641067498FE5E406DE7EDF23F58140004AEDD64F0C0024748DD48E5F0E6C508286E8DB2318507DF0C3167E6B7B1BBCF4AFD7A9952EFCFE673F82E28282ACE792CE7EF5838DE0F205A43607A23A32EA756CAEA47155E55087CC400C48CF6430E8D3FE5707F4F60DC0C9D32667B41B0EB6B4C0B6EDBB18739C73E6B241C7BB91113EDCDB04BB0EB50175C52F460FC36CD4B3F87F7808FB61F7AE5DE04597B174CC49EC3E11AF0BF93F084B4F3F3D397AAA54D6A267E1760CB49E5C619F825E10B57489E60480DFDEF3503D1945E558333EC95030AFA27E8AD1537EDF838F151774C316BE1BA9FCE9175E64C6DC572FF8129C79DAFCEC8622FEBF77D67F04EDFD0EC5004D59C7932D934A0BF261FCE80A044305D4549430D052DB018A2DD03B9C7DC6D28CFF83DEA5BDB38BD91F3A9D5651197B5135F5A07BB878C15C9597E143666882F5BBF631738A5CCE44862667048CF56BDE077B5915E88C26A21896C43AEFECB3C06CB1A408BFA5B915D66F580F6683F683D9A34BBF88EEAF7FEDDAB5B901E037773D800008414551FE270280E4B4B349EAA796BCBE28BEB4CE346CE1D3F5CFBCF84FAC91FD300EA9FFA61F5C93D59AA765FD8EBDB007F57252E87297F3E4B8048380C1C61F1650559432404CA8AE44D5919F51F03B76EF81E6B60EF8D2596780A0725F3DE84EAEDBB4198C68B52F9C776AC667DBDFD605AB36EF84663438EDE84DB01C8304026AB1B47DC70E2828170D3F57672BD48DAD8619D3A72BB44F2A809AB7BDB67225E54E6253AB0A67E71BF4078705805BFFF8407D1869A5B2C87ED401C05AF648D4CFC97A32128100B5EED15B93BD7A86B1ACDBB011D66FFA9005AD7E73E38FA0ACB830EBB97B5BDA60C3EE26D5B80389C3B2403640D8D0EDA354F144040301C2846A8200F0D18E5D68301A60CAC40929FFBB0DD506A984D292E241CF450D51F734EE63DF63F62933C08BBFDFFB68176C4466204F4AAFD7C2A19656F08663CCF08BFABD10740DC0A55FF932F3B8E481B319F5AFDF008DFBF6A10D677A624A45C1CD689C3AF1B9725701B734DC5F1F41FFB4AAB86018FD02B8B4D0EED0FD0294C9A3F13E44F8CB279F02F916EBB085DFD7DF0F4F3FFF2243FF65E79F0B672D5994F5DCAE0107FC67D3F62C42CF8D05E289CCC0A00F3BBAB418268DA984496347A1BA284D463571D9B97B2F7CB8753B4CAC3B890978D0B3618DFFF0A36D5083357A62DDB894B0CA8EA616F8CFE61DB0E3403384A4369ADD07F7C105E79C056565A529865F27DEE7D595FF077AADE05E7852E562045437AA45B7C160C8C9082CC552F5AB3BEFAD27576C5469C1514F0671AAF67D72A2E7D2534E856513A70E9FFA5120CFA0DEEFEDEB8351A86BFFF7C61F64A57EB73F006FA2DE672D6B5402CD850568A0AC59136AC18CBA7C73E341E874B80E0B08322649554C193B1AA6D48C86225B767093EA22A372D2F8BA41C6A6BC3CF1E67BF0F6C6ADA22AE9EE80516525F085A58BD933CA7A9F54C5F32FBF0C03034EA829CCFBE99862DBCB28AFFE68344A8D1D22D9DC40731A002A6FFAC3DD7FA4C617D9E60CCAD437904FEFC533541F3F89FE29CE5064B2C2ACF153803B02976FD3E62DF0C1BAF56CFB5B975C088BE766D6AB546BDEDEF011F3CBE343D17A16169837691C8CCE37C22B2FBF02B51326C2962E37D048340604040579C8BD8B48D3D5C7D340256F97A2953FB5B61ACB68A632F45AD130240F63F5DAF5D4A104CE3FF70B8ACBA85EC853B8E3C997181BC4027E70F5B4C335575EC1329B6AC38F5CD23548FF16BD6EDF9C9AF24BF17FF7E0FBB8A45150A2EA40105926F404FA0C0028BFE98EBBEFF60742505D56C85EF2A8248364B0C80D3B59A207F5BEC1CAA6961BEE42C199279F798EE94CA437B8E7D65F64FC78D4646CF5D69DD0EB7067A5F5C3B1801662D0B16D13D48E1F0FFDFE30C42D76A8458A5FB168167CB0662D347774C28120EA65D64F21338BC455D959322629F8341599611A0282C2C7D92A00C5637EF1F053D0EFF2B067ED39D4085F5CBE14ED8BF1C986B0A8021C2E373CF6D43304E0F8F4CAE21576B37E076E0E188D469FBAB9981A009A340090D34C71D7B29B6EBFEBFE30D69A20EB1BA7079D86758455257A549D42A4A1DC4049F488FB404AF2F0EA41A1B8646E801A5E68F57AA8A8AD53DAE00D6759F9E6DBB0AFA9896D2F5B380FBEFE95F3330786F61E60A1D99C843D88D6B3DB0265F63CF01DDCC900A64516EBE54CA86039185B5E028BA68E87C6BD7BA069C0076DFDAE94EB332D14859C5C330AA6D554B3B53A2AF9C86BFF66C6208B2CF675B1361ADFB8744592FA25FDFFDC2BAF42D3C14314BC5B39A5A2F06634B47BB072B8A9F6EFDCB9332637189501C0A7018014949D924B04805FFCEE8F0F53528AB271149D123F8AAA674F2269A024925D7C94044F4AC78EB43C00EB6422F5E4312100169F75168B750B0832835607B9E8826E3474C8ED93979F5DFB6D9838AE76B04BD5DE05DBF737E724F44CC7A62165CF1E3F06D6ADDB009DC1387438BD29B44E239185D11AE7F526A57DE28A8533C1DD8BAEDCAA5550356E12EC760632B2C0502D7688118819AC26233CFDCEFB22938582D0D37A106EB8E62AB0DB6C8AE0A9ECDCD3082FBCFA3AD95481F9B5E55FA0915050EF3B0833722391F46CA00C00E24C93640892535B442CF0D3DF363C3E38C39748E9E2955067F9D419BE04A41A45924E553E2E35B94E88AD746A10F1B5536640903A7546C456AF667C692BBA5043B9832FBEFC2F68EBE8507EDF7BDBCD9067B5A445DA9CB06E67E3F0295FC502A74F1A0B6FBCF21268B47AC82B1B050EC1C09EED94F135AC7DE2160497D3EB4FB95E130D43A0BB0574463304751648E80C838CC4612F94793CB40F962F980BCB162D48E90341EEE3DD7F798C25AC4617586EAF29CA7F1A85DF87207017141484A89DA0BA4D002715416507C89E409EA4068A6EBCEDCEE73374EA4A4BED269299BC41FDFAD20CA1B86A9CBF181BE80FE6CD9F0F8B17CD81F6EE7E68EEEA45752382800AA90CF2A3CDA8DB2D26438A657FA8B9055E797DA5F2DB6232C3FDBFFD65AAC5EF0BC0EA6D7B5862299361962B0B500D090CF4A005C0411C6B39B5D73B6FDE0CE8D8DF089BB76C86B231B5702800CAF564F9FB8321660B2472B005725D02FD3D141F859F5FF71DA64AD586DF2BFFF716ACD9B819D954DB3AB3AAE852A47EEA41E4309BCD7E9FCFC71240EA96419C8A050495276052B9830537FCFA8E95EAAE9C49E1A70A5C6182B44E9DC9811D0733014BF7220B2C3EF34CD0A0804BF26D2CDCDAE774B32818B5F76740905ABE907A30E087A58E1976ACE56FBDF926F4F6F72B1F67F9A2F970C5855F4AB1F8DF479D4981A5E152FED0B680982BC8D3F1D0B77F1784C268C31455E09713DDBBABCE3D1D9A766C837EB4E60F2228FA7C81AC1EC17058201E0E4107FAFC377EE72AA8A91E9552FB0FB5B6C3DD8FFC8DCDA238B1ACE01B8566FD6634B8FBD0EFF7A0F0C3858585D1412D82689B63569AC2023A1508E86D6CD7FFEAF7AB53EA7F025246C84A6FCC91A2E33346D2E2293D7AA963E712D4FD824EAF18325614F0D88A621601DBD9D4027D68F52681209708B4ECDEA63CD9B9CB16C3C55F3C3BA525CEBA9DFBC0E5F50DFEF0390A7DE9295320E673435B6F1FECEBF3A00D14CF588BD50225ABBE5A1382DD3B7740E5A86AE88B69C02FE83F3E0BE079FD2D4D70EAB4C9F0F51517A4847BA981CA1F1E7804DA3AD1303419DE9B5496FF53946B17328093484372FBE2E98D43D500E0546A400D02CB95DFBBE156A44F2D161D52B606FFA9066BAD80D70A7847BA072F35E2E01272DB1FB5FE570C3EF1BFC4C5562E0454D68A5AC3F3DAF3BFFAF51A8D5EAF910110959A6EEB341AE6226971DD8446DCEEE676D6058C844F818E5604001DBBECCB5F8465AA840AFDBF6D089CCEFE0195DA191EE5DBCC465834BE1ADEFF600DF4A06FCF17954344A387E2FC3C961D6CEFE985A6CE5E66F9A70B949AAE73A10004F05D38D4FB87034D2E2C1074F641D0E3823B7EFE13661BA9833E6FBFF701BCF0FAFF51DB82F0ACAAC2F3F0E3D27803FD58FBBDF9F9F921B901483600A4AB023508642098A5B551F21674D2791AE93A4E5586E859CBD2BABC4EA713D027D5E7E5E5596C369BFD6B3FB8E1CB45E5A3C64659CE3CAE7269C4DFF49C63D0D7A60C9CD3ED43E136C3AE83AD9070F7C2772EBF04CA4B8BD32CFE6E388880C926F45C5920E2E8A7EE42108C25409F5FC82273172D38059EFCFBE30CC3A6CA5A704492AC402F1F551BBAF12CFF7B982C90409BA8ADA911BEFBB58B61AE2A744CD7F60E38E0E63BEF6241A4F23CE39FC7D82D7F439176E33776E11298376F5EF4E28B2FCED84F301D00E991411908FAB4220B5F561BF275902B00F458DB2D168B01D19987A5D06AB516171615979FB2F4CCB9F92595A322C8326A265033030D53336E5419549795A0CD90071A8D9016E377C1CE03CD833F7CFCC8DCBF788AAB9780285AF59E813EB0959443506FC19731B2767F2B16CF855D5BB74073DF00EC7345A451CD87167A3A30B22DFDAD07A0A6B2026EBCE65B838EDDF5D7BFC3961DBBC0A8D5764F2FB75D86F7E9A4E16F0D068317DDBEB0D4103473BF00F99F660081A002820C06ADAAD6A70B9F4B735F332E02CD2B8BC7697835ACFD46BBDD9E870C5088566A3182A248ABD5DA1024A6517593AA474F9A3635A1D5E753DBB9D8206690548456C3922D13C75441615E1EAA073F8BCFCBC3C60F25D06CC220EB9D125FE43AF6B9BD998141F797FB1FE0F193CA8BA15888C21B6FBC01C565E5E0CB2B83380D4675145820EC7180A3BB137EF7D31F53B3EF94636B3FFC081E7CF219E619D5DA4DD7D98DBA35F8FD7AB0D0D0B70175D0271700A47B066AE3505D7895F0D5B51F7260010E85CC0080C2672A0019C08EBF0BF1810BD05F2500581128467C2483D66030D5CD9C37D3505032D61F8EE8D420486707BD4E0BE7CC9F050E141AF519CC28F4C3B0805EA3850B179E0CABDF5B0DF6C222D8D5D90FBE1828C251E620481324993D01673F44434110CC7920202BE42AF421590055607BE31EB8F09CE570DEF2D353339F48FD37DD79376BF46233E837D5159A6EC0EBBBF03BF6472211BFD3E93C6C0F614EFD0F3380201D0C99B673117ACA82C2E6F0217914BC168B118B15E9CA468546DDC29287C54C051F896C0E0381A168547555C949936786384D712014E6D2ED04FAFDDD2F7F018AF2F398A178B0A31BBD072F0349AE2C402F516DD5C1BE3DBBD144D542D86805C1688633674F8798DB01BB1BF7413F9A45EE507848810EE5460E87059C9D2D285C03DCF693EB521A9310C3FDEEBE8761DFC143A81285E0D462F325F88D5A289988BA9F6A7FF070B57F10000E03844CC0E08E0400742ED67CAEA8A8482010A00A302028CC34E61EBEA4850A0A5F2E6629266122101020389E378C9A3A6B96905750E7F2878C51D6D3576482EF5D783614AA52ADF4419BD1522737CE170CE56C0B504D46FF441908ABC6C8C3A14387A0A7B7172C95632066B0B07327A1EA29C9B7C2DEE60E68E91D90EE238E5D9415708779065926B180173A9B0FC2CDD75D03278DAD4EF980AFBCF56FF8E71B6FB3CF5E956FF87DB15EB312BF552702C3110A85FC25252591F4A04FCE00C8020418C6F66197D1A34773485D7C55551519845A54073A540D7A2C067C11A354FBCDF87CB4B6AA80A0B00219A4D6E2F2727BCD8439DE1857E60D04F81FAC38970588322D2EAF9F05977A9D6EC61A39B7F6A1368A81000C74B682312F1FB4161BCB645273B05963CAE1A5975E0683C9044E5D3E845409A38FC302D430A6BD690F9C367B267C037D7EF5D2D4DC0ABFBDF701315EA2D76EADB5E9C9E7EF40A6EBC3CAE38946A3A14C419F6103600840C0910A5E7DDDCC9933497F111B903AA0513735C804CCF3C07FA5C79731E0F3B158046E13182CB8DF220381C0411A859801ABA9BE6CC2F499577DF5D2534C06FD907DF5882D28A6D08E359642B547EA11D03800DC40177477B483A5048D3E6B216BF5743458C0D3DD0EF148086EFFD98F59FF03251680AAE797F577410F7A1A1A9E0F8D2F305C89CF71086B3ECD7BE0A25E4034BA79A6A0CFC706C0D15E64401152C99E58BF7E3D3F6AD42866600602012D1ED6A231A3C797D24B3108930C025A53A452F59B31C305975FB17CE2A4C9E3CC468390B5D7300550A409A79C1E1F1B429642CF145CFA58ED028FD01648B747E2213FB4EC6F846BAFBC0CE6CC989E3A1AC9D3CFB381ACA8DA959BB40D857A61250ABE136B7F3F7E27DF50419F630E009980F0EEBBEFF2C5C5C5CCC0B45AAD02D29986C0806A428E47907A30E17E990DACB8CEC31A6093B6A918E62F3DE3E499A7CE995A52546856B7C593C7184CCE362646D3687FBFDBC3FAF50D201842D1E811E408542D89D25860EEE47150611260C7CE9DE014ACD03AE0CA0808BAA06DDF6E98503B066EB8FA9B29DF69C347DBE0FEC79F12935E7ACD8ED146FEE728FC0E7C1FE6F6210082B90E0E754C01201310D082E5D02EE0C2E130EFF3F904B40D28F4ACC1A2D3D3B8A9D1A8115F9C3C05AAFD94B9CCC7753EDE82D656D94EA81C3DB664D9B9E7CEAD1933B60CDD444E0ECE2843C76601C480C7CB7AFFD29A0691FAB82CB0A0B6026EFEC9F570C9E55740C26C83DEB83633F5F77681B3AF177E97D691A5DFE9845FA2CBE743EF462308A193CCDC55F88ECD28F42EACFD0E54A57EDC1E32E873CC03201D0C32107A7B7B296EC0D483C3E11050C7692415217A05C8041203502316BBC40879B89643D73A8D466B587EDEF9B3264F9D5667CBCBD32B730E2A80480581BC4DFBA9F955AFC3050EAF8F25A172670129248C2CA0456807077AD1B5D4405467000ED783AE0F8760FFEEED70C97967C3394B17A7A8ADDBEFFF0BEC693AC07E971A85BBED5A6E25EEA74610FD269389197E5D5D5DB1E1D4FE631A00B9A807040163040A1AA1201913482C406B9BCA605472186457D44D993A7AE1E9CB6795559415D248404926180A10E27ECA2C0EA0AA707903E00B8598253E6C6B3FD339F8BB75DF2E28CAB7C1AD3FBE8EB5A99497D7FFFD5F78EEB53744EAD76977966BA3CA8C6764F8793C9E406D6D6D3417B7EFB803C0E1D4030DD98E8622B30F68F85CFA466407A0C0281890271988562999655627B34C66B3E9F473CF9F356EFCF81AA3C1A84B1776523564010416A7CF8F86A4173C08087F581C9E361B0B24DB450C76157DFD3DD0D6D20CBFFCE1B5505B9D1CF78872FCB7DDFD6716CCA24C5F952E76355AB787649F9FA6BA43560C4F9E3C3936DC81A28F2B0064530F0484CECE4E0DFABD1AD4833AFC30060482113F8CDCA885D40303850C0429BE40AA03554182B142ED8449E5B3169C36BDACA2BC4C2368845886DA2F0322960D28F1188B35D0201AD48E21188E42848D6F701816888661F7F6ADB06CFEA9F0F5AF7C39990340AFE497F57743574F1FFB5DAC17EEB709B1D7C9E7C7423BDD611A41D8E71B36F51FD700480702A906B211D03610C456D682166B0C8B23E09A22884CE8925D60911ABAC8412639E5AD97935D1367CC1C3D6DF69CA945C525453CCFF16A4F615880485084320121EAEA160C60113BBC527337B1FBB7786DCBDEDD207009B8E3E737B026EDF2F2D8B32FC2BBEB36B26DB34EBBBB840BFE0A9F99F2FC44FD0EA27EACF99123A1FECF0500B2C5120808E4351023E061A61EC84E9002474A204952171629D864928140D7E03E96F59C3177C1B8F1D3664CB4D90BECD4A03DDD75CCE652660344BAF7D1DEDA0A1B366D82928A4A282BAF807C8B094EAA2A070D02E2E1279F95FB0D84CBF8E0F7B53CDF44D48FCF3680D77ABBBBBBC373E6CC891E09F57F6E00900E84152B56285E435151118FB584A28B1A122A059528CC8CAC605409DE22A9045A53A0C924BB9064604A60A0A961B49367CDA9AD9D38799CADA0B090E70521B3E0B30122694FA899A3ADA515367DB80946D78C83829252E57D3A5A0E414F471B0BB416E8120F5A1391D7C9EA27C30FAFF720B85933AF23A5FECF1D0086F21AF06351DB031EE9572BAB071428CDF66594238C723451A51A1456203B410A4FCB6D2384D1B5756563274EAEB517979619CC660BFD6775CD8EA5093B1B20DADB5A60E3A60FA16EF27430599349AC81BE1E160D34EBB57BF3C3EE5BF0B969A26B6AE3E7A059CB8EC4E73F210090CD6B90D3D8A15048D0EBF502CDE246B51B05418265092829D42C03C02C859B654630AA5A4711A3301541ED22A94D65E5D8DAD25175934ECA2F2C29D3998C783DCF1DCEA59455C0D66DDB12E525852DBABCA24A93354F4389A680CF0B4DBBB6870BE2DEEBF19F3491E1476DFC90CD3CE8F71F91CF7F42016028F7B1B5B555510F54ABA9912B02803C08F20AC85660609032904A5B484965B0B609A41EE4B8826C2F1010A4B903F9FCE2125B65EDF8EABC82A212F437AD82466BE0048D8606495303A20301D0D2B87B2F38BBD751A49AD7190D86CA9AF95A735E454FE3F6C78D51FFEBB8BF9DBA7621785D682406F0F9A3C86EF1A3317DDCE71E00E960A0F7BDF8E28B999D20079564562021A29DA0A5B434AE99772005998C19EC03A3EC41903B49EC4040204091CD200341DD80861683D96AB497951759D08E3098F2F203A1A0A669FD7BAF30E1F33C59F3D4D1DA4FB51D7F77E19A023E5DB8EDC067A26EDD47ECF39FF000381C2BA05EA59940C97B1070AD456030231041A04710E8A59A6F941252CAB654D2814085359D97EC0662079E9AD0130E296347134AE23A22ADE5092369624912743FB5EC2510D036F9FCD4CAE7E3F8FC2300C8D168349BCD1C25A0B0C6917E676A221A8D3203523608090092DBA800410689E47A6A253B41AD2264564848820E61216B9E4D1E49F30CE3FFA0B51FF73BB1D02C16FDC8486E046300592BB26AD5AA23F6F94700300C5650AB082A04068A2D50FE815A3091DD20B988643730401000A4C8A24EF21AB4AA988256A51A68A1B9858392B083D26FEACE4F032207719F87E2FCE4F2813869F551A5FE11001C01188819D07BA069E2A99D8220BB852458F22AC8904481D19AD57A620CFA2D0B9FF6031BF59E751D8FD174F478DC8FE70525DDCFD400CD168AC702782C80A00BD09470479BFA4700300C20640203ADAD562BD3EB040A14121990D4AC8D6692279521A01019486892691558E838DD3A4693494B6A808010C36B13B84EE075B4CD660B45D0450E1D3A143FDAD43F02808F1F766636435D5D1D900169B1583897CBC5A170A9912B2FF5B764E0A06D142C3308E99834654D82A693A729E6E5DA8F0062C2A0A960F138D9036C36F1254B96C48F36F58F00E01362070284C3E1E0BC5E2F47A0A046AFE851B0DF247CEA1483359BD3B0908062F9C7F17802CF67C240AF24D1D8D808C83409A27DDA97F88404350280A30C063543C8A0A06D3530E4F348E0070E1C48D4D4D4B029E133DD23F1090B6804009F1228D4421D6A5FE25316C8FF072BAFFD9FFBDCE8AB0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (72,1,'PBX_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000017080600000011218F2D0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005144944415448C79D954B6C5C571DC67FE7BECEE35EBFE2B19B0CC4B5533B8D49E254A452B14921010591A8E21190501149BB62C3820A90408A449C0DDD2051A95408165055E295052D84A2224A4155342AADA394C68E43502C3B641C7B269E38F6CCBD3377C6F7B09834426513E7DB7C3A8BA39F8EBEF3FF7FC25A8B10C2072240010EFF2F0B34813520B5D65AEE519E10C21BDD7FE070676FEE1919B8DD5A4AC72885D20AAD244A4A94927444512D70C41F4F7EF73B3F06927B06005160F4B1634F7CF670575744640CC618426308B5210C155AB7CFAFFFFDCD3CF06BE0FA66005EE0BB9D1D4671797999A610C83044194DA00DD268A4317C656C0C2D65084836210FC00DBC8D6BA59BF42A8D361AAD14C628B4D6844AE17B3EF3F30B942B953A9B9403E0BBBEB323BF159447C383BA7449A44FAC25D54851EFE962F7AE9D6CEDCBA9CD023C80C0F5995FBA49DC4A914AD2481A3474825CAF922889152E6F965798FF4FB17E5F00CF7319E8DF42474744141A4213B63D7CDF0D9109B9512C06F70510BE2736ACE5ADABFFA6E9B904266C871B86F8A61DF489BDFB4892C4DE174042ABDE6CF1705FBE1DAE5228A5905212F83E9EE7B2B0709D4A653595523A80B8337CF706D8108EEA509299D212E9AA43600CD2186418DE71C3D3A30FD3D1D5D9FDCD93DFFFD6C91FFC687AFE7AE957473EB5BF2BAE548A3D3D3DD9A54B97ECE4E4A4FDE0940B20F785274FFCF0F183079FC271D0818F943EBEE7E3BA2EAEE30282B8D9246E65546B35A6DE7D8F48EBC5A78E7F75DBDFAECEA3D76BD5787565BAB27AFB0FF5A4F18BED41B37CEAD4A9ECEE0B5A96280A02945118A3EF866C4C3BE0F9C565B2A449AB5AE59DC2DBDC5ABDCD379E3E9E7FE1E2347F9D9B25ACA71DDBBBFBC7B774F68C6BB7F16CB2562902DB01EB026678CFD8D15CFF03BBFF79ED1A57964B5C2995985D2A71B17883526595CEAE5E84105CB838CDC8C8305F3E7298AE286228EA644FAE1F2D3C2AA512EBA2494E86D457CAE6D537CEBD77EC3307FFE501226BB65AA1923C36FC10466BB4D628A9108E43DDD7002C2F2F73FCF347495B1B54933ACA8523FB7691A429D7060728AFAD737EAE48B55A65764979833B065F7EF299EF3DEF01D946B62154E0337D6391D46D87AC8D61DF8786504210C709AD461D1948FE3235C57A9CA07D8F570A17C875468C3E9867ECA141766EEBA3303B4775A54C235EB7592B7BD603EA8EE32C4E5F5D20CB3240D028AFB16B6C2F1982B55A8DF353539C38F6390A172F63ADC5735DE2B88AB0B09C36F8C7CC153221C8E7B610AFDDE6F14776F3BBDFBFFCFC6F5E786EC90392F2E2D24FAAB756676BB5F5EE8D9675AD6D390FF4F79E40853BBDC0739EF8F421E6965668349B78AE4BE467C45980E74B16AE2F114849234D592C95F9E281FDBCF6FA1BB776F5F77C1BB0E24EA309C0BFF3AB04C0F8F87898CFE71F1BDABBFFEBB9C11D078E7E62A2FB6A7199C5F20AA5F24DE25A0D6542AA698B469A92A44DB61A8FFEAE0E7BE1ADB73FF6D24F9F7BC75A6B1D00DB566AAD8DADB5356B6DAD5028941CC7F95344FAA5775F7BE5F06F5FFAF9CFBC667DF1D1D1E1ECD1BDA30C0D3D88D492C07389D76E13D88C8947F670AE507835A914CFBF3F70E25EEAF5F4E9D3CED9B367DD81818121CFF30E7EF4E39FFCDA8787777EC4F565677323F32B6B55662F5FB66912D76B73D3BD67CE9CB95BA96213FD0D200E1D3AE4F6F5F5858D46630418F67D7F64DB8E9189D5D28DF319FCF9972FBE78EE7FF7D46601ED4B4288C9C94931333323E6E6E69C898909A7502864535353AD0F2EC1FF0249CC173F1A55B1790000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (73,1,'PBX_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002F0806000000A58249C90000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000E2F4944415468DEC55A698C1CE5997EEBEAEA73BAA7EF9EDB638F8DAF65CC189BC4C104010E3898C421B6907229D9EC2265C50FFEB0E44FC051F2075961154BAC404A565A25D92C24596D921F08A41020104C308CED39ECF18CED697BBAA77B8EBEEF3AF27C5FD54C661C93AC31335BD6ABAAAFBAA6EABD9EE77DBFEFB3609A26B143C0C14E1089AC63697CA387B9420CBCDFA0353C04660074176DC59DB638203244FC08CA33855B9006A40669DA86986B61806C7B9E29EB818421714810E2B2EFDFA8014CF932640E9286E4207588BE2606D85E661E0FEDB9EFF3FFDE1E8EDCE374AAE4545572F1B3839C4E88432555B5C6CB670713851C0A0467056745964986B0F38BFFF5D37F3AF16F3FF82DDEADC14F6B1285250354E6754912DABA1331EA88852C6514A6A06C5F3345657E8F29EB90D93D998B437690CC9E9325AE387BA65C295321BF18C57BBD901233622DA220DB40E529244BB267D72D1BC9E9526D856D65577878E53D65F9378735B69F63D72317A6A8D168F96C4C896B05E2A51C671F40E44591448B782AF50615208ACAD2C2524C6646C896014C797939326CECE0E39E809F8F995F9031B24D0E6B6E0037021608866EB1DEA9E94B349ACD9008654428C7CF48175159BAB6C74BBFC9D673DFDB7F276D723A399EE18E8F4AC51FC9005395256D3C9922AFCB4931A7973AFBFC8880054A87A458792ED920B5AF190624D9BA968081E4F929CAA85728E0F5D07A1CAB6852561C42C0E7A6A0DF0760DA806520B5D34365A065E0455AA9B2651003B0056E965230CE36B0582EAFBF01F0A0D8190E728ABC5910972BD5FF8708804797AE338502955A2D0BB88A0558790558D93DC96145497638782AC988CA9EAE4E6E40A3D924C330D6D9005932354DE755612697A38BF91C9454788E4B36582559B1EED9405EBECFB00063B64623D4EE7633065A7F03E039239D2BA2F817C8076586E25D76618277151429D1A65356B024EB1E535C1165708EF5EFF4FB67E80C888755714D5B670358250D78DDF8B8832BBE94DB7FC96F1BC40E06E2A5EA6B815692608C8432224A2C1569269D2173BD2380A6546C73B19EE7E6419C2F964833F5F535409404C1FC3841BCDE29240992A9DB61BF5910B7348DB47507B1AC18F9729D66F345F22B2EDA9DF0219F45E436F3BE0003AD6A2BA25FC25DE2D320844C6842D1063C8E39CC2BAFFE9E584B651A26E99AB6DE292492CFAD5254F5D9EDC25FAAACC3EEF5ADD65A5E4E190BC4ACBDB61909631106FCF1FDD3A4A1AFC2F382C7E311060707D9DC49F8B8E704AB0C006F8BAA6CF7F5BCCF979759E846411C0B87192BC98944C2DDDBDBEBDBB56B17EDDCB9B376ECD8B1D6534F3D65AE260FDEB99A376D007F1359EF99CA64295B2DF37C97150BB8D75E331CB048C936B0D1CED2A1CD031444EE972B258A8423F1EDB7EDFAA2BF2D5402BD56C968BEEF108C0F9E7DF6D972B3D974D4EB75D677371F7BECB1C64B2FBDA48D8D8D99CCB81B3168750A21C24DE42DA351DD34A889149021A6A893C1B0A08964081AE9C080AC314C08A40308BAAE530BD7986053BD56A32BF30B94CC2CD2271E38740460165BCD164161BA9A4AD3623E3FB721D4F6D03D9FBEEB61C9E5F9467661F162A4547C6BB654FB5FA830FEE4934FD66050FDFF6A90B0341F86EC7CF2A9EFFD20D1D3BBBDD16C008812F72ECB6726EC255C186EAD172E0B33C0026D8B7981DAC27130108C82D2CD56939F935753347661927F74F7B681FFFCE7AF7DF94BE962559AC8E46883DF4D15189E2B16F58585FC7CA1543ADDACD77F2957E75F6E954A856AB55A9F9D9DD55E7CF145839652E47A1100E8441D1F0B7A5C56C5BD5EBEAF9A85C936B81562CB3F9985059ACE55A8D1D2C8C47B74569D7589A666B3343639B54C145F78E8D011D5A14A3F7CFF1DFA4D7A8ABA652F6DF2F9A9DBE194A292126B0F860ED4EAF50305C56516293FD7946BEFF9FDF19F21F57EF5F8E38FD7571AB1CA00785274A2BFE19E6654B942A4E56B91B70C96487C6C40F95CBE40999A010541B5C08061FF3E9DCDD2F9890B944FCF50A8AB971E39FC39EA8C455D6F5EBA4AAF64A6C98528E7D39768784EA1311FE6216E0FF94C075242A23653149C0E775431A5830D320EFE29BD78EAE8D1A37B1109FDFA06AC48B3E1649292853C07EAAAC265172FC9062FF3A80B060F863B318F70626C799D793F3B9FA6F3539729D2D94D5E14B7BDB7DF4EF7DE719BF5FED939DAE06AA3B97AD1CAE4B93932B273D444EA15BD3E6A0483B4D08ECC964CDAC69C022C568A79E9B3F7DE2BAE5CDD58CD42866196319167208EFADAF8FA8FBC34D3E24CC3CEEA720D60AD848076C1EB7071E57935972CE51733791A83E7F7EDFB24B931476693A40DF1304DA7B3BC53FDD6DE5BE95B742B8DA4E769243B4FE7907E1333D360AF3C093A5AF152995C9118B97491C26E44295F4577AB2786D30B9B1F7DF4D189E79F7F9E5549F39A95375113250765F315D6575000D598A3168C433A005A012009396E58C035748D82E10845FA43AB989831CED9F131FAE2A1CF92CFE3E153D190CF4B3B36F6F0670A68F416CB559A2B94C8038FEF09B7D32763611277DC42C357B274097D58AA52A685469DE24E74BEF87CAD5A23C5EB8F15F06A6FACEF275F7FE28927FEE3996732AB0C68B51A92606A140D783EBC68D9F740B994C7478AA6E39A201AF4BB37DEA4AF1F3D4CDDF118B023D2C8D434FF2D35BF48018F9B1BBFA123464E38C9DB9D209FD7C359682A95A55EBF8B224E19B86AA7856205DFA8511386B4EA35F221A5A23E97D0DDDDFD95D1D191871189C04A03840603B143A10FE35BBE7461D3660DDC5E44AE93B47AD5E4F53FBC4D9FB8ED56EAEB48F071120CF4A7735360389D5E3E394C2E55A18D9D71EA8F4528DEEEA344CC03AA6D219A3AEDECEF21B76050A2A383CE4E25D15ECDC0A94D323589548F173D5795766E1DA42CD22D73F5CAA53E8F2AAE5A5631347D19C56F9C3F77FD7521D6F7C0AB07B70D5217D267E5319BC9501515F8FEFDFBF8385FAAD05B672778B496A4526BD0D4D50CBD373EC98D4A8483B4B5B793B6F57593BB50A48E441C9851A927E4A31D7DB7236B35FAC9CBBFE77EBA6BEFED1C3FC3C3C3465FD8FF8D3B770F6AF28A55659401435F28942916F4D38E8E6E1A88775AEB3F760A89AC1345E595D19DFA83916BD6A54D7AE3ADB7E9F0817BF8B08E0FBF717ADC5EE082F2260A229E114D811A39CCD648A1C19E049DBE92A12CA6B0BF79EB14EFC1B6F5752112BDD4D1EEA58E789CAACD029DBB3C43BDD120F574C4E9DDE133A4574AFF134A04278E1C3962C82B96C46BE0A76AB9DAA062396D2DF403AC8CE375DD16036D048AD47D0F1CA00A0395BDE0CB8EF1F313940115FEC32D9BF9B3EF8C4EF0D4B03CCF562C4D7EBDA1DD434954ECEE6088CE24D368C145F2362A54460BD300A79C3A7F910B3BE2C180E58CE2023DF8D0512A01F8EFBD77AABA23D2F6AFA954AAC27417ED0D09B619B1080EC77B5A505407654159B08C0625D83D4D632D418BBC6D3E728259827E2F2D160B343279992693297AFBE4BB74E053FB882DCDB3FC2D562ADCF3026F45AC22184764AF166AA4230D672E4FF1BCDF120B508BA527AB21C2EA25D4D9C53CA5D2293A7CDFDDE4C7375F7DFD4DF2ABD277D0E2CCBDF0C20BDA521D30ED5D94F9E177FFF87D41917EDEA8D7037A4B771AA6C93A35C1B0E8854D2F1D5BB66EDB3CBF7BF7E76B8D96C8665CFD00E41C52E09143F7D39DC8D1C9D42C3E9C5BE5794360955CA2F4F465123D6DD4ED12693A10A61018E9FCEC3C1882A5A6B11C2563A9A0E29C68F3D2EE1D5B69E4DC059ABA706162B02BFC127EA92E3577C20A91ED5D1997BD24AE5CB3AA2C4422117560606043341A1DDC72DBDEBB227D03BB2ABAE9AFD4EA7C2D74D7967E6E4C83450D69C440CA841D3D609C73A939784BE07B07020C6ACCA5A8E5F6230F64CE6CD6F3C6F2DFB4CA39FAF637BFCA375BBEFBEC092344DA418764FEE1F8F1E3CB06C8ECC2DA65E238607F59B597C4AFB7AA0C5A17B3F858F2D2C807C3C9F1337DAAC7D7D7B373E840BE6C6C3A979C510EDFB9177C8F767A7681164B258E23A6D0D8748A5C682772C9297245BB68532C48672DEAE0BF9BD760C5007DDEB767880248D91FFDFC1764D4CAFF2DB9E491E9E9ABF595ADB56C73BB695751B60DA4E3AC5D43FFFC980348B76FDF5E77B95C790CAFC090F156ADD23179F2F56118D63770FF830F54EBF5A1CE4848825019C569722643E9F91C4F8B161475257AB897DF3D3B46AE40D06628B4E068E2168A657E2D1A2239CD26DDB36F2F9D3A3342A73E383D3F10509F6138C53CC1F8AB5DCA1BDEDAC4F1F4D34F0B6002A952A9B8D0FF045081BB60D036FCDCB767FFA7EFD8BDE78EA150281C602CC6264939B40DD399799ACF1741B1ADD5E9021D8AC94912C35DBCA16C1473F4CD87AD36E43BC77F6806A9FE8F6E45FA3552388709CECD1B70AD3D6871C546A3E1F67ABD1144A2A7D56A6D808D5D6EAFAF63FF670EEEEFDBB869A3AA3A55B6D4D2040D17AB555A44D1CAA35560516255BD61A7920EFCF4063DF4C8830FD0F1E77F4CB357932F4764E35FE09C2B68E05AD7DD27FE58369C710C0D0DC9FDFDFD6E0CFD302486A8F4E2FDBDB88EF66CDCB265E853FBF70682A1285C28B2A8B4604CD336AA0A222800DCA36747A8BF7F23E60902BDFDCEC962C4A87CC6ED768F3CF7DC7395EB4D2BE58F6B79C37E39F350111129631A38EF743AAFE0F638BCD775F1FCE8C5CB17C6879971FDDB766EEEECDFB4C5D31688498AEA361827617EE143BF03F6D0E64B15A9B8B820B409AD63A847D3C05EED43E7C46BB481BE8C9393274F2A888407E915C0B7A2B8CD36D2E3B88E407CC08F5351556FB8B3B7C7178AC4E6D2A9E9426A7A5472B59565A3F18B402070F1C48913CD753760A521EC1B77DF7D3726720ED5EFF7B314F302277EDC0F23BDDAF1481BEEF960A8862A9B626D0D0CCB603C05D629FEAD251699D6F858FAF86BAFBDC676EB7544A5363A3ABA08CF2AF97CDE89F452F1888ADF30DD500C4C862A509E3DCBFFAFC5DF5B1F5AF308FCBDC81C3B764C8041CBF50675E68616B7FE0C5B7C9C936CB491530000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (74,1,'PBX_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003E08060000009B411D6F0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000015474944415468DECD5B79901C5779FFFA9AFBD89DD99DBD57ABDDD5E1952D74AC91916C4010CAC426C4AE440A014C0E123B058E09601248A54AB88A22840A24A10A889D4A91900A71D97FE0B8EC70D8F828C996ADCBAB5B5A6957D2DED7ECCEECDC337DE4F7BDEE999D3D6464235B3B5B5FBDEED76FBBDFF77BDFFDBA25CBB2A8FC93F0730EE5729743D7EB67559138B7AA2770037E52F9F90EF3CCB802529D56AE02E13705C2AC625E07190E993712080180C33C33AC813C209FD3BA1D30E4EBB4FACC78099407E51C2A9681B81120A855CCBB407EBFBFB651716B4DA6A1D74A92E9B74C0940588A2CB304C8925C81422159A18AC628558A23F38173AC488ABDEA8A64E2512597A2E45C2E57D21B0CCEF41D3932846B495061896ABC7B0038A2AD382B5EB3BEF7B687A30D8D9FC124C9A569E47669543E76F171755B75AC897355B49ACAAD6AB7205590428A02028232C832CDEC0777EDD8B54415CC1B0D40044A1166866A424172BBC1946A33A731A3CC105A55511DA615BB556DC655C1B482EB0C8662338EB18AE8939D63990C130B6D492C2331501A947554836E2400ACEF41AC507043E71ADAD8D92E1858584187394D5DA17FE19857FA6AD7CAC7BA69D0C1C3C7188030C87B1DEDCC5BFE95ADBCEC1840B7A24A5EBFCFF3F6ADEA35380B8FDB4DA669490EF35AD53C6E0800D5FE5E516455BE2A13D2F59BA3ACC8E448DEF572B36F5B05A81A048599AC62F417A74FD24F4FF461AA180AF19620C28009C7AA20A9EA18FA817379E11CD724D8066E63C120F57DE68F2AF7556C777243995F0A80BD32B26C168AC5CAF91DEB36D07BBBBA8501B3F51F96BC4AAF1547B7952576409C2B6C3334D1BADDAE0ACCD95C0E0028B41A7ECB0190A4622295A663E7073071098BA709E3A708E3A60957C6165E511CC3C6AE0DE79AAC8A9699156365DBFA43A784B8236AA041B1D6328543010A05FDD6AA0400AE4D0E0602D41009DBAE6D991750843454FBF7CA18018A5C756E7B04C5014595ED58A0A41B349748AC52099035AD26E0A570C0FFB6DCA0B6049415C7E11E631313D26A006099EF551449B6DE059B542AE9AB5402147911FBFD931374162463E564AC9C6815DBC8C92B108BB8AC2ACBFA431E0F7DB1F7D6CA7D39185A9500404FCD6A3788148D8A86C1C611F9CC42C4C2EE52AE0A23E56A126993248222384262480BA659F10222EB31699502A0A87ABA5024233E0B7BA0504071D11D6BBA9C78DE496814A512D70B43A7D85E61F118D996064E7E244E80243A72EA8C38CFE70BB45A7E2B488064444321C19C5B73D9595E75C6C7C78AD3BA382942A6E80208DCAA2EE1253813648BCF2B8D90970CA304CB6F92A1EB42F473EE02E573B9D5E9062559514BA522857D4127B191191452250EDA4D522CC38EF721C2A66E910E36254B25CB30C954755275858CD262CBEF7179177981228078E995D756A717B08410FC0625A66BF0203EAF870AA512AD4A0058F4DF8D64A8B44A0058AE024B92A1E7CE9CA6A74F9DE0EC058910121BE8B7A88B71B2039B601F3BFD9C18C1184ADA42C2544E9EEA910C1DFAD4A717DCA0B15AE300C441D5B5C95DDDEBA8B7B3F3FA2643F93C15F2AB1400972A1742E110253339D8B91C5C9C0BCC4838B6FF60EB483678052DB24A0699528974AE20C8B6DF278067D9756E8C06F138387D1371C041DDB0A30249088AB54A2540924D4CD42D6A7A6E3BAE979525898F62AFB2AC3A31819DEC708E2F7C3FC700ECFFB95FB28BA0B2BC1017CCA7D374F4F8295A528C91560500BA696AF94281423ECF3B9A0C1D3A761C2643915D0822A2D1A8DAD2D2A23EF2C8233C1F73DFBE7D8B4AE4E51DAB7762DF601900164BC03B18A7B32AE88803F2853C4522115F2C160BB7B6B6E6DADADA3480E14E2693450051387DFA7469D3A64D165AE9FEFBEF979B9B9BADBD7BF75A4F3CF1845936D6D70310C9294AFA418DA00D9F7DF08B5FDBB061E38E70C02756EB527CE6BA25435FD8B65D006000E0C77EFCB8FED2CF9FF961CFF65EBFD71FC823942E4175B2A6A19F7449E621CD3467F2F97CC98D1FFEC705B7C9CC16FD7E7F2993C9887D849E9E1EE3CC9933164B4C795BF3AD82B20C803F7BF04B5F5D7FD386DBC23E1B80FEA9493A3E362A989661D11798635DB7DD5CE51CEED01E67F7495C00718EC36E373D0C0072F91C8D4CCDD0A193E72C0BD70DC390741D8614E971099291CD66E9DCC060D1E776FDA4A73EF8486B6B4747C7A64DFF31139F9D9D4B268E65D3895FA4C6C78F636E39D8933C4B8CD7EB2DC5E37103AA649455E85A256419007FF185871FEEDED8737BA158A81835DBA0A9627383032561D0E4056327565D183B1E6B7B04DBF029222B44AC8CEC0F5925DC5F06061677166A50665CB4384FC3F3BC71FA742559DADC16DBFBE9FBEEFB7BA84A57167D654ACCA7AD99787C3E914C0EE5B2993EBD90FBA5AF987935954A650068BEA1A18125457FFEF9E74D5699370363051B60995CB32B16DD5C22460E5066942BC29C12DB4C490E594E8A6C5B2D934A707BBC05CA8FE3671AC81D74447D45185677A89624B79764305DF60C65A04A7A9EFACE9CA930CFF7BEFBA377FE61437D7D179F7FE7956364E2419D3E3F6DACA991EAEBEBC3FE60E8964CBE704BB650B80F9EC52CBA1393B96CFAB54232FB5F35F3F3876143B25FF9CA570A8F3EFA285779755A61EF711900F0F3EA7C324901C4EBAAA4DAC9D0DBD81912EE11AD059D87CED2E0F41CA50AB698CBB2B920210A40CB1B74F0D8710447F9CA3CBA3A3BADEE0D1BEFE1E367CF5EA2FF1EBB208AB41A24CD0F09EAD002D4EAF55183E606A9E4F57865AB566E52BCFE7B2125F70EA5D325BD98BBA47AB4E74E0C4FFDE0A1871E1AF8DEF7BE575C0AC23200100328BA61FC065655885B25DE47DA4BA3732921F615C6B9526CDAABCF21F1814387A9542C52626A9C224D6D140C05E9814FED9138BEC815757AF4E471A4E0609EFF373E4BA56C86AE44A234967793E645A689B5AD355D14819A06E023985C6E8FA693B41E19C7FAA2617E5E3767EE801739089530DE1C00CB94AAB585C1286215159086B457850557D1A7E25C90B1F85CE3EA11DB014C5E0753B3F3592AC8308EB2E5D80E19A26C83A1C31E202D264BD1283E7691129363D4D2B99E3EFB893D14ABAD11CFFFE1A13EBA584CF29E1DA93090E6F81869810059972F533E354F567D8C4C8090A889502610E4AABB883CBD798536413284CB4DCDF2BCDC5009E9D7DB00321789C8CF4F9DA427FA8E2EDA0DBAEAB193FCB0F8075D2EFA60630BDDB7F5BD769827498BF41EC68A5E38F00A856AA3D4B2A683B6F7F68AA2CBDA863A7ACFFACECAF33FBEBE9B9AC1F0B9B939BA984CD078A886A4629E8A434324FB03B0AF06597309925D1E4A5FE8A7C8B65E31A7904B25376C163F279F4A92C7A51AF0145CBD33AAD560793688489FAB38A623061F7BCF16BA677BAFADEBDA4294B7920D509C7D00B6EAF3E90CCD188BF73C858B344D01C68B603ED6D0409B7A7AECF710706F17EEDDD9DC40032313A268C27D8D911AFAC4968D8E8F273A353A437DE31334D0D84943F3299A991E26C50D470669D39A5BC0B4CA624C752A6FE75B54C23D73F9228582B1CFE5F11CD882837097A5AF7FFDEBE2B59C1500B07405038767923088BA53DCAC144B2A8552724062F726921E88B389D5300C7E19C4A25B77EEA44028BC2CD5E6D57FFDC8516A88C5E8FD3BDF275EAA708B1D26999AEB22B4AEADA9327E0EC6380DC33936338BE42C8BF998E4473CF13B37758A802A9DCBD3C991B53400091887A19D29E6A8844C8DAB53CD7E0F494609095B1A091992B060CD9E5436F57B52B8E16BE974E2FB7BF6ECC9633EE6721B5032B1483A35D50416121FA7E059DE06B37780EC5616FDAAD07B2EA514F522A50D40E6F6AD6824CF5FBC28ACFD9F7FEA0FC40B172EE7A58AB1E93875B63454C6E53086C16D8B45059DBF3840EBBBBA4414393C3943A33373341E9FA31ACDA2DD1D8D9483C16540FA27E769C6CC51AD57A54CDEA2D47C82427531A88A09BB1296D7ACEDFC87E47CF25B5A51FE2AA4E01F970150B00C957DA16B4577777537C8ABCB394406A24B6EEF8ACC4F4E4DD36B878ED0371EFE02D5848395FEE3FD97E8F0F9017AE1D869EA68ACA7EED6466A0807A8BBBD555CBF323C421BBABB9CAAB542662147B77434D3ED9B37522A9BA3574FF6D3F8D8146210833AA37E6A0A68226062952A606C28DA48FAFC1C6DDABA4B8C492612523A9D6EA1884F5E2E010624E02D84D3ECF244C0037796C91528AF7A56CC6B39B27CE6673FA74F7CFCEE45CC5F9998A6BE8B9785AAB1C7393F3C46672E8F08710FF9BD422536B434513D18F279DC349B48F09B5C140E85C4F8818101BA73C77B044DCD25E99593E7E8026C88980424C81308939E4DD16DB76E1545992252F1FE73678D0D75D11FAC640411B72C7E65AF6F78888E0C5F815B2B27438A7DECC4FE926AE7FC3EF4DDBD791B85D495D3FA83AF1FA6B5ED6D74C77BB755FA665369ACDE39BB98622D4497AC4E16CE79155F3F7D0163CE0B7568852ADCD4D14A3DA07A00D47F61803A3B3A2AF74B25E6E8C35B7BE89EF7EFA07300F17F9E3F40483029E6F5535B539308C2F6F7F551C8ADFCA8C6A74C23D3AC184151C2B7C934AA018800EDEEFA0691D428E544886D029FB34BE30408FFB62ED64A215F6045E6A767E274E2D419FABB871EA8F4E50B457AB9EF8C78B02C42EAC5846488A27A8A4601AE16F093178695A565706C929E3E7058D88F8D6B5AE8964C916EEE6C43C052125E2814B4A58BDF6E1B9E8A5329394B1FFAC83DA2CE393C324AE3A3A3B3EFEB6AFEF6ECEC6C8EF3846A00D83FC26C4AB9443A4BE96C9EF7BF4492D3ECF6E3FF657BCBCB826B3384B3441F8B3F7B0A8B6ABBC3C4C5B0A5156506F3E5FD07280071EE5AD35E09AE0E60E539112A335F2D05DC5713F4D3D0549E4CDC4ECDC2B02106205F2DDDD6D34D572E5DA2A174918E9D1FA4A320FEC1C0D12D9DED349B2F51574B233DFABFCFC1FF27E8CE0FECA4A0DF27EA902FC3F5B647027F838C737664644484C56A15F3DC91C13CB26C68C4E4B9F6874B253029DC9DA8ED59423FD9B5706B948AB475CB66E83852D97C5AEC18F93D5EB135C6BF73E7FB69747C9CDEBFA3D7296210267D4918AF8AC82F597D3FF290C97327488E34D3CD5D6B687A6A8A5298AA02D00FBF71820A68658FCF1EEF482BEBFFAF8E9E146427350635057DB4A5E72611533CF7F27EB8C5C2D196DA865F85C3E1F437BFF94DB3BC2F603A00F06BAB0988749A75A5C8F9395C0B53B1082AB70838980A22C32B8AFE704313D562C5DA10C565E18AFAFA07A80F2B73EEF230BDFAFAEB10CB007DE48E5D625E67AF8CD234476E0EE3D599254B410DC43D8F672B4D6B45FDE1C4C9D33470E98A18B76B5DAB088C347FB032FE6A85C45C629A3E79EFDD08A6349A85BB3CFAC61BA58D8D912F23329CDBBF7F7F2533AC96004EC5E6A626C67F5628E4E7F3854200119D17018E06F706CF20DE2BB62C470A486C89B15754FD25C3DC09DF2C3328FCC0AD08652766E78488C6A2517AE84FEFA3DA704814428626A616315C2DF6BCC7E0C9CFD35422497588EAA21E95CEE151923F24A4ED85232748F5054544B9C8662CF15A6CF5EFBA63A778362FD093CF3C4BF53EDF8F8C42E1523C9BCD95CB6A020066091328AB40F285FF7BEA97685F03B1452BBFC7A72CADDAC2FF4BC160D0DBDEDEDEF4DCE33FBEB0E5031FFE88371C6D4AA6330A8B238BDDAD1BD7D1CD6B778BB74EE3C9149D1B1ABBAAD80BC27D67C845EE9A28562D4E17468728D4BA9636C3C825C64668305A6FAB9D612E06D1B016DEBFE7681189D78776ED10E72F1F3C4CF199E9E99EFAD0BF7A3C9E04578F16155CABDE16AF7E61B29A645AFC3E61E57FEBEBEB5D1D1D1D68EABB71E37684B9751DB76CD91269EFDE9AD5AD70AE5080AAE8486315FAD8EDDB68026931AB083320182913CEEB11F810B2B6E19C4911F878004969B841BE5EC0FFA4E6E2E40700A6337EE9FF9763976C7C82BEF4279FA4D6C6461A9B9CA46FFCF3F7ADE6A0FB73B56EEDE9AEAEAEE9071E7840AFF6F36A55219125A15C8E2ED1B57D2BA0B85CAE79B471DC621000348C9C3DD53F76FECC4B2EAFAFB1B967DB07148FAF6B369575B522F6EF6A69A61482A5C1B1099A8A27841D29AFFE54228510D91471457C6880E6B2050A219BECE1307874126EB75130BBD463544B81895C60E7E64D82794EB57FF0E3C7C9AFCA2F782DE3403A5D981F1F1F379696C6A4A5FA53F5D5085DC36685B47DFB7619C82255CF7A7C3E5F50D3B4084B0256AA11B76A445B57D3B266D35F3EF8F9BB7C1E8FBC501EB74492731936213E9F16EF0C09EF52BDAA5C4D9A4154E70D8A7DC9F28AAF24059C8C95E6A6E8912F3F2842F39FFCF419DAFFDAEBA9F535EEDFCDE7F3A7F13F738F3DF698FE6B01785B5520FC905D89AF4D582DE025FCA0303C480C979AF08C3618AEE60FDE79D7ED9BB76CDD14AB8B06C4D7133C69B82B569391C9B89DF565B3228737AA98AC0685DB46A54839DDA289A25401203D3D417F7CEF5DD4B3AE9B4E9C3D4FFFF2EFFF69B5FAB5BFF6C9D6536EB77BF4BBDFFD6E7EA59AA0743D375B18086458D24B2FBD2403080D76C187C9D7829A416B180C0C8B4662B1E6DD1FFDD8CE8EB56BDB3D6EB7AA83310E8E1890340216CE0C6712F3C8E68AA2DF580240290790C4F71B8ADD8F8427E677D1FD9FDC4B29D88EBFFDF63F9166EAAFD4C9A5BFC21C2E8E8E8EA69E7CF2C915BF4891DE89AF541808BEEFDEBD7B592A5CBAAE07612BA200218670B511D798A2185673F3B6DE8D5B6FBB7D5BB42E1AE17FE597280518A012E28E38F28539A8482A93A54CA1B4181027209BBE3248FBBEF839447C7EFACEBFFD882E0E5CCA342BC5DF87D53F515757378345295DAD2C2EBD939FE99481E8EDED55A3D1A80B11181709B84A12C1254EFE190856935A55D36A76FDD66FDFDAB17EC33AB7DBE365E60408D580E0380F5032D90C656124B3853C8D8E0C537D6D2DDDB5FB76303E483F79EA596AF44AFB5C7AE109A8D230EC536EDFBE7D577D274D7A37BE532A03B17BF76E056E534D24121E18CA00BA79D519800626960A50B8BEA9A97EF38E5D5BEB1A5B5A54B7CB6B1896B40082B90890570FECA748731BB9BD3E1A387B8AD452FE48B038FF10BFE298CBE5125713FD771580ABA886F850AB5028F8A1A761AC569D03420CAAC2121202F9111D7A3B366CEA6C5EDBD5E50DD6446597E64526A0B0A164037AFCE811A42AA5212D1C69CFCCA74C79FCC21E807B1CD236B9D23EC00D05E0CD0C26479D602A88F9D4C04ED4E2984188F039AE718EEB433F7FD6C3AF9AB8C275B19A70AC293A9F989B4E8C0D5D02D319D000C6BFE1F7FBAF2042CDBC99E8DF700056928A743AAD06028132183EF407C1740846348C614C01F4B11DF182590EE272E89B435F1EE372F89F1118DBCBFDFDFDC9A3478FEAD7B4397AA30158492AF89D0006030CC1366A2EF8710F2E790184078C7A1C0090A4996CDD93C84B18001DEA94C2710AC94E89AEF11BC45505C0D524637070508EC56232A443D80E449D5A28145210E15960B8C03BC1939393168C9EF1E28B2F1AF4163EC05CB5005C2D3CAF32A2E2C76F91F02647D5F5B7C4D0FF0359B6A32F337224D20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (75,1,'PBX_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000005E0806000000DCE811E50000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000027594944415478DAE57D09905DE595DEB9DBDBB77EBD4ADDADDE24B51604684120160D088180019BC1465E0A5CB61333999AAA2476D524AE4932D8953871162795388EC7D48C3D535354308CED81B1078859248190D18A96D6DA52EFAD5E5FBF7DBD4BCEF9EF7FEFBBEFF5220984A07B2EFAB94BDFFBDEBDE7FCE79CEF3BFFF9EF130CC380B91601175A390F55AD6FE462CCB536E6BBF945B408D5CFE010FC420D3E212550D31DDBB64216AB32E439842F7221D35AE24D74ECC30D568453F0D4B4AAB5CEEF7D515A84EC103C38042DF3E6C2A6F0661D136F80351873089F04AE622B612BF275891FD716AB129C1660095FE182F760F33A9ADBA108F1062AC012BE25F85C552BF27317A512E42A9F6FF57A1FB85C21AFE48EEA8216C6E70960F3911244C340258892AD04D1764986A5C54A9DCE3A58BD5BF66CA221A0040D7EC4EEFD788B456C05511473D8328AA22452A9D44C3A9D8E3BBF9B2B61515A80C0A520F39E1E58B96EE38E96CEEE1FC9B204B22C832CF135EE2B55FBE5BF6393AC637C9B1F97A4F27992F398B52F896C2DD11AF52BB2B5082870B616681BFB8A280AAC97F79C3CF9BFFEE81B5FFFF339E281B09894203B7ABFE57EC8F50474AD1894A4B2906C61A350A5AAFD79852F97AF95EC73A47995C09A585684E8540013BEA904DACEE5737EBCCF90231EA8961B5A8C16203A2C8029C05075BFD5BBFD7E0FF67A176E937064BBB7CAA2CC8E8992B9A69E5B215CD112B2C8AEA1FFA827337D335F6D7EB98E6B01FF2708BC030B1AFB9B24317C897FD751F892790E766E8FDB03A54281E252005B86C702CB2DEA8B4D0173C5000F3EB9977ADE86EE4E686F6E62C29CD5432BF6CBEE43B2DC89E54AE63DCF72358E6B665941E5E74DC566E0ECA53E28AA252F8B55A6CB74028345B58855DB92AD0441704BD87B9BEBEBAAA8DB87A57C1FEEC2EAAB1AEB6B9955A85AC9ED10BE740390D9C7A600678AC1E601A2810889C08E285CB5703E7EDE6ED35EF4F682E4E8F98B52F84E0B98956E20B02189D28D92E9351A93088628888B5DF8B352114E65D00392EFAD5EF2A5120CCE4C30384831802113E6CB4DDFED3C467E5BB0B6D19D91CCCC73053C57B6B745B62DF2868889108F6C7EE69A682D2C0B062A7B0D47458B59F057540021161260F532914AC2F77EF30A49C18429CEF55CC7AE755D75ECC73B1F80A7D7AFAB5400294858DC825F4801A61624C120E8A8A91A42D0B222EA0341F8E6CE5DBCB74ACC1D58BD95598528D916C1303C9E2738F6ABAD867D8EE0DC97CAD6856D53632338656DF0FF0B9C312F5D05E0F311E3ED1B1D8396A67A70CB0ABA1199B98CB58DCB3834E4AC959A6C12261B528A16A3AD82A2A258DE17CCEB44C61F040E39E93CA10C3F51CCF1648A5D43486A60781479809BDC94BEA41540BDD4AD28502CA97069789CF5524946DF2D29A0309F2E9659AC5866B93696B7582F099D3161C7F90E853052279A8A95451E335833192F6B8C7E19EC9AA0DF071E979B14B4B42D80F15696F71121840FAD28120B9624244BF8560E47E40C98CE971DC449B60815590E0A54B182359D27F080CB14C4530E16F912ACFC8FC0B6812B837C3FB94452C612180CBB920B1208702311AB8570D0FFA961C2C880E1DCC53ED075435C0A0A101708C22CF4F9BC9E4F1513F6A2FF2F144AA8006D692B4064762F5D7712753D589BAAEB602C0910BAB002D0EC851B25D36B5A0C43470B581A0A9017F218E21CA988782E0B6F9C3ECDD08A2097992EE58D049EC317382C15D0822ACF29AF2D6E2058832D9279BDC0A1ABF5594FAC5E0D9B9A9A2A15A0034B512F6D14249B78BDBA87267339F8FB131FDC3026DC5D5B375B01A083B0D41580008831E142A9C430BEB5B4D444E1B9A7BE6AE676386AB118AF39842895713F433065765C8982CA08C7BCA68C809C90348098DFC9844BAA0A2A72137D918DFD7E08228608C8E386A94406B285A229248BC50A160CB598B060434ED166C0FC98CD7CE93A0BBA0AA6E204D1718D689330C19170130433FBC9B6F1BA582C0E3E444282064B9B099330DC2E17B24E0F220EC354008AC639204F4254AC9E8BA44AB1862CE5F220BB2299994EEAE1B4CD481C1FCAB486372D6113B732748DA11C225CAA866B0D7BBCAAE3B6CA94110E0698E20CD096B605D8695F3019284B1530762B70B76280999ED14DCC24EADC3F6B2C486A8299B5D40495E5560594976AB084021812C248434624430216790F37CFA7EE4FD70B2C3521A2A25CE0A67161C1CD7C4E369BC3AE6F30252D6D17844251B1177ADD12F8D1157D5A9870A15884770E1D45C52D71268CBD5C50358D65413F4D4C989839B926555597B602D0E6B9D08C4F1D13D61109E94B2419272E848244F1E3AFF4F8309FAEA1FFD7B5259E0D35B341B3C593C86661CFF9732653451463B25AD3570B529915331257C578595067A96927FBB518B258BE4E92ECCF7BAC6B25DCDAD850699C14BC756D692B80F2708230DB4012F91CFCF2D8911BC684DBC391590A20E1EB4B9F098B060DC294107F1314B496E6480DFCE8CB5F29932BE7B0A3631892315B8B60F14119C941D8243E182356211DB10A05453CDE0A265C44669E47626818FA521F113390097B20994A41AE98E55C800B9933581DB73589EA36552658CD1A94678215CC315FB3C0C814B6501E6E34871C79D12DAD45D3E22A9830B671B66D9ECBC6848746CC214A758933610ACF6E9702B5D1085A81C6829E54319E2B98BD5C10ED7C9055E1C02A21E8EF8249E498EC4028475C62BCF41F11364A2DA334D9B6A633FF6E1234CD0CB6BAC988754EBC08162BD23F02264CA223A847266F501A808E0886B9A6B210C31C283750F80683AA94B0D359200564C722252E88DD4A660F17ADF272CB02042BF763CEF2B0733FA239085FB9CD11197ECDE0E8184C4FC718495CE228488002F95AB58896209799B083B97E124CB87B6507FCECA55F912E44AE34D4A388614612DC6EB7505353237CF7BBDF159E7DF6D945315D698131611028F52B89E2F5C1F0D78109932CD9FDA0F5E99A2E2A881250E8722412919B9A9A94EEEE6E65E5CA954A341A959F7BEE39F1C5175F64CA704C42640A732E9F5E0BF81425DC49F0ACA10B643182C6040C430A0683EE4020E0450504EAEBEB7514BC545B5B5B88C5624597CBA5C5E3719A35A37EE73BDFD151112C883CF9E493C2FAF5EB6DC1BFF4D24BC6E9D3A7D9A37E1256B36010163EF4742BE1BA9F695060360CD64A256699AEC6C6C6080ABD4082C786BA08E45029797449F962B15840B794472BC9261289622E97535139060ADF9EF7ECF1788CC3870F1B3E9F8F94A7A3D5E8A82CD8BD7B379D67580AE19DE063518A352B861ACD38096323D6D3BAF3C1871F7CF8735F7CC64D1305E4B2CF9ECAA4E027FBF6DA63C22CD56CADF9582E88E5F15DE0CCB6E21883A6320BB2F8E126C494CD3AD38AEBF1BA7F7DDB5678A06D051BA22354A4222878FE17AF40CF89E3474B6AE96C73D7AAE52EF4FD78119FA887366240C1504BA78562E1A05BD04EA8AA9A408B20A59010DDF81C6E83F2E1EC645D9365594541E3479754548A96CFE7F55028A4F7F5F519854241DFB973E7C766250BA622E6A84EA78228064B0903D1B4384172AC994619C6E448C9C69CECEF82410AA1359FDB4AFB78B16042213EB620D1FB13D85A64336134ECF125D65080309348A208BDB0EEF63B37A03237112BD6184C36D7D45053F895E263D3E93C0C8F4DA4022EE5BFAE6B8AFC948F71046EDDBA6D674990BE9248CC1C4FC7E37B62A343A7519E05FC73A1485F823795CD664B185748291A0ADF9E85495682B1C54097765D9431BF053CF4FB0F3CFE852FFF61219705BFD73D270A922AC6842BD1CD2CB454856E2C54330BE9B0A14A8127020D363246C2CFE17D0C8E4FC1C589982D6853F07AD5BEC65215B178027ACEF5DA298BA6DAC84FD7D6057FD8D8B8BC6DFBAE875EC07BF2D07837D5BE2653697D2A164B2612C9A15C36FD41299B7F3B33397ECC308A59BC8F225A099B248EEE8C590ADEA38ADB5A329964EFADE8E9E9612E8BDCD7B5BA2B79A1C04755C8D4DB63E91C0B7E022FA075E2F832932DD76F3AD7209471BDD9CB7964A16D831F03939859B92781022D75374D634394A404C91F009106E805CE476898543003B3C519689EB7812D95CCC0E90BBD15F9A24CBEF8209EF7B7B7FFDEF6EFF97D5E0F213C4D9718F9F3F9BC62A3D218A989462385A2BA0115F3742EDF65C41389342EC3857CFE04A885B78C546C3F76862C2AA08031C59E1EBB75EB563593C9E8CF3CF30C7357641DA48CAB51C4BC1670FFAE871E78EA6BCFFC213D43412BB28711C472D1AC2D788B3409B391A6F5F5E654538E641803D6992BA3467EDD2CB4D2D936095BB7D61AE5FD3558D6D6052EB767CE9E5E6D093389041C39D1C3C6929D4B434D64E88FBEF4077B3A57753FCD5C29DECBCF8F9C814B3309E80A85E096655150F0B94CAB28E15A457F5462FBB44DC7B2D9BC914A25260AD9F441A95478A146281DC2F892E7D681A7949CF395591FBA9222E6B700522F3E502E936603E76C909DF35D5190EDE94856826D36A932AB27C459844D74D4FF4B9595159289F1497825F6C059188E6720AB9AC215F84C790363083D13C50ACB0AA8255219387AF2941907AA96CED6E5E9F6AE555FB6F663181F7E76F6345C5013A08C88D074D60B1D9E20347BFDD87CB0A636001E041FCC4A586A44C24EE0128262A4D1E50B3C86CA796C3C9B29A18B1ED48BF9B7036AF16F22320CE2479342F25EAFB780F0B84810F8C3A5A3F161B3F93C0AD130056625D2B800259E5093AC9A20A95C1B3427139EA584B202E8B3ADDA23662D34805F2AC244A600452B5147C2E6562470B7436ECE206BE46EE7D0F1E3CC72AA178FD70B4F7CF6B135C498AD633FDC7F147A49F83CB938231421A9C6E0546606A4B400A131059A242F34C82E882A0AB407BDE0E50A91D0DAA843BA3C5EC510E5AE82CBDB152B96FEE974A99811F4D21919B45FD6E5727F3D3D3D3D8310B708E5771C5D030A4270420550B2749D98F002B186046CF55A9507DCF15401BB12CF27B11E2EB056EDEF095165B26978EFF05114BECA2C6B72A80FEA56B4838182523C5EF8EA17774363B4C6BEDDF7FB2EC3DF8FF79B5517D4F033A54201D43367405ADE0C524303E45D1A76E7340CE377882842D765116A3405223449042DBBDE2D818F271E65B21259C780E0F21BE0DA827E68CB6543FF9E9A493FBEAD25FA2A2C307B7FC181ED1B917117793D10F9FD1222400C6E3089413F0B623998532F77146EB1D8C35B2E9B837D07DEA7417AC8A692B0F785BF84937BFF1FB2650DDCBE00DCB3FD1ED876F35AC7608E017F71F42464B0C7D38411172A4C214BCD6441C620AFF87D9079FD7590E85E0EBC07DAF0105390E10698F195A0DF958393520AF664E3B017DDE3895411FA7306E4B4CA11C4423A2920170C232B1729285FB30BD245937D965F9255EEB12C3DCD2A34D12DE089D6EB4A282F4A74C08A15B42DB24A206B5FC746AE4464835E2C9E18BAA900F4FB78C31047B793E1B745C2B67CBD897A2AAD2097C9C15BFBDF631D2514AD43A052805B773C0299440C7CD8F36FD9B2099EDC7177C5FD3F7FF034EC4F8FB282329AA543754EC6E020942E5E84E0D6AD90C1CF538241C8A33B931417D23B1D126FBF05723004DEE666FC5B08644464821B85EE52214732C27F6A5A8656B7C814CF50573C062E2436180BC48E8E0EE1DA5D906EF03473E5323413837FF7F2AFAECB90A4C00AAF64EC852204707F4B7D137C7DF31D1593F36D5F6FFB7B91C5820C06E837F7ED6701B273ED7A84923E58BD662D7F1B8BC8D60F6EBD057C6E57C5FD6F68AE877FAE6F82F3F119B8948CC3849003A9B31384E5CB418FC5A0FED147A170FE3CE45021322A021084287E3FB81029A91313A08E8F83282B105ADDCDD6062F246BF028A84CCD1CD3C0FBCBE1FD79BD6E0D2D5A4422C7127F73A121F98A49B02A2504110EEEBA69833D62650EBCCBE5D274A9AA645D1679E9BA54BE46B6C896B9A69B08E1DF6F5FB16A562140851570D493C39EFEDBB7F7B242DD8D9B6F83200ACA12BAF5EA9C9A8017427EEFAC67DAD8DAC01A2DF99206072F8DC299695446220E039E5A48892570AF5D0B91D5ABA9121892C78E8282AE494F2621D0D60EB183EF43F3A39F31B90B7BCD8B009E12C684A08CB0D51CB4CA62EF27974A6FC34278EAA21407A22115CC974F55C0D27915A0B1EA68099268E6D190DF3E5E83BDE1E9DBEFFCC84CD89C8386A6AB22DC44BF3F5DB25EFF303722B327E9E1FE9E77DF631572DBEFB91B6A22358EF715994A200BDAB26625C3F19746C6208F6B9298CFE58286DA082BEE65E84891607B772B6C8756A66482A6072E0EC385581C8650E0E3520EBCDBEE62684F2F14A1881652BBE116F315336CF2A0090E2292C2677C9A90359F49994E2410FED6C52C34853DD24B614D9BC258A03EF9E493BA03E92F600148805C8A8C37E68689449A111D9B6DD9A38B368DB5D9AD99E3E1A48B8F9AB17F44B658864837630BB93836D3428795E8426A1B1BE70FD4DC0AA8BD7FF808C46666E091871E8486FA7A2674452ABF088A96AEE64658D9DC341BD8A17F9E4AA660722609E95C1E0AA87C7A0F526334042E7485619F0BEE5BB302EE2C2E63046C3A9985C3831330924EC338E420598396D0B8CC9C9B40F74364B2A4232252D87D90F0250CC6F94CC69483C7BFA5E4F16DB99C4EFCC768406AF3FBFDD96DDBB6155111DAB3CF3ECBA0E982448C16EAB16E979B09CE64BE60A768EDF10CFBB50DE650A5753D13309FE36B7025B0D3186BA5072841141F6821E13BADE07C6F2F9CBB7001BEF8078F436BF3B2B2CBB15E79269865EF73097FE4F2189CE83903BB76FC1E34452315455E036393D0373A0E8974968D3F87033E08618B043C70CFCA652C5F440A994CE6A0676C06261179C5D52222B522B84B0AB4D47AD15B954046E117909D970A797063A07621A1C3A80C4631EF4907DB072FA7123DA562E13FAF0EF95F266B2092B6400CD0D99024459888DF73DD8A734D1F4890B304A97C113292FBAAE0EAD4F434EC7D773F3CB2E33EB865EDEA8A60ABF049E167FB8660FBC675B3AECD20C4A41EF0F0CEFB2A8ABBDE41F8DABEA21559720B742E6FB4E3DED0C4349C191886D1A93833F8C66898DD7BD4EF86AD2B6AED34C57822039388DA5C18E70C9D2A4424248449F68C358DCDECF3921363B06DEB6D44DADC750D0D9B50C13F3F76ECC85BAB43F2430B2A4037880917A02EE8BB3EECCB0C3E4CF88C6C6120CD8A9EABBA34878CFCD7AFBE0E2B10063EFEE00E98EB2D2E3D7D03F0BB531760FFA973B0BC2E0A2B5B9A6055CB32686DA865F9219AEBE05CF2F8FD77DFB175D60B492E5CBA04915018766DBD95EDCF507AE37C1F5CC45892C30E190D07EC19FE75C88E831E9929834D4C47A5A630980710122B1867548C05ED2B5A201C0E31CB22650E8F0C433C1693B37240EEEBEBD3E64F45A886C02A0F84EB309AC5FD37C13362BC457CF8942131587935D7BEFAFA6F218F4AF8674F7D614EE18F4E4EC3C1D3179992A9670F4D4C31B7F2DB4327C08D718C94B1BA7539B2620FBA153FF40F0EC1E0F0086CBFF38E599FE543B7515F576BEFC763D3B0A9AB15EEDF7C138B1BC75019C77B07208BCF10C6CE296B12AB8D62F92264C4857C0EEA5ADA5916B79849C2CD77DFC19E9B92962A0287B3A74F0392E85184CD220D8DCA0B0C09B39A9DEB32ECC67BBFC576532A6E57F5C8F996F70F1D86A19111D8FDD8C3D0E8108C5D2A89EE65CFB11E9EE636C99A0E16563018023A7171103EB8D0CF04D110094377DB72588B3D93602CCDF8A12595CEC0BEFD07E0DE7BEE04E7583D0D0845C221B61DF0624CB8652D6B97A762F0CE89B3703E76193C2E8559403E9986404D2D83DAA98911B877DBEDACB6CAECFD1A9CEAE9A1F1ECC29655CDFFC6E57219D4A9E479876089A1CE51FB9447015E9C9A3253027C0AAA54FD0A9A8A1736F1C1159A56A495901D4AD0DCB4E2AAAC278EAEE3F0B10FA0ADB5191EBEF79E597F27D37FFBC849965E10F8F802C3004679DF5CF331037C9CF199385C46DCFFD691532CA1D885017B6D5B0BACEF6881471EBCDF163EA53608EE6E58B7B64221A4345254677B1BECDE7127EE6B70E86C2F1C3AD38B1682B0351806359B41D7570F2D48EE54367A28C0C4C4245CEAEB434CEAFF9FF879391AF6A4811C793E0044285D3366671627D229F82FAFFFC3553361812BC2852DA228F0678F3C0E575B0D424197ACE61B5F7A928F90550E8DBE7BF20C9B4068F676C1EEF5659456DEEF68AA874674196746C6610A61351DA79E79666004E3C710BCF8B60161BF0FD6B6B7C04D1DADACDD77CF5DB3620481816D5BB7A0AB32491E01803B6FEA66B1E6CFFEA29FC1EACCCC247C7ED7938C9B98D65F820348E0BC8A3CBEB629FAD7E8862965ADD1289A5C853AEDD7C2EB02CA9FC664D197C9F0115ED8240AE607624F68AAA9435217B92AE15FEAEF87FE8141D8B0161F6ED96C5879F4FC25988AA76C582C18E63B8EAC5E6F54594193A243FFE9E3E0F604D8FEBAB6562466229CBC340269041B747D1CDDD07E742BEF1C3FC3ACA87D59036CE85A013777B64127720B3A368EF1A511F947056945A1FFE4E537D83A131B87FBEFBE13023E9FDDFB0F7FF001C46712B0BAB1E6DB048CC07CD92C1BAC9161F68BB2A9A9E8833412E6E85402EA2301243B8AFD36DBEEFA267B1A2A4DD813ACFA505E902BF029A966B12DB01C7D5153C113AEBB2AE153A0DEB7FF3DB6BDF3EE6DB3FEDE8B88A4FFF24459F8C0855F6505867D1CE0F0D01464B32810EC502E44289D2119DEFFDD41F0FA6A2083F7591BF633D444D6104BA5196FB984DC80DACBEF1C6239A57568151B3A57E0DF3350170EDAF7F3CABB8760707C12B4420EA2413F6CDCB0DE143E7E7122958243478E42D0EB3ADC5C133888F2CBCECCCC94C2E1B06EF0D20C67DCB55F138F27AA446CC84C4727E32C80B10259C11A6A3419AE6E0D337266C8329B2CC3690D3D12DBC587C66074DFAE47D8B90409C50510D091A3C720914882DFE745CCDF5DE902B1279D44142238C6979D3EDE690574BC03F1FDC6AE3636527601CFD60CD3F5BCFCDE71BC3F0544D53CF7B1DB6F8643EFEE8328028419CAE1F2EBADDE49AEEEF0D98BACD1B2ACB68629A3055DCF2BEF1E6642898F8FC2535F7BCA66E474776FEEDD470251D72DABF957788F095996F3287C8D7A3F5555C855AE47E3E691C7E09AA7CA6492939B4AD1E951F5B2B0CDF482B96F8DF7EA826ED27343342BD80491231203B6DFB58DDD640E59E20CF630420EE1406016AC4C26532CF0D2B29CDE17E788172964A0877A2ECC1D60E7B102092DEFAF9EFB31D42E6B05C31F855B57B543402F42EF981B861239D659289EFCECE5D7A1989C0139520F82E236CB6B387A9B6BA1404ECD5AB2B149D8B16D2B2C43F764F5FE9EB3E7E122F293C6A0FF79451046D1B233D84AE690B461E7829CC2A78C1DD5C7642449C9506A1578C502FF67E640ECD44219DFB3DE6EE547F84359550DADC834EB96B7A0FF0FC0782C0EFD6313309D48C1C8648CE59B5C189C437EC2E80178F7C0EF18D260391D64A9D642E98083A77BD918845D0400C615ADE0E2E40C04BB37424130D3D8F99969387CF000D4B474A0ABF44043380C1B3B9AA1B77F10CE4D8618A26205081C5139AD605EC85E44362CEAF010223583E33B1ADB78F5CDB7C0A3C8F1EEC6F0FF418F92A471E28E8E0E6DF7EEDDACF73B15E0FC91048AD069C5E34EA98EC16DAB27D8759A8E665B004FB099150F3A13BECE4B0AC7B0B70C8D4FB11AA39B5776402C9E849EFE219841EC4CD096F07A115BDF45D3C41FD87E17C3FE56DAE0C8D94B2C033A9FABA9B6821D9BD6C3E0A55E1848E6216B7E08FBFB855806E4B6359014CD02B0E668087EFB777F0BCD6D9D4089F16A44B5901558A51FB1B121F8975F7F1A3C18272CC6FBEA5BFB905B64A1BD36F8EFF1FA1819092A80B2A1C65CE9684B09B60226C6874FF55FECFD41A958F0A96AD1A369AA4B577517467A89CA12C8C1987EC9602352266733AD80BA8E407FC7274298E6A9AB8B74A052DAE97BE318C0281B49747ED3EA4E664DE70647E0ECC0289BFD4EC4E86B5F7802EEDAB2C9BEB15397862081D81A1670354E2BF0CA0A8CF75F8009247005C3051E445E77ADEB4254D50F9766F278CCEC34A4C813FD2300CDABA1BF04266CE6157D9682AF6405F9C434DC76D37A58D3D9C1F1BB0603C3C3B0FFD011246ECA99E521EF5E7C6ECA4F179A9A9A66FDC084F3CDB3D66FC7D0CC6CCA905112C8EF587BA0F24DE5F3CE61A5EA030C36622010F0D4E2D2D6D1D5F6C0E7763F12696A6E2B69864C290E1AD6240BA3ED65755158D15487569182E53541686B596E7F561FA29DDEE1CBA65559D655EDEA3840D00DC7367E76A1500009037E1DBABEE933C7F03B0DD0A2CB4097DDB0717507B851C8C72E0EA37273737F16FF0E831F9FE57A5464F563C3F0FD6F7F0B0183CFB6D667FFFBFF86E1D1CBFABAC6C8E7022EE984C7E399A49416BA9D590A90C91C789DBC15079C16410139CBB1AB0B66BFA97CBED4039BE685D0D48B5F9E2A1572A57DAFFCE21748BF6BDBD76DE85EB1F6E69B04D915B11E6C608C0B191F36D6D400BA249B49340CD69426367D7EB9D7B31F0998C70A5A109D10771941DFEFF278981027693CA3A18D6560450CB05480D5A018F0D28B2F42B4BD1B04976F4ED67C252B98B93C024F7DF6115BF8B4FCE6ADBD3038320A753ECFAFBD12F4B32C473A5D1C181898B33445B66A1939DAD0AB82728907E5EA37952F988BC348CF66ACA0C01171BA3204BDF0F3B3D86686CF9F991AED3D77DCE5F185566DD9B6D51DA9EB28955497C112753ABAA211743983CCEF7E69D776F69ED0241224A7500C13E0CF8A052BEAA3E02F24A90C1164BD041A7297150D51486432C87E0D503CB259E68EEDD7877B405ADE093912FE5C41BD4AC18620944BFD4830A93812B546DB55326B1D1C865FBDF606B81529DD51E3FD1F944D412BCC653219950A7A171C947728C1A8E20525A8FC6DB1ABF9453D1A0BA5CF545011395C67B191154DE077D4600BA35584CF1ED87399DC5BFD8AAE8EDACEEEDBD220D521DA11C82AC835D5222A6A6BA86301FAE2E8188C4FC7A1A81AF35A01A12A239786443209EE482D6C5CD90E99D17E181B180029D2C4100A710BC2E9D3F81DB2C767BB9CF972474E0503B7022273B1F131F8E69FFC0B475EAA087FFEFC0B6C526153C0FF1FB0134E51EF47E197962F5F3E6F6196305784AFFA1943618E7871351969A1AEAE4EECECEC94907878D012C81D05303E04B185F02B22B88E9032B085E8979AD05F079AD76DBA43F38556C79219CF37BFFC1908782AC70C8651C8FD97C7D12AB20C5DCD1B0B709F58C8C8F9D3E00A8451CB8DD05013869BEA837014895EC61B8164A9FA5A63C15860A23C0312887A76DEBE193EBB6BA77D5F3FFBF92F60CFEF0E013EE9818E90EB4FF0DA417CBE58369BCD5349FB7CF5A1F23C3978FB67021DF3A8AE7928666A6A4A686C6CA456E296902237842EC9873D847E1A2B8C374905C194208A68C56278E8F8FB04D9F6859A5ADA5C92F468F5F7B6A09B69AEAB81542ECF0649C6A6666CABA876211AF6DC8695EB6CE14D21FA7AE3622FA4B35990053F883439A4A2D75FD90A74B430BF4B864777DE5B66EE277B98F0D1DCB3AD3EF17BF86C6860463A1A8D16239188BE5071EE155FF9629417FD4334ADA7A747DBBC7973311E8FE773B95C068FC55119840A46C86DA2027AF1D879DC3E878DD614B846E2A38367FEF2C73FFAF9B9DEDED142A96454A76BBD886E288DBC7DE37AE415ED501F09B30AB7B20204877B32AB2A189289D4810F59B1E27295DF4DCDD31AF4AEEC7BF1F3D635D7D9BFDC64A73CA82A032D6A6C7810BEFAF927D84C7F963247E6FED3177EC9BEB3C1277D1F853F81BD3F81E7E7AD84DB826325376A3E1A2F4CA2F9576C2AE9CCCC8CE4F7FB155555A96EC6834A21A84B19AE1A3CAF164FA7E21D1A8109633C09ED7CF4F1AD1B6EB9A53B120EB9EDC9DCAC6AD91A8DD219099A882718E99B496618A3BE926B311CC7BB100ABFF9C25FC1AD9B6F839812464224545C9F181B6109B97FF2C5CFDBA4F4BFFDE4A770EADC0508BAE5F75BBDE29FA202FAD1DD4E21FACECE053B3F310554C517E03D43ECEFEFA7F9BE322AC18537EF41E1F879A0AEC77BA3BC6F1D9FB740CAF1AEBF7563D75DF73D70DBB2C6C61AEA769A4311B6524819180C27A6134C2154ED4003270BF9756B5BCB654C36EBF156284C2B6461627000BEFFA7DF8280CFAC937A6DEF3BF07FFFEE3754D292EDF01A4F9135178BC531EC6049849D25443E571C52943F8129A786431964A2FA9E3D7BA8865245E256C0409D474550BCA0E29A043EFC0C9E17C57D524AE8E4D123E953C78E5E08A173BDFFF73F7B4767D7AA3637CD24770E66186691525D24043548C24821A94C0EA6111D913232B902940CCD765156390D4357888C64AE202B16D030E740DF45F8CA139FB1853F347A195EFAF56BCC354515ED07F81563440DF0DEB3C96452A5E9AF57D5213F0D13C9C92AC822305E08485A68CAA94CD68087FDE8A2421C35D5A0326AC8451172E216E1C3FBF7DCBCE5F6AE8DB7DF714BB4B6BE1649B8A055B827C3B60AA7DBA2E1C319F4DFA96C9EA59AE9CD8CE66B708C72CFE756919C1C8320EAF8DB7FFC0D7B58F2D91FFC1046C6C611F52887EA84E2BFC5FBE8C7CE3381A827D3DEDEAEA2FB593C0AA856045A84585F5FCF6204E268372AC04B3015CC9F2E24E81A218B201485DB415C93DB2285B9B76CBF6FDDEA751BD6846B2211023273C58A4AB7555610BD06278BE88A4A56A86CA6505401E509A74E7C007FFCD5A760EBCDEBD97DFECD2F5F8137DE798F2A2EB2CB84FCD728C787F7388A0A484C4E4E16A9F75FED443DE1D3F82A054B11A3A3A322056B729568116E12323E28093B888225E1137C0D5B8A00F3A70DBDACEC5351BC9BEFD971535BD7AA2E5F2814626932CB12B4D98A98CB4A687DEAC409181C1D85B5B76C064D2D81A4ABF0C1D1238C89372AC27F7269B9D7F0BB06D0526388F272287CEDBACC92FC2417EB011C314243B32EC562B13CA2A52CF28824F10912380A8C881D5302B6102775410C86FE036FBEF61EB6C3788D6BCDC6DB56B676ADEA0C866B6A6597DB6DC58A6A5159C70C477582C763E67A2459410599EF2D0ABB9523AE526A3F7EF7240A3F85B22FAC5FBF5E9B2FE5B0A82C6021D744131E886163AC70E161CA2191EB210905B9153065707745164116432E8C5C9942E911B7DBEDE9BA79735743736B9B37148ECA480AD0E7730BE1A8875B40CFA913909C9E1EF6476ABCAE6024EAF1F9858B3DC7F3FEC4C437645938879F398CD6191F1919291298B8D649DBC262FA2D160BC2D20B372C2E41565C281448A86EEC895ECE2788658750904C0914CC2986A0B07C3CAD4E8D94A7E0DF907349724D53534DA47E59A33F5C1375F97C21C9E5F12353768F0C0E15878EED7F5E346BFB4B4A6D5393AE9506F444EC1F88346287981A1B1BCBBDFAEAABEA8799312F2CC61FC3717209A755E4F379F673ECA80837F64A2F17B89FE2062A8329025B80076D9F638C832982A7E725FE261B9267915EFC41C047A0D23600FA65EF6942A178BC1F7DFF18A557F07BAF0AF32F1905CC0761C92AD0F78B182B489032CD4EC135B92A0FAEBD2474FED3EC7EA712C83D913BE32ECDC595413D3E872DCD8A1404817A386586E3B84D987F0CC963A2A1A161C164DBA20CC21F92D8195C193A42577B2C0317F44A12A128A6104253D87B2D37E4E13184FD342E5A09BD45C545CC9CA7E2A9F75302314B6F55A1DC9659B0205179091B68A154F3477A59C752F93DAEF95C946519E7CF9F175B5B5BC5542A4553B76414A8CCC72B5860A6008DCA21E12BFCEF2418D21E09BF209AAF87D771CDC6CD91A31448D1D782F9FFD12860216520511290E4397F3B59C49821A1F031E6CA2478111B06667A6FAAA2A10595A8480D05AEA3F2C8E2747AA71029E3A30A7F49B8A06BC93D596E8A2B44B314B27AF56A181A1A12A3D1284C4F4F8B914884E62308D80C548E8E96A3A305012A8E7D96F56A9AEBF1D2A6256F01576B218E0C2DB314A7A01750E8475EFE3F8F6265DA278AB8F70000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (76,1,'Phone_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000005D08060000006D9E6E3A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002C784944415478DAED7D07601CD5B5F6D95E24AD7AAFB62C4BEEC296C136D8D81863EC18637A09046C8809A4105EC2FFDECB0B3C4202A10642C983044C82438D69B1E9608A7B936D354B36B265D9EA5D5BB445BBF39F737766353B3BB3BB92DC4818B89E5DEDEC947BBE7BCE77CABDABE2380ECEF44D85DB68CFC17D1B1EF474F4ED99DA2F12A12BBD96BE973E0C27F7FA3B309CC1009011BCB881CC6B50103A27F39A0B0784709AE65F1534670C00449D2FDEAB457BB50C20C201C0C7BF56DACB3D783853C3FD2B82E28C008044F862816B447B8DE8EFEA080010044DCD2BDA7B45EFA52090D330528DA26856BEAD8038ED00E0852F27786A5ABEE944EF3532DA400A00B1F00745CD237A2D1C03128DA3960100A76046C281E35B018AD3060085512F0858C737BDA8E984CFC7168E8B5DB07061A146ADC6F72A359E4CCD4EA256D36971C7FEC4D5D71F6AF870C3FA065EF06E6C2E7EEFE641E095085FAC69A48012038B8B1218673C284E0B0024C2578B842F16BA119B41683FBDF3AEB3A7964E9B979C943CC5648E29C4FBD6F8381FF87C1C361F70D87C9CFFB5BFE16BFCDCE376F7D8ACB6CADEBEDEBD157BCB3F7EF3F557AB7920B878107092EB8BB58C2054AF8C49F145C12FB8485AE27483E194034046F8826AD7F3C236F2CD9497979F78E77FFCC7F29292092B8C26733EC78984CB041E19001CFF7AC0E984EE9E1EFA5B6D45F9DE5FBCF1CADFCA79CDC089B48E21AFB02469D955D73FA4E2BC8EAEAECE1D95BBB66FABDEBFA755C221A47CC21B0520B8331110A7140012E18BEDBC30D24DD8CCD456DD726BE9B5DFFFFEBD0683314B10E84801E0187042677737889F75D0E3FEE47FFFEBEE5B782109F760BAFD3FEFFB8329C6B2100FF64B0BF72AE0BC5E9FB7CBE3763538ACF67D9DED2DBB8ED4D7D5D594EF6C8D02103E19D3E18B0610A7020CA70C000AC2D789463D093E46A3D1C43EF5CCB3374E9B56BA9253A9B462818E0400030E07B4777581DC63DAFAFB1EFFFD6FEE7D8E0780E9EA9B6FBFB2A0A8E4574CF4EC7FCEFF3D0606FE35BFA77EC3E6F60EBA8F0F3806F6F674756CAAAFAB2EAFD8B9A5258CA608A72D22718993028853028030C217D47D0CB6D8D973CECDFDF5BDF7DE9394947C964F46A0C305809D84DFD9094ACF88DF69F9F5DD775D4CE667C6AC79C517ADB86A0D6F8A78018B042E80820743284084EFF81C1EA7EB88DD61DBD5D1DAFCE5FEDD9BF73737345845A45349632891CC93AA1D4E25005412B265E4553E093FEE3FFFFB57F32EB974C5AF755A6D7C4088A30080CDEE80B68E0E08F77CF859FFAF7FF9F38B6362E263EEF8AF7B9F339A4C8543420E16EC6840E1F57A7ADD4EE7215B7FFFD6DAAABDEF966FFDEA98C81D8D0488B0DA61B44038E9005010BE8157F9B1D47EF5EB7B2E5871D9E5BFC583B55C40E0230780D56683D6F6F0C2E737FBFFFCE2CE15B7DF7DCF1D19593997050990DF377283ECA6D33975000481BDE8783F0024C09001036D5E8FDB39E01C38D8DFD3FDF19EAF3E7FB3BEBEB64B048641053E1116102305C249058044F81A19E1C7FDF2EEFF37F7DAEBBFFF20A95E12E06801D06FB542736B5B54F7872EE2E1DD7BF6AC9D35EFC27B55AC2F04A1F9FBC4EAF3C2D3EE7E70E2DF0CF828792A2DE4E163E4E2E364E26B8D58B021E011699130A0A07BF6B89C7D03765B655747DB7B5F6C58B7DE6AB53A650011895C8E0804270D0092089F56C4B403C2FFD99D3F9F75D3CA958FA8546AA320F0D100A0ABB717DA70E447BBB5B5B77F929655304BABD55A022A3E20340ED6B9ACB0D7EB0A4A4AD063A9F1201DEEB35408066C39F868997884566A36866542FCDFF5E203391DF676BBBD6F67EBB1636F7CB67EDD564934D32B633E04ED306C109C140088489F78E4EB799B4FC2B7FCE8F63BCA56FFE8478FABD56AF39040470E80DEFE7E38DED40CC3291DE0D4866EA3D99C2437321B065DF09CA327F010745E06048E5769FC7B521BF49A1E320D8FCC41CD40C0A0A6E720085052308841A1E47978DC9E4187DDDA68B3F67F75F8C081B5BBB67CF68D289A290D6D73A71D0012E1ABC53E364FF82C2B57AD9AF6B33BEFFAA346AB890B16E8C800802A138E341E8B5AF8F41D8D460F664B3C848E7C1A521C3CD9DF01AD5E4FD0A8F7EF39FF3EA0DEE83517782D0E6D26A9D43C18B4908E7F31F1D44D891B4443329D4E87D366B5D5DAFBFB375457EE7CE940F9EE761110B8E182E06401402589F009AE5EDCD2EF2D2BFADD830F3EA7D7E9937D21021D3E00AC36071C6E6808B98F7E24827575F5503A6D12A0672162FE3E269E84947445617CEDB4C1BBB61E91E0E91B43C2E53A3B6070FB0ED0A4A682BEB818D409097E8D203D96059154EC6FF41E8F8274044406B63404472CA7923503D182829EBFB7BBB37ECD93BF9FCA83C07B5A01A0C0F885E85EDCD4A953B35EFCEBDF9E379BCDF91C1FA8190D006CE8E7D71F3EC28E13B6DEBE7ED857510D8DC78FB3F7D75C7E29180C7ADEEF4775AD5641624A06258E86023A22F5DBEFF5C1839DC761005FFB47B22AB8304150FD8383E07CEF5D30CE9801BABC02707CF801C45C7001684C66661618781828389196500D65BEF01F3302209D07432A8E170B13730450483C8FCE96E3FD6B9E7E3487CF6D7887CB054E18001418BF10E18B4B4D4B4B7EEF9F1B9E4E4C4A9CEA276DA3038003857F1085EFF57A79B5EE83037587A07C5F4550F8ECCA4B9781D96C625DABD5EAC09290045A9D416674F93B796D771BEC1CB0FB85A70AB5F9F470BEE666F0ECDF07A6F3CF07AD29061C9F7D0A9CDD0E96E597E2DE067DEBD6813629096267CE04634E2EA87CDC1087E0B501690B75C06CF84D8801FF4D4530A460F7A5E0DE22E4A314C1C0417BD311FB0B4FFF215B94DCF29E72002890BE00E347969DF0E9E75F3C989595B54010FA680040B1FDBA6FEA617070905D7400DF6FD9B10B5AD0FD933ECF65CB9640BCC50226D402A6580BE871842A75E86197131E6B3FC68F5809F3E7099F67FB3650EB0D602C2B639F39DE7F1F8CD34AC1555901F14B9682F5A30F21EEBCB928742F58B76C01735111D876EF028D390692162C047D5C5C000C62E1AB85D7DCD0357578BDB16A1D146393330303F67EE8EB6A1FF8F3538F13009CBC191816191C350064C2BC02E317DC3DCBFB1F7C78F7F8E292AB8788DBC80130E07441EDC16FC0ED71B38BF6F4F6415F5F1F20A700AD5E47691BF020305C6E37122617E4E566436E5616188D46147E2CBB4DB9B83EF5DA034D47A009CF2B8C7C410B0802F21D3E0CAE6D5B418BE733949480A7B60E34F1F1E043F7D3D3D20CC92B2E87EE77DE025D4222F89C4E48418DD0BDFE9F907EE5D5E0A8AE62F7E643CD65CECB87C19E6E889F3C25402C21C44C70EC1EA6688D904F650F3266A0B5A901BC6E37012097C6C14878C08902804A89F1AF7DE5D51BE7CC99735730731F1900DC6E1754A39A77B95CAC23BA7BFA50C803A0D7EB11003AFF1E414060607BFEBD0155BEDE64020EED2DC88C7CEA02278ED8EDD63E38E8B4C3213CA71DDF0B2A5A2D7201E93567B382AFB313D4781D434E0EFBAC0F05AD4690C5CF9E035A1CE55D6FAF83B8D2E9D0BF6B27A8351AD0C4C642FAA2C5D0FACEDB907DE555D0BAFE3DC85CBA0C3ABED808C96533C1404452103E5D8FE72B17EACC60A26B72126288FBA68683E0F3FA069EFFE363793C00DC4270E8940040C6EE8B19BFE5BEFB7E33F70737DFFC245E433B5A00B8DC1E38507B101C281CBA671AF51E8F9717B444E81230680D784B247C9090BE3024AB19C176C8E9806F069068E2350920822910F301C14CF810148E7DFBC0D76F65E78B9D30116CC813322EBF025438F2DB366C0053662618D3D22076CC5868D9B09E01237DEE3CD02138D43C2FF05FC36F0A12345A98A78F19E22822AD6577D8A0BBF5389A41AF030130460400EF70CCC08801A060F703A46FC56597153DFAE8E37FD5EAB409A1BEFBF000E0F178A0EA401DCBEED1D6D767651D2215BE0185AE63237E080C5AF4F77D1A4D54E95DB998003B0EEFAFD9E36260388CA0388A5CC1C5710130884B970590203B85CE4F3FC1918CCF8AF79F8ABCA07DE3E79077F5B5D0839CA00F4D42CEE22560CEC81822995C7029F404BD09C66BF53281220E8E1F3D0C836E279160C7734F3E56447444E40978A3CD138C16006A495107A9FEB8FCFCFC940D1F7CB8C6126719EF930DDE440F0062F935757568EBFB59AFD8AC76A61AFD421746B9BCFA273078DD836075D89138BA4083234AAFD782064D820E8F538128F61F92D8090585709C8F340482E00882A101F7C7B1798013914781DC0D698C419B0D067B7BC05A7B00E28B27800FBFC3A1294B221E101261F46B8085660BC4AA35A13101ECB7437555EC782F9A80E79E7C742225B6780078860382110140A2FA43C2BC5BB7EFF87D4E4ECE45F2421E1E008E341C8563CD2DECBA4EEC300D76885FE07E211B022A3F54FD5371E8BC39B3D81E552582A817BABA7BA0B3AB1BBA9084F5F6DBD08370811E3D043D9A0983D1005AD6E1109D86002120E307C4511C91C790FC35D3C8E478764F35AB2CA6C0BB95BCAAF7F4F783B3B505928A4B86DC42D51070E2F03E2E8C89970D11DBED5638D650EFAF6C1A1CE4B6ED2CDF35E8F56CB15BADEF1C3DB0BF02422B9F1581306C0044B2FBEFFEF39FB79695CDFCA9B290A307401B122DF2ED999FEFF5E108D64846BCB206C09101B3CF9EC100123623881E431702A2A3AB0B3A3ABB1020BD2C8AE8427E116336813926965D17A20505BE18C4E76A450E710C41D1846068438FC407C10121A9D91852FDFE63C6A3FA9F6834CB66141B1B8F80B5B79B078017B6ED2A0F84C5F15EBCB9D9E92F7EF2CE3F7E21538D14028261012092DD7FFC0F4F5C70ED75D73DC92A764709807EAB0DCA2BAB50F0C8C6356A1C99DA213BAFA3BD0804120D40429D367922C4C5C6467C269BDDCEE208A929C9417F273792924B478E3642736B3BF421B933A22711176701036A8B48397FBE64CC2F2424902DC8035A1010CDE866762238B8402249ED07854A1425C40FCFB72440A2D4FDE3F715FBF63033C0EEDF6687BD95350100C4C498A16CDA94F2FF7BE291C5A21C41C8841801042301805AA4FA03C19E9B6FBEB9F8B7BF7BE0658DA8A267A400A0CEDFB5771FF3E349D064AF8347B9E8B548ED1BF8919F9F9B132250996A202496B528E416686A696511C384788BE2F1C4458E21200EA3493A7ABC89690A03BA7D164B3C039A4AA58EA021867885075B0782A0055B1BB66E0407A886C89F09B9CAC596243F479184AA69C4EF2FDFC5CC099DBEA2A616FA119CAC0016DF2FBBF8427C6FE3EC367BB7D335F0E991DA43F7EDDAF155B38C596028881A0032FE7EC0EE4F9838316DC386F75F8E8989192776DD460A80723463DDBD7D6CB49BCD66FF680F71F3426D3E3E0EC45B62212F273BAA676A6D6F87DA83F5909E960213C617C91E4366811E3D2539290440CD089C6F8E34B0D6DED1C542CD2929A990803E3DCF3015344430403CF8CCEDA8193AA8212012F13CA5E6B8D002137CDDD5D90E87EB0FF1F7DF09F5478E06FAAE647C21141716C2D163C7C1CBF7A93F04AEC54BF8EA9C03AE07DE7975CD5BE2605154009029EED089833D1515957FC8C8CC5C28F5DD4702808387BE61234C836A3F313E114C26834C608777F744C0203BDDD3D30733CE9A1A312D4CE6E55853132380334AA7C81E4FF30828A9D4D4D2C24CC48DD75E1919506DEDB0AFB21AF6D7D4E077DC90919E0EA9A9E92800B5AC2B170DAF101F47FFEFDF5F0E0EBB8D99B97DA8FADD6E0FEB4793D104972C59048D287C97CB1DE857AF88532524585A5F78EAF102914980E100402ECE1FF7D9E79FDF515A7AD64FE48237C30540534B1BAAE503EC9A298949101F1F2733E2F521FE3F710252E71D340A751AC8484B83CC8C74C8CECC44F51C134CFA50DD6EDAB693A97202D94DD75DCDBC04B9ADE1E831686E6B83F185634334C0506D819FAFD0751859E437F238F6ECAD803DA4CDFAFAF17E32209B42C8C41F2460088A394420999BBEFE92A9FFFA8646A675585FE27F175D309F7DDED3D7E7EF53EF90E0491B585033EAB49A63CF3CFAFB1271C838220064F2FB82BF1FFBE0EF1F9A7DDB6DAB5FC45368470B805EBCF11D7BF6FA916AB1E0E84993F1ED85204F301738547F9891355FE09C43F71017178B1D9F09B9D8B2333318587C2C92D80F8909F1A102C5CF9AD0EDA4DAC292A2714142956ECD08D8FA8606763C9990695326C91E4745AA7BF655C04E7CBEE3F81DD20CB9B9B9C839E2E56B0815EA0C5D4E376CDBB609CF676721718E7FCEB163F219E96DEFE88441CA3708B2E04140DF1D3BA6003D9DEE96671E79603C0CCD8D0C0F0005978F097FFAF419191BDE7FFF4DA3D1902DEEF09100C0892A6BCBF65DB877A2CA3742617E01E07943841F14FCE1DF37B5B6C27E54BB9C683248F0FDF0EE91CFCF9AD3D352211739423EB6B4D49420F54F7DB11B47ED91A3475955F18DD75C290B92A1DA833ED85B51C5D4EC79E79CCDEE59BC51A2CA86EA9A3491A065C8B494EFAB44D76D37D47D7318F94A2E149714A30A3706DD879C7B597708496B632354D51E04BBDDC19E8B78D2F790F8F5E2B504D5EFE544B1146CC949890C6C68CE1AFFF4D843934500F0450300A9CBC72A7BAAAA6B1EC9CECE5ECA8574F8F00040EC7AFBEE72E8EEE965C228193F0E3540BC9FFD13B39765FF7EB340EA6EF3F69DEC1CE100C029DC9F416F80BCDC2CE6358CC9CB63DA826CEB31E420E9A9A9CCA552761F1DE882D918A0A41C82BAB412794043E371A61D2E5FBE949D4F8E677CB9792B7CFCF917A052EB610A8EE2D4941445AF65E3171BA109BD9646E42FAC0FF13AF3E7CE811824CAE4CE8AD53EEB5BDC6B518365A1E6A3EF6FD9B26DD587EFBCF196A8764019000AAA9FD9FD75EBD65DB1E8A2C50FF86F627400A84134D7A33DA62D033BB378DCB820C227C7FE09F58E8101F8ECCBCD2C2D1C389FA450D47F7F5CD06808777F49890930263F0FC616E4315090B990DB0ED41D44A6DD04C751B84B165DC04C8B74A3B8C1C16FEA71F425B1F3457249EB0ED5C3868F3F835AFCCEC49212281C3B36849BACDFB09E8D7E2F8294EE39373B0B49EF3404A20385ED0DB1FD6CF4A724B1FE6A6868ACF9CBD38F2F14E50C9401104EF5AF5EBD7AFCC38F3CF20FB55A133B5A00742351DAB46D07BB26D5ED9D3B6B26984D667F785726AD4B0020A190AAFBFCEBCD2C08229E011C0200E9E88FFAFEFC95BED4C1645FC78D1D039968B785814E04AF066D707C5C1C4C9E5812D27F146E467B8BDF4943B7344E51F0147F200D4160B970FE5CA649882F7CBAF16B7CBE4D9098948C5A6132F689093D9C1E78F3ADB7A0B3AB87F5B94EA745F02D8441CF206A2D4F08E32720509FC5C75B289EE27BF39597CFAFABA93AC803203C075052FDE8DFC6575557AF8D8F8F9F16A8C71F2100BC835EF872EB36B02283A66DF28412ECE802D9B4AE8167FA02EB26D0907F1E1C3A3E010090DC2B273A1F09A1108954D1B8B1E8158C014B9CBC60898C56D5A0AD46F7F19C19D361FAB429B2C75135D3D61DBBA1F6D021A6A2972D5E1472CC3EE417EB3FFA14DA51E8E4F66EDFB12BD0E773669D0D2968DB07796D2075FB48AE043ED222FB2B2ADF7EF36F2FFC923C60BE72C8ADE805C8247A04D66FD9B973D75D93264FBA2DA8934608008AF15359176D64F3172D988B2E924136AE2FDE76EFDB8FBE6E9364FE7F9400909803FACCBF180C159B0C2A002074C631BD2657733C8281380B0143A83CA6CF1A8F37B3112A671A84CD4DF9013C9F9438CA6D1B3EFE141E7AE299C07D6565A441D9F4D2C0F5421B1718445DDDDDF6271EBCFF1C94732F9F31748AE71104014012EB1747FB629E7DF6D9F356AE5CF5128E39CD6801408CF50B243FC2B5CF3F7736DAC9FC90DCBE7423C01070421780901FC19100B068C1F96041FFFDC8910670A059D95F5DCD42AD82D7104228258B4E08D7D0E02823376B4271114C447790DC4EA58DDCB443C8FE893F9009BCE6B2E561854F9EC44DB7FF8C9164BA2691BAC517CEA7E89E3F1D2C030062877AF22A88387EFEF9AF367EB8FE4DF24645EADF2B540DC901402555FD73E7CECD5CBF7EFD3B6CB106E92819260088AC6CDCB485F9E1B41183FDFE5597B3D26D41F87291399AEFB77BEF3ED1B5460700720167E228DABC793334A0DA2E2C1A0F2D6D6D2CB246DFA1FBC9410ED0D6D6C11697107F9F93D168E2EB5B62E390C815C12474EF26968C0F3217D4DFE43A1E3E7214895E019C3575725800FCCFEF1E864D5BB707FA73E68C521623A1013214E8090600A97D6A0D8DC7EAFFF2C7C72E254E2A1AFD4185A3720090D6F6598E1E3DFAC78C8C8C25B276729800388036AFFA405DE09AB3CA66C09C73CAD803298570C9DFDEBA73373F3AC38FC6E1DC9BC3D607757575503A7D26BB868E991B154C40B54EA46CC78E9D683F2B203D3B8F317F6500C87838426E035B6E76264C428E3375E204282E2A64A3379AED23740FFDAADF7F5E7211674E9F06B1E618364CA523DFCB3F337DE876BBB857FFBE76F9A1EACA03FCE81F10CF1D08C9062A8CFED8BCBCBC14EC843D4482460B0072DD3EFA6C235383CCCE204A7F7CCBCDCCFF56DAC857DEB26D2738DDAEA8D4B1E22C22B9118CC70C7A071921A56C9E20CC5965D3C1E51C40557D083A3BBB21252D9DD52608E7B2C4C632CF80EEA9EEE0372C26A0048010DB8CDC804CC5D4491361DAE449A865E4CD0545F556FDE4AEC0B9A9AF089431287CE20D72B6DFCBC8F5200B1E5556557DF0FA4B7F11889FB85AC8279B0E9630FF80CF8F2DF1EDF51FEC4097463511559A56AB19310048851F46752B6C146ABDFC92A5CAF6729082447B02E94E65FF3E8A44137F6FF4909427205BDAC01227AE90D1AC4130D41FAC852434137AA399C51AA81289BE9F181F0FB7ADBC0135C741F8F8E34F20BF600C54202FA1D4752400C8DD7352520203029902DA5B7030D07177DF733F94EFAF0C9CA374CA24E41619909C98C8024072AADF8580A4743872AC81A71E79709ECBE5A475076CD282D19082109954AF10F1A33868D2BB1B3EDCD8D9DDA3A3C3CEC21B19876E907013D10280A66C7DBCF1CBA0891B8BE6CF637658293842B6924642E4000F1712F695CB34D22822C0914FFDC1071F40426232F4E1080B64CFC4DF971BC1F89E5CB694F838A6CDB66FDF0ED3A697C191864656C310AE2F82B592BC09216FA470CC18E6DE7D4D769FFF7E52423C63FD9490222F49CEEDA32417DD13F5EE575F6EBCFFD3F5EFBDC68F7E8794F98703804694EAA5D19F70D9D557CFB9FAAAEB9EB2DAED1AAAC9F31769E86102929BC9138AC168D04705007A20E9C20DD75DB18245DEE43662FC471B8F87C4F415012056FF0A00A08C5D2A76EEDB6FAD03B5460B535178FDFDFD4CFD0B6168F29D9B9B9BA1A9B59D65F9A400A073D3448EEEEE4E484C4903FB80839CA95073140D00A230A7745FF3CF9BCD88240140CEE52362DDCBB2801C85B11B9F7BE291E53CF1B349268CF8646B0225EA5F2FE4F9D7AC7DE5FF50A32C24D2E2E285CF40808DDE93ED2CC64E2B2E1C0B79B9398CC1CB0180122B1BBFDE1C22E49FADBE056225E95A7F84AC8577F7B85102205418748FCD4D4D48F80C6CD4C6C6C4306D7676D95930362F171E7EF86128183B169253D3A1B1A985E519A2B9E6C90200791194C9A4D0348949CEEDA348227125F460B8D75F7DF9EABACA8A4AD1E877855B3F400080742E3FB1B2F8B56FACAB34E80DEA04547976BB9D9566B7A14AA68B39B191EA140041EE533ADACC31E8CF53A48C5C1C4ADDD2437EF4F9976C9146F146D9AFBBEE582DEBF7EE65B62F5C678E1C00A11CC17F5C415E0EDAFD3A707906C181CF46934849AD0AC794A28DA6BA00321F94C5A3D87D68D049C13B08BBBE8132002CA88DCACE9AC6C2D0A499A4848FF6240BAA72A6ADBAE6C067AFBEF8DC2F44A3DF295E3B40AE345C5CE92366FF4CFDFFEDB537CB6D36BB9AC28D46A309C68F1BC3FC63B279354882FAFA6D2C85EB629A41008393E5AD3DA81DF272B2E0BCD9E7A02AED0FBA289DE3AA4B2F0929DD221B46E958EA788E0BD799110020E95862CD34A1D41B089B860280E32769D271747DC197664917BCCFA58B2E80679F7906B408EAF4CC4C68EBEA6571FB130500E967742F7366CD64758A630B0A64593F7953944F20F9A029733DF9F0030B5C4E67A728E8E38A3453485AEA254CEAA4EAC8C4975E7D7DBBCDE66000F0372FEBF8D2A99358E48B225A5F6F43DBDED4CA04EF07809BD70EFED70BE79D0B696943A95052F9D75EBE02D224459B1E1C79E5E8733B1CCED0D11029C32712A87874C7C6C4C282B9B3D9ACE1ED3B76404C5C7C20A2E69351C74A02341A0CC0799C8C60B5B5B541565E3E4BCA84069DA2BDE7C8A495720E3959592CB2C8CADC6500401541BDFD7DFE54EFA64D8F7CF8DE5B6B65823E61278BCA157AC6F200485AF3F7D7B7D86C3615099EFC6502018D6C011094B2BC70DE1CB0DA0790E46D83AF366F65491A314F5872E102747592F8746F1A5CB1FC7B2119327A98CA9A03CC53905587611784140B30786415171521798A81F2F2BD48281B212E2191B97342F915550E53F55143E3313617209C0089259166A0F22A72B55481408C92FD8E9053080300AA4398513A95E512A80D4551879E990A421A8E1DE32B935A9A9E7DEC2121E2679564FCC22E182197F88915DCBF17FFFEDA5756AB4D2D8C7EB6F70E69033F2006596064F9D2C5407182FD9555F0D1675FC0A75F7ECD46DBB2C50B21252505E69C5D06E7CD3A5BB6FE8E4ABA8828465A0B289C7B165A13E063932F3B70F4BB51702A24B2445A49A5D2B9962C5AC06A02376DDACCD4BE4AAB67695E5F981802372CCE115D52490A00120711521A24A5932733D7500A1C52FD07EBEB1907A39941FF78E3D51F5495EF2917057DC4CBCC859D24AA04800402C0F5D7DF3073D192A5AB9C6ECF047433D4E2D11F00810810747314FFBEE0FC739154E5C1961D3B59E9F4D2450B59F0453627DEDCC2023272028C0E009C4C0026F8FB1E7E2109E0047F1B607AE914F8E4A38FA1AD1D557A6E1EE80CA6C0F7493B502D00B5A6E656A83FDA086E16301A29E98C16004846F37351F567B2784B5C5C9CACDB771CDDD4567E39BCBABABA4D2FFFF94F3FA788394FFC1C22E217719AB8DCDC7E410324F24048403730EEEEFFFED5D2DCBC31F33ABABA1348BD0BA33F58330C018446F1944913E1E2850B60CAC412969A946EA42186D8F48906807C5DA0F07D37F294638D478132C289C929CCCEAB78D237134760E9E489F0CE3BEF420BBAA4B9630A59F2C61B2D00A4F63FE89E650820FF9E3CA3B3A64D81ACCC74B4FDE365933D54635875E020B3FB4842DDCF3CF6D0229BD5DA1129E41B2D00F4A21070020F84783E2E40C121FDF4B2B2ACABAEB97EB957A52E467BAF0D320FFC6B8FC454D03D50A873F9928B584893F2FE34D5BBE6401D1EE70B0F00694745000099189AE8416E29D5E9D3BD844F0B879A9C29934AC089F74791BEAEEE6E28993C0DAC8170F4490000E72789543C42A37E1E7A4E548D2C75FBA83FF7A289A5790AB46DDDB2E5E9F7DF7E738DC8F63B9542BE9100208D02C6F044308E6F02000C20FAF99695AB56CF292C2999DFD2D199EA700C849A079166F00434030765A5A570F9254B983B18E29F2B64D8A201008DE285F3E7B2DC0131FFBEFE7E56BB17A2462300807A630049564F6F37C4C52730D2A8E1B583AC0B1909000A0450FCBCAC749D6AFCA64E814C46FC42593F694BAA82E66735B53EFDF0032B78D56F158DFE612D1AA9523003422E4068661E00461108F4C22CA1FCFCFCC4ABAEBF7119A7D24C6E6A6D3378A4209021913F5A75134B2C51D9756242028B72450500450FC0C7CE939C9400CF3FFF3C4C3B6B3AA8D9E20A1C8B9FD388A2E24C2A8F16CABE590227C20AA4E1630E910110CE03109E970602CD294847B27C2E1265B9440F2D81BBAFAA5A98DCC2BDF9DAEB37D5ECDFBD5F26E813F5E8970B058BE7FB0BCBB99B44AF0D10FC5B3ED21F74D22E5BBE626AF1C4298B9ADA3BB2FAAD569578F48B8170C7AD37F953B03E7F6938958067A5A7B179018A193E050F40CCCEFD53BFAC2C3C4A4397AA62E9BBB3674E875E64F9D5D535D8AA60D6B9735954330400321E403800842B2C8DC664D1B9A74C9A80AE9F89F1A540DA5DA4FA070606581D247933B4555656BDF5FA5FFFF2302FFC7E19B78F1B0900A40B3B0B403044D904203030C4272498AEB8E6FAA5A0D54F3F72F498590C02F2267E7CEB4ABCAEDFA76668471008A8A790329553D36D45B2DFD1D60552AEE2FDF5EF417C7C226A061D98D075F557D5F80140A9D8DC9C2C1C699DE8621D66262412009449ABB8EE203C00FC1355B2901B4D8689C545A1DA0DF7E44D75F0E1DECEAEEE8E271EFCCD151435E7856F8B36E813768510494A58BCF48B0E827FC6CD200186542318C440A076CEEC730B274E9BBEB4A9AD23AFB3BB9BC5157EB27A15EB00B1F085C48B1F145EC68AC925A2B2B1A801A0501646CF49AB8CB1502F85B60D46B6D40C1D573C6E2CBA855361E3C68D38BA2A21333B071C6E2F2BDCE414EA02C393D6E80040A689463F99C1E58B17F9E76DCBD8FD8A9A0381D540FEF1CA2BABAA2ACA2B65823E5E18C182D14A35817240D0C88021E4E7DD14CC030383CE68347C6FF9650BB546F3EC450BE6C770FC1A40C120F00BDFC7EFE93DF079780A1FAB0264ECC41486D23D50787AD0E980DABA8360494804534CACBF6A496EA6D1090200C7A6738F632AFF52F48E52929343DC3EF2403EFD7253207681AA7F1DAAFE2778E237ECA04F546B0489400010FCDBBD1A1151D4CA00410A00A38256D025A07978EC8FCFFE0E6D9A4A2A7C1F2FF421108835036A05EC304A8D526E9F15A544AC0B8C6E5E00A5825C9452453B4B84D14F4AA3C82A0E8B000E0120253911597F364C9A500C73679D1332F25D781FEF7FFC19E3332C66D2DDD3FEF803F75DC30BBF4FAED267384BC4865D2226CC0F39ABC39808BD040C46191311D00E33CACA326E5C79EB8A9898D8F13687432355FF620D20083F882B78FD931EA9A6CE6F2294326C239B19249D18A2F47D8A3BA422D1A4656458FA380A0090F74382A7FBBEE1EA2B456576436DD3F61D70F09BC37C29F920CDECB9A57AFFFE1A91DB27A87E0F8CF0B70222AE0FA00004950210B4325C410C00A937C180A0D3E9F43FBDF3AE05E38A4BE6D81C031616B80912BE3784284AC1421D4D19475A129616861E3100C2CC0C92FB3EE536A69414C1BEFD1530E0F2C0F1B676B63A47B8BC05F5F7B8C2023605EE928B2F8271630A42DCBEFA230D2C97226C355595FF78E5A5179E9251FDC376FB46B44C9C2AB85E5B25133F90FEE0B314084691F0CD22F73228B03477FEFC3C742397825A57607738D4D108DF273117F43C145421F268662E65F899419101A09C78A2491DB7FDF016964F78E8B127A1050170F8E8D1B05E4B628285CD3720C1537D62F09C091FFBF18BD7DE7E97257AFC05323DED8FFDF6BEEB6454BF6BA4C4EF442C1327671E5420FFCBDF626D10F86550BE09C01093458D3936D6B0FAF61F5F949E995D86FEBCD91BA5F0C55CC1CB1755E4E7E5A066C80683511F5A541209000A1A44E01C54A14BAB98ECDAB91D32730BF8BA3C65D2A9566BD83A3EE47EAEBEF906B6B854506D1FDEF7BA7F6E60B386F885A97C6FBCFCD75BAAAB2A6A25AA7F54C4EF442F152B175154C968043910982420080202B58B2E5E523C7BEEF98B07DC83594EA75315ADF0A566C4C76201D92CDC1A4BCBC7F19336869554920040296FA1048082FC3CB6F6E085F3E7C1D9A26A68E1F36DBBF604664B33D55F5DFDC62B6BFEFC27D1E8B78F24DE7FAA968B57320F1AC932F2468949304908A31C10B429292931D7FD60E592188B655A4FAF552F2588E1842FE755901741DE445A6A2A33158247113EAB38DC9941439FD16827C24AD3BA565E7F4DC82C282AED5AFBC6BA80CBD7DBD7DBF6E8FDFF7B8348F8D6D144FC4E1A0086E13D88E3085277D128E335E8253907A1A9172E5A3C71E2D4B3160EB8DD592EB7471510BE94342AB994520F035FD35C7F5A0B80E60C9A8DA6C06FF29C0800D05A033497823C8655DFBF9645FF82660AA3F7F0E2DA575941AC48F5DF8AAABF4E44FC1CA389F89D1200840182D86B1073039D42FCC0182ECC2C68159339D6B464F9A5172426A795DAD18360D3BC46207C31708411989C9C84442D9F0568C8660B6B024BA79685CF5BF83FCBC9CA80989818B65EC0C2F3CF0BE92F5A03A0928FF6D1565B53FDC6DA17FFFC9C0CF18BBAD0E3B402400108E2B4B35A32AAF53201A568802080419D989C1ABF60D1C50BCC96F8C9569B2D968A4CC5DA205AE12BF50765EC52929269AD3D888B8961BF40426B00B07C8562D4D1C716BAA4BA3E2AF15A7DD30D21CBCE5075F5BBEF7F34B4B44C5F7FCB23F7DF73332FFC13EAF39F72008401823A42CEC120136696330D522030306464E726CD397FFE057A8369425777AF79D0EB0D0D3049B8025B686A847D4142A5A558E2E362218696B8311840A3D5B09A439AF944AA7FE1BCF3E09CB2E921EB08BDB0F69580CB87AEAEEFD597D7FCF040155BCAE584FBFCA70D00C30082469289D447483CE995CC830086B185E3D34ACF9EBD90D3688A3A3A3A8D14680A218A3C793CD11B1577D20458D2061555350C10E96969F8B722B692F9FEAAEA80CBC7ABFED750F5BF20CAF4596184BF04724602200AF7315C40492E1329CD35286A056A05630BD38A264D3B8F53A98BBBFBFAE39899E0857F32FA4100004D78A1351168A4D37434175F53B9ECE245812A696B7F7FCB43BFB967152FFC3E992A1FEF8916FE6901C03080102ECC1C0E0C52F3A09302819ADE68348D9F5C3A3BD6923069C0E54E75BADCDA930580EEEE1E16D7F70BDFCDA671D3EB450BE6B19FB44300FA5EFBDB4BB71D0866FDF648133BBFD500184198395C4A5A0A0625F3A09503035D2B3E39356DECF809D3CDB17145032E4F8ADDE1D09E2800908F2F4C2177B179947E20CC423340B188DADA9AD7D6FEE5F91725ACFF84FBFC6724004618669633113A0910F44A7509725C01827F044C9D999D9D56307E5299DE641A3730E04AEAB7D9B5C3ED2B02C0F87185B0E6B9679FCE2D282C4E4ECF9ADDD3D71B47E48F00406B0C8ECDCF697EF4B7F7FD1049688F4C81A7E764A9FE331200C30C33473211FA3020D049DC506D3830D0DE60349A73C6164D30C725166975DA548E53C579063DC641AF4F1D0E00269DA6F6CF4F3FF932FF27EA6CDFDC0B975CA433C59C63425FB2A176FF1DD595950725E1DE93E2F37F6B0010A57950D20A729A41AF00025D149A4123019FB8815E6F34C725A7A4A6A4A6E59962E232B43A7D32A752591018A6C2823CCF47EFBCF180C36E7709617F7E447B78215B79A14B55BFEB64ABFE6F0500A2AC4D90F320E4C0A09301861210745198891030C0D0AF737941E6777AF836C8DB763100C4AC5FBC94DB491DFDDF2A0084D10A725C41090C5A89802301422B21A062AD20BE9E700F1C2FB84149F349C0210680D06CA24C5FC459BDFFB60018A60721E50B4A1A421B8569D0CA9C43AA1104010FF2A3D82DF6E1459F7B7861DB79C1DB45011FCFA950FDFF120088422BA8C26807B564842B690839B2A895E1085200B845021503C0C7FFCDC50B7D80078338E0E3E34E9160FE2500304C30C8B996D208A44641E85AC9715273102D00BC220DE1923BEE3B009C3A3028553CCB990D8D82972076057D2213E09131014A3CE1A4C4FAFFAD01102518943C8A70C0502BB8886257CF2B0EE38A842F1CE3131DEB3B1DC2FFB70240183044D20E7266436E0F0AAE60D0EFF64A8EE140E6E75CBF03C099A11D40E2E3870307C8C402389918801800E263813B4D82F80E00D16B0725D3213D066484CEC97C3EF4E6340AE13B000C1F1072020719332027F83342E8DF01E0E480E28C16B4D2F6FF01DFF07D7708FAA75F0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (77,1,'Phone_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000012080600000041EC1E9E0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000044049444154388D95947B4C5B6518C6910D940D5DE29C8B99897F1832CD12DDD0651AD8583082D67019C28620307005C6A402456E2D94155ABA1690B65CCAB5949694310AED56A001063ADCE2748311770105648CE90435B2251818EDE3F7D5D384454BE6499E7C2739E77B7FEFDD05808B33916703D126A2CD444F11B93AB4DEBD476C3831FC04351C1515F5764D5DA351D5D87CB954AE30F10A8B3FD9EBE3BF33312D2FDFCF2FF02506ECBE1ED099F1679A34DAA6A1E18B2B96812118CE76A3AC520571B96235A7B8742A49AA4452891CDC42E9527296E07ACC71AEFC9DE0C8DD4CB46ED4C67F0218E39BB5DA56D595D1315CB8F40D7AFB07915724015F740A5245ADADB44187E7A4A5D8745288178B443820ABC0119912A91205D20A4EADC4A7E54E86C6C4783903B8ABD59A9C1BB7266C0E804C59034E361FA232057406338A74EDD8A3ACC2F3793C6C4F39811DEC44786566E30D5939E2E52AF048642111D141FF02D0820A8542BF1FA7A6FFBA39FE032840D76E805C550F63B705D333B731393D83EF46AEC164390F4DC75988F4061CAB6D024B5A8E80EA5A889BF5E0E40AE0F36ED0DDE0E023AFDB33E2480D8BC5DA766B7C626A66F60E2860F0ABAF71BACB68077D3B328A1BE313B8373F8FD5D555DCFB751E56AB15533FCD6070F812F49D66B475F7A3CD64C1D194341C8A4E40FC8974441E658739004F5E1D19699B5FF80D1470FDE638BACCBD7643B767E7A03DDD81DA662D2AAAEB50A7D6A2A76F0057AF8D61E5E143CCCECDC166B3E1F29511B49EE942E0A128E4094B90C113AC6CDBB5CB931A77ED3499A2177EFFC3E600D0AE59BC7F1F7F2E2EC248403A02A86BD6A1A6B105B98522C8145510939AA49374942A5538633463EEE75F689741502285E48B4A04877FF43933472EEEA6EEEE31EAA1A44209736F1F34FA762C2F2F63E8C245749EEB2100031AB57A1491429657D5A2402483402441525A16629339088F658315F131794F450B7126353BEF0EB1EBC164C7C543D5D0745E5CAEB4D2F0F51D9D585A5AC2E8D8F7A033E00054D63541A16A805052867A4D2B38397C24A767FF0388632328320EE77AFA51D5A0B6EDDF1FB0D7317CF4D948E4E5E9B9253C85936E49FC2CF301977F12E6BE7EF43200BDC1681F3432D150A95B9049BE73798548CEC8461C0144104045753D0649C4B1ECE3469A9547DA9481D082D0F10F884D60ABABEAD50F0462993DD7D4E37A8D0EF29A7AF0C9D0E5174B90555084FCA2123B803885BBB40665F22572FFD9F5267903B35F5E260AF2F53D20CBC8E54F1E4BCDB08646C7DB53C2E50B91430A4D236073B8A42DD3EDAD3CF0E5303E083B9C4A57C5E32C3B076807D1413737B724566898F9FDB0C885D77CFCAD3BDFF405D53E7F163ECDE2814F22E264E78D937F9F5EEBBD53C01A902BB3A6B712EDA15111256CDDFE8278F75BBE967D07032603433E1C7D2FE4F0E82BDEDEDED4B1C75AD74E36AC3BB32DB73091D1EDE9CF9CAFAE2DECFF0638898C023D9873A3B37FFF061794DC42FE19CB1A0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (78,1,'Phone_(48)',decode('89504E470D0A1A0A0000000D4948445200000030000000230806000000D24089B20000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000BF24944415458C3B599095C14541EC75301C9238F523377CD705B77DD343769C972F33E96F2C62410144401B991E1464018981386E106412EB9454E4190302B656DBD4FCAF2CABC4DADD415F1B7FFF778B0A38E79369FCFEF23CEF1E6FFFD5FEFFFDEBC00E085A7113DBA08752319E888FDBF2B7BED69D77E223B9ED27066A021A907A92FE915D240D200527F522F9291785F571DC84EB8E705F834C61B080307934658DBDA5A28D4B16A992A26215A11932895A9345EAB7C1D468D3235A1D77B925E24F5D381EB2D9E337A1E117B52E30D85316F4AA3E5E13575F5A71B9A3EC7A6FA4654D4D4A1B4A21A05A5E548CBCA832C36FE4E88343A89DEFBC725CEDE113EE1AAEB9EC1514796AF0A2AB2B05DE6D0A7CF4006F8AA588F811A8BF5BB3D49849ED4F8FEC3870F1F5B5C56DEF055F34E6CFD623BEE07C8CC2B44548C1652751CFBB775D458B3B9418A84D600593CFCA3B5F095C6C1272216DEE131F00891FDEAEC1BF6CD5237DF923996F60E9491AF09A01E3A11FACDE83C2E005BA86FBF7EFD46D76E6ED8F9EF5D7BA00F20A7B0848C8EE7C63345C7686F86C8E34F46C6AD85243605AFC995F8872216160A2D3CE4F160507E515A48A41A0EE519A66C7394849EB176F22A99326BC1C7A2B63AEBE9A90044485F323232FA4BD5A6DAC6DDFB0E401F40665E3EC21531885469B818804C9BD616939E07756A0EFE1E130703990CDDE50AF49446A10FC19828D4F850A981A59280948908922708A838482235700B96DDB6730F685968EF1AF79EB9F9107D917894F15D457E9A545456971E387C14FA004A287522949416C1E1183F630ED61088323E05A9B92548CE2981675A160CE572BC48EACD006C6CD1D7D51D03FCFCF1AAAF1F86462B309C60C6D01A33555AD8AAE2E1A54A42B022018104E51F1D0F0B9BE551CC998F0D20F29E15D61F4B4ACB528E7E7B0CFA002A36D5716FBB4A0260EBE8061B922A2105D92595A42A641557605C42127A28947849495AE982FE1E9EE8F7C9220C7458814176CB3060CE5CBCEEE88C916BA4789B404CD51A98D19A01716988884B8724428105D64B652C951F0B40A768076A345A8FEF8E9FBCAB0F80A58E3C2E017E61521E8184B44CE41595A2B87C134AAAEB515C558FC28A3AE497D7228940BCB2F3313B652D466B13304C1D83D77D2478DDD50D6FB8B8E24D570F9858DBC094A2319ED6FC489B0C755A2E54293958E91388059F2E6111E87E7F1AFD56DEF7B1B5B39BFAEDF7C7AF1300EE07D8FAE576A8135310A5D6429B9AC10BB8B2B61ECD3B77E1E79F7FC1F193A7B073D75ED4356E45E1C66AE46FAC21A80682DACCA1924AABE0975704ABB5D99848EB9846C9F16E7824262624631A45D09D9E4FCA2E4642562196B97A61EADC85D7468F9B5C6B6666F67247ABD50B20F2BEC7902143DE3C78E4C8E1533F9C813E80E40CFA828C2C64E717F334FAFCAB1DD843AFDDBC750B1D8FD6D63B3874A485FF7DEDDA75B47CFB1D9A28EDCAAA6B915554469169872AAADC8C940DD558BDBE184EB48758502435856558575481E4754570F2F081E9A49998366F119638BA5F5C68EB903A73E6CCFE3C53F4A40E6B5983B76FDF5178F6FC79E803C82BDE409B552E369221AC0EF61E3848C61DC3D66D5FD17B4F7088BB77EF62EFFE439D30D7AEFF8C83F4F98EC79D3B7770E6EC39D4D46F4172662EB28BCA5156DB880D355B78FA31A8028A54905489598B6C3076E20C78F8876089933BAC57B850BDB9E67367EB499D7EC5C5C55E972E5F813E80AABA2DD024A7A171EB360EF3FD8953B878E9326AEA1A7934D6E6AC474A660E8A3654E04BAA13F6F9ABD7AEDD637C5B5B1B8E7D7F82FF7D8B607FBA7A15878EB62023B700D19A2414520D55D66F4579DD6770F6F6E7DE77F2F2839B6F101C3D7DE1171A09DACDC3B8BDF7A54EAFA0A0A0C9972E5FFE451FC0D7BBF74211978826E1E9CB577EE29EFC627B33F24B3622BB8001E4F3F46275A1A65C96C52650A127627D4919767CBD0B172E5DC2FE438739047B5CB878A9138C45EDBB1327B18DD64B5E978BD49C229893F7CD175A2138520EC9EA084842D6C04D1270856C7DB91340A44E7753535393B367CFB55CBB7E1DFA00D6AD2F426159057F8D19CE1EFB0F1D414979955E001689E28D15D46635581DA5444078147CC800B64FB09969CFFE03B874E54A27C0E9333F72888E872A3E99EF2B11AA38442ADBD7089529F1FE87536DC5FED4F59ED4D9B3776FD68D1B37A10FE0F31DCDBCDF330F753C4E9EFE01E534423C0C40A54D4220B5D870EAED25E5158890AB394088548E95AB02B09C8AD3DED51B6BE431D850598DA3DF1CEB04D877F030269ACF236F07419B9CCE61A43463592F73DE45B60E126DBE4B07002BDCA1959BEA8ED76CDE8213A74EDF03C0F2353E3D93B7CD8E2F60E9B3A9A1F1FF00A53A0099D9FCB9ECF585906BDA53481212CE733728428ED0C828B893610CC06EA527162F77C1223B47CC5FBC0C56CB9C796BB6A6E7667FBA04A9D42CD8741B4F0EF10B5DD3DAE79557C676785FD8CED3A767567E6174E5A6CD7753D7E5C19FBCA664795B5C862F76EC440D19CABC5F5557CF8DFFF5C60D7C4675C03A483B40B50028E90488494C25EF474249515069B408A3F087501EA75074BC03C3E0421158E12179006096A52D662EB0C2F4B98B1047CDA2885236B7B094AF3375D6FC6431E019E8D42E4F9FFEF945A5C59AA43468E88B6B1B9AF8872CED9DF0CE87D39198BE0ED59B1B785F6F6D6D45F37F76A39E66205D800201C036B4FAC626FAF2B5884D4C432CAD194113682801B054715FE5070FBF60B8F8E800AC707D00C08DDE535DD7407BCC663EA22F775F7591EC1C2E0E435D7401D8A83CD0C3DBC73D2BAFE0A2940AC697AA9D794841E167AD6DE7AEDD9D5DE220156D93CE145ADE7990D9881C02C8C8CDE79D4A4B23430A6D74C1E1525E806C5A6535C0BA88A7FFEADF04B0B05DCE373BF63D2C4DC3E5B118F9F6D8A5E244D7EDBED6DF5EC0A47748F3478F1E131811ADD81B181E7D9B85769EB53DB5B1C5485A9BC537AC871D641800FB7F0D458A751F96B32C8D580D308050A98C3C1FF42080CBBD002CEF13A8DE76EFDB8F666ABBE9B4AFD020D74CB60D13C36597FB013AA64E76BC7B8B348964415AB6C0D22AC7CD27E09CB9C562984D31E7C66464AF47398D0EF59F6D7D00806D640A1AC4D2E93DB9F985EC58C93F934A3D3D345A89C035D1ED00010F07609BD53E72D4E1966FB8F73D03426EF6EEDDFF7D7179A07F9C169B18EB442F91D8B1EEAFA40F48B348B603060DF2B5B4B1DB416971279EB7476A6974685127A452FB2C436965FB59B83D850A780458FAB108B0F707AC0EE305DC0E102100020580572700EB3C0D4DDBF0C38F6769673ECA1D603661CA6AB26188BE49F49E614EE7BAC448B4A981A2684C4933493633CCCDD5B1F189C7A838DBC2642ABE31F18E42DE64AD8F75A08CDCC2F614A281AC3D8512F9092D345AD509C0DAA9824E68AEE4ED0E004B7B675E376CE8632D3C23AF80E61EB7FDC299BD1EFB48A90362202ABEBFC83F5311113B4343438FE54E2E556B64EACBAB08C0D15382A5CE1EDC082BF222EB38B149E9FA01A841F8D0C9CD8152C781ED0302C0DD37987B9E753A36AA93736EF7EADB77A2B88E3178D8C1FE716E23BA891A61B3C79F486624739235C979988949F84ACF55BBDD2481FF65DD837591E9F32C31C17C3E267C340F36649C777018CD328A4E808E1462E00CC09EE6FDBA2D4DBCD3FD78EE3CBF1898F6F11CD9C30AF769AF550CC47507DB48DE208D214D212D2439903C264C9E9E69E7E4767A8ED592BB1F4C9FCD47E0B7C64DC208D3F15CECEFA9B33FC1BCC5F67CF35AEAECCE8B985D069CBB7001B76FDFE69BA08BB75F0BAD379A1DAAF415EEF3B89933168B0FD129F8D9ACE0492E3D7BF6F49F6A3EBB6EDA9C8517C68C9FDAD601A04F2C522C2A2C6A8B1D5D59B76A1D3C78F0BF4457347CD405D7B35CEC761305DF4BA7E0D99C329DF4096BC32457928FC988916BFF39CD7CDFF8E91F5F1DFDC1E4B6FB019CBD24E7E77CBAF4D6C48FE663BEA5759248D51E8F733BF76C17AB0F163CDB10FF401A497A8F3443EC294B484E2CCD189081B171E850933F678E321D573F6ED28C9D0606069EAC9E8C8D8D6DC486DAEF51A9F35C001E11959705CC08119909A2F81790AC0494AD0064CF4F23BD2B2E8DBB3FD7BBD1A78C4A074CC7153C9BE1878AF4F89BF0F45811AD610276808864D7DFEDF78167FC11C44834809EA209F415D7EDC6BA97B9BFEB0F1CCF0948374ACFF483C7FF000ABFFFA86CDF2EA00000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (79,1,'Phone_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000002F080600000053CBCC510000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000121D4944415468DED55A097453E795BE92AC7DB12D2F32DE00638377F64030D8C42C216D26A44968364A266D0E6DCA099D493AE7F4B43393A4694F274D139292852629709A9240D906E810304BD882590DC660BCDB78DF6DEDBB34F7FE7E4F799265852DE98CCEF9CF939EDEFBDF7FBFFBDDEFDEFB4B22BFDF0F77F325C217FF36E4E8171EFD77FBC1B7BBDEBBB50ECE7071982104C0C70D2F771CF3E1DF1640770C0067388D281C521C32C19070200067B00787931B2EEEB35F00961028FFB7C19A3B0280335EC219AEC4A1C1A1CECECF4F7CEA89958B120C09B91EAF4FE2F7FB447E9F1FDC5EB763B07FA0EAEAB5AA937B77EEBC8ED7DA386379C0C402A03C02A6F84240B96B80DC360002E3159CE1B16BD6AE5DB07061E90FA363F433D068A9C7EB018FC70B5EAF178FF81E8F6EB7077AFBFAF0B3BBB9EA42E5AA4F3FDD584FA0ADF9C5ABEFCA64B22C87DD5E3DDCDF77FCC8A183877BDB9B86F13B3737BE0E94DB02E4B60010184F5E8F56A9548675EFFC714D6E5EC12AAFCF2B09181D02801B47574F0F389D2E6E1E18F8E58B3F2BFEFEAAD58F4DCCCE7B95D6E2C34147628CCFEB712050DD4EBBADDA383474A2E2ECE9B286EB957D5CF88C05CA2D8171CB0084783E263D3D7DFC860FFFBC5E1FA79F4EC606192D78EF76BBA1A3BB1BEC7647602EB148E4FC64D3C6958F3DB37A0BCE2CF3F97DE0F0FA583CF939207C1C18ECBDCF87A0785D2E97A3DB66B55474B4B57C7A78CFF6D39CA608011132242218B7048040E9C9F8689D4E97BA6DFBAE77E313E2678F78790C00D0F3AD1D9D60B5D942A71CB6BBA057A9D14C2623077C5E58EF1C821891182688A5908E8F4AF54B40E31F03101C6E97CB63B75B5ACC46E3D1BA6B959B2E959F68E6182264897F2C106E1A0081DACB71E8A452E9B85D7BF6FE2135356D11D13B1200172F57825C2E0F4E73846494DC2D57A8A5BC311BAD8350EF71123340821748E848482320692209A42018E310141D2E23102A8C197CD8F8C06AB7DAAC6673B5697060CFC5931737B5B55DEE2720F07BDF9D0220E6D45E872371D77FEF79252B6BF2631E2EBEC702A0AABA86BDF722B5EB1B9B6072660688C5629C4F02D1FA848027AB9C36D868EA6706B38162E96BA80779FA0410E1FDD2E8E8404ED52000C9E22830E09944BF08747E2EF84300F17831EC5A9AD76FDBF8DE8BA413E15870530070DE97726A9FF0D9B6BFBD3875DAB4D55E66F0D800D4363480D962859EDE7E283F7B1E4C160B3CB5E211502A14A08F37801FA7A5E7BBD073AFF5B4C23086C00800F8B8DE5E1059AD20C6B945289AB8D0917CABD7834CA30159AC1EC4740EE750A0090604240EE149C12123403846345EAFDAB175F39F565248DC16009CF154E4A870C46DDCB8F9B9F9C5C5BF4043459100686CBE017DFDFDD0DDDF07741D790E6B02C89C30010CC9C920924405BC7FD66C844F067A80581A858F13A3507A2A2B419A90086204C5373C8CAC9180442A05EF403F28F0BC2C3616A2A2A240AA5481222696CD4F00954855A04500492706F1DACEB6E61DDB367FF8030E00DF2D0110227AFA575E7B6DD9CAA77FF03EAA7114193A16004D2D3730DDF5C2D0D0308B7D8D460D5AB59A1DD52A245194749498B9D0D006BB0DEA71343A6CD08D5983BC4E8078DADA001C76347E10E468B81FBF53C4C480A5B61692E617834CA94036006811A4C5724D60CEA6FAEB601A1ADCFAD9E68F9EC3F553FAF185B2E0EB0010F3A2F7BD152B0A5FFFDD7F6D43D4637943C30170A3BD1D6EB4B683DDE160540F365E0D31313A18329AC064B2E003C42095CB98B6B2BC2F10363BCED78C40B4D8EDD0EA72C080C73D522FE379576717BEC7EB31ABC465E770DE17C164990272A58AC01C57AF5C84E181A163FB776F7BCA66B30D7399210884310110C4BD36353535F9C0C1B2AD5A9D2E57E8E95000FA0786A0EAFA7526421AB50A879A0D2D335E052929E360D284F1C0E56618426AF7F60F4037B26560C8081634284A2A0785424917040162C3F95B911DED2E27742120267C269F25C8783A16AB75A0C7D0A2FB2C2613B434D541CB0D74487B875FAD565D3A7B647F89B007A157580004C50EC57D42F999336FA68F9FB03C94EA420028C79FABB80C72A90CD4CC781C2856742400544A25644FCE0A7A8ECD6687F2F317A1B4B8889EC916DE3F30006DED9DD0D3D7CF98627338F15E3528F17E2120167C7E177ED7E3B2431F86047DF79D98B840585DBD5A0536AB1153F035AC3C9DB070FEBDFEA161631F3273AFA9BBF557656565FD7ED6A4840780AFF46277EFDEFD937945F37F152ED67900B0348373172F3123E2F4B18CEEBCF7E9BDC56C85B4D46448488867399E5E344F7D633382921978EEC0E0105CABA985E2797303E7E8BA8EAE6E964E9B31B414287A71FAB891F6320048700549E78F1FFF02BAF1BED68E2EC8CFCD06B9420E2ECC2664834AAD746F5CBF4E4D4C18058020DF47FFFBCB2FCFFFD90B2F7C8694964502E072D535A4F0202AFC44D0E93401C3E988B107E72B2AD9F594FF93121321655C12A42427B1C5C6A298D1CB6CB68013818C8FD307D642CF3B71FA2C14CD998D622A63D7D73534C1E97317A0B5BD0BE2E2E200C393014F20F080D07D070F7C8EE1588BCC51C0DCD93399E6502F4225589C5EEF7AE3D7FF410F760601204879EA9C9C9CD4B24387F660A393E11943ED0980A61BADCC6B3948EFE4244390F11E54F6E3A74E83D3E182709D2185463A1A30213D0DEF41CFA2C2638519C488D89868061CBDAE220BC8935919139931E72F5E865367CE6298B820273B1B70ADECBA1ACC0E65878F80D1648445C50BC08921C29E898300EFEDEBADFC78FDBA7994194201E0A9AFBF74E9D21B1333263DEEE5161E0E000B1639474F9C8271E8D199850541D4A7790F1D3B0956AB657485C801209C0F7DC798918122490626C4C7414353734037A8991AC0B49A94981058AF0BCFD5D4352080A970EC5439D4D6376275A987EBD76BB0F03A87734D6073B9DC2E0698582CA2B4ECDBBE63EB3DB5972E55073180F33EE524DD962D5B1E59FEF0C31FE0C2449100387BBE028610E507972E619E22C315E821BAE62452B70FF3F657F78F0640829E4D445D686DEB402F3A58D3C43F87448F163F256B12D309BA970CD069B50100AC28A2B47E125AFE75E88B13F0EB37D6419444024B4B4B38CF8F34640A0C872B55D7766EFFCBC7CFE3A546C295012054FDA79F7E7ACAFBEF6F38208912EB47161C1E804E6C6DBFC4F276EEAC192CC648E5F9D7C5CA2BCCA880B17CC8F0E0718616A038D5225D5D1E3F4B813959996CBFA0B5BD837DEF0DDCE783646447EE942CC8CFC986CC491319FBA8E09A5E981F782EB1E4B9B53F675568F1BC39108F6CA0FBC9FBA40F46A3D1F6E66F5E998A97F6F0BB514200C8FBB15F7E59BE6EEAD4C227A81C1F0B00DAD53978E418D89D767861F58F58C1C3BFEA91B63575F561E83E7A2E1BD6FA26931955590D494958DE4A44D0824A4FA94F8F7A90890CA8403089FA5E017052AC2473A66442615E2E4C2BC8030317161F6EFE04B66CDF0DE3508BE6A370D28ECBC8468C1B33150AEAF163BF2CDBB7FBCFBCF703695010FB49BBF6EEDB6832DB8AB32611FD32698E510054D7D441E5B56A16AF4F3CB23C607C4F6F1F2EB82A4283347224BC674CCD872B57AA3084AC28522ED61FF7F5F5B122C8871F0A73A740435D1DD8DC3E309ACD01368C3028184C0A2312E1CF0F1DC1E252040F2C5904B1D13AF63D79DF8C4D584B4BEB8D0D6FFFFE3E5C26ED28D9F98A90EFF10900EDFAF736AC8937185E19361A2584BA073D5D90978D2293CE50268368B2FD6547D8C4F7CC9C0E8B4B1604D2D8B98A0A86F4D829930302BBB4E1C141ECDDEDA0C5985E7C5F319C3B7B16AC4E370C1BCD688418DC4E071642469061793BEAFEA0D0F206E9CCACE9D3606A7E1E4B8B748D05D7DB3F38E4DFB9FD6FCBAB2E9E2BC7A59A38EF33F1E30160F4DFB967DFD6BEFEC19209E3D3B19C454FD736A0B76BD942E8A1692929306BC654E8C40283C4E8F1EF3DC4D49AF237E57A3B96AA814509A82F3420363A064C36A4FEB031F0BDDD6E6500CAE44A9C5703B3A715601C37436DD30DB67F184948856CA0B0796049299B83BE7760D9DC8E85D0B5EAEA2FFEFAD107CFA28DB439E240DBBD81CC27E8F612B6EDD8BDA5ABAFBFC8818AECC038A40A2A2F7B0A9CB95001BBF6FD0F6B727EFCC3558C5ECBBFBB8C091FEDD35DAEBA8A0263FE8AA26300A0D3694121933250A558325365A8902BD8BE01E94A401B2C664C5D1E6C94E410498885A10548E6FB1797B050707339BFADA313DA3BBB5C1FBCF5FB392880AD4454AAAF829A210E009270C34B2FFDDB8AC219335FECEEEB4F2495B5630D4D60181212A0B4643E8BF1685D34DCB7E05EE07F01AB6D6864E7037D81601F300800EEBD099B143A2F97C9202DD900E567CE414C5C3C50019A973305D9D5C584309C768C195AC8D66CD4ABFB172D64F3D23558F7435D63139C3953FEF6BEED5BDFA2BA8AF37ED09E000F00B5BCF138A8554B2D282898F8E4AA675778FDA2FCCEEE1E29630482412DEE242C2E1E7A6029CC985608C3D8CDD16667A4268937201ECB566A4ABA7A7B038ACEC04006D1A2B13C05BFD7058D487B3156831E8F6FF45C63304B8D55E4F2EF2C63A24CD7514852F6686D6DEB7DE7F5DF2E449BBA715842BD2FD400D6F6D25E1F3762B9BD3FF593AB9E299A3869F292D6F6CE4423C6290F061D5F5AF33C2424EA412A910AE83F7AD151B49B23F6C3E090099C9892920D06A631EDDD3DE0B03B03FB87C66113566A521449FFE8B9C66016F973C1BCD9B0E4BE92401F408D13D621FEBDFB763D7BE1D4A94368C710557D617784042C2021547386D388E68E048C26393935E1BB8F3CFA302A7561CB8D361969C44F7EF40C5B101910874D4C8C4EC74ADAD15EF332F6D0206F2B51079A5B5A40AE52B36DAD19530B99B0126547D13D148090E26A7C5A6A408C29F6DB3B3BB133BD0CB5353507FFF2D1076BB9A2C71A715354B0F515C501A1E0C0D00800D1719F550B172D9D65481BBFACB4A4D840D517D5E42462F49EBAB694A42450AA9463EF16E379D2177AA892B5A9766C50064182C248CC8818EF026069BBEDC1A58BA0B8E85E2EE559613FD602A849A6375EFBCF529CBE837E7B186B3F30684748B0EFCFEF2F467140F03F7A6A4398A179EB8FEB7FAC54EB722C569BC4CD40E0C17083CFEB0783219E1529120C8148CD1081E7F579477DEFC31238C990C076954D16731000B4EB34AD2017FEF9A9C7412A93B2739F1FFE8294DFFFF9DE3D3F2D3F79AC4C50F4786FFA8711C11F1C8440F0ACE081208DA0C69D7A6AF5EA9FBEB02873F2940508440C0F0019C5BFA74D90F1D8F252AF2FE2CA5361AD3F3A758E1CB3B3B2E0F8E10330736E115CABAD0B0280805DF9F8A3AC37A082AD02ABCA5398511AEAEB8F6CDAF0EEBF70C21754F4DCF20F2321AC1002A10B01814051E6174E4B5BF6E043CB45E2A84CACF2C4C1AC180911EAF23226A6632D31D2E7075574210010035C58CC504D20D416EAF44AE6CF83679E5CC184AFABBB17FEBA7D070C0D19CD7FF8CDCBF7E3FD6DB89E414EF8BC77FCE36898F0500804339A1B5A6EA850D8D40F3DFAFD5243724A91D96AD78632821FD4A1A5A52463F3928425B186EDF4BA3DDE88DA41A1427DFEF328C089287C747ED3A7DB304C7A61FFBEBFAF3D7DFCC8015C436F24E1BBD31F474582D090731BA71A6E0881208094933227A7CF9EB7602944C9261B4D26D957ACF08090215451CA309649D569CF4FA594334FFBD90F2ADE40ED108D55E83F611D52BAA088ADE9F0F1936C3FB2B9B9F9F8C7EFBEFDAF9CF01923FD1E78DB004400820F0D5548E6D0F29983C09A317B4E5E66767EA9D96E4F1B181C16F3C67BD85EDDD82F090211832143BB4133A61782DD66639D6A5646061C3D798A76A42D6FFDF6D507B136690957EFDF750022848654C00AB52073F060A838A064D366CD2988358C9B6B77B8528D26B3C27713EB484D1E074573EF810B972AB1793263964964FB0107F6FFFDE7A78E1EDECFE57C73B88AEF1B01200C10A1AC5072466B436B091E08024DA9D66A720BA6CF51C744E7B83C3E030222A7900807C08CC23C6B4B5B8718854F4921939531FEE49FDE79F325FCBA9DCBF9CE9BA1FE5D05204C0A15660E694878F043CD01A41482410046C964F294F11953A263E3D2650AA5412C96E851CD34D13A9DA4A3B1E6BDDAEAAB1D5AAD563277E1E2C5A78F96BD6EB55A9B38EADB6E46F8BE3100BE263C84ACE001517240A804E7E51C1052EE3E0937250905FFCF0FF2B0934B75ED1CF5BF36E77FAB00846185380C18BC782A42D820173042CA01E9E13CCC2A3B18F9FB8B89F3BCF16672FE3F0480085A211684891010DE705908133C9CF13C00341C1C28CE5BA5FE3F048008600843452CA03ECF163AE787AFFEF8E4E53EF340786FF74F93A2FF0BFF590E11CF502115090018F5E74888F00FB0FF37004400040480007C03FF19FE5F1B5B8990A25973870000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (80,1,'Phone_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000460806000000336D91130000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001F014944415478DAED5D077C14E7957FDB8BB4EAA8179050174560C0F4EEB8C43671C1E4E272BE24CE9D2F767C8993CB5D923B27E78A8D7B6C489CB8C5D801833107C671A7888E4495909028EA655557BB5A6DBDF7BE9DD9FD767656AC3060FBEEC6BFCF33DA9D9DF2FEDFFBBFFF7BDF3783C2EBF5C257B52870917E24B35BD0057ABFCA0BBE1436B8DCF7C3199D5F2BC2189F07C0CBB5B040D0F1BF49205D3600248657726B25F7B7228CF13D921604C6081EF4B5F79ECB0280607CDEE02A6C6AC99A0782372019DC2D3417D7DCC277522F52C8780DC8ACBF16805C5200B85E2F1A9D9A069B56D2D442930220F67832B84368C3427308207825C02A251E22E73572C07C25A05C320024BD5E34BC0E9B019B5E5C2F5FB1A270CEBCF98BD3D23266ABD4AA388FC7A3F4BA3D0AB7D7ABC46B53D2DF0E87A3AF7FA0FF786F774F654DF589EDEBDE7EEB04FE764800C1CB1D5F236C2B249EE3E63C8607C4F3557BC9250140627C35677823B6E8254BAF1A7BDB8AEF2E4FCBC89CAFD7EB32DD1E0F78DC1E606B8F9BDBC6B5DBED5B6373389CD065EEF67A3CAED3B5D5353F7BFD4F6B760B4624C31B6EFCBBBB97E6E615DC3F6CB7D5F57475567CBE6DEBE71D1DCD83F89D93A32D9704107718404280B914605C740038E3AB38E34791E1B1C5FCC743BFBD66E1A2C53F572A55D1A2C12301C0E174427B6717FB5B5CFACCE69F3FF9D87FADA77314954DCEB9EEB63B3711C8EC96BC82FDBC5EBBCBE5681F1E1AAAE9EBE9AE38B867E7670D278F77C9C493F3798A34A65C14402E2A00929EAF11A8868C1F93969E9EFCF4B3CF3F989393739DD4E0E703C089C66FEDE80497CB2515399DBFFAD9034B40A3313EF06FBF5B6330464FA2FBF135F0AD21F86F60DB1E87CBE9E81CB6DBEB06FA7BF7D49E38F1E9E1BD5F34729E22074C3805F6A5BCE36203A094189F7A7DEC8DCB96953CF0D307571A8CC61C8F3BD4E0230180FC0F2D6D1DE0743965CE07C3FFFED39F2CBEEBDE7FB93327B7E09E80C105E30B86073F08526002FBE1B95C6EA7C36C1FB2D5F6F5983FDEF9B7F7DFEBECE810E9CB29A12FB93822E2E0FD4A00107ABF483BA2F1E3E62F5890F7F0A38FAFD6EBF5A93E43470E0019BDA9B90DE9C711EEB4431F6ED9F6AF4B97DDF40C9A40E53730FEB7C565C380A3806CBCA40CEC131ADC0E8010D80FBC12C044603C1E2FC6921E9BCD5AD9D9DABC7EDB86B51F731EE294F10E374F579102715100108CAFE48C4FB41357366142D64BABD7AC8E8A8A1E2B06D24801B0A3D19B9A5B9907845B9C76C719853ECAA0D5E953859B66ADCA6587771D8302172A408D1BA90844B6520559788919B8ADF31B1C4240095055C05B5C2EB7C76EB5345B2CFDBBCE36D4BDB9E7D30FAB39EF70CAE4271179C397068033BE8A0BB8B1191919696FBDF3CE8B7171F1A56EB707460380D3E982AA63C7C1A0D78F786EA55A67D3EA8D46DE7043788CA706CD60F57A7C49055E1E81809A16946CDB77B149F8FF4C0582A150412A32A7D1AB108C2E0525181831C063FC18B65A07EA07FA7AFF76ACEAD06B75470FB673390A01E1B9E40048148F4E9099B1B88CD9F8DEFB4F8F49499EE10BA49103E042DA39567D12944AA5FF3CF6213BE8F45AF085189FC05128D5608A4B0836147EB7C9DA07BBEC56346FB0C115BD7DA08A8D05854A25014341E40471B895CEC050430A6E470BE7118F0D72DE227807DD9B0DD1B00E5A2A2D7D3DBFDFF4D69F360B209CD70B2E180089F1B582CE8F55ABD5095BB66E7B242B3B7BA9DB2368F8080170A2CAA9A9AD039720350707AD70A2A616EA1A4EC38A5B968146AD6637AD4420E2925205091230469B73189EEC6D17526F85FFE2C8D8DECE4E70ECDA09FAE93340A5D1B063A85392110C218D160051D0F1F197D1D85290B2700F4846504C1E010049F006897774B49EAD7EFDF7CF5C2124899E4B02808CDCA49E6FC296F0FE96ADBF2CC82FB8D567F0C8017023ED9C44430F0D0DB19B39D57006F61FAA62BFA365C5CD37A2DAD422082A48484AC133AB420CF08CB9154E3BEC3E637A03465592675556823A0D2381C1088EA34741979D0D5EDB1078FAFA401D1B03C6FC42E6356AFC9EEE4EA42D82918E4131630C7ADD18F49244042FC69F6670B485E769395357FBFA9A1708003BC5834B0980687C83A078E2FFBA7EFD3F4F2E9F728FC76FF0C80070BADC70AABE012C562B533C0DF5E7A0C3DCC562C1B0631841B1C3354B17414AF21830C5C4815AAB0B512EFBAC1678D5DC863D5E30BA6044181800E7EE0A302E5A0C8AE161B07EF411A88C4688BE7226583EFE08A2279783C76201EF900DD451781B783D868C4C30A46770310418A0816AA2024A951A18A75407D1D1405F0F7477B69E7C63CD8B3384520901E0B9A80048148F4EE8F9717F7EEDF5DBE7CD9BF74BD1B89102E046CEAFC59EDF3F60013B1AA8DBDC0B5A9D06F43A1DA074C540ACF36F1BD1702AAD212428D27A4B9F190E0EF64327266D3EE30B3444E73B7D1A3C5D5DA04948004371090CEDD90D2A530CE8525361F8D42930E6E5C1007EA64D4884A8BCF13074A601F44963C0909A06CEEE6E88C9CDC398245094E0198BB4D1605470811B5BF3B90618B20E56BFBEE6C5590200AE8B0A00473D6A81F759A2F5ABDFFC66FEDD777FFFF77835EAD100405C5F5B5F0FBD7DFDACD430D06F019D4E2B189C0CAFF7AD0510945A033B3DEFF62009C2FD08681DF6E67AFB1034D86DD0837FFB249AC20F8C17638BB3B519DCDD3DA0C478E0EEED85A4C54BA077E70E30A4A4823E391919DC013DFBF743CADCB960484CF27980C267FC5814080B75A6A0BC81EEAFF1740D0CD9ECC75F5BFDC23C0100E7F9E240C40048785F2B2A9EEB6FB8A170D5D3CFBCA9566B12F8801A0900274FD583B9A787951B6CC8C73EE3EBFD06A75E2F6EBB31083AB069546A50A9D4A189938C84A42FFA30B0D70F59E1F4F0109C455006F19A14427C50090AC8D9D606F6A626306664C050532398C68D037B730B78910E5366CDE164ACCFAB8A347A28D4E88224EA407F2F98DB5BC06AB51D430096E065D82425735945345A00C44C97BA624C7A7A7ACA871F7DFC1ACACE629F912307E05C63339C6B6E663740C996BFD713ED70DBF4B956A3868965A560C300DD8D8075F7F4C100F2B665103B19F6462D02A7D56A19FBCB972302C074A351CFD9EDD86CD084019BF20632AA4A01FEC46DA8E91C98B272A00B69296DD66C9FF1092C211E2C309AD00BD45CC2E685FABA1AA45307F4F6F7F755551E7EBCBBABE5BDCEA6A6360E048F5CDD282200C2F07E7C45C5EEC7B2C78EFD76C0C89101D085AE7FE264AD50B5F74AA886F7001DA8D1F82505059098102F7B6D143BBA90A7BBBABAE9E611984118B4D9416F3080C110A02C08E32D66CAB8D1339A31D8B721300EAA694070C00DE4140AC6FBDF322570F525DFF18E1D39C8F6E9EEE9C57B3BC5EE55A5540E66A7272DDDBA61FD512E4B0EF286F30220C3FB94E9C6BFBB71E3DDB366CEFA45A06A191900A4ED0F1D3ECA8E8817C8B25DB1A7F32050F025DD9F969A0219E969B2D746D5D153A7CFB2DF8ECBC90AFABCB9B50DCE9C6B82B68E2EE8EF1F404050F9984CA052AB421229514ED2359AA9F28AF9443B02D289CD2DF47E0602AEC7EB8D30011BEF554318736AAB8FB173379C6D8496B67676CF932694D0F77FD9BAEEAD072D168B8D2B59F84B152302108EF79F7862E5C23BEEBAEB653C847A340050A03D507998494BEA9D46BDC1DFDB0DFA60EED76A350C88F1B963C35EDFB9A666A83C720C4A8B0BA1202F37E8BB615454981462BC50B1731320F50856734B1BF4A0A7E8F0D889498908B2364451F13466C66BEDC0D68534D98D017DB6291612D59A20004F379C821E94CD569B0DAA8ED5303B444545C1C239B3D8359215318B1F4459BD6FD032F0EBADEFAE3D28E6089100C0EBFD98152BBE5BF8D4AA556FAB351874C5801A210055C78F33AA888F8D851853B4A4E707B675A8F3BBBACD30794259D87A502306C976CC6EA7954F06E9F422F2B09ABA53503EB10C4A8B0A43E7B9E03DB7B4B6C391E32730E13BCB7821152529190D46184BF070CA0BB892C49EBDBB4806C1B1EA3AE8A79C023FBCEEAA456046AA1D763899C8F0350FC4C49AAC7F7A7E55A2E80961019014D9587939362E2EA9B2B26A6D4C4C4C6990A2890080FA3367B1079E8168BCC974A49520E34B3CA0A9A585510B1D2716B354A2A14CCC62535392598FA6C46CF7FE03ECE6972C981B74DD74A34441140BC6242586DC576B5B070C21D7E78DCBF17FD665EE86035547A0FA641D0CA1C13233D221213EC1173FC25447BD1C6DEDD8FE391307F5671AD9FD1715E441162673FDE8696403BA7FBA2EBD5E0B31D1A6FEA71FFD6DBA189C650190A9F3B0F2F2AE8A8A5F161797DC1D2229CF03404767171C42AA20CECFC7A4273ADA28289D500FA01BA11E1C94AC09256A0A7229A9C9909D9E0E59591990181F1C988F55D7405DFD699850520C05E37343EE8B0CBD6BEF7E88435017CE9D1DF41D292C23D2621F1A6DFFA1C35079EC38106DE7E68D83644CCA204CD9BAABD30C55870FC2D1132791F61CEC3EAE5A3C1FBAB1F7BB5C6EFFB51300D999E93068B50DAC7AE4A10CB16A3A12004AAEC816F3DCF3CF2FBAF3CE3BFFE8F1B0990A110360C19E58B1EF002BB4E58ECD810C74F510C5236C1387EEA8D8CB2AA221F52219291B6534405666268CCDC2969DC57A3619391F8DC65753D9FC16EA085D663466127A51E03B3278C5DE036CFDBDE53707FD660015D627DB77C1FECA2A484E4E81BCDCDC90E3EED9BB178E21B5D2B1D136E89173C08BE6732018BEEBF75D7B747414C4C7C5C2899A9A57D7BEB2FA2742AD28140089EA21EA312D58B020FBAFEBD66DD4E974A9B249D50800ECDCB30F6F6E80F556E264BD24D88A9A9F02F4275FEC64F4E23F0E7FDC11CF8B0D33FE943149A8867218BD64218D88C6A29AD2F65DBBE12C06C4E5DFB91EE38F29E89E291337614C52AB54219DD182AA4D8DCAE9645D3D7CFCF90EF4143B141717B3B2082D5BB66E65B184AE616C7636949614FAEE41E47DA198382631117AFAFA2C4F3FF25031A9E7B01E208CEB06514F5D5DDD8BA969694BC366B561003873AE118E9CA8665A7EE1AC998CCFA5E5054AA0C83B3EDFB11B357D7FF0714601805B32964CC61C9793CD5454C1F83CD93CA2B9B515A9A306621190D9574E0FF9BEEAE8713872EC04944F9A0093CA4AD8673DBD7DF0E1A75FB0209F9191059B366F661D8C54DBB7162F44B01D7ECE170120CAD5A072DAFEC5170F7CBC65D33B84AB6C0C90A81E8238E6836DDBEE983F6FFEEF462C2BC8004085B54FB6EF6459EEB4F249CC087C7941A7D5FA7975CF8143D0D6DE116A5099E34ACF4B419DCA18364CA6827E2F4C67113F8B8B8B6152B5287FBCEF5AF01A88F22857208F91535BF4BD4AA962FB4A173AFE9DFF783F9C6D6C62D73277E60C48888B138C1E08BC4A952FD739D7D874EA0FCF3D7535B19E50A67086A820A1F7FBB3DD071F7C70C27F3EF4D046A542691C2D00D47BCE34368209B9EFD6653704291E7E398A81F3F499734113B044EE1CA987D3FE54A26E696E66BDB21DE56DDFC0405800C4E3D131E88EC766672018F92C87A0F8C14B592A7310757677F7C21D2B6E81D059F400EFBEBF059E5BFD0A3B26C5B5A9E51319E5B939DEF762536BD534A1CCFBF6DA37AF3E751C8DE2EBFDE258410000AED643BD3F2A313131E9E4C993EB317B2C93374878007A301DFF1C39978E3D6BFA1570E51553657B11D58388A2A433E0460240DC87F68F8F8986CACA4AC8CB2F82DEFE3E2651E95CB1A628387CF42882D2CB7AB13C8881CEA237E8A1183DA3ACA4882928A22B02218ACADF3271A1A9A5157EF0E39F31AFA3646FC9FCB92CC87AB86B17CFA9502A30489FD8F2CEAB7F7840E8FD56BE4ACA03C06BFE9837DEF8CBAD372EBBE119E2E8D102F0E98E5DD08BBD9282D78F7FF80F4CDE4917AA82EE3F58C54AD2720088061B09005F768D9CEBF282D2377A02532794422306DB4E54250E810A4952148E1F8FD9B70E55481DF3981040B87B494D498189A545D84AA0ACB8885569793575DF2F7ECD864ADD18F8674C998C4A2C033454D676BBFDB6A25C84EE0DD5D5D0F34F3C722566E6341B6F90EFFDFE5A900CF7C7AF5CF9D44DE939E3566666A4B16C922E2212001ACE9E85835547D9C516158C879BBE7DAD2CB732698A498FD4A0E100E0411A8F329392320AF2F50D6798DE16C177A0C107908AB47A03A8144AA6D7A74D2D8792827C58B37A3514954E80E3B5A7FC5C2D3B0F953B3F4956028F145CF9C409982354C21FDF58CB7E37664C22CCC06327C4C785045EBA47CA9C776CDFF1D0479B37BC21281F9B748C800740543EA4D192EEFBC94FAE9D326DE64A2B26281448F331B1998A6A80CA04E100B0A30EFFE093CF581D8696F9B367C2EC19D382E7F2A0DCDC7BA012066D56CE6543395BB69887FB500D293B3D05F6EEDB0F3462AB3518D9F7515146966163B0C3586009524E4425345C48DEA2D2E85979205C5C89340E5152B960EE2C764E0AD47CE0A5A48E7292E696D6C6979F7EE21A124F42EF1F960E538A00F093AA62FFFCDA9B0F2B34DA3BF0800A2B1A8AA90C4494E422B9655E6E0E64A6A5B1E0C403700013162A3988CB4DD75FCB5407EFBE878E1E83DE9EBE910D300200B426773F7CB80A92925351051950D7C7C075572D81D56B5643EEF87C68EDEC669DE04202BBDCFED28C9C06DF274C288142CCEA29B9E2032FCDE0EEEEEDA14EEB5DFFCEDA9B4F1CC62085715DE8FD21F385E46637C46FFCEFADFB2C83B6C4F4B41466789A1ED8D2D6C690F581815E81D92AD567C661765B88B22E3E3E962552E2B1B568A41FDE753BC4C604921ED2CEAD42A9F6820008E2ECC0F718E940E176427B7B3B44C7C52325F9C63E8802CBD1500731D674F50DB01AD34800F803A8B49C2201201E2967FA9472265F837315377498CDC804C3505353FBE95F5E79E9C742EFB70ABDDF231D2396D67CC85A891BDEDFB2B3B5A3338171341A746269319393873129A1F22F15BA6C433606849500C1EDE5283529E2D3422582DBBE7323E369BF72686E45EF3873413D901C9412A176EC04FD8383D069EE91058C021F71BEF8F795D3A6C2BEDD1534320EC6E85816F843A469504C1B1900718ACC9C99D359B923CA18E5E77DFA8E2AA154F7420535FCECE30FCF1BB6DBDB05EEB70BDC1F322C292D3BC410FFAFDBB8F9B3B64E0400F99A5C8AADB191669E8A81E8643DA5E53BE1386A781F00437027EA658AFAC9498970F30DD7A16BC6F94FD2DDDB0B27AA6B235052F20064A0A7C5C5C6424545050CA3910D51D148035E567A207EA741109A4F24AD1BD18D99BB3A416F8CF6CF92E6AF414A3191D014516A49513EF37C0F17781D785D0DD8C1A8ECB1BB62F7531FBCB7EE8F54E5107ABF23DC1C21BEE4CC66B6614B7EE7DD8DAF622F9B40128E0C4F9EC0D60210631213E0BAAB978209B3D08F9176366DDD068BE7CD616A631E6684BC76263570E47835B8F0C2469BCCF927EBA2B13B3B3A4089E93CF572AADB1420FFEAD40AD8B2650BE41797424FBF450030D4ABA4141309ADC9D120D590A64C2E4331321903AF221078714D1E4E1E86197DDB8B4F3E4AD2CF2C70BF7DA4698A720050ED3565E1C225136E59B1E276A7D75BDCDDDDA30E7882CB0F0419A3303F0FAE5EB4107B690AA4A222E017DAE7281A9F800CBAB93065857000C80146895D7D6D0D60B20F51D1265663A2CF697C40AF5143E5E123D066EE058BC572618158020029AE195327615E500CA9C96382022F256DD534A512E5F0A6F5EBEEAA3AB8773797748D384591A7209D4041096CF230C602E16FE3BDF7DD3F3FB7A068614787398964A90800BF26D79B58560C375CF32D0C7C65AC38558D7A9B0C70BED9D0019513FC3D494B52195427A2AAA41430DFDC22178B53B44DCB8CA99361FBF61D8C8F4DF189E8BD8E8BA2847273B2A1B8B000A6A3978B5EC5067F9C6EA83A768CD1F0A953F57B5E5BFDC28F88758592C3F0F92667F14158233E4E444A88AAA0C27694101F747979F989CB6FBF6319E69DA52DED1DDA600002F1823CE3961BAF8729E51341471962A43D9CFB3E263A1A012D8103070F82466F4485D3E1078032EC21FB7070D0E402675767071890F7693FFFB923F0AA70001851544C2A2B8505736662566F0C4AE248D9D120BCD56A73BEF0D4E34B2C03FDCDD282DB8813B364BCC028CC783309EB28E133F1F152DA47BBECE65BA7E417952C6D6EEF4A1DB00C2802B1C2475173512994621A4F757A1A0BA020EACB05C203C073B642089AF50D0D983C6951FAC5B3803B7FD6743888D968A7B91BEC0EB7CF0346EAE16EF7280108EE24A4AA686C9A545871617E50B9A1BDA3938DF4917D77EDDCF9D887EF6F784B909D16B9A42BECCC38C9BC1F2DF71CAFF868A991DBE681D0C525269A6EBA75C57598B4979F6D6A36D0481081317FF695CC65999BD20DA257E8F47A484F496163A3EE111ECA0BA2184E5A9AD02B4ED7D73190A9D440C7A3BE35262981D56CDA3BBA90F66A830B70E10088300E6566A663C01F07D72E5DEC2F43D33E44399FEDA860D975535353CDEA679FBA8B463DB99243440F69F000F0AF12D0704FB4EB640011D77AA1B127DE67CC995B54503CE1EA732DEDD9532795298A0AF2FD0090217D03E66ED66328C94BC0A489CE3A320504F7583AD620E6024A545A34E8429F2F9E3F07766CFF025A5ADB20393D83C65D61B44FE5486990B669CCA204A5F7354B1631792DF23EEDB37DF71EA6F9876C76E74BCFAEBABEA7BBB3515272F09CAFF7074DCC92BC5640C979849A7BCA5DC701C1832136464F3A9DDEB8F2B9E71FD06A74C92E4127FB0160DE20AC913EA251D36765A681017BF4689590B83FCD5DA0606FC7804BCF1050016DB443A7C100785827292E2E8089E85954D3E2032F55422B8FFA2662EDDAB1E3C96DEF6F785B08BC03DCA4DC0B7B468CF3063E404BDFF3C0BF72C0284753854545C9FF74DFFDCB0D51A602EBA04D251ADC2578819B03863EA3C48AA69F90C4A3B9A0AE0BE46C794F0A6C9396D7E0F1297086AFBA7AF03A92602C2A9FDB6FBB990D278A81D78C59F8E60F3F62FBB5B4B656BFB4EA891F089ABFEF7C49D7A86647CBBC5E46EA155A895718B927E2A38466D06834FA7BEF7F60515E41C16CAB75C8E4CB1FC27B0505550ABED99959908660D080877B1400842F6FBB61EEAC2BE174DD4930777743766E3E2BABC88E27A3C1696E0F510FD593C42A27F13D8D84D120BEDD3EEC7CF985A7BF636E6F3F2709BC2E18C5F3C291CE0D9516EE9492176468391A121594490441F014CD9C79F3C75E73FD8DDFC6CE9E63B50D295C2E9FC103DE1008D82275D1B35CE3C78D85E494249661338373C6950EE2872F6FBB617CEE38D8BB6B07A46564811B8FDB3F60090195EC41FB15E6E7C28A9B9605BE73D340D34EF60021EDB37BD7AE273FD8F4EE3A817AFA23959D5F767ABA54BAF2EFFED19E47C68ACA496332C518FEFE9E7BAE4E4C4AB9A2B77F402FD2905B060017172FA80C9D9B93C36A403440E49604CD48F20B9A8D3D4C4FDD7BBDB25E958072373323157E70C7F7D8408BA87CEAEA1BE0BDAD1FB2BFDBDBDAAB5F78EAB11F09AAA74F08BCFE67012E090011D093F4953446090021B90401B7F4EA6B4B274F9B7E95D5664F45B75604807085046C3F7551EFC6ED64048266C851E18FE246A419763829AA54A9213F6F6CC840D2A0D50AAFBCB19649CF610752CFD34FDEDCD5D5D5C865BCF6D104DE8BFD9CB01408B524501B2481DA28554DF41B534C5CD4F537DDBC343A26BEDC62B51969761CEF057CC0764B6286DBE53326554DC76567B17A3D3D4DE91A518A06733F8980ECEC0CC84C4F83EFDFFEDDA082E2DB1B36B1E14FB2D5DE8ADDABB6BCB76E3D177845EA715FC80B3B2EE6AB0A40F28EA070F2D5388247D0FEEA9CDCBCD499F3162C526B0D85FD48514E7F0EE10A054500802929FE5EF09292131390AEC64094298ACDC0A3804E57EA767B4300A08123F2A83B6EBB85CDAA13977D87AAE0D3ED3BD976477B47F5F34F3E7AAF403D41C38C17D2FB2FE5EB6AA4F1412D49EA8C3259B61408F6F6ABC2D2B2EC4953A62D72799579DD3DBD1A3168F3744431439C0218C94235A258530C9862A221CA606453E5F372C7B2D91B34ADE58A2993D8885E475717BCB6769D4F01A17C7BF99995CB3B3B59C2C5979A471D782FE71BB31461E4ABB4DC21CDAC83E284D054E553A78FCF195F30CF36ECCC36F7F4EAF824EFCB2C6598ED4E993C111A9B5A313F6865136B63D023A6964FF28F82EDDB5DB16AF386751BB9C03B6ACD7FD900184135A938AF0857EA906E07D193D094C9E999A9E3F28BE7825A9367B15A639086145F16809ADA536C7635CD68A009B6932696604CC986CECEAE9AE79E7898C6773BBF8CE6BFAC0044A89AA46F51E4C1900342270182BD0A021775565E41617A66CE64855A9D63A184CFE1508C06009A805B535BE7EEE834ABC4B9A6947F94951439573FFBCCF7DADB5BCE70D463FBB2D4735901384F52A70A132BE43C432E4E68B8DF0BEFDD50A88B269617C7252496B84195611F1E8E1B7638352301909E9ADCF4C2938FADC92D2CCE2C9E587EFDC0E0609A4EAB571AD58A67376FF8EB06817A82C678BF6CEFBFEC004498D4A9B85EAE9380A19378C379C110DF56834EA2898E8B4D4C4ECDC88E8E89CBD0E87463F0D3580CDE51E9283D0FECF86465476B6B3F04DE7E35342EBF28F6CCA9935512EAB960CDFFB5016014A50EDE2B349CC1A500C881A1961412F9D7258B6FD7158DED84E0578EB984AA669F906C49CB0DEE8BF50A4BC5D7E575CA237885140C1E10AD247EE8B8BFC301213E870D82B1C537F23A21F84DBD76C1E87D9CEA19BE58D4F3B5036094604801917B1DB24612B0D512304030A6433036FF4A018FF0995548B6066194AF22FB460320034438304602443D42136948A41F11001704DE092A7E6EE78CEFBED86FCF557C535EB53F0218E100E1B99F07898F07FC8BC1F938E085D0B7B57B2E26F57CE300380F18D2201EEEDF28E01B48826ED01B4DB8ED115F37F37F1280510222F70F47C8BD225FEE1F8538EFBFD8F1FF008C0C861C2800A1FF4884ECBF2570290DFFBF1680510273D90C1D6EF91F9C9ED1534DA88CCC0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (81,1,'Printer_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000770806000000CBA9486A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000014DE4944415478DAED5D5B8F1C45968EBC547557F5B5FAEAF6A5DDED6E431BECB13D3D03B3566364C9831619AD760701A3F90DFBB06F8B9058CC138FF3B2120FFBB2122B0DA6775720A1456064EC65D8B519F3C018ECC15C4CDB60D376DFDDD575CBCB9C9315518E8ACECCCAACCAAC4B771E2954DD5599195171BEF8CE391127A224D33449D8F2D24B2FCD9E3C79728644E259666767FFEDF5D75FFF97B0EB51EBF165262727A59999991D915ABDCB850B17EA528F1C75F5F69608001100228900104904804822004412012092080091440088240240241100228900104904804822004412012092080091440088240240245B4C94D3A74F87F6F0FFFDE31F3BE76EDEFC9D699ABF4EA5523B4DC320F1783CEA750729140AE4FEFDFB64697919FFD6179797FBF68E8E5E0CB34E29CCA45000C018BCDC60FF0F0F0E92D1D15122CB11F130E1FB7F6565C52A7717164A6F1D9F99498559BF5A57846B1AC9E572A4BDBDBDE19DDD8C827D93CBE7CB9A1C769DF50500505C369B8DCC80836432190B04F5945001A0EBFA2600E097ECEAEA6A599A0E53D2E934C9030370F5995B0B00F0E5D0C91918188886BB13006090C88AB23519204FBDDC66B7C58D620DEC1B224924DED6B6451900BE5C164C401800D80AA04200B4271225069024A9B501A081D75F8A3741F9A8A45588710DC388F8DEC64146FF488DC5882A0C9C2DC30028ABABAB1630943ADAB956600DB4FF1821259249BEDFCC2D0700F472D7D6D6484F4F4F34EC39D9D8D8B042401C1CFA566600A47FB475DDDDDDDBCAC1AB24EBEBEB16030800D87A0C80B20C7EC0CE9D3BB78D73E74590151100D8673AF39D5ADD09D4392710C31B264B4B4BA1388222589CFE97685B9CC055A96DEC7389FB4E7C1D6EA0B5FB0CDFC33500348F1A00000B7DB27CE6CC99A1175E78E16E583AAA7A31E8DD77DF45F0FC0ECADF40790CCA3E7C5E2902D075159EDCB1E9CB42E799B4F33629025E0D4149FC3526AFC4F21EDCC495D67DDCFBE2F7949CF8D5E6599E3EA7CF3703BC877DD6D3D5B5661312A6A1FC09CAFF41F98F679E79E676DD0000CA1F8197B7A0381EFB8268D6ED9EEDD219D576BC19F03DA41A7004DC3EBE0D3DE02FC5213C74915B509E0210FC25740080F2C7E0E5FFA1B81EF9B20E5EED262AADF085831E41B58CBA7A2BD9150010317524129554836BC83F0710DC0ADB07F8D74ACA67131B650068A251675B5748CA77ABCB6B3B700D855406002EB0FC33947F0C8D0160F4FF065EFECBCBB5F7161688CE00E0F30B3744C9358030B0BA1CDEEFEAEC24C343435EBA3D8BBE18B0C09DB018E09FBC5E883E80C13977412BDF37A06A0461D84A76FB2CEB3D4700336D7E0BE5F7810300467F1FBC1CF30300B3C651578FCEAD55F94183D0EE339F49224F87020090BF85E279021F977E5B69D435B4AE0A4EB0E48FA58FC3604D8219D8081A00BFF2D38A0207005F2321C451E7ABE36B0446907599FE26CD3099E097502E040D80FD5E2FC4858D0297DC68D669D4F9FA2C00107A7E668D20E497D53DCAE1300030E9F5C24C365B648010465DD09DDBD011EE118428B846E06309FD70A03E009DF61DF3FA505CDB660068D551177A5D766B022EF721ABFA48A60D160020E37ED8228D2600001094171CD6A80B9D69DC94ECF179ECB3FBEBEB7E00F0280C5A051C413D280078A67FCB0780C66E0280CF2F1C9442DC3A3D741AF7D80E2F75AD63C2E8C8889FF98087A15C0D0A00FBFD00209DC99403A045475D28755509C2F574BA1A47B03100C88209C8332730E45157EDE8AFB6AE9A95ECA3EDFCE756CAB87F00FCA13126808F020218753577AE0F100602A8A0DB01EF57C900A4210C9061B9FF3E465DA84A0EE8B3A0EFF1731FE60C360400E04D6226C25E3F3380B80E50F5176EA25117A8926B042186813E6504D76F201258AA950186FD8480CBC5C30D1A3AEADC3ABD216C12000833FE4D00CA2E283503C0D74E4E4CF82C94EF710F65D47952721D1459B12E9F2074BA0F6702F17C8598EA6B051F07EF95BA02A0C4008DA64F9FA32E3425FB6CBBDB7D1809F4A5527E01509B0F6018C6203BD2C54BF6901D006A527203475D18EDABA51D0B0B0B24D5DB5B51072C931A74B7A32600C083A477DE7967C04FDAD8EADA9AA785A086757CBDEA72DB1B50655D8B8B8B64FF64E5889CAB7B087568BA344675533E29E622FCBDAF3900F456597D98FB5F41F932BDCE0585EE5F965DE6A1132B3EBF8A14F94A00B71B997EC0C2CBFC4F3FF96A1BD4F777F0F2A21B085417E55B7F2693C93DAA0FC70373D83B92491249F09248247C1DAF038EE3101D1BA61308DC342B510074B63D38B1A2A2ECDEB3C7AFA71A8957851A862F00689A96A4246B10871578D585FAA5A9A929B9B3B3B3CB0F001EDABFBF29F6FE6F45C12800F4E1070031A64B66824416701BAAF2A953A712F178BCD3EBC18E68FF139537304452A558C7C7F8386433168B291F7DF4D1CF4E9C38F1672716505DE85F06DBDF8E5B9625C95B5EEAF7DF7F4FAE5CB912692A24C19D56478F1CF1754F56D3C6E0E50BAA7C496401D581FE11660A507FFB2AD08EA1EB56E5FC2E5E3B8372FBF66D72F1D2A5075E3956469CD39AD9B941BC878CFF4BBC778EFFD3E788DE3EDB014C84EB4990F793F29DC44EF738D551B14EEEFB9BDCB3F88886FF7FFA17BFB03503FC6E6A4B89C014C81666A18013790A65004F510003803C3030B02B4F8F2F652030F8FDEF420E1F5E872B8135890BDB48CD32141BD8465C16665BEE24AE3DA2E2D10F43673C5728242900743B33E0068058772A35898715E03C34A6265B00604C60C30285B0CEB7697150900AA1961F413DF0136D1237DF82CA4720A0F219931A9AD68BBAE401C09B01D52EF4A3454DB4B74F6A501956CACEAE710400FC8F6C51CF038EAA5148D300A64A60A33E0AE8080A260AFF971108F019D3112A1AF4D143019077350152B9A78737C4804AF61428E2B0629D33034E0CA0D90020A2EEE0DA887D2C09918048FF0C0008083017781A571B0580269A013B0650A80988C34386340E00A85CF405D8712D2208AC53411CCE058A40118C880B6D16CDA3B28B611B511000F0CA1800F4850088737A95DC7C0066FF55EB26D3ECB7E81FB37CA829D86402B87905CC03A8D504485233767BF3B45113926D1450F6BEB131D2D5DD4DAE5DBD6A0D42853100800100D3491920C601A0140EAA36F69F01A00D3EEFB11880B10002406000119D61F800AD008A7A3109EA809FCC4B269364EAC001AB8E3B77EE58859DCB60B181AE2739003016D0CB1840B0FF0ABDB81D467BA7E574D082F4AEBB31404800D80AD41D14B0190BB33EC0B0F0EEDDBBD6DCC0D2E262F1681E1A0114201A007DE0D46C823303123FB5A13AD87F04401C2A4A3013A00926C08E01EA7DCCE976342FCC112FCD0B409F5F387FDE3205380F634DFE50FBAFE0E61CD02129EE148A537D97F901763E804A2F6E83CADA5808C84A6922C8EE30237A4D64CFC3633B5D382B003FC9609FD330D0E000A001030058DA1C0060B1809B0FD00E7422B3932BD98490410F7AB44B7E3004746E556924680CBB301B9AA32A060C3EA5B85804BAD11000E82F140190E000A0D84501BCF263D469C0D12FB3B36BAD573A13E8B48D5BDF26BF03D0A8F38BA5625C5FF65E4F32437E3D7D95B4C57472E92FFBC88D9F8AA789211070D00200621C03B048A0E4088A6B8B0A058515054048219714CFE60028089C4A24E10240ECEFBDC30BA4A32D475459230FEDBA63BD87FAD22963C3E055D980E618A0942320731180CC87809401A4D2EC1F9D01644EA0F56A532209997D84FEBE35DF050A2FAA706EBEB7A42B3668B52200E2360C606B02580818A70C2019FCEC1FB7246C4782AD72B0FBAE5DBB483291B07EBFB0B4C005EF5FBF7EBDE91940ECE385B54E72E6A323A43DAE919574C23A619E818332814207B4E80348621420D30F1586166400764237F3FE5DB36E5BE86CFF1F7EFCD14A6065E96ECD1CBE96399F361B6B327995640AB1A25B4FF5C4808D7E1C37FAF9C92089F7017833C07C8038C4FE123FF5DBACCE916F4F1ABE13E62DE05136ACCDD93AFF6267E0D18770343E636C0A009538AC07F00090391380452D14C3880723BFC22C5CCCFD48F3A61136DAF1302B2CD8B198FAD6ECD2D7D757EC7B8722D90C48F8AEFCA056391010310AE041605D2C261E94961DC9831F7CE00B1E6BEEF5A7601A2548F95852A95431C5BAB8665ECDF6EBBA0AEEB5181F1B2B4BD8104B8925B8010AA1A0C49976D5CE0914A380D285D02986A228B235C7EFC1CBC78EDC0D0E163A57376FDE6CCAB010CFDDBD75ABFC48FDC526563C2EE88C8C8C58452AAEEE7932133ACD0BD848A7354EB7B2A0EF4D53C1FC854A7A7D3D0FCA2C33056EB69E4D030F0D0E5ABB58D1AE6287DF9C9BB3A68923F166E7878787C9E89E3D965942B692B8E4D34A00201C3BD35F68CBD94CF6D9AE05C8E2055F7EF9E59F7F76E4C8AF143ABF5CC9C9E33D69DC4EF6CB4387C8C18307CBA790059BD3CC336F8D982164099D28172F5E243F42B4C24B3E9FAFA4FD9289C663652E5FBEFC27B72E576D9CC15216F3A79F7EFA19C4CCD3BDA954CCCBA64B5D18E5FDFDFDC4CFAEA25652543DEAC75F59E701607A61000A0034D92B4B4B99EBD7AF7F43B8F57F270088A125161D2A2CBCFFFEFBFF7DE2C489E77A7A7B65BB38948F0AC4858AA1A121D2DEDEDED2CA6A643BD1148852D107A0A67809947FF6ECD933780B29E602B2AC60570098F4229DDE54803069F1830F3EF8C3CCCCCC3F2492C924FEB6ADD3F624B11306C117509B70A3682341E5A7EE11E164D04A0C409D3E8C68D6CE9F3FFF9F703D6ED2C8732030884352A821148DDE880E840276C73877EEDCBF83FE53870E1D7AA2A3A36307D829157FE61C15ACC22BFBC97399B20186847E3632B632558725C89ED887EC88381E00F8772947A338E76F80D3B870E5CA95736B6B6B0B548F7871560081EBC6105EF978230B8E351A166E5CBA74E94D7C03A2836E68602FD8A91DDDDDDDC30084244D4454C054C87D7D7D49B0FFDDDB415161B615FA70EDDAB56B196A920D2CF4397A269359989F9F9F03B5ACC0DF4B1C8BF3BA441D3226E04D81210280517F815E8C37B5D107E6050711BDD17528B7016D5769E861492C168B43A33B4F9D3A750C00F2F3C8A6D756FFD8D8D8DCECECECC7104EAF41C901CDEB2E47BE9836FACCD092A37A34440630B99B754EF919FAB92E4E1F3AF91F38FA41DAD03C4C4E4E76D52B0268159B5E8D1C3870A017FA330B6503FA770300E06542C514D83C4DF559A045174D80C9D14281A2254D95AE910749046E930F72318C9513C002B17DFBF6758B11C076B7E9D5B41306520ACC2D8EFC0D645DE8DF82AEEB26715F7D679FE9D494A7A929C88B8EA02ADCA45100205AE26CF6D40B0048F13C0115746F4283137BF6EC49D5C20091A92839829D6006941B376E6C80054883F2730002BDC2343B0F803C557E96F3034C3B06602CC04C00DB52BC298BC4890440FFA0F336E9E8D1A33BC1318C47363D98FA4F9E3C39F4C61B6F7C058E1EFA5D19605BC30303989CFF96A3858F044C11003A6723721C00D44A0000FB24618191AF251289D8CCCC4C7F2D134091A92897E9E9E9A1B7DE7A2B0761389A016402319C335D40A0517DB24840A7C5740A0359ECC828441623804DDC2FCB08001CFE0634B2E3E0C18343AD921BD00AF2F0C30FEF84C155804185CE609AF303880716D03916286C8A0230A4A0AB4D260700998BFF2B460018FE81F2D59E9E1E0918203F3A3A3A1CA92D38191919D9DDD1D18176BFD0D5D595CD175784DC1C4131B2D3C9E6EDE1B64E201BF105E17F57A1F48FA2024AB5C1C1C11D91DA8213F0A7FAC7C7C713DF7EFBAD512814F2E00BA02368C0AB491CCEFEB1990FD045FA2782724DC117E0670473DC44C2A68294D4DBDB9B0774EAC00426FC3D12A92D50919E7AEAA971E85F03C0A081B39D8792E53C7B2FA5C029DFF680083E12900453E0DA38B0F7722A9592A071E6D4D45457BDA680B79340BF4E8079C5E35EF5A1A1216D7E7EBE70FFFE7D2FDEAA21CCF36C0600F50324EE42C2CD0012370710EC93D4D7D76780FD8F8303283DFEF8E3E391BA42F103F6C14093707108069806E656F740FFA6008292F29D0E89E26F90884B220113503E3A7EEAC0C0808919A86320DB4D391F7FFC3179FBEDB709386A646D6D8D800964E95856922C66F8608EE48E1D3BAC153EBC067F590585BD8702A39A1C3D7A943CFFFCF39BEA00861D07DAC7A97619F304E0D95E00203A84749B87CD4191020BB01B2A666D416324543E146979795981D7BDDB0D00981F814BB6C78E1DB37617411464A5C8AFAEAE5A295CB81309FFC74C644C8F43A0ECDDBBD752385EFBCD37DF9023478E90959515EBB04D3B8191BF13FA3A098A97718615CDEDD75F7FED754AD869AEA0DCC673C8301DECC6A6D2DFDF6F02F59BE9745AC62367A061A3DB0D002CE9E5ECD9B3E4D9679F259F7DF69995D0095E3B2EE6940E6D403640E561D634E6F8233050F9F8431008143CDEE5DEBD7B4EA1B6FCC4134F4C2105A0A9053099AFBDF69A98C721964DB42FAE24CA36B36076623895471F7DD4A408C57B15F054776D3700B0492FA4F34F3EF9841C3F7EDC52262A19F71B601A3A7E86231C158CB992E7CE9D23870F1FB646FCD34F3F6DBDBF7BF76ECB34386D539B9898980220C4D10CA08979F1C5174D3F5291017CC726740609CC3E36280608EF027B36B0DD00801B4C50797860D30F3FFC40AE5DBB56DA9FF7F9E79F5B0A9D9B9B2357AF5EB5DEFBEAABAF2C70BCF7DE7B56DAD7175F7C6131009A066409A79F8905F3FA10E20D7C0C19AE0BE4948A9A12F6F04BCECECE4A972F5F56E0EFD8638F3D36495AE78CA6C064FFFEFDE4E5975F0EBD1E50FC048009776C29E07348AFBEFAAAF4CA2BAFD4B47021D7DAA80F3FFC10B385E55C2E1783513011056CE10998D9512849507E6C7C7C5C0EE299353F647A7A1AE94B01474705DB3616A929D468437DF2C9271FC28537082595471E79A466B6AD39671B9C1D09ECBE94C964E437DF7CF37F800DAE43F8D30B5E301E342947C7C6D41E62429481CBEC1BE0372C8293F81302013F029FA2F10040C1F97F0081FEDD77DFCD8303A34048D803ACD046B72647529B9830E20DE8DF0C389B8B503652FE7E3D345C0080176B82E275B04D5960815518F12AB0C0069E4DC34E198BA4A639069CA0C3019607165883D7F5783C6EE5F68109301B0E0040A3010DC385A334FC7D0FD09AC1CC60F45469A420456AAC29D43681F2CD582CA683E2B30080FB102E6EC0C0D3C004D40C00A996F4279C07387DFAB4048D51C0298903F5E3C1523160021CFD12862A910A6B13184C968240F1C6C0C08006E6B600250BFD5D8010B06C6DBF11F30056E5108F6243728B8B8B1A8627D0384BF138E31549A062E0DE908989091D473FFFA35B0D6100FE391408EC5C01E9B9E79E8BD41590CCCECE1236E58E82933F763F02598DFC15CCA645E8DF747C7C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (82,1,'Printer_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000002FC4944415448C7B555CD4B1B51109FDD6C82F930BAA901A32018BDD4062F422F157A6BA4C41EE241BCD8BFA0F468AD42F12FB0A77AAF9422F6921A13720BA56091D24BF110856E4A4CCD87A6E6E3106392EDCCEBEEB249DDD458FAE0B1F366DFFBFDDECCFC6657906519F4637D7D3D383737F7166E30363737832B2B2BBB7A9FD0BEC96AB5CA838383969B10D0D9769F00FF79FC4160B7DBC566B3093CCF7705D46834A0AFAF6FE0AF04036E77E0F4F4144451EC8A80CE788686FC68BEEE48705E2C422E97A37C7645F0E3E4048AA592718A767676EE731CF714CD8789A323909249005418558D558E6C4571CC47B632697D717101783E180E874324C6402010D708D6D6D6F8A9A9A937680ED3ED356015547976F2D19AE3F99E5B2ED72374DDC139AE114C4E4E527186C94EA7D3AD006D20863E5C6304E09B982098B1582CE6F2FBFD0546808A61D5AF56AB903E3E6E016901BD868FD4643299E8E945EF6F827ABD7E1B27A45229384C24B4BCB774394A579F7F5959AB3E50FCC778416C54B2EFA2EB3323181B1F7F6EB7D9A8076079799985AA4E3AA4D994062515EDEFD4B5D96C86D1D15128572A4F70EB2B015F70BBD1E840E1EC0CBE4912A00A1848C7418006AF02B3B390C39E7089A28BB02902532E9BEDCD64B390412DFF2C1474385C47125022D28F6C2603627F3F5CD66A3D844D041C4AD35AC4062B63A3909E8D86D3E964692897CB867B2A950A54CB09C4F2D0079345C0E7F3F9268F95B73B1C303232C236E90BAC4662C33AE1CD589EAF1A168B85EDC99DDBA05ECBCB6A04F06E7B7BF7DEF4741095647ABCB8085EAFD7F086EDFF0FBD7F7F7F1FBE1E1C40A9546A7CDADB8BA98DD6482693EF7146E9B2CF96965EBADDEEDE4E353622A9D56ADF5757575F28CB3A6133029C1F29553E9FCF865D6DEFF653AD0E87C3419FE00F6ABB3002BC8D8C394ED3868D8D8D077C17E89148040AA83A411058540B0B0BCEADAD2DF3FCFCBCA444DA1414E3929EF1787C4892A4F475095010BCC7E3D1948A671BA8341FE21D5EF93F0885426194E9977FF945E2D720353333A3AD7F017CFCB12A36F54CBD0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (83,1,'Printer_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002D0806000000E84AE8C20000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000068C4944415468DEED584D6F1347189E5D7BD7766CC726B613077052488A22418362854A9550D30B91282267220EBD50F5467F41EF88737F40B94442088450D520404AC221AA425BE8A505844268704C499CD8499CF8DB7DDECD6E9875D6F67AF3615562A4F1AE6767769FE7FD9E11CAE532ABD7EEDEBD7B3D1A8D7ECF0EB04D4F4FFF70E9D2A5EBF5E6D9CDBCCCEFF797C3E1B07C9004BC5E6FC9CC3C91FDCFDB47021F097C2450BF094C14DB0B85C28181CAE5724C96E5E366E60AF5F2C0E4E4A453B4DB37BB221116EEE8680888991C63D4DEC6622CFEEE5DE1CBB367A57A734DE5817C3ECFD65657593010D81309D723964C2659B15834F52E530432990C5BC14B23076446CBCBCBAC64527B7509CCCDCD316F6B2B2B420B07E5078BEFDFB3168F6777041E3D7AE45B5F5F3FE4F1FB233968606363832D2E2D319BDDCEDBC256E7CD03BD54FA50058882A0339DF24E7BD299541E425A5B5BA3EF08B76FDFFEC266B3C51D0E47FAFCF9F38BA69CF8C183076E448131DC5EA4E76900174471EB4395365C67CCE839FFBD1D63156B2549627E9F4F1B9982602E8E8C8CACD5D400C07F87CB88F69F08942151CBE02DCCD3EE5D0E074F604814C56F70FDB12A815BB76ED95C2E97AE6C4E439D053209931F354D52937E0D4279978B1DD647AFDA045A5A5ABA31A98B1F4B217C96380DD404DFC0D80EF006F3B248683A7B1784E8F8F8B803FE90352400A01181733A6AAB448073564BE02DAECD483BF298889CF409AE2F0C09C0C622BC9391E44903D524B6A76306CF2B85A98E1DAF4A00E02395E64319D8AC09E822CB2E08F1EFA18C8C50CA13E8A9158574041288FBAB70E25A1FB03466F4BCCABC04B2727B2854A9819D04F040B877EF9E8E00252ED240A31FDD1392EA95B2722818E4ADE438612DAB13780D086EB77B5814F51576E4E851D6CC46E50B36F83C810B8455E36BD7A48FD024757777CB3C81CF4E9D625F0D0D3595C0CACA0A032E9DD55CBB76CD07C849D282A601540B62CBDC9B370A632DF34E4C4EB2172F5F322D166CD356EF5995FF4AF4E0CC42A8A887A83EE2038350E3FFA99327956252D802A938340851AE4AD16C8D80D8DBDBDB4D0EBBB9B9C94AF07C8AFD3954A09B2825EA3615A06045C41C39A3F545E0205F24D204DEE174B2778B8B47F0E82F8AF41A011BECBF8FAAC08D745A095D4480EE692F60B9ED01B13430A45229E6831632D9AC52ADAEA752146C2468AA6017B6F44B29EF04CA67B60E12448054B88EC5A49146A5B697C4C80248B01EB79B65704FFB6514988755CC9B9A061C1470A8E6A7AED43E94CA01DEAA068CB2A895B5F47D22118FBD84F465E6F67809179990137DCDAE0AC201A9776631991896D54D46B154B20C82D66BE18F34DBC8065F57CEC01A684F3ED0F30F9BFB37C8D21989300655028246C0592816DB682249BF64B0F9B022455996592B481001CB822012C0F1EBDF11C5911D8E3C11F2A956B39DC864A8494239ADB34DDA4C2821CD02116C031573DC8D209C88386D6D6DBA6D2909389BCDD249B9CC6B40BC7FFFFECCD7172E0CF266D30ACFFFFCCC1916E9EA52FC81970A0F4AA8A27E669003AA11E2474435DE2F2C2C28F74A3DA67E87DE373131F127530FE5B64B89D9D9D9B70BB1D822E26C48CBC605985417C00F0F0F5705D8883D37D228FA8D8D8D31F24BED8C88A49FCB6613F3F3F30BF4972740E725AB77EEDCF9C9EFF777F4F7F70F40754741C4D5D9D929070201713FC1565B8FDC9487FF14B033CBA1A85C78F6ECD9CCD2D212815F46CF69046815D9479CEE93C9E4FCE3C78F7F53EDD8353A3AFA6D3018ECDD4BB066D7228AFD72F3E6CD09D87C5E7301B5D3110B39585923407F6294F878934614F1421BDEC02E8E14776372434343DE1B376ECC81C006E7264420A50ABD5CA981A446409224211C0E078E1D3B76489224D68C363030D00E2DC46046AB1C01BA667802D4F22AF8B4B618BE60BF72E5CA09809759935A4747C711986F0A04122827785512DE9C524ED30F42535165B47D5C71FAF469E7E0E0E0A7FB05EEF9F3E7ECE9D3A74A58A4A8475AA684E772B9980FF9E7DCB973E403872E5FBE1C181F1F9F9F9A9AAA3CAE56A290C8A9A5A832533AC26729140AED1B814422C1E2F1387BFDFA352526E5489D8AB657AF5EB1999999ED7910E299BEBE3E51C5A7F502E4FE218CAAFB4B9DB75DBD7A554022EBD92F02D16894F5F418BF9EDF15228CF743138206B8B2553D9D863444C4DD3F9E3C7992C12EAD295E0CB3CA03F82C3464AB36A72A01384FFEE1C3873F6333310D02423308D8EDF6627B7BFB7B84F142C3043C1E0F39F5EF50A70D12680A0124D232CCB8A0864DC3F61F69A6742E6DDB81FD0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (84,1,'Printer_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003C0806000000D689BC640000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009324944415468DEED5A5B681BD9193E238D2C59967C4B225FEAC4975C49D27583210442C1BB8440A05997F42114025DB6D0877DDD7DE94B9CF7E6A979EB4BF7C1B01B42C336909A4258BBB9B20FEE4368C18BD9902C64E3D8EB9B2CDBBACEECF78DCFA847A3912DC9A3D8A63E30CC682E67CEFFFDDF7F1DE9A6698A4AC6AD5BB73EBA78F1E29FC50E1CB76FDFFEEDF5EBD7EF57F28C5EE94B5A5B5BCDDEDEDEE84E0420128998953EA38BFFF3B107C01E007B00EC01B007C01E007B0094379E3D7B56DFD6DEFEBB37D3D3A2A3BD7DC70891C96404D7F4F3F7DEFB143FFF51330052A954B02E187C7F6E6E4EB434378B4020B02300585D5D150B0B0B22180AFDB2E62690CD66C5DADA9A58595911D1E8CEC888B99655ACA9D2BAA6620016B185D26991CBE5443C1E170D0D0DAEF755B390AD8CA5A525B10616F8FCFE1A3BC1C54591D675A1699A989F9F17B158ACEA457B09124D722D9914015D17353701F881FC4BC984ED1C3688D65A705CCD7A2A33013020100C5AC749506EBB01B0C7ECECAC68803F320CC35B00EEDFBFFF31501EC2E1216C1A5E7298F4E74863FFE4E9D3754DF09CD406B5A2D29B779BCAB1A15EE7F1FFD4891B34D7F3A672CD849005CF60D4C317F970DDC866035F7CF9653C1A89BCB0AD03DB3F2726266E0E0F0F1B150100E1FF84177FA69E4B82FE3E292C5F4DCFEBBAE012B65E60F78EFBCA9DA3D47DCC05789FEEF7470140BFF2F8070303032DD8FFB16C00207C0B26FBC4799EE14FAB72815E08B9D97C1C7EF748F087D1D1D11B972E5D4A9505006CE9F7A07AD82DE1D0AA15B24241CA99C3EDBE1200B442A60FB1BF53160010FE376E1E97B176AB0BF442C88D40B47D94CBFA7F5D3600D2E9156A1FF45F950094ABF1FCE2AB1064C3395CE653AF313A399900607E51960F181F1FE7B9A24A2791488855A49C1BBDB82C8D6FB2F86AE7508F991A3736363A19700C7E20E8F403BA8BA09DD8F99CE799FA5A0CD80E21D54852C67C4B58AB1300CA0A669CC2FEDF1B02006771D0E7F3152741C8B70B002857C80A05F1620EAEF56057971BE3FB370500C2BB3EB98872B324001582516BA0581A9718A736F501B095836E9E946970590094487CAA16B28CF98A0040A1566274941305BADC2AB5050940D5426EB4788FE760A5EA2603147B604300708376EFDEBD4B6EE56A0A613097CD1652BDC4D0E4E6787B7EC1450CB3F37CE579B7F7B84578A7D95929BB9DA217B3FB0C653415E1745578BA00D4F887DCB2A9B367CF96CAB276DC605DD0D1D1E196E1B2264039A31936082A03B4CB972F079B9B9B43CE28904EA7457F7FFFAEE9F4B267D1D4D4E4C600FFC8C848ECDAB56B6F6DF2140010C2783B3363F5FDD4B2767E6E4EFCF5F3CF5553C95F2BA0B3CD2CA5ACB5EE75A1713E6D55CBE0525477988FA9CCED3403FBDCFEFDFB855F7688788E1B190C1199E5CE4A4B307595FED8A2CBC8F892C9A4954E5A0D064CCA24887DB7D246AF6D68A7150F4DDBD0BF94337E84D22C93A5E060348F83C12043644C2A3EA73280F306BABBBB8FB3E4A513C99005B2F9B002EF4F33F04218AF012A351F6B179AB2A55908AF63CB411E44B20E29370532550082A0479FDDF2A6C7CF4906B006B07B819AA6796AAF5ECF6703C43573EE03070E081DA6308FE488DD28B0BB8DB23258D02FAA00D401B21E96BCDCE849F9805D5C946480D7F4F708A035190A6597285FC8E13C4DA09EE50D4D5F97F6CFF8163273B94EDAFFAA8CF9B623A4F6AB3501CF355CA649510E8EA9A929A1C114C802EE93A91401084B33C8DA0CA0030C9BC8946C61E9044DD965B57FEF9641D0C9608EC39D3322529F11FFFDBEC77284506C334E3748A56BBA04913FEA8D6CB6258D07B3A43F1DA00C3DB5109E8B61C9CAB949577BC15E0160AFB9299C104D91942553068A847C51C980801A05F8239C358C28A94FDB3794F6B351032D452211ABC3DCD8DC6C6960C94300846CBF737C3379683D12F80C2BB201880609403103E003C2F4FCA6E303831D47BD6402E7626EC1EF8BC954CA53E19B8A9B21EBFE0C726573B9908C02450004A7A7A7970E2259C82AF66FD104C21F3D72447CF7E285675465B619C2BB666667F321D68BD1D2D2228E60AD76E19677C4CC06B17664B52B56C45B677D0100FAD76363131F0E0DF56B8E6A90DAA2BDBE3F38288E1D3B269697972B5E58ADBF18D7D5D559CE7A7272723D0F90BD0BE71A464747BF914E5F537D8055FDBCF9E187E9E9376F7E847DEE570B22FB9B1BF3EBD3A74FBF53C12B799E293B01A0642B32EEABF32CC7E3B389446241756BBAE2E718E857FEFED5575F9C3F7FFE83587BFB51D0B4CE2E30F8E99925A65B95B59D42AB832C65BCA7995AB58B2CA2B0F6CCCCCCCCB78F1E3DFA9A7D5F3B0DB60130656140CE2CF2DC93274FFE66D3041386E000514704C357AE5CF9150088D582CE5E818690FAAFB1B1B149282F05D38555A457A58CDCE818E62508199501BC10C73623D1D155670513F0C1C65A4E9C3851EFD26EDE561FE09C17ECD5C6C7C7BF85634D60DDCE9752D14B52D6AC5D0C99120D7AB6B7129D8256592010D0BBBABA7CBDBDBD11B796F94E328781818126288B8A5C704961F87B45029071021097D120A1A6D830010D5A0F0D0D0D9D4288D1DE8566B732E7C993276358EF3C9CDD34EA01C3A5859894CA2E00202B2F2CB80100E7D778EEDCB9B67755CE6E65CEB6B6B6585F5F9F011388BF7EFD3AEDE8AD1A8AAC59B51FC00B296923059D4F383F1F6AEA404F4F4FE76E288460A2FEAB57AFF68D8C8CFC072C584134301D0C30A4F62D76E8EC8BB14B2A11C909C777C16834EA0B87C3C6BE7DFBBAB643207EE579F8F061BE0F595F5F6F658E0C772CA2984A33513B73E64CBE130C33388E63F3E5CB9749070086B237F23D41C5436A4EC7017BF2874221EE7FB61D00F0ABF4E3C78F299475DCDADABAFE4F150042309E3F7F6EE52650521E0098C151FE46E2967BF5EA959B1F300BDAE292059A122FF3E3C2850B3A9C4918D9E1B6FC39988D4C568ECCECD8E42008D438FFA64B76D8C98FDD0091F5C061A4C27EFA82898909C3C5C9167F1831DD5DAF76F3E64D86C0E3B0AD6DF96739FF8C393C3C5C6946D80DD3082281F341AC0D4BD84D85623A8C2D02249F02E55035FFC57B979D2028CA04631228DADAC092D776C65735007490107EEAEEDDBB7F01FD22B4969D1C05600E06EC7FB1B3B333DEDDDDBD69D6A66F86E88D1B37D630E977088533708601B10B069C631A0E70716A6A2ABD2500A45FC8DCB97367EEC183070B838383BBA2290AC6D26FE4C4E61FB2C54F83C03A2D1D003E9E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (85,1,'Printer_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000590806000000C1ED215D0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000EC04944415478DAED5D496C1BD7197EB37013294A22294BB2ECC89623D9B2E2DA31E40045D243811C6278017230BAB8A8815E0A9F821E8B1EEC0045CF39F51020073B0850C031EC02597A48DAD47510204EE0C2050424B110C78B6447B22C2EE23E33FDFFE11BEAF169162E236EE2031E469C19BE99F9BE7F7F6F2841D334E256BB7CF9F2A3E9E9691FE9E276FBF6EDEFCE9F3FFF53B7C693DDBCB9C3870FF7CFCCCCF4773301994CE69E9BE389A4D75ADA7A04F408E811D06B3D027A04F45A8F801E01BDD623A04740AFF508E811D06B3D027A04D4D43EFFFCF3FE1B376FBE95C9667DCB2B2B5D09543E9F278B4B4B4494A4C9FFDCBC79D9AD715D2947170A85A028CB6FE40B05B2F6EC19190887892CCB5D45403A9D2689789C08A238A411720676FDB66D08E0252593C9906030D85504E033657239E3A3D6561A80AD582CEADB1C1080D2D2D7D75771DCCD99B756B4F5F57592CD66F5E710DA8D80340E64100052924C26492412A97BBC76240B9F290B5A20954C6B9B6900487C51DCF0E771B095AAAA360598669185CF84DAED6D7713A42A0AC981A46C3501CDD692B5B5355DFA454170755C570840FB28D2A807815907756D9606348B2C24203C308061687B6B8071B3ED44801B443D83F03A00919D547ACEF622601DBA8721004351745ADD128A62F4835A0EF98E91DFB84680508B7A5EBB762D0A37808B928E422FC7999080FD4251943D84DAC76422418677EC205EAF9717B14D63EA9AC2DA553C073E0B7CC00DFB55FA7DC14A6AE938B84F63CFC5CFE55304A2E179CC3E7A23E6E3C167D4EEC78F1F93B09160C24982247D1FEAEBBBB271AA00B7A77D0BFDE6E9D3A7EFBA4EC0871F7E780ECEFD2B0B7C3949010921BC73E21FD06A5F2DE79AECDB74FFF4B3E6E235CCF60170241A8D9A832A087F3A71E2C45F5C23E0830F3E7803366F991D43094E827AD6F2E066D73403D26CAC66805BEDBEF1B1313BD87E73F2E4C9F71AF60100FE386CFE6C5307D293AF5A1F6613900D12B8E9BC06AF61F57D8D133E51B4AC67FE1E7AE30440FB03F490D541043FB75123A9E9C1AB321F8DEC6B44C2ABB8063A67BEE4C2B49F81F04E81167CD72801A76D23049E80AD00B211706BBC46B5E76AD4F7D91080ED77D0FF583701D7AF5FDF035E7FCAA94A98A70468CD26A15A205D20D06C3C7C7687F6AB86088030F280534285528035925603DE0890D5EEE3AF91C6E0C3BE4D60E8FEFAEBAF3FAD8B00007FDAB90E97D613AF76957A47206D08741A6FDD990014E29FC0E65FF5FA8029C72C11D4B0C064C1553DA483BDAD0B341788A9755FCAD90461A0B1B5046468E5B35A705D01928B9E341709AC8584F554AA9A5CEB702351D09453F14ACF82EB05D70C4807705B2DF515FBAAAB22D447C0952B57BC814060C2EECB2990003D047500B211EDB0FD7E1D04BAB98FAD00DBB48380A574E6CC19A5260200FC49D8487623EBB3444C165C955DAF16B46680EBC235702588D7E3B183C90F8E783F6CE76B224010847D4E75A2D567CF2A73804634A111705B40A0B13FBEB6468687876D71124571A66602A08D38E916AE01CAF14998DB12BEC5E0565B1CB4BAC6D3A74F1D09B0C352B671B031470212894D658856815B0B680D5D83DB8733654E0D34A07602A0C52C2B8F860F00F563B3E0B690FA2AF6599E5BC7784F57576D31D2278034AD7A0204A134B372FDFAF539276671DA318761A8B90AB1839AEF7702883E80DD981A5F2A293DF0E619B51A7C4DC5F589CDFC237C677979B99AF9EF6388AB66C294950608A150E80549B20D82482C1A2591A121B29D5BA0AF8F0C0C0C108792CE7E43B679126413E9C72E86C361FFA6395DAECDCECE76DD22DC5A1BFAC02107215414057FC004676E549E0433F48453A74E790707074376E0621272E4C8914A13B10D1B26A33859EF5031902F5DBA143B77EEDC326FD1788475E91F1919F1275329C16E15D8D2D212F9E28B2FC8766F68FF2727271DCF0B06835855C0B2B4C66A816C627EA4B1B1B1210CAF30CB4327A72F0761E369F81B9769FCFBC68D0D47C92DFDE01D19CFB266F3B99A731C3FE34332CED2ECF326E76CB23CA69ACF87C112F8FDFECA31E16F14605C49879644118418C55B656FD55403C676EF7E1EC1C72CB7A828A56A27B3D6C6B07D55D642ACE2B3EA4E6B96289BDC4FB5D7C6695995C10689C08E13F63210A0822F2D66B3115ADA112909960478FA0281E902C4F738D182202B4802A7010D13E01261421B908338A1901A1A60102001012A483FFE9DC9E75103D01917588595B93191219F479627510330C9C2652748001B6F2301B822008FF14947CB5A0312DC68434BA18030969F9F4A3F760F5DF957CCE570159787625C34F202990F3FA17B01F09DC82A0E8C5B330DC8D6A101DD4A100A2A828DCFE70373138B44CA651A8D6A06082B12E027A5F7590A8619E2350019F201353BD004E5780218120A2E9BA04E2607B132EE3F0AE0BFF8E28B647E7E9EDC5D58289926200708C06C2D4031CE98F900817EF601E011DD095312541A09553861EA1FB6838971F4018C29C6D2C4ADAFBED28B74BA06A0CD01470C5885290132ED3841A3C99CFDC7CF7E003C8C13ED79C3076014C4D53B8C63DBDDFEE3B5590DC07723B0A3D44B74D92225007F4D12577179E9ED09BC0688543D02C0A80F07451210E47218CA66C26096D034756A734B60D0F617391C864269924CF7115528D5D2E492B0E2F2CE208D8410F73CFA5E56033608C8E765041F4D4C9146403C019D0CBE1148B8350E8BC50B7B17C9DCF33F9007CB11F2D9FF0E961C70094B3F35415E6A6D4A1AC066C094003FD82ED990707CE98E4FC2F40B77E02B485BA5492C162251E87E55C74EC110B4944BF928013EC2CCB5CB9C03467602A02E924A9945E02BD6FD18359016BFCBBB67CF1EE2F3F9CA61DEF7F7EE6DACD06B32012C16FF5DD809D23F40D69260823455C70E7104127C340CF53219B1C0FA00891EF4C3838858C330333DE550B4C51A802B32506AFAFBFB89ECF1B4047C33678FF0ACC483F4584978D59235F150E9F7549820C6FC08F4045FB150103D74666993ADA4CE0B09A255BDA63F742814D267E3F0DA3867D14A7F140804EC7D04ED708F12478068443E6C1286DD9BA7914FB9AEC1C44D460F058364CFC444CBEC2E561FD104ADE3AF980019AD68483E96A2CDF011D8480B0405CCBA61E63D563EC0D00429954AE919568196A3CD641C3D3B2EC7404D78F8F0E1E69734B6B0255B04B8D1F0A58CC1C14132363A4A3C60FEAC9E5D0715C2540570BC77EFDE121578B60B7C1EA0ABC6B7DF7C73777AFFFEA38603366B46168CA9F70BB3B3E4C08103FA1A994E7B41BB16138A128FC0DFBF7F9F2C2C2C6C54056C840FB5004C3AB971E3C66D0667C1AA14A11FF8F4D34F6F0E0D0D1D0A86421EAB32306B77511376EDDAA5F756C4E2CDCE03D032180418A5793B1F908CC773A0B56BB4005721A1FC7C001E5460D0DCD5AB57DF3B7EFCF82F43FDFD7EDDE1DA3C0012E0F0AE54DB90E2C6F83B77EEDC540D356B680D12F178E61F1F7FFC373C0DB35FC62F6F2240A505223C29035F4E7CF4D147978E1D3BF6F3582C86DED687BF1682D36BFCAB996363630D13D009C0B3910F9A230C7D71D4F2DAA892B3354A13F995E5E5855BB76E7D86024D4A65E83CED654DE00928D05229BE7B23C117335F7EF9E5DFF51365D93B323232118944C6E106C252A979B08F8F8F8FC171A1DB81E71CF1EAA3478F52303E5863A588932B608AD2E0071F2E2E2EFE0044A4385C530C090AAF017897E855B314FC04FDA28775BA70C127D049C9B98B228481FEA3478FEE0D87C3BF6E27E09BE15B76EFDEBDF0FEFBEF7F964EA713804D41B3BEA881ED3A25214B09D14D114B804AED548A66C4053663E32A803A01108285E6E6E682D59A9F4E9576B376E8D0A1013043A96C36FB0C229D9C667FF122B52C49BA2DAF8C908D448D029EA5D22F52320462FEDBA202981E193440C3FF9CE4444037016F3408BBA3900CAE030171304169F0999A85F41B04E42801398AB5C2FB00851260D8AE3417B36A4C6C2B00FB3E005E821B19B222A01B81674C5004C26E05CC4F127A02EE4505222A221CCEBFE6A919CA5002086F828A0C010A3543A245722180F9F103F07D7BF7EE8D39D543BA0978E6DAC289132746DF7DF7DD7988F11360918B94001674F66F03DF9C5914C49AA10CFD5B2616337B703109B05700F85C341A1D6E3608AD9CFE64AF0D21FAF8B56BD7D290B4A67EFCF1C71CB15EC96E087891313F251F80CE0397A830E19261B3240B0284603028EDD8B1C3F3EAABAF465013C8366D13D0401055F00559F089591BF363987885B5FFE575414C1454604E16CD08181818102017F000EBCA4B2FBD3441B67183BCE83908C1310F2840FC9F8190D4AE10A6329AA0119395712C09A295F9E9EFEF17B0E603246828019D08DC93274FEA9AC0C1F700702EC26800FE385882C0E0E0A0964AA594D5D555C5C60CA9CCB6726D2835433C5356AC0B100160062CC662B1E73A918077DE79479F4F40220040FDE716E059F41F1EC11936FD67D89249BDE00661767979E6BE7DFBC8A953A7585F2883199EFEE4934F1640163530C7CAD75F7F6D178E9625DFC81B44C6BB6B8C16280C53151D6E50831014099340023A9200AC673D78F0809C3C7912B37B323A3AAAD7B240B0F42D16DB70B2078FE3422BFC1BCFC7BFF936353575108E4BB0D5E07C85B1F56C5759C1669336910BB1D8A6328C95FBF0F0B0061222810A7B401DC73B91009C44C1D0F9CE9D3B7A21D158FD87FB219AD1A51FB7C67B1068699124DCC737C0633F6A0208A370F1E245AD9A56210C0E31AFC6C7FFB3B3B302DCB004766F1434A123FF77F06BAFBD66F97E2F9A246CB8EA02DBD9B367F5EDCB2FBFAC9B2DBE010EFBC08479811CF1CD37DF142E5CB850539252D31B76C8075C440409F1BDF2CA2BD3A443DBCCCC8C6B6381E44F802006C0344B070F1EAC3941A9E71547AC826218BA2B9BCD26417545F4E1DB310C05D3A341574018F7CDCFCFDF07672C5AFD2A8A6B04C4E3717CB14078FBEDB7FFB9B2B2723F9148448BC5A265D6DCC50D83912CE4454F401897C014C9E0BCB75E03006C351A8DE6C1EEC5C1093F06B790C29574DB4D0B2092D2A017C02FC483C1E03AF88E623DB945CD0400F80A80BF0E71F322809E82C8C10766685B9A202040452D00939C585B5BCBCECDCD295B4D809E274C4E4EA6C1F4803214D7202316212ADA9604800FD4C009AB10D2161617170B60FF6B5E9323D45ADAA52F97613424D4E3F5BBB18103D668F859739DFCFF1BC154734D819D460000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (86,1,'Rack_42_(128)',decode('89504E470D0A1A0A0000000D4948445200000086000001B30806000000EAB96F3B0000000473424954080808087C086488000000097048597300000D4000000D40017C4BA15E0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00004BC84944415478DAED9DDBAF1DD77DDFF7ECB3494AA2248A3C1449C9A428DA126DC9952317706AA4B934459D16860BE7A1490BA32F0582022DFA96973EF4B5FF478A26299002BD06295204281CA7758218966D19BEE812CAB2AC0B6FA22E9644F29CB3BBBE5BF339FA9DC5B566D69A597348CD9E0106FBECCBD97B66ADEFFA5DBEEB77A996CBE5EC4E3C2A77CC46702CEFD4016E1BFF3BE9BA2360F8380264F97107C9E24E02C4A953A79ED8D8D8F845377E779704C67C3EDFFDDB7D7FD6FBB1F7ECEB81F77601B0B5B575DADDCF6B376EDCF803779BD73E2EE0B86D12C30DD2E2A1871E7ADA0DE26F6C6F6FFF967BFEE4CECECE861BC0B97B7EA3D06FDCF2B77DCD4E6EDB67637FF35C27DFC7F3FAEF8DBBEFBE7B71CF3DF70824D7DD78FFC09D7FECDEFA0FCF3EFBEC8B6B0F8C3367CE480AFC1D37F9BFE9CE7FEC06ECAC7BAC3EF8E083F9F5EBD7670E1033F77CBF40B96702FDE7FE7B4DEFE77CF6E0C183B3BBEEBA4BE7D29D1294DB376FDE7CD9CDC19F3A89F307DFFEF6B7FFEF9D22510603C6D9B3678FBA95FF6B6EB2FF99FB8D5F778370DCAD1801A1120874E6FE7689498A01A3D4E4C73E2B69E2BF2FF5B3582C742E051A7DC68DD16537665F7763F39F4F9E3CF9DFFFE44FFEE4FAC71A184E227CC2DDD057DCF95BEEE92FBA1BBFD7AD060161050277C39D06BE0914A526B48B1449F96C080CA1D722EF2F1D702A376EEFBAF35B6E9EFEEB912347FEF0CFFEECCF2EDFD1C0387DFAF467DCFFFE53777ED53D7DD29D079D8498090C7A442D7499A4D0A0F79DA494EF6ABBC694EB646243CF9BCED875687E34960E1CCB7ABE6EB831FE917BFEC74ECAFCFE37BEF18D1FDE3660C8807AF8E1877FC97DF66BEEEF7FE85E7A44F7ACFF7520A8BAEAEED88A8D1981292AA22B5862BF95F3BBFE67A52A7C49D0049A14C00A240E183367972DA59ADD1CECB8E73F7552F97FBBDFFB4FCEA0FFF33FFAA33FDAEE0D0C670BFCBD90B5ED2EE011F7C35F75AFFDAAFBF14DBCCA18DA9B06B5492DC42C7D5E13F8DA3E5BC22EC8B56152541C130F40F05A6252A40B98051419EF52D9028C7B6DE916EB55F7DA5F5CBE7CF9CF7FFEF39F7F3B306E372E5CB8F0FF1A790CF7E1FF139A3877F11FB8C703F7DD77DFC68103075637A749B2674DDAF43A7563DE776DBBF32F6B695635F11846DA5521032F0656EBAAFA208BD900B1EFD2E701AF797D292E4393E48E47DD443DCCF75AB0D8D72C58FCCFDAD743EFE9EFDADBD1B5540E209BEEF5AFBCF7DE7B5F8D2CCC37441B3502C3276ACC172CCF9F3FFFDE97BEF4A5FB8444198FF6D46BB54DD1F93DFF7DBD2E1DFAFAEBAFCB80DDA8CF797D36318CFBE9E2552DC49BAE65A73EB79C67F1EFDC7DFD2B8147635D7B21C1D37829ABD3F35C6E793FF41ACFDF78E38D8D175E78A191DB6993188DE44D930DD2E73D4E810150D4BF0D2016F5635503A30A8081B3DA078054117054DEEF2FCD35CF6AA9B73BD1B59ABE657C729F377D86C736A22E5962A47C8155235DDE1300E4BE4A270A101A24C0A9E7EEF18601C786078ACA0CFE8EF7DA7E490A1F10F6E43A9018522573DDA3EE9B150D3874BFA8214BA9F701458CCECF01455095C4BEA00F200482F7DF7F7FF5A801D16FCA6ED169D588B941D4C746448D2C231264E88DB12A0096CA4888A50722796E5568256B0C304A75EF1A1F915CA89CBEA08819F9A9005984C44DAA4A881DB21DDE7DF7DD99B38857D201BD77FFFDF7EFAE14EC0B0C501FEC11FB62195125B15DCD650F89527960A86A2930F7BEB76A5029A8C2E8643236804463E18CC6D56B50E8FABB8BCA8969832236468ABD20C40B08EFBCF3CEEAA6F41DBA19E7D140F3EE9EE8571EFDD5E4498C26DBC207C7320280650F09310B48811D0F6CCBC067AA86EB898EA7352471D52565751E3A746876F7DD77AFCE14505837BF938D11DA864EF90201E0EDB7DF9EBDF5D65B2BA9C0852315AC5712533BFE23F646CB2A9CF97ADC3CEE879D61AF691E303A7DC374DE3479B109B620C125D6780A2452C19224870F1FDE9526A1EF8DB9E4C91223050C9AFC6BD7AEAD802040E847058413274EAC2E2E2415BA782C66C043A0587AEEA005C7721FBC922A30F93BB5CAF03DA4B97F3D2100A4A806CD8BC0005034BE3A350F3AB5A52F90DC7BEFBDAD5B0AD9C0F0BFA046EDC6CB2FBFBC0284265C1720F5F0E0830FAEDEB76048355063C694F77A15D0F1B300307C0F654843D44EF8DCA894261BA662DB2176B6498ED0585990A0AA25490412BD27804862E77A9CB77825B10FBA1F5EE887CE9D3B778B54B02AA20D10189789D674931B1853273B01402C0B03C2FEE6CC4889D075ED014B574991E28D68EE24B9B560A57E0408A880418C4FFDA8531F374E9D3AC5AE69118FC53FACDA11F8DCDF774588A46580C768323C970500B16C7091775A8CCCCA372A439221050039DE886C3D49F64B972E0D4F7075B11762E252072497367FACE4A909AE0F22D262D6E08DCC0690184B0F1055A227B4470D8AC780DD65CF89058191CE3E5449E93218C1D595D08A5DB8802012476080FE46575A4EC3F34A9A44FAAC81D358B64C768ACAF0FF6F9EC8B4068D4F54AADD04B363C3BD9722B79A08AEDEC6671FC24B132D820BC6D36E20B1827C5B25B2F272567F1F75B26C01CA32014055C26776171654383BADD63E10B925B590436EF9866C6FE3B3ABB8F16D05711B22BA74EAC27453D2777584F42DF4778B571202484C6AA430A07DEC8B9907D22A1114558ED8B79E860EC222051078A21C6992BADD91647CC6BE20A43E74D1F8D2920C42BE6E40DC06EEAC8DF7CC5049558BEA08FD1D52257D28F11850AA0640CE02347AB66AF04102B925352C49228068B159722BF4DD6DDB1D9D8CCF98052DDA5B24974E49095DE491234766C78F1FDFA32274235DD45140722C03C452ABB8EE60905691C96D9312558B1755F5B117AC2D8691AA7117B7A4E780C4925B76B36E10820B71F6E69B6FAE2E44A040A49D39736677AB3C662BF4603FFB649F2D3B7A28CB160991CB7BEC7E4757F733F47F96DCB2B69CE646F32206549C86AF4A3ADB18A10FBB1FBAEBB9E79E5BED7F6C6E6E2A32FC96C8AC1C863367E327C1F86C02C0B283AD513570165582C753452446674EA2ED33020706AAA407EA468BD8DA2AC5092E272DAE7FF18B5F5CA4A887128457BDF57CA8C32A5DCEE2BBAFA549AFECEF21FEA4242842070CA84071F1E2C5E108AE92E972BE14F1C3FACC0DDFEC0988184DDD151821D675366BDFB4DBFD3FD85DB2CDDA26BC89194D25C07C4EA428C195632FA490610281449D653CF5FBB0803501B4930988D9AC3956A394C4E8CCB0B208A0FD911E9601D5E98740F4912E36727D10822BC75EF0DF23E70192CB26F7C278367C47953841318A7A0860346DE8257F370C280BC3261231DE105F7D54CE6004578A26F13F63C3FAF437FA554612AA43DC864F7275F0389609B478CE36FC32817E5FB6D0EFCBDCF1F243FCE02D90AA5A44BC9F038A4109AED8E4592902E349589F9E0B0832827C77B6CFFE4BC34434498B92F119CB16222DCBC68A7D86B0488D21138BFAD5E222B128056C83105C3A62D4B52E12C6532A42A8D6291F1AC6D386F5A50C4A82E89EB5309D29C0E8BA89562548A3AC1B4C25B76C2291C95B5D0147C4963C91903409D918C58D4F014412414497184FBDA70B3A76ECD89E0B6ED914EBBB5A67B3F62DF8DE2BBB87D1DB5B9DB4BD866D466C87E645F3A1B9D1A2645F8A398C0561F54E1F70A85C3CFFFCF32B7B01EAF5E8D1A3BB1E465F6E235392B44589A7D8017D805125783EAD0029C15B406E915A80CA966D27724B73D5B4BBDA9BE092243879F2E4EA02425BE57D5CD8E0C87F782D1B0D83BB6C59BD4DC0A832C09743A22581C206E3E472122946269B6AFA5BC6BD16F360049793065B322243290025082FFB88D873CF373A88F3D4FC926547F5319B35EFA62EDB984FBB0986E75182F1F45FD3184AAD10035384E0CA7155BBA62B12CEC69E8BF56EF4DC0DE08D8C95BC4C7CAF8F2AA912BC93C6EBC47393C188FB69939C4B81220492C17657BB309CFE41783BBEB98D3968736333C5FC9036C6B22340F78C91AD4506482C039AA24E52ED90C123B8728D4B5C5A319E3AB948F9E11A0C4906E9C18E746D9BCAD8AF23F51AA269043E038A07685DCD104D9E6A870C4270E5822394C84C463B89CCA17C949641AF3A006568899103C8652E6F616340356E5A582438C780127B3E18C1D53479243203065C28C56E58779694C58EC6EBED960A7D7997641EC39F504B6EF931A064C1534A61101B23266E42557AA51E08EBA39E834E85958518CFDB20B66F37185A255D574FC332A0A41CF859F0A13AE8C5092EF23B4864F6194FA988C43480DEC66BA6A1B95F939FFDDBA53C0D5B73CB32A03606D4B7318AD6C75068DFE5CB97571B620283AF224A4C7AE192D58D364653E051C2C0A5DA3C838122348E9601D521894DA036AF1525B8F4BA5317EF7FE10B5FB83725C6B3EFA4B33DEF1EEF9A8DECD0BD49DDC692BB5341D1F63FA46F081057AF5EEDBA009A81D156E3A2EB4AF1C92EDFAE71AF5F1F1B3050B9B2C7D84E6793AB64E67B0804C509AEFAB1EA53A12FE4D2CA68D2A36FDC3278AAC43F1BE10191A7FBC48D67953731CE7D58516B8C1623B84A9473D46090C88C1A622022D5FAD6E20020A104E7507DB2AE7648C8E3CCF24A52EB7BB61DBA21B950DA17D0238C271147D82AB18635EB028EA6C9643E6040AD2792AB7206D95D0DA12D3471520D105DFA1B964E46905FBAB10BAB3A7650C45EB331A030A01897290C68680E8B135CF647F5BA984E85F5E951CF0504E5AF82745B337C9FDCD4D180A289B76062D990942416507C0694EF299E3EC0739BBF4AB53E184F5D942DE8DA25AC6F9D2545176F847D144B93D392427342681F20198CE072683CF8FDEF7F7FD70F57FEAA2EC0AA8790BDD02717655D40D1F7334809319D9478D47C5CB972654FFB8A5E3646E8C3758597EDC71F7FFC80ADEEDB56DEA00FFB59DFD0626CC0D07D6941C5546B09E0C8FD05247A4F12BE5701D82682CB01611B0931447B0AAB0B4DE1B26A8C5283EA42B6CC52AEFB990392C10AC09604809FA41B2AB944869A03E2CDB181C2B6A7225889856025766995533482CBFAD225AAF7D9324134DD85D4B17B07EB628852CA920ABFB1D55DCA0E199CE0CA9110C4788AE8D22058430949613A1AADADCB6A83A3ED24DA0CF8DC72D2B785E06A1295726305041BE3490A5D4E3ECABA02C55622B23439F61D5BE83106745F08AEB61B218248A97122B9689540BB8450CA62A1209DB522B790B436069426373106D427B78A135CA1DD4F014124971E6B9E63C5782A6D3116E3B98EBC450950F8FB273EB9A5F70412B2E009EDDB970E47EE8BE7AAE504E3C905080CD6BB0815A05F7752AB0FE1954A6ED92C78FACEC14AFB8D8C7323C6174D01A34A6A96A4507F92508C67DF8E8A9163941669CCC3EBEBA2EA7BB560010A6ADC1AB4C5D3071C0AD596E2406E7F925C09618B8548438D91DC523E291E481F4FA3ED33540E5610F71D41707515A758E0B8B8EEC63E181B30B48251C5A45CD8F6DB25EC90141E23479D440BC096663F6136FDB03E6BAB8CD9DE80E843D403128C495FA597503983199F39CD6C427999AC14DB8F035BC556A85B47C3D3766AC6D5072025DB621527B89A52F46317A3C986E4F29BD558C3753A6E25B7000A3609E0613FA98BCAE995D49CC2A7C7C0A10B57489FC0A013378A1C8A2EC949938BBA770E6C1D507116800662ABCD63295E003676B154EC13C965136CB1BABB06F0AC2BA791C35B70B20581AD120B161EA43E068F1265946E1418F09BA9D8974A724D477F5614090267C11C91A2411D505BD2A94D1B241B9FF69FDD8F1CFAF18F7FBC5B2AF081071E0836E2EDEBB1AC8B6A291D9463D94F8C56B9FC52EF3691A978872387C21B9FFFFCE717B146BC7D27DD7FAFB6CC0F8C91E0A2AC5429C633646802123D0E4670D593B6CC1583B9EFD9F0F8DA7D1B9DE8C0DEA2E4229EC6D0C5D98A6CBBA7125C7D0D461B8062ED188C56A7BEB6C6080CD900BA479286640BC080B679815D81335801D812EA8149A7E30005C9D833F0CF75B031A0FF352EB6BF2A89CE6D2049B543868CE0AA720161CB006995F01ACC5E4681B6B5303CFD3E2574414A4D11CDD92B29028CB6C6F43EE3495766C42534EF94BB9A06124E18637F838DD79B82A06E4B01585F3D08083AC578126144EF4F0B8689D0CAB70D62ABDF32A0F4858931A083135C367F5504974E3A065BC633B700FD4466750BCAB1BBB1446E8518D041092E87C88D575E79654598D0BE4AF9ABF4F88CD5F11CC29B597750D8D790D0F01648782A31538262B002B02AB5A48A7D0AED4B8DF12C10EE37BAD0BE12C9444DDE88CF80B293ED03A348FA80BEC479175B478E1C3938648C272B00D5E4FE3E38366068C28E1F3F7E4BC7855CF733E533245093E8553C7D20D52BE9634B10AF815A92BE74E0185DD53EDD9BEAA54AC4FB1B5D4355EC1BB4C3510900D88263105C3640A5AFADF271B23190167A24394B40B10D7A4BAA9CDEE903295E49AE7A207937D495B9EDFFD7E1D03890E40D031ACB82CF0145CC5D1D84E04A0184ED5102E369BB324F617DCD52C0DA1F3606148FC36FF17DDB0AC0A6AC66623C6D563B3765DB5B35954A4E914063074593EAB5E4966540ED824EB13172D549637D8C10AA0502E23C575FE0A481653C434551D63DA139F5BE53286E40C2262455138905F53D9441082E184FD5731218E8102CA389805FD2E142DCC654EEA09FE4887D068613724BE36F3B21C9A0EDCA5F24115C77DF7DF7A1575F7D75156002E319CA6A1FCA9D9D40D1FE9910B9A56D8BA27925BEC47028BCFED4534FDD13EB675692EC3237383A824BF7A5785936BF4AF3163EB9A5DFA36ADFA00457298633043EC2FA706FDDC08DCE75E1DEE02DAC8159DA0E89D918C508AE1E0DEE1A7D771BD6A70B976D6223BC1C4846C772E1CA536B1DF65359E974991C22F33D25F5B45195A43654EBC26DD8D03E5B0288F76043D7C9C60885F6416EC54A24F5496A2E6A7CFA3D34528C297BD30282EDCAEC17929D0CCFBD6A06DE0289620DCA54EEC37F6D10822B94751D530F94F981F1A42BB3DD208BA52C4E6EEBDEE736B9D9925B96014D21B7423C4691B6144D09B10200617DB64789F4A64D052859807E1D40110289653A9913CB8A36A99C410AC0DA2FD524CB3786F164BB5C6D296C1BAB210AD0AF2B289AC6C8A61F0A2094D38C6DB5174F1F705260F1D24B2FAD265DAA414457A847C944620D0F8A90FD00F7031D4E9076A85F495182CB016079EAD4A9D50FB7C54D7401474852B8DF9D8F0D0C7EEDF4215851BFC5B7A4C8600560D596429222B65D5EA27A9FADD857237D7449CDBA2F6D29D8D0FF1449DA250E7435806E2C058CDE0457481F357925256C02B6E889382769E9F0E1C3A30CEDBB74E9D26E308E543291DC9C43A89C7D23B8FABA61D68DB24DF5D621B44F07DC8EAD446469F2D2764831822B051829C1363EE3E9A7D585623FD7CD4845AD4008DA0C785B2DA70F55DE6BDBBD89C5CC0184269BFD009D565D4CF11AED0B8CF1C303842287268FA9F6B6CCB5AEE3BDC8F9B0DF7F553762BB32DB184F544553EFD5750547DBA2B319F04468C11D35B19E398B39496234A4C25556CC4B12C0780A14F8D1EA4660EB78B6D5BB58E708F12EAA01F653634BAA81DF1DA94BB070278901304864B68CA7C2FA4474950CE0994092F619BB5742053F362F014B4A645D2F55E28CA103028432DA15816423BFA75480F292A3AB3762C3FB708FFBAA9379D3CA76A0B871F2E4C915309A4A16E7105AB10349E46EEEAEB181409326824BF7277B6188A01CFB5B0A006A9BAB22C6679F498FBD67DB3969B068C1E95E1F25C145FF752D321ACED85DD212BC4549B5BD88FD60C9809A5064914D6384F8D14039F5354A23C4B2BB349B116F215BCDC67F0ED1B9B98B11BAE833F129F9AB367C8FCF5A0F669DC2FAAC012909E2935B446E95921CC524464EE983D0FB24EA42D4D8A05F8032792CB78E2D00C11D8501B531A05D5DDF7D27B8AC8854589F6ECCEF51C25E48488F4E477C72D9468005653C6D99C7AEC66911822B664891C8CCD6AEC0A01DC3210AD0AF1B8F119226BC6E33E06D57C62E76486F8941D12F85F5C970D285E212C9C21EAA00FD048AF82E3524974DC3C0D3B3DD9B0721B8F4BA08AE0B172EEC86B4AB47891FE3391DFB078AA6103FCB806A5E524A7F67B9ABF622DC0F6C7FE6339F5934B5B1EAEAB184824AEA72C9A38CE09274A58B641750A480CB32A092F08351E24E44ED8462154B253463A8523FBBCE565B8E554288B3D07D12DE97929AD845BAC4BA421725B872263D457422FAB0B0716F754A571E397264946D2964A711C14DDEAA0C76789E5483B1AF37B22F0457AAEEB4258C59254477ADDB861C558974EF7A14488801657C62A5AE72ED90C109AE1CF560C3FA7C66D306BFA6464A8FDD08D538C91EF0C3FBD86C4BED03DF650BBFB3C44805047B1EB07748072CE5214A2A8CD14321AB8C80619F01B5F643CA78169118393F063B07E389F883A55BE77D901C40B4ED7358061429826B9AD3B9791082CB3270E4AECA504422A808BD75679BC030253477372A6D1CA80E8C77DF03296663344D945BFDF32B57AEACAC6989394903194A0A38F177484B782C933A49038EDF09C932A0BEED3608C1B5582C36A89C4F59A4AE157E33C031DAB61443B5D1B4BBD8D0E1A9457C3BA912673FDC7CE08107164D2E6509B28B2639B59175686CC06071D96A435DDCCF54724BBF474AC76004D750D5FB30A27410C5259575FFFDF77F303660D096020352AA98C2AD349CD90F726B5082AB4FEC279969A825584F6236C6DE96028657E918D41B91F12EB070FF317EA714708A125C5DC0114A644625595B655D8D4FE25A28C32D9090E44C39A55472AB9434E924315254078CA78DDAB245C552834AD6CD1B419A982E4FBBFB294494372539C7403128C1D5347104B56223601D5B75311DF92E6AA80E2881C236B939472A0C467071B0F9438CA7ED51124B59CC9540134896B7B4F8A601AFCD82B72457711BA36DE22CE3498C275D9963319E25EB8D4FE4D65EE98D8AB631A06D6AA4CBB82E9A2ED8194407D59682AD6159D04D319E13C3392CE3199A70EC0F0042790A36308722B8B6CE9F3FBF9113D6D7151CBA39195BEE0647D977558BCADA6243A5210A20B2457A87F635892D1B663744335EE213493DA84B4E8F2E09058F4CC0572D113C379B1AD005145DA57291A4E612251BAD5460CB983AE3D421C7C53D7AF4E8E88061FBAE139E2090A8B4045E880DEF2B058AA21263089BC0D6C266B5E0B7DB2E8BEB62576831C08012FB4989045B00A524B955D4C6E85AEDD706B85A82AB2D65711D6332C880A74C82404226BC0EBF1B650995D359627489F1C4B0F2B3A2D6B964632E486C163C81C20289544FC8CBE80A8A628553FC2FA3F4A0DD422661881DC35CF530A52ADEFA9AC651760905639B3A210D5A38A58914A13DB74E184FA8DAA6009EA9585B375084A409F61831A096266F6B6E93BB001B2586FBF18D37DE7863050AAADB5301C6EE9296F666D6152439AAC1A7CA010792BA7704571B79226B596E950DF86DDA1CEB7331B5681C655B0AEA85F4951C31CEC9F6544B69B6D74B6228A9D959C907423643296F06A64ED678DDB9677449CDBA47115B9A2C764D63E17D255C548AF80F5238A504A115FB5F482EE949B87D72548E1D3B36BAAA7D9A2445DBD397458B40252542EAB864E7E63E527C91EAD2F49510B6513D99563699791DA2B950C530A00208C57501905DE97D838307DB44EB63617313B09E36CE93015AE7DA5CD0E4E4AE8AB31048B4D946D4561348BA4A97620457AA776163337C9ADBEFC83C7925B78EA14D6E46DD406E85F650FA80A228C115BB197A9430E976832C272B6A0AD299EDF130620CA8CD596D23B7F6AD708AEDCA8C552D9B41176D5B594D0028A78E2D03AAB125390B06D4B8F949E35B2CAF4440D0260F8CA7F41F556C433D4A4A7B33EB0E0A7F0C6D72B39F05EF67C00F46703963E8E0DB6FBFBDFA6159CEA118CF210AD04FA048B71F201E890165B30D69D275ACE74D13EB24C58D13274EACAC65DB3DA7F4A008E9924202DF3AB4A5E8EA7EB67DC64FEEEA636BB45506AE4A105A4D604037427239608CB22D85EE8DBC558C73D2334B925BA1B11F94E0CA99F4D07BF019E446303018B220DC0DDC28F50BEA575E068B422E291D9CDB18D01C3B64DF09AE3E0D6B900C3691795D492E01817AECEC13C180C64A550D1994D389E0EA22492CEB49BA7F2C91798AC958EE6E0B0828F2F604129DEC25F91B625DD4C9200457D38FF889CC361E2074539357D23CCE5A38A2078881210B5E5C118BAC4D5D147557435F1AB39AE95162D94DAB2EA6092FE3B25A69A247EA80EAB431A036F6625F0BA7E8C204042ADA1243613B32B7E9C41CC26B02C5322A4DA0CA211AFD3AA0A5247223C1E57E78E3F5D75FDF254CC88168EB4F322534970745681C2D034A0D33CA24F8C9CEB963DCD67D60A9A262B85B5D7342522FA8EE61BE18DBE41338DD965CD527FE82F28EC4BC14D9448BA1D4DDC88E1FAB5892FE26E54037829B56C53AC37D8C0FDD12AD34C9C11992DCC2251E8CE0B2C66429F5C0668F068A743DD92F6FBDF5D6EA66363737475786476050AC0552916E515A7400A409242581534495940284ADBA83854D61B2AE094A1FD7838C3DE5AD0A18E22B449363BB11E1560A14FB4670E5EA56BF9627373EB5DCFCD06ED3EEB5160979AB30A0B6F75C573B645F23B89A9AF172DACF4280B5D5F1B4AA6B1D0F280142FCF0006597206943AC71D3A4EF4B04970F08367E90003ED9D2D484657253DBD500E19264C10314B6ED53FAA90D4E70D98B2599D9966E94BAE813D237E5AF368F856D7043AB5301058FCE7A3FC509AE9018723642252389B03EBC0AE9415BEFA27409A60924CDC009C58042708568F2E20497984F01404090216919CFB6CDB10910C3802264DB590614092EC9D2679CE776B2FCD359CB5B327EFC70B4D22A41A093FE1C7B689F9289B4B253447ED79615B64BA5FFD99C50BF45E9AE44A99282482EA1DB721BEEF928DB5210DAC70280B3D0EB2572518B174E295964BEE93D1BD607AF21834AAE19259AC6ECAEDAD03E6A9AEA1403CAF6BA2D555582DC2A4E70E54C7AD361CB3792D5CEB9CE9D166B35BD3A95052F8048651F3D7A74B7725FA828CD7E81620F30BAF2ECA10B0110B6709B1FE33919A01F1D5A286FBEF9E66E831B51E432F8298C1BAB5C54AA22412F5512932484EF5992CB56DF0985A24DA0881F6CB849CD8A2E87D852E11502A3421EE1BED918B1D7319A9002BE849848AC726EAB0DEDB3C6ABCD824F61408B771F60F56328EA22B109A816E7EF8E76F5582640B407E5D8FD1419F2E410DBC4AD7DC92B71E85C5CBA7469973491DEF313994B782C1328BAF118ECA7D00989F84F3CC0C136D19C94D83E73E6CC8605C350934EF89B7B1C5D7136169555BF394049010EBBD87523E5AC0A81D912C3A171593AFAD87E07217D449CD76D29966394081A472AF711B5156A9A5BAA385BAC4D67278991E33DF449571418B4820887A7C8BADEDFDCDCDC1A1B303449B20DE46DE8FEE9B92A9A9CD0855490F431348B6DA2850273BB04FC2211D08B1A04EA5DB615941DA33B0AB905032A903CF4D043ABE77EB1FEBE92E3B6115C31B149661A3D4AA07C01C33A329EA1B10224D7AE5DDBED5BA2BD140AF6FB81C25DE76B3082ABADFF2A3ACDB6A380F320B46F6AC6DB7C68AC142D2FD52A6090DC2CAA9CF14C21B70675579B5C511BCB49F337D48665436352610244FBAAA6540211E55239449413031A23B7F685E0B2BAD16E80D91DD3B642A5D391CF65F8CFB50889A6230694F03EEB890C2E31566F2E1673F1F50283E51A6C3273482A4C84567990F8D2C44F6EC6D3416AF7EEBBDAA44214F309F56ACB01C5C050A2DEF83AB6A5E8CB63F8A17D750E702F43B451623849B1EDC4D5465B04785F5610F0D5BD364699D4ECB7A5400A0F416EA514E2ED4370555D455F932461F550FE58EFC90AD7A99B3976ECD88D317217B4A5C0DB50E496ED3B3B54E7E64108AEDC498FBD47FE09228E5847318118B37C6ECC875FB90F0352A5266C167C287D73C8CECDC508AE94F7A8BA43283BAB03514AC0C9BA1EB2D39094972F5F5E491185F73DF8E083AB4564B3E087D84F294670A582838ECC8850BF2BF3E495840FEA9D8A0195BDA554039B058FE19FDB2BAD97C4C8E915EEBB4D96F5E43336BE93F7A6209DF48566B3E0253D8801B5BDE0FB34DEEB2531423BADD6E2B55675ACC0CAC45BF407099D902C032A29228902B9180BB01E34AFC4760BAE4B21AD4EDA52F4D9199D4093BFE29B3A2121C5532B0D7426B89C085B48A4C1AEF9EDADFAB8461328BAA9015F9AC080EAD126373705EAF426B81C32B71E7EF8E183A11E257D3C96D0416D2AE7C51C1ADB846B61C93ED0E4D93661B99C441B48304EF57B216EA414C135888AB0DC066C2774711D853ECAE26C0284802FDB80C87B6254FA4A8E21A47476F7813EEDAD68484BB10FA19AB03E0D560D96D145F0901F82C12EE9A84521F613CE822DF692A0189CE0EA03088180867A7833184FEB9ABF4AF89EEC3722C8456EC92D658C0051E9FA9FA52446952B966C2233AB81F24CEBDCA3A449CD082018F952350289A489C6D0B62FCDB5430625B852EC05DBB31D97C9EFCA5CEA82C7EE9550FF5449CE92B2028A0C574A4EC7C2249BC6755F5A5F11D667936BE1362C759B13C0331D71CE4292C4C6804293DB18D054AFA628C1655D2136766C57E650EDEAE928CF63909B826D420CA8CF8096EA8BD65819D889AFB9A296050A8C48BAECA46EE8A418AFD391069410032AB050DE51A7EC94129DA5DA521477C55613184A2534D7C0DB18DB044BB24A1584388B2EA0F0C78F3AA0020B4150457BBBFB22C8DD88DA526CA45473E9FA1E142E115D630486A4ACC4BEC2FBC8B381BBE90A8AA6FF69DAC32A5E19B82F00EC205100844466DA5208809B9B9BA30CED93D827CA9EAED4D80DD80E43756E1E8CE0EAA31E68C4ABC1A01D93568BDC32B9647EC2D2980F0B04DD3B4D794F9D3AB5BBBFC17E4A49726B0882AB132020B9E03560F3681BB9CE15FBEC41A8E3D5AB5757EA54C496D48D5C5292BF6320E9AA723A7B25BE184AFD7224834DC6B51B4531C673F24A3EF2320410B9A202090CA80285A9A961B3E087EEDCBCE8D3CAC0167745545AC6B3A939DC14DD151F6B028505068105624BC9CDB2512CA37C47D818B6E380653D797D8AF11C86B720A54006AC243231A07E167C1F6F314B62D84D1CBBFA6528F559F51338BA83C466C14BEDD02E4B60A143444A05C5248911336CDC0F6E409A90C81CAB52DB87EC9A8E7C4F83D7D879A5AF1A19F0024C9F85D8B889F6CE3BEF6C9F3C79723E54C31A9B9C44BCE258DB52681BDD4ADF12A0084913BCBEBAD05DF76BEE9BA2D8555D40DD0ADDA82C9DEEF5EB630306C1BABA57791BB40AC325CD61404BB4B0E8E4AE862EA00438603C25EA04040D8CC49F184F7CF59A3A1EA5BE219642DE869FB74A8A86DECBC91119D2655D94684A13FB3F482EBF2BB300B1CED15C366F55EEA8C647C6E3273EF189D578B14D80CAD9AF70BE2C822BF7C720B9E8BBC14D4EF9ABF145044DAEF2DCF480972B4A35611B03DA17144508AED4BD0B2870F4A9ED4E602BCD4D80683F486C1667213B4C20915DA262B1BC6FF7979AEC9041B6DD99F3D80FDAF28D3AAC2BEB176B9BC8AE6E9284A2329216020B31A09601B5FCD2BEE695D84466CBD5DB44E6DCAEC11320F2790CAA2A5307D466C10B30446D599B6D3082EB9E7BEE5985F651F38264A1BEFD492670F427B77C06D466C16BBE9419DF67BC1B092E27C296274F9EDCD3A324652FA40B20A6B614696315030EAEB0D48E16702CABAD882A7140D8D396A2744702DD00617D32B4EA9B197D5B0A9BA19E637FE54893BE4D09175D567D9FC386F551A84C624FA058A7B614922022B7603FB5DA9BAA09946859518CE0CA91064D2AC2329E105CB25D9A56CC580FBF2D851609BD4BB01B2CB9950A8AD28B3B29822BD79EB08C27A1EDC433DA34BBC9D0FCA8C6A925B71403AABF6DA0700972AB18C195FAE5B63F89AD7541CCE294BF9A76D81850A91B459293058F4DD2446EF9AFDD96C229B6610DCFE950100BF69DD8CFF485A7F1830185B3802A673FC5EF84745B0AA7D86C343BE17EB8DF7E1BB3EB7058CEC2D6019597A3BF63EA793082CBA9850ABB00FE8244669E4FC9CCFB4F7891054F1D509B051F8BB22B9A57E2BC898A380A2443496327F2DEE8B28E6C3BB01C40A4B6D1C48B91DB2F09A253733658EB2B87C81D42FB72EB5DE414A0A7625FCD7C8EAE6A9F6C027116B669609357D687DC22ACA12951693082ABAF3B04C903F349DF78894667897F3036606861A9903C712AB20F74D856A3B9EA24E53383174EE90B0E36E0A0BE6D049325B9C69CBB6A2BF749E46B3C44FA294858E302FBA9B3C93BDCF7A4E6942FCD21BBD814D3CDB33A74D37EC5BE753DF024FCCA7D0F3FFCF0EA7518E22677B44BC7C4E2298A29BC3BF4B70041283B99ED58CA29D585D7EDB095FB243569CA7BE6CC99DD2CF836063455BA0C4E70593090D04C581F0C5DACC7C674342F42A4AAEC12495CF1153606D466C1F751399D25464C5459D6130BD852DF4DF59F26699177685C554B43760979AB028ABC1CDE8F31A0832535DB56DCFE7E877DDDBAB213208623B734F9360B9E882D491381C60FBF1C8CE0723FBAA10BA1D22FBDCDFA4CF2048E6EE3141A373F0B5EAA4660918D27093318C1E540B1BDB9B9B9B02AA22FA1153B4C81B6836324B8E471406EE57A0E29DE08711EFAFE120BB891E0B201BFA5139A75D09907FAB6E6344617A8C176028624AE2A6EFB10E45653239B22C667499540435A9D5A45F8EA127B427CDD526B74C000F43A691BA6FD0C055AEBC0A5D77894004571773564D1F6C96D85F1D4200808309E02824DE05D37DB0190680B1D4F435E06515BB21904943EA0D817822B4775B02946F946F6400406CB784E46E847EEA83C0C9D5A3CC45988DCD238690169FC42414F25798B241B23178DF426D1C99E808DF19C7A94A41D1A2349119DE4ADCA157DE491477655AFCF8076951C4525865FEF42174FD17988161BDA9712503C1DF1B1860155A0B0DC5049124593CB88EDC380F6F64AFCE7B6341296B6CF78E6A89DE948B70520B5B49FC2D6BD8072E2C489DD7D29DF151E2CAFC45DC01CBBC06E8997687B301DDD41A2F1479A5CB9726537B44FD2846A4502D0609B68B6F4732CEABBABC7123AEA10B8F9D8269671EC6267A518952C5E81855087506C4BB14D3425359327D297D08ABD07B7410F567743A34C6AA6582B223FA577491717957A5E7D2B17255706EE5BB2D1AE1E219AF03E4921081E0DD6B163C74659B54FEE3A8B40629F4D2F3CB8B6D0FFAE2D2BBAAAF7C57EF460A74A9DDC590D8E4020FF5CF106561A8DBD2D0546BAEE9F3191B741E53E2D106C8712E4D6A0ED35BBD80B309ED4F024C41D40B057B0CE878D7B953B2A9050B94FE326801013DB1714C52B037709F865438C4D22DDE0D4A3A4FDB095FB348E0AED53A030BBB2BC9FC2801609D4E9F3CFD66BA1250599ED4D5BF5933BDB7C681C0510456E69A189AFD0F9E0830FEE96924821B70627B8FCF7FC6466FAB1762D403F1DCD2A8774441850A4090C288C730E65D05B62D86A70FA9B70BF505DAE0910C3935B0281482D159E9134A14C820C58BB487BD7E06A32589CF89A5302C9E65F96D061D3D19FDCD282941B2CD562EB800A2CF494E9AA5A1A258613613B0E1C1B4D4663096E837C943A6E63ADDB52E40025D0277777677650826B88703EDE23899968AE756A4BC1C4E16D7409B0C9CD551DACBD665FD501A1A381A19DB5FC741956EBDA9682CA7DA424C2F1740145E9F94A22B8527FCC7F8F66351A08DC2CF11A329E72FA9C8F99DC628B80DD511D843F86AA1A966CD2DB99E0CA01848DF1443DD8062DEBDEA3A469EC28EF78F1E2C5D5421267A1E4660186F7422A67D0E26C7D5B5FF98C279145920CB1FCD5C99B891FB23B04109D1A5719ADDA99550C285DA1429B6EB785E08A956F947AA0E61399EDA9F9ABD3D17E680CC57ED2BD596EA8C8ADD3A74FEFC680C69298FA46CF65974160530CE9102A6F30915DE5B90C8AC586B2E0C586E2D5593775B0BC12F783157D3D2D8A394371A1D3311CC1659F0B00360B1E624B06ACE646CCE86004979302158D78FBAA8694FF95B874126931B609A6BA501F9ABA0924783992269A2F4990BEB93B8D0497BB91A5BBA9AA4FBD8BB602F4905C4473CD465ACE51A25F2B9AC87A4211FA8222F45A885DDDD708AE2EEFD19682B445E20CE4C508184E148E2E82875205B674A5882D2D0CD215630CE86D2DCED6C7CD49716709F495AAD020492F8AD3F7DB4C8F3DB4CF56EEC3D3D0229101F9D0430FAD5E87DC0AA982AEC5D90625B8725C21285F32D52855286309977632543F34206524D2778E42F2020905DB346E3177B40F2959C45D6D0304BC0655F2613C6D8CE7BA976F6C3B08C8D1A943FB28724795B72AD513AA8B3AA43AE9DCDB9DDC55F6FD7DC6730242BF0320BCF1C61BBB856275CA2DD5F8DA18D01828DC7BCB2AA09F8BB7BEA26C236D36092BB38CA75FA86D521965548E361EA9A70103EA1BB07E0CC660041794377F33E97E3273496F663A9AC7CCE6AD866240A9CBAECF0C467089F924CE93984FCEE9D87F5084243185578801958DA7B358B3BCD08F3BB769E90CA02AC756E8B257C2EEEC9843FB68A509B9D5950E68323CE9844499476A7C7591D445BC92DCF7A4960402C2FBE8B428F1E7F4E728DB5268C268332A6F8362337ABD2B03DA069CDB96A298F31E648E06C7E6AFCA3D23B620B70BD0C7E9D03DE24940FA693C1490A38380A654063487B7B8AD115CFEC13E08B5B92834265D28C9B0CE06A8EE1D90C8DBD038C92E50A699248A5E17FBA94513CBD9E91B1CDC5B95E4A80EB9B09206A42D4272C9CDC2A5ED1BD63EC6039A5C20A18AB03C0D915B52375A483A19BB9C38D0A204578E9DC11E089E0BB52ED09D13D195AF72B475A053632A424BAEE8B973E756E34CFC2CC562DB40D175FF297913CDB6A7422A480492C88CFFDC95DB988EF0789169F6FAEBAFEF6EB891056F2B0AEF7B5E890F083D921BD954B1AFA4BE9B00F2116741DEAAE642EA464051E53E362BA934D05B9534D9104E8CED06E9000836C4520BD04F475972CB8E39D244FB296CBA499A48E5481515B731F86127A6964E6455B65373891B0B1D145F778FA30BED93DA951A40C296040ACFA9030A03AAD7E98254DC2B69ABE5D937A119C613B796CCFA31AE7A8143A21F914FCA450E039AEA8DB4D561ED2431BC7DFCAA2420342874E011C143F3158251746C6E6E8ECE85B15D1748DBA4A605BBD34D0C68C9A09CE2DD07BA5ABCB4A560AB9EF84E893C7F20C61EDAA70363DD263753B98FBD8E505B8A5C5014DB444B41532A38B42274B396F1244C0D7B653A6EADDCA70544535EFD2D8068DCEC167A9F18CFA29B6829FE318C273D58A9FB40C0EFD4A324ED800F52DEAAC6934CB34F7EF2932B954303A05853E394C8BB6C8991CBB5FB5D99F1A1A71E25E5548E380B9D804459668F3EFAE81E06943AA0A50BF9666DBB13D6474518620F2DD1E5B7B098B88D322AC732A0B24B2449041451E6A41DA454142E4270210D6C576600911BE339B19FE55C5FCB806AA14A9AC81526308756637D00D2D8FA0A0A9CA63584F795F2584224D758DB52F85D1C4A915B569A10032A5798366483105C124F42635F0034BDC7661C24D758DB5268456360A6B6A5C8715191C884F50930A2C78722B88A57EF237A89D03E449F102FD138E6B614042DD90275B1B614B9A028EDB22EBAEE7FE4166903081A185216A5276D56F6D8092E3621694B21B10FB9050B4C51FEBEE416466BAF788CD08FF42D3E4F137A741D514884AB4D9EC6CEEE985026419244B5B6B49018AB262332378179B028F1A62F27C6532B4037461D4FEDF8D98A7D1328C2634AD49BB6D0A9DC77EAD4A9D9638F3DB6028900626365074F6ACE356E7CA38A2D655A53EBE6140B804BBBEE0D6BBA1CB6721F862BE496C6932637D680EDD316AB93C4F0EB570006A90A184FC89558B39A89BFE87EC8F680B378F9E597778371C88267C3CD925B8336B2F15F677754134F09C1A618CF89D01A46E590B72A6922835E2091341177A1F9C0C36B9226BD092E27C2AA50589F1E63EED544870F070AFF3959F0B677097B2ADAC01C8CE0725FBE7406D06EDCE79019ECBAB1BAD4F4C1B14D2A9B6048DABE067868AC29612569A1DFD36F90E5569CE02AE90E850C57894200818A723734BA082EF25489B7B095FB728DF3546FA4EF226E941890237D7EC8FE2F217D54EC235753A21032C6BD373A7FD61665433A8AB710B1A5D54DBAA2EC83DC711E34A9B9E14BAB3EC8631F8438470D8CC49DF46213BB37F683BD12F2434404CA2555CF55C648A795265D2BF6ED1BC1D5F663BA51BA324B02C0EEC98AD6604CC13B7B0FA9155BB98FFC1055EE63E75486A48D011D2A9C2F99E04AD920B38CA7FE26C6532497CD5FED9A97B24E0740D0F9CA2BAFEC06E488D8D2DFD0E41ADF5C326B5F5A5F11E3890D42581FD55C7C6E630244B703DBE3D5575F5DD9257243659710034A4A8295C2FB5A3805C9A08B131868FE46BF8C366E630247FF43E3AB7614522BB4F89634F9D4A73EB5BBE926A0E434E6ED2431EAB614BB76032E172E966D563355E8DB7F9543F7666DBA9105AFC22BFA5B0B56AA7C30820BBBC0D6B9285182A9C93D9E42FBF2790C2D562B4DB47D6F93CE8B135CFA411BDA57E22642AC2015FB6ABB6594FD4A348EE4DCE0AE960879F05F2389A9EEB43D0CC195425AE5BE47C53E4EDB69512AEAD8B163A3EBBBC90E29BBD2724965485274C6AF695182DC1A9AE02A02088ACF437F13C2263D690764ECA17D7EE53EF25605120AB6695C52BA37978C03ED2C31729147B22E650E088685DB980CD2BD515BB20FC405C936506E08FD56E946E04B935450142D83105BFD6D9282805F7258910A12A13688670245F8602F4520B195FBCE9E3DBB4B9FEBF4D30EBAA88FDE36469B2B2A89C05E08D56F49BC9D7A94F4533954EED32135AC809CF3E7CFAFC69B20E12E0C6811AF24A4220003289734D085FAF9ABD351EE60BFE9673FFBD9EEAEAC380B915BD401B559F025CC82455B463B3E38B52EA800D3D4A36422BB863B2489B521A9E87B18504913D1E49A274912D4F86051E2F8C1701A4D3D4AA684E6FD335AEDDF30A0D401852A47AA0FE29548C7C94A6E520F2526DCD6DA186B5B0A4D16DB095D532ADA6C08CA4ECB48D57B5237BD2446DFE4952E920220D460D8B5CA9D781C65EE6A7D6F2B6F430B81AA7DB1E6777D41D277F1B6A60F944A68D6E4CB70D229B7965E1D18AE105C870F1F1EA5CE8106979148BCAB1850AD6A81C4B2BFA540B16FED355300610F481B4907AD125C2C89BB758EE4D2BD53940D06542EA918501DD6EDEFCB700EDA5E33C756405C52D01592CB0F28998E8FC61A0654DE861693C64F79AB9228F478D1CE690A039A028AE2ED35439F657794882E5C25557799F257F30FD91D1A3B9D523954EE236F15728BB614A992A328C1452B2A3F7F953D105D38FA5117CC2EE114E3594EE588AFD0F9E28B2FAE2409A17DB251880FF519D012764792C44045E8C490A2B9DDD4A364FF0EC82BC580527045768918507AAD36D5012D4A7049459027490D4FCE2EF9ABD35186DCD2E254589FEC372D581ADCD0BB44F6CA600497802063C8AA872615D127A1796A4BD11D2430A09216AFBDF6DAEAB728E83F08C1D537953E8511B415FBC6DC9642EA98CA7D30A0396D2972BC11C20601C6A0ED354B905DF8EC905C54DB5F87B6144467416ED9B614E4E4A4B8F3393CC6E0ED35BB6E8EE93DC2FAC86C0708D281BE1BBB0E6D292CB945A41B0C2895FB6464FAE59FBB2EDE3B82E0E2B0E50DE8DD2582468F9351BA579200122D145BB94F634753DE50A5C3A13B372F4AD4BBA06625711B42BB8DF19C0278D20E02850512622D244954B98F7CE0500C688ADD5194E06A9226188E546F6113C8329E53FE6AF7436A160694BC1471168A01D5219A5C2009EDCE96D869CDDA4483F1D4856234E90229791CEA5E3401A28CCA2106F46FFEE66F56209124114D2E490D03EA47E00F965742A53E482EC0609BD5A4B06C1338CA1E94CF146721BB449244A7A872D4B8AD285C9CE0D28F028850B0EF40E17CA3734DEA9CDC620BC47E0F59F09226D8253AE5E9F4D9CD6E24B8A4C328F49AE3C2E60E1A1E8CBC19A7A60E8D0D1892BAE22C20B5FA54166AE32D50291A576DBA759D97C510D13F6DFF4B72126D3709EB934BEBF4E707630386A42CD966D4E3D4626333B24F3DB2C18AB3E556D4E9624BC0DBEB947A424F52C5D632A3633DA8B54E1E8EADDCA7BF613FC58EA6D4014DCD161C9CE0CA0584A4828060194FDDB47604D7B9621F875FB94FECB0BC0D156D25F20D7734479D9452F78B9206918DF1D44147E650CEE574EC553552A33A253501C9E38F3FBE7A2E80E83DD2025240D1D7D8EDD5FACA366011EA0916112943C0C8D4A3247F81852AF79D3E7D7AF6C4134FEC6E2F40930F55EB73D14545D07B55079B62EC90C26F4C4799C356EED398138C239A5C630D031ADAC21FB4708ACD5D255146174A40EA2415F657E590B72A17582021B9991850521673DBA066490CFDB00041C53E012156DE606A47B1BFEA46072090CA210654A76C1419F9B69A7051828B32C68021B7FC520E28A83BEE7E6F947D573559105C4380440B57D24431A044F0DBC4E6A29581A9E339C4418C2739AC54B45B8E50BCB078A8138E2D2657B40F6D1DB329304AF10E0727B872A4414892482DC16D080C34D79395AD811238C61CDA47BF55585F791BB6AF5C8E3419BA0ED7A28BF8CF89F184EDD440E8396D22E5D2AEA3C14A9CAB4E19911A178D91BA0DC8C887086C62405340D19BC7E85264BEE93D184FA2BFB5522411E46EA5C431AEDB014D4E851C7142B4D224C34FE3179326FBD2C8A60B38B015A43F2DE3A91B52CD28F4E9E4CEB61F1A275212A5720412A91B35B8D1B80B207A4FE39B2239FA1C8B2EAA83E86682788466E948ED20DA18CF218DD77550396C27BCF4D24BBB8562CF9D3BB7020C92448FA9D2BC882A010C564510D6A7033D09E339956E1CF660BC7FFAD39FAE548ED84F9DDA4FD1F8134D5E2A49ACD1C6104A09A0D1EA2791D986F6A51A48D351EE8831A0A2C9051A0144EFF58EE08A4DA8A403F5AF2DE3D9A7686C1BB7A19FEDF2AFE66CFBFEA6EFF0BFCFFFEEAAEB7D69024B178E8931A0020A3D66BA2EDA468921E920C33235C6B38B8EA3223FD15C6E100F2402A0D764F5E1E672AF41F72823D296C5EC1B8610333CF5BDB2F5A88458446294EEA8185B3D105C50B6B46690A1E5D07EBD8B34B8038EE87552649FF40BD1E3BA773A46C536BDBA925B39AFF5E231FAF427210D81D03E184F19ADD283367F3520EAF5C2B2C08495FC5CCE772D7D77542795FB684BA18D2FFAB6508CA6CF622C1AA893AB22DA6C09490585B113E349ED2855B04D581DA9126228B5D264635499D7173CA4FF61386DE53EE5AD6A2111ACA33387012DB5C3BD28D17E093D8A8A207F556010E3D9B7AE7501D5520D243152AEA54A19535BB94FEA866C332511E975A959E58E204D860C044E26B8623FA81B9028A42BB344A4F5A70B731B55A2D4085E72618931A82AD2D8D9BC55A51BC8D378E49147F6A42B126F3144ADCFE4BC129ED39559EE10D57D652BF85D990B731A39935115F80D1F18A992A2B881ACB124505879ABDA7A904DA2A82DA91E42FB6C8989A137D12AB80C818174453C085DE86D623CABC824560163B5EA018C545B26069041183EE26BC55948754BDDE8840115506CE19541B6DDF583D4C6924408F52819B81D851DE02A91840AA9901C1BC3FF9F5440ECAB3B4D25451850B2E0254DB4332B8048150D4270E98B45CC7489F1CC0104648C5640425B8A1020DA262717204DA06B03E82DA0B66D294A56EEB3E3AD854A80B6B2E009E2DE3782ABD42E1E0417F189E4AFBA9BB9DE20DAAB0C6991CB89C4A4531B485A6D1CDA52E06DE87E21B7BAB6A548E1310627B84A80835A9754ED9318246EA3A52D051356358878F65776CCE7970120B401631601A3FD9D7903581B3D0D520F21B7B47D2E754D047E6A5FB35417755082AB8FEAB01D99B55A207432DB52D8819F071E770A115C29C0E0B5B939B3892F9FDCD282A1BC2306261B635D413138C1950308D90A72A7A42268CF2DEF45B64A8746BC556495571E28E6119B62199014A91223E6F5840031EFE3B66A4CF034940BA27193BA1103AA7194DD40C04ED362BA2308AE3D5F50C7784A22C883413D000622B97AAE5E5F32CC3D15B2F400323430660D00E9C56D10032A905021479244B116523722B66872DCC6390D467035F53383F194354C56BB1ED9282A6079FB935D45EC0A7D6EC3B3434A0363E681711EB816DF28EDCD63D8CA7D52390289C2FB9E7EFAE9D5738144129918D0A236466A5B8ABA0CD2EA64AB586088F55F2D4C68CD02130030366A69B26300321B0018F67737BCC72A814BE9ED924285BFF0C20B2B95AD2E48E22CA47AE882E417D91D84E012474FA1726B3937B5E72EB459B6F40679E94DCCB2BEF62D33F0A89B262074F14A62EA64A341820CC67C5A06F4273FF9C92A125F8B56F19F84F7A18A049441082ED2E86C7983DCFCD52CDFD9D92B4E222D02EAC05FAD4B038EAA06C4D2532F2581310BD8165662F86EEC1EE9C1B6025D014A1F9A1BDBBB4412A468E114FF8B24216C685F091776CFC89BFC55BA110488263B314B3321332321E6061CB980480549D5E0A1CC3DF0ECB17188B79004C606EB9BB71A9B33185071257D166A7182ABEDB0F9AB9210149415DA7553CE02BFE90D6E48A46F046C8826DD5E0218B38011BA11008595602BDB07DE82D2955A0C12FB2472B30FD5771E06299C522A60C77F8F9A523AB56AA8B82F63C9AF026368DC9D0655B23446676526C257215500383994784862C4BC93B9F71D41E69560609D72E9B5486444CAD3D0D810DAA733579A9406C9A2342088F114DD0BBFA11B95789354486CB5B913A1B4635E42939BDAD5106C532721DEC257653B6DB601B11612FD944950BD2DD923905B7E2BCD5450EC0BC1D5F419685D9B9CA41BA2017D0EFA6BA9A101DDF6A44428D6A28AACF665641F23C7F89C35FC56D5C0D0024E794CDBEE7E7652EA976A8C887ED3219088B750408E161AA17D7AB4B4C050217E9D5B5F51DD9766BC64662BA7A1406D2E0B8CA5A7429689D2649939F931D5D2B6AD6F3F636D8B6DCF20CE764775CA1DD5182BB44FC9CD4F3EF9E4AEF415509A5A7FEC4BEB2B0C27E942CB780A0C309E7E3782AE45E69DF5FEB8FBDF05C69DFB7B5E7FE76AB2EA15B86C3052732441D67BCEF5DC055F7D3D9527F196F5350A185B4E451CEF5BF1586A45D1F53AE5FA2AB683A26C96F8B22A67D0C229D27B02011E04617D422B9D007D6EA3CB85D4DBD0DB4E1D090007DDE3EFD7837ECBF7C6063954A229754272631742A5201A9E1F905A70E3B8EDC66FA36F8D102D488DBFCEE79E7B6EA56E4E9E3CB922B664D7A16EB46063F65C6F828BA01281403F9693BF9A32190E704BE7ADECB85530AF5315ABC5876147471884D8F7C682514A82A3ED33218070F29CEA006E416DB873C749C3B91BCFA553135589482EA2B62816AB0D37A91DB9C4524345082EFF66854A2112209408E7933A722B68CB8162E1066D5B8F5A51121CB6B898FF9DF6B14BDFF85220B2131F7B0F40E8E46F4D9A1640ED6D5432D69DC1B92380B889ADBAD862FE1850B98F2CF8C109AE3E251BF55EED8AAD548574B09312F3BA3DF8C20E087FDB8ED000C13E87EEB5CF53EEA1ED73A1CF84A444ECBB7C50E89400D4FDF39E56B218D0BA46F8DC4DE2B65B781B6E52B71C48165D55CD20F1187DBFA449553889B3ED0667C30DC88E3398361C382AFFF798743D5AD7D69754BC6F5F8B1064C1C9CDB9C7AEAA45D7C86AD5FB7A6E81C2A9CFC8803C71E2C486EEF3D2A54B0B671F6CBBCFCFDF7BEF3D49928D54553384CBBAE853943C24496AB179D3DDF8C29D5B4EE71D90712423CCAA01A4800F0A9DFA1B5797E7F67F432AA6492AF4ACD791FC397EDFDE1BA78080318FC4B36A46DBE7E7CE9DDBA06A8E5337CB5AD5CC9B54CDA0C5D9BAB09F01C36BDBDDB45C38D925D59933672A27250EF8AB1D3287E7447859105830F84048E92F56BA214ECEF7F159AB16758FD42BD3BDA15E684288BAA582F0534F3DB5A1EF71EEE98603C94D67AC1E7086FF2DAAA66403DEDE94B8FD3177C34B77D15BE21C9CDAD83E7BF6EC4159C5EEE6E75602C44E5F4AF886A5B5EE535CD6218F2EE0088CD7EE3D4A52001840C2A9F7F5A8DA9FA74F9F3EA0F179F1C517371C5096EEBDCA8163E5D5587774301B23E58BD804721775C35DD40177735B4E322C9C08ACDCDF079100FA1C138E4460F2392D87E1AFB2216C9EBE139F6AE4C6BED777632DD891A4BE8AD5490B90279F7CB2FADCE73EB7E2299E7BEEB94A8FFABC53334B67B856A58DD124892137E8DAB56B5BEFBEFBEE8AE9DBDCDCAC74A14E651CB0A51BFD1BC7C8B2D220A48A422E69AAC158427AA448A2142337F5FA7C4968DD5CEBD5586F86CFC95E13352EB03CFFFCF3B31FFDE8473B4E82CCDDF8BB69D83A10B3BFB201ED447FACAEFB750780434E32ACA48333906E7CF6B39F3D2486CDAEF0984408790D5D2E38D5F34859DD6D8C6529491123C29A3810FFFF00880F14AB72B055B425F1D77FFDD73B172E5C90AA911ADF56249C5BD0BB5B05DEBDBF71F9F2E5538DF7E0263F364B371C180ED6FAEEA61369D703376241B5323CA552EA7D8E798413904D4226CDDDEEFB0F0456D2526ACA7D6EBB6912611543F3D93699FE24B4D1DB1620A1CF98F7785384DD81884A911FBA655E5F4DA0BB9F1D73FD3A75680E44065656A218C06883E426DFFFEAABAFDEFDD65B6FAD7E570C6B64CFA715185225E7826F2C16A26EDF8377901E63FFC27BACEACF6F3811F77BCF3CF3CCAFCA28524C8158532E583721C3D4DDE45F7DF7BBDFFD374ED21C76FFF36987F87F7BE5CA95C74DFD8DF7DC6BDF74E2F1A28492FBFB4D31CA818DADC6BF6BD054A9FF67F6662A03B894C8F15BDEAF2774C319E4BFEE56F3A33218EB31BAE9EEEF876E5C2FCC3EDC92FFB986D66C08EAB51BEE9E3FB8FFFEFBEF759FFD6DE795AC68615504B607754A9C5BFB1F2F5DBAF40D73ED60B372DFF3B7DC387F7B766BFC482B8BB67093F2525F1DFD3BBFF33BC72E5EBCF807CE72FE1565506917D0CFB6262056ABC8DD881221546B70CB7DEE0FEFBBEFBEBFED5EFF845C5E37683F72C6EDDBE6EBDF123B3F1B38EA7A80E381B7DF7EFB7F38F7F3AC9BA047746F6EC1BCE8C6FBA2B917B915AFCD3EDCA2679778C781E0A1471F7DF49FFCEC673FDB944D4124B8955404F51C3D7AF42FDD42FBFDD217BFE8FB055FFEF2977FF7273FF9C9BF7496F279D91BBA78194762F5A4FFFC1D3E678B9C770F9FAC37CA246EAFB801FC0BF7F75DE67AB66B517BB33E3F8E6586AF69653A892189F7AC08BE7AB56E99531203F551B90572CFA73FFDE9DF7CEDB5D79EFEFAD7BF7E486A5C8B49E497F88D489AE76FB831FFBDD20D807A01E32B5FF9CABFFEE637BFF9EF9DC772C81A5ADAE9D3F9D4534FADB6826D7942270D8E9C3F7FFEEF3A20BD6A06EB7A7DCE66777E3DCF9CE38388D80E4EE2134F3CF1CFBFF5AD6F7DD6BAED1A3B791FCA21F9C217BEB05A6876DBC0A9922F6A1EEBF88F652980CCBBFEE3D7BEF6B5932FBCF0C2EF5A50F8C7B3CF3EBB8AE1B046A26C150796CF4B4DCE3E0AE8F5072D1A50FB3139962DE72D875B44BFF4C31FFEF03331EA5B94815B84BBE531399C14D9FC855FF885D332E46B80CCAB023E7C67603811F9DBCEA6F864DBE7BEF7BDEFED66B3994DB3CD4CC9B0FC989DF913319F7FDAADFE8DA6CF08342AA9649BE0390FC469997B7FC3FD79A256CF4500D21918EE269E48D9FDD36714E403EAB54124AB7B361DFE381D4BF99CC60F095CF792BBE96C92796DB79D2905906C1BA3FE91F92FFFF22FDF97215D568FDFF9CE7756687796F44B13146E21D20E662CCA55D0B58AEB3ABBE4EA0F7EF003D9179FA801A155F8667DBE53BBFA37726D90452E20EAFF71F37BE8626A7EA4902D3128C3C9DDC84F7FFCE31FFF7082C22DBC9126F264CA6715CA2717B6AE4DF2626DAF1DA83DBB7B6B801CED0390790A2044D6D4BC83C81689BC87AF5EBDFABC734993B28714B1247572E6CC999F3B63E97F3A4BFBE60485BDC7C18307AFE6C67F38A3F31567E0FFB7D947E992028824F983B50479B456318FE4AA9879062064303E5CFFD8B9679E79E69AF3AF7F9468582D9D8BFA8A7BFC2FCE9379C5B8A9D3511F6E5CFED7638F3D762505140A7178FAE9A7BFEB8CFFDFABA9009B755F042055606309DAF440FD0302C5FDB5683A5AFF2D37E39EE3C78F3FEE2EF25FBCF2CA2BF7C76EC459CCDB274F9EFC8EB3A69F71BF4522CE7B359BF9FEAC258D2F363E23C446E55CD67FE4C6E91F28AC2FF6A1B367CFFEDCA9923FBD78F1E2A57A2C6FD644D93B3567E2E7DBECD49FD17BEFC66C10D857544C081873030874D50335200ED71204D09CD9DCDCFC94F3AD7FCD81E3A87F134EFF09142F5CB870E1CFBDB76ED61776B16600FB4E7609A0DC6EB0C9763BE1A4F0DF776AF7736FBEF9E62D85704F9C38F19E93BA7FF5FAEBAF5FF0267FBB9EE4D7EAB10DB9FB3E40AED57370ADFEDFF7EAF7B7058ECADBD2AEEA0BBCCF03C43D35101646FD2CEACF1C3B7CF8F083A74E9DFA95EDEDED130ECDF71F3870E0A6338CDE77CFBFE7DCABEF476EE2AA4709C72627375B2CE73BAA81C0D2E5FF366AFBEDB803C0636E513DE98CF5E36E0C0FBAB1BCE1CE6B0E2C7FE5407375B63769BA320BED925968312E28264100C8FB92EC21601CAC81715F2D210ECD6EAD35C5CDCF8D35BC9224F7DD77DF03CE9DDA321E0FFB1D37EA93BFB7CC8D350DEAED7EDE77E2733A2C6DD4BA5F637FC881E12E27210ED505726DB1187F4CDFAD27DAEE2B550900D90A00E45D8789AD98C4B8AB9E702B21528B89F845CA961EC2BBE49A966A4B51E2F343AB25BFBE57A8FAB19D5C5EDBC9BCAEDDAD7E031049F0F7140713B331E60D80D84FBD7DBBFFFF4EB047F6039C56826CDDA24A3CC9311A6B7F72867308D80F01F1FF0140E60754ACDC25B50000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (87,1,'Rack_42_(64)',decode('89504E470D0A1A0A0000000D4948445200000044000000DD0806000000027AD4390000000473424954080808087C0864880000000970485973000006B9000006B90185FA08600000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000020494944415478DACD9DCBAF244756C62BEB56DD7EF7ED97ED76F778DC8CDD5E804642462084108BD9586C6681905723849100A1D9F11720B1648158031B969660818457AC90062C4B0819B5B0842DCBED76BBBBDD2F77BB9FF751C5F98AF8954EC58D888CBCB6B332A554DE5B95951971E29C2FCE2B4E34F3F97CF45D1C8D1DA31E8FF977D5F0B81FDFE6B946838D0B172EFCC6EEEEEECFF7F6F67ED99E75BBE237A3F1783C827EBAFABFF55DFCB9BF7F6363636297CB76FDB7E974FAD757AE5CF9CFB511E4F2E5CB871E3D7AF4BBF69B3F9BCD663F36426C3D7BF6ECF0F3E7CFC7F67F0D015708125FE3BF53DF711A3146870E1D9AD9F5B911E7813DFE7FECFC9B37DE78E35FDE7DF7DDBDEF852067CF9E3D692FFC9935E68FACC3AFDA79C208B0698468FCC8F9912D7532BEA70B71ACD3FBFEE6EA38489DD9B63E3DB2F39AB5F3EFEDF37F78FFFDF71F5613E4D2A54BA7F8C71E70C61EF0A7F682DFB7079EB3F3A889C224377A318BA7B82016875AC2A4DE2702E8B3C964B2E4143E4BFD666767676403B86B7D786A7DBB6DFFFFE337DF7CF37777EFDEFD4AEFB7E7CC3EFEF8E31562A9B3F769F4D1A347BFBC78F1E27963C5B138470F9428D8C346F6D0C5A9BFF95F57DD13BEBB6ECFF967FB9D7EDB389C9DA7B023268E3A96C09126FC3F0FF7482E0F5B27DFB6CF8E4A6C748A40A953DF1D3B766C62D71376FF096BEB9FDFBA75EB8FED99A7F45CEBDB557BDEA51582C0763A8E1C39F2F8ADB7DE1A3F7DFA5494CD9E7C6F7832DADEDE86480FEC657FA567AABF8110FE3C904847E7AEB5F19475F2A7D6EEA3EAF4E1C387D5EEC5D50672D11708B2B9B9B9FC5C57FB7FE3C30F3F7CE6C52F3E26F1C8E430459FABE38F1F3F5E10439C011BEB306ADF0FC4D80C8DD768EE85EBE80044810822EE46B88AFB26C68DBB5E94C4A1B4475C417B5357B5D7F7394910CFC6FED08BC4050F1F3E1CD94CB2101F519A8688407A11A71DD3D0F85120C6DC5D670724068D1A874960124F06EA0322A2368B8375551BC525FE5E7027A736ED23881E76FBF6EDC55554D7F7A74F9F5E11154FF1A813E3708508BBE19C1D802063F73C44B0095C0257EE6B0B622442A85FE2680DA644FBE4C993ED04D103384CD6369F3C79B220C08913275670A3244AE1BBADD0E09113112F365D093273E232F39C639D9A7AA2B8362CDB04968021E21E11C688312EBD78E291DF4460FBCC99330B0224C461F9323542DCA317E8BE208FCFDC888E1C11F63A826BE3B881E7CC9DDED4D8FBF7D459DA22F1883925C60EF5D36651B573E6FB9C15190032458440AC059E885822840EB125C4B1FBB7A319211EED5A704D3D63F9B90E7BD74C44D0A8D3768984D76273C0EAFB9B04552F32FE06FD5898F1F5D75F2F3946ECC74B99691C01E38EA48660DE4214CF1D9E4BC611D026B143A73A4CBB4434B55522E339259E3C922213CEF19D3B77164004C54F9D3AB5A27F78DCC800ABBF7A51995512A449DCE789B3F2EEF8CACC22224008D34EBDAAD0E4B8638543C24DCDF1E3C7A5DDAD006A89088EF2E7329C31CF2869F316EC1827EE5B6088BD6B13F1CE89067F4B7C0056D4FC563D844360A51F4284F8E11E4F8423A8F64167B95320C6CC71488920A38496BBEFB0776E33CA1E58531380BF061B68EEFB5CD4549931E207EA859A8E75A2A089F2BA9F4665F062DE416C9A0CC7A408A399663918DE986B03D62A4D952FBD58884BEEDFBFBF0454BD40D31680CA549750D272844871C9A84094262260560FF2C0AA767A6015D1F43F78E2CD8D56D5DD7E30BD71E3C6D22E906627F9034BF479A941D1E8C75C31ABE09079813BE6B9F7968055570DA8CC8F40AC71ABEAEE4466F7FCF9F30BB1F06A7A4E3B8DA6B27305919915C03535C3CC4A44B1B64E990C4AC04ABF9CB53BB2019F558B8CFD3DCFD8294B0248543425EB74800AA8B671CA2CFA3C89990962ACDC6FEFDAD6BB65F67B608D6D9B787AC6A2AF1699F8065E84EF839945AC87865A12EFC2743BAF50CE92F7495175B3CD0A27E0A2C08E1167C4048ADD9155E6BF3A2A0D550A1A7822DD44F7A2A0157CB1A5CED6388DAA3E4F71019D459C007F7DCFACC32C536BFE6F0A54758800E8249E0829C52C7CD614D4F47D671C57710D9C57E04D1158110DB45511487D90985781AA73D06E0B54FDAC9251D157803570D699BE825468AAB18255F29201AC26FAB3A2C878E30E17628908A2B29F8283B356AC79B72F820854BD47CC0F500A58537E92564D3587BAEAB800552223C0F2D6A3F799F47DC40E22FF391AABD756BD8A5054DDE39886282F25865985E94D0F0147C425EB2244494418545C016ABBDAAC2BFA08AA7DABC804826CDEBB776FC186F851BDC59BD351C2EF0FF54508C594DB740EB0C38727E40610A8FA3EEFC327C029506EFBDCB973CBF93B339BACE828CE0B35ED933BBC395F52E3BDA52BD7865C88BECF6D22D39454F4101A5C8812A0863B40F1D41E45654FEDD0E813904A399C7322552D32B1C54B600A054D9F01A871B4BF4F3C893B0A21683F812B75DCCF42806A4964566619FBBB51E7F1A3EA211A05009500D0BA0851431C38C0FB57B1B79861BAF84326210D62253095D34E3DD5FB56CCBC63AAA473E04214A7882868AA55C69DFD78474EA01A22E8E14C672EB6DB9B6246676360CD6108D3AEFD76566DCBE46E42D91198129C623E7781A25E65076B1B632ED6B273DC5315DB8DF33278A1F08494073D90C0B10B4E0D023B005234533858ED4641E3DE4EFE10E1AAE23298CD7A81DC88E009AAFA508E128678D5DD03EBD6D656D3C5FC9FDB0F96065C1B11BC46A814ACBE0861A3BEE99D422560853002565D09435445FF9573550AF3F112D2AA685470C2DCE98B200ACA6363915295224E4C2870AF68EDC639A329F31F372279165E0EE3D9A64F71D1A0D01E8035362B7244C9C5936207D14AA09BCC21F004476E2169A677FCF004885D0168AC6A7BEC66AC721019C537953D84DAABA419CD2C298B3717E3ED9B28250C614A16A11858B3E2C7550E2251CB80675B1661CEECCFC54E43F24AAFA08A88948095F6AA8F6424DA6FEAE33231A0E6F024C68DE099EF1554F54E40559DA51F35C0DA292E93D2F488E4A1A0F99159178EA08C91CD847F35E7174E69AA3591BBA5862740C5998CE78946A438A8EF59264520B8D7FB52313300D6EAFC107D69D4DE54C45F3F1296E821A940778633367A7421366DA2E1815527FE55EB5BBDB56B96EE36D1B95CA03B618A63E39CECD1FC9FC82AC7995C9A6D7CF832F85697D66E510F819A6D2C49B2BF770384FCCF3ECDFF1D5C88CC20412DCFCE3A71C24C676BD707A6C81C0A0E9615056EDDB8417A970F409580B553AE3B694972D77B3F2AF9EDF845866AE9A2AD7A60455B45B4BCA6DA6AED0A544508CDEF04884BA9DD51E4FD508F18B25163CC79A732C9BD9D32888E1D3BB62DF33F91949B24042F0BFF4F7B9C655694B29AD80C7A0AA05A2532A560B737FBF140B1DA2A80EAA31E41754F53282106A56EE86F38A1E43C6A7521C6F18D48455E3A8AFC82210FAAEB8EF1AACD12051F7E8835E99268ED2348642E37F2A1EA140148C7F453EC1088D006ACD85A9E68EA4BACB32445C677CC88B0A11F8123A9D4EE8CF5A9F36C9FD6AE66BE9C132815BC722B3D925AEE12B0FD889B1CEEC681EE122190C7802FF7FAB476C5056AABC0B516580398CE4B5C3E29B17ECAFBE441D52F5B35D1EA55867CA6B2B8A51658DBC47D12CB9F0F7413CAD42CA2CF8897C676C03A5D005C09A4A1B19680B524322B04B1CE4F64ED0AB535FA4C6BFEA5B5E2B40EDF6A0E587DC2F1C8ADE8CC12C4B902F7522B304B5E348D4470CDF5EA42948890A35213F4C62762449A1771314AAF9CB7A5617A40455EC38A895E5D883231821F7819848A8993D358E38CC5156297CA5C783C418CBC12E70356EB38E060BC78A43DA42C72DFEE529F27317B4139890C663FA9D15E26871086883B8A7F9529389E003ACD3281E20B17A2282E71F00B8652D1FEA168AD392E10F7BADA04C4A99B6A8298A2B3EDD33173A9DDDEB1CC92727B71EFA0DAA6C6C7C0EA15B32A82B48D3AE2E48D3C0C40234CAFA01A1CC68BE8A23819ECA8F1935413C43ADBA4AC49710A2B30D102D1523DD0AEC3D2C579A5B6107A2587358E1D75C610FE16385127043914A6902B120795D78D1FB4854C00FDEF6D9C2E9A75ACA94E959289470A40AD09492833B0478FD938D7490FAC9409024362506D55DD8DD576BCE95F52CCFC229DC09E47FA240833A00F49966233225028DE30AF2248891D53FE054688954A4698073D62C72E7508A48CB19C161129CD369D44267502A868A439AFD4BA0EB54B0A24E2216065BD6E0E3FAA8D3BFC9394A9F179A094E81ABA62860B004DD507B74B9A76D2B813A88ACA924FE6F6D4D2D594A1672FED2DB66BEFCA2E64F67F7B0796BBAF297ACC3CDB0B5451B4526C16832A89BCC1DE79D623862C4AEEB0D2CB836A5BD05B885A6DDCB5B1A3F7811009C3A3668DDBEE514466CC846A8B40551CCDFA993675BEB362E6FD96EAB45F8189F7699D1A6A7C801B88BB725B00D6D4945C1D86B0076E507889E00FCB2A6A329A8760E9AAAD5E8742C17451C9A65A0FF10B86FC2ACC5263F05A4DA7D35EAD5D7534CE5549E11EDCEC736DAB45C6A8B8E757219588C05A37FDAF69DA7EDBABB52B31C1758833BC4D9D0F449A77C290522AA65BD6BEC417D6CFA456727EDF96AE1432AFAD0A3FBCA55B8ACD740655A2FA3E1533F6490EC9E205373450721E11B8F26B683AABEED6F9A9D23189CE51C92EB5F070C8EB66184CC488FC33AF98E50833F6FE0DADB9932D40324A9B8A8E7AACD1E81B54F54E66909268E03C72E03BCF8520F6D9326DB118A73A2FD324344D0B546DEEEFDD85A83648E740346A2CDC1C4E2655771FDB8D4195D90505082D3516A73E0F2C711143DC225F0ED8E115AF98189DE2323EC641BD654F9838276328D62EB30ED900700E1901B5F8B7421023C0A640D507A6FC1AFF2111A1CDE6F2FE553C7BA11FF5711923C2B6AFB45BE1475DD6F8B1DFF696416418B68CCBA0AD968C38BFC6D7BB100F64EDA60C22000CBB41006784ECB5E48EDE89339CF083CFC4CE05BD0FAC9879008A1F00A0FAE26EEB1213E10679EF220CFE559F49949B79AA3804372280EAD7C2B445CED78D216AB3D2D2251EA8F3BE7457B54FD58DFC9410215A6AA9F0928FF1DA6F0EF7D5F938B53B27263E833214A8EE06AA46C56575885CE1254F040CA990D4BBD12747E03EC441D4E61D734EAD8305BB739F61F61357652D9EC9EFE33E7DAAC46558FD15CC87D614AB6A7F48AE8C8ED752319CC09821B811D53EE94E6A0FC04A6C264ED1ACF1AD4EA22F1B6610D4F2546DA2A12A663E8B48622CF11771FCACD306AA2BD6AE116342E125F0A166FE0EEA716F2577A49839CD330BAC6C9C81587B50CD894E9C96B943C4BFA4F7A39C913813B8A9D7923B6A17254DE31CDA12B002AA55D66E9BF2425893D556E4B20A578C4B7A9521700CA0572A1801EFDCA2801C5656F95463EB96FC0A7CA9437223AA5DCA6B2167556E00ACDD5241FC5682582737D0417C700AE20C291E53B2B92808891B00E2844A114D173D64CE0A4CB4D4DC4BBD5E12F66FE9D585A8190407516EF4C116EF271975C942D402BD9262E68980A6A8976944ECEF5E5D881874220C350B52E90E296F59176BB74911C1AF67D3EC22AAFB9DCED661F0211A68AC9A7104ACA80B05609D77C1906C401B11F2F832A44303A35AB02C2612B0521FC0AFB6EAA4BA1B01A6C8A55F019DDA076A68F119DF0F764BA2E88A4095D08A12F6AA096294DCA19A7E6A7B92B801A23CB19175C46548D6C9B910BD7F87A0FCECFF7D88655B26979496F3A3927741595F8D84D90CBDC765C4C1120B8A4446A953ADB199560E29558A6145128A995FE0BCAE439CA101A17DDA814D5E32FCABB5CB584BD6EEF24584FFFC6700EA10AD5D751EDCC00D2060F56E80D24AEFA4C81811A66087AF535AA3F2F6E931CB6D871D05EE177E12D4799CCF239779991519974CB743DDA1B69A4324CD08C103D0F55A7247A00AF8FBACC99C31C73D806A9620256B37958A89AA4EF115B1A90E63D15E4BEEA090A92DDA7A0E7DC3AFFCCA59EF07B6763DA022428C486E8BA6BE0FAA00E37816B08A6BE3C4DE54FF5AB310BD46EA9755F88CE01C470DE1602F2AF2CF04AAC20E4A8C768ECB5867A7ECFAE553A84A861E8EA375A476E7AC71AEBE14BBF495100F1E77B17677F4A25C0A551CDFA536585088D692DA8DE3CAA790A6AE94175316F4813399FD677EFB67FD4DE69073E3AD25B51BEC502D7AFCBC298DB5366230C9A16F5C78894436CC7E227B43387003886385199A75241E714599CED6AEB6A8F72B3079009FAD337DAACBACF3E0C183C5A08973441C5C886C905AADBA879D4A1794AD51D17D8CB7CF84194AEEE4D231E23D3E3590F849AA44C6E1C45E4DD56ECC7EC92CD9CC46C0DE126664ED4A842940A7F6A8E329A52CF693B495CB98D464D8C4795A7AB9E67B81AAAFCCD0B7CEC1B4CB0A6F29656C75DF169BA952DD536CE7CD7E0FAA434A9C515B841B1873C20D9D6CA91D13A75A75B71B2744F5FDFCED97610C35D8ED0792B083385A808A7F35C4AA3B29667BB05C9B76CAE76411AFC38588D3BB64CC6180E25FB569B993D77DDE460466154212121F8D48DFEB6524BA6A87F40EE232C2B4B6E5EF9DC2102522782D55F24AB184756289B774D53E52BBF1AF7605D4A4B51B138250840F4EC55EEE211C6ADFDDBB77173E56E18582566412C51A6A97357713B454D038AE11327450C5FF0B6E8820DE0DD0A9E48EC433675667C06DB938671DA0AA238E24A6461F2330CC3AF36F65EDC65C81D9AF2B81EE5084602D257748EDD6DF7E495CCE19D435D89D742CFBED9E31FB4B9B9CF7A990B131A10E718DDC00A4749480B5CADAF59A1C11FF941F75A8F841550B0D1EAABCCF43ABC9428C43995336016FAB1392989AFBACDA3DCE55EEF7F5889466254E469D0FA18B7117E36EC7175F6AABD81D762725B0D567D5EEC6A776B3B9580E58BD3A6FBF9B1D68CD5D8A08ACC0240B510A1A0D3116EDBD6A370E6EEF0002E473EA7CA75A88190FF7F2659251293EB8ECD65918D2EB1C1A181449E91C02D6D236DA9D6619A807A8925FE1170C0DD9D215710056E18634567258DA725E52D6EED427A779474B45D5EEADBE3A2EBCC24753F2E5109A1071A4CE8B409DCC7FC54CE3756BB9D46E21B728EFB65879D2A3FEB1CBAE48D4632437B594D62D1DCA7E333BB062164D754B1FA64E767E5FCED7D3E94E8FA231F77119718044035F4EBC0F5F97DAAFFBD232E35A437E0755012A8BFE30BB87127AF06E006DC42EC50C02A58CD35A0C197B2D95A4360830E44077EC06D08C289192B6AA59C755206FBA04AA1ABFA9704E438D6B98053762EF2577BCFF37D74E8935055F584C54ADBA6BFBF8D2EA4BBE634D3D801AE232BD5ABBA1FEE2D2FA2609B0B4942CA80DDDE2322922C47E54515DB59BD7A998893328B913360B1ABDF8E28B4BFF6A0958ABD332FDCD3E7D4A07FB56E5767A5FB742C636303AA4CA8B38CC8A642874CE424431A3929D8FF8C775CC86EC42D480DDBA756BA92BBDF0C20B0BFC08FEE17A6B570A0FB9ED2535D7E78CAC332EE39260B29CA3BEC80DC07212D357EAB310DB0007630FB48683C4AAEB70216A20D416F24048E029AD97E914CACC8522485FD25540268A8B08EB161BBFA28A64192965FADB57C7C9CD3AAD5988A96DE2B176D91A815598430C3D68E6D3298288300256321662602D82AAB7229961200495EC2A3869EDA9DD7E607D7AA6C40AE773276BD73ABE9372D5E770C5D72F1D4A6A774AE7D0C0B2DA6A6B6B6BF6ADC210B11851C855D4970811605E676AB72C5D1432E94B3915E120EB76F7E5A3E2772099571E296AAE0ED1D225512607ACD50449ED2EC4BAD77859FB500FB5F5F6EDDB8BBF51C8743239909A5E9D854828C113224E64CBA54B18117BABFCBFA12D5183555EF0AA2D1532FCABC185D8E4B6C2DCA7A90A547385556222B04B47EEC1DFB7EDE2574A79B1C9E1062E4603D58359BB29359DD54914C3F7598806AA4F7BF4A9AE94DC11D04B29A3D407EBF00E52CBAC98850811BC1F952C61149D751FACB5C3D2D574FCF2CB2F2F172242384FA02EAA7B4358412CC9CB489F1A921F3577C0B9941695B68A7FB5263B3BD65437887641809AFCF6B040E7548FA03A150794B89489E1CE9D3B841F16FACAA84B1D337BC16E699E8E03DDACAD09BB8B7CD3A3982CDC1424CAF89CF61CB0620D77CA20CACD286C1C2AE0D2FC4EA03B8ACBF4B654423DF2338BB845315D322505AA7CD76537E6A2EA8E28A0A4A9F3220216EF902A4460AB30EB48DF1076A8FD24F77672213A4FD40639A93E5DC9D7351B7A06A2DA2DE2509348B8216D559344087B365D62BBF3D8EC6FF552875280EB2EB993C33C71F4CD9B3797FE559B96E75D08322B59BB2868AC950150C53DEB2EB9A341244B2867E1C635A5AB3024B790590A8FD84E9C23764466D7197AF025773448F2929112466DE9039BFFF14DA23A8926E20A1101401D8AE9EF0F4F1C71AF3C64286439F16FB5768DBA539272297715175E1A3AA8E206106EC8BF2A9112E79C3F7F9E64E3FA2DAAED413B4C53A555D39E8B40EF7595DCC9B5D53B9FB1BF02E67C7B6BD7DF0390F9DCB3B071E75A52BBD96D0D434E5CDDB6D6AE544DA768EDFA1598E2041143D416A00E61CD1DC627B39FCC09890669A37E41516AC176D5964C7E0526A9DD426CA9C3E0C91031446D521BF1858873A4AD322DFB5489EA69D7586FCA6A2432876A0B2FD9084D7AEC7FD3768344E7FAF5EBCB8588B8018C60F59AAA1161C7EF5856AA89E89D47C11F7BBC47F37F1197F10B134A224C9A95C4CBC47F4E4AF881ACDD78AD8C8840221B99CDC185F8755F04F171192C5D0626B674BF536B97CC21BD5484100104A8AC4F198AA5EB2BEF8A38120F56A0C7059BBAEE0DD1F87ACB6249806A48F9ED85E978211A3AD57E6520BEF2CA2B8B41F5A255ADBA0B54C91CF2F9A86D0F093E93DE3044B15D4297A55987F532C465A4B11A77D797CB00546BEA2D4B84704487DFF499C93C1317B34D350A62296359845154CFDA3C8F37FACA6AAA25351D3FAA4E4C6D6F511AA83EEF9320E844B8234894D18CE2D7F1E482DE555988F19A345F78491496B1C4B6034352C834387E574479C8C85CD60410D724AA36EEB4968D683F0B8678D9908253A543EDBC71E3C672D6912A2F5700557310ADDA5A880D8E975C7E7B6A6A0E2EC4B305ADD29FCBDFB5DCB7EF37DEDA2547A58473E20CC565344B92F73E0A7199AA50A65170AFA654068086791D5657DF4B74ECBB54D51B6FEDB2D930016F71718A83BD7888E3DB762898D498FC0097D465127945754F3CA177057734159D2EFE86CAE27106A2C05E1E76EA11A97D29FF6AA75A885EDFC085287190F8084CA5F0542A67BE23DF9620A3C46F9B941348276E808B172F52E97FC547C2F2972AF3DF3A3FF1FB5C5378E980667FAA735200E6EE4CDD3F6E214C2737802C5C650310F6B441ADB7768521E4A4E6F6C14C6D751F82DDE74283E71942E89CB97BE605028E4BC490EFB726B5DBCF3AB2C18222372F9526DB5772A7AD901BE9D4DEF48E52BB3D0136C2390B573AD546900DF78C71CC19CA74D2A069307C6A3735437283A8F6FAA2F79DAD5D0798CB4A71A476679C46B19C7BC28C3A10649C218AFFFD3E4BD7D55D5E888C4F3FAF89C91409420E9746410F97968A82D6E24FF58490176DCF7566DE8120FC7E2343947D3A870F78CB0D70E9D2A56535BE78B55595B56BD49DA2F242E10300AAE78A49E8F85E04A8A30C41529C350967B56EA301F379EFD254A5B16AD6BC79F3667D16A25171075F6A1CE94A1144D427133168AADCA48E4C0376F07F6E7619B5CC369B8E388BDFB39B2A49FD6D268506F68B2FBE80EBE725D1891710158940D68EDFF88F007300D599EBF0D87566E688336A214A0CAE13478CC5F353BBA95272479D4F2DA7ADC592492A2735E602114053965E2839A51A430CE612E56856680AB23F2F80F238BA428C3D9549CE59BA220E89322C1789B78DECBCBD2CBA05802A8A6B56F10A5A220421597DD154E7DF53E92F3F1BA89E6B05576467ABA0AA37417710410E5B2793D56CE280B77C24ECE18DADD3892046E105A8AAF32244AA905BA4D9EE989AFCC488D71807BD668DFD8B5CC8B065894BD6B6F09FB118C108B26D6D7D6A53FF8681FF664A81945A20850CB17AE9A59746172E5CD0674D759EAA5171A72DBF3D18520F6C469A9F3A75EAC89616A0041B88F0844FB48F5F5EEA74DCF9D863C7366DC6899B145ABA75EBD61323CAAEB57D62037834E54624CD2AD46C3CF816D551FED923EBFBAEB1E0F8873FFCE116FB40914544853C5F10BF2DFE5BE29AF83B160B91698823EBF2E5CB47F5B7D95DB3AB57AF3E0C96F811ED1D9C731D76D654F991D0DCCEC7C672CDABAFBE7ADC466642FE19D31DEBEF7DF115583B1721AB119FDCEFC83AC00F43D6B506EACD37DF3C29827DF6D967CF4C3466F2B09BE86F967CABAD1CA2913610BDAF04BC175E7861F3B5D75E3BCDEA2959BF741EB9250F3E761F74F58B76250C44C5C0A3A84A701B1E7EFDF5D717F75CB972455EB3AFAD5F5A4F78AC8D431AD3E26E3A75FD999D67CF9C3973CFEC826F40FB3032E7EC4167B5D8306405DCB3CFEE19E6FCC8AEE3B0A186427A8F13EC1EAA87CF9B026E94BEE3FFB175FC34F71A373CB5CF1E87A09A0A6C6B4AD6760E2755D9CB55FBBCFAF9E79F9FF8EAABAF8E19619E18114F87475E35625D5A7947DBE8BCF3CE3B873FFAE8A3BFFDF8E38F7F268F94023EA172ED3FBDF7DE7B7F6972FC87F68CDFB25B6FD9485DB5EBBD707E2F312A1BB05FB5EBAFD8F9A5BDEF53BB2AA6ACF57EBB368BFCC0DAF627D6C9D3C6D90B826A76B97BF7EE9689CE33BBBFB1011CA3AD9A682D92A25744A6F4F6B7DF7E7BF3830F3EF88581D59B62453969F1251870BD69975FB3177C224A8767ED76D437BA1E33EBD47FD9F5BF83D2B61BEC24852C7F72FBF6ED9F5A7B36A47FF8C306F2E4FBEFBFFFB0D610CB1ED7AE5DFB0311036BF2934F3E59E04830BD5FB2CB71E7EFD876AAFBF779EA1D128DE710439C6E84F8751143FFC8D36E5CBDC4B6EBD7AFFFDCB8E5949D9B6D04991480ABB129ED27F1E7AABA2035DED4F7EB4389C51877BC62B3CA0F62AD558367B831B3C113217FC7CE4FAC5B5F4AE53251D9AEE2900080F2B29C35D0BA9A72C919D72805FC83A110C438E09A89C9CDF873718A11E353FBFE96E866E76F06C2BC9EE398892784261A3B55CAF6553B7F64A0F385BDE8813D7859B4CDE6FBC746DD5FD877D79C25BBD643AE4F03D32B866FE75106B516CA3EFB5F6BFBBF06D15676DE095928760A64EE048E11A73F85631A5F4C0542D8B9157E78C4C4E34D9B497EDBA6AB5FB2173EB029EBDF0DB16F044013CA7F930B0F7431E2BE837BCF1A78BE6558F763953235EEFED46697FFC0A166E747017B96D10B898E9DDAD34213C37511C513E46820C4E1C8210CE71C0D4E1F3DFC5900B5592144D0643E1B557E7E907B8F066EA00F3BA1AD8F22623411619E068EB9E541F55998299A358CEE68005CB62BA5E4FF00FDF5693E9ACFE06D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (88,1,'Rack_42_(96)',decode('89504E470D0A1A0A0000000D4948445200000065000001480806000000493930930000000473424954080808087C0864880000000970485973000009FD000009FD017832FDCF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000033914944415478DAED5DEB8F5DD755BFE7DE3BF68CED49C663C7AFD8F1236E1E72402A6AA30AA10A095121A40A5141104408FA85F26FF0896F7CE5734591A0427CA8081F402D254A40346915A13E88DAE6A1C4F1636C8F63C7F6CC78EE3DACDFCDFEDDACD9DEFB9CFD38E39C736F8EB475DFE79EB3D75E6BFDD6DAEB519465D97B98472147AFA547F9B027C3730C1F26314E9F3EBDF789279E581A8FC78563421A27D6F2F2F203EF0D06830726BEDFEFE3BDBE5CE28D3610A7D8CDFF3F75EAD4AA10E0B746A3D1D7E5E517E5390872D3772D15049D3E6A4693C9DCF11DD7F7ECE78600D3F7700EF39D4579BE22E3239993FF16E2FD9D8C7F7AE38D37B63A4D949372C8A47F4DC68BF2F25921C6D2C6C6C6607373B3B87FFF7E531CB76368E2D88FF67743067EBB77EFDEDEE2E2E2581EC7F27A4BEEE74D39DDDFEFD9B3E75B3FF8C10FAEB49A288F3FFEF805B9E03F95A75F93F39CDCDEDEDE2344E88308F2BC7232AB26D55EE54D8F2A422ACE990EE198DE70382CE5B3B1BC1EC9BD7E20F7F7CFF2FA9BAFBDF6DAFF7E6A44918B191C3F7EFCCB4284AFCBC5FCB6FC6E552E6CB0B5B53590F77A18752BD4F7592C01AA263585989A107CEE228EFE7FCC9B4882B13C8E219245127C571EBF79E6CC997FFBF6B7BF3DDA15A2C8C99764C2FF402E0E9CF0BC7C6FBF8CBEFC713F65127D8F7A325D440DF92FDF77EC89B5FF5F7F0E6ED08F5544B107E610924124C45806A8744F88F44319DF120EFBC7975F7EF976145164F2FFC11633F207BF2B275EC69F51C6EAC9E34AD18FF673BEE630AF21D3AE5728F8D29AB0D2A74742B98EE7D7936CFF8779DC2BD707455F8030FC0D07BFAFCFC5D72424DFC3FD0A7126D203EFDDBE7D7BF3E2C58BFF21EF7FA8EEF5E6DB6FBFFD974E482C27F9239B288F3EFAE8B5175E786119CA19433866B212F89CEFD77DCEE77C948BBCF4D1471F7D451E71D77DB9C881260889A009147B2C2C2C78919D82DD7C1C1BA28C4489FFA65CD7DFC87B7B710E0C790FBAA4C7D718FA35E6CAF53E9FF3F7AFBEFA2AFEE7772C130D80C14B941D6C4DDC0EEEB057965EF918D42558295C157A4592AD95D25F12A2DCC1DCE16FB0C81401F42852895273F41541F038E63874E8D0C664426412712FA22F26D78D7BB339DEC5A99AABF01B0CC565A54B847A8D47175138A12E3155050CF01938E2EEDDBB13EE20A1708186536E1983756808D237933FE6CADD05C214156360FE731B5C0BA311D7496EC3F513CAF33EEC8559376CFD954C944097C4E411177DE7CE9DC9204780CB706390AB208E35410335F4C48F1D1CD388F7C4105F734BDF220EEEA7EFB0F4279C4362E05EC041449A1E51E966D114A2B890914B81E38244044179F5C426E991E5450F4D8842FD4102690E33CF078A4B7A0EF1356E98287A41F4D5B9FBD67BFD2A83D5D625B84F0CE88D7DFBF6F5080E7C8B379B28F60931F9EBEBEBBD5BB76E4D88820B7CE4914726BE25ADC86D02E0BB24A422AC5EA136314615DC522610A1A7FEA76FFDBF7EAFAFCD833A91A409447D8AB9C15CEEDFBF7F32F01D2DBE34D1928822272CAE5DBB36210408823F585C5C9C1081DC4042B8B8A9C6201D583078AC88A247D9B0822FD5734DE48204C1B0014D8858A2B82621A053214D386770C6562D7E2751EC2FC9C9F680FA62C14FF586CD0D3E62540104F99F056B25971EF1D5A4082B1CFF39B6C456612133E73D85F8E520CE0E1C3830D537D0ABB07D5CF31C4514A1F4E6638F3D3625460A0050AE88296C8683D2330165C5F029EF502F33A16FA138B3EFFA0D5634A1ACC3F08D1E20CCD2D2D2E43F630095932898C82A38ECB3DCC955605FAC102D5321F6E4F5ED8AC92B2DB15556102086834A0B7A6BDBA8D08B047E2C5C3F212CED15BE1783B65C622E89287CB41473255760B241044062EA18B030561CB9CCF618FB56AA877342095156B86ECA1A20B0E3371A31D110C441488CCF7D682B942855C419D641351797DCBB776F8236400CFA7E0802B4DBC523D60A87615735C1B108ACB09478E981BCFABFC1255EF4A56D162C38CC132401EE9590984ADE35B49F2C9A28F64E9D1649376FDEEC7DF8E18793E7B80028330C02005CA44FB459CF8B9AD55E7AB8A58C10574584C88BF61C68488CF9C302C4DCE03508A415BDB6E8A388E2DA580227DCB8716302EDF01AB0EFC8912313D1A61D8D1477750471ACD032401485E817DF241715EE9AA2E2BAA20E480997CD02E31AF60A08142DBE6CD9882FCBC916418C83070FF680C2341148801004E600060B2E191E419814885C27FE0ADBE7973AF07BD826DA6681AE15820C5CF35CA17FFA3D7BC8893660A3183857C90555888C488EFB3232162B0852058BC71E5B66ECB06B4A8FE8AB25282031DDEDDA291BC0FD4E9B05D265757575320DF61C07892F974E091149F66BEA170C426B9CCF3CBF1DB8B24BCB7B1C83C4CA401BE8016E112950E2BAB91742C2708B22CBA5D0EF87EBAC2AFC1C42105C2C5C31107784C46055DC54A0B82B2B14BC6FB58740DCD2321CCB10B1ABFD76DACEA29758EF1B55212E5BACD9602A693FA58A18584D50669097E00010010ACD07890359BE0CB0EC43157E6911277B4B80AE7AA22AB33F14ECC6CFDEE4B275051105601FB842C546EDD8FE4D54C065850FAC8E383E4EA9135F29F68F1712D3418B39A1CD6213247B930BCF31F980C4B04FC00D10474063B6833246D4392EA6AC1161E3866C96E0DFC7222ECD41788EB9C29C695BAE11D7BD40E2A52B57AE4CA87EEAD4A9C91FD5B9EB03895354ACD210D11543149B20BD44519865B360FB037838DA756F7FF9EEDDBBF74E9F3E7DC0DE458C85C75AC91BA5B812684B940D58F7452C3C96B99B4062C2D65CB4057186CDC0B5B5B5916DE1477B89631198ED61A68EA18D42C7A51CEB91C4E845E89410C2F4AA1C95728D25B77819CD1322D2426C96ECFD1497E154F59AEE7AE82110826E6E46B754E8945EC0A4E510A5CEBFE65D88B80FEEABD8EFD9303F8468D944A9E3165C14B73CCDCEDAD4B5409147C331722FA4EC8541E398F3A66E9A3DB050F50698368E6DB4E5E394ACFD14DB4B8C035C005401DB84FB0970D7030C108DD9BB9415AC5D36B0DA43771EA3B82664D553A1D31D83B9C1BDC344706D8665B9EEF517A1034004A007AC0A5C007C6120847650526FC4E89DC855DCE4D1C8FFB908C4D023BA9868B354A5794411454EB6F4EEBBEF4E5CCF478F1E9DBA18B4BBBECE1119EBC08B115FAEF4B78A9B7C6844B7438FB0B0AF5FBFBE0312276F72DD93E3DCB973077C622944EFD846A391BB877A2D3E307758E14D1C8C0103816EDFBE3DCADE4F89B547EC470647EB000CBC96735F6F3351900444D183E18A6C49191473A1FB29B5AEFBC09B99C851283C3AEA78437A57B2C5D9DA0FA04B2C221D38816BA703323625512BFA28A2F8BEE4E3168834C613D39D0DF4C108FBA6124F1FE6E1731B693F17171A457A68A07734247639245D9B57B04BE02DC605E177DCFAD481DD75A2AE2BC4097142D20189E81E13D7E6DC67B13925CB750F9B04B018C4C001F703B637B96F4251D53002EBCCA13DC424040804510EF3818A3E9B28460C2DBEF5D65B136507BB04690E29EEFA793A74AA1DC5190884058DC089EC4D2E99FC0D81C4CBBE348758FB4459B9AB5D80C4E4FE9CC138623C5EBC787194B49F928A8C7CFBF690B50CEE662CB1FCD78DB64362BA4B18D592EBC277A1AFC633B97C620ADC441F10F7AD6998A6C0C84F53C96B116DA77AC7A446641125160ED337064F31069187DEB366A47A97748D4B0CD136D1F616ED98D0E4D4465CF72E488C0B81E2826D8247A699610F5AEB1EEDB29F35C5AFE12D0D4A108792A02A5DA2B1FD144C3403BB31D9200273FAECC0EE5057CCAC4262EEC9C38CA092A772CFDA79E4A39C742F203188003472ECD8B11D06A2DE4D9CC523358E58DB2C380087313E761267BAEE85005B02891F70D7872A7E576506A36F5A0F8981BA88189BB259D6D6D6C64D6C722555ECB3F3ED75D8A7D90CEB0424A67DC1C206B98ED4E89D479751E372DFD7E9087214F7AEF5E7B4599AC0FCBB2DB6B09858810803360B157BAA68335C18EF25767DB94A2C31B01B488CB60903BB09916741EF706F88E9D8FAFE43EDAF64D7BDFEB2CF78A4BB1EB60903BBB192C0E6E4942AA2CE0200B0E789D1A32E6EC8268AEB4BF843100190182CCD44180C5D7922C6E8ECCAC48706E0317002F3483B4D43626D3C86BAB39C449193EE0124C6010220B09BEE0772C4BCBAEB636C16E3217642E268A2C809B74F9F3E3D654D57144B2C3C364866A5CD132BD7D86711B6260924C429B3F753507981A9C8A9F689DEA563E4A410F9769B8922F78BCAA953484C389C82B63481301DD94489F5126B271D03F4782E5697C36772A3A3B68B215C2750251E991815EBC6AF2A6E90449450FB843A0637C0C06EA38F76188F5DD62DBA5C21EE83614729DEEF28A2C4D418C1C4C3E106484CD73C7E8FF0CC58DDD345BF97CB08A684D048CB0789A31C92AE93680311112C40120CEC46228CAF18DBBC1C76D53B061C5294332A548BAF60A2B87488FCC9C27BEFBDD763E551C85546D757D5009B07777D9578622C31E388B1904D919D22DB750FF4858A13BA0E8BCF5D1F5A82CA444CEE6FB99778925E9793B5654362A2D8E8EC60075146348062E1B0559E707231B8511311B3DD72C55E32C8D097F798923D0C97BB2B903E8A282990983A88112C3C0F73204D9EF966DBF504E130C5366C16960449F572379234E4837CAE7D7BC262FA7DF4F92A52EC3A81BE68B3E03E088753F758B2F753AA0881150F58AC03BBD935C287C4BAAAF06D384CDDA0275947BC546D1527EFA7B8DCEEF414B3208EAEC3CBC089BA761DB30A89352CA6374017D37189AF68A2A8130CAF5EBD3AD9C0A233119E62978332C52F368B07ED125D0414443239F94523FB29301057565676C474B9EAD787D8272AB7635FD7217168E09D0EF476E99414DFD73644541311F65839389751FA65CB4552898964DE63139967A6C8439945945438CCE71A1213A1B15CAC40CC7B6D774032BF041C0338CCEDEE9C7A2D49C50D6CA2C4AC10E63B320284ACAAFD405DD32976540B6D161047EB8D1803327B3FC567A51361C04B8C156597C1606657DDE658170F5D5E5D97040975E337BAC9A503BBD9C486E509EDFDFA7982C3AE10231D89EF135F4144F1ECA70C5029812D9DC0BE200202BB43EBB0743DA225B61B04172B9353E909C090B92B9AD84F190081800876ABC0D4C00973DE85361323C7BF65DB2B84C45AA7641105B60FD31D72563D5999B0588EA5361305CD67609F71B537719880F13279932BB6EE97AB3CA1461CDCEC213ADBB76FDFAD962BF392B15A80C3D8D8B3BBC1A6A64924EFA7A48825DA26445EB607D9B65BBAA25374BF4A10C6B65962CC86A4EDE0BA869AB681850B656037D99CFBD4755D8ABA78E8B21F10471C2CC2164A98D03918BA3CBCAEFE29606B067633029DDD84D88A765620B1AB1F9786C274CCE2B58EC4E7A2F425A786CECDD05324A6805D82C19C462009BBC1A6CD15F3E82176392375DA373B7DC7CCC1D0F3E53D987C10816EE8944E7636FB76051237154BCCB864A0BA28A27856F2A676DB87E8085F1975B03294A4F97CB1ED9018B568088973CB8150C2206D2F466A0C037A68458921ED9434BD1DA79528C4F669758037213116131612111795748E2BBF099D120C87E980D4E50935247601802EE8092A72DDA18E9038D6931E1B533DACFBB28B20B8509DEB484F3103296641D1DBA540E8C667C9753CB29657C87D46EB943AEE0007E8069B2A2F7E8A327C5BC5B388B66C486C7BD553A170A54E61853740621082C6A1DD6033A593DD2C12C976E1EB823A3A14294B7CC9C916411496DC6BCA5D2FE71D760512C7666CD9E7E00EA509501C34A15336565757979B70D7730B1504960B6E75340BBDC414C775922002128F62B8A556A7A4DA27CCCD60BD6210F8C081039DF012B39C2FA40475464EBD169BB3EA88334C6D30697B8959FA8317AE37C6BAE825E6CE2183264020A0AE1448DC884EA9E316FABFC005445DBCD0AEE7397A38685A7B58871E71FBB74E942541E2109104021012B346A40EECD6F6C92C232EED6CA4CDC2DDD5BAADE42CD73DC50FE42B6031531C98AB515579229775BB68B3E828169D2F6AA3B82C9D02488C328590A7ACD81DEAAEAF796C750702DB3A8F1D9A10BAB5ADE8A37C482CEF6D1C3E7C7839B50E8B5D5086AC2D63A5ED9018D90534909B72E1CBF9464DB8EE938C433BEA1C8FD0458CCF5D5E5E5EEF022406C26246B49DFBD984C84BD62931CADA15B5C12816BD8FDF9583E9D680C5ECAD8561FBB9726AB644BBEEEBE0311108F7E7B50CD536CB2C28793BD09BA1478C5108B5579AD0290FBCC6E4430CB9EAB084AC845941609C076DB38414D469C475CF069BB04D183CC162D1B935C0BA0479EBD01681109ED36E7395A38A998BBEEB4772E2C5B5B5B5C91F21B01BFBF5769FF5941DCB593FEC3A0214F3682918431CA7F892936E1C3972645937D84C755CB2E284A9A9D8EA62D1A88C0748CCCCB35CD4C5CDC068489CEA900CC1E76C9AC68E3B02895B5D2C1A95F1709D5C448CC22198C9896A49D22931B0D8F79AAE06B23103BB43F626DAA44778DD20100803114E9BE561385C87317F606F79EA346E2D5375FB8A59405B003BEC53AF6D16DB35B3AB90D8C5253AB09B93AE8B76CE220273A12D3B39159C44D455E5C68FF212574D1ADDF5ACC3820317420725E5EDBC22308A68861E312ECC6554667B8901892F5FBEDC63A23FDDF5BE4E76F30A815D063689C15C5213859FEF2506243E76ECD8726860775D3B4136C7916B6B75976D406204B5735735279698BF353505468DEC3C66269C4EDD0ED439D04542945677D9062466976D44B530EAB329876AF6CE630A3174DF5CC24A4262B3D9D309AB1C0B08038B8B70D8844825A3CAC6BCC4A17558187E43984CA8DCB52816D7FD136DE2118A1C440281B8F8EA7C643EC9936DA7E8F27DF61E89ED809B6500C0986A46E2D3EAC7739F8738B652AB57A7684ED00D36E929061188C2BA5827B2292ED2C1EDBA2E7E55644BF2CEA34CFA5E54C6A3DB042CAB03BBED9E5BB1BAA7CB066455C9751D7A445BC540E27E1349435B478E1C09EAEB18420C4262796CBD9718A88BB5316375A286C30CCB32B1C465135EE23264E2AB82EF18D80D62E0062102E5025BEF25A68F0BF60A2B66D85E8B046E2B1BD9798C15433A180D4377B6D3DCD60565AE2131E030F272A02F5CC51B76C35619D671411571EC069BBA34A12B85A2CB9018620804222466BE7C6A344B3624D68615E5ADF6F37085CDBAEF8BA1BCB4FA610C739BBCCA85DF0851B4BB9EC1744CA76360372E2236B3ABCBE8CBB54019D9430F3121B1AB6E58B64E9113EEB976EDDAD4A1863F03FBBA7ACECF321C0E85C6BA4D14EBE2D3856FD0673F663E7C9CB26D0776DBD9BF3104510D2A1F6DF3C4C39ED0CD7B72FC6714EF267062DC84F81AC71664B30F7218068327E4623F6AB933728CC9C4350371316ABE0148BCFB995C75E144605DEA225D174C56E1A8ED224A67411371C166C13DE990DC14D415BD1D5C0587EB38459726243AEB926D5285B6D03719862F161BB80783F5F04393531B491AF24D3E9D70761420DD0AB30C8B5D360B20B1B659728DC65AA2E8FE29BAC1262D771221C6F5324BC88B8123900A8C6AE13E0B8DE946135185F20BEBEBEB3B72F9884A5CF926F31E40A1A35A187A844765B314C96E1645D5314B133651289A8565BAD05210364668826D1591A84FD9AAA309D7FD28A76507D997A56355CA40ABD1178B3A6341321B8D316F39B1C4B1FBFAB501DEB181132C27AE03BBC9DA62906E744199D3430C3184FD152C2C86E3A6EEB43616E01D63288210DA61D9543A411B08049D0AA405380C2F312B1DE56C85371ACD52D560932BC926C42CB8F0C9EDB0592096411C0C067A8788B8C62031E11F573E934E5D7558E6058531364CDB2CAC3199133051E7251E3265994460180DEBB0CC837D1263F933F488512D2CA86316703A24563F2A7460774C1D16DF0A3161AC9D682968C3FF18A465D797D419D459E24BD8F33EF74F52E030B98B06946A9CD689968250EA74BFEB3490544F4053D12C49088284306135D3866A78C42190B8132D059193C3AA4DD857E2FDE4A2C95D2B57687F4E370C5785AEC5D24478CEA74920100703F708380CA3120A9D7A24D68DDF8897D8B737ADCB27F13D9F3B66561C92445BB76EDD9A701089C4C4DB9022A08D5AF47A8F44DB27765BBD7981C42CA8C3CEA98C6A6140496E1AFCD0A31B06D00374D7D3FBC9C0EE79F41257F9B5384F78A40B9FC1135AA284CE4BDF05FD90A387137105D82595520861307BDBBBD7EDE81C94CA45200E17B539AF739EA3C4979C788B010FB985A219816EB8ABF5E50A0989E980CC85C4E63CE3C6032762B8834DC4C8CE402F50920612DF6D335118478C6B66339EC3870F4F1B2DD0284CF16B3556AE30841884C42C4F48BBA46B81DD2E024199B3A237D016AA394182106DC658FDC96E96D0BA2CBA572E81804EBD9B4548CC5220146FD867C12337C372167694F8D2B60957BD6E5CC3E089109C3E4BE80B8B8FA1472CB90E4E22DA0A49814FB1530A360ED015BBF9A7F39AE7E89A6870894E4EA51BDFF44A9E8AF86CD7BD4CFE1EBC26D6A67EA873C1D4E99E596F29A8438FD8DED6CC613F59A7280B7E136CE98AA38D411AD0396C036E88D2999682BE463EB1FE3313A6356E44A7C4840FD98400FB72B5404142FE9AC089CEB414A428829758B745CCAD90976DA7C440628A3AE63A62C4F4EE6A9BBE60F0076D2F70D0A14387A6251863A17E6389A821C4D0BB6D84C4BE5C96AE1EB8A71B376E4C3A64B0980E6C163CA788CA31C283748AEB3D5700372328BBD86033156DD1A8C402A4CD022E82A8F3B5B78DE614DF97E9AEB77BCEFBFACDCF93C7D8E622ECB1405C33F4084432E1AACD114564E822FEACAA0E4B2231FAB34C203BF448B9F0FB318471260D094136841D97ED3A2C29257119816E12331F69F3A462C702C5A2E9C1B03DC4B1688B6000697B8D6C0787AC7CD77798EB08190B820212B30A92C0CB9B5D80C4BC07C0611ACFBA9253AA3E6A0C12871087DD841896841BA032EC62E50986A762B00D3A832608971F0A24AE124F2E7704EB44E2917E320CBB62F72CC41193400CF4068120E670FF1A7DC6188D8D7889B91F6DC3645737A159465CB85734918358861207D282DDC27D169FC7BC11F1C5441FADEC7548914DA47984C31473E016DA2C4C4E65E85163E50A65052CE1CF7420412C013C1751745D94550DA64BE85E5E26EC28DD4BCCE772F27B42F103AE42D1B1DCC0786283D70FB61C12F7D95290522295DB755D7CB9EF71E33B8FB1174622E0A0F247B6B1DC70AB2BE389989EF44F613979B6416765BF871147EC254A9D91683F32E9945C41B4C29DCBAE1DF4028340DC8A78ECB1C7A6A92120524C1C7132248E2D9B4E488C8B2624661D165F45D62E1EB80F788731A063E9216635F2D8823A59E50A5DDCA19B6C32D7D12E4F38EB1DB689B6008B6954824858A0BEECE146731E7D7588ED64D47981C02EDF96ABA00E44B936191A210A2131D1930D8963B78AE7E1B00BEA808B20E20C81FAD93A8590D88E624939184F6CFAA774A2A5601341133AF408903846A278D157AABB9EDC65883085C4607391BDAD2F160D85CE45047D81FB62147D4C39905DD1293E8AFADCF58C7162A43AE0246EA48B817BE4121088AD798F1F3FBE63918578D71BDF0EAEB34F3424661D16C6DBCE4AB1688A217039068BE920AA85F55A68B33469400E633983C460C826E3A1AA1AA8CD920392FBF110D1D88F870EC22309E8B3591ADB7974952164488DCE8E9D37A4A50051EFFAF5EB3B9253B9CFE28B6AC981C48B84C42CDA19CBA2F3462457722A069ECB67FD6CD7BD88A40D516CCBBEC0EED0D714775D82C4764BC114BDA0DDF82668641CA553721A38FB5E83BB740364424AB9B8D64362DD52903107445C3ECB3E152627E9941882B0FC0703BBC1CA90B55D83C4764B4176AC43E72546E7A41895D93AC55500D9F53D4262AC2CE63AD28AED6260B7CF75820185CE0E442010AB946B0E6A8C2821BE2BFD397BE2127D1012375113BE0B4625BA65C066C142847718B161405EDCADF4EDB3C4106758D760D3AE14CA808A1077FD2C2330CC032C7E2C4A886D46B540D4B92A7364EB1459057BC1B27A675113A949569D9583A540A04BD95582FD876511F7B3758A9C645A71C217541753A690050FBA0089319184C455CEDAAA61DB2CAEC08920378B25A2825A0A564162AE1646509A567DEB6D87C48CE18265CE9A994DC71127250DA5108349A7B062B952A010F5CDC867AD976BF45F417CEBEA7858F184FA2971C4BBD6BDCEE59864834D269DC236E1BE7DD7D198AE8E87830D6E200118744731F750A3596C773D3882958918C1C250A259B04DAA0EDA616B6B6BD3CC6114D4C15CC4EC5426EF3CDAAC075666D5545D29CFD721741E7A3EEAE45446E2EB823AA941EF4EA288A25BB0B398E8B20F896299B7A816C686D16661BA04F49181CB45B6452F7F32322EE7AC0EDB1A8D1991D7FAF43A88A55CEF849D2E81C278318BD5E925468E9EAFEE61A87DC21AF0EC16615CD96D2FC256E25AD97A96F501585E3E152CD80573B21BA5C5A031E63AEAEC27B035FF433E6F3D1CB32B4D40044157E0603F98947AC40FAD0C886EB0C9382710812540BA5E828A880AF61638077EAD13274E4C88C5A2D8A162AE712FB17E5FD761C105EBF284AE266AB37260F2A127303007F0108383D8393534C3A09172855A59732751F753B13DC5F380C0B48718AE7CA02D108875F175C251633B8F80C43404097F19D55257367D1E3DC4BAA00E37C23020D64D59AAA289A4A192CDCE34724825806A8AB3DC76480CC59E2386ED22A02CA493ED6611F9B95DD51337C451C9AC2E46ED1B1F51ABBBD7B1CF09C41121B11D34E1321EAB86A9715326EB14FB0F6308416E605F2A168A0684E4770520B43ED78E451ACCF54E563AC254999E8DFB49F1EF359A885AD7D7910D36098971D164DFAEEB17DA2C48A2E596EF134F3C31013C0CA808DD89DDD5B2EA6CFEC51218761D969C9C8E2E382031B01881B6909CCA9ECAB45952CA7E04E9148F129C6EF4D0F5C0000A7BCB781E2A4D30AD0E1C842D641049A7786B53A1919D47F9A3218BDEE816E824C267C5A2771EE41226A7C2B00417519A08918A2682F10A164EF6C9C4D8D75D6E2918A32798CFC2E454A6493411CD729F1B5A2970583B288DEBBA732D0599FDCBD0A13AE2F8BA10818B0889B3928652DDF54C3A654E39410089DBE596820C9A205C8E85C3D9AEFBD013B0330F1B84D1B50D08D9751466B714A4AED0D13A31046A24C0BB4A4CD152D79D797460F7ACA12FBD3F44A31268EBE8D1A33B02481A2BAB1E4245DA250C9E60BEC9BC0476BB8CCAAB57AF4E240208041107B44523DA5163327F3B1875AF08874104F674E49EC13CBAEB636C168839A22EB3CD5164BB5986600BF5A776044B4A9A9D21EEDE364F301BF78470BE4F44E9823A409F20121679B64E118ED8AA0B9C0879CDC06E0C13CC376C3351609C312D5037554895008CC297F38D1ADB0E8E2506731DD9C4860A1040009F8BECBDD366A2B058340E16BD8128A2D58EFBC8D59F8D240DD51184B609D8146C8B5862B06E0A9E6F9B0392F703CE818E402910100B04C2FBA14D6E42177EA5F8AAA2326D138A24EE9B80107ADF7E960E88219602C1FD8340405C5888B467AA721F93207115E52896088959FAC3EE26342FC80BF7C9F2852C05824D309D9C5A15BC972CBEA0F088B618C1C2A06E3BCD2124936B96090402689B85C9A9D0ADDA66C9465F72C23DDA655F578725228062A65B0ADAC9A96C7083B59D4D1441209BC8BBA86B2758E7B864E01EF359E486DBDEFABC4068108DBEDCCA802C0592048973ED117D800870DA61A5E85056709AB0F5AD2E40625D6902F743173EEE25A689B34FC167E53C86BCA607153780CF70532002F6B2BBAA5F74A5092E348821480F234926903854CC3D949C47F66A0747E8069BAE826CB3E280C440882A1016441CA25A74F9933A31B72BD12C4627EC6887E40BEC9E650406918C3A2D189813B8F0018961B3702BC3959C1A332FDE9D4776D6262466E20F73E25DDC306F5E62DA2C84C5901C80C3B059586E9ECA3E7BE751F4C3227F4C48CC50A2984A130EC8D9768764749B727D60B1B27C2110276C160C11EF8D40E20D61C9659BC2B10E37465072DF5E6E787F9720715D25D5BAA0097291DCFBA8F19DC758773DCB89E386A077E85D15D6FEB04B90180462F681466339E22E9A535288A3313D9E8308F414CF0A24669D19E80A7200460E246EBC1F3DFB3AEA069B20840E9E98A54347E23329E8DCB973933960C44B55726A2390D8B36F3FCD87C7C4E342B05A6C77FD3C34704619100CCC070CCA63C78E4D6D369A0959C663D54472EFC46EB0E9ABC3326F9018F70FEF30FB78B1E4BA6E5CE04A388AE614BC16F9B9C8F7B5FBB9813A2CC5AC11468B29480FCC136031443B03BD45B40FB2758A88A50DB154975D76492C21744B4111812B6D9EE0265A0AEAB43A7251B497B82938AC03BB81C4986647B107592B37DCEACA78752D057382261ADB0E0E25080C43B666652B3E3828BBBA576FB7148412674B412C30001C86B0EE068186215D713C155975E9A409246684C72C85B1428FF2DE200558C8E0D4A95313C2914029FB2AD9E28BBB88DA526737A1AA50D65953EAB867C6864144031223F408D2829EF35DE9B2ADABE199AE0653DD40846173C4BCD622BE74E9D2649F058B15701891F8E02626E95675D588D22980C40C5BD54864D6E2B99A84C4901EB6CD02310702C9FB836CD73D20F1EAEAEAB2761DB8905668FF148A3D118187DA3CC128160DDB827B463909B7BA4F3D2031A3F0770512877C070460BE234B6940ECC9C55D6F3351502C9A2506EDA0899CEA78499038060EBB1E19D88D55464F31BDC55DD335BA7F0A17184410F4050EFAFC743062D3D5F186A9F609943F0D44C246B8EB536B97B4F5E0962EA27370CF3028018721967471EC4639253470C20EECC68560C580080402B35A024489B7692910CC070804480C09C1E454D74658A35E624262D828ACE283610776CF231CC63D33129FC57460F5C38D0F8EA208B4C14272B94242621D65EF4B3AFD2CEFF1139BE5F2E5CB130F319353D93955EC987C2F316289E1256687849432205AEC75A97F4A5D4BC150B0A093530189E992CA51F4658C3DE2AA3C818B0021B4B2940B6C7D4B41DA16208EEE8B5CA52F53638AA32CFAD0C064BB0E8BC9849D6E8B028D75ADE291EE9FC2386916E9E436B8AEF6B71BF64A728037F40DF03B2328194FDC45DBA46A0275A5092E3CF8B7181D89855727E61A8B66719D1862897BF62C20037FCFAC0676BB94394354311780C267CF9E9D108B5E735F3DE2C6EC14BB9B10DD258CD8B033BCE6E9808883779891F82C05024231EC4ADB2CD93AE5C081037B592B9291E4DA533C8F7D1DEBA408FBD4C395CFE45416015D5B5BEBC7CC9353A70827DC67EF945C488C63965A0A86A02F3B3955EEBBC46396F8420041ACE2B73D01402DAC8AD7B5968258404DB5143420A06C62E7313A3E0B37025703EB80D159D7D596822004BDDF10456CCFC12DF0DD82C33B744A1517F83AD9811B40085C3C8900B69D15DD8255CE3D79DC2F5B0A3EFEF8E3D3029E188C8F0B75DB27771AF2158A667E382E8A84D0FBF6B3AAEC698BB1E723ABE33DFDF4D39345C9045C9FB1DC282466D229B038D897176657EC9E37E485FB87031203901870F8E4C99313839A628EFB2C8DB8EE854D17F047CCDBA31B7A1E0CC41C9B856E7C7010F659B01906D146489C953424938FAE82DE76B3B1798FF3D652905C02FD0A298396826C5992EC6611428C73B981112C4463267FB0D545D8D05D1CD78A89D4AD10738226405CD8298DE89494CA1330BC8CB1344DFA0710E02137DB6A9731B7B9AB5A0AEAA0891845DE68226A5DD229CB1342CC41A662E76D5682F6744B412C34C07FC061DC37161CDE6708ABCBB277EDA5E4B8EEBD9B5C8C89A25B1B9C002547AB7D56BB6C43ACB1A520D33D60549E397366BA20358162254F88F82A94F29BC0611642A66DA2D1D82CB73BF74D30338471607E9039FCCC33CF4C9353D939350912BBBE2C7F32A4CB9E90D8AED8FD192CFEE40010B878F1E2046D4192C06641243E6C167C2622BD9FEDBA070AB103BBEB0041DD9F9A9682ADAE3801488C49CDF14C406AB0E723F7FA1BD129C21DA35C773DC51E88C19D4AF97EABB389B0186153612271CDAC9B99035C2061642EC6AA287A9E9B25061ED3410934A673EDA17F285BE5FDCD361345579AD0C1206C584D1753554ECFAE6572E9C69B759527C80D384000B02D12FF674199DB81DE2010143A0EDC2710574CA86E92EB5EAF7A1F31689B80CD09054104E663CC2A00801863A50956C73B7DFAF48458405A5555CB1BE1145779287004570FDDD4F3DA3F4557C7D381DEB05BF01903DF1B8D6611020C184EA47B6BE912209FF54FF9E49E19EFF6DE7BEF4D8C4A88B8F3E7CF4F380A3A687D7DBD9F2CBEECA636AE069BA9B2D214610B0DA82DD4A8D4790E83B7F08CDA83DEEC9C940EEEB330D09B7BFDD93B8F8866F185F087BAEB99EBA8FB777926276902138EA0FF616F469669C4C28CE90FAC071B170012130C35A25342ED13BC471000FD438CCEC20738565757EF3A56F5A7799038250D3FA22DEEB8425770B3AFAEFB431DC1A22CFA54F73D0EDA254C942124AE08EC2E725773CD798B041156B81C903A6882798F2014B3D862AAE345E9945817005DD820024BF7010EE231A360725121DA728812A5ABAAAE5B579A6007A213274E4C3EC3FD23F0CE571DAF292FF18E9341275024312800EE7A0D0432C5878F53CA0802B9446215A7248B4E1A950851651C31D01688E54B4ECD86C408DF64D22988C17E54AC4EEDEAB49D09878B0AF193C22955A2B06852A7C1648077180373C652200CF4365E8E225BA7C075CF4DACA602BB4DC0F86280D8E97926B28C145FBD40824CCFCDC4DB54CE87388728C302D65D886471177613A0682FB150760B94CEF112D35FC4E06EAC1AB9E981351121AB3B8420BD0042047108CBDD32C03D276882AE19B9EF07BCC459494331755958B0CC84D54C652F77E8C490BA5331897DF5582AA2956A4CFFCE4394D24184BE357CBA67DAF40C07F528AC73B647642468AAE5DFA8EBBEEA603B41BAEB410058B335FEB010F88A091C5B135E4678017C3AA51FC289AC6186FBE16283AEC07DB2A5200958E7BE8F268A8B9255628A690E6C4AC976824022818E497B8572920666B8947F2AA7900803F5180D225CD5F180B8E02506E1008743721F93DD2CBE42D1ECAB452F282E2433B0BBA8105D2EA2B81EEBD0574F1162A0463F4167396D16883828F30B172E4CE68791F839E874E849FA2958365DDB26580DBE3A2C81AD3A5C44E9AB553C36EF8D3C448925BAE69481C5957D8B384907832630A0CC21E2C041405E3E31974414D1117BD877BEAE0E4BCC0A302D054B87DC1F281135529319C221751CD3AFE194A968CC6D2908EE00DAC2E20550808883EF4CCED78F41714E9D2227DD1458B85C578725C436212CC6CDCA585493D057E285EF8DD5048E2D5D522670892D228766F4D5FF4FB9111282B58875E5F2D483FD530089ABB6D877C54BAC5F3378824618BDC4587DB2726E5B135C58DCD233C4187B444A0CA7EC90C896C2778208168BE6B603EC15DA582C725017E2EB0B94782801DEDA36C17E3588819B61746045039891A53F7A96922F1C4A3F87287D87FE2AAC736225EF48BED5ED3918AA8B203B2A7A2CB410076C32248E09F0D617096E604D7740E2BA1D3BC3C223CBFEB0E5FF5889169F6D5206724895FB5E1BA523B9B6D2B3A3398DC467C73A2C422404611ECC76EFD440DE75D7BD2E88C3A453FAC400FBE0848B6C774E457E5FC9F69E8300B61B26C7A5EF23A8D663DB660429735D1D8FC5D7E025C6A28492D7E91F36C724BB592896D8E9940D36194663EFDBD7AD006370DE97C713478E1CF9174C6A8E27C1B5A233CF072E59826F4E147C29F7174474569A2011305FA88C079B05F058C78665EB9483070F2E4234D16FE573D7D74D9CB0F75888BA0D5423CF073216E4FFCEFBB893316731C408FDDCF719DB08D230966B945BBD3F908984D21FC6DC33E60B112D089C806883DF0CF92C57AE5C1954A54904E91491911B32990762DCF57C0D62EEDFBF7F432E6A28D6EE18360F7729F93D3E67FEB97ECC99E018C2D1262141D8687465656501EFC962ECCB2A1F0BA14632A1854C78949F10F7C29E8F72EE510C473B754AA81F8CAF714342C34D210636C7C662302DB262B52606561D5E6345EA820078CE1132B13144A8220A33A049183D208A8E1F3FDE976BEECBCADF16026DCB221D09B1F65489B75DDD0E0E71D7C32892C9DF429C98D8207D91A70BB8214E3E078980C16C633CB7BF97E0AA49FE3E4373791D18CCC9D15C0431F4E4934F0EF15A08327CF7DD7737856B0632B645CF2E868AB75D75DD1BEADF958B5F10D1B47DE6CC9925B616E40DE23BAC71A28726845E459C80A60912F25B12863A1303D74A02C178C4E710CBB0F63FFFF9CFEFC5B93EF8E08381E88F2D0382FA75E22DC9755FC51D261E6A036C8BC03259398BC21560ED05DD5BD847000CAE3EBA5F7210530E71EADC421AFA6A82B1650963174E9E3C599C3D7B16A2ACF7F39FFF7CE2F3A2073D240D22399A4556C04864E9A65CE0E0E8D1A3C573CF3DB7971548755F475C2C1525F3CFF51F6B051E83B6EA569CFDDBAACF62F58DFD9C83F7CAFFC3DECAF3CF3F3F2194A0ACDE8F7FFCE3B128F711209CDCF73E9F9D52791D870E1D7AE0DBA2E4B6E4CF27EEFBA79F7E7A01F97B94C16471AD98ED1511238A5CF9F82108AB4A57F8CECFC9D40B429FC7775E9B485AE472AF89E20E03F3F3A31FFD68F4B39FFD6C04BB47E6A9101AD971AB57AE5DBB76CC27BEFECABAF83DF247E765C57F00FBE217BFF8C564D04D815A607200659D16FBE54B021757D831812E18B98877E4FD57E4F72BF29DDF90B142602037F08E9CE30E5D1BE67F8B9D73503CB08F6EDE2A5C56BDEBFB153B9D85B95FFDFB15B9E6551913F925138BA0ADCB7407E13AF11379C4356FCBFCEC95EF1E17D1B58F7B4E3407E4F39B72BF6FE29A4C6A3B6C94C3429CF7E5F93535D7DE82744996F557BFFAD5AFBDFFFEFB7F2B72F40864E8E73EF7B9E967D84390897FF9A5975EFA0B79F9945CDBAF098BFF3A58592EEC2DB9113A8960065FEDB5E33826D77C4488F19C3CBFB6B1B1F1965CEFC8B8612E612F8B2E99F3E7CF9F93C9FE7359E50761AD3FF5D453DAE88694F9E177BEF39D2FE45CCC30E6CBDFF8C637866FBCF1C637852D5F003CC47BD869B363A50414E0E6301E11A25F9795F2EF6022B34AB7637C4D0FE9B8228BE5A68CB794077BDBF8E8EE1B6EE95FB870E18F05717D5124C784A3E0F382B8D2FB4E4250C1414F0E7EF9CB5F26973CE9C77CF9273FF9C95FBFFEFAEB7F42824CEE46949BBCD7D3714D1057C2314FCAD303E6267163F033804BEEB58C20DCC3B967AEEFA6E1E2BB24088E679F7DF62B6FBEF9E697843BA6100D880BF7AE519B2CC84785285F10220E41C85D27CAA54B977EDFB5558A9522ABA7C7F2494294BE70D03315E72F5B3642FC5ABFEAF28443A90BB1A6C9B832178510EEF7204464EC4F214EF0975F7CF1C5F3376EDC78C2F73963BD4CE0F3F8EEDDBBADEEBF157388D1B824F773D0F739740B37C5DE79E71D9812589D17649C4B214EED978A8F8FA158B0F704595566CC4094BDF2CA2B5835D704087C302B449185B62552A072070FA20CF72EDFBBF9F6DB6F031C9C86D44B214EBF8E18F21498EFB1EF7FFFFB2BCBCBCB97EB6E00AE7A21CAF7746DE3AE1F7044CA82ACE57C415E6399A3FF14AE8292477EE7E114E20C5DC430CA199127CB40B9E6448765B25F9795F0A45C64E1DAC812CCFEA1A0ADEF898CFD3F73EE99C9E59669F9AFC5C5C5B322A2FA2EE35216E32D013BDFFDE94F7FFA5A6F670CC292419E9C4BF490B902E80D4021BF05C04025C2B1D34E310421310E1B62AC9AD74BF2F14939FE5074C67928347D61274E9CB82CC7BF8E3F4602382944DD5B1AC1F43EFD1CC79C63E1ECD9B37F76F1E2C55FB15DF7C78E1D13E9B5F69248072EC22D63DFDCEEEDDC7E1E99CF6EDBC431E80FC4296DA22C28CE386488B1D8FB243C67E5E3F93FF165B980B3429815E190FBC23DEF0B08785556D15D7501F8D3F77A9F04495459DA4D7DB69B9F63B59F3B7EFCF89764DDE1DE0FE2DE457A5C5E5F5FFF1F11597A6B71648872CD83EE6CE25C35DFBD2DF4B85F287F5561FE78C52246DF7251F4CDF7849B17970D3BF7CD9F6C190ED930A2ABACB9E1D8D70FE31CBECF28D61F85D41062EC178EC1EB05B3F036D5F84879017CD7C0A08D2DF37D1007456D366C4E811ED86311A3EEE26382E6768B3B723924E6335F66981D25137ADD9A387776704A8063AF353A7716708367014F74CAFF03B31060B8D0291A5B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (89,1,'Rack_42_with_door_(128)',decode('89504E470D0A1A0A0000000D49484452000000C7000001B80806000000F106F3660000000473424954080808087C086488000000097048597300000D3000000D30015856D5690000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000679D4944415478DAED7D698F5CD9795EDDEAE2BE35D76693C365C81969166B1947B66543816307360C250192D8800504F1C7F86BBE25F9010182F817E4933F184800430A9000121C688B6DC990359246234D2CCC68869CE13243CE70279B6BB32BE7B97D9FE2DBA7CF7ECFADAEBEF71EE2A28A55D5D57DCF39CF79DFE75D8BF1783C98B551A83168C918CFE204F7236C1FCED2DA5940B1198132EE41B2F9C768864031B7B8B8F8B9E170F81B2B2B2BDBC4A64A0287FA9EC9F3B9B939E3EBFAFF537EC6F2B9319F3F7CF8F045753F5F55B7F87F2B8CF420E925877B3CFFFCF3DB1F3D7AF4EB6AD37C596D9E7FA51E9F7FFAF4E9DCE3C78F87B9FE262988F85C7FACF35C7F0D80C0A37C1FAFEDDAB56BBC65CB9681BABF1BEA5EFF56DDDF578F1E3DFAB56F7DEB5B0FFB2DD8836370F6ECD97D6AE37F496D8E3F52D7EFAB8DB3B0BCBC5C28800CD5E93A78F2E4C9605A7F8BBE81E5657B3FE6B3B6CF6FDFBEBDBCB66DDB3656D740CDC37D059837D4E3FF1A8D467FF1E31FFFF86ABF253B008ED3A74F2FAACDFF7B6AE1FF58FD8EDF529B63AF0240A1800040946098F6A6D64FFD904D9DE3F752A2E8EF2B400C2051D43556CFF1E2133567EF28C07C43A96B7FF1FAEBAFFFBCDFA22D00C78913275E807AA4AE3F548BFF59F5BDDB0086070F1E1400825AF0A4CD157A92A76EEA3AC00B9518AECBF47905A671F5FA58CDDB874AE27E4B81E57FECDCB9F33BDFFDEE7797FB6D3BC3E0508B363C7EFCF83F523FFB1575FD33F5FFB3EA714E9D7A9008058080EF8DDD5CB68D1A23157C9BDAF49D29DF65FB7929252407D13F6BE227A6E7EAB0292F35B763BCA6E6F6969AE3EFABF9FD9A92365FFBDEF7BE77B7DFC61B088E175F7C71DBFDFBF77F0F60500BF4BBEAA5055891F0B37CACA37ED8FEEFDA84BAD528E4F7E69654BE7BC6DFC74B02C2049CD0030007102EA59E42AA00380F15587EAA9EFFEF3D7BF6FCF7BFFAABBFBAD06FEB4CE03875EAD41FE89B11434DF66975C18AF445B5F9F7EA3AB4EF548E0580E9355DFA8458A252553117C86280AD6F7AFC1FE65E1F4052259952B906E070306A548794C2CEF27BEAF56F5CBA74E92FD56BEF9C3F7FFE46BFD513C0A188F3D8B2D996D4B57D7E7E7E0E96152C642529CA0BA2DEF49CFFC7C50DEEFA3C9FF3113F02BF07812187945031665BDB67631E4D40958784FEFDD2FF817BE36B04049E4B358C9FD75FA7E4D1A5916E3AE6EBE077EA1ADFBA756B458163AE9AB75BEAE13DF5F89EE1F1F2850B17567A2818F6C9993367C6964D76E7D39FFEF4E8B77FFBB7775294579CA224D77894AFF33DFD35DB7BFCBF7C1DDFAB167845E9D2430906DF98A6AF2634B2859F53A7FA589DE20525082C54FA657A3DF535FEFF6B5FFBDA1DF57BF712D8729E783055CF1FA987F316E09CBF7CF9F2A3AE826364D2DB6337A39CEC98CD8BD701080083A7AB6B2163FFCE2686E9DE4D12494A3ECC31362C5FD73667D07C85BC669A2793F4D55E4334C24BB8F89E785C397EFCF8651370705DBD7AF556ABC1E1E300A10008FD1900013AF283070F26E65DAA6C784F9D7C93080BAA66A6EF9D85D844DBE6C423EF0903D211F7C2D31DCF79EF54A56241E0028609B0AE3973BC87688513EABD13EAF19FE8A03F7AF4E80D1D3002441F5EBB766D5387CA8CF4B82179F2E55069B0094016EFDFBF5F8282A719780C014187A03C55377B08926DB3F230A09A8501524DC06CDDBAB50450080842816103482260A46439A01E0FA8C75F337CF6E1A14387CE59D4B5F76FDEBCF97853488E9C12039F8554585A5A2A018105C72640D8C48E1D3BD6718E94DFE123E4D39214AE4344AA28B6EF2111274FE06172EFDEBDD2734E4348ACBAA5AB55B941E1BBDFEA71BB7A7C45BDF58AE1B32BFBF7EFBFA8016602A43B77EEDC9E4970E89318021A9C7C77EFDE2D1715806058849A80892A6503838B5B8400639AEA953C8143A5AC7EAABB248124D5542B31A700080E161C300451A821226233370618C3FF81F853D5F5BBFADFB377EFDEEB369EA39E7FA4F6D854D48A91D477434F4F9C6E00834278F988D770CAEDD9B3A7040449B654994C1B429A746325C646720E1D24216A682CC99616287C3FE60A1219870FE67AE7CE9D88F635AA6026A76CE2E99F1B14A152EC6075FDBAE1330FD4BD9FD3794EF5FFF795EAFE24ABE4306D367DE1B030B76EDD2A2FA84C58209C660AE513E9C02B4427AEC3294C9B73A34012721FA6CF988C0D36B0E000231721D1C70174E3C60D86C497D7EEDDBB8DF39463A36F04602CDFB7435DAFAAF75E35FCCC53B52F2F6A80990048EDCDBBB5C1C13F4C2DCADCB973E74A406061705A1D3E7C7870FCF8F120E9909B54EB7AFCAC987463391980A11B42422D52B867A8AC942A346A4082032C9428A675CDBDD1A70998C0EF9B53EF9D564F71FD53FDFBD47C7D62B1ACE1F18AD15AE5F0240F21198E1D3B365904291D4201A0F38A1493B08B6B4C13242E55CAB67026FF869C0F8025D69C2B167CC245F01DB0088203EA7FA7E9EF7AF5D5576F296973551D7E8B0A5C7BA11DF092A6E659004CA6EF3BACFE7F182151FA7BEA111121E7287170599D8095E87E72F0E0C12DBABA94EAF4330D869A507DA8C89A516DF265F14D5B95326D069354C349CFCDAFCF71ACA9D6E76381D4A0AAEB23E4070F1E7AF7777EF75FFE9727CB4FD5A43FD971E7CEB5C34B4B77161F3D7AB078FBF69D85EBD7AF1FB979F3E6D13B776E1F56801982EF003800DF4600A66100EE528F9F51FFFDCC3AB5CAA4A3D635759AC837F909139E18DE4E33A63A0157201EEB586266816BC8F7E1E7A1050F87110F043927B60327D6016832E5DA4E603C7E74E5FAE0A38FAE97B4525D17D49650D79EC18E9D8706AF1EFBCC607EDF6EC52D47A33B77AE1F5CBA776BE1E1C3FB8B4B4BF716AF5DBB7E580167415D8BF7EF2F6D237070AF8C766812304D02708D5A15B3E962360517928E405C00051D6120998CD3B279C363FEB626C192833F713EE49CF370E0E2B84CB5297E0EDD80B1F630B4FFAD0F1E3E1A3CB8F26870E54A19D00BB5E1AAFA0975EDFAD968B47770E685171570F60CF6EEDB593CB87F6BDF9DDB378E3C7870EFE88307F7176FDCB87EE4FAF51B0A3837A0AEED0370081E97BA16B3C19B9658A5CA6AF373C4924C1D140001270592826080954B061BA658A86CCEAD690283E6D53A9C8531578CC465F025240CE60A5CA28EBA95E2040C19CB4A0DBB7EFD4E790D56CB10DD5ABD76BC53143B0747174F0C5E7A79F760DFFC9E413178BCE3D6CD4F0E2D2DDD3AFAF0E183638ADF2C28A9734401E8A87A7E44ED0FA7BA16B2C19B52F1D6490E9769D705185A4CE808C4826391E1FBF0997A632D5C3A105DAA436E50D491202E154946D7D25CCB901B9ACD7D0E409399DCB5019A280986EFBD73F77E790D2E7E4C75EDE260B01DD760CFBE85C18953BB4B756DD7CEAD73B76E7F7C40491D25719620658E5EBBF609A48EE23A378E2D2D2D6D87DB804682A6B887ED7B8C6A55C886C56BF8C3E908C4A6C7690742383F3FBF2E1C3D7573CD8A4F2374D3DBAC58312A12258A8CE4E5E94AA0C064EB5B239F137023E6F2E1C3C7A5AA56A96BD0B13E51DB505DFB7EBE65DB0125715E51FB075267F7E0FED2ADBDB76E7E7CE4DEBD3B8B50D7AE5DBB76044602257516D5BEDB8F39217874299E0330C14E400C6C7645C006B76FDF2E2504160F8BB5B0B0502EA81E2692AA96E520CCD374F235259168C1D3250AE6586D92F2300250E0FC9352C56660596F0E9FAD43A654D76EDC29AF6ADC59BDF6BE5B14FB06274F9F197CF6F3AB52A72896B7DDB8FED1E1BB776F953C47499A854F3E29C1A3D4B59B0B0A3473745CA7026664339372C3422A0010B8A013E2C4DAB76FDFE0C891234CFC9F5CA1B15839496ED384BC2E40524875AC0390910BBAA75C971CB9D5CE694BE7BB4A55C37571555D8365E7D260B00BD7E0E0E1E383B32FEC2EA5CECE9D5B87376F5E39F0CEDB3FFFC33FFFF33FFFBD5429E27402AA9369FBE5CB97CBC93E79F264B920120C2E421A1A5018426A377A3163C244622C7D75FD1CD2018875C4E105890E4F7958E8486BEA75AFAA6B0F95BA76B554D7B0A9AEC1C169E3A3D1845C7E189B564DF6A3975E7A69872B4C24452DB265F7E94EC01869D134784C8EBE5095091B38446DAD03167C3FA406A43AE6F1CD37DFF412F21615B3B7AD5AD01C580979683DD958CB8D0B300C99D02550154681FFCCA500645624C8FA53ED61C9CDE804ACCB4342E7D94FC85B0E8D6290129FF58C90DB9C803AF7A8A353F3759691C1C53F02A71C1D857A8CD1AC80C267410B91943452D0C4CDEFC07DCB7247395530BF6AD576C931A865F21D85D4928A55A364EE34CC6D3839B1390806A819B2B042CA0DA700A38EE73F876431F13082427ACAE5EB75A44A9B0879AA5AE5F3817909B969F3C80201A1A723169829B274DA000CB4C9538DA2273435FBAF09C912C209EAA85B2E49203DE59C77569E873A862BD4016802872B5AB8ED6A95ED3E43F2495C4EC02244626001E1088495040BCADC67D8DF21155242459AD8EC4DF00BD3676C4EC0D0531FEB41732DEF01F38A0305F3CA3606A1EA96DB43DE1DC9E122E236C058939DA4BA23178079CD7004C2078281458395E4C081036B12A05CA575523DE5BE4D9FF3348C01489DACC01007A028125782850E4048659B5431718E8DF6906F24218F8DCF72C656C9020AB09D0310E0100C8A73A5C8C63AFD7278C967D10998CB222581228D1870CE324B13A65C1956E25329BAC03BEA44F98E5C859AD5228CDE7AEBADF20731F1070F1E2CB30249A64DA122B9AC5BB338C14D0323E64081EAC56044020587170E31BCEE22E4DD1976421E3217CE72A04A2D5A79E18517CA934A0F13A9EBF4336D80EAF717A91B78560122D5A254B3ACEB357ACAA1DAE2F7D0593BEDD0FECD44C85D8099107257EAA902C20AF884CC19CFA516E939D5CC69984560D405087359A80E994EF45C9286D548420879173CE4599C80A1C5D2EAF0088A7F93050BAF57E530C74D0123879F23052020D1550AF00424F2540FB16EA59405ED3A2177DD7B0860829C80293C423ABC40E8698E647E312D2C394CBC390094920119CB39783898D41DE694134439D42D1B9FEC8A9A650A1F89E11E4E27600A8F60BE814C7D94B67B6C009CA42622DF95A117CCD6C375788898D62126C6AD27E4455295F9102760F0A6C56907303045962491E645E9FB98A6B5AA4E88499312C46590A0C996554A187A03EEA7778CF249EDDE431EC7BB929C80A6C9C7E90F27202E3C876480C50480A0F448B56EB55962841E3E3255960718243173CA31D7B28D814BB5F26D849E909BDFB33A01F501B0C08ECE1459F6D880571C0BA4B735EB471A306C19807AAA2C1B00319C0412DA16D1DC65D52A2B21D7F4D5E1D5AB57CB144C2E042483ADB540082F99C55CF1D409CF098CD0B932A5CAD253CE5605B634D99E906722E4551AE6081B1F0514E8EFC8596267A32D54390110FAB734E500A4850B641ED2DDD4337D7D51B7EEA85529257A9C55D69554787CFCF8F11D296122B1E45EE8CFC3B62D11A42DEE2DA6ED408AA4C1EF409D304A145DADE809791CF7F03A019B081E94BDCAE5E70140A53244A7C9CEFA407E0B43F965DE461D152CE4E75CB572BB14B29EDAF62DA91C688AC490C5A32985A4A99169B26D25E3B83FFA2F58545A565FA7D143B73ED5A997DB254F78A84A1B63BD0B7602C67AC9D9A64BF68B90314631C5A3DB081699572E3DE2F492B3E36C1D15CC47C8BB96CFE10385B31C6868B34C1B6864F1688649000CACA6EE2AEF93DB9235CBA030BD26372CFD4C72AE749F46280FE909790D0FB98B90FB362DDB02E38294A09911A1D37A35C4D84DD315096253054C9E72566027F90EFDAE3E64BD26210FD153D9639CC5A371B261B1D84D888030A94CBD973C8D78DB1C805055992A6B922AFA5AA624FBB48D90C73A03AD4E4082462F1E8D4580D5058D33593C9A97ECD254F7F4EC1230521C80CC0DD173CA71C9166B5D26E32152C39926EBCA045413BEF5EDB7DF9E4806148F965D64431A67F612231E04A135A90012992A8BF5409AACFC8CAB6E554FC8DD80B1563CAC9C804F5E7BEDB53999A0944B2AE81B45449CB66EC5584A27A7675C7F4DF794F79C239D904FE6D4C631AA491DE726D27A22942CAD6FEA17D7868183051B17AA4F0E1EE2031901E27302F61E720F210F7102D601801C92B033949D664B7216B5895AA783E1DE98F805809037D0F2548787F8FC1CAECDD115C9914CC86D9CC3570924F494031098224BDF0709636AADDCCD3C649A2C4F7959489AA13521A6DA506E62DB005DC921CF4EC853AB15F294646B650C168F96BE0FBD707297AD548C33930061E16D5BCDE2D05604DDCEE5A849C86D4E405FFAAC1C00011D81B2CA861EE64EC0C5F69490AFC94797DA90BA0936BA072006B300710F3C4418A469028B6F2EBB1A952B9BD72411F29456CB5095645B653AA9D04596D2036A544EEBD6468BE190BFBD4EE91BDBA9AF3B00710061FEE9D73039FF4CB1555D25E42EC9194DC839A488C7906D95697D41C6190061F27DCC32006649B50A559174A060B03F375365E918F41D749DA2E401D5D46DEF39030FD564CF7DF0C107A584609F88A3478F969FB381A1AE79B76B4049B148315C849EF2AA7F63A9DED23168CA04EC1EF728922B8F389D80E40728A0B0B8B8B8864CBB1A67D60140F5B7B46ED54C3DC273390019F94CA9C29077532660D7A272A55A955264C1E904544078BA67CF9E2D24D3B9A502DF03282095DA2A3D58111DC3167F96CB01C87C199B71A36B8187218780D3436E3A4D62AC5531A061561CBDE1FC7D24F03B77EE6C1D4260B4C0FDE164A77ACA7AB936EB538E50131321EF16DF7047247B09B9ADD65148165A286098224A4720A505A5919E4BDE668EC1AC4859541A8FD2EC9A5305EB09795AFB81356A95FE452CF81C1B71CBCD4E8288906AA91BD7E922DB262B952C2A4DD50B0786DEE2BAC942D25DAC7818D3FA2CC909686A2D0092CE2EB278CE7EDB0C28F411F9364B8E101549F792EB00A2FA15AB82759D90EB73102245269C23A427A0696021593C1A80C00020E0FB60F8839EF31163DDEAB254916BC1323EAC4E2FD5D218CE61DA081D50AA9CF92C3E2932B28561982407D4247AC66953A733D0E6086C638FC09C20087D0D20E125536559545A16720B25E45D31E5A61457589743AE8303FF477A2C3DE318580C78C5B148211545BAA84699EC89392C5254AFA40350A6CA1228301B77AD83532A2137FDDFEB04AC5A906D45116994B3947153B2B5402E00749D73A49A6AF5F6CB6C1C243DE4B68DD0137237609C4E4075223D3E79F2E47657DC5468E8B4EB3D2E7225AD5A572B17F9F72C4691D354AB03851514F55AB9B6D3B1FD52238E903B39879CCC186B55AA1AA55BC5B079D4FF5B572B171C0DEA0ED41E992A1BEAD7A8E314749D9C5D931C8D3901EBF208E919A7779C3E119936DBC6212D4DECCC44A0C476968D05464FC88BA4F6035EB52A0400BEAC405A55A4099291A45D8DC6A57ACA0A86ACBECE042797EA13A36EF5843CBDB8428813B008950AF284A4679C5E769C9032AAB7CBB5AC6C79F694A23294449726290EC0EE563B9C6CDFA4F603A5E490210B3122970B63F28C33845AFA3E7CF1535D004CE8A92FBDE2DCCC94367A125A2CE708D9246D53AB4CC68810C0785B10985A0B000C4C91A5A5091D8530C81F42733EBA2241EA106F93A79C39222EB0B83CE45D26E436EBDDBAB67FB6581B091A2C061D81B2AD323CE321D5D463BDE45D004A0AF1D6ABAFD301C89C72BDE2611FB29EEE215F2739F449552018BDF3CE3BE582C01188AC404CBE6CAB1C5251A4AB6A544EA9A2BFC60A2532A4045C0F521D04BF5B7D381A24E4363F87D27D57CE9C3933470B8BAD71662E005466CDD6AD244976530D33A5039040915E701B21EF62699E68426E425AB5982B9414B1C183A15E72FC7E2C2C733D4C9EDDD05A55B33A58F480EDDE5C7354D70148A0F484DC5CD44DDEBB0F30239BB3CFE704CC914F4E0724360C4DBFBB76ED1AC74D4031F58265B16118305CC09AC71670000AA5895E543B87540925E41D50AAA2CDB86BA2727D4EC0BA3C82A6490040960065799FCDEE1D776D34FD3D46033053929E721696F6599F52D42D5DAD98D601B25909F91AC9119B0918223158F1907DECAA1A58939FEF4ACEB86B23D377C1474A15F206DDFF94A26EF54EC09A843CD409E802051B3AB2B532078B47DB887C978B48EBAFD1244E8E223DE5FAE7731557E8097904218F31FF0104301B429FC6A2D2330E35816A9489C8F7E6DB70B0484FB994CA3A274CE11C5D0959AF45C8439C80E40DF08AC3110840D01985B6CA5CB4D0D8A91E20615CCD34A4A79C019DAC5C62B25C75392AB73621773901D57BC38F3FFEB80404F56234CF0420628A4787A851E2BDA2EB2008CD0094DC04921C173DE5B66E5DDDF392D724E43627A09AFC21FEBFB0B0502E04AD4B3227A32E8FE802F7C85DAC4DCE99EE2967EC95C909A86F88B6E3C4552B3798909B442D5E5740583E74E8D09CA9A248A254B0AA0A54D3DA283990268B7BA31A94028210F060ED981B1262AD69B1905E47C843A486D7439E62AD4A05057E37D400820F5CA6AA95DBAA5543051796318203901E6C575C5A0E49D3F5A85C1F2137FDDF9B09C8EA2339002013A1A88EE95D64DB9E264B83053BCA32FB8F9E721337C8A182F99D80EAF33D21B702C649C8EB480CFA37A84A302B90DF2BD364BBE2F3907E0A7ACA99532E5B309364C780C5D60DCA5560A027E49184DC47226D8BC105A723909B9FD1A2F47974397CDAB6B9E917C29C51AAD03C6BF294E76A98D976CE612ACD934CC84D150F5DA0204F2020E8B042EE072587AB1A6297DB9DF9C0221749C65B990EA510D5CAB601BAA45659E7C05648DA161A6E52B7D8CD949E71369307D104204C6D954378499781E19304364050D2C84E4EA6EF7713F241AB4987AD9B6CA8337022396CDE537006380191260B6030EE075981941E29B1535DACBA9ECB01C8F246D2AF414F398B5B8410F2F69B7207C11CCBF419A713504DF4964B972E95561578C50F1E3CB8C633EE4B82EA55A966258DEE29C76000A829DBAF8BA5797C4E40272177390195D478F2CA2BAF6C0BE9B5514702F0F338F9DA98260BB593AA50AAC4F07D869E72D9A7DC47C88B96DB7225210FE11C4E421EB3C963D5229BA951E62FD83AADB66150FA928F493F52EE869921D1D5AB9FEB8EE4F0A950A6D793929DEAEAD55407F0C8469AB830F6ECD9D33A0F39541D5CB85F48115CACBC2EBDE475A48A8B8CDB1D61DDF290D78ECA4D092DF02542E1B4D44F4A49E4BBD23C5396FEC46120F3C9D987DD645D4AB17849B54ADF18DDA93E92294D361791E6C6C749497323D527C959BADC235086D4609E58709B520560315911530211434FCEAE1272176046AE123A3E50C8B6CACC27A084A0DA245B2BF7962AF766668B02E6CEB01BAF5E7D3D56B5B213F2B64B8D3842BE8E73B8A484CD7284C563F1689C7C0C73808A20CB8386AA4BBDA7DC2C55185652EABF22E68A8792DE5B25B690741742D66308B90E9851686B0178C465CE380B95C133CE4574012266F3DB1C92A6A26EB175AB6605843124DB14A0C9A866C9E574B0989C805D6BA4991A956B941C529D520018C209C8F44B00028E40539FF114A9B01112639A1BA22E4043EAE54A69428B18C3E06D074757B887A96E5568FB81121C3EC9C1E2D1B2C44E4CBDDC1850B475C1C01B18B69F0A0C1719970E40DD24EFDA085DF273C4B61F2809B96D41AA8A232B509B6C6122398A48331B102A5AB5A0AD5B322636310ECA159459D70128D28DFB90F540426E03CCA86E28484C5D2A590A949E715647049FC1E9BA6FDFBED631459434C2457F06FA9A501A4B6992D301A84BE31875A227E4C55ACE91B2C94301C34DA09F66CCF7604593B60F1C02F4010124CC290768522586EBE77C1EF22EB83C52AB1D7A39472A8F90C5A375958C664809982E0DDDA781474850AA5E7864D7269F5F232684A4CB84DC74EF4151B9B9BA3171B1593C9AAA13462E136FDBC1426FB94C95957DCA5D85A56DC070AB52DD51AB527A918F42406002855E3C9A5F281D813675A9F794BB55245A06E9FC633889CCDB88E11CCE90F59E905BDF8B921CB278B46CABCCE2D17A5BE51E00E112D8E500A4242E45BDC8D7E03CEBDE7257ADDCB58FAD57AC9CF91AC1845C9F58868F203D56B65586A8475E029E9BFC1EB14EBF2E7692ADF39AEE2597FDE0091653144157472D0FB96B732AA9305755212C01A11761CBC155BACE3B7258A4E804644809545D13E758BF11BA57F1308A90DB16A5EA71BDBCB0B0B0352490B04EB950A8048C406DE38AE160C13D82A331A92B160421AFD101687302866609F684DC13B29E432D728589D033CE2EB2D83438F1AA8699ADAB95CB107400059BD79400965305D301602B07DA137207210F99F058B5C86539619F6C3C320FA40B4E40A602C3A001A04055A55FC3E4F3C9D19EC0A5777729643D25D1C9CB39EAF20886549B7ADFC92E505DE31D981348495AFC00125CF098CBBCF2541E2241D165276088D4700166E4B32CC56C5A6605324C02FFA7B797EF879C905D23E3A6BC727ACAEB58BCFC51B9DD25E4216A569013D0F61E4D88209A32DA54168FEE7B0486ABA2F469D0530E6EC25EE5325536245D5602A0AB69B2B1845CFF7F3421C7E2C9E2D14CB8614660688A6C979D84310E409ACC319F00885E7DDD5711D1E504EC43D60308B969A1E4A4E324039184331000C022010C689E694B80EA3A005281627B8D2A29BDE57AF575BE6FAA9ADF5D276083845C89F3D1FBEFBF3F098493C5A35D29B2B3961ABBD98161930EBA84603215D6C5A682C90DD0B51CF268426E5B844AA4AFBCF8E28B43535BE5D84D1EF2F92AF7B9752B06825D3955A3129B629D827402CAC5EE729A6C2A210FE21C0A14E318F2170B183A02D9371B2A5A1B4F339CE82C011A1A8F56C701A8AB565D4D9395DD6453AA1E8E62263D8650DADE977DB39903223B432915AE754C9105EF281D2149E6E7E72769C2BA03B40907608CDEDD36C9E1ABA66E25E431D53052AAAEEB1532786A4A7F88CE5DEAD6AD9A654E837B86F480C54F7ACA21596C1992A9EA564FC8FD99902EC078CB81A6904A72145B5B655B899A5C9B7A9A64D355CEDEF773D2538E47B68F83F1837396AA5AB9E6E1191FE986B5CAC52B5C80F13A014378846CAB2CBBC6328EAA8B391CBE468DFAFF195DC00C4B7231A6CBC614DFD6DBA4D955A9EE78C8535A9F25C556D1F2C2A6F3ACA4AE7BC6F5A8D3DE841BAE8ECA020CECF5C7C8DED08643369573ADBAD5E63571AB953EFE15E404C4A09E8C0B8B267330A4CA949AD3D103C3FE1AE797CF599A95B5BF6446A04DAD32AB116D97DEF13DC88309B99AF8E2DAB56B9314597AC651944CFA3D5CEDCA7A89510F1826154C7AC9E5C92841D413F24194D43001C7E90454E018B2425F4CF1E810A9E0ABD0D7A641B375CC5CC51661E0DC31E45D2FEC6656ADDAAF5635E604547CE2E99E3D7B865499724805FD675872866A827AAF75E8400C1A0E192676D1E7110B02DF6B94264C93F511F22E95E669C409980300FAA0679C561816830308E7E7E75BE704440517DC33C3CF912ACBFC8D908AF5751C806E5366EB952AA7D32F6BDDAABA449AE49139E3B2555A4C3593CD3858150417BBCA425D454889F494A7A4CB86F839CC1BA15B1E7213289C4E4017E788950A26FF082EE61FC8C2D13E22DF7632CE4301A9006C940963073DE5A6B9496998D913F2B4F603D1C94E3E354AD6B492BF0C0B2D9BB7F4D6ABB5832670E92967AA2C3DE5A90E40D7C9D9C516044969B2BE13C9B4A9E9A822D1A4579C11B67D6A6C3C3793CE3FF030B65EC623395A0C37719F8E6D971A3509794C44ADF48CCBE2D1CC71966D957B50C47336D36B3C64E82967380900A3730A17E7306F846E498ED88C406FE0216B2DC9E2D15C1C53CE781DEB569775E310B0C8EAEBACC0CE901D9932ABAB56B6D3B16B21EB2EA9E17502EA9B1569B2D7AF5F2F4F2B5855F043AE5AB93913A1BA0C8C10E22DEB8231AE8D00626E4C4FC8D38B2B7809B99AE4A767CF9E1D513AA4C64E8584C5536568A3ACDFB367CFC4AF216BE58670BDD0D738CF74A84AD26D3B1DBBE0E770F1AE6042AE4F7AEEFC70D3EFA07AC648DECA0BDF3A2720381AEE938D3265A2570E60B8D6CBDD0BBD9B21EBA1CEC0519DA4A658C030B481791ED820B0C8A0E40F9E436F66CBE5360D4A5EF036DCA3F46BC898B53A12C3F499B090F5EE11F25029E27502E6684623E37D9814255364BBC445C00918FA8FB0120084FD4F68F1CBE100D4C1D1D52AEBB508796AB293EDE74812659721DD41D8D7CB5DC3EB26E9B2EC28CB54599A70EB0422F684BC06218F11D7B62F32A5C8CA729531299E5DB652E1E0604E39F898EE295F5BCA339C73D84FC7EE95E68922E429C49B8B28ABEBD1D66EAAC99493CB740528E46434CD32A25774C04AE21C2127671B0979A82A1544C8E5EB14FBD09341A039E9B2AD726C12540F8A3815498695609E9953CEEEB2364FB9AD6E551738878F90FB00E37402AAC91F5EB972654DE37800820BC4323B3900D0575C0FB748E9D5D7294DB8A8B6345A9BDAD113724BC34CD7A654133FDEBF7FFF1A75C9271DEA78C92B8B5621F56ABD785B4851B75812DA3430D9DA4CCFA6CCD5305302C2542BB78BD50EB312727DE2ABD3690CD16D7256C5960BB59978493CF1B8517D01736D149B4A83C305A9B2E0658C60867A1A0B82582B55EAE6E809790221CFC12364175999228B8EAB78EFC08103ADF490E362AA2C0E0348641C062232A0B6BAA57FC61F95DB76A9519390DB26D657E9220630D2332E53649937DE958C40992A7BEBD6AD92BF41A2C0012855575361E91475CBEF04ECB687DC4BC8437D19295E725616A12F444F93EDBA858A3E0D84CFD0F987F82BA603F04A55B77A27604D421E33D936509010EAE120F4964B8F796FAD320FBD4EAEACBE8E41E91ABB56EEA8DCEED6CAAD1DB2EE9A78BDAD320B29D88A47A7A8655D922226F58B25580912F015CE6F280F7147E5B65E6EAC9B8398E8DCE01604F4D8D2332E8B47CBBE1B3635A0971AE1F76EAA53CCC348565F6730A734D9DA3887690374DD43EE03CCC8B5604A1214D087717A61619848834BF78C37D123B007C6FA796238895E7D5D7ACA4D3EA22E13F21433AE9790C3438E8D0F8B0AB2D9241864CE782F11F20025D62245AE47BE42296E8BADEA629E7E6C4F8E7584DC34F97854E4F0E9FCFCFCC8675D8A89E835BD87056568CAA085310D30D542EA826C9BFC1AB91C80CC2BB7A5C9760D24A6D23C3152A45639D0D45E1CF8C5500548306546E0DEBD7B5BE704848393B58151A882A9B2508FF49CF23A60F1D5AD0A3D31DBA656D9EEDD0798A04CC01C80813E2CC3ADE90444361C25930CC56EDBA0650F658E7020404AC2A701932D83386D052CEA34CCEC09799CC48C7602A64A0C263D316E8A31455D4D91E5C05C404AE28214014870A1FD32AB4592D7A556270921E45DE11C319EF1759CC332E1450C28F48C3F6939915EF13AC5DFDA4AC4690D8414654809D42F067DBAAC812179E4211BA1ED6A554A6472ADC043E6155012C8DC0E3D97BCB7608519337088DCBD7B7752CE870518AA9A5E6BE633C401E8DA085D6A5E13C2BB823B3BD93634EDECCC19C760F16879C2C586B4F7C33CD7B47031B49F79E598737918A5D4ADEA3A2137FD3FB81CA804031609A719C34458A335A47874AF46A549113D7E4DF79433FC5D7ACA6D9CA35BA08827E4D14E4035F97357AF5E9D3897A0073390D06459A963DEED3A28628937330BE9D7005000181C5CD2C7E1AAF8D70D5F47CDA85CD30254B1542B274F9E9C9311B7B6826375250693A08A16AE184E77C6A6E5AA8DABBFC603CB542BB78B52A30E210F720222875C7E796CA888EFF36C67C044A8B69A76714FE009F094B3C617CB1AE500866D7D7A421EC6BB529D80454E1EC18C400002E64AFA3D60EFC7235E6F639A2CBB5F31320092042A2AA425789CCBE793EA000C21E45D921CA1AA549413B06EAB656C0046F252B5C04681B952B636E80AB72050105282C3801D6561AEA505D0E6D7A85370C15CB7AA1B9C2385907B39472A91D63DE38C1CD517BFEB037371F3E6CDF2A0608B025C4A7A4EDEAFEB008C3D39DB68AD4A693F50822387750916135E12AD32C43DB472B88E765F7DAAB60C565FA75461EC15780A0E19BD4F790CE7B06D842EF939527A9147F721E742D2332E4DBA44298112E2104C1595398BBAA5AA484D7E273DE5000CA40A381A8B4ACB03C9F5B7F808791724470821B7FD3F5872E8C5A331583C3AC5E7B1D9D5AA90CD56B7EAA274C462EE711881BB31A79C85E27CB5AB4275EC9E900FCCB5724D13AC16A2407D25589200027625D2FB6DA492F57EA459A47818C99C72E68B30B75F97AE5D26E42969B25EC9C10A7DB0A44847A0CFBA542709AA8D8361367525884DAA304D9631583627605709B94D32F800E30C3C542AD418A7526C5BE518890100027C3CF9DAE82187FA834386163B566FA90B0CD3DCBA4AF3F41EF23867E0286623FB40116A9B97CDE599CF009D1A5972FBF7EF6F9D1310791A986CC63FA15805FE0F75952551733A007570F41EF2B44AEBA314EF6A0A8F9029B2CC19A7E9929BA3CD69B255C18A496A304002627DE8D0A1F2BE597D9D7C228703D0552BB727E47EC0043B01538834AD59B2A00073416C05E0BA32A862B1F802A409FC1A50C1E834A53A9BB36166D754ABC60879AC1AA517902689A774707582EAF2C0DCD0A7C19012597D1DF3E67200DA5EEB09794D426E9B605F3D563AA108004A0159545A3AAA725AB7DAAA76F19175720118FA3360B4C073BD4F7948C34CDB46E8B2873C8890C738EA6836943C819D6409981E00E9C030BD867986A18251CB32A71C73EFCBD17701A06F7DE621E42EE920C933AD2AA6E2D13E50C4543FEC816297048CEA85E4800A2673CA59BFD864C6B51530EB022852AB1D7A398712E7439C5AACAD241D8131BDC67B29525F82D8A40A0F2D76FB65E258CF39E2A4461421C7EB0A182BC78E1D9B6B3A4C048BC962016D74028258E3B668ADCBE900941C9066602941BA1D953BF0F6447445E77A9D80399C7EFAE79911C8934E36CE5427602B9D80AC160209CCB828567FCC991AEB4A74EA1AE77075760A014C5251B794BA54B27834CC936C8483C0460003A3AD4E40990188211D80381C18EDCC98B55CFDC94D4EC02E710E5367A724426E227F3127B82DD94606C261036023504FEE6AE34CE900C4DCB0FC271EE91762F5F53AEA56DF3073D01C218F95183CA9586687E1107DF168FBC07C002428328183049E725C3255563A4F635A11F8087957DB9ED924A933873CD40928879E91C65F20F3C57502DA9B70ED870F8B4A43DD64EB65107A1E36B2FDB24FDDEAD364ED6A65086082258754B764F168FD97C914D97EA48384070CC83CCCE94C950558C0DB189DE08B64E8D364D35B9F79FB90331CC4543C1A43C6FCA458B7FA1146BC65FB6536BF61AF72A8B1AE0216B17A77DB2447CA1C7843D6B76FDF5E5CBF7E7D4DA91D5C3675299630FAC0D4456911FA1AD60012058716AD5FF013C95AB994E27ADA6CD70879880A1545C8A93EA1DB109FEB9EF13A52C1D63873D0C286995483628AD7C58005528316402692D9FC547243749190DBA445505137B971D5648F95082F645E414EEB160B36D0FFD156B32EEE939542E8CFB079CA632C52B6D7F4EE597AD5F5EE489106A372433679AC979C271B7B4A304596367FD6CA35F59A30D5AA0AA95BB5D1AA1BEE0F170B56E040D8BF7FFFE4C4C71C480B54CAFCBA8AEDD936459F26EBE65DB5CA818678C9192AC28038907A6C06586118FADE7402D4B436816FB249AA1919009080541F3B76AC040E4368EA6600C6AE515709B94F8AD4CA04747D39C120E38864F168DB49D925024EA0C0E80189027F069C7F20D7B40ECA3EE5B1EA968990CBAB2B61EB31AA9455728438FE7C99675099183BC55E14AE1EDBFD581D9827169566172D5C88BFE201A3CF619D36CC5D38986208B90930D1E123F2B97E32B16F5DDD24A82E0FCE0BCDB4000C2409424AC0536CA6741B30F435EB96E42892A272D7488ED013C7563C9A223C47C592AE03C3347F0C52046058808139E534B3FB08B9C970D105C921F7684C79222FE760E721F005720496DB49692DD003260E18A6CFB0550100C3F6CB040A16DA577CA15BA3F03AFA929D805BB76E2DD8CF4E7704F6131F470A53D557D76BB24E2E0E30FA8BC059643B081B21EF4299A49434596F39500C2535C68B8B8B85CB339E432AB04C665BD36441ACB161B18169A4A8030C9B5184C5E09AEC8DD205423EE11C390A42C79A83F1070008AC974BFB3E7C1FF3F3F3AD4B9365FF3FF205926A267FC5746B8AB148B9A2A37DA594DAA25649C99D44C84D139DBB198D5E3C1AE41217F467FE6C9B6BE5D29C8DFB05676354EDE1C387CBD7E9F388AD6AE88BA876A9555D931C59A37253F563A2950DE3E9D462BF3B6E94AE660562C3F270B876ED5A294561AA85A71C07849E539E0A161D1C006597AC5536426E921A26C08C7C9B3E466F252018364D2F2F756DDAE67B22BF769EA5A71C4081A71C3E0D1C2A4C33D6237A63021125287B0F7938F7F0B5202842B8074F256997D773C67BEB5618500002C45DE939E5070F1E2CE7590F297149001B60E47AF584DC41C86325862C12AD8BF010CF78B7C47A3DA050FD82040660744FB96DBE7DB1553EB2DE13F2406B959404F48CF3E4E1A2F8AC223D08EAF338DD530EF337C0C20AECB2E27D2E234AE709B98BCCA9492FBBC932E49CB9CAAED3AA5F986680A10FB6BEC68105150C402158E469D9EDA8DC9A84DC35418A088E1716160A1660CB113B65FB3CC0D75627204F7696D6A90B0CD33AD0F907158C69B2FD01559390BB265C7A5A730040FFE50C75C023465537B6754E401C2EB847F005D9E3C4E5298FB148E9434F93EDAABA2B030F535A9F8D524E9654C0E017B3940C400187182EE8D038511948D7B641CE865C0DB60A40E10A84CC303A00F3E0DAD42952A54F760A6BC1104DC873B45A9629B2000503E498374E55A04B830E50F004F660074F50EAEBC4A721A3A0EBAA5B3D212F8240617A2FBA0FB9EFF31210B4DB33EC9DBE8F3E2BF0D9C90E90E0BA7AF56A09144894C5C5C549075E92EE5475AB971C4552FB01AF5A150A1859F40D1E72593CDA552FB71F6B07F3346EDCB8514A5A44F3022C000D03157D40D181D113F20C845C9F30571F07BD3E127F896C2B604A82EA41112E89594C9A9E7244F3BAAAAF9BE6B70F596F9090EB962B2E0837BEB4A5F73904F9806152BF2855E004845401582059580C4F56740925E45D08597711721F609C4E409C58B024B18B2C55273C37253FE52A222D2596A9647E6C51B75C9B7456C0C2EAEB000C2C5E6CBF0CD0B04581EE04D42372BB22396272C675C0782507261F1726DC24C6EB6C32FDBD595AC05870E9960FF91D385018DE5177EEF4D7F09D24ED38C89844A64B719304E98AE44889AB5A23396C5E5706B8A59275977545F609A42370D0C242D2AC828E7B0E49958DB548C9212D81BD8A9B5E7924A9794DCCA967FA192640B15E2EEDFAA8CF843F88B572DBB4404C6C623400B802EE9FB92E7A06600E07A08F737425645DD702422B8F3809796AAB65A378D25264B119B861A4686F739A2CAD79B870DFBA03903584A5A7BC0E307CEBD39590F55A1EF2904D1F5B978A1B9DE45DD6CA65A1E4AE37CE940EC04F3EF964E2D7404E39800390846400DAD647FE1EBB13B0DD9C83843CA51F60961C725D65D28B47EB9D64FB615E184A8D8F3FFEB894284895459D5C80067328FB9887F210BF13B03B9C23C490E2951C2E75CAD66B9CBD36483425187CF572FBB17E0004F092C35C0B32CFA2D2478E1C99D4A6AA2298A3497CB7E67F7D26608C14F1498E42078C74F8C5168F8EE52A5D952272000C5047598001CE3F5C50BFD8EFC4E400F411F22EC456D9FA908736D0743A01F1414A03B9F19922DBD7C49D2E5030E8D30060E0D3005040EAF19CBE285F446F972447A8F9D6041CA7E460C01B3DE37A8A6C4A3F881E30E9C0D05F23480018AC0F0B4A83A77081BBDC824027E421447C1DE7B02D044C8E2809A393E914A79F8FC8B360401BD36441AE715B24D53ED533C5014807233BCA9AFAA774AD058124E4314EC00938724D500C6098220B95008F5C589C806A615BE70424B1E63D4B6B9EAF0655537E8EEA139D21E42650D800E325E469936DFF3CDB2A33110A1B0392095619DAF2DBEA0464F5479A6259511E5219F7CC8341778AD66D98E98FCAED3621F70126D8099842BC01026C04862A48CFB8AF12479B074DB190285029197E8E5AB9364F7928307C0EDCAE498ED8782AF9FF64B5CAE5F3A0679CA725BCC0BD67DC3C704020470317E60C4041F61F3DE5ACA36BF294FB5430293964C4333742DB2507C09F252A579FE0D0C425168FC625CBCEC8E2D1B2AF760F0CF78103EB133DE530D14A4F39E7D514D1EB5383CDC4BC75F44EBBFF709F860930C9CD6B080A4EBC6CABAC4B871E146983D2165285D1BC489545A0A2F494DBAC5F36CE4129D2F62531557C348120C9092827991966F20BE8F790EFC5FCE1FD089F1FCC2FB3FFE8290750205558A944A630BBE6991B6635F070AED56A9549F50FF57B789D80E00BF2C4D13DE3BDD3AF7960985EA3DA0AC0484F390C204C6BF63901DBCE3970EBA19DADA29D80388D4C4EC0108B492C60003C2C6C1B9560F60B37050BA680459F43AC8DF494F3F7F99C806DB756F90E679F14714A0E9E4029BF38E4F4637E3A6BE6E2246C63AF3AB6AB06B9A6FAA357350C9DE3905667B46CF9D7A8F53238C8A0144DC843D4A614A4B2000040C18A7E38F598AFDEC634599AB41919803900B9C6FF591E158FB1878BEF357F0B8276273BF9EEDF14A5ECECECE4DBE4B13C8239E3ECEF4147A0F48C77894B30010C05DB70408027805403303C28303F29C08871DE76C35A1577B8276702C6A851940CF8252C1D8305A733CBC761745167AB53B5D95B06D3148BE2123844607D8203F0E4C993931EE5364F79A8BAE53EE4DA5E9A67BCAE8267E865951CB1A7A1F48C73D1A92EE88D339B183680D4018E2F6AD3148F53E7FE7088409AE08284053F01504E9F3E5D7EB72DA7DC050C7FB253FB25B5BCFFD83D15147868FA0C4DBB9010D233CE62C7B6ACC0369B7775BD35159CF4944372A0F882F49443FDE23CDBAC5FA175ABDA6E668F55AB74E9324ADD04B278B42B55B30BA068E2C4D3093D1C7FF094E3300250E829E7FC33A4443FD4BA9C261B4BC8D7F9395C9203AA1216069B5E56B2C023BDE27A88750F8066C182F966FC158C1A70D4C2F205A902DE82F50A8D656BFF5AD5DB8F23D784011CE4130C4B0825833D609E0DD996BAAE14D1A31364A512A85C004BE54CB546E5CACDD3F643C5A6768648115F37D9F2442299CE790AC962CBAC955BD5CB6D9D17102A108C15E409219EF2140720D609128501A1FE42D2DD0D1F89961CE149326152C1B6980C71C0455580E1D8F3F3F3AD7302822B30F18BADCD208971CFD8CC21495F294E419BCEFD4C8A748B73C454F10FF273A4768ED573C6010459C504018DD09DB1416409D1B60E9AB3010676D5C5854E4D5840E90BCA010CD7DA71C37421D929B434AA51AD8A9DD850C90220B0AD32C324B0F8B0E34BD2D85582CD545858A118550BEB139EB3FD34805207045DAF2BA69B7225D7089122A354AEA00F263FB1AD32A4030B0760B165AFC07EACE776B8AE5DBB56CE1FAC4FFBF7EF1F9C3871A29C37B6A636E5CCF81A66F6A65C735472881419A5F61B9780600105763CEDDB2AD753BF607D8284859AC98EB2000A802373CA433847370A2C8C87ABF5CEF058F2D5F1AAD45829B29A725D96121D14B25C289B69D2331ED2A6A01FFE930FEA15A50A24328002A90262CFA80419A2EE3B39D759AB36A1E9A328C6235CEA0E47857E0793E884F2A0990BE5192635CBAB565134EBE5EC59975582A18E5AD60FFF7C61BE11A4C822713011335516433713B74772802B0C14101418860394732C2410349261E51CBE7D6E25E4FA62E01113CFB004E9C8F2B515E801901F18FADC620D285500184812AC17424BB056972E5D0A0B599F79C9319E9B1B8EB7ABBF73B8463A684028EFA3588B279B87DCE704A414714A0E985BA1F39A42CC73F508A49AC624A036D6CAC5A6959C2C1518AECFB04739D6CC552B574F769ADDC91EAB3D3ADE0669B14EC899806078DFA556864891510C99CB911A3BD1E7D402020C500FD83CB2F2C4B7CE0928ABA0E364274F938D326355D13A265E2939666DA2574B788EB72A46B4CDF8C75980B046531CC7AB55A6B9CC52483A0434740482C833CC9DB67E3A02B981DA6881C20530701E709F700032198CF3900B18263579D64DB9F8B386C5CA8E41319E33826060078209282951B9C14EC0BA6A143BA6B22222BDC0C85108552FDAC823688E950EC0C5C5C5529A02244C954D950E363FC72C1B470AA851C50A4EC6A11704268961FACABA51B921E1233112833144ABA6C29589675CCF0AECC7EA900E40FA355027F7F9E79F9F1C2698BB94404482C3E60D9E1570C02CBB2A312A69318E02C1C0F68910B5CA45CE933201F5B8299922CBB23358D8BE7874DCC0DC419AE0C286863F0317AAAF33FE0A40B1CDA74DAAD8548B59581345BAB716C5CAF609201281607A13068710B5CA2A395C12C1655DC2E2C1C2C43AB90404C150D7BAD5F58179A5F5E9A38F3E2A2D5E040A24B35E7DDDD5A3C3E6ECDAE8359900C3BCE58B589498B42F773E4B4DB54A9F44FC12D96B5C8689CCB2E8DEACFC445ABC2859C05360F5C285FC72CC3F7B95EB9CC3D496601624C7B0186F990023421A38B878B18EA68C07CE7C9660426EB26E205C41AFE2CDE2D1BEC69939C97D3FD6CE1B2BAF43AA90A740B230FC1D6B76E5CA95994D932DC33F868A6318F67D88343002C14853C64563841C13CD14D958DE90E22967787BDB0636302BD5A782C276C030FE0A52039E72E689843901C71B018CB9E17065676100864F1AB881C0F7C793F75D7C4B57B34CC4DCE904C409E4ABDD540730F48CB35E6EB56005DF939FB31575D33FAB73A3593835717FDCB032553656B50A794D46EBCE9AE428CDB5C3955D789A220D060E20ACBEB7FA2FC45A65024D12E7880185CFE4C87C0FD6CC65653F9C7AF803A7552BB74E4DA990F2F5F277B00F22EE1D870054203CCAE277B61A5F29AFD95A446C741F72A54AED2A06836180C47082C00804A85083B8A8645FE293B305412E358A55D47182B26019F4653DD3ADCD69B2E40AB800143A48711D3972A43CF1592BD7E6208DED4F3E4B7DC895C4D8814C079F2FCF270D4C403000E5D9B3807BB40168D4048F608A2C13A1B0D8D8107074D1DCDB75528E05C101810BFDFF18557BEAD4A9F2200148109A0EC992E2004CE57D0DF18C2DC362BC6DBDC4F0A84506696002820D28294E4029455C4EC022E484E102304596665E7AC6D956596F9CD98FB583716657AF5E9D54353C7AF468195A42E71FABAF87AA5BFE3EE42B530006F6DBCA4E7D03CBC71069E00382E93B7CF76F92A6F2F351998026095185994FB2D29863606A9CD98FB081B944FC19242D80A27BCA09A490C366E31D7DB44C15B5A4410A988A62D05C6C9509242CAF0309C1FC04593CDAD573A34F844A53BFE0D3C0A1034F39240980824045703986E9C85AB93E6BD5B33EE42B0D0363BC5DDDC19671466960FE1EB36D4BAA55B12D08BC4E404E209F331B50168F36498759D57D37F3E0FC0108902A28C2007020A71C2A1840C3301E127A975A311575AAF4801746108400C104A610DB16DFF74525D7921C2088D20B2EF3C97BA9303D50D80E1F38152955D8FC06204193D30F3FFCD09BDBDFE47A553CA3B08160AD5529441AB881B04EEF4A50AB9C2D08749B382C2698ECD0AADDA980A1FDBFAD69B238D9715B7400867ACA63FD1C8CBFC2BA85C41435D74C68658BFAF62DA5DB2F9B34183881A0BF2D0FF4EC2D084237794AD5751279168F66DD582C2E80D2B6C16A21B870D89074B3C657AC6A15FADA4679C815D728A54613D2C0060453DE0704812B9FC57B68C74C7A8C54D0DF038987EF8339E3B4B8E094A3646AAB13906123B870BF2CA40DBE80477AC9A11ED9A44A8A5FC3C4399A0E5907CF507B746EFD0E36652D0500C1F4277AF0C4EF91F92CBCEF18623ECAD95B432FFC8685A7EF834E2F9CA278EC323F61013C00058B86B0734814F83558641BF3C4A2D2B19E71D7E79A0C595FC5DE7887B418E596064620587F95B905436D429E52801820A0999739E338111137D56705DA4DB500092E8499B35313D264319732D42656CA4F3B2AB7289EEE180CC6C53A93540E69E005C2FAEFB0DDBF4FCD9A3481ADA3EF924C6311D956D9543CBACF190F9F634615C0A70115149627E494033032EAC014586833AC4C8373206EAA0C1159EFC8C8230D7C5A9A094C83C2D98221B8D572A898669D5C5CEC6CCA1A4C6C2D203B41F552227D605E1177059F060E207ACAE100641B033D5536B49074EEB5193279297603474A8340E356A1AB5536AEE19222C1D62A7C09A4041E59944C7AC62591EC7693C666248ACD538E885E183A28B16544EFF4D4AAF1705D11369F3408B5E0FA8D5B56408638015DF3E3E41CD2C781218B47FBB843EF25CF070CD3FFE929079F63A0222EA860581BBC372D536E25350683718434180C0609122352321583EC2D08387138890890904AEA75000089C47A576D1B503F99595967B16CAA2E0E2D58B7A0663199CC5796279FE4404F8CB2D073D1A8344800538A133028649D922207006C9F871E0D40D0E4DB564B168B55C83AB9B1ADDF621C80A620C4A624C7DC70BCA320D72806539006C6EF29CCFF89DFABCE90759B152407B9A34D9FA1226CE90573259E0320A8A0D1B6410720269C8701E2A0301FB2005E8C593DD4F7D1EC61A3A4C65014648BA9843E4804931508EBBFC296EC94A50F791DA9C0F7584D9DFE0F7A82A12B77AD3FA0F494835C634E7058E04020A96676A02D5723265CA7E964A7D5A85B23D12E6243A57CD2C00704E3AF496C4160E41C3972C9793A62B159D60760804E8CC7BA7A779B06A4257AFFE1821401BF833FE3F8F1E3E57B98334855A926C54895A62547E90D1F1BB67403D2C02F98C606DFE278635A10C889678A2C1618179D80381DA95B63B1A79196B95907E60660C085AE4C902888BD3A7DFA7479D030EC46F6290F6D98695323EAAC071ACBACE9B6140684DAD2C00484EA8ED67FA6C91604AEC9978E401955CBF4CD3A6D9575B1975AB76A330F7AC291970170D0530EAEC27464BDF98DAB616676A9612AFE1C449223D42273499E2234A5166742A32D08D65826E656832D2125A4D505177D2039CDBB7547139BC2569FCA54BB2AC7EFA7F549FA34D8A71C818AF81DF494EB85E25C11B975AC55A85AA87E7AEB641F464A83102058A581A7248F7C5F1E0E264FB88F983B9D80ECC0C43603D8FC00814C91B5D5CBED9D7ECD107ACC3F7808C0C0923E000AA40AC3DFD941CA14C29EC3CF5116802E0645AA3458CF1FDCD2200408B6242A5FD2573021D737B64C3C926D95EB00C0F5F9D4A494591F344C34E10084D4469512907A98C841EA01189F1310739DF2F7ACF6EC8347BC989A34908F96CF188B30D8EE3F749F39D52A886BE8B8B1DC2166D2A523106A5B1BF903CB9FE270916A685D60E803DF0FD2CEEC42D7E115D33B5EFBC96DC3A23094F41C4F451AF8D36E65B5C34172546E9413B0AECAC49F6135443A02D9489209505011DA369893817BC66170E8D0A172F2D9F22C265536D67892DB430E8FB8B6390B49842336794325790AAF2957728DDA51B9A1136A5B0CA6C87273D01108F3A40CA16873AD5C5681C405B0D0170407200E09F6FFF3A5CAC69405A50A9C2BB60A7B6950AC6C252052A581014C398A3014838842D2528A50C58C6A41102B15A495064080AD1E9B8024127E0F5919A3CB836D0830275027C115107BF5DC73CF4D72CD592B3746B50ACDE748911C8A6BA0DE6DB991A75DA0CD0704F3FD0DA20A49274B0EDF44CBE2D16C198C0B2648D92BB007C6FAC1FA53B8B0487400BEF0C20BE57CD23928D5AF146F795DC9312CC6DB571BBE4EAD405B10085C7BB65654AE4B8FF5EA9F952390D61156D160C3793D45B60746D88232BE0A9E72A85C700022A404D20573CBF77D3CC4D57E20613D4A956AD05C81B65A40B0CC66BDA8DCD81C0D561381DAC4468D2C1ECD3091AE0514363930AFC8FC8304C69C83A3C06871F2E4C989754AE729214695B5969D00640C9FA954F5A541DCEF0ED5FA52D4AADA7DC8F14146D5424F664D56D95639B669663FE2250AE619F9E450B11056C2F6CB000A0E2D59D822C464B9B212018E4AA5DA78696006820DFC8DF52187DE4B64D146EFAA2692521CAE1F6916422C3A1B65C209C8642AAC19240C5A3267941C6A0B8CB70ED60453AD9318C534A441E4BC35175B85589E8585855264BB2238EB4A0D5AB7DA5A2B17273CE680F1684DE4D0E07BB15EB072418AB892D66225C77058E56D947B75A3A581F31B0A935A95D27E20D80958C7E9671B50D3582B178B49756DBC3A8A36A967507770BF305CC85459A8A639A20F6CC6149B9F23567240A55A57AC6D234160008249CBAB1B95EC941C3E735F0C68F05D0CA3C0A3EC89C7D3949971394ED2265419D3E111320754451910C83900B966213C70059FA73CA56126E7DE1C951A341350A9B6CD8A3408E2FC13DCAFAD931B4BCC939C80A1F9E4AC84814D4FCF38C080B297AE0E509B991B84A89800092E36A0619D5CCE11C34D64C4736AC34C9389F2999FC39FEC84A2308152233F10128AB24B9F61480596E43EE4B15E720C7AC6B1D04C91652DD83E1B70FD60202208340E13E46AC0AF810C40481238061171EB2B9A1722E9744757C8F296C5DA36422D4AAD74385E6FB84889C85D63AD4AADDACD5E1BD0A761EA65961A16B54EE34CD3E74D6A5E534D584CC94B4D0F9A6A71E17733A9090E40FC9F39E5BAFAE5E21C121472C3ACC613F90FAA4AA52AB282603068B4D2A14EC85D60A95D7D44FF0C43449887DCD6E2D121AAA3CE3D720115DFC39092F7DF7FBFB47841A220F60A921907101D802ED5D81DB2EEDBD765C1B62DB58090ABEE6D0A9806E366BAC9EA4E409C34B42E31688EF5964C8EC03E1330EFC0C1C374597ACA719D3A75AA3C900012D97ED9243962394731B410F114929C491A04D4E3998029846FB8D2679D4E40A84A94141804854B3AE4E0307A131CDBF3AE0EE92947FC15CCC350BF2055581B0C12C7BF1E5E13EEB6206930186C4CA5430061BC56C596C9BB21E123AE90766F3950862DB09A4888FA9012C448FE92CB849B838BE4A8E38541E3440E6384E97733FB0F5205D641A85DAE75E2C9E8951C00C78CD4BDF503C174AFE3A83EE4FAFE733A016539FBBA664C1BC166234990FACD6CBA35F1100E26363172994EC05C609503DF4B10FAFA90BB30AE80A148E5783413D260F58975AF994CB12633AE6FE873356AA275B2EBF3322B109B86641EA10FF883DA582B97197ECC97871A84E7F492430DF2499594B2A075929D86526A3455F736411AE81BDDF299625532A6F7212FFBD1B82C1DA13CC2A7DEC89C71F637C76641C09CFC59A6C99A7E77937DB3F5BFB7A9C14699B8777003AA40684083D77148606E7C123BD4CF51A7794D99F5570CF2D4BDD5401002049734D0412094A8B58FEAF7A6F621C7CF4565028682829510714A322B107A31C2AC6354B58D36DFFA3887A9CD58E8C9CCAEB14C5A82F103E65A589F30674C93C5A3ABAA611D23881B1C957F23B3340801824B1A4820C4D4AD4A32E5BA3847A81A45EE8005C6C2329C5A7AC69908D50FBBA916D7D5AB5727AA17240A5265697D0258F440C53A85A46DEF15AB3570E79A9006BA74F64983102058D2760B935A95AD0FB94B8DA2679CC5A32111B888BAEFA34EF1B767E431B53ADFE633F9D29F810B73CB909213274E4C3CE57A5169D3464B55AB262AD50C4883C1C05BF6C75A28CEE6E748921C3E9502EA120B2948CF38EBB4CEA267BC892A832E0B95E9A4AC3330CF88ADC2A173E1C28589A7FCD8B1636B72CA754F79D8FDDBC031DE4A675A0E929C531A4497FD4958FF8913D0F5C3AC40C85EE3508B183B25C130AD76BEFD307BCAE1008454C15AB0FA3AA48BBE0EA169B20087A9D6AE09048603C1290D428090A388F4EADFB592DC82608DE430E9663899481E4DC5A3434D8AFD68460A625DE829BF7CF972295590260BC98222D37E29E2901C0D7103F918220DC2C0648C8C2C64375952812842EEDAC810E5A8DE6DB2C1E7F492332B9069B2AEEF6EC2A4DB342F01B9262FE321934BC53349155900DC6D8D332A72C8B11D8E23B84193D2603D98D601C199352A25879EF854AB0541EC468C699C09DE42EF388B37402550E4733CC89533509397C4720EDBFDE390E1BDE264C7BC324ECDD52833669E53D6C9143E82F8528984C4BAB70D4A83A899F286AC479972730140FF194806A6C932380EBA31360E25539B6BE5120C20CF6C220A2B14CCB5EC8A85C3C1275552CA82DABFCB707029958A9B34441A04589302C0142E0D62F79D8B73F8D4AC6427A00F302CFC86D3128FEC948A8CB7985CE9140936EBE65B1663C38505827F08FC0E2A2CEE9345B6718034050CFBE49585A21B930683868060BA135FF8888FAC3B9D8026F7BD6B211837C50270587C3801E1D88AED49B151E6DBBAA6DC1453ADF49443A280A3C0FA84E7983F9A729B0606967B5820677C50CCAA341844A95AE3E03EE42629125D0E54E70E900A4C91657C1016932A429DC6996DB32E850CB629C08102F50B1C05FD3CE02967FB0248153DDA2087D95C719091FA96618C34981D2018E7BF086D7766FA5C74F511168F8684C017303D9696125B98484AB186CDA42A35A57E21381317EE1F4081EAF5E94F7FBA5C035629D1D5AFD4A1CEBA2D9124792640E0E2548D553CA4F8A1679CC5A3192A22C3449892D9948F63237C27264FF0464A21A85690C8EC530E7F062A52C2BFC1EE585897E4509BC1CA9667647C5301A14821E4BEC427A713102715BDE46CAB6C0A13C9DD226D96D5245771057D2E9A0413D602AA170C1C307AC04B0E6FF9E2E262A9C6BEF5D65B299C634BD11C1036A062E2B81617744A0ED65DA5AA54A75EAE6FB05C661BD527A6ADA63A007DF38D758154A199985987F1E0283DE3C58C00A1C8F115219A519213D047A46B659A5551BD34F5E27755B57213177676410550E01E2189F97F4AE2D4C038D73AA4A6064072CCBE3488323078D52A27E7F06DFA9C45A469D902289804C5EC378003D22335977C5AF5727D6A9569300310273B13C1C01340AE011036004A398C72997395D4981B6896AAD9940671DFDB1821AFBB19D9DF4EB655A6DD3E256C62B3F012D76089545C0CA3C11C01287CCF94AB1103DE34A9B1A678DBA604424E429ED487DCA746D1CC2B536461974794684CC58D8D28C739EDC18C495C981FCC1B424AD0A90952941D78317F3ADFCBEE001CD4E21B3349E01B35E5869C587A8A2C1B3ED2ECE8EB06E5FA6EFDF74CAB4EEE4601948963B042011CE02888BD7AF1C51727738ACB942A5B771E02CB7E6E2A73AE2E395CB154B55A10C8052099A6FF83E56570C2B1AD725B1A67DA74FCDC6124269E225365115202BF060A30D0E701C96252BFD238C73A32BEC9CDB9ABD5207C6D18925B10C8218B47EB6D95DB543C7A56D52FD4F5C285A2D20C290150A08A31860D404906E76A01B762F301616C443ACDB8364084243E399D80940E00053B10B19F04A5436C21B1586B97BB104037EBE592B0A30533D60840C105BEC2D0F71042AF718ED1060321501AAC0781816878394708511FF97C11F812E91597F572735BB772D6CA6DCAF2A4AB522100E5E1D244B430E3AF2055C853D8A033021898F8E19440504B1A9840B0E6A45CDBF3B00809ACB5ED3BA713102790F43BD471FAD9064B64524A6D3669E0AB4082C1242FC6A5D5F194BB2435AB494607229AABEDCFA4349800A170004560254442C8F45949CCBD4EC0D80DE27B8FB67D6C16063232688EF15C6D1B8C9EC5FDE23000B1C6E4D30198EAF3C965CE1DE6E11BF9A54100105C35B4624CB9A682D35932017DA0C0A680B585FE0FDAF661719127A8AB56EE344713D28B460CE664B0F23A8205313F0CFD0F4995CD090C41C6674F1AC8C74168DB8181E8653F4EEA434E2912ED040C911826CF388000BDB84E48F53455A550CEE1FABCEB3E195F8579813A8934597005F4FF83A1830EC050536D4D07E0A831206496066610D8D5CC943EE4FC99A44C40D3CFC81459B60C86DF03767AFA3EFA611E20EB74F0F160817A79F6ECD9722ED95116576C8BE508CE51C48360E027C9855B62C44B03F3E7CC7578E3BA8965E943CE21DB2AB36800EBB84ADF471396ADB6155D90F7CE9C722435B1AA21CA7FBEFCF2CB6B3CE5A6B94D7200AE931C0D4903CD9A94220D9EFD2A7F89D2D8D8AA606B956D8331548445CAB858940EA6C699B3A42AE524BC3EB52AC7C01CC39F810BEA17C83C8214D1A71C1247B65FAEC739C6E126D3294983102058FA785426DC4C2D086CA5DA01029A5AF5E2D10CC5EE55A6E9A95FF4699C3B776ED2A60040814ACB960FB1A6DC4272CF14936943D240DF9786CF14EB7FD7B33F4757AB6289B95372409CCBAA2221C5A353CDC1FD889766B06C5DBC78B16C0A047040AA205D16A4FECD37DF0CFD46D45498F359934C20301DAACD4B83F520B018B7D6996863556BA71310A71400A2178FCEAD32513A5569B25EAFA6ADFDB2D46D63FFB6263909C23AF0F7B04A7D4E4F39BF0BDF4DA9C2E8E8C0EF989B96340894184E6960D6F406264DAF909C2326FA22A80F798A5408B56E8168F2924596D5C24EBD56AE0B4C21BCC3C73970C25335055070D8B04E6E2E4F79FA61351E169140489506EBAD496E6910028455100C2C607AF637A4F4061C35718A9906D4334806A6C96273D0DCCB3E812CB2D046AE409E868967DD6016958E0D16CCE9E7188F57E6F4D602B3220D34E3D63A2098C0B41E58EB9D80A15224CA0918CB23D8DB8E6113345142FCBB723D7CED0742CDB8B368BE959E72A8409823D6C9C5A1C19C7AE6D5A702237C9DC67352954D31994E571A44CD75617202864A9151A8273C4462E00B71F2F3648444A0231027E3B4097A8EDF17E3254FF97D90A06840830BD2155E721C284895C57B983F38FF6C16A8DA2903E3D5A20A29D2603D98063EE39617082920B01BE1327793754DBAE9FFF48CE30484B8C222E2D4434EB4DE38B31F7EF58B9E700C4814589F90268BF965C213E6375F47ADF1DCB4A4C17A4B71162038BF21444A4487ACDB269C3A338B4763E3B38B2C7B056291EBF83E6CDECEAE2537510D85B9567ACAF1283DE52CC59ACA396280B0F1D2201F0FF601288873C86AEAF821D65902286401859400BC14D04C530ACD8AC4939E72486B64FED10188C5959EF2A8FB1B8C8700848500079A4CA72B0DEAAC9FCF1128A5885372C0EC48CF381D81F48CEBAD05BAE4F48B89CC6D62603DD828F3FCF9F3E53A81D03FF7DC73E5010690BCFBEEBBA13733A7AB3BA1D24007D3460341FFDE943EE4F2F3AEC0C302A7101C4A048329673C87589B20B52AE09063E3E650C1726D74485D1E304D8014121CDD64AF5CB932C99D89B3566D2E6910FABDA975AB82FA90833FD47108FA06380B6BE5B25E6EC8A674BD3F8BBC84F91A78C481434FB9AB3077ECA1C3FF331831E6CF2359DECC40B0CD53637DC8534D86AEF7A0A6C1BA0530D00146932F360FAC33B3C2117C5E739B5AA50394258C7818600E709FACE8C2F2461B73CFF090CF1C10327DE7B8D9E63575D528A84A38350108FA3E60698149929E7179C2E6DCD875A4489D49B5A976D2530E732D40028E000B140D1D989B189F505D6FB9941A9B411AC47C874BAD0A89D01DE5AAA02ED51A164F606B345A5250E632B40A624EEE30ABA49E4061031A565E87050A0061AAAC4DAA64AA1956B40108296A955772C498C06C83ED82C91D700202102088CC0ACCA9DE84E605A7002C7701B9D0CD0A7E0790E0C27CC20285D82B7495A57330BF03B0FCC9A20130CC44DF8EBAB59447298D2CF14BE91987DA84C5A4C30A80908D33DBD4F22C8473E4E03D003F3DE528FF09B5148E3F7494C59C0324788FED99EBF51D6FBA24CF46AA6CEB0BF0656941204F4B7E31CBC930010A44128B247D1F75BCB54D718A1009D2449E7BAEC183E7C2850BE51AC001884699AFBCF24A39F76C5340091D175B3575CE314502BF3EC2389BE46025116959E265F28CE726B43E35A7CE86DE28B25E77402AC34B8E604E486DE694A3F8020E2D4A14489708B56A1349837ADF6BDBAB5EC9A1FF20732B7430D8ECF3D3F4926FA4354A57AD7C5623D61CCE7DFFB808064815A85F000B2E78D023AC55451B81E09B3B1F39774A0E4C3C48619D3011DF6719B7850B2A43489A6C2E804C0B58D8B4B8371C303952656D641C8610B65F0E27AD511B70D64150E45CC751E807539D7EA6C14A884C9165F20F24D4DEBD7BA3D264A70D90944D4D07271D8038705854BA6EC1BBFA7E8E71B1098150988877CAAF7191F551DD132CA4EA3A00201D81ECAC0AC924FB049A6AE5E632CBA5980173AA8D7AAA2C2305E02967766068A3CC5CC0D89CD2606C78BB3058A9EA1B58464D94D8C1E7714AC256CF5E81AC34EE4B914D91104D480F5F06A0EBB590EF2650C00D20417178C002253B35D952657301A3288A6223F22CC2BFC30784712058D2B8C8286673B8DE8774406950AA0E900E30312223908EAB26897993EA55D3151CD92D0B5C0107090E15481478CA21515884DB96AB5147A2C5E2697AD260E00182516214B112C3B5DEA33ACD68B090B2AD32421ED856B94E8A6CCAE7430092029E699736C57C31A71C7F2F424AE0007CF5D557CBFF03240091CB0198E9EF9C6169A083C006A67A0019C54EACF48CB38FB64C91D51B6736B1A14C20A85B2822E56742FD3175EE13870D2E78CA31EF70009E3973A6040D8B2F60FE13C978CE1A618124B9AE34880153BDBD37F20511CA3A4BB0B85057C6C2503A40850A6922DF3440E4EF6D3AD929F4FE72AA7A9877E493E382B40647C1F5A94F7DAA54CB0014E9299F1ED10E9106030F104C2A515D30D59B7BA71310CE242C02269BA656BDB540EE1E813EC2A96F3617494FD9A029126823BADD62FEE9D3801487EA054F392A9580FFFDFCE73FDFE4D2201E4CC5206F0CA5537240BF851525963BA436CE646B0346DD865AD26C9B30B56EAEEB6742FE26FDEF81A102AFD76994E99B03AAB6E8E9018348C43DE383C3786910028426A4C17A108C1960B8EE33F590E274023619260210601199260B93654814AF8F6FC45645AC0B749FE4C4DF0150E01E59FE13FFA785AA09E91AA356B1A66CFC061E0490E4FA603201410781EEE4D73FD388E488B584F840C34E500005AD5B6C20097030C851DFE8A17C63DA237463B38F092C4CE06DE06F4C6C625597D04699A96BE380C738EE244F95066E309954221F104C2030B4D669061C7537098B470310B870623262D4D5892846EFB74991263309EB78F0710830049DE553592B972DCF521AD0A4FB39E4460E31994E471AC847E3670C2030159CCB46C87DA75288946169180612D21409DF874FDCA7FA2172E669E4E022A1C6007C8E6DA741AED9A200CD67F01C20C1DC814FB83CE5F5B2020B61CE4D35994E571A045664DF58C9C19F959E71B655861585F9CFD330EBB6613000130709D44E701458A1D05516AA17242E9C838CBFCA1342324894066BC1E49306214008910681E549B3280C5E27A0ADA20880008E80E72C1E8DB8293CAF533C3AC4C2B4598A2ED4F93B317F984F5CF81E486398D63FFBD9CF96C60C808439E5350F89718C5A942A0DD659933CD22004082610E454AD8208B97404B2AD324345F048C2991250A87314FC3A00CFA5AACCEAC697AFF139E6057356B72E1573CADF7BEFBD721D58A504D205EBC0F2A0F1F32437BBDF643A0D69100284103065951CFAC4425D6235752C2E01618B9B4AD9C015695F510B5EE639A9FF174C78D273D86D5C63DA92C4E75791EFA38D1B542398C52155954A54D4CD0A845A85CC3F34CAC441C29C72380061F4804441A18B50EC151304D43399E6920626FE9000A66625071619A080E876B5558E3507339F61F7EEDD4FD5E6414FBAB102C810C090AA5C68D8782838423E5707687ADA251E2BB0979B56F1B23108B79AC7F1BD7BF78AD88AE8A6B9C09A209F9C8D32214970851E54FBE7F72C3F7982FE848FB393E426A4414A7BB4DA92C33499901438D9532A8A98363748BB9246CB0A18734A6F7EAA9E8F209D2040F8333C55F95C3AF4F87FF9B9D80D9E1320BA1AC512F6FA23E6108781E20DE50F28E95B283555DDC24AA1A4C98ABAE672C443615E709031A1CA37DE78E3275FB876ED93634A3D3B77E2C4894BFBF61DBCB47FFFA19B0F1E3EDE72EF1EFEA6652308746B500A494E95064DB4474BB656D52D175AA94D00427982AAC7E1FEFDFB0BA5878F7429C0CD8F475E3A10A454D101628ABB8A89C70A310DBB7E17EE153F4F60E0FFB8081002087D358E1E3D3A843451A77EA1A4C858DD4B294D52D5AE1495B6EAF771EC873FFCE131481D907E25759E2E2E1EFBE0CC9933E717178F02301FEDD9BBFFCED2D283EDEA1AEABC32441A248229BE214E7C02607E536EA8BF43A910CB6A53CCE1945404720B540A2919E426E7EBFAC6C0FFB12026E098FE968D50B1B8E9090C3C12287C1F7F2F0BE011305509D061657D2AAE5EBDBAFCE8D1A39102CDB292DAA350B52B47F543A8CB55C5C53945FACF7CEF7B7F7B067F1F543475983D7AEEB9E7DE5380B978E8D0E10BFBF71FBEB263C7AE8777EE2EEDB87FFFA168B699471AF8C014E67269C0946BD3EB43174401E1895AFC11D4264514473825D5A6D82255226E765EF83F5FD39FF331B4514CE8C91FF2B9D82A28040841CC204A6C3CAAA700886E16C7E72A6932C2BD5EBE7C79A480F2547DCF50A95C4F01141BD76BAA8B1606241B7C2EEADAF6F6DB6FBFF2ED6F7FFB15B6883E78F0E0BD13274EFE12803970E0E0A503070E7F5C14A3A70A30DBC15F56FFB606A44158006F3128A62C396C8BA116FDA95AE0526D5213579C3C7912E6D8910402370C373F2F768892609040DA48AB541D49A37326DE17EE1780A0CA857BC6FFE56BCF3FFF3C2C4F73E00FE7CF9F2F6EDDBA05B56B458164E852BBA661EE663E8F52C776BFF5D65BAFA97B7B0DE12F50C914C0AF9D3A75FADD53A74E5D9E9FDFAFF8CBE16B4F9657E6147FD9F2E8D193228B34F08160ED678AEC922304245564E913B5B823759A3C5580D88AD34F2DDC5097022610E8D2830B4E129BC3C7914B82D4F99D7AD1307678C2FD131C942C0409B32CB1E93EFFF9CFC378016932F7C1071F4CCCE888C192955B36CA0F442300AE4B972E1DFAC94F7E724816C256D2F09202FBB9E3C79F538039705971985BF71F3CDAB6B4747F6EF9C9533308428090B7B6821D1CA17913556F8D27D08BD5623E557AE8E8ECD9B3857ABE95A7A294123A9FE046A1CEAD9B6CE5E7A6DD1C33347030441533493AD36B24EE52D2C8EE56B85892559DC665180980A5549C326FA35A93650592D16086865608FBB91FFCE007CFE11E48F88F1D3B7E5EA9631F28E05CDCB7EFC095DDBBE7EFDDBDB7CA5F60C15B77E687A47C1896AA31B58A8B53399556EEDCB98394E3E2C08103E32F7EF18B05F8040141A940B289934F57A74C6A524C49CD94CD6AF385A466EE2594BE714A119B8F04F3C88BF349950B860E35FF259947B0E21B6FBC01320FB54B4DF9D339B64A9EB5101B80BA0A87997BF7DD775FF89BBFF9EB1798E3A2F6D4432559DE55E0BFA0F6D5E5F9FD87AE6EDDBAE3F15DC55F1E3C78547872331ABBD14211ABB165B11E2875691B265B2DCA8A128D732881CFD34EF6A0B381A0691DDF763AFBBE27E5675C3FE79214A9F7E3030B0183D7B0063FFDE94F911AFB44A95D9022709A8C41A473671E363D109101C02890DC3E79F2D47BCF3F7FFAE2FEFD25E1FF64653C2CEEDD5BDA261D964E403EBEF5EA9FFDD97FFD1775D4AABFB79C8EFBD5C4437D7A000FF6C58B170B842C0CD667AE4C1ED5E777ABCF1E54A27E3BAD3072D12BEBCD5DB560D7575F2A0EAAE7BB7520A9DFB9AC5E43E8E98AE7942842DEABBEBFF09C36EB7E5EFBBB0ADF89A595D69CE367B4DC92B1E1BE062623A4FAFC1CBFD3023648F327FC990A4C786DEB461B305207FB277EF8E187FB7EF6B39FFDAABA875F45621800A338EDC7AB84FFE487F3F3072FED9B3F78F3F1E3E5D1D2D2832D8F1FE72F2A315262EE8B39BEE82B5FF9CACB3FFAD18FFE8F129965D420E27C40CA38A07322584E81E32FBFFEF5AFFF47804FDDF8AFA913E24F9796965E5327DE1EF51978CFDF56E4EEAF579E9964504BFFC6265B631C1487D5FDFF73755F2F28D5748752831EAB7BFB85D2C3FFBADACC2017D7B01F0460F0DA13350F8F1511FF0FAFBFFEFA2BF832183AD0E1490EA5AF63F35F5404F88CA6854F9E2B55063FFF79717D4E5DFB36D344CAF244EA703EA2F6D81148CC8AF08F1717172F3CFFFC99F78F1F3F7E49F1978FF6EE5B7558DE5F7A3857172EB5891C8EFF2F7FF9CBFF5EF192FFA4FEE8C32813837D2DD35DB59B3DA51E4E021CEAF9E8934F3EF98EFAB93776EDDA754A499C1BB76FDFBE5F2D2E360B3A6ADE1B6CC2A1E6E08902C2779404FDBEBAB705756F9FA8FF3FD024C48AD8D0903443357FAF2A55F78FD47C2E602E3D5C679F3A615728420CEFBF515D93B5520FA7D5F59A069A139B696EA14622964C5DC5F9F3E74FFDDDDFFDDD291CBE555CD9B2E22FE7CE9E3DF381FADCA15A7BBB0E37F8933FF99323EA8FFBAA2285BF09479514F9901C38F1989843C9A14ED2EBDFFCE637FF54BDB45B5D90325BB831D4B5B5DA34CB03B37B67B38D617500F1FE786F4FAB6BCDBD7DE10B5FF8E30F3EF8E03575606C97AF631E5F7AE9A532D64D4A0E05C06535D7AF7EE31BDF3857016D3C4EA9245D140734B0E07A39C7E1B9910307B4DEB1786A92E3F2E5CBFFEDFBDFFFFE3F363906DF79E79D521482C4CBCAE1F7EEDDDBA744E18B1F7DF4D1DD6AD34C0E5B753D9C8615629A875C75798752A37EE717BFF8C56FC0D1A7BF072F35FC1A0A3C6B00A2D426581BFF9D7AFA9FABB903589EC682447D146AEB77AA8B8081E87FB5020A25CD67D5B577B34C7E1D60D402C7BF5643498C3F70AD01720A70EA21E48003D694858585CF2870FCD0B766D334DBE5508F6B9C7088A7FA2D13302451FD877FF88752826887CD2B955A74BB52410192C72920D100839DF593EA926AD9198394796ED0C2910C0EB590FF58E97CDB7D9F7BEBADB7065FFAD29726DE5CE88B8A9C1E9AF6069CE5A1C8F67357AF5E3DE8FB1CFC04BA575C1D360BEAE9F3EABAA3AE5B154820951F0890AC8C337853ABEF78AFBABE264073D000989736BB5A96F4C7E304F9E217BF1844E2586C1AA6DD73E7CEC144070BC3FB837E3C63D5FBF6BDA8E66618F2592436411A032890248ADB415A1CA9D49DFD0690C0C0F1482DD9320D00E3CC6107EAEB609AFF7675718FE0E0FC150D3050CBF6B4121C9558C52222123D388D0D5548000C00452DE6ED8B172F9EEB21B1E600B98BC3434A05DB80571CDE66848F287515FBFCC3CAB00163C68E6AF3CD57C02048EE1024A02A6A1993C97B0460B03F7E545D72FF9C354899E39B161C12145091D5B553A946B743E391641F73754ABEF1CB5FFEF2610F893584FB97870E1D7AACA4EAD610494CE7EACB2FBFFCEE4F7FFAD3BFAFD686E6E02D15586C2059AA54AEE5BABC24512D7BB7BABE2AF6D76103603EAD196C660B1C2650507CAB93EB674A57BE73E1C205AFF5A2EA18BBA216F3ED37DF7CF31B831CCD135A342E5FBE7CE3739FFBDC470A1CA77C9F45C7272425BDF2CA2B1FA9F13F45F87A21D69420C19AC164BEAF22EBB7055008922795CA3535901840F3897AF8667549B5EC3306B56CF786824380625489EB5D1528E62BBD76AF3AFD9F7CE10B5FF87F6A617FD35592A72AEB737F6161E1F51FFFF8C7AF57DF71AF12F12B3D3456F7C7A3478FBE333F3FFF6F6EDDBAB5D5038E27EA736F2935F59B8A8CDFAFA4C4F260AD6F68E254AC4022D7F08006927B95CAF544F29226B849825AF67A75C97DF9C260AD7919D762137F436148332D2A506C3381A2426EA9DFAA4DFFBC921E7FAC16EAA82D0147BD7F43E9C95F57FAF4236171C2F38F2B91DF0364756C51D2E0DF9E3F7FFE330F1E3C185A80F1487193EF2A527E510061B9DAE0084579EC90C80C594154C5C34A7298C8FBE36A4D5606CF82C5C706F5686686DAB2470C6AD9A7EAAA658516D6CD13C7058A9150B39E53C47CDFE9D3A77FFFDAB56BA714F19EFC31F0881F3B76ECE37BF7EEFD40A9011F89095EA91600E0B859FD3FB7FFA2D864DF5554737EFCE4C993BFA9C0F12B6ACE76C8FC96A3478FDE558F6F29D5EB2DC3CF63B35FAD36FB8AE3F7160224CBD521755FE3254BD5FA3C193CF3E64BB06C0AD0A8B9DA6151CB76D501C7D64A479D378082C48F6AD78EEA737B8E1C39727AEFDEBD5F502AD65EF53558AC5B1F7CF0C1F79FAEEA5C63018A87D522DEA9263F6553163536E1ACFE2EA83FF017ECDFB56BD701359F9F536B73445D2852F14849DFBF5F5A5ABA3F581B5633AEE6149BFA7AB5A16DF97173DAFAE9D2E47E058C89235103C9B2F67CD38146ED4BDCFF8B06297334141C5B2A74EDB280C234E9739AB5843FF7544CEA5331814FB513AE08DC44A9AFCDEA77E9A7BA9CBFADD57312EB39B191E5F5586C581B18C91F659CD79C061879802D8BB593C0786CF8FDCBDAF5D4A096ADCC3868164C6A998973CC89891C462CF240932A8576928C339FDCA9277A6EC9D2C4EFD20FA3A1813FC88DE7039F3CC446964B1E7285B6F6FA265F3100F5B141B2E8C0196F1649A370B0D346C88B0CFAF6ACEAFD9B9597D4FD3E6E782935E6340932670091E933430B4857344EB36C90324FC5FB4F358D62C570A06E18688A8D0069B11953D436FFD093A15C970D30C380D7879A84D3A58D0E8E650358F87C6C915C53014AD196C62FFDC87238C500686801CC50A864A6D7C606F5704503C7534D0D5B11AFAD0855722C84CAB807473F361A4436000D2C00B281467E66A06D761D384FB5CB64255BC90D901E1CFDD8082934308048074D61E11E529AE857560932EA97B71F758663338E1300A43FD73F2BDFD32547CF39FAD13909347080664D9D815EADEA470FA2C174AC55FF1F431B0AD706D1DE680000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (90,1,'Rack_42_with_door_(64)',decode('89504E470D0A1A0A0000000D4948445200000064000000DD08060000004D27D7E90000000473424954080808087C0864880000000970485973000006A1000006A101E86410CF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002B214944415478DAED5D4B8C1CD775ADEAEEE99921871CFE873343529225599265C0326C69E3184680AC027813208897CE226B239B6C0204F03E8037F92CB2C9228091459C209B6CA2040A9008700404909C388A4491123FE677381F0EC9F97457EEA979A779FBF67BAFAA7B7AAACA890B28F477A6DF7BF7DD7BEEFFA5599625D3B852B9F4CB64BAD7D020B3690DBA81577A98B9ADAEAE1EEBF7FBBF25F7EFCACBAF0A4DF60A883678E4AD5FC79EB75AADFCB9FCD6BC3C5E9D9999F9B34EA7F3E38F3EFA68E7FF2D412E5FBE7C6E6F6FEFF7E46F7EBBD7EB5DDEDFDF3FF9E4C993AEBC578683F29B0B6B1FEDF3D07771B7DBED6476763611A2ECC9F3C7F2DE1DF989BF1662FDF9871F7E78EFFF2C412E5DBAF49A2CFCEFCBD3DF90C7734280E33B3B3B1D99B87741430B197B9F8BAC5F6B8EF01103AFF9A8BF2373E9C9FD44EE8732C677E5F147EFBFFFFE7FFE5211E4CA952B2F522CC84E7F5576DD0F6432EFC8CB13F2D83D589BE145D28BE01333F6BB31C2952528BF2B622A27065F87380E1BEDD9B367FDDDDDDD3D99C7963C7EF0F8F1E31FDDBB77EF5FAE5DBBF6ACB10479E9A597322EA288819B6FBCF1C625210A88930847243291FC1137DEB3373F9785802C9FF5719CC67B4B384D4C2BDEF85C6F08E1D467B2C073DD6E17222BC12388A49FF333BE8F5BFE2EB97EFDFADD1B376E5C90BFBF25E3BCEABB6FDDBAF5A84E827430685EF3F3F38FDF7EFB6DECACE4E9D3A7F9A3BEF57BDBDBDB393120BE3059994C1F0B86D776F10FA338E8BFC5FFC78E97DF9BC3B88123737373C9B163C7F2EF9183F0BBFA733CE21662ACCB674BF2BD4BF27DDCDFC1DFE1E6B845517914221608F9F0E1C323D5F03A5AF47027DA05E480410861FB015760D220065E83209A184771B9C5CBF09BD8F54AD40E7005DCA1E7A0E742A269026862BBFF7F5AEE6FE2F67CE7D9B973E7AE1922F1F9F5ADADAD9DA97108C5849E800078F2E8D1A39C339C58CA77230115EF617138D998689A94007A4C6EC152BDD0E40610C27150FE19C6456D4CCF496F3E7287E5120F9178CFC977DE908FDEF07CA77FF2E4C99B1E42E5B7ACE546298260D0BCE4796B6D6D2D114AE7C4C0E04F9C3891B33DC5150980C1EB85F211E308B9643006FD1E160784C178F188B1622E1C378C57BDC8250830CE77205EAEB8FBD7EDF7644CD0FCAECA6723C492F77E4163774010B7D3DA988C60C9107660D7F1D28430A2A16577AE0FB027E50E8DF91AAB0263C9FF96C4019738D1DCD6E3C1E7BFF6EDEFFCCDE6E656FAF4C9F6F2D6D6E6CAFAFAA315C1C719CC9BEAFD2444F27CFFAC7CEFACBC7EC7F3FDA732AECF40AC0EC58F5BEC3D12C307AA7C0E990D0E22A8BBDD9959D170184EB1C4D0CF212A8121788F62D362867DC4F765ACFB7A31F07C75F54BEF2D9C68DFC677E6E6BAC9C993C7D2DD9DCDC5EDED47E71E3D7A78616B737D497073697B7B0BC45A158E5B146338FF5DBBE8CE9330329712449D97FB4D79FFCD218210D4AD68C084A15569CD8A22410F4C7385E69471C4584C23D3FF8313E264310E8A592C7E08D8AD684D95DBEDD9B35DDCF8F27A922CAE2F9C58FC74E104C1B69D2C9E3C2EECB937BFFD78EDCCA347F72F6CAC3F3ABFB9B571F1C9F6E365C1DA958D8DF56559A316C631A9E81B12595ACB0297004F08E89824F004BB4363896F0135A6587C9944DDB50B693FA3058F4D82477030360F151102BBD6B2F8BCAC1B747FBF973C5CDBC4D3A7B2A16FCDCD5FC19D2C2D1F8C6D61613E59383EDBDADA7A707A63FDFEB9B53521D88670D7F6D6F2C6FABA106CED9270DA31AC1FA58A8F481DED8290E7DDDBB76F0FD4C853A74E0DE189F5599985498B76F524A22A4428A3790DA9B516D83737376928CE70AE1431D35234B6B69EE096156E3F6CCF5C7C787EE9E2C7E7970E3E87283CB5B890ECED3F3EFEF77FF7577FF8B39F7DF4E510970C19868087E5E5E52123D04E3AA4E9C45CEE93102522BE528C9993B122CC02BB360E85387BFC3BED7639EA0BA2F0CEB33588BDED76BBB31BD3F4860C43A272084CF11C5C42CD0B22417DA71FF2F04E0BD839468C81A21613D2201F03762BB2AA2046D19A582E1912590468CD050474C83E1A5DD87124CEB85C115B84B22E163D015AE81C0FE712B2D8ED62544D94562B1D2182E6920E7D3F9AED21AE60A113376805538C69C21501F03862CB27AA42E2CBE712A1C50E02693F1B81DDEE48AD55D6C521764C435A964C60F6CE9D3BF9841617177340D74428D8C553C590D0EF84EC9318B083301B1B1B98D78CCFB36C22C4474C9096974338AF2182C8A2EF2C2D2D0D403D04E47C4DD5D7EDB44A781FBE2C726C19CCD016BB067512EEC00EC92A15595AD3D31C32709D58E3CD271E34A09363C8F2CE91D72FC31D216EF189BD0097643400F5783106EB5F0BD92C5C88FCEF2BC7F5E718E2557B7D86212F4C12EE76DC2006FE00BB4D13689AB2B50CA85B6B9D7FC3C96960A7C56E415D2F489AD40BEA236AAF759D40A3A2CB1D040118E23B78CDF7ACF8AAFAB2C66008D869B113D835E1068661C51C525AED751FCE4214C14247DCC367A147B49DD638BB7B522E018650332CB237B4B7D7D92E339AA30E38A46A82B48AD55EB5203BF057852C744D04ED65750BDDAF8A41B4FFAA08D855781A63DE1BF565552FB2A26AAF2F05C73721EC30AAC078AE5D0F0CA95675D152A7856E81DD06AEF47C4640BD063B24E68EF78670F905C85F003AB41ABCD65E538FB737AD1A4742C04E57BCF6F4FA16A40E4B9D222BE48E1FD2B2E49EB97FFF7E3E19EEFA93274F0EEC12DC93B83A8E9A283160E766726A7ABB7E0E8973C91041604B9C3D7B36773BD8187A48CB716C3608E156312715922D340A9902E4D4F5AC291CE28B32E6300082301B503EEC053CAC43BA3F93E8282EF05CFEAE3250C746E182FB70CFE75A71F3EADB6CC9AA2F6DA9DB34D9A100951B741AB2D08127607F02AAFE3BBD23AB9A243897377F5FBBE24304D236573D1C5200EA7A6129BE983EC3A4387C196A23BF67C598CFEDE1CB3A394C064A11B02BB19BBF8FCDC3F7E85DB02A663D185202D495B36BF6EEDDBBF982631230107DD1C39A813D2D7228D22864AEAFF2BD75EB8E876871E505756D180AABEF5CB870612897D717BBD62282A05EC6529F26A8338C5B063B540877B709F1101F877083049D8BBEC911D071BB4CC001C6C802550AEACC6A676982DE3431ABDD26393489437C76C8C88480210474BADCB13B19B0AAD3FE60998475A158B0B796BA4E72A843CB0A257C7BBDBD0474DCD8F9F823381A75EC23E496A893385624E0620E808EB15B50AF8B437C9EDE110E91C59E45A893325A6349681194B652D5CCD21076E84DC278880E1F20EFCC827A5D5A56A978880C7EE7F4E9D3030BBD281F4BBB2AAA640A5D31E58B72FAC4940BE1EEFA43B8D5BB4E4AC54362E99A34BA743E16DFC77BB24095C92D5AEA980CEC23A3BA47DDF12376515A2F875817CA90DA6B4501011DEC4E0B9DE999D328573B2C7610C059CD45F1C9F77CF9C7231C52793CA43502EA5AD1E818BF4E0B18A2B3DCB103F11DEC4A24CB85EC92BABDBC7A4C0C5E715329304D9BE2ED0D82BA8E87C840DBCC65D2059E2119CDCB4DBE52C3B00C7610D8E98A67C14E53BCBD4150E72513DDC3E06DC14E282D88BE23B70BFBBED619D3F065190F749EDB0B55DC75732874C37337EA821D5647D561A947413D14C2B593624DBA2D6FD3B2FAA827A23DBD180709418BDD160B856224DA8FD5E8DC5E2D066099C3DBCB183A8D2B02668D0EC6D42EB406764E8E79BD56EBAA9F435AE5737B65E1BBEBEBEB83A4B8E3C78FE73B4F177FC6D24BEB02F6102770A25450746E6F5D1C829F2B8C8728AFE81E403D64A1FB164465965706EAD82876216376072D765FD167D3E2218310AE0BE3663120D7A240972D3B25A0326F2FEB0719F3A0C7B744F27536D2EC26A9CFDB6B6F579ADE0969330302004FB0E8AC2E55CDC492A36EA711BAD8EA83E3A6CFAA0CC790787558EAD6DB6B931C3AB6CD128D29787B5981AB5B54C4AA6FEBF2F2FA2C7682BD06760BEA7570087680350C47409D6C243B6E1689D6B8A0E7D3E3ABB12426CE9A66B55314909B7CA05E3D87B4CA652EE25A5858D871842965A1D34A87225035A8EBEE72658C425B853B106149FDB9BD9A5B46228631B1404A6A790C3101E2C9842B05756C241006A0CEF84D8C38D630ACCBDBAB0B76BC1C125B7C1A881059D4E5F577EA02745EDC0C3AD34487137CDC3D12314C92CA39249A0664070D02B0A5118840402748DA98892F09AD8C2FEBB0B8138AD7508DB7EF33796EA49343D3D280F4C49E3C79320B224014600265F3B19C81D51A7760937C172E748707C131F9EAD85D1DE48CF5F4D69DDB6BB9648820F3F3F33BF892CDC78A797AD9E6AF2AC3303BB8062D33CA62871BE708A8372E1E5254FAAC599F59283A5AC73CAD2A2F869119408B59EC4521DCEA2DF582784868A7D042674B0D17EF1D787E8BD4E1AAEC0F6E149D6765FAB70443B88D2CFAD43B085DAB11C2D531742659332662775D938C42FAD974CD3A77A1235ABB6E0E09C54306490EC6659D89713814C20D55E06A351244ABD0306C41E9D0A9AC45BE2B762E950967F573483CC9A1A58D3DE1889EED4315C2169D48E05C2B951A8620081B7686C2B81ECDAB6F55F2BABCBD218F6FC7804AEA2306C15B3BEAAA0CDFFA2E8C07F886DF677C9DE50756936A12861476720865B963D7EB1E59D885AE74AD11DE5E3D061D63A7780AF9B96C1A500D8940E540DD899E598470E9C6669235413E24BE9AE6EDB5F17465C57747E3210D4B72D08B293279077DB274C79FA2B6ADD4FFABF6F66A795CD4185359EBBB4D4B03B25CD289D5EF855C13BA82944D95055CFB232AA5A79FFCB440DD850B06D55110A9562169621A902FB777C8DB1BEBECA9E5B3B6D2ADBE5FD6173569FFDED0DFD1CF8671806B5893EE6BCB6433519E7B7B1B160FF135BDB4E783F0409482BEBDB56208DB69F06210CB8AB4BA1B98C5CAD97231AADF400897C11F003A9D77A17889E180CAA646FB27E650A44A4E2BD8797BBB56FFAFCB9735620FB97175F4E2A260071F68AD2A66A1BB06F79583237E577B7A63C62045B12BD7DBADBF8159522E1E1273B77352DAD4A7D795EE1511119516EC9053D0DF0BD6BAE6E62257CA10A827F583FA501A50C8A2650F1326586B70D555AE756209239C1449C00DC6D943DC33120FA9C1522F547B1517B4609D0347A855B19E2F948FD524A31063D41D4BD94E56856CD3516F6F33407DC025DA4D2D1CD10601A0DF6BA75D915DE24A8E2B330C219E7CC06E9F5B6047C18E75E6256933407DE05CD48B8CA34CA9FA16D5A1B3DE109F81AB2AF4F6E62294A93FE48222EC70BB70FF288EAB98C4522F95E4107241F8F2B16830EA36E4555D747E3A774FDEF58E89193160B7B187BA1A07944E72D05CC19CA7503E56933A3950EBE2219314B7BEE4EBFA931CD2F2490E02885D76B166136582652C1FAB09963A9FD3D3C009EB3EF1B6197F134ADAA2F1106008D89FE15BDB90DF2E003519DD9EC967815A9FD6B83BCAFC76EEED65655491B8A58AEED280F69BC021DA7D134D72489E1FB2533A1F8B9929B24895867019CB6719774960CFCA1E0E70945AD658967AC840B47E2256E5D615C2655F618C018481C50EFC20C7C632E1EBE490587B26AFA54E02B0628A3DB2EC293C4DC211E6906960F7695D3E8EA85EF52D00754D2599D42CDB67D0C660F8B3295A151731666FF82C76673B75EBAF0F698D05EA3BB0D26D03E59038A325EF0242AD8A88913279CF779099EF511D35BE3B520A5093B7D7E7C78A8670436209804EDF163B60BB8CF9CA92AD9D67205F649E661D3A952DD471AE3E2DAB357E1A9075D8E9D47F12A24E40D7CA054EF18478025190A0416FAF350A43A05E678BBF521CC25DCF2ED63A89D91EDDDD043CD19CC06A2A023B3947473DEBF05FC50CC3681A901063565BE804F42271E6269C56B4C3F253DA8A8C420DEC6C432877B77E0E69954B0372452D3BEC6D52C4099820DBEBE9E482AAD81EA289CD6662A7B369DF9B6CAEDD5013E32A41BD741A5008C8F56EA295AE8FB4001789FCCEAA1251D800DC04E066B4448778E279B8459DAE35A8D779A08BEF2CC34E9185AED54A8A301E5751D484BFAC2FEB303804C2A0A6051B031C4B57BC06769FFBBD2E2EB1F190A82F4B16B9C3DD070ED0250747593115DBA56576B0DE301AD8411802BB5B84B6B692F3BF4D1A98DBABDBE761021CB4C592905D52717BA67CA1E94B8B013B9334D8901F6F8FCAEFEAED90D2490EF2412F166BD080CE46943CDA5B2CFCCA64007E13BF0FA390D9253E60F780FB48FE71D66FD8812E361A685367745219D547DDAE892D9BAABE34B0C3E640476E5B265D74C07D6EE8560C25637572485C0515D9DD1E4BC1FCDEBA5B6AD80B63A2C54E60A72BDE62A05D8CBABCBDA5921C60185283D2C752B0FAB6483D6E82C5AE1B9B31798EF17599CF4CDDBEAC52F110EDEDD515B8457609CBA6F9FFAAB2D4B1FB99F9A245A62F474B03BB3E7AB5AEEED6632539D8C4691F2154D3CB415F78FC5D55A0AEBDBD18071C8A2CD6B1BEB6A253DA7E29BDBD1AEC09E86CD9644459E55E3B8E059C8A380E8803EE0915ECF87665E38EABF0B13B2BA67C859356BD6C0A8E60BC4C6122B0B30F8A05F6A18AAE34AB9543A2490E32995997BF3452066D09E069CF5469C18E2FA2695DF11AD89DB7778687DD5364A549BF6282149CD266DCE83B3C1EA88CB7979A58D500C9821DFC3E413BD60148F9DFF66C87D2BACA1182A7B459C330A6DE3213903609411D3F2056731672321E46E7D786AA76E9F03310E6CC9933037F55D1093BBEA39CEA1259DE53DACAC4D4ED91A6755AE8767C54D1E94AD1AE789F481BCDEC6F552EB2C6517B53EAF674AFD34AD780DE2483502F3844172C763C32C64EADCBB5DA484709D2E0DC5E79DEA158A2FF2A968FA5CF2C4F2A0CE162B1A90586D474720FDB01BA32E9F6A8486BD7E23A29547BDD64F7B093745F133F950F8EA1A336E6DCE055450C3316ECD02004471761870BB6EDB373691DC71DF938249AE4100277DD1797B609009D1EDFAA27C6821D2A14104BC00E860442C4E1DF0EBD57831D52BAD7893D3852C77B993FAB8F3D6A4A270716A9826B61B1C315CFFE59455A56AB5D3541C29EDEDC1B62B2DABBD4D9F9C7FCB2059FA601BB326EF3183BBBCDD115AF0DC3A134A056568BC82A95E4206FEE7157E97CAC1017114BAACECB0240F384D1D0A9D0DC481AD801209620ED4EF51C523AC9814D8A439CA0BDBD743FF0686F111595813A7E93AE7FE6F46A4767E8114D30EBAE8F8C757218807A11B0D330C4E4C1396CFFA74F70ABFAC24E873391E383CD41577CAC5C81BE2C2D92EB709D44413DD4FFD697C1D1C4102EC6474F2F44282D767D8C8526E4D026AC1C0AC7487290E7B3FAF8873286A1F539F94E4838AC2FCBFE8E6F67DBF08105763C17CEEE96698A5015A8FBB8C41A863BD855F644049F58C3A260B2551D70AF9D8CBA6047372E280276E1A05D4D903A44D6589D1C4240AEA9A80F95E73923785D15A843CB620817B8A6D3468BAAA9AC73312748521FA88FD5C9C17A7A0196CC16F4B521AFE3C2E2C29948E2C00D0F600FB9E22D86D4C92165BDBDDEE69604745DFCD934C310E3D5C0AE2D76BAE2EDAEF415205569A9EBC09EB71C419ECFEA2C45EDFB89893337E1AA0CC37C91EDB9BC563C698B9D0D6A649CDDA67288B72BA95C3B4C8E2BAA13E1CE53DD4A2BAB0FC14D7708413B06EC0CAC3501D47DF190110E298A9F73F0B48AF11CB21B22A28EBE53DAC1894D01BB83B5843E608F827A4D22CB775445D030B4C8CF0C147082AE9A6A028E604C3C9D14EA30801DE2899BC7E284AD28AE7A0EBE86CE436AAF4972E8E80ED61C34CF996A625B0DAB754115670857C7D8B100A22EB7EB4E72E8F5FA03F78DCF8562ED90CC773063AC7A8A077265D505A7736FAF4DFF0959EC3A2B9ECE45BD53B38ADD40DA2DE53B17D76A59BD9891481948973B08C1F64C3A0DE8A8B91EDE5EFC360B769892144BBA76319DBE5E8C5C1254AE9EF786704CBBA946D4DE98B797321917015DE747F9FC57BE26FCD33A10C6023B0C4296695B7C6B9261284C9AF872E1BC5D49F56E1AC83477541E63D85AC59C866FCA0778F675D1C2617C0F1F3E1CD4CE9F3D7B360776A8E6D65AAF9F20FDA131D82C7CCB21B3BA9092806E93AC9B7C619C1AD8759C04C702D64F90519115C3905D1A7B65321AF15DFA8DAA0675BA747417099F1242B10A6E91CDB5AFE756C726A39655962041C3506B55B44D00E6F4BC560DEAF416C05F45DC60F3B5D07C7C2D6E939A45D6D867E1B24119DF8738D03959213CA8C2C0E25959E4001087C01E4A7ED021DC03E254619DE7BFDF3AD0B27BC184EF60C10E6FDA24C0117B5058D3F0049BE3FEFDFB3961E0E702B0D3A5124AB63EAAE24F6AB069DAEFC0B443BF99248FA58318FD5473A93EA473A43E041BCDBA162C9E84DC2B49759516A92DD8F169894CBA661D22888346D1474D1021C24C2BCD661DB0BA37E97BCD528A2CAB5D9101EC71153BD6520F8571B1F330D93AB84517ECF094B858C10EC59A106877842053320D65F55B692B9B4F5357DF402587DB348B6B592450279441E2C312864AA1EFC330049EF033D1FB2B3F6107170B7698246ED35C2DA18E22402544E8B4D2FE7C5E419A0D5169E8792EB47A1380BA7E4F3597C989400BDDD7E4AC8ECB02FBF9F3E7730C0965F1B3290265F661E7D06A65DD34E9CF0D163FF592C3BDC8861AAE9521483A744EAC2ACE8F1D14D6346067FA8F0676CC4BD4E2D4D6181E661EE00C59A1797B288C915249AA5004228B25113EDBCEE6F6767407EB50C594CD93AAB2608762CA16ECD8F16960A72B5E446D7B5AA09EE69D9EFAC7B494D267BE6523C4C906BE2CEDE064A9E000438CE36D2FE42DB5163A2D7A952D9F153919C7B159B45FCB26DCD9821D2DB662215CF9BBFD29112415621C873A9B79E413173F1D08AA6C90B816AA24885AEA3E2E60CE2C280A8B18A74AEBB285AAAD5D5BB003ECC0D8741F789FE7611A0469B57AC7B01476E187173FF512A7B42F2BD44A83F217BB9209D6EC6FD2848B053BFAC0E20B172E0C4AEE6CF2831E772EF2C62488D8197362E3CD8416DECF19CF0557292D4BC53D66D81F8B7DD55902DDB486FC3160BF77EFDEA09932546210C925FA7546ED9031D5DB567F3E0B2CBC5DFC5143242DE7CB52BB6770024DCC42F7A50355E8ED4D7C053B3E8722331B893907F53A938BACDCD6702B3CBAF01EFD2AFFD27096BDB5858A3A396421201F0450448C319B9C3EAE2A0B7670F90A7688292160771B2E9B9420C21D33B8C30BEF5EFB517EF03D2A4256BBF206A8EC2ED7DE5EAA68580C6404EA1876130A769861C2E4B910B04F4A9056DA3B16DAF5BE851FF99C24CBFA23D93B855A16F386E82905CBD3E56ECF16690AB04334E1C6A60161CE9D3B3702EC93124438A30B1D27B4EB038687CF524CB5C3B6902032C02EA9E73B38B2A9F9589638105D16D8F128739AD1BBB30C410E7AB50B770CEBB64193BC0856B4615848109C40134AE31F1D689AE83369ABB4D419C2A5C15716D8E5BB7B5A76E7F3CC8A2CF2FE6CCE1D49C1E28788A3F9281D33621802F24134CB9D68038D4567A1D8F64C471D0FA1CDC18394596E40B11A0376BD18244E9C3BFAC78B76FDD0276908CF93219754690CF1352A63EC81804E03B12EA9A43DB7180F1D85D82C702812D87DDE5E4D90A2640E6087AC643BE0521F5AFC02170A034C23998B239BDE07EAEA009441C51493AC6316FA347D5991E3EDD2903B05C4614D08819D95B8AC631F21489245AD72ADD4A6058E432E7CC06A77866118D48712E51C0B7739392658FB76912FBFB74AC33054B01303762440C8DFCC308E337C02B66FE81962B0B345BBDEE3480CBB50D2B43C86F0041A9F6168451A2809D9CDD8B66B1E5099FAC5821D2A1410A1369BD2023B6C1680BA5E8CE729A7A92FF0349BA4599AAA604768F1CBBB50C6F465C5388100CAB269787B192EADB360478F8BC0EE0BE38E1BC295BD3C5F2082D2B8EFEA80CB86790B7940BDF20419895EA96329B00B219F89273AE5B4CE0BBB1C9B83D807B70E5CF1D0BC34B08F03EAB08BD396007A1E7C2AE5384C3D3A472074900543B8F90633270574B8EBD8298ED63901BDC98621C607E2804B98D70BE2C0E705623D78F0A05D8E203DC71D5E5DB7F4E2279EB87A2C0DC8A76565F6A88A1090F3627E6FD586A13D61C78733D8440476E721CECA1044F0637E78E10B17BF78EE8EBD44CB4AA36940A64EBD67ED112BD218A1D32E708830A401F964F638B193A20C185E109FD804104F2CD8016887D24729DAE4F3BEDE643E8E3F485CC866A6B1F8563FCEC6759D84342C4C9A2D2C08E8F4B45605EA765CFA841D8C0B76075DF11059A156E436C1C0637BCC4EBCF005FE2D2DB2C6CA7EC785C1AA62C9210B3D7490A4AEB998A40623A45C143935C1A528D8E1B8E14C84DDC1A69DBAB999ED5061FF6F2B4DBA5E62147975878D9534E4F9F5255B0709229C30AB8FA560FC5C5BE89186676913001F935D5B5B1B003B8803770A882344EB16F9B2720E096520163916BDDF796E1426010ED19C6A4F47D8A1AA58E620625DB0E3DB559643CA704BAC70D37A7B43C0AEBF4FF1E5ACFBDD18A8BB98473B14CB881347A9C7A68EF2B948CFA2358623C9D645F9580474DC4C80602F2A86702D11CA8748CBE3100B76C8014CBAB6C01E3AB438449056DAEF4EB2EB7D8DDC1431D2982F2B18C20D2D20FE80279E4174014B00EA1A34A701EAB13A9510BEE8383A880367228B8BACDD6431C4CF2107BEAB6162F8173F408CE78B9F7AFD5BE593AD875AA7BA86977C5F5BE831B7BB05F57138C4479871D4679DBD08A25CBC7871D0628367FA6A4BFD79806A9820A98A0C86163FB4F0A59C8F5956DE75221399D55DAC7D167AA8DD5F9557D111DC105F48BA46B90438071A176E01FBAEB63F0E1646B94B5C56C938BBBE9CF391724F540627B2429AE490EB04A06E9B978576255B6AC46C85697288DE08AC5361B95D4C0D6766A3CB11D8D59FE98DE6EC8F940B1FF0EA7A77BD7FF113EF36D5228B25115E0C0959CA36860EBF10D34A71B33D133CAEB1D0E934B948779060D901811D5C615BDCC6360617B2956673C6AB9B96DBF549F90EA0E9C149AA36D182EA7761593493D1183D44B200007D92629D718DC31077D8EFEAD26C6C187A7A99145EF6B7F3706DBEABC7DFF5E3B858B49665CF8CF4B5894D55047008D03568162DE6246AAF550C26E59C3B77EEE4CFA1192E2D2D0DBA3838377DE41FC3873564561F7AF17D9F8F55D226BB2A2FD8D16EF7A28555277F4E4D26F9B42BFDFB149BB1843D10E0C18307B96D426047C14E84433AE32CEC44DF31490E85041119BC5764A1F3A40146E8D8B7CA79EF83E03E29A8FB2E803893BC219AE8E289FD1F00FB7EA06B4E8018D320CEC8776D3789C2FA9050BF45EC4A260C004B009E559C5FE8C3105FC10E6A42401C108BBD7CCB8A4DA7EEA6D35E7C9F3782A9A485012A3B698A229641034B30D11896F8BCBBD3547B431B4617EC60E3003B38F632C0AEE21F5359F8D877906C4DD3426B5743012A6518CED04AE72E64366099638E7C3E9DAA2F8CF9D6AD5B83180E811DAF05533AFE9D9B74A6C021FE08A3E9FF6543B8514B9DA79831F85374CC110B767C27EC4CD330B413878862567EAC12D7027B2FF4E5B43F7338EC308BFFDCFC4FCDEB622DCBA4C5643EC3D05AC9D879743D6047EA829D2297FD61BCBC3A844B1B89C5A8DAD118216E16E090108614EEFAD0E2FB9D8F493A71B2B5BE08E8D8910073F4C99D96B737D655346618DA821D780A9697970765D2E300BB6048B770F1EDC2172CBEFD7FB100558C20290186E15BEC444C0EA01E2BD809391D0F23B22C614284C767D828B819C0027120DAC83D315FA5FC8756199163FB410E391FE3311192381DAB4E5DF0A0CB8600FA9CA990F3AEEAAB2C71A18860EC3C2501C08E477A7B47007DCC5D5F1013E17BE9731A67F9BF6D8117B3BEB74DACD7B9288BBFCBB068A8684767C853B5E44E296AC151664143A9407A1118C2A5BB2406ECDA158F9E927E08F1EF7A9FC8F110231D86954C6338699C6A1BAAB4C8B23E28BB38E01ED7213A9F2876218D3359A46C9A7EA918C162053B4595B87E9195A493EE7A0FC6A7F63DFD7C2C5F96CF4908B60727E0111346BACD38C53A87F10A17797B6DC10E22848CB173B31403BA9718E9F0628677BDDD6F81FD973EE79E3139448B2202BAB6D0434D94A701E887E126E6F532F19A5A97CE2DF3A69EA6071C6217BE68F123434D8BC6E923C80886B8D3CFBAF4F612D0B5851E5A607756607A58B77A28DBC5D75EB028FB1E2A315B3381388893C89C7C29A279B7D0C977FD386E96349806E4ADA01216DF6517EB9818C11FB21D2B29AEBDBDDC09D681362D114760E7EF433415013B92E7E0D08E2DECA4BB7E3C0E29910654268CCBC693D86D6C244070652785C3069FCAA49242BEEBBC5E8CCB9D2F95BF8636E503F6D06FA70722AB578D73311BCF75123A1B0498424087280BECC674D224B9D077CBE4F5EA1376B0DBE048447E162D766D1406FE0F08D29FFEE207675A1ED41151D35553B47E757E6F9954509B9B3529D08FAB14607C200E09848CF89595959CB37109E0B703043982858F7F3714A41A4972008650A3B295AEBE05F2A5038544D4242A70A83E45452AA3C07EE3C68D81A80D14A6B6220B374D119686A287FAB50DE1F68A0A4001A4BA02971A195DE2BE9D10C28D189EC4FA09B360C79EB0136AB141D186AE9581853A22ECF0B47A3073B6352B9D1090EA8B80CE835D78AED361ED8732A7FB8430C477C20EB365206619292CB2D6D3619135C5C51F799DC6FE1D45D8C8D1AB3AF08489E2111384DA48DBA4A83F8A1655DA0A2E43B858E67D0CD89D5A9BEF326007EC0E26CF71CC91FF71A85DEF5F7C1F718AE73E62185A401FA3E965D49755C6855EE446298343182788831B0481C685C46BCC6B636363663CB154AA5C2A2DE68CF28ACA104184037609E8BE93A07D16332376D635ED2BD619C78715F21833DE415F562C3440F185B93877D09E6717C98AE9454B4BEEFAF077429D1ECAAC4327A6E75B3144071E0FDB62D8D47157164A211A678794C958F115EC8038CCEB2D0A7A154BADF2BB3ED2668386671A6AA2554890D049D08CA363F1210A181E2D43F569B695B5E3D371746C12D612E2333819F5114805C448C7DDF5B1C50FB8E59332ED603A3EBF150FFAC5237479185A7467FB44843B83AF2522E1A9755F4FEB820DE1ACEF599F81C97EBD54CD411C60070FBF8C847133CB1945BB3EB6F8EA75AA5F5BD1558821B808EA58FC220BDD898CA7627FECC9A4DBF21C827DC697D8E6F721A5856E78DB67CB95D765C2B5DB22A23A32C6B6A8BE23B956105B200E6ECC07598D70C50BD78C58B033339D14C74351D48DBBEB7D8B6F8953E0B80C1304A0EECE1D0FDA01B218FB62186EBB93994FCC1F80C7C0EBCB47D739A1902091466543D8C50300847353D19C8E830B447CEE0BF76EC8B85B822B27421E5F04B1302FF9DB5DAB2EFFE99FFCE80F56572F7DB6B2B2FAD9F2F2EAED8B1757EE2F9C3805C7771BC124DFC2C716DF17B64D9F87A7C623482C6D53B8605376675F74FCEECACACA22554CBA3048083ED7BE9A32DC107B9FFF0FBFC5446F10E7D2A54B9D175E786111BF7BEDDAB5C7B2F0FB4298AEACE6B1B2215C216A5BEE573FFAE8C3578999A74F9FDEB97CF9CA27CBCB2BD757562EDD3E7F7E796D76EE9868A02052561CC0CA3C553C59396B275A41250BB02D0BB12B9A55FB95575E39898570C73E0C1EC909E40E7D02F261A3803E223162499F1B3002DCFAFAEBAF2F40EB12B1D4FBE4934F7684302D88341C57378E4201AE1151372BF757E525EE5C9B134CDABA7CF985FFB97871F973E1A8BB67CF2DADB55BDD6C6767B795FA15B291B6B2E9B804C12593DC971DB389C9BFFAEAABC744F69E66EC83FE22FAA79C0819BBEAB66C23019F2D63CFC6C558683701F38067EFBCF34E1BBEB54F3FFD34F9E28B2FB6E473C89EC5493702FEFFAD5BB74EC8FD0D79F90DDA42172E2CDDBB74E9F2271797576EACAEACDE3B7DE6C266BF97B4F6F6F77D47EEA46531E463BE905D97CACED810EDE496EC8A67C201E9E79F7FCEEF9D95FB12769C8BB75F47F72091DF5F8256255CD193F71EC9E3333B14E3F1B5EFF9526E9EEB9CEA8BF27B104FF32E548013E5365D70091AD83E343121CC71E192B3D00CE1047DF3CD37D74594B56EDEBC39277F7F6A5ADC8ACD79EDDA67177053D384B35338E80BE1A0ABCB2BABB70493EE2F9E3CB3BDB3BBDF297B8865E7C18307AFC7BEF0C31FFEB0F3939FFCE4C732A1AFAFAEAE0EDA22C962FCC5BBEFBEFBEF42B8DF91457E5516EA7321281C4A77E57E9A1CC125933E2BBFFF2D8851F9AD4FE5111EC4DBA015C4D6E5CB977F70F7EEDDB32FBFFC724E70188DF2FDEFFD9B5C8AD02FC9FD96B92F1F766CAA2BEA958F3FFEEF2B54BF1717177B541AE4BEBDBBBB331F15CB3191F1DDEF7E77F5830F3E784F26F93276C08B2FBE9897866127C80E79FFA73FFDE95F42C426718FE9515C6D17E5CBD520E1E8578433BEFFF0E1C305E01CC6894D0327A370F91FBDF7DE7B7F0CC9134EB64ECF28E27CCD3DBE018C3F027B2A2AA63BB13FFEF8E38FBF7FE7CE9D97A9DB5FBD7A3579EDB5D77282C844B10BE6C772674EEFDA3758F33688410351C69DBCF5D65BD4A27E531EFE41EECF6531B61D61FAE6EFC1D9FFE46E2E1C6C96370D277DED305854CAB918A1645B76DE3BF67DD45B60D2F2F97F250DB9806DF63DC4FF315611599FC9CBAFCB0DB51680785DC6BEE908B31FF99FB059FEC3DD7A5D7C22EFCAB4E6D2F111C2EDFC53C2FE577D56B070C703D13CFEB529041159FD893CAC5ACD4834A12F6EDCB8F181BC3CE6E684D41870FC4DB9AFC95CC1194F65F1F7C620FE35FCADDC7FABD6ECB447E47D651291D7F11142EE570074C2EEBF10CC58138DE5CCE00F3A9D6B8229FF28848188D84C8A33368EFC92B17C2062F49B62772C288FC287D7AF5F7F4F9E5E708A46E2E607CC839BE705B951D4FE99CC1D9F3F731A5B2F1BD3132A5F4756C53FBB5B8BBCAF7844DEA952A02EFF60C1ED9ECB6E47A1EE795658FECBA23E7E5BB48825D989373737377F2E000AED0649B55F28795ED6029CF6F77267AF68595F138EFE16C62E9BE6A66CA69FF70F3CA7103DE0F427EAFFA64E11E9B9CF1FB9B960833D7673EAD93B9B82CB5AD6F9458FC87BC1479019B583EC82A48E9BBA6E023D3339BB90A967612779AFEC6FF0BD3977CFBA71EEB847DB23AEABBE3B67444BDF710B08B8ED1E79F7DCE7532594ACFD2912278DD5444CB85B2BCB6D3AC4F7C821F626A1BA8E481DF3BCEF88EC2354A6EEFEA4844A9B7E84519597ECC95680503A77ABED8833A36E2CE29E1375FB8E2B9FB8E759E27A54FF8A204743341F772586435245A89C48B2CEBD5F11A47EA225E372C8FF0276A5B2BC6B039D220000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (91,1,'Rack_42_with_door_(96)',decode('89504E470D0A1A0A0000000D494844520000009500000149080600000092296FAF0000000473424954080808087C0864880000000970485973000009E0000009E001381680960000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000046C94944415478DAED7DD96F1DD99D5ED5E525294A94A89D544B6AA965B7DCE376DB9D891D0733B011180E0681F31238819F06180448FC122098A7BC0779CC3F9097609220C0008111208911C319D863B431DE3363C7DDD3EDDE572DAD8D5A48512279F3FB8AF55DFD7878D6BA75C93A977D80D2BDBA1BAB4E7DE7B77CE7B79483C1A0D8CD51CA283A3806BB3D11133CCADD984B02E9D8B163470E1F3EDCDBDCDC2C8D1B3A16A0C9DFB2BE3E35353530CEAF78F0E0C1C3B7DF7E7BF5137075185400D2D2D2D267E5E19F0988FEA9FC9D67E498956333F1770A2DDCF8BCD7EB593FA31FCDEF99EFE1C0EFD4CFFB321ECAB9BE2DA0FB7339CF3FFBED6F7FFBFE2710D94350E1A69C3B77EE8BEBEBEB7F22FFFD4772734E3F7AF468FAE1C38753F258C8FFDBF81B8D0F7E9F60D4A0D2209D9D9D2D66666606070E1CD814906DC84BD7373636FEC7F4F4F47FFAE52F7FF9F34F203346509D3D7BF6A0DC94AF0B88FEB9FCF70F05340B029E2901510F20D2BFDBE4E6BBDE3341E07A8C0197F99EEB3501179E6FCA7380EC9E80EC47F2FFFF2CD7FC5D01DAE34F60D41054E7CF9F3F2E93F82DF9FC1FCB7F3F27CFE71E3F7E3C25A02A6592A30083BF65BBF93160480560CA4130998FBEEB906BDEC421CFD7E4F1D7320FFF5524DC9FBFF4D24BB73E0195035422893E2DEFFD894C30ECA10B3299D302A41E8DEA58091163F334054BCCE7786E3E7B4A6C2827B062AE0F8B6A6D6D6D20521A405B97E31DF9FF7F1390FD971FFEF087BFDB77A0BA78F1E25F1A764B4F56DD970540D3F82F443FEC8CDA4BD31EDBF091AB57BFA69FAB47FC53FA6C26F3B90B403E30DABEAFA58C069529950030FD68BE6F936626004582D3861C00646FBEF9E6F7E5F135F9FF9BF2F7AB439EBF2B6322556779E9D2A51DEEF5F1E3C7AF7DF39BDF5CC4E4C03E0A3DBA5E33FF2F2B771D067D8A1DC7CF6A40B83EE303A90FC8F8BE4816594BEBF0000B31CA71AED563CCE1FA2C7EEBD7BFFEF5F2ABAFBE3A25809BE762AB0FD867EF2990E1F12DFEFFA38F3EBA972BA8FA5A35C4DE0C530AD96E6C6D775460A2CD85D5CBD5ACA559D3BF190B48D7FF712EFA773917385F9C6BECDF32C0B2E37B26BD51BF36059A459EE2F8BAC5FCF8D800DCF0B87EFDFAD5CE832A7453634084212BBD58595929C4B6A86E0C3E83D58A1B84439E0F6C93BE5703E74449C5F3C7FF2165F4A220E0702D4D006DE3CC7C7350BF7F4A9EE2F8FBA6845E5C5C7CA0A59A01BC776FDFBEBDDE5950B96C287D531E3C7850DCBF7FBF9A7CFC0626FEE0C18395DA53B6053F5F6AD272D775BDE566FA5427EC2A5C0F1E01385C0B1E0F1C3850BD165A205A75EBF93541629E57E87D1987E478A13ECCF7D7C57C79CF01B8B7EEDDBB777FD741A50D5A1BB05657578BBB77EF5640C2FF31B9478E1C19AE6ADA509C70AA1182CB76134CE37A1CC3B4CD422A4C9F1BE648DB491894C8737373C3C564FBBEFEBB8992AAF13D95E3527DFC43F3B7E45E5D7300EE4DB9B7D7C7062A3D001211A7C59D3B772AB05012CDCFCF6F03114015BA413E637ADCFBCCFCFD51ED24AA471E180017161B0C76CC0BF61CF5DFB1D9AD6D4A5BDFFB16E766B13EFEC0FCAEDCD7FB3EB52A527AA331A86472A6DF7BEFBD4AB5E17D88FBA5A5A50A38DACB6B6277D96E9ECFB36B5B52B9CEC94683C4004D7B7E982BCCD1AD5BB7AAE7587CF2D8B319EA6D81A481EAF47D775E5EFBBC3CFDBC4DADCA35BE6B039C3C02880F86A082FAB2ADE893274FC220AC6C0882C894463610B9544BFDBBA5EFE253A880544069E0F23CCDBFA3EDA45887427F1640AAF70E2B898E3933D59FBE51BFFFFB7FF77599E7D79697974F0B10CFDCBDBB7C46D46A1FAA756D6D6D683AEC96EA0C7C176AF553F5619B5F78A415D0FAA6E18C1F16103D86ADA0A5514812D9C00540E23079261795302E4965FBDBE67373BB881E2B8F2654062415A232401F68F5CBE7C78E1D7B6776EED29F5D383E5B7CE1EF406DCE95AB2B778E3E7870FBF4CA837B67C4A83E2D405B12C02DDEB973FB29B1630F43CD02747A8137054D8A768800EB92BCBF248F7F680595E9A9845408FF0F89C655466E0A2B96510AA4146248CA36006682D765AC9B9482B681F01AD51AC19522C95C3C55FD4EF5EFEAEA5A755CB952ED38DC2E8A69398EBF363D7BBC583C33557CE6B9F962E1E8BC9CE8C38377976F9E5A59B9BB28CED2D2BDFB77176F0BE020E59697EF9C96B92F013ACCF718546394DAAD68241BA5601AB5AE3F8C8926A5408944D10F6041D2F1754D309A27380E7B2A6631F8EC2ACE03AE05E70C40699544B321447CEA6DA19DE00E5F076CE31B3797AB034E27B677C4877B776AFA4871EC78593C7DE1607154003777606AEAEEDD9B27EEDFBFBD78EFDEF2D2BDBBCB8BE26001704BB76FDF7A4AEED32C3DD69830A451D4AE15543E43152B416C804A2271728F1E3DBACD1334E98310976382D8942AA3002A567A85E8055C27EC2518E4F81E25029C18A8397A82E6F7FD92B71C79E1DCBDFBA03AB0C6E5B82E4AF77A511EFC7F8717CE14A717672BC02D1C3D58AC3CB873444077FAC1FD6551A5779644B22DDEBC79534077F329917AC7703D101054ABA3D866565069240328A013402BE03956EEA143872AD7D9F4049B6CA5F8D45E53E99522D6536F2277090026020C120C0729059BF36357F1E32521571F8A5ABD2A6AF5EA4DFCF7AEE811394EBD71E8F0A962E1D854F1C2170E1547170E8B247E3C7BE7F6B5939070CBCBB71709383996C49693D796FBD046B17368A5146452FA1F7CF041218662F57F520A009B49709A206C63CFAE0D9B2A153CA976D27002EB0D68520A980B2C40520A88FA30A324C6ED98C40CA8D59B37EF56878C35399B0F8BE2E887B373478BC58365F1E967E72A2977E8D06CEF2FFECF77FEE577BFFBBFBE1EAB1AADA0920FF4A0D24E9D3A35DC6ED104A7B95513A3824C4A619C808A0196CD8EAB233C8376926B40425182E1A00437C36EBA00AAA05ABDB7521DB8C5B22E1EA6D85756508931F7082A8E5E448A07A8A517B92D359983DD00532C936E7B8DC0B27DD6F4FE42839402F0D63549953A8729E7EA92548DD4174008838F5E12DD73BAE37BB95D135A5D788F9205B69196C4387F5B94428C4433BDBF360DF52E80CA36AF7D9751190322DC04780CF004F11CDF8387841BA037954735DE63C196F23742AA51B3EE3CB44362CE9BCF7374C453159908AAEA3C5DF36F53E9FD9450141DA500209181469402B773A832DB12AD29922BB4696C533F3140E4396A831CD7896BC622E27BBEEFEB80C027E79809AA8A444915223FCD28054C1EEC2D1C788F2467DB8177A3A8411FB8526D2CDBF721A508304AB03A5CBAB2A34C356953ED7949AA116D2A0C99ACFE871F7E58510A18F068B0B96C520AB1EA68AF223D9B7052363BC9EBE9284A0160C31C6101E26F9352A0447778C459A93FDFF6CD8E6D1A7D9108D7804A43A482A6144C633BE4019AE27FB72985D441C9130B3673304A8120D39BE9391BEAB1EA8F00B3824A00F4888C798CC4B1798BDAFDDE6BD11DABD608ACD8A0BA10D010E9B189186A15A5A0CF2977F5E79A5B2BA84236868B72C0CA848D452396BF49B71C510AA34AA99414AD54B5478F95C0D2FC546C2D8818EFCF4F33741B5831910B5E5085EC240005BBDE0C77E1AE3E7F0BAFB5659CC7BCD7D69EA306877E4F2F9494CC1A77364D991DA06298752BA86C110B7C045060C0839F22C1094F10B6842D4274373D41D745C6A8C090AAD6D9357520E39052A0C19EAE3E025B0C1D33D4634D89BECB7ED0816B087501370540310404F682CE449E94E14ADF379D0ECD59618EB08B4FBAC54CDFF2DA24991BEAB6856B051572BFAF5CB9324CC302884E9C3831DCCFB385BBF83CC0DC8BD3F90C72CD59E139A434162124579DBE559A5A20B7F970ED08B8EC2B2BA864727A48333A7EFCF8B6C407B3EE54C878B7A8B0B2C9058D9B9BE2F77CAC780CD034A50050D521D5A54F526522AAAC3B022EFBAA6F96D9C110003D625E5F282AC1279D78B0824A0E134789136367F9808601D2D84629E406AA1849E5B4A962428A7DBC15B394CDE4523C87C4330BB8764DC5B10604B65B70B06E55D3F82A933EC851F5F9C9DB221E542EBECA9C102603805220E38E1B811BA253DD73B5A1CC9017FC9FAFA564D6B85DF2DE44806A47E4A70EE1F065D1E8342C520A4CC38241CA4847534AE566A8DB80A2931F385F90BCDA9662A5185F4D869D51127949AB1823DDC953E989C48A8417088F86042724110C5246299894C224798036A0D0E38304C301806191615EB0C06C510AE3CA6DECA4A4B2814A2665EAFAF5EB954402A830598859A7A4B2D5528831DE2791CBA2D7481B0CF3857963C68DCBFBDBFAFF0487139B5F90D7FA587100925976B129889A520ABB396C09A2A906390B76B0D89B0B54396D28A7F06CC328054BF9A035F0543EA63C365134274A01400028F49C34F5FC98DAB6B9E5AD4CD9E2A972945431E9EFD1353F634044C69DB5147802A41462A214F6728052C0790258AC96670BB74E05DA24457E264B2ADF46B28F52600AB8F684E882E766A8930AD1C53AB45AC435716F2F1668B618F59C0CF5D473F5F254362040129994025635EB31E95C3FD76F848AEB37BD987100D70409251729056D8BB9BE3BA9295ADED0175FD62C2905442940225112C188B765D0ECA50798BAF29B569B613C15C38FC9CD315FD016069377E46783203DF30D796D1BA580C95B5858A852B14C4F7052688450C88BCF63D4510A5868A41418A560CE717E919F89417AB6645214E8C08400483AF121A6CEA76BD43645D9DDD55836CA4036AF515731669482FB664C78DABBFE01596D6B3AF1A10988744943B2CE5D5F99ECC36356D36B02346E5F815280E4DF8B5242E300564CA26E5471FED882AABA96BAFE0E0085D7D09CB1CBEA0F36634D7D0CB75B7412448C31EF02DAA4D652B0D957DE0C651FA03879A014C0EFD058A53AD5D5F472B4B1285975596B9B371803B451CA33E602AA2849E52B160B6F90AB9A9402C0442965D6F9CC7DE83018ADDE79FDA1CC1A17239D134F65DF1108D854AE0BC5E4215E0A510A9A52C0EAB5253E4C8207186B94D3EE620F1E92BDBE2885ED76493EEACF458B44A93F520A376FDEAC5CE3DA16AAE804EC078EA3CE672E200B65D630F101C430CC024629B8A4524E3C55485279D51F29054C125B87D8121F628D773EA6D452D84BEF6F14A09900ABFB1BF6DC8C742F93E5D5309E4A830A9402894EDA47A920D27F1092AEED04D3710C8081C9A1A975BB5C993572DD1BF2BB539314A31E8CFC1CA5929E6D831920D4110ABAF6A74C6EA76794150119A5C04603AEBDBD26DEDF76BB2C4F4A21BA3A710C9D609344B809A01458E793BBFA7AC335B7C185C0E79038ECFC90422B8479AABCA4950B4441EF2F442F60B2B1A27150359A15E57235DE5D60A1674789C5F9D1AF8788CFBC8B9E9549F52C823D943171A012E009E291919CF004593AC895029F195755C618E466180C8310B9986C0073B9E493589DD8D7F0680A8D104929B01B296BABDBB662528CF749A21874188CEEB5CCBE358C51B74BAA7C288598F28C4E4955530AD39820B38964D33A9FE3EE3ADA26A5304A8D509D59C3C4073FA5B04FAA13D7E2FCE191234716460191026865E8D6AF953BE3B4ED919F7B21D9D802C4EC60DA24B30603D75DF71D9EDA97A12FA194F71810E9561B1A1CF40CE7E7E7072917328ED5EC939A50F7943488526098B4A659DA6822F98466C88FAB8A61D5A3BC3F1F8868A43283467F46EF87E56637D1F066363653DE4D0A2636ECC51E4E3C59E5198736A62F68DF258958E7935C14B73758A4C386E85CEB2990D0E5063273184DC9E5A3262625F1215952F980C53A9FA014749D4F520A21A273923C3FDDAC9B8B4987C1D816E95E35911C17F9196D53E9812805B40E0190EABA52958DC13A9F214F30F7F097D4CF6A09C68ACDA4167C95F47236D48345CF2CC6714529A0892426C995F81063BC2BA0767EF260A4DBEA4EC5028DB5AC98F8506F2CF7F28FFC6C509ED104954CECC3C3870F2F9889A12920E244E2F7E145D537A7D3D3484AC156ACAD49AA3B8C7C500ABA3C639E919FE120BD6D92CA5C45B1AAC1052C1DA1C03F0C758047016AA7F521D43D170129056D988F023477E4E720034955A68513DB2AE9D908485F8946520A34E2F97A4C47D22E0E9C37291286C1E8AD9858CF315C477D320CF5A8A2676667241344A414B8FF47D6DCD6692B770F903D773837B630982686EED6EBF88D8D2C00D54A79463D5C9442C8809F143AC15C54CCACE1DC85326BF2AF4E5CA407E959C0D443F60C8004D0D0CEC09192023F09193529DD4AEB50EC218FC5FD4E3DF1A19D8B6E82AAD74A79C619BCC6D621B63A9F2920CA055CBE069226E0429402131FE4FF3D97A49A94EAC4E6E7ACA0922F0C29055F37D2986E10B43FBA5EF313E787640F1298A34A3466D6C81C6E783B3E644A7EFAE6C559492F0544B6CF7352618FD1935A5858E8742D05A87C16D64050228B75A44C68ACF737A9D5899D92CA57A4DFE51D997DFEC8C4E79600C10EF73AB38600D35E5FEAB033D2F9A9BF1867A39F1A51A0279D14026D09929F29922D076F4FB7C125214AC33CA58D48D3D5DF254915559D38C6D0068850940340629D4F86CC4E620ABCCF5662A5655DC38A13ABBDBEC90A7D49ACA3EEF84045290048B087681FC190A5AAD33D68523CC0D870E2368DD951411ECAAC31B7A5B8C8E89CB80AA8E5A3FEE2A4EA309ECA11A93883D7512C9693A4ABBBA47880363075852AD8610BD415FF46011A1720131FD090D3E592E7EEFD39233F6D80409482786A0BB654AC5415C782159A08ECEA8041CECA2D4DF62C4D80E1BACD28851CD59F06565475E290EA6A52E505839DD1754ABC48BE4E1B5B28EB8D014F0F0003B5A0BDBDA6550173DF508E8D511F4AFC5158707A7B50192675404A81A1303919EFB816560AD499354CEF4F4DDF9A84A267297B97FD263D82759D4F9DA56BF37C26C1FBA3E10D90115CDC8A894DDFB207E9E533274945CF623C368007D5E170D0D660DA1281358995F46C0063668D36EE5DEAD146296C0F279ED0F28C8EF4A21E5B8700344CE78637E84B7C88093B9E34A0E902B39C54F25866FF9D9C79AA244965FBA0FCC02C26EBD8B163D6C48710586CAB3597C4077ABB4D52DD75032436EF4697D7DC8B9EC5F2545E9B4A5E5B3D2223A623968FB7C2C432C3B7B6B73A3D8B384F74BAD04EC728A9EE8C52288C5A0AB98D50E4E70E508580114B239804200D7700139E148648BE4EEB41A87C4A2C500AE4AD527AFBA5928739822A18F9999A9E6E028E7605B76C74275233722197C10D734D29006078EE0BE4F335919C04F2335A52350111EC2BF2388C5927139D730D05DBB5EB28053C92B36277F798B201B9477E2697128AB1934829309D1B83F1EA667468EE21C5A1C1FA11B866DA8BA138AB49537F2EAFCF6B53E1B30011A3146867D03BB279829306A2941D05CE05ED2FB3F0AC0D4079457E269667B4A92B597507302928160B6F28A6E343C8D0CF615552853735C8B5BA83E482546361FEBC233FE383F49CEA4F2676550075C4D5D636647729BE6BA822BA1EA580C9C10222186CF6612AD020D965FEAA28059BB19BA3FA8B0A276EA2A662EA7C72C0A0672D85E3C78F773EF1018371E98C520885C1C43646DA39D7797A7FBECF54A12F3136444A9D4FED31B1B78D4B0D8E33F273149B8E51AD580C7048083076738FFDFB21F59FBBF7E70CD28BB18D4C1069639D31EB7AA7BE0B45397C604C89BA24B8EADE3A15C00034A8F4506303D74D9994EAC451417A2EE9C4F822520AACF3891FD1B1EA3E69312994023D3DB3220C55BE2BB1743F5427F6DA54A827084699DC54F5419938B3288719CF3D4AD871176DAC9041AE2BC2B054360164D453D817D589BD3C957CF80040031041DCB751E73387090C19E521A069FB5249B3A94949D16A2CA96A426F756161E1481B753E617B4045747D163161E0E570CE2999D5BE54F73A2FD2534B213F9E2A6644530AB1555E389974A3698B61D59E3C79328B5A0ADC44C681A1A54FAAEAF4F13C396FD3786B7EBA00120B22EDEDB11018CB35726F30B75A0A38775C03EC4A48599A014C351BB58D488E3C555275E2264C39C35AA822343F6532D1B97B7DB81E9D59A339AB94CC9ADC792A97B311ADFE6CF503A0C274D179BD793A891EA0CD56D23D6BB0A8585DD00C83B1F504B487BEE4A3FE92AA133BECA21E56A7A614F0A358A15469BEC487FD9459636B8C641699F5B9E439F154BEF7B6457EDA40211373009345F638A5CE679393EAD26A4CDD0D301B23F177589E51C086724D03BB4B9EA7A11EAC4E6C03844C0E121F0E9B122935765D7B5239CC22CB3372DFB269622CBF533B2D6088A72669EF2F3946BD890768BE0E2F897C0FD5680E94C29D3B77860B011E1FDB9FD8EA4EA5006D928A9E858CF4A1FA6BE201BAB2684829302DDEB737D8654A01876E488E479DDAEF233E630CDD9C36944D0F30A9E859AC44D24539B40DC2AC9A1C33685CD7AA931E743518520A31E95B2E973C47F5975C9ED135001CAC5C9D414343D445294C62AABB190643D69D944228412037E7C506AA51CA335620822D045699E8C404D28D9EB43A9F4D06E6822063188C2E321BE679262BF2D36B53C9A4CC015410F76C64144A7C08D963AE06E071852C7667F8121F62AE553746223DA1298549F1FE4206BBD5A64294022805579DCF58A39E510A90704D3B3E8C136426BBAD131FD81BDA672BC5502AA014722FCFE80A7D498AFCF405A5F94044314F1B8399CC50A31839442960E85477AA399BF391E2FD4D42E8CBC8E519633929B339353D43D81ADC746601FF5C062534EA73C14E5A5858A862ADD80AB74920DF24447E4607E9F924900B44DC92D0AB97AFE9D727C178C7B5A0451D160949511CEC5B13738DAE3AEA9364A83B435F7CF152ACF3C9F8282D99F68B07486294DD594929409AB9813339D5897D46BAB73C23075BDA3211145FA0CBCC9E34A965B0730491EFFC4D4AC1E4AC6C612E79467E16B6F67D69417AFD7E7F8E0C32262926F1C165BC1B27D0E918755794426C660DB93B66D660C81C6EA314B6DF8C7CCA339A3C5B309CD812D9895A0A877DE12E2110F10F736BA3EBA0C230A31442BDA143993518A22EB7510ADB25555EF654743B96D88E0F311E203BBF639552C2815280178513CA254A81B53F59ABD4DCE36CE2F9E5BC4D4367C347994485BEA4940AD2FC145739A31458144D17EDE8BA1DC5D0690CD849A01458FF33B529A6CF7E9A9476B751417A2115A7E38BF80775510E57199E1C0716054851382D905CE0AB40296001996DDADAE279BA0EAA91E2A934887448B15E7D667AF7A479807AE03A751B5C4831028C94C224AABFD6AA1333D4852E33BD1A4D0AA67880B9D30AB606920017B6A0E82993B3B24529E46E538D5C9D58C0534529B01962A8CE67A87E554E13D734D5DDECB5CC5243A414720E7D69A53AB180A7A214CC7097580F509F0CD544DD18A8D33C157AEF50D56351A544B09A20632159500AF2B6A33C63913DA852AA13277B80DAF524A5808965F7AD1C2885DBB76F57E70F150680514A8FD2AF467BC7AE766DB97155C9D5899BD849ACF3C94D566EF1F086D4557AB332C671E05A4025C0E32381AB8BCC8EDA462447F5D7B83A71084466060D6F06379C7D4C746E463AE3F251531E120C0003F3CECC1A92A2296D449E84BEE4A7FEA2AA13C7A8369DE26D2BCA919200E10B27B6A9843654845E5D4D134339070017E68161309060AE3018B396C2CEF399D0EAC4B689C09B4C04D561B5ECC2E9E3A5BA5EF1C525C6538146C96C5631D694826BB1E42CA97C46BAB33A714D291C04A05820955EA06B077F52F8A951186F9DBEA58B7580521013619037F9D9428CBA0068456C87795BB84B0A884829B060580E940213474929344975D76D704929E41DF999984D93A2AA622411336870406DB2CA714E9402CE1D9BC86CF0A4FB1636E954EA2ECF98AFFA4B2A7AD6449DB11329FE10C38EA13E29E972A31470EEECA60A1B09DE1E8C72520AB652DFA13622365B2EE7D097C6E519431E11493D4EB6CEA0695282A78B83D50391FCC0CC1A342C0F65D6D82AE9ED5CE1F9F0542E67234A52B9264813993A7A810539520B7DE4386C99350CE6F3A55D4D42E24352794617100020AA31DA1329753E277DE8CC1A482DDD18890189A1528C135B9ED10602598515A5007462A2CCB6B6934423C4189F3146B94929306D4B1E9DB514729A9791CB33925218B5CE27063372EAD5DB694A01F6527DFD4307C307B0989E3502B461E243CED5895B2BCF980A22263EE060015AD009487CC06BB9243ED0E363CC7D280C26D6FBCBB53A71A370621B6852782B5D948376982ECF985BE2834929B097344B4FC66C98BB428A73945429E79A14FA62935AE4A7D8F19C404ACD38E93AA5C0621D30C221C14E9C3831BCEE98D4AD490A7D09D9A1C1F28C26756016E5A097E89ADC49F304C957915280F422A5C0798A6D233229919FD1417A343459A5979287753EF59ED8A479803E5566BE66D6FFD494822B63DB753372517F3615EE0C27D6172F2BAFA21418CDA98B72C4806852792B9F41CE96C0BA3152CD5F61E10E3077241173B4A7524286AC924A56E0CAD9B367E7C94D35ADF3494F0A939B439402B65F52131F428D914029C86F4E1154FA26E558F5C5E7F9051B733701118D77E6C031F181F1DEA74E9D1AD85680AF90AC4F97B72D855C890F38FF51326BB80BC1AA324FAE33EFD017977DD54FBD4136A94520D5ED5D87E12E6C24C95CB8BD70715D9F75897133F1811E1FEB7FEA2CEDD879D31BCF04D4D65EDA662692AA85EAC421100D11598717D3A067064D6A69EC2EDB500418160536900130A8495C3BC3606218764A2BD33EC9CDAE6A1CF9690391F6FAF843BA50FF24D5F9740D5CAB59AC03079EEB4EEF26C028A9B4944AEDCBDC15408D549D1820614920EE81F9DABB3661E473F6FC303F94CC90626C8C444A41F3763629B555DC242F508D549D9894028D566EB7E81F6DD2796B52F92B5B6324D6FFB4510A4F3CC1BCD45FE87D6F7562B18F5664D5CDB751E7933D86EB4EE99D76774829701339B54B29AF1B528CDF97C5E9A4147293543E233D589DB849E482A61418B04615E1A214BA36402990F03D7EFCF890F46513CCA64D2469536929951249D9059EAAF518F550875286BA4022B1AE153660F58E7ED7C94F6D4B9AB51420C1A0CE584F9E36666C668D36E275BDF55C28051B4F15AC4EEC9250BE084F4C0E80C20C1A86BB84CA0F757AE62C6060D51A2C1C6C1E2390EFE4C993C3C648B620469B1363AABF9C6CCE56EA53D9406466D0601040AE62FD93B6EFC70D6466D680B302F30E75C9480DDB35DBD4DF16D0260354D1919FBACEA7A6146888EE973A9F3E3589621D90D2DC408624C323C0638608D919F53CBDBF608CBA0D00B20A8794023B17E802B24DECAE49A716B0F8186B0529061B0C120C9482006A6067D437F787A4AAC5FCCA993367E65D453952B82816ABA84B44779E5220E90B09642E9058CFCFA414E4F35393C0A8C7002ACAA64A9544EC98406F894D9370D494426781054A017B7AA41418938E6B484D75B7797FF932EA2D94670C651BDBB2454829F0268052D03149B9D452E026313C3EE63D22269DC6B82E016E9BB7D0DEDF76633D3F4A21AA3CA34FEAF8541C290566D0308B46B70EC97DE01A608CE3C0C0E631BC3D3CB2305C6C668D8D51CFC9484F2ACFE82A29689B60A2943D5A747D7557E2E5240D2C9C9B376F6E6B830B35C94ACC2E0966A31472527FA6F71732D8BD3695AEF369A3149A18EF660845AEE9E0BA580724367303614BEA45E8A714262B48CF5B9E5126E620EC22E6F57192626DACA6AB20259C789455D6B4B0ACCF28A7AD85798314639F65B1CD2A4AC1BE4D9397A11E1DA4675355621BAD2C2D2DCD33DCA50917658B522832497C888952F0797F0017336B4C4A81F6E8964ACC45FD8D104EACC05086BC4117E58009637729A62D19510A9D049699F8C090617AB300598A24B3797F9A9FCA2B4AA185BDBF541507C31DAE3777F1E12DF146F07BB9767CC00281C707A031C1D6E694847ED3B4A9B6E6341F0FB971905E8AE7C65AE17505DE61518B8CA314AC7340806140FA02602271D9CC28EA5ACDC4874960D4BD417A21C2D3FC3F260413CAAD0882C84C7C98C47D3F1BA5A08951B331922BF181376552A2148292CA6C1DC2A6D47A8274A18EFD128F6E727866FD4FD009A01548299875506DA0CA69CE42919F419B4A26668E8DA9F163662B571788263DA3C66590EB9622D8DE811403C8F02826C19052C835F1A195EAC43211ABA4147CF97C31F6D8A44429A4008D7B87757F9F1D94427E890FC5E8D589533D40B3B40C5400562A57708E510AB095E88430BFAF491349DD696C67E243BE31EA3EA33DAAE3434842C170C7CD609D4F500AC8E4A50ACD8952B0452920269D11188CC34F89AF72530A791AEA8DAA1387561F81C432415CCD3818B39E5225A5CB9C958E5200A5001589D8740CD690F0119F7C4F939EF931EAC5F8AA1333420183AB965C4D28DC781206ED24A849A878006C71717128C55CE5C14DF5979BF70735CDF38F3977274FC5821C66FF151AB2AE98A9FD92EA4E70418AC10683F422A560467298510A4FB669F2B0A920516DEADB25D1AC924AEC88398A75FD232920DA2F490F9C1748312C3616EB80A3027529D2DC93F830C86A219971F62EFBCA0A2AB18D564F9F3EBD234A21164439530A0C3E4CA514F4A0B352DB9ACEC4875C6C2A1BA06CC9B15E49E5B2A962280746294015D49CD7B00760AE9402A4506AAABBEFA6E46753D9CF5FB7E6B3DA54B174820D68B8112CFBCCD62168C9A12BC6E44C29600399752234C06CC4A70D68B9273ED836C3CDE71A708D0A74D00B64C224A41029056E32FB2805D7AEB72BC4382596A7CDD5EFA21420859906EF2AB514AAA5B005AA223B50D9EE959658CE42B22E95A7FBD8F98A72ECB5580F8132A526B84929E07A6FDCB8514930243DE02057E7CAAC71253EE423A9EC3B022E95D8F7E5F8D95C61D209B662FDFB69600E6EDDBA55452A905260301F5BAE84131FF2983717A56033DC9D86BA4CCC014D29E8D5D6C403DC6F9402DBE0D6510A53B96FD3B8AA2BBB00E6EAF8F05056DF618AF3540F500F4C323B75161D2F7A067B499747F24DB0CFF3D3C53A64716E9052E0E4E7482940FAD26E0AA9C1249B2AE633ACA5C0FE78DC1FABD544E729052C02AA330CEE6BA6A4BABBBC3F6D46E4C4A8D3A6D29ACBA706FB4D6904FD9C890F18ACDB0410E90C945C2805A6B2E31A705D5065A74F9FAEA42D1C131BA510EBFDED547FB9A8F7EDEACFDC183701165D49CF7C4E4A016A8D75147023A83A62AA1A777D6081201E1D07268B890F906200163DDF189BCBC6F5E4526FC2C5A8BB8CF5A486479A52D0F97004D1241BE7B8362C1A48AA8F3FFEB80218E80410A3207F7D99359930EA684A3F8553941313E3A9E8F1F4E5DC4BD7F96B46DDCB5399B602862E9CAAEB7C8E937CECF2C0F533B3063618326B60E84372B3B4A56E2BD24D467D80B3E897E2B05558C0BDAB72DCB7DDD04283CAA5F2823C95ACC2398AF5509DCF71D456C8C1BD3653B0B8810CDB9199357524ECB6C4073DF97B394D65B9392392697648FEF2642A60E90FBA1975DBC6B293521011BF7AE2C489F926753ECD416FAA6E0A944594428A3AB7797EACC3506F5D0DA314EC8CFA6E4FC966BFD7133015546F832178E469397CA9DC768DA5BD5FA1BD76557FD45E7F16C53CEC9187E78C0EC5D1E528059C2B18722E02465984288510D06C94C276467DD7A6A3EC951B07A0EA6AE0EC0490CE1A1B3C796D7373C36B9847D954A90DB719A500B14F771C510ADAF5EE3AA5C06B34290550259A520055921A3ABDF7FDFE068281CD39F9AB535AAD6D039006D68EF30F87BF689B2BBA89A4B9AA4929E0606517520AAECA7A5D1EB68D656621E320A5008F0F528CE5822089430C3B43B34D467A371875B19BA0EEE69C92C9F8780AA5E0528349053A74510E72535D8C521827A5800392195219008314E3CE01E7C0D543D9F494C6EDFDF5CAC1B418E4732900DAE6F829465D2F0A9F94DAC1A8BB80C5821C048F1933B5DF3692194B851018E437EA621D2C39A41343DCDB34E39CAB41BF0254E936DAAC00DA7ABDD4EFEB28851863DD6A539994020B72F82885FD18FEA2D3DCC157417273DF939935F2DE1E243E0CA6A67A9B07092813552E00D94C2CD326D484A76B63D99AA14C4AC1E656A78208AA02466E9DBA549A41F21AE97BD9658AE51975BC5823877DABCB4305B4BAF8DBBA806C17131F2AA3FC10FE940D3C211B7D50BFB3F57AE9DD11B049A991121F5C9F659D4FAC54A84DDC20A80A18BB274F9E4CF2A1DBAA601C139ECCF28CCCFE813AA39A831362F6444EF5FEECDB1CEDDB54535B80EA85A48F0B40D52E4DB1C5270EDFF76C33D93696FBBE2D9A58371C3F0ACF0840E20AA527980BA5C041E2138B005216D775E6CC99EA39C085D7795DA94D24776ED3B46C98F72A1B6ACA277D0A0F808CD783E76FD6301D520A297482965AE4A64810929BA211EFA014B22A9A8E6B80218E0393055B09DE1EB82B5CA3ADC0ACCBF3B36FD3B427A94AF1F4C4DB9B0D491F1F802CAF9726A85C2A4F6B807E4CA1B261D1750112DB87B0C627CBEC4C3AA58049D56130F4F620C548B1E82A37364935C61ECABDCA304F913E2E0019AF57AF24243E38B769CC7A530013BD1C1DEAA2132CF79B07C8C5844805D890E4AC584E4957BE19778CFA546FE3A0DCFA5E8AF47101C866BEB792F820627E4EC7A79377D11DCFF72B8D601B9817A87EC45A418A63DF1347DD9ECE4929B4E1FDF57A8319F1F3A6D3A44FE1F5FF86AFD71FF685EF58131F6CD249ECA3555979F366F5B814E35DB3F07587CE4E839094026D425F4467E83A48290060A014C48199B26DD38C6A536DDD47ECE9F9D597CFFF3301B48DCC1AF8BD5767E243934A7A3ECAC16C1DC23A5630E4EB8C9ACE12999036CCFC41D830CB4B02246640624A4D0553FD69FB6334506D1EE0267119609F9CE0310064FB9ADEA60949A9E0364DC8037C2282B728056EE730EC36B7C407C64231FB8791170018AE0DD7A4290517156302CD541F4FB669462339B7F6F59A491FDFD794A8ABFE2F6ABA7425C426253EF8C085E79870264E925280EB4D437E129A48B2B0197BD6808783B70749866B6402698CE768EFA1DC7C8E2A9253DB46310072812740B3DB16844F0DF67DABCDA41418EE021501B5804935BB914EAAF18E6B236785014A010566F1483BCA4529F0FB3B3B3E340315EE5B0903BD8837994CE913F99DE17F5ADDA6212F850FB38730A591592F603F0D4A2964D6B058C7534F3D352C39A45BBBB94B09359BB35EB93117044F40FAD8223CD57BDB62AF4829D8CE3F7A9B46EC88833AAC85BC0B5B8AA47A80933E74B10E800AD20B07D4E4B56BD7FA32778EC48741032985342A91523EE9E357793BC113005D28F1216A9B069482B8D787426D6D7DC6BB9674A0145860B5CB0306B949ECFA168ECB54D0C53A4029F4FB7D47E2C32079E3AAB71574E78F2FF70128E53B4551BA76045AD9A68931DEF988150A20818967262F7BB67479C05EC279439DE191E7CE90E1149045273E9429524A30550E0EB4217D2C21C56561710C07C5CE5A0ABE58AAC6D934268834A5C01C3873B335174A41EFE14195312E1D13C628859854771BE06C8C7AAF97C29E57817761E953780164058F97636FA3945008449588AB83EFC0E340D4334A81DEE0240CAA42500A5830D87A397BF6ECB6621D31F981ED500AC826DE9C558479D893F3481FB7F3B72DCAA1B431EA51A58462EC246E2C73DBC556E7336487D87A9C98519F5D1DB02FC959E15C01304429C02067B4270E979D654B1C48D112F2555008BDD6A48F053CA4BBCCCD68EDFD259712B2018C45393058BA5A77246DD3F86EA390ACEF77DBFA3D5C338B9A5DBF7EBD529100D8F9F3E72B35CF3932E3A9E8B834A114B025D3A6F431C153148533C60AFFC66CD3781975516907F8453C92DCD44994FB3D01C24C7367668D59ACE3EAD5AB5378DD9638103B57B5813EC338F318E9537800941A63A5EB53354A7CC09055F85026653E86DC0C6D401B890F9D060A131F6CCD8B624166B6C195C70D99ECA9514A0989949A2D76242EF8A58F0F40A93156C9890F3680A050512A8DA0550B5C72AC52A84EE60962A2BB4E2930F121264A21559AD95674EC6FF64023D490684BFAA4C458B963EC1318F56DBB3E11A582001E32C9F871006852121FE0DDE2BA708D3AF1A1691B91ED8C7A1C835E949B33A9D2A77EAD498C55B91D606146BD11A560FB0CABA3D080C76423B4162B3BB73A0AAE81EB004D8283510A4B4B4BC3FA11AC49152A26EB2AC21A43296CC54C95DB0CEA18E9E307901D3C1E1C784B0999910BDEAA2FA6C7A4CB5793A76163C5490977F1714D3A4A01120C510AB0C3588B0A73E2537F4D121FAAE21ADBDDFD56A44FAA1A8F8DA5DAB14D632B5FCDB6B6B48D48F8D98AC5EEA78D64482948E56BD7AEEDA01448BDE828059B611B8A51EF55B1E7837E3106E9E3138E2EF236C44F79ABBE8052A04863EF3B5F75B9FDDAE941DB61A41420C921BD34A500D340832B96512FB76A4A158ED08351019440D6C5273E384125ABF0A1783FF3AE5097943A9F931AA510438CD631FA15A560AB17119A8F8AF0DC5E28711700B44D2416B66D1A97941A32EA3136556AB158AC507682C7CDA1FDE5CAA889B1E95218F3A6136F46299885CD5C94410CAD409B2A9651EF959BB3DB2ADFED02785CAC428A94F276D14A011153C299740A00C17085D7B41B9442CA35F8E2A0CC2805008BF612268B9D2C9A349134BDC020A87A83036305504248B1DEFB8B31D6FB4D1B6B9352C00F334A819482AFE8AADEA04EEDB7B7DB8361C188EAC482C126328C71D84D583848814FC9AC31DD6FEF1C978399714A9F8858F5A139979CF810BF55500E8B727045EBEA2E3A83791449336A3E5C134915036C4827800B07A31498F8C0F6B826A510B2495CDE5FB5D7570CA6C7297D6CE0717EC792F8905C9DD80412680596D2D1A12E935294235562E2F3B0BF746E20EA288018C55C9976586A0FE5F289941A4DFA14455A48B1F53B203E07C1F241C1EAC4A014883A481FCD4BF91A49A6E610EA1B99935AB4A9C9AB57AF6E2BD6012906F3E0CA952B53EE6D1AD762DE9C517B2D3E90F8A54FACCAABC1A3BF339CFFB20C96128AA2144494AF89589FD7753E9BB60BC11F6A12A560826C1415E8527FE67B506524799B660D99C53A44A20FA314AC890F568D3698B5ABA1A29D840602C8021E9BF476ED08B836965D417A83140FD096BDCCA453FC1136F1664FC02EB3E43867D84BBA0E8459D82CC5F3B395BC7E72536CF389BAA8C314ACB14A1F133C6689A3FA3DF87F518C3AC1D5B833A98968B60E610130D85E5007FC0D1AF8E6C58CCA51C5AAD798415E0A87AE5D0A7B8935227084A498AD925E6C75E2DE963DD59AF4B18064870678021EE52CA9CD6BB38964A8A25EBFA96A61D74E7A3FACA580C7AE18ED361517BB60F03E0186C1D01EF4F7C3C281910E3517AB26A3131F4A517DA174AA80FA326D5217804CF098110EAE42B2C1C48794BD3C4629D038E5C46A6FB02DF7BF45A6BC95C114771C585000D8B973E72ACF8F054A1806134B293824D5AC57FA04D457ACF4F1C464D99220CAA4C407DFCD65B80B83F058E3D356E7B34DF535EA6FC518EAA3FC3E5421392BCC0FF60C21C1408C323F909935BE6D0E7B88D19358F436A48F66235C000A2541B86A294433EAF8BFD811072A83AB6EE38A09D2F514C605A25C07C381905903DB920566B1103FFAE8A32997C4DA196A047B6AD01B0C0AA7F4A95F2B63A54F0840FEEF143B78B690947232EA22CA2B4AC107A25809853FC22885100863E98371A9C5544AC166949BC53A4029146A63586FD998DE5F6F2BC1C12B7D62D5575A12C43693CD3AB9B19DDE7DC5F907293DFFCCCF303A54530A50096D253EA456FF0B71541C00021B48D61C53A38C6B5BBE9FEB33DB164BAF6A3F5BEE86F42913F615594B21A6D3FBB66C9A513A943283860902B4BD709334A5D0F5A1338D31B0086088D755862B3517432924C0CF547FB363923ED100B2CFCB4E46DDB7B19C54F5C5CC5C66FF1918AED8B107A580896F2265DA28ACEA33D46D1103A16116EBC0F55EBC78B19A38D68ED0159C47397F347B44F7AB2242FA6883BAA9F4F19D8A6BC1C5747A0FF254E67B0C7761562E2616F643D304CC2E7058299402C85C1C985C486514EBD09482D9A5342DAD1DA02ACA18E9336E00B9D49F4BE5C56ED33CA1DCC503649D29467062F208A2261DA5461D7BCD5F61E258AC0392DAA4147C6130EEBBFB24D4650CD2A7E96F588BF3476DD398371B940280C40692BA58AC8E991A2747D5A6A1EE2B43DDC6B990F844660D6C4B500AACFFA92905FF4229FABB297D52BE63567D494E7CA82769EDC89123F32C0F94E201EE6088510327935A0A9038CC1CF245AFFA06FBD5C0C6C475CBFC6DA314DCB7B59254E55E03C8279DA3131F6C377AB3265052B397F99C6D43EA491D6E30EF462B9151542380C076B54CDAF075C78AA516226F5BBF0BE0B1FD862BC830A9945069B9333E10E1E3D85CC64A87DAA4ED859BB4DB94822FFC24A4FE6C9402D41902EE74B7772DC59A1AE616F537BD87002A43D44728F1C15A9C3F26FC453F077830E97884C8E7E672C840F505DF752DDA93528A7B7C08EDB970E142659C935230A55813905565AC59256F97A44FAAEA8BAD4EECDCFBB301CB8CE0645F644C38ED90084AA11CB7671832D46DFF4FB1954C4A01928C111BA91E9FF2FCFABB2F7DD2BE43EF8E52C9B7B1EC0D7DA1918D03221F761173FA74EB90FD3634A58081147704F2418A61B03A73F49DEC15D32382A845000D76E8655B94824B4A394B091D3E7C78969402F7EDDAE883D75422753D09829402921F688381B3C21CA296424349B50B06FB601B78861FD7F7674BA297B1DB34956964BBD132498FB025112A161B4335344D7C180584B1EACFFC6C9328059B9AD4C53A065BE19D017BC99AE33756E9B30340DBE36DB6012B94F8C0FBECA414EA091F3405113D3D5BE203C35FBA2C71CCC487982805977D56DF8C415812277354234B1F2B80F49EE8B6F8767F0F65AD4D8219CA3E0FD06C2209B10FDB82817DB0BD60C4F36462131FC665A8C70C5BE2037B21330E1FD7150A674976044A6F36727BD287AF5900E40B043413374215F5A23B939A9F23A540231E9C140CD7A61ED06EF257B1D55A34670552140083418E09C4F58252889162618AAA3243D2A58F0192A0F4F100A8F464DE24F750B65DBC8B4362F01DD3B030B1D8EFC2F3D8C487A6A12F7B6DAC43FAEAC40710BDF0F620C542C53A7CA3D71B18801AC44B9F80FAF2491F17804A475C7C6CA7F7600F650D246E2C5305EC769DCF5122217CA95A4D062433392BCC110C7CD45160996C7056F098A342A361A49786B6DB05E9E30350FDBAEA4BD342292111F3B300135624ABBBB808CEFDDA99545FBFAE9C87ED2A84C120980F26026A2904EDA93D923E3600693B7DA0BABD8F9CF82092A8A214CCA21C4D40A4A59D4F42B82A22874B18B6A71661339152682A199955C342FFD01C7E4A61D0DB12584656F598A58F21E80CE1B8EDF52A63CC472944757C10F13E88B9E92E3583154A4A01AFF1468DA3E3432C4863B668A0D671CE506390D290CACC718C75042CC72060A5F7CCDFD91DE9B3DD6C7B02201BB03677940F724929AFF7975A2A889402F91DDC0CAC564D29D87EA34B6CB94929E09A00302C06008BF664CACE4194F7573EE9AB378AF4B180C4237DECEFD9B7A576DA543ECEAADFA4CE275E67E203F927D8154D2985B6A2306359755B3690EDFB6C3E800160D120C7D094C268E73EE8B9C063DEC090F4F10128063C4EABCFC2A8FBF2FFFA29AA040022A580C9C4C4C2C5D631EBB91ADBA1C13018502850EF90CACF3CF34CC55F6141314A2199F8947BE3923E21F5358AF449215A7D1D1F6C15F5FAA1AAC3B03174F967DD1FB9499DCFA6067997F82BD02BE4ACF0F7A1224929E03D002C564DD63655B9DBD2A7892689E9F41EA41418C5494AC1E4A6BA4023A418EA6D15E8307F176A9F95F358CF8AF53F23121F7A3E09B3DB00F2A9BF984EEFCEA267A01410A71D03A2981B434AC177635C764D1349D4142C8CCC48A5143468B10805489514C335CBF9FB298572D073499F44008D332AB46CDC43D9A414524064662F93522077839B150256DBD22B159000042905DA8D78AD694B913A967D10B88BBD06A7BAAB51A1B65A0AC9890F310D8CCCCF00443A83067617628A9824D034F1A149396AD7F380F757E2BC79EE983C5C132A0DE39A003046BDB6ACF67B7B247DA2BF13B34D13559C3F14BBCED621040B130110A0161301A08DF32E2641B020072905000C9402EA4EE9DE7F94628DB36ACA614E60E79248B58B9A94F810A37A080286BBB0651B28058088816C4D13306DD2C8557EB9A92DE5EB4913AB1A75FD4FA8C84F7FFAD3D5A2B285C1C4160229B94DD3190039CE32A1EE67B0E11129051AA1CC7DA337D8566BDBD00D081195E332DE6D83FB7B3830A10018326BB877089025243E8C43FDB52CF506D6859294F820933303206115EAA21C6DD4F91CD59D4FABA4327E158A158A0857A842CC1754E4E2E26295F88011885228F74EFA34FF7E280AD40A2A5965EBB0976C510A4D6E2C131FF68AC3727578303FD746E20324D4071F7C5031EF214A810E428701E4AC1962368C0A56271695B6D9C403E480ED85CD5833F1811443DB54405B43273E30F3BA4979464D2954D516DD0BAEEC8AF4299C1D50CBA0A44E6A229992BD0C1021408D510AB6C487B66D9B546232F4F7CD280576B160E4AB2F4AA1A1F757167B9A443A70BC656BAD151606C9FDFECC9B62C64CB13C631B890F6D76D1F2A54F85FECF9AF118CCACC1F60BAF97E5197D7FD7771D65DA4596ED4B9F606F9232759EBDE4A76D6543DA40228131874AC3C4C20362205B6CCF96580ECB35E729F4C2282DE4F4609402AE97510A972E5DAA1615C37E1A941C1AEC9DF4D9D19BA474002B791107792ADDA91D5208406237525D677D54B566A6048DEA0136ED071D336C510AF0F8C0BEB35807E6684C122842FA141E00D9C01303BAF861CD5046940224920E7719A5CE675355D7C4706FD2137A1455CB2805A842961B828A046F85DF8D2DCF18CB15C5491F1F80E2BF533634F75C94C263802926662A254AC1D6893404A2D458ABD8BD4C9B8AD5C91E4D170DE64D530AE2663B2905F537223CAFB265E9E3028FB5D4763932A804489BAE7097980EA53A4A01DC05C0E963DECD9B3B4A57D258B0DBAE434729D06E8C8D52B0797EF5621CF86DAA41B937D227BE3152B2A46A62A7D83E0B108152A0FBCDAC5DDE9010A5600BF61F89ACB1B46FF5BD4F5B494729B02C1080C6FCC798ED9766E51ADB953E1A24454A9B11259ACC8C9B916CAA181061D2A12E60C8B3A92237985D21C3B1A01D67F78758A31D929AFB9C186C93025B09C023A5D074133D5DFA1411EA2BA1CD88053C45610D5D2E526F45526752AC584C2ED966F05200115B93B54956EEE68801B1E6AC300FA0142E5FBE5CA949000C29F00D22466B14C5481FBFFA4A953E8ED065FD5ED9444A054165B65523A5002025D4F91CFE1613295C12514BB451D59F4F02DBD46CCAA2C0676188E3C035814A78FAE9A72BCF0F6A12128CC17CF1B5E7DB953E45E1CDBCD9011EC77BCDD49FED02E7E7E76718C989C9810AD05D1F52A214E4373645BAAD43BA615547AA9FD205AC86A12FA5F91BEAE0977BA881208B654324EF4CAC5A839AC422C34152149402D2B7705E8852009FE5817F19237DB4D11C237D7C00728127F4DE483695ACB6754D29F8BA91DA6E685DA8E2A148B92979BE29209D05A074AA8FCDA84DB5C58201701689A42BECEADD753ECA229A827D88387D594C1B320F495B595880EFBEFB6E95FC8085E9A3146EDDBA75A62C1E1E3A7AECE4ED478F36FA2B2B0F7BE5C02E7D42EAAB89F409006B9888D18A4D054A21D5C0ADBDA535397AA2E2D665C5CEC1FED29B8D74B3F19C8FBAD1A2194EE1F2DA9AA847DBF500E8FAC035C083458A959C53090923007B8CF990C71991D465CCDFD15D4A457A396FC98F7EF497CFFFF4A73F79FEE8D163833367CEBC73F19967DE7EEACC531F9C3871FAEAC2C2F17B2BAB6B33ABAB6B63933E2678B4AA2B9599973AD78D2BE929A9B42192681D37456C8BDEE2E222B88369DD995303894631DFD7E06ACA7A37790F00E239507AE11AF808DB4F54589FBDFDDE7FFF7D11E00FFB22B9D6453D1E18DDEBDB1A5B8D92AE96723CF3377FF3D7CFE0B5BA7BC6FAB973E7DFB870E1C2BB4B4B4F7D70FCF8A9EB870E1D5979B0B23AFBE8D1E33246FA982071E6107AF7944D4276049E2A043699F85559857D998075B9F039D85F040857291EA13AA9426D524AEF6E27E7298DB8BDC29D029E532D592AF54D5E8DD19CB260AA66E5B0913EF8E08335F96C29602B0564D36DD7E8AA132EFA1F7EF8E1733FFBD94F9FC37582BE9173583D7FFEE9D765BEDF5B5C5CFAE8D8B153D766660EAEDFBFFF6066BD067930057E50F8D98B27EF950DB7FEE229054CBC88FF3501472913BF21ABF88048A5526EC6346E0889430D20F3B0750D18659FAF2D90517AE2FCD835CC041924171ECF9E3D5BCA4D9D85D3F2E69B6F3E16037DB34E02E9F1BB6DF5ABD17303AF5B8EB977DE79E7F32FBD547C1ED214DEE6C99327972F5CB8F83B916AEF9F3EBD78458076A328A7CA070F56FB9B1B9B31E4FB76F05889F916D55FDD0008F6C49A3CEFC1ABB97CF9F20C6E826EDBA6ED2200856A0437444FACB69D7C1109BE3DC27144856A6FD0B4DB74CD4B1D9101AAE5C5175F9CC6233CBF575E7905F6D740D4D9AA7CEEE0B8B93580BEEE3AB1F0FAEBAF7F495EFA1240BFD5D0F2F4B58B172FBE79F6ECB9F7E5F995A3474FDE79BCBE094760AA9ACFD0AE8EC7736EACFE6415CE88985F81E7236277FD2B5FF9CA4118AF5CBD944CA60472ADCE9830145F8AD6B8C28B7D9485F99E061E0D7B766D4541D9679F7D16AF95BFF9CD6F665E7EF9E587F5A674AF682721346AE0DED421398BAFBCF2F2624DE9006883A5A533EF5DBAF4CCDB629F7D28F6D9D585A3C7EF3D5C7B0447A0798C8B4752BD6BDCCCBEACB6A3687E282EF1C702988D5FFDEA57159F8349AA6F76597FF7B81C0764327BDA0016A0DD92EF3D90EF2CC8851E51376A20EFAFCA771E59F61ECC1B5926AAB73206403AD9A09698D372AE070CE0ACC9F1482B049CBB1C1BF5351E90EFCECAE394A625641E1EC9EB3721D1575656E66EDEBC7954DE93B77A8F8A3D1A2063AF5EBD5ACA71411C810B7404C43B5F1749F6964834B1CFCE88C779F2DADCC1230F459AC111180D5422BA2FA67EE9DBDFFEF6C11FFFF8C77FF5DA6BAF9D835EFFD4A73E357C0F132A40FA77DFFFFEF7BF2393F9F7C433FC96FCFF0F647291EAFB864CF65BF547AFCA71BFD8DB01701D9149FEB280E145386372CE6F8B01FEB23C024C37EA73C473006AED85175EF827AFBEFAEA1FC16B13F53794AAB851B2087FF38B5FFCE26BB5BA2C454294F58D7D561E5E54C7E7E538BC57174D47401C8ECBE2085CE63EAE00EDA13802E2715E7C57ECE58F8E1E3B79636666EE7162D8F356999894F1B5AF7DED4F05F5FF66797979915D11D033982E3640256AF37FFEE0073FF80FF2DF13723C2507F67966EB9B03C3044BE16ED18D019AFF081CBDFAD0E778A7D82A048B6D986764E2FFB1D84D97C057C17E419F64DA59F010C598FFF87BDFFBDE197CC717F252DFA44F1940C371B6E8CAA4887AC735C9BDBDD79B9A5A7FEDD5578F8D05545FFDEA57FFF4673FFBD9BF9749DDC61023561B2122001640253AFDA39FFFFCE7FFB6BE49BD62F4A4C9DD18CE89107BF28480E85F898BBF6D6261147FE6339FA980851B80D43691CA5FFCC94F7EF22A4CD310B82C603B5983EB0B0A68CF1546C5C3AE8FE893159537FDFEFBEFFF6B1350186FBDF55615BD004F084326172BFF40C2CD2BBB001ED710B5F047A2EA77AC546C1C8B8B5FD54CAFAFBB27F3F32D79FA1FE55886EA847D56832B989D2A9F81BAFD8BFA20D030A99FB3A8CF23D9834A5CD72F5FBB76ED69D7FBBFFBDDEF8A2F7EF18B6C66BD09EB74333ECDB7D395FD0528A75DEF2152013156F51C416D40FDBD20C74D39AEE3E51A5C48B5D9880197013480F257F5A1D5E72505324AB6F35980AABE80F21BDFF8C669B0C89E89AF9247E1299E3B77EEDAE604B52C951B3B1D5870C5DB6FBF8DCFAD8BB10E6F1AEEFC0234670DAAEB35C8EEC974AED636DB60D09019ADBFF7667D7C47DDAB1386EAC4F17BBBAD3EFB0130F5EACF1C7AE59557DE3875EAD4FD2B57AECCBBBE833DB27EBF0F03F7AF8A091A624FDDF419D1F00401ACE79F7FFE372FBFFCF2CDDA969CAA1D9423B5C3B25C830B2AEE1E9C3099E2F554BB2B0036FCED1FD487569FCF5BD4E7C2AE81CA00D33C579CACC4D332697F2BA0FA92CB5B10BBEA81ACD41FBDFEFAEBBF299A64227674C894FC5ABCDCCF895AB786B02066ECB9E79EFBEBF7DE7BEFBF2BFBB0571F53B57D09701DAFC105607D5C3F7F507362AD81CBA23EFF6F7DE87B7CD1E27D3EDDCA7C19CC7559AFB243706E6AF17DBA06D6BC18AC9F9555FBC7D7AF5F3F6AFED0F9F3E76F88D7F7BF65E2D76A4E8713D77560C53809E5E5CB97FFC51B6FBCF15953AB8BD7F75840F543B1ADDEAFD5DAFDFABAD78A9DDBB49BF567566A4A857374A7FE1EBF33509A6EB08B8BE7980568BF5763A231A8A62D603A544B2DACB8F3F3F3F3970E1F3EFC0FEEDEBD7B666565057B5F0301DB7BCBCBCB2FC9FF97D504C29678AF882F21328EF79A7ED77CBD2F7373796969E92BB2682E89D7378FED190114C0F0D7376EDC78535D3749D32B9E05453275B506D32D25B91E2B9E6CBD3E364DB029DB6ADC4043FCF7670DA07DA1C6891F54B594820D70B216D50453CF10E978FDC8E9D3A7CF09C09E153BEA8648AEABF52A7B543F62A21E14EEC47EDBFFCBC49B5D46FEEE28DFD5CFB1497C5C16D1D1C5C5C5CF891DF5481C938FC57979545F378F7BB551BE61F9ED29A512A78A27555FF0BD87B5047BA88EB5FA51034C036E2FC166539F175C926A4E81C937E9E6FBE6BE77533EAA0DC9320E29573AAE7D603C1F14967D4D65A792B99FA98F69A5094AA52637D5F38D1A788FEBE3A15AC4EB96634FC026F881F47AD166538D5A33A94BB65017CEC704D654E09836C0D737A45AA940B3AE80C68340DBF080AD1827D8CAFDDA51740F3C489B5AB549420DB09EF19CD2AEEF005B4F81655D81ECB152995A126E2800166D01EC135075177C2E10960EB0F5D4FF4BCBC141306D58ECB3A1CA1D055C9F806A32815778C03630D46069011B40D538B3A3FFC92DCA6F2829125BA4D665EFF51C601B698BED1349F589D42B1D806D3CFE3FB643A658AB0180DA0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (92,1,'Rackmountable_1U_server_2D_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000090806000000FA8124DB0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000006C04944415458C3CD58694C5C5514FEDE9B81616768D897CA5AD3524A299A365245F96153B03558DAD0A47F34468DA63FD47F36D188DB1F97A45163A3266AFAA74D3556B1A5825A5A2950B0B420CC0CCB300374A1ECCB94599819CFB9CC2B03CC4C5B95A4875C786FDEB9F79EF79DEF7CF70C12804A1A3B6968E0B1C4C4C47571717105E1E1E1282C2C44424282F2086EB71BDE762FF7FF66AE2CCB080E0EC69D6CB5E3587EAD56ABC560E318E7E6E6EC2E97CB8DFBC8C6C7C7A5D6D65695C56251198DC66A8ACF16121282D0D05068349A5B747F4A22BF411AA9616161282929C1C8C8089A9B9BC502EC9892B61659EB37A0DFA0436A720ADCFCE35EF99E92242DFF60E9ADF76F093E7D25AFB516D69330383484B5D939484F4BA1A04360E8ED4341DE464C4D4FC3681E80FECA65646566C2E576F90421505CCBAFEE1417275AB9BB7EE30692D333C475C186F568BBA2C79CD586A9891181D16A992CC988D2C6DE956F8FE16F5CBF6ABE7DBF75EB56A4A5A541AFD7232828084EA7D3CC1416D1969696629A405592CB0E4C0A9587E5E48CE4E424E8743A646565617E7EDEEFC63C97D825E6F84B8AE2333333036625AFC77F1D0E07626363B166CD1AB1FFAF75BF89390971F188204562024445462C56A4CB893C22446D6D2D727373FDEEC9C64AC2FBF0BE3EC1A5047355730C54D1A2006C36DBEDF8525252445C2A950A3F9F3AED730D9BD582A7CA4A119F100F83C1406BCD63E3C65C8C8E8EE1E2C58BD8B1E349B89C2E9C3A5D03ABD57ACF04B05866111115837559A9989C9CC633FA46A4D967F059E266D455BE01476804361DFF102ABB8DDE7329168C0DA901B66DDB86B6B636FE48C3D97D8EC6DBF4F28F90839382ECA4046D62F9E711E421C03C813244D548D281F8F878D4D4D4F80D72F7EEDD181C1C447B7BBBCFE70CEC9E3D7B0400D5D5D5A8A8A8C08913270409676767854F7F7FBF48A82C2F54DCE5CE4E04AB83C475A7BE5B24868D0934363686E8E8689118CF8BF94CFEBE7DFB505F5F2F62F3655C1DC5C5C5E8EDED1540E5E5E5E1E8D1A3282F2F17F7A3A3A3E2FDA3A2A220F9AB5022514E4E36CACACA70ECD871CC52C2F65756A2A1A101376FDE44E9CE9D82FCDD3DBD5489867B570059254A363E2E96486A13C9CFB64E4243C99E4D48873D3C0A6E49A59C574BE652E51B63626252687F0D157BFBD4D454959A2ABE8E12FE9E472A79869B13CFD5C723387801743505CD6073857015646767FB0D9293C3D5C2FE817C7C81C7E4628B8C8CF4C8EF02D40F6FCE879680FFA5EE77146ECA83CD6EC7D90B8D90680EEFC3559D9ACA5531E9774FAEEA9C9C1C91447FCAE5CB946220F03CC7C0D203C4BB3F9048A22F5C68464F4F1F8C26131C14E7CC8C0513E313F49911DF7CFB9DF0EBE935222323035A6D344CA601525A15D2525388CCE374BC0C2377C383423D7444F6C52377E59EFD9A683828E1362246D4B55E3842C221B99D2BF2CFC5C139A6B55C7C4D790C1D1E1EFE5E4D1FB29E6AF92181A826B9CBE7C42B2408F680C2E030B85C690C0283E82B890AD05C25818C7D585ABD8D93C855C2C6BD082B80E451803F9B5BC4BE0CC699B3F54B8E93898909216FCBD7BB9B3DBD8DA5DFD7D1C6D5CF839586892D14C0A704B805218B8B1FC5DEBD15F8F2ABAF619DB3E2E0C1574831CF40A624BFFEDAAB628FAA773F40C9138FE16952CB2F8E1C11C97DE9C517F0E3C993D483B5E2AD370F89FDAADE791F26F3E062F2976DDCB4361511B203D3560D924D557005B9203B6385BF772FC2D8510E331532D08821ECB258DFEB68AC63071E0ADB1512C89E23807B017D5797B8DEB56B97782EF946011E8605049BE72EF415C968696911DF34B8395112C0B130E88A026CA1AA67D9ABFDA31E4F6C2F8283FCEA4901645AE7DCB973FCCD45CCB9D39E1C5B201F2698F26EDC0CA7A7A78BB894DEA2AF8F9AD08202BF73ED362BCE9F6F107E7D4693E8ABF8DC9E9C9AC2A5D64B387CF853C82A191DED1D2245BA2E1DF50A3DE27D2689C863A4147F5D6AC3471F7F220AC2D0DD2388A9D8FCBC439060607008965B73785EDB8FECE0291CBAF1101A9FED863DDA862D2F6F87EA969AE2712D2180A25E8C0115726C7E7E7E0DA3FB038DF203070E889766D6F159CFC967A6F312724818AE0D98A863500B1FAD561BB00954360BE4C341288D49201FB3D98CCCF5B9D404C6D18845874E8FD4A42451108357AFC1A8EF42021D1B4C3856276FB07CADC7F1FF970656F1319ACC487E207DC5B700578079FF8B51FC8BC7506033E8AE60F8FAD0EDBEABA8A8481CB1AC624D4D4DAC888D4C00FE2EB39FCEA30C4A78281160942EF31393921ED750E3C413948407026E352D50C5B2AC3B571B741FE6AD70F7EBFF01487DA48E8E0ED96EB7AB48C53E2785B290E2C610195CF46C9814F6A77F00C815448DD67E5BE80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (93,1,'Rackmountable_1U_server_2D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000408060000003EA039A40000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000025449444154384F95534D6F1251143D6FBE80360C018C50951602944AAA6CD898E80FE8C29D3FC03FE1CA7FD11F611ADDE9DAAE6C9A488D5D48621735501B40488076F89861609EF7BEB4845DF5246FF1E6DE7BEEB9E7DD11003EE572B9279EE7598BC522FDECF98B4000220802F0F957E8BA8E70380C29842C140A98CD3C3A3E1ABFCE850C24E45D042B304D13966529AE470F3664AF3B68B55A97EB6225E72EBE68D49E8542A120A2EB0B5F372571A1DFED5827B5E38410A295C964B4C964726A50AEBBBBBB9B393C3C1CADADAD8976E78F3E9B8EB1532A61341A2D0993C9245CD7C5783C56774DD3502E977171710122443C1E0735C48F9F67F0BC19868E43F91E7E379BC866B3F07D7FC9954AA5301C0E29CF53771E9604A97E0ED5251209D5EFE86B8D4C8DA079D9D92CE436517EBC037F3E47AFD743A9B48D83830F18919E5B63A4944A0B633074502A66F1E6CB7BBC7EF916ED7B19ACD7F6556D341A4DD2A3AFD7EBF56F6C8047851A89B059583812C6C4B952C39221CB2D60F2582C06DA92E520FC8D3127517C780BD818D773E14E5D15EFF7FBC8E7F32AB60ADBB6D5B00C16CD71EEC5FCCCB5DA87A171FC66406ECB5B55A954B0914EA978BBD3A147DBC63B32858D1722503C474FB760C8CF884D04E6377AA98FCD3A69E639DBB5BFB7B7F78A847A34E056E27E2AB8BE1A0AD330D500B74372018B5C7D495E7936EA168661C00C8564B1588473B33D67F5BAB0C9B8D53ACEE387F2FDF9F25B2412C1743A5DDE792B34C3900F37D2EA17709C6B03FF01D2B6D0345D86348999A6D12F2031E8F6ADD3EF2771CB32CFABD56AB2D1687CFC0B5F0F293615097B020000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (94,1,'Rackmountable_1U_server_2D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000070806000000F76948DA0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004E549444154484BC5565D4C936714C644A2864C5408411D08D4814E5A5A5AE97F29B4454A81524AE97FCB06969F82AD080C04E36FBC59A24061062F6676E5F5AE8C5BB2442FC8747049A2C9EEF677B16C174B6662049F9DF33A3B6DBBCC0BB75D3C79FB9DEFEB7BCEF73CCF39DF9B97979777857077FBF6ED5FEEDAB5EBABCAAAAA67B5B5D2E723F1D1CD5389E466241ADD7A8970E425226984C27F8350388DE0AB0886046283439B1F4DCF642112C995EF0D72FE433E7E86F79F393BBB457892488CFFF05F21161BFA89387D525252F2FD8E1D3BBED8B76FDFDDB2B2B23BE5E5E521E23EEF97C2C242B8DD6EA8542AD0350A0A0A502B5740A5D1A2BFBF1F5D5D5DE8E9E981C7E37963F4F6F666C1EBF562626242C0683623DC3F80F9C5457882212CA452B0BBDCD0EB0D0804026F251F63646444E4B3B6B4E084D30567AF17C3F15330353B70F49814164B0BB45A033404FE2DABAB87D57682AEF590D629DE00F590C955B0D99D6875387152AB45506F42BD6F18F2D098C85351592D786528954AF87C3E343434402E97FFCC025CADACAC447B7BFBF39D3B77FE9A9F9F8FD2D2522854C7A12401E821381C0E7476760A815E85D168C4CCCC4C569C118D4671EEDC39D8ED760C0E0E221C0E0B3199940B172EC06CB10842DCFEA0585D3EBF588B8B8BB916C462B19CFB8E8F8FC366B365C539C6FBB610D15C13AF9C97C59C9A9A82A3A3E335018C4D6DB0586D585B5BC3CACA4D2C90111E3D7A4482C5B1B1B181546A090D6ADDEBD064422F50A7388E70A49FDEB10FDF480A70FBD8BB284ADDC13B9FAE0A010E55BC971680CCFE9BCBE5DAE2FA2A2A2A56580079555515BFF433FAFDB8A8A808D5D5D550EBF4D0359A2191480489EC24766526CE9F3F2F9C9D196702E7E6E660B55A31303020546782262727C5DA442F1FF8E0435C9F9F271102482D2DC3D1DD83BD7BF7A2B5B51567CE9CC9992F914888FD32E35C03EF6B3018C4AAD168C4CA62701DD902D821AF57D13317118F8FE1646C08972E5F81B9B985D6CB3839380C5F208444721C8D662B4E8F4FC0E3F523148E62EC54125A7D23343A13A1F135016E490FE16AFD31549E5D46D9C55B4280F28AC3690168BA7CE7743A9FB6B5B5E1C081032D2CC01C0BC081DDBB77B32AA24D8C4D4DD0375BB07FFF7EF132C96452909889D9D959442291AC3893C41D40C9D0D7D797EE809744596C2F464297F785F37DD13EB1B2016A6A6A8400B9F28D8D8D61747434E73D36039B657A7A5A08CF1D100C064507B45307BF2A80C16CA71A5A71EFDE7DDCB8B1826BD7E7A91BD6111F4DE0C18387D411298A2D607D7D5D10CE9D323FBF88A5A54FB0BABA8A4E97073A6333C182BAFA86B40037DD35B8E454A0FA631924CBEF0B01CA0EFD25C09E3D7BC4346110EF4B2CC04376B9DFEF874EA783542A8599E6B38D5C68A259585B5B0B93C9241CCDA321134C08CFE0CC388F1A766BAEFFB0386612D7130A63915ADD49A27007B4BB3DA83972040A85420840AD9A05AE63686828E73D269E09CF8C87422138286FE608929173D51A23540D7A288FEB68EE9BA82BD4506B39A6CB8899C435432D629A34546A039A6D1DF49D69C769871A03760314711A4D49ED9F024804F9DBB66D834C261363B1BBBB9BBF03DFB20047E9EBFC1939E66B22FF732AF429B5F4F3E19191AD89C9A9CD009D20FE0D50376CE53A05F169A5D7EB7BEBF0F9FDFFDB29687878F447A552F5BB4472F8F1C183076F5B2C96FB64F6DB647CFD1F1901158D207B2BD20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (95,1,'Rackmountable_1U_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001208060000009390D6830000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000007CE4944415468DEED585D5094E7157E76D91F7E965F0105F989428014886D0C34281132D46933466F6CE84C653A6DAE33497AD1746C73D3192F329DCEA417F6B2D7B18DD56A07419240304204A1541058587E963F4145041616766177FB9C97FD364A58627E50603CCCE1DB6FBFF77BDFF39EF39CE79C77753E9F0F4F5A743A5D222FAF518F510F53C3B1FDE41EB59A5A49BD4CBF4F6D06A3744F0A0066B339CFEBF51EF507BD90AA7FD2CE788CBEF050BFE07A950683A1D2E572756C7B0030CB8DD1D1D187B89E045C02BF678B04EB71D83622CC401F553A1C8E5ABEEFDC1600484F4F8F25BA5FF567F9CFA8D1DB20581B2D8BD43A6187909090CAF1F171FB9602402645B29C2A595E4C356CE3603D0EDBBA3476B0DBED0D5C677953018086E97373730F08ADFBE93D67B377635B15487C36ADD7EB6B04104B4B4B55369BEDEE1301405E5E9E252C2CECA70CBE04FD08BF8ADFEA8EDF8240F252AF0B3308205A5B5BDB7CDFC2A0470640494949AA74ED5C50B2FC15AAE969166FAABD8C532F092078B2F8B8AEAE6EEE3B018013E90E1F3EBC9F94A375ED3F7C5ABBB70C98DCD42B5AEF505353630B0A006A12F5656AA8F6E5BE7DFB5E4D4B4BFB05695EB767EF5E1004782AEB6411FF666767361D98C49E919111CCCDCDB99A9B9B4FBADD6E074F16301A8DE0D5E5F178AA0400F223449EBC909393230FD0D9D9A926908139B9B9C87D7E1F066D36DE1BBE27877D833391CB858CEC15BB04886C7E10111EAEAE6EAAB5A3039648CB63B7CBA7D323253D7DE5E4C3ABB57790362DC3ED5A846F83C166329B1F696C77573B7AAD9D817B36EB888888C0BD7BF7101919091ED1DB24A271F290740F663C9C4EA70280385B06BB5C6EDC9F99C5BC731E25C5C5E8EDEDC58E1D3B3614B9C9C9C9888A8A529F6B3EF954AD5F52F412C24243515DF7195EDAFF02E668E7E7D79AE1595EC2C1A2223434342025256543EDCAC8C8504921F29F4B55CA2E91E5E565CCCC38E0722F617CC486FCFC7C242426A0BFBF1F1E8F175959CFD2E953E8EBEB43C18BFBE1F17AD1D2D20AF654DF18822E026C57F25EA424EF60662FA070AC07F14B0BA88AD983F6E2E3F0984291DE78017AFA656666E6A177131313111313A3F6D1D3D30393C9942400F80BF537B1B1B1F94486AFBEBE5E8E1689127C51A36125EB1DDCACD56AC5C2C202B2B3B3515D5D1DD4C863C78E29EA696B6B5BF3B900EDF8F1E3585C5C446565258E1C3982CB972FA3ACAC0C131313B873E78E7A5F10ABD7AF38E5CAB52684F83F7F5CFF39BCBE15E78D8E8DA9774867EABEA5A565CD35B95994979783FB5373AF25A9A9A9D2EC62606000E3E3E3282C2CC4F9F3E7955DF7EFDF4707D926333353813358A88C26338E1E7D0D151515387DFA6F2AA1DE7DF777B870E122AAAAAA71EAD42965EBC93FBC87EE6EEB3A71D7AD090B018D507B7A5A0A8686C770687614998BD3688C4CC6AD17CAE08E88426AD3250500AC2A49F4CD6C51519165E7CE9D7ADAD5C758FEC3C0C93E60A3504E95C6CF4D34778587870700603219FD1B33B2CECD2A66888B8B53E52298B0D6A86C14B00447B22B50A74299D942E9EC5E958345E6E7E703942772A0603F62A3A371E9935A941D2A56E36BAF368ACDCA2E718C0490F52E783921E004BCB2AF3583E7CF6E994BAB95B217613C51B159BE0F1E351FEDD1E33302B4B3B31B2304A773DE899327FF0807EDB2F6D8F0FEFB7F56A0EEEF1F80C512A9FC2BEC2AEF8533318445C4CEE8A84882DCC7BD3956E1E2E17E6C416F8093EAA53D21EE05FAD0A8EC58F1ED97E3246E04DE10F7B6877BB0F07EC96EB7BFA715F52871241F9A29A55AF045CDC695D39E4C2C8E96DA2193C95582B09608C2254B24B0C1440BF8EAA6450BE0E8E8A80299D82572ADB50D6666B138E5D32B57BFDC981F00B2A6ACB7DE9A124C827BDD311A93AC7E4FF4EEDDBB0A088A01746B375D12C883078A58527F82B367CFA9605654FC1257AF36A83DBFF1C6AF57E69A9CC22BA52FA3B4B41467CEFC13FA103DCA5FFF396A6BEB70BDF5BF78E7AD373145D6F9E0AFA7C972B70290D3AD5AF8EFE9CFC3ACF76062291C79556FC317E283C11DA146FB1EE84624668C6DBE7C161053E33897D9C07FF2CB5296D6E93F187C51BD3F4812AC2E6BB77A59285BEED77296265AD3B65E872A2A4C21D49A949484A1A1A1006B48F689F3B4FD3EF76C2612E2E351DFF8058A0A5E64EDF7A09174AFE31A42EBA435E59CAF5B539E7FDD188BC5A24075E3C60DECE529C8C6065882A60157EB4FBEFAAE3C77A3BDE326262727D13F308859C71C3EFCF00CA6598FADD65E9C3BF76F15EC81C141C4C6C6B0D44CA0C7D68765CEEB612F31C95EE1E6CD2E7CF4D1BF54991B1E1E0EB0A5D66F8853266EDFC602FDF3FBC49BC836CFE0B7633FC6D93FB56129C68D825F9522C46978E854E20F7A2096DC632213ECBAB8F7A29CF34F9C38A11C281DA2649F3841362A19A70F8BC0AD613BC2D97DCA1871B604E7AB4D0C020B4800D72B0166FF5C324F30914C95462A35330BA96C0C77B1B16AB9D18E8C67D214C2FB06ED18E8EE627393A0D68B2740B4D2F16DD7148610603FE8F4D5228961EBEBC7AEB49553C08F7EF01C5ADBBA147DBBDD8B1B7BE424C3188D8FF61B9CB5EB7FB8333116E8BB58FF55EC76EFDE8DA6A626894FB300208BFA3A6BEF33EC1023A6A6A66E13F50574E641699CA2D9350AED09F2D773CA461EBF048CC1C4E170ACCB441B25E21B018B965D6CAA7CDFCFEF00BAEF3C4093E9E969B26BBB622F9E086A58C2BAC9B40904F032E37C8B00B8F87F4D75DC088A013CD70000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (96,1,'Rackmountable_1U_server_3D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000090806000000823E2A7A0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003244944415448C7CD554B4F1351183DD34EA7B4D0078F022DA558021A62680D02296A88BA320DF80BDCFB335C197F040BFF8171832F5CB87041088495019306D4500985BEA6A5CF99D673871641340444C3979CDC4EEFBDE77EE77CDFDC91EAF53ACE1B92245DE730DB408430E1FFC416314FBC22DE5343E1DC1ACE6200055B3A3B3BA78560EE9BE5F36073EE6F8CFC35CEC855263E70CFBC402693D9B8500342A1507BA55289EABA2E043FE05FAE7F59DA0B30725D748730C3ED767F5C5E5EAE9ED9804824324CB142F0433EDEE61AF912093CCB392AF14E986132995E2F2E2EEE9C3080E823828140A03712997ADAD1D1D153ABD55C97A5BA9249423E97BB08E3EA34E14B369B8B2D2CBC7D62369B35625318101F1F1FF76D6F6F2391486062EA1614D90C5B4B0BCCB2DCCCFC603879271CCECB160BEC763B7653294C8E4F4065D2C57219B1F535288A62E054AEC69C62B5A285E7279249040782886F25A0AA49B89C4EC38842A100160AF1F8F7DF1B432A8BD2828E7637FA337B58F75C41D5ACA0B0F109AB2B8BE8EDEDC5C8C80876777737C5ADFDC2EBF5D6767676B21E8FC720CCA4D26877BBA1663207C86661B7D9209B4CC8F1B740219F4778741436262BCC0AF8FDF0F6F4F06C099AAEA3AA11550DA9BD3D385A5B8F71B95D2ED434ED90AB522A616870109EAE2EC86633BA39060706A0693554AA55C3C8ABC343B87FEF2EA6A7EF606C2C8C9999289C2E07AC5685B052F0410184910225723ADBEC78FC6D09796F105FAF4D62BF5004BB1BC964324B03F572B9FC4694B89FA24D2E86304090A9E934F214E8A728B141848D06F00B608CCDA832B9E63C6F5FB452A84493B2ACFE3EABA4D774A4D8116C3DF87CBEC37DA2BA823BC775473B40242D0AA0AA6A43CCCFA25AD86142A4E092E5838E0A8742E4E933E6E35B71846F843137F71C8562D168B172A582D59B7E9A3A0FA706688D6E21974B9CC73C82E28867D168F4513A9DAEF2D60C7675F7D44595648B2C8945CD1613078B677E0D8E25254C6806DF29424680D52B164BC67F9FF90A381C6DC75AD5E0E2A837CCFB139745B1C2C77655D57C8D5FA2A3F7D6A921F29024E9D8DA348BB1B2B2C4B3E4B57038EC88C5622F7F005F788241A459A8C50000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (97,1,'Rackmountable_1U_server_3D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000000E0806000000D06619120000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005914944415458C3DD575B4C5C55145DF7CE0B6686770706E8404379434948A04428C416488CCF5AE3F3C31F131BFDD6FAFA31A91F7EA8DF9AF8A33FC6C49886A68DA949A941AB69B55A2858825A19DEC3BC60068679BBF6051498D1A60AA5F5249BC3BDF79C7DF6596B9DBDCF28C964123BD914452961F708ED28ED30CD803BB7C5695FD34ED3FA88CDD84E2FA8EC040119191935AAAA3E4ADF02FA4159E74E40F75FECF5BA10C1BD9C0E854217393F71471240952B050505AD02FA9AD26BB761F3BB01F83FEDD14D7F67D60839E772B982BB4A404B4B8BC1EBF5DEBB06B858C96E83741BD70DD3FA494A5F341A3D3DC9765B08686C6CB4EA74BAFBD652CB03B4DCBB09F41D8CED4721231E8FF78D8C8C5CD95602BABABA6CB158ECE13595F7488ABF1B52C62EAE394532B4229E979777FEECD9B3E15B26A0B7B7B7824E8E8AD2D977F0957A972A73B7D75CA29DA39F3E93C9748664CCA71040ABA13DB67E5369EFE8783D2727C7DCD4D4248507FFBFA6201E8B22145AB9ADAB5E1F1D856B6E769429EA238BC582ACACAC6422913825083B796D7474767662767616434343728D44555D3DCC1C68B7EDC1E2C202586CB6E52E69B3156AFDC4F4342A6B6AD05057872B5707714F6B0BCE0F0C606EC289429B0DC160705BD6CBCECE01D587DF9DE3B0953A906132A2C45684E19F7F85CF3D034555914E95B7D254BD81EBE42189043213FC4BE12E1BCD9A235D248CC9891BF86D6C64BD8EA2A2A2024EA713AC194E1DDFB5391C8EC6E2E2620C0F0FC708B4CADC851C9A3858F07850909F0F9E0A0D942DF77DB4B7B7637C7C3C25A8EAEA6AC829E2FD19959595109FF9F4A3AA0AEA08FA0CC9864E0F9DAA83CBED462C1A837F7111A3D78650E670A0AAAA0A737373297EDBDADA100804B0B2B259C112DFA14387B0B4B484E6E666ED7B7979390C0603F6EDDB87109F138A0ABD5E872C8B15F36E2FAC997ABCFACA4B1CE7A0106AF1F4534F602918C08B2F1C4751910D636363DAF8CDA64F7917E389AAAEAA446E9605AF0D7F81F270001F3FF326A69B8FA07870007EAF1B7EBF67952C558D979595A91217AFB217F57C7792F6242DE6F3F9460854537676368C1CA0379A18A85B98A2726D29395152940424E4C9988D8DB7256DBCDFEF476E6EAE465E6D6DAD06DEEA5C15569EB00A6E7E9A64D455EDC714FB582CAEF9CACCCC446161610A01BC10109C224DD51B9BC4214D483B70E000A6A6A6B45E889058942DBA96ADF81702F8E1CA4FF0FABC888623DAD8B15F6EE0F2E5EF990D5C2828D803C16292BE44141EAF5723D4623153C1931B7088FDF9BFCB60864F678229E0834A62B6D692C5C5C571A69E52FA3111937724EA6E01922FF556AB55035FCC643422C1C045C1029AA8DDC87729BFDDD7C08A4422690B986C3E1C0E6BFDC4C4041698CEE418EA742ABC24E7C2371711A1FAFBBFF956F3252744C06B686848BB1EE384D96CC6F2F272DAA229732466E967666664C3D8BB77AFE617C9CD63F9E3110F3D783FAE32054A4DE8EE3E4CC17970ECD8310C301DD6D7D7A1A7E708DEFFE0431C7FFE399CEFBF0003896E65BA3CF9D6DBDA29DA9AB4866BEDF0C433901B7E1771454459BA8900C65521CF2218E2D62B043C2B04B02870C17A2D782140D41F49AEE650992035602BC8D20408016EEB375193F892822369419A3CAFAB34C95C9965B5A0E360AB4642775727CEF57F857C82B24A44FA8B9710F077DF649EA41D49892525251AD9D23C4CA372E2B00108B95FB8E63D78F9C41B8852A9E2F7F3537D9CB388A16B23DA7E64DFEBEF060787B0C25322F33EF9F433121BF8EBB4B3064CF3C45053283318118C334D059350A3AB712637640CA67B4D40E2DF6EB73F2ED435F3489FE071AD9E672B2D2DED319B2D3A7B717152542FC562279AD99C8922BB3DA5E60978E988FEAF4DE5E6F7B316A98A064A92A732B951BD4AFA6BA872F3CA7CF30F92012E5DFA4E0418F279BD5F52E82514E5A4DBED7EEF0FB8E8B41C4A41997D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (98,1,'Rackmountable_2U_server_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001108060000001504A42D0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000ADA4944415468DEED5A5B4F5BD9155EC7570C381868203104023164722109490993098D329924A44DD4A1D3AA52A4E93FE843A55EA4B6AAE6A56F55477DE85B34525BA9913A6A5F3AC94C47819090512F0C850C7702986BC0C660CCD5C6F8D2F56D9F6D8E8D8F99B69A4E2ACD16473E3E7B9FBDD75EEB5BDF5A6B1B251E8F93A2287544E420B5353737DFAAA8A8F891D3E924A3D1485FB4ECCD60305028140A47A3D1F88B269BDBED36CCCCCC98060606EEACADADF92D160B99CD66D875331008BCADF098B7F9FA2E5FE6F4970B0A0BE94C4323597372C8EFF389678A923E4A49F9205505DA7171B553D19352D975A3CE1127B3C54A79F976DD0D2E2FFA28168FEDBC134F9D234E596C92D61557521F649B0B3AB117247CA6EE682D0D0D4FD0DAFAC60B657CDFC23C8D0C3EA5582CA11FABD54AFBF6ED23BBDD4EF9F9F9E4F7FBEF9BF8F94D69FCAAAA2ACACBCBA3FEFE7EF1C25630484B3E2F390F55928962F47263233D7BF64C203EA994B8BE82D3FBB28DD5F633FB24D7E8ECFAA700C0E5572E88EF4FFED14937AF5EA1D9790F75F7F691818D7FA1A1812626264865B3FF5861D9DE45DFA143878412D1DA3B9E2401A06DB15894E873E60183D1209CC9BFB490343E5A535393F89C9A9A12CCCEB63E0600881D151717534B4B0B757575255F0055C42251B1F9E1E161FAF2B973C43442353535343D3D9D717128A8810DD2D7D7472B2B2B19C7949494506D6D2D793C1E3106C0EBE9E9A1E3C78FD3C2C28258E3C08103545050C00C9020A691F171321A8CC4344B3D7DFDB4BCB22A9E8F8F8E92ABBA9A161717E9F4E9D334CADFF51A140000638D4C0DEBD5D5D5D1F2F232316D0A197B7B7BC57E979696C8C72C585E5E2EBC47EB04DA36373B41466BCE2E7A53F44853D1E146057F8A0E592ABA741A0987A8B8A8942C569BD0553A884F9C384141766C0E59D8430C0008A2F3D2A54BC2C8393909E14D26930040D2B01C3B56575705A2C012004CA686F7E0890E8743DC676AB9B9B9E293639010047109866B648601456D6C6C50241251B79AD869F941CE474C469AF37AE8688D8B7C8B4BF4C9C020296C08C885356D369BAE5C685008E64F578C6C72EF589FE9517C0760CE9F3F4F851C0EB14EE660B5D31C45C55459FBD28EF19454A3C97B4513F6141504393956AAAEACA08DCD4D96D3CE400CD09CC7AB61A69DF730BF6250E85BAFDFA2D9E773AC531BCDCD7BE951FB435A5F4D84A258DA3E610F30251C6E6464043A0BC2422149BF30EEE4E4640A00E4D216F66C2800868162B4D4A26DE170588CB1AAE3333520F0D3275809099657020284B1589C37EAA180CA00508E94CB22FA63BA736D6D6D25584D670CE4DA2B4C69DC29E3E37DF67CAA751D49EA4D1B56F6BADFC7CC72A4FA30AD3203E2593927E1601B09102D63282AD5AF73DEE1AAAEA220EF6DC9BF4C8505EC406B9B3BE148B3068C0E96C4FEA12FBEB6018077F8FA367FF90A06B227423B06284A3080B2C3009D9D9D095AE6E7DBDBDB59150D00E98D91CF31178022C3000C097A868722046819004A810CC293790332F1433F7216280A00C82617D8662FD9D107864298823C9595952224200440690801D918A08019A6F648F58ED176793AA5B1C30E9D9B4D6601F87C6658DC47D980475DD53AECA1241D24C19671AA282FA36101184392F1B40060DD6E30EDE701E41C7EEF3103FFC2C45F7ECD9D4D18CC8901B47A8F8DF7750900296C2E0B05FA2C2A2A125E0E65EAB54DA6302CA83746F6018930382E006668682839667D7D5DA05526E2470E1F263BCB303337CFE1E0207B9A9D3C0B3ECA67AA74B05C084B980F06CCC64E487E0050BD8631D005F210C80350210CC806B09E397346A7BA888BBDFCE6CE9D2C254FC6F287FEADD1595E8B72CE6630D9540688A594AABCEF47FCF9557E6E607D738E1FEC3069E3A325E16166697C5C32D9B1D87285727D4C330F1EB6EFDA7E5C73F79C95A0C4E229CFD3EA019A999FD73C4C1D2BADEE9E9AE6B86F227B11D1DFB81A90ADEDC9473B1E07406E8529CCDEFAE7FBF7939364320F2A07D193650C0046E9D54BDA98698EB939B9B68C26325BED9F6B0560B4A455241A00B0E3D51890F93130A45D930050633B9EDE90F11F9F0695B7829B1B7498CB33786E1494A3A465B7C9EF8A7E88D41B9336570E2773927D4654EF73718870B0B7777DD24B8D67EB29C872F40E0E519099A28AD921C8AC2310FF59C9C5F76019A32151623DE3AA24E3B9C492276B1EF2DF36C852B4DF4936AB89ED65A6EAB9492A8C84A8C35947533567C9E6F790637A584D026329ACCB0C5E0B06D4CA97C20018C44657B40C605491126205E37E83155E5F5F2F4A22BD864C1C80D22B03B14E696969C2E3B8DC42BCC558540EF8445E80FC00F3787D8992CDC8090F924F113ED8E3A32ABAD7D8F39D1C12BABBBB0535EBAD8986BC02FD7A49281810210EFD1887F5B14FC885CA00B901E6807C53B3B39929783B4C6FBCD1C2B94219B9DD13621EE80B55C5A3C71D74EBE6D744DCFEF0C307E4F17AF5CB3C1DAA47684AE8D841F67C1BDD1C68A763C1257A5A7B8146AF7D874AFBFF2A0000EF8FC55319000E9D1E024DAC5058A240CD01C4E6524280E62818753BC6E024491BAFD31B0E7210C3519BEB1D9DA21E456B6D6D150AC23900EA7459C6E1B002F7D22B03AC48001009CC56782B496F5BCC0448D0E411A7DE9A68274F9E14FD7A636068D4FEB36C5C8CC1F8B6B636BA7DFBB600349241E437D09192A53AC8E74AC0E92C13655C38BC4D3852C70B28D58A8A0AF9334F94950BBE45FDA0AEE84D6FF8544C815C40CB00D0396C870B3A643054B013368301BE07DAC70631482A32FD1CC0C8F7D24B516F2321D4A33A200C1E8CCC3C5B462EEBEEF4832434C910B20C2CF952319745653432364E050CC08422260423402E59E3675B135E0CC5039C999ADE7EA4E2B0F764F9A65306A27F9EEB7103CB373D332BAA179CAF2C07020CE2759A9A9E1163E63C0B0CF88BB4BF643F8D8FB929CCCC71ECD84B1C42FCD4D5DD43AFBD7A59543A0FDB1F332385744F2B7F55794E9CD2060233F4F23B6F9261CB28883D128DEC2A0325080000AE6E1ADC6EB700C0BA0C0130BA0480360904384C7C3FCF74ADD68FC278F0063DE3824AB3350900180DF7D2F0636363C99C0420928A1E1819E5B83B214AC0A7FD034960606338DC80DC9900955EE7671B0300C81216748FFD0150B20C849C2803B33100E471711978E34633BDFFC107E4F5FAA8A5E575EAEDEDA3C9C9596ABA789199AD88196E468CBB7AF5357AEFBD7B0228DFFC460B757EFC3179B9BAB972E5B258679CF73C32EADE95AF6C70FD1F8F6ED35BA5DD74DAE6A7374B6AE88F6F8D52C98332AAFDE5298A30A0E499861ADAC57C12006A12B8993C08921E74EDDA35712A87EF12042100C09860042851860BBD06E3EDF52B22C640D988FFA8E3E199D2F8DA78277390FA932798010ED2FB6D0FE9E2F9060180D68E8FC401153C1B9BC3A670E979B24A7D7BFE1E0130619EC1C14161F0714DC2071911B274A997D7FEEDEF7E4FEFBEFB27CE55425C3945E809CB098FC4A1CD4F7EFA33C10E2B9CBB74B3A7DFBDFB0791D042A76DADEDB4CD7AC149E00F7EF8631106565656D3E4530FC65683E2FA3E35263A58C4A61B2E8D7EB7534089B08C636E846FAF3771BAC855DD2A667B85AFC7A74E9D325DBF7E5D9C16CD738906630310C050DC9243EB4CB3E15030E3F9F467D9425B417256562550CCA08AA8871BF80E632DCC3D27B3E97FFF937584E3EBFE83CE17F6D7403858D7DFDBC5B906405F5656267E6B010890BFB18DFDEC786715F517B49F33326EB95CAE7CCE7A37987A1D9C8055802EE50F375FB4FFBFFF0718181830329B2BA8FDD9E07F615BAF7268C3F70833F97DB6F5DD7F0118336FDF065B83970000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (99,1,'Rackmountable_2U_server_2D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000090806000000823E2A7A0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000045C494441544889AD564B6F234510FEC6E3F13B7EC776486CC74908DEAC91580E1C3088135710E2C6910B97BDF03FF8139C3821AD38C18A0BEC0AA4C8EC82C812F348A2654362C7AFB1E33CFC983155E599C964C5296C49EDE9AEAEEEAAFAEAD156007C40E39D743AFDD26B775EFFF0E572D93C3F3F8790A2C8C7035C5B3B4B17CFDEF16A1A3C1EE704F8AE99CCACDF19AED3CCB56BBA2581502888D84244D1F5E1B1614C0DBC00AA6DFF98DADDDD7D108BC5469148E45BB6FBE9C6C64661381CA2DD6EE38DB7DE868F98E170085EAFD739E8F3F930994C609A26D93C83AAAAC29B4EA7B2E6793295C293FAEFA8BE59C5F0EC0C9D5E0FC7CF9E22120A89BCFB2EC330E42E2685400C91CC783C96BBFC7E3F32990C1EEF3CC1CA4A1E8DA3364E5A27503C0A6E4A9A57C3D9E9297EDBF909ABABAB28168BE876BBCFD8436D7373133B3B3B080402989151FAA08F743A858B8B0BE70236880E08084C0C0EF3188046A381B5B535E17BC851C5C35124902813DA2727C86C6D8101B629994CCAFAF2F2D2B92B97CB4900745DC7FAFABA00A6B8322EB394C5626E497836DF9E7B49369BCD88BE7F8E8EE7FBB207DC79B522C1B8FFF537E8F7BAD7FCE9F7FB0603F025A17EF7F0F0F032954A05F8F080906272476D341A5156841D0038826C78ABD592F5DEDE9E38E1A1F353CAD6090D4555D0E97424B22C3BB3D29DD71C711B00E6F3382343392BF6F7F7C9A12CDCF14EC516B09C4E5825A7581F4564D8F1B05F8341C1C8256396F3F3D3C3BE8EF1648C30959361CEABA8D96CF6E89320B0BF60006A344C4DD39AC160B0C80EA417B3386A34AFEA9B3E1D8A8C83BC65DAA39F7F9917BF18A2A0D9EE50DC15D4FFFC4B9419868995D5125A9DAE2B7D15F406A757CE5993DAA3C7CE7C303CC309DFA55E95E0D17147C6FF21D39803403D6A40BEC429C075AF1501CA5CB5480048030B06FD585E5ABA96B6D43024DDEDA831150A05290B8EAE5D12350265EB954DAA7F5DE427C301E2B19893394CD480A439DA3C5552382B3CCE2C2EC525D2FFC376CD3993498671BB725BF47709D05BB7CAB877EF2B0C0683FF74565135948A797CFAEB7D7CF2D167F01C5250F6FF903DEA4145F693F53200EF3293D39B0150C99176B381FCF23212898493B6BCCF19F07C2D73FD734A572A154961E705A0733CE7FDCCE2A29C7703C0BA6C30598E01E6353BC40D4A1AA4AB06FC24CFAF82EA51496E043F81545A5F432C1AA3C7C3448F002FD1B9EF1F3CA4949F4A09FA033E7C972B20D07E08CFE908BA55021C2CF6856C7A9F018830831B213BEB2563B80C7AD4C139127694B80744A351695236B1C17C113B50AFD7118FC71D00B804BC94C2175654E539B4C064E758A7FBAE4502899B2E95A2F493E77BC080CAA6D3D5498640EAF7D1A62CE012E317634401504997467363A6CCFB0F75E29E3EC438A1C1EBDBA5128C90DE3900E57259F4932E8375BC57AD563F2747556A4C0B8552C9981082D3C9E4466F4E301432C3144D9BDAAD96429EDFE8AE48346AA612F117F63FA0D93CF6D7B6B793F4C2FD9DCFE7670707071FFF0B03F81B516ED0EAC10000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (100,1,'Rackmountable_2U_server_2D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000000D080600000056F26BBC0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000007AD4944415458C3DD58DD4F9BE715FFBDFE026C838D6DB03160189040E8C2BA10604BB44AC95D7A9B49BB9AB6FD0F93AAF66237BBE85D276D95A66D379DB6BFA09BBA2A8502216BEA8A90002906433E20293136C6181B9B4F7BE7F7D8AF8B3FA276D294497DA447F6FBBC8FCF39CFEF9CDF39E7B106A057E635999A4CDCB871E33DA7CB650D7406F05D1C9A9CD260301CA7D399C4ABD299CB9D6A5F0483F69D9DF8F6E3C78F6F59AD56C8CC9F9E9E7E44D08332474D26138C46230E0F0F61329B317AF527FC25ECD6866F109FAFF1ED9B47267B08B7B7159E6617A2F138BA3B3BB0FAF80992DB5134363615C07A99EC7CF5D7B2BD3536EF26F7E0F6B5C12467ECE9ECC4FC62F895393DB2B981F0F2A2FAEEF7FB515F5F8FBABA3AB133FFA549D6029A84C5CD9B37B1BABA8AB9B93958C40199FD344E8E0ED1D71DC0DADA1A9A9A9A201E2B13DCD0D0404F222E00568E9696169C9C9C28878A22B58FCFADADAD6A4E4C4DC3214077053A90125D2D6EB772403C1A85D7E35146EEECEC54C9F5C8BB542AA5E442A7AD0CB3D84CB951F9BDD3E94432995432686320104028B48C4CAE3C44B6B69E43339AFF2BF6943D573E55BCCF9F9E080E7E64B399D25A474707868686100C06898B830EC872F1E8E8A8B4C962B140CB1784BE78F1421D8887C96432650AE8C5B6B636ECEEEED6046A6F6F4FC9DADEDEC6F9F3E761B7DB914814982F690074BCB5BE0146F9DE28EFF8BC537C4F300962E5708BA3D4BE0AE790BDDDDDDD2A58464747313E3E8E9191111C1C1C089173C2836A7EBA3C6EB477F71671D38A00577E42E9B358CCF08A4D16B3499C7F84CDC8965AD7DFAB33C9E7C8A5D715565F096E13B76E2902E6CE042EF732809A9B9B79862C1DB02E9EE812230DE170581D84C0D22AB3286544110C52A7D6686C6C54D15D398E8F8F8BE920AF00E03365E9CA35013D268E999D5F50E9E1CEE72A22E41006C5A8BEBEBE9A72C922060481ADF58E834CA52C3A89FA5C2E9702395F9E9BD0D6EAC5A5A18B2F01BEFCB3CE5207B7CB09A66AEAF149FAD48A51AF7FD276B7DB059BD8CD337B5CCDD88EA758034A3A19203D3D3D949195005B348951D704DCB4006F4DA7D32B42D901462DBDA9194CD88A7D05AFD7AB28CEF5724A6A2A922BD7F50827D0CF9E3D53914F26E9239BCD2AF91E317668F002EECECEE1EAC8658CDF9E81CD6EC393274F541417F364954EEAABA5937B79B8A5A525C5CC4824525A5728E673657B93BB093C98FDA23AD5543CE98E78D926EDCCB7826D66A4F7F79116E71702E26BBD82F17DC1E67549A1FB1B1B1B374D7AC41030195139B4728066D0506FB3C123852BB21D57F36CF5D38A6A9756C267CA5DBEE621B433C9933B561E3D8259C0358BCCF1DB77D4FAADE9DBEAD3E9F60838394C4C4F9715DB4A19B52A6E28BC5A636FBEC40A7FA0BB4CDEF1A91191ADC4ABE882CE06A655825D2343384C3A75B928F30D3DBA8C422716E10BE7FA14DDF59CFDED0B56EDBDEDEDED4AD6FD8545381D4D18BB740933927EAE5DFD313E9E9C86557407029DAAC8FE2FF431FDD824909642A1AA3DF1E873B1C72FB52DAB1CE49046635398DAD6E6432A9D56E9EBDB0D493D2D3E4969CD78E3E15D244CF5F8DDCFDF456B2808F7DA039C161D40FD624B3FD37CBE486D9D01798242CAEBD3209B72F283F9F979554099FBCEA611BD585FB9720553535355263187B3284E4E4E626060401554D60BA685C1C14149692695FB3F9F9D9596348BE0BDFB0A847078053E9F57A5908585852AB9C3C3C378FAF46955E745D963636398999951C57756E4D26E82C80E8EF5249B2B97E5743AF0CEDB6F49F7B7A6EC7BF3CD1BF8FD1FDEC7AF7EF90BDCBB770F1FFCF5EF159947ABC9F02C0354B0723A1AF1834C0C9B163B6203A3B0479F2907E845981813474EE22FE9BECB245EF9931867E32281D719C07E392F6BEC8E48179FCFA70A74ADC823D07A013CDB21E9D4E71EBE67F43B1C8E521EB14B64FEE8F2654C7DF61946867F884FA60A69888C6327C1EEAC963E36046C2F6B3180CCE16F2983CD030BF6CB4656EE223377FE8DC44E4205C1871FFE13EB1BCF31F1E924222FB670F1E24504E47E7237388BB1D161099E2D85BC4F6AE2D4F41DC1466F850D25997FEB780D59CD84EF7FF46B58A307C514942B398018724A50B44890FE960C381290343A80C5562F72269311A706A36A3D59487B7B7B6B761E3C301554BE2BD24CA500CAA043E416A81C4A59C48BBFD914469C1C9F482E8E16BA203192ACEBEFEFAFA98FB2686BAD77ECB478FF60DB4BBDEBEBEBCA3E3A82E7CAE7CB294016764850D0B6DDDD24BED7D38DD0CA0A3AC5F14C10FB5248072EF4E3E9FA06FAC4663622C71248FDE7CF61EEFE3CB60460AD58677272C788EF24F1D3D6086227F5F8C7CFC2F07ED281FA98AFC400DADDD5D5A5B029064C8A0E88303AD9B793B252990B29C86496426C44B3CBADA22DB4BC8C7DC98B555124401C48F4543280FD7C42EE07499995E9625B9E1342797FA343A506DA6234166A8CC7D302ABCD8A15698953728FA8ECDED95DD0499577128E07E23882C6F656B78183797D6F2F05B7BFBDBC6BD2CCF8E39F3F283D8F7F3A5328E6CB8FAAD6BE0CAD96D6FEF5F14429F7D33E9BDD09DEF122B124DEC7A07AF3DA6F7ABE66A7412B5D16798F61BAE459E50C51BE3927F32FD7AF5FBFB0B9B99911CA764ADB68F4B5F9F39232F2F88E8DFFC77F410F1F2E36ACADAE3688EE5D61E4A26480A6582CB62417D8B7FE033EAB94C73C3AAB540000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (101,1,'Rackmountable_2U_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001B0806000000B49F874B0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C734944415468DEED5AD96F53E9153FD7761C92D8D91767213B6423EC8C580299A9466CEDB442B4A5A8EA88B60F7DA85051FF813E55AA2AF5B5D2487DA944A70CEA3C66921060A001025918200359200981ECB663C776F092D8E9F97DBED7B9497C0D688064683EE9CBF5F5FDEEFDCE3DE7777E6771A48585055AED214952061F7EC8F3139E47789AE9FD1B4E9E977836F06C62BD4FAD05A1A4D502407C7C7C652814FAB16CF47D3CF56FE2B96B01D0AF30423C3B59D606BD5EDF30373777776195047F6700602F37984CA6837CFC44367AF96ABCF01A05C804CBD5C8BA69301A8D2D76BBDDF55E00202D2D2D953DFD986C701C53D7BA97AE01D9E61808ADCC8E5F81216C365BEFF70A00E53C82C1A0F0727E363CDEF03E51F92AC83588BC018030180CD78686867C6B0A006C607D4D4DCD3E1650A1F6AAFF632A7FDBB2BDE07905A182F386AF9E3C79F27C550050575767F6FBFD47F85E78F971FE2A73DD53DFBD6C0C846E763C54150D9B376F6EBB78F162F0AD01E0C081034548E0743A1D8CFE217F655C37C29A92CDC1F735B37D1AD8399B3A3B3B6DDF09006C6CE9F0E1C31FC8B40EA36F5D37C2F746B6109BAF1D492400D1D2D2F2CD6B01E0DCB973BF3399CD7FE76B3A5A1F2FF7229EB3B3B3343F3FBF3600A2FACC0939BD78F122303438F8F3D6D6D6FBAA4B5EB6EF2464FF19CFDFA337A35C494D4D2D4C4A4ACA4B349969C79E3DC4285AB7728C51BAB180869F8D9367D6BBA6E4F278DCD4D97E8BDC2E2758633E2E2E2E949090402693098D380F83F63394687F4088C70DBC80B8D420A7D329A6D168A4C46433E5E4E6D3D3BE1EB2E4E64687D977C268ECE19C71516E513115E4E50AEA1B9B98A42D95153461B592D56667B97A2927275BF6430DF7D43E7D05DF5E798A83D53E4D0525A5E23C60992797FB05CDB8DC6B0A00838F1FD18C735A39359495950996E2C491CC66733ADBFA470040A11CF3E9F4E9D33432324257AF5E25051001AF4F5CE3B283F6ECDA458D8D8D545D5DFD460484303E9F0F6814CFDFB06183A0ACD2D252620612606C6C6E0EF7174A8A851C139353B4313F9FF43ABD00009EB1B5B6966EDCB8811EC41B910B3278BDDE1572151616821D49AFD753435373D47BA726476855D387851065645AC81067247FC0BFE492C562A16DDBB6515353936075D667320020786BFFFEFDE26515BA87B20100C55BDD2E174D4F4F0B0540E9F7EEDD8BBA3F28E6D4A9536293898989A86B4A4A4AA8BEBE9E7A7BC34DAEEDDBB7D3F9F3E7E9E4C99334333343369B0D718B7299712007465B4757D8388CDE3B9D5DE4E6988B3133E3A4C9C949B12F0C0520688D3367CE88EB5C3F47BD0E051D3D7A543801D6ECDDBB57C875E2C40972BBDD422E8C8C8C0CCD3DF40CDACC82A245C260F9A5C5CC3AEA67E51D45F84D490E3F8741E6F3F9C9CB0E8285CAEAF0D2C5CFB5EC8C53561B6566A4916DDA41FD3D0F2914088533C1E0D2AA10801E1D1DA52D5BB6D0D0D090C8030C727381B2B3B3C96EB70B10A8C381328C7CB38B41004F800163253C780636C9CC8CDE1E80A1B4C083893D40536AE51CF860371919D597AEFF97F6EDD9450E06CACDF64ED2493A2117D6171414887DB50612B58A8A0ACDFDB5721DB011260CAFC8A3154A4CA624DA545A12891552F88F7C2A2D31E6F2CF29661395B16E9DFC6E90311098A3A1E1618AAC9268C967C85B515ECAF714325802946C36936D6294EC538E300042C115EF8FB08E1C406600010004AE69567A3A5EAEA3A32302803003C800E01B1D0E87303C848B0500853EB5D6783C9EA8DF231CC09810147BA819E0EB9B6D02F1A1D002355CBE1A2985249D24E402005E26175825965C185C4347BD0F32839DD2D3D3C30C2045878099955BCE00503C757159F4CF6A8024252452765606832D91E219EC3EA670835E17D94B5AA400F159C72C91929A42699CA705E68334C2DE9DCA2098B63A650084D4653D3D7CF850302FBE6767EF673B3D0500D0D4F99C95720A8BF865AD7CCC82F703000A420100E4064545458219B4BC48A953B13ED61A7839908864F3D6AD5B545C5C4C8F1E3D12DF2BFB0100F0708CBDBB765222B3C395D61B74E4A37A7232506E77DE15F2B5B7B78BD0A4B0488CDE86A0D697C98E6700286D6D6DE27D7B7A7A22CA0410B097A471EFACC745C303FD4BB246695902B9EC24725DE2777DF4ADB48465822A23AE4C51257ADC23516262220519D488F993E3A311908482A125ECC68EF58C8F85909381DE3D3636F653039FA0692014CF86856B5CE0E3598501145A844AF77049881877930D16523C50258C12981E747F2B64501B4212316FF18DDB65A6116BF81AD0EC0F0422CF048B600DF28EA4F40C7AFAFC39253360301EF5F59357F6D464F680B2F2322127D68762286C607050C8116BCD83EE6E219324BF771C03714EC5184196B1EBEE5DC152A9510046BA04BA77BF6755B3FFB838E38A1000FDB08DEFF2B100FD1D0564067546CE06C7F961C5F8F074656146760E0558E9414655C0ED89E2650BB24157B845F820A9AA3FE5BBE565E102ADF83E8EBD11639CB37F4C8C67A3638BF139398566BDE11FC8DCB32F5616980B919657E4FC55D6C4ECC0F1BB24C860D452FE5A18CB4300B3DA2106800ECEAE38B6414DC9F297158AF131F5BA3000E6D8F81F1DAC131932623545C960A39DC7BAA6B5369FCBBCB4B43471FDB25C92220464A4A751E395AFE9E3437514E044F31AE7054696B9FEC37AEAEFEF5FC1386F5A2E94990932201BB8CA893626C78644F882EE900C2BE110FA1525258716309E5A87AF5B3AE71694516A720225256EA0030F6FD346BF9B3EDB7294EED4FF8252877B29FFEEE5A80CC0896C3A42A03A075AC20058A4183F1202F4E1FFD4B259ADD4D5D52592A443870E89CF5A03B5262852ABDCC23E283B315A5B5B69F7EEDDF4F8F163116FADBC0F681FB11675B7628C5E7E561A97484075D783EE487C1BE0EF377108C07D5BB76E15CFD11A75757502285353D1FF1D2F2525856A6B6B4552897269D3A64DE23DABAAAA448534CC19392A0D93F0FEE82081827F7DE653DAB97327DDBE7D47BCCBF1E3C7581703D4D8D44C9FFEEA9702109FFFFB02F5F5F5BF7643CAED7645AA0DB329812ABD0EAAF2DAE99FCC3CF6F21D64F07965879E5FC100D03BE4533B8A812FE0FFF1360200B808E114E38B2A403600A20332745CC73A64C25AC9163642A2858C59CBE3201CD641A9070F1E244E48282F2F2FD2CC8101D4B98585CB54CCE19151AAE435D8FB5647A7A80294F234D69E0A259A394BD6AA0214EF067851F3A3A41CE4BC01600523619F8565B94F346359AD76EAEDEBE3AAC14536FB74F8B37386EF77F3F386448239CBE14AD2E95FBD0B19D1DDD25275222E9112437334C7DE9E34F59CE2DDF608A32F6700D84D010083B8C662B1FC160C70147D2025044038750800038413C438D10C416DAFD0483018D42CB7E0250139A9D32AB71485471B4A0F422787203CD3E7F789F86C656F54AA038009724116C81E6B4F2496A2BBA9B146E981680DB976265547262AB80DA27C9644A28CDE05408CF2157B4377006230B840C78E1EA65C8B851E338BF9FD01AAA9A9263B03EF4E47171DFEF807625DF3A52B34ED706A86A7AB85C5D4AE9B23EFFC1095DD3B4B46077ED23189AA40CD00CB0190939353C92CBB29D2085233803A0460E261C8FE479E0D8BD805054A31E218E81B0C112BCEC1A00000BC1E6000FD625F256C449A32F20B4F4C59F91EAF50AA8D6955A7944A7CEC630F533A812FDB132089B506B2284C82F5AC2811121002F0DE0801B11800F298CD262A2F2B137D8379AECFCBCA4AF9DD9E71B99644164B0E999393E99BFB0F44E306FD79FBB48341EC11F700E1494926CACBCF1309656A5A173966DC2B18C0E5F25070CE4FBF491DA4CA7827FD31AB986E9E7D4A99372C54F28F4A06736091AD5826E82799F7550000FD3240163B81F020D4B7478E1C110A95AB02A1304F605E3040565696B8110F58DE298CE62DB1AECBB5A810AA9B4B2F3C6F79CE0010E9E5FD6A2A365371E1466A68B942B55595EC5971D472BD955F2C914012A88595FE41AC320F0A78995CB80E63A32F01EA1F1818885C470EB163C70EED30C33A3FFFAF0BF4C5C5FFC82C19A26BD7AF0B06C033FFF2D7BFC9CEE3A7CECE2EDEEB0B3656D85B2FB5B488F56022D80020F32D6B4C290CE0F2F8C4FC336D0F5F78C665FA9962559F657E892DD053412E8310A8B4E8593E0F9E8627B4575757C71D3F7E5CF4E7C7C7C78522E195A88175094934CB34EB9BF5BCF35206CAC82D2CD2CCCCADE363A47BCDDFF8DEC86F2EBC65A625FCEB682D83B3AF7F784DFD1A080074B45D63D0F905A00100FC8887041DC0E69CCBC6B6DE2AFE218495FB27F6A09F301D99396B9D65C3A773ACDF082A0405221B5E1FB173030E2B21AD9CE8ED0E49CD5E4B3C012CD2D7D70BF9244E60EF71AED427E778214E74BFE4B0F6E5FF0096DF6932D3A411F00000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (102,1,'Rackmountable_2U_server_3D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000D080600000019AF686C0000000473424954080808087C0864880000000970485973000006EB000006EB014C319E4A0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004F34944415448C7BD56C94E1C57143D55D55DD513DD0D1863D3130D6150D4812C9CC491831728B2A278915DF6F98248F989ECF20D59253F900576A46C2C2CCB468A9C01128C8DC76E30F43C0FD59D735F0F40821C01B65FEBAA5EF5ABBAEFDC73CFBDAFB44EA783D30E4DD3DEE7E573DA75DA659A8EB73352B41BB415DACF8C2173EA184E42C0850B17BCAD56EB53BE739DC14BE0A1936C7616B25FE1AB4DBBCBFB15C33056D2E9F43DCEDBAF8D8077381C0EC775099AB75769D619C0BED1D1DB27C3E4DC6CB7DB2BA669DE5C5F5F4F9D88804422610E0D0D5DA5139565AECFBE21A06FCBDF7D5187AEEB2BCD6673756D6DAD7984005A80165B5858885DFEF8CA8F2E97E5A6CB412DBF56A8A770A6E93A8A852298D1336FC4609B996C2E7D7BF5D637954A251F0804FE14026EB8DDEE6B94B97AEDD2954FE06009D92DFB441B99960B2E970B8552198B8B0BA854AB28144BD84B25D19692EC65497B55B0BD55D3B2404CC8168B0887C2D849EEA3566F9C311D1AAAE5327EBF7F075438464747C19E71CBE0CA77CBCBCBDE5AAD86423E8FD1736328F31A09B3BF11B893C488C52727D1B66DE8C428F77E3A999D9941301080E974223C3181D0C58B48EEEC62825701DC6C34F0E4D14344C361B6AA035FD148847E34458ADC7B3D1EBC9748283F721FA2AF7068022F9229F8FD7E948A15640B69685C6B9304B18E26D6D5AA4650FEA01F5E9F07D57A1D3034A51C8DD744E25DF8867CD8D94932BE1C76775E204C3C8B8B8BC8E572868304FC4ABB964AA5E02110C942B5565575E5F3F98E70383C3C8C52A9D43F028FD45F5FA23AC194C8748D409A760B7992799C2FCA8FCFEA47EAB86F7D5FDA21B97CF4E10798999BEFAA44EBEEAF7E9C339318191966BE3AC8E472BDB5EE33E7CE8DA2DEA8A3C0FF33FBFBCA573299B4498051AD566F0B013F10881C6DDB24605A400D115C8E813684CD2E3AA4E9408664B53F0A0CB42C849003C9969440932A110997590206F91D3B3F8E3C4B810D48F99100D3D99C0A7EE09FA354A932D34535DF7DB907CB65C13ED4DC36FF7A80ADCD87479AD77F583ABEEEBBB8ED36DAAD563F794F788993E89F1CBDEC5191DAB428403774981D27DC94A3D9CB90C849F50802B24DB32B5F0EAFD70B93EC1BCA1C4A210F1E3F8687E06B2E37DF69C2B24C38E9D36958035F22757E4FF0EA18F8929A77994EB5078F2FFA1AC1C6D6D62010CB34108FC5506F329B6C8AB16814ABABB799DDC6B1210B9E48F822BEFCFB0EBEFDEC6BE8BBCFD07AB8A9D618CB942480A6090197442A128C8070380C64B3194CC6A252235D5952923EAECB5CFEB30FBE11B0B1B1A1E6F3F373A0A4540D0B0879D6D074E43259D51BFAA523BE82C1A0BA2F534176171022EC0BFB94A8F88F31502155D70E4A646C6C14F1A938A4576532194CC5E378FEECB9524A17579EB51DC2FDDFFE5025D46AB5A9480B298F0F8EDA2EB46649F5B01E014A8154ECB2EC1091CD2418518053B50590842CB367F5B26B2809CBBA31C8B8813A25DCAFD7CDCD4D66A6A01C9332D8D23099F962A9A8E6B269FFBD06B376D857BF8F0821928CEDED6D45D06175572B7515BC9C2ED25F1A54903F10C4D4D434C98B6282A7C5ECDC1C1C4E134D39C188A3C0E6D90933D8E02FD0CD47C4DA256086CD5BF030E95ED9E28BA5A5A5EF294983D21B0AC7263B224FBB572F271D16FB80F750C3CB66D2A7FEF0717BBC38CF2696CF975A2451C3FF1EA48386AAFDFB5199EEBDDCC5BDBB77F4F1F1F1642814AA3E7DFAF4AB7F0006A06197FF9D49440000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (103,1,'Rackmountable_2U_server_3D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000140806000000722B38EF0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000008A24944415458C3DD58694F5CD7197EEF2CEC0CC3306CC38ECDE6921817221C5CC98B9CAAB1122995257FAB3FB9DFFAA5ADD4FE80F41F245FD2AA52D5F8075495653BB1094B6D43B065C0363B44ACC336181818186086E9F39CB9339E8DD4B10CB67BA45777EE3DF7BEE73DCFBB3CEF192D1008C8610E4DD3CA70F904F229E41C2459DEDEB10F7908B909B9057914386480B4D7AD1F801B5253534FE3FA097413F8F75EF6DBC30E8657184B90DBD8CBCDEDEDED6F61DFEA5BE9809C9C1C8BD168FCA51EE59720F63785D8213AD10FE98233981937979696FADEA8036A6A6A2A7D3EDFA77A79390B31BFC391FE2AB639E98CFDFDFD9B66B3F9EED8D898FB501D70E5CA15E3C8C8488B5E5A087CDD3B02D451ACB907B9CFCCA04306305E8B03CE9F3F6FDDDDDDFD1541C7EDC710DB3B0ED4518D693A0376DCDADADA6AEDEFEFF7BCB403AE5DBB76666767E733C8599498537864FA7F8B7444A9F8FDFEA35A73D7603074994CA6D6F4F4F47F5DBF7EFD699403204D908BFA6F397BEEDCE7E91999C6E355556F3A8A0E65209B25252949569EAF1ED99A086479D8D32D9E4DCFD6D4D4E4AD8C8C0C8133D8E1DE26E87D90932929299204C3DC6EB7C05BD2D4F20B868AD8AC164136C84F0D8A80C47F60C0E6CD5883C3BDB1298E92527114E4CBCC9C53AA8E5548FFB341595D5A106B5696325A8F89B0C617111AFFECA061349A204671ADB8C45E582426FCAE2C2991FEA7A347E600E7ECA48C8F0669A1BCBC5CE14C9B100CC32C2FF94811B97CF9B20C0E0E4A6F6FAF7A61CBB32901BF4FCA8B1DB2E8F1081D043E88526CB15894CCCECEC62D5A81850822FA67759F9696A61C999999290E87435ADB3BE168A364A4A7EBCE31A8EBE2FCBC38F2F3250B4E48A4B7ACAC4C5C2E97783CD16595F6555454A86FF2F2F264797959701E11EEAD04800F0D0FCBF67EB4AE79E794184C49D1F520D2ED313FE29F076FB4988F43D3FEBD3DC9CB2FC2BEBDE1B7737373A5A1A141BABBBB59EAD2E980ADE2E262D9DCDC54C672D0015A305F05FDAEDA1C0164ED8C8A68BC8F33802C2C2CC401C5CD5327751130826EB55A558605BFD5241973F61C9BA08D935C5C591E363736540DA663998989F4D2897466ECB0DBEDD2D7D7A736C860BA78F162C2F74223BFB0508A2B8E0541D4247CD52250D48213CAD62247A1DAF31E0271767E419F7FE1040D734D0DEFA3BCA4C9F4CC9CDCBDF30D8258E2F8861830C0565757B7B9C321005B4CDC878686546A242727AB854D58747171510A61283D47A0621D4030B2B3B30FDCE41EA28020307BE6E6E6640300135C1ABBB0B42CEB0FBA65DBEB95F6072A22944E3AF4F8F1E307EAA5D3139128338E3A98750C16060F37CB8CD012906B01CADFA9F7DF4B087EAC131848D9D62C31031F1F74E7E6DAC3CE095D5962F3F37259DF65CFE7177BB64D965DEBB21F612BCE0B52057E05269EF5F5F5EF4DFCBBA0A8A8680DC09BD132F523D21B5406D001009C9B09DD27EA16123D57E98745091441CF474979FEFC79788E3A8DC8805C7B8E34FCEC84743D7A2C673E68923B9D9D6241643063421B8B058DC0C60642A43D3820CAD4D49494969686D744A405ED0C4467B01BCF7B7BBE8F61E90425276E4A8B2B5BF1EF6B20DD0DDDE6170EF07ABD0F11644D0896ED999999AB263D4A037AF9F1106C0A4B44524AAA6458508B9DF34A448B27C581A161F95FD6446248158323A3928C526272ADC89D8EFFA8E7DFB477A86BA6351B69EB97BBDFB51DA84312ACC869EA3D689E8E2B2C2B8F9AF382D29C0B2B874EC2FE88D28D40B021D8B5D09F7C263D5A037C0839137280110ED9F5EEC889DA1A554274D67EE9450F7A977C43673FEAED130BCAD7874D3F97CEAE6E39FBE169B9DB794F5250F72BABAB54C97A1DEBD96C3661DBF70C9C108879C7B5382D959515E02A0F30F0A1E4D964727252113DCA033267ED6557177B5E219A079B7CD4DF292BE654F9CB6FBF9482A7F72477E46138036823CAD3316219E25353A8761214D6FE90180D46415AA8AE88F598243C8F0E2572D0512D2D2DD2DEDE1E6712BF61CBD5DADA2A757575AA16932FA6A7A7A5BEBE5E39D40D3EE879DC070ED891C7CF06C487C81F1B1F036117A23E17C893274FE2F43636362A905656A22397BA9B9B9BA5A3A3435D7B7A7AA4B6B656710E6B720AF614DB0559916D7FFCC3EF657C7C42017EE9D2C7F2C5175FCAD5ABBF51FBFEC73FAFC7E552223793C308AEC59221D5DE5571EEEFC96A45BD58674682D9A77300316663A107B3065EAD31E1FA15C0CDE604810F6700EE03E8A11989ACE704841F268ABC72BDE58C1CD415AACB5C98F3E01A45C0A18DB0056D6E3C256DF7EE4BE3C993720765480BD649D579315B12ADC78E8ADD50A20C20E9875A6692EF8F35085E64F6FD075DE08A55D9022FFDFBC60D999A7122A03A657E61511A4E36804B4AA4ABBB474E377F80670B3A7917485B5B87B233B8174358E7D7A5F5E2C57DFDEDDF49DA822F8A03880331A40007FE63FC2766C03601A60368305FA203CCE8D1F7F12209136421D5D5D571BDB74E2A0ADC4473245F1231C85DE91C1D1D5500313B8817BF7562A33EFF3E887745157A7647FDFDFD8A4C13E96444938413CD8540278913F8898909B51EDBD320A147A70081A08D3CACADBBD7A5B8A85872EC36D51DEDA124D1EEF2F23264E50482A1081C1E80AD381B9595AAACF278B68200838158529657D6E4D7398BE2F2A7C88DCF7E90BC5687A42CE72303F472038C19ACBCEA01A3DAD025024823B969960846AF0146F94D663CCF95CC2C8B8C61333428760CE280137242E4604479202C3D6BEEE87F6A37703E585B774B4166962A6D34851BE3A01DE978C68353A2F598EE0C9250F4458E3E388E01E3D2CBD3BABEEE22DA5196981C477446698624F9DBDFBF0EDF7FD7765F5D47467E887B36343CFEE2C36FDB7405C18A90916195FD00CE4C2EB77C25B5EA59DDE7E511EB0433848113E2243A00FB5BE4DEF9A7CF5F2F5CB870C2E9746EE180508AF43014143A028548F5B77968AFF811F82D800CF225D212EEAA0201ED272CAEFDD84B83030386D1D111CD6C36EDE2707AAFB2B2D2822C1D5C5B5BFBF37F01103B11E0852899F30000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (104,1,'Rackmountable_3U_server_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001A08060000007FC354EE0000000473424954080808087C086488000000097048597300000DD800000DD80134E635620000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000010604944415468DEED5B597014D715BD3D335A663423A10D098C36242101B204D8C16C8E0B30C5661BB0534E1595CF98AA7CE52B3FCE5F3E525970AA9C54C555CEB76D6C134C3902AB401BAB598C168440129BF67D43BB66244DEEB9D36FD4234DB74CC50E7CF8B91A754FBFD77DDFBBE79EBBBCB64644597C1CE7239AF4161D1D1D9B9191B1232F2F8F366FDE4C3FB5A59BD7EBA5D9D9D9E74EAEA6A626BA7BF72E7575755D1C1E1EEE888C8C2487C3419AA68D8D8E8EFE56E33EA7F838126E303AEFD8B99BE2962DFB49C3166D6D6E36B5B575535FFFD07325D7D8E813BA71FD1279A7A7E53A2A2A8A3C1E0FC5C6C6524C4C0C7574749C74E80C10EC1011114163636372CD28A19EEE6E1A1BE76B9F979C4E97E1F1FE2505F02FF9837587B9393F4D4C7B2979C50A4A4A88A718570CB5B4B7537666064DF1A43ABABAA9FDF1434A58163F3F480BFF64CDF2BDDF6F90F1B2B7AF9FD273727539E768DAEBA389C9A9E70A00ADAD2D41E52B7DAAC36EB703049900C072D561DFBE7D4263C5C5C5728D4E5EEF34C5908726C6C7A9A8B090EAEAEA28353595FCFEF0DAB4D96C32CEE7F3990A86FBE8373939298B07A699999911F0819ED2D3D305A968A77559B233330504AD1D1D94BEEA0596CB2700F031F5AEC9CDA17BF7EEC9B81FA2616E900DB2E01C7FB12ECB972FA7C4C44491F35C6959D8B1FDFD5DCFD615B0BCB171F16CAC6E9A9C180FB975F0E0419917DC0240C0F34806004453CB98E60B0A0AE8F2E5CB218AC203ED0E3B3D7CF89076ECD8412BD81A070606A8B7B737ECFBB3B2B2E895575EA113274E98CA88FBE807A0E19950FE77DF7D47DBB66DA3A9A9297AF4E811AD5FBF5E165AD3EDAEAAEE0E45F135145275BB4E8013A0B9516A6E6E1659E3E3E3E9FCF9F3A6EF7DEBADB798AADBA8BABA3AEC7DA7D349EFBCF38EC850525242870F1FA693274FD29E3D7B64E1A6D99A3A3B3B89E32353D2B0DB6D949A991DB8AD69F3DD340ACEC5780E45182D3491413E33E3A30847044D31B827262682DC13E8AA8FD4FFC9CB592D379CD1D1343CFC841A9B1A69B0BB47C7C25C886CD0DB962D5BE8F1E3C7F22E5ECB3900C08B9BB88160018B6EB4E4C0A41C62A55800043B6BD6AC113F12AE7100297F8B8A8A687C7CDC9425C2353C531DB03AE302BD5CF82225B1F59D61CBFBD98622710FE597AFC8E49F3C792272272727537E7EBE290000B455AB568932CD5A38E6826B8C8B8B13D0A9FB662EC5C5205A93BD5A57B2AE30030A8CCA0BF99DCF3DEE184A5D9E22F7A378BDC1720F5859C1918B404494C7ECE7724533D5FBA8DBD547E3ECF7877BFA02AE690100308F9E9E1ECAC9C9112063BA410670B95CE2FBD58243F9F300B0070763019492C335588F02821900541F45B78A328150201EEF018084017479BEBD55A5504BA5172F87F8658C83821468A70D7ECFD8F06C800440306B0007C06E6C781EDE01F0E31D0106080F81185EC7DCECACA0DCDA3C120C4A0C9A7C902944419111949494441A5817EE97E5B4D9B4D0BE0BCE633D6E7273403747015735363C44756A6DE742DD3464C23C60609C15E05A0030AD021974C00D33009C3D7B965E7BED35530B9E0FDEE62CFB2885676767536363A35CC30581FA556CD1D2D22248D5F405D8F8620165A6ADA2FF9C2BA557B76C2607B3D2F90B17653114A51D3A7448E434F3C1CA9F2B7631931D078072E5CA15F1FB9051C98579E19E19038C8F8DD2B7172F2C8A1CB5303F685641A9B674E0AA30E876BB456600FCC9F07010340BE3344EFB0460F85D372601007A0DF3A249AE87604A293D902FF2A4F9DCC9C8DEBA6D3BCD32AAAA6B6A2D23E68A0B172C451F6141BA7B7AAC5318668F56F6D73E6F80721B1F3CA461A67A586F55EDED2038E3380348635AC7842A9778EF2833DC038E65AC5A754DCD62A58A1F9E6FD76FDCE060AF9F62E21317BB0B573CF5F68FFC9F23BFD0F4339A03C0853100D6E7FEFDFB025E008059788E75EE0700F6F1F13123E8B0EE2731CAA6180064230C10ED624A6265CCF89E2E955A3205B31E11C53E55E89BA9B9B9AD3DA048712D813E00E6B42F40E9535EDF5364784F2F9571882BC66DCA32DF2745FE5F9AA6D9E43DAC410ED01D96D98C110070BD6030FCCE4C5FC9D71F39F8A20F370DB45DC77F8B822E409F7444849DF6BEFEBA44EB6601E00FD572737385CAD18ABF29090495EBD6B26F5D4DC5EC02B6BCB489A3DE28FAA6BC92397B96F6ECDA29598A0A607FACB672E5CAE0DCCDD2C0DECE664A4C8A97BE838383CC1403321FA4D30F98C5B25767B13139F9FC81C4144FDB108325A7A473B6104B29C989B4F14639ED1A6DA78FB377D03F7FF311B97B9AA9E0DF1F2E0A02750074F2DF95BA2B9C649770D261F4CBBC8030A172BE5934CF0081D6C63E1991238224E4C266A914948054EAD2A54BA83485ED835412B1049E87B46CC3860D545A5A2ABF610C1607EF40BDC1A63BBABA8646610014802E5DBB1E74019DDC1FB50904B0081C8D69ECC2B67BF76E897190ED846B00DDFEFDFB453117D89D6CDFBE9DAE5DBB469B366D12CAC758F859C8655AE3E0F91F3E74988E1D7B8F4E9F3E4D55BC4EBF7FFF7D99D79FFFF2573AF6DEAF65BEC73FF81B9595557C6FC60906A97047BC2670CB88FE5D733E8A9B9DA60856B63726967CCE7966320681BA91D7F2DF54064030407318831FBE0913DAAC942F051B2DD037921707E916808254CAAAD88105C43E0294680612D50F68C4C20F0D0D49308371F0F3C1544D07402E5B4E21B3C099F3651C10AEE7E8D74325CC009A9E06E22F02498CB76A292929A6B2E319B887B5400683CC08568C8C060129AC4FC9A599B916BE51555D43C78F7F40439C97D7DF6DA00FFFFE0F796E5B7B1715179FA18A8A4AAAAFBF27D906D6C2C72E0CF7A399D5A4AA38ED9535B1D961B5D31412CBB13E8CB5835A57124DDB23A8538BA2B4EBDF50D4E880C107843200AF753AFFD5B0E62A485F08009CBE1454BE6DFE65111191B2D0508E12DC2ADF566565B34552851C339A8302500D540CD0DCDA267E7B92FD586DFD5D8A65B0A8681672A1B60D99219BD9B3038B1C6D990558A5882AD20EB801CDD4680B0AD6D3EE5DBBA8AAAA4AEA15070EECA7FEBE3EBAFFE0916CAEA567A43390A6188C5BE9D5575FA51B1C543E7CDC4CBF7CF717C2689F7CF625FDEAE8BBC2349F7D7E9201551B12BB18E397B8543F2539E728D23E40732FFE81FCDD1C335567E92E2094019C4E6706AF91669C63880BD0951D6D640005B648CE512128AC1ABF5B2D141408F02CB598B078E4EF7003B030502CA8162D212121C4D2A2A22225E7C5BB972726B10F4CA0AEDE3E5912F87F00EEC08103964A04E3E09D5672A99234CACAA84780EDC04E60022557C0584C525CBED7D6D6C16B7593FA07FAA9A5B555CEF1DC81814106C143A9A2F6B0ECD32C0FEEF5F4F4B28B6DA79B7C0E8B1FE47E4D4DF7D96D603DFAA4DC1D5C5B04E1FCF2F1B149CE92BA28966CE4F523B063B7E065839DB1190820940118FC6E6D81E08E85B9BB51F9B014F588085E609467418BF0DDB03AB386E760AC559FF6F67629B0A08FEA87DC3F987A3103C0C24187681E8EBA535396537413330B833126C62576E0E2BF19E99B648250142CD42CB8527B0D130BD23A631BE63C5AED0140468CD1AB66819883CF313F54E962C28CF7C4255255CD1D3954FBECF3AF82E7FF39732E34A5BC399F767E72E254F0FCABAF4B0CAC3FCF586E4FBCBCDF37EBA7A19149BA44A974693C109364FD2B39240330BA0EAC0FC6A92CC02C0690C92BE54BA0A5A3282E214922D9519E78CDBD863071CAFCD9C0E8B8E1C58BA3195C0D311D9A66623A4A87D80A9C7AD4DDD1DD4D1D25DDC19A000EF1E92FA4B1D54CC89EC5959B372DFD7FD700FBC7478F96EEB344431FBB23BC7B9B650BF5FFC89B41E33EAFC57EAA9F5CEEB8E0F9C29D40E854B94E01009F604F33092E4059AE9105A00C50C9606F37ADCECAA2290E82045D6172CD906BFFBC408BFB28D4F943B681FD86EF102448E11FDA3B3BC89D174BF11CE0AD5A914AF59C0DACCE4CA7A8C828AA6F6CA2FEEE2E618600E2FD4F577578CA52805A44B46E06E4B23041AE777294F2F3D748B008DA57BB9A7021C63D8E3E8E09E04E314F181FEEA34AA75C1518109B5BAA8287714EBD260237897B4A99B846814731D40C03C466772CAA03045CBAA6CAEF1E3E4F8234C7F8D8A15C80028072071AFF855FC376F00A0E4A6A6A6AA8B0B05084326B981868D66CD305EF40C4AE5C0026831A35C6E1B9F0D3F0B5F85B5A562E63B0159CC97EB98153448FDB23F5EF40BCE1A5F4B4346A6868A0CCCC4CCBDC5A05885631008244F4815C7077781E7EC318C887D230AECDEA0036BB4DE6037930FF9D3B77CA3C917AA21E80CD2A3C1BD7482F116B6037B3BEBE9E7671E00890DCBE7D5BDC0F7621A10304930872B16187741763B1738B523AE2148CC5AE2A4080386366DA2F73581803281780C631D7CF19087F0200A68C31007C9E9101500940C5090C01D46211714040B3B66EDD3A29299BF581F2B110B02204440014F2EEA3478F4AB50A8B8DDF010065718F5B5AD92A2624656A696B2797333A9817E33D90090B70C1A21CBC77EF5EB11028C74CF96FBCF1C6A2ED608C834C502416DC6A3B5845E85BB76E9531089C917ABEF9E69B125FA03E82F9E2D99823EA160002AE51AAC55E3DAEA1E0DADA5AB17AD42F2013F626A074EC79C0603016358523478E48208D9A452C07D51A458ABE16328002017EC77AF1F564703BD8CC05E0989B9BE5C02B92464646A41F10AEE82AAC8F62B680A5586DBB9A058FB03A8051157A54D08A2A60417E1E9D65CBCBCFCDA6384F2CC7053DC1ED604C08168AA8DDAA3E016520587C9AED601805A81C722986D196F88A08FDD43858AF62125C2363C135948B6BCC15EBAA3675F4A29CDCC318E3B330468D457FFC0EA0E11D0183B105D3EC857B01C620507705923378150340F9C853A15C6326303B3B17B47A5090A244B303F48F495AF5013854D089FE78177E431510478FBE59A4E985A87B1C107EF975318D4F4CD2D59BB7A8A4A2323011FE0FCC04D7A100A476FC161EB0602C9CD97D1CC6AD6AF5A127E44286827453C965A57FACD1175F7C21160D36846CF84006CF83C5C2CA4F9D3A256B0A36A8ACACA4B2B232A990E2431954106FDDBA25A931E4FDF4D34F852DD117A9329E8D8667A1348F0F6B904E833584F60500B3C17A08D619C0077BCC1B9614BD64377052014059AD0A181400FCD35E29043DE245C08BD46EA15945CD68C1567500A0176082CFC3C44179C696C6BE5D6D07E76465D2CB454554525E416BD7E44A4C70A6B45C56BC95736D3494A021AF591C0079AD8A40AA0F64471106BE173E1A8054748AB5B1DA0EC66E298088AF8F14B8F12C50BCBA866211AF2870A1E4ACBE5750AE4AF50500DE7EFBEDE035E4C13E83EABF71E346798EFA060231913DCA19520C83CC304818B65B2FA0E93A18C56ADC0A9CCFD920B87A907205F8D0D1C939F864B4938A366E927B25E7CE9B07D47C72FBCE9D25E9FEF2D5AB61D34363ABA8BC4083438394E18913F0210618663774A3BA46BEBCC124131293283323532659CEAC60D59E8C8C52D3FD07967D6E55552F29FBB7D7AE4BB0156E3BD8668BA03BF58DF4AC1A94EB71DA65C3C9E18890CFCB944B806B5686C92CE563F0550000D7F968E000651DE805340F8A86A5072A7E3E4A60D478DCEE6732A194556906058E904BFF1A699665C4794E5EFE33912B69C5CA90D8055FF320307539D3E8B968312E0601BBEAB10000E0BA9061805561E41C80B632006E687A4050C893F81DD38D064AE6146C1953F24150F4DAB56B256AFFA959B7E7F17F0CC1975257996901000EE0EBD8B0FB54359495FF4736FAB2FF02016DF271B63E300E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (105,1,'Rackmountable_3U_server_2D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000D080600000019AF686C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005E14944415448C7DD57EB6E1B45183D7BB3E3C4CEDDCEC5491C071AA55442912A5AA5EA1314FA0408F11AF0048887E02580FE8350FA07012DADDA5012C581D23A899D38BEDF2FBB7C67ECD9AC442504FC414CB559CFECDCCEF9CE77666A00F84C9E1DC330AC546AFDCABB77DF736DDBC17FA544226368D45BE7DD5EB7F76FE7EA76BBC637BB5FC54F8E8F9F45A3D1662C167B6848FBD9FCFC7CDCB66DE4F3796CBF7303F1996958A605CBB6FCC1A661C0F53CBF6EC0506FD77521E4213C1646381C46367F869D9B37502A57D1EDF590F9E53962B1281CE7AF49EDF7FBB02C0BB63C13D128B2B91C526BEB289C57709ACFC1F3DC7F0CDEB66C346A353CDF7B84A5A5254C4F4FC334CD5736B15CBF7E1D878787088542AA73F1E202EBEBEB28168BFE049B9B9BC864320A30CBD4D414262626D444EC272462666606AF727921C48427FF640199AB80E4F2124E4F4FFDB9161717D1E974502A95549DA06FDDBA85A3A323F484B4542AA508CB172EFC31D31294791947B215FDF2D2BF6DCBC44A7259D55F658FF941FDE6D7B7B63665AD2EEEEFEEA2521EE291E8E3EAD5ABC4EC90808E2791E5C28CA0259B2E9CE5B1B5B5A53AEA32180C3037378756AB355484F48B44220A3CC1E4245A1C6F0A782ED8EBF51509B57A1D35619EAC730E96B1B131455650155C9F0AE05EA84412AB508ECAFCCC24D616E323F58DFE1A43224C21301A76547B323177D9473E5A70E198123051E1CB51F0741005438704ECCAF341369B55002D91CAC27212BF8F98D493956BF53FC9EA7C14419D128C9827A9F3F2F818AD765B4561752D85BA90D690BA5F02CAF2E70AB695CBC85231E6650AE6F225F5FC9D42328D0089DE0838D5B8BDBD8D6AB5FA94047C2D4CBC2F1D9F4A0A6C9B22A7881D5279DB0E6C9AE430926224AACE746154197D46966A88C7E3F8EEC747B8B29146FEFC0C34D35AE10C8BD25EAF5F12C8F4E13C4135ADADAD7143FEDC4C931F1E3FBE5C7F2A82DBB777707E5E40A3D114856EE28B2FEF89F2F2AF056F9836B636DFC4870FEFE193BB1F21278A745F64F467FE78439ECFED9124C4E38C452E4CB32B968A4824E20A942E939393AADE6834FC4D8F8F8F2B39B12D9D4E2B508649B314A63D43190FE5BC924CAAF1BAD03B985E24D4CFF19197300DFCB9249D7C13937421A1A15058FA0C94EC57C5206FDEDC41B55655A46CA4D771FFDB07A854AA92520349311BDFAFAEC2ED3DC0442D84F6C844056BCCE0B147C3D50B0878458021C018511D695D1841820EB673B304C1F6FDFD7DCCCECE8E72CCC3C01D80FBA7044910C9D31E40D5D007749DA5D96CFA86C8B9A8B8A0EB5F144BD83FC80CC1F57B68CBA99897138729CB3DF43A3D1C874E649EB6026F4AFA9CE48BE24B53302B35849A61B52F45A66D2F70CFEA3715A98E3131301260C9EFC9995995DF5EE0D87B5DDE9E05DA386141C6B882FAE434A73CA0D96A23B1B42CF9DF41B3DD856F28AFF193F2FE01020E87B210DE1F5C12D06A36B0B7F74C19270DF3A270AEDEB56A4588EC2B2272F913457874624C2973D06B63BFEFC0E93A30C5983D77E093CC7E12800809B8C3469F00F9D8ACD7B0BAB2E2478525914828A675DEB22F8FABB2181695C0BC968B059EECFD8C447C1E858B229C9083DF0EAA985E1E7AC5D0898672673DE801947DA15050A4333DB8DE4F4F9F057C230657805239B426A61FF7C7BA5614DFBCCFE8BBC9D0081D353F4F257D8F2146B6C94974873AE8B0F3C2C28202C5DCEACA44649AB2D50F0710A4AE73129532329669A1EF10ECC734F2D4E5C944B95256FD098A9BE6C3BE94B8AE73F3F48851542E8FDFA0834B3AF09B313AE3099260F5F14D32B90EDF9A1C7A0DDFDACBDC910274AA0AC6361550D68B3357790FB09C104A958A02A9D3A02FF2E6373F9252B272DC69E73ECC1C292072658523E3D8774C36C6B682A40A41EBF3B7278A21C1CDC029F3EB8B17EA6244F20EE452C64D139C2ED5EAD047EA8DB6DA537FD0F18FB96E8FBFA54FAD29C45B720BADC93C8EF84645021A1253AF4AFF819F5F541BF725E36B6CB97BEDDAB54F45C6DD747AE3EDE564D28B4D4E7AFFC7FF0B640E0FC79F3C7E34250ACB6E6C6CB872427DFC074BDF049A3BA6FE770000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (106,1,'Rackmountable_3U_server_2D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000140806000000722B38EF0000000473424954080808087C086488000000097048597300000A6200000A620151756B480000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B874944415458C3ED59596C94D715662780596C30C61B36061BB3789F7D5F3C8B67C6C68C773336366631061BB3DA8077309B6BB0C9F290B45486B411286955A4F25A21A552D53E943CA42FAD5AF5A595DA8854695A454DC9E9F98E9961E667680B813C547DF8F4DFB9FF72EE3DDF3DDF39F7CE9C3973E6B430EE87919E9EFE379D4E47C3232334323AFA3F87515C47461EF5F79FFEFC9B845EAFFF323B7BC3C3B973E77E909090F0417272F2FB4949492EF6F99C5F30281AF3E7CF279DC5467A86D668FAAFA1311A9F86213E6C1E2F7976EC8CC05B1D94ABD6647EC63BA658186711772CA659E8A2806F9407AA68477D039DEAEB278BC3FF8DA1A0584BEC78F1EDC2850B29252585B66CD9423939391F82803FE246414101959595C9438B172FA622959A545A2D1D3C78906A6A6AA8ADADEDB9D1D2D242BB76ED926B6B6B2B757676D2E0E0200D0D0D919A1DD2D4D64E139393146C6CA6ABD7A6C817AC25B5464B070E1CA0A6A6A617B2093B61ECDEBD9B7A7A7A687878985AF8B7CD531143405199819DA379A5B0387C94B5212FB2B84B4B4BA9B8B898B66EDD4A797979BF05017F003B98744949893CB46CD9322A2C2DA38DB9B9E27C3811B2A40426190A85E2DE8393BD5E2F1D3D7A944CBC024F9E3C495D5D5DE2249600898E8A9D3574E0F061AAE0D5DF7DECB844415A5A1A555757CB73F1BE8B71624CCA7ED8C077713D73E68CF41D3972843A3A3A6411B5B5B73F454099CE4CAEEA06817B67E32C828DE4093691B70668A68A5A6017F9EB43D4DAD943ED5DBDD4D4D14581FA160A34B45065432B553602BBA9AA6937F50D8F53FFE8381D3F3BCA2AE2143B19EB732204A8D56ADAB76F1F6DDBB68D366FDEFC3B10F0FB8C8C0C0A0683A452A9E4A1952B570A015BB76D17276235363636CA33D1D8B3678F3858D90F9C3A754ADE3D71E244C439009C82AB8EA5A6A639445726AF52556D3D5D9C98900848E7B1B85C2E19647D7D3DD5D5D5C500241E66D294FDC0C0C040C41608C0157D1803C66A757B6308F006AAE9E4D0393A050C9F67E7CDA27F645C707AF482E0CCD8451ABD7C95BE73EB3D9AF9FE1DB90E9CBF4C83E3C0151ABA004CD0F0C5099A79EF0EFDE0EE3D7AEBC60C5505EBC54E7A667684008C0B8A806B7E7EFEAF41C06F323333A9AAAA4A58C143AB57AFA62226A088C3851305D5D6D6D2CE9D3BC531D140DFB163C79EEA070E1D3A24C4011E8F4708C4CA8653E11883C54A9575F5347CEE3C05D8F1172E5FA1404D1D65F058601F1150595929EF46A3B9B959BEADEC0730161001F2FC7EBF442E7EC3F9E8B3BA3D3104F82BABA97F60884E0B869F6070641643A37486719631303C4697262669FCD2048F75820646C60483A3E768280A63E317E95B53D7795EE354C9390D7652D3B36222A0A1A141160AE7815F81809F73E5F3E58E1D3B2441200123491495A92471E919CE7297C0EE740A1CE5E58272B79BBC3E3FB75D02A7EB092AB8DFE3ADA07297FB09D849809FC9D69BADE467C79F387D46A4E8C88993224520DDC8D1E1ADF03191EE88ED303C1C553E7FE0A97EC01FA8149BCA7ED8B6391C64F5C44680C1ECE271BC3AE0FBB0B32E353342C09A356B64517204FC333B3BFB6310B09409F80B5633B73F4702E6DF545CA626A3D54E1E76C40BC1F7042049093D4700341F3900D5CFA1DEA34C4490B44CB88B9D08B8A351F1EFE1F90F309A2DE4F00562085069CD54AA327C6DA8342632DB7D1C75D5D46CB2D06EAEC48A43DDA4AED9237652D6A54708E0FCFA05229313F1278B162DDA0E025E4B4D4DFD9465E611B77F84049C959545255C054186201D66B3997C3EDF533213080484CD781284F7003C83E882F42037A0128A48106BFF24573F01BE4282AAEB1B29376FB3BC8777904394C03D2C16657F053B19B20529C5042141904E8CAFAFAF4F2A2265122E2E29A3A9E9EB34C1F9A7BBBB87666EDEA4504B2BBDF9E65B74E1C24552A9B502B540C7155A7C6C2F2C2193D52BC9FEFDFC14BA9FBB8A5EBBFD31A55EBA2D769253D22204B0D37FC685CB578585859FC0F742C0DAB56B41C057DCFE0912F0C68D1BA954A31139B05AADA2C5D052E5A4E1505437F11C059D86B3E104683F1267741236F21E0312748D1DB0A3AE81AE4E4D53EDAE10A571F48134542FF1741E5510AA2F653F0840E5152F092337A00A524A5051898A376763BCE91CA5B63D1D34C905410397C4E7CF8FD3D98141D21BAD64B1394967B090D9EAE028B2B13C5AC98A3EBD3982C26255848073255B69AA388F32C6666873CFB8D85993BC2E42002BCC879C8441C09F230470D2FB142B94DBFF4002E4F248F6002A9E043F28138443E04825506363452AFB91F4A20940BBBBBB5B56221C63B6D9457AF6741E14290AB10370451504D2C3F6407E34B0CA41AEB21FC04A8F2600D50F9E05F9F89EB20A2A55E9E8F6ED3B74EBDD77696878941E7CF411F5F41EA3BB77EFD28D1BDF8DE9BB77EF1EBDFDCEB7699C23E3970F1ED0BEFD07C960B20B8A4A3442C0FEFDFBE98D603ECDD46EA2B41F6653DE44A1D859BD262542C0F2E5CBFF8E39C410909898F810A1BD60C10249C0D82468747AD2B16EF23D9914261196956880005426CA7E381C2B0F5102594004A17E07212851CD763BF938F94E4D4F53B08937625353B231CBCACEA6A54B974AE582724DF95D4CF2F8F1E371C782EF223AC236610B6D8C2F5E1554505446CDA15681DDE9A1FD9D5D1C9976DEB4B57324EC8AEA73506B5B07D5739FCBEBA703DCA73358A9A44C27000192D42D6E0ABA9D54E776903A64275D4DB9F427AE4E16E763BF85248CB96DDFBEFD4F110258761E422B972C59220918AB5EFBF8B840CF49057AFDD2619D8D003F979EB8A212C215A49B383A5E36F4BC88944958A3B7915A677D65C0F7616755E26A2160DEBC79C4724F7BF7EE45C91F21C0C361F11912D78A152B240163BB8C01E35CA59257928993B0C1608840FFBCD01B582BF1AE514A453F6BBC466F14E78FB0DE22179CBF78499CA366E94099697738A5740CC31E85E87E9B7D16568EA8787071A90C7BB06FF7FA6277C25CE9215210E1884E48AD93CB6CB47175F3BB685B2C16C94B681B79078F0201B20B5F20C2207F2854701FB9C866B3495BAD9E8D8C15AB92840028CCBA75EB241A0B0A0A1EB2DC9783809B0879843BF41F0958C309D8C4460B4B4AC9CE93807118C140A3814A0372A0EC0790902009900618C40E163A1CCE010EAECDB1EAFBCE0EF20E98F701C74FC8EFCCF5EB45AE202570821290206C6494FD70567F7FBF4CBCB7B7571C8384DDCEC9175218AF0AD21B4C224FC839B80FC786AB29547D20076DF80036D186A3F10EC68779C26F500F381DF761175520DA46560FD859BE223172100785813C8348CEB5B740C0DBA8FDF102F41F0918CC5AF883A51AAD1C4F605098B872EB0FE7A2F288772C80E40747803C3C87B083E35135E1EA64021001D3AFBFCE4E69A4ABD7AE515DA845AA204C1EA4C54BB4706ABC7B7056BCA3081CFE6121B4E328425105198D66991716C6860D1B22B92C272747C60B67C21F78062463178BB6960B149082364E35512C40D7796325676300DA3A9D41EC2424AC0897A08453072C4E8C93BFFD0E08B80E66601021C8C941420EE1ADE3DD6AC6E3AAE47993301C859587500521F83E1C8767E198724E88D07CEC05A2AFE919992281700A26F2ACEFC61B0B220063C7154EC222C0CAC6843BD8BEB20A3221BF8944EAC5999B366D1222314E48312A43AC74AC5A2C50D858CF118AB96051A25809130287A28D3E94E1681B9860D859BA6CB91000A571B05FA10688A4FCFCFC3740C0391C3FA08483711C95E2216779B9244A1082DF301AAF0C850461A07074343071D4FCF10EEA40A69DBF8FC337543FE1E36854419BF3F329373757C2F445AA2010A4EC0791784F5905151615F3CA76BD3214B384CF1290200420C742E6A00258283CCFCB20A009E5116A668415FE13809ECAD98EBF92F4565B7C58C2B046A07B06629E31CFC26877C6FC211306487FD69F385F076A4EC2CA3F648C160FC3FDEA60F53CAE82D6080109090954CE0B0F0440553821B78180058C6966E75E6A6AEA8F3934FE8AE47A98374DFFFF4BF2E58095E20BD6FE472C6B9F252525DDCFCBCBFB29FFFE1ECEE1FE0557D41B7370B24B660000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (107,1,'Rackmountable_3U_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000002308060000005CB6028B0000000473424954080808087C086488000000097048597300000DD800000DD80134E635620000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011734944415478DAED5BEB4F5557165FE75EDE70415E0222E005441150AB83566BA7BE5AADDAFAEA64267EEB34E95F30C9A41F26F365924926CDA49DE9A49999F443D336D1D1F888622D3ED00A6A15F0898AA82008C8FB0D97C7E5CEFAAD7BF7E1DCCB3D176DB4A2ED263BE79C7BF6D967EFB57FEBB71EFBA0B95C2E7ADE45D3B4583E6CE4BAD9738CA797AF0C722DE17A8CEBB72CF77BD36150DAF30240707070BE67C1515772B54E0781FC84F2A801103CF5F4D8D898E3A506404C4C4C381FD618163DE3055CB46735B6218040B1435F5F5FCD4B0180949494743E6CE2BA85EB5AAEE12FC9823DEB72CFC00E252D2D2D432F040032333341E32B0C5A5EF03359B06739369886338A1DEAEAEAAAA71500F2F2F2E27C1CB8B817D54B7B41C0546B64875BB76E0DFCE400282C2C2C3068F98AA7E1C04D67E14FE3F90C73FD5EB1434545C5AD67028037DE7823DC63C3B7786C7AFA2F767C5ACEE781811D4E959696F6FF68006CDCB831C3A0E56B9403F7735BB417184C235CCF2A76282E2EAEF20B004FD2E56FC605B6D96C4976BB7D6DEE8205B480EB2F650A2D02170F0F13C7F2D36E6C0F1F3EA4AAAA9BD4D6D65ADEDCDC5C1E1C1C4C56AB15C9B7EE8181813F61ECBBB9FED6DFC3616161B4E6AD8D648B8EFE659503941CFB1C7AD8D8421D9DDDD36A5C03FD7D74AEB4841C0E7714191A1A0AE5A6685ECFF0F070D7A3478FBE09E2DFB3D50341414140068D8E8EEAF4D750FF80A2F801E7B0433A783CDE9CEAF6E3D12ADE3FE21CA7F89949648B8AA47006646B7B07A5CD4AA121C730B5777652535D2D4FC8F604DAAAFDE8714136AA7477F750AA3D53CEC79C633434E4A09EDEFE69058007B535FAE2ABF1ABCA4CA0454444CC03009255830D1B3690C562A1C3870FCB35A802D41631CE82191FA77C36071C7620C1F3745C580F6D0258E3DC3FDE0710A6A5A501A1D2E6E0912239E6CF9F47713366D0D19325342F3B9B864746E8EC851F688CC19A979B4BB76FDFA659B3663D35BB0F25802C5070C46F494949141B1B2BE32C3E71C2EFB31D1D2DE47C8EA600208E8E8E65F945D2D0E080AF5F47FDFDFD54575727206059270200631EBB4F8B162D22F61CF507305174690DB2D2958A1BB474E9528A8B8BA38686066A6969314B06D1CA952BE9EBAFBF361DE48A152B282B2B8B8E1C3942AB56AD1210949797D3B265CB18B10E59CC828202A054D7D78B97AFF278DC0B71EED225010C4A4F4F37DDBF7F5F7EC7E21C3F7EDCF4BDEFBEFBAE8CFDF2E5CB7EEF03743B77EE94311C3D7A94B66EDD4A070E1CA0F5EBD7535F5F1FBFAB87D86E52464686C7F2FB63181725DBB326EE6A9ADF739D4D34032BF1216E462C3999514242424441FA0706C9DD54535D789D67D9ED3CF77161C7DEBE7EBA7BB786BA5B5BE5BE92D1046B758B8CE11778DEEF0AF2788BF4EAABAF527575B5BC580D5000E07203018B31C25A879ACB1A07619BF90D28000B84E5AF40CBFD15800B4569995150858B17D1CC84782A3A718A5E2B2C94C99D2C2D93FB5818F499989848F3E7CF37050080367BF66CA66BF3CCAA327FD07A3506CC6906B30FDEA9EE6B26962422328272B232BD174BD397CCEB7CA20F3704A2D8CCA52427099843824344D6F71F3C9868A1D1A4F379AC48A161A1D2B68BCD9263B09F7AD94C0A005CDE0000D376747488F2B1FD87EC46B112A38A0180722570085409004708A1936D2E04A016D96FDED2E1D085660600D5C6B7A07FDCC3E0C00058048BC53D9E0B159514C4E3703A9D74FCFBB3FA38356ED3D5D5258E0DDA03C01086D97BE3E303EF34A30DC0EE154F717FBDBDBDA29100819B01FC97C8080F00FC2C96D7B9A643424753288F7DE6CC44D820B2F25C4679AE605FCD8C49F818CF4A133B2386C7E5A4888870EAEDEEA42A8F2BE31AF7F669209FB6B6360133189CE732AA3300268641296AC7A22B0058AC4122D883070FD2EAD5ABA55DA09047518F591B0812253D3D9D6EDEBC29028E8C8C14EA5771F7BD7BF7BCB47971DE02CA484FA3A2E213F4FA8AE52C202B9DF000E1EEDDBB727CE79D7704B866000078CCD8C7D80682021B9595950960302E3527DC03D3983993FDBD3D74E97C294D30B5362964F43AD32687948695F61B72FA9ED8A2A20400838343A2E10A5C2E1F068082633E90B1C7191C45CB0A44322CBC2808EED4A953A2E55810685534DBA4B4AC6CAAADBE4509FCB0D5C30C9A2F07BA9E202CD0B4C7F6D4BBD8C6A7A4CFA1689E640A3B61D50C8CF8D819B2902D6DED545F7387A26D51C204CA71FC294A636313D9E7E7CAF92B79B9545BDB48CD2DEDD32A0AB85A799E7A981114E3CC9C3953FC33980238F3EC1354421D7672FD8411BED56303C745E90D0C806364948D46C69C509129D6569B744325D37C41330943AEC9FD844544CAB197BD57540105DB3AD53492413A2C76D9498E91D1C9C07C82502F5088E85B6C4CA3D321431968BEC62C26DAC1BCA9F68D8D8D679989BF08E24675FCA34B99002E554C73052A245325846DD186B7DEA22B57AE88BFF02C0B2209E58C1E39FAAD1C172EC8A56CFB1C3ACA4EE0F225AFB0D71B4AC74ACEB0BD71D286F5EB241250807D56056166B42729567CE2A4DF36ADCD751413132DDA865C011C5498AE91D131AAAFAFE71077B6D8FAFAFA06DDA134E26E62D1FC2F2CC2DE84A434B6FB364A8C8FA62557CA68756F237D91F91AFDE7C34F29B2B59EF20E7CE6F101C6BD00C0CE6F33AF6D0ADEC16BDBCBFEC0974146DBC7CE0F8CF6491664816200E5843DE0D8B1A9A9499C21381157AF5EF53B403850089FCE9D3B27EDFD95E4E46409FF9A9B9B252459B87021959494C86F78068B89480071B78AC5AB6E575363F32372B0FF5076A99C823DE06C6A6CA4EBD7AF8B7D5BBC78319D3F7FDE7401E1BFC0C1844DF757408D6FBEF9A6F810088711195DBC7851C263D8568C171104C66566F32CEC9BECD8B19D7EFFFEFB1CE6165165E565FAE8A33F42E3E8E38FFF4E1F7CF0BEF4F7C9A7FFA093274B7416F4BBF006E751DD1F1A1AF4C83948C068738E50C2D81085BA9801A3E32978A067C217F3610056F26BDC4F12578B1E91191D376E04155AAA2200A3AD0F09091534032848049979F2680F01428BCD984269379C41F407C1B7B7B773181445393939A2198383835E4280F6E7330B1C3D7E92962CCC67BB6FA3EF4E9D96F721BEC531262646429C40050E9CAE797EC68EF14016007A047BF418177C8BECEC6C796E22B231C90330602F5FB946FFFCEC5F1C9D74D38DAA5BF4F9E7FF963E9B9A5BE8D877C5545A768E41788717318435D11DD938F97E4848309FBB44CB71EE96E5A840CDE83C6A167DFDE846783C8DF3B2356961945A7182C27ADA4D4D005FCF6285F2DA00F40500DEF3AB09ED9F7851302F1A04AD32778142414C0842336BA3326B819E07C0B0A016CD3D86070F1BC524210378E3563545B1933A2EDEAC458009A7156306B87C1320C63C00C61E281270FAFA383ED18D8A60CC4C2FB41599C9D75F5F45D7AE5D63D08CD19A35AB9941DAE9268FFB1566A9D4D9A9CC58FDB47C5921B3CC72494CDDAFADA31DDBB73243B5D0EEFFEDA35DBFFB0D253058F7EF3F44950C2833C7292C999DDF300B055B3BC892F567D25AD911AEC89814056069793D3258469A8A74BC0060F8315C01C09B0142E8D2A54B1246A81471A0142FFA0AD406EF83C6639141FB73E7CE158A85C619934213A625480065E1F1C4711410CB66A809212B0F0F26030BBB69D326AF64CDA4FD514FB869765F258230573018006FB7DB850D903E0568312E5116130670B24FD2C4F3B871E3062F7A2735B089BBC6260AE0EBEAEE12DB0FC0B6B577880CD0AE9DCD0BA28AEB37AA04F8F01D0088368E723A3A3B69C42047F403A5E81F70C80654EE63388A060044635D8CE179906FEC6E5C7C688AB223C1A121F8FC4B68B1B5B53560360DF612CF066A035B2CA94EF6EC513130F803AA001418C3E8A83BA68FB145536A4A3255DFBD278B1DC3F60F938A888CA2B4D454690B3F007D9A9927BC0720D2CD8B9F823E54D613F90514386FFA0E1B9B00CC0D1B40FE4A942D962E965F95AACA57DFECD5CFF71F3AEAD5BEEC7CB97EFEE5577BF4F37DFB8F18B4DE6AC834C68809181D1BA78EEE012AA5642A1D706FE7D8FF9BE8B5F8BE00500A6D6A02B00846FB8FEA72BA81111D174FA32CDCDEA1612ABF7ADD9F01D54F5BBA7A0286FCF8A98D516EC6A34ABBDA7B6E525894DB8F780887912BCAED9ABB52C5A627B33F824D8FF1313A5D5A16D0FE37B34651F59DA9DB4C51D0C66A62465CCC00A8CF749BB7AF2BA0D6032410A12F00547A5B258204007C32978F09CA042800E8A9602086C1D1D5DA42994C870ED66AA377A9BFC4E573AD4DA621753EF18CCB6F8C0E0A567E425353334545C7502C8756B3390CABE205B4735815C62C80F3CED64794C421972FE2CDF2535E71B34FFBA972086A2B55188AC1189B9038D9FC39FA68FEBC1C613F50AD728491E686D7AEFC0FA464614E314F281FEE272424E8A60A4CA3F65BC04A784E25BA6026D57E09E68C6B38B76EE66C667618E17B41937C0065F7F10CAFB78D7F4BC0683EE4BACA9701145A4037F050077940291CBE210F80B00D83322B981868D6CC04E01D082541D7B087980CCC069E43BF101AEEE378FCE429790659487B463ADD665A4656D0668BD285959E9626A1DD9C39734CD3C00A589867A034364C04DA605C3077E80FBFE1198C0FF13DAECDB683619F311F8C07F35FB3668DCC13296FF839486FA36F5C2F59B244D2E1F02FAAAAAA68EDDAB50212388F30870849B106959595E2BB202C8519C3B3F9F9F912F120758F6711420304F0199C0E178DB342FB6300C81EBF7354F36B3EFE15007018F702D42743BA1F80F811610A57A0164284006A6ACCFF79059F91DDB97347ECBCBF02C70F82C07DF81300D499336768D7AE5D62BFF12E0002005079885A769E706F6CCC49F51C538787B9B5616870488485714100E8C7ACE07B07F816667900CC6BCB962DF29E63C78ED1B66DDB68DFBE7DF21C0080DF21F040DBC1EA676C79E319E4119037C03E059CCAB367CFCA7CD137E68E7C0380806BC81472C3351618B91668FDBA75EBE4DDD89BC0A223CF02F9E059E43EB66FDF2EDBDC172E5C6000C500EAB23760DC0C327E0CA29481CF87F4CD2008DD48FD13A1A0553A4318086F18EDB0803302A442415FD096FEFE27FB42060885D619C3388B67C073ED73286FFE3CEA6446C86121C0096CC296A6C5BD1D8C09E19D6081401E3E925081D8CB5F8400A5001831F7A9B6839580B160E2ACB2AC10EDE01A00C3358EF2A10DCF1572549EB932172A12516DD50E25AEF10CAE010C5CABCD2FB577037968E392F4F16B029419F08C73D862DC0DC4821716168A2D520040F8E5644710FBD3401984172807A026FF386DD4A0002C1C4199F0BCA109601BA34ADD62A76FDFE1221A608DC7D670F1E933EE3C00FF4193541F183384E9AFC22C293A37AB46B3E5661CF76F08353136B30F617CA38DBD7BF78A362BCADFB3678F2C14B41F0CB47FFF7E593C4456A74F9F964D388013EC72E8D021AAA8A8D053E2BB77EF961019AC808C225809055BE6F890A6A8A848C000E615AD97AC9F535724C8192C846496F2AD3C492FD90E1E5200C000306934526183382D23A3CC00C1D4F8B041D77CAB676FDE2C6132555E1E6DA021402D04850C206C99B1E0D330650290095CB2B0808A4BCE506E4E3625C6BB3F0EC1381B3C61DA7BEFBD277D9A8DCB93030F9808C2B85091ED0405230FA0B69B954326DBC12614A07C29D034DE03D0A12FD0B4BA862F807ED116E082FD467F2A3C7DFBEDB7457EB886C6EFD8B1437F160049E5B01705D7301798AFCAB98C70D81C141A2E00306A3FE4028604CB28D3CCEF1FC42CF0AFD9DF337AAC9B376F167402E51800166778983BE450AC93A380E020ABE9EEDFA45D3697B967ADDAEAF74CDBBAC46EA667E7C8BD0476AEDABBBAC42C8485850A1BB4302823990EA7F2E09F76E9E271CDCECC9AB41DDCDB8D3072FC396E131245C570C8CE6C5379A954F228584B800E7581E7BB4E5EE3117636D741157EE07A93055D007A41D203C804A54822C6394671F894F819EF009A15F9FF624F1964768A30ECF9E3EB9BCC9C79CF655C3367A7E9E7F83825343484ED7038D7B469F33D406868980000CA013309ED077B802DF8BA9ED9E7A2E6B107B94C5B7F60FBA8C1463255C4B2B7B90D00808DB23DA7C57F910A0BD5E5092FB5E93226F86CD89585496205AF61E7B216CE2457173BEA7F61BFA9F4FF9BDB7102A15D6E600000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (108,1,'Rackmountable_3U_server_3D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000120806000000EB2FD8220000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000007134944415458C3BD574B6F1B55143E337E2576EC384F3F92268E9B280E546A692B21A41681820A02D1B267056201E207B0618BD8F03B58429108021595225E426AA29626AD481A52DB49ECD8B1E3F83DB66786EF5CCF8CDDA68BA6497BA5EBF1CCDCC739DFF9BE73EE48BAAED3D3364992A67179D7E817D1EDF47C5A16FD47F405F49FE043E1A97D380C0070581E1818784596E5CB98C74ECF3D6EDC51403D4C33F669A1FF89FF0B369B6D2197CBAD1C2B00B158CCAB69DA258CBB8CDBB7D1878FC9F067D5E20C06B3A3D168FC924C266B8706E0FCF9F31376BB9D23CC4EBF86EE7C5E0E1D333835AC771DCC5D68B55A3F2C2D2DC50F00801E468F7A3C1ED7952B57BEEAEFEF1F535575E4D81C3AE27C36B052A9106C3A3238B26C4B2A4A7D657979F98B783C9E551425C5EBDF443FC7035C2E17BDF1F63BA4B55A4FEEDA233679BC5EB23B1CD67DB1B047BAA6770DD38D5FC970507FCC72ED5FB7A78F428120EDE58B54ADD58F1C8C4AA54CBFDDB8468D864281408010F45F396B476766660814A1442241DB9B5B141E1DA6DEDE5EAA56ABD6649EB0B3B363DDBBDD6EEAEBEB23241E2CD810E379CCF5DFFFA0572F5CA07CA180E74D4A271314181DA55AAD66C5D40B90780E2220EE41511A1F1FA762B128463800602814A2BF1797C8E7F551B154A1C4668274497A62D674455D3C80D6A95EAD60CF3A45A3511A1C1CA47ABD1E63009AD3D3D3B4BABA4A4EA793249928954AD3A9532F0A46980DD21034E46EB2859D6010D811BFDF2F1C91D1913449C338BE4FA552140A06C57B8B251E8F11918A595DC47B64701188A9A929B16637E3A7A2111A9F8C1880B5E798FF91AF283A39499AAED1463CC14FA9FD5AA2D3F083D7BAFACDB7B4061FB971D0229108FBAC32000A3B552A9504008C58A5561483F899954D104136CE8C64B3D9A45144766F6F4F80024DD1C4C404E6CBC238DDD888DF319338AA26787C650675AFCFEB99C6ADADAD890875EBCB699349ABD7DAD194244B40DC3459A2F5D57FC5DEAD8662F180DFDE5EBC492A24E874D88514B931201C24ACD36000BE46FF2C93C9344746461C36A039303C4CF1CD4D036543CB1B1BD686E6D3FCFE3E495D84CB17EE1053E83F44A1D16C800D3205C7C6A924A4D419B75FAE74EE8C3F8BB76E3F44E16C2E4F2DAD034022B90D90B79E58EF0EBB0339A497FA41FB4CFF483B896AED00C0578DCF34F97CFE3A084FF7809C061A2D09067084406D2722411C31A38F0E0D892890DA221DDD81FF93D0EDC8D020F97D5E3A3116A6B3674E8BF963A07C9FDB433E3C5760801B72D15B4DABFBBD7DD4E37420D93649E3C863FD9391491AC0789FC74D63A1209D7BE90C9CB0590ECD4C8DD3471FBE4FEF5D7E932ECD5FA44F3FFE80C6C338926888B8D638D015A54AE1C0207D92BA4972EC2CE566CE8AA873EBE9E9B90F00D8E7BFC4D1152FD8EE17DA3940A65ABD4E1143F3DDBAE54467262A66072733BEB20CAC1C003A32DD99CA2EAC5740329C3E7952E8D43480D7E19CC29A371B539ED7E6523704B01F2D30AA4E2227F012AAA82A124D46A2343F3F8FFD0B424E737331BAFADDF7887016926A9186518BB113C88457C953F5E050D0DE1F760499016CA3757687F35EC10038C18EEF33BD65D932A0652435644EEB591A55013412CFEFDEBB2712A2CA09101BB12362035071178EFA7C3E920C001A88BAC811F6CEA7432A9DA60AA4C26BDD5F5F1739A265E40571BC4B6CD1B59F6FA01CD6609F46EBEB71CAEEE6208D2D9197D4964A1B0F92B493C9E1BD8E52ECA478324B057B98F4BB12B9551912D0CC3CE333E5CD1604F886B37A3B09B675DBC0829ADE31A0A628078F59994C274961C3260CE3F9A552999AA077B158A230640254A96030E7D16265E68292511184512C3F002DDBBABEADB416A5539B82895C3D74550140559C333491D49875997409D2E224EC1009DB6553A9504789967AA95CA97503208046E20DF00EAF9B65CD64403E9BA1D8EC6C57ED260A42D7CC0AF3198FE572B5BBBB6B9541A6F6ADE5BBE480BE3939DA917977333B62ADEE330592AD58A75C2E5B06CDCDCD11CEED8239CC1696D7D23F77BACAB017927208060EF87D629CCBD9BE3AECB290185712B68BCBB3B7CF2DEC1A1AF48BBD18544DEF00C08182D42E30C71BE641C464800AF4184151CF8D6E9632F39E0D31CF05BC61E7E0D13E07E82C036895B5C9F726EADCD9302422EBBE3D5E17CF795DD9909EFED037822602C0B983F7E3F9AA214B0E1E3BCFA0313BF0C52AC60EA39A717EE2039AA17D71E5F2CDF3009AC20CC831E266AD67247B7ADD5414D191C83C8DE49068D8303EDD99ED4122492583DAFBA0BB0B4671F9F340BF1C5DA6AB0779210F231800AD2B073098DD0C5B45ED2F5A6B158583CD2E600B8532EC72D14EB69D38957CE1A02495BCB86EA7214DD94E9BDB69926C0E9C22B7214906AB0D6C381C16A0C19E224BF0ADD9D9D92F71A34CCFCCBC1C0C8574AFD777986F9567DA7A7B5C90595E531E9383C01AE930F66D42622B2B7758AA1B380E37D2E9F4E7FF036C19D776E37BB5D20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (109,1,'Rackmountable_3U_server_3D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000001B0806000000837D8A3A0000000473424954080808087C086488000000097048597300000A6200000A620151756B480000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C814944415468DEDD5A497314C9157ED58B7A516BDFD186040864D08060900CC330C660048C070E76E0D378B9F8E8BFE0A3EF0E87234C842FBE99F0D84418026200316C0224168125A411A28516B4EF524BEADDDF975DD574578B610823C064C4A34A5955992FBFF7DEF75E66A345A35159CBA6695A112E9F438E437E0271CBFBDD1E41CE42CE416E039FC89AE2B31606C8C8C8D8160A858E03FC2FF06703C4B2D686FE5FDACB7443FF94C562B9108944CE0502810BF87BE6BD340080B61715157D06450938A56A2D00791746486861BCD382B59EA341A6A7A73BDEA901CACBCB73D3D2D28EE27B52CB1148E6FBE4BD6F61CE019DA6CE85C3E1E6C1C1C1E53537407D7DFD26020EA197EF8358DF3518EF72DE8446F09B690CE872AEA3A363E08D18E0E4C993D6E1E1E1BDA416841E3D7DF3FF0118EF836EA42745559595952DA74F9F0E7F6F039C387122636565A5899E0ED08FA12BEF03F6DCB7A11B13371338E9EAC2A54B97A6920C00F912F21BFD9EDCFE496969A9FD70531393AB7C688D2B8A44A2B2BCFC7D28FBCD39C8F5EBD765626222E8F57AFF9D9E9E2E2E974B903B4E519F36C8C7892F5BAD56D9FDC9A73165C3A1972CC3A8805657577BE9F263CDE9491787C399584929AF9B9D9A946824F29A90BEFA31C7CCCACB9774B74B3656564ADBBDCEB766F4999949E9686F55EBB3DBED929B9BABC4EFF7DFB4E179195FAAABAB13543572EFDE3DB1D96CB2BCE413BBD522BB77EE94F1F171D6F6AF3D312C0C6F8B086A6925B47A41418102FBFCA5CB5252532CBB306F4BDB5DD9D7D82097AEDF904820203BEB77C8FCFC3C0CE478ED392309C6E33C59595992939323DEBE3E191C9B40AF2BFE7C6E6EE6250EF6E65A4E6EBECCCFCEC4298D385347EC2B8873090D10A5A27BF7EE95D6D656F5120D408F99999B55E03B9D4EE9EEEE4E19BCA6A6460DD6DBDB9BF2ECF0E1C36ABCDADA5A696B6B933D7BF688CFE713946BB27EFD7A1539B373F3F2A4CF2BCB2B2BD2877E8EF57C68504AD795487676F6AA736EDFBE5D262727E5F9F3E749FDD4F9D0A143028E95FDFBF74B7373B3343636CAE2E2A204834115D5E666B35B25B7BC3C1E295AEC1F758D4576E25593FCBC5C350E72A42C2C2CEAD195FC6E2D30D12C22C140486E5EBFA6FAC30946E6F7BB76ED929696168E69A10182E07CF2535C492E86CD91E650A03132081AAD665E343D6C696929657154D298908DBC479999896D262DD0D28D88D850552D23A3E3B2AEA4589E3EEB87F216352723A5A2A222251972BC9292121551E686DDB7BA525FE57DF07C462E7541B8A78C55909F27751F6DD371D4E26466E4BEC42BA3B10C8E61C3FC2144765FFFC02A4612A95E5F099A73CBF8D4943CE9EA94D9599F249E661806A45EB3B3B32165004E40E58DC4446039A6DD912677EEDC9183070F2A3AA137992B057AEAC2C2420A180491000C0D0D891B0AD19B3931C1613F010C0403E283F1E8F95124468B16F3B4FBF7EF0B9DC2F05EB301C89F507ED539B12397FEFEFE7804F17B8FC7A31BC5644C2CD21A09EAC06B92100AC9062048E1A08C8F0CBF0033E44F4E80FAE8FDDEA7CAD1E68149341CD469319A44CB3AFD70FC200D300D002AF187ADA7A7472D504580B2BA53B68042A6F5C5464CC9710E93743CEE8272A949F349EF536520C32BC7C627E20BBBDD1A4B48117CC7E8C11E5FC61081542E0F89D255EE92E72323EA5BB3D74EC0B3A84F309C5A5A3F06E0FC664A8FB251D027DB34FEE6D89AD3959C1CE19D57AFDE5AD38ACB664F4B2A2AFA908B366EDC483DC370F8280DF023C8303C320BDEB28850F3C422408321ECE2723AE2C06B166B4ADDC105AF4A079118401A1279E2FB7C37AC8317C6B8F4148E4F63F04527A225233376AAC18A61B50A8B36B1DBD392FA5143C513BEA659524A49E619B7DB93A46320B092C4CFAF0FAF1E492C30D23325D3E390AC9929B1234A1E56D58B7DD927B699B1240A02E87EE8E8001BCC6293FB0B5BCCB12351783EDFBA0CF04FC4C20321BDB82015EB8A6504DE980950CC74C0E44C2E63FE30B7FCFC7C75258D703C5200BF673F69E2EBE62BAABF66E306793E3A26C545853288C43A8D045B5551AEC294BC6D6EA416F69BEB78D2457171B14AD0D4696E6E4E511FE7209D8D8E8E4AFFE878B2930496E4D7BFFAA59A6B10C97F172ABECB97AF207937A82AEC9FFF3A9358709B2ADE6842BE5B16A7CB231565C572F0498B1484FDD2F4BBBF484E5F876CFAFA6F1249886260D00E5D1BF44AA8D762F0926ED26C2AAC0C60D1D42406F80490EF250A1BC134F7530802B99763314AC8DB5BB76E8D274846184393BC6F85B044B5D96DE0F1456534E609026316824AC3AFF68CC99906D8B06183AADEB66CD9A28A071A9EC93D6ACA0151E830033AF3F99690C77C3239352D7EE425D5076AB4A739E1D91EB1DA1D2A32D340C969284CDCEE7450B53D2E0633B075B9F2E4417AA1E47F7B5732877BE37B90C4EA5CCF2D4A199B610084057BF71A062071580016AB162EB8B0B0300E7A6263C221D066AE26E889A59FE266F0373D33968435554DFCA70BC919E0DD6D6F97450041E598D469588E6D9E9360B2F2E238E666AED26848460AC7244D9837B656AB4DB6C129D47778E7E89123AA4CAEDFB14326604852F0C9933F9753A7FE2AC78E36214A869461BFF8E9E7F2C73FFD593A3BBBF5E8B3C4136C4E5544322CA0D4BADF4BB41754DA519E840D287E277089C7924D4FAE51722780B7137C02A7364FE0E0FE91A72AECE9A134C46A8DCFCC099A6310407A240120F87C87F74CBC0A14BC5357BB05FB8139F9F8A33A696B7FA4B8FDC183072A51318ACCB4C708A21E1C7BB5F31B7ED7D9D9A9E8E8D9B3676ACE17EF275B201808CADFFFF1950AFDB1F14919181890EE9E5E19C5868DF34E2122D8F72DFAC641B37EE411B57779D22B8FBB7A9228D282B574743F934967A958314FE95751B12EC71C30A2E700BD9C7512DB885E1A716E273C6AF8D8B1633967CE9C5154919797272E78B52B235302ACF1D7E04C8861EB8127D308B108D454B9B6805DA35DDF87BCC9160E05C5914E5A4C8F1F45F85796642D7F716464389C6E79F4E0B6CC22391378E6C0E3C78FCBAD5BB726E028158C9D2658C3CE87AC3A288A82F0F13242B8A8205FECAC97A1E8ABC4F20AA16714623749090763B570E3AE9DEAFAE90F1BC589CD8E1F0677221744F03C022F7CA584BE5B789CE271BB305F28254A4381452929CC16BB25249565859293E9148FCBAAEE33DC36C9CE70A8FB346B588AF233D5BD5502B2AE2847CA4AF2B026BF549416487141567C8CBC6CB7B890E6781F0D2DE911108D5780B12A4DE3D50E5AFF94AEF63378A0C73000C1E0D502C57DD86ECF2207900AF891B18B351AB998898E9B3573E399077303439857EE2419D61426C66B375B1420DCD24750B2B2660FE0D9D8E888DA4D1621E7F05B7323C57013466A4B3940DCBD1BF4F08427BAEA5B4632F99DD7A9DCA9942A880995BA319F90A68C230B836E8905933E698F7D1462635457BCE77B7CCEBC655031235ABD9BE6484AC206ED5250D86443B72F1901CBFCC0D880C5AF88001B26E0C07CCEA4C8E38144A122E456733FC54898DC9D520804CB41A33CD5748F2847994BDE5F5F56269E74B75A00DFE7C2987BCCC2451350733F9D847A8F8D8DA9BF5163ABF9789CA122DA6A4DA9825881517F564D3C9BE17A58F1F19E1515B1A073D1E8D3D3D3D2D5D5A51CCEEBF5AA1D3ECFB9B86B674EABAAAA921B376E28E059B0F03EAC6F42130D608A023F0DB0C24553C9FAFAFA171484C95976B17E3600A117270A15D4F412D2FCCCD814F1DED8D2B3C2A0E2C639362BA34BD76EA864F64DCB2D6CCA16156F123C1A9DDEC9791385E31234733F85E351771E79704EEE4F18097422CB2A5510DFE9E8E850499BC72D3C3C2498070E1C908B172FAAB11A1A1AE4ECD9B3520607A9AEAE96F3E7CFCBB66DDBD4BA78C6BF6FDF3E55AAF3148187813C4D6674F2DE62B5265110C7A30135FDC80545839F1434CF45D1ABE83D4619CA233D2ACDA44CA3D008E643370EC2F02580E67291DF1886300EC38C4605493B34E08FF7ED956BB75B65FF9E46697DD02E9E0C8F9A87DF9BCB4AA3D279D90F459C6BF3E6CDAAFAA944A265E5659487F46EB305E617E6A5408FC8A74FBDF866BDDA1378BD3C2ED8A4AA20B6DADA1FC07986F413E0CDD2D7F74CDDAF5B57AABEF37832E263B02F887CC3FBA5259F643A32930E2FE9AC7420620B8759A4011E53717A0F3DC5A0A020FADCF0402E76251C959EBEFEE410D66F27DA1F261D11186D7C0675FAC050CAAE91EF8C4C4E8B95BB630073E1CA55D57FA1F91B75CD2B2C06F07EB9FBF0D16B571DBDFD03DFF9E356B60EB6D132738AC5BF863F0778B28A62B9068EB8E45B50CE4347E695827DCA634DFF9F0D7F0087D6C04BA29B6A6A9A905C5DD555D5CAFB3FC4DF2479EE04678BBEB9115FE118BDBDF2F0613B7D20B4E4F3B560236A457EF4821E7FFB5F91DA02FB4FE8C9B40000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (110,1,'Rackmountable_4U_server_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000002308060000005CB6028B0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000017D74944415478DAED5B596C55E7765E67B08FE7D966B00DD8C6808D21CC432140C26D4842061225D26DA444ED43EE43FAD2973E54B7B76AD5E1AD0F7D8AD4AA55944A891495DCDC00370C210C0683C13176C0F384278C8D6D6C1FFB783A43D7B7CE5EDBFB1CCE3E26A354A9BFB4BDB7F7FEF7BFD7BFC66FADFF3F8E5028440E87E31F88289B2C6DE7CE9D7FBE67EFDE406E6E5E80FEBFFD9F6D03FDFDEEC6C68664EFF47477775757B5CBE5221C2CF3369FCFF7AF0EEEF3F77CFC8E0F67F4CB59D939B4FBE0B334D0DD450B0BF33F29614EA7134450281834FF873206F97F10A8D7DA0FD738CB3B31FAFDD4CDC1DF2DDD5429E37BF83BC15090FC21A2C2D929F204FDD49F92496305251474BAA868A69D8A0ABD3435E5A1BEBEC49F859EEFD35C6EB7F066D6E7A3BA9A6BE49B9991FB494949949E9E2E07F3D53B3434F43B37DFDF1F4BF86833D35EF24E4ED2FCDC2CBDFDD65BB46FDF3EEAEBEFA7DA5BB7E8D5575EA180DF4F277FFF051D7DEE08151616D2F5EBD7A9FADA75E65E7C023D8989F467BFFE35151515D1E52B5728272787B66ED942CDCDCDD4DBD747C75E7881C6C6C7E9B3CF3EA337DF7C9356AD5C49E72F5C60261752656525DDBB778F864746E8F9E79EA387C3C3545B5B4B2FBDF8224D4F4FD3EFBFF8825E397E5CC6FCFAE237545C5C44159B3651138F7DFACC9978228FF86F64F8A17115A28DEB4B69E4D1280D3F9EA0DFF4D651B16F927EBBF95774F6D5BF227F6232BD7CE704FDDDDFDCA42BD78AE883BFCC63A5703F396EE489CF8E989F774490E288FC6B79C5E178926E8C1964E5F4B85D94C73CEBBFDF630A3FFC8EC33CD2D2D2D25352528E83D2025373A0E9ACBDD07AFD7F6AE23139F9EC9B9DA3095686C5C5459AE5EB49BE766230A7839FCDCAB300AC322161894A639C2726CAD635C3DA0921B26BA2D4D4341A66417AA7676881C77F343A2AE3078221990084ECF57A697E7E5EDE99F24E4BBF91478FA41F687B3C31417EBE17629AA0086EA603F3989B0BD31A0804C432626967288A4E87E3875B5F527232ADDB50690ACD2A288745BA7A6DFD969BF95C5C54487E7F807273B2699AE7DE7DBFCFECE3B02881C318E4C0DEDD94959921BC8792DEBC759BFABADAA5CFAC6F26B6AA1B4AE076BBB3C0911C7D70F0E041CACDCDA5CF3FFFDC74CB10B893DDDCC2E2823016820B32C36659E85096D9B9790E0FE1675E2678D7CE9D54BEBE8C1EB1705A5A5A79CC03F2FCE2A5CB7488C74F4F4FA386C646B987C3E17086AFF93BB0B6F9F9F07D8C8D499DFCC39726E15DF77B232672B7A959CE2B57AC209F6F56C2D4C2C222CD5BE8C95ECC16C502DD6BD7AEA5FD7BF7725F1F7D73E52A1D3D72983CEC166B6EDC149A314E77CF7DAAABAF17BA62B5FF2EDE46C981451A4F48A16DE7FE9D422C345AB5F43C352599CACB4A972CDD22E1E5AE939212696D517198F72E8788391CAF2D3E23EA9A8548E9696922938989495A53B49A06FBBA658C45E683B5BDFDF6DBD4D1D121B2C137796C510033606D6137DCD0D01019A7A199096ECACBCBA3DDBB76516B5B1BC7B97EAADABC599874F75E13AD5AB54AFE1F1D1BE7771CD2EF2EBBE911B6E4679E7946ACB8E1BBBB1C2656D3C60D1BD88A1F51E1EAD52210849482FC02DACCAE1D428442555654D0E0E0034A48F45020B4BC55E6E6E6F077B69ADF59BB660D95949450FFE0A041F74EF100733CF636A6676C6C4CFA959694D2EAD5ABA8B7B78FF28DF9CDB1977136BA2304646D6FACEEA1429797FE65620F5DFFCD7F923F9915F7E446F3790A7B80F2D292280B7744CC21D29297AE9DCCCF145620780097CB29F737949598EEDF1A0A1C96310381A0DCCB633E2C2ECC89DCD0A2B1C828CB6303F31F67D313F0B9838FF510E27BEFBD27F1F4F2E5CBD221333393F2F93E870B9A999A64E252C82F8C9C63B79D2A03C0D23C1E0F25B026827970A7C96C55DA8F638DDC9B61E10084C0CDCDF27D9C115AE0D6417002BB6C781B108DF170C6B3A7026C8498962A1107DF496621604C7829585022630E8C8D0373003DF002C9C949E2DD700D4B423F781FF40B04FCB461CB33E10FF05C84D33C6665C238A53817E9DE421E0D6E19A7903B48EBDA734C10D8DD1162412E472F912D50723CCD7CE3BF1064E549F424516DF5159A602CA5ED05C6567BD9037EC1380973E5B0DB0A0FE0C7C3CD6CC1EDEDEDA6F6E01CF6000E19CC91111E24D19D40892C48031F514666D692F6BB97E23FFAC18295C4F48C4CD30452D312CCB8EB4E4834E3B00BEF1B7D5C78C6EF17AC2E1421AE2F5947E30CC226190B6CADACA0F6AE2EC1028F861E989A8C238D9556894BE17043860749E031123C1E53F353333296E86654AC980573F3B002A10D0FF49BFD15250C1B74A7A47B29F7BB7C76BFA954525C4CF7D833AEC8CF673E2653576FAF80671F83683B313D898E424FFF6F34B68AF256D9B97931B10D0C6B8431143CEFC387027203A602C0A2672C885115006D7ED647CF1F3E242F3FAD55FED096CF4C5CC1B158623C8791D1A9694A60DACA4B4B69ECF13835B7B6D35A66F8E4D494C4BCDCAC4CDAC75ADDC8B80273B0B51A9BF8FB7DDAC68D1BCD77FF70FA0CA5B3F21770E8286397DF79FF3E157358CBC9CEA61ECE64E031FFF4F9E78467F0443FE6BBCBBD8B3007BE89823260AEBFDB244A6C55007D1FF11F5ED0F8DF6F2A80C60B3DC3EAC20A10A269B6BA2B9CAE2124ECD9B3872E5EBC684BCC2E8EA368757575B67D8E1D3B262EFF02A776482D7B7A7AA8A0A0401410681FA81DB1CA2D59494068BA7AE38600BC454E3D6BEBBEA5118EE30821357C7F4B55153D7EFC58E8EB63E6C76A508EFDFBF7D3EDDBB765FC580D69E9264E19EFB3301106D6AD5B272171FDFAF5ECDEA724FDC473D01E326CB2B77F803D91573291EF9A5B3894B804904D323D972E5DA20CF63498637575B52D3F80BDC06B28B15D3B74E890B86D8CB36DDB367AF0E0818C0D7E61EE3E03E4826E8761B8D10A6014FDCCFB7C0E420116B5331E2A034190513192098301C810200C5882DFEF8F4928FA22EE979595D94E06800CFD00C65094C0D8988CBE03AB098F9548C14058210FB3F09016D5319390FAB4B477D0BDD636A10F4C005DD96C7D183B56438CC71CE15D405FACA6F72738A5045E018D500664472B39AF0678524B5210B691B3878A0DE5F4D5C56F685BD566CAE031CE5EBA22E931140DF508F0AA98BD965D8108DFC1F7504BB16B2AB44106B6CF3EFBAC58325C3A0C05CD70E9614C85CC244A01700DEF00A55659F3211E2060B5FCDEDEDE881010E25CDCE571D3E3B151332D8426C6132E98ED76BB6DFB608C24C511311AC0A3E088C40493AEAFBEB9644EE47F4E9D89C867A140F82EC05F82B50E11A3A1CF42547AF4B40DDF56A6AA2234B5B5CB815673FB5B5A3226272BC084F4C37CE37D57AA8D00D27168B7536C13F8197C8202B8622800E8E8E78C0BD911EE83263E0B06F80F3E26F99F63D60F6908100FC0028736C345C14A71CF6E32101EDEC5387644834858BEBA56B86EB868E4A8200ECA8309A9D5A21D7DF6A0E4F7B5DFD6D3ABC75EA04E0E1B8D4DCD42CBAD5BB7640CD00BEBB56B5ABBB0EB03BA1106B2B2B2E41AFD1430814ECC19CFC2A02C4C57255B7F1583D2D3E7CEB307A8125078CEF00070CD2D2D2D545E5E2EEFC6A30DDE159ECC8E67E01762373C09DC3DBC159406C05DCBBC68F88E2A00452900F8AE21A0ABABAB81CFD7DCFCE7BFF8E671ADB56B670D0124D98F8BAA7872AA6988D53A99687022C5216634FA442B89F685B03121B846947FD1BABBBB9F88D9D6B502B87CD4E381016ED5D7D3E8F86363BD225B848234D69C781C2B8AD747990F0F87180B9709CB1D181830FB40A05BB76E35434067CF7D9927EA17A0312D35253C0687AF8A8A0A33C57D9AEFAAE1C4EB03A12BCF100EB44141A120F3160588F600D67515A6698043DA5FBBAD82E39BE0763D77DC65660121126D0EF8393FE7B4ACC1002A4B833B229214A0F3010B61B11AD2B9E696D698C99036AC05CC33531D462AB96A458158DDF0A3518EBBEB299505D4DAD925C242D97794F104D60BECD2284CFCE1C361D372ED1076ACF58288BA3D5FF6B34268985AC598025940DFE0035A5354C80A904AFD0F8604882524865D7AF5B56BCBD2D5DED11117FDA31C5E7FE78E3D5DC800183B01A794576D8D08573A0E7B8E013E174560236B1C628103105E670D3215404A869C9F8716E669FBF66D12065673BAF353B470C1250C0875750FD7A59CF2251A61E75AEDEDB06B4349DA705FE3EC7D668CD40A16F1DC912354535323EEFAE76AF82E5CB9621BA481B260C6EED8EB9D16FA015241BF5A5B19CF0367B8EC7829EA8FA50B40135914BE8BC5359CC1D7E87201DFEBE153A1B52C11E1011CE10278AABA7F55005858635393A433C83781D2E1226335A04CA0E64F3FFDD4D69DA11A05669E3D7B36226D448A89D081740B21473040303C06168DB42E2133336637CCF119315A01E10D4E0B633528D43BEFBC23A9E7A08D87022601EDF83E5C2A68C38AE48B2FBE28FFDF610B84FBF7180525AB2287285C9285B021142C4C4129C13318CCD5AB57CD7A4074C3BCC1D73371562BDF7AEB2D89FB1F7FFC319D387142C200040F1E8167F81FC53C33C593D0F94408C8D66577F52CEE28840B9F7542AD3FAC00E1140A93C6043059300AF1C60E656B6E8B32B15D4A66BDD6941213C281C20604667561AB57AE10EBEAEEEDA36C8EF928358BAB659D8570D017004EB18A1DF80493902EC65CC9B36426989F663BA0070704198DD401FA0A5878A859E4E66451766616B574749AD989664E3B76ECB0AD3F8067508078B42B9EC27819461513D7F09668503C31648367D6555D5500A67D25BFE3B0DE8FF60032DF480570C8322A140013D27ABA5D9AB728AB7A6110A771D26E32D10D0A0321C142516BD06C00EDE6B7774C45BD567BCB541AE013D0857E1060BCF412B481AE787DEC321BD00CBAC070F100861345216870E8A184A8867BCD669802065003C07761BD76555415083219BB3E767517CC1D0D1E19452AAB3CA34BC10CBCF34C2FAA15DF280C1091024A21881C52DD82359C3C795218012BD05C3FD601D72FE0CCE6B936143E90C6B4B5B58956B7B6B6526767A7781A305BF727C852F59EDD74ECC82123253C4007F7EE3135FB1A832CE4B856C58D75E80EA3E5FAC043E0FAEEDDBBE2ED4013A74DA208664660F0B6AA62139D78E91825B1528046A4ABD6CA1B165EA000CAD3588775FFC5727D50F8019FD017F4802E1C5010518610D97A80E8B1E4BE110F4E72EC7B13B9E8A953A7441371402841EE5B50544C6D771B6905038D44A36011AF30A1966B57F932D6A20DA0128ADBE7D1E818AD595F6E300745157FC456B0B6EF1AC4AA5D3CB1143EAB078AB570E23294CFB4A6188B2A0A48657E51CF43067A92CAE8F48CD0053A13F97F4DBFE00190AADEEF6863501094109A94942CB4EBB26DF45A9EB13943E80A45D1ADB15A0C92FB58E7E788F22018031B63CA2AAB68C6EBA59BD557048B6898817CB122882A2263A5D37C7E35020358B564A91218A405764BD8E8812210B4CF6AC576028CF5EC69FACACA1F5B9DFE7FB93A9C42EDDBB99D32D2D3E9DC3797E957870ECA92F2D51BB594CBB1F979CE0260995AE8F8A18B2ACBBD07E0AA5EF2D41FBF0A639D8A8D92967E79F63CEDD9B14D96C2CF5FBE2A42C7021AE681B50E2DABFFD474297642168076D1A8988A07B018A0B50E1013042A06807055F8E282111AF87CFEFC79FAE0830FE465C450ADD7C72206481908D82ED6238EAE59B3469409780200AB89B30CA471004A88672859E23B66C9B5B58D0157BAD053D7D0289E209C050C0B3A87F081A6E32DA80091A3B6AF75F3E806D70F90080B41150F34603CA50BAE164680F0E63016FD5BDA3B6962D22B18008B41290608F64E4DD2871F7E48EFBFFFBE99A1D88140804B00585434ED1A36D6A07886C52CEC8B1C1F1F17F900FCE1181A1A922AA1AE03A06866170262D601540174DBB099061A8A80492B1802A3EC3456B3002CBAD8298082300802D68EEF600D62F7EEDDA2C9E3964D0CB233062B75CC24ECDA19E0896EDEB45176CDD4DCAE13178BD807B78C030A18AF018CD9F5D1CC0682D23111FF910E02A5A3C862AE05180EB874DD5A2A2B59470F8687C513000B0C0D8F98E0116E1D6E1BDFB4AB0682677806176DE72555705042F0096573F051819FA6B6D63430D658D17273F38DDFF2F979750BD6FC5F3784681600540BA14219EC3080E6BA609E5DDE6B971DC42254198DCD1FAA3860B0E20BA481A8A103AFE84EA278683E5E9FE5E8524BB6D2876D70996C99E01FAE539223330CD0069E6916156FFD445346BB14365E316949B94246D1273E0864AFBB372B2BEB9FE0019014672942B666005A07D07A368A2CB07E848978CC0A6F24752ECB50B87E8C0526C10D3E3276F962B29ADFEA6E973176C9FE80DFD85EE65B9A1C3F47FC57E6E0DB76A914BE03376A579F508088B1C00FD08235062B5DBA64AC25E5B9F9391A61A08AFEDE692FCD44EDC4C57E02CCCD69490B63095757E9ECFA4079E0459039C1B0200F782C78283538AB07C096B658CAAB8ACBF3CA1F1E1E2E303784583D80550974452E83B30287B163273A8EC45A9A8CD747BD0784A16915BC8A2E45A32156CB628A41F086B252A9B5FFF1C245D97409DA861887E03D3058B38A788B2EB2EDEC29168C403BC2100E582EDCAE365409773220364300E303EC567A30FC902A18247A3C8974E14AB56C8743DC062FE0DA9F6631281E10D43E10BAE21C2874746855BB88F6D0B140209FFDF8E23FF2F1B7DBB76F97E20B76B1E02370A94805016E5273F2A8B7BD5504A6130FC5DE8EF6BD90EE92870A5F388DADD8D6059B69B6F6B5E51B4411A08CA0071B5065499AAF077ABAC8E3B65F470FC5A521F48391F81CBBF5A29232612AD2406C88751B481F69E0404F37D3E5FE8174D11365DCA76DD39C9EAEDBB88906FB7AE9DE9D7AF37DC80E9B5A900662E515DEB9BEBEFEDF223C40AC0244B81E1F941F3C1C397C58B68DEB9EBD9FAB21435040F6D5B9F366C105967FFAFCD79C12EE10B075EEF215E113B68463E9D6AE3CFD533500AEE8C5A0672A2B04049E3A77810EECD9CDCAE0961D41E0674141BE6CDFC276BA78BB7D7E6C838741A8423BFFF5D74F7800ABFB8FDA123617B12710937BFDF5D7A502A6DBB5DDC6B3F1B13171D18891708B98945D7BF7DD7725A54185CF2E557CEDB5D7644B18FA1DE13C1E15B337DE7843B6A4E1002DC810B4DD6D69A5D68E4EB1FAEA9BB566BAE3E398CB9A2C7B02504BC7E28D5DC3F8C8C9ADBF7DB0365808167E304FC4D603070ED0975F7E49478F1E95B410AE1761C9AA680D4DCDB2350D567FB9E68619B2E6667DB2D885CA1DC214DCB51D3F10FF0FB3717DF4D147B6B4832ED0F7C9279FD0F1E3C7651E88FB9005168390462385D5F250304A01C01BCDB82C61C067EE09849011DF3179A0567343080F18C076698E69FA132BC4DC780B17C84B5134596E7B1688401FA4411817310C0C0B19BF3CB2BABF8AF2F5E6CE9B9D6CF11969E974E6EB8BE6A28BA6595884B243D2505EAC56DA8153A7653325180B7A3486E3004DD1DBE1B655550A0E8007D8BF6BA76C630306B0024FD083DC7DB9D419E9A61D08B46EDACD34B6BE834E3512C503A150E4E65E6BA601B940765AA5659ECF4001DAADE8512D5F41037E4D93C4A818BF0E92DF03F23D3027DD487DEC000B90B4DDE64BBB0521BC87EFE30CE48D4C4079D6DED52D9B4DB0F3E6E6B7F55271531082C9832E8C0925D695B1580A07BA745B57BCC5AC685AA13CA85BC0D542602ACCEF9A5BCDC5206C584D88C223A00DEF825FF1BEABAEDC6E91CD4E7974AE289E01C3A907484E498D783760FC50C792AEFBF9A8C7D7B080EE658D48D78E9A73CAE2886003977800B8CE74E34714BAB5C84E01ACB1C6AE0F268BB4126BD9708340FE6A01B03E19C798502683D252B65E6C055BB7A698F27373A8E6569D60008412FC321956069AEC56CE54B876CFADCA8B43AB93004D9A5AC2CBE09ECEAD68D54A2AE6F83EF678824A18BBC85E42E3378BB2C3E8F469F186CB7D57D71FECFAE87DE0108412FC0FFE75183B89E049A16C0AA0D3584EA8DFE017DC90054218AA8DAA486CCCA33C4623F6040EF3CDA69191917D9830629FFEB40A9359F02F1A0B292EDAB57BB7DCBBC7FD20283B01CB4FBF8C8D0A76ADDDD8000ACB91DD3E3C2E7EED6B6A36BBDBE69616F13AE979F982FCF1532E7C1F930F06C3DF4E6641FD09C76A7C0FDBC22028BB0A24B69961DCB9383F6EC1762FD9D02A3F7C9D930DB1D39679608C405495CD638405D096646C164965EFF7D2CB2F0BAD081B836CA1F1BEDBC3CA3F1B87B6D0C484E00C08159B63E0F9AC7D25F3181CA479C3CAB130E6F12491CF3F6DFE840F8A0CFC024FC00AF180E730AEAB81557CFC333F74EA9A3ABBDFA36CF9AE1D3B76CCF06482B3B33E07870307FDC20D8AC831CFB6BC07BA2626265DBF345D1CDE82EC0D6DE9626B7432D39DBF345D1C9E438C870401B6B6B424D6D45C4F66E370B0228E324D9D8ACBD838FF8215A1E37F011D33B0A6415FEE9A0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (111,1,'Rackmountable_4U_server_2D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000001108060000006DBBAA8C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000084C4944415458479D97496F5C5915C7CFAB79F0501EE238F110C78EC7103B24C002892F90050B364402A44608F818EC800D3B5648B4045B04127C0044AB6101A65BE9C48E1DC789E324EE781EAA3CD45CFC7FF7D5ADAE582D8138AAABF7DE1DCE3DC3FF0C1598D9CF34BEA561535353F7E6E617CA870707690BCC8220B046A3C152EBD94EB14824A86B21C2466D612ED0A9DAA539A8DE76FECB7841BDBDBDC5AEAEAE7AD0B0465FB5D8D8EDEC6F44E28D60207D60EFB6130DF180E7FF45D148A41168FCFDA3BFF51DEEEFAF46A3D1DD743AFD110CD72291C824F2D66A359BBF77DF3EF8C1F76D7767C7E6E6E66C6575D5AEF4F7DB1FFEF8A7F718EA8CFDE8871FD8DADA9A8D8C8CDAD9D9991D1D1FD9F4F4B43D7BF6CCAE5FBF6EA552C90AF9BC8D8F8FDBF3172FACABB3D332998C2D2D2DDBE3274FDEE30795AB557767A150B09F7FF267FBDEC35F58FFF0B9FDF6DBBFB4EF3CFC9AA5B29D58981F86760E82A48CF5E4BA2C168FDBEEDE8131EDF7CC4C4F59B55AB1C78F3FB3B342DE1E2DFED3C93E3434842C2B31EDCBDDB973C72E2E2EECE5CB97D6A8D71DE3488C253DC59CF1F0E1776D6777D7A627279D323DB99C556B756E9777EB866F6461FBF077BF6F5329B09E9E9C8D4F4C685B4C1747DDE55DDDDDF6D39FFCD8365E6D5A269DB24E19E6B3274BF6C9A79F5A4D46A84B868FBF3E6999FA5FACBB5C749C66A727EDF657E69D62A186A817A214F972E2292FDBE1D1915B0EB705D6DBD3237E352B9C1CD9BF17FFE5E6D1379BCDDAD1D151375BDF3D78F060706565C5B6B7B76DF6CE82C5A29790D644AC7B5C826F1BB06508B3B8BCD0D3D3EBBE0B855319F6DC22FF237093A994251229A7403CA85B3515B7899B635638CE4B8998ED7CBE151AA049FF956D682DF7DA10D3ADAD2D5B5B5EB29999196784E5E5E5D7B8B95A6D5A1DE16BB5AAF576E5A4448F1D1E1EB6780D0F0FDBDBB76F5BDF7D7D7D0E7A8C98D09292F03C9FBED8B099D9592B97CBB62583E677B7ADA3A3C3CECFCF5B670707076D7F7F9F8BDDB762D1AE5EBDEA64601F8800A27FFDF81F9689EBAC152D934DDBE6D9A98DDDB8617B7B7B2D5ECA19EE9957A879220C0F0E0E9C6CF0EE5708AF3C7FEED0ED89BB84C60A063863E2DDBB774E50EC051226045B2F209413E4894D9FC050186193C9A43B07B4198403302E968A0E2DF05A585870FB3C013F84F346E11DE3634014C10010102E164B56566E8A542A4EA9F19B376D6060C02AFAF672B01F1E9EF8DE55B892D36EC860EC45E13A1015B176FBF66DF12E9630C0AF347E83C71022105E797F236FF37424455E283FE840CB0067121E01F7E44914673E9148B8084967522EEB27126752F282586B252C08BEEC4730CF0F637B033F5182C4B3C46E4747D6CE959F30605406DAD8D870E8F3CE2177614886E7452E3B393971EF8B8B8BCE48A71725AD87082039238F8CFD21064001561EC900F7224A56B76EDDB2A49421A978EA5692C9B7298140308611C2F00E121EAF3E6B855E4C5E191B1B7330F4C2B19F6F8C80D7F8E64975F0F3189290D83B7EA4FC1171394165D5FA7AFB6C7828AC2EFE2C4EC3015E1608848126EE640EC43C5D5B6F85403C9120968775EEC26928782891466738148D466C4725106150D20FACCE1CC231BC52AADD4E00E20C25429405EE32E6F7F7F79C703E441008EFC2B3BD8C318701310025145EAC076A0A044B675078F9FB3D2FDE39DB8E30CE832E104B3E402FB52CAD5E44B2E5380FB55CAC4D191787D1B883158710C60F1FAFFE9BBA0F2A484820607373338465D3CA5CE6E25CBC88BF76C283DCE5C97B9DF8E7DED7AF5F3BFE3E8307CD5AC31E32F9979D6D278F1078D1939C9E9E3A67F910D05A0706C3082E043C94384015E8944589F95662D1FD9434928A9FA0E61FA84A848C1BEEFCA984A6E980EAB5B09FB8A68C8F62DEE210C90C6738C304E1FDEBEA2DEA4DFE28C49E30CE03773FFB53421DF03E3E3E6E85149EC6604EB6260AE085610841D6D1AB78516C25418F1EF7AE31E82F4589782CEEB2F855C54D5AD07543CDCAD4D4A4A0D6E9DE5D6951485092BE7AF7AE53725E759577BA31486671B03B91F2840902FA41894DA592CED8DC457C93DD298F8406997B747454827F91D9B1C076B35285E53AE4C5FB952B57C2EF6AC86F46B0CF2A84E04567490E48E83E9F037CFE90214640C0379974CA6B447529162611B67B0D4291F6D2459CD22BE00DF206B1E72B42586703076510409CFACCCD3ADF5F202AE447CC721E5EE1DDFC17C163A0A0E13CBABEBEEE4A98F7204F8C822C9E7C82E59E376FDE38D478A4421E0132CC5DD70831E943006F0CA9E9413160EEA9A038BA4CC7CD520371BE4C1E28575CFCD7AA358786D11B6356160C199E28A19E7CEA5A5A5E6ECD81C6B2601DE68E866BB90315AA61FDE7A02C7E2E24B4D3AAE21CF2BC9EAAABF5E40CAB9C5041AE2602DA42A0828655B234CD8A2B293A80B2343E5509ED077F880807FF8D47803DA1D0210B0361422221D8A17C4D359C3BF6F776DD590CCB958C0141B69BCCDD14927BE7D43D0E094140F7FAB56B36AB76D5676EF8E0BD57AF36DC3AF7795EC8342287795ED0C2FCBC750A158C09FD111B1D19A1F4B5107057A1DA4488EB04B78915A08A2030028AC095D2E70FB146A96BCFC0617755777BC2AC1DC2150F5F349B0D78D19470D687001EBEDCBDC1C377779C099BB0C039A3A4F9783383D308DDBF7FFFBDCC8FB3FCFD10A1C5DD3CA968A10E8D564E690B911D66CABAF01BEAD6B655D6BAFA07068E92C9445DF0AD6A63A5C23F05A5769596B2064FF7CD10F3922E1642EB153D2B52BC9C4E67F237C7C6CEE3B158BEABA3E35C42D492C9548DFD956A4DBF5AA524BEEA422B8E7DAD3557D6F9AA44D51DE58AAA4E45463A1C1D1E2E26E3B17C26933D8B4563F55C77AEAE6315863F2B5ED2417235BF2F2E8A6E199BAA0C2357259BCD9CA8932C154E4EE2EA38B725EF8E72DDAFFF03D71BDAD934B744620000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (112,1,'Rackmountable_4U_server_2D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000001A08060000004821599F0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000F384944415468DED55A59531CD7153E3D0BC332C0306CC30E12020910A0CD926C394E2CDB9162BFBAF294A7BCE40FE4252FF9092E3F265571AA92BCC68FB663612D18C48E0081166010FB32EC0CDBEC39DF99BE43ABE9B15D2EBB2AB9A5AE66FADEBEE7DEB37CDF39B7A511D125BEFE487A2B2D2DADBFD8D6D6D8DCD2B21B0E876DF47FD8323232E29AA6FD4FADA9AFB737776F67C7F9FCF9F37F676565618D5A3C1EFF3356F9255F778C835D2E17BD71EB17B4B1B2441F7DF4112D2D2F939D37E4F3F9A8ABBB9B7EF1F6DB343B3B4B4FC7C7D30A3C575F4F175B5B69A0BF9F5AF9BE7F7040EB81009DBF7081BA798EAB57AEC8B38D8D0D6A6C6890796F5CBF4E9B5B5B140947A8B0B090060606E8CD376FD2E4E414790BBDE476BBA9A3E31BE285A7951B8984C9575543B9B96E2A70E7D046F0807EBBF894022E377DF6C11F286E73D09F6A3F2187234E9F7CEAA16834FAB3293DC1EB2CABACA4EDAD4D1AEEEDA1782C06C593D7EBA5828202DAD9D9F9C2C1E32A31D8664B3A3B36876B7F7F8F8A8B4BE8F2E5CB545454C41B8B52C3B973ACA06DBA7AED1AE5E6E5D1C2D2727A0334348AE2036B016A6E6E66456F8AD0D68B1769617131F96C7353E66E6969A1E59515E2A8A325EED3782DD555D5143CD8A76BD7DE20273B4481C7C3EB29A6B1A7E3741C0AA5957BC846E5AD93DD666723E48A01DAF656C99FE3A5ADF2068ADB9DD4DAB2C18A8851A6CB47C575D544122C1A2168B4E40F4A4590FECCEEB091AFA494F5A4B17E12B4BAB6A63AA55F0DBF76B99D1839D8C04EFAEACB2FE4D9F6FA8628DF382FEE99999965304081BCC84A85E777767692DD6EA7183C434B1A24168BB352348A4423728FE1195F1F7EF81BAAADA9A1878F3AE9FDDBB769E2D933CA61AFF39596D28B972F29C3E92407CF69636538329C2CD4C61B77F11C0EFADB3FFE9952DAC3AE6ED9F6F4ABBFCBEF0FEFDEA1682C2AE36389B86C182DC69BA83B73867EFDC1FB343A3A46451C1579EC0883C34FE8F6AF7E49FD1C311DF7EF5322F1BA51FE75EE121D6A0EAA1FFB8C129A0EBADC0AF9FD4B6D174F146F3044CA147A9FC3E9A0EA8A728A6372FE37BFB4947A4757A9BC0747F17AF229C00E575A52449B3B3B747C7C945ACBBBEFBE0BCFA7BDBD3D3692C3030388692EB2670E0D0DC92018002B85D742A9EB6CC1682442C7474734EDF75399AF8C616949168267FE193F2BBD84E6171658E919B4CB02A6FD33E4B03BC83F3545796C946D7EB6CB426D761BBDE2F17BBBBB69BD788ADFD9DBDD23FFF4149594140BDC6D72B46073333333F4F4E9539A9D9BE58D6C0B2CCDF8A7C518B3737374747048D9EE5C7110C843BBE55DA1E5A89B1EBC11A03843CFF048316F3E41D170889666FD4A8329451A6F2953F0BFF999297148EC2BC2FA383D8E68CE6FE735E55030B84F3B9B1BA4712418217397F7DDC090ABEB3A8E77663C1E4F1DB0FE192B7B787858BCAAB6BE819C0E8728EC3B712EED8FF4A3B1A07C6F2179F2F3283B2B9B0E0E0FC9CBF00405EE6C6F924DFB81DCAF59FE29707A42C2273DF98545EC28C5E25CC0FE4C8ECED9F9790AB2214FA0218D00F5E47BFA8D63801C9EA2621A1D1CA0D5A54579F636F327A0B9A7A7878D147C890888E6E4E48865549308008E6A096A387B467E5B111F369AE0904C98621E9B41DFF1F171EA5DDCF3F3F38580E679D3F36BEBECB54554E82DA085E5152A617C4758E7718650515141C8147E4C83672A3E4BC24CA144C9E0D030C16773B2B3C5838F8E8E292F3F974293475454E0A13CE60B8CFB310D989FD4592A9304BEB3CC219169D40F740308423F1B200A0344A020740097704F4EA6D12213624579B9643F087B73BBC2998C82076303F95DE78CA6A3A383DE7BEF3DB9DFB871430CB2BDBD4D4E27C2329911B8D9F859EC895E56021437CE991522100B9C98983825F39D77DEA1C1C1413A10B23D692525C984E1DEBD7B749BF9E83E73415B5B1BAD30B9D7D5D5A594909F9B277B74F01EF372920A7FC2510F0E847C409CB9DDB97387BEFEFAEB534E58C3FC7781B33AF4DDBC7953D67B86390A0E069811EEB2C10027EF1D72B41B8838E6481A2891E01F1A9409E5E3C218972B93B3A17D216728C5DCA05078580A0F0D56362F369B3D0F0A3F62CE0099223C671872965757E988E709B011F15E88BD09F0804881E1ADBCAD9253BB5D1387606E63F4A1216BC2DAF12CA1C3DFD8B3E7021C31C172BBE0855A13323228C8DCD00F65E36E6C4CA2A7200F8E0007235D46321D3D890018A7A9A949F6880B33FC8EF5FF8027C8C7032C580CC01D99992EEAEAEA9217641326A809713A084F3D85F43C0E46C186C6C6C60810373A3A2A02918AE2425A76A6BA9AAA2ACBE9C5E434359F6FA08ECE2E791F7502BCD7ECE5687008CC6FEE53BF0123900508431D81B18034D5DA5B9A744346383970D37F3852A074BC03AFB59289677028739F723CE86072725264F573DD035DD5D6D6CA6FCD0441705AF4F33E16575757A510CB64ABADDEBA752BFFF3CF3F3F664FCD84E2BC6C498D5F442A29164E4338E91ED37754A2487135A78B4A19DE4A8ABCB4B6BE4935951534C999D3FCD46412A7339C3F847BBF7784FA6BFFF080CA6AEAA88CB335400394E7726548C615E44209E93152CD1F27CF5AE621A79FA55C140E3EEEA6CDF5807290C8C71F7FECECEBEB5B64C8AA72288F6525231D7DC8DE7F4771808D9588C2698D8B0E2B52542168554DC22B427AC184F0466421344150D87CF7C010E3B19BCA39A5DDDD0D4A16840639E7CF37FE24C48FDF804844DC10D70AF0D75C4E51ED9CD9A198CBE3BF915603360A19F2B046F3BC2A2989E98594954C4410F6A6DE2D2B2B131E7CDCD7AF23C2C93E789E097EAF3DA10FB6A9B41072F86A4C7100FF08EE0745F9C0EFF5F5F5531784027BADFAAAAAAA84ED81D70B5C1F0043A10C45C20C8C12556E9E1BC51D8C810DCDCDBE127C87015FBD7A75EA427482F4CDCFF10EC21E89C339AED821131C80C402CA53CAC9CBCDE1D4378BA32C8BF79584CF714E30006D70282B99D8C3126768E6E7E023C85C5E5E96FD0602019189FDEB9A4F41B2A1796034E55C2A02123A89D49D90B02661898541C9B068C87404005202512A023463B5D98BE061F0166C148B5ADBD8A043F6CC3D1EFB6D6F7F1233592EC6C00056C40F993082D953AD3C17EFAB3953243CF15C7E832033F4084634202AB91EB29409EC4794ECE9859DC19B4F8D45AAAD9E9B39007219826A4F1940852B2E284AFEE6C14E562C48F8EEDDBB426EE613468C8352AD88188BC0A2FD1CE2581452346C12CA8797A0CE28E6B06F6352EC1D1CA69BD7AE50C7A36FE51CE8F1E3C7723EA420CED8A4806279567DD8288C0359900962C53340826AADCD17A41E0409BB73B2E9DEC387A224EC1369ACD5BC5837649A3324A568C8029760CCC8C888E8C96874A3010C1953C21801A9FC3F1501361C0425249F076CE0B22A78173934AD1A4E355F3B2433A470F71F3CA0682426E7242FA767E880FB9092E29CC5C79C50C0B935946745E47BC1605A1A7CD4D969499A5CF0D016CBF255D7D2C2E232459106731D82822C168DD139CE7E3219967AFBFA2CE71D37D423E6B91F3D7A94CAEF8D843C3E3E41BBC13D2AAEC84E6780D723000F81CD271CA009C6D5710A0A8CB3F20CC01226DCB538D729E70C07308479418C086D782FBC1F39FE571DDF502EA7A77535D5024520E399B905AE034254C96923C23E6471EA0942C566CD7D583B3806F80B28C19AA4D0E3C805FF3C19191512C699110C1DE1B5807FE6E6E728C0F2713C80F1567B415481CFCCC9063C1EB280FDB8C3D0D01DD608999D1CC9C63A40194087A01409E7EA599028D9180108B12DF664285A70530AA8930B9B8630F3735C50060C088583C8CF9E3D4B8D8D8D860CC2268A40AD819842EA09D8C37132149C84A9D30DC6B33A32C09A4188502048180A8352155F282F948F21CE0C3907524E850254C1975503945A6581301864821B5001C300EDEDEDA22F2354A82C4841935E28A2F695D3D04F59611E230461617274CC0B05F478F4B37833B1E21DF4A5049A2A5633796281502E946867030779BE41F6CC50284C5DBD7D020D981346870151C099890EF342A655C1641E8B795426A6F078E2C54BC94E6252E3385E1B8B230B2B3E43B401E7CD15BF15092343C3853D2AA3C74D10A41BB59AE7FB0B56706C19013A09835CDE7AEB2DB1B639DB5163ADB220BC8F0A14DE0F38829729A84328836C910A5E6D6BA587DD3DF42693F003BEE3F8E3C58B17122D487FCD9B56F2D255E0F048F007BC16E7406880881409375DA030CF89B18802AC0FCE857D5EBD7AD5725EE806CFCD7D0ACBB13F9C612182B8BA9567985719C00841CA08D80723C8A19C86AA2CC86800D2C9A2A9B9590815976671563E37BF60593226BF1819CED3D566B808EAE9ED958838383C628F9C94F39FE9D939318C47F0B35A0A24AB1A742DB09EB6345DD3F36FCDA4247C8BD8E2482EAEA8223FCB815101B1F86A06E59C617884729F7006632953E5F5166D5537AEF9381C3211F12E2EF6C81001EAD454375EF234544500B013E1834109FD60ACB2CC27E109DC05999ABF1DC37B50FC58E1263C15EF023F31A73A6483C7DCEFFC56BE375C686C1012AE42B1B3B22A30D7507F56A0C3ECFDEA7819EB304310F808F3C2EB3146C9C56524611FAF2B9E88513C9690BEF9857939014594430FE65C5F1D2F633D66E2C7FBD827921445D45807201991785FCFCA1404A10F70984A5313890800298C08009942992A0AF05104DF35510142F9C0400543EA52139A9FABC20DCA56B0813990DB0356D4511116062EC0625C19C90C2CCC9B0491623DC6AC4C5D98071C607E8E4B9D928210A10C7C7786F28C248CF31FBBCD2173E3FBAE822844240C67352FF68EFD989FABFDC368D5D5D572C797C502FD58457D9857240CBD603DB8EB498D44C01A1607C5AB0F0B729682F31B0ECBC0D28208471693EE9C04D637A7688A6CF00EE60561C1985010140858C23BC3634FA5BF676048BE8C011A904A42D130A0D9EBB0706CD08A84D51A223AC643B130849C4CEA24FC6C7252B213F41B3FA240269489B599C91563619C747B34261DE000242E309A7CAC07B473BD11A650EAAC4A4500EF6D0306985447AD78591144583EC427790093A7FB7F36AA88B37A0E88521EAF0A158C0DEAC514E4B437375157FF205DBFD44E83A363F20ED6011286539837ADE0D2A83C635F7D7DBD1C0D2301501F8A8C24DCC6F2C2A1B0A0760647DD378135AAE5EC0790A53240AB79D3C9541F667036043852052B48581592F85F1D9C5F4B94410E8CC0579C7532A0E90AFC2B2BAA09566318F2B1B52B6BEBEB375819B1C5B93937D97EFAFF9FC5797FA4ACBCFC48E7AF5468ADADAE667194B87E8EFFA6D3D0D878AACA3A0E856CB37E7FBECD6E4FFCD402599FA1529FEFE8D9C444CEE8C8481EB22E86A96138253BD67376B4DFFF1723B17F48035214C70000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (113,1,'Rackmountable_4U_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000002C0806000000ADE0B05E0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000018BC4944415478DAED9C6970545776C74F2FDA11629584241609C426B010FB6E600CB6F15A13A7BC4C9C493EC5937C4F556A5253959AF990AA7C48E56BA69C54AA9C724D5C31C1363B062481D8056613426C0209D0025A115A5A52CEEFF6BBADD7AD7E2DC71518F0CCADBAD5DDEAF7EE3BF72CFFB3DD966F7878587EDFC3E7F305F56583CE379D39577E7C6348E7699D7B74EED67966F83960BEEFF745435252D2647D79DD11F86B3AB39EE5F39F03DE37EBDCE728C3BE5028D4F6A35780ACACAC1247E06FE95CAD33F01C0BE859D235A8F3840B1DCE7775750DBFF00A909B9B9BA22F2F3B0247F0B3FE002CFBFF83B6FB3AF73ACA70A0B9B9B9E3855180A2A2A21C7D79C311F8569DE37E84027A9623A4B34A69431976D7D7D75F7CEE14A0A4A4A4CC15C0AD60DD3F5AF6531B0D2E57F16D4D4D4DD7335780E5CB97A7E9CB4F1C8163ED05CF73F8FD23569E7E9D471D65D8535D5D7DE5A929C0C68D1B0B5CD08EF0D35E3466FF9894C783AE7AAB0CA0C3B163C77A7EB002BCFAEAAB3E07CE2DB497FDA15AE90BBA9F3E9DE556210E1C3870CD53017C3EDF87FA3EC7FDC5E6CD9BFFB16CE9D2141DF2C7F1E28EEEEE6ED1C0513A3B3A6A8F1C39F2EB40209C79ABCCEF0C0C0C5462E57FA3F39FE241FAD49C5C295BB55A1E34DC95D0C04062287911B8F17F20D2E7F34BFEACC270923ED02F3EBF5FFC81A0048687C42FC312F20564503FB3666070409292866468D027A141FFF3933EA8CC4E1DAB94AE8E7016893167646498393434D4D2D1D1F10925D8ED5EFEBCFDD143E9EEEA94AEF6365C822C5BBA549A5B5AA4AAEAB8BCB17DBB2E32283BBFFA4A7EB2658B4C9E3C594E9D3E2D67CE9CF1E6B8F3312918943F7DEF3D73CF899327CD6BF19C3972FBF66DB979F326E86334F7BFBFDC21EFBCFD964C9C38512A2A2B65C6F4E9326BD62CB97EE3863C78F040D6AF5B27EDEDED660D68E8EDED35F4BCF9C61B326EDC38292F2F97997A7DA1CE1B7ACFFE0307C754029F73C1C387AD0E940FC94B0BE64BEBC347D2D4D62EBFAA3D22D37B3AE49725AFC867BFF8AD8492D3E41FCEBD2BBFFABB13527EB4407EF1D79325343414B5779FA712FA3CFEE44BACB731D7F8A25CCF90A4A7A7CBD4DC5CA9BF7923227CC7EA25A8BC4F4E4E96CCCCCCA9CAAFBF4201A67A31C3AF5ADFA90C0636B2C667495E7EBE6AF8A04C983841A64C9D621E3C756AB68C1F3FDE7C37E5D62D494BCF18214686E3B238252559059469048B36723FEF1F3435C9A44993754E924165E2B8F1993261C2042A8892AED721D4891327495ADA3D730DF7F4F5F5C978FD3E3B27C728C0E42953CCF5B9D3A6E9DF72D9A8A1ED515B9BA42A63C28C88E7B347EF3DDEFBB1465A5ABAE417164784E47309CC3ED72A192FEEF77E459DDC9C6CE57148264D9828DD8FBBE5FE83267BE188BAB8DE2F5A304F72B2A7CAA0CAA5B9B555BEBB70511AEB6F9A6F1F7775C5A09A2FF2CA4C4A4ACA8A5280152B56A840A7CAEEDDBBCD6704DFA74C0DA8D634DEBF2F172E5C3016D7D2FA50AED7D5A99086E54173B3DC6D6C948ECE2EA9BF7B57E6ABB5CC292A520B7A24576A6B65FD9A3532A0105A517954D6AC5E65047EEEBBEFA4F15EA3747577E95AAD32101A34CF62DD067D4EEDB53AE9EDEB5506F4C87F7CF69F8658852CB974F98AF8F6EE93612C4C8572BAFA9CA113C5A8B97A55FA55195A1FB5C9ED3B770C52DDAEBFAD8C09194635288DD9D9D9B272F93279F2A457AA1435D6AF5D63ACE1F889933267769164AB32DF5214BA7AED9AA7D0F766174B66A84F3A82A932F7C44E19C2A7A6BB1520458A67171A2D8B2730F7FB88223AD7A6A5A64A6E6E8E04F4D91889FA681997911125BCD8F733674C57E3CC34F46270330AF2A5F9DE9D708ED8DF1F45FB76456D10B6CB510C4583094137822C59B244AE2A23DD9AEF33AF0103D17FF1F39F8BA616D2A10BBCFBEEBBE61A985DA6F76D58BF5E3EFDB77F5741FACD75DF1E3A24FDBA810F3E785F3A54696EDDAE9755AB56C98AE5CBA5FF5F7FABEEA44C4A4B4B55C88F5583B315EADF969D3BBF324CF8E8C30F0C1DA7CE9C95C73D3DA3ACD067DE8F30617661A17CF8FEFBF2E8D123B9A5F4AC5FBB56162F5E6CEECD5564F8939FFE5476FCCF4E49494D913FFBD9CFE4AE2AEA4D558E2D9B36C9ECD9B3A5B3B3538A740D68F8AF2FBE903A65525C98D0B16046A7E4047AE46C5781746CF967194C1D14A91C298300BFC5AA4C5E02F3F9465BBF2F82103E993C6982841C836014CFF6C7459191BB874DC6111A0849A61AC2F4BC6972CE1FBE1717ED1E28D4C2850BE5D4A953160502AC711D1EE2873FF9E413397AF4A8F19D0CA0393B2F4FB53A4D426A5D7979F9F2A4F789B4B4B44A81C22AD434AA6501C5682A56073108B4E7C91345818792CF75FA372C708AC273BAAE05D4B3365AFE40218EF5B3B2C64BBBFAD83ED5DA1C85C1BE5EB5E6D6D6EF05BB2807CFE1D90D0D0DC6D25124E284640D7C26297D1D2A64343F3F3F4F191C927BF7EED3AB50044852987D606898A8EEA64D951585E855FA17962D336BA6AA52E3D70795E55B52EF4A96BF4F0EF4CE949A6D0D329434282B4EE449E9E256DD57BA9C3E992C19E9E3BC6350DFF78B527DDF2B801DFDC72145BC9EFE0149D1FD9CAC2CD738EE51E4BB6DDBB61994DFB16387D96F5353532D2B60F2F336A93500FF08ED905A2F4CC5974E513FCAEC57C1477CA52FE6F1562DAD238DF9EC73ACD7E6C6689FFB7D3C3FC5D7BC9D30798AA165920AA7BBE7B16A7148662ACC35A800411802556C21126F78D010A67638AEDF1FB974386E2E1F8F5E629D74B53802DAA95326CBFDA66619A7D68F52E3869E28FAF4F6F478C743B141472CE28CAA2344857A090D22336B8224A96B3B5171443ADA46BACC6FBDF596CC9C3953AE5FBF6E8C4B15E04AD06936186177B82246986E61B7578391CD1B37A8E5B7445D3356B1C38BA189AE0589400A3EE3D77B15790800D72C5F2A6DFAEC4B576B65A56623C94917E5B2BE1FA70C5FB8608189F28DCBF2FDF08434D1BD7C57543402ED4734A64101E614154AC9BCB9B2E7E021292D5928E335E8DC7BE8B074B53D9475AB571B83B23C7B5AB41110331908B6EEF61D359CC951FCB6F7838AA02F74E9F7A188020C99D445E22A406747BB54545498887AB56EEAF4E9D39EC42C5061306A6A6A3CAF610DD291AAAA2AE3ABEFDDBB67040FA3201AE260F60455CA7B0FDB0C6DFB8E549857E6D7FBF6A962F46B5E1E90AA13276489C612C036CF56AD8EFBCC5475098B162D32743DD6B823DE0001B110E82180C2AD5CBA74495D5F9E711FCD1AF0123340BB35C8DABAEB7253E31B5CD7F1B3D5E18055F7F04883E0931A6812F4AED5988400DA6BB057788D657A0DE2258DDAA5BABA5A8A8B8B0D8F581B9EC19327EAB2A669E643FA1C8BB8B13194EBEF8328C080FD23C4E3436D0610BE6958820A2730185F8FFFB4161A6F701F8422D0B1ACFD8E066C300764A14801731908C0D40B741D1BC86C7D798309EACE9CBF206F6E7B45AEA8F55FD409CDD0C69A080641C71BB6A2C92B2953BCC1F318089A75F87CF9F265292B2BD3B824C7588F35141B822D9C572C0BE6CE95DD07BF95A52F2D964C15CA9E434794773E231C901565F2A2CBF28C7D24BAC65AF035CD50962A027EA79954414181CCD1E0DCF2D246FEFEC06805806ED0817B5CEB0D8E42805B9ACB5B8D3191E830859B2469558DE3261480D42936C570479AA46589208B7B2DB3BD82BA88020C86E9FAB6E2A8A90D20BC1DBBF668EA188AE4B3280074215C6A01F1067F678FECC9EB1A0486B57B0DF61D9B1E5EAEAD93DA1B374D6C72ECD41993C2858DC96FD6E37AAB705ECF055D729C3A86D700B55026AF619587BA48800A658C02C027940405E0EFCE340AB00BF9EB87B556806E17E0140CCC66D03EE007460235F10656089402495E96C6BDC0D78C19338C32E093F85C575717412222F430028415600DF9BB32E8DCC54BB27DEB2B724DE1B246E1171AB106188002A0085E039A10A2D735764F28308A42CD838C02B782907A1481AC8BB32E604EE12C458062D97FB85C5E5AB8C06443878F55993D98B4540D0A9EB1172F9E215CBE67EF5E3CE3D92800BCE53DFBE01EEB366CDA882BB2EF254601B80F7EB17F4DB36B0194A03EF437FA65198C76578AAC0BE03DBE76DEBC7986381E1A79409C6137C0355E9BB17F6713D637D2B0700FE0CAF85A67134D148C5439A9445E57A636B73E8C080B254261CCF50906CF4D748DA50B65C2153639E9AA45450631012EC1BA00A2FF0C8DFEC9481AD5454CD0EB8D3B4A0A1A9FCC9AF0F1FB3C976BC6E219866279463DC33D0C2FFA4614201601AC3C91B5F2BE4E79FCE741B75FD60B30B74BFAFA927501A42F43C30622F4A614A9AC3C9A302A25AFBFA6969C685007A83E776ECC6BD0547F726A84397E5FB81032316BBCB19A879AE2A43BCD8D4EB5D03D7BF7268C9A9B9A9BC78CB6E9258C950D50D3E8EB0F23253E1F058036DEA73AB14650DDE6442732AF3C7A744CBAEA120480F69AB1784655B55D79327BE1A208CCC7A048A3BEE4BB6908BA8304D50A76556E15205C09F499624A3029602A85580030F4B406300E6432DA743355A7C3CD250A487E437878DA1802057875DB36137163714F73CCD560CFC6003BBFD9151128420F1B4C50D2D3D3222EB4548342F88AFBA0F0F2B4062920AECAA4A7E5E5260B0031DCF2874EFD5BBDD295A78AE18BAB00BEB06A2459F8B790110806E44CD509938AD09C214AB6917AECA05BB77EFD7AF9FCF3CF3DE18C923042DEAB164B6912A19F53ED065A6116C244D9B07AABC5F577EE8611493F1390B63BB975A3C220B4E01EA0F5F8F1E39E01DC471F7D24070E1C30D5CB7883881ADA2943135842C3D75F7F2D1B366C309F49C1485BA1D716763AD5AFDF77D0AA95EEE9E3EE48A04B416DE5CA95C63D91461383C41B5C8351EDDAB5CB53C8EFBDF79E81F82FBEF8C2746689979005FC8036D242E29321875FA65F22D12E40F997E69275B40238908159BD69E13FAC007A916A76B21361C3682C01DF98281A85795EF936C2B083756C504624CC2452B501A0CD02E6CF9D63E878D0D22CB3347804F65B34D726DAB66920F7F1DC44D90702F442309B2ADA4C8789D0B02EA60DD6DC69605E6E8E2CD0F8E856FD1D2954BA68CCD437341AB4822EF808CF962F5F1E69C2C40E040B4D8968B7C1B9E97E2ACFF8CC9E6D1AC8B3A24AC2CABB38314081D213E583E2214081B5FE1104081A98238AE5C1303F51CE6A7C6366A62702C4169DDC513AEB63A11447C20810BEB65C11C8EF14590E96579894305C660E339A35A12911D4B236CD1AAF6BBC7C3F0AC15EA803A064288ABDB6EEE62D530822383D597D2EAA6165A37E9B1A27CA506C35D62BBD8EC733048C429818C10958ADD06315C031B6A9B169AC3F26088C4A016D1D0005484A4A962FBFFCD26CC6ED22E24D1E6E82368FEF2D6154DDEEDFBF1F69E0D0AA64B229208D35ECC637AD5D2DAF6E7E39DCD4D8B45136AC5A19111AB08F1BB0CFF69A08D146C15EDFF30AB4F26CAA8658186566DC0202B50D2ABB87C50BE6CBBBDB5F3306F2F21AA571D3CB91FA046BD15AB7EEC9EBB96EC518EB1A5C27A99FCD18A08BC93506716D4B243E0244F535462180BB0014A9040E87174B4E49363086325CADAD8D685EBC41B4CA71A4010F8D675DBA6EACE14689C7AEE609DD44BA7421C722AA4E9F8DC0EF818A4AA529BC890CB5ACFCBC3CC310DA9C160A479A4A234D1C94CA228D578592DC1D816189F65EBB269F897F38B9D4E734C72ED65CD5B4F4B6E9591C3D79CA74174D3EAF7B27BE0109487199510810392F104E9931025C6C2C6ADA7DA0E0B5CA77688746F77E4632B007D2A22E72E6C4498A94A315C02A415C05B0059851D6AAC287B0B9C5734D2B959CB8D70547F11A3EDD1EBECE7D6DBF8702F14C0A44F6DA80933F5366A5D17240E17FF3BA75A6A871F4D46963ADEBD6AC3148029D7C1E0BDE71155EFDFAF0A18EB4B8F7E2966C8E7DBFB9C5BCD2089AA728F1F5BEFDB2A26C89C956A031459FB161ED1AA34808D7CBBDB8FF8E7BF2EA8EBAE385D8EFD833E5793E976BB0196E0B0F3981E0680470DFEB8F89014641B72D0A555656987403E6906ED920097FE89E44BCB496890160B47B722F93A212E7FEA64F9F6E206D8D0A90B54B4A4A4C29D63662C2714098E137D4EA38EC81625C5468BE7AFD4638F75541601958A6B13847D36327832CC30680AE72680466A1993A3BAE097F4CC0C8DEF1FB7C8785B1478440A1274C57BD5C520806EDAEDDB8193E4C4279B7B3433EFDF4D3088FF0CF5E7411F89261C5D2E5A60D9E411B32E13D7C865736D602A5A02B39251C9BC54380315D8015B6857F5E434EFD9C8D606108074DF50A566C700861031E27892D946319368A25AD8109C402F859B74B326D625590293A6F28DC16A980A8BCB51A280C43348A6BCBD6899A504113CF2425EC41507FA00C4C738A3800BA501C942CB619342D275B66A882A0080579D34C2C70FB6E43C4D5703DBC821F899E0BEDF078AC163BFE9E6C017EC1EBF9F3E74735836C10301C27088C77BE31A80FFE5B7D5D6F5DC0A800CFE78F280041109BE1BD97706DAAC3667B7A7A3C6BEE898A491685DC50C5F34C648B805438C3AE681B05C0C260C84082E3EB044958A3D7355EB57AB7E2C64232B1CA93273D86D9F42AFC31DFC38FB178C673CDC92957BA17AF17909191316633C82B0B88450045DCA5EA3A7E09025042CAB608101B03B01F7A019C30E11C80D5E4449D2B9B29785D639908EC23102C0548B3074E080E6D6BD8765D380144B917E29B5A5A5D9BF399000925B056E4854ED0E3F6A1F1E8064E7153BC87167CABA50B3AA981B89B41ED1D9D72ABFEAEB98F8250C01FDD27E1983CA896286DB67CE2B9896867B01674201BD6B4CD203EF39D65CB60687430E9763BAA7079BAAF997EDB0EB669A0B53EEB0A6C350EC1431C7DFEB18E49A34C89AEB1D1306B9262E1C3790EEF817FAC26B231876082ADB52B964B50695A347F9E2C595412292AA1483063AC660FFB48D4C8721781400B5B6D23826F77B2167B68D6BA8079738A64E5D22592AC4651B66891AC5852EAA045B28949E005F1C4F7690625EA41589EC17FCE28200B78055D4C328316E74CA67BCD5804F047DAD50609423CF1D73AFF9E0089E0E2F0E1C3C6C703A9A63041E167D214A9BF7635A1F5C4E1B6F759C151C7DE86A3983AECFAFCA4AF5766CD9D1F714F3022E81CA020F06AB87943991FFC6147ABC6F8F9DE70827BFB942F0585E1933CD0D3EFA09E3D33D178FB962405FC3F8CAE31684B44178A3B6BDE7C69BCA3C1E9B9EAC8F7181B28CBC1506A2D204A7575F5BF04DD0810CF051804502D069EB668E44EEFFD69368318A481E9CE8F38F6687A650B2EC54585F2CDFE83B27AD95273EA77EFE12346A996AAF2620D4FB3E1627B05D6926D33A874E102995D384BD3C003B26EE572737866DF9172C3B3FCE9052693E0E8DBD36C5471528B4C82B1FFE0C15108109B79B86A23BD512782F0EDEFBCF38E5CBC78D1C09D71054E4A41D1810208D083DFB647C7E38D8F3FFED814658076AFEED5DB6FBF6DD6C4476EDCB8D1345DF81BD12C135A46E200914B35574D9AC58187CA93274D0FC004478FBBE5ECD9B306AD4030AA955E83F5D983D7F93C98B875EB56F37CDC11E9290D1AD25A3203941F5847D12C4A9DBB74592ED75E330860CAD58EEB2330FCE69B6F4C2A6B4F1BD579B4C96D03EDB3CF3EF3A41DBAA0EF77BFFB9DBCF6DA6BC62DC123262E1317103EACE273EA00D10AC07948F7A15627CDEC893A138865B3B03957664BC1BA20BF00C22FB209348BFC9305BD0611AB3D0593D84B847DB20D7EF0E30459FCDD36922CC1F38BE7C84B2525F2D5DE7DB2AC74B1F911C4EE83872247C2B002D6C2E2BC2269A0991CDF2BD0B2C2B3C660B30AFC2ED39E2872BB2B6291D9B3661A0420462116D85F5E1115E1B386BB88E415C12F5BB6CCB38166AD96B550765BBAB627946CF6657B27B1BD03201FA32693B0F505BDDF28409DFB066BF9D61DF4F6F649AADE14748E85F9CDCF96528C4FF1CA59212CC3F92D5FA2CE5CBCFB6C791874089F2D0C7F87F5532A26ED3A557DDE54DC6C5C810240176B12B57B957A6DB5CDAB5AE89586B12ECA43C3053F8AC25AC504999A34F80201CE7E7721AAD369CBC8DCCB5E123DD722A397D178058836D5A6128A4C2C02B87FA3E99C0588E28BBE0FE95EAB51802A14481520D35E8810609469AEF073687F380D3C7FFE7CA40D6C35D08B89639DCF33C19CFA532CF7CA952B52585868E0D9E6E236AAB79696A5CF9DAEB9F283E616F3FBB7C99326CAC9B3E74C4484B2E0676DD4ED8500B62993A856C0FD567989F88167E8B2CC4340F660A569074FCB957C550A52D319EAF393D4CA1FBA7E8C810BB1075CC67A6E22DA2D2F29FCE09EEC0157EB56E037E8615DD3385506CAE883CEE1595C18745B4552636E555438CF99C026FD634D7373F34AD20BD22F34DCA681FD03E10713E92E5588E2973097F43ADB828D37FA9C53BFB13D6AF7E008942D9E3C71725C9A3F91020A45272717CF9C32D53C97A357F65088C904D0747E34B276AD398DCB9128ACD50BE26921F35BC4C73DDEFF39E5CEDD704E4F7B976B41BE4E576FA3D9B1F6482025E11F759A2AA4D268918926D5EBAFBF6EAE0515384696E8B9B71C25F3AA9DA000E6C0A73E8342586CF38C8C08DAFB9CFB39299592922A3DA16E431B8645F48F6263E0AA10F7740F8FEC7F0829D5F91BB57A3FC2C7FA55F3370702C1406969E963D5A6210D6A7CEA0E9EF9FF81707EA236E4F53D74B5B777049E355DCAC821855C4FBAD427FB95E9CFFCBF4528120CAB2B31D07CB5A626B9AAEA589A22AD4F15A85569BA6E5D8CA2C55FAAB2D5FD2FFEB07AAF5E588E4E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (114,1,'Rackmountable_4U_server_3D_(64)',decode('89504E470D0A1A0A0000000D494844520000004000000016080600000070BE9A340000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009364944415458C3C558596F1C59153E55BDBB17777BB7BB1D133B89D3631B3B660C0F018440331026F3467E12E29977C4231AE505F1309911EB8819821092B3616731EDDD6E2FF1D6EEBDABAAF9BE5B7DDBD50C12641285AB5CB56F55DD73CFF29DEF9C1BA3D96CCA571D8661A4F173BB357F801991B7330A98BFC7BC87F9296CD8F9CA36BC8A0360B0D1DBDBBB803DB7F1E76DFCDE785D4B5E27009EF198CE80AC4F4E4F4FEFE3D77A630E989E9E8E351A8DF76834961F600EFE9F8DFD6FF2CEF0FC7774886DDB9FAEAFAFE75FD901376FDE1CC3F30F1DC761A4BF8747A1B765D41B3E879B1ED119B0E3934B972EFDF5EEDDBB7687035A11BDCAC59D3B777E1A4F24B230BCFF3F2BF1C6CD92B73C6AD56A75733597FBD9C3870F1781EC353AE0B798EFF16D5757974CCFCDCBCC5456904B323636261B9B9BD21D8FCBE28307FFCE07F2DD6F7F47B6777664606040CAE5126645D299B46C6D6D4B7F5FAF54AB35A9D56B323C342CDBDBDB12E98A4834D225AB6B6BB2B7BFFF25ED829188A4D3198162F2C3DDA7F2D1DC8FA42B69CB4F26FF28BFF8658F38AF118180DF277EBF5FFEFEC5E752874E434343128944EEF9F12E9B482424180CCAD1D1915460C8D760F8512C2613972F8BE334A5B7B7078634E4FCFC5C060607E4F0E010CE8AC864F6BA98103C0AA58BE5B29C9D9E482AD523C5624992A9140EAA4BA55A95F1F1CB62FA4C89C5E2D2150E4BCDB2247369548E719EDF1F508ECFEFEDC9D1F1B1C46351754EBA52102B1493485F517EFCFE9AFCFA37D764682443CF2BE71BAD20701D0C06646470507C3E9F6C6C6D2960AB6FF07A7E76060EB5E4E37B1FCBFA5A4E6AB5AA0CE2DB68342A8140204B0704E7E6E654840A8582DA58ABD5A58E4D4D08AAC188068CBF7265425EBE7C29D9EB59597EF6547A92292997CA2AEA4538AD04A3CF313FFBF3E717C98591ECEE96E977DE81CC9A727230E0179F69C8D76766E4F98B1750242689EE8454A1181D50AE54C4B26C294C27C41FFD83348CBA3C783420F1685852B188324ACB566E50CE30C4AA9585D49F8804DB08E5EB0D18CD20462361B11A75F50E954C464747657373334451BBB76EDD1A7EF6EC99EC0396D7A7676404F0A842E157198C22236E19A6BC3B370B07D6657D735BCE4F8EC5B1ED4ED6E9FCE34B2344478542727A5E946F2D7C43F60F8F241C0EC9CAF3E7E28361B66DFFCF7A111511E8562C956413E858595E926C36CBEA264B4B4B1B44408302192140426A95AAECEDEEC8ECECAC1C1C1CB4054D4C4C482E976BAF09A30AA21506A4914B4A29C2F91F2BFF74E9CDE1E1A61CEEE5657272B243E991911125DBB2ACB6F3BA811432FDC9C989822773F4B3BFDCC7334391651351CC6F6FC9FC8D1BE0966A5B16F7A9DA7776D67E363535252B2B2B629A265232A590B7B2BA06598E7A4F8E01D113250D136BA5713E9F5724110C05E5F0F05039238428E8C94163F59A065161FD4B817EF001FF2E2235C809B6EDC82914E33B7EA7271DC7B3F4BA8C6FF90D2795A3E21A25FCB6DAE2121A5E2C165554BD7BBDB238F91D7FB52CA60365D3891C7BE01B0E10FD3E11F0113EF83E14AFC3E820F369249D961C98BA51AFB71529E0E08BB5C8090CA3700B87E8410490A899E3E830547E767727E508516D3A4EFB3B1A4155A8A44E84120CA9B5224BAE59DBD850ACEF3AC350BF3D3D3D720C597E0447CB33C05B944FDDB4ACC74F9EB46531983E38A8015EF1E8E0C06613E7FFCADF220CBE790C07BC6B00B65D8034D9BA685D7494C3803C89528F38601A47792452E871C29670FBDB8347027049D37695EF06C145218F91D4838690E9EBADB24644B194AAAA81EF5895D0B4C89FBEB8AF1C651AAE03687806C1A151CD164A983ED4E1CCA32BBF612AE9F74CD7274F9FB5CB289E1DE3A74F054DB9C3714CC0689E50E23C061B33072FA0E80AEAEBEB534A6AA509772A4BFEA003B89710F0639FED801300552A4B85F89D1EFC9B93F0E5E039DC4F994407599AB2095DE6ADA1DC007E805EE6F8B8643299B61E349EB2989E7A703F1D408E21DB533F1AAF1180BD499EA99C7A015FBF4961ACD7644C46A2E181370572AD9F31A7A8F40B94322ACAC68991B56D0B8604D564F9A1A28434F3560F1A4E036B9E4A43652983CF9797975D52C4191194AF4031A00C658AF1BCBEFE7E37BF5BC8209AD87B18A6DB1F50161DC9B1B8B8A848BA8EB3743B8D3D7E55263502B8700FF003BA8E5C01E37B8DD7DF789FB9D1692A457920A3C71458DFCDBBA468BB8765100146C8CBDC3C8BB2B453782E9F51167981D164A5D846A530515639A96F3C1E53BAD160B36500F7514E20D08EA5329801E2733A88683E5D5A56CF7469F43A605C0B5229805FC2F632BA40EF0584B0D2254457047E9F4C2615ABA6017385A056A7A67217113984111918A3D2C353BA2847A70015227A1835A2E04296E9EA60B8F7901DB4DD63E006EED729C012472E6217DBE6ABE16155061918D6FB12104D47E832A82B03F64E32C9E7B420E5049F5F79986B1EA2A72631BDA6F231B4CB7416A3866BA7FAC66809E761349A5D240DD37B38299FD1F0AEF9AD86ED1A2A1095D6CD128D6709636437501D741A71B2FEF33CBDE6A41EDA483678EC70E9484F0AA87770FA3586C5D208505E47D40601195D3EF4D8CD775EAB1BF06E6E75B503D6BC18D988EC455F109041448335DCE7215497A13B3BC125E47DBB13443AEDECEE4286EDD25FD32541E67E12E944DDBC23975BED58B3C5F67682DCCD40384EA70320573542163D7B031D16A3C097EA3203689710113DBB7130595DAF5967A7D0E3B3D767EBCA0BD428D839180CA10D6EA87E9EE30804D88FEA41C2ABB69A194298AD6DB55A5193C439790D971D942BCA1A4600AE5DBDDAAE424493056EDAC2CD94BA524F2DCBED4A07DAB238A7D10986E144CE09548D34523000B91A01F3F3F39A7F1A0C715EDF0419C5263C4321CC1FE6A2260EDDAEF2D7FB9F14AD9652C18C2941263E2F9CABA8F31D6F5FCC6B929AE60F1AA15B54EFD079CD94A02CD58015CE702FA9A3B4BA757E15A85B5858E8687DC94FDE3E832949036903F5724B64B3CD43741CDF439F03BAA18EBCF926609947D453BD7D7DC55038D484336CDC042D3DF8376E6A68B8EA0E963627F2D4C2A5C986236C186CE3BD85F25745DDAF01F29578B4ABC6E40D04434DDC2E6DFCB3F1CF6EC9B2819426D60E67A95CA10C80D47070F576CE0A053B168B968687861B50B682DB5C9DFC9448A59AB8AD62AFE5E8BD28DB94D95EE3568A5F4BC9A24C9CE58423E12A6CB2CECFCE7C70DE2174DF45607EFE2F5B60E4D2107D992E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (115,1,'Rackmountable_4U_server_3D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000210806000000269CAEF10000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000010394944415468DEDD5A5B6F54D7155EE399F16D3CBE8EED31D8E6663060CC35D03440A89296044A9A469552A9AF6DA4FE84AA6AD4E7B64FED639FA356A95A2552A4DCB918B003D8D8180C0603BE61833D631BDBE3BBC733FDBE35678F678ECF84A09496F4245BC7B3CF3E7BEDBD2EDFB7D63EB8E2F1B83CCBCBE57215E2761CED14DA49B47279BEAF7EB48FD13E413B03FDCC3D53FD3C0B03E4E6E6D66565659DB294FE329AF769DE7FD64EF114D7025A13D643837CBCB0B070EFB93400BCDC1308048E50E9988F4AAF7F1EB4F70C0C798FC670BBDD1FE7E7E737F5F5F52DFCCF0C505353539A9D9D7DC2F2F2D7D18A9F33653D6B43CEA1FF0C9C4FE10AC6E87FE606D8BB776F03156E79F9F7D1DCDF1165FD37647613A62CB8BAD8D5D5B5F4AD0D70F2E4C99CA9A9A963B0F21BF8F963B44DFF27CA7AD65704ED34A3636565E5934B972E0D7D6303BCF3CE3BD5B3B3B3BF585C5C7C25168B1D4557FE7714229E1B9930C46DAFD77B16C9C917EFBDF7DE0769CFD07E84F61BEB6F0199EED852B735B86BF76E998944E4BB78F90A0A0444F95CADE9524B0BF4391D1F1C1CFC14042E393939B2B4B4F47B8FA5FC57CCC0B1B131999C9C140F06CD3E9E909FBFFDB63C78F04090E1C8FAF5EBE5CCD9B3F2C3575F957BF7EF0B422BA3C0C6C6DDF2C20B07E4E2C58B7260FF018944A66564745476C3B0A74F9F9697BEFF92446622120A8565574383CE7BE4C8610987C3125D5E96F28A0A69F9EA2BF9C1CB2FCBAD5BB7A42C1090C2C242F9E0C30F05619D51EED2E2A254ACAF91427F8194FAFD129A8EC8AFFB5A6538D72F7FFAD9BB12737BE4CFDB7E2B5EEF8AFCEEDD0A89C662DF26FB4B7AF1EA1FC95F128B46655D4DB58C61DF5D5D37241E8BB998B8F87C3E29292991E9E9690F0D10E4605AC4839F801F9D7816CAA1A52A2A2A6579398AB62CC16015145329159595328371FEA2A28C8B0B04CAA408CF0B0B8BA4B8A458E2F8AF0C8A2B82120B8B8AB52F86BE402C8EDFE82B461F1A726D71C1D8948568944ADCC72726742EFE2E292DA5E7A4EE38ED9A9D9D2140C061DC88049F080C503B3F29CB9873B624080378A5B63A22D9D92B78BE59AA6A3689CB284EFF37F75505F397C7E396EA75EB60388F2C411743C30F9363538D71E8C03E59C4FAB2BD5EF9E8A38FB46F6A7282CAD7BF01451A9D1C0F6354D000AAC583070F2AAE353737EB80D84A4C72FCB9525A562A8FA72675821228AD105E555E5E2E2323A3F2D69B3F95AD755BE40B78F489D74F4867E735F1F90AA47AFD3AB909AFDD505B2B37F00EC773B12B98B3167DFE42BFBCFFCF7FAD86676BABDEFFF6FE3FF4FED64FDE803112C6AB280F483FE6A4F7B3D56FAB9737DF382557DAAE4A5969897AD2E5D63639F9DA6B72A1F9A27CFAD9676287E7BF37EE93D9B857EA6EFF51E25978B8CF7212EC6DFF9E4659D5A32B690CFBDD0B03ACAB0A6AF4D1512BE060D68834C315413FD453383C2695E5651286F32C2E2C26D772ECD83199999991F1F171CE534803683C370006AE5CB9A283143FB1CEE1A121858B310C66040CE177DBD5ABB09C571E3E7AA4061B1A7A20AD508007EFF0B9D79B0D8507E47E6FAF84012FEDD7AEC91CA2650A9E48C1A17048DAAFB6ABA767C4CBCB97A5AFB74FDADADAC40DCFED1F1C101FA29111D2DED18E68CD96FE81012904D6FBB1E1CE1B37240B0BBE7BEF9E442027AFC02F51286AFCF1639D6F67EE848456F2A4A92E2A714F5C9A2EAEC77AE3B2B4302FDD373A64D502E990624314B9269232D621FE602DAEB70010330DFE1CC75E5D1EAFC452608EF0BE63C70E99806188529CE37E5959D9E6E3C78FCB9D3B77A4BDBD5DC37DC396ADBA5184C993F281A7481D12B7E5E8B2149505A4AA32080516C8E4D434FEAE90CEAE9B32353EA61EF6B5D8FBA45E8701F45CCADC585BC314066B880262F3E456F71D998B4C4171EEAF9DC7F504392E877E426571A05C3ADB5A65643891891E3D7A5476EDDAA5CE0E0EB8A31180F448BDD35C890C222ED1C505D9B2A15615E2E4B17979792AC44E8A246CF207E7A401193D9CA3001E5B01721D1A1E96C19190CAF060E37C1E854218516EF455072B799EA47DF68B186AC6DA0991CFC86194C935B10FCEA5ED6A7B872CD3F85C0B8858E700FF2C628F3EC82237911C9D089EF3ADF24EFA3E0D6F728CF1F46030A84E4CB458B6A5AC5C1314AF9C8B2B9AC535F1453E788C90E53D61009784C0DE543CB197CFECAD1484C877EDFDF3F3F3B271E346F0C4886CDBB64D1E01AEF89BF3D0285E2C5A3D125C505981ECC6EF9375503AE5F6200A29930678F8F0E19A565555A532ECFDA85B5406656DDDBA55E19063B916CA324A08C201CA03A5C0F080041175DCEFCDAE2E3508FF769269F662EFE765649A75F14E98517C89C5AD9A611582B87F1ACE32C68A460016B7821F6EE4A8AA84044B233382122291885A97DEB536E39855AF8ED8EA056EC6292A8C60CE45C3DDEDED97BE81070A07A1D058326CF93EB1DDF292B48B1BA077D9E7A701EC17D76622216EE1DF35283BA114ACC9CA5C8C91E820996492EC5351C2BCE724D344CB8A1511F1D86A0450C78420EC318A35BB69801330C04D2CB2888BE002D400896365B970E182BEC08963B69C990AE518C28D13E6D21BAE5FBFAE0A632ECFF7B94992690CCF372123DA883CB9BBE7AE34EEDC2E9F9F3BAFCA3A73E60CCF9D1CF927AAD89DBF4619E6625452260DD8D1D1A19ECF75986B5FE32ECB604BCA3F5F9C392B73737348245A951C9D6412B628D309867851D6DDBB77551FE4503538E4B2B96C10C439F81CEB1F098542BFA201C639C0F2CE1928BF4021086FE6E6E5CBC1438714CB9C688845543AE1ADA6076114606B699230378922AE570BA2B0A6626E9946CD311A1EB3427A9356B2E7CE9F7724DB09CD6C5C8E14FCE597A71D4978726A4A0D5659BB514263E30A09D1E88ACCCECDAB53ECDEB35772A0F81614968E3291B565A2FDD15167998F0143738890721485A90680BC45E85AC30C86BFE4B13A6900C6F43928FF9429E3D95F0F0C87A51C21C884AB53F8D3D3E959342C3D8884CD792B51C471DEE6D6AB5AACF8A1EC55E24F90D406642A8C2CBEE72493FD4ED1C86754B419C3B9186D2CE00C09BBDD59C878BC50CA2220365BDFF3A360E31846B9934CAEC52909E19A193184E0D4A4410B464056CBE52B6B3800C8400C3C10B7AC92651D2CC5ADA3E53D490EC07FF3F3737A34C08511EFB9B9D446A1CC1CECFD6CD5D5D5BAB09A9A1A25ACCD9B37EB518692B01A33A65565198A16FE0EA0A8A2C258575016E726B9D91B21865984BD9FC6A64C92EFA64D9B146BD7A17235599AF1C240699994C028A5DA4AB4AFBBBB5BDFE73A9C6412C25838D9FBA970CA1C4656C731A3485A784FC2633CBEE6E00E7B2CD742D772A0640458A574CD2A09B354CE5165D0A38881762F200931E5723AF8B26334651845307523318D00C258032C2082CEB55C4A60268F412C994E78CC79195DF6A873F250BECF964AC2EDD76F58188DA877652523989E4F2C77924947228F4D01CA9E243375DD760EA05C386C2DA3CEF479CC40761AE56BC6C2BC9AB8D8D2C2EF021ACA548C7D8384162EDCE9A08A1ED88B8A985ECB228F1E43E5138678B19CDFB373877C75B5438E1C3A08126ED273201EE03536366A14381D0333EA220E27B57CC6F0EFECEC5423DD40856C886F95841B741C332FBFAF403E07E173BF4D4D4D72E0C0014799741ECAB41BDD647534CEEDDBB7F55D2353952CE911409DB0DF22E9789A014CFE6F1AF35017FA0F1DFA9E84C7C6B4395D7D03038EFD8F108EA9D7343CD76571153965050A98989C92DEC107320F4F1A044C71450CE93DBBF748D7CD9B8E641B99E9CD58F436C359D24E462D1E18001C8D817CCBAB0187A321595E5AD6FD8D7926F4CC8BD90F1DA955CFA4D6CABCD5DD9DE938542E343727A228C5C854328F452691309455E5270FE2520D60AE3408A27752F9BC33026600313BEA138594B176EA45CBB3FFB175E6927A190E20AE12361841F4441ECCD14B3F45C6928F4DF308E2C1F043292E2AD4ADCFCCCCCAF6FA7A85377BC469D4A090E2BCF61C9CA14F3864C1C488633144D9542C39A1E35AA792B00FBFD1A967453E5FBE64819487FA8735EDA50713EBED1723995C6827684605F7626412A2A83F2202659EB71C22668B00B69855A551ABE506828C019403B2123849E5329C9DCE6708412CF39D2EF6137278E7E2B76CD9A29E66F822E109A2075794555C983026899F8498695EAEA5C0CA9C9C8C4EC593F079D8451823DC999C9C17E5F8F27D7A90E7CB4BD42FFCDEC1E7996432A3A1219DB2202393A7BC3400BF77D0D9D28EC9520C608CC0D7F17725B5FA079063B11D8212672BD9EA115C18BDCB4EAC1C576C9DE33B154C06DE1861542AB317DEB9A12C289D27A42D57DAB4283AD7DCA25E49B99449CF62B39F07199C774A174D756CEECC4AA8141E17D82B610D7FCF6AF240997412A7BD70FD8C5C3B0AA4261F4626A381C6E71E8DD15323C0E8168E518D77FEC219179C228019023D9CE91C4333D538A9464A25EF340EB13C92DEBF61C306190057706124B2C4B90B8F6DF3E5C517F66B11F4F28B87B42EC8CDCD53E23650E834AF933C36EE83A1CFAA9B0E43A546F598239454D4FEDD8DB26BC77669D85E2F7B1A1A928767031697659AD7692D06CBB9CF9E9E1E359275CCACC63706304711C92F68AB7A9B630444AD422C4D489C100454AEDFBE5D093804453A11542612E6F702A78B3238DF3CF09D95680FAA6292E5BDFE414440548A5017D4A210EB4169EF7290370A12753E8F76C9282B731B33732F8F1105138C2A54A5FD207DCA511844354E28DE08A3D1C9DA3B3A9C65A618D02E7364349451263FC3E614F8D32028B5E0A4EE6980651301DBA16C7A8B1A00339234FD05150A1D7E60AF9DF8B8685A9D186ABFE85524417A21C751F1F44612B77E5B3E7F41FBB660F3C30F1FC9FAAAA00C21139A89CCC836408113D11A1266BF3D0D25099BA28F10454F347500A3821F86A8767E2CA20198FDE421DAFAFBFBE4FEFDFB72F8F0E1E489B0FDE27A399F7D3DE422EE938518F5C077A93BD64CE4A1B3D86302826249CE64B4182E80DE9709414B8C00B23871CB4401F3710F2A5566409C90CCEE1482ACFC9CC296A445659BE8E21C3B77EED4CCC1CAE03444093B59189F6B7D93E64775E236C9D6C8486D3426D762EFA71C2A838A2221F21F17501ED7A7506011625E4EAEE480DB7250647ABD6EEB4C2BA4CAE5FEEDF35AC593AEDFDE6F1C8D8A67A6C43B0F2E0D99937798821A28A243322930C52138402360543F84B8131F468C02795A99030F090D3FD00D73D298C3BF20E0585ADF4E9686B038B7390EA0A750B9243A863ADF69EDB8A63974F39556FDD0CF8CC81C7F7073F6E2879B30296D26E2E73E289784C80C85116048B8EBCE6D8504424F6A664799F44EEEC5E99C8991979ABF4BDA47FBD5628F7BA44C3A1FF7E8B2A09D8EC579F41F1D5806C4DEC2D4520F0532E7E6820DA992375C56D1608E5033FD0325A767EC272C98F2DEC006E737F04139FB5199B21E7809645C5294388FE73AF88E53ED61CEF733ADA5AEAE4E0991B0418F645F381C4E8ED98DCABB1E631A506B34828CF504160662E49853806F2AD37836938CBEBE3E3512E19A739084AD2FFAE2CDCE491EDD10926904B41832C25697A5C0BF22C476D26AF08020BCBD7A635DDD1894B132343050200E8BFAB617E44511B66B407EE4D1A3BCE9A9A96C6B83AEFF943CEC315EB76DDB9A8F080B8B8B59037D7D0559AEA716F5C417C09BCB95C1E0E2EDEEEEDCEB9D9D3EC22C0CD48EBDC711ADDD70B45FFE1B72953321215755FF0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (116,1,'Rackmountable_5U_server_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000002C0806000000ADE0B05E0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000019524944415478DAE59C69905DC575C707D0C2AE05494868F67DDF97376FE6CDAA19CD68D74842BB461A2D6843FB32A3158C70624061318B64498008AB6C638371B1B84815A9CA3717E5CA87385F6292AA24E52A2A2997B103445027FDEB37E7E9CED5EDFB4418910F99AA53F7DED77DFB749FF3EFB374F79D141149F1D3912347BE373474E4CB83070FFDE9FF2B1D3A74F84F838343DF9A366DDAFC5F1B376EFA3FA5C1C1C1FF08D23314F8A351FEA9058B964A5656B66CDEB2458C30A4AF6F89F4F4F4DAFB9D3B774A496999DCBF6B977DEEEA9E2D79F90509CACF2F74D2E2C57D72F4E831D9BD7B8F545555DBF7796E6FEF9475EBFAEDFDE6CD5BA4A6A64E4CC765E8C811698C36C9A6CD9B6DD9DA75EB4CDD0E7BCFBB35B575B26FDF7E3974F8B0B4B4B6C99A356BED7D7FFF7A698834CAC1438764FF810352555D23F90585D74845929D9D2B2D1D732DAD58B55656AD5E67EF8FD556C86B25A9B233522FF97B7E20773FF6A694AFDF2FAF5FCA9677DF4F95652B3A12EF4105251552156D93AA26A85DAAA166A8436A12D429B5B138D5412D9DD234AB5796AD1D90C52BD799EB0669EB5D20F5AD5DD260A95B1ADABA2502B5C769E1F2D5B2FBD011397CFC413974ECA4CC59B242A29D3D52565527070E1EFCEC1B0360D9F23552545C2A0F3FFC7D3973E6AC1C397254366DB94FCE9C3D2B4F3DF543E9ECEA91C71F7FC296EDD8B94B22D198C45ADBA539D66604DF24B19636A3900E8934364BB4A9C5DCB74B53738BECDB7F40CE9D3F2F8F3CFAA8CC5BB0489E7BEE8CFCE8DC3959B97AAD9C38F9802D7BE0810765D1E225B6ECD9679F93254BEE95871E3A2567CFFEC8287D50FA370CD8FB274D3F68832BFD1AD808488EDBFB53A71E963EF31E6D3C67FAB8B86F99E947ABED13D748634C5ADA3A4C9F3BA4C1F4917EF3DC68FACA7341617142897BF6EC956DDB77D8FBE7CB32E55FD26F9487AB4B64FA0F2EC98DEFFCAB05C2EF7F7F8B15DFC09658E2BD58FB1CE9EC992B5BF71EB6B46D1F3428DBF72B0DC90EE8007444764207A1A372EAB127E499732FC853672ED8EBC3A79F94DD878FCBEEC138ED193C217B86E2B477E8A49C3AFD843CFFF2EB72F1D54BF2CA8FDF94C1074EC9FE630F4AF79C05323834F4C7500098BF9986D286AFF76CDFBEFDF4CAD5EBA5B0A8549E7EFA19F9E0830FE4FB7FF197064987EDFD4B2FBD24BDA6E1175FBC689F07878ECAF11327EDFD850B17ACB05F7FFD0D79EFBDF764D7AEBDF2C8238FD93214F5E0F71E928F3EFA48CE9D3B2FCBEE5D293FFBD9CFE5C30F3F94ADDB77CAE9BF7ADC963DF1E453D26866899FA23E6A34B3A977EE2279F5D5D7E4FDF7DF975DBBF7CAA38F9E8EF3326DACEBDF28BF78E71D79EBEDB765D59A7E0B58CA4E9F7E5CB6EFD865DF79E38D4BA6BFCB2DA028A37FF02A282C0904C09EB911F9615FB16CEC8D49D9A17AC979A6586A36B60402A0B9AD47FA07B6C8D3E79EB74A849E3DFF62829EBB005DB474E679E82539FB429C50E29BBFF8A5FCE42DD3FF77DE93972FFD54CE5D7C59CE5F7C45CEBF14A70BD05F43AFCAF3867EFCD6DBF2ABBFF9485EFFE9CFE585575E93170D2D5FB9C602C0E875B2A1E91E9A6A757FCB2DB7344D9932E5DF264E9CF8E9D8B1633F35059FDE7CF3CD7F98336F91E4E4E64B695985D4D6D64B71499931EF85F61E739A9D93271595D5E6B9CE08AB480A8CD9A4ACB22A5E461D9E31A745C525F6BEACBCC2802A7E5F5E5169EB61C26BEBEA2537AFC0B895725BC6353B27DF4379A16479D535D8598BD5A20DFA9D6BFA5F3BDCBE1DCB70FBA565E5961FBF57D7D4DAB2F28A2ADB067DD5762BAA1A2CD53734198BD12295D5115918AD944DADC5D21DA996C2BE0AC9D95C2CC5B3AB65C5CA3259DB5F6A2C61BD54987A50B979B7A63E62DE8F5EA148D45A48259EAF5093E5A594A8D718A77A0F357828E27BF6B65F5D1791ADDBB67D66F4FA09BA45C7E81A9DA3FB1473F356494989DC73CF3D627EC01C584A4BCB90050B171AF4EF913973E6C882050B2CCD9F3FDF49F3E6CD1B4173E7CE75126D2A6D36FE1D3E0089F862E5CA95327BF6EC50EAE9E971526F6F6F28D137F8D18FD6B636D962E21C7EA72F617D0E23FFD8BD846CBC6334165656AF5E7D5DF941F09B35ABCB80BAF8BF55AFE8185DA373749F3263C68CBF2D2D2D95993367CAADB7DE9A00C0F4197140DC7FFFFDB6B1BEBE3E6933C20AA28181013960022D573974E2C409E3DB1F301D9A25070F1EB460E29D356BD65861DC77DF7D323335CD048655B63E0160D82087868664D3A64DCE72DA85DFB66DDB4C70B9CEC406474D00BAD83E53B66AD52A59B162858C1F3FDE04A4BBED18019E0B54F03A6C82CB30E01D3B76CCF244B18C71E9D2A556093A46EE333232A4A8A8C8D6DFBF7F7F687BB401385DE5F7DE7BAFE5A7930699205700064FC6B768D16213CC675D56BDA263748DCED17D4A6A6AEA6F7830D71100983A759A1853211B376EB4CC40F0F2E5CB0309A1226018BAEAA8700A0B0BEDB5B2B2D20280FB93274FDA365253D3252727C78204E1003A9416440C76EBD6ADCEF2FEFE7EDB364A80BCBC21040B088CBBB3E0C3AA6CD8B0C1F20C22EA98F4D804A44B9C759081974F6D6D6D628C8007456564665A0500D25D268BA26FAEF600C08E1D3B9CE50A72AEB4E71F237D26EB32FCBEF202005D0FEBFC3729E9E9E9FF54565626CDCDCDD60C6AC54993EF9269D3A6596475767626501644800386A0DC550701840180CEA6A56718E04D95EEEE6ED9BB77AF45F8A2458B0289594B1D57B9CE0E1700180FFD45205CDBDBDBEDCCD1FA7E5ABF7EBD7D0F30BBEAA0301700002C16203D234BEEB8E30E3B53D51AB9DA03206A498288BE840100F02C5DB60C997EAD7A45C7E81A9DA3FB146392FE99071AA420018049932D523059B158CC76C6256CED088A76D5E17DEA604D108A5ED53C329B338C70C68C196372F06CDB797E7799F82D767DE250A89BC0EDA0385C00C2C7B57885CEF5F6DB6F97BCBC3C696A6AB27D74B5C58CA3FF00CB55873E53A7A3A3C32AAEABABCB02555D4EDC0264C90D37DC6002D45C6B5DE99BAB3DCA014ED818B13A4C1EDA6742C05B5D00635C660070D75D772500808EF91D9DA37B00F0090F74AEA1A16104004A4A4AED4CC5ECD1A82BE05A6882453A42C3DE60CB1BE8A9090D0B6AB2B272AC608A8B8BADE0C284834FBE16E1A070573980C8CECEB1E610B781005D75295790BBEA00E2E3C78F87F629332BDB8E0F990318DC8EAB2E65C9DA23564277AEF2A6A6E6110040C7D41F06C0271600D5D5D556E0D16874040072F3F225126994C6C6A82556D61A869F237E32BF5B6A6C4CDC87BE1769BC8A108EA6855EAAAB6F88539D52FD557546D4E5EA21573D000EE0AA4D1A5963D241259B3A7A29A82F3EAA6F880C5383196B244E0D9EAB21C608C8E1F76D797AF95DC5D3C3AFC24CE04993262500808ED1353AB700307EE013FC1FC8F603806551D0525F5FEFF443DF94B0163AA320DCC3DAB56B2D92499128C79C5167B4787A096BC615F780892D2F2FB7BC192341EC6810661757A1848BC40511EBB0E6C0D8704D58BED1E047FB5E9EFA1BD6032B3279F2E4110040D7E81CDD63017E87DF4028F8412F0048CB50524B4B8BF5C7CC9620AAABABB3E6B1A2A2C259478328CC2D02A7930802D7823F870FFB0826374DB89CFCFC7CC934517310613E19ACAB9CB16880445089FB2140A25D5C8BA676643AF04730B82A577B6409B4E12A8734D025CDE33E6266246E017E8C17C06101EEBCF34E2B4FD267E4E16A8FE09AFEBBCA55EE8C0385E2F2182393169E8C87C9E405007241D7E81CDD27000082E8B0569C68009065FC2319002F11D484F9223A922CA0510090122A00346245608585C5362DA32F0C2ACCDFE2DB49155DE55812050056C61F21C30F011BE1D8BE30F6305FAA5905C1A0AB0EB35CC7C89536F5372C0E314B5676AEDC78E38DB65F4ADF26D055000068FF1899687E00341A178D7C13003066E077A087011614148C0040A131C9048120ED5A82113AEC2A07F1410040E89ACF171B9F0C6FEE0153588004A0407CB220D00F00808C0F0420F497B413E1111C85815C01159699300E3F00181F8B6928C95A000300C6A8A96AD862166B19002799DCFD00601CF004ACA481933D41203A86EFB00BB802007C06E6D70B808A8A2A7B6FA248DB785847608A005CE5CC66DA20FFC59C8240FF922E6BF7F0234D0220CC72972F67D0F8D4307F8FC926FBD04C84B40CFEDE7EDD7DF7DD9627824398AE345641842B7395337E14C64216591072C5CF7B97A015000A02C6E86A4F17B334560A222C196E0D370761B159D5549E04DEDE2C001DA3EB04008CC9FD87DADADA3F23707C931700992667AD32D162ADB1008DD16822AAB7141D7D9A3933D546E644AF0CA4AB2B3EA0209A659439DB80C6550E751B807575BBDBC01CB2CE51595965236F52A668B46998E27D8A1AF7A7D41C8B4993C9A32D99BACDCDB111148BB5486B6B9B8D995A5B5B1344BA89C0D977484B4B3713ABD2F224520FE3091F78EA7D10CF9696380F2F4FE50761C5BD2E001DA36B748EEEED56B079F8033374C2840957003071924D2158AC0149A315210791AE961598AC83C518FC167EEA7A912E4D632510A0FAD9D11A8F7F191C934B2C00CFFCE13132BB35621F6D9E9A0DE0B691E5240F00D031BA46E7C3DBFF29E93535357FA4A21F00E34D4046B48D70E2682A0C2498E2575DE5109D41C96CF6E02E5891DAB76F5F622510D39A6A66076919BCA8C352AA8B50DA30920349032404ADEE8059A22B81F8C7154610BA19447D804ECC1344F022E8749543BA1740D08C3BC1C5E94AA0BAB48C8C4C9BDDE09258780A6B8F72F4E22AC7D5C08F6056F72218A3AE04E22290AD1F00B489CED13D00C8AAAEAEFE8C8AA4445E00602E08C41888A66A4184F2F0C7A46FAE3A28CCB517003143308FA437F86ACAC2D6DD51866EA60491069DAEBD008224DD0C4280F84F14E4DACC22E6C0BF337B5C75FCFB1DDEBD009403E059EE9E3E7DBAF5D3F41F45B9DA0300BCE32AD731BAF602009F05806721081DF31B3A47F700200F7F10040022644C09011B0A426041A4393E57571D06E207004A4430CC4EDE4D4FCFB0691980831FB3D765F2181C56C2550E4F6F90E8170E11B96E06A154FC263CF92D88C8D9D5A2B8EA301E17009800710B90657992551034023E577B0084D4D1558EE201A50B0080D6BA800000A073740F008A8C39F8DCFCF8F5B871E37EEB05406A5A9AB502986B84E39A6D305124BAEA30E3E82CA64F1762102A5603623510F3488E4CD6811903145AEE27848999759543F0C372D136822622C7A2692C00B86FBFFD0E1B19138031E35CFDD72C266C8CA47C804E17B874CF42FB431F008046E38C1F20BADAA3EFBAC7E222CAF58009F5192320559E585F2F008C8EFF115DA373740F004ACDC31766605FDC74D34D4F7B0140C0427E8CB2101851B5A5EE912773608A60306B3DC68F069DDA51B34C39D46B8000793795B2B2B3ED922CCA405808DD75FA081021F0B0134A800E85BBCA8998D99861B713619132BAD22DCA9904F14316C1755068D8AE2994999563F9E1AB7537D05597B264ED11A30132573999821700E8185DA373740F002A8D39B86C66C9E763C68C79C40B0036833852D4D6D63E22AD21D521A581DA4CC066A92D4E1CD9EEE8E8B4D4D9396B0411B490BE41A4784A0060FEFC0536ED24C56C6A8E596A3669958B623E229A57B2FD0B21ED2BC7D2D90AE67D522C3F457DA4FD8A53F308225D4B50732C305D83D28D95D33E27E339925FCCCD2F8427E9A631FB0900A063A3EB2FD039BA070035E6E12BF3E3E5B163C7FE8A451805007BD7A08B9540D0187630817A9854571DDE57A4525F832966149681D98CC5617660B6740FDE45F0C22AB9CAE149DBDC635D98C1582AAE7AA08419C8D903FC3467E4E88FCB9D68D015E672D42F635DE89B8E953EE8F635874D592164FCF44B37A882488FADB9CAE1A119060B5C7A4536F044A6B803B500E8161D9B772EA373740F001A0856F0B7C6DF7FA100986000C066100DA2148445C78388A81DFF48FAE6AA83790D5A0A2638D2881F00100422147C3C2923F58308D388C05DE59A22F9978209D4700D8C0B37638463C786DB41A8AE948B36F0B761691B3149D052306083571C703972DB6DB7D97EE19EE0EB6A0F19E0565CE5C83B682F0099C293F100342F008C8E3F47D7E81CDDA71893D0CC039D21F8F202203333DB46C774524FF1B848D7C95DE5DEDDC0A0CD20DAE768B941A84530C2E2EA6A0F409159B8CA99EDD7B219C4987523EC7A6E06B10E12B700B956C6CC6EB518D76B338831FA01C078D1353A47F700A003130FD248FB88C2E30B0613ED77006CE5B23883D2C2000033ED4810A170EF42106910045F5552515189E50DE888DC315F6180624686F5C9BB19044F3642BCDBC1BA19C492300219CDCD20946D02ADC4C21320B316C0B800C6482CA5BB9EA3B51944FF5964D2852075310A0074CB7891393A47F700A087C1D3390E817A01C0C7201C0DE76CE0686D0661EA5D757273F312EB101A577C1BE1A00484E13DA2E62D47686C063166F6F0931D454FB6E50DA0C2FA84550200CC4478EA0652B2A3EDFE0D2C2F6121C2CE32724AC80B00748CAE872D404FCAF8F1E3178006848D304C9A9000005FDAD4DB2348F596B8BFF23C7C34C947DEBAAE3AAE32628EA2A262A93633C74B264A1D41DEA353FEE35F4AF136EB471247A73C47A8CACB2B4C16901F3F96A56DD7D55D45754AFEF63C32F11EC5F2D395636F119B05248E8225E39990A57F3CD7CAAFD1A6B99A05A05B74AC813DBA4F31E878838EE10FFD00E0F32D820902AAEBB9194487403AE7010938E1C93AC2F5E2A7D68899C34CC04FB33B783DC7A82BA1AC03902560315961BD9E3CB1465852B5000A00741D895B864B29260DFA2D42C77CB146ED0500E7F4315B94E3735DC7BD380AA6418FAB8EAE5B836078E187587FD7634FF0E1E0E8B871E3ACDF24820D6B8FFE60CA921D53830F82C61D701256FD23EE00A0E9B26CB2636F94D31E33CA5587F6F4681C3111B10CC1AAAEF703F4D4B40C2B5F1670E803ED86C90C5924933B7568879887788D2C4765BAD804AD5E00A063E48F4ED1BD05004BBD7474C68C19F65CBE02007F4545B2000498ECB3A8B0A08DA0CEBB3E8E3034558398112C708C1B37DE2A9759C2352C084CD627DD9F088A90E903331F00904EB1831716716B1018764C8D2CC29B052057FD8D2C80F61500F48BF1879DA2429EC94E62514E1C01D8FC63841F5F062900D02D3A46D7F46D040068848F06BD00C837310028D3D944D4EA5AE88119C80B5B080A02008AC73C32E35BDBDA136702710161BB7D9A5686F50980F801C06FF027AD63ED1F0010AD636D929D3002E428CC55CE4CF403008BC3F8B8628DD2D233AD7CE937B3366CFF416586390F93BB1F0004B3BA8B386FDEFCC48110748B8EA99F008031251600749E6FD6C8C3EDC9910913A4B8B4DC46AC2C5CA8B05D2B6FBAC0E22A5717A01B141A91130933DB9961580014821B60560200D72A980A0745BAEA20084C2D51343C01951E4D8798CDF0D30D28CDF35DA447CC5CE5FA899CA65FF0E377DD7B60AC6A019033A00300C964463F5D750033AEC79A7B334616E518BBF2C4ADEA790078A263748DCED1BD0500E60F4191EE7901905F58627D0A568075E5A8FF5898874033EBDBFA7CE59853FCA813C79AD83B40C9DEF7BCF5C86139138095801F9B4EDE2F8CBDEBF9EC35F02F6BE2FB1457AFF7EBFBEC6578F709BC047F7CA946F2EC4BB8EA42EC67B0D7A163F5137CB16AF1E75882746D1E7E7C1B88E2898558FBA74D17BF787B5D89235F413C75DF25881F446A3DD90300748CAED1790200EAAB30357C2BA700282DAFB62B56202B7EE85077027B46108A08FB1EFF5ABE6D1F18D8683B4C6AD66710CCC021DD308AF38E1F7C1CF1BF028C798712BB8CBD7386E9CAA769577D8A66F8F1FF88962E5D66D3A6957C8862664BD7F01883C6F74DC61834BE55ABF8707695E4E6155A7E90EEAC5E2F996ED83060332B3D158C6ED131BABECA02E08BF1197CB9AA00C82B28B6B3111F8A0F0BDB08C15C6302C3364A3057FA9939F50116FE88674C3A8A9F3265AA7527588DB00D286288B053C30C94200F93ADE70730C12C83C28F2B7C30FD984A04C2CC08DB98D13D0B571D5C2075B8A72D22716206DD48A22F1959D9F650067DC312D00F577B8C31CC0DE2FEE0471DEE75FD5F654CE0DD612C8C0200DDF2BB0DB8D502E4E4E4FCBD9E6143107A2E90DDC0A292CA11DFB28FC63F33F09F5E21F0225F8D0B7FA93DA081B23065F83EBB851C40F0C27FBACA190B3C0098661B7A36917409E110281103B0140C3F94E2EABF7E1D4CECE0AAA3A77F3408C46DE95171823578A667C60F84A0787886654E0000B9BACA758CF41B00FB654A9A8C7B983265CAD77A1E9077D0353A47F7299999997FC703D1B1170053A64E93F2CA7AFBACFF750221B83A83D2C204E8DD9C093ABEC44029D3CFA6B000CC18577BD46190C952533F00BC6710B1000080AD60F8254BB9E017B614ECCF021400DCD3176666FAF08920662A3CC336A034080C5B0AD6FF3BE005808E910942CC6222FFAFBC00E01D748EEEF90F21EF2A00083638254BE519F7CC94CA9A46AB100241D0381A9F6B834A064FE75896D57FA1C26F5CE9A47E8D1406283DE7173623011502067CF0C39DE9421042550BC01634E702F4238CFFEDD74FFAF91BCA2063205EA1BEEED9A35005000B4A7CA11BB601A5630CFB9F048018222EC0CA105CEA42106321B5D67F11836ED1B102202D2DEDDD9469D3A69DC104D2181122793895F92F5A55B5F1C89CDC918160AEAEE7B7EC088CA54A362C308F61DFFEA970B886090710852DEE18E1D84C800F4498E161DBBDC936BCF44B1EFD02DA4FA4B6C400CC52FE154EB2C527FD9F04611B686AC95CE5C5C5256471F69F44A15B74CCEFE81CDD7320649209847E6DFCC4C726DFFF78CC98311F9B59FFEF7BF7EEFB72C78E9D7F36E6F3B2894ABF133239EC65D3B1AF0CCFEF848C89FECA5885AF4DC47DF9BB2093D55C3659C997DF153FC8A48F978DF5FB4FA3E75FA35B748CAED139BAFF1FFE702348A90EAECA0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (117,1,'Rackmountable_5U_server_2D_(64)',decode('89504E470D0A1A0A0000000D494844520000004000000016080600000070BE9A340000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000A294944415458478D98D94FDCD715C7C7A672DFEACA2F56E40530660960CC667618989D99616618B66137068317BCEF0EF516A771E205C771E244AEDA38765B292F952AF5A18FFD3B5AF5A1AE9BC67655B9066C93AAA7E773E10E3F204A8B7434BFF3FBDDB3DEEF39E75E5C22E282CE9E3DEB8B46632FF68E8FCF25921D33E313FBE6BABABA67060687669BDC2D2F56D2E0D0F06C4767D7CBFDFBF7CFC613C9993DA363B33DA9D44CAAB77F66746C7C36D1DEA1DF0ECC76F7F4CEF40F0C98EFBACEBCF3787C2FDC6ECF2A8AB6B53F1D1A1EF9667070F7D32BB1D66F86C70E7C1D3CFDDEDF3FBAE37B36B677CFE3E1DD637FA96A689EA96EF27C277942D1D9D65872B6BEC59F7E57E3F6CE84E31DB3A981E139B72F34D3DED9FDD4C60CF1F743A51FEFDEBD3B5153D724F7EFFF4CCE9C7D47BEF8E24B393F75416E4E4FCBB977A6647CFC80DCB8714B46C726E4DDAB3F953B1FDF95B3E7A6E4E1C34772FACC39F9ECF3FB3230342283C32372E8F051E9ECEE9563C74FCA4F2E5C92EB376ECAA7F73E53BDE7E5E1A34732B1FFA05CBE7C554E9C3A2307278FC8FBD73E9464678F9455D64A776A40921D29F9A8B140227D31C9B93C2933333F9044A74F1A5BC2323179542E5FBB29573EB825573EBC25EF5E9F96ABD76FCB7B376ECBBD9F3F9007BFFA4AA63FF95CDE9FFE58AE4DDF950F6EDF95FB0F1ECA57BFF9AD5CBF734F864646FFA1F1FE88984DEC9B366DFA74FDFAF5FFCAC8C87856DFD8220D8D6EA9AEA993FA8626A9A9A997DADA0643D5D5FAAEBE49AAAA6AF5B7516AEB1AA4AABA561A9B9AA5BC7297B8DD2D52B9AB6A1555D7D44A4D6D9DAEAFD7F535AAB7D1FCD6A97C9DEA81B0852E6C2B3AC4E3F54A57A049BC9166A9EF744B7B52DF7B7DD2ACDFBCBE8084A331E503126A8D883F105A46814070D53B9FBE835AC351696B8B3FD7C01F1333B1BB727373FFB061C306B0205959D9D2DBDB2BC96452229188A19E9E1E5174A479E8E2C58B924AA5646060408E1C39A2413468B26A1425E3D2DEDE9EA663C78E2DE38F1E3D2AFDFDFDC606CF838383525151616CB4B5B5A5896FB1582CCD8F8D8D99B5434343E6DBE4E4A4BC5D5868FC72AE1B191991BEBEBE34DFD9D929274E9C307EE1EFBE7DFB34F1752F89959889DD555050F0D740206012B079F356696A6A328A11867016839687B45F1885183B74E89034E8AE666767CBDEBD7B5705ECE4718004747474C8F1E3C7656878587272728C0DA7FEC3870F9BA4587ECF9E3D460E7B241C7F9063A39CB2C3AA0F1F2CDFD5D5653681773C637F4749C91CB11233B1BB0A0B0BBF6E6D6D3509D89AB54D9A5B3CE2F307A4457F0D79BCBAB87589570A8696F3A565650AF35AF10783CA7B8D0C300EB5860D742D85426109045BC5E7F31B1B4D4D6EA9D0F2F1FAFDE26EF6A4C98F7DCF128FAC6FC59AB2F24A2D09FDA6B6D2EBF479E53A7C75F2D9DBB6BD2656622676576565E5539FCF6712B0656BA68138BB15D460A070386CA06E79888CB28BEC12BBE3F1FA4D4679E7D5C02D0159270F8C9161D790D30922D806AE4EFDECA493B732F801CC0F1E3C28E51595862710BB0EFB90D3777CC58FEEEE6E235B5858F48A58B14BEC26011ECDA441C0D62C53CB38476D5902762B790BB353A74E69A3094A51519191FBBE1E00049D6574E0C001292D2D35E5E45CC77B1CB63C012043C0D434A5959B9B674A02B2EB2893956588AFF4101243691516169B0410B349407171F19F1B1B1BD325A03522DD3D29698BC5D3D4D7D7BF8C4FF5F699DFB0A225AABB5755552DDBB76F3775E66C6638ECE4D9C9783CAEA51032BBD3AA949797A7BBB8F00C85C311A3874447A25143EDED494D4097590742B15B58546C360B7D56AEAD2D6664AD5C5409DFF9862C72DA3BDE102B3113BB6BE7CE9DBFB009A009E234462C8C128984D90D27246942649BB5A3A3A3D2ACB585C364D9AF356889DD59C9E32084ECA0EE2CFA68666113C4028124278F1CE503D1A069BCF41C90E15C0792F0C1F2F83431316164D081AFB6048899D85D2525250FE8FCBC7CEBAD4D266060448010C240C7F2D0F9F3E7D350BE70E1829E0BEAA54C1B2110C7094BC0D5C9E33832D8B874E992A949B56F9C73AEA3749CEF1863C8F14CE99C3C79D29400092091761D01DA9167A714E5420960F3F4E9D3E91220666227015F2AF3DCF6806A3DA4F4AA20D082D81D145B3EA6B44F9B17F5C537145755573353D3E3C6124871F27CA7C1F14C534396714652D1658975A0CEF2B6F9B1BBC8524A455A02941281DA75E8C457A72E360F199E91CFCBCBB709784EECAE1D3B763C72BBDD4FEC148846DB0C74F885A8AB84061B75D4328A5893486812F4B95E0F4240D9D49D7EB744B296F18B756D793B350824AA760CA9CD783CB1687FA18E63B178FA1BFEF46A0FDAA57D271E8F2F93B34DDACAF17E49D7823DED55A6071033B183805FB6B4B4FC87979BB4073437379B4CE2946D5640DBF21087185B0253535366AE5302ECA4B35730AE9C3CF5B8720A68275ED53BB0C75875F60E3B05803F2592975F60D0C418B4EB2C3A2C8FAFB604B0C1B3CE7E830062267612F06B768197993A05323333978D2B08834E1E45240983D4A1BBB945F46C6D60EA1C97F6486B0978E220CF0405CC376FDE6C7E9DFA490CC9749EF0E845ACB3759F9B976F1A991D9110329C2D56FA8EAF2480DFFCFC02930062267697CEEFDFA70F4299D9E624654E6AFF27716AABD5CB4E402F1DAD3A6E2CDC22D1A5328A441669713C8523FAABD4D1D1A9B5D8AC3A820BA3D08C431D737A6981ECFA88D1B754929400172DD638E5ACEC77C9418C52ED55AFED4188D85D7A19F99B4D0025A0B56132AD103144A6E8AC9687682C34157BD0A00FE84C3588A0BB5A02494E9E5D6427D819CA8812E1FC402373EAA709E293E5F1C7A20D742097999565E418D9761D3DC1A90BDF2919C6277689439BE79C4D00B1BBCACBCB9F502F660A2802B66CD9628C7C5F0990007E8132F0A4316EDCB8D118728E4B8274F2E805FA384390940CB7329B144BF40A606E7902479E44581B9999597A00AB326706BB8EE049CE4ADFEDA99212C8CBCF3709206662E728FC98ECAE59B346B39AA3708A988B8A57E1CDDD1BF2F982CB797F30FDBCF0DEAFF5B80065642DC1FB57F14B6B38A17181E1D2140C860C05167FCD7360914C130D99233704E4F91F02700F8696E4022BE502CBE5B0B32D27E715B11233B183803F91E18C8C0C3D076CE3BE6CB2ECBCFF036527CF0E916D32CBE1066857683727CBF6BC00B1E34E1E083AD160AFB53446A77ED06146E6220F1A400E76F0053D3939B9E61CC12EDB75162196671482427B5842AEE0EDA23962256662670AFC0E256BD7AE95E292F2F481E67F5D6A508803D418DD3D476B193DCE75940AF0B63CE3C8260E9DC09512B00715BB0EFBC0D5F23600CA8DA4B101FCF3A65A0F6024C5AE432F8975FAC0650D79FBFF809A9ADA97C48AAFC4EECACECEBEA2179227EBD6AD7B92EA1D78A6A7BA6F931D9DAFB553BFB1A497A3657C32D9F1269E684FF30AB337A5A565F36A705E619DA69E9ED4BCEE649AD7AE6FC8F2BA4BF3BB7655FD9B5FED23868734194697E5153DF31A409A577BF37AF87AA567966F35C1E9F7E85034BDB13CA4895CC6EB25EE9FDA03FE48CCC4FE5F0E5A5A7BB9A331FF0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (118,1,'Rackmountable_5U_server_2D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000210806000000269CAEF10000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011054944415468DED59A599055D51586AF8885A08803282083F43C77D3DDB76FCFDDB7278686866686069A796C469179922828CA204E800A3861555226D1B25279C94B7CD007ABF2A256459F1249F2925851AB40A9242BEB5BCDBE9CDEF75C0CD13CA4AB569D73F6DD7B9DB5FF35EFD31111890469C78E9D7F983D7BCE5F67CE9CF57F4BEBD6F5FCA9A767D3A555ABD6FC79E3C6CD97FE136A9D30E9ABA696895FFFAFA8635AE7373B145C1FEF883FB069F396CF7272F3E5D8B16372EAD429E95EB254CE9FBF205B1F7E580E1F3E2267CE9C9586C646195F5A96920E1C38202FBFFC8ACC9A3DC7E63FFEF8615DBF4DF99C97858B16C9891327E4E433CFC892A5BDBC376FDE22478E1C91D3A74FCB521B3B2FDBB63D22878FF0BE33A2A01ABF03070E2AFFF21B525E7EA154D6364B73DB5459BD7AB5D437B5CBDBB923E4838CBB246DC729E9F7DE253972B24CAE5EED27B3E737D9EF506DF30499BE60A94CEF5A2A9D5DCBA473E13299B170B9CC58B45C662E5A213317AF90598B574AD7CAF5B26DEFA3B2EFF1A3B265D77E99B364B5CC5D0AAD9179CBA0B5327FF95A79F6CC39397BE10D79ECE993B626DE3659F7B47D5F9202F4EF56A5E18ED6F76CF8BCA0A8549E39F5ACBCF0E26959BE72B55CBCF8966CDFB14B9E3CFA949C537066CD9E27E72F5C50809E903D7BF7CB1B6FBE298B162F5500CFC8F11327E5D0A1C7E4C28557654157B7BCF2CA3979E2C9A3B6FEB5D7DF50D057486D7DB351756D5CEA1A5AEC5A5BD7A4F7CDD2ADBFBF79F1A2ECD8B95B8E3EF5B49C3B775EE6CD5F24AFEBDA433F795C76EDDEABEFBB288BBB97C999B32FC9F1E32764C386CDF2A68EADD76B49698554D63449F3840EE9E9D960E0EE692D9527DA0AA5644D878C3BD12E4F9F2AB0FDCF59D0AB80BAF82459B1A6478E3DFBA21C7BEEB41C879E3F6374E285B372F21A3DF3E24BF2FC4BE7E58D9FBE2D6FBFF39EBCF5F62F15E857E4B9B3E78CF8CDE8E5F3F2F3777F25BFF9EDFBF2DA5B3F93D3E75E95B90B16A99C9B1E0D626DD80F1D3AF4D0881123BE1C3870E0973AF0656656D657F98525525E1E938A8A2A29D4FBCACA1A29292993D2D2A8DE574BBE5A592C56256565E5525C522A311D2B282C9668454CCACA2B6CAC3C1A336BE45A32BE4CF20A0AEDF7FC82221B4F45FC0E3F7860D1B1CA2A1BE7CA73F07DBC0B8F2B2C2AB1B1A2E2F19297572015B11AA9AE6E504F6D962ABDCE6C8CC9BC7854CADB754E7799B44CAC56A546A5AEBEDE7EAFAAAA97FA8626696C6C31AAAD6B4CDC1BC56F44ADE1D4D44BF16B54AFB28C1C39F277600CD6600EF691B163C7BE9F9E9E2E77DE7927FE20770E1E7CB5A8B844162C58208B345CCC9D3B3789962D5B26F3E7CF4F1A67FE8A15EAAAB366D9FDC2850B65DEBC79B269D3265302EB264F9E2C5D5D5DC63F48CC5DBC7871D238B464C912E3C33BB9B29EF0C2784D4D8DCC9831C3DEE7AF635E777777284FDEC51AC797B98CEDDCB9538A55916BD6AC315953AD45DEB0F72193C302DED0FAF5EB65D2A47651E0FF66182BD6600EF691B4B4B48F333232E4AEBBEE32050C1830E01F23473E2853A74E9555AB56493C1E4FA2EDDBB79B70FE38421D3C78506A6B6B4D11BC9CB9F0C9CB2F50ABAC968E8E0E696FD7B8ABD61724E6AE5CB932691C22A7346ADE8137D7471E79C436C59A61C386194F806E6A6AEA4393264D3240FD7168E3C68D2623324F9C38511ED61CB76DDB36536C7A7A86F144B1616BD90F60FBE360E6F6EFAEC8CA7B9A9B5BA57FFFFE97C118ACC11CEC237AF3456E6EAE592D3FDE72CB2D327ACC5863D8D3D363C2F9C43856E38FCF9E3D3BA502082D050505063E16C43548BC1F00FC7188F1A002F6EEDD6B63803078F0609B934AD63D7BF6C894295392C6F1C6A002006AD7AE5DB26EDD3A0527D3F6CF3A94E0AF457E3CC41F47E1FBF7EFEFA3007832B7BE210EBEFF0263F60AE6601FC9CCCCBC8495B5B4B49802A034B580DB6FBFDD3605A83E613D588A3F8EDBEDDBB7CF04C7823A3B3B65FAF4E9762536F7EBD74FF348A9AD653C48080558FE38B465CB167371C060938CC19FFB3BEEB843EEBBEF3E03306CAD967E6608FEF8F2E5CB35296EB07B1408EF69D3A669C535533233B38904062A0AF2D7A200640A7BDFEEDDBB6D2F107CE109956AAE72F8823598833D0AF88297D6D5D52526E42A580D8DF1246A8C3B6ABA21C5E3CD499497972FD535B59AE0EAFB52ED8DA9A6B62E417DC66BEAAC082009D7D7377A140FA786646A08A1424DF0C93C1B7F10CF7C0DC10E5FB0EE5574A679C017D4DE0D0D0D890959D9B9964C9C25FB8455CC993327691CADE3D658133C79C633B82F55B0F0047812BE9C953872C9CD1F87B056AC98F792E0980B4F425B7979B9BD0F9EF00F12E3E4067F1C227C41DC0306EB213CA940AB2A4214790D1EFE5A570CF8E3F001373C01DEAC759834355D8F30608DFC4E017F6451500169E99906149BC5CD274C98D087082180E18F23849F84B892E0CACAA316F750144AF11318829258C3921EA109B725F6C393E7AD5BB7DA261E78E001E389329A9B9BFB505B5B9BAD696D6D4DFA6DEDDAB5169B019250033FF81276B372726C2D499562C35F8B52C1CC1F072B7FFFF0645F4486A002580FF609056049D743507EC24DB074040912F34956FE384050B10405A004653E75FC830F3E687111EBF29587C24958FE38048FA002A86CC843F021FE03304919B07CA208601FFE38CA0B2A8077A0048C2B27374F7B832A1BC7DBFCB57800EF0F7B9F93D1ED1F9EC8490877F8827542015A0A5D429871E3C62526141597CAFDF7DF9FA8F95D3DEB086B83B13F0E9184111A8B66E32E8C108248ECF9F9F9B279F3E6A4756C0AE585F1E45D088C4BA368F8BA10337AF4681932648825BFB0B528206C0F004D22753C91917B7813AF2915B16AE6F96BC1CB25779F9083BDC08B50043FEED9BFC317ACE101F691418306FD820736E226E468A8A8D5A4575151A9140BA568B497CAA315C9A4E12641D1A8F1CACECED6A4D560F73F063534346A575EA95D709176B3D5EA6195F6DC97AAAC73775455556D73AB1354D3878CAF5A2A0503F7A9795625F1AC4AC193C2A35E65CDCDCB4BE00BD6600EF6917BEFBD77130FDA952526D0DC6061681F37F209ED1312FC71D788A179E21E8D150994E4CAF105E1C4D5CC7EB385A5302FAC1123BCF03BF1196B822771984487DC842FBC8E1E2148C471BCCD1F87083FE4013C8BB5DC8383F5019959E6FDEC236C2DF308CDFE382188F0888CC88C57E17D94E7188CC31799E101F628602B423CF4D0438909C3878FB084429C0BEB03A81458E38F038CDF88F18C302880D887BB03B45F3F23E48D6AEB6023C69531F8A8FCC6939A9E8D0709A5D118B9F01224E6071B3180730543BA3662AEDF600FFE5A9487A2FC71DE13568480575DFDF52207ACC10FEC239AC4B6F3A05AB99C7011ED840919081916E7002A556CE485583A3C01082FC0520BB41326091357E1CBC683C47C2A067F1C228E0312A09370F1043C80584B23168BC56C4EAA988C1CFEB8AB825CB98D4C18107BC8C8C8B2AE1D8BFE6F7220FBE7BD7820FBC7380969010FB8CC7BC11E05EC424005E7834419AA0214696CEDEAD2525337EEC8850F360E53BF15EFD08E6FB95A15D6E313DF1848C008C7A67C2BC75A5379006001B83F4E18CCD1921105A094B0B5004BB8F0C7E107DFB035F90585327EFC785B4778F27FC7A0F080B0B55453619D7781F274F8823598837D44EBE83D3C6862F8C84DC8D632ACA3639AD5AB71ADC3E37DEAF260EDDB6220B4B4B41A619DBDD4668405B4B54DB078CA51C4E4C9532C1157F749846154F3BD04FF464D981404BC9B64E7A82615D526533087D178195885453255F75F5D53F3FD7CBF8727842791D80349F8233007FB88969B077850B7F8DA4D18356A8C5924DA0F4BC2580EBFFBE3EE34902BF5306720CC25BE8F1F5F6A56C5067179BFBA7049BF32A4F2208EBB2E95388B55E345840BC21A3C79F6E5710777617BA048C05ADD9139F98E704158CACACE49F435189DBF96F0C13A7F1CEF66FFEC9B9EC6ED89B91C650442D0D7600EF691E1C3871FE2212B2B2B50A7665848C1729D8041C2DD217F3C781C1DBC5235555454D819381B4329FE5A420289302CAE321E6CC4E0C93DB178E8D0A1A6509413B69679617B4089C1468C42C1150CD939B9E60DAE694CD54384BD2F55120E2A00ACC11CEC2323468C388C859274DD848CAC1C6B16D02056763302D04CB18E2414B4804AED2C696EF88082B5F9EBF0361258184F2A1378B111AC0CF0900B705000B2A76AC4507ED81E001F39B06678C3130F80723504B37FC22C4AF6D792AC6FA4708CCC1D83B37F72463009232F98833D1EF044920232B2A5B8B844373B512DA12929FE628D53A64C0D8DCD7C402777F8E358BFB6DED69C911BDC380A7184E0C93CAB2D8F907BACE9A9BA9E2BA2DAE46937698938AEBF73E45B56566657774F08218C71726AA4A570D49AC35AE349694CB3180D506656B6F1A4A9E44822C8976B2C56697C833C1D5F72206B7CBEC8E92B00EC49C2EFF2C04159A213D68489E6D12095401885F5076144CC26E4D4D5D55B3262AD3B890C969AC800E19A3E119E1C61B110168B05C3D77DB2747CBF8FC24A5DF739150B2E2929B5FD074F4D7F085F3C98EE3971D6A65833AED8BF13C9CBCBFB9C897AB5AF614C1833765CA2340C4B8AB820E0FAE368DF354B2421BA58921DC2B5B64E90919A30496C61C91DEB272986254CC20BF198DFE10DF8808E1C9C2F91F4081DA91238DEE28F331F3E1805EF26543066E76269E966C5F0253FF86BC98DBCDF1FC7F383FBC74B0875CCC773DD1747B0BE86F9E728E0331EA8D19D02388E064C77F6EF5B35C222BC3F8E7507BB55978448A2EDEA4D74AD6C382C07F01EAC2FD5819A4B948EA73B3A4601AEB94B95C0F11C7F1CC370BD039ECE91057CB98E4BCB303C5C0CBF991C401EF3BB76E65656D5241400EF6B0AF82CA20F9FF576AABD9F0C9994999D2BF7DC734FA212F21B2EC60031EC1BAC4BBEBCC0851CDA74F2C9A04183AC0D67E3D77B86EB84B59264FD7197C8705B9A3ADECF3BF0241470F7DD771BA0A9BE5FBB4A67A2D74CBAC60FEF628E3B7EC703060E1C68719C44EFAF650DA086BD8F71F75F1AF0C53091D57D920463B0663F609F500035FAADB7DE7AAD0ACAD34EB8D88E50FB9E6E56F4523426159A888227A051484B4D4E10EDB4D43B3D851FC98D24863BB2DE279A1D5B1F1823E1D9696355EF89E775AA329938B9E5B32431367AEDBD41E2C4D2C91424C7B7F7C4F73AB10FBAF6529593FF3B8A85F0655E257B0839257627B33E5FF60EB6600CD60905141616FEDE7D0EC49A9C0248426892C474B3441CC5ED5DA98815E211244CF77F3E374BC8E7121DF7F0A4C4245613BB19BF5939DD492D7242F021CCF1CF5FBC136FF86FF6EF64862757CE8D5C080263F73F4C608F023EE10137C1ED98949E956FA5132E4418B999AED57D3EC41589D76C887313AA213EF29057D874581749B590EAF8DB1D98F14CE8705DAB4BC2283C4C1ED6921CC30A09E23DFB23A46070C88992D3340750A9C01779FDB584AAB0A4EFF213B1DFE5020C059E7837D882B10B9F8AFDA724E10F89875402FC78DB6DB7FDB3B0A4C2EA6040418BFEA7472C838DF9E310DA4601243F271084D6870CB9DB36CC1C36112414E48E8EFDDF98EF1265300993875000EF0350C0F2E5610D9B0DFBACCA6FF0450100055F2C18058C1A35CA0C10A0C3F68F8185ED9FEAC74FC2C84F9FA2E1E75B30661E98833DDF847F8D466884147C8E77AF96466BAD62510DD9C6FC6FB40846C512F6FDD6FDC71A3C0186CD013A6B5000C91D4B0F4BC2562DE93C7FDC85184222CF58A6FB672E14C091341EC0982F0F5E12F60F0480881C244E1A43F71F7B3C530511AB6998F0F4B0FD536C84EDDF7DE684DC877DE6D3540E1830E0EF600CD6E003F69161C386758F1933E65305E6D3FEFDFB7F5A5454F4F59225CBFEA235ECB79327B75FE9EC9C71F9C7A0F6F6295762B1D877DAD57ED7D131EDDB1F8394E7B7EA1157B52BBF326D5AE795193366FE60528FB8D2DADAF68DF2BF02DF1F8327A4B25E1E3D7AF4878AF1C78AF5C763C78EFD44B15FFA6FBBDD2A17AC31E7CC0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (119,1,'Rackmountable_5U_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000003508060000008939E30D0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001A4F4944415478DAE59D7970D55596C7A3222A20FB224B76B29004B24112028404026481B0EF611781B08320CA22E3D2D20AE2328AA8B8E04A0B386ACF38E5D454DB53D57F4D9755A3E54C4D95DDCEFC3155FED7D33ADD6D8FCA99F3B92FE7E597C7EFFE0292086353F5ADF75EEE7DF7DC7BCEF79E73EEF27B248948D2D586FECB56EC52FC42F18D427E84F84FC5338A2645CF6B41EF4EF7574368B7D8BF6AC531C5BF2BA4AB71C30D375C4BF85AF181628722FB2F8200BD7BF7EEAF58AE7843F13B85DC7AEBADD72C7AF5EAF543E233C5138A3AC5CD3F1A020C19326494628FE29F14DF2AE44A3078F0E06B1683060DEA2CFC51F173458B22EDFF1501D2D2D26E544C553CA6F84C21571BA9A9A9D72C5252522E05FFAA38AA98AAE87ECD11202F2F6FA062A5E2678ADF2BA4238C1A35EA9A456E6EEE358B9C9C9C2F156F2BD62B865F35029496961628F6297EA5F84E215D899292926B16C5C5C55713FFA278483149D1ADCB083071E2C4EE8AE98A27159F2BE45AC7840913AE5954565676057EA738A358A51872C504983E7DFA60C51AC539C5570A0962DAB4693F2AD4D6D65EB3983A75EAE5E282E29F157FA528575C7F5904D8B469D31B3B76EC941D3B3B193BFEF2B06DDB76D9BA75DB5585F6E10F974580EDDBB7FF72FEC22532322B5B1A1B674973F30A993469B28C2BAB70EFE7CE9D2F39B979326FFE02F7B9B4749CFB9C9333AA4354564E94152B56C9BC79F335E9CA97C58B97C8CA95ABA4B0B058993BCD95D5D7376AB25820CB962DD7CF2BA560F418A9AB6F90155A6F6AED34292C2A767F5FB274A9E4E517C8A2C58B5D3FC61416691BB5EEFDF4E93324BF60B42C5FDE2C8B97C4EAE5E48E8A405E7B685FA7D7CF7598BF70A92C50F07E7BD544395A365AD6D7D448E986FD9273F79352D9BC458E1D2F91132747CBC2250DF1EF8191D99A5C8E296D43610C79718C8DA1A83DF28BC6496DDD2CA9AEAD77AFC5E513A4A0785C1B4A40998C6EC5C4EA69D2BCFA7687D5B76F94CAC953654C69B9E4A81E77EDDA75E1B208A05FF870FEC265CE088F3DF6B8BCFBEE7B72DFFD0FC8CE9DBBDDFB175F7C4966D435C8A9532FB8CF7BF6DE2565E59517A362C2453870E0A09C3FFFB63CF5D4D34AA085F2DA6BAFC95B6F9D95B5EBD6CB43477EAA65E7E5E1471E51A32E953367CE382C6F5E29C71E7DD47DEFFE071E9496962DEEFDCBA74FAB6116C9ABAFBE2AEFBCF38E6CD9B24D1E7AE888EBD3B163C764997EEFECD9738AB3B278E9F28BFA521E816C2540D594460766F2A696CDEEFDE98214F9AFE42439529227438E9E97A4F7BF90AC5D8FC8175FDCE2D4B7F68E49F1EF81495367C8AA8DDB64D5A6ED0EAB41CB0E873560F34E596BD8B24BD681ADBBE4E0030FCBF1A74ECAD1274F38ECBFFF88ACDF7EA7DCB17D8FC3861D60AFC3C69D7BE5D04F1E91071F7D424E9C7A599E7AEE25D9B1EFA0B4ECDE2753EA1A65EFDEBB2E8F007BF6ECF970E9F2D5324A09705C098012EF3D7C9FBAF1DD72EEDC7979E185177546CE94E79F3FE5CA76EDDE23FBEEDEEFCA9E39F9AC34CD9EAFC679C5956D6AD92A0F3CF8902B3B76ECB8EC3F70488DF5AE9C38F18CCC5FB0585E7FFD0D39FFF6DBB261638B1C39F2B02B3B7AF4988C9F507D49A86F688ACB6AD9BC557EA204E0FD23DA46F38AD5F2E6999FC99B6F9E512FB05C8975D4955167C3C6CD8E78AF28799AE62C70843C7BEE9CDCB3FFA06B172F1046808DD32AE5BEBA4259515B25852DB324E770838C6D9E194A8089D5F5D2BC6AAD1C7FFA5979ECE9E7E4B113CFC9E386679E9727C0C9530E4F82675F90BF6EC56B6F9D97BFF9F9FBF2F67B7F27EFBEFF81BCF2E65979FAF997E46935F089563CF3C2E9185E3C2DA75E7943FEF6837F940F7EF14B79EFEFFF419E3FFDBA3CFBF2ABB248C7BD6FDFBE0B11E7304969BD7BF7FEB457AF5E9F76EBD6ED53FDFC69FFFEFDBF9ABF608964646649838680D5ABD73AF75CA2AE7EF59AB5EA7A97495676AE1A70A1FB5C5151A9B3A6D2BD5FB868B1531E75F8CC776AA6D4BAF7B39A66CBA4AA6AF77ECE9C795A2F5F8DB4525669FB79F9B8F94659B3769DCC50779FA533302BBB63D0C69225CB64CD9A75523AB65CFB39DDBD9F39B349093C5AC3C66A6D7F8D6B7FFA8C7A2D5BABA46994823145B24ADF37AB97C81D55E0C21ADFABAE99EA64A7678C948A09531DA6D7CD543DCC91727DBF797A891C6FCA56029449EECE62497D3C5B46AF2C974387F3E4A70FE7A8DB9F24E595531CC65554CBE49A5A1DCFCC3634CC94BA8659096872A8779815475DA3A1E96234C45EEB03983D77812C59B64266CD9E1BFFDBA4EAA9EAB9775D50BBFE5AF189DAF813B5F5277DFAF4F918DB27A9B1DF607366D8B06172CB2DB7C44FAFD233325D06BABCB93934FBAFAD8D8198EB1092AD4E9912434DCD1487EAEA1A55702BAAABE3983D7BB62C503265668ED4F773A4AEAEBEB58D5A2F4C7E1CD3DA308D7E0631AD0D3366D4B9F6915751315EC68E1DA7649C1BE877EDF7436D00217D655CC8CCD03192FF3436CEEC3C79B5E1BA415EA98E8FFD0AB32B36C6D6D81CDB270D1D3AF4C3828202193E7CB8F4E8D1235EF1B6A1C3A56FDFBE9A456ED5A4AC5E93AE15DAF179A1B8E38E3BD44DEEF09683BBEEBA0B5724B366CDD2AC749B766E817B5DB26489266ACBDDFB94D434254A8D4C9E3C59366CD8E0EAF8A02B1559B56A95B7BC5989BB65CB164D3057CAC2850B5D7B73E6CC719F176BD278FBEDB73BD903060C104D7A1DD919A3AFBDB56BD7BAF6A2FAC418D00372E81F72D00DAFC8BDF3CE3B252D3D43CACBCB958475AE2CAABDCD9B37CBBA75EBBCE5E80D793616FA377F3E9E6C8D93C92BE4CECCCC8CDB151B636B6C8EED93F4C3476104183478887062B77EFD7A470084CD9C3933141B376ED44463AFB71C1C3A74480E1F3EECB634792D2A2A720AE1FDBDF7DEEB149C9C922AD9D9D9CE189A88B6F31289804C28D5578E8268DB9465B2F7EFDF2F77DF7DB71BCF525D45DC7CF3CDCE581804A5F9D6E2F40F1247ADD70F1C38D06E8C63C78E95DDBB773B993B75190C0953D3D2243939D9E904C244B5A7B99833AEAF1C632307B2D39EC93E78F0A093C904993B779E931746006C9F949292F2D9E8D1A3A5ACAC4CDDF59478C5FEFD07C8A041837529B6CCB92A3AE2332E1D4078535393B70E83892240CC03A4BA533F420D04C073F8DAB3D9E62BE7BB6104E015D03E244021CC7CC6CE8CF4B5475DBE47B8F2D5C1D88904B0316210DE43008DBF4E572D2D2DB268D1226F7B7800DAF495D397300204C7481840A76657C689ADB139B64F4A4D4DFD0F3ECC9D3B57AAAAAAE215FBF5EB1F670A7FC7BDF83A620A8E1A0CDFA70EDB9628822D510647E7512E332C352D5D6EBAE9261933668CAB1FE57530D6A5781D6639331BB2100B99EDC8C400BC721ECF7903DBC7843B3C41184CD910CB5787B6A9336EDC3847F8F1E3C73BA222873EC43C40BA5C7FFDF56E0230A918A3AFBDD5AB573B6FE52B07100BDDD12FBC0CA48358364608C031B3D9155B626B6C8EED21C0E77CA0F3C4A620017247E5494646868BDB9732DB18A4AF0EEDD3D928836568E6DDAF5F3F77BE0EFB71F1BEBA280FE544B5873CE4FACA091543870E93DB6EBBCD791D14E8AB8BD21823848A0A85B8DFA83E4100C6A7F1D7919838EDAB4B5947ED110AA32667A54EB4810307C6ED8A8DD1492B013E7704E0640977C1EC0C12202B2B4767C7D850945C114A0368FB7B6A5A86CE8CE2388A8B4BDAA1280A81EF25A2D0839C9C5C1D63763B59616D1787205E5652EAE0EB7371423B69E999EDEA167D4F99972A2F3FBF806C3F6E576C8CADB1B92380C681CF9909B8A24402B0054B653273B2CCAE02AE91D9959797EFE231CCC7AB74953C6631F2C8B02B2B27384F3169D2A4C88CFC4A8177412684638C24D78D8D8D5D2AD3926B563A4102606B6C8EEDF100BF2531E00BC4E5F639C00897691237F8D2C891234341CC6370858585DE3AC433AB43ACC510C4283A48BC22C6A21CDC23320901AC557DEDE1F668C3574E9F91875C5C21E182586F3900CA278C107270DD8C9D7ABEF65809DD73CF3DDE72C02A0199C8E13D13C7E231F91146678389E535FA8480513A234440165F7945458593C704B27C00D926D312F46008609CD81A9B63FB3801582B073D405F25404646A6DBF4E14B243551B1888E44C56C064B1D924A964B18CFBE07689F0318362AE80BCAA2F3ACA9C3004148267DE5C125129F133364721A64303B58E958C2E66BCFBC0686F4D5B159CE1879C540C8E13D6326698500DC0CA65F1897A59AAF3D8809917CE5362E880C0112C74892BD54C73660C0C0761E00FDC609A06EE0B730958131E382042009246960202423511D2119A1C3BE72061B46008C4898A153C84336C64331B487E2C300CB69C7570EE87322016C1F807266184B5DFAC13851B6AF2D5BEA42645F1D3694120900A9303C5ECF3C808D91A49971F8DA63FCB692F101AF944800FE864C88CD2A6040C00360636C8DCDB17D3B02E07E83042091B8EEBAEBDCDF691C23F980F270CBBE720B01B87AE23B2E951080715865F09A9D9DE364F7ECD9D30DCE76D3C280DB4339BE7280B151222E0FC2219357327AC0985901B0F444318CC1174F1903FD273F89DA9D24EE9A1CDB5C327918C408C006147FE33B51BB8FB4876C5F1DD33B7AA51E321997C9642B3E1802B0653B02A8CBFD8DB2FF0F74989DBF2001D89B275B64E380CD2012A58B51E5804B21B108FE2D88AAAAC96E9F9AD7B072304C730E62226D40126609B13A0C0CCE62B90F281CA5F8CAE92FDBA4259A55930C724E40FF264F6EDB51445180F1A1E4E93366C4F7F08367112C236D4F04234002C0B983BD07C9C9A92E7B2756733EC2F904F94AA24CE4CD5059C89C1238A708CAE3CE037A60F298CC36790DEE157D0693406C8CADD5E67FECD1A3C7E79C06666812F7DFCCB87604E8DBCF5DF4C03D3343A3580830D6F70186C63D1242B2D403102A90173C544ADC028DBADA153CB84281614031CC3CDE6370DB0A466E1089794CD8DF0C61046B686870E03DB3997172C906B70F39AD4D9F4C5F3F7CF24CA6BD471E040A2E03B131B6C6E6D81E02A4281BBFA4436C510609806BB44D0694C62E5318988910C5570EEC2C801D37123E941FDC0924B68E484E713B64CC005C5B679C05101F191BE1C00C6F59F9629D098C91D86D9B3DBE4BA6C8A2DF511751ED2C80D94B5D8C47DBC843E91884032FE2347D61FC51ED514EE8F495D33EF22CCC91DB407C5B053069D16D9000D8187DA8CD7F8FED21407A4949C9576104B855D90273311631D7176B49A648B8702DBE3A742EEA2C00E5E01ED97964265366DBB86180207CC7574EAC8E3A0B80088C99584CFF511C64F1793812380C1CE50913C7183C0BA0CC4E3C398EB55351FAEA6B0F02D8C9A9EF3430EA2C00225087A56E2201B039B6870059CA86FFA122EBD32001060E1AE43A08A3E90875C2604B3C6689AF4E478741B4919292E6E215C660F9447BBEEC178F439BBE725B75F80800A16387413D9D42F01A8C91F761B031D2AEAF4EE2188304C063C53C40BA4B72498099B94C305F7B780F88EE2BC7F0E8CE470023799000B60781CDB13D04C8D50F7FD23F5E5077F89B2001468C18E10E1248CAE88C2F8E23C498E8AB8372E92CB189B0C22B6B795B2530FBD827678DCC0C81BD28FB4AD6C8841D6637C010C8B41080B7E29507411927EB634867D9732298088C91B1FAEA6060EAD8E927B39CBFF11DE4315E08C0CA8A83368C8FA7F2B587D76149E72B077825DA2554B00FC11821B725C0C80D12001B636B6C8EED21004FF97CAD7FFCB32AFF6490005C0A657D8C32E9A82FF120D1C0C0BEAC1D85D0C1B0438B600264AB0E7616CDE30433E820E80F6B5D5F3960D6617C5F39174FD82B67BD4E4E804C5F5D662CCAA69EAF0E06C3D547F589F30E74CAC61324C7CBF9EA52D6517B101B52FBCA21769000D8185B63736C0F010AD5557DA3B3ED4FDDBA753B128F154A809159399A6CB42DEB2606617FAF8A816CDAC09226087715CCC0D53087D8D5B01A0D2F0EFAB7B4F474357E999495574879451BB8BA15C4F8F1951781659C61C284890E95AD98A07D8D61626BFF27B9FE176A18CACEC9F1B61D6CD321D06622DA64B4475C5E2B52D503448DE54AE5C564B68103A13E81D08E8DB1B5DAFC7FB13D0428D519F7ADBAC36FBA77EFFE3EEEC908903932CBB913662571D4E76A7145B89A28776CEE088FC06C67F96765B82BDC2FF7F3C9379865D4E98C831FFA4D5BD67F5BB2327388EB1C40E149B883D059874D78361B1BF2182B218B95486666961B23E187A56767C8B3BD0EC685A7E233324922D951EDDBEA01B02D36C6D6D81CDB438032750717A8A86BC42F8304183122C5B9777200CA49DCC2802BB5CB1EBE3AC4F8B0AD609239F20B14959D93EB9240DB55E37A98EFB16FE21E44F195737E11761600D13006B271D91C7AF14ADF3BEB3028B8158C9B471EFA83709CAF9077D02FC258671C06256E05930B2013DB9110F70B10001BD3176C8EEDF9B9968964AB7406E50709C0050DD6E428A7AB0F8398851C0629439D616DCF3DEA82C9A55E970A3B0C421E86679B14792833EA620575EC4690AF8E1DFC841D06B14C269E732B181DDBEAC832F8EF7BEB29EA300842069340E462636C8DCDB13D04A821E9222325E3E7BA526CBDD8571B8B3DCB4F08B8949B299772A70EE55017A3F0773B0EC675F1A818B2D977B07B015184EAE88611E58904202BE7BBCC68FACBDE385BB1768DAB2342757439D6C6C80A842D74888A3C5B2EF3AC05636447D3563FBEF698A9B4D391DE8D004CAC1CCD69486691655BD346006C8B8DD139E3C5F610A00E36F005941124407E41A1630D5FB2E54DD4A54F73AD61B0E3D4A86B63DC07B064C5AE6E5F89729871F40963DB3671708B16A57118843C14C78C89BA7F6704F095D35FFA645BD878CFC4A7AA8D00005241425F7BA633EB6B18D03B6126F61CC694F81982C9C3D0410260636CDDEA01EA92745D388B4A749EDBA3ACC3E31E4067646206DE95183E3C5913C15C1717633F80D0FEAA13873631B4FD40C3C53F28D1766D8D873E12C12AC350307AB48BA5F1AB55B4595A1A90D38AD6EB6BA5AAB4D2B189EDB66E778F6BDFB6A1ACAC3C8E71EA11D8EC0A5EE78A5F8D0B9169F24265AABC4B9199AB1EDC36F8B02D36C6D6D81CDBF3EB5DAFB22E251E2612807B73C4B0CECA567DB00491A758265757BB2406D677F595305C25EB717209664D578E916417991C07E3FA89EDCCD0AE948937E2C969F30046006C8DCDD5F6A793323232FE8D2C1F57843B0C1200B6E24A6D15E0CBB82DE98155BE3AA674B2739696181D23F39EE4911CA05CBD0049207193254D547BF48758E62BC73B588284A2C9E083D7A50805AC3E782E801CA1A36B6F76C52CEA9A9A5D08C17BB1CC240410826CE711C58F484E75FA6515431F68D7D71EFD4117BE723CA5EDF9D30EF9002B2EF21C64B2FCE5C1902001B031B6C6A6D8DE118093250CC155657E54D11D1BF6E9E3E2150DB30AE8E80A36496254D286C182FBE3F6C44BF021063638BA77BFC9ED1AD27914E6DB57B06DD28EAE4BD196EFBA14DE0D021037216654C66D4960D4CAC49E7DB009815EED6F2468C4EB11C9694EBFF48BBC242A7146671D25DF944332CE3212C7883C1E0D3302605B6C8CADE95B3B02D0087BF0410264E7E4394691CDDAE07DEE8604CA9EF50B839DCE25120062A17892BEC9D535EE748E25172E1903F90E7B2000670B6C22455D974A24805D97A24F841A08409F58B2D15E944BC588E8C957CEAC4E2400B3137996991B011823FB2710BF239D9907F1E93D910036C69817686A47006C4CFD3801D4953802E06A38A0B8F1C61BE304E0916ADC061B177621D277D8634797BE72BB536777E19851B87DD6D5BC7767F1EA963008C07D461D8512366C5511755D0AA3D815735603C1EB52F668188A613FC0DA8BBA6216754DCD968196BF845D4133024074F20F08E06BCFBCA63D591406663913C576002D9731996C0D1B01B02D36660CD81CDB3B02E0FE5014A7624102F0DC3CD92A59A95D5DF25DE7E2BA12F7CFE27FAB0A9E1354B9E48EEB54ECFF275E1533E4E68E92D4D4B4F815345C9CEFC79218286EDEF7234AB875C208C6B0E551229881DC4364DF1D853435CD767FB7C7D913C123DD5CC36A77B6D17A0185330FAE6A51C73E07C706389F484DCB8C9D53A84CF4451EE093894E99C1BC26CAB47316AE80E1E1EC73A24C96D6762104DB62636C8DCDE304B058C5ACE159B9D8D5A13EBA4C2A8EEFA54F0B79EE1E831ADAAE5CD5B543E29D3860EBF0E0F525367EC66BAEC1E91C83E61EDC947646BDF8F9F7E073FF182608FA92B8660EF681EC7896CE1ADCFF7C1D63BDF6C5FDB640076D868D2F718C61E373DE53E5648ECC76AF605A82BC449957AA533C074B4D2300B6C59ED8FA220F802BC175E0EE8D00593979ED9E658F4AB88875B1E7D1C3CB691B57451CC45551DF9239BBC14378183870900B27C4E4A8B377623BDFF595238381926BD86F18D8EF0350863CE4B0C94508420776B52A0CE414F43F2AE43026FB7D00FAC69859A9F01D08EE1E0E4DCF74E186FC034F17F51B077C97D9EA2BB7875E916B378C918D8E294347FCA8961100DBD2276C1DF7009999991FF3C17EBCC1AE85711F60547EA173195DF92C3B8917EB5506C12F67F4EA75AB1B08CB14668DEFCE1FB218BCAF9C9960F7E56CB5117C761E83107FC90188C576E9C5D77F5B0530B37C75ECF1704B02E9879D025246CE919296EEF40B0191893EA27E9300BDFACA6D8CE881196D63449FC84446F05A38B6C5C6D81A9B637B7EE0F9577C201B0F1260E0A0C132A6A8ECB29E658F7ABAB6A367D92D6BE5D6AA3DA718F5642F33B9A3AD605B220509107C3208A34080FCFC7C27AFA32517F2A20EBCECF1F04402D832102FC48D207B300499510750767E12F5BB0BD82D9100C1A5350420F30F1280EF60736C9F949C9CFCBEADF3E930B764A93C74D870292A1DEF0CC2860333AE331ED7C63D4124984D78A1F376958C01D3493671D8048A22945DD18A3A9D8354289841238F786F3F1B0321CD03E022B98C4A7BB8D2EF7BE065279E842F64DB8F4ED8328E30620460438971461D405DCAEF2E4062C6413EC12B9B5DB611C418595AB331D67A1DCCD9183B61736C9FA4EEE1242E90C670F72C4FA83C529395A2D24A77260F831808F1AA2B9F6567C7CEFE5F00DC63D4716FF02760A29413F5BB0628283D3DDDEDAAF1F3EDCCF028427574E065CB36DFAF88B0B44D4DCF70B39407523ADA7CB2DF24883A40334FE62BE7C20B975D6CE9898D9910D81CDB7321A4FF8001037EAD1F3EEAD9B3E747BA26FE4867FD17DB77ECF866534BCBD7EA3EBFD54CF4078166F6DF55548CFF4E65FE20D0D9F09D7A850B9AE47E372304759D0C64D6D7377C1B51E742674327D2059D747F563B7F8C6DB131B6C6E6D8FEFF00945FB2EDE863C6720000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (120,1,'Rackmountable_5U_server_3D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000001A0806000000077C5A4F0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000A25494441545885C598494C9CD911C7DBB6AC4856A4C4B6BCC41E30C61868308BA101B32FDDF4C60E0D6633D02CC6EC3BC6D8607B8C9744B9640E934BB6C9E498E49A5B72987B0E8972893489A5643489CF8912C5814AFDDEC7EBF9DAF17862CB9A20FDD55FBDAFEABDAA7AFFAAF73E3C22E27913E8DF414599E281E2D70AF912F154F15D459BE2AB6F1A8389E375948F1E3DFAB563C78EF51C3F7EFC03C53385BC0CAAF3D6A06B7E11FEA5F8A5625D91F7D613909999997DF1E2C555C5AFF4F9B9422C74EC4B414646C6EBE0CF8AEF29626969695F7FED04442291AF949797872A2A2ADED3DF8F15F22A5CB972E5ADA1ACACEC6DE3B9E2239DFBB6A248CBE5C0E726606C6CB2666C7CE2693C3EF67C243E2AFF2F0C8FC45F89BEFE01E9EBEB7F33F40FFC637864E4772F4DC0ECECFCAAAFB45CEEDF7FD738F2E8D163199FB82EABAB6B52545C22978B7CE22B2993C2CBC552EC2B95F5F59BAA1797478F1FCBB56BC3B2B5B52D9337A6647A7AC63C0F0E0EC9CECE4333B6BCBC2277B6B6CCBC4F9E3C91CAAA1A33A79D97F998B7B0A84CDA3A7AA4B92D263FC94D91D6AE2139BBF3A1FCE6B7C7A4B9BD516A1A9AA43A109168AC4F9A62FDD2DC0D06A4A57B505A7B06656C6641966E6D496F7C42DAFB86A4A37F583122ABB7EFCAB7DF7B5FFAE2D7759EAEBDA4049C3A75AAEFC89123EFA7A6A67E54565EADCEDF950175FEDD073B32341C9785A56559D200AE0D0FCB839D47D23F30A4C16CCBDAFA868EC5E5C937BF25039A80EDED7B925F502C798A7C17E2F171999D5B908D8D4DA3F7F0E123DD8D41D9D8BC2D333A1E1F9D90BB77EF4B38DA22F9853E0904A3D2108CC86CB0406A3B4AC43B53283FFA71AAD405AAA5B4BC4E0686E27263665E2615FC4E69D053B38AB94559BDB9296BBACEECE28A4CCF2FC9CC3E1697D7E5E6E696CC2DACC8E0D0C89E96C2778899D83DE9E9E93FA7DB1E387060B7A0B0488635D0D6D6568946A3065D5D5DD2DBDB9B90C1ECECACF4F7F7EBCE5F93898909A9ABF74B47478719C3D6C2CEE5960707078DDED0D09026272EE170583A3B3BA5B9B93901C6DDF2C0C080D1B7360B0B0B52555D63D677EBE127FE5A199F262727656464C4CC81AFE1481309784ECCC4EEC9CACAFAFDE5CB97CDF97A362545DADBDBCD224C06589480AD0C36373725168B196C6F6F4B95529A396EDCB891A4B7BABA9A24CFCFCF1B1BD6B877EF9E5CBF7E5D0A0A0A4C42DC7ACBCBCB496304811DCF1B1B1B66DECCAC6CE31B8159BDF1F17113A49599637171D18CB3E6FAFABAF87C3E1260FC25768FD7EBFD543BBF49404A6A1A0AD2DDA375D8D2222D8AB6B636B350CBBEDCA23B393A3666326CC74A4BCBCC71C542ECA6C5CCCC4C923CA676B0A0BBBB5BCBA0CF8C6187B3AC63811E3B696574F181204804F67979F9120C06A5477DB57A3CB3DBEEB9A6A7A7CD3AD8F29B93936B62256662F76826FEDAD8D8680653CF9DD7801CBA36353529A0528B8BA24EC0CEA24CD8659C8101619D105B801E40C73EBB65E620C15D1A4C4D6DAD3436068D4316AC6F9EA34D06C876EE360D6440CBA8A4EC8A34E95C6E3BC7DFE6841D727B7B47C23EA6BEE6E45E32B11233B17B8A8B8B9FF9FD7E2701A9E7A4561DA2B66CDD923976D25DCB50D05D028140A31416161A3B27710E281DB74C89583BCA8879757D9344B71EE304626558830DFD636D6DCD9448B637C78CB3CB560FA6A06365126D4B00462D2D2D193F89959889DD535454F48CA0194CBFE0DCBCDC8E020CDD3293B2D8D5AB57CD82B575F572F2E449435D1A8F05766E99FA84CA048CF3D4AF362253026E3DDB4BAC4C62E94BAC8D0DB59D7B294FEAEAEA8C6CF56CBF78D107FC84C5FCDA12206662F7E4E6E6FEACBABA7ABF07A4EA6E06C40F34437E7F40024A156A8D67BFBFD1BC0B8542466ED471BA784949896141281496A0BE0BED231C8E98318B70249A78C769026DCB94CAB5B575D2D0E097063F70D6641D7CE119BADA5FD6A40FF97C256AD3906CA73E380824E933C633EB5DBC9869622566628701DFAFA9A93183A7BE7126D1A509CC1E51EC9695C19D3B77126CB875EB963992689EEC54C03AAE80CA6ED9328BF9E9E630064A32E6D6A3744CD0FB32F3DA5300FAC340AF96000D2F680274F460A57B2E02B62540A9700AE55E727A0031133B09F8810A7F63F09D94545393A3A3A38900A18D3DBE2CA843DB8DA1604545A5F972E35873D38FC5DD32EF71923E821DC93D7DFAB4A1B47B7E12678301046AFB00C9C0362323D304C9B3D5A31CED916941C26C39F19B95ED3509A8AAAAFA3BB17B74077EA8F5F04706CFE9291031340DFFCF40BFBCBC523B72AB84C25143738BC82B10D52EDDDED1692E510EED430934063F1F94588726AEB2B2CAACEFB6FB225B4E9E0B172ED81EF094D839063FD066F26F73117A27D5D43E9973EAABC15091E665654063A1ABC20E9E098012600742AE1EC04EBA6576872314B033C8A5A5A5663DA7E738989A9A727AD1BECC2EDB86CB2D706E6E4EBCDACC60062569F56024735B9935F18F52639C12F4E6E498041033B17BF426F6A13D0661005D99CB83FB66B6B2B29224DB04402BA8595B5B2F7AAF36B5F6AA9B20F3DA0B903D11CE9F3F6F9C73EBD1037867654A9224A04730049E95E5354972DF5AF185A4BBE7A20CB1C55FCA27332B2B710C12BB273F3FFFA74C641290966EBA6A50A9E5A64E48BB79320DC349942C2FAF30BFC1E04BEC9268E9BC0FE8C587CB0F97138E50E78409244E1ADEFB034EE7774E21671DE682F65CC02A2AAACC7A6E3BC72698B0B3FAC60705EBD912206662A7097E6A1370E66C8AD4D7D79B8CD98ECF85024ABA4F01E80B256D097475C5F46A9A6776D7FD71025DDD32F3303760676004F70EECDCF3A3C7316965768E460913A03F483B9F6EC660A1D58321E8BA7DE7FE0F4B588312E002651340ECDC043FB157E194736926432FD2E8C512C079FBE5856E8736B33367CE2475647B61A22EAD4CCDE320B62487049C3871E2BF4A80F1174B80FA678C20281F12A09D3CA9EC5EF6E186EF94862D1F3EA2EC5598D83DDABCFE4416F573D894803F1034D47568EA50877BF567140EEBEE346B86F5B4D02CA35B57DF209555D53ADEA2948B1804F59B3EAA777173390A3AD04F516367E5A0EA4165E684BEFEFD0B0B73BACB093912B5A753C4CCC1C9838F9487B5C3574E9F44790643C6D7C4454CEDD234466225666287011F93A143870E99047043225B5C302CA0905BA609B1B33080B31D99FFC1990F11D7C7091977CBAC634B879D63B7B2B3B34D5374CFCF4EA26F65FCC10686C10698C44EDA2F3EABC7050B3D2B730A5846E02FB6D95EAF89155F889D26F80B5E1E3C78502EE517F18D6C28F6AA6F0128CA422C4EA727D00CAD6512E2FE68A25671CACA38801DEB414D9CE3DFE804F8B252B1B24D9CA538654009F04F59F7A58D3AA724DDBEE29F2D4DEC7CBE52132BEB11BB476BFE81EEC227870F1FFE4B6757CF3FF55EBFA7CABBDA8412D00C26C91AE8AE069690956ABBDA04F7B4CBAADC94402CD6BDAB9FBF09593F4D0DDC3AC5C5BEBDA6A6965D60C73A3ABA76DBDA3ED36B6D6DDBEDEEEE49C85A1EBB7AFBDCADA9A9DDEBEC8CB9E66BDEEDE9E94DC87AE1DAEBEDEDDBE3D742CB893BCF1F885963DFF90F552C3C46C01C16880000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (121,1,'Rackmountable_5U_server_3D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000002808060000000193FF390000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011FD494441546881CD9B696C95D799C79D4D2424010281103010EFCBF5BEEFBEDE30C62C26312698C536E005DB40D8211060D2044813B624ECB424CA84341D753448953A6AA56A34ADAA56D5CC874ACD17A4F9D0569A994F559799366CCF3CBF639FEBD7E79E4B430604487FBDBEE79EF39CE7FC9FED9CF35EE24424EE7E42FF85147B143F53DC52C8438CBF2A7EA8D8A248B9DFDC187EEE03E14F3CF9E4938D4F3DF5D429C57F28C4857EFFD062C28409415C539C54CCD7754D78680D307BF6EC693366CC583D7DFAF4EF2AFEA0907B8DE79F7FFE8160DAB469167F565CD5B6FEA953A7CE79E00678E9A597D293929276262424FCABE2A6421E36A88EF713BF521CD579AAC3E1F0E3F7DD004C92979717CECDCD3DAEB8969393235F17D9D9D90F04595959F70BBF577C27140AADD5F5CDB8670650D2A7949797AFACA8A8B8A2F8BD42EE07748E8716656565778BDB8A5F280E9694941469ED78E4AE0CB07CF9F2BCA54B97EE6B6D6DFDC9C2850B6F28E44E686969792058B060C1438BE6E6E608F4F37F2B4F57162F5EDCADDC4EFF9B06D8BE7DC78DA56DCBA475D1E2AF87D6078B45AAC3FAF57DD2D7B751BABB7BA4BF7F5036F60DC860EF80F40E0CC9FAC1CD32B071A30C0DF74BFFC0A0F4F58F205CDF24B5F710F54D0BA4AEB1D93CF9BC60E122191C1CFCFEDF34C0A6CD5BAE676466C97BEF1D9393274F4A77CF3AB978E992ECD8B1530E1F3E2267CE9C91705D83141416C7C4C18387E4FCF9F3B2BCE3553973F6ACBCFDF66133FEE2C54BB2666DB71C3F7E5C4E9C38293DEBD61BD95BB76E93C3478ECAE9D3A7A5A767BDE9B773E7EEC87CEDEDCB55DE0595FB772ABF643C8AC6232B2B47CA2A1BA4A179892E78486AEA5BE56AFA0BF2CBA4A72561EF6989FBC17FC9373F2830CBEDE8AC37DF83DAA6167965ED066937E895E55DA04F3ABA41BFACE80103D235B059F67DE388BC7DEC94EC7FEB1DE9DC3068B0AA77C86075DFB0C1A9B317E5DCE54FE41BDF3C216B754C4373AB6CDEBCF907510660DFAE78C9626868D3F5AC9C0279FF830FE5DCB9F3D2ABDE71E5B3CF64CFDEFDF2EEBBC7E4F2E58FA4BD63A57CF4D1C7F2CE3BEFCA1B070EC9A757AEC8DAAE7572FEC2053979EA7D79F3CDB7E4DBDFBE2C9DABBB0C99478EBE23BB76EF958F3EFE580DBA41CA2BC331D1B3AE4FAE5CF94CF6BEBE5F9DE0B899AFB3B34B3EF9E4EFE5ADB78FC8BEFD07CCF75D3DBD7241659F38794AB6BCB6DDE8B869CB36C92F285103D41B030C0F6F32E41E5A9027C75A42923BDC22F3CED6C97BEF678D334075B845360C0C6BFB1979EF83B3720C7C784E8E83D3E7E4C4E9F372E2CC7939A9F8F0C2B7E493EFFC837CFE8FFF249F7EF77BF2FEB98BF2C17970493E34F8969CD63EDFBBFA7DF9E18FFF453EFEF473397BE9B2ACE85C2383C3C33F0A726DB8D77DEDBBF1F1F15F4E9C38F14B6DF8323535ED56764EBE2EA4C87873764E9E1415974A6E5E81E4E7174A917A597676AE79F2394FDB8BF5FB1CED477FC6E5E5174821DEA8FD78E6693FA2CAB685D44B63C18EC9C9CD37731614154B283BC73C73556E4E5EBEEAA33AE4E4EAF7F9E669C7A02B324ACB6BA4A2AA4E2AAB6BA5529F6DE10A69AF2B97D2855552B0AA549A5AAAA57D79B9D484C3DAA74EFBEAB3AA56AAAAC306C5A5E5FAAC1D453880BA3BA3261AD5A360BC6E5BFF5339BEAE87D1EB7A76BAAEE79BA371F3E6CDFB89EEE7E599679E31C7F1499326DF0E6565CB8A152BE4D5575F9565CB964561EDDAB5F2F2CB2F47B5D3BFBBBB5BB4E098F1A0BDBD5D366DDA640CC5775ADC65F5EAD5B26AD5AA714026DFBBED60C3860DE6D9D5D5659E8CEFEDED359F4B4B4BA5ADAD4D56AE5C69E60A428B9E91EBB603ABC32BAFBC62F4ECECEC346DBB77EF5643E618F9147BDF58C6B156B7BDA3A3C3AC0199F4617E646FD49AD3D2D20AC7FF0BC7700DE7CAFD4FE31213137F9D9C9C2C53A64C3106E0383E6B56BC21B1BFBF5FE6CF9F1F855DBB76C992254BA2DAD7AC5923870E1D92AAAA2A431A4AEEDBB74F86868624339465B69C8CD35D963434348C030A339FDB0E0E1E3C28BA2536B279EEDDBB57B66CD96248E3B48A4C8C515757370EEC48E85B5F5F1FF5DDF0F0B0D111D2E9B763C70EB3AE818101494C4A36EBC7C97C63AD43B8ED38975DBF7D62D0BEBE3E696C9CCFD5C60D389E3C79B2C039DCC7E91FBFCDC8C830D6E2CB471E7944E6CC9D1751D2B7F5C4A351DC6DC7038206C0FADBB66D9375EBD68DA49850C82889A1DCAD1B110409BE6D1D325C03BCF6DA6B8684679F7DD6C8D402679E2E5E7FFD7513216E3BFAC5324072728A217ED1A245C6B3DDB14495EE68A2DAE97FE0C001AF016A6AEBE0F6361CC3359CC37D5C4A4ACAEF6A6B6B8DA7D95BC1A4E454632588C68B5DB078C2CA6DC70BDF78E30DB360084579BC8890CCD41AF0D8638F496161A1194B7B10186BFFFEFD51ED000340367FB350641345A4080CC05D0D0B65612EF6ECD9630CEEB6136D180D59C844367AA3734A6A9AC90438554F4F4FD4581C0A83F9E623E27144E41145C804050585117E1B1B1BA5A6A646E01E03FC9649ABABAB231DD233B2A4365C1785705DBD41DD383444A37E0CF5A3484BCFD462546B3C2108DF3CB110AE1B8FD2B2722DFA85BA98BAF1A8BD336A83F0CC93A5853D4AE6DDC8F5C80C656545F8856B6368E5DE18002B1305C108C06B464F7251C0DBB1AADB4E2EB685168F2524F104DAD821F13DDFE1ED6E01A78DD0F615FDF5EBD747BEC7CB28B8441B85B2A0A02032DE971218E34B4DC8A086B00E1B8160FBF6ED665785CE708217BB63F170F470DBEDFA894ED68F6CA29F88A9AF6F8CF08B5C38B706F88D9DCC7648484C36CA433461E8124DF8C6CAE36E11E249B81616179BBC8792C80D1ED7018B2725B8ED80D444D8F24426799694C3C266CC986164A2137D82602C29810D82FB1DB91EA00BBA433C7249BBA9E9E9660CE4C3833B16A332B7DB0E57EEFA91C9BAC81C4103C039DC470C406E1E4B419952595969AC4791727332C50B45DD76FAB363092A403F142ED5BDF58B2FBE6894C473DD028ED750307D459F9A13340006A58EE045E47F360C14509B6F83C050366283600D410340123B2B7463FD252525C680449A3B96F5A0936F3E6A6070FDF4430669C8F20BD71103E8E1E0772C84FB73DB2147F7ECB366CD32618AA5DD624B55A730FA0A340A107EC1BD3128282C92A79F7EDA5C47A3943B8EB9309E4FA6DD496164BCDD1677A07B6963048CE71B8B617C6B2062908BD35899FCCD3314CA96A953A74A535393E9E78E852F6B5817E861370C7623825CD61FC930CA3532E03E4E49F99C0F73E6CC8974484BCF90322D704545457AC2BC33107C27142A2AD51352D3D24D11AEA8A8BA0757D8952AAB46A3AACC18B45CDB3890F13988D857C6E5E360AF9E2B34EA6B6BC3BA630B8DCABF1B99B1E456981D4F864695E517AEE11CEEE3D4D25BF88027D90ED39E9F6EAC87A7FB26C2FA84BDDB4E5123F4F0280E5F76AF4D0886F42086479152086DC233083C85B074DB015B49BE2772F026F4A22FF3B11872355EC74283208F93AEDC76807E9C73880ED22C7F53EC496D497A10236A99CB37D66E0ADC76D6469A641C3A53A84969D4CB9A408D856B38877B0CB08DC5F09ACD769839F3C5485E8C15D628E1B643B67B12B6451803105190C57C6EFD20AF52087DE700C23A7810E3497165CC73CF3D676492BF7DFB728A2064B9EDAC2D78108330AB2B06E08C414EB7570A4160246A9BDBCE3CBE4D087C11FD965FB88603B88FD3FCB98B0F73E7CEFD9F4888E849580B44CC83D8D6AD5B63E646264479FE462E1EC022B9269E3D7BB63961E27DEE58BC04527DF3EDDCB9D3781786207AF056A28ABA415D29D61D168B8C95933194DB0E891461E6B5A77B9C8A8848D66D786666A669FF3A35D05ED7F064FD44535555753002FE0C37701F377DFAF4BD28181F1FFF33DB213129C5E4D68E8E157A98AA1FC3E89D872D5C901904E4AC51596E3B48D7BAC2FB53FA301F5E1B04DE06096E3B601178A2DB8EDC543DB5620008B5ED6C1D2D2099280AB6D9730084FBCE081C9A727373231775AE5CDAD02928D3CAE58A8271AE4C0C6AF9856B3880FBB8175E7861DFA801FE7D6C1B1A9265AA34A7CDC6C6A608C8E1D1981FC1D8C55C7304768F9F9139720F54630A71E5683156548EA1D287AA6810DAC8E5244E619CAF7F936329A020CCA9D962F4F41E3CC18F778EB1D37A73F3024D251D929D9D234BD52128C456662CB9755EB90DE3D0D6B64C0F77D9C122FC6F700EF7717A9039C807CD4B7F1CB3D03C6345BCC45784493F1469B7DD1E446CBAC06BF04CC23C3F9FF709F9C6D3F116772CF290EB9BCFE671F233FD88145203698EB4864C3EBBC59B7A61CF0E2E4883D40D9BCAA80978353AB06343771BE5EE58D20769D56DC729583FFA904EED9A463608E1600DF8239CC37DDCCC9933DFE4436A6AEA588784E488E732919BE7C8C1C06DA7AFAF08B16BE260C31DB8358AEF228F42E8CBABB4070F62C8E46F7231D7D118943AE11B4B3FDF1A3062F0208671918B1CB6E1F67A39D619823AE89B2F5611AEA91D33005CC339DCC7E9E9F4301E9A969616E9909C9A6EB64A58102FBB1B05384CE1014CCA78C86632F6EA93264D32276CDFEE8A2D2505CC2793DD111189216DC1442FC8C1006C18621DC418E35B03E4A307BA710AB7DB507646ECD9593FDE8F91DDB1F4BB93C17108E6E549541161C1220CD7700EF744C051D7004929A9A6087345CDCDDDC881640C84365E137D502935614BEE760F30090989C6F26C451B1A1A35224AC7813E90EBB603BC9FFB13A20814178F80237D626292EA9E6EEA15698ECBB920D015BDB80EA63F40071C815C6EDAF4735100292969868FA2A26293025DB9E8C4D8A04C2B17CE18E3CA4D4C4C8C3200DC6380AB7CE0A2CC76C8C8CC363912CF207C7DF0BD3AF401CFE600C535B57D6943DB571DEF9B1B7DF1583C98E2884792C28888AF02FABBC0F3D9C190327887CDDFE8FA5565DE492E29948D47845FE57AD40057E3F4C33516C53689B76174983B2FC1904FD8FB0A983D64B9EDECFFED618950B4274E886C6A6A36F74B4408B5C557C021D457847903C6F7904E44928228842C901727E84AAAF0E94A01470FB79DFEC8214DD8D7AFA40B732FA651C5350272A903EE581CC857F44959AC9FFA4111E633A98EF5722561DF38C2359CC37DC400BC2EB406E01CC01613C5F8CEF736C97712B4AF24ED69D516213CA05517CA059725DA57C0315AAC93B72D9456260BC4201880B0F7E903C8C5BE3762D426C6DB5D19518A5C9E5CC7C387CDE1EE588C440DF0CD471D734FEDE85D565E193100B22306506B5CC343F9F1EAA38F3E6A3AA5A46598233E8BE60EC6DDFBDB5F3AF8CE0578AB3DC21311F6069373C2C489134D7163E1BEB1782BBB2FB7DD6EE5807D21845C3E63007E5040A4F964D28E63B8EDB4413624DB75E2F1C84D484832FF8F81DC4DA4B963714C48F5CD47BBFD95867D47C2FAF95508DCC2315CA33BDC470C4071E19DED8801324D8119B9FDABF0DCF655E8AEA632F277101CAED8F194958F475E5EBE16B754CDAFF95AC42852C506143A0B7303ABC595DF1C59506CD1A344618BAF053A67683873E36AE6746E2301B997F077752DAF18D1D5D593B9D2CD6F988AA4588BAD576EF9C88D6CECF55746C9E56C01B7708CDE110368385C23A711A678D3C83634D3E4483C020FB85B208B0978DA5F101072D5D535267F7E1D99C8B14599BF8922D20BB9DADE37D9DBD7AF0A6A08B2482900397870EEE86F988892BB9509ACCEF63E8C7B239B82E0185EE001EEE3B2B2B2BEB0EF46093BB30D4D0D99FB150A10E1E6161B8A3339D457F4ECEB43F23E9FC995A42B42DCBE3E842CB7D092C78DA231AEBF4915C841266710C8A2C0D9221CEB2A9BB1BED32C44D914C4DA6D5146B744AD01EC54904B0A71C792EB7D45DFCDFD3CED5983AB16B88563E68373B82705FD9C7C05D17CF9C4134FDCCECE2B91F4F474938FB1A27B098667B030DFC51924060D802200AB4F9E3C25F28AD17D95C742A9013CDDEF20DC16CA601166711880F9F0668CEBEAC31816EBB663B0A0018828E462180C101F1F6F1C1043FBD68F63F9D64F0D740D0127FC4244D3CF4D38A61F9CC33DEF84FF9945733051F2B9DEBD5D505C65762C140B16E6BE2447313CDDF7029DA2677F26C8C51C8B8374C660008A3B275B5F0133BB25EDE7B6DB14832C22C56E0F9983057125CD398036571FA284B16E3B24A20785D2BE80B73F40E097718F3FFEB83930B101F0ADDF5E8DBBC059EC7B0CE4D217B9D48C0913267C09C7700DE770CF7574D7DCB973BF5062BED049BF50D2FFB26AD59A3F69D8DE686D5D7CBDAD6D99174B97B6DDB81B2C5CD87A434F90371B1B9B6E2E5AB4F89EA0A565E14D8D885BFCBD64C9D29BAAD7FF1B4AD84D3DA9DF409ECABDA56DF704AAEB2D3D07FD068EE11ACEE1FEFF00AC300C34E2B45B870000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (122,1,'Router_(128)',decode('89504E470D0A1A0A0000000D494844520000008000000076080600000000F59BCF0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002B644944415478DAED7D07785CD5B5F59EA2DE7BB77AEFB22C1B77D38C099860B00D9810B0297F1252A82F210470420B8F1212124A4831A1873FE5FDE14FA836B8C8D89665F5DE7B2FD334FDAD7DA4912579248D8AC1C23370BF3BBA337367E6EC75D65A7BEF73C712B3D94CF6DBF97B93D8016007C079F7A5DFFAC7BFFFD1D8D691DAD6D9431D5D7DCDFFF795A72EB203E03CBAFDBF8F3FABD46AF589A5557554565DD7F5D7979E0AB603E03C03804E370A80D2AA7A00E09776009C7F00308C028019E0453B00CE3B00E8F586710678F7C527ED0038DF00601000A8A7D29ABAAE777E6B07C0F9070083715C02EC00380F01601400A8170078FBB74FD80170DE01C0681AF3004B0B0012DCCC8B18B4F31600260B00AAEBBBDE7AE1F1731E00EFBCFF9FBB3B3AFA6FAE6F6EF35069D4CABEFEA1F7FEF18767F7DA01305F0098CCE30CB01400F0AF8F0EFCCA4C921FB6B47751655D1335B576ECFBE71F9FBDD90E807902C06C010018E0CDDF3CB67400D0D145550040638B1D000B020099699C01DE58420068EDE8060334DA01B068004016F0C6AF9710003ABB05033434B7DB01B050009455D70B0678FDD78F2E1900B475760B0F6007C06201000CF0FAF34B09003D5455DF44F54D6D76002C1400E5350D8201FEF2FC2F960C00DABB7A0403D801B058000003FCE5574B0900BDF0008D546707C0C2015051DB20BA81AFFDEAE74B06001DDDBD8201EA1A5BED005838001A0503BCF69C1D00E72500389F2E0303FCF9B9BD4B06009D3D7DA20E50DB6007C08201C0F93433C09F9F5D6A006802005AEC00583000904E95563500000F2F1900748D01A0C60E808503A0BABE59F402FEF4CC1202406FBF90809A7A3B00160E80866691052C2500740B003411C06B07C04201001A151EE08F4F2F2100F40D0806A8AEB30360E100686C1195C0A5060036AFD8EC005828006A1B5BC5AAE03F3CF5D09201400F3300CC6B55AD1D000B074053AB9080250580FE41510AAEB40360E100A81300A8EF7AF5A99F2D1900F40200A326B071DFDF5FB503604100A86F6E131EE0F74B09000383631EA0190078DA0E800503000CF0FB5F3EB86400D037302418804DA01D000B0440434BBB608057961200068704035432007E6F07C0790780FEC1615107B003601100D0D8DA2100F0F2933F5D5200E01E46656DE3BEBFD901B00800401AF8F2134B07000343C3C203701AF8B7DFFFB71D000B0140535B87E805BCF4C4034B08008A5109B003E0CC5B554D9D34313ED6642B009ADB3A8504BCB884003038AC100C5051070978F93C07005F295B5A5E19ECE8E8701DBEC60DF82EF126B3E93DB3C9FCBAC96CFE2C2D39D13C2300DA3B0503BCF8F84F961C00AA0080F7CE570014159778B87B786CC3C7DF4564BED06432CBCC661321E884E0636F227CAF561C7F03C75FCF4C4B2DB50600BED0B20C0CF0DB250480A161A5E80554D637EC7BEFC5F308006D1D9D0E46A3F1327C5E049DB622B82EE6D14013EE930080D88F01400061FC78118EBF6E3299DECACDCE6C1B0740C718001E5B420050284719A0BE69DF5F5FFCE5D71F009D5DDDAB8D2613077D0702E86F9E3CCB6D09FED8F3C4F3F1A779FFB04A9D3AA235043303940A00FC78C9006058A11A35815F6700F4F6F527F14C4730772198D1A3D43E46F1A783793AF81341317DF069E2794C46330D2A1454545937B836272D70DDEA95FA250100A56A340D8407F85A01607068380441BB0E41BB119F296752306D08FE7C8130F6FC5E1C7F07CF7B7DD3BAD547CF650028C6005051D70C003CB1B401A054A93D10A06D6341BF1081909A670FD678F0E7210156CF37E53C75EC1770FF8D4B366DA839E700A0520B09E06EE03BBF5B820018D16A1D30F09761E039E857DA6CE66C95002BE7B10A8409CF9F8135BEC0F1D771FC9DCB2FBDA8E75C0180A519B4640000F72EC180AEC6C0DE8801DE8E01F59B76A68E1F9F5FF0E72901B3790A038E7F30565FF8E755976FD67C550050AA34A38B421B9AF6BDF5C2390E009C3B45983993F9060C60D4AC1A3D25E83652F60CD4BFF0E05BF95C0AECFF3696567E7AED555798BE5400A835A30B42EA1BCF59008462BB1EDB2E9C3B7B5230270465BAE0CF255806A3894A2B6BE9E08962F1C6EB56645062CCB269C1B14016B0C644ED78FE5B5C6CDAB9EDAA535F0600546ACD781DE0AD171E3F6700E089ED1A0E3AB64DD8A4630C30F794CD06EA57AA55947FB2940E23F083C34AF27477A59599A9949B994C8E0E0EA25D1A111C486EAECE8B250156CF33E573953110F0DC376FDC714DF35903806664745168DD570F00476C5BC6827E2536E7A94F58ECE073F3E6F32F0AE9645915E90D468A5E164AABB3D3292D3186868615945F5846C78B2B488D417290CB69DB65EB29317AD92C41B7ED33CEC18FE07FD3E7A312617EEF965D3B07171300FCDD2C7580AF0200126C6BC782BE1D9BEF0CFA3FE3C0DBAAE746839E4E96D6D081A327A9BEA54DCCF09CB4445A939B4EC1FE7E54D7DC4687C004FC6B1F1C109EF5B9E9C9B42223895C9D9D902F37C130B5505C6418C52E0B23A944B2684C64FD3C93CEA7C5F3FE25C06036FDFFDBBF7DA36E3100201684200D7CF3378F7E6900481D0BFA0DD8226D34806455FF6D0CFE904285D97E923E3F5628EEFBFB7AD1DADC2CCACB4C21994C4A274A2AE9F0F1226AEFEE15EF171E1248ABB253293D3E8646F47A3A515C4EC74E55D2905249916141B402A0888B0C259DDE405A9D4E8063A11230C7EF3780BFDF1D4B2B0F7FF7D69BCDF3018066443BB624ECEC03206CCCCCDD882D731E19808D033A39F80D4D6DF4C99113A0F272713C253E9AD6AFC8A2A4B848E2C510078F9F1254AF861962206424C6D1EA9C340A0B09A0CE9E7EE10D4E95D710CE486909319497914C817EDE34A05002149554545E0B10E871DE48BAF0821C924965D3D70C267CDED333DFAAFECF09DC785E2380F306F6AFFFE08E3D9573054095A804369D3D00BCF4EA9FEFDB75DDB5F779B8BB07CCF7C4B61A2EBEAFD319E87851297D74F8043580D25D5C9C11D4745ABF328BFCBDBDA8BAB1853E83041457D689F37AB8BBD10598ED2BB352C90DCFADA86B80212C25BED2C70386302F23053291402E4E8ED4DCDE455F9C2AA7CAFA66F15E5E1E6E949D120F7044137FF562641172F885A498089203500B9780299E610A734C3D1FEE173010F0FCB7EFBEF38ECED90030A2D58E96826BCF2200BE77EF036F63666C59B73AAF70DB9597AF96C9640EF306C00CFACFEBDB3E3D5C40FBF38F0B9A0F8373DF8459C981E58FF5C5A9323A905F406D5DA345B8E8F0105AB322933293626944A70768CAE9504131F50F0CD33296809C544A8D8B16EF57525547470BCBC725222A3C5880222E2294FAF0BE0525555456D34412A904AF89A4ACE458C88233B1CB7671769C57F0E75E8A9E746E23F61F733F02AFFBFB7FFDE84E957500E8464BC100C0EB670B00DFBFFF81B7A512D94E1E1C47B963C38E6BAEECCDCDCA5C3117FA9F69A0AA1A9AE8C3CF8ED231049023CDA6EEC235B91417B58CFA0606E8C09193C8ED8B88735EB94C86C793041B84050550775F3F1D3C5624248233810C80610DD82234D89F542A0DCE594147715EA54A0DC3281719426E7A22F981491A9ADBE918BC43434B87608A9CE4384A898B2289C44C65B5CD908E5A7806157C443418286561467061A56D159EF78FB1B4F2A307EFFD91D10200F62F9563A5E0D79FFFC5D901C00FFEEB4100402A00C0AE592295928FA7E7893D37DDE01B1C1418331FFDD7EA75940FB7FE9FCFF289AFC8F1F270A78D172C179B17289D51FDF1C1E374AAA25A0C88B7A707ADCBCB1252E0EAE224BEF40198C2CADA2641FBABB2D3C48C77777121FEE5ACC36082A28A5A010A1F6F0FCA83E9CBC0AC668D2F01CD1F83FEF385950CA2E5E96002A4904AF508DEAF0632D0C03D0A3CE62FD86519FC04334729DE2B08FE2101CF95CA640BAA6BCCB12135F1DC5D78FCED98E898202F6F9FEBB460BED16650D3BEBF9C3D00FC0C12301900BC974AA5FAD8E8A8FC1B775C93E9ECECE435330046BF546FFF107DF0F91104F718712F3B1E79F9A5EBF21004CC309311DA5D441F1F3A4EBC3A876F71D111B469D572042F8EF4F8B2472103ACFFFCD32861C101B40E86302B258ED70352454D2352C022687F9BF83B1681CACB4CA5F8A83004578D2CA0820A4AAB8869934D642E9826D8DF87BAFA066008ABA8A261B45E9310154ED9083C03A7B6B19D4EC244F60E0C5100328F7478050646635B17F979B98BA2D37CF57FA1A56D272727F2F2F2A6FE61355535B5ECFBCB736709003FFAC9CFC625602CF06280C7F73269FFDA952B2A2EB970E32A3C2EB3A6FF9C97BFFFC921FAA2B044B8F5D5B99974C9BA9514151642DDFD0308FA31A1EF4CF30EA0EA555969B471752E8563B079A672D039B88CF88CC4585A0F36E0C20F0793BDC141A4807C9D9C93A303E5A42608DFE0E7ED49ADF00B474F9651694D3DE44B2E0C1FCF785730453D80C24CD00463E80C8398017960097190CBF0FC46B0412D29946AE127329363C4F9CAE1134AF15DD4233A0A0DF4A3D5D9494038A4D141267CCA1CDDFF74FA3FE70697566FEC964B250FE3B5EFFE72EF83FD8B0A80BB1E78180090EC9C30F3270360ECB85CEED078E5968B75996988006E9C637F76F404BDFFE961E1E603FC7CE8D2F5AB906EE592ABAB339557D7D3BF0FE4D3C9D24AF1A5FD7DBC681382CEB39A9D7F552D64E0C8712A46209C11D8D5B9192205F4F274173392AB801C7C0681BF8F37AD5E9E86E027E273C804E08E149462A67688C0E565A5503A80C395AB6218426603BEAECEC7CB8396E335C97111C83EF498EDB578BC9EF4F8EC0991E19491124DAE8E4E548CCF5A56DD483A484A2400919E182D3C053FB7B6B90312E64A1B73D3312B1DBEE406D7196CA2C3FEDFD8B35FF8D7B38F3D32B20800D80B0920AB00982809620F9670729037790786047F76F494139BAF8CA438DAB2690D665E1275EBBAE9280273E0E322E235787C4B86C9BA043290951C0FCD3661C6160B4668E9E8A610CC32060CD7F5B99C5B039ADE9F7F52B87ABE25C62EA3B5CB336018C36904B3F2784905025F226A04316088556002AEFAB1041CC76C3F595A2D9CFDB2502E06252193084216A01035817268BC0CE0498B8F126CC023C135043E6E349A84A4642645619A4BE914DEBF1E8167B02542A612A342C164435451DF4A3E0043722CD2488CC7C460CE5FFFE7DC87B030C7105EF3DE58B1E9B35F3FF5A8795E00B8E7C1BD8201A69BF95301C0F7EBBB86796FFCE12D3B29312E5A963F984FFF3DF80B2A8CD84F129D8C967DB09AAE567E9BB6AC5E4BA13062FD988D1C74A67A6E71A6838A37AD5E41C931CB84913B565C46FB8F1410FF0B194CD72B31A3D740467CBD3C89AF913F74BC48D4FD0D462382140743C8A5616FEA8457C82F281380E162504A6C14E56524913FCC5C4B7B377D81EC8103C925E36CF88C546401EA112D9D8057E05A017F17EE28F28C371A0D54585E477578BE23029F0CF025C584231319A4A2AA4630CA3085C053A4C62F236F18D9267C5696B30030D05CDCFF6CD5C8F122D5DCEA112D38FE26A795BF7BE689529B01C0175BDCF3E0239C05EC981D00A78F0DA80D34842D313E963E8C7AD554B2FE3F52B374F2B943CD11B4BDEDFF90E19F41740294CC83B51679FD85087C80AF37F192E703470B40F5A784610CF2F7A30D79D9949B9180E73A10FFA6CF67908132D03D670279D929B40AA6CF15F7F9079F0E9F2811C520185461F89623FD7305782AEB5B4431889D3D4B472E3C416274383CC43018A48AAA715E669BB4F84811786696136535087C3B3C86A3087012663D4B080382677EA01F0C2298C30FC6B1ADAB0F3EA10929A49A3CDC5C283321125993BB6857738A692DF88BD18D9CB5CF72FAB54518FE379DE4D2977FF5D41343D3028083BF7DFB76694442DA5B729974BB2D335F2219BD6F2629B50DE92836269A7E13F813D2780C5244BC87B935A05A3215757E7531747FD5737461CE4AD1DCE12EDF4787BE804E9793115F281D74BC61650E25301B409B0BE019B819C4FF5842B0BFAF004D26CC1DB8994E9555C32C96882C81737DEE076424C50883C674FE4551B9908788902064088914151A4CED3D7D02100DAD9DC26B3083A42544D1B05A450525A381E72A221F4B8E8900E328A810BEA4A3A79FFC31BB3392A2290880ED4436510226E80513B80174CC0EE1417E4262CAEA5A84A164C989C366B3019CE7DAC69980E30810FB7A7B935AA3B9FCC9477EFA6FAB00E0E06FDCB851A6D56A1DD65CB8F90D995C7EF55C00C07B0D3991A78F1FBD1CF073AA743E49CFB4FC8DF2A3DF319DC87A5FAA735752407B346D57EFA6DBFCEFE0D8D14BDDBF85D9AA213D1881AB706B41F19CFBFB629099010E1E3B05AA3F450A9546D0323F96101521F49D753F1F6E9FEFC74484D205908078E8B24AA31505A6E34515A4E1F40FAF5B093F1108AA6E6CE9A07C049EBD86BBAB2B2D4FE34250240D0C2A470B440C08043E1300E2C0F773C5B0AC965A3B7B8579CCC2F1D0405FE24BB44F55D6031003C20426834DA2E13186F159B8A0D4D93B28B29384C81000C2978C90B4E6CE3E716E7F2FB7B3BDC279FCF91C170F770FC1901CC7E161C5E54FEEB50200CBCC6F6D6D75341A8DAE6B2FDEB20FA8F9862DD46F018094F798CD12377FFAB3DF5354E27A5400A0D0F520BD1DF002DDD477BBE9B1B50F4986492179A6FB09FA30EC5D1AF11E65A3C8C124DAAB7B8ED2CC39D0FC2EFA949B415C25C4F95764242305CC160D1DFEA1E4CF018A0204CB882FC93377CDF2740A0AF0059D0FD26180A210B31E9F0A06334E18492F507255432B1D2D2C43C0FA4420591E38C0DDC82CB872C88177418E9D9D1287E3E13430AC8204545313727FEE1DE424C75278B03F40A916816FEEE81115CAA4E83018CE10914D94D6B688E39CF2C6458460E6076070895A009E6A368F3239C5470481A5DCE7A4FFF3AA29E07DB978E6E2E24A3211A3D1982986555B9EDCFBC07FAC01409A9A9A2A87CEBA62F35D7BD165AF38BBB85C64EBCCB70080DF44E2E2456F05BE82C01FA2A75ADF150078CDEF19BAA7F3197236399BFF27F35792BE949AD1950593161A60E04EAD22B73FC1E8911FAD5F992D82EB026AAD82396309E06AA03302251A41D8586F3948CC12ECDCB9C5CBDD3FD67E47CC403682CC129C420622256526884786D0D9DB47F9851CF80E3081B3A81524C7460A0FC29E8001E1EEE68CC0C7835D82C72A8675421A783013A2C2C4AC3721C215087C2D8E631411F440513574904B01B641AA00F0F47A23001104E6F01165EFF9BAFFF10B5A66093ED7349C9D5D4EFBB6B1E0F37D8542B5E5977B7FFA9FA90B3C248F3CF288E4830F3E70C2C93D753A5DF0864BB6BCE0EAEEB1763E0090CA1CE8BDD0F7E8B8DB7E7AA2F5CD7100DCDFF93C06CC444F07DD45571AB79BFBF34AA8C1A372120C3CBB8269074CE22DFE7BC497E17AFF6833A8579844AE172C4F4BE0421477C3445DA011FE81F37E2E196762A6F28014C2C01D292C25BE90323C38802E4006118559D9D6D14B874F95529308B00BAD001324C52D23BEDCEA5871158C64ABC80E72C0040C142DFC077720CBEB9AC520C72E0B1146D101B3B90AA6B3BCBE55789465A10194024030C57366C0FA3FA480FE87058A4D78A4452A004DC7021C4907B9834853392692B1993F11002AA5E2B227F73EF4C1190060FAAFAFAF77C27D2F9C3474DD255B7EEDEEEEB1DA56EAB71CB7C8C57EFFFDF491D7FFD02FDA5F1B07C08F3B5F2083442F00F0ADBEBB295BBD8EF6253C641E4CAE9704F746D34DDAEFD2377DB6915ADD49038AA741D507E8BDF7B3A9B77F230C6136256186727AC80B4138F05C2D6463B776453A743E52540C392DE4F5009C56720E7F414E2A34384054FEB848C47B4F503A073E05299D02CFFB0212C059027700392D4C423E6F827B2FAE6E00833488F78C44103313A2055B7011A8B8BA91B82F1F12E04369F0109E0013670065000AFB8208C805EBBF13B29CB91780E62801669388854C4CCED3819F1A7C7E8E5A65050016098001741C1A1AF290CBE581176CBCF8712F2FEFAD739AF913004048FFFE14F20704FAFE7100FCB4E345D24A470400BEDD771F65A9D7D0CF436FA3087D1C7DAFEF6EFDAA1C4FB9DEF0AC24257E3F82717AE5D4C8C82A6A6DBF8F3E3E6414A5610E2E077C5D5E0602037A8641E4A08B0A2140C040598DC073B6C014CFCBC59A91FF7B7BB8535E5632A5C0142A356A049EDBC18DA2BAC7333E15291D3B539EED85307E5C1B60DDE78EA1B7A71BCED1438595B5626673EA97897491F70C8432C84023DEC31F7FA7C64508A09CED02D0F8CC17067E2C0613823F1A0BC9381BF063C30AC5E6A71F7DF843AB2670F9F2E588BDDC0527F73248244139CBF376858446EC46AEEE395700F0F346E43AA0D28F0A5C8F08003CD4FE7B52CB940200BBFB7E4CE9EA55020091DA0401888CA8C72822BC8BE2A39BAD349724F4C1E71974B2F83BC81472841CF00F251C1C2F0699847367CFE0E3E549752DED2283688129F385E95B959D2280A1869673ABB804468ECD5A0EB49F53463674550D2D42FFD9E805C12FE4A6C50BE3C9A95F0124A507B93F37823213A3282CD05FAC2AAAC06BAA1B3BC80D862B1D81E7D2F6EC3D80F9EBBF25F85CFCE222159BDDE9823F1500BC2915CACD4F3F360D007829775C5C9CDCDDDDDD0546D003D9800F6E51E9392BEEF00D08DC2CC36D36EA9F2A172491D311F702018047DAFE484AF99000C0ADBD3FA554CD0A0180686DB290848CC8FBC56A72856EBB79D3CAD740D54DC21F68461CA9BCE6527294DE0D63B70C695E117D72A40DB3BE49BC173B7A5E12E6E9EE46FCFBFF9F7F51241A42A3BE204D983BF5C80818A202B97C8DD03CCE10B2531340D132AA6FE9A4A3480D59BBB9CAB8223D415038E7F205A5D5C2D9BB3A73E3289A62C28331F066AA696A13E91E8F039780A3E0016CEDFD2FA400A437180869BAB82F9D10580BCD4B2705FF4C39502AD500C0431F4E5B07602F505858280F0A0A7234180CAE78334FC4DD37222A263B3523EB4E0F4FCFD4D90130E131EC9B9C9AE9C9C087E8E1F6576948DE2F00707BEF4394ACC9110088D3A6D10D7D3F140030939C4A9A1EA7D8A0572838A01E133F1DD47D3F4EE507FA3A4C2EAECFC2B4F12251373A72E226F2F5BC4D6409FC8B199F1D3D25560E89C5A360029EF1A39DC372F8862A3190DC62CE4B4D242704948B4A874F8EA6869E1EAE94072045C3287277F238025FDBD42E0C557A4214254545888A5E03328EE22A5E3B00A9890A47361022BEE7D4602D7603C868328A35900C00C968AC4E03C04AF0C727E1142FA0526AA607800504BC831CC81C1D1DE51A8DC6098FBBE1BE378EFB672C5FF18D98D884DD4ECE4E7EB30160A24C143B9752F0482AF5CABB0400BED3B3971246320500787F5DFF9D020026B32395363F0A00BC48FE9E87E978EDEBE4EBDCA65F9EF99243727CC919D2D0D5934DBF7B6D039D2A978842CFBADC4CB1B68F0D21570039C71F5D3514432B911E72F998D7021C8667684426C005129EF15CE6D51AF454585A8B99DD28AA885CF7CF40F01904EDDD7D74B2BC8E069055C4222D4C01B89C1D65F36B03DB50001A3F0E69E3E69A7A443D46F79335FDCCE0CF2C076A95E65248C047B3F60278CF6C505E5ECECC0F457070C1DE031FDCDBC9C929EC82F59B6E09090BBF921FB39A2958F109266C1592667A2AE86EFA5EF7A362E633009246B26947FF7705008C26172A6BD92B00E0E779948ED5ECA300CF839410FE060505BB9B9785D59E5156AE6988A453A54F215F4F12813F26328132B1F49B4BB97CE18887BB0B0D0E29E9504189D07A76E7BC3E3083178662B08BAAEAE96445AD28E870FA97933ABA3E907B055C106AEFEE87EEFB413A62C8C3D565FE6B00E65000E2E56DC3F03946B371DC7B5977F7163698DD0CAA54EACDCF3EFEC887362D0BB7B001B203BECC8BD9C0111FDE15873DF57ABD1F642165795EDE777CFD02965BA37E6B467158AAA247BC7F8219FF7D8A81F633005234B974EDC01D63007003001E1600F0F5380606F8D32800429FA1A2C6A72932B8D1949BF117A98FD710283C981A9A6EC7ACDE4E4A93925E31FC86FA0E49C9B13450E8FEDA1519E403E7AF50A9444D80977DC1C420D58B87FEC78B624D596D93C8FF99F6234303C5DA411FA4896C04B919C405216EEA709610E4E7B5C82B80AC077F44A7A5BEBE7E68BD6EC20C9F29BD9B590E267A8121D5F0E6179E7CFC23F384A0CF7A61C84459C0DE41A7D339393B3BBB331BB02C64E5E66D4A4DCDB8D5C5DD35646AE0CFF00BD88FC834D4A733905CE7290090AE5949570FDC2A00A0377A5045EBCF04007C601E4FD4BD3A0E80538DCF89CF9315752FF50C6F33FB79DD6F96384AA52F6B5FA04F93DE259D874A9435D6B55E4EB7F7DC475295A3B87E808D1C0F7A7A02642033495412F96AA22360897E183D5E22C615C220EC4760164F56D489AAE268693816062F48A4878BBC02F88CE01BF406EAEEEB23854239AEF312CB184ED2F7C9942F9DD6089EC90683C30397F734357CF8D7BFFED56401814D57064D9505BE2E103717A48D225BC03E78D3A59BAF8F8C8EBB0679B5B3B5C04F660609694D12BADBF30E910D5C3578CB1800BC018007C600500800BC320E80C2865FE3754600E02EAA6EBF87FAD46B685FC2C3E6AE9C52895932F93BB8A9BD28FCAD8DE4991F2BF4FA82E5A9E4E9E68AB4B0173250441DA0741F2F775A99954CD1A1C162F08BAAEB45B9976FDC12E67A017FD6F95FDF689BFE73F7B30FBEA4BBAF573C7FF20C9F39F8D6D9607A00F4F6F47CF3A37FFDFD83152B56E82D2098D3B581536541A15070F5D0952B88A01AA84140FC864D17DD161412B61A8327B116F889A6B157D243E5A67A8A1ACA1100D0197CA9B2EDC702005E6EC574B2FEC509007801AFD30B0054B5DF4F9D8A5CBA2F7C076DA4CD6663462BD5F9964DF20761D5A9F483964728CA959B3EBC80A444D4F2DDA1E12B3392462B7E1870BE76905DBF46A3C5B165A2E3C79DBC2F6305F0D0D010B57674C27BE8A6D0BBF4CC802E821C74B6B7DD505154F03E323C4D4141015F87609AD7D5C196BA01648181E000EA746659C0B946B385AC9C0B7257ADBACDCBD33B72260058BEACDE0804793C08C7EE20823B0A805200E0B7E300603048A5230200CC12DDAA2C0180CB86AEA3CDC3D7D1DF639E33B7A49E94B82ABDE9A6961FD25AD906A48E4A3A78A264BCE2979B9E44998931249349A88E5BC390880198C3E8B0605A9199284ABA362EBD3A7D65D33CF49F53BAA69656A4B38A29E99A745230670380F48CE7CE9C1AB6D4D75D5F5152F889979797E2C08103BA790360221B4016245C3B080F0F77E8EFEFE76EA207B301B6C08D175D7A75526AEA4E672767F7990030BAEE904867AAA35E4538057AFE863C5D2B04ED5B0070A2EE6592CBD40200E5AD0F518F2A4D00E08AA16FD145C3D7D0CB017B69D8A19F1EED7DDE101AE82B3B51522939595A35EA1B60FCF23212C5AAA276710D418970F65CE9E34611EBBF79917E8F68A602900EA96613FC476757B7E8C29C11A40913E5CCE0CF4D0E263ED7A0D7F774B4B7BC545F59FE370C4727247B283F3F9F01605CF00F444C94055E4C023AE36CC10D87BDB0F9E11675F1E6CB6F8E8C8EDE241DBD9DD9619C040C1E996A0CDAE754DBB993BC5C0F8C01E0550040210050DAFC73EAD32409007C7370376D506C150050CA8645DBB9B1A991148383E6E0405FC99AEC34D1E1E3948ED3409601BE2A8803CFAD5E5E98327DD017F6FB06161630198D82EA1B9A9AC5E2906903686DF64F2307A753439AD60FE083E9BA3BDA0FD55696FE1D995B1DBE4F33C6B97B5118C09A496459484D4D15B503D604BCA93B669D37DE23203E29296BE38517DFE6EF1F90302D00A6F61BF0DF88BE861CE52F514DC79D38D6230050D2FC18F56BE2050038855CA3DC2200A0956AE8075D4F5255553575F7F4D065176D40DE6A305636B4389456378835889CEA7159973FF259B804FC0C20F4C1D95754D721D5544F63D86C0BFEAC7230F9DCE681DEDEEA86AAF27FABD5CA5A8C6D2BCC7A1B667E17EE0F8D7900C39C4DE05CD8A0B5B5556629290308421630A881175D7AD965CB73736F707573F739E39A03CB8528D3640F46B302B3E93D1A1E594FFD70FA7BDCB7D2B58377D04AC5C5020006FCF7BD9E5F08000C0C0ED0AA952BA9BDBD837A7ABACC61013EB43A3B4DE2280C9E9592ADED4BAF6D0A3EFF8C4D79453575F5F4CE6CD6A6CBDFA7F8015BE540AD5275B7D4567DD2DFD7538ABFDB108F0E04BF1B93B21FFB61A552A9A9ADAD359020BE4506C074B26029298314BC2011FEA0A0B06F6CBD7A576252F2A598950EE333C0C2065301304DB511FF23E4187C3D518D09F9BED440198ED9627918A757311121A253C8BD7293C968AAACAAD4BAB8BA3BF3275CCC4BC04FB385890076AAACAEA5BA86261A6BB459356D5301309317B0253584CEAB3B5A9A0E77B6367D81B16FC77B7722E85DD8F7E17943184335D8489B9D9D6D98731D6021B230B5A40C148ECB426C6C6CCA65576CDD1D1A169661B5D368198833E462E662D34C99C7407F9FBEA6BEC10806725ECC4BC0F975F58DCD545A5601D9D24D538E9D62D8CE98FD7397037C02C3407757496B43CD6718DB569EF11C7CEC7B31E6036AB55A8589C7570BE939F51BBD74730E95C0C564034B49197B175E010679F0C5C341EB376E5CBF6EFDA61BC10C4192B30C00CB791AEAEBB4DD3DFD5239927E9B80308304B0DF38515844FD601E89546AA51C3B5BF166263698DE0C2A86061B3B9A6AF76BD4EA7AFCDDC1C1C7BE079FBD1F4CA4F0F5F555438AF596593F76E1AEF92BF9A9D8A99D466891330EB9393989AB8CFD713F64C7CEEBB767E6E47CC3C9D1C96926EAB72DF0930160CD78F2601417158F28B55A47BC4E365709E01F6E3E7EF21452BB165186B69E7FCFA17863831CF0633AED487F576BE3E7837DBD65F86E1CF84E7C5E41F7D898EE5518631DC6560FB76F9A3AEBBFB2DF0A9EA9D3C825659685B0B088F86B77EEB82936362E572A9349167BE65BBBD855A3519B0A0A0AB50692385B7CD14CC1679D3F55524A4525A317B24C5F8E9D060033C8C14CA921D2C99181EEF6E3BD9DED47C702CE3ADF0926E59F4119C4582A4770C358EACBCACA98EEADCEFAAF0C00B6741AF9C221CE1656AD5ABD72CB15DFF816D2C6F0B30900E98494AAB3AB535F5C5266324B654ED3B140556D1DE51F3B2EFAF4931A32561DBBD4362F304B6AC881540CF495F7B4B57C8ED8B672E0F1D9BB10F81EEC0760AC15904F755757972E3C3CDC38DBACFFCA01606BA711E80EBE66C78E2B56AF597395AB8B9BDB6251FF7400B09C07EC3452D3D8282792C92DC1EFEAEAA14F0F1DA68ECEAEC9419A2E8036C8C15423684D0EB46A554B5F7BCB81118D8AF37941F5169DC7368CBFD52E2E2E5A8C9DC19AC93BA701604BA7119F2F30303838EA865D375E9F9E9EBE4626934B178BFAA5330008D46ECECF3F3A525DDFE4F8E1A707CC0D2D2D7271F9CAD4C519D6EAF1D6823FAB1C4C7ECC60D00D0E75771E520CF61571E059E739F096B4CEE2EE7133A4A4A418A73379E73C006CE93472499965213B7B79D6F6EB76EE02CDC5CE0680F9CCFC490C32F69A1B6EB95D535E5BEF628B5B5F0C394026A2550DF59F18EEEB3A82EF2C028F7D1726441F187110FE43E8BC56ABB5B87BF35C67FD390980E93A8D600367D0DB78A7110F075FBD6DDBC5976EDEB2CDD3CBD36B31A97F92C48C3DF7FA9B6FD594D534B8586AEED299DCFA0CC19F2D35C4E9CD5A95A272B8B76B3F667FF3D88CEF060B0A9D070094BC481A74CF174D18E6A2F34B0A00D63A8D5C520623B8583A8DCC069E9E9E1137EFDE7D6D5EDEAA0D8E8E0EF2C5A2FE89AFE1DB750C806A0B034C5FBC3993CE67F00253E4C0A0D3B62BFBBB3FD56954D5168387EFD8CD81C7DFC3F8186A4EEBE6ABF34B0E00B6761AB98894989898F2ED9B775F1F9F109FBC98D46FE96F5DF7ED5B35A5D5752E67B65BA7D7F259FDC0D8FB9A4D468566A8FFA046315860A17A9EF55CB7E7A68D52A9545BAA78313131A6F9EAFC920580AD9D46D064F0E5575CB1F6DA6BAFBDC6DFCFDF7FC61FB7B291FA2DB79D37ED11009873F166263920B35EAF569ED40CF5F1CFCAB7F30A770E3E1B3CCEE7B990C33ACFBFBB3566F0CC8B39EB971400E6D2697472720ABDFDF63BAEDA74E1851701234E0BA1FED300D8AD29A99A08001B6AF9D3A78666A35653A355F47F62D4EB9BB87CCB548FB7E9C17D36780A0F0F0F0DE44DA7D1688C8BA5F35F0B00CC76F10A771AF95F16C51614111111F7DDEFDEB9232B3B2B9373C6F950BFE5B6E35B0C805A17A98DC19FAE9963361ABBF4AA81FD06ED48B9A582673178675BE7BF560098A9A48CCD1DACE0C3D902B6E00D1B36ADB8F9969BAF45DA183257EA9F0A009B6BF95300809BCAAC511ED66B14C7C60C1E6BFDB8CE733E8FC06BCFA6CE7FED00604BA7912F5EE1758918E890DD7BF66CDE7AE5D6CDEE1EEEAEB652FF44001457D6B8CC74DDBDF5D4900C669DB6C83CA2388031E685193CE399EE7B2D3A8FCFA8E1BAFDD9D6F9AF2D0066EA34BABABABA6170BD395BC03EC8DFDF3FFA9E7BEFDDB6FA82D5B90E0E72E96CD43F15004474C6C28CE9E4804C867A1A517E62361AF842034BDDBE97E9DEA2F3602BFD62E6F3E73500A62B2973B630B1D3C845A4BCBCBC8CEF7FFFFBD7C4C5C547CE44FDD600205291197E85436A36F5490C9A031283BE840D1E533EEB3CD3FD57A9F3E7050066EB34E27B8A8B57980DD81FDC74D34D1B77EDDAB5C5CFCFCF73A6F34D0580C4EA620D1A911B74C749AFC947B0DBF11E1D96E5585CBEFDAA75FEBC0280AD9D462E227135F19E7BEED97AC92597AC72E025C33600602208107C938CF4958E46C341F07E33CEDD2E97CB3BC666FD00F68A2F2B9FB703608E9D465E8E8620095948C2EDDE7BEFBD3A2323237EEA39B67F6BB7BAA4B2C675EA71B9C4D4EE64D61F92984D7538473B6F34BA32677C11E662D7EDED00582459B0D669E42569DBB66D5BB567CF9E2B8282827C4E33C01E657165B5FBF8B9C834EC64361C9793B18C46D7E08D3B7C36790098126C33ED224C3B00BE7A2058ED34B24944008320056177DD75D7655BB76E5D0BC970DC79D39EC1A28A6A6FBC50E760D697622B1C5B8029663D9770B1F53939390D8359C4AA9C991661DA01708EB0C14C9D46968565CB96C5DC7FFFFD5B9F7FF90F7EC5C5A583CE12FD094493FFC103DEC4BA7B5EA081A08BA5D7EEEEEE23E792BBB703600EB260B97805875C2D9D462E22312B606607C2C7F1208DE038A7737C7955B7654996979797A6A7A747B790553976007CC52691AC741A1908F8DB1BDAEE89FBBCDE80D3B861FC3D80C00FE16F95B7B7F7C8B96EF2EC0098231B583A8DA075FED7D05D31DB396B90629CF8624A0D9EAA9EBAF4DABC8407D10E80696A071E1E1E323081C3F0F030FF78A6041261C2DF065E8B37D7A5D776002C4159E05F504790A5D077D125823298010AF3D725F07600D8EE0F46D37FF153124BCBE0D972FB5FCD077F9A127699A90000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (123,1,'Router_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003B9494441544889B5D36D48DD551C07F0EFEFFC9FBD3E5CCD344330967BB1ACA47C8039C75A08C188DED48818AC17DBD8DEC9682F22160303AB37AD5C052114C41623A2C064DA13D6AA3B8A54622BE79AF9804EE7D47BB9D77BFFFFF3FF9F875EE884954E85FCC179777EE7737EDFC381D61A1B5D9F7ED9BBFF99C3ADE59BE961D844B98E53A78559BC999E4D01EB554F4F8FF3D26B6F756D19E0791ED9A659B865000010DD79E4FF0E18C61603EC5F80B95EC3E8E8E823A1504FF388FF44B43E60B00D00BEEF5786A17821C7FD036498B55A7028A9714F5141EAC8F3FB8ABEEAEB7BF7A9BD7BFF587582BB007100CF69AD0F68608F5492A490181E99402EC8A1345E04D360F1FC98732C08F8B12FBA2FFC1EF8FC5CE48B4F0E1EDC3F75D7097EFD6DF04C63FD63470038522A6416B3B83C3C82F1C91B20106424307963168E6D215E10432CCF8152BA5641D74624DE78AFF3A31F7C1E9E2B7258B761587700A4B5C68957DB545565E5A5279FD8FDD0546A367E732205A9256CCB442EF0C1790868400801CE430825519097879867414A8120E0E09C230838170AE96C267D94A7E72E74747470D25AE395B6D7B5E7BA608EA77B9B3ED675AC91B6A56B287EAB0C3C12504A228C22701E22142194D4504A218A045CDB409E63238A42044B0882308441E4936B3CCC9A9A9A3C25A394655BC8774C7A60A29ECD4CE72863F4CA476BCEC264124A694452012058CC0288000DB88E8598E78008506A099552C0320C789EE7095FE4B34422E1FF3D74A5FCD6CCF4870C104DBC1E715E8A9264A5313665EA86C7DFD6E31503300960064143C36406EE2D29444569316CD384520A3C0C31BF9044361740080121048068E90D008088E8F8F1971F2CAF2C3BBF6D7B751DCC9B6018C0154EB85C32AF6AAFEDD46E5460C40B62282E88ADC491CDE6707D6C0CC985242CCB826DDB701C1B0C0866E7A6B7AF002BAF4EC44E9E3AF5EC8E1D35EF575555954A2B40641054DA50B974926B32DC308CC80F7C0C5DBB8E3FAF0E032038CB071B8C446661AE7B6672FC50229158F80F707B1A00ECF43B674E3736361C2D2B2BB35DD785E7BAC86617C5679F77455D5F7F6B09A94CC7B6976F6DE9309B1D4A25675FBC74F1E280D65AADF993F5922A89A8B5B5B5F5CD9DBB9ACFEF6E6EDE655B1615DE5761CE2717A2547AD1746C1B8C1854C4E733B399933FFFF87DA7D65AAEF593D782A688684F7B7BFBBE9696960F1A1A1AEED75A4344110CA8003C735606B913FDFDFD69BD4A1CAB46B45A2DC766747676B60DFD3572F89BEFFA464C85438383BF5CBD1DC75AB7DCD40240D5D5D58500D846F6FF03678B6042D4627CF00000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (124,1,'Router_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002C080600000023163B670000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000A1B4944415468DED5596B6C53E7197ECFCDC797D8B1E338F7401292102E491428B052A089482874AA60745C0A68A3454C1394AD52377E8C75193F3655435AD5AA552BA652A1858E46DD86B6A96B35AEAB20CDC245DC9242527223B1133B76E2F87E6E7BBF633B7142C26820B09CE8CB777C8E7DFC3CEFF3BCEFFB1D1F4A5114988EEDE041A029D31F965FBED67CE3C4476F0DC2346DF4745DB8FCD9B3A63979D95F2A0CB516A671A3A7F5E21405D3BD4D2B018AA66736818755E0AFA74E593F3C7EA279C3CBAFEF7E320A3C24019E61385392611ED08A75C6E6C0FF0AC234E7C00C27F02814A09FA802143DC31598E9167A1C956C061080994DE0B176E24B76BBFE7113601FF6021D767B89148AEC9014699B4194336F785AFE2E884A1D76D1065190FF3F09B85CAE4C19E8970451D8CE48CA2205AB8D2C02907B0BBCBBD804206F4A3524797C5408969697CC2556C6A13C690226BFDFFFA22849DB6986A9924589A608E0490758788E83958BCB7E7DFADFE7778AA2704C90C563DFADAE6E99423D9E32010D8E7504B4288A2F6020B5E4E018A0109DBB7AFBC09C6C048EA1EF3987230FC37F0064EAC0897F7E71598A48754129747CC7C68DF6874DD4890810B957E2D80EAA1DC042C20963A3ABCE114184C62BD7A1ADAB076C160B78FD3E48B598A1A42037EA99099401192D07CA220E98431FD77F7A5A10A53A3F47FF65CFA64DBEC9057830054A63A0B7E1C88D1F1C0F9A0CA7DB03E7BEBA0C81600852AD669024593D96956E857E971B7C3EBFFAA5568B09D2AD961125E28180E86B4656A81A7C55A30946DEFFE0C8D1BF09A258E7B6DFFDA2B6B656FCD639F0C66F7E7764CFAE1FA66466A4E726BE210E5A9665B876AB0D2E5EBD094683010C3A9D6A1BBD4E0B399969303038840B2F4605DE8764325353A0B5BD1B097940A361203B2D35AAE284CA801EC7563CB9D564CB741D7AE7BD4F22A25C57B1A8B4E38115C0A83DF5FBF70E8B458505E7766CDE58AED7E9CCE4B83F108453E79BA0BBD7A102D5683470D7DE07730BF36056563A086823B331091C1197AA02DE8040281C41C298403C0FEE41AF4AF2AEFD6BC8B2A500CF7360D46BC7283A9A33EAB15445A1F652A0ECBDD874A523CD960E7A0D9B3A69A78EFFACF2B35F1E545896057530AC776EE11C47189822F21E5D3640E7553768790DE4E56420997E4832E880E35868EFB243BACD82F920C0D0900F6CD66424826A6016B02C03C33E9F4AC03D340C3AFC7C301402735212068205AB39094451C22102168AE8AC0EDC97C49173129E437B3561D9AE0B0BCCF1F70FD5F68F49705C30510CC3C0C86019537B7757714B673B1C9E5BABBCFEF47A68587F0C247D488D920123E8F6784183648D48C4E70B8041AB55BD1E0A0BA041620400511E9354CD110617352456E4FAFE50185C83C370B3AD0B1C031EB5184C946B23F68D1E5C4229D4DB2C447A7EB2FF17677E7EF06049EC7E81A2962D5B66243E6398D1C121B874939952BAAD54D1A91AA5A47D89FCAFA547E1A3396F026F53D31006BD7E484AD28F00D060C443E130F0AC064211412D680C1D2DAB2C92220B331E671FDA9247058248362248D0E970823F181E577EA344D4FEA78C16019D4EC7DA526D95B4C294AA042A2B2B199CD34964681AA31F1B84102B0B60122D00411DF595E706CDBBCD72AFB60BECE606A858D80461C18BC9AC45988A1A55BD4E0F019C198652232ECB1202E5D402A0D7F13084D5891089D558CC051D081111F2326C682F6EB4D4268C3811F211040F5A2DAF2AA2C851EBD367CF9E95388E73B9FAEC6FE1C1C0A80A8C3AAF1B7A0E68053F8EC3D45948D734BE00D5FCE74AE5D3EFC29A55EF20B841CC07BDEA75AD568349052022701D7E51282CAA0A0D0DFBD55B430EAF194D7A83AA506E86156667A746EF9D55A4102FB1234A901C40FFABEB6A5991D57C20819163C9CB9079D7AE5D1196820B1EE7C0E726B369B6D164CAC764A618B4918ED68009FF7AD85E30C91648415F535E1BD5DD93069EC122F9F9D5BFA50A666333EB9883E0CD2A8020F687144B32389C036AE4A3492981891045FBE460BFC8C0FE4170CB72B444AB4389CDB2A21685E1E16108AB568CDE1850B1412414C3914FD65457B5B0B15A2FE389E1C58B175F3C77B26FC7DC790B6B4AE62FA8B5A6D90A8912C53282C3B2D84D3931EBD1D3C0A07D3408C04E7FF99F6A2524DBE042D9252A2035C0FAAE1F405B9B1D7408940026B621CDCEDE3F006938CFCAB28114AB2EF204DD5DC6841FC0723C84E0193AEA042A7667262590082B3233A60F285149043CE944FFFFB9E5E6B50BCB5755FE68FEFC053FE68D7CF242651ECCE672D11EFD18A1107E801061C1EFA7A8FA8001BCA65EB9B5A089CE71CF817C4BB95A3673D26DD089FD8394BAA5A5C523A5528ED903122A0E89BE6BC00DBD8E3EF535010E09C0F11F90BF3889F0F030A619455393FDBCBE79F366E6CE9D3B4949164B51CDEA356F1415173FCF6BB52CA94E0A5E40901AF14257F1CB22501FC885642905DC9C03B2AF16CAA525F974C75D87AA40717E0E4675B49E4F54E70710F8EDF67608A06A6CAC94B3D1728EFBECC831929378AD407FCFDDA3775A5BDE2C2828E8A1EEF77C809458B4155129757E69E933CFAC58F5ABD97979A55CACE1915956EC704B08822CD0E0A387C1D09B020ADEC95892348229D9C44BF734AA3878113DEE876B375BA0CFE91C291C6C623F4A20822A8A6E675F63D737B7DFC54034E18AA0B7A1A121443DC8030E221512214BE9CCAA9A9AEDCBBFB3629F2DDD961A27413AEEE8FEE8B8D3F64DC8E976ABD520B1CB862221B87ABD195A6EB7A9FE1E033606384109C53F34D8E6E8E938ECF37A4F22F8CE9292126F7D7DBD346629F1201BB1556B6BAB51ABD5166CDEFAD2FE254B976D30180C3C5952B04C4C152E4E80510991F4BA7CF94AC8E3F5F1D895E9E6AF6FC1F9C626059B1FC58E033B5E01291272B9FBED7FF27B073FC5EBDCC60A3570E9D2255149004D7DDB474CC4560B162CE050C2D4C2C2C2251B5EFCFE81F2B2F2A7F035359112F17DBC9B9336EED8297AFD417E2C60366A9F1122D8B16539E01B749D1CF6B88E6041B986EF73A05DC2A45A4EBA989BC20F4EAAAD50D2ECAAD5AB376C58FFBDD7F2F2F3B2EE25C08CEC2F5E592D480AF6B349A24ED39424047D577C03FD870541B8804A77CF9A35CB1FB7CB7D57A353DD88AD9A9B9B93799ECFDFF9CA2B7BD73EB7768BD59AA21FAF00297D152B560BA2AC70F75887AC97C44847C4E7A9C31AFD19826FC3C80F8EB7CBB41048B41502B5A5A5A555EC79F5D5FD95AB9E5D8E6B1786AC7D98D80D49F9F22A95C098A883EC5142817F4891403D62B99E9C9CDC87CB9BB0F280C0A847F99895D8AAACAC4C87D267A3BDD6EDDEBDFBA7151515F9234F2E91404494A204682AC4C8420344027F440C8D7ABDBE3B2B2B2B703FBB4C3B81F8565555C53A1C8E64A3D158B065CB9697B76DDBB63D3333D344088405115757D22D0E848F599A3E4DEC8251F79C3973469C52D0A6EB4137B11556290DAA9166B1584AF7EDDBF7DADB1F7C382B38E43E0D8AF4D954ECF2580924DA0AF3438F499E81FB19689F7E5CBEDBA76297274220B15A399D4ECE66B3098F02787CFB2F27B8C84671AE50260000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (125,1,'Router_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003B0806000000CB8C8CDC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000101E4944415468DEED5B09701CE5957EDD3D87A43934BAC7BAAC5BB28E91B1646CC93612D816364B143B148495CD62075361ABA2F5EE864D2DD91490A5922AA8A576B3A46077612B0B65C862273118022CB163D94296655BB646B7461A8DCE19DDD268EE9E3EF675CFA1D15836067C011EA9AB0F754FFFDFF7BEF7BDF7F78C089EE7E1DBFC226FD58DFFF0D189275F7AED37E3DFDDFF74FDB79200A98C52A814CA6482E414DF4A0284174110DFDE14B85D08907C1309F8AFDFFEAEAEA3DB943B3231FAD6FBAFFFBBE9B65500798308488E4FFC9B8438CDF33C4F95DEE62970EBDFFB1BEB01D7FADE7708F8C612007752E00E017708B8DD09206F28015F0B0F803B29708700F2C60C8180AF0901E41D05DC20055C6376DDC8E93065181CDC8A52DCCBB1DC832CC7B6B02C7F88673CEFE9743AC7EDA280EB4E80C53253C671F45E96E31F9552122DC3B27894177E7700CFEDE008D2D1DAA67F4F1129B77B3CCC2D2F31D78500ABD59AC5307C1DC3317B8160F3791132FE084F9C7961EDDF178F8102973D0AB91C64711278E8FE7B1E6C686A3A5EBD69D3855B61825F9A009BCD164F50D4231CCBEEE578A8E081F381F5C55B04EFC71F00EE5F96CE21718CA9DA844D2CCB9E3F71AAB10FD78780A1DFAEA9A931DDAE1E108583ACC565AF442AADC1B57409141F02DC071802507D7FF0EF4380893065F0F9B8FF020BD40B1F7EF2E9194C9D433CED3EBC7BF7EED95BED01142E5B71D98383FC1E8E5919000A2B81F47FD0C2712CE8BBFBE1CCC54E28CCCD84C29CD52095487CC9110A3E5C29C2B53C54E27E254BCA7E75F8E8B18F053268BBF5837DFBF6B96F2601E502685C1EC5451B3C1A007E05692F3A9CF0D9393D74F419A1203B1D369597406B671F9C696D87AA0D6B41AD8C02B54A0972A92404FCCA24E2062A8CAFC5E3B5548472F1CD77DEFDBD97E50E8D0F1A1A9E7BEE39EE46A440961FB4B0E4879FCC5F6E6841F99B46CD70E2CC0558B4D9614369216C5C570C4D17F478DC0277EBD64056EA2A68EBEA87146D3CA427278171781CF2B3D241A356F85571E554F21F55A332F6E381FDDAF4ACF1D7DE78EB1D1AE843070F1C68BF2E8DD0B3BF7871DB27C74FBE8937FDF94AE02198C141BD02C330D07CB11DFEE53F0FC167E7F5B0F1AE2211DC87279BC03C3905DFB96F132427C5434B7B37501409EB918851F31434B4B4414C4C348C4D4DC39F9B2F8217DF07FB84E5A406CD925FA614DF514841D3FD079225F4FFF6EAEBED2FFFFA3F7EF2D22BAFA47E992A40043E1CAD7FFAA7BB2889E468545464F7BE3DDFE7F2B2B38AC34F46D3139799392B7C7AFA2C740D0C4279710124C6C7A2ECDBC03C35234A3E4EA38196B62EF19AB2E23C989C998373FA1E589518877E900143A88AA9B97928C84803A14FE8EC1FC26A100F09311A888A9443945C8A8470C1FBB12C271214DC0E1C5F7E0E8F3FA7BC2C73485754FAD4C4CC5CF947A79A761F7BE35FDFBBAAC13DFFFCF3E2C69F4E34149014F528D291A0EFEC4EE8EAED6B2EC8CD964644442803F2EF320CC2DB473F86D6F61E282DCA85A4B8183875F6125826A7A1727D292423C036CC77015439029F5F58448574421C46FBAE221F1113D3B3909F91826F4840F7E030A814519010A701D3D8048260C0E5F6C0C08805E263A3C51872A87B04866BCEB72DAC857DDEBF1D38CE7304CF7119C842AD656242EBA15D049668D3C533A71BABABABD9CF55C0DFFDF4E7BB2892384A492890509428598AA2DC59ABD38C49C969058D2D97A8CCF414285D9B0DFA4B0370F65227AC4550E5C56BA0ADC700C69171282BCA074DB40A1A510D4E970BBDA00871F270114989C3E8E6AE4E814E830966E7ADB006AB82C3E98481610B64A6268963181831A347C4615E12306A99863C244A20538B04F15C4005575246C8DF969F3787DB4758D67BE8572FFEA2890FFB3E4090801F3FF3DC6E4A26FD4308F8E0323EE7E252CA14CC27A5BF9199D2DBA1D2B2131E5F3808EDA747317FBDB005A33F67B5C1E9739770B0B150AE2B84A13133F4618405A38BD544C3797DB7E8CC457959E80393308EE95290992E1265C494C84ED58217073C6A9982D5E82376AC26738B763CBE0A2667E7B17A448A442C8165BF789A30DC10CB736F5340BCF5EB977F69089A203A26C9F2BC94C4991989ED996FBDB424C56BC86EDE28E387A3F944470ADF92781CDE245E85F27BB3409541C1D1FF3B0D5674FF47766E05A94C82C6761E6263D4B00E15D13D300406D3089497E4834C2A85B66E036813E22015CDB17BC0041198EF1908781053402E93E2BD626004A31F87D7C769D4D0651CC6B2190936870B9ADA7A51356E58C4E56ADD26840639A46C132464A8958A7FD2C4688E843C9623888A8A0AB9D3B1184785011716E1985246809C9583723189609A9389BAC32F300EC6013FC8DB06AF3CF82390FE600486CCE3700AA57F57613E64A5A540233ABD0DA3B8B9BC14AC18C9B69E01D10063D46AB8D86580184C95F4642DF418472132420EA9AB12B0349A214EAD8294A438E8300C8B84A4A3390E0C4F205172C84D5F05FD4894DB4D2F015BA1DB5CA98C4AB1EFD0A0392B1562D9952C2B8376BB3DC2EBF6C487473F48086A57E99563D320150D8897464A46A7E6A1D0B089235C5218B359606B4D0CACC9ED824F1A9A215AA580CAB2123105FA8746A1027B02190EA0A5AD47049AA64D84F65E231A602464A624419F6914D4B89D8D00F57D26D1D8F2325360105303CD1D74F919A26F38D1204BB2D3205EA3BCBC4486F726FE322A38A9A03C34739FA9FA0C940F6D7309AD564BAAD41A79746CCC3D32995C1D9AFF8125818D8508221A0C115D50E05E0B465937C44FE51205FD9BF9FD12335FB5EE25624DCE19D0AD1987134D12BC490C96C002B1411A1E9F4010D9621E0A299191A205655404467F04A31D0FAB12629190418CB80C325213A11F9540A15E0B32D3C03C3D076E0F8D253319A2B18BF4B5CA975500719BE7968EB3E29A05E18903E97FE8E2EB8D08F402667A5BF59657450204324E9E3CC9998CFD13A3A6C10F95D16A894AA52E94E22B9C84385E05ED91ED90EBD1C1A0BC0BD45C2C44716A4217D54C188677F11435479827EF47E3CA83E8E877E15297144A0B4AD0E8DCD0DE3708B9E8EAD14A05E8B19C0AB99E99960C7A5482404C41569A1871878B065D5E26CC62099D59C06A812424614914C227465504EA03EB8BF4D27EA044BA512934ED114B2D104B1F9305BA43BCDFD4B6EA7B5E5B5605042314BC80A6694D6262A2AE74FD867F4C4C5A552591480801BCC44F824BE2042BBED131D53B90ECCD8004EF2A7824F12898E76AB18131835CE2E0B6577D4446C89D183905BCFECEE328D907C0EE74A101F623D074041F0B67B151120C302F33153A7A4D62B92B41E0A3135330B760834294BA2A2A726567BF420570381C60B3DBC53420495F35F3A5F2D2B6B0305EA6F3C57FFE59C9B2561889E09A9B9BDD2A956A7A7070F0CC9FFEF8C101FD85733F723AEC43A1E6A826D490265141B967833F8784498DCF53389E44A226C8231F3F8BCD52317FAEED19182C92C3CB053F81914823ECDC7CB7D82D5EE8E8153B44090EECBCBE0F7B8274B12A5CC4B982E0FC9BD7158A4AB9AC0DBEC2F3068FC703E6894998C6468BF632625AF0A169116CA438F13A244FF07EE2B2C990BF4960F06F8EA2A2A2D19EAE8E77DBDB2E36DDBBFDFE2772F20BF6A193AA04322882826A7223B4935DE001195E47F9AFF7AD5D9E281C4C34F186AB9F37EA3E83A93423F13F793F03E3FFEE87DA35DFC51EC1028DE73BB04C6237991083B3C57EAC1C5AD856795730D22BCD0196A6E1FEB908EB058B6512E6AD8BA25163270B840098E0704D885411B82D3CAB21FC2640F81A2A494646861C717A569C0E0B6AC0158D27CC635A389B1B4FBDD871A9F558D5D6ED4F6764666D432550821ACAA8B540294970D1F7A2CC88A0A078D405C749C0CE7A884DCDFBA165F87D7E9B6B07A478F289931D974057900D9518E5167D2F1A600CD46C2E130718001E3AE15AE9790362C4F67B12C6CC169110D1E4103CDE7409A81F35C1F92646D828FBC0E3E52E87FD0C96C4083CD373D50722021148821B7BE9C9C5C545DB07477F5F9F9757505D794FD58F93B4DA7C510D786319F52028342E24621EAF99C32B653848A9F81E525C5B1D1E426EC806D3C22457757729A6401F19299761C4D789CF0502391D685CAEF6286D0627517D4623785C1E8CB82FBF09C267806299F34799F3BB3E074B64D8161686868D86FF9E9B993A86E77B9799E0353C6121737272A4E81142994CBDAFA6A6AEACECEE27D46A754CA04A04DA6892E48166C7E082671A3474123492C7A16AE12FC043D3C0D01E5E29014F72B23682FBDCFE7EA9B7B762ABDDD5D30B5333B3CBCC4D5C07F6296AA97F11C622AE49F0D21EEBC4C8D0FB5396F16388A317EF3BD6DADA6A47EC2CF145BE2BEC370EB2ACAC4C8E378A8B8A8ACAAFDDF5507D5149C94EB91C63193687089222A1FC4EBCB46FB158E831B3195BE70859003CB782B3BBDC6EE8E8EC817ED39018E125C05776F9001128437A6EDAD238313AF45B7CEF0E1CFE8842A158686868A0FD690EC497F9B2B44004A60565B3D914B8A9CDCCC9A9ACADDDF5B7595959BAAB81178F4902DBBE81F67475BBA7E7AD127C534968D41904DFDD6B80D6363D78D1D9A9307001225652018E897758E7BB264686DFA669D739043FE8F57A670A0B0B5D478E1CE1426784C457F9B678202D5009D1D82FA46DDDBE7DF7D66D354F262424245E0BF8406FC1300C7FFE42AB7BC1E6C0B4E08991F17168686C82796C8444805498AC5754816FDFEB76996727477FE7B2DBFF8CC00DB858F01E0E943CC3AF0096F8AA5F970FA4854EA78BC01BC5632AE4D43DF6D853151B2BBFA3502AE441E94B4253830C820F55CBFCFC3C73A0FEEF9951CB64C4F2C88601BD2CF29450426C8BF3939FDAE7E70483EB4252479D4EA7756060C01B90FB551F885C87CFE208F40641C60A2421393535B5FC2FEB1EAB2FD1959461574D5C29FACB0D94828AAD3B68A7879185025DDA0E570125F882D763B79E5B9C9D39CCB2B41E8F9B50EEB3EDEDED6EDFB4E1EA0089EBFD0F13425AA03FC85C2E573492B1BAAAAAEA81EF3DFCC893ABD3D3933F0FBC20A60DF7DE4FBB3C5E5930CAD4D2AC342C1D78D6E31A702D4C1FF6D2F4594C4103DE6F1287E0BC92DC6F0A0101353CFCF0C36477777724024B90C964397FB56FDFE33B1F786077AC4613B512F8C08C6D7D750D1240CBC86591A7424C4F7077669A712EFE91F1B84FE0F8BB10F8181AF2E2E7C9FDA611104A04B6D452EC159428CB6434C7B57F8DAFCD5BB66CC43421430908BCD6576DA71D6E8180155C1E7827EF717EC6B81D1FE2313D9E6EC27C9FC5887BAE45EE379D80D0B408CC3471C0191B2A2AEE7BEA873F3C5054589811907E280136A75B16343FDF633A96E4BC1DE0B60B06D78AD7F4E1B827B02973604D67F9AF0082B859FF3415E81DB0018A542A958918C1DCBABABAEFEFD9B3E72154862A9C00F1CB13085E4A70235296FE0878B6F98BB8FB6D4740A81A302D24D891A9302D527152A23B78F0E0133B76ECD884692141023C48809C046E2192601A088E6DC06BF438CEC12FE2EEB72D01E169819BB1981A99C5C5C55BEAEBEBF71D7CE6598D6D7ED620E1BCC751016DD7D2CC7C2D09084D0B2C9951B89B8411CE46D02978D88E5237A2BB8FE02C7471686888BE1E72BFED08086FA9D10B14A806E1A338E4C2BB989F9FEF0EEFDDBF910484B4D48222482482BFD1C003AFFF0763E7F58C2674353D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (126,1,'Router_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000590806000000C1ED215D0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001D614944415478DAED9C07785CE59586CFCC68A4D1A8F76AF52EAB5BEE153006D31C8C8D169C6543B2D86C80DD04082C106AE82594408843964D6C200B2C8E77212104BCC696552DABF736EAD2A86B469A3E77BFFF9764ABCCA8D8C663479EE7B98F34573373EF3DEF39DF29FF1D890441A0CB0FDB3D44972280CF3F2F92D77756FDA056D1EEDDD5D573FCF0FBAF1FB90CE0023EFEF4E5D1308944D45C59D744B9C5E5870FBFF7DA8ECB002E03587A00AAEA9B29E754D96500B60250DDD04C278A2E03B019809A0605E500C0A1F75EBD0CC026001A5B28E764E96500B60250DBD442271880DFDA06C0A1435FF976A9069FAF6B6AF5EA560EB4FEF19DE7EF5B520070E1C80125873FDB6F1B009F7F75344E1089AA1B5ADAA9B0B44AF7E15BCFCA961680E656CA3D5976F8D3FD2FDB144023035056A5FBE0CD2506A05ED14639850CC04B3605D0D4DA4127110107DEFCC5D202D0A0688704951EFEF4DD8B004059B5EEC01BCF2C2D002CF45912FEC4C6009ADB3A790E587A00E07939274B0E7FFC6BDB036011F087D79F5E5A0058E89F4012FEF8D72FD81480A2BD8B47C09203C03C2FBB900178DEA6005A180044C0EF7FF9D4D202A068EFE411F0C7B76D0CA0A39B47C01204D0453945E5873FFAD5B33605D0DAC900D4E8FEF3B527961600E6792C026C0DA0ADB3874BD0FBAF2E3100CCF3B28B00E04D1B03E80280D2250880791E6BC43EB03180F62E251F45FCC72B4B0D003C2F071274F0CD5FD81640B7928F227EB7D40030CF3B81247CF08DA76D0AA0A3BB9747C0EF5E7E7C690160179E7D0A11F04BDB02E8ECE9E565E87B4B0D00BB70B626FC079B03E8A3938880DFBEF4F3A506A00F7D40E9E1DFDB184097B28F47C09203C02E3C1711F0FE6B4FD91440776F3F07B0FFC5C796160076E13927CB01E009DB038004ED7F618901E8E91DE039000D904D01F4F40DF008F8CD0B8F5EDA004478D4D5D5250B22C96D6641D82498CD5F18C5F441527474934500B870D607FC878D0128190044C0BBCF5FA2009A9A9A9691D8EE3681843D2408CB4D6633C1F864360BD8D84F738E59301D908AC51F2724240C4C0250F60FD289C252DB03C079B00878F7F9472E1D008383836E1A8DFE161399BE2F98858D30B2C83CDDE86416267E9ED9A7379BCC7FD6EA0D5F0DAAC7DEE96511000942FD6D5300BD0C0022E0D7CF5DFC00EC95FDFDDBC94CB79BCDA61BE0E90E66EEED0271AF3F6DF0794190C964A221D5182EBC26FBF19FDCB5119F2DD80CC0C0108F805F3FF7EF172500D1A04AB58E8CE63D30E42E18CF73DCA8530CBC40A35B7B1F76B618CDE60F4C82F1E0551B37565F68007D0C0022E09D672F22006ABD3E9EF446185DB80DDE1EC60CCA74DD04830A968C2E2C1284F5F71561DF419D60FAE8C62BAFECB91000FA07877904BCFDECC3360710A0D3E9FE013F6F3799CCE9D6BD780E83CEE9FD67F68DC39C225FB3DF87DDE6BF0926D301321BFE74FDF5D78F7DA70010016FFFC236005CB07DCF24087BCC26D315B868C92CE358F562CB92D2DB3F441E6E2E7378FFC4BE85478D1ADB2193400748377A64D7AE5DA6F3096060688403F8D5330F5D300076D8B661DB83ED467C867C719232DBA03A9D818ACAABE9F8C9321A181AA6ED5BD650C6F23832198D3CBB3288B3E5CBD2F1E68DB62EC1441F9A2053B7EDDA51723E000C0E8F70097AEB020058CDE405DBADD87C2677B2CF3853BB9FF1FEB9357CDCFBFB0687E8784109E59EAA206727475A9B9E4429F15154DDA060B37E6209EEC62BD7537C54E89C51635EC0F1A69EA7693C7957A29A3A60129B3FFC415656DBD90350F10878EBE99F7D2700A2278CCEB6284B2F58902CCCF0C6DA26051DC92922F645BBF8A8705ABF22997CBD3D281746CF2BAE208D564F49B191B432359E1CA476945752857D3ABA72753AC964F6E7146D16608189F928B2C641AD943EBDF7F6DB471603606844C523E0CDF308807977D684C4AC9CEF43169A4C753A3D3CBD9CBEC93D49C3236A5A036F5F979144236A351D43149454D593B3DC9156A526D28AA458EA540E70208A8E6E4A8E8DE0FB70CA54585143AE4E724A8C0E233B89D802F8F1634E7AFA4CEF9F276AB42820FE0796396867D27F79D75D7719E607A0E611F0E6530F9E3B80ECDCFC77D7AF59F5C3099D9FF721703998DB13950383F44D76011D2F2C252F7757DAB43A8DD2E263A8ACA681BECD2B8681BB282CD89FD667A4504C440840D471F9D1EB0D8880044A4B882636FBCF2BA9A47A453BB9BB3A533AF645870753735B17F923725C9DE567E9FD73464D1F8AA9FF02C6833FBDFBEE3C6B0086556A1E016F9C0F00F7FEEC51C1CFD727F7EE3BEF08F5F2F4085C1800CB17C2E4E5AB637954565D4F6989B1B4794D06F978B8D3B705C5742CBF98C6345A4AC7FEF52B53C8C95146D900945F5A457E30E89AB4248A0A0DA2B2DA06CA2DAE2465DF20452C0BA48CA418F24485545C5147A5B54DE4EFE3C901B9B938F1E41DE8E3C57384304FA5655E608E9AF2BC01CF0F8A74A6830F3E786FE3540023AA512A2CAFD2BDFEC403E70EE0BE871E13C4623149C4124D6A52627ED6CE1DABA4523BC7B9E5E78C0468B45A3A9E5FC20D3F323A4A9B5767708FEF1F1CA123888282B22A2E331B56A6D1DAB4E5A444123E9A574455750A4A8E8BA4759025968C99B7170086DE6042528EA415CB63690C9F5D505A43ECAEE838444A5A4214190C463A55594F75888C90405F5A951287F718C909C7907279329F558E9AD96BCC90B85CC8D4C188D08853AE9EEEB923EA512E41E705C0BF3DFC380730B949EC249DD75D7D55CBFAD5996BE6D2FF9EDE7EFACBD15C3A72A28002FD7D68EB865530500C1555D4D2D7C7F3897D8F2A121ECD8024C74550318C7624B7888650C2AD4D4FE6BA3F32AA4645544AA58818571767EC4BA0E498086A80C1F38BAB687064049114C3F34137F24341790D75F50E5042640812761822404DA79047C6C6B41C9A9F971B37A80B802EAECB5E70D4185D5C5DED9CE4CE54A3E8D0FDF289FBCF1DC04F1E79E23400C9141072B963F96DBB6E96852D0B8E9E2A3FA5B8E02F8E644366EA6835BC9719DED3D595BECE29E0BA3F0A6364A6C4D3156B337973750C9A7F34BF089AED0C1869801145ECDB8EDF42921A5A3A28267C193E2791827DBD01AF8E478283833DAD4A8E8724055315CAD382B26ADE37A426445202CAD3A6964E2AC279B084CCE032392AAD6EA2968E1E0A0BF2A314001B52A9C8D7CB7D8A644EF174C142577D165163329B7E874AEAC0CBCFFCFC1853C1B30270FFA34F4E8B8069D120169BBD3CDCAA77EEB821ACB4BAD1E98B6FB2B9E46CDDB89AAE5CBB827AA0D37FF9BF13BCD27182D76D81E66F5E95CE3DF76FC70BD997182821269CB6A0940C8081F34B2A7812568D8E41DBE3501525A2C611B1552E346575140AE3AD494B244F0F37BCB7864793337205CB03E141013C07B084EDE1E68AA41E4552A904AFA9A78E9E5E9E3F18CC96F66EAA6E6A251F4F374AC1B155631AF286238825A24578FFC2A386C1339ACDAD78F28141A0836F3EF744D5A2003CF0D853002081C145342D122467400C8FE98C832A9DE81F6FB95E9C9C12297AA3FD55FA54FE3ED917A392A9BC99B6AFDC0423C5F2B292E502760BE1BACC14787C3AF7B2A379A728FB6429A4414EEBB13F03FADEDEDDCB73477D4B1B3C3B9A56A725A00B36530E1AB4B2DA460A09F0A39588020F37672E3DE5307E28343F0392A445797B12707AFA862047A1141D1680CFE9A4EAC656C8903B2F5759B35451D7427247074A8A0925B188A1263CB79FDE389EFDB8C3DAFB8A4D26E100890D1FBDFDD24BDD7302604B820FFCFC69F34CF9990943241253A35245617181C227AB9E13F5C6D59DFE0C37C193B654ED22DD417FD4B152BA6AFD4A48CA726A0584AF8F17708F8D85913665A6222704F3E747213F2A24B23548CA99303283918D28605FC048420E58959240469391725919DADCCE65271D656CFFF030AAA61A44981A79219CA24302A90ADE5ED5D04201A88E52204703432A1E29F652292D8F0EE511545EAFA0F69E7E00F4A67844098B40678061AAB1C0C66D4A829EF8290853A600166199F0F1479C9C1C5E7AF999A7BE9E0500B617272626DA5DB7334B67417A66C9D1B05E4C6E011EF4507016DD2CEC169A57E78A7A1CC7BBF9C09658BA5BFD105DE3770D155454D2D1A3A5D4DDDBC74BCB8DD07D47683A2B398F1596900BAA958D2B53E1A5E15482BE80ED1F518DD10A543399CBE3A8BBAF9F8F293AD007A4C3DB5321352D9DDD90AF1AC89F86474BE4327F2A471555812DC8CF8BD260F821F518127203BB2EC009E3B2538E0868822405F97AC1F0C1348C2AADB2A10D704D94141D421EAE72449D69A2B8B0DCDC2DD2FB4FBFC6C15E4AEE6E6EA4D1E9DE7BFEF17FFFE7690098F1A3A2A2A49E9E9ECE5BAEBDB16F96E127E547340582D481C4CE9EF4D365DFA37B94CF52ADBC98063D9A85873D1F1392BC968B5F523E4747423EE59ABEBBEEC7B4D7EF5F884D0D8FE414A294ACA6D8B010DAB82A957CE1A979C819274E96913D4E9295A149489A35900F1605ACA259951A0FEF0D8796B7202957732F63656968902F22A8811B3E24C0071552142249834EB98E8C30646A5C38FA024F18B915EF6D430FE2CAA380199CC11886E7472F0BE091D0DD3F08D9EA42A3E84291F8DC498F9E4CCC538D3A7B046E3D6A44500F27B9131F9F30FBA9C7C6A60360DBE6CD9B252A95CA0920FCB7DE70738D35E999190522470F7A306C0FFDB8F719AA70CCA761713F5D37743B7D96F48A3090542F124467E42D50114701FFB981B6046E84E1D3F8897F8B5C905F5285FADD0FB9209977C327CB6BE944E1380C264931F0D41294A57968C6A476767C36148C3297BDAE02D21212E48F4889C685A14728ABE5CD5D2A4AD03018B1B6A99DCAEA9A7994A500069B2995D62AB8B12383FD282A248086217D558DED646727A118C090CBA47327E2B92AA229DECF00B26B7090DA8F3B308C2F82CDC634A300F0E87400901EA9BDBDBD1B8C1AB1EDA65BF2AC1B9D01194FD03C17D849E991C8FB686FEF93542A3F412AF1305DA9FA1E3DEF7F0F3DA47E4138B2FA3DEAF06E1039A89C6863EB0EBACFF97E12862A501175C3804AD4EAD1909F14345E4EBCF26152E3EFED49EB56247123B34861BACFE63EAC1A627F639D72796D3385035666722C64C8C04BD521959A376631C82B0DAD9DBC3963464D851CB1CEB90CEF51A02C0D09F0A63840650D5E15A26C54ABC3F34094CE4EB30C7A366BD57C8914B227856D24A8B444A271BB4DFE1C1DD5FEF6C5A71EB96B1A808C8C0C3B8944E26A329942AFB9E9967CFC6E674D7A6656447FF5FE921274EBA8C8E95B1A13AB69B3EA460EE0B5B64374C0EB35F2903A094F793D6EB2171FB3F374FF2D458535924E2FA7BEFE7BA8A36B37FD5F6E1960D4504CC432DA808AC81D0D18AB7CF261545F2F06633997859CA24A5EF944C06B572329EBF57A3A81E68CDD12C24AD044480B4BF405880CA3C14C2909111402884C9E98FCB0A62C0932C67A85CAC616EAE91FA2D8D0409E3316DF80595BAB367193B20A8B2B844874DA71270168349AFD2F3CF9D8DE693960F7EEDD92DADA5A99542AF50A0E8D581B9390F8B0B38B4BCA5CF273BA22C2876A41FB0B8FFF269D484B1BD4DBE945FFFBE8D5B6CFE80F5EAF90BF2184B24C61B8F84F2939B119EF39335C54B4FBD29FBE7C8C3293D6C25B2448CAC5ECCB6E140AEFDE802860656A367243694D23C5842D43142490C16844B454505B572F3C3E9277C54A18938DAB8791BC59071C0DC3D6A15A62D58F8BB323A5C646A23973E4209A5ABBD143F85164881FCF4FE36BD50B99945A1FDAB17C63341A78E7259EF478EEB8B34168C6B4FB5F7C7A0600567EB23CD0DBDB2B7376767637180C7EC9E92B76844644EF93C964DE33A5C7128C4F3C0E915EA4A7B5A3DBE865BF9FD2CBED1F7300418670DA650EA6509F0F48D1F788B031FD45F2F7ED1455D65D430E760FA069194244FC8A3EFE22801CED336823A2C0DE41CAC7D365307C6C7808AD45190BEBD071C854231225D378360D6533981C4441A7B29F836009B605515004F961E7CA5EC792703D3AECCAFA5694A61EBCECB4B7979CCBF8E1CCDF90CCC7206126185F241A77C63901E0271AD7FD2F3DFDF3BD96CA50D1AE5DBBC4EDEDEDF690223942DCD3D1D171D9EA0D9BF7FA0504ED4002B417CF909FC924CDA0A8ED46E994AC928274D1F49ADF03F442FB1F3980604324DD620EA4109F8FA8A4F9755A13B38B6ADB9F347BBB07989705FDC62E31A6009F81BA5A904092B2E8E0A1955458D6C66B7DB656C0423A1B49B906F57D126AFDCCE438D2EB0C307C251FCAC5C3E8E9D0FEBE8111E4876A24391D373C2B4D5BBA94545CD548CE72192F455DE5F269D5CBC2C70FB3BD9F25FB5194B134E1F5A2C982650E10ECE71824E8955F3CB1D76A23369113245AADD601DECF16DCBD8342C253D23232FED5C3CB7B85754962079550A3A4875EF17E989EED38C80184E8A3D127F8D332EF4FA854F10A0750DEFA2279381752B05FB5909ED424924A47266A6F111D2FD84606FD633886085150C6BB60D623AC498BC7C98A29B7B8822AEA9B914B826915BA6D0DBAE09C5395A41C18E28D577C6408F50E0CA3339E2845E323C8CFD37DFE758205DDA72410EC424328A70D26C319238B26AF7F2A8819C69F88048D46B7FFD5671FDF3BE78AD86434141717DB41921CF1D40D1AED979ABEE2DAD8C4A47D4E4E4EFED61A3593D8441FCA3FA26B07FE890308D3C5D20EF2A560EFCFA84CF1220750DAF22A79B9E44072BA4839B29332E25E877E7AC33B1EA07E72A3B7252F51BBA98DAEC8FD3E6D8B5D8F1ADA81573A6C3EB40CF53E9B19D941125914B06E99AD17A7C545D228BCBFB0A296AF23A7E07904A260FA6859B074FBCA3C8DD4F83EB638D437384063E81D44DCB8A24501989421AD56B3FFB5E79EBE5B60A5D57C6BC2AC41436E10A347B0C789380182A7542A0B5EBF65D39DE191513BEDA5F60ED606777A78F3EBF297295C1B4F37921705791DA6F296E72600FC1200B249265552C7C0CD94167E0F9D6CF84C38E17D5838B6F143B1C9613C51CB4D4EB43E6F37693EF2232F3757DA90914C6E6E4EE809AA50DD342191062281C7B1AA8F0A51FD34B675D172C060E3696690C5553096BDDF84CA86DD83DA3F30302137330CBB001053018C8D8DBDFFF5E787F65556561A607B61DE45F9495962630A77777707B55AED8A9EC1C737202071FD862DF7F805F8AF46D5CA256326843E3466AD863E8AA53E0AF4FC9C2A5A9FE1008A156F918FEB5100E803801D00702F9DA83944AFFB3D44CBE5314247FA299152DEC18FEFDA11403FAA7894D2E4A974128D16F3F000F4036BD213F89C9FD5FB937D01CB0532343F5367338B6BA4A6C3181C1A425EEA86F71BCF34A55300580331571E50AB463E2CCECBDE17181838F6C9279F98177C5BCAA42CA15292EA743A3912B51BAA25FF8CCCD557646466EE7375730F9E9913267B063375A2CCFC5F6AE8FE470EE054F33BE4EBF60DD94B06A96BE8064A09FD09E5D67D02003FA375AA6BC94D70A763117F14366BAEA25B25DF17955737517611BB6D4546EB33965380AF17373A5B17F07677E3AB60EE161AA9B3BDED912557456B3B8DA854B3AA18D1E4F52D2612269EA39E302A7BBA1EA93859F03E4C3A5C5454645CD47D415393348C6F8FDF9DECECECBC1011C1576CBBE6F6F884C45D320799DC52829640B3F52633393B3E4CB51DF7908FDB5F482A19A1EEA1ED941CFA20E5D57DC4016C4223E76896A3AC7D979EEEFD1D55575598D5A31AF13A183E2A24882F3DB2468DC15D8DC4BCCCCFE7FC3452D8D8F266534B0B7576F7F01E619A312D829869646B0044343C3450AEA8ADD93F34349003296F81038F2C1A802559429296E1E4DDB0F9F8F9F9C55E75CDF67DA161E11B701091B59E815D9CC6904F3A630B0DA8E32821E867945F7F8003B81249592A48E9B0C7FBF450D75B742C3B9BD66666082E0E22537165BD1DABFD59271C8BCE99CBCCE26FDEB5385A6E696FA7C626051A3D9345EFB5086006084BC6D76AC6FADA9AEAFFACECEACCC67BEBE1B00AE4D4BE848404CDC71F7F6C3AA77B4367F60ED8DCD90DBA296969EB366DB9729F97B777D834E38B668F32580F6036D7D2982E8A0E1A0E50AC2E99460D1AFA9BEC10DDA77B9C8E1CCBA10D6B3349A9EC23FDD8A829392654903BC9ED2C2EA29CC52DEFBDFD03545E554DC86D13C6B3A2E38B8A04111B6B6B7B3A5A4FB42B1ABF868D9BF09E161CAF1B6A3168341A35CCFB17948417234BAC7790CBE5CEF84C6F1C2CE8BA9B76EC5A9191B9DB51EEE8B2903506CB7F3BD385B3E7903E735555954EEAE02863A1B4987B7F4EDFA8258CEB7C697935B577759E968FE9B39B33B2B2101093AF63A734D4AFAC6A87D7E35CEBF01A051CB31346EF974AA56A171717FDD1A3474DC284E1CFDBEDE9537B073737377677009BAEFAA1728ABAE9E65B7E141717BF4962672791CC18735B34BC64C6DA838521E0C040BFB1AEAEDE682F93CB16D348E90D06AAACAEA1AA9A3AFE1EEB558CB54898D1F14E89048D7AA4A343D1F49566545586EB6F866DDB20394AFC3E8208D3A2F4348EDFCB70C6E8E7FD0B1A937325D63BB0521E27E0A1D7EB035352D2576EBFE1BA7F0E080C8AB694A06742596884343536E95A3B3BC5123BA9D4522335B5016B685650E1A912360EB0DA28CD55C5884E4F86A7478249AF57293BDBBE85E7E7E1980A2637B06B37AE7D10B9702C383858CF4A4EC182B1BF936FC8CCEC1DD07CB86097374E3678FB7537DCB861D3A62C575757B7F9A56761B2C52E0C91A71D185139E0B0E259B746F6F5D1F1DC02EAEE512E6064307B866F2D21E36118EEED39D5DFD3F135644681E7ADD8DF89AD0FD7AC96C9643A68BD69A6D75FB0EF884DCA526161A114DAE7E8E4E4C47A073F544E91B7EDF9FE1D29A969572029D9CDEBED12EB37084C7D2D2EDA949F5FA057EB0C8ECCE347C746293BB7904B0E4D33DEFC1DEB9C9120120B63AAE186BEAED6BF1A74BA5A56560234EB1CFB587D8F87362D2DCD68CDEB2FF8B724A78E3400C019C9C813C70D8C4B4848BFF5D6AC3BC32322E217E2E9F3ADD04DEEEFE8E830BCFCC63BC6DCA262199BB65B958F59CDD4FC208C7A6DEF404FE7DFB4A3AA5313954D3B0028213743B8548D838383616A92BD68BEA63AB37760530684AD0F2E2078FBF6EBB76DBFEEBA2C4F2F2FAFC548CF5C93D96B6FCED276F5F6C916564E4E4FB0B35F2F26329BC64687FA4F8C0CF41E83CD14307A1BD379E4B7415CCB289C4A3F9FDC5C145FD49E39D24079C67A077F5C40F89D3FFCD16D6BD6AEBB0ADA693FEB8E8C796E1098BA9F1972DB8EDDDA2E659FCC5A3533E7E4724A678B8749A71E2E1B1DEEFFABC960689CD479D8AD1F958D1A9EAFC3F5189F7CF2C94519DEA6DF949F39D270747474862779C1AB82222222927F70E70FEF884F484862CB94D6A5C73A0CF6D876D36E6DA7B257269AAFB19A0304E4463136D8F7A541A7A99CD479ECEFC539AB607BCD4275FEA2FC5705967A075C1C93255FEC5E76F5D5576FD97D6B5696BFBFBFEF62A467A23AA1AB6FDAA5EDE8E99589173832980A026DECA05635F88D41339ACF1AA973D5F98B16C0CCDE01922465230DC892071B69E082C3EEDAB76FD7D55BB75E2D777272982F174C1A9F3DB6DE708BB643C9004C37F65C934BC8B70E7A93A7570D7FC3EA791CBFF57CE8FC450F60AEE550182C088D4CE2BFFCF8C7B7AF58B122950DF9E6929EA900DA7B94B2A989546C75254B64361BF5D5E6B1E1BF988CC6BA499D07847E94B6AA73D5F94B02C07CCBA1F8D3B2CD575CB1EE4777DE991512121A604D7AA60268EBEE914D2D272D76B66663A7593BFA57C1A82F99909B0EFCEC65E3E2A1A1216D6666A6E15C75FE920230D7722893259C6FE8DEBD7B6FDAB973E735AE6E6E8E33A5672600BE8C6869722912D42283F65B6CC759598963B4E1183DD886D8F86042E7CD936BB7DFD9755ECCFFB2CCD248033AEC03EF0C46728EBBFFFEFBB3366EDC980E8389E702C017D14FD7FC649408A6523BA3E62B7C4E03F37ABCA40B3A3F80BFABBF0B9DBF640158EA1D90A01D612C76F3983F7687AC5BB72EF3DE7BEFBD353A3A3A7806000D00384EF90CB21399150E66DDD7A0CABEB5D234735A99909060FA2EE5E6920530D77228BC3F10D71076C71D775CB367CF9E6B11294E1300460180FF2E2161502A18B2A522F329667836386349964D2BE572F9A88F8F8FE1421BFE920330D7480351C17A8760F4123190A59D5BB76ECDDC7E7396AAADAB5B262543890399F3D8AAD4A4D763EBC36B47905F7417526EFE2E00CCB71C8A2D243535356540AD49696DA8ADC573F6BDAC163638C3D6851277D0CBCB4B634BAFFFBB00606D3914CFBD50D1B088F01CBFDDD1CC1645D87FCEEA47A3A79A4CB2DF7575B32400581B69B0B215BBE47C92663269A0F56A36A36F6868604B8236F7FABF3B0033471A902509A281FFB3114F4F4FA6F1C6F335BBB90C6061B2C47F9DF8C92F50B8482FF4FF014564AED27794164E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (127,1,'Router_symbol_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000490806000000F5D92EB70000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001D5C4944415478DAED5D09941C55B9FEABF7E99E9E9E25B3AF992599C964210B040C18C1C3128E20B8BCF394457DE811E53D8C0B20A028060282605883E1B118091E168D62F4C9A292030121099010B291C92433C9643233C9EC33BD56BDFFDEAEEABE75EB5675F56412835A3977AABABAAABAFA7EDFFFFFDFFFDF5B1D495114F86759AEFCE6CD01FC3EB5D8EAD43569F9D8FCF835FDC9B51250D7FCEB1C6C516C63FA0663C0BE06BA3E8AFB3B70DD89AD0340E9FCEB0B4FF67E14FB4CFAA811E06B4B6F2DC55B5EA0287203AE59B0C9BA887C9F893530EC93933B4D5FD37FE9F3C32A213AF1363B2449226D1BB68DAFAEFBE5BE7F136002CB37AF5B4EAC723EB6D3B02D545BAD15689349006103EBF3521D2B49A935B65E6C9B0819920D36BEBCF6B1C3FF2600B75C7BE35D53F07E2EC476860AF62C6C2E5B0069C0C82290264A98E4F160B476663F30C027DF4B024FFF32EBE436FEA56FE2EB4E6C6FE3E68BB8FEC39F9E7DA4FB5F9200DFFEE13D65780F9FC1F659BC95C5B876DA01070C40C9595A31585C1B442E5E0598DDD6834E4FD4772F482A1B526B1D09521E42C1BF4806E9057CEB85179E7E70DB3F3501AEFBF17D5549C0695B84CD91D112C12E29202BE0534402309200CCB7536B1577512F4AA93F1AE8CC9A92C2645B92DA0919F0E5DADFAC5EB1FE9F820037DEF6A0A45AFA7754172F918F8EC5E2E0F3382121CB1089C6C1E1706445023073F1BCF55A10013802E85C3B0B7E0A6C8E00220720097C8143028FD305F90521280C05E9E16DED9DF43A2AF0AC6EA097204212FFACC0F553CF3C7677E42347809B97AF242EFD3FB1DD843D34837C5E424E8092484030E087D6962668985A8D0A5B86B6BD1DB0BB6D3FF40F8C40381245324826D66912DB41E0C675FB192200FF5AB0CDC4F7340118D81505CC7ACF8100067303909F9F0785D8F24321282D2984992D8D30B5B60A02FE1CF8C1F20760E7AEBD5C88306E4BC958D183AB95B8E7E135ABEEEC39E90970CB4F5779F0DA5762FB3E765303F99C78340A4EA7034AA614C282B9ADB483F4E228F965E5848C44D8073BF7EC83818121180F4770BFC3D41B800911C0F2B5087066BF0E6026CE7304208BDBED8682823C280861A38087A0A9A1169A9BEAA018BFAB66D9ECB2EEC5F5F0ABE7D6A121C87A0230EB24F06C88A07D15C1BF6B70DF1DBF7CF8B63D2725017E7CF7A397E36597630F552795B90CC3C323E0F3BAE1A22567436E20C72884C8CD38925F5462F627B08376A095ECFCB01D8E0E0CC2E8589809136C6CD69303046411C7751E70251DD30D4400080503100A118B0E52CBAE282B8159339AA0AAA2143C1EB7ADFE89A077BB69D97D70B0BBC7A80D04EB1411B4AC22498830EEBF0537EE7DFCFE5B1327050196DDFB781EF6D64ABCE41745713C9E88831C97212FE8A71D36BBB509BC1E8FE6E252AC67D431D300CF4FC007DBF7C08EDD7BE1487F920C924A06D69A65249C13F713F2A4C900826D3BEBA407C8F1F92094970B179EFB7138FBCC059484135D9E58F33B7865FDDF198B6733064E140AC523B07D466A0BFFB5EAE7B76CFB871260F97D4F62DE0E4FE3F5EA45020E3801178BC7C081B71FCA0B407D5D15CC6C6E4257EA1429621A4F7962C4E309786FDB2EF40E6DD0777400C910A19F918F20B54CAF87A93515F09B757F81F1F1881EFC54AC4FBB761E74F51D83D2D7F2FB5CD42EDFFAFA6530ADB12EEB7EEAEDEB876577FF0206868735C8D300B3DBACC5EB2C3FE501D87D51EC93DB70FBCE9577DF143BA104F8E9834F9114EE7A6CCBD2459BB47032A876C1FE582C012E97044518475B9AEA613AC64EA7D399D206E65E41250366129BB76EA745A045A7CFA5D64FF6EF4151B9E6F93F510DA1FB6C917BE7737B769FFA5D897227A0FFC725E7D3583F91E5DE8757C3FB3BF6E852C3B413D06860150ECCB402DD7E15B7973C70E70DE1134680BB1F5AF3085EE3EBACD2CE04B8D123A42D34168B51AD505C58404344637D8D8EF17C5870480E4B72ECDDD701AB9F598724881AAD9F23427A95069DE897224CDB8857F9DCC5E752EB9FE8B27D671B3CF4F83398EEC638A08DDB29DD68251059A198D60AEB70EBD215B77F2F7EDC0970CF23BFFE0A9EFEB83E7F1691203331444489C7E3E0CFF1425949112C98D30A35D5654C8E6CF40C246D1491A07DDF0178E2D7BFA72460533A2101522421C0E7C39CD66970F1859F40527A6DF5C9E0D0303CF7BB97A07DFF41CC000AE0F40573E0D479ADD4A3DD7ECF2AE8EC62323849624A060C01529E404400A692684A04781AB7AEB8E727DF968F1B0156AC7A761E76D3063CDF6796635B11C39A005CD915C10847C234BE7FE58B97801F7368435800562F001587692F8124E8E882C7517C514F90025BAFF8B57B9882A168DE9C19B0E4DC33C1ED72D9EA8F814104FEF72FC2AE3D1DA847C653C090AB16E07DE761F6600E3E0F7A5A13A452C88C9902AF15A49577FDE8DA6F1E1702DCFFD8F38578DA662043B0603570028C07E05F67260359E228160B30F6CE6A6984F9A7CC0097D3690803A28C41470AD533747476C1AA5FAD4D7B0256F421C98A0BF361E1825970CE59A7D956F904F8677FF767D8D37E00C668BD4232940325418D5862F772AF0DA0DB2080C00B903DA7DFF1836BDE9A74023CF8C46F1FC0F3FE1B0CE559301080B77E2B32E8882027C0EFF3C0BCD92D300D452149173D6E17052609B0C31A7CBEA9F7DE79A01BFEF757BF85B1483425F4C838BFCB0950575581EE7A267E663375D9564BFFC0105AFC4BD086C04750848A8A3DE2C10111F8BA3785D9812471E25038E268C8189EBAEDC66F5C31A90458B9FAF75E3CE710B6023094690504C848063111881824DB4945AFA45C24117D4E27B16A27AD2ABA9C0E0A96836C6BFB5C4EBA8F9C4B3C0679EDF379691C279AA27F70085E7BF35D88CBFA913CB29D40DD11CCF5A3EE28C430D04209E862C20005FE859751571C8428A6A276819744830492D14748CC08924108B2E2D00CF8940749560D715D7DEBF55FEB9D3402FCE2A93F9C87E7BCC857D68CAFED81AF2BC182B567C8B456D2B99BE17D525E96E967E13AA1D0B1078FDBAD7676BA0F584210111AF0FBA8089D3DA3895624899688E1B5D8189FC1E0857BF5BCE1F7497AD2080890269E711FB7BEF996EF5EB57CD208F0E8D37FFC069EF3B0F5089ACD12AC687C5D4008E04AB66624606BF6EC7BA432E8C5F0118EC4A81E203DC67E6FBE0F5822694B143D92CBE9023B069FC1FF73C41013C268E9660430055E5BBF72F3D22F9F3B6904B87DC5134F9495967E5967CD3CF86014788681185342F03579B3091862B075EE1C2D3514F0C18CE67A58BC683E1C3932006F6CDC0A1D07BB310C8CA8C52649488268348ABAC345AF430844BC87E6452452C374E8330EB06DEDC663F8F745E01AC3838800C69080B7BBF7C66BAF6C9834025CFD9D5BFF6FE1C285178800B7B70D1CB83681368CCC991321918843517E1073F826380D459D48D0EDDD7700DE7E771B1C3CD40B43A361AA15F45E4001BFD705575D7E29F51AD1689C7A01428CB1F1088C8F8751F587211C26AFC3345C90F23499D740B609F9E2843089041DC320AF93FBE230343402127E9EC763AC2D9801AE03984D2305A46009108BC5076FFAD697F2278D009FFFD2B54F7FEAA24F7D4138B42A72D5A2F1756E9285C153643950A31181747649513EA68BCD30B3B9D1964023D6BDE3C37678E3ED2D70A0AB17BC3E9FEEBDD2A2105C75C5A5D4DA8F752195C097D7BF0503C3A3E0767B04B38724C16C22C9441C4A0252183D0012B5074340E9A411A079DED9772D5DBAF4BA4020900642E4B22DC6D7F5808BDF636BF41A59880BA643C1DC400D29D7569416526B278340D92CC323A31494BDFBBA2041DDBBA48BFEC49B4C9B5A49CBC0135D3A0F1C823FBDB201FAFA87C025045E503730D100D6A073E30BB8B3B7EFC8EEDBBE7FF5F4492340E3ECB3EE3CEFBCF36E5874E622F3B972A684C840068B3571ABCDF595D4E5761EEEC3744D01127A6B2B4A60E1829974924936CBC8E818FCE5B5B7A10D81571449ED554537BD4B7B453EFBF4792DF089450B264480DEBEA3B0013D0CA9040E8F8C53EB4FCE7DB001BE605EA1A538648E21A9F4A14387B7DCFDE36F9D32A904F0783C375C7DF5D5505C526C02B8B9EB16C6F54C6B5C4A8BF2E092258BE976381C81EDBBDBA1696A35048381ACEE9F94695FDDB009F610E0B5A1671DE0E2797EA43E70FED9A7D1295DC7B2F4F41E853737BD4FB5C7309290E8004206A318E409C28F1E9A6C33A2F6C0812EA259B6DCF3936F4F2E017075C3942953E09A6BAE018FD76332C9C25CF8658CEB1C013C2E093E7FD1D97452C6441702FCEB7F7F0FDAF677814C805724304CEB64E702F00BB937390E9FFBD43950515E3C2973280819DEDABC0DBABA7B610485A5460649902F4AFCF84186ED435DDD30343C446E7BCBCF977D775209F0535C5D4FB65B5B5BE1F2CB2F032DDFB09A64A19F90C17B8AB409F2E7112176CEA253A0AEBA7C429D4C143A49FDF6EE3F84D74A4E3BE3E7F42902B04D688009A00C977DF6025A2D04264474F71C81CAF2127B9541C172B8F7086C7C773B5EA70F46C63005F5FA18328804A239018E1C398AAE3FF59CC99615B77F6F7208805FCED130EBCC3B340290E5FCF3CF874F7EF21C73176ED7FA1962686B52B19B36B51CCEC0189FED42884380DFB17B3FA65C6EB577D8193FFA602FEC0545E19D035D723C4EF8C267CEA3E9E5BB5B76C2D61D7B60782C0241BF17CA8A0B69D5B012B5C944174286CD785D42AA51D43C3E5F8E6E3C03442250DD1E4151DBD6D69E7A8E9110E0FE3BAE3F360210E0B5CDFA998BEEC0D7D7B1EF9F7AEAA970E9A597A00BF358CCB831CEC0312384667F79011F5C78CEC209CFBF8B60CEBE7DE75EEAF68F0E8DD1D9BB562410812D6207C9E7F3FC6EEC64A0C0B363058A3AA98590A1BC6C0A92A1118A8B0A264E0624C1E6AD3B60575B278442F974CC43379CC40C0E1DEEE9C5B87F90929F298A6F79F0CEEF4F9C000CF864EDA89FF9312480E33BFC71C5C5C570C59557405565A56E8EBD68E2859D2959786770C159F3212F2F77C29D4766DF0E0E8D504BDA7FA01BBA7AFAC19BE34BE6F406C00DAC00C584121907011870A211F40C48E42AD40DC43384B2FC3EE439893737BE0F71C591D45BA01F2D4C0AD404B4ED6D87A3FDFD86F90DC4033C74D78DD91340D28694928D804F4A65AEA9AD672C73389C4B45E7109778D14517C1E2C51FA72E2B638A279A9143E27E2201F366D643435DA5AD4E223198A4753D7D0330383C8AEA7A1C8687C7E8B87F0CAFE52416CA8EFA0940B47CCA072CC4A1DD857886680C42411F6A85623ABF813C1C6235DCFCB7D736C1C068988600C350B2BA1A1A1C865DBB3F44B247047D9BF4002B7F767376041080EF529BB7AE65E1AD4E97DB72A6497373337CFAD3174325F506E2593766337288FBAA28C98785735B84719D4CF03CDA3F040368D9C3D839C32363308A422F42269632E55C45FF87035DACFE4D219ECC4727A4E4C8643C1E85FCA01F6AAA4A6146D354147D9ED4A0D3EB6F919A411F7849EC7748C6E9255232C7EFEC389074F98CC7154C66DDB2EADE1FCE554C2CDD400001F86EB5911CCC573B7DC10F5D1EDF5576BEEBCC9933E18225E7435D6D9D78F0464000AFDB098B4F9F49668121C8C3308400139047462314E83132A2A74EF25044428D57F62221272206B7DF127BC53ED89976D1F10224434128401F3AE93CD48B9AC783B1DE099CB1A7744D07027FF060171D77E0475FF9908ACBD64757FC686EB2DB8D2490B81F3560C1776A56AF3692F7E45637CDBBDEE3F35F960DE95B5A5A60C9854BA0B1A1014CA75ED3944F01BFCF492B73E374C68E941EAD3719BE5544A2CE820420B89E9108D6081F03FEBCABD51D4794BB233DDEAB3B7F7C7C1CF6EDEFA4E95D02C39AFEA96771593DC90779EBE30FFC643EB9BC88043C011C8CE57BD4462C9F94DB82D8F2AA1AE6FC8FD71FFC6C360470D2912F0F4C9F3E0DF5C162686A6AA2B3748CE28F0554D119A4E8A10D9DA353ACC0554C0A7C4A667D37D98FCE49923541245DA487818141E844377FA8FB300D81A91FC1D03DF3C84DAF674BEDB2F2FE930F2D2335EC84FAD5742448118051FBACE513F0896C254F41905C2654513FEBAB3981D0926CBE334993BC5E2F250169C1602E7A8566D40A2D50575787E9998B9BCD03BA717D9E0CFC8F3228025FAE28909104220299934139461720597B05297D6D027AF7E11E388C2D1C0ED3D94B29D02D1E9DE7EB2E74845491B7AD7E78F96924DAA85E40950CC91EE209A0093E62F9391CF864B4A5B0BCAEF58BFE60C1E26C0840F26F023C113A692224D781801FEAEB51F16378A8AAAAA4C71AC96024868128C620CF914044142B4178AC01C0461090D2216DA07F4005BD974E81D700E7C1976DFCAA095749FDE0A95FDC7106191B6248A0E808C0B87EA72AF834F0432AF845D8A6100294D5B67C3A9057B4301B0268E06BA01BC9907C2F0773749239909A426161217D0AD7458A37668410093A0E6545B1B0672583AD1F8F27E7A5643633323C02838398CD0C0E425FDF518846235403B1A0CBEA93D53AE065EBDF4832565313DB9F7EF4AEB3887E54499060BD004B004DF17BD498AF814F802F565B6169CDF4737343C5A764513E1682AF81AE6DB36460B7F3F2F2A0A0209FAEC91C043A6022990B3AC54CCD8BCDDF9208624D90BD03181B237509CC6828E043749B08B914E01AC829B04D0820279F589233FEAE513A0C2612F11DCF3CF6B3B3898E245926EF0578D5AFB9FE20037EA90A3EF50025D5D3CE0AE697CCB0DB07A48C6BB47A2F47042B327874C793F7FCFE00F87C3EFA3C3E0919A252B19205098C44C8CEF449C793F48C54FDC87C85309D2A1686716CE47711A2D158123806685903536600371021490053F065F16F20B1D9001260E7B34FDC4B66B38CF15E8025006BFD24DDCB57633E19D128534940C240414955D3C260416993FD0CC0A1826BE501BC1C19D22448AFC564D18ED10A455AE78A7EB12BB5627FCA8D79C62ED9F9C98E26F5FEF4F5649A73CB746E5F727E5F045D36A9BE85C723745BFBDC2478ECB692BE8E06A81901F8350BBAB69F035E36F9C12B8D04895874F7F3ABEFBB80CC81215329542F400890D008C08ABF1CD5FD6BD64FC02F6708102AAE6C9C9B5758D6904D06C05B336FD566A0F364D1DE139141DFA9B20E90648732AFB559BEB2AC0344D6AC94392F0524775EEA38FE1833F075F726B67E9620460FC07A02860C86DF46D47B80582CB673ED53F75F8CAF86D5301061C3004B0037E3FE59EBAF600890575052339D088189A480565E402F0859B264F61C240CC81C908A8004A9CE1782CE1F2B065EE1CE4B5DCF40041BE0A7C8C9118607DE862710168608DAE3631BFEF0CC235F550930A67A81B856176009C0C6FF22950015BC07C8CD2FAE2AAD9E3E3BFB14D06BC39AB57D6232989DA327803DCBCF68FD1941355A38EFFECD4380E058DEFA0596CF8708CBB450D50323C303CFBDB4F6C91FA90418E5748029010A55D0CB190F4042429EC3E90AD6359FF631893C9C378929202F0079D0CD7400798F88403340782B33278222F6123CA0BAE3C41E2093FB37DC934918300B01BA2C41E40D98D2F0FEB61D4BDF79F3E597C8C0A140081A42808F0B01AC0728568B4281B29AE6D640684A897D02786D58B2592810790EFD711A01F496652481DEFD0BE2B9EE589E089CF573841169009126B12682007C2B91A81140367A02A03FB011EBFEE373AB2EC5EBF43321206216025C4CE937C4688072755DACEECF757B7CA1AAC653E6A2377067AA0198C57E513A28AA0588AC9F7F8FFEB6A0D015DB200167D19621C0B6F5739FABD32526E1C98C089908200B52C3A42054F67DB8EDC6AD1B5F7D05A11854B300A108D49A5BADFF6B033F5A0D404B034BD4EC80BCE70FE4159694D5B6CCB07AF28D2D0289F2F9CCD66F2C1DF3C7916DEDC7A26D6900B30C6042966F1EFB8D61C08A0866D9891E749E700A4F0066FB484FD79A37FEB2F61115FC2126FEA78A417C25D0C98CFE6985A062157C8D00859A17207AA1B0B4B6AEA0A4BA76E24520AF8D3450142AF4FBD8FC7D724820108AA27021F03222EB37BF2FE33D296664D11140D189521EFCB191A1CD7F5DB7E646FCDC7E157CDEFA13220238985140BF0A74A1EA094AD86290A605C8B1E5535B67F9730B8ACC08C0BBFF4C16AD075D1C06D86BA46B007C071A3B3B61A2FC0D69A08D0C406F8D99AC9F0F4B62F56F5E6730D626CC88108B450FBFF1CADA6B8606FABA18F0B5F4CF3020A411400B032E460C6A2381454C5A38452545BE160A301BF01757344E0B1694949B5501ED809849FC5969818C3500B3DC9EB364B3F89FD1FD9B1C2FB47ED3FB536C7A1C0E7486086363231F6C79EB6F77F67677EC13801F65AD5F371864321CAC4D04D1CAC2DA88A0E605B45040BC852F37BFB8ACB8A2613A2B0CC565603111CC8B45DE8C75806CDDFE09258145A85164B146302B4C098B52F4A1D984DCDB7DE0B9B7D6AF5B2DCB090D780DFC7101F88A683E003F09D4C790204F9B0FC0B47C9E042E8F2F585A3D7DA6CF1FCC676702F12E5D04642622F01E435C05B4E844ABFCDFB4522872FD13F304E6A4E489608F909AD68846237DBBB76DBCF7C30F366F56411F551B6FF971D1B430D1943060E6057838126843C4058C17C8D3C2817AACB7A8ACAE31AFA87CAADBED716517D3B38FFF99AB8036AD5294DE9992209BF83F01F76F9995A4DE5706FBFB5EDBF8DA9F5762BCEF11002F72FBBAD94066B3823512B8B870E067748166FD218604B92A514835D18791C08F59424371794D4D4E8EDF6D271DE40B46E65EC01E018EC50B98C5633B166F4A8049484D13B80C1CEDDDB0F3FDB79FE96CDFD5C6803EAE360DF88CE0DB9916EE649F0950491050C10E320408AA4D23815F2582D7E974E594D534D557D634D40772831EABB1006B02888F352540565A80EFECE3E1053294A63314A410F7D891DEEEF5DB36BFFEFCA103ED9D1CE81AF05A9E1FE3E6002AB6A6850B48009C30D432841C8608B91C01820C5172B4B0408850D3D0D250DBD0521FCCCBF76722005B33987402588AAD938B00B1586CACAFE7E0DFDE7B7BFD6F7B0E75765B801E61804FB0824F64F9D93C1AC692401B34F23222D1CF9121C0B51CE658729EA7B8ACAAA4A67E7A4D756D6345416161E0847B80939C00B16874A4FF48CF3B07F6B7BDB9ED9D0D9B50E88D32806BA0F3AE9E055FB103FE841E0E6548E062C890A3363FD3025C38C86148E0D53C4A59654DF1F419736AA73636574D292E0D4E9A0638A61090AD06C8820022758F2D1A890EF5F51D7AA763EFAEBF6FD9F4FA7B89789CB570AD8A17612C9D75F59ABB4FCDFDB7037E368F87F3DE807D5E902582970911391CF85AF3326BED3CFAF85965F5D4A2D639F36BAB6BA7165756D54E09E517F88E67169071902793F5672B0219AF138BC5C3C34303FB078EF6B575B4EF7EF7BD4DAFBF8FF97C98039A75EF66D69EE063BD1DE0B32280C01B00F3C4302B14DDDC13451E0E741FD7BCCCF11EC6B390EBB8CA2BAA43CDADB3CB1AA7B5944C6D682AA9AAA92B0C04725D19EB00C7D5FAB31D0BA0F30BE59191A143A8DEDB7BBBBBDAF6EDDDBDFBC39D5BF723E02CB0EC7694B3F4383386CF2AFB040F7C36E0674D008137E08B470ECE2BB83970BD1CF03EC1FB6EAEB93492395D2ED7EC53E697CC9A33BFB4B2BA26BFACBC32585A5A16444F11F40772C97F342DD9C9B7279073DB023F1A098F8D8D8DF68F8E0C1F19191E3A3234D8DFDB7560FFBE0FB66CDA33323C38A282C8BAEF1803788C6BBCA5F3AA3EC180AE640BFC84096042045E23B044700A40F53004F132FBD8354B0096084E866CA9E6CBC971373635876AEA1AF22BABAA43C5256579054553425E6F8E177943C8E32604C26CC48D7FDC0EDC70389C2E746A2E5E7DC7E37139168FA2168BD13F74A1EB6824B91941F73DD83FD87FF4485F5F4F5F4FF7C1DE8EF63DBD8303474719C0625C8C662D990799DD9605719D77F1F2442D7ED208904123B0847072CDC581EA166C3B2D08A0AD1D8235FB702B5BCF60BD95C24E0E27E56A4C4BDD81DC5C57241C8E21AE9128F95DD87447B38D75BD6C8B0BB659F0452DC1011DE3841CAFE69589C4F81342800C5E81F70E4E0E383674383971C983CE371109248E048E0C0FEBB1F15366D67206126824890B0891C840920477BD04F7598AC97D4D1AF0C7850059920104D6EBE0F484D3C48B4826E7B1CF38828917E09EC5D5C551B6C3150128098BD70981052704E4E149A530009F10D04F0801B224046FB54EAE1C2D99006DE5F6250101EC3CF6CB83219B90C20C48D1FB8A450C3710503951A09C480264200370AE5A440E9E246012EB1D82B86FE6FE25DEDA4C3C832CD8962DDEB73A1F04C09F50D0FFE104C882142088E1BCD814810D166EDFEE83FF8AC91A4C5CB628940841574E964E3F990830016280897BB702DA9125F8A245B6713E988DBE9D74FDFB11B8C76321C8F15C3E1200675AFE1F90AD17B25A9E5C1B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (128,1,'Router_symbol_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000E080600000035F8DC7E0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000039C49444154388D75544B6C1B55143DF3C9D84E63A77162EC364993B4510415A925286A2408548010414808B62CBA2B125B5436EDAA122C58102101AABA4042820D41347C04A812C50229A4A0D292AA699CB6A993FA4F1D3CF6787E6F3EDC37B10329C5A3336F3CF3DE39E79E776704DFF771BFDF1BA7DE1DD62DEB7966D9CF30870DDACC1EB06D36C018DB4D5019736ACC66354114D76559CE4464F9C2D79F9FB9712F8F70AFC0A9B73E78B96F77ECBDD403FDC3C5F29F58CF97619A0688108EB305D775118FF762684F12438329B88E8BF33F2E4092E415A94B3EF9E999B7BFF88FC0DCDC9C74AB627CC56CE7054E90E8EFC5D8F05E8CECDB834A7513AADAC4F9CC021CD7C3602A8197668E62627C14F942195F7EFF13566FE5208922894834CADFBEFFCE9B2F12B5BF2DF0E1C7E75E7598FB49C7A543222145C281D121844321285D1296966FA2A9B570F4F1C3D075130BBFFD014D3720F04314200A22C4408446597AEDF489E367E54E29D995ECEBE9743A20E625F32A5CCFC546A18A54B21F8F3C3C81B17D83F8EEC222AEAFE6F0C491345E493E4D82067E2121C7F5778858967D8C68FF11C86432E5C9C949C4A2D180D8A5289203313C3B7D3828FD4EB18A9F2F2E419464B834BF566FA06757371E1C1F41FAE0386EE40A58DB2862B3AE51022E4AE54A89F306028220748D1E9C0ACFCECE626666064F3E354D450323437B716D751DF5460B6A4383242BE88B2BE0B116AA2AE0ABC8DE2E211EEB46321147281481A655B0B6761BD4716E2040E45C649CD9C67E8BDCCDCFCF239BCD626AEA080CC3A46EE923032222DD3D084768D7E840B06D7E2064DB0ECA77EBB84AFB532C95D06C6AD4710CA66586885BE4E4DD84438E65861189F26A68918D7C3E0F4551820D4BA552E4AC451BABD3420B9669A145D77A00838C188119D33479F6C1FAFA664D275E45A4934DA86F56EFDC24473E6F3359E690DBE882E791652188123E5D3BEED6BBC0F7C9F3BC60E4CDC1A8FB6C724F62CECAF5CB6789D7E9082C314B3F57CA5DCB30CBD0781774C02B403B161E4900CFDFBEE6021D70D1A6FAD7FAF295C5E3B9952B9768A12BD3248F9C55E9CF678656BFBCB67C71DA67CDE73C664C2406FA13F42CBCD5673E76BCF3FEF6891CEB6AB9B0B15C2E157F58CC7CF311DDAAF0DB3C911D9F0ADE4D34F412A2843861F8D0A38F3D34367A20D5138DF546C2BB6252485174ADA53654B5A636EA955AADB27AF5D2AFBFD3DC06272598C4E9FCEFB7E85F623C1BEE5E21486D086DDB1ECF9747D08E98F124EEC7F337E81712D0E84C6ADD0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (129,1,'Router_symbol_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001B08060000003A690C720000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000008EA4944415458859D577B6C53D719FFEEBDB6633BB6F1337642E218F284609E1B6AD34181755AD9A405A629EB9E5227ED51A9A89DB6696F45FCB35154ADAA360603699D04EDB4A0AE157BB56C520715AC0C46CA5325104842803C704CFCF67DEE3BC7E7DAF73A4E81DEE497EFDC93E3737EBFEFFBCE778E394DD3E0A33EFDFD8785452D973FAE8ACA6A4553838AA2045505828A2A8754450D4AF8AEA1555485531435A1AA4A42569404F6A1D512A0A9090DB44981E3DE0BD517860607079587E5C03D8C008E03EEBB3F7F698524CA5B90CC2791D8E3AAA278901C601B54934528D83659955A02B22E0147E6E571624E480902F72ECF09C7049EFBB75D9D39FB20821E48C00F76EE6BE041DC69B1F0FD9186A03F93CDC1E4740264599E478E0A20249988326162712DD2065C920AC09F3A9B0D22E110343586C06AB1C07F4E9F031E3DC5F37C8AE7B93D9AD5FAC2E0EF76CD7D2401FBF7EFB74E24B51DE8ED01A7DDEED9F0E81AF0793D74817CBE08D746C761ECE61D98B83D05A22899089748970813E21AF37AFB9216588A6844D29170103A9646C155EFA4EBED7EF9F73074E1031A119EE34B56E067058EFFA596117EF3CA2B03850716B07BCFA14F4992FC6B24D0A57B58D3140807FDD0DCD400DD1D31703A1C20083C90880C5F1B83A2284228E083236F1D8334F6E9A455962E44784F771B7CE50B9F857043C0B4DE89534370E0D09F31A5483A71742CB11CCFEB11B9C971FCB7F6ECFED15BF715F0ABFD839B31B78FA2E72DD5B9AB03F3149A220DB07ECD7288B634E23B4FC5E042342A0707FF0AE94C8E12B70802C49777C0C647D742475B94AE41A2F5EEC9FFC1A52BD76149B4094E0F5DC2B49C25FBAC44BC2C8045838AE044DC2B9F7B71E7736F2F28E0F0E1C3C2649A9F4092113369CD24807825DADC00B1E626B0592D60B559D05A694ED73BED309348C21BFF38061914115FDE069B7AD7416B4B13C8E88CE327CFC07B672EE0987B8C0550CFD326556016518E06471CC48D5AC5E9B6818101B5A6807D7F38D2CB59B813D51E27024A1B91B5E7D9123072E070D8705101EEA5D23422B41FC744423EC8639ACDCD6581EE649D3D250E1501348DAA22A18BE1C9DED01EFFE973DF385E5340FFD3CFFF70EBD62777E91E37560FBA29358365C434D65EE4AE87553DEDB036DE0D568CCAD59171B888297279F8064DB14DBD6B2118F082284980A51824B4A224535CB9360A5377EFD13404D009B3C81823812995CD669F1DF8FE37F7D414D0B966D39776EC78F6359FD76726AB6AE56AA26F4A7C819EAE253097CA427BAC093ADB5BE922E491B0C40E5DB802EF5FBC869B3C4F4BA6C7E584FEBE27A850E3333D330BA7862EC3F8AD49281424762E708CBC3912328ABD357967FB8B03CFBF595340FBAA8D4F3546C27FFCCE33CF8005EBB2A6A709255FF13C69AFE86A858FADEA367D9E9C0DE72F8FA0E76F400E4B2D9D9DD6FCD213F27960DB6736C2F4DD591A153C57CA9F25F35EBB7E134651C8C4AD6928484A2965586A91594646C6402C14B7BFF48BEFCD178083F8252B7ABF8CBBFE60241281BEBE3EE8E8682F9F9CBAE709825E376C796C35CBD90A81C4EC1C9CBD78156E4F25E8A6D3E72FFFC5DF7A471D649838AFCB01512CCBB1682396606F792E12C1BFFDF304DCCB14A9D0B9740AC6C7262097CB01B2D9FEDB177E6C1680440434752D5DEBBE6EB339F6EA13C5E371D8B6AD0F82C1605984D52AC0FA783BE6B00C73993CA4D2595A328915B1CA7025A7538FB110E846976A881907FA88456E072CC6F3A1CE6E83E1919B1801150AF9028C5CBF01333377CB0E5465E5F3075E1E78A32C8091772022E1D6EEA75D9EE04F8C6961C5D2B8F5C94FC3CA552BA1112383A50CCF06ADEC75FD5A60BC2254B81B22F061D71616498ECD99C20A3639350DE3E3E3E828723D51CA05A35014FB5FDBBFEB751CA792F164DBD721C28815FE48ECABBE50F3174D02B0BEFB7C3E841742A106E8EC6C879696288D8ADD612FE53805F3E53CAF574760FE93C3933B994CE2D990406F27A0582CE299A18042EF5B953B1659279D4A7EEDCD57F7FE093F261301C4FB1E4417A2D71B6ADE1688C4361827B7DBEBA800AFD7571652B23E2A22100880DBEDA20415B574E5D0348E5629E259B2A82C2B5841245A4245195114F1FE54C4AA5344E27334B7490120B94F2A0D691301FA85B1741B28456176FACEB78F1E397810A91589000B825C4CD620B6B83C810DE1D6658F1805389DCE79C46BBD93BA4EF68524338BEFB254691372A5BEAA31B2D1CA15210C8AAC9444300163572F3E75FAC4D1BF23B5AC51C05AC466DC0F2B63CB1F7982E7054117E072B916105011E2F17898F7A48A101379739F6C10A48BD3C5560B51583488081C9B7AFBF5038F89A2384A324FDF035E4427E21388756E5F43BCA1B9B34717E076BB2951BFBFDAFBFE729B88946A9197A59AFDB25C5BA82C9B3F2B9B534A1B1DBEF4B3F367DE7915694D230ABA001B224236311140F683DB1F59110847BB048BCD46BCAB13378A206D7D5F389D8ECAA2EC8AA0A790285545661E79739A558F2502F2857CF2E6F52BFBCE9F7EE710F2BB83482314BD8C12114E56893A10E4786DE704A139188EAD5A1CEB8A06027EDE1C814A24FC7E3F6E74BB9990BC00C1796D73FA548FC18D2EDD9E18FDCBD0C97F1DC866533790D70C22839090BB663CC88808AC89B008D18488219622A28E7A776CD9CAF56B636D9DE1603024D48A4649C0425EBD9F08F35E20B6502C1493333367DF3F737CEFC48D2BE790C72C827CB524DFCA648D119F7795609B5A1742D26A31A211D18077237F7469675B6777BCB56B79BCB17B598F3F180C700B0A2064C4FB45A3F48EDFE69464627A6C7A6AF2E2C4D8C8E90FCE9FFA2F9E0553B86E129142E4097184AA1948CFBBCC71FA85BC22A49E89F11A2C85DBBDC8DFBB71737B4F7C7504CF827ABBC3E5A8C393CDEE7038AC36ABDD6AADB3E3D5D24A08667359319B4EE773D94C2E93C6AF39D94C3A9BCF928EE4E4E4ADE173674E9CBA9748CC30B259861CA9F5245DAA892F28A086103D2A36863A26CAC550C7FAC918527AADCC9277DEE9740B1CA7CA78872784C41A2832A259D61699A7A9B717227E5F010B880183201D02EBD3C70886FF917EB280C208493A29D667FC9FB14FFB30D20F2DE03E82CADD863E3D72FAA35501C07C337A60C2D5CFFF013A8DF8404CD0F30B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (130,1,'Router_symbol_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000250806000000F250EF370000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000CC94944415468DEC55A79701BD519FF56A7255B56644BB2E5DBF2113BC40E499A64981C8549A181FE432F0686CEB4D3A1500809530A0C8429E1E840380A25A1241418205052064A8096A185824BDB9004C8903B314EE22BF1299FBA6C698F7E6FF5DEEE5B1DB10361BAF2A777AC76F7FD7EDFF936111445816FE2B8E1B6FBBC520282A298F029A07845197CB22C7941567C922C7B517C8A227B6549C679395F9695513C1F92242584F3238A248724410EE17C08B00F8A1092AD7066F5A2E0E18D1B37CAE76B9DC2F92260FDFA2D76D9115E919494CB40962F458017223001058CA240E65CE6792481EB93351211C064124605C1F4B1C964FAC86C36B5FDFD8D3F1EF9BF1170EB3D4FB4A0762E1315E552459656C98AE2408DA2928DA0945CC015453FAFF515F57AB22E5DE862D52F01FF528264606B1A144C429B4510DAC02A7CB8F3C5CD27BF5102EEDAB4D5238BD27A5CED0D26410894077C2021E8FEC1618844A774CD2959C0D3734A469F02E5FB745DFCFA0801C51E0F04025E282BF5C3F4740276EDFD4225C544483199B0357D2C5884C75E7BF6D1779559809B3501F73DF17C919C14EF401FBD495144577D6D15B434D783CD66250F254B858ECE1EE8ED1D80DEBE0188C4A674504CAB595AF29B146859D53403EFB0DBC0EFF742C05F0CA5253E089478A1A6BA026AABCA54ED93DFDCFFC83638DA7E12817356816B51FB26E198194C1B5E78FA81B7BE36010F3CF1E24A00E95559522A88262549823C045EE22FC20595436579A96A8E4C0BE49E478E9F84AE9E33D0739A90118322772198CC66181C0AE9A06525CDD451F0535C340716B734C38FAFBC0C1C8EBCAC6BFAE05FBBE1A53FBF8356A183D7C4C4C820AD79872D695EF7D453778D7C2502366D79E576D4CE4308DCAC28BA1FB33E063B701738A1BCD407CD8DB5E0F715235093FA700C542A591D27BBA1655E03C4E253F0C28EB7A1AF7F381338D13E7ECC784D73430D5CBC62292C6C6DCABAA6442209F73EBA0D060743A998A092009944686E21F409B269D5E6476E3F794E04FCEE99D77E8026FC1743904A8BCE7A4B10C8AAF6AA2B4A61C5B20560B15855CB3013424C290947A2F0FC2B3BA16F20A4C675A00498CD021218848B972F5189E48FD1F14978FFA34FE074DF20D4072B6162320ABB3F3FA0693F45824E0008BC0568D269315B573CBCF1E6BE5911B0E5B9372B10D661F455B72158A5B71C09E441351525B068411354969552D082B11508091178F6E59DD03F344238035F71215C75E577A1BEB6D2B086F189307CD0B61BF61D3AAE5A0F5DB2F6AD824D6B992568D902522E91724F78F3C10D37FF7056046CDDFED63A04BE395DCBCC0214859F4B8DC973ED181B2C26B3EAEF16D43C11ABC502169B19AC386FB15A558B989A9A8603473B682650C05D980F410C724D68FED518E8DAFEF3291C38DC0131FC5DA6E37234A87F29E000690468F141B30E115754BDF18E9FF7CD4CC0CB6FFFCD2C98BEC78295969B33FA3A19FA3853540FC726CF6E55E305098E5398C6D8D3F95840DC417529764ED3BB9105AAF81C9660ECEBEE01BFB8FB969F3D37230177DEFFE450E3DCB9BEB3E5E9EC454B667023D7B89C79D0DA1C84658B5BD4D499482661FFA176E838D50BDD670655C0769B0556AFF81638F1B789A408A2284212DBA428A55ABC46247D9C3FF665274C63DF8C56A58111784B48EFA7C6F158FCF17B6EBBEED7331270CD75B79DB8E2F23575863C6DC8DB4622F83C6EB198D44562CD00735C4E98DF1484852D7355D3E70FE2067BF61D8643C74E427C3AA9EADAEB29846B7FB406C9B0655D57241A833FBDF11E8C4FC654DF4E390068AEA0B79C3B306B4119E81F5CB7E937EB9E9A9180794BBFF3E92FAFBF6189CFE733983C0F3C97B9AF5EBE1003DB1C181A1E55A3363347764C2712B0EFC07138D2DE893E9ED0EC5CA10E5155E683EF5F7171C675EC6016D0D9D38F45D710A66225C325343204412BA1C7C6C6616474ECC6C7EFFFD5B61909A86B5DB9A7C4EF5F76F3DAB56045933D1B605EEAAA4A6125A6C06C0731E9FD874FC0D18E6E88A3F6B5272B4A46BFB9BE122E59BE188642A358668FC03C4C8D56AB25E39EC4958E2191DD678660806415C1C491009A25442331E8ECEAC6F3F28D4FFEF68EDC04E085E40E4270FEF2DDD85F525D53033FB9F65A9833C79DBD78E12AB802A71D2EBF6429467E33643B480D7004C19FE83CA3FA3859A2A2AB9FF5D46F626D01BF070643E36A7C20D9A4ACA4186A2A4B315D56A82935FD202EF5D9FEA3D07EAA4FCD36027587B1F171E8EAEC8624166508F8C62D0FDF999D000A9EACDE8604FC1BC78BC8BCD3E984ABAFB91A5A5B5A344B803432C8CABF7DD105508C44E9A69E548B9889C9084C8463308932118E60F41755008A01B88101E31C5B1FA4F60036AB394546855F2DC3C9412ACE7D07DBE14457BF5AFD915F13D7255AEFC7BD89169041B9E999C7EEDE9A410007DE8152583BEFA2F73097CFE71730B7B111D65CBE06EA1BEA35D08C808A120F788BDC3081A616419988C6218A1B220D1733F32CE6CEFA3A70EE60032E1CB02EB10C8703F724F8DC81E1314848A9628C64ABBEFE01E8EEEE81787C2A3D6EAD7DFEC97BB7B29DA2402B381E7C114AA0BA79D9762C65EBB399F282D65658B96A25D4D505212F2F4F7705D049D1412B7A80E35A4DC3E98A9FEDF69CF938378E45A3187843D0D5D583EE306578EFC008901289F5DB9FD9F434A8D959516872004200D9767950483D5A5F3577C983569BBD22FDB9C4740B0A0AA0B0D0052E572154D754415DB00E2A2ACAC153E4C192D34C81711A5728DCACC0334D5F8F04995AE77B09CC26A3636330828172687804036B1C647405F27E429625FD0D1357ABC4E3D15B5F7FE1F77FC0CB451CCB0C3C09AFC479CB89A5A33455362E5E6BB33B7CE90458B0AC75B908F8022422D592B14A8ADB0D65810078BD5E758E8FDA4612388059C79907B98E144211DC478C21E8506804634B58F57D8310D05A2B6B2F62580A0F87C737BCB363DB66BC25A9B1255EFB5EA27994569580864557D9F29C9EF485D8B040618019787DECD2AC839143C666CC0A9224AA8BE23307ABE749B41693A90A2F994CA81922896532A917A613536A749F46112948520DAAF7237D32271A09202D012F6956A013303A3278EFFB6F6D270444519202E7FB01940B5016A23496055B563BF2DD1916909767A7E0742B4801D6C960C0D9983C982D9AB42259BC2819FB5CABFE36DB9C0A3E1378AA2FAAA6AF13C148900DEF1D077A3B6FF9EF873B77209449E24502357F270AC9272D9480B91E7FD5C2A292AABA74021C0E479A0BB8384BC836E7CA015ED4162E3260A294D64F9B33B4FA3D19689177053193048C07CAAE0F77AE1AEEEF69A70424990B300B20FE4F727F93D5E6A8A968B87099C964AC6A484D900ED0A87D23110505F929B03C093CF8ACDA67A418AFC904CE5B061DA711A0064429E50AD1C8E4AE0FDE7EE97A84318812E609203B0F92FE8228F3A954B93C25F5FE8A86669E80FCFC7C0350DDEF0B3922744288C530CDE5B4802CF3BCC679F3E7AFD1AD4A274D770BA34B24A6A687F6B6FDF5A7A3A3FDC711C6284A8C0F82440AA81B34A0CCA301B1145DA1D9E3AF0C0A7467920E327B0CD0E300216026EDF326CFFBBF51F3624E228DE4185D879C9B9E8A0F1F39B87743CF97073F4108C354FB6417A6F08510B1824294326A0984806A4282D335A7D25FDED86AC6C26036C0F9F376BB7D562E60347D31270939EF9323768C8D0CEFF97CD73F1E0A8F873A114B88FABE9A02D5428812C0B20121C1855202A982A89AB67EB3C5E6C7A0382F5019AC72BBDD161E742E12889C8D006DC186F1D72081FB7D2C12EEEDED3AFEEA177BDADEA5C0C750221C78F5DF17F9BD0023C142DDC14389085021EE516CB1D88A6B1AE65F50DBD0545B54ECB71BE3802B230BF00464F5736D7C6E5690E35ECAE4E4D8A9EE53C75FDFB7EB9FEF53D01354EB716AF632036F208023818815C54E621E258214493EDA16D3AAD1E50F9497D5049BAA918C405D5DA3174B61F35727E0DC2C80DD0BEBFFB191D0C0D1C1FED35F741CDEBF7768E8742F051DA61A8F53AD8B14BCA1D6CCFA4284C6045622E7D134495C630E05EFA6E342DA1698ADD68296D645D50B162DAD9EDFBAA8AC616E53116606E19C634046163082C7AA706A6468E0CBBEBEAE43278E1FFEACE3D8C1931468944A8C0A798F9EA422ABD57416B039DF0871D6C088B051715052F269015540C5C5CDE515177B5D8DCDF38B4B4BCB0A0A3D9E7CB7DB835EE2723AF35DCE3CA7D3811FA70D371B56BBDD811B784B2C129D8A46C3D1087ED07F23D88663613C22E1896878727C7262626C1C235A7BFBA14EDCD18539B0714ECB090A98685BA29215F88C04E42082B70C2BE72ACC4A9CDCD8C6C51433779DC0B54414BA50915B7C92CEB13641659A0A039CA4F30CB04CEF9753E3E74C400E32200B218C14D632D0660EAC999B67A4B2FFFDC048903891D35A91134DC3BCCC06F45726E02C64304218487E0C1C01A6B43E3B7812980621AD55D2FA4CE05C419F170266498AE1748E369D047E9C71F029EC7C1CFF03221EC479524784F20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (131,1,'Router_symbol_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000370806000000F3134F770000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000154C4944415478DADD5C09941CD5757D55D5FB32FBBEF5ACD28C06ED200162932146365E0E073039390959EC109980AD1013D931B1221C0808DBC8160A1618616410E198608381D80E420E5832DA10685F9034D2489A999E999EEE999EADBB96BC5FFDABFBD7D6DD33628B4BFAF37F55575557DDFBDE7DEFBFAA194E5114F8242DAB57AF769C1810EB1511421CC88D922C87149043B2A4142B32F871EC5714D9A7C88A5F06C5AF6E93259F4CEE4351C664199B228DE22AF6CA18E0BAA428B8AEF4E2B66E3CB69B07EE8CA828DD7C1CBAB76E7D6AE2E3BC5FEEE32280E380FBEAD7FF6D86C8C98B10CCC578157364596E9415B906AF49C06D404045C02033C626CB3663B28FCC8C2D8EC57524888E713B1ECF717C3FCFC331E0845D02CFEDE22579F796D7361D573E22603E3202EEB9E77BFE714E59AA70D2A588CA2249562EC1EF2E52640ACC54806481A7402A56C7EBCE9169E82A60BC6D8E5844A6C5788EDB83C4EC5414FEB793919AB7B66E5D25FEBF2360E5CA35C18453F81C7EC7CDD896C929E9488146814C8F2D2C3AF5996C06D2781CB3BFEE9874033DF0649BDE1BC94FB5C79F29F7E4E83AC7937E48E0F9D7F09897459EFFF56BCFFC68F8134B006AB86B8C2BB90575F94BA8BD9F46EDF6C892081C9A934C2D394300B56EC3BA11585642F4402B06A0CD0DD4FF9AE503D8DF2FA72382C7EB0D06FC101F1DA5DBD22D811FBF21F0C2639D4D05AFAC5AB54AFE441070F7238F78BDA3CEDB25541B04A9561225F0795D5053550EAD4DF570ECE41908F7476028364C25034C9E3035AB365BB81EF894959B80A784B08BDBE582F2B212282B2D864AECC9B8315403BBF61E842D6FBE8D2099244AF392E33CCFAD0D72BE9F6ED8B06AEC632160E59A8D41979CBC03CF73375A7D852449505C148496C67A686D6E003EE5D7EA45937174380EFB0F1E83BEFE41181C8A8124EBADDAD2B2650BD0C14262D2DBC14480BA11BFBFA830086525C5508E609797154355451974B6B7404D75450A58BA9CEF0DC3EA877EAC1A0CA7650D54A28C64608BA087AFF7888E07A74AC40511B0FA071BBFA048D293788E32729E6432094EA7A05A5167472B941517A9E0F3E60B4617E7201289C1DE0347A0B76F00FA07A3FA609A0656365B381824C6047C6A3BCA37D45557410B7A20B1EE56348AB69606F07A3D39EFED873F7E0676ECD99F329E745CD0C68C473084E02D9DC01BFB9B9FAC5DF5E6874AC0BA75EBDCC362600D5AEAD78C96A9A67908A4288B5018F0410592316FF64CD4D30002A25E3E5E28AF8E7926D0F50F44E09DFD87E1DCF93E08133224194A8A0AD093EAE038CAD7E0D07046CB5982404F02B0DBF01F6A35545796C182B91D70CB173F9DD7FDED3B700CD63DF12C4C2644860003F85AD0E698A09DDAA6E0CDAD1FE7DDDFDCF4F037463F70021EFED1E63689139F4759989F2D0866F26D223112941417425D4D0592D10E5E8F9B82CFA76F82043DCD3388FB1322162F9C030E8703C248CE539B5F82A1E8B0017846660CC0D30FA0BEAE0A165F3C1BAE5F7A39088290F3FEC8B91EFCE146387EE2348011781D010CF84C1A9B21030E82A05CFDE803DF1AFCC008F8FEE3CF95C949790FDE6043B63CDB9614B46AC41925AA189A4275AA67389D8E94E5681E418800D011427A42C2C6677F89248C506B878C2700935AD2FB69A8AD86CB16CD81A5575CA2D376E3B263F73E282C0842FB8C2675FD8DB776C2F32FFE2675AE14DE4C864441D7D64DE09B62C4CE84D37BEDFA5577C42F98004C2FF94065FB6FF00EAF33836BAFDD5AC603A03F86046B97CBA19271E30DD782DBEDA204A45C39053C9F2680A7243CF9B35F40243662CA6E484F8E0BD557C1E58BE6619B9BF57EB6EF7817DEC276BABB4705B3B2A2045A1A6AE1F8A96EFC9EA134B8E969BBAE67E242DA1358F081495DF9D703DCD00D98AE262E8880753F79E17E84F29FED32936C5EA04D80D899ABCFE352F59D80E5F779A807F0BA209DEE194248AC78E2672F42043D210D3CEE1742A9B97AC9429877D1CCACF7B10D41DFBEF33DE84689B3990E008537BDAEADA53D290D760668AB6D9ABCE2AD7FEDC17BEF5C376D02D6ADFB6F371F181FC25DBD723A2B912DF36F532ECE6428642C8A2238054ECD4C5C283F4497058107276ABDCBE95433149FD78DCD0B3E24C6E572629EEE04177A88CBE1546F2AAC92F00B880D8FA6CE8D841606FD18632AD5947221065CA3DE6FDBB117B6EFDA073DBD03004649E28C43CE04BE9E08F3C40D98C00C6C8006353B3A72DF3797774C9B800D4FBF7C95CC29FF9B5DE3C1622264F319586D4BC9156992448E4C8D1D98C59074927807DE08080E421A079228C3707C540DD2698923E7C0630B821E8C0195D031A319C4A4047FC074B22F1CD1019DC5FC19908109C4FA58608C037AD099B8A08D79EEBAEFDCFDE52DD322E089E75EFD0E4ACEEADC81160C566FD80E561327D091601CA7B72119247B72380488C6E2C0A3D7643EA7535CC398047D2E15D1E926253BF89C9123CE44863E18E7D7A7C6CA9A6FAFF8EB95D322E0DE07D6EF686A6E5E945B6A2007217633568509D4FAC299AC4810F079E1A299CD70D5650BD4ACE9E0911370E8E849387DB61746C726756490C5E5E031CBAAC589A10822067B521621BDC8F4E43349F538FC5C4EC534B24E3C4D9D3C9298C40BBA6AA9B17897137866069D14A5D7EF5DF1577F322D02FEF4CBFFF0FB65CB962DD101682A0D806D2DC65814B3065E4F8244E60E854198D3D10C97CCEFB4CCE1493C79EFE07138FA7E177475F7921950BAECF0A92B16C26597CCC9796F493C4722914CB7F37DFDF0DB37B6C3D86412E38FDB0C38E3127644A4332526658D8F8CBEB2EA9EAF7C7E5A042CB8F2732FAE58F1F51BD5B39A4A0260EB0996EB868913B146626D9A7C90495B5949116633AD701106D46C393C590E1F3B053BF61C809EFE2135986B733001CFF985EBAF80192DA1BCB23C724DBF7C752B1CEF3A8B5EC7EA37233FC62CC92A18B332A5691AB69E9EBE271FFA97BBBE322D025AE75EF59F7F79DB6DB7B6B4B4D8D7628CB2620B3CE319A8D1975F3C4B4D618F9F3A8BD99180C0CF80E6C6DA9CD7740C67AA3BF71E84BEFE284A90C03C60C9543D5D4E016EFDE2756AD12D9F656C6C1CCF7908BACFF542DF40EABC600ABE0CB0BAB1757C20A3D1D131E8EF1FD8F0F0EA15CBA74D40C0EFBFF5CEBBFE1E0281A04511CCA62866013C2B3D0DD56570FDD2C5532A859CC089D2AE770F43DF604CADF3280CE0995C28B3F871BEF167375DAF06F0A92C71046DCF7B87E1ECF9308423310CFECE2CE033A01B266E623209A74F778328CB1B1EF9EEDDD32460CE95CF63F7A586500896DFFEB7985209995A8CB136C33E00B12B92910985D70537A244903C3F9FA5EB4C0FECD97F04E70031B54C91317803E48A9E06F25DE5C541B8F9F39F528F230B29EE151717A4AAB5792C2398EEEEDD7714CEF6F4ABB37087D3A58F0516718174C4B34F9EEC828909F5B9FF86B5F77F636A047064EA894BCBEC2B9E2304A8F160E102B8E5A69B311F172C81B71F83AE9A79ED92796A95329F85C8CDB65D07546D56EF504B3F1912CC49A692F10A9C34866ACBA1A3AD0976BE7B08FA23C3EA31C58501A8AFA980B9B3DAD0B37D795DCBF0481C03FF3138D73B08D1E131CCCA9CEA2C3E131734F025E8C278128D46532931A76C78F48195F91340C157B3E8E6D9576CC6C1CDDA673535D570DB5FDC06E515E5590B6366E9498131ABA50EE6CC6A9D92248CA23EBFBDE720A69E7D20E04DEB9547D1A16F2242050467EE3849D36553543E243189DE50A09241023FA94BE55ACEF584E177DBDE810951491714B5F38DE3B51E7FFF248C4F8C672E4D5136AC5FF3ADDC04705AEE946A0E6CCEE68B966CC2CD37B2FBB9D00D6FBAF92658BC78917EC294A54A49762B2DF2C1D597CEB5CD6E486A39846E4EAA9EC3F13188C5C76164641446C727D534934F4D6AC01C736D1930C5852CA9903AE12B2F2D80869A4A98D91A52277EBA403D3E01DB77EE83F3E1284A915357A6260B663B68F95D389B978D13C50D8F7DEFDBD90960C027D64FC4999882A7A9F3B22771527283D535CFEAE880659F59068D4D8D8CE6EB9F4C69BD035DF59A4B67AB351E5266888F4DA08B22D0A30832823D8C812F3E3AA14E8A52B357C55A66140B582D6528C7E4D7BE1281B3684C8F39052A4A8B205457098DF5D5B0FFF009387AE22C5E9B23FD704913FE682C065DA7CEA0E1444D2938CDAF1F7F7CEDBF2E37BE6F942680015FA0964FC0F7630B863A163F8A59C075D9AEBD7DE64CF8EC673F032DADAD9641970C4A0AFDE0C1A03B82C013A0937893E4361413C0FADA3EBBDD38D6C7023B019A32FEBAF204994973A8E99CE0480572A6543D383404A74E9D86E850D4FCFE1133B944837B62E3BAFB96A7842273F12C013C63F96E0A3E49134A1A665EFCEF4E976749AE1B70B95CD0DEDE0ED75C7315CC689B895A2D5810C13CB1625E90327F6601B409F42CDA7F212F1B709C3521546EC8B38CFE8141949AD3104BBFE5615D92D7EE5F16A5279F7EECFEAF9290C392C0D17ABA263B0E0A7E001B99BD9463ABAC6F5BF04F2E8F6F41AEEBF660AEEDF178D59272B020081DED1DD0D1D10EF598BE9249964E3E8C04E88057F432A318D45C31E8BB0DD60A4C9D04CEAA644ABD8080DEDBDB0703FD036A09437BA546B6799F897D6C2A25934F3DF3F84377903047144E23412380A7D2E362C0AFC05645929EDAD679B77BBC818EEC46C321F81E15FC54EF4DF7017F009A9A9BA0A1A11E4A4A4A31E5F35B563075326388B2F6EB3A7F00F8A0DE33C32F888F615C1A8E41383C00E1FE4124414C97CC33E0336303F8AC172412939B9EDFF8FD3BF1CC93D40B6495006AF940C1F7622BA4E0D760AB5309689973ABC757D09CED7A89366640D7936022241080B2B2529C0C15A9336BAFD7A7AB076507DD1817B2259FF91392C019EBF0082604184C89AC44A331F5359B34E0D4D2F5EBB2CE0BD8D728D9F20CF93F3939B1F985A7D7DE45B2545203D4BC40238067A4A794825F4F9E6D132FA8699E7D83D75F589FED06487ECD826CE70D666252BDDFEF579F82B971DD2138327ACF69C87396B1402FF9F66813B01289044C923641DA388C4F4E62CE3E81A9E518CE5627556D3702AC96AC25D9127855FB59F099DE581F1B1F8F3FFFD2B3FFB1824C69A817882C0102B5FE026AFD04F810ED2B6B1A3B977A83C535D908204FA6EC80CE4584F17332BBCCDCBC449F92A55E6F91D2376C2E8B8BF8B92CCA6ACD9FBC8F4AE614221E477AA2E1A4C4AD9D4BD69E0530E0B2DB7312C07A85225332F46F73B3A5FAB191E19FBFF2F3C7FF914CA6B14D68B1800DBE5E9AF5D450E09BA9175494D7B6CC2F28A96ECE950199C1F4D2756F7A7B3E4410325360B08065C0D288D1C0D1804D8F25BA0FBB1F739EDC24487981AF9D57D1A4C9D60B0086067A7FB0E595CDE4C17C8C952196001F0DBE84804696007F41694355A8637E2E025840B359BD3946E8892239813DF80CC00CB87A422888926C22C99A04392D3F7AD025130999EF93D3A0B3DEA030718125E0C8815D7F7EE89D6DDB0D04484602340F085102882754709C50DCD4B9F84A8EE3F97C5250D2DB498C95D51BB7699A7D21E0A78F61745D920CC0E7E31DB908D0C5854CA0D6FDBE8324C75F7B61C3B518D4C3D93CC04333A04A4A4013EDC97A71795DDBAC82E2CA1A7B023C7981AB9724B34491FD522F6E190130836A29458CFCA4C1B7F2008BFD727987952C4916D294FE55282A4743FD3D3F7DEB7FFE6B2DC214B18B015A165440B3A03A0A7E887A4429E6F905B52DF3E6BBBDFEA015016669B106572F435E4BEFB00225AB1730E09BF731836FA5FF660932C71C2B12245DD0560C4428303A32FCCE965F6D22D94F3FB6A85D16C4D112842643550C09B534332A72383DC5F56D7317F26A3DD86A12660D706E2FD04B555E166E9093CC67D63265B67C0BF02D3CC0F23B1919D21120E9E70B89E464F8EDAD2FFD5D7430DC45E23079B6C3EA3F5B8AE099021CB1F0126CD514FC3A4A08797A528013B28ACAFA999D0E97DBCB12A0D7F7EC9A6F049DDDC7ED76DB5B7F9EC41863835E8AF205DF3EEB628931A5CBF4BB2726C6CE1CDAFB87FBCE9E3ABC8F5A3E919E31D34C98A905094C2C0852C02B2911D5744C882910044790C404CC8E2AB559B0758693DB13F4DBBCEAC31049B2D2FE546FB6FEDC44E424341BF836A49BBC83F93C32D0FBEB9DBF7B75FDE4E498263B2306E921E0CBC6629C26472E8684122A3F95B42FD74820D5D2C292AA50497553BBC3E174E46BE1D90234398E3C23D6DDF014B5DF94E19882B3949388ACF263223DF35DC96462A4EBD8BE47F7ED7E6B0BCD7688D5C719CB172DABA116CF039C0C098534309753AF28A3F305B23D20385C05A5550D6D15D5A1069F3FE0B0CBF7EDE701FAF5F42C382F4BCC05B23913B24E412F4CF212087CF8FCE957DEDDF5E68BF158A4975A7C9C5AFD046BF99AF4E4F344CC4533231FB5F8220A7C29F5028D0442920F8908D68666B4D537CF680A060B5DB9ACDF2E4BFAB008C84F7EA696F64E4C8E477BBA4FFD6ACFB6D75F1E1F8F0F52D035E0C729F0492BCBCFE799301B983DDAD3314A84D60A19120229221C81C6D6CE96BA506B5D556D7D99DFE7E3FE680820E7174529168B1CE83DD7B56DF7B6375E4F24C6638CCC8C51E089D52718E0652BF06DDF8A3090C03EA8F1508F0850D00B2801052C09B479BDBE4070C6AC398DAD333A1B1A9A5ACBFD7E3FFF4921209321E909B0DA57C429EC5064E0E0F9B3A7DE7E6FF7B6EDC3D1C1410AF6A80174CDE293EC83173BF0F37E2F882181F508CD2BFC8C7704E8D8477B2F6D6EBF3F18E89C7B71A8A9B5AD127F94D5D6878A838180903701964158B2AFF5D07D6D67C359624002018FC7A26710F4F7FB7ACF1EDDB7E7F7BB87A3D1080579DCD06BD6AE819ED6FACC53557B9073BE19C7788391082D6575D3E665AC9F6D5E86302DAEB8106877E79C05959DB3E755CFECB8A8AAB1A9A5A4A2BA2680A438AD4AD17619896D25340B396C9F48242646E3F1482C3A7036DC73FEF8E953C78E1EDAB7F7A42425B4CC658269930CE0090B6B97F2057ECABF23664384D66BAFB0B818423C06F0DD4CD3F6731A08755456D7FA5ADBDA8BEB43A1A2CAAADAC2D2F2F2C2A2E2B2A0C7E3F6701C46185C789C8A637380C03B048E7360222D10A09362524A4C2644CC4A3023C49FB882C6ACF61338331A89460763D148643032101EE83B173E73F244EFE060789882A9C9C7246D0966BB96C5240C41959519692AC04FFBF7842D88E00DB14223C4C9BC61C11264DCC6922030BDC09C977D74CAD11BD57A05BD497D1B10B19618F7D7C61A58924126920CA8A2C1A259CBB6025C035B99AAC55F300136445891C11B4065C74E66DD69B10FCF90C0D6AB388B5778B41B60759725C048826800D4F89964D1D873B3C0C37481BF6002F220C3480A670097378C8D3DFBB89405DE48024B005880C502C8122319ACD9A8E18A610CECF883FA8B5A1FF8DF0BE2322F7D5A11C219E484B7B070766C6CD62FB0E989502C2C359F759644C5D87F587FC2EC43FF9365368418ADD9CABAAD8EE32CCEA3D8906104D58A24BBF3287F747F336E0AC4D8BDB2996B3F658ADB3F52A0ED96FF03FF213910F230DACE0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (132,1,'SAN_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000006B0806000000BFBD8A8A0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000034884944415478DAED7D077C15D795F79999D7FB53EF0D21012A209B628A0B656D30B8AC71499C78D3BCBBD9CD97787FBBD978E36493D8C97EC96FF75B7FEB78BFB86C9C38066C63838D019B6A4413CDB40712C51401424212AA4FAF9799EF9CFB669E468F2759606323C5B287376FDECC9D3BF7FCCFB9FF73EEB9773849926024FC711C67C38F79B82D90B7DC1BAC8A6DB86DC26D036E1BB15DDB4744BBDEC800B0582C13799E5F80759C8F5F67E2A6B9DA323ECFE753DD8B760EE3F70D82206CF4783C75B81FFA12009FF03766CC187B3018FC0BAC136938093DE78BACCF67D8365EB460B5641D10D01B9A9A9A4E7D09809859E72A2A2A2646A3D105B84B429F7E2D5AFE056AFAB5FE9D233090851045F1C353A74EB9FF6C00307BF66C0769393EB8A2E5D95FB4167C5E6D30C87D2208FE3DF81BF1860DFBF10F3FC55103007C387EF28C3B16E804B84BC3F3B37881AFC6C3C21721302EC931AC0F2018AFA9A4C47A70B1E7BDB27EDC5515DE238AD29EA828EE8A0ADA8D7B6A377D743D0171DD0150397576B5D32CB8A6D44C84D4D41448492987FAFA5AA0DBA6A7A783C16080482402E17038E9276D814000B09B60FB3DBD6E2CC301634B4BA1BC7C1C343474404FCF09D068B4909F9F0F916864D072683F140AB14FDA4858ADED1D30B1AA027ABABBA1F5D451B0E78F059D560769E969604CA89BBA1C651FAD59BC6E91A80869A9A9588F3CD8B67D3B54669AC16FC90283DE00D9D9D949AF577F0F8543F1EF02CF435012C01F1126EEDCF0CE91110D800CBBCE3519019097970766F31878E1859FC3030F3C00C88EE38D4082511E9E366F6F2F4C46CDB4A5A4C09EB367E10C3672494909B8FB3CE074D8A1AAAA0A0A0A0A60E5CA83A0D55E84DCDC5C408235A02CF5A7BDA303C6A170DA3B3B61371EF3F97C50535303A7CF3642E584F160B55AE1C8D635D0E4E561CA94294C8BD5025236059053F1D952B16E3B4E9E848FF138D58D009081C099387122BCFBEEBB506AF4438F391F323232585BA89F515D6E86D70B55A80C2DADADB0B9AF8F9D3761C20414BE84F782895B460B00480BF6ECF1C29933ABE0273FF909D31C6A4CBFDFCF3ED5FBAD172EC0BFA2508B51D0DF7FF1453880606000F078C169B73100D0F5EFBD77022D01C07DF7DD774559EAEFB9E7CFC31373E6C092DA5AF81382818E575757C3D9C6F35031611C03A7FBF84E587BE8023CF8E083082AED8072D49BBBA7079E2E2E86490894EF3CFB2CECC263E8C130006466A433007422D0DA0F6E821E4B21CC9A356BD0B2689B8042FFD7458BE095F5EBE1F973E79855193F7E3C84251EBC6161E296B5CB47070048806673313CF7DC4F98C0FAF0C149886AED52F6FDF8DB4C41001B6AED8E1327E0149E575454045E9F3F6E012A2B2BE1E5973783C9D4CA2C003D8B5A5BD55B3A9AF80AD4B24B972FC376D4306A781254E3F926A8185F0E76BB1D76BEFF16748B46B8E5965BE2DD4EB2BA855040B762DD52B1BCDAA347E138FE46CF2662532A1660F9F2E55066414B662FC2AE2F7540DD12AD4A0E5AA349595970F1D225D8E076330B400088F23AF00461E403C069D12007A866FD635E5E19EC3FB003C2F89069D880A469C9FA6AA5F1E9933482F5D9585E776F1F9A5E07948E29858A8A0970FA740B34359D049D4E37683FAB2E2F1289F5D76401887FB477743200F4A05637379E868CBC425696DDEE008D5633E0FAC472150B469F8CCE2B1C202F17EAEAEAA0382B1578B313F9890069696903AE1B8A0FD0F31A4D26E0B406088A3071FD3B231C000E8BE0AA1A57067A24434EE758686F3F8E0F1900B3C5CC881835086DC4C695FD6854BD1F0549FECD8DBCC161B3A2B073203B2707BA3A25DC4E63D93A2CCF32E01AF5264AE295C7F01E6EAF0FC6141542575727043B9BC198960F1C7A060E9B1D38E41403EA806D35E07A71609961DCEC361B0341C3B106284E3140C8988640D3A39532E1FD62CF95789DFABBC8BE4B40FF698D16F0863804C092910B809A597756A7A105A8A9AE84C2C242245B63E0B7BFFD29CC9D3B977501F4F0C934C38FC4A814EB96EA70C0312447E750D388F485C211B02161ABAAAAC4BEBF1C962EAD430D6B62244E2181FDDADE5FA6014D6B099EE343CD3F841AA610AD8B2D97605CD9580A3BC3DEF52BA113BB808A8A8A0182516B287DA72EA09448200AFB4853139CC3EFE48108E88990F0274EAC8637DF7C13CAAD11705BF259D904F464CF499B15AF2FC1733CD81E7B70A3BA97A297A337DBC08F1660CD9B231C001936AD6B62650533D12E5718DDC0B7062581CAF7C1482071001B5A802AECFFE96FF5EA9348C0227112385879892490BC00EAAB2F5CBC08E563C7420E5A93EE861DB0E168F33591401218692E997A0240737333B88FEDF854245067B28237228E6C004C9B7D67B5C3A847008C671ACCF379F0873FFC0AFEE66FFE8609861E36286B246DCA7E575B1BDC4F7D3182E69D8F3E827AD41422817EFC9DCC2C0180BE2F59B20B1C8E4EE6BA29D7272B2F1D05320BCF3F8A2EE53A6C7402C0A44993E062730B948D2DC5AEC909AE2DEFC1B93E80F9F3E7C77D7CA51C75595E14D862B319B2D0737863C70E388CC7C80B9090A5A4A5A10540EF62DDBA7590C775439FAD88592AF5F589E5156379731184AE8F3F86B7D07B5048A0D1E6C073B8892BDFFCC34806C0A26ABB115C3555154C60393965B07EFD0A665E53D08FD6683449491B7D52DD0464DB7DB259A47383D805D8AD16D6A8C4D6EBEAEAE1E2C50666FEC9DF569B7FF5271D2733AC1CEBEDED65E7B75FEE8072EC02481887F6EC80FCD2F1EC3E360419DD3B91A4299B123DF462574565137114D06AA46097558CD661F5EAD530BE0049AE239B9D4B0053774B6A8F40294B0952517C848264269B1382120260C94806C05D8BAAAD02E72AC8CE405225607F988782E8810E34C37ABD9E3D3CD581111FF619234920EF4B099FFE60088C46030BC210B1D2695391C09D63C2E538BEFF5C497D2DC48F1399547EA32D8080CA4C4D814E2481BA8817059609220A855878E2FD25551DD59F20D73F82E552DD8CF85C9790B7E423F2035A0B03148189889D98A40C50D753AE1BFD39D332A0DB134100BC38720130EBAE07AAED7AD155815E00F5E176FB18F8CFFFFC314C9B368D215DD1CE44661CC1E336D4885424476DA8659D788CB482CCAC15BD078A015020E79557B6A0F69F67F7A2464E64D6710DC33232D1EDE3F058138285BA1FEAB73BBB7BA0B4A4988169FBDAB720A8773273AE76431337AA9B9DEA8782BD84E5B6539C01EB66B1589955ABAEAE82D75E7B0DAA527946020900F4A7AE9B6209689F47EB9386164CC4E73D2DBB81449833730B18097CF395110E00A741728D2F1FCB48E099331AD8B3E74F03486032E27609499B9A04EEC77349306401AC66024005236AAB579FC0C60AC2BDF7DE7B05B952979983E42A5924B0A5B50DC6141741666626B4B9B6C2F68F2FC3E2C58B99491F2E09DC8D02A3BAA10962419F6AACF3C7D89F47CF1FFC542430253D0B3C110101F0FCC805C09C450F545BB4E01A87448B98B6C79306AB56FD17FCE8473F8A1336850C526328DFDB919D3F8C1A9D85BCE18F2834050041D410ABD9C20040DAB662C561145E1FDC79E79DF132944DFD3DF5F469988FBC61574303AC928F93177009C96609DE83D87BE3DE8D70A8D9C3C629E84F5D27F5A7075DCAAFA13529292B83DFBDFF3EECC53A51DD286EA00060CF9E3D60EF3BC700400475B0B2E8B30489DF0308C6ED870FC3D2EE6EC60588E3A467E7420049E06B231B008F54DBF45157D99812E677E7E591EFFE12236DA4C18A692473AB368DB4F1F81BF1040F9AD930F5CB4623708206CCD8CF5259B367CF86B56BF7A0CBE5628D49B100B59FADF6B7A983D5E1FD28D012C1FDAEAE2E66667BFB3C505C58C0CEDDB26E35149557B2FB90D9560684D4E5291B5696F10E026B087FA32EC4EE70A247628731D8D52D59B2046A8A3240482B6042A6E718D08DA8CA255E42514EEA5A42788CBA460A6DE7178F015F449AF8DA8BCF8F682F200BA4E001B34E6B894423229120797C9CFE95920F9773542FEC38258DFC29286745B1B1A8AFD76A88A147E48224E5B22107E0B9245F4211112C262303A0D216F4C9ABCBE28697631025AF05EBA541B2CB408730419044909C52D247989E2AE1310729536E20ADDE1D356AA66D59BEBC75D464040DF687DA584269617212E86C3C641AC1593E494FC5ED203EE306D4FC8DC83976EDDFBF3FFC45B7FB170600F4950D76BBFD7612BA9C1E56762300F1736C8F3EDC6AF1D93710288E1E3D7A66D40300FBEC52443FE50192C049CB8D234860D7BB2E6709083220B6ECDCB9B36F540060F2E4C969519DF950AACD9285EC561389F0480063513E8EE3AEBA3C22835AAD86A56D115B16450D9617864F4CBCE3127BD8D89F12590C87432048110823DD1850372ED955C9BBF17054042DF2133DBA90412C4FC7892CA9839A58FDACDC6084A4BF4CAA823F24C2596D543BBBB67675C7881E0ECEB0EB5D936BAA61ECD8B1E8B28D87B7DE7A91B1662540A20E8FAAC7DD891D6BF19C30CB970BC7F207B191EDF6D85800B9571B371E83CB970F31A64DE1DBC146DC68A33C3BF22C68F49EC6FF696CA2F9522B4B09A3DF3FDAF23E380BCAD9E81DC501140F255999E44D70B2AB1894EB66462F242D25159FB314962D5B06D38B9DE0B3C53C0C7A5E7518591D6422F64F2889D273E36FE40550CC44D2E8A10FDDC09DA32925CCED4E81356B9E87279F7C321E0748F4D969A338C05750F8D9E852FD7EF3661607A048621FA584C9194124F0D5AB8F417A7A2F1BC049F4FFD531869453A76011BA8E3B8E1E85F7D072D060100582CE349E630020FFFDC2FECD70A0A98F0595080083F9EE7DBDBDF05728D031E8AB3FBF660D8B0324E604EEDDBB176CEE46E83617C4338C062BAF045DD287274D82DA83076109EE2B81A00022D58F6EE096B5A30800E7CEE9A0AEEE8FF0D4534F7D6224F0677979032281D4C81EAF0F1C724E20F9EB2B571E1D7624F01FE6CE1D3427302B2B0B5A0E6E819DA73BE0A1871E62AEE65091C067B02E4A24B04E0E2B53B247869C1378E2C409909A0EB340D0CC99333F3112F8B37BEE8157366C80DF9E3DCBBAB671E3C64184D38037C48F9E9C407AA8F4F432F8CD6F9E648DA46841626C9C994AD42A27EEA7A1396E76BBA1138F51BC9D822E4E7BCC02DC7AEBADF0DC73EF014DB4218D1D2C1B883601EF93858011B1DC0B582E59008AB6511730615C3933D16B972F017D4A16EBAA9421DB64B17B56376C373BDEB3A9BB1BDAF13C02904E6F601680EAF6FBDFFF1EAA32F4104E29665D5DB2F109A56E1ACA0CD66A2184ED7146B60A34A2A8355947474A98512BBAB2D29CCC11B65AAC2CFFDD87A69C170499394BF2E85C3F9B1E785CF94DC26BA360D0EBC064348056AF67236FDDA8910AC98A8DCEB12BFBCB89FD0F6C7E855C8E28DF2C1811C1613182CFEB67237106238D024691580AF2FDAF2C2B7E7DBC8EF27DB10E06AC0F710D1AC2A611458A78725C8C44B23254DE8224A77EC9370151DE57DAC19A9A0EBE6068840360165A0093812585523E004D0CD9BAF56DD60814CB27CD4DCCBB578F932BF9006CD40C1B33408341C8DA2BB03FBFE9A69B60FBF646E8EC3CCC3489C2A789B9FCEAEF743D6935DDDB8D5685FAFD96D676B400654CEB8EEFAD85B4924A764FAA9B92B03A580227818EF20114AF418B9E89D3D99F0F3025DF8224B090FDAECE55489663A0640DD339649D284B99D79BC0171646414EA055E3AAA9AA641C401473E18D37FE1D1E7FFC71F6A0899932CA7E4F7B3BDC8D0273E0351FB85CE092075CD4296124C0356B1A90B5B7C3CD37DF7C45190332829A9AE01664FDC7910B6C92BB00CA083A77A189E5043A1C0E38B3670334B40761CE9C394CA0EAEC1DF5E64396FE97D89D5046D05B757570088F113FA1A64C9573023FFCF043C8112F4397293F9E1134D85688A4725E5919CB085A815D0AD599C63A048319FC516934E404EA5C132B273000D4D78BE072BD111F0E4E362924D9C4908FE4DC7B4A096349A10800D2E855AB8E0FC8091CAC3C754EE06B9D9D4C738987345D6C6629613452D979741B6C6AB81427816ACF445D56321248BC8186399494B026049CE744DDD591C0F5EBE1B78D8DF194304A0AF5847904C0084F09739A385775C578D6489410F2EFFFFE23B8FDF6DB59A30EE6B313212AC1EB53D11436343743135A00EA427C01CA098C0160EAD4A9F05FFFB51AF4FA66E6122A59C1C936136A7C310287047F18CBA646A6A492E6965604C0183692B8F19D6510D63B1889530860D2FA91DB4763FF788D0B2DCA05FC4E669F329E1400FCE94F7F82F14E808023966C92185350976BC57B1521D9ED4360ED43EBA20C075B1CA910401238B253C210005603B8F2B23298DB969B5B082D97503BDCBD60329B59142C2A3362960E467D7F3CFF5E64848C7E57E605500A97CD6262A6363727173528CCCAA38091DE6050B16D519567DF9F8BCF72F3E5DF8980D17E3A96D58DFE77C0E701675A26237654578AF4C4E724A8AEA7FA89AA790B92142B8FAC8605414104B5B1F11C64A6238FD01918D935188CAA8CA0A8EA19FBBD0349AE17FD4E7F1939F9D017088D6C00CCBA6B51B545CBBBAAC697B399404E07F675473633A64C42A4864E246D34CC1B898465522432AD5584E8A3717F8B99CD0E1E8766F2E89176E8EA3A860DAD6391BD2BCBBA727630CBF8C572C83DA37C004A09A324D18BC70F424AE13846FE88B41986313B98AC98E226F2828691C05CEC4E6AB1ABA9CA4137CE92CD882E7531C91255D5DFD59359D9EC24F4024261CDC437477A4EA0C320B926948F652CDD641A032FBDF40B967B4FEC3ED96C596A000F0AE436D22804491D92A39372B42D96126662E69B2674BEFBEE616CAC66363183C5E3550DA9F62E52B1DFAF44003623B9DC89BF51B895BC888BD805949614B12EA07EDB5A38EFE158D7922C7B57D927F0DC4E19C0F2DCC063725A3825A52A3981AB56AD8252A30FBA910452BA99BAACC4F2B2B17BBA1901427303D7E3732B249000E08B8EF09CC0390800B351728D2F8BE504EEDBE78353A7DE4D4A0287333B98DC408B9C13488D481343AE6576305915F202949CC04F333B38594EE0A7991DCC8E21005233B221882470C4A78459B411D738245A24408BA50489DB532C744BAE58A26628DA41EB034C4721D851A3B61F3F0EA7652F80068568B0A6B2A28291B5975EDA149F1DAC0C2CA92D89F2DD8942AB4C4B8BCD0E96C707C80B68458B403981E477EF58B31C7AC0C43296D5B38313AD144D0D9B8EDD478AD309DBB06E1FAB7202696A18D58BA6869559C3E0B51531ABA0A497252B2F1BEFC5D607686B838D584F3A465E4046761ECB0A1ED12961B3173D528100A82F2D2A8811B7DCB170F8F06ED6C7A7E0F7C460CB607D2E6DF4E7F3F999B92E2A2C645A72EE5C1BBA5C1FB37C7C0A1527F30092CD142600106FA0B105CA09A468E2A5F3672023B78891399AC8A1D56907F52A12CB56867569A02A2323132DDD5E28CC4A018D3905CBE3079D1D9CAC2CFA240E4049A1A1B0B6F2B5579E6B18B10098316386B13B2C7C2596DB378CA48A68D8110EFAABD01BA894C4E838BCCE98907531682EDD179E10A2AC3534B07E22BA8767788D704CA335D40B3AC3058EE386D5E86851C21E4D6479D3AE5DFE5191113448C2881609D92CCA12A2D4306C9CCA5194E593ECAF039F7133C4D60CDC78E2C489962FF2F9BE1000A0D00BF0E1E7CB0B42CEA5718F1B54589F475D8E2A60406EB303DDC7C0A803C0C30F3FACEBE9E9B955B53660C528D7F26BBD1799FA6D0408CA0DDCB66DDBF1110F80F2C9B3CB9C26EEE4F8B125F2D22B63C0ED3ECB3C000AB42821D201D1BA21F66995304A08C9CECC02676A0A9663849E9E338CB8293901CA356C935707E92F431AB0DFD3DB0763C714C1E5CE0EE0FA3A40E3CC662165B3D912EBC09528A4A82E578ADF4752D58F52C31CE84D389D7674754F41518A09027A3BE8757A5637519E98DA7FAD74C5732ADFD950B5C84B4109C6D5AD5FFDF188CE0750124228966FB395323790C6029465E21267DEB0481DBA6A79D818B40AC719F4A95BC85DCACE66710025258C5CA5D75EDBC126875244513D397440CE1D96A7C37BE59BCD1046F65F2F4FC3A6783B2D105189DE84197FDBBD7E25F448A6D8024D83CCE26165E3F554B71474474FB6B6C245FC4E913E015DC38CF45846D0EBAFBF0EE3ED51705B0A18D0D54BE12496674437300FEB1F44A538248F9092CB1BE5B5E00EC0E8CA0944B7190E1E5C3620109418BC5102413FA540506525FCE0A597D86820F9DA7D1E1F02C0C62281A4A96BD69CC4C68AC03DF7DC7345F04719CD535608F9C1ECD9B064EB56786D9094B0AE861DB0B9E1D235AF10128E44E3CBC45DC0FA7B4FEEBAEA40907A343024F1E00B8BA3272790A26D92940B4B96FC1ABEFBDDEFC6E6D5E1C32A9F4A92286DBD972FC322D4A854BC66C5EEDD70240E805852A8120A7EE38D7D6872BB58F086B43A208FF42979004A79940F703B5E7F184DF33AF99E24A8B3E72EB055C2285853BF752D9CE98DC282050BE2B102A50C65F5AEF80A21A8D53968D15EAFAD85037220288A269D52C208589B376F866CF132B8AD45316126D449FD59E276C39D688D0E9E3801CB5549A164013C416EE4E704A62300A6DD5C23A7858F81D5AB5F676488867095F87DB280482CCB461B5F4F906925369803AFA3FCC2193366C0B66D2EB878B19E9D4B421C6A4937653512DAA7C19F2CB6365F2B548E1FC71AFDA39DB550307602BB0F451BD5C3CBEA2C25E553C9080ACB69E19411949A960A25681D56AE5C09554599C0DBB3E2CF3A58F0874D84A5A561E56567A96BA4C1284E671C1D3981663DB88AF373189132E8339108F5409FBB8FF5D90AF189E5DD89729A9D2ACF4E8A0DD9D2D02C7D0F2207A0D9C156AB2DB6F286C68E0DD6CAAEA7C118E51AF544CF017985EAEF5826E5176467A4416F4F2FE84524E1460723796CE63297787D7FBDAECC59949805A0A160227D9DA8C9E9660DF8393DAB676C05136E407EA39450CFFEFAC626BC5252A83708233D256C7675AAC5E8BAA9BA9299C9949432F8ED6F7FC6345849094BB65E1E255DE869E897C2B558C71ED4164ADB12516A36AB054DE438666A57AEDC8BA0884DAB5348A05A4BE363F668F2EDF2C4902E142EDD9BA687777475A31710F350766D5C0D9239353EAE70C5BA82AAAC5E23D69BD23C3A297D0DBF93F5A1FC8614670A4C98309E91C0AA741DF86CF971E1AB19BF523FB67A092D7C45C2C767A6A850405E12CFE24CC57D6EE29A919E13986ED3BA26555630937BFEBC1676ECF8233CF1C413B1FC3A1484328143DD67D3C4901FE0F90508949F2D5B0647B0E148603E7F00CDB319C6619F496677E3C653482E03F10522D49B420469CB440EF03892B1157575F0366AA7927B4FAB8495220028567FB96117EC6DEC82850B175E313144A99B3231E49F5140959326C13FBEFC327C24A77193E52020D00AA6274F9E04BEF538F49872D9C49064F552F8CA3834F9FF82BC63D9962DF002925565304863B4806FA42F135733FBCEEA0CA38EA584D1B87867A705D6AD7B11BEF7BDEFC5059FD8C8B45D6E69818750C0B442C81FB06188049256504EA015FBE732E4133428B47EFD092CD7CF169E4C0440485E1398F69DE7CEC1429A19545F0FEFCBA0A346BE841CA0B838B69E6FB36B071C69F13000287DB2BA0C65A31542BE8EF71E8BD73FB77A351C90D7F4618341294E96B1EC72B9C0D47B0EDCE6BCF80A2189A054B6629A6984E77C78E0002C410F45C907305A1D100C8D8265E29CE6584650595919A4A717C2ABAFFE2E6E16134DAC3A758BC7BAD1444B127A489E5F07D8CF5BCC26E67691666DDE7C10DADB4F304151BF3D60D955751780FB7AEC2268658F087E525A387911F4FE8122798590BADA4DC8EC4BD97D94FE5A6DB6D5E572F2DC403F69317E27D268C2CD89DD54210275C58A1550999F0A424A1E13BA12081AAC6EF4AC34692584F7A5F3A96EE9341C1C95467E4EA0492FB92C06EC77D187F7F9F07E7C804D84E4065BD18353EFAA9613C17FC4288142CB166066AC59D402CF85D8089C521E7745395C92413AE5272D12D39877C08BE821204B60AB90F0FC80913D0E9255951BB04F2496081F0191EAA6C1D2C222175FC26EE073015BF18CDD858F3D27C773785F81E5100A8206523232A1D71B9DF4EEB2975D231200F452A8E973E74F7418B487CA4A4B18AA4DA66C78EFBDD7D89A3964660768829C34A19024905D371248485E23882C00316D8A949199DCB7AF11BABA4EB206274E904CCBD86C5CB210D8B0D4F0A23C7387A277BD6E0FE4E7E5B0F3EAF7ED006B66416CFD4125743BC8C2CE94BC4A6551820AD58D9E87561827772F2F2F173EF8E003A8CAB140D0122B3B718DA001E552592CD114F7650B4041B3BCA212F084A237BDB3F48F87650F411A3100E064759C7AC7DD9352CCC2C192C27CD6381D1D3A2481CBE1AB5FFD6A6CE165D50409F5F2ACB454ECDDD86869089AB777ED828FB19E24B06028CC0040A48B00B16BD779F40EBC2C26A06401255B8ED5D1DC0CB3B1DBD87FEA14D4CAFD3079251D9D5D909B93CD3282DA4F1C80E36D1EB8EDB6DB1800D4E52865D3753431E47E64FC8578FDAB9B37433DFE469E036504D13352C2EAB163C7C0D8D70C7DC64CE6ADA8EBA6049694FD7CEC8EEEADAA825D478FC26AE4034A983A35331BDA3ABBA76F5CFDCE216C4ACA3A113F6B205C6F00686E9E75C74D6956D39EFCDC1CD64FB6B4F070E8D01A78E491479816288DAB084A6998AEF676F81A32F36C14F4FF7BFF7D3885E79256304BA03740515121D3AABABA73C82B42307DFAF4A40253B65404D4E29A1AD874F8306CC44656E2ED9DDDDD9083DE06B1F78E8F0F427D8B9B8D5328D3C892818A00F02D0463290AE93FDE7E9B8D2D30D7111F99D631A672CF239BE72E9F018F298B452D1301A02EAF1889F03711C0EFEFDB072B2E5D628A401C2733270F4E9F3EB770EFAEAD1F615B7AC8E07CD620B82E00E05887C7BA37E3B889536EC9CB4CD9989395C9DC40B33903DE7EFBD5789AF415A3774A8E3C6E06DC37A326F6628379E9FD411439C446A697399147400342EBD6EDC7C66D6102532F359B38CAC6D3FA82F2D26F3DB2AF4D42A325E8B2D03BA17E7BEFF62D6074A4B17AAA67F10EA8979CCF6FC64F23DEB303AFEFC3EF944246B9FF346D8DEA465D40490A7649B6AC7857A726954A396CFE237EDA685D620443BB9C164E752B281E03478ED67FE3F8D1C3BB28E4809B9702A7230500B408A025A7B8F4E682FCC20D36930E2234F285C20B0482CCFF674283FEA89832AB573DBB377E4C3E4EB383753A0D76034666A66973BBFB625C8D48A2387839CA4CDEF827CDFFA3655F2D66F0627DE838BDD48279208206943B27CE028E97AD442B55B39B755A0DCB35F4F679408F5D15D13C4EE06432AB7A265539FD4F88B450924927B68DC1628363470E7FF35273D37E3C44EF22A6174C863FCBD7C85D6F0B40537F9CB86541EC35B06972F68F4106089F40A7D59511A17F2DC1C44A261E4BC6EF25F5A74EA3D1DE5259F990D56C2E3BDBD2B2EA7863E341F91EEAF3E2E598519D6F1A3FFE5E87CD56D3EBF5361C3C766C95C7E7F30EF5D849EE3FDCE445E579A83E5159CB09915DB2E05B650BE01B110050818026D953C494467D32640038E5633A1900C210C21BAAC1D49FDC2020617F4E8BC5765B75F5DFA1B5C8A86F6C7CE9F8F9F3C7550D0E72A327BD474D79794D5941C137F0069AD3CDCDCBF61F3BB62F41E883AD4E39D46FC9FE4499E885E4CC20B70C802E79DFA77080114102D54450D67802410A6E0ED9326865E1730916401AA6B60CEB6F1CFA9EB3264CF819D565E7F1E3CF1CA781FAFE32A4042040328B90E17058E64F9DFAF7683DE6F6F9FD755B0E1C78FEE2E5CB3D0982E513B49E1BC44A7083805C94353F280BBB57DE14C147E4AEFF3315D8E7F2EA5859D00A08ECB205D0CB8DC60DA1FDD23500202E84BBAAAB6BAA8B8A7E1D11C59635070FFEF0744B4B5792EB25D535521200C4CB7B60E6CC5963B2B39F42F2A23DDFD6F61F6F6DDBB6214917C60D724C1AA2BB0395F9F7CB42A77502033228A4EBF5FAD8CF03000AEA49E329C7DF225B00BD6C1DB8AB30FFD2207DEB15A0F9C6CC997717A5A53D1D8844762FDDB9F3C9E6DE5EFF201AAE94C90F01AEF8B96373736DF74E99F2A4C560B8CF170A6D46B7F29787CF9EEDFC04C026E305C940189685EE932D41E87A68FDE70A00150878B9DF37CA0030C800E0AF12009F745CFAA7B973FF36D56CFE87BE40E08DE76A6BFFCD170E478761558673CFF8FEE373E6CC294C4BFB153E9AAEB9BBFB9917366E5C7D0D6543020F09C9820F28811FE93A0BE8739B172083405081C0A022823004991B36294CD1E98427E6CCF99545AB7D18FDF3DFFC7ACB9697AF92545E15D8A61615D916D5D4FCC2A8D73F148A44D66F3B7EFCC71B1B1A2E5F65398AF6C708A0C321D834FA0520F11AA3467CA7B5B5D53B9A00A08040AB72053509FDA6742D42AAC9CAB23C5653F3925610A65FEAEBFBFEFFDEB6EDFD24DEC2B50260C8EB7F7CF7DDF332ADD667B1F2FA2E9FEFA9A7D7AC5991A4EF1FD29331399DD335A0790478EE7E6C2A9BDC5C5EA450EF72202DE96A6FF91065151DB100180404DA41BA81AB12D2B72A2AB2A71514BC89C5675DE8E979ECDF76EDDA3788BB782DAE260CE52128C71E9E3CD97E6B51D16FB43CFFB58824BD5FDFDEFEC48BDBB6B50F050093CD3681E3358FF21CFF10364EAEB29C5C7C6493E3D4DF2FF11CF706C70B4BDA2F361E1E9100480001AF12BEDA1D4C469A0615C633B7DE5A59603693C605CFBADD7FF9CCAE5D67AF4283AF05044392B9DF2D5E3CDF20082F90850B46A3FFF4772B57BEAEFEDD6070E4085AE9ABE8493C8A4D51C544CEF50B3D3EA4AD3E96000A0442BDC8494B2549B7ACF3E2A98B230A0009208004E1735713E079E5F6DBE799F5FA379045359CF47A1F7CBAAEAEE3530A78B88D210D157DFCDDC28576ABC1F02C3EE837F1C09AEDCDCDFFBCB4BE7E068AEE317CF4DB69E43F265345E00341A0687E6C1F929E231FA36C83AD12074B259376C5E51327FA4604005420480CA372C315C48A3973BE8D27BF2071DCAAA33D3DDF78FAC081C03568F267FEA7B0767C3CCDFCB2B29FB8C3911F3574761943A2C825D76A4834F5C9CCBFFCE69AA180C2F9F1F33D7CD2A5ADC5B91BA4DADAC80D0D8021C0A06EC4A421D455B7DDF60C0AFEA778E2FF39BC7DFB93BFB84E41924FF367B1397E883EDCFDF8283339F9050103849B4CAB01060A57754EBFC06150A0B09F68695AE0DAF1DB9BD44D5C3A73F2A31B1E00C3FD7BBBB252677438FE80BB5FC18A7F7F615DDD0B376A5DAD76E72FB09FFF394AA44114233A4994C672097D7B8206AB040E89A63E0927E82F2B1A7F35AEC44631D9D274B4D6710C302711134B04415AD678FCF8B91B8104F2F6CCCCD910E11E45F7A625CA4597BA2F5F3EF949D7ADAAA971E8B5DA77259E9F82757E64E1DEBDEFDFA8C2A767B43A537F894DFBD45FDF6D863F1EF54A9A0E435B30104811A3A24E31FDC94D7D22286050A0B0F509D9CB2B22480CF9D870321FE3D7344742D0EA40A3D5295D080D34EF44882CD19884B71B0F1DEAF95C019092995F0D207E1D2BF9284D1054C6D9E5F1F4FDD4774535DC9B9EB6B6B6C46BD7D7D414A169FB00682491E316DEB57FFFC11B55F077DC7187A9B7B737B5E952EB2F3333B21E9B36DE00AB33EA21F2A6052C26211A0A737D7E9FCF2E293D5C02C94B060A3507508ED12B6E407E0F31FB594E3A116420004D82E16289A73ABD11343A7DDC7A4422E14301BFE75F3A9B2F6CBCAE0048CBCFCF1523809A0E8FE17DAA60C072E852FF34AE7E3050A0631376E84B2D3A611545C13655554DC687590BB4B44A347AF7BCFAFA0B37AAE6D37A48C160702236F4ECD6F6CE47A64E9B32F1C1C58B61F5C68DB0F1FD75F0A3078DF0ECF93EE05C665A822CEC0FF8AD57E3FEC54D7FACF5B008D4FE483496712C5F1BCB9EE6182028055ED0E9406F88A5B9235EDA823EF7E968383203ADC7B7BBDB2FBDFA9903203D7D9C95D30717E30DBE2EBFFF8F5767CDF467EB24CC8B1B9069C3F6BD3982F0D15FDB6DD327E975BBB860F02FE79D39D37B237394D9B3671B7A7A7A6E46F37B576777CF02A3D936B9BC662A04421170B79C81E9930A61B97F3D043E304059AE00E7DB85BE50C0A70F86C3BA81560086208A03BB0636881009B32C654979C115ED2007A0771FD08B2CF1BC703818DC1B09876A245134C7DE841EFDD667060004BC263DEFC29D28B5C7D035BD8FADEC3550B3219E8625492A00A82CC190BF431B2746DF90046EA9B7A7E7C08DDCF74F9B36CD120A85F21004B7B8BDDEFBBA7ABD7754D7DC6CB3EA05983D6F165C6C71C19F5EAD859F7F550BCF747583B0D5216924DEEDF37A6C51914D2248EA220EE93DC85E067101F6722C5A2D456F9483467039140A6AC568D421C97989C41DC42820002E7E3A0064178C9982E6E6318993BE0222A40FAAE92ACD1E8E25480E86F83927F0419682A859E6F7779FBB0141C0210F1090073871770CD6F7F6EE3ECFE2A824D43CF4C8780DAFEF83352BBBE0AF1F7B1896B5BC01AD6BBC60D36BC066E222973A225E0F028193A53FA4FB973426D0DF85083CE747CF23128E44AC6CD6B5A8CCBE9662CBD9F1F0B75D2D17FFE7AA01905534AE98E7C5AFE16564E2CB93096BB8663E290FF8649EA00084FEA993405C1AF4F996E171CF8D0684050B16E83A3A3A3288FF84C3E13BBBDCDE7BD3B3338AFDDE103CFE9D6FC3919327A0F1940BA27DED30655204DEEA0D80EEA0D317F47BC4602068498C0924BA7FC982473CC745341AC1130947EDA224728AC0D5C2A74F9D867FB27C4CF1B3C302406161B533AA0D3F8CE7A2D06126D10C5AD29CBD07E793B4FB0AC15D0B40925B13F47B2F729C16B7E82F3CBDBD1B6ED46EA1BCBCDC6C3018B2D1344F0D8423F7F57802736F9A3CC1C91BEC10F2B8615ACD4DE00EB5C3CAC63500076C50550870BC89EBF5B8DD46247ABAE49A0F894451D2EB74BD2815339A7B6DA2C0D5564023F05B8C027CB7B1B1F1F4A000A8ACACD4F586B84578D9D739495C88E7E914818583B1B97D12BD5C49A3658B2331D6393CCDBD461ED05F1E56DA27089A0308812968010C88C7059EDECEF5373841D4F8D0FDC3DDE268343ACBED0B3C18E13453F47ABDEE2B0F3E00BDBE0EE8EABE0C5B6B0FC3D30F85E1A7ED1ED01E748A9C077AFB7A7BC86DE4078B1368B53A8F46ABE5A3A2644A2670651FCF3D6FD6EB7EEAB09AD61C3870A08FD2CC060080CC5641D9C49922441EC3AF0F616B3B15C1208304741F50F021F6660CCA9D67EF3845E241DF797A6DBA46376CCDBE26B0E057BDDED08CBF5BC617F0768B5E82DDC743947BBFB0AFA7639D74838735A97D4B4B4B7556AB3515AD4145342ACDEB0D04EFCFCC768E2D2D2FE502411DB45CB800F7FEC50C58DEF52E746F0F83396C82319991D0E133C180CFE3B1A941A0D168827A9329204A9C3D99C0152B8042F6E8B59A171D66FDFFE579FE320A3F120FB7CB6FBCD2E48FADF8174E10BE83DF8B94C626564982268DA7D56DC9ECB3E364FEE9956FF4C9D167845900BAA9CE608C0FBF7C2218AEA21BD0EBF45E41AB95B02FB508F7FB6086DF04705107B587BD34D9E45B258579EF188D465FED300741BEE86EA1BABADAA8D56AB3F0D926872558E40D44E6A76765A7D16BF016DF3F1F5A3B76C3D1FA1E686F6E83BFBAD50FBF0EF482695BAEC7D7DBCD23B13358CCD65E10B436ECE78564244FB602A296E7D659ADC69FA22378EAC89123FEC4E4520600A7B3D801FAE01983D15C8FEEC34C898668E5694CFEBE9EB8C633214BF4FA367A11626CF56E891D17E477EDC5A667096809C8FFBCA66E20E17C41C387B15EDE7038E278F8560DBCB92D0886A9127C63FA37B1AFAC82BFFBFE0F2035C5F1A2C36A7D47A7D39D46F3DA8608F74B236090038120545555D910B80558EF198108A0F11766CC9B57A8B739BAA0A53915DCBD0628CC30C2BBDAB560DC5A1C5BB6480C7BA222674DDECFC7F6055E3AA1E7B85F588CBA0FD1E2F40CA618710070BA503763913CF7B1DE68F163BF3E914421B2F57A42100905E577F791B029F6AC01518ABD6031128DBD989980A061F3EF6008863F8407A00208CDF23299CDEEA82459A5B4B000B7FAE057C654F8F1AB7E983B7F219B5B5831B6087EF8C37F86CC8CD4ED768B65375EBF0F1B72AFCBE56ABD1EE953D7AB5BA8A8A8D09A4C269A33511E8A44E60645E101479A6D02CF9BB9EA0963A1BAA2020ED49F80DDFB3E92A79247BD5191A6278A57903CEC94BBB43CFCCEACE57E6FB7DBDBB66EDD1A1C4A19FA01A00F752B0B19D0272F68F6A13528C012B318F10B05626008850824F232693CB30A1A9D2EBEA2C6704CFB2769BFD16870A315D1CD182719B6D5A31C334250382B0B1E2D7A143ED8540B96F47C08211FF175B7C2E1FD1F05B333D33E30190C3481724F28146A387AF4688F3492863965204C9F3EDDE0F7FB33D192D6A06A2D0C4AC2C2B48CACACCCEC5CE8E87183BBB30D7C7E3F0A4DF4A26298D5661F0512D2F2D25A9B5EF835CAE69442F286950F100340B85B7135D898726C3F8C7D6FBB24F059783381EE130AF81108E198991762438E57EBBE0DE60EEA745ABFDE608E44B888555CD403CFA5A6C00F5E8EC0848A3CB8F5B62A28C89E0AABDE7D17429206EA5D072481E33E4E75583F40D3BF0FAF6F40ED6F1A3B766CDF5B6FBD158511FA47DDC2CD37DF6C4110E4A120A78740B338CA6B6E2B1F37DE74E64C2304D11263478B164032CBC2970488BA0CBCF86B5E9276A202743434348487AB000C003939E56941C97B39B68C49FF92260A20B03F0F6A044D006F6AFF34EEDB603C40E0B988C962F3980D9CBDD72722BD8D82E611373CE45E04E72EF9C1640F414E5E07022F05562C3F097E9FB73DD56EDD845ABF031BC98564AA312525A567DDBA75A191A6F983590304810609AF1381508A98B823C46B1F42B7B10A7F16180024306357D0AA15232F1A901AA1E56846C1FBAE7606118B2C141494157A42BEC6B8E079B59FD90F040481877CAE6854345D552067F0DF258BC5DACB19054B3437A0F9EFD93AF8DEFF00A438CC307FC1BD306D5225D46EDB0E8D4D27C8C2C1A18367FD76B36997DD6AA6A0CF61D4F88F65B72620DD8059419F515859EFF57AD311E8D5C8C0EE0E72DA7B2489D36A20B24DCF459FA736C0BEBEFB5ABD1F963D802E49414B4737055652B8440BC02B0B1CC58F4B5A81EF8D44A3E628459C06D1EC4F8AFA19F4068FDE64E1A392688A167A409CE6866FB597C1F65336C8CE3541BBDB0466931642BDDD70E4884B341B74C71C16D31ABCFC805EAF3F86DAD182ECD63B12DCBECF2A9A88CF4B53EC2B110C41DCEA1D0E47EB2791BC617501C5C5C50674454ADCFED0CF4391E803141748D47EC532F41FE7A30227F6858221BB88901C56D8178F52F0C26CB505AC76D1FE95C922BCB009DD4553101EB8FF6E98376936ACDBF4219C6D6A85943413F6F387A1A7D3D76233EBD61B74BA3A32F75897F3252525EEB7DF7E3B3C1ACCFDD54613D1D49B3C1E8F88E6DEFF59783AF14820091D7D52AB3F1C9EE90B449EC6FEFE26D60DF0092050EDD3582312B140341A0E858241DB503C80E7B8A8D5E670731AAD3D38A58D4F3572F01DB305FE738D0E66CC2C87D64E2D8C1B938E4CD70BB53B7610D3F5580DFAED469DB009057F18B5FE349AFBCEDDBB770747A3B9FFC2AC4B622898FA9C603098DAD6E9FE6A2012FE21FE9CA9081EF84410A8DC461EDC019F4F1B09878D89913E8BC5D29B9765343A2DA06B68E22054D50137E74C8445E3EE85551F6C00ADC10C68D3C06972C3F66D27A27A2DEF729A0D6BB16E072391C831447DEBC99327BD5F0AFE3A0340ED8A9496969A4D0E47BEC713F8C76024F2281E35A8853F8865A061C25EAFC76D417EA041ADF5996D4ED137B7D9B2B8CB0156030FAFEFD4C15FCC2B82F4B442282BBA09DE7A67357474F540677727440281F3163DBF0E6DCB2E64F647D0CD6C42B7A64F1DBBFEF2EF730080DA1541F3EBC0CEB6C6E38FFC2402D2AD6CC459DD0D5C193BA033C2208968EE7514DDE27A7FE08259EB268259970575AE26B8E79E42309B5B20E0CB812D1F76404F4F57AF49CB6F316A85CD581F1782A711996D17129CD0975AFF050140CD40EFB9E71E435B5B5BA62710BEDB178AFE93085CB1E22A0EB00A2ACF019D55377AF8EC8D104537A5C2DF2FFC36F4BAFBE09967FF1BE6CD2E034F5F0876EF391DD671E201B34EB316403C88D79EC4EEA72DD9A0C5977F5F1000146B400108228968960BFD223C1E8A728FA1DB684B123D64A0E01900785B5A6A0A688C36C84C73426569212C59BE92C2979206A2670D20AED16A853D14C543C137A7A6A6F6FD39B875230E00C948A2DF1FAEF245A34F44419807896E23F30EC02D2200E82D5ABCDE0C59690E683C7B16DC3D5D5D3A2EB249CF735BC8AD43B7F0DC688AE28D6A00249244ECA7732212774720CAFDAF28C757A8BB01819318006C562B389D0E387FA129A897C27B755C9466F41C1AED51BC510D00C51AD0302676090ED4E29210080F8625CD5F493C97CEBA001019002810A085E8499D145A2D89E2BE3FB728DEA805809A2452760B0A36137DF68AB0A0FF761834F31100014E8290560AAFD709B01535FEC89F73146FD40240C50D04E40636D4EEC2A8244D8B8066AA460C1DA298B5C16038F565146F1403400D044A6A0804024EEC1AACA8F5019FCFD775F2E449DF48C9D0F912009FC1DFD34F3FCD6FDDBA95369643FAA5B9BF71FFFE3F918F337F52328FB90000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (133,1,'SAN_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000014080600000097B5FD830000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003FD4944415438CBAD954F6C554514C6BF3377E6DEFBEEEBA5B52D7F4A5B3091F24450504275439A18351137C6A80B4C74455CB965A5814477C68D1B638809E8421317C68434BAB10A2E8A11C116412C584AB58F86F27A5FDF7DAFF7CFCC1C172D4DFB28BE857EC9CD243767BEDFC9F93233C4CC68565F5F5F1F113D4F4487003CC3CC6D585F31337FC7CCDF4A29BF999A9AFAB3B9809A01875E7CE9DCDE5DFB07ABD51998C949D4BABBD056D88A3C29238863646D3E8CF49197CB6848173D1BDB1065049A9EC67C4767E5F4D75F75ADF613CDC4825F08005A55406B3B22E06E53D4B4DBF77DB7D9EF1E409AA54CC400963E41B464C8BCB4D2129001D032DC2E0305DD3B43D9FCE34E5479E797B18BEF59BBB839CB6C979DFE4BB8AA0286469EE540651ED2F3A1B5816924B8BDB0C0D22DDCD1AE5F4E6ECD9E6A09686F6B7F77D78ED29E348D909467D0F07C84E116B08EC00B0B309E80E38748E7E6D010029D6140B9E376E7E572771C761E07F0C1BF8EA8180464AD01814100945210422C8D860862794420822B25881802000901D7F5D0328338AE5F55AE6F95EB72602D0B21D871144BE1A028251CD763D7F35124028CE5A010B090920366B6D6FCDD12906B5D89E33A67B9A61444499A51AE73CA8D41A22DE25A83B431C848A09165548B1B648CA55C389C2C2E462D01C5A0F0A4EFBA0E0120B6D0790A580BB6068218AE041C4110D6C0110457094847C02508CFF777B70C5980442DAE224D23985A0D69B188EA4215AC6BF092148B8E454E55E4F53A1221104555583707C531545B3BB504CC57A34F94546FC7F52AE5DA1252ADB5B9ED189D0ACE73018772279DF79224B3DA9ACC5A2B53D3804E1264376FFCD0F2AA202201602B800E0016807976E7CE6D5D61F8C017E7CFFF7AB7EED503071E29140AE1A933677E04C08530ECF1BCC08BE666BFE755A6B4DE65B70C520070E2E0C17D16D06F9E3DFBDBF2015ED1B1A1A1E29999996317E62A2F5821061CA92095BA45427E4ACAFDECD6B5CB97D600BA7A77F43BA4DFD03A7BCD6A3339E8ABD157C2F0F32357AE4CACD7C4C0C080B76173C70D4959FBF58939C544D2910A8E547094AA648DFA47542A95C29A755E669D1D31DA3E658C26AB358CD1B0462308C4785CCF5FAF47D1C5FB4036EED8FDF0E94C371EAF4495A43C5D0B826250CBD2CC07EBF7A9B3A7FFC3422178CE02A51563AD218892BE5227F7756F5357C726DEEAEDED3939323292DCE75DC0634F0C0E0DECDEFEE51F13B32A5D6C4C126787AF8E8DFD4EDB1F1A389A5B1C773DCF18AD4596A5DED6FE0DC9A68D5D81837072FAFACDC3E3E3177EE2FB85B53637DA3338B87FFCDCB99FD7845CDABBF74163C40928F7E92DBD1DBABF7B4372F9D2D4D1DE4DDD2787878753FC07AD844C44F2D17D838758887D45C51F8F8E8ECEE27FD03FAEE1FF0243A365280000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (134,1,'SAN_(48)',decode('89504E470D0A1A0A0000000D4948445200000030000000280806000000B88779710000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C3A4944415458C3CD59696C1DD5153EB3CFBC799BF77D4DC8E2D831751208069A004114840A8806B522528B2A103F68252AD1AA455555A91252CB8F5655A9F8832AA8549050D3AA15082832C52524211164051202761227DE62FBEDB34FBF33CF4E4D4AE297C4125CEB6AE6DD3BF7CE59BFF3DDB11086215D6E130441360C6333AE77E227F76BB18F50C9DA45EFC36D7800D7D7B1CF6B9665BD83DFF665CB52A902030303CD41107C635EE86DE8E9CB1478A9678AE86FB142F8FDDAC183073F5A3605BE79FF03B9F53D03F17C618A744DA342A140FECC0C79AE4393AE473D6BD7D2D4B44BF5750AE68A94CF6629592CD249DFA354AA8A326747A8B16B35B9AE4B857C9E62F91C8DE572946C6A26C52D52ACAA8E4449A622D6D0DC1C398E4359590E0BD94C726868287F29D9C44AB4D455554FC41314D335D2548544048BE1B99486F298A3742A49814714330C5264897CDBA2163CE443E0742A412ADEA22A32F9586363AE4992C88392068C914C9824CB3285814F0EE674F418BA249040E9B4BC946C72250A78BE17B2651DC7257658806E43F01002FA7E4079CCC98A48362CE7070149989BB66C522160B154A24010C8F33C58598AC6CEC1834A22118D5981438A1A90288AA4629DA3EBE4607F4952F0A2F892B255E401C3D0051D1BCBB02E77F68002610D16561261791DD6F54982109CC9015B1E378E6D9381752285918081EF23EC5C4A4221074AB0C0AAC21E85B730C7212659162908BD30F4A9AA822CABC803BE1F467159F64018BDCC87401EBB0222F31C37070278980B319787728AA2461E62E1D9DA000146302A600F356646DEF421AC849B807FB0A7104E01F6E2B55E05B255E40109265754099BCA9130D1421650A0C8E2325B11CFB025F977082574F604E29AC75D8F3D2545C2B301540E4BC4B9209445E0715ECB1A89E802946523299A162E0B0A5D33F0F53A5993CCC02E25C829DE1478EE16BC6C0BA61A2BC5EB25DE730E5A0C9320BD2D6AC67FA458628A073FDAFDD668B8C4C28A42A8B339FDD7B6E6CE8DA55256535545E090E178B511E325C46C5B4B2B12D925D394A3718E73DBB171EF21C6110A5696E2E95AE25AC7F3E5EE908870D1089636CC1A45D5EEC5F8BD8EEB84AE038076BD3969FBF6368ECCAB0EA1AA44EA86F6E62EBDBBBD4558B3B29B5A1BEBA9D777693D12AD369DA46BBA3B009569EA5BBB9A3A5B9B29815DEF40E22A42482BBADAA94AF6A9ABBD8DD28918296248B741E870EC1435D4545377732D35D6D75155328E39A25585BCD0919D550D55AAAF73DDD8B224B1E53841C9CA49F97C964AB0BA05689C4E2681320ED9258B32284A3153A0B3E31391E505334EBB44896288E399995972049D6666E7A092409A6ED02EC4BBD6D919C1EE6411706B8AA46940244DA7D3353564C3ABB2006D9696BF320F24CC98183753944A26A8B6BA9ACC588C3A5088BA51510DBC380D650AF9801A1BEAF12CD0A590A7C162818AB8D65457911294A2B54861285FA44108E88C8EA230EA549B8A21F462113870216B3D778E9A50E543143D5A2E18456C06969D8707F2E400216C587E168508042C2A5C5CC8926989A6F0721B054C4E246937C48DC3D2D93C6887625226938D3C60003EDF01B41AED1D11ACCE803E288112D504F6CE583A1DEDCF05AF6AB96054D73551D7E2B09419599B694113945981649451C8928938E5320155E3E53A3CE2E6B2742320348F6B64793B4F495C992EB0576EC29AD2C951C0AF4CE9B811153B8650F64E6326434DD90C39304E252EA808466FBDF3EEBFB437B75C572816C2A8D8B84E0C5E318016A6E5584A5D4D2DD38DA8A8317E73C50DC220AACE02488D887B453322213DAF3CCFCF09081B5476D78C994541164B982E614DC0F50397C2787DCDC67DCF3EEB5EB5021B367FFD3E490AB70354D6A32EAD5E1C7A5171C21F2DDA265CFC23AA6CE5CBFC82F3C3345FBC168D716DFF0CBF0FF982B467EFDB43BF867CC1552BB0FDDB0FBA5F5BBF59CEE5CE1073A20CDC2C8E8F93042B8E022DAEBDB69F8E1DCB5077B7495924F739CCAD457CBF0BB46AEFE8A499912354DBB58E3887E6409757218FDE1B1BA3A675BD94945C0AB464940FBC368E798FD1C9885156A0AAA19D3BE7AE1E466D3B9C3E370EA4998DA801172F66A2FCD22242E22C04B6EC228D4FE4A9542C51097327202427ED2C042A78A01140160E1D36D718E624E412F605289450C898040A11206441395C592953964B1BFF3260346E8AD5550D11DC712233838C31AB84A598C330AC06BE8A644E30738D946B9E4F4A13BF05271F3D13113E085DCF73939324C31826732C546466B55CC175782D895A1245463ABD3C308AB21E4C4F8F4B93531391C0CC3A0358919967893D70769C7C54E5B131C02C28828D483E1C9135912626A7090499A601B1CC4C99751E8712425575747A2B7A38BC80B34938917162CF4219B81690BA4C308A24156071D175FD28E198557228C8E0F3098412C72BB3D4CCAC052C57CA7008F86C869299CC5C04B34E6E2E4A5ADB2A015A73D48035B9B367CA8C532CE7A003AB738E280839193996433E1C3B7C3821B015AED4032C3C978189C9896CE887694E32E6E92E9F0D301580AC3922E216CAC83204C67C74669055FA18E1A3801AE430E78A3ACEBBA5086244C4F73154693195A202C6EC1087184D8C720BB84A33084F2E648AE386674E9C68C2FB272E45E89644A1790BD4A1F7A177CC2B1D94C1F1FC75A1455977634FCFCDF09A3174E0C0AB0BCFE0DC2BDFDCDF7F0742C81FFEE083370100E17C0408F43F945DB872153B897E1C7D3AE4E3D9D5C0289490E695684057BFE085D126FCD0F7B76E7D286B59A32FEEDEFDC6C2816E9192E16DFDFD2B7ADADBEF3F3432F2D25B870E7DB648F170D17D8105E7A85BEA3C50F17721FE98355FDB8D0B048F36E84A24D44706079F3C99C9FCFD8FBB77EFBFC033E16225AA0D437A7CDBB6871037E1EFDE78E3B9E96271E1F418C652A92E4956EF9344699528492F55C78D7F1C3F7EDCBE6A05167942BD20F9C3C7FAFAAA363635FD6A2C9F7FFAC95DBB4E5C44F0C56351FBFD3DF7AC4E2ACA23EF9C3EFDF20B478F0E8882F8A028CA1B996288A0E35C0B703F274AE2CBB87961EAD467C3177A44B8DC4F8BF3897DBEED1C1CEC1654F5A71949FAC977DF7C7326BCCC0D93A9AA47155178CA0AC27459E0F3822F56228264EC7C5AD5D4E743497961ECE3F297BB8A14483776740BA1B7230C82BB80D16F7B21FD393F3371F0D50D1B360B92F49D7076F6C7775EC2CD970288CE152B77D6748A77674E160B93D3563CB2D082E0525909969C3F8A61A0FC6D09B45B9695E152AEF0A38BC2686BEBDA1A57B41E40F1D92109C160B8C0B604BA1EECF289C6EABA931B34F9A35D19FBE1D9E2CC650BCF6DD3A64D2DA0257A637A9DB072E56CE2C323C7DC73A7C807BCEA147DE1283B9B3F3BB2525C0865C0B82884478AB9CCAAC077377ECE035D5D5DBA25687763700728ED5D803A85C9202C1FF11EBEF2EFF3F73C1E0218836008B4F967C54C66CF157841E8EBEBFB56757DCD1FAE59DF5337F1C9613A3835590A276D2A58BEB1389C1445C933C1725CDBF4C104E4507838C2E0D635BD5B20C90EDFF7B67BB69DF43CE63862A4392B7811C1A32B0E2567DB3B04E9D34FDCDFE6E7669EA22B6C838383C65CBEF0CBD53DAB7E60C4E2FA54F178983B9BCF8D8C160C54FFD0308C92EB07290E25210826C0071E1D3971EC6F42AAA1799BAA6A4F6A86B9C92E15CDC07722BE02D908501691AC2F145C122DA551F1BB75C55CB3652BBDFED2BF865B9B9A1EDDB367CF87E195FCD361BEC11B6D5A3CFDDCFA81B65B3D43123F7877D4B18A2E98BB2705BE6741F0674E1C3DF8C4C239419682500631DBEA94F2194333A61D57AC8DBEA831E799173A3A93CCD74B49107D3399C8B6F485E91ABD53686FE8A4C3EF9F9E8D9BE68BB0D2A757233CB743870E9DC2E5F68181EBB6D5B4B6FD49558C065BF40495847FAB42F0E0810307C63E1782CD5D5DB7BB4EF00A924466A1354529F0890A0CD45C6C71EE35693363D7F9E6F5B52D72AA6D1D1D3D78C49A1A9F7A3E158FFD62EFDEBDE3B4CCED965B6E916773D60FBDD03F7678FFDE7F5EB490B5AD58DB037C791EA7D40D4C6B5911459232A552DEF05C4FC541BD505F9710EA7AE558CA5D4D9A2606EFED3DB0DB1085C7F6EDDBF73E7D89ED3C0A31FAAE58DBBBC30F84DF84A254CF4AC892EC03B2E6B49541CD3AAD955A5626E8F5573E1D099CD2CF6BAB922F0E0D0D79F425B7FF2B64FDFDFDA6158A4FFB82F23D28A1235933EBFB075273D3E3853327479E4999FA53C3C3C3B3F4156917ADC41B36DCB0C60AE93940D14A21F0F7C5A4E071C4F9C7F4156B97A412BDBDBDAAAEEB8DFBF7EF3F83E73CFA0AB6FF029903B825F07487600000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (135,1,'SAN_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000350806000000F186EDAC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000012D84944415468DED55B09701C65767E7D4DCF7DEB962C214B42BEF109C1B7618D1DC22E49804D056A49B62A152AA922A91C5B95AA0476B3452515725416E7D86C2A24EC926209E12A1230C5AE59035E6CC0966D3076642363CB3A6724CD3DD3D347BEF7CF8C2CCB5E838C442D4DFD9E99EED77FFFEFFDEF7DEF7BAF85E4380ECDD7214952C0E572EDC09CBBF1731746FBCCEBD7F2ACEA3D8318AFF2B02CEB359C4BCEDB9A3FAB013A3B3B5742F1DD9867173E37E294F62914FA2C878DE3B02CCBAF62AE5763B1D88177DF7DB7FCB91960E5E6CD1D6E93EE521519CA3AAC70DD95E4B0405EE9558D2055BC861CBADA1AA42B7CA399F714F0ED90ED386F5B24BFFEEE5BFB5F5950036CDCBE7372E7B68D61C3F0E0578ACAE532158B452A140AA4A5D3E4D7341A2895C8C6B4DBB66EA1BEBEF3D4D0A0926118D372E15C8EB2304E5A51C8EBF393994952597153281412722C53C4580C231E1B19215734465D5D8BE9E30F8F50B4B58B54551573F1B0B3595A8467BE3D3E4E0D4DCDF491598E1C79EEB9A94FAB8F3C5797C1C365050B1F1E4E505D5D1D058341F2783C84D8A74558581316CD0AA8AA22BC209198A268342AE4DC6EB758FC125D273F142DC150FC3B160991699AE4F57AC56FF68A1294DB188F939DC910E29E3428E9D55DE239B57978F3FCB86FB9CF47939393A4E079E1850E815FD8B133B966596FD4E30E53BE30492ECD4546D920139E50C662780759999251A6DE9E6E4AA50D2CDA164A950D9661594BC859369C5691C9CC6749F5F828140C236C2C310FCB9A6619F340CEB229168D5026394A81683D79FD7EE179E299D5E7F277495668ACE88AEC7BEEF185F380A0CFAF36D6D7513251A0EBBBBBA82E1EA550C00F43A8D453C8D33A046A3E9B213776ABA9B1812E9C4FD1A2D616EC72987C5E372930C4CD304263364D46B1C0F3D1A2861895E10D5E8F8EE0B6A98479261363748FDF47F933A7C92A9728168B92572EC3981A69309A05A3E7F01C75748476020F4E7E788214050F9FA30BA8D7009B167B4D5B5B1DC26058EC00BB723E9FA7F370554606765796E1CFA6A6308D233E59A686011F625739FED9652D60C17072028A792803776719F60E09D7DE4A24C880CBCB9061AF4A668AD410C56E438EE7E37369C81DC56F0E4306DD082DB4011C49B8A56DB9C40379A1F06F625C30F1BD8873AC381F59809D6DCBC2188C072CC3B1CB8BB72499D4AA1C24A80C37E7DF1AEEE7791D8C0C8CAB23BE558419E3800E5CB1F1C91860036539342C18A180EFFE4080345523638EEACC1D0415597103C48686C6A9A7A787DA5A5BA91E60C808BE0C0A2EC3B51C14D7A0A88EDD1B1B9B14722D2D0883588C0258E826805DBD650AA4D7103A4DF57118C9A668248230A900611946BEAFA383247881097777EB6E0A785CE239E170183B8E7042284461A42F21BC46E08D15340B2F2C086EBBED977EBA7249F77A97EE470C4E4001BD02440C849625617725CBB424133BB86C492FB2401A406762B16A45AE0A92351074B9DC64000475B7973C3EAFD8E18B20C8605A121EC6469E181BB103E11852A7D7A9006A45863F3974BCFE80959D9C88BCF8E28BF9CF8509AE58B162255C9329EFEE4FC302E79121B2F01166823CE0316FBDFFFEFBC6B53C77CE0658BB69FB5FB4D4C77E832457C428E775B11A8E59CC3373982593FC21BF8019DB362EBB2EFEB32BEC4EB14D98CE2570422CC7A919A4226B21C6DD6E1D73164881C7B15CE51A89D0611140D31470E49C5DC86ED8B76F9FB96020E873BB7F67C39A1B822323656A6CD4280B26C61980E33E3235451100D441A0B23B14A4AD5B36D3BE7D1FC0531A2E91EB06088E20FE878019F1781DA9E52C8DA68B545F5F3F2D93C51CB7C3ED9F3F7E9C5C4D4DB4B467319D3FF11E051A5B8501588E879AC9D1865048F98F53A7623DD7F7C692BACA565F381E20C992C320150E57C808139CDA2843A14295DFF360B40E857C02C16BE778F12C63CAD547CB12650B45C1F078B767CA4D72B6C19CB52AA060582293CC7CA603B9946956CECB735667EE1E2049B295989880FBFA005453F05C0DE0670B163605374E60D1BADB03765846A618C60D16A5B19B32AE433D00A24AE7F15946CA7221AD158B2518D2241BBFF93AA73CB7C71172C77259F23534908C0C90E3DDC6671E6017406A74E9BA308C01B993B8D6DCDC5235407861D320189E1A04151D1F4BD356143BCB972DA3AEC59D82F56D85316E0B87A890CF11A74A3F985C623C4B9B366EA425BDD75347FB22A0799CEE03ADED66CA0B63794160DA9BA1243CE1BA8E768A83F1F9BC1EC47B911E5DB386A4A121C1FA027866C8AD5003C2A2B9B9992248853AB34DB0C9DFC5BCE7CE7D4C2A1B20BCC020B8F38E5F4EF6B4B74649C26EE4260479A9F172CED726A737B9E2B63DDD8B697824054E600A979EE6EF4C8410160E94E66A309F4E92E2F28A5CCFA9D1844718486D0AE6CAC1BD3584471DB022313248DE60048AEBD3FC9F656DA44A2660A170944A2E35F2ECE30B580B80BEAA2D2DCDD8917AEAC08E45414202D869DE8D3A2C6A29888C6930AF7763473BF0003F3537355218A0C8E798F87443F106383CE77C3FDC39821A81A33C809A82C9137B830923ADC6350B349A15E55A40B38AF02ABFA0BD2A629E19A38ABAE1066CC2D8E8285D03045C0308560189917A2618F1A163056A35CDD59A178CD4BCFBD3A0856B6E5EA9695631058BA82AC35EC143901B281D02D81A3044257592A0BFB5464B4D5EC2F055FB03626DE1056682EBB76EFF76632C76B7D7EB93F2F92C562639B6E3C896657A4DD3F2D996E9C742357651C60A45AB009D40F2691E40D3395E58C0E17ADF55A1B2B3B98253E10BEC1950D8D4DD7A1E5E9885D172B6038415725C3BF0DD52C6EB92373DFDF4D3C68219609A10AD5DBB12BBB18B7B81F8B969360BBCD679E7701F0B1E652608CF7A1595E49BFDFDFDA5056782376FBBF5A7CB975C7FA3E60A499C065D2E5DF0FA8BA392D64A00C4E54B97A218CA91DF2B9A8402F5D9B5B9816288EF66A5D2CB4D0153FD148984856B1B5C07F05CD5521B1E468D4887C9E17314883709AC10F31895DA8287A81914D51873ACC8BB73A805AEA125A62D6D6D6A90329325BA69FD3AEAEEEC20FCA6BA68986E822BDE0ACA6A19450AA2B0696EA8A7D44489D6AC5E455DD7B5530BE4A2E1207D0540783D8C80C8A7387EF776B6A1D495310FC012CAB911364621477FD4D642F2E039522507E92F460D019DEA63118A737305CFE1FB639914DD17F0D1B9B303E4F7B85D0145712D2811B26CDBCA6473D4D414A0237D7DA20EC883D6F24E8D02F018FC18D438EE0B6078D1A84E7D478F0AC4AF35455E817C01E409502E884D623441B2E6A5C1C141E119A25F805DFF97D3A7A9100C920BF1CDCD92E1A91CC5BD530280B9B1C2B2193CEFF9B1713C2726C073C1B300D29DC435BBA655525605A42A0D0C090BF0334A435959783DD2992989DE400DB979B83174AADC2703045D223BD8B5A67F65608E30D35B41B7A9D24C714C81F4DC08A93544F00FC57597E82572BB6CAE5960EE06D03499153B7BF6BCE8E23287E7DA80D3530CC608C008BC43968865838687C7444D207277B5E3DBCACAC05B7817399571AF903DA3C6F3F91C5F5B160890914A89542872BE2C09ECE346081B859BA63A9ED189792740CFD9380BDE12334CDB1C1D4F407989FAFB4F0B9666561B1367F19D81CDEDF10A37BE70610804C64D174067392CCA86294ADBC3924C26A748C8B26B277369D23C60840819CE661A80351889D24B19D40220537C2E914852D1D14886E1B8FDC5F379BC3E3221FB6318A777C952513F2C68086077644D9154375C6D682881B88BC0BD1591BB198963D8AD7670F3D4D4A470696687838309C1F6B81BECA0EE2FE17A178A1C2F762C9B498BDD8C04BC289733B86E5111CC2E9D9A02ED1DA68DD8F1D49933A2CBCC73C9665E844D09DEC1E5F2E444928CA10BB40AF7BC7FFC18D650A2FE1327FC58A732EF1E2055E89EAB842285772D18D4A7BBC2A275851DCF61B8E54A13B4F67E201074D1C8C848B56D5616E73FE4B7491CE7DC4405584EA42700826E9A9A9A9A4EA726C2E0106870917B8BDCF884D289549EA29EC234008AB748B8D687FB387C98750E9D3DDB8575A6B1DCAC530396F9E0015503E8D1FAA69B1CCBDE86C2A7C1766C6FB558E749B8BF6357E92DBCD6B12492A42BBDE76BADAFEBF5B9DDF1FEC1C13780152680901BC352533CD61D0E06169F1B197D2793CBA748944B58A25421899273C98BC26AEF888764637926CAE1647A32F102CEF5335B773E857273224255D7E2D67F13460B46CD00F20C0DA5CBDE6356060B49BF72F3CD5F2B5B56EE858307FF8BB36AF55AEDD359D4D010DAB17AF503B96271E085FDFB9F362EBE619567CD2D5707DFC7F92F87318A91A87EB7E6DD00333C818DD0C005DCAC3072AEF029BEC7FD7EFD37376F7E2891C9EC7FFCCD375F992577D9F7FBB76DDB899AE3CEBE3367FE6E6F5F5FFFACEB34C3F3F8E0D7E3931819E833A7E6E835D5020C86DC1EC408312ECC5ACC6CBE4E37B7B747EE58B6ECAF3E4A26FFF17B070FBE7715E52F39B7A5AB2B72DBCA950F956CFBEC775E7F7D0F30C29C69D4DADF0B20C5EA2E8F6F97A428B664FA9E999838935AF062A86A047775C83F4BA9DF5FB7AEBB371E7FE44432F98DEFBCF3CEC027EDFC150CE93CFAE52FDFEED3F5AF8FA4D3DFFAF3BD7B8F5665745F30B84B96B57B10FBBB31745E92244B457CBE84CF279391E0FF3A9FD02EFF4CEF05AA4650AE904EC5A4FF76CB2D5B3CB2FCE09974FAB7FEF4E0C1E427287FD563CF9D77460292F4E81B4343DA531F9C326D99EE04F90A5794AEF61BC4A77CB1FF20CB9392AC3C8354FB83E181FE37AE8409D27CFC8D9024CD467BA2E7366FBE1F0BD9524A241EB8FB1A5F5A5CD6920F85FF01B4F91EC376E2D5DD9E569A3FE5DAB969A3C8D5260CBF7754CF2344FE53B6A527CF9FF9F0F867324024725DD8514B773B92B551B29C975241DF4BCEC040B176FDE50D1BBEC59FBB0F1D7A78DEFE980947A4AEE140E75A69C3F9A3CA54B1508CD8A2497DC98ED3251EE1F0CB53ABD28D9625F17A4ED175AE688FE19EEF7F3C49FFF4A90DD0DDDDAD4FE6CAB783ADDD871CFF8BB0AACE5D98CA9B19270D5AF3ACD7917EF88396C6AF62F27DB71E3DFAC47C2ABF76EDDA070C87FE72FDD68DC1A1BED7E8706ECAD446B452269BF70985A79597AA9E50FD1B2510255BA269C3B87437CFD757CC67BD209E5FBDAA01F8C18D1D5D5B519CDC076AF3AB50363C5DFD39D3CA577F57BEAB8E9D2CDBF613A0414FE67253EFCD971156AD5AE5332CEB0F03E1F81F6CD8B024949818A671E514F5EF77F276A9A48285BA6A8ACFC604A9DA6283F220A06606ACB58EAB47DB74565FD1006D9DBD2B4DC9BE1754E2D771BDF55245AB8ADB330C30FBF745B993B0FE9F95329967E6D113DAD2B9E25F0742BE3B366FDFE27EBFEF30E562839438E24AA553598F655BAE9A11E4696C902C97AEA54B861942992D73A90DEF301559BE688096AE156DB20485C9BE17022BB8B0B0AC32478FE8FD4F372AAFB8FB971B4191A5B391A056484E958F655313BF46F378B02156AF5EBDC9246D4F736BEBF2459D8D7271F438BD991AB7F541577A62321324110932CA70EF9423295ECB325D42718BDF5138876D4BBA77F8ECFF9D64F4561B3B7BBEA769FAFD700BC94065C57F75C1B5B56D8360D99260E4B5776F57DB716EDFC2AA463CE2294EC40BC11DED9DF4A31F0FFC64FDEA1B6EDFBB776F8EE6F958B76E9D86B0F8BAE6097D73DDFADE46BF3F4363A7CFD1817CD29407F4B4A46ABA69DBBE8AE216C98E332E4BF68303A74EFCB0961225EAE870470A4601C8F836D8540B2CD4C67FBCC431226A199B2A8D0C4512EDE99FE5F6C0083B16F5A5B38A155CB1C92B6B89E5A2467FEAFBFF3ED4D6DCF058B158FCEEB163C72669018E1B6FBC315630EC6F871BE2F7AF5BBDC17B0EA5F489E31FF0EBF230EB01E02E298EFDAFA73FE8FB3DACD5BAC49B3A608074D12C8854222BA6DBA3A7507E858D5249E1D4415CA87D82DB7B3D9E34B955F7E25B0C977DAA8D76EE5A46AFFC4FBF33327CE154C4EF7D2497CBBD70F2E4C90C2DE0C16101A05C466EFF9E6034BE31399EC8966D2BA8D8D601CDA2AF1D3B7668E08AF7F5AC5AD59C1C9B18847B4BDC65E1B7B8AAA218604F79A36C85AF06742E972BAF8775A76B45D137F151236DDFB18D8E1E3946E9A9F1895CBAB047D7D4EF1E3E7C78883EC783D9E9AA35EBEFB415E541B8F163C7DF3BF4ECD5AA420182ED9D3D5F42EAFA677878271B805F75B34768AA92B3C41F2B967D33159715B9EC6DF2166F68B7021F0D85E98E3BB6D39183A7019A79E36CFFB9E77D6EED91603078622E7FA9B1101E31A77298898EA5687F6C98CE376081001B40562AC650254A1572594FD932557F9B277B5383EE3F59D4E5DD5B77D091431F913F4876DF3B270EFB5DCA37A1F88FA07891BE20C7653C60CD9A354DC0843DA6237D85E341962B618190B060940275E7FDB7B7DD44A3A9098AC7257AEDD5B3E755BBFCB71E5D7FE2C0810313F4053BAE4884B8F3B364C5EACD48868F21792C1761A1C89CE20A2B57AEF2F09FC6EE7FE3272917994F3946E9D1BBEEBA6BE0E1871FB6E90B785C950A2F5FBEDC2F69DEDF3624F94F485663480A45B8B852CC4CED97CB8587C00DDEF92CFFB3C2CFBD01668445B329EB7F03C95E95CA7F5FC866FF7BA1D3DACF9501F8D8BE7DBBEAF17894975F7ED99C4D26BEC8C7FF03F90C20BD4B7E3AEA0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (136,1,'SAN_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000500806000000E6E270950000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000023294944415478DAED7D097854D795E679EFD5ABBD4AA5AD4ABB4A68032410981D61402C066FB44DDC8E1D3B4ABAD389E3763AFEA633999E6F265F27EE746632CEF7F524EE1EF7641C3B910D5EF06E6C6C76115661904142C8EC0209B4A1AD4AB5BF65CEB955AF28156231C6509389F8AEDFABAA77DEBDF79C7BFEB3DCF39E395555E176FD711C578D87BB636D0136F116752D61DB8B6D23B64DD80E221F94DBC2835B2980CCCC4C3B327D19B6BBB1DF95F855C1CDBAF7979CC700B62D31616C1A1818E8FA9311406565650DAD709EE789E9F3F15C779399F755DCEB282E928DB22C6F0A85423B3A3B3B03FFCF08A0AEAECE81835E4EAB1C3FD22ACFBDC5CCBBD97D85B0EDC4EB195CEDDBB7AF252505307DFED2EFBB32ACCFD96D36D16677C2A8B70F54E0D8441545612DF13CF1B3D7E7877C5736184D66A43141303008BC20C4AF8331742A5E83B4785410B6C361091C6936F00FF7836849071DD211AD766F82F6CBC610A3B3D9AC20CB12E89530A8062B180CFAE835D4479C464DBE971296158F5F8994EEF9E493C1D411C082A50D774C2CA99F525D8D83754073F316703A9D10894470B2E1F8915AB6DF0F4EB3199A0606C060B7434456A06C4209CC9F3F1F5E7EB911CACB0D6CD28934741E191D8529562B0CE0F1D0C808E4E4E40059CE9977DC015BDE590B8A351B0A0B0B196D729F766C93B3B260CFA95370117FCFCDCB837C6C2693097A8EEC0535D30D56BC77729F742CC53E2C1C07DBFAFBD9F599AE3CB81894DC7B36BC7B3665043073E15D0D351545F5132B2BA1AD6D0844B11F56AE5C093E9FEFB2B6149967C1C9FE8F0307C0E47241201481D2926298306102BCFEFA7EF8D6B7EE0487C371199D0799F79BDA5A787ECF1E78F5EC5970BBDD108E4830E38EE970F1E83E68EEF2C0FDF7DF0F7E14B046A39D4FC3E38F57AD82479F7B0E8E21330B0A0A51802E282A2A820BCDDB2194EE864993265D46EBF57AE1EF5070838100FC637333A4A7A743BAD3057DBE486A0960CE927B1AAA27E4D74F9F5683CCCB87C6C68FC08EAB7BCC0A8E35034EC66E34C2595CC9221E490326B88B61F9F2E5F0E1874D08051E764F6D054A92143D62CB40280862EB090621232303248488AA4913E193F7D6416E4925582C16726FC7F4474D0885204314A10B853F8AF459D9D94C03E8AFE7642BD8F34A41AFD78FD158ADD9B089C8A7532814BAC6995700435ECEBD6DC3ABA923803B57AE6AC8B418EA5DCE6CB0599DD0DB7F16D5D50802CF23CECAD894D831DA94D8519264F0A0200AF3F3C1897660705002591A023342148D8D5DAFC897DD8384A261B92B3B0BFACE9D0053460E32C800668409EDDE84DD44CFAE5794382DB5F4B43414BE047C00056E76801D3F93F064FC8D8D11AF97D879F41E4AEC3B5E6F84E108B8B7BD93420258B6EA2F1BDC2E47FDA489132118B4C2B163BB191ED304D02B628D56161D2720C33391499B7A7BC18050835302775101CC9831035E7B6D374C9B9601E8B6E27D82713AD68687A12E33134E5EBC08BBB0117C900D985E53037B3F7E1BBC820DED4739135C729F39D8E6E0F5EF218C74274090CD6683BEB6BD20A517431A0A401BAFD6278D61161A751DDEF39DF3E7D9F57945C5E00D28EE0DA9248095AB1F6D28C8B4D6575654C0A9533E5C35E7C7B501A3C8FC45687C4D0815FFF3F06130A3210DE34A7517154205D2BEF6DA3E78FCF1DA2BDA805FA0C1FD3DDA8ED73B3B990D5070FCD35000DD2DBBA0B5C7CF6C4022F66BC7A9D8EF532B56C0775F7881D9804214860B9D843C84A1DE963F4238BD84D980441A6DBCDF43281D4641FC534B0B059390575004C37E1D0AE0A5D411C0F2071E6E28CAB2D74F9D3205999707BB766D0223E23BA9B486A9B4BAE8C8E351C455E5C5EFA977C2F192E22258B87021DA8E16BCA697612DC18086C30C36F0A8A7D58D47BF24B1D528213C549497C1F64F3E8082D2496C2CD46F221D1D15EC8BF21C1E646418EFEB40639A9B9BCB60A5BFE318585D45AC4F829844FC277A0E6979A2C5CF349F1CD49E6149706F78358504B0F4BE871A9C7663BDDB5D84C6371FCE9C694541A4A141352431431AE3EAD17741F4820AF273A0ACAC0CCE74781083FB200B3D0FCD154DA4A3160C0618BE038B083870E1B5A78F1C0447C1043021F3C95349647EB445719F20853115218E8C7804E146F6F482CE91C3FAD4E9740974D2A5F3D87815B4058ECC6CF00444F73BAF3E9F3A02A8BBFB8186B2422783A08101017A7A5A18A468384A4D3BAF1A1A02130AE6830B17C08A30A0723C14E4E54235C610EBD635C19D7716311B4058ACD901D6FAFAE001745B9B916E0BDA008220E4244C9D520D2D3B3E829E90083508471A8E6BFDD2B91B6165416929AC6D6A02E25A5171318B53D211EAFADBF640D851CC0440CC4EA6AD8B19E6B5D82FD98992B272F0A87AF73B2FA5900016A1175459945B5F51510E172EA067E339818CBC93E16972ABC189104CBC72E60CD81083691593000883C906AC5E3D9DB993C974BE73E7E06F10BBB79C3C09EFA1012F2929612B9982BF53FBB7C1A96189B9B2746D005D5D8D8ECE2BD0FD5C3D6B16FCE2830FE014D2900177A130B3D11DED6BDD0552E604168724D268B66035BAAF7E14C6BF9E3ECDB4A6B4BC12428ACEBD36950450BBECDE17CB0A9C7F4D8198D359004D4D7F644C1410EB133195B4209A8B0136490AEF23B20A450579307BF66C3874E8144EBC1769ADCCCD1C83C7D81084E31A61409793D20EF928BCFDBB1A21CF5DC634876C43721CA0B995C160887D365BCC2C920EE1E791DE2EB03BF3C1886E334F3144027469E3D5BC29FA3DBFC80DA39CA1F8CD17FEF55CCA08A0A6B6D6198AF0775CE9772512CE9482BE198A24CD541599AEB3DCAAC4DC75DE2B8CC23CC209BA66416F3C289A2C1D57BB38D7A2DBB27DFB762965D3D1757575BA818181DA58469432A335B731BD7C237D75C7F60736A277B4A5B9B9B93FE5D3D1C874DA6059194B452FC37BDB5330BD7C23F752714ECD24103C6EF27ABDBB0F1C38104929014CABAD7B7E5271DE936418D31D85F0F9F1039081EEA0C964BE94D3A1630C5B43A120C35F09B179C8E38549E5A550513911DADBFB9101FDCC40266644B57C107DF6FB7C0CD3D1764320244149513EB41FDC03E905A5D16C656656DC7D4CCCEB301C273794A537146603E4087E37701EC48C7CF48232414483ABB9BD89B45A74CC5C58BD11469448C1BE8F3E3A9F3202B8E3CEE50DD32B8B593614BD457445DB61FAF4E9CCD0923B97789C822EA40127FA565717D890091407944E886623DF7AEB007A32E52C284AA6F5A3F7F408064F7B916E434F0FF35A22180F5036F4C4BE2D70C6A3B094B6E6426A74D42678BD50377122FC6EE74E38437BA1B15404B99E17D10D0DA615E177056368E89CDA0A34EC1407BC84FD528C918671407F20C5D2D1B316AF6C985A56503F1999D88F68D9D7D70673E6CC894F4273EDA8D5A0848C1807BC76F62C585100948E2E43014C9D3A15D6ACD905F7DE5BC55672329DFFFC79A8CFCF871D1D1DF061CC0DA580EC0E14C0D15D9F40979F87458B16C56998D034371405B002EFFF9B4D9BA0833C2764762EF64DA9859E965DA0669732D754EB4B6BE486DE8FC1590035E0057483294592E9CA855E9F800248A15CD0FC65F7361466D9EBCBCACBC0E52C82E6CFF682CD6A6591703814666A1F85A0702CC32833B5A600C717084359A91B6A9041EDED9DE0F3F7E144D3190449783DAD725A81D14CA8844C0D202C8441442DA1FB16E41740EBC126701514830E352B8DD2E0B148381C8E46B1E45AAACC0D0D3248215AD2001A4360A80FAC59B92C034B9170723A5A4B89D0B5E43F5B1D99E0F10BA9958E5E78CF830DC559B6FA8AF272B0DB8BA0AD6D374EC88213152FF3C9B5D4B036395F200815A513A07ACA14686EBE808CEA66698CC45C9086E189748C59281CCA231DDEBD0D1C85652C1541FB10C9745A0A9A9848DFE90D46C8CBCD8946E7BD67804FCF67F0C2F3C215692352B4DFB48C2C180CA7583A7AC5038F341466DB582AA2B3338CAA7B1A162F5E3C6E243CADBB9B45C27FC088D65158C86C407151015550C09B6F7E0A0F3E389D6D0F26D379117A9E44DCFFE4F871784FB301C8104A479F3DD808C706C270D75D775D16CD52AB181E86FBD126FDEAE38FE114425001F64BD95032F61409871CC52C959D087B74A46CE82A9C5F0005F1BFB07FB2192ED4388F5F4CAD6CE88A071E460138EAAB264F02AFD700A74E35415555553CAF4213D2CE2917644601BC87468D7241128EC18D0C99356B16FCE10F8D88E3C52C824EA60DA371A15CD041B4055B0706A0B8B89845D435355361FFE6F760583533C31F4DD85DA2D372417722835FDEBD1B3AD1A8920072F05E84E9170EEF04DE55CEEC41322D1D97E25868E5BFD2D9C9AE2F282E816139D5B2A1AB1E6A701884FAACAC0C70A465C1D973A7980D107422C36D86FB526C378AED88455D3DCA2E4A0A07D9190EC84703DBD7E7815078046CB66808A1D90B893293B433265DCA50526A984718B2633FE73B4E435A9693098EB447DBF98A1E23F19DB42804227C893A06394184BF88DF0B466B1A9863A993445AAD3F89C68B471C30643A736048E2532D1DBDBAC1EDCAA8AFAA9A8C8637070E1DDACE60263117144FEDA26741FB012136020E220A40517E2EF39A1A1B4FE0571798414CB6016C2F81EC004102FE46584F7B03156565B06FF307905650CEEC02E5A092FB0C51DE896C07E51C62B439E8D292611EED6C07D551C03CAFF1F69315D408DA3708E36FF497975F08A311536AA5A317DDF340436581ABBE1CBDA01327BC080DDD6C474CC351ED486EDD428C036847EC37ADAD604408A22DC982BCE87EC0BA759F8ED9114BA4F59E3E0DFF8C10F3878307D98E184190960DED69DD0D2DDD3E58B56AD5B8551153D00D7D0AEDC3F75E7C31BE2346E968DA98EF39BC036D809B41E6785511DFB5D96004E1E8E7385ED29A92D2721851C5D44A472F58717FC364771EDA80C9E83958E1F0E1ED8C419AFB96B83F5B86AB91F68437A00DB0A051E370D516E06AACADAD85DFFD6E33FAF5996C2526D3454646601932ED38C611B4271C15808002A882EDEFBF0E1153069496968ED913D6FAA73DE1B96E37BC7BE000DB13265A32C0A42D9D87768298531ECFA26AFD696D0EBAB6B427FC160A9DF6032A264E8620DA80944A47CF5ABCE2A725B9593F752243B3B373D0133AC320086255115A758172A93282D370D91F0C415E4E36B872F320E497C0E31960A961AA4AD32A2212E8E2151251FB0190E1B043EF058C52B35C687304D08BFA848A8658750362B89258E980D376D86DD114B71C0183D9AA1A7051B0CCED55AA38683C268B4DF5E0903F7CE3F7BD299B0D4DFCC388D51DCB88526674E9B552D1B73A439A703F4A2FEFA3841B327B635757D781AFBA6CFD2B1100FAD30654D5450905BA136F757AF966F483F718C4396CC1E32634EE9BF6EFDFDF99B2029833A7AE5AE1A55FF13C3751E0F8021CBEEEBA27CA45B7C8384A6FB276953171633FD20E18ED9C45A9B84B9770970854551D4B16BB804BA052AFD117BB56854105D4732088FB46B21C4F1F59B72E9C42E9E8250D332695D6D306B9D1980B070E6CBEA25BA7A23135A2E11D463A81EDB786A1BCB404E6CD9B075BB71E43D7351A2913E68E4945A33B48658D0ABAB083F81DEDCFD25E6D351AFEDD9FBC8B5175057343C985D5E8E27DA2476342FC1FA1D48756969293C304E8ED38024A7A211BAF96021F5346839E1095B4F4213DB9D5B6F4CCD4CB86CE58B8BC615A45341DDDDE3E8203ED85152B565CB938173D8E5FA13B496E68201486523413945A58B7EE00BAA1F399BBA7B9AD9A4B488559BF9E3F1F9EDFBB976552999745D9D0E9D3E0627B137C96509C9BEC4ED6E0512BCE3D814CCCCBCB67C938AADEEBFEAC11828E62E6868E5798F5038C90A938F767870E312FC891ED847E7F8A096076DDCA8629A505F594D1044887FDFB37B2AAB34457526BF938996C5CA58D3D3D60A61A1EF43848005498F5E28B9BA0BA3A2DBEFAC714F77A3C301799D1393000FB070759FA983656EEC0D860E3DB6B81B365B352152D808BBBAF789E89C71A7475B7B6B7433F1557E1B9569E7EBE6537E8732B98E624D62C69AD0AB5C480B3DA70E1020BE09CB90530ECE3532B1B5A7BD7AA860CB3586FB598702276181ABE083AF4D159512B3DE020471F70600F5BA8D1871ED4D839552A38B3B358E61414117CFE61962E86D84318DA18A3E7C0A2578D9EDCD0348B19FCA3C3A037DBD8FDA820985DC7AEB9742DA38B19684A4758AD96685655451755D0237C89CC1AA85162D61F192825E608A9B1FE757A230C86D5D4CA86D6DDF75043694E7AFD14B401767B21ECDAF511DBD5D2567F22AE1A50ADD310E3CFA0AA1BA80A9A13A0303F97ED666DDB7614F17F38C624692C9693E650A92332ED1C0573A80D1CC24939065F3B36BC038EFC52B64235BB93680344B41559389E8EA12118C5F13A9D2EC8CDCD61FD8C74B48190551C2F694CD420BA471A1EAD78CFB658797AA17B02F40795D41280569C4BFB016D6D032C1541855914CA27A69429BB588BDF51E2EBB7478E808810444111156611A47CF8E16178F0C1990C6B9353C35EC4FD6766CE8457D076BC77FE3C4BDED1E829FA1E38DE0C47BABDF17474F24E5C151E9F449BF483975E82E33867DA11CB4201B204E0913D10B447D3E1C9B464039EC0E0721485F0DF5A5BD9B8F28B8A6124D5D2D1549C5B9CEDA8A7B400CFA74163E37A16E66BB598F1025B5A51A8155988BDADB81A8D688C6915E72326CF9D3B17D6AF6FC2485A8DDB80443A09EF55623030661C477B40B91C41D00155E36DDFF01E98337359BE5E8B7613FB35218D1BB5A315053782E375A10744E968F26A7A8E539576095BDDC9DE139DE7218FE811A54F878759BA624259250CC97CEAA5A3ED7AAEDE828C1504330C0FF5B0AA6756409B80D95A8BDB02FC475B96B4B20CC800416781807F08789D107D582EF6901CFD83383DC4B19DB4C76410594A5967B6B3FE045E88D3C4FBA45F944BD84E3680655C91C17A0C80159D0144D14017313A45B3218A120F0904747169C7CC82821CF1454ADE7FA3A12325048098CB5136B4C495FE4D37BA86C1A01E0E1FDE194F0BC75770ACD9E87121C4DB6308457A6402ED1990119E32650A6CD9D28AEE2177198DA601C5A8013E5CA5643F280EE0510326A007B5BF7123E8ECD94C2BC6D30003F65980ABF7387A5EA4014E57B422829EAA1C421BC039F2994734DE78B3501BCDC8A7C3385ED2808A499361704429FBF8FD574EAB5F9281374B00C2FCE577BF5CE2CCFC86CBE5C438A00FE8E1F39988D75A8947629B8EC6CC88935D77E204E81D0E561D9D9D99C1EAF51B1B3F8765CBAAD94493E9A82CE507D5D5F07E5B1B6C4146525D0FA5A3279494C070C7513879D13FA62C25B195A1001EADAD859FBFFD36AB8E265A8A35A83877E0C46710B1E5B2B822B1325AABAA7808B5939E657811C74B9A5A5E31118E9E393BEBF0DE9D4721FA1CB172A382F8D20240E6D3B30BFA990BEAD6BA73B35753A1AC28DAE0D0A17DF11595B81B45475A8D56849B0B68E8F4780DCFEB70353BD876E2BE7D9FA337128C47A489B40AB674F2827085F72343484814F952BCF1E9EE1DE070E6315819B393165BC53AA4CDA03ED176D063EF196880335183A89FC1AE5360C92E60F62071E56BF436D220A43983E3254F8934E0E081835FEB387DB209A2AF3908DD1601C4984FF0682BAC98FC5886DDF6134596F591709843F4E435AC8F2555E209198E1B9BD041C888A0011471C26A2C2BC3C5933151724A17715A9F221A0A446A09AF0F90B72A8A3AA48D5A149EE745841533E27D5856A4C0D84C0F97986853305EA0DBE23819E2D3B93A5EC2897DE259EE0895955751E8A347DB5A9E088C8E1EC15F2ED226DB8D664D6F9606D00249C3960FD1177064925020FAF6132E39F796C091EBE93CCEBDE29C9CA269A5A57F757E7070EB81F6F61DB1DF689771CCE4D36C36EB9CAAAA474C0643E1D1D3A7D79CE8EC3C191BC77863E1C749F371094735A11F4ABE5118D183ED02A587629FA5DB06419A118E319B98EEC2961D3BD7254D50499AD8B504A368744BA64E9D5F999FFF8363E7CFFF665B4BCBBEA46BD5A4FB32662F9D316341595EDE93C33EDFCE0D4D4D0D5E9F2F98C05CF50A8256938495280042AFE118EC10E3E97EF297D933B8696E684C133421900658639FF92B3079BCC9C378DAF19DC58BBFE1B4DB1F3FD0D1F1F79B5B5A8E5E23673DE6FBF2DCDCB4BB67CFFE07A328567DDED5F5CC07FBF61DBC8AE01357FC7802F063A3A7C87DD8223763B3E6A66EC824C0913D2600639200AEC4706E3CE69B4551F8E19225FFD9A4D7CFD972ECD8133B8F1FBF70354125DD6FCCF7DF59B264697176F633A3A1D0A6757BF7FEAAA3B7D77725A125435F02FCF8632DA2DE24C6DD6C017031861B63DB8E2618E7FD40D7B37ACBB2B3CD7F3D73E67368548DAFB7B43C79A8B373E47A56FCD5ECCBBCB232C73D3535FFA41784196787867EFCFCE6CDBBAF632C6A6CAB326449779688022CC365B665B0B7B725E504902404434C10FA7160E8AA1AF1B549939C8B4B4AD6488AF2F9B34D4D3FEA1E1A8A5C63C57F11C1C033F7DEBB22C36AFD9788A27CBCFEC8919F6E6F6F1FBDD2F506BBDDA517C4D5A8DC5FC7A94DA3A732698AD85A71566B38817B75A0ABAB2B650490240431D684EBF072D8DF7F9D376F62695ADA9BE8D7BDF2FD8D1B7FF96556FCD56CCC53F3E7A74FCBCF7F1607BB30100AFDED0FDF7F7FAB7681D56AB52B9CF017BCC03F8A0CA7BD6D3ECAF428F3212A8058E315FCCF0EFC658D6C16DF1A3871C273DB059020042EC67CFE0A2EE098F317972CA9B308C22B2145F94FDFDABA75EDF532F32AD771D7BAAEE1C107E9756AFF3B24CB9BFE71F7EEADC3C1F08348751F32D6A8313961D5C395BE8B0A850FF21CBF1E3FACE975A67DAC5EC7634C5F79594A8220AEFAF7F6A245DFE204E1970AC73DF2D0D6AD8D3758C5A05EC758C65CCB713916873DF42CBA33DF41483224313489C157D282E8F7EC3B3EFE1DBAAADC3A5E10D69C3FD9BEE7B609E07AFED62F58F00C8EF89B9C2CDF73DF9E3D9FDFCABE4DE9E96E41E50EE1E96155566A71A908575DF5FC65ABFE324D5062855CF4B08820EAE9D9E2D3F8C35A10D5355DEDEDC7BF720164E6E64E9665EE715015270E6BEDF0C59E1DE3F9CC6F5657EB2D56EB8B38887241A75B75D7EEDD7DB792F9A411D6CCCC720CA58E2D5E6084BDC7E55118E6E560289836DEAABF962610D2C9E108456694B9605581F460B7A0D3838E1E2AE719CD7E245D2346F8374E9E3CDC77D304E07496E4C8BAC8A3AAAC3EAE827A078CCDFF77E17F5E55405E3B3A38C8DCB7C6E9D31D0890EF62EF433693E9B1797BF6046E35F3ABABAB9D11597EC46677FC7A4EDD247863CB473045AF87A317786FC41F344422B2FE8A5093B4EA5596028FB0DC17319AA12E13921AA351C168B1B3FD04458AB4067CDEF681EEAEAF7F2901E4E4E45824DEB01AFB7A1C17F852EC5CD01270891B2F6AC246371E5B9D3CFFD1CF9D590FB904E1835D6D6D3FFEE96D786B2D55EF6564647C3D100C3E88CBF32FAA67D6729EC17EC833F5C0FAC01130349B15952A82BC7EBBAC28DC1535814FD004CA99C46A5055356A0F5464BC881A201AA8460ABA4301FF195992E6A3C09A067BCFCFFDC202A0DC7F7641E972443A5AE90F20BD655CA65FB68B75E95C2B5940556DC441AF31E8B8B7070707476EB5062C5EBCD8E2F178AAFDC1E0536185BB3F23332BED1B8FAC8463A7DAE064F30118A91A86F35BEC119DA484BCA3A356B80E4DD084441A21A346E80C06D0E9F432A7CA1783A170BAAAC87A35FA0ACDFD833D5D73AE5B0079C56533D0E17D1C39F728B2D195CCD0ABACF8CBCFE1B2EF8378588FC73521BFF7633C466E952062AF54B089A2B878C4E7FF0F05455973CB2A72C534CB04F0597CB0F1F56D7067A5028D5D1088F485E4502864BD7EEF88C7D5CF8F48B26C9424D9C0CA6288F9D1F29C4303DD9D33AE2A80DC92496E81531F4332841875E2388CBBAE159F28986BFCEE4795DEEAF78CACBAD5DA505656A64F4F4F774A92F4F0902FF03D774959B92D3B8B0B792E424D8903DE1CDC05CAA776C8B682B7B3D7AB4718318CAB09D12D0610059D1F033905996F55628C57B517D1E2998EE37E5F595AFCFDCB04503C756ABA1252FE124DF9E348B280C04C62AF8A092199CC1E88D051D1546CD3FABA987F4DC129AA4ED07D8AE6AA18CD81637478D0783BDC6112C4D4A953CD7ABDBE2214893C1194B9D506A329FBA1AFAD807317CE43E3F666A85DE0813F76F28A70C63832EAF5A4E1F8F9C4958FF388184C469F24AB69C8702EFEC6DD18F3D1C7FD5C14F8BFB51A75BB8F1C39126602406F403FAAE8EE45D5F826F2E25EFC4ECF36B643416654645546EBC2452BDBA833B2F482C036D3AFCA5CB81CFB937FD78BFA515E27485C69D0F1572556F8F78F7CE1993553D21A1B1BC3B7EB95F20F3FFCB070FAF4695AB9F38392FA74BACBB1B8B0B0C24059C5E9B327C1BACD6F402927C1393912B9705CF1FBBCA3E8B6F2AAD56A1D51049D0D992D680CD7563E4E7858D471FFECCE75FD16E7E68B078274CCCC2D7C466F34DD251A8C7359D9065AF16060345EC6A145F3974A3BA2A51BE452E930D050A3A1E5F5DB01FCA7E3F9B0C16CF657E4AA8ED6331170DE67824773EF857FF9F757A5896513E8B982233881819BF556921BF594D2D2D232F074D56858792A3B27AF6A611DF023C33618B910826325C760A8D104824FEF45268BE8541813713E564219D1F1EA5B0EA3F81FF15E7DC9EF1862024877E6FD1AB1F7694E100E99CC160B9E97CB043BE1E89B45B8789DA5CAFC5AC238623E3D0EA45E058AC6B501382C8BD93622D1AB6CEA3CC203FE74D8DC6280F94B96C3E432373CFBDF7FA1949714BF8417EE423CDE72E8D0A1F3701BFF089666CC9861C2C5E05639E1DB114EF758564E66DE9CE9B32082A8D07CF830F4F4F44690E16222CEE351D571EA6746117E383A3C7CB0A3A363DC8DFBA806380B7E0D023CCD2C39CFCBB8AA5B44515FA9A8AA99BDA381A00864100491152791006EC4F3319B4C1ED5C519BF56CAEBD7ED96A1745E2EFCE8E1BF87DFFEBE01ECD9F9D0FED9A7B2DF3B7230333DED65F44AB68F8E8E9E249C8414F823F7BBB6B6D61C0C0667A2CBFA77065BC6F2D2F272AB6FD40B274E9E8AE02C458DF9BCA2F4EA38E5E77693F84A5353D3E8D5A09425CA3273F29F5339EE077C5400CCB20B021F11F5681A14D5410FD4C5B7996EC0F341A3E6B75ACC4A20A258D5A58370776832B49E9061E1B22C0CD58DF0C1DB47C1E7F59CC9CC70BC250AC2C7388923A8AE4337E3956037FB6FE6CC9964F8D230345B29A9BAA7239C50132BBCD3239F033A90DF10E5D04F507BFBAF67F170555555FAFE11CF4B88348F69CC8F269C7816520BBC2EC0B37219D9F645573C0A3462B1DB7C914A5FDAF7728DDCFFD9CCC1A2C57361FEEC5AD8B6751B80380207F69D18B61A0D9F582DA63791F1076C365B1F1AA9909A0A59C2ABC092DBED36646767E7490A7C338CB0848BF3A2C849FF808142734B4B8BFF7AC7CF524685A5A5AB8321E9DF306E7669CC67C28885D974D4F3BC27222B7A49968C97335D49104CB49AC762B38DB87374D633BD08857346E051E77DF0D9E7DDE070A5A3501538B8F7705889849A6C66C35AA4DD895A7616071EB85D9ECF8DEE81E302466435E56380D6979999E9FDA25ACB450D2BA79B327B76CE50FFD04F90C9DFC62F0C7C02F3B94BD0A408BCEA09058236195DADF17C7D93C9ECD59B2DBAD0EC3ED313060BFC6E9B1EEA96CE823C571E1C6D3D09A74E77A8A3DEE1E376B3E175EC7C532412F91C57922715E1E68B08E24B1766915ACD9B37CFE8F1F86B3CA1D02F319058C836E262CCE735688AA658C3AA24F9FD7E9F43B301683483690E7B646E856ADBD12E807DB60C7F33FD3BF0C6FB1BD8EB5D446E10F6ED69EFB71874EB459E7B17FB6D0E87C31753C5C8DE36E12543150521DDDDDDF68B8323ABFC92FC3345E5DC5C923668DA81519D2F18F429468359566D68989674738F0D64C19BFB2DB0E26E3BA499CB61D3A66370716020A8E3E49D661DBF168DC95E9D4ED775F0E0C1402AE3FC6D1340626E043D119727243D1D8EA8DFC5656FBB0445978481019557E5799BAA0BC3ACFB27C1F2C265F0ECBFBD002B57E4406BCB8872EE4C7F9B4DAF5B8B976F459C3F818C27B74C863FFF5D7B474C33328260988CCBF56792C22D4741E8C6B8AB3CE75539DE366962258C8664985AE186F51B3682A0C8170C3AE55D1DA81FA0C6B4205E0DFEFF0E3737BC278C8210E7CC99931108CBCB8232FC1799E3276BDAA0E3C0ABA000E81DFE468311DADB8FFA7839B8559023AF21D4ECC7D6BD77EFDEE09FE1E64B6ECA6B461A61A43020C3B7C30AFF5D849E2CB4035E0538AA079544900EE995F02BB4E3E8F3F9CE1C3B76CCFF67B8B949024836D28140A02A04E28F70F5CFA317D81A39F94D1E948F30986AC3CB466E6712ED4F5A008946DA6C36E7A1FB598E4CA747744E3A1C8E9E548F62FF24049098A05ABC7831FB5FD022E3237F869B2FFEF77F01FA72E8A45FF86ABC0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (137,1,'Satellite_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000004E0806000000E8DC1E0F0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000275B4944415478DAED7D09781DD579F699B98B74375DEDB224AFF2BE800DF68FB1D90C84D550C26668434820101A684B1A4A20CD466880FE2D0D4F5BF2A4D03481A424F9A19036ECE0F08442C00BBB31C696BC4BB2F6FDEE7766FEF73D336734BA969780492447A3E7E8CC76E7CE9CF7FDD673E65CCDB22C71B42D9AA62D45B5026509D68F0904027A3018CC555454F42C5EBC789BCFE7DB65184673369BDD9B48249A5F79E59576B48339169F65F1E2B323E974AEDEB2F45A53B36AAD7CBE3E9FB7660442A1D9A9A181B8B08C72CB324A4CCB085B66BEC834F37ED3CCE9E9F4A4FF48245EBBEE906D75341060CD638FF9B467F61EF3E843B79C585454F4E55C2E3717C02B328CA8410471F2C9278B68342AF781042CA94C26F3237CEE1F40863D9FC43D2E5BB6269ECB656A0C43ABB1F47CB53044B51046A5695A9500AFC2E70FD406FC45758383DDC59669C64C2B1F06B04558D72D610A8913398A7BE67D17158744269D94D7B68465FFC7719C2F743D245A5B820F59D6BA6BC61D01EAEB4F3EDFE7D3CED334BDC4B2B458ACA4B42A9918D075DD17D2752D1408864290E022239FF3A3C6562420F464A079CF467F2A9570811E0D7C559F78E289A2ADAD4D84422111894444381C162000899043F9CF743A7DCFBA75EB1A0FF79E8F5FFEA74B45CEBA1C0054008272CD32CB4C146C9796945555F575ED2B462BFB70FF4263D174A7E6FD6812BC6071B148E3FE2DC31020840452028A623AC072BF69E405C822C137F259014D86637961BAE75BB86EB5E8E9F19D6F59AF3F3B6E08505777CA05C0F2873E3D5F036085CF1710C1A2B07C28125CF7F9C1FA089A4BB3598EED69D3278B5C7AA7D8B0E1B707047DB47D679E79A6AC21ED62DFBE7D50B38B05CC83D4060E11FA4182D3D6AF5FFF9E7588063AF9B41BAF2F0E87EEB74C23687A406309068B451E20653329006488BC9113468EA0E551B09ECFC9751E2B29AD1083FD3DF63D6AD6F0FD3B959710FE405012C09678C32688354C80FEDE8A8154AAB7CAB2DECF8E7902D4D7AF3C37142EFAB110E9499072A82F3F1A2E240136C16E1D6408048A508AD16079B90DA9170B17D68974B24500A4834AFB6844B8E9A69B84DFEF17F7DD779F686E6E16FDFDFDE2B2CB2E13A9544A1180F5AEDEDEDEB99B376FCEB3FD0B89806B692B567EE17B8695BF598738CB6BEBBAA094635B02178E9588C1BEEE51A5D9DD9664D6A516482787844140490C4AB5248A23E196ADE2D94614904C3A21C1F602CFDAE78B88CECEE84342ACFFC2E1F8357F3002CC9C79F66A4DCFFF87610CD6D8C0E3C1FC41110816093CAD54934AEAA901EC87F78B783C24E6CC2E15FD7D9D62C78E1D8704BF70DFF2E5CBC525975C22DE7AEB2DF1E0830F8A3D7BF688AEAE2E71CE39E74873400228122493C92B70ECBF77EDDA358204A79F7E53B4AFBFEFE9F2EA49A7520DE7733948775698B99C2DD928D192729118EA87F4275D808407284BD96C6C474BCA40944E3E364EE17E61AF5BF63A6154DB148E743A0372C03350FB5953513AE78442DA5DE1A8BE1B9AA5C2C89BF520592DFC896A149A259856230C67316418C58DBF770268DAC2606565ECA54020B7D2111BEC23ABFD2040111A3323B88F22140A97402A930E0174316D1AC09F532125B5A7A7474AF1E148BF22C2A2458BC469A79D266DFF134F3C21D6AE5D2B76EFDE2D35C075D75D27BABBBB5D33C082635BB0BD120E48BAB5B595EAD46A68B8F8F85849F10B3E5D2BA7741A6879D6A661DAD22BB72D1189C5457F4F37D64D29BD00424ABF2181B3644D4D6090ECCE3DFA037E53D3AC1C04DCD0742B0FBD62E93E78421AC8AF5938CD44C32016B04C1FAE8223794437015F2A39A8794D8FEB107A89E7EC131E026A625AF28813405BB3C657B7AEE3C79AC89F0B4F87DA91FA512F2E0EFB786B462E67E0AC309E38A003F868AC0C8D9E920DA84915AA4B6D40E92F2DAB1289C4A0948AD2929CA8AF1112F45FFEF209B16AD5E952626DA7E7E004A09377ECB1C78AC993270B440962EFDEBDE2D1471F95E043BA25E8B7DE7AABD8BA75AB0B3E0B344C1EC79620726845289984B9C8E9FA8ABF0080FFCC4B431567FC7E2D897BCDFAFDBA81F53CEEDF82138BFB17D05E4578EEA2402A31C4D6C61ECB0F9DEBC30381B9560040F85174054C4959A9E80369EC6DD3F501A45B405835CB71096CCCA4B9417B65B369475B18C3C09BE648DFA0C03FA1DF91C934741C5102CC9EFF273FCA66BAAF02BF033E09224B4014438D5332C87C82ABA1F8E1C91687A2B8F98C7C4AB95FB34D41119CBFA2E2B0482513F2DC48C81433EAB312C8B56B5F14EFBDB7499C70C20962F5EAD5A2A3A3434A60A1BA6761A8575E5E2E1DBC6278D9047F686848BCF0C20BD27C107C46030B172E10577FF6B3E2372FFFEF08027CF0C107BCF6B7F0F987D1D07DF1783C65EA4B97A3DDFF1B8D5D41D034A9AC78FF42DA7EDBC3B7418B9796E1FBFA6D702400865C1FF6F28741D31DF2D3B9335D9060FBF386EBFDDB0EA30D1E9D3F104C241309F7BAAE06283031A369004D2F42FB4EFFE5112140ED9453BF2BCCC42D9A6E16CB0620007818DA2B7AF30459731A870087C231097606DEB10DBC2E816603D276521B643369798D7028284E5B592B62B1B004F19E7BEE02E85D529AEFB9E71E5155452D91900D83385EC6F92C7CAEC1C14101474E02CFCF72FDFDF7DF9792AFA43F1A8D883BBFF36DF1EC732FCAEB28F06966480080B271D2A449D7E2313BCA2BCF38B9BCAAF6673EBFAFC895249A01FA0179E5D9E7E10FE441701DFE4C50F47677CA7384F0D8FF025058E2E565A2AFBBCB36E49A17136B9462DBFAA262460329E7BA1E0D607A1CCE03688060B046F474876EFF58049831E7FC6F58C6E0D7B3D98162E5C829E926F8867C70CD06D7D94FA78E4E93945409BAADEE19DB862371F94032EC73AE75C62933C4AC860A092A25E48A2BAE909F9D3A75AA38F5D453C5CD37DF2C25BCA4A44436C2C0C080049A3E026D3A49C0CF7576764A878FEA9F3509C02FFAEA57BF22366E7C473A820A7CDE373D6D9E87EB1895959517CE9CBBE6A440307C1B1EC7AFAB084DB75CE9361DC9535E7E14F733D0D763833242DAADFDE27C104A5E2F8B67B7A5DD9052AE8A65166E9B328FC0E8219D4C7A54BF75480DA0B480A64D06C98B577D2402D4D49D74ADB012F71946A24449AF926EAA6F4A2EA591E0729DC74250F7F4E233B05772BFFC9CED0086C25190232898C8B13F631F87DD155FBFF5D3823695A0F09AB7DFF615B1676F9B9832658AD402F3E6CD13679C718658B06081947402D8D7D727553DC9C0759A09AAFA96961619F6B1CC9B3B4B5C72F185E27F5FDD80FDAD2A2328CB71C71D27B501CD044B4DDD89AF9597CF5901A034A9860D472543454B200BD46B241695F79B1C1A180661540D60AF97C24CF57675BA193DAFA4DB793EDA7ECBBD0E9722268E100A0A57FACD11D9C0111A6084F4DB244CA7A64059A54B7F27024C69F8D4153E2DF36032D15EA239E0125482C5E404E375DB1EEBAE6AF7C1692B2E8E3AF1ACE56A03F9793038128E8BBC8C794D47EA490ABF24422C1612577C7ABEED653BDEF6EE9D5BC53FDDF77D515B5B2BEAEAEA04D4B3A8AEAE965A00365AFA099478AA6482480250BADBDBDB65D22707029E7BCEE9681C5DBCF6FA1B68C4F408F0CF3AEB2C316BD62C09FCF6EDDB45EF409528AF9A8B7BB20AE26E733F874B6980682CE648BFB59F062804C50F9253AA7399B4EB9C99E6281A809F71B2846C8BE25031C2CC41F7FADE24D4A134009418846DC6DB42AC5F765804A8AE5D79A665261EC9667B6A6C706DC955D20F0F5F9A2E093E49E190A3A82822BD764AA59714FC4C20582C133A493A7AC2734DE7F37017C5606FBFF8E2752B5CF055DDD6B255BCF9F666681321C1A7A3A7C057F69F6092000CF186D05095E551316BE63448AD101BDFD8245AF7B54B8DA280E7F75F7CF1C5E2820B2E909AA2B171BB58FBEB6691CD1749E9331C20AC038454AAE1E3159562A8BFD7766EBDA1D801344019CEEFEE6CB7AF250AD4B8BBCFF35DA8FD7E5B7832A96441D8777826C0E72B87F358FE80656DB8F1A004D0B46581B24AFD37C21A5C613BD6746F1D4F57D8EB918813ABCB00C53E461738182CB243944CCEEEC070627BE13889B4F7C9C4006E4EBACFCEE7EDE30875C5D060122595F8FCD5C7842291803E920479440608967309D10D929826FD0C3F6A5D364E51D087EF8709C17A2C1A92BEC7D6A63D62EBB65D205CCA059E35CB8C1933C4B5D75E2B350ACD08976FDFF198E8E9CD781AD6DA0F486661E41E0510D6CB2ACA444F6797ADCED5E7E4BAF0ACDBDB7C6E3AA7C9C490E3D8D9C50654A80DDB18481035790D1FC067FEC092D91FCD218970D685F3BD6C4BE7B8253CF7209CE7D0AEB1ACF53F39A406D08227ADACAAF1DD64994397E1A34165D3959D0E31C4C335F252FABDBE40489A849423FDDE633417B168A9944C4BF348BE320DA8534309B173D396D4492B4A77575717CF331D3527932F9E1209C3B10CFAF15DBAAC191B0F803CFDFD43A2AF1F26A07F50824E93A00057EB74F42EBCF042E94310786F59BDFA3B3289F307EED7367DBA65426050202A3A9A4BB3F1C533E46C8780892261AB01775DD69E6D91C35A12A51B42D281BA179AF9BBD9ECEB7B0F4A80DA8655B79AB9C13B84950BBBB65BF73BF96876D6B0B3C39052EB8DE3E9D4998E49B0F7FB5DAF3E140ACBCFA6A9761DB0D5316A0A367ACBCEDD62DF8EA69658B4F71BF3E7578661E7BF4FCF5E813E1A1158EC50CCAE0B8B17789A8D254B96C85E41FA0E341BE98C25DA3B53AED3BA6143A3342129F80819D8E720CC596F4F77337C9E9C545B1AFD704B93BD53327549CFDA725498A5C54B2B82FD7D5D861441A67068D32C8B71038FEB962545D3AE99DD63762C14D6E808239CD4BCE6C5ABFEF93DA611C50777FFCCEF37734E3A5F7355B0BDE8C3DD489200F016450BCEDB0CD27F80BA19668E6ADB18950075334EFB9C2632F767D27D512F78D24EEB76E70CC1CB80846C2CCB51FD54B56178FB2934980CFF3C1EBD8650AF04529F9579F3BC7BCCF5FA59702BCD4DBB45553C2FEAEBF3033B76343E0527EDE7A79C72CA0FA0B227D391636847100F9704EAF9E81FCC993347A683554690C0B36EEBCC8857D7358B349394D2E152765348BB1F2FAB1089C17E9971131E353E6C7FAD11B6D6E7B3893E30D03722FFAFCE1DF5B382CE635C0CC07F106EFFBF55E06FD804181A88E2949E57E3F1BE77876DA70DB89D5E17BA0757C6E2B43120AFBE05A511115207C2DB143B8B4610A07ADAAAF38D4CEF43B96C5F95ABB615804EBC1E82C347FB23B3778CDF9D120C86652C9F638F9D471BF0F341102688CFA5330C01FD1E320D93ABB7AB5BEC787F6B6E5275F6FDB3CF5E341B8D1825D88D8D8D5BE1E43523CE3F93C0D36BA793C6108FEB2C4CDA787BFC98EB27E03178E32C88E365D8E8055DAEA36CDB9E146D5D74AA34B7D369D8D60BE9008670AD4110C01B7215F6C20D3B60163CF410CCCE90C7FB2F74E4BC7E8572CC6CA1CDB969DD511C4279439AD8D99815F192DE9F44A343DB2808EAD1D9A66EFA88DA5F23BC96813A81F35A717C27A59F594DA6B55D02544F3D75453EDBFF9891EBAD77BD758F7432D463B8C2583DEF866BC3E11CBD79FA003C663B219A63DB19E6C5E48365A0F235D7D35704B149D6B3AF5BB4EDDABB2F1A1DB8231AEDDF0EC7680142B16B20A9C711688471F94824E2A7E3E655EBA6D3C02A0BC8EB117CE60FBC4565075DE09954F205C5EEF652A8F9BC1D9EA9DCB9A9C22A3BF48AC54AA454D2F154DDB7B2D1E56786B36F2A0CE3128DC6445F6FB7ED9CA91071446CEEE91974B449945DC703BDFB699342F56F5911D1B92F37346952EB9720DC6982EC491A08EF3A8F9936435258A76AE980EDEFDDB3670F25C6203BB478E5892F9A66C799A691D5F850852069D2A12BB6BB289D385EED27218A393449865176368FDAC08FC6A5A3476250E5CB5CB92BF9C3E4E1F5B6BEB34524FA7B5E2B2FEFFCFB40209770D41789A923D6BF70FAF4E997E1E66B98D8514E1C4B329994211E3B840828C34D4A3FD56F6969A96BDB9907A8A8AC126968092A471220671489AD3B4DDC9B708190EDE68EC1B0B7D9355D0C677660A0576E6B9EC4CC88367706ADD01287C31139B247C6EFEABA9637855B60124CBB0E04E887A446E408864D84E9269C1283616ACB67ABABDBBE851332B6836893004261158C81A01A2007D89D9D421B2551D2ECDE56630570E6F29FA0FEAC431934A00090A8FDEC8F87FA8B84E4C815A11976FAD18EFEA0D6FD32D44B6753F20B879338765E807DFB1999CFF7B95EBED727C824B3A2B9712F54D0D0BF5755753EEAF4B77B9D17E9C000C452A8EF6B01F47970CA7415C251F593DC656565320FA06AB5CE44CE962D5B246C37DFF23762FD6F7F2B1AB77D280C7DBAE84F163BE956D31D91A38A1A80C1BAACBC4A7475EE733B61BCB1B9D82F2CB4412E2B2D173D3D9D1EE9F64AEFC8FC81DA17894441E8413B753E8ADD77AF8367E96A83160B266FACA8E8F95526934981F0267B201D12EC370886C700BA89B6634ADBD8BC79B3E11DDB80335784F01093716A19EA52ECF2D416EB72D4650C719D7DACE3D82E41F1AB2F22617C019FACA9869938912442F1432BE87E9FCC0A5252934369D1B9B735515434705779F9D0EB059EACE6DC20BB5629A35457D9AAAAAAD5B0EBFFD79BB5A394AB44902200350081FFF0C30F655FFD37EFF83BE9D4F5F6F6881FFCDB8BF088C276F7AADB73681719C9A8EE57DA7D682F363CFB26547B16DA7D25C1CA5BA740E4735959AC82E4CCFEF65C992F436AA544626878889733AE401D570928D32A161D2DC6404D4DDB729F2FCF2E6A4A7361AC3A5A5867796BEFE8A64324826467A75E53530317003A0A1A14A004A06AFCA8FDA954712C97D3CA4CB3A814E48D9BA6AFC43433B302016D19CC461D4A453C5E160D0643DA10404F26332859A8E862B17C79053CFAB601387ABB60E79BA0D2DFC1F5DFA69A22F88E7A4B02D021809D416D40133CC7FE79D569C3542DBB7C99C099366D9A6C34A67B5527D0833F7A5844709CFB5330198FFC629DD8BDA747D8A3B77417584D17C30EA0A3DE2B2B2789CE8E9691523BAA4D1EB6D765E595A2A7AB7D7F892FF0FEDDEBE0AF18E655A68273D9113869C346C33523B95C09EC7FF79365657B60FF454F676767E60080EFCF8003007D580480F405A08A03D82E820A26197C50573E8EB737396C19AADBA93500E8DA709E03A0964232CF803D9F595F5F3FB5A1A161123EA7D186D37B67CD42670F0FD403E0B6617B13CA2BF8BEF5908E3ED4696C1B700CFF1204B8471180BD75768FE3E8CB17AEBF419C77C185B6AA477963FD36F14FFFF0F8A8E7AAC1159ACC710819D25AEE7EBB689EDA2691E66A13F6CC45A26127AB67395AC572FC09D313929BFBA97F3566E0A0EA1FEB7DDD11F85283375655F53D8676E96F6A6A323EEEFB0C8722808C29E18DFB6143FC50ED7E1081E0135C05BC867D12744502EE071158FBD43624580368119C7B0AC87002D4F74C106326EA72AA734506555382519AB1BE11E555EC7F1104A056D802FBAF9300ECE1637DA0A502E1DFBFFCE04109103B9B98B47AE0FE9FE3BA292757A2CB94A9E98CA963C9E7ED615BACB359268E0C59673239E9B41EA9450E20D1752703EA0C28512473D24936B9EC412784A9AF3B3B505DBDEFC440C06C411897549EFC274D00490278E33A80A213A6117C7ADA041FE640261D1C42682089B4E7DCE6712F491441A819B0F8015E256CF72AD8F1C550E57311EBCF06712274F09466508400012DD48D70646066CC493C87BD7C3C76B0E596AF7E4D2C397EA9AB05B66DD92C766D6F744708B15685FE09CF7306840A6FFA99DBBDBDEC664E4A422882A8428228B2F018D7BD6422D17499F760092036E7083992D0C76370252CBE034277056DA4053C593D7781DD7FAAB6B6FD4B68B76EAAFF23F136D3A1FB0286492037972E5D2AD70180AC950482082403B580E6A46B35472B680056EDD794F6A0264183FB41289A9620F6D1B7A805194E022916019C85383C87FBBD44202074F44800A687693A0EB6CC9D375FDCFECD3B5C30190EFEF6376B6588E8059FFE0409C06BB3D69D310D5EA7B3B0141EE736DB139FA577CED83B8575FA31721BB7D3CB840C9EA90F25A39C5E9A5AC709F6A96D12004DE687ACD0CF1C320C7F1B74D45BD168FE7D5C6BC01BCA7DA2042820C27EBB0FF6110F692461481645146A128476F41158025CA815702C4007130DE4070926830C7CDD6B09F62DC1BE19BC0E0946023849A203DDAF139EEAE29B77DE256AEBEA9D51BB96D8F2DEDBA21F5181029F9A80612347151D0C7005B21CBD6327A57AF01D5D68C3248146DDCF9C3BF677E1BC84F2E09CA6930E80CCBE7198EFB0F3A608E0737220BA2280739C92DE8D7A17337968A3766F22E7F74680DFF1E54CED10A4900B88A1F7F7F7D321F4D1BC20CC2319A8182411480827EAA04A0CE2F854988AFF837BA61AACA246E0E81E4FCCEB78F7DA88F515279D2C2EBDF2CFA41F402DD007F01B3FD8B41F01D49070BB134B774D04230DA69455FE81A9E86DDBB6D107F91026E9A7F80E462D79D9B9A269CA31339C34ACDAC79A529BC73D70DDA4B6513E92029F8BDA76BC77328EC4DA87CFB4739D43D48FD4CBAC7FB017433C2471EB850B17EAB0F51AD43DFD0D1F9D4ED4E403C91070B44310CEE3A538FFBB2A1270D4EEA8E0B36643DFFAB7DF92397AC331055BDF7F477A7D8A002C0496F90435C288F90CAF9F409230BFC0E1E3CC35400D1B0891BF8DEFE864BEDD91D6AC029A790C0770AECBE2800F8E194A0B68B83F650274AFD32CD5867D7E0AF5009E77105154E6CD37DF3C22D23FA6DE0D1C85103ABC7E573B000092817E4300A6A31CE55D6C07210DB25FC00BF8682438FD53678BA5CB57B8BE407747BBE843CCAE00F6027DA0F59D3B774AF01509E837402BFD140EF1FFE03B680A0649028246B00DDBDBCD73611E83593B80C8631475B7E195BFE4641435A7F752FA4DD038CC86F2FD84DCD4A9537300DF3C92AFB28FC9D7C30FA61D507CF41DAAAAAA7E013BBB9AA37DE9201E4C03B084231171F5176E90232A48807C2E2FDA7637C9CE22AF162804DEBB8FC3C815F82C88C3A95D3E80C6F80ABEAB05EBBD002C856B1A4CBFB2C04FB100A04CD7E21AA673BD511B5D39D65EE75A9D4FE0477B47F1A824C0E16887952B57AE81803DC2E1DFEC283A18F86A7DD5A7CE1193A7CF705EE332C500C7ECE7D2FB11E0405A61340D4001861F7015CCC5DB00B0836F10412B199EEC8F758834ED612DD62704D4B89B20429161F1E2C56178ED7B017E19C3C1D1002FDCC75EC155679FEFFA01B96C4664077BF703FF4044686C6C94CE9FD200EAE5541CFB217C877F85C4B7D20CB0AF7DB4BCFB986CCFF13C43C859679D751FA4EECB1CF77F381A8065E56967CAD7B65562C84C0F89A04F1F9504DE6DE60608BE22006BFBE512197D34D5D6D65E8D7A0FEEA7E74825692608708865F5EAD54C146D6507D06861E0682498543F5934CC5BE486849691139180B6DF68A14222F05C4500551835A8051AE0B370DCD633543B5269DA09021CC672D145176D6C6F6F5F46800E470330C7B268E972998357A6A0B4D827421EC0BD445064E000516502544DCDA3169CF708C2D37F8423D80A6DD17FA43275130438C4B266CD9ADBE108DEC304CDA1C1B7D76BEAA6884859851B12468AFCA2321EDB6FD8989704CC3812787AFE8A001C6DE44942354F9A34E94AD4BB6906707E7A8200BF87E5F39FFFFC4C10A089127A38E0DB13310444F594067B72074ED182EBCCACAF1E157CB5CE1090E0AB42127807A37289C7E35F4288FA12BEA34D0DBB9E70027F0FCB95575EC94125D30E271250EBB18A6A61683ED717983AA94A545794BAA07B49C0D430433E02AF6A12A070C1677E595D5DFD771C798B70705C9881A38200D002DF873ABEF17023015B0B04851108BBD1402454248E9B3F7B04F86A9D61268157E033FCF33A809E10B513D1C0A5A877B1CB763C9881A3820037DC70C31210E0ED43497DE1BA150C8BA154C6F505562C5924CACBE2323BA808C075F59A3813412401D7BDF6DFBBC462B15BA2D1E833B8FEBED6D6569A81FC583603470501981CBAFAEAABF93A52507503ABB983D4C412A31141F8FCA2BD2F614FE44433505723961DBBC0957C1676391378FA00ACD56BE3071A8A06C23C0733F075E7058C7EF502C604013E01D03FF399CFC4D0C827A09C88F297F97CBE9AFDF5CCA3ABB786D865AC5E2861B72E7BFA388094A11D49D0D6971483097BA00987635D7AEE99221209BBC451D3C9281290007C45ED20F7D58F68E0227C76C7783003E392005FFCE2174F84A4FD05CA6568E82225F1EA8D2145007AE98C0E58D85FC071869468D635353572CA3886844D7BF739390143AC387EB158B268BE24809A56464D29A34850E8FD172E20D9A7716F9B9DC11B3403E6583503E38600D75C734D31C0FED350287423A477196D34ED33FBFA1501D434328A00CE58C211E0B3F08D22169EDFD0D020A6CD5D2442D198D402F1584C5C73E525420D3651F30A294DA0B28E07594C906B0DEE6933EE977E40622C8783639E0054F5975D76D9ED50E3B74122E3F4C865A720077AE87E11E0383EBEA5C47700A5F366DBEED2D2B87C518440AAF982BCE0D389F38E279C3A738E98BD70B124D2E5179E2B74CB70E71352134BB19058075B40C89D20C05FE13A4D2040EB58CF078C69022C5CB8B01CD2FC1BCEF9CF57CFF8F2C4D050420E97E6B87DCEAEE577DE36F2CB99C6541DB0DFD2E16C5F9A05CF3C22A790211114F8AA78D5797955B598B7E404D1306D8A983BAD6EC4A45224015F3839D4023FE381929292FFA20FC0D7B0F11DA90913F01196D2D2D28BD0988F73FCB89A16D65B02F26DE591FBD4885E7BB6719B10AC39145BFA03C984C8A693F2556C9281DA84C5DB06A148542C5CB6421C3F6FA6E8EAEC9024504438D402CDB3A1AAAAEA7B3025BB50F662570F1CC6EC8413F8BBABFD6553A64C590F152DE70652802BD00BD70F4C029F3B26D09ECB20203B837A7AFBC48EED5BE55B3CD408854E5D385A224E5879B2C825FA25F81C76C648E2600BBEA71BE07F03DFD584CD3DB8EF0E1038D1D4D4349107F85D6D7E5D5D5D2B2474923D3B7670BFF7FD0BCB8188E02DDEF89FC3EE5A5A5B04DFA67EFBED8DA24FFA1523977879A5A82C8B4BA7EF502F9F30F483C6FA5738A8EBB049C96F83833940E9179FC030AEA39D00AB172C58F014C32DC6EA4AA255764E4D0557380144A166F06A02A50534673C207BF2EAEBEBE124F247220CB1E18D0DE2CD8DEB8567B60DB970C66F4E0D73B005BEC500BEFF5E946D007D37BEB31991072C4B6F464C74067D2402DC8DD0EC6BB4CD04D30BB8025101AD7EF28544194D2378A55F4D1EC9EB52ED736651F73B71ACBBBB4F3CFFFC73A2A971EBE1DEA7983D7B36A7AC35111EDE058DF506F6EDC0F772FCFEE0C478808F4E807F9E356BD65FA95FEF6028E7ED98F176D4105C2E0A7012816FF7783587AA950DDFBC79B3FC8918924708E199DC815FEE13CF3CFD8C78F9E5970E7A8F4C22317F40F2F1BA04BFADADED6E1CDA8EFB689920C0C723C0D710FEDDEDB5BB24C168A374BCB52204A55C6909EE63FA57F90574E80818E7175652AC9E5FCD35C47E81FFF9D593E2D76B5F2874F2640A99934AF23B0B5E17B31022DE86EF7E05EB7BC683F73F9609702C24F45D6A0002C8708DF97B9A82D1866B17BEBDA3884202C8F9F7A145D404521B366C90BF31E0F6067A9E5D4D2DA7407DF2A9A7C5F3CF3DEB4A3C7F9F60B417463D53D6BC857BFD1A48B81DE7758CF514F0980E03E1A0ED2C2B2B9B4E300914B36F6A6E3FEF1BBD2C2486AA49062F11BC4EE04B2FBD2481E474717CB5DD792FCFCEDD3AAF841796679E79563CFDF453F275314E4D7F20F09DF514EEF32A5CAE09EBCD700E07C77A083896F3006742E2D6729DA03363472DC06C9E57F25521F8AAD02EABFD4A0BB0F78ED2CFC9A009369D40D6F417EC9F5C1909BCFAD128969FFEE72362DDEBAF89D34F3F5D92E600E0A321336DE9ACB8159AA4096DCAF1E2BD1361E0C75860F77FB568D1A20B9527CF6C20BD6E05BEAA95E47B09A08A72061F7EF861F9B3702490F7C5655E939D45EA3B462300CFB9F3CE3BA506E2D4F4A3819FCF658DFBFFBA2397784B7BE12BBF2EFF1E2EBD0BC4ED8623981AEB6660CC12004005A0AEDF9C3B77EE316A600625966ABC9000CA0414161E7FEFBDF7A46D5FB56A951B0E5A72C2A59C0BA4EA28E27E6A0D2F016C7FE029F1EA2BAF88F9F3E7EF07BE696687FEEDAB1DE298603692E8D5FA7EF154F88EEF7F187D12D7E91E0FEF078CE9CE2090C00FAFBB0931FB349A0266E5088297005E33E0AD5598C79F87BBFEFAEB5D6DA0F2015E02A85A4D56C5E3F41FD47E26A5EEBDF75E39CFB017FC6030B3EFDFBFDC613558B9BAAE77B5BEEB5EAAFEF3BF9DDB73C2D3FBA23FFAAF266B374C577A82001F9F043E90A071C9922533D8F00491BF1744427809305A79F9E597E5ACE0341D6A848F9AF367B459C415B06AF611153DF0FCDB6EBB1D61E054794EB4389DB9E084BECCE7160D14A71B85D9D6EE6BFAA033B0F6AEADA53F477B765615E707BBB3C121F55B831304F8F824D0A737346C5D76FCF1B3D825CB59BF19DF7BB540E13A1D3DBEC57BD14517B9E07BE3FD422278C9E0D50A0C431992DE7DF7DDB95BD668E9E3EA139159B94CCE1AB4FC22257CF7BF5172EBE3ADD1B7D919846BF6702207E78726731361E0912581367DFAF47BA74D9BFED7A5A5718D99B8C25C8097080CFBCE3DF75C19C229F0BDB17FE10F5014FEBE0035004700F1F52F12088E64DB03A766B62C9B9D59F5C2A6D07D9B7A8BDEFBDCD4819BDFEB0B3CF49DAD15CFE11A83B0FB093517EF5897FC714700B5409D5701FCAD00A58CF9FCC2BC000BBB6F093A7F2DD43B12D81B017835812202259DE3FEF879FA00743849A0D75F7F9DBF34FA444569E9FFFBC763BB57FCCDFB553FE4A45045A6993B6FF260F8D15DA14E688C6C6D6D6DB6702EDE09027C020B42BA7968F0FBB76FDFD170FCD2A53366CD1CD606F411366DDA244E39E51477BA372F09BC8B8A06D4D83F2EEA57C8D418433A8670005358FF123EBF93E3FD51387B6906BE429EB37FC0F1349A9A9AD49C3FE306FC714B002E975F7EF9BF0094479F7FFE796DDEFC053F9BBF60E1E4850BE68BD69666A7ABB77CD4B1000A78AA76024F3B4FD0F933743CD7FBEB23D4080F3CF040A6BDBDFD9B9148847DFDED38BF87F317631FD5BC39924FE3AF31C72D012EB9E4920A00FAB3C71F7FFC3C6CEA0008C1C1D4EF4E9D36EDA2D2D28AD0318B1669B192A89C76551180769DD3CB1258CE0246D0E93BA81E41D72460FD9D77DE15CF3EF34C4B223174171CCE8DB8462F80EF83D427007E4E816F8DF3376BC6F59B41975E7AE92DA8F621D6FFC5CA952BC3B0D9CF4015DFD9D9D9599E48244E9D326DFA39B367CD698897C4E42F74F3C79CEBEAEA45381C727E60C7BE8E9137644FE15E39F8738FD58C7F9D9D1D3F2E2D2DFD15801F823648007C390DDC78F1EEFF2808B066CD1ABE0AF632C0E61C7C0B01D2DA75EBD6DD031B7E3CCAD98806E82B6C87AA5F0F623403C8129C33A3A4243E37128BD547F16F68B0DF6C69696EC1B11D38F66E2C167B0DDE7C1FFC07C6F0ECD2CD708AB6783C9EE7ECDCE355D51F9504E08238FFC9BEBEBE0B9826CE64329D70C8B601B0A19E9E9ED721D5EB11D2B533460711866026B288EBA5EAE6BCC5005B4D68EDFEC892F33EA131383868E27C03A6C274A66813471BF8E39E00D75F7F7DCD8E1D3B3603CC0AE7F782BAE1DCFD09C02F72E6DEED07C09DB4DF4CCE401378A76F1B31973117002D44C1AF6B887132DBD71FAB0F700700FFB6DA869AFEFB77DF7DF787907AFE9C0D0931C85FC9E2C4CD2A2DABC03CC87CC6E26806FCA822C055575D75417777F79D50EBC7416DF740652F7DE79D7786F04CFC01604EB3CACE9864575757E66872DC2608E0596EB8E1860048F0653C4719A2816FD5D5D5F911E6C9D1A2B4E593274FCE1FE9F975270830561F66F8C72D5451B1FA04F87F0C04F090E08FCE967FD4E5FF038E0E200ECE70947E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (138,1,'Satellite_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000F0806000000FEA40FDB0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000032E49444154381195C1CD6B1C751C07E0CF6FE6B7B3B3B3BB997D29C9168971A2B151092426C6A668C322119482E4D01C241EC45EFA57F4E841CFBED47B4F82488B45724949AC41301A43B3714BDDE04BC866BA33BB333B333BAF5F53E8A188D9D5E76144847FF3D2CCE54F87B2EA9BF9BC2A99ADEF0B6D53CF56ABD5B8D96C7EB5B7B7F7DEF8C23BDC6AB85F0A029EF39C762EA130E7B91D298EBD94E7DAB05DF535CBB87397E30963DA1B1FA573B9D5B42465954C2E2FA665E4D2F7E9C50BF34C9665A8AACABBDDEE65C330ECF48E7E26A1F0152E90EC072E3BC1C388842411088CB39478B8593E730E1C278A95858B8AC4BECE2872414A31A44409244A182E4B9E2CA63223C325D8B685BBDFDD412E5FC4C8D9C57715252F45B12F44610F4402128A110511982020894588420E04D9649567AA5F70A1F77E3A2D8B4AAE888C52465A51D131BA5E86EDFFD4F3CC0BA669229BCD62FAE55761D815044108ABD38E9224628488F93D078C62E6795D1684821EF77EFD9C312251641F33495AB824E7E517441E4F31164D178BE591248EA2141AB7C2D0DF9065F9BAA66919B55846E30F19B615414C09F07B2E380702DF439C04602C46D073E03AF8EC6173E32A1E6344842731C6C452A9949E9B9B5B04F0FAC1C1C15BF57A7D7AFEFC795C5CACC2B1DAF03C0FBBBBBB61A3F1FB0F00374451EA1071238E85D034956B443F3B788CE31F882806E002B80DE0F6D2D2D237BEEF6F744C138CA7303C3C82C9C97368B7DBA95AADF689E33837D0878001D6D6D6362726263C4DD360B61E02A208599671747484288A56318080019697979F1D1D1D3DC86432D08F0E716C744044D8DADA421445F38C31117D709C829D989999D923A2495DD791CFAB68996DECECFC82DACE361EE19CDFF37D3F461F1CA77BCAB2ACC9B1B1318C8F8FA352A9204912D4EB75DCBC790B5353530882601303709C8288FEAC56ABAEA669CAECEC2C344D43B95C46B3D944A150A0EDED1FE3B79F6FCC31C604224A700A017DACAFAF17FF3A3C6CD8B60DD775D1ED76615916B2D92C3E50F73F741FB02B4494A00F4644E8676565A51484E1F5E671EB6C41559F368CD6F16F0FEEAFEABA5EC37FC031C0D0D0102CCBFAB6BE7FEF46ABD572F03FFD0D5841844457FC9B670000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (139,1,'Satellite_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001D0806000000EC30EF6F0000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000095C4944415458C3C5585B6C15D715DDF3BA33F75EDBD8C6C64F1C633B08708C01F3B06BD2E020A42A2A1F0D0D6DC3473F5A29563FFA918F4A8D5A55F9A9D45655FBD192AA04A90A6DF9AAD42222448086846003C19897C1E06B6330B601E3D77DCFF374ED639B9A36A10DA6EE58A3993B73E6CC5A7BAFBDF6192B42087A9A4D51DAF4DA5ABD4C55AD525F11858585CB564E8F7FFAD2C4C4E89731674E5959595057573798C964CEC4E3F1BD9D9D9D17E63FDFD6D6A64F4E1695F81A2D3375AD32934C2D733CB75655D41A236455BB5EB6D073EDBC2070220A092B6B2734DFB555DB2B7C676ABCE37B8F707C11028AA2682B6AB6FFD90A6BAF5A565837CD0899660ED5D6965077D7FB944EA7790CA9AA4A4B972EA56DDBB6D1912347A8A4A4841E3E7CF8EDB367CF1EC0FBC48E57DEDC9449678F8AC02BC050B29D0C012CF99E4B8202B2B3C999DFFECC6FBECEE78A12A2D191D00B429CED99C1B3D1782281152BDA2CDB53DED2346D896698A667A75E0F47AC5C5D8F906184E498AA4A224D4DCF1194E0972C5922C11F3B768C0E1F3E4C3B76ECA0582CF6309148544F4C3C579397977B42083F4F90E7854286B01DC703C88048085511A4200D9EE7288A4A86CA13AA425344A0BA6E1A646CC5F36CDCCF289A1615FA6746FA8D378CCA0F6E1E5455E76BD1A8A11A2193345D27B3A81C20350A477301DAA4BA6A93C6C77A6862224EEDEDED2065503289E8791E0D0F0F13224E3BBFFA0ADD191AA6A9A9A9A27BF7EE7D6BCDDAED2FAA9A5A8CE893087C530FA988780A11F66494711147875C27C03C0EF60CCB0459CA5280FB7EE0CA233FAF1A39F17F235055F3F2C13267F2B54065CC613C10908E09048E0E2609479710744DAAE2516BCB3A71F9625CE9E9394657AE5CA1C6C646E28CF6F6F6D2E0AD3E6AFDD266EABDD14F914884366C68A2EBB1D02F2D2B9A87289287776156726D1B046C098C41691A13025809D4E7A420A2248FFC47F3041308E3CA63122A2ADBD22582EC7A553594702417AC5D8A8473C8717DA455A79CBC02CAA46D523483B2894CB0F32BA5E0E719AE9340947C0A8542F299146AE1DAF501447D9A9A9B9B69CF9E3DF4AB5FBF4FB1FE7119E120F025D19089F1D9B43C67189095D00D033C1C31031651430D2063810B0C0C99E4501108A1241DDBFBBE245052F5E23655F50FFA5EAA346486898B53510DB2005ED54CD2754B9E07908FAA8668726C3CB0C4ADABA525A1F8F8F8F85614A82CE02C22E7380E45A3515AB56A156DD9B285325E01F5F64DA1282111004F2513AE90243C0544549D236EA7F99CA32E8F5CD88ECD596099094A4C254EE444A76EA0C654E0D5C02489D2780FB5D6A3E717B79CD0B4441B6E2ABAA1E3A1805C6898A393456ACDB001E278713A4504F023B76E0E886CEF0F9A9B576FC5D8D7192C4B8A8F393939545D5D8D674D484CA5EE9E0CA56D4F02E1B8A92C0514A6F00329205DD7C875B3D269E4CE633088B52FB522F360E138F5075CE8E58B80C90F3B96650DF6F4F47898B2653D915F01A115E0C65223A43C17B2F45A64A4CE0C9BC5E148340F6F353C04480D1203516BE400DCE422269A825506D0F70713131311783E5C6B05757474D00F7FFC36FD66EF51CABA06307852361C904C26C1852B0905FEACDEEDCCCCEF99A29624B9D682D9714E3612CF8B0E55E37D4996B989E000BCE8EAEAF2D9921FD50067002074482182F484609DBAEBBA6C633A22BDBCBEBEBE15CD6903AE35C2512A4646462E3F78F0E0647E7E7E2D64F4759CCB79727272E9B7BFDF4FE7CE5CA2CE4F2EA32E2C443A44AC66CF0BE8FEFD8734359D4AC2CDE0B98A16F8429581E5D043B89ACE8EE9B1237397A26C327BA0BC7CF23B7D7D7DEE6739E62317926C1485CD21C18F363535F114AC6BC5B6EDA1EBD7AF9FE9EEEED62CB691BCBC35A5A5A55B7373739BA6A7A79B392A735B3299A0CED39FD0EA171A289D18A570D822644CEE6CB1A66993367C4FC3BC3731EFB4AE2B715DD713D82701610CC182FFA92148DDC469DCB2B4FDB158BFF779BDEA311B1533E9104FE8C44C2A8B6C74C02ACF72A6702917843A20A52AEE39DC0B4E7DF4777A7EF51ACACDCF47279A696E5CD4BCB3C5EEDDBBD74426F703740F321D076896471284B208061A950733429FD214FFF6EDFE31F1846EAB7F91F5CF3C825C482EC0DBC8541AF6F95E7171F18FF83640C1715C1A1E1AA2286CD787EE972F5F4E454545F2DE6C205464A40119FC53381C4E722D41D3B04611CC06490E9B7D67F0244C2A2D606342E7CF9FF7006E1F08F08A8E782F2828A0C1FE3EF24155C3928381239C7267BB45A4E13EEE763CAE0E0E0EBA3CC71C50F1CF2DF84FE0174C606E3B74E8D01D90883170DE9984072749A75294C112876B849B1C1381631156A7582EF82BD03336428EFA42DEADD333DA00FA2822FB3C83E43AE0A38F55661C04E43A0A2418F8DDBB776506582228E43DA3A3A3A7588E4FFBDE679281DDBB77AF01E031685A401A3439392923EDC3E3F9F730AC135A273819F5F7F73F7A0E597809056ECDD3FDE266A0B5B5F535F8FE4FD1EDEB52E9AC04695A61E93AF06D3A7EFC38AD6BDA08DD67684565195DBA7489AE5DBB367F8A8009CC16AC585402AB57D77F98C9A4B6B11C7819C13BAF3A99848EE6955FB88CCACAD3D471EA63CA2FB84A013E522E9C3BFBD81C18FB37642EF9DF14EBE75AFBD37C5222E355959595B7F959F400F901C3C5CB6B212632D7D8D871066FDFA5CE8E5364815C1235C01B8F81DC8EE0F44D7C23C4845C6F2CA284F0F206B6441C09F629C1339139129C092C37A8A1A181366FDE4C2DCD9BD0BCDE9136CACD0C5D9CEB6425961FCED34A67A119D05A5A5A1C744CB5AAAA4A92C03A49EEDCB052B0CF596792F5C0457DE3C60DDAB7EF5DAAAF5F43587E30415FD8F19DF1ACF81059C82EAA0B81B40F4B7C8B23CE063217753EF235B6D14D9B361193C3DA49D605AF56E7810F5E6D1E9D787BEBE4373036F47F71A1AB57AFFE6CEDDAB5C016FEC9DCFB618B34303000A0F5D2EBF9E38633C04D8CC7D4D4D49072FFAFC32F374E89B19872E81783053F475F4889A7FDDFCED34A68FEB672E5CA869ADABA131BD6AF2B2E2F2F97D1AFA8A8907AE7B97999CD0D8C099D3C7932533E7AFABBC399F0E90A6B3AF5EEC50CAF40FD45AF817FDD76EDDAD5168BC58CF28AE5BF0389CAAAE5150613E1A8B3B4F893B3A3F3CCF8C5EE0BDF44B19FC1FA27BD10EB7CE64B0948E92374DC7E44BDABE7EAE53F7E7AEECC3948239E9B9BDF984E276EE3DE39D44612E01D5EBC896711B56749E0CE9D3B0D709E2500F897A1A1A12EBE84A5043BCBC7F4BFDE66FEA5B1F0BDBDBDBD825D0D056CCC497331F67F00A7E1BFA37077D3F20000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (140,1,'Satellite_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000270806000000BF984E3C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000E4B4944415468DED55A696C54D7153E6F9DD563633BDEB0276C760CC640C08404684305345D5242084B451329456D1AA9AD14A5FDD3A84943D53652AB2E5215A53F222AD22A912A95D09434691A96D42484CD82D8C6313660F0021E2F637BF6B7F63BD71EE3B004AAD8943E74FDDEBB6FBBE73BDFF9CEB977905CD7A5A9DCB66FDF2E37B464CA0EED7BF929C771D6A215A1DB3F7BF6EC4BC5C5C50D86619C4FA552AFD5D7D79FBCD97756573F94E3F54A25966596388E5BACE8DEAA646CB8D4B6ED0AC7B54B5C72F26589F2544D0D1A6652752C53B1AC8C34140D3D92C91C7E7DE2BBA4C90060CE9C079E5414FAB1EEF505144551655951BC1E9FE2F17A94803F2E37357E20C1D0D10F4A9268353535645916A9AA4ABAAED3C8C8C82E5996B7ECDFBFDF9AF8EED56B9F7E269D4E7CC776AC200CF313391E2393941CDB22C7B1D1F00E4DA54C3A45AEEBA08DF6B9F8671829B24D936CC72455C9757BBAF502D7AD8F4E7CBFFA590CAF9EB7EE29DB8E3FAFE96EAEC71B204526F2787DD86B547047907CFA20B5B7B7515151D1B8E1D9B675EB563A72E408EDD8B183B66CD942A6696E181E1EFE21AEFD124E712469BBBCF4DEAE37755DF9924336CCB149F77828191FFEC41818402393260B868211E4D8360CB6D1EF212BA3000C09CF6A944CCB6DD3EF946A4AA7AF9C01A6CC721D276C99B67DD3004CBF73D53272E8BB92242B5E7F8E2F9588953BAE59A76B5EC984FBE34983FC012F0D0E8F5069914A663A427E4F2E85C3E14F181E080468D1A24504FAD3E9D3A7299D4E533018246662341A7DAEA0A0E065DC172D2EFEE22B3D9DDA5A609181370D78DF51350DB6996039A803EE4A18972B39E4F5FAF474DA56F09C26498A228182966D2992EA4AB2634BA699224919AE4A8CD8F5CC8E2C733CDE52E78600948457CDD31477B722A72B555D23CD0316BA69CACB0FC0237E723070F6B8D71FC4DD0A4D0BC974776D1EBDF8E2EF69DDBAF554575747080BD110FF82EE393939B467CF1EB0A39D962C590CC307299148D0E0E0A00FFB4D55550FFC23BFF8AEA53056C140D16C0F0F58C7F713C918B9592310062E7B5B5705991DA6BFCD94B78481B2228115C6756D736C3D225FEF6259D98A7049C57D1F4976B4D9B1472A11DA04E7930D9A29A01D8006ED0C02D800C287631E8C431B1F5E492B57AEA4542A4D8D8D8D54585828E8BE7CF9729A31638600E0D0A143A29594DC41F3E7CFA3B6B6760E012A2D2D0550C1C772A7CD3C022A5732601039011C9847A02E460D3E641BC067A798D0177604DF27346D82ACB9E37FAEDE5229E9C05522585ABABCC826F34DD78D2D01C52455F390A67959BE888F75DD4FFC88A2688201AAAAF398C4B9EBC8F4E8965AD7B62DE9F8B183D4D8749AEEBA6B2ECD9C399372737385972F5CB840897894423941BAD0D54B3D3D1705231E7FFC713A70E0287574F9F13D7D9CA6D9BDD7E7A5446C78ACEF72BF0600D2C9B83866CFDBB639C60C6829DC6B421F1C8820DFCF6C6196F01E1EA45432FCE8550014142D3B40B2B902B1C42E279FD74F06BCCB0F0483B978282DBC2F83F67EC46E1AB1CFB7CAF817ED8F5A0F3E50E2A8AAABB34735D581C7C018A8A384BC641A16A510F3A7DB3A29D2D72FE27FC58A15B479F36642ECD3B79F7889924953B86C54D1055185571914C3C85CEEE73D344591652180973D0D0195C525D7B27013B15638FC0AEEC30138E5CA49DB96FA00CC83E30084C36B4B5DDD7EC7480FD6282AF4032AAAC2F3201F62490710011CC31049119EF7A099B603E37401466F57976B8E9CDAB57871850C357F18698D38F571CB6432E38D8DF67ABD545B5B4BCB962DA3D2B20A3AD93C48A98C45C3C371B02385941803E6560C8355317EC5656A49AE0C10E44C3A29C106098497D9939C30441ACCA424F6FAA897D96E2FB9E6C55715259D18CDBE922C684C94443BAE69DADBE7CF9FEF550B2BBF1252D2436F19E9BEFB48381706C16336C718C496E35B03F50D8E7D18EA012358CDD91805F437C18EF31FB79C5B30D77D2F5C57BB1E2FED614AB3E1C96452EC3936B96FFAF4E94213CACBCBC5B96107E8EDFDBDF8168DE56F15AC2A80AB90585DBB8029EDDA8EA0AFAA29944E25484628F0B99DA5349A1058243491F25C59F41B192F52A97B02638D4F5401389C0168C55EF4AB9981C1138A62CF94A43C41531615213E784403BD4CC3149EF6683E523DA0215455C64505A024E249EA6C6DF95B28D8F5627BBBE34622A177E6CC99F34D185E8D97CB2C5A5C03E4E7E70B81F3701E4F6500B0421D3D32F547E3A38A0DA06D1760435C39CE4D33230A19A63BB1B08930D047A92E42C01162C8B1C0E125E25DB899281BD18958AA252FD77C1D8E4F4F040063B2E1FD04B42809105C351EB5EE46F952884B79782B9A5520CB4E115E8692D5CC475F059857E50B648A343D198420EA0C888DF8CAF50F1F2B2F1B6C1C1A327220825150FF6C4343C3F750E6FE1C54DF88CA4E881FCEE9CC993334128BD18F9E7D9EF6ED6DA0E34DE788AF33E8F014071704D6432600D6B07746E93DEA7D0063A2AA1BB570D41A0685955F45489A56661C18018E84F718B1BFC0FB9D5D5D5DE6351200DBEE5E550A73A0C0836A3C1E0FE0D0CB652DCA557C5F55009C8A7B316679497575F5B2B2B2B21A205983FB8A2E5DBA6444229153C8E31FC462B177E1F50B78DDB19E9E1E2E6EC6DF3F73D66C7AE157BF468CC7E9B96776C0A38E90281E02D397F5866B1C368CC38C4351C65E13AC445EE708C61F597205681CD1BA176910E1C862499223C4D14883A376DFA2A1A1D666572072FDEDAA2CC062813A5D8137658402AA2893EF9150ADC90043C6B902119311DB1ACE0388EBCFA1AA5B0AB01640176A01406E7F7F7F0CE0B8030303211C7FE2FDCFFFEC17149E31931A8E1EA6543C46797979223D721CB3D19C3DFAFB07D006298E108BC713682988A781487193966583D24A46925403E26BC9B28A92418A23DA4C0C53838F6CEC9BF3F22EFDA0B7B777C8BDC164E7532743CC882BBBF8CFAA55ABA4BEBE3E567B19834785AAE90085ABB8108A9DFBC0923A80F120BC1FEEECEC1C9F04319597DE732F3DB6ED5B3430D04F675A9A0400DDDDDD4230597BF02E71DFC58B17B9541E866EECC5F900AE758385231CC6DC306E8020F19E4B60154DE7635C1BC6F73FC4FE0CBE9DB951A5FBA9A5F035D09B786E8F19C6B5660AA113C7B4368A70E8C1636F8642A13F43E9DFF7F97C12C73A7B980D6B6F6B8577FBC8E70BA0B8F18B17718588FB517D960940F8B3BB77EFE64A3217978FA29D44DF084048E27B291CA7F12E68A2E9003076A2CC2CC57519FD26C01C42389A3733C7513FEB54780C246E483B12CB31A3CEB97704E9EE8369D3A6AD60CF6601E07DD3C913B460711D05F3F2C9469AE609124F8826128E8FF95E84D442B08B05AD1F0C30709F8D39847D13C3726F0900D701433064CD9A357F6400B816C81ACFADE34C1B55CEAB41CAF592641BA28F59926D5C2C710AE5062FAF643CA0E6480364816193BA82234FE56A90DFEF7F0D35409A8B9E890D61417D88F10C048FE4D198CF02C400B01E209C44B105F6940F0D0D2D0390FA548C714A0178E38D379288ED835702C06D682002030D4A607EC0C297153F6E9C3AB3A5346FD86FF0B1688C89F0646E2A4DF106005E8357D764E93F510B5C143D49549A29B482092070EA440A1D7F07C2E07EEC5810A3A309FFFF8401BC219DBDCA0ACF5E67A1CB1E7353904898053D91015126F35A01629CB880426135515B0AC188D5E170D87B8DD47C7B320053DC208CFD06AAC6E59C9B11D3B9484DACEA9415C559B366A192CBA1AE4B11CC376C01C2B973E7886B07AE0D266E60C10A88E25F7118BFAD0158B76E5D1886FC04F9E0EBDDDD17FD5E085E30E017CB599CE72168C2C3BC3072F0E041AA5B7A0F858A2BA8A5FD1CC511F7BC4CC6F3862B37844C020C51C674C0BD2D01A8ACAC7C14C6BF022F8B6570F628CFFD3D1E34ECBD984AF3129A24AB6286C86A7FE4F08794136AA1282AC37B1654D3A953A70853EA2B2BD238324A3D42C1984CE327150018F465B43F71098BC18A18E73DB751103CE371CEF477A5E92880428211B19161FAE8C8FBE418496A696EBEF2D516B4E30F78867F4449BA93FC4B8E3459EF83F7DF837A7F7EA2E12C7A3C1DE64A8F733F03C10070AEC75C422C8D279219DAB76F2FB59DFE584C834DE372F9CECF5554541C04A39E45FC9F80408EDC6876F73F63000C9C915577363AABF6EC750682016110B88F7F11E2F392921251F7CFADAEA4BFEF798BF6BEFBCF6C0125E607BC9802F15C8C50C9B9A2CABCFD0040DE7EA9B0B0F005AEFBD9780601D59B98DCF09ECFD930DEDADADA68E1C28522EFB35D5CF16DD9FC08A98A44F5F5FFA6D5AB578B4A301E8FB34EF8A1015F056B1AF0686CB24198B43A00CAFE5B78DA6183B35E640A33180C007B93D31EF7F36228A82D5682991159B66CDCF808FAC3FC0389309ED709D0DC27560E54833521CC3895DBB614E6F9F9D9B36757C14037FB0B5056F0B2951FF773895B555525006160B2ACE0EBAC116BD7AE116B0163C6679EDE7071E00B77A44A9F9A1B9B0F2D5026BB109AD44A1003AF6F6D6D5DCBAB416C685660B333BBA6A626426124567DD840A63EDF93058BEF61701C3316FBDAA2EEBE9D1BCF5BBE26F75FBFDB1FFAFE6F9A03EFF6F6F69A939D0526BD10EAE8E8D80B719B555BBBE018285E905D22CFAE0DF254373BC9614630180C04E77EAE12B9482A5133AF2E8CA4CD939DFAD1E6B8F7D487D19CD648E44262B233C0A4A6C16B54847E78F9D94030F4E4DD8B16E4F17710C3E321C11B4F7A9829BC7138302B76EEDCD98D14B91521D1028062E8B79B9B9BEDA9307E4A01E06DD3A64D0F41CD0FA3D8794892946D256565F32BCACBFD9AAA2003A8C2684E933CF1E9E838EF1C38B07F17C2E0A7604537263E23C78F1FB7DD29FE2F2C530A000BD6FAF5EB7981B210AABE0B4A1E445A3BD2D8D8D80AC19B91975730379E8C75A61289F7912623309E633C8D5837A6CAE3B714806DDBB62DC6ECEE308C8D20436C408CBBF0EE19507FE8D3E6F553EDF55BB62002FA5F422DF00AB24213629D7F8F93607CDCE51F026F934DBA55608FFD3AFB5FADD8DE8AED3FC7289D2663EC3BED0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (141,1,'Satellite_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000003B080600000084D18F0C0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001A4F4944415478DAE55B09741DD579FE67E6EDEF69B1B55A12B6E47DC70613969098CD6C095B4DA1E0B027262929D0F42487D052E224A714DA2C276DC3499AC0490A760A384B4981938425D80683C5E245C6B22D6FB26C5992B5BFFDBD997EDF7D739F9F8404C1349182C7BE674677EE9BE5FBFEFFFBFFBB8CE1388E8CC7CDE07FC3986559D6755EAFF70C3CE70C8FC723454545F13973E6EC2A2D2DDD964C260FB2C462B1B75E79E595B63FEAF3605BB870594532E9D4DAB654DB4676929DB6A764B3D97ADBC9D6F8FCC1BA446C206C3B99886367028E93F166ED9465182589AECE3723787E7BC4EB8E05015555E7464A4A4AEBE2F1EE72CBF2977BBD9E0A11B3D4B6ED229F3F34D1F224E774756C5ED4DFDF3511EFAD01107DECF3F964D9B265323030208140401289441AE5B1542AF5CFEBD6ADDBF97EF75FBCF8CA52C709D698A65369DBE94A478CF24038D210EBEFF1DB76B60C80563AB65D95B5ED0922769198463018087A9389A8E1A84770C4B1B382B6425CB9F778BC924CC686D4B14D3259D9DADBB37EF2A8C4FE290868683837609AE6539695BDD8B2C4F20522629A161ED016BF3F2C1EAF4FEC6C56CACBCB01EE5169DCB40E2F60CB48E0EBE3DB6EBB4DD6AC5943F001E862B58FC7E3363CE296F5EBD7FF9733CA8B9DBFEC4B7F93B193FF0A807C0A448065991E5CD89664621880D8673369B1E0793C97CDA6F3F52441FD77B2A4430CD3945432AE40D7BF374DAF1C3E145EE5381BBF36260418C6126F4D9DFFB1805F961B866379BD01F1FA02302A5B4C584C004438B6A3009836A3464CE990CD9BDF1E11F4C2BA891327CAFDF7DF2F77DF7DB7ECDAB54BE6CE9D2BD5D5D52480E5E8E0E0E0FCC6C6C60EA25448C4F9977CF9B16C2AB1C2115B110CA950FB40282CD1C1DE7759B5B662AF3F28319CB7B3194542AE64D5DFF016F1F9E185F1681E7C4772CFEBD8C5D2D7E75990C96C6C1AC92088CF1F8500806455579FFE88CF6FAF809B5B0418D2A2AC5E49088E3D1E1FAC0B0FEFF3C8D4866249A77BA5B7B74FBDD84816AF8FFD7EBFDC70C30D525C5C2CF7DD779FBCF3CE3BAA7EC58A15B27FFF7E45C2912347D61E3D7AF433D8A788C3C28537841C27F5B23FE03D25EB82AA80C2DEA2F7810402686761F136C177545D6EEF80A09044FB07708ED223CA6BB4A23B64D330B2A8CDE05DB37859FC266DC3E040035F26DB0F2271FF4C00F5F0BA8C07B1C1B4B329C3E32D4F7C280266CCB8D41F4D467F04002603268F6979AC60281C8847A3663A632FB00C5322452532188D8A65007CCB809C5AA89BA0F4920F396FA609500D79E185E7E5820B964926931915FC8A8A0A39F3CC339507BCF4D24BF2F4D34FCBF6EDDB65FEFCF9B260C102E9ECEC5404ECDCB9330E226742F6BA484269E9790FE3122B6D051A4C569CA4639829E096320D33EDF37BF10C3E23934E0230876A62D263716C198E0D7D72AC5024E21B18E8B5C09289406BE619A00E194E6E8F0D1008AEE37A8FAD3C44936DBB7BCA16CFFBFCD353C74500C030A7CDBAE48974AAEF4A68A765D2C2212D16AD3A4BEDF3280B0F0423928686024655C7F3A110AD3DAD9C744A6D56AA2B83F2AB5FFE5CF6ED6F9555AB56494F4F8F0251838F0C482291884C983041CACACAF0FB90B4B6B6CA73CF3DA7C06F6B6B937BEEF98ABCFDF6162D41D2D4D44422EFC0EF9EE8EAEAEA3BE5B4DBA1C1D9BFC3F5FCD039756F926FE3DD0946280C091AE8CF4B4A5EC73560307206FE786CF0189836BD2593FB0D258981D88B58014F2206AADDBBCAD0FA4C7AEA6B1F98804975677FCF71A29F17C978292904351008AB9741262396E5113FFEF6587EF550941F788622C80BE949A7928A8C59D34B65F1822A09068372D75D77AA2C62E5CA95B27CF97255A734162F1985F774747450569882CAA143871027362BE92101D7FCE55FE0FA5E3970A05581CF60BC67CF1EEE7F3769D2A4CF974E3CEFCE60387C2741CBB860516A60C58A09821608041103FA5D2B768B0B1249807740A21884337910ED0219D3C7B4FE5432E15A7BCE0394B58FE001A6E993FEBE9A07FF6002AA6ACEBEDF90E8570D33E327F004D1EB0B0270B85C262BBA8EE0E7B2055A998962C1C24A941565D3F070B7DD1DB75F2CB5934A05A9A3DC74E3671491B367CF96EBAFBF5ECE3FFF7C955EF6F6F64A77773702599F40D301F2016969695181975E70E515974A32950111CD0A787AD6D4A95365F7EEDDB263C78EF8FC936F583FA1BC7AD931B7CF0192C9A4DD809A913048ED3DDAA98E69D18EAA67DB4C3EDB09854332D0DFEB026EBBF5B973EA9FC330003235016E9D6A5760F1B6FB1C2AFB0B54C9D1AEC0F2F72560D24967DF654AF28164AA37A864C462F1AA6C86190C01364102FFF678FC7909A2D5E764280C574BAB76865B6F818415572FC0794369FEA6D75E965FFCEA3999366D9AD4D7D74B5D5D9D5456562AE9E186AC46E9FBC1830715F025454139EDB453E4D58D6F49178841EAA908B8F6DA6B716F53C951674FB51415570DD35D3B07ACABCDE87F28B0281BC72CB6D0AAB3002A20F1E8A0FA9DEDD879126D9724DB3D56F2C334362F63C7FA02B938E00C9120CB3A095E67D58E4A4045F5C7AF739CBE87D3A9DE1205B26BB994121CA818C43A5A3425287703C95BB81FA99BC7F2490AE0E77E9B6BEBD8A6B4EDEF48FFF517CE80CD381E1240D206FA0EC1B2F74A0631AFBCBC426539D45D9E8FC5A220312EE5138B91910461E1076477CB7E053AC167DB9B6FBE59F507DEDEBC5D56FF6C2BC3E131409D9135B904C1BCBBF348411BA700A89C0C85224578B61ED7AAB534690B77DC4C280B430B214644DD3A6784BD1CEB3BE0DFE040E87036DB58372201EC7617159FF1135FC839DD319C691012A2A72425182E82DB277115155A15A821D425A0BF6268A0D10EC112B822D5A416F10A96CA8078DCBEF780F3B1538A06EAEA42C5045F9380344E2ACB42A27BEDA6090F816C2552694851BFEC6A69853744956C11784A0EB3A26BAEB9464A4A4A54EC58BD7A9DAC5DFBAA7A61CA5EAEB32479308E81F6C7E8FFA88B2205CD0511EC758FCD718FD36811C35F0C38CF3ACEA62F8F48C0A486A55F75B2D1FB1C27AD64474B8A1F41D4CE9939C8800C2187F6C1D219DCD8C670DB86C2C56E96E00CA94F26D3D2B2756B3A136FFBC679E7359403F83B19643501DCEB4270B927D83C66E1310BE30ED3CEB3CE3A4BC996054F6BD9DFA792808ECE3E04E1C312C3750D4825B2A02EC8668C76651A0E28E66082C134931E68C078BCB1D80054C28675B8E76DC752F605778531102313E41AF104FB0A598375C4D72ED0F844CC680E07DB5FE14338C49BD6EA265CEAC1003E4A27CA9B38F73ADAB422A1480E21A072CA276E133BFADD6C3A1AD1A0AB94D2EBCF759C5C4095140178EE49880699B14169663C817A23274756EE5CB43F2A8347DAB2E72E9D641D38B06B1B34FD89458B16DD8F406B319564FA391A09DC988E22AB913973E6C8AC59B3547C60A04EA77DD2D834083D4D0E91171A5E001EA1D2CB42E9B187CA1033A05874E0DD1235AC9DCFE71712A0EB15F8B6962D4B0E1D887754551D7E7C9890105FC3F5B814E2D311546DC6BE09F2DA896421A308A8A8FDC495A6117F3419EF2A2D04DE70D347C60045139508C42AABCF303F365DF01907428AA80C523C92C5B4926321BC46E7E10E69DBB5E399FA29B1FF9D3B77C68DC8E74F07FB29DCBB070F5345AB8EC5622AE5A4B4B0F0B998F313E8D2D25295821270164A0D4B5F2C2CCD7BA2EA5972430BC7860F8A8A8AA5B7AFDB0D8AF690A0980BC27C4E2604260C263A346B51836D2EF8E2A836267AB8C944DC8D032EF04445797A44FABBFB7F535EDEF5C448A39E001D76EA64B0EF46D98763D85C5B14FBAC515C76FA3A71BA3FEE48D6606AA57C86F93DDCDAEB635663E7B317663A7E145429903559C16051EEE55C42743DDBEDDAB2239D49747E77E2C4CEE75CF734274F9E7C614D4DCD670074950EA42481F97E189D22824B8B27D81CA0639065B6D3D03055BA3A3BD4F9B60E1F321D53C5099D0E528229BF0A5864250910CA38E0B8F52A2AE407D21C9528407E46B57A9DF1F895F5C7DC6CCA191AB4D1A6AF272076A6FDB39148EF2618549686AFBBC6F0602717CF4C444449E29AFD30AA28ADDFC9B9C7E95FC7898B5026E037A5F8F104CB637AFC012F3377E1D806070B6905C170102E9F02B8864A3D99F7869125241094A9CB5AEB496022969643BB5B8F04FD3DF71515F5ED26F0AE1ED2223270C1504343C34AC8CC159A04BE3007D5AAAAAAF2FBC3870FCBA64D9BE493E79C278B169F224FACF96FE98ED6E18102C7C674DCCC250798A37AB68303BD4300559E80F66A2C289B038F4310D1C101954EEA7AFB5DF97B4ECA7232E5BCEB1CE361C7214F7B55E5FE33814137DE23E3BEE390E00A021C18958377CABEF1C61B593D38374A1674769148B40C17AC308C6C256A2A505D86FD448EDBE3E638CECE0401D5909A62784B103265A6327C284391E6F7A5E275B589D707077B9A202D9B70AD83CC10E88A7818BADF00FE4E4C9932652D0858421298EF53E75127F012D5DBDDB973A72C3DF77CB9ECCAAB544C78F2A98DB27B6F8F0BC4B10E8FEEFCD06B08347BAE8592A2BCC370ED12D884C31158FF603EE3325C2F6213BB80584A693A95C8F70B48B2E8610A75FD08F4BFFBF1D2D2FD7721DE33BBC9E6078646CC9386023E6A1A8A9D67C284093E001744F1B2E0E626DCDBE21EBF4395A53204005C0D99B8F4A4934E9A535D5D3BB3BCBC72726969D84B4039698207CB405EF6E2781B4A2380FC1D3C602F7E9F4087EB6AC8CF238C010CC61C4E18BE7DFAB2CBE5E6CFAE5441BA69DB3EF9C6FDABDDBE85A1B4D974355A8D968200F6C44D8E25A93AC91D9B2AF7112A16EB42882D1CDBD16A61E407D572BD5CC71D8EF007FCAA9D1490AC3CCB3D1F8F452493ECBEDEEF3FFC3F4824E2A3CD7C7DA0F9009700133AED05501E0064F9FD7E137A46F00D14B5874B99EEB1D276971C0BED66435ECE41B09D034D9F0DCD3B09AE69900C16643E89FEFEFE3741DC3A5C7B23885B0D0282EDEDED2A100FDFD8217BF83F1F157F30A048786ACD2F65A03FAEB22E965C47D1E3667BA6F2C20CBC311E4F4A7B7B87F4F70FC2DA93707B3301EC3C36D24C3CBE49A7E0BCCFFB7509148924D9CCF54D1491566E841652DB55597960098CA91D3DF594F3013B18A3F6845D128C534F3DD5ECEBEB3300AA01B04C7790CCC09EA0333B315D52541DF36512052BF7D06B501742DD92DADADA8F613F1FA4CD47DB0AED1D2C202E8D3A2F3C458DFB8CB4DD7CDBE7E49CF32E505ABD67F72ED9B77BA7CA9218B4F94C248E8FCC67E2DF7A7882B2A58F472AEEF0770224C6D0B78923CB43F1260DC3934249B293CEEE088822695E40E201C15E8634BC2E7EE36C88440EFD3B9EBD97F2FA814796DF8B30430FC6BB7F8ED64CEF41165FCA001806A4C40438162CDB0BEBF1B1A08D1F60842B2A2A16A3E77A2AFE5E0C8016A36D984071F08D99D008CF219508C85F7FE05F14C04900D7F8EA3A35394312D88760D6A483F94820B31ECFD2876BB581EC410E313116A1B4E37C27EAE26E8CCAAAF410A9A3FBFA4A6E45299961152413F0267B1F8C672BDE77FFF1C8CFFB12F001E7088C518831EBEBEB4D58BC07807948043CC9CBB179B714B15F00ABFD365EC4C7592D5E8A2ECFCC2AE7FAB9F2B92F7C51A6CD98A92CBC65E73B1243278B04F01D3804CDF624855EC17E03FB0FFC1D07F0DE7EFB6D964E6457DF427B58B9916236E6829D75938314AECD0E133D3293EB477182C624F016F79458F7BD38DB7604A515CFD0ADD3CA3123E00F204649DAF4E9D34DC80E638A17D6499922093E78C5F760A557102C47F5AE8F01AF89983E73A65CB3E22645C020C03FB86797224017023FFC981EF5FAEBAF4B6363A3DA23B1F82748218703BA69C50412F723E069DC2343E0713F962C9E47E54CF02E956C900CC63BD555425E8F1287E70E70D6ED78ACFF4F42C07B9021F3E6CDB3A0F92652470F24E95200FB04F37ECAD170EBD744ACB8E5731241C78C241CDEBF473C088885248C4400FB1124807B48C633E8DC3D0020DB703C08F949E3FE1978A88DEBB330E8DB38970786F1AF70CF78C7BC1ECF6C3735356565D8E4FFB825E0BD084126E4AFABAB3BD8D9D93991A9E84812C4326FE12259B4E474158C39CE93414F9640B3773C12119C4923F0E8FCA83DDEF728B2BBCBB1DF8DEBF52173C914E4ED1F180CE74302688C97957124E39C73CEF90ED2D3BB504694201606DB659FBE52F540B31CB48BF549D01D1FD2A0171E53D2083E3D807B6E488BEF467C588BC3CEE3491DFF5FDF7B3C2D4DBCE4924B66C1FA77701A7224F9D1C7B3E79F2C655593940C493A2991A02F3F40379C004E4F12FC37DF7C53CD25730389CF4186FE161ADF8A7BC58F57BF3F720470BBECB2CB364036CE1A4D8258C7B199190B16AB8142F64A2B8A8E8D900E2781A0BFF5D65BCAFA77ECD8A1BDADBFAAAAEA6210D80CC9EB3F9EFCFD234BC075D75DB71281F8073A151D8D88BA86195CD2A0BCA0A2382C65134A860C55B3F0DD987ED2FA4902535CBD21487F1532F438EED331963234EE08B8E9A69BCA200B9D00D6184D82583857EB0997AA601C42EE3FABBE7608013CE64A0A7A80DB07E09854FE3EC8725E44FFE38BE8931C7727EA234900B76BAFBDB60DA968CD6812A48F4900E78BE905A72D982DA525C543266D3892BA65CB963C09EC0DE75FDC3062E87B5C8C94723B176F8D950C8D4B026EB9E596A76099CB47939F7CBD2F205DFD3145407DED24593867469E000E4170851C09D8BA75AB343737BFEB3E90A1AF2397FF31A70AC74A86C615014C451103EA90A5DC0850BEC9593202C9A16A76CE083447463959C3754324A1AD7B406289A4782D8F5C75F1B92AF092000E4D70E5DCB66DDB14015C57347C830C6DC0B556E29AFBD17E4C64685C1000D04F4240BCDDEFF7DF0650AA59A74734D929E3C829FB061C29E5C01BB59DE49C76DA69321BD9D0C18E2ED5FEDCB33E26F366CD506D99F19000167A826DDB2311B00544DE8673BBDBDBDB07382E74421100E0CF2F2A2ABA0316783940B3A2B0F4E2A2A2FC8A0776BAD4A2AD81813CF8EC23900006548E9EB26DC3ECF9326972BDD45456C8F24F5DA8962E52FF3509238DB072C37D5F401CB80F443423431A9338302604705877EEDCB9CF783CDE0B3300983D5A356C9CCD88CFCB4E5548FCFE80FA3285335F5C42180E05A404419664504E480081D5336835931B64FABC93E5E2A567495747BB2281BA4F2246DB40DEC3C5C5C58F80E416F43DFA4F080F40D0AB47FAB71D12122498D4745A3AF7FAB8B0704E967BCB5D979448C4253638807D4C7943A175979455C8B9175C245E3BA97AC02481F235D2866B6E83F5FF230E9B407EDB58F588FFD4A3A1812953A61C867470F585029CE3F77A4FA0F5DF4349F0A880AB8A3AF6492F246957F33BD2DA7A60C83C724DFD34A9AD2C933D2D2D4AAA46798E0118C13DB87623AEB91719502FAA331FF92C082F7E6B4D4DCD8F99D568ABD74306045E17ED0D9A0812A00B53500654F66AA7CF9C2D2DBB5BE4F72FBD001262FA1E5259532747DA5A477C06C496A3909E6FE13E1BF1E76ECE867D98F1FC3F2B02AAAAAA9EC50B5F4C90B8D88A8196A06ACB676150652924A2D00B1894F991063F57E235B825D35979F9F72FCB6B1B37E41661B973C3C3B78686062E7DEF6C6969F90ADA6CC1B3EC1D2BED1F130260FDCFC382CF7327F3F3ABE0F4D0013D4103CDBF093EDB9010D6EB09775A3F17E7EA8DF5F48A8DAF35CA534FFE6C08F824A3B6B6567D77405219EC914DFD88057FEFDAB76F5FDF09430040FC2B643F6BF4AA6776A80A4730F52C962686C7941C82AE25888195E0F39C065F134370D7ADDF203F5BB35AD54D9F3E5DAD9EE6EFF404BDDBB7E8441675333C6B0BCE758084F4093118076BF49C7CF2C9030CC6048C5EC02F1E0B812F72FB01DAF249849621663CDAFAD98ED64DCBCFB869AC2EEB376C90D58F3F2E4B962C515255087E0109F7E277BF403900321227CC601CD2D007E1055FA11C300DA534106C0D380BC1A5BEF3A30BEE490EC1FEF5AF7F2D575C71853AE63A20ED199A00FD911ECB238F3C2A070FB6AAE5ECC3C1CF6612C9CBEAFB7EF86473E4A763D907181302005E78E1C2857B2B689A726CDDBFB67EED019A045DC74135B6A3A45096B8B97AAEC8501F84B832C442A97AF0C107E58C33CE103DA6A4BEAA49C5E3DFBBB3C3986BA4335F7A74E2756F74075E8397F51EEFB2923F3B025C12428B162D3A823E4184430C04555BBFF6040D3E8F69F19C50BFEAAAAB1461FC5B7F2DA381E5F80F89E0A01DDF89F50F3DF4905A1BA4DB5846ACEBE13B3A9C868174C50F7E13F9DA82702AF5F79B8A7F18AAAAEA6F6A6A3A7108E0868E50F1E4C9935B017E31258429E27029D2452D4FFFE427D5B702CC90B4EEEB4F97F4F705EEEA37256D3CFFFCF3CFCB3BDBB724E7D5C7A24B67F57A2EAC884676BFE969DC79D4BBEEDFF694AE194CDA6DF09ABECECE4E4E143827DC7034002D82176C4136544F02746AAA3D8185BA4E2FA194A86F10DC1C5F4B4E21119A040ED2F19B622E6FBFDAFBF48EB3E66466BEF45AE0270BC3C94B7E7E2872EF4F0F96BECAE5297A51D558813FE604E80D72F4C5AAAAEAEFCE9E3DCB6256549892723C7FE9D2A54A7AF4648C880C21412FCEE51C00C96280A7B77CFFFB0FF73BF1DEBBEE99D933F5DE6D13562F2A493B274F4C998F1D286EC3F512483F3363B92262DC10C06DF9F2E5F7C06A67D4D64EBE71C992C51E12C0C13612C22F650A67C6F47A2E5A3D3FDEE6980FB321F62B721FEEA5956CAD59B3E63F1003D6A0FD01FCBE97ABE0406A1601D776ADDE1EEBF71E37045C7EF9E521E4FBDF58BB76EDBD3366CCBAAFA161EAED955515E5A79E720AFA01DEFC601CC1D7F301FC9B33630CD8DA1B08FEFAF51B9C679F7DE61190F823B469435CE846B6C475A0CE58CACDB82680DBD5575F7D139EA779EBD6AD6FCD9B37EFDBCDCDCD2F76F7F65E346DEAF44F81902ABFDF6BB25356890C76625999FAF2854F4F4FA1E6B71D6C4BEDDCD9DCD8D3D3FD10C0DF8E537DD4790459EABC3D9E801F9704AC5AB5CADCBC79F36F11781703E83D870E1D7A08127215AC388254F20D04D5571160F941C82458FD82E292093503FDDC7A5F4700DF00F919841770582181F3043D05B9F9508B674F3802366CD8B00B32331520271128BF830ED55B8383839DFCC80FCFCAD99724759CED418AFA3A47FF9E2B964182AD357E3C033F2E094020BEBAA3A3E3491E23155D0B6FF8079011E1172DB0EC0EE8FD805E0EFE5ED719EFA08F5B026EBCF1C6F908960FA0237529329F4B5E7CF145CE58F9F8D50ABC21E67E5D3FE699CB479600BDDD7AEBAD173DFAE8A3BFD51F7020D524E8D98F1AF8E39680FCC3157C77F6E7242B1F64FB3FF7E7202373868E600000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (142,1,'Satellite_antenna_(128)',decode('89504E470D0A1A0A0000000D494844520000005C00000080080600000086130E0C0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00003AF74944415478DAED5D07605455D63EEFCD9B3E99992433939E1048680955429122010958168115140B62FFADBFBABB967577D1DD5F45DC75577157D9752DABD8B060A1F75E4312080910427AAFD3CB6BFFB9774A26805B145877E1EAE5BE79EFCDCBBCEF9E7BCE77CE6D20CB325CEC79F2DCFB0D00C05E88BFC5C2A5041A29D017C1902EC4DFBAE8017F6AF1FB598204FC85FA7B97249C95666CF8FC2FE59700BF00E9AB4D8786A25AEDBEA0F57B31032EB1EC635A9FF4E925C02F40EAEC748E6365E85AB468A1EF12E0E7318DCD9F73DDE2A57F7BABD5EE7AADA6AE7EF9053719171BE0E3A7143C6DF7CAB72F59FA8EEED8B1634F330C734131E02E26B09F7EF983FCCBC78ECE8B35EAE07875CBC0C2FD7B0F5D28FE7D51021E63303C9E9A100B033213A0DBE5851863CC4B17FA3730C4DDFC6F4C43F30A0627A525BFFA9B67170DF5F87869E7BEE25D1D1D1D737272870091F09AC6F60D8FDD56507049879F0BC33865F62B268BE508A3504F7DEFA32F0D20CBBAFC3103E7B4D457C1EE9DDB61F3D6ED7068FFBE3FFD3B7EDB7F95844F99B12057E6E4757AA3293936D60246B319F4861850A9D46088319E18DC2F35C9DDDD1CD3D8D40423464FB0975634BEF8F0CDF92F5C02FC3BA469336F79CD1710EE8FB32632B6842488B72640BCC50A669311F43A35700A16BC3E3F74763BDB620C3AEF808CC4C418835675F050E94B77DD74D5E39700FF27D3FFFDF6B54C8F3BB0ACB4BC7C9A2F204342722A2426A54042522A2425C44192C504965803A8551CB83C0168EB7442635B373435B7417B6B1334D6D58866459776D9B265172480F51FCB529E7DF65936CED6F76105A3FC3F96E1FD030664DFEBF5066E71076022A7548152A5028D5A0906946E8BD900B1263D34B7D9C1EDF5D3F32A95125896054EA954387CBA07F191BFBF04F8B7A48FBF58959B9639E44DB7C733061D971583FA672D038679CDEE74D61D2C3D71B7D7EB59EA763935DD0E0DA8380E02BC08CA962E54293C74DADD60777AC1E37683D7EB05BFCF077E8FE7EE0B05F87F944A595156A6D2D5753CED717B9E42B0DB3C1EDF03B983FBF773385DCF38EC8E676FBAF147BFC3DBE4DB1E7936DD6CB62E8A8B8BBF2DC6685668B51A50A00EE70591026DEFEE82AECE76E8686B45B5D20CDD5DEDF265532E332C5BB4C87309F050DA5F746C9CCFED21523DC8E3F1FCC59A6879D9A88D59EA703A321C6ECFFC6BA74F3C74FA776EBEF7A99C40C0B72125233B8941F5210A02F8FD3E40E90787BD1B81EE80AEF63694740FE4E60C7E66E587CB9EBDE8554A59599981E30CCF730CF300AA8F530C0B533232528D5A8D7EA7C0FBBFF47994B3116CF7D9BEBBF59BBF0DC32249A33735F71F3EF965491226F381C00404D84840F7B85D917B1D76FBADC4345CD4127EE040D90C955AF5865AAD4AF5F9FCBFF37ADA5F1424CD73A8226ED06934F70C1E9CF97763D9C9C9C9AF6325FD0F1E3ED9D0D0F0227DE179F3147DCB1B47C4C4C4CCEA97D9E7698FCBFD6A9C256E487656BFB13653A2EDFEFBE7BA2E3A09DFB4697FBC4AABFCBD5AA9BA5506B95896E4395575F5A25EABD9A9D340BB2C8AC310ECBA7FF41C51149F512814BB9A9A9A3E0C9F933FF944C4E2E0BC79779D4AEF93F17466465AD5F1CAAA1D2CC3E48B2C7F1D5E3BAF21DB1F9C6BBF6AEDD61B25462A972479AE0CD25322EF185D52567E05FED05D0CC08713C68F989C97975BF7CF3CAB05536363E3FBD88AC5D3AF7DF2C99B9D28EFDDD8C0B3395EBF0A8F9D0C23DFF86FD3E159432792CAB8B14FD680F9494929FD13935263E21312559C9213650968545396249024C983B906A5B04A96C46A4116AB6451A8167C52D9F34F2DE8F8677FC8F2E56B52D57AC5EB6A95FA5A7CF8760184BB0B0F543A7446EE1B8D469D8D7F69DAB4A9E3F69C63855A495EF5E5971FF5FE7AF1D295E47D3FF86055EC4D375DD375410147B0CDE8107C3CFDEA590583860C0799FC87AA3E32A04542D9A3C70470F259CA44D02763064E124925A0E321C9CF2E5D5186D7B609A2B03D20F2DB96FC6C61F3D95EFBADF73EBB57A554BD28CB2C79F67D0553C72DFBEDD2BF5EAB556BDF9265C57AD1CFCC9D7DFD54C7397F7B99023E2AF82B18A2766E6554CC8FB17CF382013E70647E361A9A55F3E62FC8CECCEA0F61A34A013F0D780AB61C049F1C13A043524F322349620E96394A51BC5F25A9E1D9573FAE1005711BB682ED9200DB6C0659A3E1946FAA34CA89F888AF41E0EFDB5A5DD659B2B8EC35AD4E730B30F0E0EDB7CE79EF7CBDBC0C0C01FCC78585854AD9D7B14186D8767C9F1B2F28E04A25773DCB32D97DFAF60325A7881286D381EF013F02BCD41B7C31027E50EA2551CCC6325B1485BB18DE43AC9A2C28147E9F9B5FD6D664FF6DA0BBD1A2D1EAD6CB1AD925338A910FDC7D53E57935604109573475BAFB2C5AB4A862E91BEFAF6080B967F5D60389574FCE6BBE2080ABD59A346C5FA043EF0C0BFC9F394D2A28E2E4FFA8317370A6B4CB72086C3904BC4C81F77BDCC0BB3B40C9C820E86218AFA4D5F08270AF10F0DE2B310A19384D995B522F690747FD79B7D00A2AE1200B72161615F85244ADDCC709E25C2C979E779672A0B432AD7FFF017712606A6BAA80631534ACC9712C957692496C42A5E4401DCE2A258DC469D41C0D0A91AC3D23AB40A364C1D9DE085D8D27B07644D0C4A50067B0028BCF6FABAF04AFB3138CB6744663B4E568B4864F8D81D8E62797BCFBE613CFBF954F0255E7E3E52559AC0C8140008787EEBB65271675701ED94AAF17E103F093D878AB13D50A6CDDBC01ED08D0180417CE51C053F095047C456FE031AB09F82A65A402BCEE6E282BDA03ED4D7560B6244372762E184C667074B543E9811DA8C654D067701EC4982D802A05B316B45A9D59A7D5DDA9D1E936070CFDEA9E5CF2CEEF1E7FFEED91E7F2E58D4AA101E5DB2F334C56A401037C84795C515179C67905BCB0F084A5B9ADF3EE384BF2AF394E59D7D9DE0E470E17033A0498D9602813B3221A786518F410F0AA20F041B0396CB13294161F80C2DDDB4181AD65E8A871803413F41A0D1C3B520845FBB743FFC1C32067C46830E8F540824C04EC20E8BA68F093755AFD6368480B7FF1BBF78F3DB5E49D5F3EB5F8AF59DFF7E5516F4BA834AB2024E194ACB094AD30A20C379C571D1EE0D40F37B7763A398FF8678EE33CC854FEB261DD6AD0EB743068F060049CA1E013A96768193A0E2AFA68254FF5FCC98A93B06BC736D4DF228C1871190CCC1942DE23A2DB33D128A767F4015B6232A5992235B2588A5230E367811E8BC4D8D2128D2D290760F96B643BBF7EFA77EFEDC77B96FB05FEE33FFCFCAE96EF884125FEDCFEE10F37FEF8AAA2F59BF61C6718763E7E5C725E6229BB8E1F8F69AF77D5141F3EB964D1A3372C2617E6DCFC3FEFB677742E2006F147B366436EEE9008E83DE09F09BCDBED82D5AB5643E5C94A043403A64F2F00736C5C90B79FC662EC0E0778DC1E30C5C6D34AA2A08B7204F0E8320C7E08741AF98BFA8C85B04914F80FBC01CF17AF2E7AE89FE6EC7F7C63F92B197DD2EEF3CE98A4454B493DD2759BF6FCCA1217FBACAC60068E1A3AE0F83957299C5F756F734B27EA0A21D293BDE8A9FFBD73D284712EA24ABE5EF905AA9792A0868320B84C1878CC8A90AA29292E82575F590A1528DD050505B060C12D9090608BD2ED3D7A5DA35181D51207B6042B3217071A631674685C751A256655AFAC8D946A542F54C59C96B50A543F051A9DFE1DA321B60555CE473F7BE1AD71FF94E1642953510E3C521BD1D9ACC47E182CE5F9E75CC2575754A8C51A5755E19163EF2C7AE4C69F1F3C5C354090E1968E2EC72DE8F7F5D9B37717ECD8B1934AD36597E5C1B4E9D3515F2B29BB508424DDDE6D87955F7E09274F9E84FEFDB3E1FA1FCF86B8B8B8B33876610F35CCDF837431C00BF88C6E506B74A0407B2011890E4B7B58D2C3521E5135A41483D7A8B407255E081F0BA415F07BD1C9FA5D55A6E18B4FE6CE15CF06C0D23FBF7F4D667AFA377D52D3A6E7E666AE8FD8B4A2630751A80C23870F18784E75B8A11B9EACF3B82D97E7E5BAD6ED28DDDFD165CFEBEA7254B7773B3F1064F9FD1BE65CF71734A2E3B76EDD06870E15426D5D1D5C3F772E58AD169473161805033B766E87FAFA7AB8FAEAAB60DCD8D1D4F845AB9D6F073EA85E5428FD5A8D0D1CA862142021F0AA289522F7023B1A684154844A2E540921A0B10C02AF1C8B9F57F4AF0B54FF7CC93BAFA035F8EB8B8FDFE1EC2571A0A0D4105D006238D7475D2252FEDB95ABB70E9F75F5E4E27326E19F6F3854842A6178674BA7BFA5AD6B331F10DFF8E54FE77E1DF26DE04455F3E886D6AE7D7BF6EEF36FDEB4592D083CAA0F0E6620B823468CA0AA8480EA75BBA92EF7793D1404638C0174061D18D0E8720AC5194E54D8818A069E80EBF57828782A542F3D122E87245E8C92EE334B21FA7A44D2855005D08AB08BBCF0265E7E75F113B7D652095FBA469D99ADF76466A4BF9233A8CF63E1DF575272224594E5BAFAFAC697665E9BFFC43903FCED15DB720C264331EA554E72FA5D55279B0C0840236270087321C3C885C3C766DFD5E170CEACABAA72ACDFB0CEE8F7FBE9CBF7C7D6367DFA0C888F8F8BF075A2CFC978D480CF8FBC3E00BC1040FDAD069D9E503C3555471166735A7C26ECA106C8F750CD908AC5973E0B73391DE868A98FFA2C844B214AEA692508983F1578E1E5179E5C78E09BB5DB6B33D3D38A730667CE8C06E750F1F1AD75F58D7DAEBB363F132216EC7B3AB72B3F79BBADE8586D312F88F3B5068D9C94616DF30684553E975F42899D8DC8DCDBD2D8A5894D8C33F82568CEEED7575B5B53C391976B47AE7EE0C07EF07A7D9092829EA3820B05DE18541368E850BA8DC61850222F97F17E3F5682CFEB25DC88727AE26011E9A715452B2C784C2A45C9916749B4E490F313EE1FED8429143D9F15A8D614BDCEF7187292597C2EA93C5AB2E418AF2A14B958DEBD654FC99556B381B1C49A2C366BEC1FA3C1696A69573B1CAE5BD66FDCB57E4CDED0BA7302F833CF3C0343FBA79E38545EA3F107C4C91AA5C2014A45A21F89859DF7DCCEFAE145348E355A83DAC7033BB1BDBDF5BD5123470EAFADAD65887A21155F57578B8ED34132C60312915713D5122D0E044852015A1D320C8D963A511295389EDE488C6F18D808F0C4A9226347F0610A4ED1E3EDF602BA37F88A68F0D99E6345C8C023C0083A021F049D668655A46B94AC2DD1126F59FAB76F3AD7EC3E7CB4E0F2617450505D6D7BB5CBED7AD4E970F846E70D5B734E3D4D9DBFE117FE00BFADA5D395101BA39591CAAD44E2BCAAC9DBBCA8A8F6C83A9DDEF028DEE6E2B4A6825355956FCC9E33072C9678048900A5041F4AEF375F7F03AF2E7D05CACA8FA34A10E9B084700E3775A242C8778817A9D71B28A80A04953837A85328301C0245682489C390616A6A02205622F97C26653CF35CF8BC364429CF3C56232D0D7BB55A545B0A62E4198341FFAA41A9ACFBC5EFDE7BE1A9C51FC48E1E3D9074A0AC47D77FEEBC792B14E74CC249CAC9C9910F16D6AC1318F1368F9F37F4498EEBCF319AE98DCD4D837C1ECF5FF6ECDEC9A7F7ED7790E7F96B3CBEC0676DCDF5AA8993A664343735D10135642201A1821DA8668A8A0E414D6D1D242526A154EB223A3A14DB8D483F51E36169236182703898D0451FAA29420F515069B880482B3947EC809253F4A812B6B77487ED88E26CEA25E23384243FF4B759FC9C663343639B1D3D1F568BE726E0A5BB37EF2EF624C5990E399C8E5B65AE6EFBF4A9E3ABCE19E0245D3634C3B5BBF85411EAE77B901BD727D98C7764F4CD7CA0EC68F95B5E9F6761E1FE3D57A5A4F5F1A3E1B9A2B9B17DAAD7639F3761E215C6CECE76F4309D60341961F4E809E0B0774163433DECDBB717BA1D4E48494DA3FABD57074628B60EBD460D04812052AF43F543F4361A3670395D54FF931A72DA9D34DC4002643DAA231AC4E8E3E80A89029B0DAB1836729C62314273A713244611140256A1C5F2EA16BB6BB09A15635C4EA7346DCAF8AFCF29E0248D199A59B5EBD009C6C78BF3199659AB5771CF0C1A9CFDDEAF1E59F8C7B7DFFFFC70777747BCD5967859400CC8CDF5D50FA134DE3D7ACCE54A2782D2DCD44859C9848953A0A3AD0DDC48F1EAEB10F8BD7B019B2519B6D0D389214783DFBB22C2D24F540F89CB9BCD6404AC964ABB1F194C45C529E846670B71A2CC83F41113E048A5868D6B04D008C0A7814E8C29F11508ADC5FF92E20C80CE1E880C17D1F3C1CC5A1849E09C2EE7906D85952BA78E1FD67A4E01A7B18495EFEF501812C6BBBDC2148346FD476CC2AF9DA8695DFFFCD3F7ED3D7144BB92E7BAE6235F9EE6770B7FE8EC6C598316FFD661C34732017F006A6BAB511ABD306AEC44E8EA68078FC74D41A93871028A0E158152AD41A7C91AE9B408C656C2C75165889F876B88806F406A99608D873E7D52C0837C1F0D1A6542A41590BFE3C0D644CE113A4A1C20121A09872038561102390434DBD302C8719C410D5D760722A20ADE43EFA580A3B0A0F1EA6AC307A8EED95D5269D9BAAB6CDFE47139DE7306F8E4C993E50DFB4AD731927C47B7CB9B1A6FD4BF88BFFBDD6395CDDBEEB97D6CFD869D879A91DECDF7F85CF12BDE7EF9F7CBFEFA5E8B5AADBDB6FFC04154979FAA3C8120493074C468AA5E3C1E17A0418201D959B061C346D88312EFC3CAB1DA6C549A68502B3AB025877B88A2835D3DBD48245C9C608B47A3AB876E04C98A7E4052A20DE2E3622116D51A89B770687489EC92DF2185228EB224D256415B0309312B82749380AAC3FB1D0E6C352A6DB01530A1CA40E04925383B9AC1E972B3F1B6E431F8E0BBB7ED3DE2DBBAB6AD70F2E43ED2F7069C823E6A907BDBDED20392243EDE69773524C499FF2433F247E5A71AF73CB4E09A355FAFDF75357A9533FEFCD6F29526638CA2B5B569BE5E1F03E9197D910168E15879291A42250C1A3C1C5C2E27747775D160D5FC1BE741C9E152283D7204766EDF011D9D9DD4D812D642632B6701381C5D94C221DC5049A866ACD984CFE8C2BFE1A231756A5069E78812F5BC0A7F4B8891E0B15AADA62D854A301396701282C067A19AB1DBBB111125AD185251A46511D546800F047C505F5B05A999D9485339A2DFAF028D67DED67D474F5D317AF0C9EF0D384993460FAAD9B8FB308F2FFA545BA7FD139BC5BC027FC4C7E5958DC527ABAAD77A3DEEDBDD5E5F9FF85813AA686632828E86330E12129220C66886E3658729EDEA9B350819861B4E9D3A45A5AFE0AA6BA0CBE14063E8802A3CB763E70EA8AEAEA5D3438C26731050392A464E3F47831D029FD24C323B4D4F4080E696362A911A04960DC7EDC3311D361CE16423114E32C093463E69E70A4303682A8D8E1A6DA2CD0449A0EAC9EB7551CF97B4D4785B120DB23141E9B7E0F36EDEB6BF6CECF6DDA507278DCDE9F85E809334654CCEAE09BB8A47A3B43DD8DADEF97F568B9904783ECECCCC5C7FB4F4688CD7EBB93AAB5F3F2BBAE336A273DB5A9AC09A904C014F4ECD40D5E1271DD3782E054848E068E911E4EF56C81E3C0C79B90CFA181395B6E6C626D8BD6B2794949400836AC686EA463E6D0480D8EB382A5E8EE789174924DCE57453692792CD8600259E5810D8E8383EF4AA0806A59C002EA3DE36C41868EBD4E0EF26CE9A015B2E89E9A7F5C9A2AD850D571C432A8DEAF92CACB13BB6EF2BAB9F9837A8E47B014EAE6ED85AB4165D973B50C86628DC35CF18CCC95BD0A47D883AF8C3B2B2B2A9574E2BB02527A7330CBE7466DFFE947B137540F4B956AB8FF4F0C7C659690CE648C921484A4E07F45AE1D4F1A334E01534900C1D205F76F4286CDBBA0D9D29A2E713289852947447832D454515C93388DA20F7777539E8F3B8A8A11E3470C90443684C54074AB812BA51BDF168E0CDB1B1C18A88EE70091BDBA87E8060D7234341C77755320A76F6CE83E56907B61FDE306E5C8EF09D002769EAC461DED55BF6EFC3177ACA19501BEF5F30E3ADE3950DEB513DFC51AD52552424242613BC884A203F3CE0F7D171D8044812FDF32047273D411ED4E54472BCA85E6AAB4FA2940F47A9EA001EEF0D76DD0559CAE4FCA990804ED3CE1DDB61FD86F5D0D1D18506D112F40AC51E90A5D3253D145D240F22FADB8F86D98B15C8D2682513A1FC72A41B057A7AAB3075767420FBF1812DC1D6AB47AB57D7E21915D1033E55510C3B5250713FDA5E58BA79E265833ABED770E5477FB3ECA748AF5E427D3973F1130BBFFE6CFD9E8101BFBCB3AEB62ABEB1A18EBE88C00742A1D0DE9918D2D17979B4240C42C929117C35FDF1AB56AD42DA789CDE47623105053320C664A2CE4E5151216CDFBA1981F3A2379C0BF953A6C0C0810368ECA5B7B3C3F6F228C320C834FAE8A74694C47A206A3C4DB481261575B2FC1834B6B643DED831DFD2E9413A38429D23424F38F85B22944E490A5CF5B33B67EEFA97253C9C665C316AF7371B778F9465E9E12D7B0F7DF4F06DB32ABF5ABD313139396D1C990B999AD607925232408D9248A44FE0F9A024A1340C1D3204468E1C014DCD4DE8FE77405B5B3BB4A37344D4CFF0E123B029F3300069E5942BA751DD79B8A488BE1801EA44C531BC36185B8B17D6AC59053B77EE842E747CF43131F87D3D523EB997AA1122FDA24150099F0E7750C8743C0AF41AB2174E0EBB1D9A9A5AA05F565F0805F0432D20DC4F1EADF3CF94FE5EFDBC2CAB46699FBBABB062EBE523B2EABF13E0247DBD7EF33A49621662254EDFBF7DCDDF04467D97200A8312935269108B1779E4DC26B0907992986947024A7C5D7D2D7D393BBE945A13A467874B8AA9D4252525437A7A063A4436D8BB6737D4D5D662B34E840DEBD6C0C85179909B3B1C01CFA53CB9A9A901860C1D49257FDDDA35505C5C8CECC10B26346A64F65A4FECBC67C45798CD48E8C1845B5C4F571F448E3D2EC2A4AA60E0A0419191084CCF418FEE0F5541AF4EF4B3D804CC6AACA0B9BB0F1DDF3A6E7876FD7702FC9A2B27F83E5FBF7D0FF2B45F78199DCEA85377E08327184DB134D64D7E4AD5A9E3E044708894C7C4982121290D0DA6055A51AA9D48071B1A1A60D2A44954B26D6814CBCBCB90A777231F8FA7AA63DFBE3D9099D98FEA7142CBAC5871C7D1B8EEDAB1155253D321FFCAE9D4E05E39FD5AD88DE74E541C878DEBD6615941C125CF2128885192DE432765AAF24874B317E0789E04C708E069E969D4D69C11EA09C3CF843BD2A3249F3933878047BDA998B7AFA4F28331C3FADAFF65C0499A396D7CC3E76B363B6451FE8DCCB09FE9D4DC0CB3391E1AEA9067EB0885B24057672BF5323B3B5A29DFF6219084B1C4C627A2F427437D5D0D7A8789505D530DBB76111E7E8A823470500E029D8CDEE83E283CB01FF2F3A7C1D6AD1BA854930E8B3E5811A422776DDF0CE3C64F82A3474A60464101E40C190A3BB66F831294F8CD9B36413D562A8BAD880ED10875DF457377821419A2416233C4D851DE1DE0A1AAAA0A62CC66301A4D9141ABA10EC15EC0F7AA841E9DD3638843E7C2928E9CCD326648E617DF097092AE9B3E69DF67AB360F0904F8056693C11E6332C71046D2DDD54E872E9891027A919D90974C4EEB4BC1F6A003D1D258872A26007A633C549F3A410719592C16A8AFAF8346048978A512AB41096E8380CF0343870FA78015EEDF03632F9F0466731C141EDC4BC3C083060F85EAAA4A04E914DC70E37C04BB84C65488CA686C6C8492A262ACAC2D786F17EDF8D01B8C3D928E0892B0028F7686B4AE204A3275C4149C1A555A42EF009BDC23EDC1F26C64236A5014D3339C0482A00FDD73A4E6ABEF0C38491FAC5CB30E1BCE6D6E8F4F4E4E4C3413A3C423232033C4D4F882269474E261AA541A640A5EFA2BE26DC9D80A0CF4B8A6AA025AD0880E46A926DD74DDDDDD340490D2271B5A505793D691929C0A197DFA5203D9DDD5890E9589765CD45457429FBE59785F137476768031C688AAA00F94971D8DFCBE9CDC1C985E70356CDFB615366E5C0F070F1E0097DB0D3A7464880343540EE1D0C48E7422F524F19DE6C606F023174F439B224951A30B2221E59E11C33D91CF338167220D21A27A1859105CDF7B16DBFCBB9E1AC1728A9DB171B1FE9C410362DDCE2E0497A7439363CC564AFD8833E343AEDDD1DA40A54F81C63506A5ADB3A38D46FDD4C8709CAE606BC81B330E9C7E064A0AF70123F170ED8F66F572727C4482C95818745248BCF6707121545556800969E46DB7DF036FFCE9555A01E45E92A621C5CCEE3F183E78FF1DACD0CEC8EF36A3DAE897D51FAF0DC0DC9FF65E11D7BDA6E20428504072860C89F4CFF61AAC7DC650EDB304D9221EB1DCE39CE131DA9BDAEF25E1245D3FF3CAE68F3E5BBB031D8C5BDB3B3A039999D96A03BAF51C36CB80DF833F58814C454BA7A7F83C4EFA0224723770407F3A148EF4E61315449AF6B06123C1844038DC7E2AE1E8AA800EAF11A0086D241C3E25D10A870F97D0F08146A3436AD9426715930018A1A344E590A1D661BE5D75AA1206237FCFC8EC0B474B0F477EB70F85A009A5B9F4C861E4F95B68CCBEA5A5958EEA25D24D04A5D7F8761AC10C1B58A927AC2CCB675539D15A3F7C7470FF5ECDF7069CA479B3A6D52EFFF49BCD3C2FDCDC884019F55A8EB8D82410A4E054A151A9A4F7C64F3B0B88CB4F00B4210D2C416A4862D8B194D629E1144AABC6104B01EF6E6F41B0DB11987AB0209B212F5F831E6A7CBC050EA04E47FE4F3B1D9A9BEAE0C1071E0493110D769C0DD54A29E5DC0CF52E65748464C8199C8BA07EFB9C2CC2B0482F1519D2B76DCB66B41307904D355255A721BD4F4A550FF0611523F51E4916613C209FA6EF01B66C5C0B07F7ED6E3D2780D351A7B367342CFFE8EBF58224DE80F44FADD1A8580543E8970B25DD4B6B59AB3793E16734FC49FA41C9E859A2B789CA2173E03BD050EAD09151E94C14709079AA6B49183677C84864329570E2C431183B6E024A6609B4B63441DFAC814028E9375F7F498764F4EBD71759501272F96A3ABE85804ED8CDE8B197C336D4E5FF6CF220016840434E866C930A282E3A440D713BA1B62E17558D1CB6023A223824F1B2D47B2A8ED3E98413C7CB60EBA60D28DD7B20353DB3E49C4E8CFDF2C3578B66DCF4E064D4B99B4ACB8EDBFAF5EDC324D9E2E98FE37D4E90952236592BDED9462BA1012597A815C24CC2DC5543A6BA84120D03A0BE4F424926C1A35634B0A463B9125BC1C0C1432873292EDA874C260FF89CE1B01EB9F881FD0760E215F970DB1DF7C09E5D3BE1D0C1FD94859071293AC2943CFFFC4463121A50D20EEC209B494D8C85F26347A16CE5B1907E67693FAEC91C4B3BA4A3150979A7F6D6D6881D484BCFF4A7F5CB9A75CE6722AFFDE0B5A3D7DC78CF2459546D3E71E2640AA18AFDFAA653C044D107280BA0335A80757652891E3E7214682AB534DE41EE5113F6101EBA816E3F898D2425A7A0B438A84A22D24AE22E63C65D01C70DA5D0854CE6E8E14218983312C41163F0F800ACFC6205F4416633FCB231C864FAC3DEDDDB692B3223307EAC682200913133A4EB0E6D8EC160A09D202AB586C679880B4FEE230138B79374DD39A9D43EF79B5FC1AF7EFD22553DC42E91902EC9A72703B22AE21D2725A7BAF53106B52D3965E6D3F75DDF71DEE6DA4F9F797726AB516C46E9E8830C40189A33806B43EAE570B8292330C4C481DFDB0D696969D46527FA93BC20FE40F0884A388C2C25CEA4A36C272777040450C20E171F88B8E643865D064DCDAD50575D413F1335923D6828D4A2DA395E561C041525ABFF801C3A1920774026EC3B5088AAAA195B9909743126D4CD3108B88A3A65C4A0FB11DC53959574950952C143870C86B9D7CF453A59082B3EF904DCC890E65E3F1B264E9E0A4B5E7C893A6F3D332758E88B34353D231352D2322441105AD1DBFE5B4E4E6E812FC0AF7FF8B6AB9EF897A385FF6ACAFFF1DDA9E82013D0B3636262BC68F4B4E4AF91261A176BA6B173A58287B4D4341AAC2220A5A6A54397874C55D90FD658233DD7376B00BE1007A5250723805F3E7A04D4B479E064085C92492747C1B429089C03D41C83863896EA7722B976A78FB20BD22152555B0747CBCB917337436B6B336467A6C2BC1F5F4780828ACA6A58B3768363D7CE1DDD6803E4ACEC6CF52D37DD1CAF54ABD94F57ACE8282A3AD4B1F0F63BAC896999E637DF78ED90A3ABAB6DC2E47C7D6EEEF0A1A8621887DDFE81C4C0ABBF7C78FE89E55FEE7AD6EBF3CF6A603BF216CD9D1B38AF80A3DED261D17FE19D0F1B5B9D8137784118C4D1902A87EC450D23517A946A32EA49097DD2129011D4D2380B31A4CD5D3E28473591603151209393D3418DCE52D991C208B803B2FB825BD24245E9C15E61E01BAF9F0513C78F86B21355D08106AEB6BE01BDD826A8470A4886568CBA6C141ADDCBC185AA6E2B1AC303FBF7D19E2882439F8C74B8EAEAAB1B72860C3738DC3ED1E1F1FEB9B3CBBB34736C4ABBAE39F02B3FCF3F812DED0B97C43EA46199652EA76BA28A5308D80ADD9228BFA40A706F2F5C38992E1EBC62DDC1D1019F6F8BD7E31F77D7FCA987BF533CFC5F047C3416FB162CBC6BEFCF9E7E76ACDDE1149A9ADBB9F6CE2E59ADD6B4A381312015D312EFCEC7B3608E51D2D57932FA64425DAB134E9697802D3E08789CC586942F0ECA8E16F548B3250E54C62404FC402822183C4FECC09CEB6F84FA8666D8B8EEAB33E2F2F41EB40B23868F8431C85C881EDEB16307ECDFBB1B9D306F35FEE6BC17962D71CB4ED53C87CB7B8FD3E5CD73BB1C1F3BDC8EDF8FC91D22F342E0BD002F64122242665BB7B475B4D5DA5B47FCE9C9FB22F3F3BFF9A650E7E7A422E4FA7FBD79D6C4257F7762ECB99C0649F9ADDF2B12D38D2073494909101B1FCFF8FDBCD5171040AD47DA87A5CFCF531D6D8C4F91BA5D3C4B3A3148004CA3D7D2419F846E11179C74EE0A42705883CBED411D1FA46424B217EE79216E3F497674968881EDD52B13CA04F483C85E48CE41FD3E0ABDDB71E326C80E976B8B5EA355CE1D378EC421DE25F9F7EFAECBC19F7F0F2B319BF7171539D392122DB1B1E676AF2F9084C0AF73BA3C9981B6EE8FEFBDF7DE6BC22BC3B1066E09E3F3B79E2C99F85B98F50F66229F6BC0FDBE8018264BA1C01BC8D1339AC353CA1154BF20B1A47B8EF42B2A9112DA5D7EDA5517F0778270AA26AA533938D09E67EAA1A3DB497BE9C9485CC274FC81E06A780E6737652084BA7D5BA6FDABE869A2F325174CBFFA95FE03730AD0D855BDFEFEFA7765BFFCD2FD774E3FD9BF5FB257F28B1A41143475C8630F979577A151D5700CBB64ECE5E36758E262937D5E97ED64ABF62D6CD50B36ED2D9F867F7E81C8C2B0458B40FA8753BFCF5532994C0272D75D1A8DD21EA3D76EA8A9A9D0236F48D11B8C49889B2A7A506764885B382824475546C84D26E004FB4AFDB40C60D9802C2110FAECC75681D40062628C41C7059D13C2E119463C6BAC3A3AE3B37FF9C22FEE7F8E68C2BF7CB499C8E4D3A2423CFEE7E51BEB2DF1A664A58AFB4AC128263C7CFBCC830033E1C6BB9F18647774DFFDE9671FC5988DE6E2E123C75C9E3D20E7861FCD7F008D01CCC0C73C36B76074D5DF9DA779AE935EAF2756797CF1A1C2F284B898AC4D4DF5635E58F2878FD1907FF0E2E2DFFE5256A8D2517D66A04620B3C73210DD0CC4368365988124721A69153D13FB2395111DAB90C347A12929B41590C1FF7EF7B7AA94506EC1FC2EE637F76CFABC225CF783B2D31A79416AB03B5CC31A9BDB3495350D9C208A465EE04DBF7FFE05839F0513B21012F95B81C6728BCB619F5655793235DE6A4B199C3BFCCEAD5B7756FEFAC9BBDEFC871363CF75C297F793A1C0E8DE0E6C6969E99A3D73FAFD8B97BC7C952CB37B1E7FFC27F69347763C82B7ED3ECDD0B22B56EF721D3A72425BB277D3523EE0CF40E53D946515699C5A23AB545A0FC3A9C8B0A8D8E81600518340C9842E94BEA0E7C7853B00D8D05006D1CBB0D2418695D7B02A2865D1F1554AFCD4A9B36E9F933772C4D03163F226A17394545A5A56B761E3C643ADADAD1A9B2D51EE9B3D68B25AA3BDB28BF7509B22899155327C58DAF1B3A3A1AEBAD2EFF3269BCCD6FFFD871363CF474A4F4F4F46D01BC8F1FD0F3CB8E7BE071ECE13FCC280B1053FB2B092BC057178A9A264C733B9B9B9AAEEEE6E32877E1CFE96BBCC71F183BB3B3B08529D0CC02A522908DAEEFAFAFAD2F0E2EAF9F31E30303E77467375D9D32228862A547A190D6712EA70737A46BA3461627EA0B0F0905B94240E7F830681D106D76F092D25224A7EB4050EB4058EF8D8386FFE942B4C4909367543734BCBDAB5EB0FB43537B7E0771D3201134407523E873531516E6EACAE6744D6C1F201BB5E2F3A0E1E3CF82F2F9F7ADE004F4949B1D0A009A6A4A4A443EB376D1BE9F3F16F8FBE2CF7574A7DDC830A95F171DED75D2378BA924206F614E60137DC7A4F1168E3CD9FFC653151355720D07BCFF6FCD4D45452412BB5F199789D9949467A91F17FF9932797EB8DA6ED07F717EE42436C9719D121F2BC038D985D0192A3095C8E8AD5ABFDF06F4AE70D70ABD51AA352A9C253B0FD7B0F1449AC42A99A3DF32A45437D5D3DA78D6D51EA62478ABCEF39DED9F437FC1D64A0D1938D8D8D7F0E55D8AB58CC42E91E81A0779CFE6CB55A5DCC2AD52FA9629297A2CAF0C5184D061227993D6BD691FE83F2F217CC1EDD013FC074DE56754B4848889622F5AAAFBF3C8AE029DE7CF7C3CF1A1A1AD26A4E968E921966B142A9794AA132ACC36BDF84C12609DDF29F92168295F03E73DAEC5AACC857F0FC7E754C525230FEC445168A542A55F61F2AD8E715F0D2D2D240744FEBC71F7DC407D98B61D6E1E38D03C87165C9F69F8BBCB75A69B0F6D1C4657C7AFAF7D1E8CEC3C3CB51DA9F0E9F4F4E4E268B804D47097F04DDA17B4211BF88F16715CC29F801A7F3BD6E61207C5051717CA040C6890563578B426AE34EDED96C43AF07F530FB6156EEA4F1D15FAEADAD25D3B2EF41697E1675F654628851D897E1E73B1943CA54BC96480157A94C51EE56C5C50C7844AD2048B1BB77EE381A22CF373CF6D4A2EBF1E835CC77303E119D053889EC7B55F6F02B46443F00D5CFC708F29BF8FD0F90717C88E5A7A87AD622D97BB027A6AD8C48B8D3EED87B49C2236A65793852CF8E1C39EA0504F20D34889F5654EC752858F16A821752B1757D874D18701A3F7F24B4BAE6689FCFF744F6B0494823E5F0F21C029DCB1F4A9B567F557C49C243A9E8D0C1CCF071FF8139FD46E75F1799AA71BC78770330D255C426B232B3B1EFE0F191F54B789EEF87A0C7061D1BEDD3D85C22D28D4E511B44D9548671D92F5AC011A45E802370A9C78F959D0A01C5A4A6A4DED36FE8C4D7468D1A45C7119F2CD9550A923C1B0F6DAC82DDD077C8D884ECEC6C351A4FB200EF2B64A564A4803F454B7C730F2B51462F65EDFB2ECEC87F0DE0A806CE7030567CB43C327477F6ECD943949CE2C7DD01EDD6812327D0499C274B776E41406F0706B25846B9DEE3F5BF4CEA0E69E2AF50FDBCAB3458C89C77550470B53A9A323AE0079E2EA84A2169E78EADD688B15372CC35D7FC88AC8079B9283047B2864DDC9C3564E2878C0CA31145B2D6D450B529798ECA98B0CC0771797D874C226EFCE0E8E7A9D51A734F93FAE103CE5D68C03D6EF7C0B6B6D6568331D6463E175C357DF8EAD5AB6A50DD64207BC90F0F869423BC5A99080AE56BE40C1B42B517E02A553C899F87BE74D14B78E06CAA7DE5E71F47564A23633FAE9B35E73B798664EABDA2C7E721957449A59CEDE4E6F56B74D19FC74D9830123DC763FFEAC3159CB2E1B40AB8A452CE76B2A3BD6D88DBED72B39C5A1F6233F03F0F3D1A73ACBCACC8E97407DC2E97E87239243288C8EFF332814080E3F900270A82529248B855D2A241D661259D4601E58B1B70420BBF251AA9DAB261CDA1A957CD1A1B0976D912528CA6B814AF9FA7E3B4C90209C161CEA1CD8D7C3D2519F9EA0F9E8F279F7B249CB9B855CAD9686138AD5DF5C539DFA9F5920EFF169542525D4D750E59C0F41C437E49C2FFCE6553E1BE5D47CEA90A93D98B1B70D4E181BF777DCDD79F3ACFE5DF932EB114F8BB7D87E5A525C31E7FF0B6BD3ABD81D7EA0C92566F94B57A9342A337726A8D56CD29D55A8552656059CE88EDC57886D773062FBFC8590A5129675B7B36AA0518DA5A9A4684EE55874E0BAC42E10C5941B2538A9961593BDEE06118859B53A9EB580557A754AA9A39B536A0546A44BA002EABE444108FFDD0013FAFC395535353E3054130711C1740D79DD768348117FFF4E15788D0047F40024A01BD3E387C603B6CFCF25DFA1D4B623AE44DBE2E3866DBEB85BDEB3F046B6A169DF349569DD09A93C9EE80F7551ED9F906FC07A6F32AE1A1DEF65E6EFB575B0E8B1E9F1F9B3F1FB5F6AC74568E47FE21AE3B19C246162890E13F7FFFE67FDB5E6CD1E085E7549E8138592655A1A433C7C80C83E81156FFA9E982ED36484658399DCE89B7DEFB988F6195553E3F2FF8FC7E3180B9A1E604E9044EA56E7F4B9DB4E1B3653CEA6E36A4C339BED5E7A333F224492D042A9A1E7862F188FF54C02FC87E9A64CC60BF21133E92C5C02CDE6BB793AD5C104C9F1870915E777DF6E01174F22C1AC47A519434785F7C777B23D3103587263A3DFFFAA76448F36FEE9A33F1579724FC2CA95FEE04D26B339751A84065B05A422A63A9AFD3BD84E394AFCEBCE5A1D964806420E04F0D2EF2C84BD3AEC873BBDD1EE7E60DAB767CF0F6EB645C21F9ADE99817D231E222FCF2B50FB7B81E9C9FBFE4928447A5ACA113C9609D65A79DEE526AD5D9E5FB3676FCE8E687975A2DD6598618BD353E21558980B304F42183FAD5272725A40604D12788FCD06B270DAF9871DDBC01C3474D7C373B67E418B26F045DB559E01F7CECB6E97FBC643423CE0864467DA4138E62CDF1BF2160CFBFE7E98549C9A90F1A4CE654A7DB63DFB8E64B9FC0F30299165E587214A59D6F4369D68822D021706BBFFCE4F880A19719A5A8BDDD44515CFAFC1B2B175E023CECC528B817438734761D67B556C883125E5BF0D073A31252525F4F484A018B2DB165F7D68DDD4DF5B53A97D3FE1099E343A6866FDBBD0FB195645194277FB4F6E09D21FF7DB918B55227AA22068DE99BCFBEFAC9BC8B1EF0EC9193ACAC246CC143B23653776CBC45939898F6B33C63766C4A5AEA1728DD1A5B6232DFD9D57137DAD5FE3126F3A9D79E7BE40D2110789A47D0EBEB1B1230178696C378E9CDAFF625F899C0F2C8D691F88F288BE5F859218AC2FB3F7FE96FD75EB480670FCB4F9505790723C370542CC546636C464262CAD62443CE6A4B52D28AC4E4D4D4E4442B24598C3FD9B2F61B3D592DC29A9074907CF74F8B7FF23CAA961232BF7DCBB66D23B0AC45D06315A2F4EAFFCC9A5C8D127E3CB4512A2B8BD27EBCB6038F95A85E56FCE4D7CBA65E748067E55E9E258340B64A2443D6B669B4DA6108A6684D4C7ED43A40F7726272CAA4B4C438484D885D7E7DC1654BAD09B6C9A856C8121D07C3CF403D5E42540BBAFE8AF5EBD7A22C4BC818C5796F7CBCF55A3CDE49540D9E6AC2F22690F887B1DC43BBDF64E9CB077EF1EAE5170DE059C3C6E702ABD8813C9B0C552333702D166B82CE6A4B406013872724243F8840437A62EC61639AF19E9933EFD5C5C7275C4D96DDC3EB11E22D06026544C211F4E2FABABACC53A72A0FD015D924F94F581623B80C6AF763083487E71E577B1433F03C4ABBA4972571F5BD8FBF34F2BF1EF07EB9E3F31899DD06741831D381A097C5C55B73622DD6DA78ABE52BAB35F1F544AB0952ACA6AE745BEC9CCB92923C8664CBF371166B1A5529F10991D5E791AC1C250B4D0A82B0116962D9E6756BF2FCBCFF24829A86B27E75D060CA3928F55FE0F18D0EB5AF9F24BAA76345A0CE974C8224AC5FF8E06F72FE6B01CF1E3AE90A86653721AB279BB039419616ABD4EA79E6B878B266E133E638DBBBF171268DC56CF058638DD7D86CA6CAF977FF7CA239CEF230560A9DDE1D67B545B6680C08DE3262380381C0B000CFDFEDF3FB986F3EFB9845307994ECE9A10952B6A00E17D15B9216FF7ED123DD5E4E2CC00A299604291E0DEAC679773D95F55F0778BF2193AE91415E8B8731983DE84BDD042CF3A0D11CCB1A4DE6CF4D26F38D3146739A51AFE50D06F58F3352E2F6CCBCF7599DD11CF796C91CC79863E3C1126706ABD912013CAF7F42354AB817194BDE9EF51FED41F05F6FA8AFED7BBCECF05E54DE6C78636B5196664882FC073C57F0D02F5F9BF2E6A2473BFD5EF14ABC7604EFC196266F9A79DB23E9FF3580670F99308F61E42FF0902CE5E347523C1B9D9DB94A4E99618831DA31B7EAF48602AD562BA954DC82BCC17D48C58059CDBE6030C664C5184D274DA698B638939E2FDBBBA29B09A5679E7946E6797F391A4FF3D0F133FABB79F1E7087EDDC6D55F5EEEF7FB8E87793892F4C9D89A3E4770DB5077D3BD40DF7DEDA90E0578A7622594E13DE98C049BAE99F740E27F3CE008F69D3243B7B425C38D05D4DB3702C39A91732F4090C992471B341AED3D4A950A14203F7C5DFEB04F48206BF6ED8F4ED6E9740F69757A41A5523D67D0A9AD46BDBA0D41E642CF22A36355017FE038D5E37E617CC5BE35BCCFE77B449625C5AACF3F5422070FD0BD1D10745EE46F4603FB6B3CCEBBEB272FCE2515F6F6D217DA85003F152BE218029F856D61E395736E8BFF41031E1236F6B4AC20396BC8C49F20D86F869E4148DA1D6E8F6337EAF0D7C977D51A6DB552A5CE57701CBB73CBBA2D4B9E7D820CBED766650DB368D5FAB7542A352309C26F253E904036B1661968275E3F66020A0970597D1E571DD1E37CC03F113F27D71CDB5B8220AF6A6F6BED7BA2FC707144CA2569C19E2DDF7C8ECE0F4ABEF89C3527878CE852AE78E7A50E8FBDBB00CF55E07D3992C8AECFCF9F6D66A2D20F0670026A48D2C8384043483FD3DC3767EC7328C5BF0DF714887EDF4FAB4A776F5029557710EF9D5528C8CC60B38263E30F17EE3F545D5991CF2A55AB878D2BF84BCA809CB7388ECB0CF8BDD56FFDFEC916AFD7753B099F55575799AD56EB0B369BED958484843F637EDFDE5E378748B828F8E7272525EDC15CE2E9AC194A18F9FE5DDBF33A5A9B9D6485384996D13627FCBCAEEAC4726C01D9E386E73F14AAB4D8752BDF7237569DB80EBF538DC08FE455EA352983C6C4855A1287EFC98584E88274C69C355A18FAE34427DB341A4D1ACBB2F108928E74FA9A12FADEA454EBAF88B00977D73E9FB3B51AEFD1EBE23326B10A9591AC254E369706C9E7ABAA38C6721A938A2C0A138F4C2498092BB192AA82B4CCFE608B37C3B1A25DF0CEB2977B4B834205DAB80CBA5C87B723B83803D2C4662FCF24DA52B341ABD3C09482EBE81276F53515F0D5F23FC19CDB1E918997F4F5077FDC8F1C9EEC10482600D4596C299E0123273D83AD2A0955D3AEB2C3DB16FAC9025CC159D064D60419614086E609E71370EEEF48BEE1BE877FB66C40CEB002B23E6C4B733374393DE0707AE8FAB04EA71DFCCE76107D5D63509AC7B01CD9704819591ED4D1D50C2DD5651AD25F29FA1DA0D25BE8E28D4445903550C886A7C6D838BA4D413BBE734353E3195D6D9244F6E40CAE590B2CE9DB0C5077DED9D50E7A631CF27013141FD809B923C78235310DCC482FCB4BF632B9A32629FA0D1A31EEF8E17D917D91DB5B1BC0B9ED2B183C6292CC2894E3535207EDAF2ADFBF83E5B826BDDED4A2D6EA0FB735D56C42A1729D4FD0BF0D70A24E4C6A8D263E7B602EA4F71D4897E2F78562D0FE80407377471B74B637D1D241969A7379303BC0E3EC82F6FA0A088F6413FD5E605401DAF34EF6D9A93976808656474DB80A624CB1741794CE2E3B915E2A6912411A1B0FBE7880F138121120B59F976A031E7743E89EC6F6C653D6A48C81C94D0D754C6A661698CD161837F95AA8AE3C4AB7AE197BC55560B525D1FD1F944A34DA98D1A690C51D198DCE8055981B9B373E7F6670F926019A6A4FB621E064D928CFBF43C2C97983C7ED56939D3FC84A683CD9DB80ACB12D105620D3ED1B5904CF149780D2160BB6004FB72020B16CDE8F0E0B8D837824A7BD8BF7B81D8CC7E3519175073D2E87D7DEDDBD0FA5DCE9F538AFE59047825E2724252634E6175C5BA83398543A9D5EA3D6EAD46AAD562DCB0A05A754E9355ABD5AA5D5A6B30AA50633D9CA4443367813459E6E0D46FE76BCCD06C3464FA4C7641F06B28C9310DA2996F4FC93D5FB453E6AF758FCADE1ADDAB11E894E27D36188F10EFC3BBAD8D89AEA539507F6EEC860512C546A3D5D3D510CC633220B7B053B01A4C8025EE16D702908028F5FE5D4641177B26C68907104B4E9FD474C262B303FF6BF0F9005FF14822829045ECCE4453193AC5ECF93E7D0FD3885E0661674230B2154D9B497079FE5A325CDC1BF15049A8048C0A565E898185E51085D17E89A2751FB24D3D101E8D1D2567DBEBB1DBFEDE14417D8D7AD5AF909E613A4E651B7A98CA6589D39CE6A4035A04749D461D3D421CFD673288B2AB4A4686B5511B0235214DAFE3CBC21B4107A51ACA866B40B8499F1545509A1325869013E789F100286A7CF14233BA804AF05F7580B4B69A414446A68116831E0F761C3F263A3F38958D9E83BF904325200FF41FCFDE41C19C4CBFBBCEE13A1F796FE5D809340D2C1909537A13ED5D8BB3B39CCAAD0F748135447392A9C0A95BED16C8943A7270EC5DACC716A23F27013CB2A62509209A53420502C019B9023B26A32912E9E564A689712215812B0FC7E848626546A0172EC0B9043F23FF9E8F3797DC41BF263E9F579B0F4F87C1EB7CFEB7523DB74F9052140DE23B4B45990C24691022664ABC839B2206D35E6A6D0BB5FF84EE410350C03CB85321BCA5CD4B530F0AA505647654D28D3EB481D352AAD2E5EADD6C56BF5A6B8B1634629BC1E97CFE574F99C2E97D7E5747890FD78ED5D9DEE00591A39F8F262A88C3E8E3E279C76FD6C395A724F976039749D8C67EC26BD53F25987829D67C0CF02FE697DC3114989CE8AA8CA50444BFF69A526748D3D0D94D30192429FA34BE92C80CAA1F372D43DF259CAB3497BD4E272B2F86F717CFEA5079CE91E337F2747574AF8381A48294A02E52889FC5690A0F7EE17A75F3F6B922FC4E8A7F305F877A890E84A816F010C7EA8807DDFF4FF66C1B88A7AF294030000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (143,1,'Satellite_antenna_(24)',decode('89504E470D0A1A0A0000000D49484452000000110000001808060000001C6216320000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003FC49444154388D95D3794C1B54180070A6FE41CC8CC68861D06511A8225737E860CA61718C411D0B63D432815E2B940E702D2D1490E3D19663D09672761468A165B68E32BAD652983041CB14E4DA509630022E0436171A679464F1C86735D18415DDFA92EF9F97EFFDDEF57D6E00E0E6423CEF46223DFBF8BC2B801BF7230967B7F9A75A4C2092C5AC12E9322DBFC2E432B2B8B8B2DF6C9DC8E797D724895AFB4D3902E94606837BCA09718C3D2733B9C55CD1C5C60A999ECE1776442004CFE8AE588966CB78F6CCCCD2BEBF123D3C3CF61249CC630AA5FE84135284A40917DAF460B8360BBAA16968D58E80A8B9EF617983DA2AA8ED3C4943C8FD9FE4A4147AA8B25B9FE684F40C4CB0CE17D7CE5F328E83C6300CC6911B30FAD5120C8ECE81D6FC35C8B5A3DBA8F993410E52BC9B9C4C7BA9476B4CECD65CC5EF400CD766B49DBD2395D9E7D1ADD2EA36F8626A09EEACDD87B5F52DF86E65136C7377E0EAF505E81AB0419DD2FC796B777F616FDF60E20E04A9D5EE3D83364141556B39B74CF6632A9503151714B070FB7B7860FF09EEDDDF82E5B54D985E5C05EB978BA01D9C80E6DE4F674B6A54113B7E878BDA7D9A3456366AE8B29756774051550B9C20B300352861FAD60AACAE3F80F57B7658BEFB038C4DDE04E3D81C745FB1417DA74581107AEEDF23D10BC46F37761AB685521588656A90B4E9A0A0A211CE308B80CCE041B55C0DA3B679B87EE3264CCEAFC0B0ED5BD059A741A2B26877BC321FB5C8EADB74BF8BA4DD206BD700F55CE9DF1023BF0288A94CC08644432289098555CD20EF1A00459F1558FCDA6DA702CBE1A1CE2AA9EA61EFE521601708A11849E01C5FE4B8A21C280E348355B841CB2DFFAC48D8369E9C995FEFD898E284B073731B9BBA06142D1ACBED6C7ECD462ABDE0979804F21F241AC79E708A3E56D7AA93D4B6E8258C7C6139955D56BD6BD9E3703883A3CEEB0EE28F94797A7AC61EC00653F1846473480401131848D8EBC8D9F3C4DEF1F2F21AE950E9477D8322C907B00199BEC191C6C0C3F1EAFFEBB1DD10339DC99E7887983EE11F16BBE01F1A3B1B181E277309F1F6F63660B1AF2FB65F1AB60BEA54BFA5507910141E8F5C4230188C5F0EB7CC820B3BB2E51F74683320F4AD529FB0B8175D42FC8222CF061C3EDA97C5AB19975EFCB8A7593B6C4232ADDF53233EC131C17E415153FD23534A9640F2E159AED824510F7DC31377A8D29908F344C42F243AD437245A4F620AA6480CBE547BD954EB7F30AA8992573949CDAB9427677279618433AFFC27924ECF99A5E595FD4A7C3FEB113EEAB83D2A3EC5CEE694AC7EC0C85B4BA1E4DD4DCB126C1F4DCAF839E638E911C6E74DF1AE8863B83BC273DF7E9F88D7DEC0D10270E155A7D328A263EF9DE68647C751B08187125F7ED50BEFC8F177C40B8F237F02F0AAF9D1B06934A70000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (144,1,'Satellite_antenna_(48)',decode('89504E470D0A1A0A0000000D49484452000000220000003008060000007459A8520000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C6E4944415458C3C598095053771EC7AD47AF75773BD3BAADB2A81C1594AB881787821541398A1A109443E494FB902B908410081002091042C20D01C21D8EC81141C211300A72CB550101B76245EBB15D8FAABFFD278BDD76C65AA653DACCFCE665DE7BF9BFCFFB7D7FD73FAB0060D54A9AA2E2DEBF2DE7BE1585286FEE555BB56AD53B7F2AC81E636B0D16B709B3DCFB5704C2CACA6A0DAFA57F0AE31414FFA780EC3530DF77E0886D1723ABA434965DFDC0C2C653F60F07B1B4F324D9B8629FD3F20550D974F58778764D1F3E8E2D4217FF9818A9AB6B974BCB28CCC829A84CF0094F48CCAFE97E30303E0F654D3DE089A5C3F153EE67571A64F5D0C8B45753B3883E3030492A2F6FDE2C39BF5D7D9783A56360CB3187806F34B48FBE30B2B06B5F3190FAFACE6D97C543992D2D623F51F780777939AC797D4D56565661C3860DEB25DF43F0143A2E3A39974824AE5E16889696D63A8CE3F92A12A3EC3FB4828BCF13721A162839F57D6456750B31B52C0B9BC8B10F8DCFD85C5E5EBE26AF9017C8AB6B8962B08AC2AAAA0407DEB6B80484109D729657D7AABF2C103D438C537C7A1914D75F81E20B5780537719F26ABA20B3B213982542A0732E426C7A15C4A5143CC2C7670B4349C9D5386A96DCAF2D1E82A304F3F942E5DA3A217D59205832B3CC23880C35AD0350D736087C6475C241A8BED42F0DBAD8D442A0B2CA004FCD87481A071272EA219A59F52422B1A83C303AF32B37B78C756F5A3C989080E9EB1BD3AFE1B7664ABCF95610F1E0CC3E02ADD4C2D2DEB32D84940A82AEEB70493C066D3D13C0AD1502363A15A56337348A46A0B4A11BB8F56228E48BA5DE4A29BA0409D917208A51B1884DE0A4FB93D8DA3F5D3C0C9FA4D9D737EE5CC3175A8BC5C387DF0AC26F1DC8EDEE9FC2722A5BD39D7DF1F7DC034970B1FB3A64732F407C6A1EF40CCF40DFE82CF45E9F05F1D03408C5A320100DC385F621A8B8784D2A6346790792AF19E2326A81402FED0D2267DBA0005D1B1A1AFFF7BEFE89583E9FFFE165F170CA5B41AA04BDC3B5825E5152129F54C613F15CFD2367AD9D02A0B846081DBD1320EA1D879EA129189E9883C99B0B30816C68721E7A47A6A1ABFF06B420EF49A494489857DD056928A6A8390D404AABB889A572FCAFF68E66491E844098BF24A1148456DEFD01B7FE8A38B7AA2B3110CF748C67F32EF961298FBF34B3059FB05868EA18907A6474EA1BB831BB00F3B7EFC1EDBB0F607EE13EDC98BB036353B7E11ABADE79ED6B6842B2F25AFAA4D2B1CBDB016520D40AC4CFF0B4A2B816E155DB5002D5F4ADC14AC96954CAABEEAEA6E7569F720DA6B0FCB0547A0889F1EAAC370E2C4E7900919A09A2BE49E4895B3035FF2D0279088BF71FC39DBBF7616C720686C7914DCC423F02BA3C30052D97C7A016053E7A4110B40F4072610BC467D52E62A3525A7FA9A6FCF8859C5E6D975F258AE535F6EAD97B93F8FED884227C7C26F8E3E86066ED062E3E382950DBD5B125A0BBB0B0F8101E7FFF14EEDD7F0073FFBA03376FDD81D1AFE7A1EFFA0C7423D98457C6A0FDF208E4F33A501CB50329291FC86C5E3F3185ABF7D6CA8AA717538BF9DD0EC4A4FC18EF50F295B068064A5D2E442773C12B3806DC505737904A1607175A7BA07F6C4E1A3373B7EF232F7D876090B716FF27DBE4CD3B20E939E2FE4928AE6D834AC155C82C6D0176599B34B0C9AC9A2CB78CFFC7CCCF400202681F04C7E6B2CBEBBB8F24A47317A312732098988ABC9204D149B9109BC2014B071F38E5721E02D0393BF750C82B1748B36970621EC667166072E6364CA1D899BE75570A3938360B459517A5E5A0A173182A97328D55D60E49F94DAD447AF5476FEC352E2194EDBE84346C4A76C5934CAE00C82985104E4E87480A0B92585C28A868064A5A316063981095988F643B072627DDE07C240D7802315C1E9C826B28D507C6E7A47083C82BACBC4A100F4E437BCFA4B44ED5A042C96DB80A393C11A416B75EA715F065DE18C1F65E51F671A9855F27A69748BD40A4E600920B12985C54E0181043CF8363B65E808BCB84486A2EA06E0B67BDC2E1738D036079C617A29272A0BE6D002E5D1E45360271C93928D86F407BEFA4B45836768E48614A1B7BA4AD845174A9EA170B8C935F74661CA3E8313DAB0A68993C08426F1C43CF85E0C8246071F8606E730E92D89590945101B8F81C303BE90A2656EEA0A96B02279D824079E741386AE902BEE154E90BD4770C4113AACE12887A540C2559259149D2DF621825CFDFDA88AC5D42737171ECC754562990933940CF2805FFF078A0300BE108C609C2A299088C068EDE04F00EA30081920587CC1D90772240414DEF67A6BAD718010680FBF918F04170A13148EEC43CF00AA382BEC9E91BBF3A7B58D8FAE4F94724DE0A21A521990A2121AD1018B95580B1F706122D0F6C5DCF4B173FE38503FB73E1E0131A0B6C4E2DF8A1879D3E87035F2C054E9CF147F22173F00562025BEA2D3D639B7B48D2EBCEBEC47A6C2C5BFBD727A755AB8E6770AAC4D858D67F904C8F927378905DDA088E5E58245501B8FAE121106596249B52B34A8010970EA75D02C13D200ABC42620155E897545631839673814CCDA8C01754B655A5719AAEB0398D2682F661D9BCCA76A7654D686BD7AE25897A472750237C2E092E06B715A2D32A5F0546B39FA199F485BD17016CDCB070D0CC0E9CBC23E0A4A31F1C39E108062636A07DE838AA39140EABF822B9A0BAC327A7AC250D4127F9E353EA5C02638B1ADA86084422AC5E16C8A64D9BA84545C5E58A1A7A7121D1CCEDB4DC3AFDF058E68285AD870895FF2B16F67EA3FAA6F64F54F61C06A3638EAF4EBB86DCC138F88D9BDB78341A635C09A4C4ECACE4AC8A46F4DB467B2F62A5C65E63FC0EADC3B186164EBDE709C987DF58D0DE641B376E8CB1B2B21692E2A94972CA5A221919D9FCAF3036990850BA79525151795776AB324D65F7E1319BB3FE5CBD2336065A5F9ED8A9AA735441C7E8F83FDCDCDC3EFC5D8667191919FC962D5B66A6E6BEBDB6454155476EFBEE76030383B5E8FC3E64671090B782AA5E89BAB6C9AD63B61E3EBF7557B01C69429141735BD7544804892EAFA6AD26AFAAC7946CAED1F91419D92D81283D9FEE3C60FE83E63E53C3150341D2F84B405CCF7909F3CB9A46155475AD1555758C14547419E85AF856652DAEA2DAFE7FEF3238068A1A073457D2239E12102525E5816E346BECD433EB451E7829317935BD69747CB44D437F4C0AA2AAA3B09220CE1210642F9A3AFA169985F5534618970E1DC3939D5FE89A76EFD865785573BFB9480AA2B97FC34A4A63B7040241614411AFA55FDAC2512D01BF4826D87912E008EA315210C5A3EFAD1808CA8C93AF415454D57A139845A3A849CD455039F7D1B8F0F24710FD63CF7E2BC4B240247B59499C1C3FE990EBE01ED4F38596F6B72AEA5A8BBB740D6FC8292A3D50DCAE2554DBBD5F5F43DB78CF8A82BC2E5A41111426AA8EA3BB750E2E2AED507BA4BE4B776EAB9CE2C33DFB8D2EBD2ED32B0E820A5601CA8EEF367FAEEAEB1210750F975874B7106D88BED8B927222022AE9E51D29AB1E220E8B31A41DC50D731AD770DA124D979E0856868AAA6B0CA86D14E2F37BB4AC4A015085E111915D415039194727935DDC26D9A06B77D098C9872C1B56BFA660E59564E214A366EE1D3AC92E69EF4B236727C26FF21F252B31F311DF7BB8348E242414DB7067963F8B43B4E5021E89DCECAABDAE74F4C7F90DAD0F09ED929AF4A632BF78BC81B2331CCAAA9B0B8DC14341694DAF990BC7F37904D5A5A1FCAABED17A0CA59A1A5FFD51481CE1D15F58DEFF2084BACCBADEE9A92C8A56F6297A0A1636A77CC3EA08B905CF22A80C4AE700AA12859BB45549A9DF671F8CD2092C591BDFFD9678A1BE455753BE5557572D1B1CED8D2F5BEA69EE9453D234CA62736B1A584DF39FBC9279FF82BEED855BD5941A545465E45E4EC4F9E3D7D2EBCE9943BB6485D5DFD2F874FB8D4ED3D646589D65B876CCDB241249DD4F294DDD9F068DAF768F67C7114E3FC62D73E83E76A68D85156D302593965D037B585333E04F0C7D3E1D34F3FFD61A3CCE627325BB73F5BBF7EFD081A0D5EDAA27975BF1106E495D47F40F72F6A1B62BE57DB6D302DBF7D67DA72FE067F0DB2C6E090B19FAB77C813CF60F20B5F5CF24BF4F6E0E81B0598B341AF0C2D1C9F6A1D30FFCEDAD1633CBF8C3F9F5D5C3BC3E4D42ED0B2798F12D8BCA751A965AF42E3B2C1079702CE816438ED8E85E3F6BE70184D6C2A9A7A7796E3959F4AF33E3265649AC80C3EFE78A3FD56C51D91F24A1AD95BB7A937FC535EA547EFE091C1332E9E23D676CE3D1656F64263F393170E189A97EED633CA54D7D24954D8AE81DBB445CEFBAF1F7D7C063D5B22CD7164FB96ED9137D48E779662660DB2B54B5ABF8BECBDA5E3BB4BE7D62D5D5FBB74EF6B5BBD64CBFAD75962FF05EE5A73924AC4BC860000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (145,1,'Satellite_antenna_(64)',decode('89504E470D0A1A0A0000000D494844520000002E0000004008060000006547451D0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000014164944415468DECD5A097C54D5B9FF66EEDC993BFB9A7DDF431212D6844542D8545C40A3E04EF155D16AF1D94DE9D32760B5B6D5FA6A95D256DBDAAA94278AA0501091256117210B24210BD9F7CCBEDC75EEBCEF4C828FBE2E421E1627BFF33BE74EEE9DF97FDFF9BEFFF73FE70C442211B89AED9ED5EB4CE3794E0957F945479469E379EEAA023FD5D435156479785C0F5FAD10B9F6D6FB6FDAB475CF33E37DFEAA787CF9436BCC9577AD7C67CFC1132B15F81ACF67A8FE9580672DBAFDBABBEFF9A6D664B0944E2B4C37B99DEE9F4588FBBEAEC0972C59A2F388FA9D8929E9735BDBDB838B17CC0C6DD9BADDCFCB4AD7783F53314E832FF9B5FEF9D7A6551D3BBE2B3D6782A3B0642AE4672601A356415DE3F961392CD26D4DF5AF6C78F1E9755F1B8FEFD8B143D733147C56CDD0598B17CCDBD531E49B6BD4EB52E3ED26301918F0F8D99853B567A17F68E45B78FBBAAF85C78F9CA89B3F3CEC7C96A6A81D34ADCEEA1CE85BFFCEDE8F46F2E38BBE151397F08C5ACD583CAE11E86C6F8596A633918913F273DF7AE3E5D6ABE6F103353596188DF545654449C53A1C1FDB2CA6F0E6CD690FAD5D0BF203F754424A4ACAA7E8A695713953EFE402A1B95A467D17C368FA2D66F3BD97EBF52BE6F1DD7B0F571A0DC6EF4622E10D5E7F7081DD647A7DC68CE2E37FF5650A05959898A8E9EDED0D91EB0757FF705D515EDE5941921EFDC1E30F548CCBE3F3E6CD53A92C59AF4C299B71BBCD116FA1288A4786ED0F4BB2530A4B2E59905C822C364B827430C0B84FFC72F56A9E3CF7AB37B7C4DB0C865F9A0C869EDA9ABA8D06B3A9CCA2B77F67C6B5C5FEBF53ECC2D885FEF75AD1668F89B1F6F70F08DBB757A52C5D5ADE7DD9C007FC8ADF3DF6E01D2B747A03606DC24A1C516333866519A43036290C6149C25E04BDA8E7D6BFBAE51825067C369336DD1B087CBFB1B965B1D5629657DCB5E4F14BD61B11B90DE4C82D38DC0C4AE90EEC5FBA2CADB2ABB555633659CAF53A06745A35E8B51A30EA9968F69B0D5AB01A756035E9C16A3682C56206BD4ECB00E7A95033BA25033EA9B8A5BD7777586329EBF78675DF59FF0BCB25CB0D9A6A030564D3406D0585B2F2B245963DA85A69B6589B8E1F3D0C6A5A055A0D0D3A460D868B0CB018B5603632E01AE882E19E56484ACF02B7C70B121F82D49C894AAB2D7696C5667FC36A4B1A78EAE7EFBCFFE40B6F543EF6D8AB9A7FF6E5AFFFE2F941EC121E7F7CA507401E6C6A3A9F7BC9A1B2650B501CD575A3A092EF6F6AA8AFD7E9B48EF90B16808A528252890D039DA889C18141A83A7800F2271440C9A40A088723A05153A0A4D498754A10C43036097841D2088250290A7CA54ECF7B9F7EE9ADF744817D4727F61F5CBB76ADFCF70862346F6113C2B913C7CF5E12AB1CAD69BF63D7BEE3BAEB17961D0DB8875F7E75C3EBD7C6C5275095B7DF0E48572483A0AAAA0AFAFBFBA1F2D6A560329BA3EA8C000F63EC0742A168FCA305A3E005043F6A003611AF791078D2B81E9EE7370A5CF8D72FAFFDE617A5FEEDCD3BB666A5A5ACEEE909B98A8A920E4C98905A7629C0A925B77D639B9E61F24ED7373ABABABD3FBBFEDA39738F9F386EAEABAD5565E7E42248193C1E0FCCAB2807A3418FF1CF8086A6D1DB2AD06854A3D76A8C52F49B0E438B8C35186ED186F7A8D56AC02204B49A31E17801ADA6567F527D3A69F7BEA32D8BCAA7B9EACEB44CB3592C23D75D37B575C4E529FF78F7FEF3C5C51306BF14F8B2FB1E4C329BF4372B456538120A9773A1F0607A4EA6A5AFAFC778F8D021A54EAF87D2B25204A523E9841E14B0933194A86822330894CC8C96D100AD54607EA811AC6AB4D1A34D13ED69044F8C40B369F574955AF3E8DEC335531995C21D1F63959393E34E0D3B3D6CEFC0D0CD2513F3F75E5201FAD3474737D98CFADCE6F69E9343DDBDDB8B264D7CF07C6B83A9BBB373415B5B2BD86C36587CC30D80951918CDA847552A25502449541482A130CC95C49E687888183A02B60BE1C261CFF162F49AF41C798FF4BC00CA300F8931A681DA735DDF8B2F74BC6F71F3D52BEEB9B5ECCBE42EB56EDD3AD85677ECA3084B7F2333252ED0D4DA2A1C3D52AD8F49489D683168CF1B0C8624B7DB056DE7DBA1A1A1116263E381D16A493A011629A0A3C0D110021CEB8B521189F2BD068D41DA1CF53ADE437A7ACCC8683FF69C925281DDAC3778B9F06D812176894EADE84E4CCAECBCE986053D5F0ABCA2B0307CE048DDA7FE90F4E08CA90561D7B0EB595E92727B7AFAF6A5A6A6146151C2F8D4808849B77BF75FC0E5F2460DA0542A08CBD162153584C4B341AF450AD54130E48791911104486642C67F470045D7A8216AD517E055786DD5D2101471F668759C20C9F9FE5070FE91531D7F993F7BA2EB92B4CAF31B3E58AAD53195F91989A1B6CEF6974E9C38BD47F0BA56144E9972281462816359F0FA7CC8DD7E20AB3EA3C98C52A102D25353A221C460B2467B351DED89F79D2E0FC63FCE10CE4830C44388E5A32173219C0813A92302F4BAB9B1700A4343ED7148CA2C1091855E9545FF8FD64679FE4B44D6DA57FEFC925E6F68CC4F4F28DDB9E753977B68304FA7D3DC9A9B5F043CC6A48AD640477B0BA4A52440FFB00F9A1BEBC1E1B0414545054C2E99884C4347170A5176194B509EE7307CC2A0D3E940440A259449E29C1FEB253608435E169061C11F0845598CD19BA346E1B3231CCB3DFCCCB76F7BFF6F42E5E257D5C75BF70524CD73214EF8C994E2A2793895376767E769D4E8358D868972B84E6F8296E67360B2DA60A0B70B4362188D698793A74E032A43342436AA6F4841228D142825864910670D89279A1B0A1C28B151186224277CFE00586D5664250D188C464C7A15DEA724E1A8C3F1B2AA138DC2ECA9B987FEA9AC7D6CFDABC9B44AFD467646E15D0AD97B7A7870204D0A87B17AF603CB86A074FAF4283793F826D5F5D0A16AA4CC595166A9AE3A8839E0849C9C1C983D7B16A4A7A57C418B848988C620A0099DCA91D122C6068270B6B90DB2F119E18BE275112391D9E149CFFFC1C8773EB46AD52AF11FEAF1879F78F17A35C35C97E0305E9B949C51E0F379A3A142A63D14F063424A909A9A060CC320CBE8E0D8B1A338D642726A3A9CADAF031FE682130DE0300C4A4BCB60E6CC193813F6D1A42472626C5382C26B096BC3D1E327613AD60B5285C5B1D8FFC20871D488313A3DE091A8C57F132A175E372D9ADDBA65DB2773B0505028BAF289C77D5E3770A120A02A04056A1432E5C490EAEA2AC8CD2F8063478F424C4C0C7A9606ABD58EDE9420E8F74629EF0FBFFF3D34369E039613C064B161722B1090088160282A541A1A1B212323736CC327AA1DA34C7541C890467413CE703AAD08FBFEE9D22DD05FB756920B77C6C6D8392EE8634C662BC8449F04FDD1EA393838104D40C2C76A8C7FF22DB171F110C0A9275F140C06A1E37C1BC4E17B4AD4327DBD3DE076E5C20F9F7C12F2F2F361424141B4272A99E401E6551428014EC2880CC8E7501882844A23F4282EF7C8F0EA7FE871F25AB66C59E4F54D5B3FF4B8DC8B1CB171B15A2D43D11A1D48A200019F0BF2F3F2309E5D60B73B90EE5408B2958829B060D2CA128F6F6990257C18E7A9A05233D0DDD58109AEC14A1C0375B5A7E00C86D481FDFBE0F3939F235045D4FB1A8D169FA34142EE27424E1EAB13A3868C4EC4A1EA7DFA4B5A735EB76285DE48C5EECDCA4C2B8EB15B75A0A481E358D4EC08CCEF8B169A94CC3CA8DAF70916260764E0980D7AA1A3B31BD2D2B3A1BBB3154A4A26434D6D0DB4B53603A1D623870EFC7D9D8D9A262F3707D043188AB836400A253A89F42154A2CDE71AC9ECD45EF26279D6F2E5DA1875FCC7490989135253E31D1C1F89966FBBD5026D6D2DB8B0C881EAFD7B212F2F1F2BAC08BD3DDD9094920E2DE71A20774209D4D77E0626A309129252C1116387A387AB4167308106F3857C8E73C4896122434A7212CE442D996DD8B06163541613D069699961A3C5D2181F9710B65813E65FD62ADF9494E49873CDD2B7D013F36935AD2E2A2C80C4840418E8EF0647421A1C3BB41FD29069C827F6F674C194A9D370F171309A880FACBC2BCAD71E5F0042820C110C83533535505F57030BE6CD21B3D45F73A6A14A12586F49C9A4998D67CF1C494CCF2B93F860974AA571F21CFF5FB9B959D7783CFEE687EE59F4E965EDABF8FBFA9EBBEDC6F2F4DCC229F2B0CB33C4F26197D71774D8E2534C18A36AABCD010A22A82894BA28C408AF6B50E64A08F8745D33B4B5774057475B541A9359C9CACA86850BAF838E8E8E2695859E5E5A3AF39ABE21E7D29E7ED7A19229D3CB31C6C5E6D661FF8B4FDFFBCD3D071BB29D3E4F0A82DE78D91B4258C15C3CCFF6899268D1EAF47142988DA5507C05FD22F87D6EA0B526181CF642281840DA63C1597D046763B468D9D0288167D12066B422626B6F6F8373E79ADAEFBD6FE57A8DCEF087A0DFDF939B91A80E062CFD7BF71F7C3B14F066A5A66697DEB5EAA9DFA1FE05CEC03F32AE9DACD8D858C3999A93F4C9BAA6F5870E7F96FADC0B2FFD1EC3220D99310D5742BFEDED683D86491BC7717C1CF2BBDEEFF5280358ACFC58BC0281407435458A9452A98A5014FD394A88ADC8A347398E9B1E171763EFEB1FB27F76B22FAEB5B9A9AEB9B9D1199604A6A9E18C3B2131A572DFBEAA475F78E6116E5C3B594949492F1A8DC69BAA8E7CD638B37C61B51C0E4F137CFD7DC8B57326959617D79CA8462114F9514F4F4FF3FAF5EB957FDCF4EE1A5AEBB859A7D327CC9E530EE73BBA6A4541602549181104D12D89A2AF7862A13E3D2D5DBF6DFBB66A5FD0E79204D9AB53EB433EC1EFEACA4FF045DE7D37FCFFDE3B442379BFDF9FD73FD0E7985294E5FCBCAE45D218E375426070C78EAD9B66242727FF42966513B977E3C68D05B4D660A698481672704C5C6CEC53AFFD74CD8FFFD1673FF5DDFBBFBAC32BF4AC40BAF7366F3EF7DC4F7E1E1374763D81F3B5406BCDE88C9EA0D1F41ABCE73F333333E3500EFC3B310AD59D93FC4F0E471AAEE406EBE59E0145F70B77EED84E6AF4D299D7CC7D9995BCE558F46ECD292E5FDADEDECEE1ACACC105C0BE884AF56BBCE73E2C28C458E818711DBB6AC049A8907E6868A8880DB1A15B96AF4CD6E9E3ADAC9ABD5706F9BB5925E50B5004C5E32D751AC6FA24F6663559DAA3C3DF7CF189C1AB061C41F1630668F67CBCF34C5E5E5EB99ED16DD609DA8751B7BD8D99BE49A9317E5B634E5FA3D4184AC8BD6A8D2606C32910B9C22708E3F238797DF4C1168928B7DB96DD2121A29FE37F7F4B1853AD77542A55CA0E14A2B9A8F42494B876EC7D57FAD463DCC0DBCFB7E52383844BCBCAA6A56764551B0CC653286DEB5594AA45A15092AD05371AD6498C8B7C05C055971B2A17661C7BDBE99347EB32F22717DFBFEA91396E5F10BCB8C8258B0DAFC70D3E6C5EAFDB4AFAAF83C7858BAF776E7BCF7D49CF29AEB2C749A85C7C827DA6FE74D6A1FDBB4E28690313A1D45AD4FE0651144801D2FFF5C90378AF2A702C2A6D18D7988820964C9B390B288DF670F5415D6BC3E922477C4A0763300D0E759FD7E3DADFA562CC07F48CEA8F118D4E0451D973558177777793B3C8EF93F1FB9F9CEA707A82692DE7CE020287E48C8274A32D1EBC2343D1651830067DEDA9FD1F7E5507C0E33A2ECCC89BFCB2C3669E8E6A4F21CB923522CBD98855F63A872881E77131AE082FBAF9EE8365736F58F5F09D151D5F0BE0D9C5739EC6EE4740389A564C9D3CB9F4D7F9C5D3A74A92A82E2F9BD4555F7BEA8FAFBDB4EEE4AAEF3DFF1F267B624C2024CC79E2DF16F55D7DE02573FE84C4BCDC6A77BC3EA1A0B8262E2965E3BE5D1FB6CC5DB4586D359B70515CE4F0F152011B60F78658BE800D851A7D3C37F7C7AB970D5F353ACC9938A702415758AC764FC9B419BB274D9FB5C1A8D3AE55A9D53A41082D6C696D4D1C18186A8808E2AB921CFE6F72268A8D53F0FC9ECB3946BCA2C0B32696DF8873B305D59EB2B064CA9B93A794FD66C6A4ECB78E541D18985038A9E6B5E7BED789DE3DB373E78E1C5E10CB44316CC1B5E610B64149141A2589DAF5E8A3EB0DFF52E0D925E5772A1491F7F0EE73597905CEBC828973A714A49EFF64EF274F65E4173C9B5754DC4FEE0BB1C1B35EAF67CBEE1DDB5D6151BA17573856046D92C3C21B9228F50455CA0FEFBF7F3DF32F019E5D5CFE20569EB77015F19AC1689E94929AE14A4E4CD0AA8D707367BFE785F48C1C73616E7A54B2F2C1C0592E18729D6BA8AFEFEE3CDF84DEA6B1350B6278ADECD6DF8D639F0F02EF4F7BE821FA2B034E7EE4953DF11AE4ECC86F2272E40748790B1D8EB821254565EEDDF5D1BD4F7DFF850A9BDD3EDF6E31559B34E0C5DB4DAE91E10E5CE1CF1AEC6B5BF797EDEF660A3CD78B95743ECFB1670254D72DF5878EDD238ABCC2362C6D5ABE7C3975C55805BF5CCB304C028A29734C4AC177546AE63E890F6E96C4908B31C43C929D9BE76B3DD710D2EA0CA6ACBC094A8BC9E89D3EB3DC7670C73BBDD507F64814AD316A2D29B121E7795E8CD09EB49C62FBEC79D7D3073F7EFFB3CCDC92B46D6FBFF22CCD301DA5736F59C3B16CCF67073EF836A1556CECFFD541970C1C41D3CBEF5EF91F0B6FAC5CD7DB3F84AB1C170C0D76C3485F0704B830B02C07ACBB07383600A6D86C48484A06474C0CE4164E81BD1FBC2977B49E25CA91672CC966CEDB3F802AD1658E4DCB9F52368722BBAD98B8E0750DC1C8502FD01A0612D3F26491E74436E873BA9C833FED6A39F32B7C5E1A4FC957B9474634C34303B246CD28E312E2C1EA8881F4EC02E0381E789685502818F1B89D82C73522BB9DC36EB34EED8F37D1E6150F3C1C542A28B263AB96224AD21B2240D92439A2E41030C785D07016C898E742D10D537C4F29709C86171C895EB7733E7EFF1B63DEBF6C8F937827BF5E588CBC6CB33BE2E30C268B9D6174368A569B288A362A940A14500A1DC6BC5EC4C44B4A881BB8ADB2329E1CB4B2685C28C4CAFE40900F840242004B262E4B053EC48A5C2820F23C27B06C481478161DCD490217920481970411FF42813F0783FE77114B68BC31AE1C9B056AAC916BC200E4E71BE44CDC888D1412B3466748C848CF4CD6EBF59CC7E5F23A9D236E8FC7497E15C48DED06909E1D1B0B63DEBCB85DF8E544F40C0171705F49C91FFB29A972AC5D6C5874DB6474CB3DDA5F18FF55BBD28BE5FF014EAA096BAFB3185F0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (146,1,'Satellite_antenna_(96)',decode('89504E470D0A1A0A0000000D49484452000000450000006008060000004BECBFAC0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000026294944415478DAED7C097C54D5D9F77397D99724937DDF1312086109105651CBA2BE4805772B56AB225D7CD5AAB5568B565F6D6D7169D1565BD1E2020545D917591396040890102081ECFB649F7DB9DBF79C33331068FB7D8A50C5EFBDFC0E67EE9D999B7BFEF7FFFC9FE59C3B8CA22870A56F454533C20E1FFEC276A9CEC75EE980FCECC5A5E94EAD5EBE94E7BCE24151C9EC889ABD6B1DFF0B4A70DB7AE0E4785058EBA53EEF150D0A0370CBAB8B1F3AF8BFA0E036F9DA79F336EF3EF25A5F7777F76501FB4AF33E0B172E54C5E55F5DEF76B9C2BBDA5BCA3E7CEB37B3944B3C08FE4A634974CE55B7DF386352B2204AF0F9E63D2794CB7057BFF5A030B7DECA5DE5607FFBECB3CF8E6CEBB69FB6DBFA6F686AEF054442F47AEDAF5D8EBFF9AD0665F2CC9BA64FE1B49F1B2322C3D66ED929DC3C6746715B3D675EBB76BDA2D16AAA6C2DDD3DFFDF68CAF3CF3FCFEE397C7AA5466FBA393E3185898D4B84084B24A8D51AF0F97C8D99A931ECB0B4D8944187D0B1FF685DF193F7CF6EFB4E33E585DFBD39BCB9CBBD52017E784C6C2293949C0EA9A929909A6081A87023F80531BDBDDB069B4BAB61B0BF3FA1B3F5F44E80D939DF4997BC7AF56AF5D2773E5ECCB26C794242DCFA29C56336ABD56A41ADD18041A78608B31E92E32C1013690693410346A31104D1CFB8DC42D6FD8F3D67F9CE3165EDA65D13FC92EE5D86115C5969A93F6255AA5F0E0CF4BF555B5FF9449FB9E76DAD4E3745946468B30E8028CAD037E882EE6E2B32A50FECF641C663979EC6D33CFE9DD094AAAA2A83DD29FE8FCDEEBCCFE1743D979F93A3EE1F1C98D7D7D3BF60FEFC9935A1CFDDF7C88BD72363DE0E8B884A526419DC2E270CF4F7424F77177475B48249AF6FDFB7634DD2150F4A7575E30C8651DE19B43BEB049FE7D71116CB0B2CC355D570DEA76EC9CFF70FFD6C7272F2F5B22C6F8C8ACB78262A2193F1F83D5739EDF6893EAFC7C0324C67545464ECBCEBAE8B7EF4D11FF55F91E6B3F5C0014B386F5EA2D36AE7F22CF77364C8A0C9A8FF1B28CC63052333B616FC8BEF88A2D8CC71DC3B6E7BD71F765494FAF0D08B0C6E0F3FF19BDAFCFCDC471A1B5B96B21AF54D78FCDD2B4E68376ED97B8BCACF9F5464C564B7B9C79E3A5D570CA0DCCF28CCD58585595BFFDDF73A3B3B4FB4B5B52D3C73E68C2F742C18C9D6330A646162B8128FDC71D98496449085EDEE478A8AA77C3F323A2623C2121DC6AB381BBE63450AF7CB92D42FCB52BF88BD22D1FD1E59100FBEF0E4DDA7FEDD1F59B6725D8249AD7953A7D34EC08B5F74E8687593C9A4FD0CB560D9EC1993165EFCE52B141445E1FE8A3B4FAE58B723F68E1BAFB55E5250728BAE8E1A678AF8FCA61FFC7072544C1CB91BB4C98A62C0BB9B20CB0A482874326D1220202005DB0B4B3FE99664B14412A4125991F6BCF4F882E3E456BEF5D795F7EBF5DA57F01C9FDA656E78F5E163F7198DFA67D1F52E987FD3CCAAAF75F50AD3807F63C66F7FF3E8F137DE5A5EC30BE22D7874E925058567B8FF19969F3F3929E99C90078001024C002039D0240581910220115010A018EC6F9624F166B2FFDCEB2B6CAF303E41AF533336A7F79747CFD46E3071EA95069DA15E706B262F5878A3E7EB135DA9C7FF16D157C0AC0006EEB814A09CA729667358BEC96402B58A070D696A1EB41A156D7AAD1A74D87090B419B41854E9D560D46320A5D782C1A0C766009DDE88CAE801D6371806BC26CA2E6923BBFA9D7FE6FCD02CAB0C118322BFAF43F25E222DA3A0A4EDDEBD9B07465C81F76EE2BE7D1529978C29E595CD57C7C4C48E3E555D0DD3A65F0DBC4A85C0E33F8656B84039CB1C3867563235ADA0492960B70D4267E329D0F22A884ACA0099E1A1ADF6388024405C4A368B77739C248A1F8A92E07EFAF7CBD78AA2F4B12D52D8FAF6830F0A1773F15E233460C7A9D551A98F2C9A5EBF6ACDD6433270B7E1B1DF5F12A66000F5942532E6CF1E8F130E1F2C079E6581E75950F11CA882AC093087071D32E72C6BB0D7E2F1C6D327A0F2D05E888E8E839C914598BCA9E060C917603699216F543198C323C06034059AC1ACC7FE0E0CD5D7C7BA8C9D08D05F1EFFDDBBD382F87FE9EDEDC58BDDD875318C9415302158C1064CE8EB33E54065F3E8E6B68EFCB4E8E1731AEA4FE51F28DD737D789819468D1E031C82C3B284310C60A0449933746B6D6D855D3B7742187EFEDA99B371D066CA1CAD460D13A74C054B742CA0480309D3691325105073488FACC15E88C43864A14614163EF3EA47AD4F49E20A41963E5EF28BFB2ABFE418EA255008285B5500FF40609654D634E4140ECB38FDB540F178DC4FB575F5BDFAFCE2DBFD5FCCDD727B765AA475CBC68D3A02C498316329201C02C312800830C82FBFDF0FDBB66D8393D52761C6CC1908E028E20DA83911EF246914D0A6A7C1E0C00068F5063C074B8120C00440190A90186882908CFD93D83FF9CC920F4F0A82F0B12879962FF9D58F5BFF2FD5EB7ABC32CA9479F36675EEDD7F6C0F2753B63C7FB1A070B36EBD3BABAEAEFD85CE81C105667378D68CABA6FD64586EF6C82EAB557FB0BC1CEFBA0469A969C0720140588E81BA3375B07CF972E03915DC7BEF3D909D95193033DA88D9055E13B1369A0C20FABDD4143598F15293E4029F239F097D96471DE2B0F13C4F5F631F8DED1A8E57FFEC8BD2A379DB765734CF9836BAE3C201541C3D51101B1D59909C1CB782EC37B776A9B51ACD03B131116F5E74EEB365EF892F3ABAACBAE8088BB6C3DA13D169EDFF4864988F664D1ABE72F9C7ABF24ED7D66A12139361DECDF32122221C8160E1BD65EFC1B0DC5C183F7E2CA6F0061C144FD914322D25E8CACFBA6F648EC7EDA6ECE054EAA02905D82250F648B41742FB62705F1088791106059AE82FC5634B74DE96F58B172FA6B382EFBCBBFACEE1F939CF4E9E589847A5E0C0498BD1ACEDAA3B7D66DC4D37CDAABC28A65C37F7EE07232DE1937B9AFB9C8E5ED75ABC97954656DD317C547A49B825E601B7C7ED6C68A85757551E038BC5029151513076EC185AF821947762C6EA71B9496A8980213B504B541C3B843981A6D56AA9603318DF68B52AFC0C7F8E55F83DF25D7E087B02FB3CB2870FB2075F737C2AF6B78B2ACB5DDB4B8FCA5B0E549D8C3430AA98A8E8C7DE5B16F7D2F4E9A02427477BAC3D03E37BFB0663F3F332B75F9CF95CBDE843DE2CDD1B116D4AC0C6DAFADDC992283D5D5FDB719FC164A8345A2259935EA76B6D6DE1AB8F5743535313C4C4C68209BD0801C088B109894FC820FC821FFC5E2FD5143208E2AD088B54AAA039A147D2A0E762914B1A640C397ECE7C02401040091B09405C1034729CA300A90830B8CF5B3041BC9E6798450E8F286726C54E8EB434BC979D9D4C27D9BB7B0798FEBEFE871194372E0A94F5EBDF960F56D77DE2F34B8B8C061D2BAA59FD80CFB95CF4893FD7704CA7CA685CE0F5BA37A4A6A4E47574B4C1C0403F1C3A781006060720312111546A3575A47891E8713480F90DA8112C06074E225B06CD8832005942824235054B45BD1A0544350414FE0290CE32861B02CE5080381DC3F2C549D16170AAB963F8BAED65C7AF9D3CAACBDAE96FE81BB03EF7E9C62DBBAE9A34FE2BD76FB9E79E7B0E460F4BB597553656BA7DC2FD89D161AD3DBDF69ACE9E8EC555A72A776565E7DA9C1E618ADF6D2FCDCB1F91DBDAD242BFD8DD6585036507D0EE25484070181C64A83443F48527E6818327F10AC705DD7A406DA8B968D08418FA059982C90F31352E04460810FC3E17640F05860B1E437058FC3B16A3069C5E7FA64F8287761CA82CAEAA3B559E6031C7F7F40EA45F3579DC968B02856C45C353CFEC3B526F747A7D93F2321263149F70577347FB1DE5FB4B0A9352D2B3FA06ECEFB1B29032B270741401262CC202A9199970A8AC0CCA0F1DC281E9D0AC6202112F28677326326C02084B75863085A56EDBE7F3A278FAA9A9F97C3E0CF28CE75812D4176A42DC10130A991605843BDBEB351CFD5B3E897C9ECFE2587EA12088AD3EB773D6AEED9B5E9D3E7DBA7251A05077567B6877AF4B7593CBE77766A427DC3E6278CEA2B2B27D3B194615AED1687FD4D6DE74B541A75F3072D4685DFD99D3D474468E1A0B0DF567E0F8F12AA83E710A222C519843990309A41C4C2465E56C6A4018A5C614C288B95298D948CDC98B3A545FDF14F034D814FC22E1150142AD1ACA16EE1C286C9035D86B113C90451020C01C0486F58B9023791D2805AAA8F212EFB6E9D3D3BEF41A967F2A47BEB2745D02AB571DC588F6ADC468D36CC127CDAF696D75B435B5D45BBBDAFFA688AE0F0B468C3E62898AD6ECD9B51D6262E2819419F695ECA083D31B7410151903D3A64D85E1C3F3A966A88362AB0E6AC885FB8441384EA86F6C0306E3209D560F6EAF0F7C5E146E0A14C9CA09ED90654C006C013374E2BAFDD83805A3639F1B06FC1C75E57E81B874115CBD1D80E106C426A5D7F865E1B1E77F7ADBE6AFCC143A2B373ED7B17D7F75A5DFE75D8241D4133A9D6A6958B8794353534B97CBE178B6A3B7E315C9E32908334764E7E60D87BAD327E92455564E1E58BB3A60587626A4A6A5C2AA55ABA1A2E208328581A8E8186A478132831CEC03A1FFB9630A84879B6932E6703800C304649C29E8DDF49867E9A80EF12C4F4D9147930C08324BB549163CA84E245E52A876B11841B3F87E53DD294848CD8AC210E0AEDDE52726EC2A3F56317D7C41EF5702856C578DCF6BD8BEF788DEEEF23C1061313DC0CBECF2D898C8D76A4FD7CDF1389C69919688E93DDD5DC6B0700B64660D83E6A67ABC602DA4A46641F5F14A20F598D1E38AA1A7B70F3D5539ECD9B3071C4E37268BB194DE34780B82210E69649F43D3222EBE7FC086B99144E31B926210B323A612D01562361C3D16081A19F0BB5DA0F06AEAE514640ED12BE204505B20222A9ADE3896E5B259867FA8A4FC44E4CEA3F525D3C7E6085F1A14B2EDD9BAA6C4CF9A6EEDEBB725C5475A7EC1AAB80F3C2ED7DF319779A278C244930B8336724F2C91D128B009187FE8D0156B713F162A0E97410202E3F5E185618E24887EA8AD39053B77ED842E6B3784A348EBF0CE8B1780124A184914ACD56AA816D9EC760A14D11126E8D942C9296DC19CCCE3B4831FBF6FC6C4548D311039BF1EC18D8D4FA41E90A6290824DE1496E1D8624E92E6EE2A3FB97BDAB8BCDEAF34C5F1C84B7F8BD572FC515EADFA4961C1B00A4610571D3E529136227F44ACCF2F048235BC1364E07EDC2761B90F5F3BEC3668AAAF8182B193E16879099A831D592022705A185130128E1DAD80D8D838B8E6DAEF41C188E1E74A14FC39510DB96132708FE75CEE449D38491DA4A14C93A0B3AD0DFA6D4E48C63C4D08A509C116D09880CE08E7BD165C92DFFFE35F2C9CBBFC2BCDFB3CFAFCD2E91CAF59ADD5B2458579237D1E8FEB605DDDA96472A11282E074B9CE66B92ABCA393274F0683D148C3781605D48782B966CD27D08D0C291A5F0C63C616D1CFEED8BE0D0E961FA0E04CC3F87CC2B8223005DD327FD60D9F33193209469A4ACDD38C3B583B3E0B90B5A3031A5ADAA1A07064200397CE07861CF39F074A28BF12C9385E7EFC47D73FFD9526C37EFACC1BCFF02AF50D9E786E5AC2A0B236353DEB3A22A0848E0E870D7A7AACD06BB5225BBC3063E64CA842F74CD280EAEA6ACC93C6425A5A060CDA06C1EDF6D218E6C0BE7D503461229CAE398974B7C0C6F56B68F89E9D9303C5138BA1B0B09046BD7C483F286B98406D87C63D2C8DA29560F649C0E9EFE9852395C761CAD42954BC43C09CADE104134EF102169D6BE28B3FBF67E6B35F1A1462C60B7FB1643346A8C7A3CDBAECB8F8A4B9BC4A838374417F5F0F68757AD0EA4D981806F645F404999919A83571C81815D437D4437A460694ECDE83E6E5C3A4329AEA8AC918061F7CF02E46C449909199032D2D4D70A87C3FADBF8C193D1A264C28869C9CACF35843B5819A901808F5D940F1D08926BA6BD71EB8EE861B02F59C90895D00508835A142D7F9C0088F3D7AF7CCD7BED40C2189BBEE7CDCF903BD5F73D4A5E13F9124815E04B978735838B4B736E0DD02D0E9CDC063DC6134C7C2A0C38F2ED60F9DFD9D98CEEFC3E0AC0EA64EBB064A912544706FBBED0E64D231F8DECCEBA9D91D2CDB0F39B9F9508D0279DF7DF7C17BCB96C1DED2129A99178D1B0FE38B8B21293121604EC16AA0E076520048F98254BE1C0E2705221428066A504131C618870BD698836FFCB370B3EC6FDE58B1E3E37FEB7D2EDCE6CF9CEE5EB96EC721AFD7FF628C255CA752A93113B5A2C29B5143C2503BDC1097904ACD00850778F4464D4D8D909C98489970F26435D8104886D761DED40E23468CA477CFEBF5407C7C12541E3D8CF14C2CF422D37CA85759D939505F770645D643BD17C9D077EDDC052E97074CE11134EF214010D3E9EBEFA7A33C73BA16E2D1EB1106C941CD390B50B0E03E84FD102A09876A41F8BF1AA1812F0D0A05E686E92DFF58B385A87C417C7C8C519604C6ED76608CA2A7531B44633ADAEAE924198915FC1E176508A9B9785170478F2982DEFE41B0F5F7D2FAAF85A4043840AFCF83015F26F56036CCC21B1ACEA0679A854C3A8E4248BC99036EBA691E66E67634C19DB07BE70E4C2BAAA10BA3556226911816B811483FE6504673388AB1263861A7D0F769B1EBBC998873945142D82881EE744D75E25702856C37CFB976FF07ABD68775597B46A7A4A66B895092AA980ADD2DCB129638E84048CE320641206C20394B6E6E1EBD833D7D03288A561A3BF4F5F65060C24D7AA8A93D8DC15F060EB403A3572DBEAFA622DCD5D94E07585B5B0B731198AAAA4A9A1FD950B81B51AB0E1F3A889E6C3B825F8FF18C16AF4343BD9F4C23E873D32F8126D3E3944110E843137E21D61C3CB0D7F0954121DBAD7367ECFE70D57A68EF689FAAD3AA38F4148C2CC9F48F68347A10F0CE93C2362946D5A109383000B3A39722C198DB2B80B5B305CDCD83019A9EEA495B5B3302E94333E805F46CE0F53861EA94C9909C9C0635E8A1041A9DFA61F4A84234A9062AF0E76B9E4C0BE424313D545E06BB76EC80D3684AFD6856E46F12E6105393822E5C51020C0A954C09242453DFBE6D131C3F7AA4FD6BAD4F9973D7CFFE9BE7D5AFE664A53131511686C41F2CAFC50BE0C03ED88D89612465697373138D4D9059D0DAD50F8DB55528C261306ACC04686F6B81B6D626987EF50CD8B0612DBAE5E180F90394EDDD052331D0CB19960F6507F6C3D12387E18639FF856943053435D6FD3FBC2543C126AEBB60781E34B7B4A2097B30DA8E42538BC434C2181015BC385196D0E4DBA0A3BD9564FDD2B0FC82A7BEF6A29DEB6E59B41023DE3FA7A624F93352933464F0C0A830A14553720C4076EE303876AC8282928AF14A5D732774B69C41B3898009C55741E99E2FE89DCFCB1F01EDED5DD0D9D10C59B905C838031C2EDB83418982714B110215013EB71DEAEA1BA1BAEA08BDCB448F4CA821249C27D132298106A823D3C9BCD3A76B00AF09162E7C109E5DFC025D1276DE4C206A605C5C0224A6A4784CA6306B4C6C7CF58B4FFE70CE2559C9F4BD79F7DF8377E6DD98A82887C96C0C1F187462F2170531E84DE2A2C3F162BA50036C9086A671E27423387ADB41AFD763003715F6956EA7D4D5E9751019970A355587298059B92331EC57416B4B2D5822C269E973C4C891E83A556047E176FB6434DF2E34C576C84C89A59FD95F7608F6EE2DA505AB1FDC7D370A3EC0471F7D00E9E9A930E3BA39F0C7D75E254BC3C4B4F40CEBF8099379E21C06FAFBB6E10D5DA63798DEB089F2A4C7EF9EE9BA24A0205DB3E6DFF393594EA7F03A8B3E99CC43C7C7C540667A0635A7C8703DBAE77AD48B6C38565D0B92679006640523C7A1599451B74CEAB9238AA6C2A1D26D1414228ACF3EF5286891014D48EFD6D60E686A694317ED834C74D73ACC9E77A2173A5A5141B56CFCF8228CA667598D6191725D63F3475B36AE5975EBFCDB664447C53CDC69EDFAB3C1681874FB9487352ACE8AB18C4716C497172D98B57DF5EAD59C5F135FE276FB9F78E0F66BF65FCAE55D2505D929EDDF9F7F07DBD9DD2BF50ED87C18C774605E647039BDB13697C0125125935C6423390ECD97300824D930018465452A8A64828D6801C949FEFEF16750306A1C6C58F7290D164952498E97A398464410F39B0CD3AEBA06D9568299F9A11347F75514BFB8F4B5A8E898D8FB6FF8FE9D1F75F40E6C76B8C479C989B16F201B8769D5D0D5DAD6C676D694CE7EFBEDB769D94065C978DAEFF6968400B994A0485E8F4744CEB1A414C9ABB47AB7D79F2523D581F3A3C7F1038FB95253470F15391EF31806BD49536B1B488C0658157A01D64F732792BDA28D50AF40A74D302D90110CE2A245910D4EBFB2303868838D1BD68111CF376EC224EF35D7CE8C1444E5D1C67AEB9B8FFE68D633EFBFBFFB454D34FBBB9E6EEB96F28AD6FE70B369796C4CFC8D9C4A2D3AB998BFE135DFB3ABBC662C5EC95CB53762D2255F088829FD31900592901CECEBEB4BD2EA8DB168965C304A0AE4094A305E42D577B8DCE075BBC91C36BADF73FDA993351880050ADAA4B4498E47C6245040E83CF6BF686E8FDBBF63E7E6EB7373726AF1E48F6B54CAA9773EDE7E2236D1926C61604B8225A6E0D34D9BA0A9AEFE7E87ABA43223332B3A2373D80DF3EFF9F9DF7EFCD0FD080ADC73CB2DE7AFC6BC24A0A09BCB4197D9F7F4AF9EA9997FDB0F0E6356CB2F79E54FBFC5C02915142615E1484558D2F41AF55D0EDB208245D640296A381B82877A999A880F0121710C09FC9C4E5BA048149AE00FF60CCBD662BEF2AEC2487F2FDBBAA17BF7C99346CEADEAF478BD8EE636ABB1B6BE250AD38A8CCA43072676F7742B9222B72A8AE8ECEDB68EE5F983F128FAF76EDFB1FBD3979F59547559D6D12625251D47B14D387EA2C6DCDD6F2FB8FEC65B7E8BB4AC395355FA14793F3B3B5B8339CCF76FBC79C18AD2DD5FD8067A3B07307974982C51B5E6F0E82E63786C0F9A4EA2CBED1E8D60E47BDD1E038A2F5330B250494E4971F6F6F6F6A196B82441F40A12C6CF8234883AE44300C3F4069D65CAA489C979C386990E1DAAF0EC292DED73395D83E89E9D1873445657561C777B1CBD9220D911793B9AA60D64C66EB68447F51465BFDDB26489E7B2ACA345607DD82C7B4B4B4F8D1D37F159B7BDED299D31615D5A4EE154BFB38747C0C8922BBDC33ED8650CB3B008CA13674E9FFC74E8398A8A8A549D9D9DDB7596F40A8D5697AB451F9D9E966EABA9AB5FED777BFA2545B463EA6F9765C986B8D8D154ED3E49B48F1D3915FC3AFFC0DC19E3FBB029C12570DF8AC5C5747DEB071FBCDF3F76FCC4DBB3D3D2C73734341ED0981367B216ED5F7C036D5908CC910F96BDF56A5C5C5C06E6423BE2E3E32B1084A6D0093A3A3A16F36AFD4ED49CC51CA772CB8A6430994C259B56BE75C9D6DCFF471717234BA8509597951146B0EF2E5F55D1DAD2B400357532065B8FF1BAB09CB6B6B657C967BABABA1A10A05FA02EAC2666458E2526264EC6636355E6383331695EC519E8C5716CFD37B144FE92808203A24C41634FAEAD39D58A30DD5A75AA758477B025CAE7E8EA51E9238765174EB931F479046815618ECBE57A1D459A00F12746AB7D1875E83E3C9B4C6A3240AB6B52ED150B0A6E675DDA8A8F3E6826387945EFCB1895FE1D24DFF7913177C90AF3715621465AE7807C04D93205DDF94664DAAB5A43E2743C1C8EDEA59709AEFEB17659CBAE585088D09E9D2FDABD238AF46AB5F686AB66DCF05E6B6BEBF13395A5EBF1438FA3CB5D8BDA3B21B880D083DF7B17011887FD113CCB4FA9C8F1FC60E85C7BB7EDAABBE2CD0702539EB93D3DDDB43E9893377A7EE6C82977D1258CC7F7FE4561983F61A0BA3973E45505C9C9C98978F841B2A69ED71AD6633F9286DD6A7568225CAAAEDEE5FC4E980F0163EDA7ABA8165C3BE3DA711A95E6C5ACC2A96F648F9916DD5055FA0C86691B3188DF86724A74E5C9F6F6F63FAA0CD16DE7A263AD31842F7C43DB25371FB26DDDBC414B4F8E79CABC5B6EE9C348FF614554BA330BA678514C67E05B719AF0A45CAD25635156C1D4152CCB9FCD3D78B52636F8D27E45838282791E28DDDDD6E16EB78B468A53A64E1D8B621A7AF48DA4C9A14147229CD70303B79F8D9718F0F1A46416A898DAAF74A6F82F38A4DEB96DF3895069F0E65B6F770E59DEFFEF2F86615B430BBA31A9B67D53A05CB2309FB9607DFAE6F59F4957CF9C435F178E1E5B94993B9C4C51F806066D0E9BADDFE5181C74DB1D36AFCB66F339DD4E11B364896358D39053D8AF685088F95C98583637350C93C8745D908D0434B546AB319A140D66D151648D9CD16406775804ADD1922957B7DB39B452FF9D331F722CECF0C1BD272FFAA4F237673E97C5FB84B62DEB3EBBE88129DF01F3F1FFABBACCA9139539EFBCF1D21EAD218CD1E94D98049BD49C5AA7C3DC46AF006B521499E43DEA7F191082726583825B1F3612929362B0DF6030EA598E671896934F9EA88A71D96DA99224EA51537A343A632782E174DAFAD3D55A43A328F822D4FAF0D32A8ED9A4D2E89C9C5A2F02C329980CEEFDA640B92C4FB07FBEF3D83187CB5BE874FBE84AA795EFBC0C5DAD0D90993F1632F2C781CBE984B22F56425CDA70E8ED68005D4412784429A2F1E8AE41F8166C97F561EDC04A23852ECBBAF01D521E08BD0FDFB29F70B9A48FF59347ED93D3721E1E5F3CC9CAB07CB9D7EF97FD7E9F3CD8D74D923D53C3A9235263ED310941220CE5AD8DD57634255392993FF583877E390D3FB3EEDB00CA25351FCC635EC7EE678A2CD4A1527ABCB6CE2D5151310FCF9C77AF8E57A9FB304B7687691557474BA3F2C5A6CF3887DD4698AACB1B5964BFF3C127D3FD5EDF0D0FDD71CDCEEF8CF964164EFD6F04823496E154390CAB2A6B6F6D7E2AA360E2875EAFAF5763309B795E93CCA8C212E6DDB620EFB5BF7ED28C1972764246C6A4F153670E609CA7151466DD1F966D99F89D0105B3DFD063EF3E74D1F6CCACF45FDFB9F057F72724673CA000A3D9F0E98A7E9FCF3BD069B59A3BAD3D27D1BBCCF87447C53D874A4B5BB2F3479B032BAE25031EDFFCD29B6BC67C47845621C98F9D4C54A566E4BC9C9892979E969DBB34252D4B3872E8C04AFB60BF49F0B8E7F87C3ECFAE92FD398220764822BCFAC167FB630449F988AE389224055DB75690C5AD4F2FF928FF8A0585882B2922A107F9090125253DAB2B3563D88AF4EC9C4F33323234A989718FFABCDE94A4E4B463AFBFF0F03EC1E77BC2ED74F03B77EFB12310113207AF8BA2B436B0BC5362B0FD03D962944561FB63CFBF9575C581427E5624B360F2325244C2DDEAF8C494A4A4B48C5FA565A47F98959192989D1AFBFE9AF75FF94B6272EAE4C4B4F463E43B6EAF773F99346F6A68C86D6F6BDB2F8AF21D8C2265C892D88BE6D381804C9304E176648D055DC0F6854FFD31E58A0165C48811EA8C9ACE9508CD0F7177BF392C7C444272CA264465525A4AE294ECB4D8C3A991AA45B229E581F8A4146362525A3BF99ED4E7ACF1FB7CB2D7EFDBB465C3FA22BF5F6C42F3790B59538540D81451D2C8B29C8EFB372383E241F66DBFF727CFC77DEB41499E3449E76523D6A288DC8CBBA5A48A16139728C6C4261E8C4F48FC714ABCA5292D356AEE93BF7E333E2636E9F7F109C990949C4CD756AD5AF5AA0799D2846674CCED71956D5AF7891BC14844964CC496274AD21A49947F2548DE12DCBF0D5B9AC4C2F6793F7D3AF25B0B4A7676B159E3E4C84F05CD4697B30F995269898CCE8D8C8E5E1D151DFD8BC80843B751A79B116D307486C7C62C8B8A89D5C5C6C541626CD4D905677E9FF724B6711E9FFB81A6FA33190DF5B5A5088C8EFE488D286A516EDB41629F78EBA5473E9765F14E042697F3485B6FBD7561D8B70E94BCBC09918A4E4582ABA9D82A30F07B09BDCE8FC3C2236ACDE6F0697A83516019F9BAB1C393EBEF58F8F44FCDE1E1D3C32222D7465B4C1063D1F4A026B3D8389FDF770AD932EE58C98646EC5FD8BAEE93893E9FBF9EFE388D22DF862C7A1EBDD0A3773FF652FCB2D79EF94412A5BB717F949B536D9CB56081E11B018539B7B1A1965D303E5950A94BF0EDB1D84E308AEF268C4D966A757A59A7376252AC4ADCF0F9CABFDE367BCEE9E26BE78ED0198CBFD36A34DB79109B8D3A0DECDBBD9D14A2C84459946360A01D7525223E396F524B4DF94A5114EBBE58BF1AC78DC6234946AFDB95268ABE1256969FC7BFADFAC75F5F5A2D0BC27D28C213451BBF6ED2A45BC98F5330FF31500800D891298A08A01577888A4BCE192B839A68473EB2A3B1B7ABF56E9F572005D8748D462BF02A3E73E796B56DEDCD4D3F2F9C38F698D91CB991E779EDAE4D2B1C1E8F6B01894196BEF187DFC5C5C57D8A6DF3A0B5E151E281784EDE68B1588E3B7A9A0CD6AE8E9CCA8A7D2E62423EBFF7973BD7AFA86564F9BEFC5193AEC7BF13BFF6E33F6D73DA6D8F203057831ED644446498F15A3504346C7CF0BA2F5B42A8B966F6F5B78799221E6C6D6962FA7A7A0D8CCE924BFEB8228B9277B03DC2A092F6711CAB0B1498185D7D7519387ABAB2548648E05591992A8D8E2EF49B36FBB69BD45A33B4B57782E8F7CF08DD5CD1EFA68FFF333C6F547C0AEE7BB8819E36208FFF58A262C1680A8FB60DF63DD2D9D6086191319FE357BCD8ACA55B5674A664151C8D4FC9991D9396B8C76E6F7E0599D584EF7591F7B1B92E392841B40D29C919736EB9EBFE628F5F00AF578081013B587B7BA1B7AB99EBEFE90A1FE8EB058F5F01A7D30EF6FE76B0E38094E0EFA6788D66B00D58A1F5CC51C81E3E0E5C8E41FA53460259D6882940B074E9633C8E685992458FC753E7F57A3D3E9B0DB47A73625545193BF1EAD950347906F474B542FEE869E4A746B47EBF3755A5D2A49273919F1F89891F5D989E99FB1159238719B9B263EDFB24D06BB85C4CD1391D3653B7B5933E1B2C4AE4196019F47A1DC4A764A12DA5D2A7CFFD5E0FEDC9823DAFC72DDB06FA7C2EA78D73BBDC0A86F4038383B65AAD4A49D3B2A25EA756CB0FFEECC953BC5AAB51A9351A5EA5D5CA8464983AE3EB38D45E3403151E53D8C08398024447C5D09E2C0A8CB8E6BFE84311026D8175FA745F457E364047D6C9110AC65F2E50C8C9C5B2BD7BD675B477AAD55A6D8CDE60D6690D469D4A63D4AAF008CB726A29F4F3419240D7B58AA2C0E2311DCFAB41AB238B6DF8B8C8385D5CFEF0BC81F1E38A23020F610AB1E4E9533F7D2D82D7478F8180DA428EF9F035E9457F60D0E48107712800437AC12F289842C9C8120519A42832AD62992E8BA620B52534215B5B5BCB4E6C64D23B1C02539D9A50AFD2680C1196188BDE1466D16AF5E12A8D369C637913C372A4086D921530E1405922AE2D8D4D9C41A3A18FA6D187B3E9A36BA2E2F1A2CCFABC282B3EF2CFEF211D5A908F1CF0909E3437D921C7F13FB7CFE776FB3D5E971F3D931FCF2F076F201B2CF0114DE9B8AC452604461D04820BFE713ED8B82038E47D5DD04B915E4FB428D8EB7506732CB22C3A3F371FC1527C0E87C3E570D81D8383830E342D27DE58E29EC560A13BD4FC43FAD07B62B049C1260EA9740E6D44A706702CEEFF58E56D484CC00C71E54C10246E0868AA0B5AE84E8606255FD02B435E4B177C1682EFFD2B10CE2B030759AE5C56A65C4CF9E002D01838FF37F3FE6910FFEE98F22DF825F2FF0391261C4E5D50B0C40000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (147,1,'Server_(128)',decode('89504E470D0A1A0A0000000D4948445200000060000000800806000000F4DC6CBA0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000260D4944415478DADD7DE99324D7715FBEAAEA63FA987367674F00049620482C2812100510A42842206958124939EC30CD40D85F180E7DB2BEF98BFF04C9617FD0673B14618BE1904507A90883144999119615A22543066D035A628FD96B767766E7DAE999E9B3EA397FF95E55BDAAAE9E6377004E6F03BD7576754FE67B99BF3C5EA6D25AD307F9FACAD7DFF47953B3EFBAB35F534AD54BA560C6F7FD19CFF3A6F8784A1135895453299AE0E3129F2FF136F03C65B6CA0B9487AD1CCBB95B4B77CF0E06E17F0FCAC1BFFED177FFE8C734462F7518067CFD1BDFFA1D26C8174909F14A9608814AB7204CE09EE3FB033F907FFC20F0F95FBF14044C2ADF2FF34189894FBC4F9E6C3DE23B64EBF15BF17FF89FCC1E9943956E718A377FF2BDEFB73737B726F8B55DAD96177DE57D3FF4BDDFFFC99F7E7BF5B8332038CCCD3C5ABF71F1E3CFBE06A2D11E049123656FB13B29319D73C935F341779B0C0C4DC9E786878FBD2EF71375BBDD46BFDF7F8119FCC244B5F2CDD7BFFACDBFF3B4F76F7EFC5FBFFD43FD414FF50F8301F83B41B4F86F71FEFED114C2BD3101B53C800FB59C0F234D5134A0B01FD1200C793FE42DF60714857C8DCFF50603F9E0A0DFA727CE9FA3C966C3F93509C7334C8A74449D6EF7BCD7F7CE974BA557BFF4D56F2E7EF96B6FFE5969D0FFBDB7DEFAE3FBE3CC00720712F67677DAB4BCBC4C8A6745BFD7A3FE20249635D4DE6DF33945251629DB3BBBF2391611747F758D1AF53ACF269F56D736A8CEE72626AAB474F71E2D9C3C29CFBDBFBA4EA7174E508F9FB7BEF9804E9D9C97674C4F4F53B3511FE26F8EFE99FD300C1B7CCB0BBEEFBD3008826FFCBDAFBF79893CF56F7FF8DD3FFAC17198150FC580542A286A3161166F2E3171A6687B7B87063C62B1BFB6B64E13D52AD51B3539EF793E95CB2521AAAE4DC857AB580C29577C9917C45CB95C6166D5A8CEEFA054229F9F616866E79ECE7E26FF0CCCB5A9A9A67C47AFD7676644E759819FE7F3AF3238587CE31FBCF943AFBBF1AFDE7AEBADEE58304088CF6F57F4544A015D78E629AAD76A2C52422152A55A21E27325261ACB6356A84ACEF3286442F2B16225CB44A9562A4231B0749A454B9B990305DC6C36A9D5DAE1CF7AF2DC075BDB5461E65DB9763D9981B1F4C98CE158530BE955C227DC57E359C6C497EFDED96DD759E95F8CB45ED095A93FE0BBAE8FD10C2021583CD0A6A727E995975FA476BBCD442A0B9AC13E466DBF3FA06EA747B5FA047F2E62B1D4A5491E91104F90F3B8A7D785D8E27D162D614B3B2244148625B02E14811905AD5456F8C4AAC153CE7C302FCCAA320F84F5072D3DD63A20F3B76A07C960D469333C6366258CB3E7927B92E9940E67CFA87B9E5111EB953E0D7A03B914F171E6FB9329A086647F8AB3E34981D96BD0194363010063A78475860186720FB65AF4E39FFC0F96D765200F19CD132C5AB658EE9720C72B251121460C5825CCA39DAD025A5BDF607155A62A7FF6D6D2322BE13921F2F2F27D56C20BD4ED776995EF39BB708A5ADBDBF4C9179EA32AEB15553003D4083D204C9781E125C4C7D6F7BC3144417A7806743A5D7AFFCA22CDCE4E8BDC661C2EFB2BF7D7A8C6CAB6C9B27D8D510D94EAF44CC4447F209F2B97CA4CD41D791E6B04607856E0A1FD1A6B5BC80837FB5AF6292B920A70704609F3010CBA78F6B0352DA290C92FB36B7F187DEC44901E62408C4A8C5195EE2B2B8E9423A7944EAC092BAE2C02520EC1634563899F1A6746748DD40194FB32E7423CDA537DE0E8EBF1D7012A21464AC074382A0795284B48957A1832A452391DEA5AD39E40D09C0854BAF0BBDC67452CEBFDC0B0CFF7947D069841E3AE03CC6B8A45CCEBAFBD2A32167F208C2FCC72404819E970619403A148C456EE44A54A7DB670498754656888736C2C095EDF61A30EC49E9C6CD216EB0DD80D30BC361F6C894D71F9EAB51133408DD401B1258EDF1459A35C7EA7E71F8B29F0903320959EB0623FFACC47C422AE560D0CC53E08D7EBF7A8CD3A024A57B3CC65FC4D330C5B77763B3460888A7BA0687BDD8158C7834114FB9C8C83CE2A4C45A978CBA2A002219E9B450003067696C406C0E7C1087F2C5D11054AD888112B9F1D594DCA910EBC1765FC07517A8F85A7AEEC5216BDC410533B9647DE1562048F767ECB3048DE6D7759C9F7C5289C9E6A186352A931640008E958C2F8D3979757E92FFFEA6D9A63E403B101188AFDE59555B162E13CBBBFB62E56F0ECF434DDBE7397AFCF50A552967B300B80966EDC5CA2B3674FC9B7DC63187AEECC2986B53D5A6504758ECF6FB5B6E963179EA69999A9BD5C7F8ED1E5B8381C271D203166D694EBD41B2711649050560C87E2C9D402F5E27DC03CB8262232E7408B781FF7C93DA1BD87F7E143C27971A0C9BE16B1E53E0F10322F02B3825F65620778CDB06E9167F2E7E10F8A5FDBBBBBE3A984418CAC922BC2DF297A512E4A4A608F4AE8A592D88172BDD6F67A8A6862C0937506BA0868843BD4A225F892C455C20A187AE95860D0D8EA3F940E709C723AE30B76022E7684AA020B496BE58CD3548A270C7302387287D246CAAB5407A5EF619D9487B2DACE2AD75E81C28768F4C65107E4FFE0D9D929FA472FFC062399BEA017783D7B8C6CAA0C3707D140D00EE0A6E6990311F095D77F95ADE79E889B06EB882E5BCE83419FBEFA9B5FA6EDED9610A93959A7ADCD6DF2F979CD668D1EF07EB55AA16B8B37AD255B343747E8032F9E655EE218C22C88C5DD181B626648961859CCDA580020295C0EDBDB9E783DBBAC44DBED0E4D361A228377767659E93698183BC298897A95544731F388EABCDFE976E4C9D57285768336A3169FCA7E49703BDCD4D0227BC55054DE18706694B83CE006F73CEB5257E3A903F204805B190EB96EAF2744F69968D8DFDDE9B0C18519108A3D10454AC28CA128E028B548DDF1ABC901AEE9B1768495F97E3D0202A9213784AB59C00CE313F2326E89B1B603D6D61ED04FFFFA1D5A3879823637B784F8D8BF7367991A2C3EA627A7E8EEF28ACC941373B3B478F3162DCC9F1091827B26199763565CBD7E939E3A7F568874EFEE2A3DF1C469899E01C29E3F7B9A5ADBBB0C471718DAD6474050553813001A201A5D367A4A1569EBF1F405E9BC6F27D937011511BD4970243F60D39486C8424F3CB1D3376EED2EEB0C58CFD8EEB6DB0C4FA32111A8F7104331905222F3B5A3E4D5B141418FA48475ECD9748C9E785F3B393D3494DF93DE93319872AEE4E433CEF521D4B3871B02FF445A27835F5C119669C7C41777B8DF9142504B880486EA219FB3723CCD722EC1FEA9EB40150A7265BC664443EE023D04431DA370841B02A20B6F7C6FE8405258E6E3E78ED6C3BE98B9B9497AF1977E93DA8C60101583136DB7D3A1D76A9F9514951E439C2FD45E16E50754F4A52F7E5EC409448C38EC58BC2088F35B6FFC3A6DB23207B3A62627459F2075A5596FD0C6E60389A65DB97A9D157A3FE308D5077043C0CA46F007710138038F89F87F781DE04661115A9C9C6C10B54CC811D011F72012862817EEABD726C4ED00393C51AB4A12164637F284E26722D41858F700180962F95E209915402DF0B29223825CE26B67F6B86E884C30C8EEC21784D15FAB4D8CAF0E70FF781073ABD512E30AD70281A17D6A33E647561B4637463E0C28F87580FFC10C6164983386ECA1A7F3FEFE94CCDAF190AA2239AAA8C05B9B57D24A7EAF1A3706681A4E4B595BDBA4BF79FB6774FAD4495A5F7FC0C4EFCAFEADDB7724BF678E8DB4DB77EFC9485E38314797AFDDE0EBF362B4E19EE9A929BEAF4E97DEBF4A179EF98810F3D6D25D7AFAA927C43083C7F4A927CFD3168B277C0EC95AEA008658913E504EEACA3191408FA2035462DC389EB59C57523B9A9872B15F958C641368B17014B30AB3443CA191B8A411ACC7D6E850D71B9BF8937421F1DD30A51A1DB8196B3B2076BA2927BE1BD35C5B4FE750CCD78DC5673CA3C3DE65F7D9128FC87B638B9054EC86182586E8F8BC1ED915A12DA5DC992019D444D973AEADA09D7B32385F393454494C39F9AC050054E80F8ABF7BAF40CDF1C98678F4196067FFDCDC14C3D0E71986B625CA15783EED30CCFCFC2B9F115F5097E5F8677FE54581A190E9BFF6B997C5BA1D847DFAE2E75F915021BCA75F79FD0B0237F1D8DF6048BAC1FAA454F669B2D1A4F58D4DD119C80DDDDE691F88806A0FA5ECBAC0C7D4124E7110707F9361A8DE0A19DAD525EE8A2817DCC8087CC01F5FABD524D71F280879A2B00188E13CFC4118D3A1E6F3BCBF1D989F53A99424BB4256CD20A3C233FBB1EB63543695DA170115E78F8EB5330E30B4D5DA125827768185A1BBBB1D319AC418637B00EA158B2F90B02BDED028CD117557B92494D1CE099DF847E573A91CD17BBA21B2A2498DBF0E2852C2EB0C43FFF69DFF4767CF9C963501C80F3D73FA14DDB8795B0CB413B3B30C2BEF502928D1A98579FAF995AB7496AFC308C33D330C539107F4DEA5F7E9631F7D4688739DCF23D50522EBCEDD157AE6E927253768E1C42C923B0B535186A36FC5626694621E53256CC7A57246A3CAAE0F4B14B1D2498C5865EE71929CED8480888AB481A1B0A621BA90C61EC2A116693719CF21F268A20F69E1F155C2F9B494D41797C47535396988160E6ACAA22017FDC4F7E9BC182908AA0005ED9151BB9F1B62387EA0C64F07902EF0C2670C801C219D6BCA3508D4687743D699EF1A785A520C3333EE506E885C2C601C9373E31910BF908AFE6986A1F07002D5042CA301435FF9CCA74509C30FF4CB9F7E4194E76EA74DAFBEFC22ED6CEF0A44FDFC677F99BA9DBEB82F5EFFB5CFD1FAE6A610F68D2F7F815659B76015CBD4E497787F9DEA8C9E2E5F59A40DD605EEC2CB916E88FD94F0385AC2450B340043279B754136C8842B310A02DA81ABB9DDE948F2AD78439118C50C8117B2C748887A4A126E4DD255C84AB942FE96819A583B80EC0ACF0F249C28DE503E16E32DD27B126FC82D3DD21618531D500443913688F82D061960283CA0582726817A2850DE42A98249090C95604A74A815129A74CE0E50C9D97174431C891DB0B1B921233B2185A47F28BA712B4D84424A628C5116AFDFB619099A2E5FD54976C2A5CB57C588C3D1CF793F5E540191678C304DBD76D7EA007D3037841AED86184F6F68811D706AFE043DF7D1A7249A957A2974E288D3914EE3BBB934469DF35CC6CF57B93C47F008D96CEFFEDD556AAFAEA78BFA9CE9A30E62E066DC108F495E10D24D20EBFFF0DBDF95A42CDFE6F59B021C5E92E71F5FF33D2F396FEE55E416ECF0EDBDE5924F33933556E83D869E1E7DEE332FC8828D221DA0F635B4D4B17443E0E53DCC0CC804C7ED39184DF0DBE32DB29E8DA910C7D60784B8ACAC94AC55A9C18AB8C64A176F59321AA6F74159E3DEF999267DE2E3CF523948D308B54ED789C5EF48EF9FA4356A76A8F1D301056929165F83782E2910771DC4F7F95ABE0868E9854F3C9BCC0290E0F2D5EBAC475AE4265968BEBEB6F180F5C575DADA6EF3BDA5913370C8F6552A6BC6A9E3EB8678641D10A70AA20CC0AFBC783193F804D182845839F2D295934B4BF7D255944C68AC29AE9DAE8AE296FBED70C5E737B73A12D64CCAE3E433B2752E20AFD4DEB69922DA238F7D7C7480EB90BEBFBAC1C6128B8BE79EFD407FE8D5EB776853664ABA566C5FD1A246196A639B194743B51BE6E7A6E9D4C919FA8BBF7ADB2E27F53211AE380F53D9F39E734D6646E2B44B1366B39F33853E3E75F1595959BFB1B5951074B850C71E1ED2BCB36E2C63C2BA60A136BF51CBE7077FFE9729DAC136B0880788287091518A74A027E2F3B81FA983D8E2B8562DD1B9D3F3B4B2BC49A156C200EDB84274B22E598F74C88D144DE3AA038A94A04B0077D183EE33B3404C58CB0328652D4A1899CE865186F8CB2B6BB4DBEEC85344D40FE2997582EF3D2531865EA8867550D132B1A258C03176433CA2122ECE4E8EDD0CA2382D317DFB19AC0316B4646792E7699B31975B78C19FBB7D67450CBACD6D2CD4283B1078542DB9E15591C549598F0D03CC0B0445C0FC6B7FFF359B8AE2A6A1C488C8135493181FCEEA95B9D9A9E49A1BB08933232E3CDD10B1948A404BFD7C44F2206E88BC123E0615531ED917845CCBCD073B12424C93A6523624B99C4A1514FA70EFD5F61E4A18890351CC2CD9AEDF5EA68D07ADE219702037C463A08475813714D9C6938D09FA4FFFE5FBA3CD6DCFB3385F25CB833C07157956599B9262F1358F7434A0A0541617C41BBFFE2ADDBDBB42ABEB9B540C83F673433C16EE682A5C280DB7F3A5CB8B7B7E2EB67E639F50EA23F2867C48D83F395BA7573EF329FADF3F7B97EEF32C1B1A00CE0CD08771433C2EDED0840D07ACFC081FCFD9330BF4F24B9F9411E9DB11FFCEFFBD442BABEB26B39A093FB0CF4460676D6D4DA2617EB9312C02DD5267E4C69CF77143D063929692FCFD8708A8DCBC7D97D1CDF29057D4CC049DFC207CC78D3B6B74EF3E334605544DE0ED1E2848ED43E8BCF1ABD4383AE3F23340D1D6CE8ED47BFE97BFFBAD23F941C3CB924C80676D634BD212135748A628AF2ED6B943FBC72B16F0504A381F948FAD5756044743FCB83669A6AE34596BDA20A96FFDD37F4C674E9FA43FFC8F7F4C4B7757F7F101E58A788CBF37343BE2EA6C0320F5F0F7FFE0DF3F14C1338A585C18817561104DD62BD4EE45B2F4E95FFCF36F52A55261C22FD08B9FBA28C6DB2F5D7C8E45DA5FD04828342249EBB14A4DD48F5077D00472C2E16733139E3A3B47AF7DE173F4673FFA6FB4D34B75005255BEF39DEF50A7D3A1F58DAD8C4EDA0BEBAB63EA9678E4153287A1FFC2FC1C7DE2B96732E7DEBB749596EFAF19D1E3A7FA657BBB4DEFBCF37F68796D8BAA13CDE4FB9167B4B1B9498BD71649F9250715EDED86386EF0F3C80C311C212EFCE4F933077AC6B5EBB733C748E68A3F2BF0D4B7EE6C9641B7961FD0FCFC299A402D6A3B4350F0A3F191733435B395CC00B58F98510570684C4B960D8B208C5E9497FFEDDFFA726E84A9421F4DBEBE6846E1AAA2CF99FBEF2CAFD183D6B6ACC8DCDCDAA189E62CAD5EB94E41B5B1B79871897E0CA7C123F70F80584140E66F7FF6DE48261D4CA9BBC536E26202DA644D04257AE9931F970CBBDBDD3EFDCFBFFE1B59000EF360B25C1F8A0BABBD46FA58BBA3753E266C8E9119F79FBFF7C323FD61B58A4FCF3C718A6EDD5B1759FFF28B170531616AF8A509AA956BC32020977C7BDCDD100FA103B2BE204D873385AB95324D4F4D66CE61E145A7C086789A897FF1F9E7D800FB29ED74A364BA147B548B63017B125FD1B15827F650B9A1A332CAF77BC5E1C9FCB9A2D78DA515F90E83821AB901506C39EF8780D28B63BB488F72A50ACC0A99E9C926FDB37FF2B5CC3D199F4D218A4AE3032E9271898CEDC79FBF98A4A5B8CF4D9D81C52A77A41B629C75409211E7FC914B7796E9D4C2499A9A9AFE407FE8D51B77A5F4FD903B5C1DD20D418F99253C7F629666A6EAF4EFFEC3778EFCC7F57B1D2A95AB52EFF3777FE74D59D487F267796FAC1E92EB077343A8F15B21A30B7BBA603DC0D2DD9523FD61E74E36E9EB6FBC463FF8D14F98E80F92EF1A5AA3E62E8F1A5137EEB8BA218E64061C460B232DE5CCA993997377EEAD308CDD2954D88B8B8B7CFD3E956B53C3BA25A6620E161F0C01A9C7A16CA54A66445C894AEA3D6B5398092315ABE44DB963B3301B65EBDF67EB551FC058BB7977936EDD5DA34855A8BCD700D82F232E53CD77581F8CB52186D7FDB50D6AED741805FDB634454892716D826E2C0EBC24E9D64BC5838DA8443A2D65AC536D6F53CFCD73B0FA1E69EB7911682AF0A97DDD108F87255C3002D1F5626575D3543FD791231174AEA548BA583B39C6CD9E4749F05CC705FD2CF39CE2DEB7EFAE8A3FA8B87F81CA899903A4248EA70E18B644116CC712D5F72E5DA6DDDD36A5859A3CA913EAA9B87D946F8F4D644B494D38CFA6B12B096BCA223FDFAC8A44C13EAC194310A65CF6A9D9689AC60F05EE70538FF4606E88E336118E203794A434FCB3179E961A0FABF75769B3D5923234A9C564B2AD86D6F72696D43039906D373B334D0B0B27E8ECA9536456E9EFAD030EE386A0715D299F2F9A274D1508950E037AFAC97374FEDC190AFB03A929DDE9F5A5D683B42BC4A26D544FE9F56555252261E82B89DE2EE5C0D4F6475337F4A144799BFA448502662CB2264A3C6B6475A48E865B98E8F175431C890E404B40D405BA71E3B6D503A69E81C9FF8C57C878526C0F44A6A6154D647283BC388D9DB725CF37228889AED14FB81752545214068A02EDF1B3D5B03736276B8A2A241E5737C411E800A348913A88DE2E8B376ED1DAFAA62CD2CE82955CCFC103980E405253CD269D9C9FA3B3A717D8E29E4B6680EB8C5085C6484185C4C721248957541802D4E266BEF8DCC758B40C24DF7F9B1532EAFDC49571FB3DAC94340D9F219E90962E298A81294780B02666088AB65659FCCCCFCE8A1E80F73428F949E2EEE81E3234BA42E29E4EBAB153C294E9600714D4D9EDD2C6C603599A1A1348FA02D71BE4358CC83165D4230A781BB92691942353D24F126209FB0621F96C84D93204D0BE9E769AF81411B7B822D66837C438F70F70E77EA4456E63C4430FB47676F6ACEBE60E4181FAB6A6BDB419949C51B35E0C3A049D5851710B85602182865150C112A53172433CBC12CE54CD36AB159F38775A4A9201F56CAC6F30433A227AA46E5C7F60DE83BE59CC8D92C5DAE028DFB72BE5450C950415210B0210F4C48959164B815C3376DBDE2D4C4639DC52D1A41E076FE8B02F6810854965148CDEE9D9199A9AD6B689B2990D711D7FE19F0EA98F6C68294963C44FDC7A36EEF3E2DB8C399643CEEAFCD10DA57561F6C568ACAFC6BF5E9055CAA884C80AF6E797AFD19D7BCBD2E522867C124367E2EA78D9A932F0939CC6CA226EECCDB8DFC7513C2B5801631138023E2798A93A7175ECA507F23D648EAF1BE2919D71713C1C28E6B9672FD0D31F79429431DE4042B1C831B5228CE851B10AB68434BE349B1B5AF2C42843E7A47AA34627E7E66896098FCEACCA53236740BE1DC4C1D78B8D790F19659570144656B42859358FA63C6951A65858997B20AA8096B06212D0B3CA3604EC080506C4330495B2209A023F2DF19D696538AC8047AE8E3FA4683AF60C88BDC5F1E8059E47C78CF7AF5EE591BF65514DB6B3B6E09C6455BC671DA0698F77CF366C36A8D4B34B989428DF806703620D50CA5A17ACD0A1EC62993D2B241EC324ADE0919FA04846303A9DA2A73C8AEDA1AF98293B3FB0CD38C3CCA8CD77BF500EAE85E245AF0174E09863A2CFB308423F6265D7260C77D050FBBA218A88ADC6352459341D4C5D508F15668DCE9EA9081C3506945DD4219D4C7B52AC0FD0D4F40718C85A00300FD0B322A2A8C2E74C81BEC0AE1580332EE9275C300386A5D101DD102662A7C69E01912D47B978FD96ED52AA933A0EB234D58BFB08288B80E2E5AACA54C6EDC04D31A04EBBCB3074D7D48AF37CBB5AD263C654A4253A9A6F4AE1BF2257485A36760F5B20ABB6F19CE8716000D009CA4C3EF9C4395A5EB92FA9863BBBBBE203CA42469D1995856D629CEA8768008A842F58C2F5C62C39AD5C7342EC206827437A7E84674A9FE9E831114164DC110B27E7C565106A1384874D80E54B5D86A36008CA92F5A5894F9FA281E93B298A96A127226070C455581CD52A552A55F8BC17245632C6F8E819B0B70F2866BB64E0A1A7A58A62E3F0311141BD2EDDBBB7C2C40D9DBEBD3610EFA5F0AFCC04AF3281C99B10B443D6E7230BB89512B10338DA07B4C5B2A46020330CF683AF47A4A5902E28DC41431512E31EF591854B1E14D7632182E296B6535392E38345148807C47035C975280A4926A24467E587D5218D7A4DBA2C9D3831232D7393DCD2BC0452D952A2F90A89D21A28B21FB26E6BD1018F83088A7BC8546B157AE2FC5929430C9403180AE5DA470C00E8C7B6B60DE3EA882869836C69CFF8FB218EC0480951B2E29D9AACF1F98A88A0928F9F69E476DC6DA9705D523E1322AECE1BA55C321DBD23E9D4ADA3C7400461447619FDA0CFD7C0E27D159911EF31A4AC96AA3431E1654AD2C4A90C7EEC8E8E1193155B4AF9A65807C5318028E9675F38030A645012AFD6B619908A840F9EB68E3B71C8B2368842FE496E9FD74758F679307AE9A355C278088F5C44BAEE310A82F8313E9FD4E04903F9F9CAF3B6A983368199B84E509CCA02BFD0E47453FA10CF4C35536FACA651266F56ECB856BB2D832367ADE481128EC24170E1C28552A5523934E1ABD5EAC8CFBCFDF6DB79866A2330548611478082CCFBC4DC0CCBEBA638DD76777669B7DB967D889F810D43C2FF23CD7C7428DDB5A5498FE40BF9E2708B0D2F1867538DA6B440C179202C0CDBEC0CC8B6338C5588B6299191F17E4820DF44DEF8FBA234A3DAD4248AD4766BABB1BBBBDBE43706801E765B0F9FF33CD36CB1D56A0D9D8B5F33333320B6C6796C99C1E1D4D454F8EEBBEF86E91038220640BE23F0A22182F8B83251A13296962A4AAA5CC53DF3047FDB60BE8AB3DF30FAB593C8655111FE266D24B6053B51F10CD0E94C73FBFBC4558E35888F76EACE0CC4B530D4DEEEF6D67C085C5C4C709D3F877DA7365E723D5E706EEFD50CA923DE8F980161A9541AF0ABB7BCBCDCE3D9D6BB72E5CA00D7300B1E5D0788A732247E38DD5FDB4CF237DD1CD158F6ABA441739A4EE8D9C6CE9E2DE42AF050F9129A84A30E7D05E0889B42C7565D1091CB3488B3B9A691596919A74382F286F836B013932E8ABC5EA7732E3045E992273231338D5AED525AED8A0E8729F12919E91A8A8589CBE061C0BFBFCFC75DA60960E12E4456A7D3191CAD1226937678E6D4195A983F49ED4EDB3AE3E2F0632822C1D4850EED0CC88D5E5BC01B817825652B3D6AD4AA34333D4D13F5091143828292A54B595DA921CBB54E8A7938A69789E7C79232D219D3813FE331BD4EF36EC5FD4549A5DE82114EF92EBAA96C8FCC2335088C55875DDE477F5E8F3F0B6678458BC38F40099B512589B952CBA1C2FAA06413757522AB13C587E2DCF090B21E403E68E01BE75B1A2133CA3850261E40D66320D6EBA8F8848E540A3BE399668D2EF42F909F619285B5413FE6F6487BFC7B660A54BA2E8881E83C98B1B300233EE4E780C8207C87AF85966938D7E519D6E5578FCFF7171616C2DBB76FEBA39B01FCD7757A3D5A5ABA4B5BDBDB266345FE58CF4804CF424B5299863E3667CE644678E658C71911363C19485CA0245DF9B0B863543C5E4A0A89A6506EE8CEE93FA9120415576017DBCC70A3CA17270E30D11DD327253C88CAFB90E9D8B679BBCDCC68F1768BAFB5787F9B19B1CBFBEDE9E9E99E55C2FAE8501042923C52CF9F3B2D4DDCB6B6B6253505BE1F82D8E947D4B738BEB00FB99B9CAB4C9962881CF49A418F19247CC123BAB7DB06A2C42A6AA68D3033CED2B6E7300D64E3AC41803B9A3FE7E3BD1F032CCA8102963814137800F90EA2F37BC7217C8B4558ABDFEF6F4304D5EB7516FB9DFEB973E7FA0C4D6331A58F500419850AA8589B4035F42ACD336ED7D671163BC1426963688234122766511417E82B59875CE07B490D6953D28CB762A8A509C1C533204A962A49CB146DB15344D9554C80B14A5B3194F895D448C7693AE223BC40743EEEF3B66347FB0E4638EF6F31835A18F1600613BFCD84EFF6F8353131115EBB762DBC73E78E7647FE913100154BFAFD45AAD76BF2C6A8856146560E7BE474C99BA824D9754A166738C5BBC94B004DDCAC2DEE499C8F4517F8A394B6DA366999428EDB22964A82D8CCF950A0A4623365D0DB8BF090E750ACBC0F190EC2EF32D131E265B483F8FCC6E8DF6526B499E6DD46A3D1673B20C48867791F1559C0876600ECF55FFDCA3F54C3DED050500FDE8985889E002C4210E592842B49410F4C1E289F937C9F02384B71D01E69ED3DE3C24E8E79F6743BBD91316A91F4CE8CD3D9275B3E98C48070103141F5D2ADC54B7FDAEF5ACF618A7862310159DDB7884660A42B66EC7B9BFF26C8F70E942C1B5A7D1EE9E1EAEA6A74FDFA75BD17E1F76580522A5F97561DD44D025D80F787F5D2DA71352B9D552FC99096EC0DCCABD6D6E6CA8FD6966F5FCDC148C8F7C851A88091226640EC98F01033FCDE8162ADD56A226678B40F58B946F7EFDF8F8AC4CCA118A0B2791BEAF9E79FF77676763CFE1E0F0E4C3A8E2FEB5A162C151B639485C07CBD1B8583F76F5D7BF787808C79F94EA6D4782F96EF4CC36D8C708818D65B2DBB0F66889861E2F7E7E6E6061033A3E4FBA1196089EFBDF4D24B1E5BB6016BEFA0D56A05FC85018B91122BBBD2B1A4BFEBAA88C196859B51C84682AFD6579616BFB7D3DA5CCDCB77AB5413F96E091FCBF68C9801E159B90EEEDDBB17AEAFAFEF2BDF0FC58098F8172E5C086EDEBC592A97CB15D6E015966D15562E551E2415FE9EF2319D00CE0A7A1B763476C14EAFBBF3BFEEDC78FFA7AE98B16866108B198C6CFE1B45BE5BA20B7E8762651A8811D56C36074B4B4B612C661E95F01906C46287C58DBFB2B282C15EE5674FF00F9860EED7ACA15245FCBD51AF75194194F17720230E68C26DDCF08BE2404C0BD3682FC2A8BEB374FDD2F758C9EE5AC28796E879189928D52218C9840F7940862C111E5ACC1C580431A76198285630F05BF8F6AD621EAD2C5DFBBD895AE3743928CD78E560DEF3CA73CAF7663CE5C3590F873A4494BC79F4611BC0E1C736004CFE806D9852285B0442A2A479C3D128617E9E595FFCA0B5B1FAE3B595DB972DA21982911033808E3CEA45CC601F8A958F3B8785918F6C43599F86109965BFCF5F58E61900D1836D997F54859550890DA63233A6C4C7251095B741BC6522FA76DF97A0135B96D8375B1FC2AC59AE4E34FCA0D4E477C3F74BB39E1F4CFB41D0549EDFE0AF2EDBC1C08CC356059679BE619EC677C4CC13A6C5B30FAFD3F3B3E1201CF459A4BF7F67F1BD1FF0F5BEF5C7609BC0488BD7C568C28887D8E17702232166AE5CB912FBEBF50749F80C035C1D0031B4B1B101C5EBF348F0793AE21D542A152646E883D8CC18DF121D239BE91824C7CC283F36EF63268039B85E700D0681CCB49871F69AECFB7E500ECAD566A95CA9972B953A33AEE105A569DE4E32039BFC657536E178A0044D46957FD27AB07E3F1EF5391899E077FE1B30EA217ADAFCF7899BC0C2C890920CFC0F96E8850CC841502021C53F4E412CF1168466B3B10FC2A8C9C94939E699E1C5220B5B565870BDE29A30C632CBCB334B8B1B580B43ECB50C731C66052E43E27D92B634DACB31D2B3BF1D41901E703A086F898ED1DEB2B36097FF9E1E60E4C2C2C2C0FA673E74C21732206780E5A2AC9986211057281FAC62DDC1CC907DD80BFC0743C60B63A6A7A7855156EE27DB3CB340C47866E11C88CBCCF2720CC9CFACE4D83245590F6537B65C21662CE1DBB1B56AC58C8E4383BF08C28F64C0012CE33D42E1438C22975960144E8059785B2629CB886466C533AA6066F931C3182627B3CC32CAB33F33428811E287B71D7823DBED76FFC489137D58AB1FA67C3F52061CEAA18FC02CD641C9ACCA332B168160068F649567561CBD62868490EDD56A75E004C27F6162E64367C011306A3F660D89C098594C7C6420683BDA8F859839B60CF80099A52917313FAEAFFF0F7E990507A747E3B10000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (148,1,'Server_(24)',decode('89504E470D0A1A0A0000000D4948445200000012000000180806000000F755AD310000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000002C24944415438CB95954D6F633514869F63DF9B34B7DF30A2A3A6B3E063CF92FFD0DFC20289C5B0E5AF20C41236A80209C166106B2418040434425544A9DA6620B9C9F5B1CF61915040D036F5CA92ED47EFFBC8B22B7707E0ADC7EF7E6085D7CD7413A10E48BF68AE1F1E1EE4CFBE78F29304F9BC3F18BCFFE987EF7DC3FF8CEA7A12C31B1E79A58E1B040F4890E5823949F3E5DEDEEEE3FDBDDD378F8F8F5F3C3939E96E04E55288310201002720186A0511A19442AF57D7F3F981DC9A28AB72757185D9B26A10C1DC397AF410016208745DC74DE31AA49AA9FB35C1032ECB83EE8667078118234DD300B3BB410F5EDAA78E15048844C49C69D72140DBB64C2693BB13A59C573307040B4E14B0952311215FEFB9CD51569E4FA6608687B052EDD45505224810445803A4CA0BBBFBC4E0D4554D5547DCE1FCE2124408AB54CBC4B7552B464A2DF3AE63B3D9443AA11703C50A227E5DEFCE4425295A0AB3594B150417C17B35AA1941D60725CD04A0B83157050771D8D9DEC27D0909AC01D2AC188E65433B45358365C088728F44391700CC9C920D3367B1E898CE15842564BD6ACB3A86934B464B06845C0CE01EB27346B5B058242693E76C0C06BCF6F2113FFEFCCBD2CF7D64A76CF4EB1E8341C3E6D6061050CDC4F8D7850CEB393257B21BD3D90C30745F4949190CFAAB6ADC0D0298B5893FA65354338B4547DBCE504DD7A052B2AC05D2A408D0AB23BD5E8D174829AF20CA2227198F9F6E0D87C3D0344D198D46061477B7EADF5C234A2069210425A99273A624DDE9C430B3D0B6E7EF00B96D5B0E0F0FC7EEFEA5887CFD37C85D9E7E3F62B0B141AFAE68DB39A3675354959CD3C05D72EA16DFBA97E4EEDF99D993B3B3B367BEFA3D2A1189C3E1F0D5ED078F3E12E76031EBF6E6C80EB00D3422A19FD2C2AF2E7EFDA4FDFDF26311F96A3C1E5FFEC791BB17E007E0EDD5C5FBA7D0EAE8E8687B7A6E9B4DD3FC767A7A7AE3A3FD278CE09ADF74A16D700000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (149,1,'Server_(48)',decode('89504E470D0A1A0A0000000D49484452000000240000003008060000007947D8150000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000008AA4944415458C3B599CB8F1C0711C67F55FDDEC7ECDAD960EC6CEC5888A7791C8C1002041207908244244022204EC00171E6DF811317102012211E0714E580504404088808E0F81136B689B38FD9D99DDDE9EEAAE2D03DB3BB2646263BB46676A51E4DF7375F7DF5D5A32522387E7CFDDBDFF96699E797D3444B34A992440A454A49B44C440B512D45B5529132512945B45095F28517FFB8BB331CFDA12CD31F3EF7F31F3D1BF75FF8218FF4FE132B83E52F9D59197C76B83B627C70485D3B6E81B9E16EB4AD1311B4ADD15ACB95F7BC8B9595659CD89D4C265F85F8CAA79F7CFAF79FF9FCD79E6D32BEF7DC8FBFBF712A40618E9901C2EA608934CD4812254992FEADA82A699A9026295BDB3B9839048808802C2D155709AE5624DF7AEAA96FBCFB9967BE3B7ACB802C027387709A2698D40D11E0EE44386E0E229839662D8FAE9DC5AD3C760541085413B23C597ABD6992533164669819AF6EDC6667B84B96A4A4698A1388082290E739EE8EBB736675B5FB0130FB3C5105510239BD86220237E7131FFB086F5B7BA463C5035525085484D68C4413549597FF7E6D16B2293F079386321788640E80DC30377EF3DBDFB1B53324D5044D14734722700FF222A7695BDAA6E5431F781FAB2BCB338610D04499342D360F86CC1D33E7C2F9735CB8700E415015DC41152240A5632B02B23CC5DC3B82A40355A409488A260A93FA7480DC0333A72A4BB23C4555111154641A935E2B828A32DADBC7CDC003E91951CD887054F4F40C79749E73F3D57FB2BDB3DBA777426BD6B1300D59D3D0342DEF7BCF3BD1C50A14A4071BA2A826CC8475DA2C73733EF8FEF7B2BAB24CE7B7316345443A91274AA2C28D5B1B9D6FB977F401C3E12E0B55415996A7074474C678FDC6AB1C4C26A4BD29BA77A08820CBD22EB4E1AC0E06A4694288C6942104CC83495DCF43D4BD310A70AC1C0541F78ACE1ADC71373C1C77E9C3D3A968AA25994F961966CE3BDFF104AB2B0322A2F79F04515011DC1DED4BC9B56B37389C4CFAB4EFFECC98D23914D7B0C0CC78E9AF7F676738244D3BA76EDB960821C2298B9CBA69689A86272E5D24E94DF37E6EE6C450178E8B8F3FC63B2E5F42F4E465A7C29E1E3B3BBB1CD693BEB81E950F7A2DCDC1A93B518B80EAB19B4BFFAB8F854444083ADF3AEED4D3B0310F86DC0D336579B1E48517FF449E67646946559514658E20A469CAD9C122A85255057B7BE313B57E16B6793034354611E1EC99159244499384C1F2120B55C9DEF80011A16E1ACAAAA26DBADA17C718927932641680131E0C8723D2AC13F5F8B026EB9BB2344BA1CC49333B0A59EF14478A7B2B927E53860CF1C0C3198E4624AA6459CEDA2367A8AA92E1EE1E5A2BA9766E2DBDBB4308FF0F86DCBBDE26D1844B8F3F36136B9224586BAC2C2DF66D2C5465C9F67074D4A0DD97F8F361C883C099D4357FF8D35F67E7CFAC0E585D5966B8BB4F92243CF6F6B31C4C1AAAAAEAAA7D9FF7C7CBC75CD2DECD40843CCFF9D4C73FFC1F5F50ED9A7C80D59501DBDB233EFDC98FF2A39FFE72C6CDDC1982603C1EF3B35F3D7F6C3C5AA22A4BEE6D6E91A519EFBA7C81AC2CF9C095F7B271EB95BE413BC990C89C9C9A70961617F9F2179E3CE698CCC232D5D5D242C5AD8D3BDCB97BF73E6EDE6A8E3DC0A93D9CBDFD7D7EF0935FCCCE0F9617298B82CD7E0EBB74618D85A5252EAEAFD3B47162EAE098639F9EA1E81AB4A585459EFEE2933376A2EFFEA60D1BC0425571E3D5D7BAA68E3859ED99572DB3CEE846E3930C5555499EA58CF6C6B83B97D71F252B4A2EAEAF63E60811829E281BF3A9F661B83B82760CCDD809A6A3C5748FB0B050F1F23F6E606E7DF77F326C3A9F6ADFF5436F6C6E73F7DE2677EEBE8E59B75820A05AA838B3B2C2DA2367397FEE5186BB7B9839890A329B32E484059CDAA9AD5F380820AAA4226459D63BB6F60DADF79D81E16688A6E87D0CCDCD87AC9F5E3D82E5C505A2EF00A02B175996E2E69875CD9CB993449CBA6CC09B74BD16D133E41479469665DD90181D5851653018B0325826C4FBE5841F09F9B829CA1C00B9758B29F760696991A0BB69DDB44C2635870707ECEDED31A96B549259784FD4B21992394CAED3B035E60C37B7D8DA1ED2340DD61ADE6F475413B234A5C8F36E17D0CFF633219F6841E60008C05AA3AE1BCCBA666D5A3A22020FEB971246DB8BBA6F194F84CDDA46E606C8A30BDB745597E659275601373073DAB6C55B3B6AF28F6DD0AC69719F272077CC8DBCC850322C82F0A02C8B7EB4765A3BCAC8D9D441D0B62DAAE0E632DAD94A4524BD6FF310F7FD67BAB5FDAF80F22CC7CD69CC90F6E8A68B0B15459161DECE3232BCD397590B2EB88059938CB76E5D5C5F5F5F1591A8EBDA4524FAB7F7E75A331B8BC83822DA070332272F52F6F71D6B5BDA5E4B49D37238999017198926B35D638467E1BDF04590081A6B93C3D1FEE7DCFD00204DD33846481311E3A228B623E2FAD9B367AF8BC8E881800218EF1F301E8FFB9D74B758306BF13E442A32E3DCAD593153A25F3C4404AD9958C423C0A40711400D8C81ED88B8E6EE37EBBADED9DADA3A88887820A07FBC7293B22C288B82C5A545CAB240443A236C8DC3C984D76E8F99F48B06C75237C3A50B5DB85B63ED756FEB1A70E050444611F15A44BCD2B6ED469665BBB76FDF3E8C083F216A1149D6D7D7F3344D8BC5B5CBC57471B5BF3F667F7FFC70E9E148DBB6D378ECEC6CFFEBD7DBAFDFFE5BCFC610B8E5EED754F5F53CCFF7EFDCB93379B3C70FA988C8850B178ABAAECFBBFBF915959DAA48FF12C8024415215510855B141EA1EEFE80108798B54D53D77FBE7DEBE55F44C45E446CAAEAB53CCF6F0C87C3EDEDEDED31D0FEB7E72012113386226221CFF3A583838345552D814A44CA2CCB96D3BC5ACBAA85F32AE93982012A0B8156049588160B8BD560B479F7F9DDE1E64D55BD1B11D7D234BD351E8F47F7EEDD3B88087B18A2E53858E98C44AF5EBDAA9B9B9B495DD7DA348D9A990E06036D9A2631337577CDB22C1391B2699A52442A552DDC3D8D883744E45F699AEE6D6C6C4C8EEBE37F06F4D05F3A9A6F922B57AEE8FEFEBED675AD66266B6B6BCD4B2FBDD4BCD5C753FF06C6A05E708151475D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (150,1,'Server_(64)',decode('89504E470D0A1A0A0000000D49484452000000300000004008060000005C20F4460000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000DB44944415468DEBD9ADB8F64D755C67F6BEFB3CFA95BDF7B7ADCE3B1612EB18913CB96C32511C828440922B28048790852489EF2CE7FE03F8157040F110824CB4282002FC8420A529407C028219840ECCC8CE7D297E9CBF4A5AA4ED5397BEFC5C33975EBF1A59374CD9166AAAABBAB6AADB3D6FABE6FADB54555397B7DFDEBDFBA5ABAEC4BCED0146C6612DB488C38B126B3D636446C965852232613B199B5922164464C668DC9C4984C84CC1A93FDF09DFF4B0F0E1EFD28CDD27FD8E8E85FBEF9E69B051778251FF8D3ACF9D54FDDBCF6A7228208548F822050FF0CAAD7A5F7284AF09EE003413D5992B2B4B28408B824B9D7CFF3D7BCF7AFEDF8EC4FBEF0DAD7FEC524C95FBCF5F77FFDA3F93900C41811116EBD7F8FD3932E2178CAD2638C1055C80739C618D224211F0E015868B7F03EB0B1B1CE4B4B0B8808A008008A0FFE8586495F501FBEF9BB7FF8C7DF13957FFCDC2B37FEFCF5D75F8F17EA408C71ECC0334F5F66E1B99B586B499CC51A8331862C4D116B11228DAC81B596B22C4912CBFDAD9DF1FB55A10A5915C5C4391A59BA28CA9703E1D5EFFEE0CE1BAFC3D1DC2220187C8C78EFE9E711A21250620844D52A7DCA48242280F71E8DB0B9B9311B812A0CA489254625B1095600FCC5A7500C91181511E5DD9FDEA1D7CF892152942569EA10310C06039224217509FD7C0040BBDD201F945CBEB4C6E5CBEB9308D4F65735543DA689A5F0717E3510EA08ACAC2CB3B6B2820AA08A4B2CC618428C586BB1D6A00A460C89B32810FC240581FAB1323E8448B391E2352062E6E340984AA1E73E719DF5B565AC18ACB5F81040214912420CC41071CE015094052E49B8BFB54B51148828A31048653FFD7C80AAD06E3529839F3F0AFDDB7FFC80E16040A853C8B91423900F8624D69238479EF701A1DD6E91E73997D6D778FE13D7AB3B2F534520824B127CF0747B3DD2D4CDDF018D4A04B4CA2054238AA122401D73C2E812CCCCFBD19A31EA3F69B71A2042621DC3A2989303318C0D78E5E54FB3BABC04D690188B8680022EB5C4A0841849D3045428EB086DEFEED2EBF5EB22D6B17F024485C4188C80B3B64ED88B462118A3D0F6F62EFB0707D45C84B1666C8815418C45ABDB5C3988521423B41274CCD9550A85106A20108C9179456092027BFBFB1465490881A22871CE6144C8F301894BC85247AF9703D0E9B4C9F39CD5D5159E7DE64A9D42131C15C05A838825AA10756E526202831B97D6485C020A5123D658408921628CC5584308014148124B8C8110751CC13111D750747ADAA7D38646A331BF08C4A9227CF6992BAC2C2F638C902449F573204D1D3142089E2C4B01180E0B9C736CEFECF270FFB046211DCB8851BD0F8B82A81197B8F947E087FFF53F14DE57305A14A4AE62E23CCF712E214D53FAFD3E6284C5850E79BF606979814BEBAB9503710AA46A161EF17288719E30AA304A81FA6BC746988951626A888D4A0811AF1E9D12832A5332029990DA2F9E3D1F5DC42329F1F28B2FB0B4BC883186C41A620C880A499A8C6134CB1C020C0B4FEA1C3BBB0F79B0BD3BE601C61A68DAF099DB323F29B1B5B3CBDEE1E1184CAC08D608212AA696D6AA8A18C19A4A5E0F8B72AA88E358464CCB6A66F9EF822310260EECEF1FE2632478CFB02869A40E630CBD7E55035996D2EDF6516061A143DE1FB0B8D4616961810A45CD58464C4760ECD47C506892C397362E91395741678C88351811428888118C18A24604C5DA2AAD7CF0F4FBF9A41F982AE2B3EA74EE5A6873639DC5A505ACA9703E0450551A594A8C911002599655F03818E252C7CEEE1EB76EDF859194A88D9E2964E61981389112793EC0FB7292B7352E41E5C8B4E65755548450545A8A293107CC22905C4C117C4804C214132FF3576F7C87344D714995F3A973743A2D9C73A856A4963AC7D52B6B9C9E0EB871ED2A771F6C8D61789C2D32DD9B3DA114B2C6B0BEB642922424D662134BABD164F3A94B586B393C3AAA449E11BADD9CD2FB998E6E1CB13A85CED6C3DC99B8DBCBF9EC675E9AE4F154CA8808EDE6538854CA524410231C9FF666FB0199CD189159629BAB1A6D3432FEECDB6FE09CABA48373B45A0DD65696C9D294FE6088B5963475DC7CF632FB8FBAFCDA2B9F9E38203A2323A611688E300AB16ABF10E0F99BBF5CF55AC660ADA199652C2D2F608DA5990F6A6D6F38ED552834D391CD20D02402B34FE65403008341C18B9F7ABECEE5BA048D1DA7C5DAEA525594A6B2C79A84D35E3E35D8D2C70D9FB43873921201D44404216BA4FCED77FE79E6F7AD66831BD79F25758EADED3D44204D537EE5FA533C3CECF2C5CFFFD66C3F704646C89329E2EA3E051FF8EDDFFCD5C7FE6254C42B4B0B559B29062572F5CA2683613155C4FA988C18D7C30578613E2A85628C137439F36F446451158D5A91985677DC88F0EB9F7989DFFBE2ABE33A1AFD779132E2E379A0C6EFEF7EEFDF677EE75CC2D52B9701B8FF601704B234E5851B9BEC1E9CF2C9E7AF93F992DB3FFD494D64B3C4758144FC51D3694550F2C1903FF8F217A61A9A4953A2C0CB2F7EB20AA5A9A615D76E58FAFD0177EFEFD0EF75A966925386CB949ED027C0C49D7693EFDF7EFF5C1F660D242EE3D9AB9BFCEFBBB7F065016A6BC385B3BD99CE2D85A6882CF8C07FFFF8BDC75268637D1580DDBD03BCAF86532FDCBCC2ADDB77F99D577F03552171196551CE444D1E93D5739E4AF4F301DFFAC657CFFF89223C3A3A1DBF3FCAEC7E80A955D51C5368A2469BCD8C6FFFCDDF9DEBC3363756383AE9F1CD3FFACA8C169A0839991972CDAD88C3540AA92AA5F7C418AB41AF2A4684A5A5055495A3E35342A85268B993F1E8E8081D756F32695EA685DC0C0ACC6FC15131E99D7B3B7CE36B5FA9BF586B5E30D55DD4914C56225A4FA695ADEDBD2931378D40B36C3CBF229E92D327275D1EEE1D72FBCE5DBAFD3E22D53646A8A4B33182188315C3C242876BBF741511337E7FC5D2B3AD2417D8127C2C8C8292658EE79FBB5EA55351920F4BBC2FEA7551834EBBC5F2529B7667012B869DBD7DA22AA28AB1E64CEA4C64F5072DD92F70C917C7E3F176B3C5BBB7EEF0E8E888A2F09465890F01AD0DB4D692B994E5D525AE5D7D1A44274C5E6BA149EAC8CCA871EE11F065C9C3DE01DD6E0F6B0CAD660369B73062B05630D662A4EA071267C128D14F1CA82A43CECC47474CF604784045B8B2B9C1C6FA2A078747F4FB03F2E190C170880F818649483347ABD9E4D2FA2A0B9D16BB0F0FAA9E18A9971FD36A74D21F63749E4C5CA190F7817BF71FF0FEBD6DFA795ECD4343042398BA36AD35345CC2E1E111CF3CB349180D77991AABC8D911EF9350A322845012222C2D2EB0BCBC54AD95C4A01A00A1D1484992A4DA19BB6A6FEC4B3F71800F52A0732EE2D1557D81E1A9CBAB1863383C3CA45F9494BEAC4EA904706932DE13ACAD2EB3BAB442AF3F18AB599D192D3EC1221E5DBE2CB9777F879D9D5DFAC301860AF7A56E5C7C19085E290A0F2A34B26C725864CAD2C76444754447E6EE40544853CBD5A73741C0FB880F1E5F94354764B45A4D3AED1669A381B3869DDDBD090AE9E3F32005420884F8041C10A0DDEC706F6B8B93D3534219F03110824711AC08C6262449C2E2629BCD8D8D4911D73DF1B48C508D441F518110C2FC1DF0C173F0E8906EAF87082469422A0EC48CF17F3499B3C612D513834E1DD7D1310D6B0C4489D5DAACEE35FADDAE15117B4E7B75529E15027CAC031A9595E54596161738EDF628860545E929CA020D4AEAAABBDFC832569697C832C76E7E3019ABD48B7A8DD589225141A43ABE108237C73BEF5FD9DCDCEC88884E1B39F51A11511151638C0E87431F42C8452457D570AE1A787478CCF6C37D06C5901815ADA575350B35182BA4D670747CCCE58DB5A9135F105119AD66A9C9775CC4A53783FEC9E780BEAAEAB413F51D56118921842822458CB16BAD7DE4BDDF050AE01C0EC4800F915633A3D5688091F11921009758A45E009AC4109531BEAB0231A668E5F0E8C0482591141F82D1186F88C8E08CBA1E191F5475688C39050E54F5D039779CE779AF5EE59DA38845585F5DE1384938ED9E521425F92010BC47B562E1C4595CE2585CECD06A36C9EB135C55044316630031538E55FD43DD4BA7678D57D5608CC955F504D80F216C596BB7814311E91E1E1E16AA1ACFE5C0AD3B7769341A34B28CAC91B1B2DCA6D948712E256A2484480CA15A04969E877B079C9C76A7422836C688CA881722512184A044DD0DA1F453867B11E919638E638C0F8D310FBCF7BBCEB9E346A3D17BEFBDF7CAE9029E7140265D87F9ECE77F3F99CC4923BD5E9F5EAFFF73C19C4A754070242322A021F6FABD93EFEFDC7BEF3F4524D6F9DC15914731C61D6BED0363CC7E9EE727D7AE5DCBDF7EFBED30BAE31F08A32262AE5EBD9A014D556DF962B87A51624B15196FFDA3FA10C2ADADDB3FFEA710FC001802272272006CC518B7628C87C698D3ADADAD02080707077A1E1E30B5F1EBC0DAA0777CDC6EB6FE15E888D08A9126221990296421C634067523B4390F10281C9C1CECBC75B8BFFD1E908BC8B188ECA9EA96316647551F6559D6BB73E74E59AD27CEA7F4A4DE34CE44006889481642C844A4212269082133C6A418D36C34DBAB69D65C3149B6E112B712A10534444C23AA34AAE7D25024EB749A0B6138B8BD7DF7276FC518BBC698A318E38EAA6E017BCD66F3A8D96CE6EFBCF38E3F9BDFE776E06C0DDCBC79D30E0603331C0E6DBBDD4EBCF7C67B6F430836CB321B63B421049B2489B3D63AEF7D6A8C49478EC618C7AF638C998824AA5A8AC84363CCF6603038109193BDBDBD0110F417D0D5F261EF95D9B9DF873D37376FDE34FD7EDF1645613B9D8E2DCBD29E7536C6688C31B14698DEFDFBF78B9F254D7E2E077EA60F399FB36382BA08C347D7FF03445C9686BCD643590000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (151,1,'Server_(96)',decode('89504E470D0A1A0A0000000D4948445200000048000000600806000000BE12341C0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000019C74944415478DACD5D5B6F1CD971AED3B7B9F22A921225519795D6BBB62C055ED9461C07889375E2B7C00E020741FC92A7FC82E43F388FFE0379486C200B04411C040812D8468C18BE65E3D8DEF5AE77B52B8AA248F13EE49073EF3EA9AFCE39DD3DC3112FB2969C915A3DD33D973ED5555FD55755E74869ADE9348FAF7EF5ABD146B752F67A49C5A75ED923AF9C78BA5A2A04935E104E799ECF1B4D90F6AABEA78BCAF7A3C05791525EE4293FF47C8A1479E6B5E745BE4711C9397E8FE7857B7BBB338F9656DA2AF0BF1DFAFAEBFFF9ED3796E81C1FEA3801FDC9D7FEEA6FA727C6BFA414F1207820BE1704BE1FFA010FDC0BA3205405DF0F229F47EAFB3EF92C017E83EC49F15FFEA0FC10EF9579227B392E7FB33D0E2D2DAFD077FFEB47A47542A552713D0AA39F79A1F7CD0BC5F85B6FBCF1467CD6020A8E7B43E87B1716AECEDF730390A1A8FE4191DDA7836599C789194BAF17531C2794C45DEA269A741C533736C77ADD1E4D4D4DD0F4E4847C0EB74AEE9732FB76A73317C7F197C238787D2B0EFFFA0FFFF8CFFF3B0ABDAFFFDB3F7DF3D1C8080857AD7960EEA2B7B6B7697D7D9B62EA51DC4B78C09A2D8428C1E0F9AE27FC916EBB435D1E3C9B0C0B2AA142188A00718EDF4A1D3ED76977290803FAF82BB7686A629C7F86BF47AB4CB5C90A9CE4BB0336C7BBBD5E7297B4FAD32F7DF92F7EC6FB6F4D143AFFF0516BD5B1024AE4AE6AB237969ACD366DD76A624E9EA7C49C0A6121332D36350812AFFD50F1EB80C28037DE2B3EC72395BD2FCF03EAC53D4AB416ADD3721312F91DDD272AD6641672B512F2FB93D96EB7FB475EE0BF5EEF16FEE6F7BFF2979FFFDE3FFF5DEDFC3408429201B090580D6E5E5FA03FF8BDCFC9734F99A1C08C9CB6C99706BE600D048BB7C87927616DCEF300D9EC62FAE08347ACA1897C9FB237E31050E20C9BACE71761BB343E568599FBAD56FB72EB60BF78BE2646C6C4B4C516F90783E181C0AC62C1942EBF076360138306F079EC8133381E273D7B4ECB1E528220607ECD568BC228347AE20048593017903787C2428105DD13E176793F56A950ABDD1E010C622383DABBDBFF707199BEF7FD1F99C16ABEABFCA75088E49D9EF5586DC6A01E7F2660334A18A370DE13A169D9E33C03B098CD2B2FBF4463AC11949A98B6F89399171E9D4E97C6AA151112E311F5A05100BF8FF8E11DAF3DC6C4A045D89BBB6C06E1692F3F86145AF1D793D17AD6CBE507ABACC752A97668117692EE070D0C8F52B120E760AE1010CCF2F07BCFD5C4322F93C6362C1F8FC13A142FC580CCA08D8B0F423FC51A88B318B106212EE287EF2B313D9866C09F2BF03998AA72C8AC89D217A9B52931C54AB94C119B639785542C727CD9A4D1105062D51ED77EE3C615FA02833447C2ACE2E618D4DE00B401584F3C1C9B17DF659FDF07CCC8A3B4136AC2037DF0E1233161ADA15139DF950696EE35BC9FA24EAB4BE57291430C7CCF08989871F3898D731C886230492E50D21678EDD35C1493A8EC5CB6B7206FCF8909DBCDDD0C1AC0A066B3453BDB7BF21C3116C7F0AC857A143448E74C40D3D2D213FAC10FDF147D809B56AC4685A860A4ED65208D481AB112B408E7710EDF83BD80346F18E4AD1BD7E9E2C519F18ED0220B2B3AA73BF2A4C81804C1B41084B246CA77A95130B1248B4D1C15482C408AC74930F0B84F21713E16A1C6321073DE989CDBC71C20FA892711B4D11E0B3D4E364AE7DCBC01A30BD3932220E017024CD22382414EFD95054FC16ADC6D42D4EBF5115232A74C784021C2488327B94D5B2FE6049FC7B8C41E53FDEE512271E73D2B95928417AD766B14B858929A182EFDEA95CBF4E9FBF7E4AE220E3166D1932189A783C8D8B402CFC43D00D744E804093723898F42090E61A21F3E7ACC80DB335AA2F540249D43237C1F634EC4660953AB56472450D416A41D5BF5D975974B65B17F0C1E26D2EDFA79A6C102F0C5C3189C60CFD365A1590DD41C1B854C52C1C52496E27FBB968B399CCB3C99CD18F0F318F10F079CAD5647F00812F73D6F344C2CC90D6065E529FDFC17EF588168897D2289A48DE698C174659CE05BC0308031C8AB79BF27F8030FE4071E9B4B95055EB0DFA6E45F9333D2B9D813BF114AFC14067E7A3C4E462850142FC357854876BF7120C7624B358A25EBC56CE80FD587103CC60D70AF129FC739003BF6380FB71D719078EBE6029558C08EEBE9148FFA31A8D566AAC1D8D363B33C6D16F4238D831C483BBAA1F3D76DA9867286E0D9CD0ED0CBB3712FF79E431A9A582A930C782695F23265F242A24512845A5E77EE1AE45CBAD00CFE3BC3AE76E1CAA58C7593CB2CAAD445A799C674003A4DB7BAA8D8F3956857BD5E17EA90C5D93A173D672EBED56A4BFC532E96C4C5836A9C85269D2EDDC1170F3E746DE18AF030E88801E96EAA69E29283D004861698715EA720ADE53C7009E6FAC1876D66F68D947E99E4657FCA8CD2BC35B291084211801EF46BF379C741CE4D6DEDD4E8E9FA96198232A02B1E49B899D19CC4E68D2040381A4FCE7996A2D8F80982608C6A331E69CB51B4083039ECE287C4452EC53B525E0C77AC71D0A0E5D5B534F9054D412AC23075E3611A0CC0D08EC0660D4BE5524A5EB10740371A4D2A32385FBFBEC05EAC98E716649D993A2C16954FAAD040AEE51C73D22EDD911255DEC51917721134E5769EEACF2A2BD5BFEFE77A4916A5DB342D0DD08C34D5947F3D125423C9316CBEA0F258996E5E5B3060AA45129294172036C024690C8983A035201CD02CCF307892C89AB998662EE605327E44C62E9B9B6503F4506F4667A439A7C4A024D57BD4B1AE5D75206DFE003829C7A31C486B71C59E9C776E39B1202D815F9741FAE123DA665C4BD96A321C83E890B1D9A07274C8AAB9FE46A3454B8F5724B9A5942F46E848A87335006E65B995E15F065260769A0586F392AFE6EFECC6BD3EAEA787D08C3EEE918F1E4601839CC750365FB353DBA55FBDF39E0DDA7A422F00B22E9328C92D0660980D401A74A00290F60D60638FF3078D86E489AE5DBB2C021384D359C6D5E5E61C06A95CFA7500A9CF99ACEAFEC2613FF00EA445076EB639AFD27ABCDBA7090DAB259997B481D0B0BAD8106F363218948FA4C1D42B95725AD7021097848BA934D631EE5D9B68194D0885229B9A33479F0A85026B5551F2D241109840530DC45CC700B33A23377602379FE46AF35AD2A39F7EED9E4977C034F858A7E340DA7C26E281FBBE897B1C88E39C6783489C8F0A1C4977627AB8F89856D6D60572711312A75FCF70F16996F1C44CF2AC40DA5E271A1650828147F2241FA38561A7DD0D7C3CC67169F1105F7FB248DD06A28795420DF569A31307D9AA83ABCDEFD4764423A42AE17A565254B138025C491C0E212369C9AB958009F64C14DE38E8F4713D9D64B4553D83669C5D1CFD1CB5F9DB37176887E39695A79BA24118A4A8BE7B4ECA1E375555140C51BEF2ACEB97582889197F8A34373B25DD226FBDFB8111827665A29CB77A06CD506704D427AA6A084867C9087AB8B4426FF3A000C600590037F648C7A2523A562D9BF696008CDD047E48B306D206E3D1EDEB176975638776F722399E37B1BE14C6513423D5C851E0620318E1BA3A0E1BA3A6F1B10ADDBAB160FB873C5A5C7A22A59A0C6F7CAAD50FF858CF9481D230C272BD0137AF8EF066A36162BA9FACD6F70FE833AF7D92EE7DE2637DA6A072FD40A901F08B4FBE7A3B5732A2F4FCD4E4341539C07CBAB69145D2DAE9E860D2550D11DAA898182559DD8AAFBD108592C3D9AAD5ACDBF55201655BFFEBBEF3941D475610B150569BA754C86A30FA3C4433468AACEAB4E08901FDF87F7E4E3FFDD95B0677185342D91B1C32251DDFE2929F1DB71885E737AFCED2C6769DF1E912958AC55C3D5E537F594CF543D119D38C5370314B487374124243570730C5E1081E5393E3F4A9BBAF0AFE4078EFBEBF48FB070D4B584D61A7D76D51B7DD94EFD5B618E0C2A8C1D866988B3F8C4BE75E38D4292F8357BAFDD235C906A6A5919C4BC7BE56DB93C221A8C7A5D969521C7DA76E1EDD616C52737317A5D68EEC63BEB49D506205A08F01E61172F35A6503D8ABEFD3B5AB9769E1CA7CDAD292BFD8D44DAB1CC893CB0519619A88DB98CC2AC753F9DA7CF675C369469F9B572395EEA0D484BEFBFD1FD14FFEF79787DE2709FC20873916870663A5F99971DAA9B7E8EE275EA689F16AD6E5FA8CDAFC60FAFE2CF9FC099B3895CDD71C4D7EC0EE27ABE374EFCE2B823F2837BFFBFE433123D79880A4D9C50B13B4B7574F399E4B77A438744CC4AC4629DD21C9D69C17C308A04557E6E79EF999071F2C5A90F699B9FBECA9C6D3D7D83F585AA3A050A652A190EBE8D0694B8C528A06DC599A7B1A3D0CCA99182E796D7387EEDE7955B617F178F8E88998E6FD4FDDA55FBFF7016D6ED7B22A6CBEBA31947A8C0A483B17CDA636373345BF7CFB5D7AEB9DF78FFDA874BEFA5E4A5E6536907480248C4711BD76EFE3343D354E63E3AFD2D7FEECCBF4831FFE84FEFE1FFFF510CD382F267F8A8C625638C46387DDF893D5F5A1EF0538838FB9C71E5313588B0B1C0B6C72AF7DF216BDF7E132ED371A3485ACA2AFE81BDFF80605612135AD6701B31A350C12DD71C91DD2C7360C488355B994BEDE6F34A561D3C53AF8F4D2CA3A35DADDF4756DA72EF8B3B6BE99F1394DCF66F267C8394ED5270D2D5ADBDCA6CF7FEE3EFDF6673F95BBD60C10D410334B93647913016D6161BEFFF0313D5D5FA7DBB76EB2E036A56E9FCBB90E07E6C18AEEB9B3F95C73C1C59969DADCDCA2A5C7AB8783C3133CDCA08045AFBC7C83C62A65FA050BFDC99315691D2E96C78E8C78CE92669C3C1F94A6448DC9FD9AF9D5B040F1240FC441773F7695169F6C50B55AA6D90BD332DCA8583E42D8EA5C68C6E9CA3E69FEF9E8078A84A6C1CA3C9696574DA0987E9769A7DB3F681DE27A9980547FC1705836716430C8326EB2853D949E3FF7D9DF129A90CD2FCDA61AB883AE6EFED9FB77C9F53964FD879A3EFD19A23926B2AB6B5B6951C090557D24933F6BC271EAB20FFA7E9AAD0EBBEFC66FFCE3C80C88F9E6D31D8A4E50301CB18459BE368F2EF7FFFBC53BCF8D41D0ADBBAF2CD0FB8BABF4FA177E9766672E1C2E6DABC3DEEA90D0D4C88074D23F97E2181C42B7D9DCEC85F4F5DAC6963460E6BD58ABD9A076AB957AC9ACB49D237C692AF71934239D923E4A204D5A5AE7EEDD7999E62FCD9AD65D32F891684A7B0693249B02F5B15BD74D1B719264ADC4FC6776FE3A2D5CBE484D048CB9BA9BF2F3F1F37105C351E8B44FFA0B870F1697A5AC532C96ECEC1D37FB30ABB29A46CD5CBB9E6BE62453CF97664F7E7F2756B4C86455A7B956257CE6A8BEC491C420172892ED10DBDEDE65412D3127ABA5AD763887D985D258E5994E0F65A768BA252B649EBDCCA30FA53BFF0A6B50ABD33F6FDE4FF4F105C35C08301239E97C4A14BC6C7CBC42773E7E5B04F5F8C9AA74AD7679A0EDB825AD2C587A027D8A68E780704060A3309086A96AA5425397C6E9329B681046A6E493CF287AAACF5F3D2B1B3D4275319D1B80D1A69DBDBA24E6D1F13E31314693BC99E62874D093CCDF108D0ACDEA0A3E92F5CCBB4299AB8A1274D837FD293F0DD3A6AB8FA419A365623A9F1235031AAB5425607CF2688D36B7B6654E7BDAF57AA8178D289F918F588B50CD98BF38470B57E7B3B9B0D6C43C3D683AE747334E8741CEDC24264A687A6A82AA4C2B7A32FD9237362DD4E031930773BADADD8EE480508905A0978A91140965590ADF1418A3C0565573A56D49AD04DEB134438D52E1303F00B8FCED9D3A2D3E5EA6A76B9BD463C178769AA56B7FD1B6C2019016A026DF4C47F0CDA22761E873AC344B9719A4134D7DA56DF2F5C8D08C13B3F9FC0020ACB16A895EB9FD12DDB8B6409B9BDB4C3D9AD46633EB75DB6C6E3DE97095054DE09538B08900D2AC41C510AD3155BA34374B8512CA42A1C1B7DCBC79AD0F0BE5B8B86804CA3EF90168AAEDEED3F2CA8A782E37010AB8ECB3002A61D13499DB39AD9891282E5EEA647C9C7F717B6F97A2464013636346837275B764A0EEA3F2E6A40668C628B8794042DF00F84015D311AE5FA3272BABF494A9449BA3617834CC2B452FF4201B419864D611F2198F8A34333D4DF3F3ECE6239F05DECBCA3E92F44E6CEEF219DCEB0C69C62941DA0C0077F8609F4DAAD7A3A9C9091A1F1B375DF452B930DEA8DDEB8AD0B098125A7E81390683CC721608147D59DF43A75ECC71BD4C8186352D8C685DCCC527D2D0192712FC6DADAD3348AF53BD7E600498AD476200DBF50279CE043D99E10CAA8134EBDCDC0C5D9EBF982E5460E8899D1F7B626056A323A07C9503958B2B97E66876669AE24ECC84B32D6E1D6B9775587B804D98F90C61A01E8F155B30331AFD8B55CC722E14C98FD05714A52B3898304B6713548ECA24A634E3A36F523CBD807810A8AB2F33C540A7476E96AA00B532EA23B96705F3614141EBE0E50EBC2603FC9EC447A552498245B72E515A9BCF60FF486F864E592C583072027279E7976E2ED07EBD416B9B9B823798B583E94D682A4763952CC5E591500DE93493C030C0DA88343535451738D00470BB19CF6EDA393226C7D10C9914238BA524A3A84144F5FD86CCF102C016D8B5470CC4D9E4160BD8CA6892AC86078DE2E838509EF0B042214CF3D098D39199D8809B4F27BC646282E6A441651C8F9E8012B342268DC5555A5D5D93323434C6B505E71AEA330E9603702C26305E65463F3D25F33EB4CE1272DA25FD55BE70E15E9835D3949DF3E13E377A2666BD199693C0CCC32B572E192A82F63C2C20C9608D852401D2181996E12AF28655EC42591ED013762F4D565E2883CE3789A6FDD2035A2B1388AD3AC576DA021F5371122BF59C25567D828AE77381749DC1193C6C6BBB2693EAFAD6647573C3DCB404D7FE9B26D1CCE2265313133487847D921505948DB3F2C0AC73AB31881C73897116AED27137B873E74EE8AE8F03D1A1837EF3CD370F4F93C9E4AA737B9D17DE73B979B0F2ABAC39972ECED26EBD6E2369DEC0C77A06A8312BC8651001D061E8097B2F574A34313E21C1A359A12AEECB16E49B16D2D660782C4BED95CE9606EB3148D7B636263736363AB941EBC1E78C89FAF2E5CBCF3C876D6F6F2F09C3309E9999E9BEFDF6DB50CB04423ABD80F86E1F1C34C57B210FE4566A5136088C0A3E155496A7F66CB33956BF83066171B65A6D574CAF3A564993FD7D8DE4E6878C66693BB50A3B376BC8B605B289799DE6FE0D36D77177793921E89C20B42C4437700C7B7EC41D66D8E57219A597E6013F58231B2CA4E4B9DD7CB11471143C274C7E87E39A0EBB770DA0E63B1DCB6033A5555650262FED49DA1559C869CC38F43DCBE6ADA6686D8565D76D043DF162C3CE6233854AFA25E5038908A8D7EDBCCC2FF60660450FC20CFF7E7A2C31D506564AD5E5F36DD6A0037C073FAFB590CCB2F505BCF7B9300813EA90D680A9213A36AA6AEB351E96445666B964BEDD854260B00744C3B2FC106100A66D2687D9822D51DBA828B16DC86EE686CE151130D2D8E3D1A211A03A802D7A986B8160F85CCC028160509883603A7CB8C7C75A7C8C4941BB73E1C285C47DE639DCBC165CA91DD465E9E4FD66F3902B776B9C79A68A93D24C5F49268DAA1C454F4C8CD3F4D4240DF523DAF929DB2DE458BE5BDBC36A28B299BCC394EB785806342728E0098400D7DA6581ECF3B95D3EB6C3DB369B688DCDACCEC71B8C556D36AFDE7383B49182473333531CCB4CC86A771DE66200E72EBBF64E1789B3D84C19875022334F2C62DE85F5C7507905D550C2ECFDA10B948805D8D565DC4C47950279C6FE6313497B432A883A5346DD636174786BF07308A106A1B0C9EDF075ED42306C56ADC9C9C9CE83070F7A9B9B9B49DEFD9F5A40AB4F3784C163E63396CA41ADBE522DA71DF5CA4D69B23CD2A46375FF6A797638C82159F01C181DE887C59C4C2C6961C0AC302CE7F6E3D8AECD93130CCC0882C99951DD690B708685B3CBEF3960736A39AF3528986305E482AFDFF9E257FA500211F32E93556C2E9600D7923581C49D872631AFD440CB8296FC35482BBC1F342D19B6069949EBCA3A9F66B5CF3CF6A4AB827638AC78F7F183B7FE431B1584500031B1055EACF27AC0FB5D680A04C3AF6BAC317BFCBAC137A5BDBCBC0CC1266B6B6BFAA88031182214D9EEDFBFEF6D6D6DF9663ACFD1A08D1C34367A418BCFA6F9A524D760AEC46BE1C4C6E6EA87DFAEEFD6B672AE1A6AD8618C69B290EABC8719EDF0310866B7DBEDD65928CDE9E9E9369B514CE944CA5344D2CACC8CF36EDCB811ECEFEF87ABABAB05FEA102DF94D219D7EAF8CA63591F2D0D098DEB3F68370F7EBABAF4DE8F9DC6F031002EE2978673D3100C9FDB664DDFE3EBDF67E134676767C58CB6B7B7137DCA75BD829CE678172F5E2C306895D84C2AFCC315FE81AA8E7B636EBAE5990908F2B18BE9F2BF3DD691C7CB8BBFFA17869B264CCA9A11F0659FAF1131D08EC5981D362108E680B7F6CACA0ACC283ECE8C4EA4411C3D7ACD66336001B1D624D09A32DF8562A3BEF39D69467816518515BCC4FA5EE4DF8A58EDB11E45E4363E17B00904CCB043B684D010C96438CE1CF3886D4B0DDFB99DBD9DF5EFD43656DFB7DEA8CB1B8454879B06BEC08CA0397C53EB8C31C097CEE2E262EF346674D443D9C92312A14083F84710579458350B7C01F8DF539839A888071AF13E043DE16321BF4EF7A64EE815A352652C0A0B635E108E0785E234C74BD39E0AC6B5C7C2D446901C0346686AE5E721AB49C8B682F26AC8314DC8411F93FE224703AA1BF73A6F2D7FF8F6BF236E41B40B33E2DF8737AAF16FC245237ED9654FC49E2C6E4E4C4C74E1A6AD6048BF209557B9A04A30E8F6EDDB7EA3D1F05993FC6AB5EAB3A07CBE2B7EC497CD17E2F3C5F97CB764EF36BE50EC39BCF103ECF3CF59708115AABCB6CF7D6DC05FF65E10448542692C0CA36A54284EB45BEDE6FEDED6861D6CD30A464C08C2819B8619F1F3D6FCFC7C9799BAAD6FBE781CE8FBAF6B547F3B7CBA84089B9FE23BA55850B221626761C91EB4809F7B954A0542F220CC42A1E01F214C08CA1F22CCD009932F035AE98102C05DF379680DE2973A7F1F04D37E91667462011D150F1D536F71A181E2A0F499C284202144D64C11248408614260780E61F2F5E03DB2E7470C2DE1E70D98918B767351F247EE39D48BFC8D17294C6826621C1660CCF812C34D7F5466746602FA0D85A98EC98E9ECB85FE3F4524CF3249E403160000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (152,1,'Switch_(128)',decode('89504E470D0A1A0A0000000D4948445200000080000000500806000000D1007DE40000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00002B6C4944415478DAED7D07609BE5D5F5B5B66CCBB6BCF7DEDB891DDB59248184106881400861140AA5145A28D0B2A184AF2D1D747D85EE452185EFFFF98096555669B613CF38F18AF7DE5BB6B5A5EFDCC796633BDE24AC5A2024BD92DF75CF3DE7DCFB3CEF8B93DD6EA795C77FEEC3E9B30C00273C1CEFFF7DE090D2DFDF6F07160ED86DF6FD0971312BC8FEBC026022F04E0F3EF490E4A69BBFBC5126935D8F8F3BED769B87CD66271C53ABCD6EFB1B80B02F3931BE6C25CC9F13003832BEBAA636452291DEE82471BA161F83C7836EA389E013824F083E5EC5F2522CDF87E52F66A426B7AF84FC330A8086A6E660A944723D50806CA7149BCD361E6C47F039D8B689E04F7D7F060878D83FC4FB7D78FBEA9AD519BA95F07FCA01D0DDDBEB6EB3DAAE46D06E400437E255321EF4D9837F1610CE04FF0C3B8CFFED1896FF0340D887D7F7D66567595600F02979F40F0E2A10B84BB05F37205897E155351ED4B3B37C3AF52F3AF862F9C8C80895965550654DAD55EBE67E2A2539EE811BAFD9F5FE0A003E81C7B06E04FB615B371E74FB2EBCF79C55CF1D209887056607C799F75D3D3D54525A46A76BEBC43AA2232328353991BC3CB4547EFA74477D635385AB46F3DD271FBCEFC00A00CEF363746C2C0141BB01C1BB0E010A5F7CD097A6FF369B95EA1A9AE9C4A9326A6D6B27954A454909B194141F4B7672A293659574E264190D0E0F51485010AD4A4BA6D090E0A3D53575EF37B775FDED477B1FAA5901C0397A184DA60004660F02743D5E579D45D33382EFA0EC8525E06CEA371A4C54515D8D0057D0C0D030797B692925219E2223C2696060904A00888ACA6AB258AD141B1D49692949E4E9E14EF54DCD545074828D27A9552AFBD62D171C8E0C0FFD25D6FDC665DBB71A5700B0C487D566D32080A8D3EDD72358172238920583B9A4E04FFF7E78584727CB2BA9F2740D038E2242432829318E7CBCBCA8A9A5554840634B0B29950A4A8E8FC377092497C9A8BCAA8A0A8A4BA9B7AF9FB400427A6A3225C6C680198629BFB084AA6A6AEDBEDE5EA7D764663C00A678F3CACB2EB1AF0060EE871CCF8BC7836EBB1CAFEA459BB545EAFE4C20B47776D1A9F20A6A686E21B95446B13151148F002A1432AA3A5D2B24A00F99CFC165DD8F890C2783DE88E5E560835390243D05070652462A4B40103535B7011025545BDF404E528900CBAAD4547276515351C9C981E6D6B62A2F4F8FEF3DFBF4536FAF00E0CC23174FAED577E3E93D6F262F23F83359C06AB5506D4313955554514F6F2FB9BB6928212E8EA222426874D440A72A2A91D9A7C9603452504000A526C6536060007EDB47C5A5A7008C1A30945580253D39893CDCDC5019D4503E24A0B3BB875C9CD5021029F83B93D14C052527A8F0C449C20E0886589D9E427A83A9FC485E4185B35AF5FDDFFDF78F4BFF1301103B11747E463916DA1DC19B83C617ADE7B300614C6FA0AAEA1AAAC4933337C8DF8F1290ED7E7EBED431C104758DCD623FA2A3C261FAE2C9DDD515D4DF06C3771252D0464A8502CBE3C4536277A213E5E5540450E87423E4EFEB43E93083D1E1E1D4DDD747F9052542225C5D5C697546AA00444F6F3FE5E517006455E4EEEE46B96B326DA989091F149F387558AF33FEEED7CF3CD5FD790680DF4496DF8067D66C3F981AFCA5946CF3057F60701081A8A6BAFA46EC3D51645818C5217B9D91A9B558C619DFD3D3474A95128088A6F89868924AA50228A5A0FADEFE01D2BABB53725202C54645D010F4BD189EA0ACB28ACC2633458687898CF7F5F5A606540EF9C5C530852DE4EFEF4B59E9691485B2B1A1B1898E1E2F00C09A003C7FCACE5A4551F8BBAAEA5A3A723C1F00ECA6D4A404CB964D1B5EE9EFEDFFDFC6BAEA377EFBEB678D9F0700B8E079C544D0B7E2299DEFC773067D1EEA9FCB0072F95671BA5AE8BC8BDA9962E0DA395816B319CB6BC477636363E4017D4F8C8BA588B010D2832538B09CA1FC3E08D4CF554060A0BF581F4B00EA7E92002089713190874452A9555401C960AA6720454586512602EFEBE383E5D5945750445D5DDD140DFF003348BEDEBE309CE574F858012A8B014A4B4DA29CD5AB05388F1516D1C95315E4E3E36DDAB1F5C2E7CC56CBF30FDFF38D239F35004827827DC344F05D16BBF2C53AF9B958803392B38CA97E08CEDED7DB9B62A2222930C08FFAFA06B87143F5D07FB3C5229671E039507DFDFD548ADABEB6AE4E6C939B3D2C011A1767AAA9ABA712D4FC9DDDBDA4717541D013280E4CC1DB2A0143B05164BF108F65ABD25250062A8549CC2F3E4123BA51F88B18CA5A950E6FE00C2F504AC70008FEFD6A98C3CCD5A96440E979E458816022AE3A72C00E21C1015458720AD5C7296612DDF62D17FCCC6AB33FFFEDBBEEA8FF3403206B22E83CE2E6BB9C95CFDBB0398B05CE047F647494AA1128A67433323C34384804DE15016C6126402676200B254E12484008C5C646096D6E6D6DA39338F1AD6D1D28F154141F872A203A8AFD9A6082529486DC020EF0F5A5646878584830B79E051370D64B5039A426C543DF13012A331523C00C16DE2FAE1A581AF87D41518908BE13B69F9991269673F61FCACB174C14085958BB269302E04B8EE3B725A52749A3D1000C19389660B14E7E860405746E59BFF6BB1299ECA57BEEB86DE0530580879E78AAF8CEDB6E72C5C98F59CE8A270DE01224A00FA6EA746D3D82DC86D24D0E8A0F17353CFC19B2B941E8381B3415821B131D0EDD0D27278904DFD523C0A7453059DF13E363293C349886F0DB53A21F504D168B95222019C909B1E4E5E9896D7488C070B347E3AAA1B4944451090C0E0C09FA2FC7FA38FB33C00229F1F1A483BC1C2F281646D155ADA64CB00083A8BDA38B0EE71D17800D0D0AA475395962FDC70A8B01AC93A84ADC29376B3585858E07BE0815845C2EA335F8FB3880B30B954B7E6189CD62B576A4A5243F0933FBFCFD77DF61FCC40170D7FD8FDA9D244ED6C888F0235FB9714FB2AB8B8BE7520130D300CE167CABD54A2D1D1D54535B27689D6B740E2C9BAED1D111AAAAA913346F3099C8034E3B2E2A0A941A08BD471550538DE0D60A0A0E0CF0175580AF8F37D8A153B4771B9B5B482A9382056284C633A8184842027A7AC8DFCF87D2929244CDDFD6DE019A2F05209AC43E30FD33EBF4F4F48A60F2763C3DB594BD3A5D2CE746D2E1A3F9621B91116122C86EC87236874558BF16FBBA764D168583A14AF139BFB804609522F06942AA068686E8583E1BCC260AC6BE67AECE10DBC57EEBBB7B7B1A7CFD7C7F981C1BBBEFE1FBEEB27F2200B8FB81C71800244186E139B82127BBF48B3BB6ADC37BD9A201B0800458F17D6959394E6233CA373FD079A8A8C33B507F57D7D422289DE2B70128ED62902D5E5A2DF5836A5902B85D8BADC0EC71151049CE30866CE8CACAAB90553D221889F131024CEC1138A3B93BC8F2121E12024A4F206F646A4D7D03F4B9943A212901A06E310E00C9696A6D1519CFDB09428058F779790D0074E4583EB57576A08A881681E78E22BBFFA292930224EB73D68863614FC11E81CF01FF7D0A2A8F91915118C942AA06D33158D720F07C7CDCB52C0263F03963507265A31B1D693B555675DA49E6F4CC1B2FFEF5EF1F2B00BEF9D0E3769E8023008057A65AA55C5677CD95570CE2E4AD3E97FACF2CC0AEB901753B9F18CE0E29B619028D8E8E0817251E6728EB2B97585CE2C5468E57015899608932806264745CDFE3E3A2850E8B96303C4125CA331BB6C19503D3B952A510EBE29630B77923434351F32791B79727B6DF40F9D06D064438E42773552AF979FB08F9399A5F286AFF44AC3F0B8193E29CB0FBE781240F0F0FDA00FA8F080F15C3CC478F1592C96AA63519E99491920C0633000C25C28B70A66767AE121EA4B6BE5E349DC6F47A788F04C84A1C7C8F5594ACA76B6B859C64A0B2F0D27A16E1DCEDC3B97BE9C947EEEF3AEF00B8E7E1EF9C0500C9C4675071C197AFDFEDE7E3ED1D3AAFFE2FB101C4A371D5D575E4EAEA2A349C1F5C8357D5D4D0E0E0B0D0F75830417010820B475E812AA0068061260943562720309CF95D609093E515227B95728570EE7131D10268A7C0382751169ACC26A1C15CFAA9E1E82B4F73E9574A43005F34C0C512C0CD1DEE30B204F072EE1D6466A492CD621381E7F24FEBA185EE678A7EC409049ED9814BCE4C503D978FBCCD6345C542065C6062B333578BFE43330CEB5130413F3C47222A8E748084FB150CD83230155719ABD25384B4CD48182BCEDB0748B017F0FAF7A7BEF3F0E87901C0BD8F3C619F1A78EC1BEA41044DA2A4096098C3C3828BAFBBEACA14954AE57CAE1B40BD7D7D74E8E8F1717D873C44E3A4794202783C9F25808DA24C26871E87534C44A430564DCDADE20476767793BB90805861FC743A1D4AB90A1ECC1159CB80E0E16027BB04BFAF10193C66308AC611B777550A052A860AB8FD52D21BF4DCD44116A69011FBC22CC0DBE07D59BB66B5680071C977E0C8311A06BD670238D970FB5C21F0886201CA4739BC47F6EA55629B5D283F8FC027B477748AF2340B9EC2198C565155234627F95CA7A7A4085FC11237DFC4163C47F1FE35BCEEC3771F3CFDDDC7ADE70C00F73DBA771A005C1446BA39F16DFAFFA75269489A209840CCD174B20F672425F67E61C7F6082C735A5A0368FEEEDFD0D030F12A954AA5C8984A9CA41ED4F86E6EAEC8A2480A4349C519560D0359064A1F1ED2890E1E9BAC409460CC045CC3B35153AB55A0D70448478400157B8F93F00BBCEDE48438E1E8F9701828ACE53C3E9086D28FCBBFD1D131D1F2E54A83879473B33285F728079D1F044807870601922451FAC91432F1F7E3DA4FD0F87404344948CD51B0466D43A3A07EEE1E7A423658F21824269311EB48A4048096CBDBA5CE70C239EBC4EB4B3C13FA674FED2DFEC800F8D6634F4E0380463A448F6E7C8B5E2E0CA07C5A4783F22E0AD1238BD8286287AD56F3F0D64D1B25B9D96B5C3F6A03682610D8B87120B959C34CE0EBED452328CB7820E734F49F877C7922074B80076482FBFC4CCFEC173CB51E22C061D0736E26959C1C1F0052005429A8F91350219860124B4E9E14BACB999B0ECD4D8A8FE3994A087C2180779ABCB0CD1CE87604CC1DB77C0F1E3D26DACABCEE5C300177278BB0EE2379F96484BC6441FB33D35349CFAC81C07329EAEBEB33D91F6050324806212D49F025692909A4805C2D677ADB2CE7B812EF5FC0FB179FF9F1F79B960400C79C7B00C03A0D00925E7A64E3BBB4EF981F1D5627D36B173C4B99EF6DA35CA7ED02009CA97CF2C86A1EDB7DF54E45487090CC768E0780F877169CDCE3C8182E0D7957992AE3A2A3C5902F9778ACEF7C52D95973F78F077578E48F4BBF3A641FCA599169DCE265ADE62610B78A154AB9306BDC011CE81F126DDC4A48860F8C211B3636849CAD8750F377835978983917C17473D340B32B68FF913C48C008AD027DE764AD16F4CD6D63DE2E8F50AECDCE12A695A99F658407AC98C5B891C4267731339C160AFE2CC0E17F0FE1BF2C112FFFF6E73F1A9C170013C197242525492FD9B9DBE800007E440A899ED668F753CFB09C0EBAC4D29B17FE9E12FEB596B659AF9906007EE5AD6A5C54863DBBAE52A9D46AA7A50CFFCE3CB0D9AA091D0C60476727050707C2DDDB4446B22F60BDE6864B626CAC1813E08EE089B232D1F4F1F2F4106D5FEEC40DC1137093A602B5BD06668BFBF73190869EBE7ECA87E1E3D2904B44D6670E7C1D3E1F421677C15B44A12AE12C66A661977EE0709E00188F28AECFC92625F49E6B7E76F6DC7760B9605AEF1FE8073B148ABA5F480040C5EC740E66382F3C6986636C276360A0DF3F1FFFF6BD57CE0A000EFEAE5DBB24050505722F2F2FE5964BAF1874B8FE02B8551F9457A74163A9313E644D55D33B173D47F1EFE6D276C9B59300100E800DA34426A4C16C345AA222C22C975CBC55B59C01A085660071F0C5840DD4FFDC31E4913F9EEFC77D85526879370223DABEA07A7F30421F289B339EC703B8A2E02960FC77A21B87D28F1982FBF7ECE0D95FD483A699D2DB0136A67EAEF9B954E4F18983C8781E98E272745D6E16B9B96AC4BAB91F60C1FEE7C0EDB3948C8D8C09D3C765248F65ACCDCE14FEE45CCE705E4866DD346E421E6532D9D875575FE97216001CC1EFE9E991F7F5F5A9518EB86FBBFCEA0607000E1D3E4A5D5D674A4FBF601F92E40C138DD969BBCF359399AF950FD0069FF7E8FDA66CB2BAC44E968DFAB151E386DC1CA7A4A404C5FC07B3BC19C056008121CE357C29B49FCD607050A018B3E79A9B33945BB0ACBB5E3071E9C9C9F83E00B57E8F0010978B3ED0782EDBB8CBD80C0FC134CD2386BC1E0E3C376D98510E20F06C48B94C5D97B30680F042A95849FB718ED82C32A567C1F1DBAC1621013CB8E40A70AC036B4445862F6B6EE3E4CCE6C59E938957F6144840E13998DCC7F4FA3901C0B42F43F6A8B1620F04CDFFA22FEC3C76060047A8B3737AEF210AC85F9BBB06E5977C12001E9276FA4AF2ABF4DAC908AA515F4C46BB9EBC9C7C1D6523CAA831FD65176F572008D2E5CE009AEF44B134D43536504860106934AE426F8BA1C1ADEDED82095293938427E8009879748F03EDE3ED897A3B157F1348AD1D1D9477BC489498FEFE3E94B36A350504F889E1DF43A8EF790E029F4CEEF773A3899B38FF3E94C717B0882A623D745E8E939E8FBA9F9DBD542AA39C35ABC4543266C633C15F3CB897C302DC540B0E0CE099CD2443FDCEE79FC97954AF1FBD7ED74ED7D90020CDCDCD55E055835AD70FCBC22EBEFCEA371C813B78E8F02400A43219396BDCA1BF52D4E75E141E92350900775B037D25ED4DFA9FC2302AF5C9A417E29EA64D0557D37AE7ADE365237E63B5586DCE0A9971FBC5DB545299D4E95CCD009E7952B865CB83341CC094840451BEB581CA0B51A27166FB787A51467A0A4E943FA8BC5B38F2E6965621015999E90210ECF28F22F0A72119DC8666D3C799DFDCDA0E2638225EA32322687D6E3679B86984AF387CBC508C247215B03A2D8569F7BC1CDF5CC1F784D761DFA286143A2E9E1600186780110040332B0056AF5EADC467777C0E44B022B67DF1AA971D003800000C82569D351E141A6A877BEDC5721B59AC5222F326D26A03050064C616DA1EF01615B60650915732BD90F534A51EDB40BB64B74D8C299C318AFA31BD393428D09ABD2653B568EA5F624389A77BF329E0A163CEC83630029790DC75E3F9035D3D62248E1AE0193CB5EE085A8618181AC2B1E6A10AA840DDAF717315133C984AB90D7CF0689E9824CA1906598334400250261E387C4CCC2EE29A9F8D9F4AAD5CA6BF5938F8B39D1BF63E6C2EB9E2600A102D9A89C03B80A0D7EB75D75F7395DB820C80E5A1DBAFD8F5A6030035758D64B6B740233BC48A4D2629198C32B2DA90D5D64D70D808384E70785818559C2AA4E470171A4AD0D2FF5BF34B4A3AB08EF668BE7656A5205EB132DDF0A03173558624242444BE9419C08BCA9289133E3A3646E595D5A249C4068C3D019B3E1E0AE6326E352420223454FC8EA5818790552AA5D0731E611C1C1A162D5EAE34B837CFA68F4D625D43839000EE4E727B77E3DA6CACCFFD234D729D09F085F45F2A75128358EC619CA6049E04ED4F07C27C0098E6016002FD366EBBE4172E2E9A5CC944A3C76235A0CE3D481EDA61E88A9DBAFB5C417B7AB2992F043D06D15BEFBC4B6D3047BC93DC964DCA89A1A6F41272D669688FE71D530080DA5D7698DA47036114E3C6CB463838FD88CEB071FD7AA5B38BB36439FABF5877DC0623F7F6071F924A393ED61F23FA014661124F9495E3D824949E964AC971B1A289C3E300DC2072553B43CF3345EBB9ADA30B753F24A0B94D30C1C67539E4076FB1D8BEC64225DB62749FFF6159F283B719D7F9B903EF6004BDDE307CC3EEABDC17AC02A05B6EC87CAFC4B48C6D21E11177A994EA4047C7AF7FA09DAC745CCC14532ACD24935C40DEDA107AF39FEF500B3474EA231D273836298CC203A2A6657EA6F2798A756FA0DF9CBA8EBC43E245D9C86C603699AC7005A69C9C1C35EFF847354873D5D406BD81A430AF3C9F9083CE53B5F8F729DCFA4D4C10EF79C64F3140219148C5502E7706FB0706E950DE31715D2157131BB2B385DE2E0D8C0B49DCC2C1E7C691BF8FAF6029A789D27B3CE8F333C0D8987EE8C66BAFF698B70F5052522273777757619133BEF3502814BE99B9EB6FF20D08BC562695A91D411CD6EDA7924A3BA5C4660887FDC6DBFF9C0600A43279FB78D2F6CDE9E4ED3D1D00A94E7FA074FF56FA49FE5594975A44CE231ADA6ADB49AE2A57B1A323BA6113CA2E7B5C6CACF27C36487800A814651A8CA9A810A4C87E1E45E4468EC56C117D022E1979A896277AF0502E9FFCB5D0F8B8189E28F5D166382FB501C455057B1817179733819D12F8B98130FE5E6F300EDEB8FB2AED829D40184289D96C5640125456ABD5053BABF50F0A8D4ECB5875B787A7E70664851307D364B288A0F2D4A937DE7E47D0AB1A1582C6434359E9DD90022BD33BF96A77A21E0F98900109451B7E4539E15DF4D3FCABE99D940FA834E828DD9EB7975605AE992819C7D9A6B7B7C790101F2FF3F6F2949DEB06C9CCAB8639C8AFBDF94F31ED3C213656F802FC5A98C49293E562BFD913F044127EBF9419CECBD57FC7BA392AEE6E6E84C414CD3647E0694AA01D81A7699FA7CB80DE6818F8D2EEAB3D173516B069D326496B6BABD4CFCF4FA1D3E9D4A8F7353870CFB8E4D4F5710949773B3B3B877390C6A5C14998A45E9D0E8EB9055962E6BE0C190C32329A64E4E57E39B42A181434CA4684A4E65EF2B51EA336FB1A7A3DFE75AA0A2FA6DB0E3E4E59E16B69FA1C0427EEF6D90707FA0DE969692AB942EEB498602ED779F3D880C9642605E481FB0785274E0826E0B103EE1528E4B23901782EC0381BA05CD46A72F7709B52CF4F093C4D71F9B3047EA60CC0D3F403005E8B1A0D9C0A04540672044E8945CE78BAC32378E76EDCB427342CE246995CEEEA6818F50F94D1E04801B2DD889D97D0C0B04AD08FBFD7170080103188F2A7BFFC156EDC97F59EB66DBB900E04BE42E519C7E9AB479EA0ACB0DC69934F1CBE8319616C6CCC0ACD36272626A8ECE7B0473EDB7AF87A4106806E7444CCE861DA5FEAFD0896ACFF33D6C7D7367285C2E309678CDCF48C3F1B0813323007100C4643FF4D7BAEF1B64F09FABCD705386ECAC4DEA0A2A202C58154CEB28038B882113CB45AEF88ECF5EBBFE6EBE7BF55C293012636DED2F64FD29BDBC9D5C54CADEDEE9418BD95FC7C42C560CAEFFFF4DCB46D44C0856B732494E2BE8A9243D3689C55C601E0633D42B6B156EA946D2317773F0184BEDE3E13D7BA0181810AFB6247C81611FC65B7A29731C035DF18000E5E5C8F280CDE940C1F8FC4F4CF6780B0383F0006E87BEBD597FD5E7EF9659B03048BBA32683659B0582CCE00C2B82C24266665AC5AF30D5737B77847C36764544F4DADAFD2F0989D62422F43B9343E41E3777FFCCBCC95D395975F46B96BB226B5DF91F95E8677294BF306BDD5B09924515792DC2623854C290EB8A3AD4D1F1212A2707175917EA4C1A5C5B2C939BAC269AEE0F3EC110582AE522AC6CFC1546A9F1308F3FB81E940209E08D3F7BDEF3C1A545B5BCBF744122058D2A5610E20C0244A511DC85816F0F72E08BA3BBEF2BAE0C2AD9747C7C5DF821A5BEB70FD35F58DA2F9C2AD526E98FCF6F77F16EBE28B30B8A5EC17A8A2A4D83E328C45D2C5175E3F8DFADD87FF4E399EEFD3AB551BA821219A5EB4FF96F60CDC4139FE1BC4F7668BD9D6D5D9618C8C8C5231FFD8CE53F097734B9AA57437792E204F4393482567287B368D5F64E0E7620494BFFD7FFCCD33E1063C8A8A8A786EA16DC91787CE250B269349C3B2A0D16883366DBDE8B6E0E0E04B51B6C81C53C7180CCC007F7AFE45D152F60F90D1EAB476983C89686AE8469474E1FA47A70140DAF1125D187C885EAEDC4095B101F4ACCF5EDA587529DD1BFA044D35A0C3C343969191114B7070886AC189A8F352F6B9B91FD1621B401C20BE6EC161F0A6966C535BB833697FB97E006560FF333FFD513CAA09DDFEFDFB4DCB02C05CB2C07308F0590DC3E80693A88D8A894F5DBB61E337BCBC3CD31C6CC0B3775F7FE7438A8E3A419E5A03592C521A1D938B9DEBEC72A1CBB73F2002CBA371F5600E7F3F6F920EE69154EE4A2D292EF4C7A0A7695DE925747FEC7F4D0E353B4D79ED686F37CAE43289BB87566E3FC737A358D033CCDA849A9B8984DC49A467824B530CDB0C20CC2603CB010292A4E80FBFFAE56588CF505E5E1E03C0FA91EF0F30972C8014DCC10ADE9B2FDCBA2D392DFD36948DBE0E73D7DDDB4D0D2D7F231F2F9D68292B9516945F12DAB2EE3B0200F50D0DF48B677F0B07AC10D706AECDC9229F8D2ADA17F60C65D75E48F727CC040024D43C4A32958798925A5FD760D06A3D1472A5527A2E275D7C64169892F9CC5E8ECCA429193F1D08F3C9C0DC7E60A60CC0AFE99A1AEAFEF2F61BFFF813E2D3E9E9E939FC9119602159C0436DB55A45B5A056AB032EBEEC0B374545C75E09BA5338025758524C4AD5EBD4D2A1A5A08041CACE784A0080AFBFFFD92F7F356D1BEC8AB75EB58E4CAA61BA2EF7D6E900B08D5268F73D546ED8419E71BBC5323091ADA9A1D1E8EDE7ABE6439CB767B06CF7BFF8E0F3EC655EDF59CE7DB6EC5F061066F3039CE12DCD8D87FEF5FEBBCF0DF6F757631F3A118F7E58007D7979B9E59C01603659C02BB381C2210B008567646464FC96ADDBEFF00F0CCC76F8023E29C70A5FA0A345448F7CF3360180C6A646FAC92FA60380E9122C435FBFED26619AA652BFDDD04DE963775359A717C932FE400DC61A8A52C589D66E4F4FAFB9B7B7D7E6AED52ACFA5042CB601C46D669E1F307E9E670CD3CE648069B43F8B1F98C508CE25037DBD3D35470FEDDFD7D4D0508A6D77E25CF5E0FB2130F1A88F8F8FD9510A9E979B44CD9405680F5CBAC419EF3D40475E1B366FBE202767DDED1A37B72087E91B1C18266F6FAD182B686C6EA2A77FF6CCF89DA6144A7276F3A0B070294587F7D3D0908A765E7A2F79B8074C02C0305047B9F408E5377A926BCE9FE896BECBC96BC49F1EF3FE21F9788CF70FEAEBEA0D46B359A652AB650B06737242EAF2F45F4C53B3F16DEA8CE2BAC439EBF62940988D11960304FDD848DF89E2C2D78AF2F3F7F354082CEBE16B3B21A53A0F0F0FC3D4E09FD7BB84CD270B6C12F1B5EF55D75CBB27212979974221779E3A5FA0B1A9899EF9FD5F10782D8585982929BE8BCC2629C060859151D2AAA4AF515464E2240086BB2A29CDFC249D687123DF4DCFD19E8EADD4EED64CBF68DF47D989EB260C175FBB60B55754541AE48C2AA94472BE1A407A834104DF3E9EDCF364EA4C202CDE0FCCAC10AC16B3B1BAAAF2C38307FEFDBAD56C6EC5F17663FFFB9170C3D0FCB19E9E1E536262A2756AF03F96FB04CE260BD8314713C92B242424F2B22B767E352C2C6CE3783351220EF61F6F7D40AEEEEF939BC60459B0D3C0909AD46A3375766B687DD6ED141B153B3E5BE9E0617169F5D1FDAF9164A48A76DCF863DAD9BA91FAB45DF4D3B6E7695DCAC64900386443373C6CADACAE36A9D52EEA73197CA3D124AEFE1DD77A9A676C7E1E202CD10FF0D6DB9A9B4FE41DDAFF4A5F5F5F2D12AD133FEF85011FC4F7A3F05F46A5526986E9B38D5FB4353DE01FDB9D426793052C72C1CEF10405AFECDCDC9CCD5BB6DEAEF5F48C747404474687E9C0D15F93D6B395FA065C482EE3F2C94EC971F74E02E0C9EFFF88EA1B1B85C9E2DBC37CF986EBE8BFA5DFA1A6A8D3F4B3F617687DDAC6697E4132564D56451029D4EE3C81C5D4D4D24272A55AF1511A405CA9F07430A3C93C7B376E66D0670DFC027E6096D270B07FA0B5E0D8D1D71AEA6A4A10F80E9C831EB06B3F5E75D8273D5ECD8EAC9FB864CFFE89DC29742E59C05B31E40C6970055569B12F3EBB76EFD9B92A73F5756A955A335E364AC4ED5BDABA7E45B54D5E9418DB4531E1F7515444B208EADEEFFD505CA3377D224A12B9E5DA6847E415B42A2173DA08A3A4F1E7241DCAA326F557293C798738E965E5E5FAFE419D5C2295CA96341DDD62135734EB46C6B01EFB3C819DA3937756A36771C6D06830E8CA4E96BC575A5CB41FCBDBB12F5D78F6E1AB210080B3DE84F796B9B2FE1303C042B280C56E0082278C4AE8B5D7DF704B744CEC45281BA51C3C7E1C3DFE67FAFB7B3DF4F52FDF4071519162D0E889EFFEE02C0028D52E74EB4DD7D1E53B2E9E46FD0C0063E5F7285CF2211DEAB98CA236DF4327060B69ADF705A895CDB6828222A3C16C567128E72BFDF83BDD884ECC1012744F4E7350F41C933496E907B02D4B7D6DCDF1E3470EBE8D0C6FC1A24E6479378E6D00AC3A02DA37609999DBBC0B05FE1305C07CB28032C50507E5C1630B191919E95FB8FC8ADBFDFC031226F57B74540C91F21C3D0180FFFA019555568A93A576D190C6434B99197DA45258E0F3B474FBCDBF9E0680E1E24728D6398F3E68DB4E015B6EA12DEDA97451D717E9999C3F9312DEB0AFBFCF52547C02C59B936AB60610DF94926F1C69321AE7E9C5CF078425F88189C07384BA3B3AAAF38F1E7E7360A0AF9ADD3D673DCE533F247498AFF8E9EAEA32E17C5940F7F6C506FF1307C05CB280074F4071C5010A59B86AD7EE4B366CD870A3AB46E33919CC8909A68F3FF9036A6CEF2417540CA9497D14E4AF43363B2153510BF7B9D283773F376D8E41E3FEFB29DBAF80DE69B998DCD65D4D578CAC23D72E773A9A725A5C42E51887A8ADAD31965555F31F2AC675DE246E5DA31BD64DCFCC4576E3E603C27C7E40373CD45B5290FF6E53435D31D33D673D9B3C10E3E0D8D8D8A8ABABAB01996F594AD67FAA00B0185900DD7979787905DF7CD3CD37A4A4A45E22033A1C0078FFDF87E860FE1BB431A7990C46B9B85E611015834C66A59A3A3F7A7AEFAF270798BABB7BC9D54549A51F3E43230609F96ED946375A2E21D7360F3A9A5125EEE8E5186012D3BE706E8EE717E8DFDF7F5862349B15E355CA6C63F333299BE6F5038B31862693515F5D5E7EF45469F141EC471B673DD33D9B3C6EED22E87A2C332D64F23E3300986D5E22F78170A04AF84457EC27570BDE38E044F883DB5036A60B361053D64DF4CA1B4F0300B5E4A9D5536DA3179860981A9ABCE97B8FFC611200DFFCF6C3E2F270BEF1E4C55BB750FC05A17497E43A5277BAD1B19CB301E0609B6F3FB6D72A972BA4B38ECE91D3F4C0CF948199C66E013FC0EDD9E686BAB2A2E3C7DF371AF5CD9CF54804BE2CAB17DF0D617F46351A8D71B126EF330780C5CAC21557ECDCBCFD92ED37BB7B68FD1C0DA4D6B616DAF7CAB3E4EDDD41637AF60926FAC657FE77120077DFF7B0B81184E3C11776AEFD62329D30E4D1DF6E795500C0C12C0E00F0F35B8F3E31098039876997E507A603A1B7A7ABB5A4E0F807FDBD3DA739E31D9D3CD67A1CFB088FE3E3D504BAB73926747CDCF70AFE54C802B3014E8A270C63C06DB77FEDDAECECEC2F2A144AA5A3E1F3E1A10FE860DECBD4DCA6A57DBFF9E9E4DC81BBEE7B48DC1C72C636E8D517FF4AE1E1A1625C7EE610B3B85B0A00206300CC3B56BF1010E6F603A3A3BAA1F2D292C34DF5752558CA3ADF018DE7ACEFC3B10E635FC6FAFAFA8CC1C1C1D67391F59F19002C240B7C1513570B919191B1B7DEF6D55BE2E2E2B21D816307FFFADBEFD1AE2B2E9D9C58FA8D7B1F1417703A06979C91F13E7EAE949AD84D61413BE9AB37DD390D0093F74B7A8419402E9DBD373F8B1F58F430ADD954575D75A2F254E961009A339E6BFA4E47FF1E093F02E6332EB5B4FBDC01603E598029D2B02CE0B3CF8E1D3BD65EB56BD7977D7C7C8325B3CC2CFEFA3D0F88FB05BBB87B909B56436B335B458D2593DB6860C0957EF2E45BD3A8FF0C00BEB3080658BC1FE038B6B536D79E2C2A3864D0EB9B1C59EFE8DFF3C00DF7EF5B5B5BCD13A5DDB24DDEE7060073C9824EA7E39948A25A6036C0D3EF8E3BEFBC72D3E6CD3B9DD5CE2E5301F0FDA77F498515D5949BD9425A773D325002B72D1375F6C0A00BFDFCBB6F4FA3FE49003CFCF8380066A5FDA5016108020F677FB8AFBBBB7A42E745D64F74F206F97F6AC9A376E7CAE47DEE0030972C802E4513896581FD5D686868C49D5FFFFA4D696969EBA55299C461140F1C790DFEE039F2F119416D2FC5D975A29E7E675229ADF4C3C7FE358DFA27EF99C80090310068CE21DA59A76D4FF10306BD61ACA6F25461635D6DE9D4C033DDF3240D64FD88A37F5F5E5E6E3D5726EF730B8099B2C0D734C224C9878686266501C7E67BD14517ADFAD24D37DF1212121CE9989BC829FFDCFFECA59395A7282EBA97CA4FFB921792EEC74FFCEBACEC170078E831ABD45105D0ECD7DDCD650C6D368BA5A9AEAEEA74F9C97CEC53BB23F84CF79CF53C49834D1E77F2C2C3C33F96ACFFDC00602159C0D39DAF5BC0896759D871E98E4B77B9A1D6735405BD7DBDB4F7C73FA2D8A83C3A7C3C9A5EDFF7D2ACEBBF070090C9A698C0C5CCDEC53F5D1DEDAD9565A5C7F4A3235CCF77809D44D64F74F206B8930733BBE4FEFD0A00E60102B3417D7DFDA42C4C3491842CF8F9F985DE77DF7DD7E5E4E46E962BE4B2C97B201D2BA0E75E7A859E7BF6E9D901F02033000030B3973F0710468687064F979F2AEAEBE9AA41D03BA796761FB7C9FB8F02C0543600109C5816A65EDCCA573923083EB9B9B92977DE79E7CDD1D1D109B3B9FE998F6F3E000690CBA473DE806102086693C9585F5355D9D250C7B526D7F1DCC56BE7491AD84E2F0039B498491A2B00384FB28060F0554CA25AC07BDF5B6FBD75CBB5D75EBB07D9E835DFBAEE7EE05100E00C03CCBCE0C26EB7D9DA9A9B9BEAAA2B4A2D2693D0786EE14EB471BB99EE973249630500E7C1243A6441A150F0554C4216F82A676463E0C30F3FBC7BF3E6CDDBB8B1302B00EE7F14122093CE365AD7DFDBDD5B5B71EAD4D8E868EBC4302D07BECDA1F5B48C491A2B00388F6C30F39E07DC5246807C525252E2BEF5AD6F7D292929297DE6DFDF75FF23169840D9D4162EFCDB687D65D96994F50D3887DD137DFB36A67CB08C18AB87FFD02D6792C60A003E0620F03D0F101C1E5B70E17B1E70B580F77EBB77EF5E77F3CD375FE7EBEBEB3F09806F3F6A96CAA572FE730B1EAD0DB58DAD8DF5351319DE39315CEB28F17AB98DEBE8DF7FD2266F05000BB4941D17B73A6E85C3B2C0774A7DF0C107AFDCBE7DFB0E50B71A0C609248A4F29E8EB6D6FADAAA5AABD9CC83343D53B31EAFDCC6EDE3513BAC4BFF69CEFAFF68002C461626D8C0373232320A40B8FE777F79C1ADA6A2AC6244373486F3C5C1ED7734741C59EFD0FACF42D6AF00601E59987A2B1CAE16B86C6430705389AB093CF53867FD3C278FB39EB51EDE51F759CAFA15002C5216F856385C364EF40FF826CBFC3FC1E0E1596EDF0EF058FD6731EB5700B00459181B1B13F74C040054083EDFC5D4A2542AF56CF23EED0E7F0500E7A8890426908F8E8E4AE10725083A3CA0D90260583EAB59BF028025C8C2DEBD7B9DF6EFDF2F81417432180C4E5006BB46A3B17FDA1A3A2B0038CF40707CA4F1EB34C8FE393971FF07D8A71BB9A44D93E00000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (153,1,'Switch_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000F0806000000FEA40FDB0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000036E4944415438CB95946B6854471886BF73CD6EF6AC89EB6A884975375183AE5A4D84404B213F6A0D8822D52012A1782301B1F487088542A07F82509AA01204FB2334D04B0A15418862292828885AD1B84623D966B3BBD94D62B249CE6DE6CCB938B3644B8BD134031F1F6738E779E77DCFCC709EE7C17B86904C6676231BB5208C0791EAFEDCD8B875029631B8C50408210D86611C35113E822DAB02210CD9DC048CA652EE9C3AFF1463FBD77C76F64A67E7D7D3CB11584FAB953E1FA5C0CD74C5801082643A0DE3D91CA8BA0E866182A6E9609A08906962CB71EF3AAEF363B9CCF5757474B8EF14F8EDDAF5EE83FBF69EE6794E741C07183C951E874C260706D2C1B26CD0695755034C6450212A4E45742A8A6D9B41E6886BDF9205F952CFF79DB7DF1238FBCDB7A34A202B377F7AC26DD8B1A30A6104F3AA069393AF21373545C11AE826851B080CDA75432F8858B6050413C0160181E7A1AC3C08B2243FC326EE4344FBE9C2F9F3E98240FB57E7A653E471E8F3ED4D90542DABA5F9305F51B14664D96BBA06E9F12C64B39385989838B6D83C8B4B05977E1F0E8540090480BDCFDC636C4138BCD29324E9101789447C7BF61EB8E7940CED14700DCC29B3D0B27D97378625BCE7A3CF648E1378F611CB3E9DA5B151B139EAC8A06ECA5704617578D5021815E0222F4265E51A082A0AA432B92F0A0E388EE3BF3C7BAED5E3E132B2464A251202698302CDD1ADEE8C5D8AEB6AB7F8E96E2A80548D391A87956565509C63608BC654EAF78142C1922882482B37996BFDCF366D6B6B93D6456B7B5ECFA78E133BCFFB1D0556EC5A0B1F87EA8846826E20182C29028BDDA4456824A224FE036665E8BA319DCB37BE750EA81B8E6EB9687524DAFFD7E09F0D01C50FAB03A5206E5B0BF5620DCEA312C1765C91C167F2B36CBB82B0006502B64DECB1BF137DA9D1447B7F7FBFC5BDEB24B3D8BABB2F1EACDDB4F1F22F57AF846A22D5501FAD8244D8F32A67A2E693A197B2CFE7138B609EE7BDCC58323EFC7CF0C8C0C040DC5B0073EFBB2A989BA6A626E1D8C99317AAAAAB4EFDD07751FC305607B1BA4FF0BD078F4B8A71E4A7A7F223C32F3BAE5FBBDA4379CE9257C562425D5D5D1F6CD858F3BB2079F53691F19DFB0F7D84FE886462F8C6AB1743EDF1787CC25B04F6BF04FE1D5B6F6FEF7E4C9CEF6EDEFA03922389338F1EDDBF4919EEB22EBBA5DCD0C6C762313F5DB5EE2D017803E3A425037E775C910000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (154,1,'Switch_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000001E08060000006AA49DC10000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009F44944415458C3CD58097054F519FFF63EB2B937D70636B78484802412CC104CC0944211B0D2801C415070180A086552079563E494A9E8581DA6963A431B9912A39456ED0805524827108848D2403627E4DEFBDEB7BBEFEAF71E59D890044190FA32FFBCB7EFFFF6FF7EBFEFFB7DC77F052CCBC2C31E023C743A5D02CB0A8B3C22F8D7E4F474233CA643F030048C46A38A20FCBF22297205AE5244D19490C27F24497D43D37405E9759F282828207E6A04C456AB6316822EA3197A3E45514A1C80C001B1DF3AE3672FE185AB4D4D3E86626A2452D9E1535F4B3EABAC2CA5FF6F044892CC27296A39027C1101C604830D80A7F16CB5D9A0F15A33F8FC7E9049A560309941A99083D96A7326C4AA8FEB0D8663BBB7BDF1F5E322908663194531CB6986CA18C9D2DC40B9404F5F3FB4B77782402C02D24F82C3E100954AC513100A0580E4C166754058980A9C2E57BF5A1D7DB4A7B7BFE2D0BBFBBE7BD404D43816E1588EA380BB310CF4A0B5FD08B4ADB313060C46904B656041EBD3382793C9C088C0E5721938EC4EF09124286452B03B5D209188C1E67072810F84DBC34645455E35596CA7264D7D72F78665CB1C3F9840775FDFACB11ACD7ABC9C8D431278809BA7E85BC0E941226E0F012D6DEDE072B941229580C168E2413338E7409032B91C4C463388C462601906DC840744420EB81DA448C0E174E36721783C6E604080DF63F05901E9F3FAAFC6C7C57E403A2D55070F1E241E88C06BAF6F3F9993354EB26249E914A9541A328400822707E5A343E06EB79B978DC96285F0B0509E881F352F1209D1F21608095182CB4DE0F3240264C0E97023412958ED4840CC11F0E0C234787D241201F0F8BC182F72F01004889118E1F37A626362FF6E361AFE71F4933F1CBD2F029BB76EAF168BC5451289C850525CD431F399C2A9DC3C8D16A487689F829B5D3DE045C066B319588110FC3E1F38D1F2A1A14A305BEC280FC0202681E00021603BC6831CBD62B3D9311E8448CECDBFD3E3F18014A54778BDE807E03DCC000B0CCBF0D7196929F8BCA80DDF5B41FAA88A03BBDE6A1F95C096B776564BC492A2DCB0F3502D1C07F13EAD79F6CC22595EEE64D548C18B59099C0844D7DA06F83DDE1B32941327214E724264C15D2B30037199899393C3CE1110A1C75CE82D1112F4F2CF8AD0083ED2CFDFE3BC302E3D8D97E4F04C47D762FAAE60DDCCB10F3FDC6BBE4D60C68C19E2BC6933CEB9DCAE8248B6054E67DF805F3A5F011946023A807861DE3C496C6C8C38100BB7023940840293D98259A80FBC5E0E10C383E002D862B18114A56341726204C7599E0B5E2EC5BADD1E042941EFB840A95480C56A83CC8C745E92C1DEBE9338EE10512AE5546CB47AFF960D6BB7719E134E9C38513DF317F3AB3B3A6F8ED7E95A202D27118AF29E8502F539F8D21D03D1743A13A588F43D37E7E7721146DB1022419EE9EAE9E563A17F40CF1330184C18E45204EEE26389467236F4820A010FE05C28A654BDDE0419A9C9101F1F37E29AC1E005F8A71D9308899A7818D01BAAD6AD5E592A282E2E1663506AA797CCFEC668B6A62B427498AB494C8B252074E8A0214B0FC99E0990A39A02A4D745C5C5C651F9F9F972EAAEB808BC8C0B6E335AFC66773797EF79D0029488C16884C88870F4941EC24255D08B1E4BD468202D2589FF4EB085875A1CD76468888A8880319A044CC3123E8E068CA663BF7EE5A517390F08F2F2F21449696953D23232F7496450D067A887F8E87CF8E26F5F414C5C04CC7DEE6790A81E0329D4677046F5248C71A6F8D06A82C4C4B1D2404D08D4873B3182E9D64B40FD950608512AA16F600042E44A7CB181974956E613284F7618D860EB73C983CB5EB1EA183E9638E0816134198FAE5BBD6AD9ED20E6E2002D1199993369615272EA36A944AAB9FCDF7F42B2D6857A4D028D7A3228FDD7A12AE5329447ECC5EC22028BD9446465664AE5728568A4D62270DDDDDBCB4B86F348CEF871204000F7AAEADC1993112A21145372085FC903C045836783D152B1FED59565432A31D716A3A4640CC324144C2F2E1FA3D5AE6AEDA89183200CAC660A2E5EAA87BC824C583A7F1984492C28B12BD0A1CC61E44EA52F2D3D4D8E6B0946D6F048E48656F5DB730C85B5428281AA1C063A78E80DC64F37AD5B5336622FB468D1225157575788569B3AE1A982FC3D9AC4B1457597BF15F8E93AB4080D93B25703E53243B8A0133E4AA881BDEA43D8FBD849C2E3A563E3E2E443E26214CF70A0C9A039BE0660FEE7EA06974EEF0017F0A9F76E2FF4F6F47DF4D589AA4DA336739C373036703D71D494A79F9E3369F2533B1C2E7D7273FB49989EFF327C72E4285F988A57E4C2D2A92B20146E80C765835E4F9C57241489E4F210C930EBDF15A801B99098B9B8F42B40902359FB36702CDB849B70B4B736FFFE5CF599F7EAEAEA2CDFDB4E230F216E4A64F8B2F8F92F2CDC90353E7B8D12DBCC43870F61801B4115C24259E9FBC0DA1BC06C6B8423E12DF0B6F63DB6B9B9D92B1089652CC20AAE1DC155DD8FAD840BAB3183596654D083677C3FD9D9DE7AAAF6FCBFDFC10A7E2D3535D55A595949DFF77E8093554747872A29292973CEDC793B3563C7CEAAB9F047A18B30C2CB4B3E804DE55B212E211A121784C26B79BF0505D581843C4C4B2FED1308C50AF27696B955C5AD7607DF1472157B28E8E15EE8EBEEBEF6EDA58B078D46FD590CEABEEAEA6A1F3B08FC8176640159E1A2D1858585338B9E2DD981FBE027D2B010AD59BF19A2D414242749E08DCD7F02A1F124981C5DF0A90A0986ACF737365D67298695618D60B9EE15E52218CDDA8161B35A4D8D57EB8F747776FE15FBAAF6CCCC4C0767F587DE13076485D64C58BC64C9EA698585EB2ED6D784F7184E00E191C29B9B2BA0F2F32F806207A02EA31E8E145561BF24863D07DE25BC24ADB817686EF8BC04D172FDDAE9A6862B1FE3BBAEDAED767D5B5B9B9F1D01EC436DEA3959B5B6B686C6C7C767BCB472D59B137272E61E3BFE17F186577F036B376EC1D6BB038A9E4981837B3F06B94C0E3BF7EC27BC14A3B8935D8602C7BD03D37DA3A3A9F14AFD619FCF578D55F78656AB75DF6DF54746205856DC4E0EBD326DD1E2C5DBB3B2B273F6BFFF3B108A6B305885B0756315A8A3A361C7EE7DC33CC00F8C0393BEBFAFA9F1BBE34EBBFD04066C13DE37D6D7D753ECF700143C8ADF8502B242225C31D39495952D9DBF60C1465D7B63F4E75F1E86033BFE0C519111B07DD75E82182410F082DBE574B65C6B3C3FD0DB5B85CB5C40597635343410B80EF3A3FF2E349AAC308586858787A7949797BF5E5252F2BC42A190726DF4B6B7F710849FE209E06E8DBCD1D6DA74B3B3ED044BD367F09966DC095ACE9E3D4B3DB61FB6EE25ABECEC6CECA4A5EADCDCDCFCB56BD76E43EF4CDEBE6B9FC7E9F12AF5FDDD3D9D3ADD694CED2751F69770F3D25B5B5BEBBB5FABFFE804EE96156A3AB1B4B474A1CDE979FEC285FF0C789CCE5A9CAEC696A10D7B1EFB835AFDB111081C5CA78BFBE750948E064718DEEA4389E9830BD24F9A4050A72BEAE9E911614E277F885C463AFE073058EEEEAEC64B560000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (155,1,'Switch_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000002808060000004ECEFCE90000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000F7E4944415468DEDD590B7454F599FFCDFB954C26EFC764F29C3C48788424105E2220EA2A880202828AB4B5D6D2833C94565BB114DAEDAE5DCB5AEB41B1F69C6E5111DCEDE3EC62AB58A8474979872433249399BC93996426994C9279CF9DD9EF7F43203B24012B56DCC9B9E7DEB9735FDFEFFB7EBFEFF7DD08229108BEE88FC9644AA2FBF88B8A8A86708B7D045F1400B5B5B52AB94AB55200E106BAC79DA130170C73DC1F392E74D0E970FC69D1A245A1FF8F0088BA6CB63B235CE4612ECCAD0C87232A8EE340DBE0D75C985F87C39C23C47187C291F0C1391515A7BEF200B85CAE4A0AEC112E1C7988D6A957828D0A7CE4FBC876B7CD86F33575100A85CE92E2C25FD7D419FFBCF7073B3FFCCA00E0F7FBF33996692EC4B25D7825483ED031DB63820F853834599A517FA911B1312AA4A7A5A2B1C9028FC78382FC3CB47775B50BC291A35533E7EC5ABE7C91E3560420391C0EAFA38028F0F09CC9323CB60ABC5E2F8C0D26B4B675409B910E895442DF1BA1902B90A5CB84A9C98CFE01178AF4F9E8EBEF4743933932BBA2FC6497D5F661D8ED7C65DFBE7DFD5F26004A5AEEA7E5115AEEA2A0C4E3051E1E277027055567BC84C1C1216467656260601096965664A4A7213636060663235140809CEC2C34B7B4C1DAD383427D1EDC1E1F5A5ADB909DAD83C73DEC730DBA2F4E2B2DD9FB87C307FF7CFCF8F1D03F0200112D4B2F07FD002D31A33F8C57DAD1E5DFD56D655984502044465A1A5A3B3A607738909B934D3408A1A1B1090909F148A4C5407408D279F9B939E8EAEAE62B203F278734A207F63E07F4B9B9E8A0FD2E02B1203FA7BFB9B5AD765659D9CE67B66E3EFB450030EB72D0EB68498D3E981D3B91C005434134B7B6A385CA3C213E0E4AA592FABF05A4F6C8A54CDAFBFAD1DED1059D2E1D0202C64881ABA90AD209204681105D272B530B73730BFC81005F1526B3198140103A6D061ACD16C4D035552A25BAAD36E4E564B71245CE2C983F6BC796C71FEFBC29003CB7E79FCF6FFEFA6331BA4C6DC178078799B845099C9704CCD4DC0C47BF13E92929F0FA7D2474ADD0C4C6222D35994AB91DAEA1610A488B7EE7205FDA4C07944A058C8D26A8144A242526A0C1D404994C46E7A4F2FA209188919C94C46B475C9C1A32A9189DDD36E4E874B0F6DA2122EA3011A563230579B917FB06068E09207DE9E0817DB6BF1B80ADCFEE8A8844622E3F37FBD34D1BD64E55299509D7001055FE16CA98542A838D1EAA934A353D3D154A0ACA6269018480569B86F6F691D2CEC9CA82CF4700D139A92949904A247C17484C48805AAD42BDA111711A35D431B13034361200C91020C283A8A72E61EDB1F15A934DD7A9371AA982D4488C8FA70458904DD5E30F04836EB7A77EDAD429BBBB3531EFBFFEC413C1CF04C0F6EFFF900010412A26FF2694B8AA66951BEEBDF38E2A11DB19CDFF3114F0FB03E875D8F97265DC8F53C7D21207734B33B8509817409BAD17649290A5A50725102C54095469FC7D2F51F6D3A87A2462112E1120199459A615ADED1DC8CFCBE5B581D1A28004B2AEBE810097D0B9197C75A4A7B2F3C4743D02292F871758DE6C715C1F170ABD1BE004077FB6E7B9EA1B02E0E9E77F141153AC4B7417506F4F854394014558D177FBFC3982850BE6254C666EE886044000816008672ED4805D8751C0DCDC86A1E161E2772681E4400F554A0E69827BD8CD77040648880B5155B4225B9781E1611FDABA3A28985C58A9E407E9DC29857AEA268DFCBD5897603E42A3A6EC6B343010782CFB79B9D988F0153AAE385BC895BEC585B8832FBFB8B7695C00040281E8995D7B42ECC167259D47A35F8C437967B1CEF2144422216532E85D75DF320929B978B20E30BA6D77F4F399CD484BE133E9F67879FEF6DA1D5409569E0E6EB79BFF8DB53BD62A9948129FD14DED90B5CC92E2025E275CAE214C9F3A85CFB8582C21D032504B1448218A944C29249AE0BA5EE46AD2C2A7950AE93BFFF6E3DDFF7E0580C58B178BED76BB7AF983EBFBACD47E2E5DBA84D43C35ECB39BF180EF1B904BC24894DAD01FCA89484442DFEA952B640A854278BD9BB20E6036B740AE90F3E2C77C416E4E16FA1C7D14642F720904A60D9DD4369913643AE2A0D637A5A888B4A515367B0FA69794C264B1F0342B24A3C47C858A04B47CC63402437CDD967C990EFC7E162BD3249D561B5ABFFA01090F005B4A4B4B5572B9BCF0AE15ABCF757559F1B753A72096485156968B1953AB102371E3F6A4FFC1AB9112E85C058889A8B9E484F8C09D4B972822E1C8951B862EDF283C4E8B745246BBAC56B47776212F3B9B82EDE5DB59417E3EEF1198092A292AE4C160BE61DA9429E8A0ED5EBB1D538B8BA99A4C74DD086657CE2491555CB967F83A33C7E87E0D75126A9D7CF721CA716B1F58211E0540585656A696482433088013BD941D7B7F1DA1ED23210C43255F8E0095AF56548323653D28E89E810AD9029EE31E8F3BC0F839A5B8583AEE0C10F5604CD83C648B3FA93E4DC2A8A56C0F50C05D282E2C80832863A25E4F83115FFECDEDED28A56D669FFBA8C5CEABAA40BC267ECCF5AF7F3FB630C1CCCCD0D2B96ADE7F30E719A4A1E4A155F75F014040B3B98C0692F4CA79B7EF494A4D59E7F3F64A7C81B31050374889BF17FFF5BBA3244E6EE4DE9E8C994533A18F2D41A682CC8BDF83415915865C03BECACA7271427C7C943E4C6C97996962FB86C8231888DB85FA5C0449408DE4128B48E858D02CF8CAF23252F654DCC8B035F6187E70217F919898489E410801052E14B0EE2664005CA500E30509A040AFD74B89061A7D51D1ACE292192FC42726CC6A693750A6A6E2BDF7FE131C61A5D78BE97B01A615DD069DE41CC4816EBC90DC800DCEEF20519E14F17A867D15151572AA0EC1A4FA70793F3D082F7CE43171EADC05EA029908522B65204C2B2DE64B76A220C313649DED57C690B9226FC104732468010120E4B7D99A63003CB85212DD05046BD6AC111A8D4605D121A972CEBC5579FAA29D3131AAB4333567919E61E40BC6E98CC7AC69AB71FA4C357253457867DEEFF1B8ED7BC84B2A00B30B3E9F374465152A2E2E924797E344651B0C069989C1F18F3FA1AC25A2886885496CF7445520221FA121FF2193492F072BE0E791D1350F04AD69840F6E58B34A3AEE30C480A02C8AA9A7C724242464CEB96DD1569D2EEB617F60406E6E3B46D6578DB915CBF0D22F7EC91F5FB6A0182B162F8726261E1A5127A4EEB3188C5F07679FD34F1656909C9C7C8D3E846FA08D4E5C41D71E17A13FA55C0EAA60F6FC570215460130BA6600FCE1BD7715870F1FE6261C87E94242D20629F56A4D7676F68C8AAAF93F48CFC858E0F17805ACFDBCBCFF00B2721464404250CA4AB1F8B6FBA10C3621C97B147B922258E8FB27CCD4CC4677678737352D5D4A3E5F74236F8AAE3D66E2E3189042F2286C86982CE3D140300AFCECA77B35B5B5B59E49DF078CA5059577F2DC050BEF9D5951B9332E2E2EBBFACC31F2ED3554BA62F83CB9985FB512BFFBE37F233F258C8B773563AE7F31EE485D4EB41020140884C9CEFA53D2D2E5ECB2939676D4FEF0440045A8E4E94F20BA2A6E930170654DE4B2DB7B8FFEE657071EA9A9A971DDD01BA1515AD02013AB56ABB5772FBBEF5B45C553361177557F3BFF0E5D32098BE6DF87E777FF983FBE689A1E5FFBC63A64C665432AF443DDBE0BCE8217E11DF0051D760717A78997DF48698F97F56068A49D52CC97CBFDAAB85D01226A3D0280801930CBB9D3A75E6E30D6BD4F55D3555D5DEDFB4CAFC4182DE6CE9D2B237DD068B5DA92BBEF59FE6C4E7EDE12E2A0D0EFF563F74F5F429E5E8AACAC10C4822C3CB2661B224117923BB6E160DE7238079DF8B6EE69B4B5B6FA863D1E9154A690DC987D1D09DA4D1E8255C435010AFEAFCA4703E171BB5D86BA0B6F9FAEAE3E443A61A150FA29783FC51EFECC2F45C7D242A954A6CC9E3D67C982C58BBE9B96925670E2E451F8027F25A72586D79D866F6E7C1E6F1D3A0269A813DC32351C611B9ECFFB57BE5B2034143134B4FB02E1B08CAE2A8C0E7C5428D9A03438E486D7E71D312DD1DC9E0008F69D400B369B4D7FF9F4938FDF08F9FD063ADD1A1B1BEB3E71E20417B91CF8DFFD56980141165A429488A18AD0AE7A70ED63B3AA663F2E1449E2DE3FF61A393E319EDCB4139BB73E4356B70FEAB8386CF9FE462C2A5DCC0320366E416FDCA31026EA39B3A125101188142CCB63B3CEA6C8FE8101FE3DC4449CBE46E54700887476B61BCF9E3CF9ABFE7E47B5DFEF6F1D1E1E76B5B6B60658D66FCA6BF1685A903EC453CB2B7CE8E1479F9E36B5F41EFA41C4DAD2B7B7EE84481642696908722987ED4FBEC50320A8790C66D54A6C16EDC5C725F5B0F7DA0335F58608C52E737B3CB0DA6C9140302898AC9D8D0784CBD9DF7BF1FCD9773BDA5A8FD2E399C8E1F6969494788F1C39128E8C13EC4DF9C708AB066A9922ABD5AA88898949A9ACAC9CBF62E5AAEFE6E4E494BE7FEC03389C87F8917A704882679F7A9B7F0768369C82263F0EDB155B503BB59B263C250FCCEB6FFEDAD3D1DDAB14D2F6F5FAF9D8DF29015E93D1F051FDC5F3EFD275EAA96A3A69DFA0C16008462609F2A6FE6B8CA58B682156A954B154CEDA75EBD7AF5DB2E48E27C94D26FEC7E17DE8E96BC34F9EFB0D3E38F617FCE4C59F831C27EEF9FA7CECDEF802DFCB1900FB0FBCE96DB7F628C6E5763420B49F2A9AEB6869AEADB970F6EDA0DF7F96F65928F8BE73E7CE3191E36EC6FF053E172D341A8DFE9B4F3CF1D49C3973EF730DB9A55A1A6CFEF4E147F8979FBF026D96926C2F87AAB2F5D8B0E66B7CB0AFBEFE86B7BD7B0200C6AE4911ED3D3D9D7535E77E3F38E0FC2B816724AE77D3DA4DC187223718D817F6DFE1515A78BD5E25F98594F2F2F2D98F6EDCF874494969399B040FFC7617B2747D440B1952131762E7961FF1E7BDFADA1BDEB66E9B62E2BE2E807B6868E8527DEDF1EE8EB60F28E00B94F116527727A9FB3522F7A501301E2D0888CC356B1E5AB166EDEACDE9E9E9696FFEF61730B57C045DFA027C6FEB0FF9E37FF9DA016F5B1701704D9B13B04931D86631D55A4C0D47E9B9CFD1E10D048055A15078C6B6B65B0A80D16A602B362A4BA5D2780A2A6FFBF6EDDF5ABA74E9EA5088935B68EE9F5D3E630480FD07BC2D5D56C55591E32D5FC4DAD1D66E32D67D14F0FB4FD3BE1AD6DA88620366B339F859B3FE0F07603C5AD0D7D4FCFCFCB26DDBB6ED2060AA842C5AFABCB2FF754F4BA75539CA77575F9FB3A9A1EE1495FD492AF5F3F4BC8D34A0F54C9F3EDD33516BBB6501184B0BBD5E2FA1A12A9602CF5CB66CD9DD9B366DFA0E4D9DBA57F61F186AEEE88A0D78BDBE667383D161B3B277FAE7E9B85AA2501BD17FF0F366FD4B07600C2D84947D198DD709145CEE8E1D3B36399CAE851F7FF2A9A7B3C55C476ED040CF779E78DEC40C0DF5742F9DF3B9B37E4B00104D0BCAAC8A024DA532CFA7DD19B4B8E827332D1D54F243D733345F5900A2699190901043995751C9D39C141EBC5143F39507600C2D58450869AE88DC0C91BBDEE77F01E1FA866211D8A0F10000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (156,1,'Switch_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000003C080600000099D4BFB40000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001C454944415478DAED5C07745CD5B53DD334A31969D49BD5CBA88D7A7137EE0153620C960DD884408C0D3809E5C3A285D82440483E21212410C3070276086003494CA80EC5D8966CF532EABD5B7D54A697BFEF55B5AC6A534C99B5DE1ACDD3BC76F6397BEF73DE930476BB9DBE7F7D7D2FC1850280002FF6FED1471FC9838242AEC08AEB6C365BAF5D48FB6354AA8FF12BDBF7007C49AF83070F8A9292D2D69148B04D28106CB2D96D4E769B8DAC58EC363B7B6FC5E77FD88474202936B6E07B00BEA05763635B8A5044DB11E66B10603F643C0D2FF6E177FBA4CFC34B89D56E3F20B0985E4D4F4F6FFA1E8079BEFAFAFA820D26CB76300A28C61E3B31D3C7033E45E0ED670161EFE9EBCBCACE29D41805C2DF3C7AEFEDB5DF0330CDABBFBFDF1DC7C9B0D8ECDB11F065089E6038A8F649019F35E87C693DDD41790545545D5B4B2141419418A736E9F486A3659515B932BBF991BD7BF70E7E0F00916C50AFBFDC6EB56E471037D8ED3687B14C9F10CC59B37F64BDD56AA3AA9A5ACA2F2A21643EC5A82228363A8A5ADB4F536E7E1175F5F650426C2CC5C544F568CACAB3BAFABAFFFDC4AFF6EEFBAE0120B4582C2B113004DD763582EB326566CF96FD13C0D01B8C545A5641859A52128BC4A48E8DA2A0050BA8B4A2928321918859055048600095E07BD9F9051CD4E484380A0B09AACF3A95574C76FB5FFEF8DB5F7FF06D06208107DD6EBF161413601D09DE8883C1F58F66FA54943275F6F7F669A9A8B48C2AAAAAC9C7CB8BD431912493CAA8A0B88407DFCFDB8712E263C859A1A0DCC2622A2C2E257777374A8E57939BAB0B9DCACDA7829252F2F470A7D4A4047271762E3C9993572A964A7FF5DC938F977F1B0008C4721D16082AC5CD1CD4C9BC3E0D10786F696BA322647B5B7B2785870653942A9CFAB4FD5458A2A1E6D676528585506C4C1419F506CAE53A5047A1C14100434D068381B2F3F2B1AE01DB86F02A30994C94959D4BED9D5D9496144F11212196632773AA4D46D3FB1B2F5EF940464686FE9B04802B96CD2341BF886DCF56B27D304A19773453D3C95482CAB6339BCD5453D740E06E3298CC1415114621C101545BD74845C86283D140D1919114151E464D0028BFA898BABA7B28265245315151D4DCD24C39F985D4D3AB25757424C5C54603AC3642C6F3F3494F4E244F4F4FCA3A95439AF20A6C1349498971545D5D6BA8ACAE6D5A949674BFC0A87B7BCF9E3DB60B11002996CBB06C1B79974EFE827D8CCF6709FAA4ECD7E975545E594D159535A4747626952A8C944A672A2BABA432D08C5C2E47B054E4EFE7CBA9A8003483334690A32938C09F53511E2809CD1B25A8635009C1548A00E74094DDDD5C39F5088402CA44E01B9B5B404F715CBCF35161A772F22918BAB1283D853A511D390545267594EA5FE121C1BFB963F7AEFCAF1B00C14886B3A0678C64FEB42FBBDD3E8B953C735D4F6F2F8257C583120041558587F22CD79456525D6323F9F978F3C0CBE58E54AC29E759EBEEE64671703D4E0A39E8A814825B495E9EEE148FC0BB00345615A5E5950021901211E89EDE3E4E3D0383439C7A02FCFD293BB780F28B35BCC2D29213A8BEB1894E9CCA256F2F0F5E258CE2F20A8B00A6BAC57F81EF4B556555EFBCFACABE935F2900CFBD7CE092ED5B373F2997C962E6BA93B964BFD566A5165C603932197D0185860473E7D2DA761A01AE84B5ECE5C18B8A0827BDDEC805B8A1A1898282FC396518B08E09300B5A18385F0D9A61FCCE74A0B1A905BA1089CA5071DA3A9957C0DD515A623C392B9574323B8FCAABAB293E261A8E2916405551664E2EAF225625B5F54D948FC087435FE2E0B24A4A2BA8AABA8E89BC3D3222EC684E5E918674F4F8A143CF377DE900FCEC9E07F78A44C25B37AC5F5BF983352B978D0EC9660760EAEC3781D3EB1A1AA912172496889835240F5737AAAEABE3B482AF5304049335546DA74FE3E2CBA957ABA54854450416061A7338DA817E8A067D305166A031E7333838C82B202C28904A50252C7B3D3C3C283531813BB0CCEC1CAE0549096A68888A0A615BB3414FE1A141948CEF545454633F451409EA4B8889415595F3CA64FB8C03A065F8391FB10F6155A58E355454D716EBF443FF498E0C7D147A61F97200B8F7C1BD4281708F5028245441E90DDBB6DA22C3C3E266A69FE91B2926AC83BA210A0D0A2676A4CAAA1A00D2002A7142804360313D21C0F5A4C1C5322E8F0C0F0705F950556D0D15030CB1584CB1A8007F7F3FBE6D21AA40E2E080A62B06C2EA8E8EB8986B41084060FD402F9AB42C64B7563B0020E2514101840C464595F2EA4A888BE120339D888E8CA024D0150B3C137B35DC5532C062C9C2DCD4025F3F4A4D8EA7D39DDDF87E01B9C3DE26639F4343BABEF2CA9A3AB8AF5FECFBE36FDFFD4201B8FDDE87F622F81C80E14560F7F5F6C9BCE9FAAD612E4AA5EFCCFC3F3DF737B5B4C09B1720681EDC224A11C48AAA2A74B775B83057E84038E77CC6F7953535E4E9EECEB3D6093EBFA4AC8CF3BB379C0C7338229C17A39EFAC6665E116A6843536B0BF7FEAC636681F706B027F199897C1CA827262A825BD93C544E944AC52D6AB1A68CF2A01DB1D09BB4E424244613043B9BEBCDE2B4141A181AE23AE28073651A211008B9DBD2C33CB0EDBDBDBD58A55559EDB603762BFDFDD7BFB8A7E6BC01B8F3FE3D7BE11C3800EC4225422BD9855206860E175A78F50F2F4D9548240E67D0CF2C223C6C4FD194592C3C40397985D4C0041859CDAAC0A0D7731D6074C19C09AB0293D9C4FB0116941064B11A7693D1505EA186BA7B7A78B6468485225B6B281741717474A414045EE124E79C5F57DF080E8FA5487C67B851D370409310B812E84B162C6A7444042D494FA5A6F6363A76E214F621A3A58BD288F1E2F193D95C6316A5A6909393130F7C4757272A468D730C1C4FBC33132DD366B5EE179A456F3CF6D8FDDDE706C0837BF68A04E315708DEA433ADA18495DF6C8E18A20EA5D989A3474C9FAB501D3F2FF74CDD6C8708DD94FB20BA8B3AB0BD450CEB93C1C8162E27ABAA3838ACB2AA81B3E9FB9235619CDADAD3C8016AB054E289AFC16F89206EEA8B0A4049DAE07A71101EC6916AC259B0D25838A82B1AFDCC242504B39C532AA01B570F1852565802E5D94CE81FCF458160FE6F2C5E9A440B51DCB3A495D3DBD3CF07E3E5EBCD25812C483F258B5F16BB6CFDCD7E0DD6CB3DADEC3AFF7F749E99D97F6EC31CC1980BB1ED80B11160100010FF88F63DEA6CCFA407ADD7F807CBA0229C29CC0D75BCDE6A1CB2F59274E888F97DAC6460FD30DD7A63E513DBAD98EEE2EF202DDD422639987375BACB8D0306E1B5997CB684281EC668337171725A711464701FE0B208C3100D340A7C0D73D3D7D68AED4DCD632BBC92A2A26329C5B5246434C90593FB174611A0D825AFE7BF438E9A04DCB172F261F1F4F3A9E798A535A7A4A122A2B988B2FDB07A3A77835A33DD1BCBBFA91EAD75AEDF64364B31EF8F3138F7F669F14F0310046DC8E9051102CDC2F78B663D542970FA953E74ACFC75413F50B6863E74F685C1FB0D86DFAAD9B3739787A788A660CFA34A365B68E8D10CAA0072ECE4A7285D031F7C182E60DBD60D652808B6716B4A6BE012E2A98F703DDC852268C3A6CCB6881CD8BB2613FCB2AAB78870CD74295B5B594793287BCA0074B17A6A2E3B6D127C78E533BAA64D99285B0C281E88EF378A053404D4C5F34A83E96F561704AA9898924953ACC29E82C8EE353806935B1C9CDCDF5F5C71EBAFF9E330060C1CFC8C810D6D6D64A97AFBBF861994C7E37C3E5D8F1E3BC270B0970A79A75C56433DA6893F6661E7807B18DC464248B5089835A6DEE2E4AE3A68D57C8C422B160E6EC987E120A31A32258CE219D0E5510810CD571EA6941C0E0C76143872D684E41213F79E6E95D5C5C383F57C1E7338E8F47E06BEB1AE80432DE15BF5B0231158B45F4D9F12CAA07952C4C4B0225457197C3F6130B4A4B4F4DA0EA9A7AD0532EF9827698003B83F76DF36C3067EA87585FC2340B4ECA78EDE64DB2330078F8E18785870F1F96592C16B7656B2EDEAB7471D9C10078FB9FFF1A2B15377725A956420C95A91C0057A99632825FA79734579248194062A19865B2393632DCB66CC912E9EC273ABC6EBA496963732B5C4D1E323198BB26D680310723934AF9D841818E381B625E837E82F5078CA379670BD7A290CB3987CBE5323A9E750A6EAB86BB164647C525659CE783E1ED972F5E0440DBE8F3CC2C923BCA691974C00B4E6BA631F9A8A13863EE659F1E08F64257CD6DB204965A6F309C0D405A5A1AACB58333021898BE74E5439E3E3E573300DE7CEB6DFE25B144424EC8A694041FEC2885A011E4223A4D37AB0FD2EF4F5C42AFC6BD432B5B375294433C0747373860B868D912517070B064F6EC9F39AB18C7BFF7D1C7249339F020B34C621E9EB91CE6E3D9FD812638AAAC53CC2E4AC0E1C9E406ADC8841362FE9E4D4E5313E279AFF1D9892CF27077A315087CFFE0007DF2F971B24073562C59C4DDD7FCEF57CC5CDD6EB0D78CE6E43247C6327C010086EB366F729C38F311A4A6A68AA552A99BD1680C4D59BCEC416FDF05572035E9F0FB4748E9E60C073188D2D143BC24A490AE8537772347E120A5290ED3F1F6C5F4F4927D9456BD962E966C1ED3061CCB6EC6C1D6AD5D2555289C84A3193397EC9F7C8156AB95BF1F8783A9ACAC41E0C3411D91D4DCD6CE2D27EC39A5252591371C51369C4F013A5E56EE69F0EEEDA73BE074323970CBC1FB08037D0C01EEECEEE68167D5333CCD3DF31C263D953121FB27DDD59B22FB996E04015057A5722CF06300180D866D9BAF723CA30256AF5E2DEEEBEB7382BFF70700F778FBF8DD201409A919CD5350D00970B304071590D12C2207D10F6868C04025F0E83DB0716C9AF8C1EAFD94D8B69436388E0320A72E32897DC96C3259E53207D3F2A54B591A9C03A78E6795D16842C65AB8453D9695CD6D6972523C773785702D390505DC05B1A669605047473333F95C89797B2538FDB31399BC7216A24A9870B349E97C346A36672740CC7C6106BC3CDC47925070D662301AF5DB32AE924F1661E1AA55AB1C1050A544A1F049494EFFB1EF82053B240E5225F346ED1D9F93D4B107D463274787F534D86FA277DE7D7F4C1FD4099114911C48519EF12307B6D395AE8FD23B2DD007F754DED00D0E0C98D078D963A2A2A5F319594F55FEA8549C530732DE934AE060981BF2809565169265E731707A07405A949A4C7EBEDE74024E88CD8A9833625581449BF178F37D5283C5D005D9CE9C1813FC33834E23EFC380188D06FDB62D579F058060EFDEBD8293274F4A9A9B9BE5E82A5D5D3C3CC2E313536FF7F0F4DA00CE17194D3DA4A9C84797BA94F4E0CFC30C00EC50265740D064E82A63410D0836B24068D3D156DFFFA543956BE995B0428AE949A1154EEB39383D3D5D860475ACD8DDDD533C6BD0A728EFB1DB9C5858B7CC2CA4A7BB07C4D9814F389910A780F3596397035BCA06748C8E16C1D9E0C2E85C1DDA74DB316D62C22D73904E99F1ACCA467F1672008C3A00A098B2116395003D1099CD6607B4DF0A50B8872A2A7651943AFE6EA58B523D4A2FCD2DADF0D359141A26A2407F1DDC8609D6514489D1B70EEFC7662035BD42950371F427157444EB4EB74A1F18A32704CFDEDFDF67484E4C92819B057312B7596E73B27B04060836BB8FC08678D9B9F9B0943EB418FEDF15A23CD576E31A34FFE3B1EB708331616E6CCAC04F08FAC4CFA0D1A1ED5BAF769AB6131E69C8046AB55A0C10985D524204BDD2162DCB0855A976CA64320F4629D5B5792453E441906D68DD1D712144A971B732AAA1436FFF9B5BAE8529B17424E92D72D6BBD16E970739154D6CE2F43A9DC56EB358A26362645307C73EA9B199DD89B0475778633532903B17AD99891A59B89C6073919F93787E9C6A84677C3E1B801F5D9BE13CDA114F7B4B72B4390325B1C19BA3C96402E02E814B56ACDAEDE7EFBF5124124B2C56139557BF470AA72E889E849624DF42FD00E04F7FF9EBD87E42558114BF368C5604AF1D0BBCBB5D43527D21B53B6E2599A3827ABABB4C4A70A8AFAFAF836D1E4F4ECCB56AA6732FF3CD7E096C2E0B3EB3E1B365FA740B03E086EB325CF84809AF19EF098F56C3282D411B9C0084874A159D94BA78F1FFB87B78A4B080F6F6D7A2D3ACA52D1B2FE5003CF5F4B37C7B214E54EEEC42EBD744D1B28597D1E884D5D5944DA9B297E9AD8EFB28DB2B97D68B36925C2AA7B69616FD027F7F0794B568EAE0CCE59EF339F8F759B6637331D600B27B1367055E3845A0697A1D800B1A7AF9B9673D3FFDF45313626F9BD35311A37322D0920814E488402A71625E4B56ACBC2C561D779B5CE1E43B4C2F02EAEF1FA03F3FF7226FDC92128DE4E1A6279345440B3C2F81E74EE720380E7E4E8B9D5E0300F7D21DE137D196969D74CD829BF8F6168BD9D6D6D6660C0A0A96B1E3CEF5012EDB84EE74EAEC9F5FD58CCE7750E9BC87984C3542817012F5CCBE08470078F2F147033D3C3C060082755E8FA5B080C0AE8AA0E412E8821C8BAB5C2EF75FFB830D3B42C223321C2412991D07F9F0C8118A8C3E857293400BACD4D7EF487E5E97923A3A953EF8F0BFE428939197B09C7CE22EA63B826FA02DF537D3B6E09D676844BF566BEED36AADA025D9B93C7171BE55335AC1C273A099B3A9691CA4DEDEDE4FFEEFD93F6F059368351A8D79DE0F664DA62574D0CE688EDC43C2C3D5AB56AFBBDDD7CF6F19E3C85E2DB3ADAFC1A60D00750905FA6EA0B898747AE16FFBD1A916F37D45448492C30F07C8DF1A48D7C7EF1C0BBE427F92B4166F927B44514B4BB31155207476564AE692FDF6793CF63855E0AD23992F388FC04FF57DDDD0507B4951C13399C73F7F1B09DC724E15309548E7E7E78B21CE32464BA808EF25CB56AC4E5FB4E4672EAE2E412CA34BCA0AA8B9FD0805F95FC947BE2FBCBC9FF20B8AC6F6939898403FBF6507BFEDC735027D845BD73EB2F616D280FA19D25BF4E42A71B35757571A1CE54E5291582C3C77EE9FBE6A58576D3159F87DEB79D18C70E6C05B4C667D4579E9BB9F1CF9F0557CAEC535B6414BB5F3D280F9D0129BA842ACFCAED874D576B53A6E9B542653F059B9C5CA3DF30B7F3BC01F0171843847A8C4F0EA469222E85B37FD6EAC02644D4F120D965173DC2374EB6006DDA7FB2DAD0A5E477ABDDE5A555D6D72767175B49F572375E69C496F30F0A1DC8CC23AA76C1F078AB99CA68686ECA31F7FBC5FABED29C5BA56C4A1DBD9D97910C137CFC9059D0B2DA17993421758A3E1E1E3E31379F99557ED0E09095D8DCCC64B44FFF9E0236AEBC9A590402D3A533399CD426A3FADA09DD73F313C49D541B4DBFE4BBDF51F9078E59DB443B29176D5DE473726DECA03C3EE4C75749E36373535DB64A88819B37F9631023B160BFEC835CC996A66FB5E7777677DEEC9CC7FD4D5D46461D74D1289A403D7D6DFD7D76704EF5B869F6598A50FF8A26809AB7C9253172E5DB36EDD4FBDBCBC548C962A6BCAA8BEE965943BE35C08539F8C6EB961188007F63CC26EF090422EA3F5D7AEA0873D7F4E379DBE837E927CDBF8A4D5D0420279205557551B7AB45A149C443C9F3FF860B742FB0706716CCB483067A79AB980A3D7E9B5C50579870BF2B2DFC7E70684A40D09D98BEBD661311F3C78D036ED2DC92FF469AF09B404B557A0CCDD1038DFAB323236A72F5C748342E1E4C202F9F989D7A8BE358F24223BDD78EDD33CB8F7DCFF4BAA6F6CE4FB61627EC5B5AB2936219256C58C377292AA07A8B5DB4A0117FD8151883DBFA0C0A0379AD930463855F68FCE8FD8530EDDBDBD64329ACE4350CF06C96AB39A6B2A2B8E9F3CFEF99B389F6AC4B419EBBB743ADD206CBB313737D73A31EBBF7400A6A2259C88335679A03242B76DFFD1AEE8D8D88B91BA629DCE406F1E7E8F7E72FD561EDCBBEF7F88EA1B1A7956CA9D9514132BA294B88B68CB953FA2D107052CC577D0406F3B49D7BC40BF6F7E986E73BF9B5C451ED69CDC7C93C56E779CFCB0B0D962A19E9E5EFE48244D12CEE91AA839EA80BDA5B9B13CE7C489377B7BBB99B368C4F1DA717CEDE0E0A03E3939D93255D67F25004C474B58E582CCF68E8B4B4CDBB869D3EEC0A080B889F3A1BBEE7D88BAFB0729345C4CC10183B0B166508698EEDCF5EAD8777A4FEC22FD600F09563F491777A7D28DBDB7D32FD31FE3BF6B686834156B4A0992CAC71A2CF0ECC90B14C48C593C5FCBA9D5F67514649F3ADCD4509789ACAFC7B15B70BC6EBC0F41684DCC62DAE710DCAFECAF24476969606080CD965813E786557E576DDE7CD9EA356B6F727171F56459F7DE914FA9AAEE1085046921D02270B5948674627AF0CEFDBC51ABA8AC826B329326F3EF14B1F13ACAD0AFA1EB5B7F4ABFBEE8775CA04733F7E34F3ED31FF9EC9844ECE020FEA2A886CF720C065D4569C9514D51C187B88E5AC4AF0985DC819FFB91F586C9227BC10030132DE13D64C7CDBB6E4C494DBD1C8D9D031BF2BDFAE653A08E325088800686A4B4E77F5EE619FEF45F9FA777DFFF88CCF0ED3FCC584F45F19F92CA124D8FADFDC370858886E74D9AD232F381836F4BCEC7CD4C5C7022D686FA9A22B89B7761B52B90400DCC5A22F8BDA8685D4040806936BAF9DA01988A969C9C9C1CF1D10517E21D151B1BBF7DDBB65B232254694C801B9A5AA00FBFA3861621EDFBFDB3C3003CBB8FDE7873FC698DE8A8487AF4D17B49151479C6280334643EF0C65B530230277EA761AD602075B4B73516E6657FD0D3D555887DD7816A98C8762289066613D90B12800940B05BA1C2515A62230D5CA0DFC68D1BD75CB1F1CA1DB06E0B5830D903B48B529279609F62001CFA27A1232685D28D12122C249749E897773F4FEE6E5E6333FA628DC6BCFF8DF10A983EDB69DACA181C1CD09614E41F6D6D6A607EBE96653D1626B27D680A757311D90B1A8089B4C46E000100292AC209E7E48576DD7FE7AE5DDB56ACB8E82A34768EA399FDC453CFD0C7274E913AD64C010B06D0C10AD04F08E8868C7D14A58A1AED42A9B844637E0515702ECD95D96436D55495175496161FC5B9305BC9B3DE6C3633911D74777737426459E0CFFB6FCA2EA8FF9632999640433EC16161D1B7ECBC65676252C252B14824608F22FEF5853D2476282214016921D256AB906EDEF6178A8E1CFFA31E0EC0EB6F4AE613784623CD8DF5B565C505470D7A7D05CB7AD6502146EDF8598B97A1BABADA7CAE7473410330152D21EB1400C11D65EFBB61C386E5DBB66FDF11101018C22AA1ACAA945E79ED5152287A100D01DD78CD330020F60C005E7E6D220034A30EF4767575956B0A33C1F31A6C5E33C2F5E7642DBFD1004CA625575757293A4AE696605385FEBB77EFDE7CE9A5976528954A6706C4BFDF3B402FBEF6013DF9F023FC49B98900FCEDB54392D99C8F41AFD357969514B4363614607F8CE7D93FFD6800F06C7EA33D176BF98D0760322D6567674B90818E080AA7253F3FBF883BEFBAEBA6654B97AE944824228BD5CAC7C85289E40C005EFAC7C16945D86AB15A9AEAAB6B6A2BCB7390E5F55878D6636905083D0E0E0E43E76A2DBF35004CAC86C9B484757ECB972F4FBFEDB6DB76A854AAC8C9DB1531005E7D630A1126FBE9B6D6F6AAB2927C834EC7E6F32CE3D9D2383AB584BD349C8FB5FC560130132D21605E00C47FC78E1D976DD9B2E55A37BCC62A40536A7AF1C0EB0E13833FA0D5F657579468B43DDD958C66B0AE868D11584365341A7B669A5A7EE701988E96F0D1154D9C0F1BF2DD77DF7DD7A352D6813E24E8030C2F1C789DDDD82793D1686AACADAC6E6F6E2A67A3031A1E21D48EFCDC896DFB515DC6AF2AEBBFD1004C454BF0E7ECC1624E4B0909098977DD75D74F846271F0B32FEE979F6E6EAA6FA8A9A8189952324BC9B89E653D9FD57B7878E8BFEAACFFC603301D2DC1B12891FD9C9656AE5A75514E6EBE4C37D8CF9AA5215C670BBE5ECF66F500A013943300D04C2CEBBF8886EA3B09C0645AEAECEC9460912B140A17F68000EBA8F16BF624B20E41EF40A7CDA6967D6C568F868A59CBAF25EBBF75004CAC063669C53BF3A36CE4ED34F2B319CE89FD1F39DD97D5507DE701980A08D09178686848888AB0994C26CBD721B2DF390026033161D50515F8D1D7FF034558AFEE92BF05B50000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (157,1,'UPS_(128)',decode('89504E470D0A1A0A0000000D49484452000000630000008008060000001FEBD7B90000000473424954080808087C086488000000097048597300000AAB00000AAB017DAA48330000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000025D94944415478DAED7D09B41C559DF7FFD6D2D5DD6F4FF2923C1292978D1042102428F2CD9820A83832E800239FF37D306E30EA0CE7A830701C57CE1198610ECCC8721C18461D195194414045104C9C0F0505224109D9F35EF6E5E5EDAFF7AEBADFFFDEDA6E6DDD55D52F8B1EEBA5D2D555D5D5B7FFBFFBFFFD97BB114A29FC713B3936E98F22F823187FDC4236E50FED072D5BB64CD375756E3E9F994372ED5D2A485D20934E42E52E90481750E8A212E9300C20400DCA37C3E46A831AFC948157D87B7E9E1A1583C284A1D727C080099DD427281E5330F0D518A395C903FBF6ED1B634F69B5ECE4F7D1661042A4B75CF0AEB55A9BB69648F25B884167E2CFE844F1755142BAF19C06A6ACF114E592E5720DD94D79479C177723789E03C62E18FA1405328ADFB8176F1CC02B8300F541BD5219948CE2A6818181437F50609CFBB6352B3ABBBA2F52156D0DD6F0B72B4A66B62D4803ABB9A1EBC0C58EFFEC2ADA4890D30508568CC605A7062A9C7E008F06F1FE013CB15BAF4D8EEEDEBEF9AEDF1B30CE3CF38219B3E7CFB958CD686B24495EABA899157679D9AED7EB08820E3AE55207BC87D5D244820C15BC110588C141E7F2A2048C1472A37A750F96794222526EE71B2F2D3D696D06A39E3517BD774D5B47C71A4956D62C3D73F95B2549C9D902D275036AB5AA450FA6F065052D8220302624E779FC2EF10BECDAE73BEFBFDF39A076C5E6B684BDC522F2F3EC2FEA39211050A35EDB46A92ECB6A6EA92CA3E6EAB55D279D017FEB9F5E7C5AEFAC5917299AB6E6F2AB3EBC46C96873C51A59AB56A08E1AC07F3C3A7EAAAA0215E9C7AA9D41414600629D6C0688A9013AAF040C00197743F83EF766DA889EAA28F4AD78D42329DAF293CE9B3AEBAC3FEDE95BD877517B5B7E8DA4A86B962E5B7E26AB6FB6F075E4FD72B1E8FC68056BBE96CD79856FD0E635DBADD8D180F864C928CFA89B768748125E57804A2E6D853E275C0FC669BD32886A7B2A82B0EAA4716D19F5BCFD1D7FF6271DDDDD6B90F3D7AC387BE5DB5435939724E208B7582A40BD5A33EF47EAC9E6F3FC577B38BD89204335813401C4428C691FE536073580699EA099F19FC314A176089D882344564E93D4DC9B4E8A38E39CF3D72CEB9D3DFB1D8A925DFBBE0F7CF8ED192D7B8A841E07410098E7C10CEF64B1604A137F1DABF9D98E9CD760DA3FB981109813930610F61DD54A99DB024641194DF3785391CFB1CAE32F0BD52B03F8AC32A3220473EE090DFA169D734EF7FC19F32FD4F26D6B9056D62EE85FBE4AC66A660ADFBCA73035891454E780A06640476727AF8986E1E5FE46C20CAB931C90904B6182AC964AA01B3A3FAF66B21ED797DF4F9A3C473881BC8A75AAB20D11CC494A7611914F5004CEA8E7BCB7BDE3FC7CFB8CB5B2AAAC59BEF0ACFF25CB725BAD568132FEE0A989715EE272718AD75C464939A41E15F99F81512997A13835E1D46C4E070E2581152BD81E922969C7E5B404282B0A0715630D7E4C434063A7AA4841D54A85BF57B52CA8A809A2BB1A903309E22E3EDAA07AC9A85576E8069D8D9AB0E284A44356AD5EBD24DF31FFC2A9F1A12BCF3A6FED9BA994E92D94A68094D1C7611C2E314F276328B25C41953550D0B467666F9D1085091DF163A6D03A24DC99615048C44C49309BCC1C77BEA398081E11D42E8220832423973337165F25CBAB612E2E1372B13889C7354E39B66D61A09591069947A4A00D4047015F33AE2AA5716FF5FA70B55ADE8FC5EC27526695748C327A0DC158B2E2AC07D54CDBF26CAEA7BB529C443F39AB62F1CA956A6508A5984314F212773D08546BBA84C2CBA9AA8C3C9C85BACE6A60CD0A96DCDA6D588199E104618675DEE66DC339369C60CBA5138E266282DFCB40AF2366353CAE2358B45EADC860D4B4DEBEF9593308343F57A996A154984437B9666A9FE595B1485DD3725C6BC200D16BD57DD56A699C5265194899B3C8094D144AF94BEA5499572C5739C733CA61B5931D037B6F196676CE4C0B10389605B6690A749030F696ACF23B92C40A83543901651D354AA206C607A38AA24C298A54956505EDAB96C7BAD38DC162D606AA5428C0E4D8B0A559E639459177D631CA34405D4688361F8E350A71698AD744CB9D24B65F492CA1F357F31CBF871CA752372A2FFBC38A82BC8E80C1CCAA5E9F0915DF4D46BD2E131846559E9015A98C41272844CED6D0C72E158ADD956A7D4926DB362D1810811EDD93522B06DC410308884058200071403BC14840F3888069BCA22050737403E6D4AAEC3E9DEF46AD3C064AA61B6A95D6840D1E132516CCFCFA88FB136806096886434DC4A993D34245AD7CDA2CAFB9A749829A9F21F184EDFD2FD6B588DB5BD30C9B921C2048F4971C57D51028332918C4AE68F69E56D8E107CE11490386DF5E38DFED0041ACC2BB5475A2598A387F3431207685329D12D250A0F1AEB96FC46BC4206935C3D50ADB603B9A2182E01C4F73FB084D78AB63C848E3AC6A2818127F80ED25A615B6DFA108A4F153DB0C4F6D7355D9B112E21790E328F9889A6D972995DDB06DA12409026B2C6C8FB849983F4182D7A4346010512B441040F09E88603F48CB026D0D4BEA561D4213DB0E62098AD18808466261FBF5C9774D821668CAD18A800678358334ADF774BA9521A8C5B65650D2DCC58DF0453D063C85B0A3AE39A9AF7406DC356AA2BBE45281AB19C4934615E22BBD0E7ABD6CB5518825A25C6066AF18CA35979A295130AC57426922AC0CF06A7262AA22AE4648224D25147648A0E1B946D26986D75F75A26C225813E2F5AAA80F766AD430E02D212856DBB14F8B6422945969960A71DF7476CF80A19122144BE5A07D73DC53EA302D8D4B53BC4C82CD881068D36BE0A5756F009E220227E0736B45E222AEC174692ADC883321BEF2AB5F341506CF7FC92C432B83222B4070E7995B49E6E7792704764DCDC07B2F7D373CF1E3E79B3A1D4EE011433B24A75211A782A511369006F59FA4F5A6FCC65B34E802977A02241AACD2715982F77FC2BD5EAB411F0AFC829C0AD5BA0E3F2B8EC1B0AE7B05274B411B2450939DA84F62C489CF6634137634480D52A62465D027A4077D5A22B88FAEF30CB60568C548B3A7CD5755B8A6B387EF6CBB7D4482872646A12A0A340AE440141D59AAD08A4EAD44A34D25A984DDC0E2B31723C2B59562598C805634D08C1014FC3541C6135F9A390766CADEF6CA0EA4A17F997D0AAC9BBFC401826D37F5F4C20FE72D820F7674FB54CE575E0A5ECFCF558D58D90131A095AC9DF87729E27C936BE2F3A496682A542B5C103CE9F4C033DC0E06DD28FC77E5DBE10328D4B3B51CECAFD7A086D5FB307A5C4F1726E1BC6C0E2E6DEB0C3C8281B70469EBCBB3E6C24BE512ECAC55AC8E0BD18942B0A84AAC47B1F48309548A008F84C6E311F92612EB5A229A22D169324F60481A24C0ECFB1FEBEB87054841F6F6A3A909388440D85B1DA5F50DA4230D6FCFA0D26AF8C036A48B2ED4986E7CED4430FBF1F30C0CB3A70685282E70292A811167B596E32105C048266CC1A69028A9A6F0A6042BE83D140223D2100DF7DC57460EC327BA67C239A8156C7B336AC2281AE6114387ADD50AE4B146F6A0D0996D285103C60D0AC5BA019368D40BB8D784FE4C54ECD2134869D889426FF1E37853547402520A1B80344C9593D48D4B24CC94438866441480BAFCB0AE3805CF970AF03EA4A27FECED438153C8A1F06758B7E6F1F8FDED5D0D8BF33787F7B9D688068D240F2405AA729D8C1801A0643E53CC4D250702225D7CC72E492D250AC3DD47AFA174136D0D62235EBB1F9D1A87D7AA6518AC55F9FBB479281AD197CA6D7B71BDD038895C3BB5462C9A4A2BEC068E56436722114D0512B31EFA22119E77784A637B35D8B4B907E38BEBB0E62BF82C159FA3E26BCEB21BEDB8B711591066D09B72227CC7D1086A472333CE2C06EB2CC41C0649220D059AE41A89130C26A5296F141812A1B7D8B8C48CFB1DB3FAA062D98C32DA8C49B42763B84FA0CDA850C3F90AC3EE7213083188279FE6361793A65E15773BA93F859E5CD8D1D72CC853057D21094BD180FB2372324DED14CC8BD2589F49E4F0B9BE223E811E98F3C808F71320C28837F1AAF827AC963E42486A6137688332BFA5159BD1288C0F6B748AE7C8B5DA746104854AC1136839F42AB8B70DED06719B6B0921E985DD20A4200DF2214AD328C3FF83448AF2A5D749A456C483C3B619E26F2042BB89C67B81BAC9471A5A75046DF01B7080C676C3BA245934451AA840AC66567F48263441A46C5C0AA3290281EE200DA23E1AB35DDCB619519B8E087CF2C87EC1B5A511C9BE0803DE24DE10EF77521629841D9D9AB2FE9752A64348832834D03E1E720F9DC6D63CD9C3E361AE2D750D759876348937988C0C7F044EC205DAB00936F236E2786DA935C35FA388CF9FF7A4D823F3BECD371D396800A98A45E2A61167BB145A7483D2D0FC90DB65C8A71D7134436857F1D7DE24C28EBC46A061B018AFAB8EDF89252422BD0ED04A1791C3461DFE7DFC28776D599E8A0DADAC53EA8CEB564018F21BE2DADA238BC05737E26A06F1372E251576B4E23860881D0093B7671088F40EC2628F565C5B1657DCD6C066B0EDAA037B9CDC54B3B60CF06806C4B219C46AB86A45D8D19E9AAD7929DA33C2D2500197DB973C0C37E0F134E3779512DC327C187660743E85419E2E089C69C837C647E0B56AC94D79F900A12109657F1A82881D28C2F221C46DCF086BAF20D3D2CE9192A6482320A2F4C157697B7B67C3657F7105140A93502E9BC3CDCA9532BE16A154C2F7E522544AF8BE5CE62D7ADF991CE369109612C9207F6788995E3F50AFF9288904F255628704BF661091BA43030E4B334203AA06962F69CB1F69C1B5F5F69322425C4102B92BFFD6D6DE01ABCF5D05194D05990DEF95CD2161515AC4DAC06BB53A54ABB8A331AF56D95EB5F61A542A55A8E3F58ECEB648AA22BEA42111ED41032E6120186189BC34CDAC019993E968CF084F9D135F61A20A54AEE8B0EEFFBD6A0D1D73879059C3C1CC6E3112B823A3580F10DE4B840147CCF1D91C44898D28E260AAD91CEC1AD80F6C6C5154A01AF0A87C863CCC88BBD95AD292B0935D4B942824E11C1C128724F1A5CC99700CA88A13AC18D1E3F9627544235EF7D5E351F90C79B40B4F22DA325A11B6AF32B444534D0342E2CD969EC04D745F09888379C4AC6B789B82A7AB6A0BC28ECCCF11570353B9B624C233015FF22D995E1C533440ECF4E8ED9C4D3C59023F55D91E61D0F56CDE04DBB099D5E7EDA4EF1D12517D4813D9D313A8195EBBE1A52DF0698BFFE786F70C4926EC80BE04C6574E0B4D91C429F6F839F1690283F83D2A1F2D116F26D8336B51048525157620D14EE2A58712B9B624BA8D2590623F215A41A9E0BE12A11FB02F56884CA7134FF09A56D8910E5013364F9042279135A395B17CA7CEEF83B3569E0ECB962C82EEAE0ED8B27D176CDDB60B5EFACD6B186F249B1093527F60E7D67631D82311A90BE21F5CD9F07737107648744CA6C5B56D1204C6082C4369485114F8DF575E0AEF7FEFBB60FBF66DF0FAEBAFC3AEED6370C61967C09F5F72211C1D1983AFDC712F0CECDE97AC5C1ECDF06673BD9A11E4553BFEF018D814C26E78AD816B2BC59279A8AD489FA3551188DBBE74239C8F91F9273EF17178FCF1C7A1ADAD0D56AD5A85C06C874F7FFAD3F0EA8697E1FEBB6F83B7AE7E53C27A12A205BE3488D7CD249E08DC33BE43F2F6950DCB5335BA16D95F37759C11731C5B12A6BAEA8A4B31F236E0F39FFF3C7CF18B5F84A54BDD892C2FB8E002B8FAEAABE1BEFBEE83BBBFFA55B8F9D31F87ABAFFD0C4C4E1512C43FC44355E208136FAC11927F222143E5226D2869625FC3F94D863459DB44B415CF782F987F0A5CF66717C11D77DC01B7DE7AAB0384FED4D350F9F2ADA6E6A82A7CEA539F82F1F171D8BB67375CF7E10FC676C95C2084F115215A10D61ACD62316FCD961AD6FA34595D73408ED41A188D5BC8E253D65B569F0DEBD7AF87F3CE3B0F4E3DF5547EAEF6DDEF032D9600CA65A8FFF029A0D6D0B01B6FBC111E78E001B8F0ED6F4B64CAC26828D2A30A69C26C55D84D53E8526ACD20CD5DB50401F8E2FE5361D3A64D1C0CDE4EF1ED4740FFE973406B667A9CEED90BD59B3FC78FBBBBBB79B6B6BD2D0FBDB366C40A5588D80A49BCF14398471565C05B6FCB901A5C8369A6A9A62990F0286EE18279B063C70E38EDB4D34CAD78E659C8DC7C0390AC396D94FAC9EBC01818047A74D8A4B5050BE0C08103B064D1C2D881A3D82D27E851F96C8977B0A239B35CAC5A2FA51E3C03D39928244D0D7C3424A36313306BD62C3872E4082C5AB408084B83E32E9DFD2620A7F4016563F7D888266B0CDFD0D010F4F4F4C0F0C8684C3A8DD08210734C427C462AA4DF1BC47CD0AC9935B2D5B341059EB6D9F6E27A53BB06F6C0F2E5CBE18D37DE303D8BCBDF07B507BF09A43D0FD259ABA0FEAD6F8374C60A207366F3EB9393939045AD491A6F34D48208F796D77688392CAC61AD27A173ADF3E600237AC4E9715CCCC42CC0568CB02FBCF04278ECB1C7F8D4DACA7BDE0DD2B2A550FED827A17CE55F013D7808D4BFBD8EDFCBE20FE6EA6EDD3EC0EF8DF50D11811D2110D0187F1D9562089BC410B63D13A961CD4EEA3D4F2327B56F198CA441DF8BBFDE009385325C7CF1C570CF3DF7006435503FFE31C8FEF77720F7C84390F9DCCD20CD33EDCA934F3E091FFAD087E0DE07FE33816B1B52F323698A047A04DAA04509DB88296C77D501F09CE34018A90D384D0F4DC8475961EEB9FF5B70C5155782A66970FDF5D7C3D6AD5B81B2A1BEED6D3CB678F8E187E1F6DB6F875B6EB9057EF4F47AD8B4797B8A0AE24FF547D1947B5EE782859685EDCC546AD8E7BC6B79E8119A71425609D8B7FF207CE12B77C267FEEE63F027870EC0238F3C023B77EEE4D798B1666EEFBFFDDBFDF0FDC79F82FFF8D6F712D92D6FAADCDF8B2F8AA6CCECAD3D4ED0F08D370F1DF013E8784D23CE8B8F7156A33979C060DBE6AD3BE0FABFFF32FC9FBF7C1F5CFDD71F8185A79EC23B1F8C8D4FC096AD3BE1A62FDE0E1B5F7B23D5A221819A1FA1BB7E9AE253C8386B712413B629641A0182F78C914633C4071D8B05688A18753FF0CDEFF0C2691915DA91A60E1F39EA4C469CD6AD0BD2549411F70164D18961D096841D357D3B6D42FDA934834E7F031DEFDC26CE9093AA5C06F565F749687636CA88DB33F788424F276C8192C2E8CD68A93D8306BEE464DCC25D569FE843A7D024CE4F0BB89E3485B023907226B837474749AE29311F96DEB53D0931A1FEE8D74F4724B2FDC7EC2962D89E8FA965D468E425F9969B13BC2767C503C11B335F75284E301A06B272E54AD9494D5A05965AA6257A722114705F43CCB6BF9720112BBBD3892EB8B69F57D83420ECF020D0756BC7478FC2C4F8083B4F4AA592367FFE7C556C7B680C06A511C44903FF9F3C8A14147CA4CDF0D91527AE0813B6D15CD84648246EC719955281E7E3582F4ABC2697CBE576F41EB5FEFE7ED92A1F9112099136C7EDC41B8D60722F4E67008BBB89683722854D83C276023B2318181A7A0D8E0C1D0542CD956D74C39050F69D8661640B858272EEB9E74A89BDA9069313B4BC653219E8EAEC804347865A321A044864CDF7B71307A2706A488E01A761F52FEABC7D898656D2C9B1513E448E80CEBFC7A0F53202D186FB54575717491067D068EB4103CE5E420054B8EAF24BE1DC7356C1A285F3790FF389C929D8B26D27FCE087CFC0AF5E7A3519169446B4B3043B328775B130C004831A34BE97146005EA61F65A650A8AE8B6E77259982C98C9CEE1237BBE87BF952F89373232020848B23883D278463CEEA8EF258B16C067FEEE5A281626E07BDFFD36CF4F552A1598397326AC5EBD1A6EF9874FC153CFFC1CEE7BF0213E2623B1C588A42A12180164BF350C90C3B2AA8D841DC51CBC8A1A351ED8B226808CAAC28451877AB5521C3B72F005A4A9AAA22875B41BFA860D1B8C04DE54549C413D51655CBBC19A506FFBF24DF0B3E79E81BBEEBA0B2EBFFC72F8FAD7BF0EDF7DF861B8F58ABF84CECE4EB8EEBAEBE0CC158BE1C6EBAF4D6537020A421A34303968303020224B2BD807031A240EED7368B4CB253ED3680EC130EA6598D7BF8C562BE56FE2F5897ABD5EC4D74A3E9F37EC584349EA024D87DDF8F847FE0AFEE7E73F87FDFBF7C3D7BEF635A0AFFC06E8A38F43E5D58D90EF68872B3E77339C7FFEF9F0852F7C01EEBDF75E4E63AFFCE6B731AD1A899ECD001ACFA86610FC3335243A794121DC93F4CBA35EE2037FB248C5CC0BC8B4B5C1D8F0A1DDA323433FC5AB63485353084875C78E1DBAFD2029964E507FCD0F6A0A8D39FA9E75E53C6D693FCFD4DE70C30D3C39A83FFB33A8DE7D1FE8CFFFD2B96FDEBC7970CD35D77030AEFF9BBF4EE7DC361C7D1A929FA27C4534A76647A7C485C0CE08C61980F4C4506776826905D03ABAB653D5BD833BBE82F4C41AF727108CF2AC59B3EA9652B41081D3F4F9A915CB97C20B2FBC00EF79CF7B389772412C5E04F25BCFE3ED19E2B676ED5AD8B87123F42F98C77B88C4038244C71A0DF2B77CB1BA98C2F60681E03B875C47280291E340D46B65C8E773307AF4D08FF1DA41AC7C23AAAA72ADD8B469932E8A4F8A6BB9C59A4F05446820386CBC2DEA3F15B66CD9022B56B86B0EAA1FFC006877FD1364EFBE0B484787E7FE850B17F2DE214B97F4B71E5A924828DCDC14341176A82D7183434DD6F922914C2B54454220F23072E4D0E1C3870E3C8A5A719469056EE5BEBE3E8F56C4F6A668581A39242A8FA321337ABAE0E8D1A3D0DBDB0BCF3EFB2CFCF6B73E5BC07A85DC79273FBCE4924BF87DAC87C8AC193DC9D221101DF845B9BF76D6D69F42A71146D26F4B5404A2ADAD1D342DC37B45160BE36C15E7FAC0CE2DFF8C1AC102A8B16AB55A6C6B6BAB310F8AFA72F24A2C3AA234667B477338F6EC3DC8BB74B236EE77BEF39DF08E9A0E3A46A7303C6AE696B379204857EA47AEE1F7339B71EDB5D7C2C0EE6FC748A187A042429B9442830DFF82BBE1863B3C1BCB96E3EC6ACF714A626E6CA55C8076D48ADD3BB7BE80F434883BB31593BAAE970F1F3EAC87094B8AEDD28A069CFA0C7B029BB173700FEFF6CFEC06FFF4C828A8EF7E27D4FFFB07507FEC092E519231E7BE4575E6BBA6656170CFFEB821788AB4BB0BA6DDEC1A6DB821344BDBDDA6F2058473390DD82A9ECC1EEEDFB767ECC0BEDDDFC2EB47711F43ED28767777D74DDC6932309ADA0CF0B7ED36D70EE6A29E7DF639B07BF76ED8BC79B379B2AB13B4FBEFE5BB7AD595CEBDACF7C8473FFA5178FE8597F8C2ED497CA9345D4FC5C6254AA30DB77FE2B18E1C815948A7A6F794831A5BBEB438650CEEDC723FDE3F84B66284ADA4E9776553352ED1B068D459A1D8A7454D42F02343C3F0F0F79F80CF7EF6B370D34D37C13FBEEB12E8FBAFEF02B0C953AC5E2C46A50C0F7DE31B7CFA8AF3CE7B0BFCDF6B3F337D795C126D4D5CE31DFFD91A4AB06F762FE4110896DE615371747675C1F6CD9B7E5728143659608C2318A5AEAEAE3A5214A51183DAA5243623A81DC15824CEF6C48F9F4313318976FA4EB8FDD72FC23F0F1D84A77B67C0CB2B96C1434487EB376EE0792A16F4DD79CF83303A361E3B91496241D238B31B1F640A737BBB50F89D5C2B34B4155934DE833BB71576EED8FC1FACEE2110A368CC0B61AE6C22CD884C7C505F4F89849D16982FFEA5DBEE82F7BFF7DDF0D5AFDE0D0303BBF8303216539C7EFAE970D9659741A15481BFBDE14BB06DC740C2B4EDF11BE0D9DB9D83B973E7728D60467B72628CF59AA7DBB66E79042F1F66011E82C05DD9458B16E9FBF6ED8BD48A78344523A270EACF4BC58F35787715E4E3479FF809FCE257AFC02A8CCA4F5FB618162C5A063B760EC2BF7EED3F61C3ABBF8352B972EC259A12BBF6AC0CFDFD0BB84630306AD50AF4A0FBFDFCFA7503632343BF66461B0D364B7B1431000C756513834123F23181C04FD09F24BFEFE0A123B0FFE061F8C94FD70BF38618DE6E31275927088CE560F1823EE8EC68E7402848A9D4A8036A4465D3EB1BFFDDA2A7616480C95AAD56C5A0558F534DA57834457D74447D469C7A17A83A516DE1A9414BB6E0E3FCB93DD0774A9F937BAAA2F764A0B7B7E977AF3D83970F59913637DAB367CFAEF923ED546084A53CC2620D7AB2D45E9A2E5F96649BD9A5C1E9CB97094940037ABABBE1D5DFBC72E8F0C1FDEB51E647D00D8FCC3FA5078386196E2F4D856ACC71ABD13EC780A49B5F3AEE273495C099E8F1B1A42503239BD580F5D7DEB279737DE386971E644030AD402022F34FA96D06853063ED0ADD7575E9C9D18D4A2CE731D0D4D317CD83B973E638DE53A138C5272943AD78D1CAC81E69967F3A263415746F1B4CD015D547F5B8B2576BDFB8606E27AC3C7385434F6C41C6193DDDF0E22F5F18D9B573DBD3CC9545404698D166F9277463F5A45F1A8FA6A897A6BC7623E851FDA1198F8EBC0AABDF7CB6D946E1D01381AD5BB6E92FFEF2F987191071F34FADD3944043C1B60CAF4775A2694A5C5E36769FAF268FEDE96CE3EDF62AA7A70C6FDBCE21202FBCF8CBD76BB5CA20DA0927FFC45CD946F9A796688A8A34E44F2587785427D6A92211D2A52DF90A6CB24AA61179A427158F3B3A3B60DDBA9F4F6D7EFDB52799D116F34FFEA6D4E9D30C1A6637A8AFD7A797AA5E7BE57958BCEC0CE89BBFD0EDBB8A3B9B6993EF351D6AF53ADF75D0A759338C906E5EB441D22D9E6EB07565999D60869B75271A1C18A4FFB3FE5906C4909D7F42200A495DD914E990B0C0CED70023DCC37A5AEB7A9D0FE395657337A7496553A212E7985D67F7F2796B6B753E972D0709DFD7D8628A35B6EB7C6EDB4AB59AB84AFB5D6F9A96A3C09C2A8F69868EE563037AD6AFFBD9AEF1F1F1CD69F24F2D80111ED851BF4117EE21408478C41E9265814989D35EC0BC119699D53409B938E3692B70D3DDEE2C372CC2ADD7752857AA085215016220E2319B8C984D408CC75934B06A468B2DE4B8CAC1E7D255156EB87FFCA39F947FF5E22F7EC034224DFE293D18212D797E8FCAA122DFCAB73606F6696AFF39A05057D811A197BB382370619802C958AB23536795E42A52C7E8E8304C40954F2A46C5C501210E6D35B119125B125B82FDFB0FD2679FFBC93A3C359436FF94CA80DB03385CBB217854915465CAD41D8A450510C240A1DE35FF08B1E6EE10E6F000EFC4BF94061396D4BFDA8DAFCF04F5F98434214FB1C776B4B7C3933F7AF2D0FEBD7B375A40A4CA3F25D60C0B08D6319704023B08A1AA10CDB0AF893465EED6807770E7947527DBB2894ECCDF59EB8A09003BDAE67C5E1266DE8C5002DA38F6A0D098A67EFADCBADABA679F798C6905F3A05880A7691A77655B31DA919A41CC8DAF35EB8CAAF1077662AD0FD30C714CB54853147CC37ADD7BC4DA4FFC6B793B334E506799062A2EF1436960DAD4D8D177CC2EAAA5E2A4F183C71E656D1443ADE69F626986AD0D6CE0067A042A229ECBD84B57850476619A41038BE052DF1F71EE23D49A5C825880388BBB07A73615354C4887B99010D1D8BB65126E0C961B020D3591DBCB2FBFB46DE4F0BE97ADE0AEA5FC535330885BA5A43D7BF664F03587AAC9060DC8611E150D8937A8DF6686688463BCC17CE570786A6770324571B0A218B750E18BCD05A582F3EAD2F8BE54E4569C1C1E1B3EB497F52B3A8A65E3F92768D2FF693A688ACC993347C52FCC3220D0659B8DA764BFB71466C445634D2008800731418B44432E529FBF5B0C885AE66B4F719C6BDF0CFF61BDE569C22EF4865E33460FEEE21A61E59F865ACD3FC5A129B274E95219554FC567E73188E9C202CC64C3AA023641A4200ADECE08342C236109950846DBD20E122913E2657C0F4D899A4185D9D72C4A230186F259741AC85D45D995F1A1BDBBAA95C20E0B8C212BD26E29FFD4100CDB852D97CB044160232F336C1426AAA3569E38F82F92AC2E9664A55792941992A274CA72268F05CAE1715665115646D388A4B986DE9ED25AA425515398D0F82B00F52CC6440520FC3D19A9376E1133028EADB2BC294A3C9AE43D0E61A80871568AE35363437B98561CB5F34F289758FD9FA6CDB565C39A10882ABE4E5143DF6E50E330D5AB6D75D418BC9CC5C265B00CAAF55985ADAFAE64B4198AA2B623366DF95CFE14D6A36E74E890ACA8AAA66A996C06FF65736D0A2162AD0E1A6BB79A8343776EB2527012A8B00096302FA11D41523F4D35ECDB4003B465183A1D3EB8EB352BF7E4E49F5853EA74BAB2013018BA4C3BB2D92C1D1E1EAEE5F3F9129E62BDC60CB41D053CCE3110F095197636A082BD66F0238A39F2892A7AADC276B5529A52511699C2F85195ED16604CDB5459567AB45CAE23A366DBD56C36AF69D91C6295CB2058F89A4520F14C1E952D436CFAF27B72E0EBB2EFBEB78CBF671290A06908CE5C4443D3ED93C307F6A3666CB36D859D7F1A1F1FAFB49A7F8AA3199471607F7F3FD30896EBD1B1006C0D3615DFABA8290A7B450F821978BE3320F095095AB68E550B240696669FB3EFD3F5BA529C9ACC14E844C6BAD7798E05988CEFF388480FEEED192D9B673BA293B3C192554553D5AC86C7B26B3F4C5112711EF426D41408505D85A4A8D5D5C2C8BE0DF876F858E49FE2D2141D1C1CD457AE5C5941FB5147404AEDEDED32D6088260A030752993C9B057A44D850120E179BEB3F716601C003C56AD57768EDD6B5F67E76DC06CBA532D20B8A6954BC54CA95850AD7B1CC0D833AC8034A3A8996E04AA03E9AF4DC920584A268FE2C9576BD5DCD4A4AAC8785261F96E2044F4E0FCEA12581916EFAB16473753A37EE858E59F1AA65D849404F1B932BCAE2138A452A930E3CE3446C242F1B1D29D9D9D0C0806144180B8F147AA63D7196032F2AB6C81252358EC331203D202C4018C09DA068C01629DB7A9D003986DA72CAA649FB5B5CCB25FFC19B2E99848ED08482702D38E7B4E96E43C3A221A7AEB59820E0AA0D74189ACB134A06E251CA15E1C2A8E1D7C0A9FB3179FB103CBB503CFEF6743BFD0689798ADA034ED445809C0084B1286F89AFEF72C62E79E18038CBD327018600C20F4C5F97B4BBB2441BB240B3045D02E0E9CA04136608A0F30FB9A0398789FF5CADF0B802A02600EBD9A9EA3DC4D24B50DD04D34F4CA11D0F52D787E37DEB70BF73D58DE23F87BA6502BAAD395F6480446B34C6EE336CFE68031B06C8D6280215892950E97D8B186E68181E5D3309B0E654687CC7E59768CD3A300840D18035A13295104CC06CDD23A0614ABF125464B789E59E87DF8F943C806138B172F2E5BB6E29869456230A619300F2D323A64AF8542816B92AD5D0CB430C0B0C62A16585CCB1848CC31F401C6BD3EDB09B1A95000846955C6D2221E6EE13E81E7584CC1D21F63F8FC12DAD2FAB1D68A6302468B80C5D22E66BFFC80D9368CBDB768D0D1300B209B063D1AC628CED22C06749D7991789DE59EA61838484FB5E94E7B9C54601C2FC098C36181C3016233D8F8016336CCD62A16F022C0F5B6B6B62AEB5C80F144FD7801715283713CEC9708180309C1A0484B068266D851363D8E02FABD05E3180006C1B0E3F80AE7FF032146B34AA6EBB12B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (158,1,'UPS_(24)',decode('89504E470D0A1A0A0000000D4948445200000012000000180806000000F755AD310000000473424954080808087C08648800000009704859730000020000000200017E7ED3E30000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003D149444154388D7D94CD6F155518879FF73D33733F5A5A0AC82D4A11028518501235A23161A9266E8C8DAE74ED4EB7AEFD0F4C5CBB3126C4104DD0C48F1863890AA85117902A180A1A4AF8B2B4A5F7CE9C39735E1733F75230F14C66716692E7FC3ECE396266FCDF38FCE4338FA7CEED0AE65AA10A9D50C576E5435986F21AE697566E5EBDB8BCBC7C5BEE073D72E4C8D6877B3B9F8F81E7507D565CB6AF0C81B22CC9738F2F0ACA10F065C062B96855E85BBEFA5A02B077FFA13997242F773BE38F4E76276706FD42CA2AC6683153B4AAA2B910025534D439C2A0B850951E97766645538AE24E4C0048C7DFEC4C4C1E6D670959ABCDA028C8F392BC2888D1B0AAA89C73B7CC6C75D05F6BB5C7B6CC265917001101200150A7385544957B8C36134D52174DB7236C4F34BD9A6529228220884018814470CEA1AAACADDCE0FAE50B64A6EC03AEEFDA43E195288299E112A595652082348AD6B314AD971454155521FA82D9D5350EF5D7981381FE3ACE2989730038E7C8B2945696D2CA32B22C25831AE4A4868828A68E9383757C34CE1639628688E09206A48E6C086860A40D08B9AB68381211F6A61915D264588312A7B4B2B486B56A2064754682A05ABFBD1D3B997E718EB53CE7D8FA3A2D4D0921E29C6EB09621326C4C4847612BA3160A5FE1BDE7816DDBF8E3C62A6681F1F116AE69565518B5D6044EC65051AD8A664FBCF5C6EB1C54F8F8C2253EFCE85354B4B6EE74D45A2DA65E3C1B2AA2A1357C36B7DB6C51616A72535D2AD420A9DB1B2A323386272CD9B0EF6838BCF7C1710E1FDACF175F7FD774512B12152A8BF8B21A410CC38F14C586D6106FDCFC87CFBE9C27CF8B61A9A8082A420815B92F6B88196BCBD709DE7793BB9CFA0178E5A517383AD9E5FD5F17F8E6E4E93A54ADC30DA1DC9C17013323784F590CFCEF67CFFEAC0066118BC6D0F0C1DD3B690D729E7EE2B1FAC88DCE9510424C8AA2C41781B18E5295FE5DA01A81A20DF5189F7F7B8A4B69C6F1135FD5D66C58AD5045235491AD535D5289D7CE9C9A7FDBCC6C642DC6461570E6B773CC9FFE85BC281AF4BD97DFC4789BD9DD0FC5139F1C9B33B3386A8D2A12636430E83331B999344D00215AC4FBB2866D601D3CB087F3E7CFCD2F2C2C9C1A7E4B6A8E491523657E87DEF43463DD0E3B7AF52EF6BEE4F2E58B34350170F1CFF3CB677E38F9EA500D40323333D371AD09EDAF70DBACECDC595D71A97349BBD326C6485555085A676860A1AC7EFAF1FB779696966E6DB42B565F13DAEBF53ACEB91933EBA5697AA033B6697F96B6675C9A4CFB1076A8A6E3BEACBAF9FAEA5F6AC5538B8B8BF97F40A3C9F0026EA6DC3B746A6AEAC14EA76357AE5CF9FBBE7FFC0BA9AFD6D0A24887680000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (159,1,'UPS_(48)',decode('89504E470D0A1A0A0000000D49484452000000250000003008060000009685B32B0000000473424954080808087C086488000000097048597300000400000004000119239A6B0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009D64944415458C3CD595B8F1C4715FE4E55F5652EEBDDB5633BCEC6B78DED8DE38DE56063611282132982272484FC06124F28120FFC02F80179485EE0012410F08202080102144884431411881DEC38F1C69B5DAF2F6BAFD7BB6B6FF63697EEAA7378E89E9EEEB9D84E78A1A551D7F4CC547DF59DEF7CA7AA864404FF6F97F95F3B181F1FAF5686B7BF605470C00997845DC840E0182133878E39649650D8051C73CD493CEF9817E0E49625B96DA28D79CFC3CCE4E4E452AB4FFAB44C11119D78F6F913E5CAC049ADFD6704F43429BD890570CE8199E19C8373C9DDE6DACE5A5816B073853ED946B7C4361711D7BF75E5CAE4850762EAA91327F63C34BCE38572A5F2CCD7BEF1CD2F2B63763303CC0210E01C03CE4188C0200094FD569C401C03CC205220B401B16B5E11E68636C1188CBFA3691BFDC377ECD8B1B2F286BF5A1D1A7C3A08C32F3DFAC881A7FCD0375A291000168099C1CCB08EF33C269F3B0B173BB038902628521007C0391084D936274538D45E692FF43D34353A3A3A6ECA432F6A6DC683B0BA2B0C3CB3BEB6E2D76AEB2111AD4108224CD639722CC4ECC0ECAC226D15092B52C4C203DAF865A5154408CC0EA43C100822AE611BB58F63E66DCA04071F4CE8C1E6E7602ADF559E0194817504E38508C352A28554134E00CB0ED602D6022236EDC0A1BE76372E952AD78DD16B5A9B266925365E2D35EB358F82CA3645E6B0EAC10C2562ED9D7D4A25542BA5D2367DAA24D0DA78E485BBAC08AC03E0188007C7A805CA2BB7C726E4DB2D505E2F50440452042282520A9F12134004A508CE15335A2905AD5502A000A4B3DD07944A3B26A2742A028100C80DD4CF450850A4E0C04550A4A0B54E86A75C4A5077E80AA0548B2922501A42A264F4C6C65DAC2CDF4D80A65D0A019064963B1EDD85B9F9E51CC384BCFF91A11454028072CCB6582210E07B7DC2977FA5CF9B8D26A62F7D886DC660C15A6C3306DFDFBC0D37ADC52BCB8B786CDFBE941180522DBA1C284D0A46EB8C4DEAD0548EC00E504A6760DA22972C3BBE37F41036698D9FADDCC5C972150D116CD11A2F9407D014CE42A29402290530E745D5A12914F545F7A87D05961401A2B2D9FD7C75195F08CB50000E0721BE5E1D0400CC5B8B0B2C6DA1A7932A0CA2124DE50114F4953EF4EFADA94457D22A0902ACB0C35F6B6B00808FA3267EBFBE0A00B86963701A2A4549A6292AEA4A2955D054DE9BF259D89BA91C304504966C2AC5029AE6642B115BA092044958CE5B03515EE86D4D65ED16695E97A65A80F28C213774FB0A89B0D3F8A82A852B718485967E280596328DD41A944E34D5CB068A19E9F728C839301928C9CD2CBD666D8CAA22344570A1D9C86A6AE6714A15AA8152ADEC2B82EAB2867EE14B20A4824CA97A6C6C0C4F1E1E877516B18DE1228B1FD6D6218D26C2F0104A954DC0AD4FDA1ED74A945CF9D2A92510515F6BE85966909A78DBA7125B58585C85B50ECE5958EB9257DA16690058C93A685583166BCC02457950E8630D7D99A276DC7B143EB96F9D41E67394E9CA65B5AF970DE49FB53CC1F4AA5F6D5AA90BC09387C6B06578087F7FEB1D58EBBA0B72CE525A032BA50BB5AFBFD0FB84AF1DC66EA65EFCF629849E46D9F370F4F001FCF897BFC3ADF9855CE145B6CA48EE6D56DA6586FA5B43CE338B3ED5272C8FEDDD85814A09CF6DDB8E635333D8B56B279E7FE67817CDD491C1ADDAA775C296D1EDB64EDB266DFBBDB75894CE84BA98DAF9E80E1863E0CEBC072885916684816AD819BDAEA29E2CFEBA6B5FBE7FEAB774E925E0FC57DF3DFB3EF6EDDE8EF8E018FC9535BC79ED2A26A6AEA36FEDCCB186B4CC24C69FAECE246DE5EE0FB619CDA1AAD5EB387B610AF1C15194C200576797F0CEBBE770CFA54FFA126658CBEDD2D40227392A4410F50225ED5FF4BCCE9EFB00FF3A731EC20E51946C268A444BD77A8C003827B0CEA5FDE7192A82EBCD94F4AE759DD165EEBF1E6E870DD9929A25D91F4A1B55BAC06EB76B2B77C00D17109132FDC6EE8C73E7AEA7DFC681A85DAE5AEF1D3359CB1D216B035A5FFD04F5F565349BEB43478F1ED51DE1CBA6D053809F3B328E234F8CA212F898B9B988DFFCE13544515CC8BE94A20C1C81E09C9856A83BF5144711221BC1D9A85EABD53EBE7CF9B253DDE1936CFF92BF02DFC7F12307F015CFC3C94B53D83DF2109E7DFA78CFDCA0422105849DB62E11BB752EBD7372068118D5D0471C45AF944AA54FD05EEFB699928CA922ACCF1F7D12BEE76166CB3026477660FFFEFD181B1DE9F2A916907C182D4B1720EB1C08169B0737218EEA330BB7AEFF746666665D4472A0384BBF145C312B666FCCC3F77D3C7E6B018FD71BF05756B1BADEE8E32254782F9C645F022601A4C078E4E16D6017C55313E7BFA3B59E1711D76D09D206D39985D7666F6275BD8EF736D6E097022CDF9EC79B6F9FB987BD65A2028B14329600ECDDB91D816F30F9E1955F4751F4D1D2D252A3CB1238039503D731D84F7EF15B1CD83F8AED5BB7E0F43FFE8C8D7AFD7EFBF89E4F773DB21923233B70696262E1FAD5CB2F0F0D0DDD595C5C64F433CF365B92EAAAD8F1C4A5295CF8F0A3EE654B87BDF52BEC5B062B3872F8092C2D2CB87367DEFE01115D9B9E9E8E0B96933B562B00CA80DDEBEAF179CE51BA2EDFD7F8E2F1C3D85429E183F7CFBF55ABD5DEBC79F3E68A88704F50DCC192F0673C3596FEB0F6ED1EC1E8DEDD989A9A5E3D7FEEDF2F45513427ED03AEDE65A693A5D9AB533838FE14B436C91E8219F56684463342D48C104511ACB56846319C73686D13DB788AC006AA65341B3579EDB53FFE88882696969636EE77644D79409C6A4A24292BBEE7C1F30C0606082EDDE769A50008E2D8A256AB63E1F65C31413AC82A05015E7FFD8D8BCB77EEFC4929B5D819B642F8884889B02F2C59FAB6BE2FC2D9A12B33832801A3D3D33E4E27A174B261E8AAFC3960E7CFFFE7EE1B7FFBCBCBD6DACB376EDC68F6538022221A1B1BAB80DDC39C31C599AF3027FA6266B81C30A2E4845898D36D7BFA3033DDE2519B8DEAF185F3EFBEEA9C3BBB75EBD6E57E2C01803975EA943A7DFAF4401094275C5CFF556CBC9186E70D7B415871CE0EAFDC5D44580AC372A9EA97AA159DDFF94A8B55668808082AB31291BCE881E5DBD72ED8A8F1461004372E5EBC18DFCFDD68CF9E3DC1C6C6C69052AA1C0441C8CC55661E524A5545A42A22034434688CBF332885DB83B0B2D90FFC4D9E1F568D3665D22654A4838DDA7A5819D862ACB588E218CD2846D48C609B6B2BF595F9979452AFCECECE5E6D9593BE4C4962460D22BADDF2BC43870E99E5E565E3FBBED76C368DB5D638E78CEFB3712EF6EA1BEBA1736E90990795520300AA002A2232A0B5D9AE8DBF436BB359941E14A892C41B93CEB97F465174FB7E80EEFBDF0C51CFF3610240FBF6ED334110786B6B6B5E1445C65A6B7CDF37CE39638CF100949C73C300CA44B44E441373737377EFA5A5CFFC87D1038006003A79F2A49A9E9EF62A958A595B5B73737373CD07610900FE0BE7125494E334C5F60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (160,1,'UPS_(64)',decode('89504E470D0A1A0A0000000D4948445200000031000000400806000000B3E29F780000000473424954080808087C08648800000009704859730000055500000555012519CBBD0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000F1D4944415468DED55B598C1CD7753DF7BDDABA7B7A366EC34D22450E458B64A480D41281946831900C07319038CE02C4BFF9887F92EF7C04C887BF12208881C81FF90902C4892C5A90130154EC885A1C39A1968892258EC42167E18C34332467E16CB5BD7BF35155DD55D5D5C319CA3090026AE655574FF7BDEF9E7BCEBDAFDE9088E0FFFB61FD2ABF6C7878D80DC3B04E54EB775DAB576B5D8B44BBB0940B210F801346E1820AEF4C6FDBB6EDDABBEFBE1B6DE673E9971D8953A74ED996DBF8AAD3E87B5A933E238CFB0C9B9A002E443C21E5B2002202C30C360C664EC6E9B561461C87AB109E13604620338A799605330066C0F1AC595F9E9C9C1C7DFF971689471E3B7D6CFBC0F673DA71CEECDC77E434696B880D8345C02CB04452430D9819300C23020290FC487E25132A200894B21A227290808300000568001287D758E9C8AAF7BF04E0DE9D387EFCF8E0D0DE43CFD69A3DA735A9A70E0D3F748CE348314B621C51621633008661490D4D5FCFEE8340A024029C382594DC2712B44022C2260E4700A969DB3BA401C4F17ABCA59C2022F5E86F7CF54C7FFFE0D34ECD3B73F491279FB014F51823103180082CC7011B864AA141D4866979C60140388631062202AD35400C66800CB71C84189F4DF429805DDA761FDA72629F3871EA507370C76FBAB5C653679FFBE653B6E3EC33518830081047313CCF0529021B496792C192CCA8310C2282D656C1116362C426821880948645AA9517947F23C78B71E88F93D20795E53EBC25763A70E4C4B3B6EBFCB1A5EC61BBD6D8B61E04E28711598A7CA756BBA395A5A2588825C2F2DA3AB1613286C930936103616188C44AA9180423261202108BF11CCB6E68E5282882308323064360594E2B3C1287336118CCB1D01165798FDC13C592E59D235DFF36690D210D280DA593D9725C2F9D75D39AEDE434309CFE4EAFCB8C17AC2DC3ABF780647D456BBAAD6DBDAA94361A64ADF94B7D86390A023FD076FD30C81E22BABBE10AAA3B9C92BCA2DCA940EA4BD2301194D630867A98D1130502206EE1C744D198883ED2CE18A4E4D0B629BBD71AF2464E804A4E1004F4E57C0040A40070F5AC2A8045412995238192D129B7B5A0A7368C04754623630BDC634448A088A088C015E24A2028A5A095423EC38BAC4685B174CB09A554CAD1ED53298288FA927248204520A500633AEF2A05450A4A2B146250E940F23317888D72A21D8D3C56E3600551148024898C0241116069012B807522520200CA81EF87C94CB73EAB024EA400456D38A5465331290AD7AA1B9C284BA852345AA10510053EDEFB9FB72A70AD71A256C73C040B20ECDD7F3FEE3FFC158C4D7C9118A4141425FA51662F52C97D9D194654D00DCAE7647ACD392754754E9420959BC1ECEB3D523860DB008001ADF1A7BDFD38BF732FBEDB1CC443C6606D75A94508ADA8AAE267E52DD32A496CA5557BAC4A63ADA0954EA2B0A113F9AA26FBF23CF541F05CBD891FEEB90FE7EA4D1C755C9CF26A78A6DE83D130C483B683BFD8B61385C91669C1891455C229CB89B2D12A353A19ABC2B84B62A3034A19BC5AF61061240A7039F05B7FEC5182E5798E3116192CB281381A992784761428858A14BE97A034A570A27C1A247F4DE8D00FD59D6255CEF87682E73F8544301185F8CB5B33B049C117C65ECBC64818C221429D08FDDA0284DB9C4E481C485988948230E72241AD59A6424697442FE7DDC68A5D911B2069CD5C867303C04862C8A0B2F07BCD3E04225861C6781440245F7EA4CA9F2676074B29E474A253E4AA44AF2BC52AE4E094CB8942242A046F9E63BCB0BC089144931902B1A983B65581F1F21397D7890A91AB506DA5EE12894C1A52570AE1ADAA400695853F68F6B7AE6FC411FE3E5C69013F51E47662979D5094E444194E7907CA02B8A1D8651EE4F502200895383677DC3231FEF9CE621266022211882EBEB5481628E805A9ACECD01DCA5C163D2AB050B7C4CEE5711B490988A4481BAD63CEC478A6DEC04ECB86027061753957A5661D694561993AA11455941D25A34B496E757542E5B097E943A9EC387C64188F3F7E126C0CC22842E08708421FDF5D59417467195110608DFB71B4A799A3581484B35C82140AC02E4A5D2ECDBBEB445EE4F210CC11FBF4E70B989CBA9D363F68516962641DE4F5C0D204B234E66E2D168C68E54539B989A075BB1ECAF70F1DFD04B51269138B672D86228894E4291D72ABA32B76771DB511F2CC840E2712954E9499BA94E265D1B336D2890205E5A09541A36B47211B77459D39914B6E4A9A26AD55C1F1A219C54A76438ACDD2205F3F6DB44878E0FE7DD8BD6B07AE5D9FC4C4D474F77EA254C6E4935B51B11EEA307A2BA578919B733351C1489EEBE23B7FF26D2C2FDEC2D2D2124E3F7602F3CB3EFEEEF97F44E7D2A8B46AA67234F2899A2FC5BBB25496F00ADDABD86ADDE83CFEE85BDFC0271FFD2F4E9F3E8DDF3FFA104E9C3881707511BFF3DBCF765B802BF4262D21CD4A715D2CC52B4BF3FC98D426123B579697320C02C1D0F63E0C1F3C83DA4B3F86595C42DFBEBDD8BD7B370E1FE9C3F9972F74924447C7982BE614914E9787F231A0E2F4171A02B5994850B71A2385D2E4E4041EDCBD07500A7AF81030338B63C78E61E1F6ADAA75828E5C401E4EA02EBD44BE19CAAE75473FB1C91580A272FA4180078F3E849F7D7819585B07CFDD04EDDD834B972EA16F7047974AA6221AE9A70A015AEB4A0728071BC93F12C897F29B5D372A1F6FFCD73BB875EB167EFE9561986FFD2E2E363CB8AE8B7FFA979736CC897646E42BE674455C9233D19CF4E46455BD3D66182388195B8C4485173F7DFD6DCCCCAF6168F71EFCE7EBAFE3C0C143B8F8F607F8F017231BE417B529BC1591E40900B3148C34D975CB19293806C3774FECCD2C935DF8C9EB78E5C26BB02C8DB5B51FC0B0E94A70445410BDFCF30A168611C0A48649CE0081E4C6E92B525C4BB43A8DDFFA2A5F10849B5A8F2D902AB5A322462889445A2BB7ED4E85567263C0C411A2C810119188C85D1EB214FFF89E9731F375502112E982B218E2143AED2496525492E91566CC7D3E01B7D6533F70E0804B44815565B7C8E66292DD771C07EBEBFEC6EF6B758AF94824D7CCA20D0B88B9033AC5A808E66FCF218A0288B6FBA2286A00080B4E70C193F687511787CE3DFD24BE76EE0CAE5FBB8A43871FC40FCEFF1B2EBEF9DFDD6341C53E216328634C8D7339518E7E360EFDB52487E2506E7D3EF61AA5CFD48AECC4EDF96F8551A41245679E7C140FECDB8E85AB9FE11C14E63EF9054E3F7A1C4F3CFAEB150E48E74271AEF167E61AB7182847A726632A461C476036E8EDA9A3DE685EF557EF5C06B00EA0BCDCCD3938951C2A79F2DC33A7D16834F09810F87BCFE3CC134F208E63FCE1377F6B83122C5F2DB59D61C3DA886CA80B2431FA7A9B0087E1E4F5913F574ACD4E4D4D859589DDA6B1148F228527A10060591AA3574770F2E4495CBE7913F19F7D0772E50A0E1E3C888989892EB9D3054E29D6D90804A59C4867D3D68CC1FE010887981AFFFC45221AADD56ACB5906A88E9C10E98C44094E716CB077DF7E2C2C2CE0D7AE5CC52317DFC2A930C2FCFC3CB6EF1CBABB6652F15596845ED9E4052F89081163E78E01347B6A585E5C9CF9626AF2FBAEEBCE8E8E8E469252D8A62251951413D37358BC398D07FA06D0F8C6D771677E01636363B8E357971C5DBBC6849DC09C46A204C1A1ED7DD8363080A5F97973FDEA477F454413D7AF5F5F1311EE5E766491902412DD68F65FCFBF82E1A3C7F1765F132FDC98C47B750F03DB76E3851FBDB2F94A86729A50D1B76CEFAF63FFBEBDF05C0B636357DFF27DFF521445F3C5F5A0722498DB91C8A84DAA5D89A2087FFDBD7FC0FEBD7BB07B68075E7DE37D8C4FDC48EA9AAD3E95AC28CFEA9E8DA3471E40A35EC3679F7E7AE7DA671FFF6D1445D3376FDE5C9752EBD8A113924642D29232E9E3A56B6F313E39856B631360B381F1BC09D9CC454211E1F8D183D8B17D1B1617E6E583777FFE7DCBB24695524B558F6055B562B71DC9CE7BAE12EFA158193EB81B871FB81F8D9A870F3FFAE0CAEDDB377FC2CC5F4C4D4D0552618CAA2A0025C74D724F2561B52BDD167DF266ED1868E2F1530FA3AFB789B189F1E09DB7DFFA9B388EC7FAFAFA56BACD872ACF581B46C5F36E9EC85D70DF85E43A8EFBF60F61C7B64108C778FDA7FFF1230023BDBDBD373FFEF8E358BA40C2AA9A95329C00C1F8E88738F6F06350A420E9EA5F1CC7F083084114220C228441008EA2EEF0EBE80D3A8F9AE7A2B7B707175E7D75FAC6E4D8CB4434393A3ABA9EA7D40D9D60E68A28A4F7D2ED3F96A56159567A6A18C329C74BBA0A916CC2F27D1FBE1F606D6D1D8BF3732D58B6A35DED89E779B87E7D2CFEF7975F7C1EC067711C2F9429B52B9C282909492AA0D4AAED45C0ADD792665D294A4F05AD085A116C4BA3E67968367BD0DFDF0BC7D25D8CEE842941E4C51FBEF016115D36C64CCFCECEFA72978D8A2A73E0E4C9931644DC4C1F0A4EA414C92C2D4732956D3F5F68AF7A67EF4BEAAEE4417B4BF94BF694AD7BF38D37A73EBCFCFE8BCC7CAD56ABDDE9BAABA5F8A489E8D8B163F6D4D4D400D86C13C9842EE74C0685D47849779949BAD32C732483A408E72298EEE9000A70920AB60AD797D73EBDF2FE7900576CDB9E191F1F0F6513DB452D00343737E7789EB753E2F5C5689D4638B606C572EAC29EA775DDCA76016486B108140B98042006B8DD727201729958528EE572999D7F5A2082DB3363EF80F90311199F9C9C5CDDACC458E932B9307328FEF28F4DB07249447AD7803A801A91DEA51D7748090D4D8F8FD8B6ED365CAF56B75DB7E63AAEE77A9EE7D57A6CC77128EBC2848B8E40A9569325E59E3D1DAF2C7CF1B9BF32FF9A526AA4BFBFFFD6ECEC6C2C9BDCB46B01907DFBF6854B4B4B334B4B4B772CCBFA546BEDC4716C5B9665294576E4AFD645A419476B3D003C66AE250E9207A0A6941A74DCDA905BAB0DB8B6DBB41DAFA16DBBAE2DAB46647951E8D7C3C0B7486995094602A9ACFD35D1C2CCF84522FAC4F7FD1B5353531B526A871322224414035801B07AF6EC595A5E5E26DFF7090056575715336BDBB6DD20081CDBB66D66B62DCBB28C3196D6DA06E0AEAD2ED7FDF5D55E2411AC33B347449E52CA03509BBD31DAD4DADE6D39CE0069BBA994DD10A026A01A47FE8C31E125A5D4678EE32CA6CFFAB7B027EC2E11A37633D0DABB72F6EC59E41D5D5A5AD28D46C35A5959718220701CC7B133072DCBB2E2387688C815911E11696AADEB69343D11B1896819C015221A999E9E5E14912D3971D7CDBD395CCA661D2D473308025A5B5BD3F57ADD5A5959717DDFB76DDBB6B5D6B688A8388E63DBB61777EDDAB53C3D3DCD5BADCAE857F5AF0754DCC25670D4F33C79EFBDF74C3A675B36E8FF0002456488371D4B9C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (161,1,'UPS_(96)',decode('89504E470D0A1A0A0000000D494844520000004A000000600806000000BAE7E4210000000473424954080808087C0864880000000970485973000008000000080001D799097B0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001A164944415478DAED7D6B901CD775DE77CEEDD73C766777092C9E340190024C428820826468CA7051154B8A44D99548A2ACB8E4971CA5123B557191215D54249754AAB0A252512E95634548C5091D9BB12295454996A31265C6244C8B1245841429102408010BEC72817D60DF3B8FEEBEF7E4C7F4CC74F7F4ECF42C00957EB859C399B9DB33D3FDF577BEF3BAB74122827FD8FA6FFC0F10E4DBAC9FE683BBFEFAEB0BE4793BCBC5E1AD8EE55600AE90E20AA02A10718C181190186304008C18311031C60869540DE9D5D09755A5EB2BBE60D5D76BF3B6D6972627276B831E0BFD3498DE2DB7DE7AC35879FC1DCA718F92E283C66084602A065C2156364420004404C698D4B3C088811881118118133D37C78D91F6FE80408C0944CC0A2093044C1831133032A175708E83DAEBE7CFBFFE9A88989F0AA06EBBEDB6A2ED8DFD6271A87894D93E6A3BEE5B41EC68AD618C8648131401DA27DC02220E90A480C8024AB48181C06801A8DF91098C0EE64C503BA583FABF9F3C77FA073F71D3BBFDAE5FB8A33272DDDD96ED1EDDBEE796BB6CCB1E3322F0FD203A210D628059258088AE2700895E110402224024F627024800210289697EA74853850D81B8097E4F888C5E16E39F63B2F6B057F90521E3FE4434EAAEBBEEDA551A1D7FA7E7967FDE52EAE8DE1B6F791300044180300C11043E0480652988A80E3B204D04DA27DE798624308BC1D67C6D4C18810C1033386221C1407A02145E1213CE105B07D82A1CBEE662BE77EF5E6FF79E5B7E717864E8A8EB78476F3870F856C5CAD5C6A05EABA1E1D701039062388E9330A3F8954EE09078D701250E8FD1065AEBE61EC4200240912665828BE8738DB362A4A12CE70059DEF66BEAF58EDC79F4C8C8D8756F77BCE2D1C377BCFD6D6EA1781D3341EB0041BD011F4D66B8AED7B4FF98E026CC0868FF3F3A6390484F3619D1088320324105CBB6727EB71813FAAF41C465DBDB07758DC283DB6EBB6D8757DAFE4EBBE81DB51DE7E8EE3D37EF57AA79151BD52A42BD0A6686E73A2896CB2971050406109300220E405B7792FEA6850E7CBF119925C1B2DD8498230D4AECBBC598BAE8FA69A3B1956DF7E6AB1E47BDF9CD6F76EA9A3F683BC5B77B85C2AD6E79FB2DB06C476B036934B0B6BC0C231A162B144A4528661031C2A08EF5F5554004DA08C4E8E61507D072F5884C4E0490886D908815AD7131F07D1FAC2CD8960DC7F512A181C4C14D8B3A0068BD1406F5F31AB487D9FD477C05E17526507BF61FBEDF73DD7FE214B7EEA8D88E4DC40C31561806D361E0BB20F28850703DCF73AC2260048D868191B0AD3DCD47ECB5245FC3888888B022CD4421116B4514B2455A118BD6A16B5B5C1CAA8CAAA0D180EFD7D168D4A3D82802CA008EE7814825744B87C1C5865F9B37C207989DB75C8DF4231328B69C776976DFD10804A109C0CC50CC6066302B301388184AD920A2A609B52F638EAD89131963481B30003BBD4BBDBA022282B7BC0EA5B0A294B56459AAAE94826D392E888695A546EAD51A0561001141505F9F6676570D596F023B3B98AE9E17DFD0F4889AA248A0A6AE1035C7A2D7B1F3BE36892833C0164223C3A191E14610020863AE2B3002CC2BA2051336AC86A61B5DDBCE9F9610659E33405DC0581B7D4913A01660910E34FD2F88704D3742E7C2F48C13D96602B61A60AB46701130B98148BB0B648CE7040A6D16B5D9D4FAAFFDFE5A6E12636E1ECE3208028E8EB71F10C9B7847E58650245CC6DD6103AA64629F31BF0BCAF8859FD7252664084A263CF0B04A577498FE663545B9BA22FA2F68306076A332011B77FAB1F50ADE3E28482F7018252AC030DC6286E7D19C5B42221E8DD40C9D517A9D845C967788662DA9A03088AEF94FA889582C6EA7D942D905A07DD3A808EF925D06F96CC22E595ABC4A8E485D9905544608A3C65178908DDD8658D01BDAE8AD51BA7B64025BD5F6B1849A4C2601D26A83723EC683F1640A159FA806AE66C222D2F26EDD70240D91682D046B55A8B0A651D36E5D129268270F3390F109401346D2A8E6AB3084913A41862C90A20A62E5CC0F4D4F99EEC6056509605A518C456F33529B0A5F0CE77BF1BE7A72EB7816AFD7E3C7EEB6BAA4889793F202843B8690031EF049A1D46B50E34610E5D8E6D83C29808B40E718B65E1A1CA16BC1106F883CB33588DB27D1DF8A0D4E793BFB531AB88188C38A30603A22BBEB273318A6366D70A053A029E4128085194B937B7B7154A980A7C9C0F03004045293C30B21577148AD8673BEDABFEC4FA1A9EA8AE369361A43C569B55FDC39156BC454CD92EBE276829E51A288E42925171F71B0F3C13A21D5DE9DBBC22EE2D57F0DEF2303EBF388F4B3AC073B52A8E78457C687824F13BFFAC5CC13B4A43787EB2DAAA17F588CE3B26D853A7286215F18640241D5F2F80A80B1A0BBDE38304A3E26CCA3A688A6284B7174B78FF500500F042A3861FD4AB008025A3F1E9CBB35D3F5566428515C4483255A1641CD52FC8E588D1C49413882CF6D0608C8AFBB4F8C1515CAFD2848A7EF8B30B73F8DBEA3A3E7EDD38DE1699D9D3D535ECB02C7CE2BAF1CC5FFB3FEBAB5D8C22202333404F56B5749563714B5E20F204CFD686A16E2AEA4D8A7B545EC9D89EAF57F19B9726D11041CD9824983D339C64ED1C225D42BE5192DC0A8839A33A97991C6744E171A9492363F50FF8E2616B325CE82673675B8A0AFEADED5218E2E1855918E936BD4E684FD9214AACDC43C84E928918E09844F403A24FC26CE74F61BABD4F9B51D4499825670AB3DDB2F01FC67A9B9EE98AE8A94BA332DD6D3C324737A37A560E52E3DD39611E318F1F549A5114BF3259972C7BF3457026686088154AC4F08860C54F5A5226459248C2912A1AA6758AA9196C26E2BB0D81A08DC772570FE261428C51898A42BA7EB401A356B5C1F1EA3AAA62E00B10884043508E1820598C02B72F5652D0BB758AA303EE540F06A91C50DF0B9DB35D4571D7D216D754C4B9E12F5D67297CA43296F9B7BF5A5B89BA2AD4B314DD89ED28BBA3C9519A948AA3BA7842FD2B0700E514734A69518A519932411B4F82980B43FCD9CA2286985120864B8402338659F5487FA4CBDCE2958CEE436E069B9DC8BC0F107D12666B10D3EBE66847B392072BED9E63AFCD63C66D5E01ABC6A02E0681000B5A63416B183467ADA067AE9723412680381647E5AE1CD046F5BAC14C2F4E78EAA1E3FD8CFCFBF52ADE150CE11DC5321CE27637FB9B6B2B980C7C1C4CC344C9A438AB261617744624E4CC392B07FDAA0976DEC25DA706950A9333FD8365DBF8A7EF7937EAF52A1AF506EAF53A1A8DE673BD5643BDD1C017D6D7F147EBEBD0F51AA411C0F83EA6FD3AA4D59A9264A81FAF7BB5218A494122858AD8C4448395557A746606EBEB7591349EFB25F71D1ED9825AC3805501857209E591A6B02A66B0A27603552986B2149462584A354FD8086CC7C237BFF5F7A9388A5225E18EF9F5AE9973BE1615F5CB0737A15194A959C96F5D59AD626979ADD34A17D39CA061522D7649B6DBFB750CBA841CD95EB76976A9E43D4F62DCA33363E5F17A94D1DF8BD5803323F3ABDF5B10705A97522CEBF27B892E4C9F1615F5CFFDF28B39658B7ADFE8ECAAF5F7D2AD32EAD4F05382DE314FCE0DC486DD9A816AE6599811A5F2816B375936191224199266341137A723326D0850EFB655DA3673B5AB1899ED678A571E073B69C77150AF370641295139E8887BB2CFD8F2941C8DA7E3A85E40E4EACCE41773425A100631BDEDDBC7F1EB1F7A1F7E76FF3EE83044AD11E0BBDF7B1E7FFA177F894623E86BA1D4B35596C178EE24C6B980A00CBF1E1BB3EC41342AC3FBE585E9E7EEB815BFFA817BF0A78F3E8AE79E2D61CB962DB878F122B66CD9822F3CF2693CF8079FC1DCFCE57EA44A3228CEAA2E458F33AA3F101BE6839B8ACCD34964569738B58D8D8EE0C3F7BE17C78E1DC3030F3C804AA100999B07EDDA8993274FE24B7FF1E7B8EFDF7E040F7DF2B3BD7F369A6F18AFF4A430E8F2CEC4AD9A39F507A26FE3A15B8C067142A9224CF6F62BEFBB078F3DF618EEBFFF7E542A159853AFC13FF6DF204B4B3878F0200E1F3E8CB0B18E8337EFEF2BE6F1390F598CEAC44D51E1AE55ECE366A8C051672631C6ADFD3835D62A16F21502953328B871DF0DB06D1BA3A3A3F0FFF08F10FEEDD30080C6FD0FC19C3B8FF7BCE73D3871E2040E1D3C90C3F462216E9A51D41D70E605227BAC339E3636DE2C2A1B793DDB228C8F8F03610873E205D8EF7D7773FC57DE0FFDD4713033B4D6B8E1FA5DFD3DDF468C8A79DF76529C062831D601A2B52F778D35D320DBDA2CA30608078C21CCCDCD0196051A1B056DDF0EF763BF0F33370F7ED38D101128A53039358D7E15D62E46517A9C3A853BCE604AD75812A0C47C8A76034810849B2AB3A49EFB8076766212B55A0DABABAB28FDDAAFA2FEE0C700C7018F6F85FAD0BDF89B279FC4A14387F08D27FE7E7046C5EB470910A919FDF59863DA9ADBDE7A972E7F49ACAE7605A5E0C152922F3FFED778E8BE7F85471E79040F3EF8208A5FF83C647D1D542AE1D5575FC533CF3C837B7EF97DF8E1CBA7FA2730716F47C91E1E75FD91720391386C49D5570548CC3EEE0B946C223D0330333B8FAFFDF593F88DDFF84D3CFCF0C3D8B56B17C6C7C771F6EC59B8AE8B8FFCCB8FE2C14F7CA6EF15A00C2D4A0B7A7B6F23CD7579463281488C25882348900DD78A513DB6FFFBF4B3F8F1B90BF8AD0FFF0BECDE318E959565FCDC5D3F8FE74EFC10FFE6F73E81B5F56A3EA2C6B42839AB26554E319D4549C91317F4B2AA78E14FFA24EDD77461E3B9F393F8F8A71F0120F05C17ABABEBEDDA54AECA01F710F444B5B2095CABEE6E62ADE874EF4F528808B2CCB38972186C1628D97C9DC018C17A1F06659A5E4A8BE26591348022ADF536920B886EF38CE958F3D3940328D3978A3F998D928050AC2A46C9025C6B5596E94C12DD10882C5D1208FC5A1596E3428C216A86E8CDC54D1BAB44F664C3CDAFD7968176CD126EA2EEEA061100031883CE4AAED60AF69876B556AD27C652A5EAB94B9330610040BC83070F5ACD88232BA9C9B0E5EEB1AB818BE408DE126DA0EE16794CE80D847A0321B19A7D1680CDD7ABCB8B585B5B83361AF55A75B856AB158E1C39A2FA6A945C3985DAC160B154C4EAEADAC028274D2F0958C2F48CA88EE9A52F85F4F57A3A68607171058A04C6888461C35E5F5F7799B90E800688A352A69803BB5D3BB7E3B77FFD83D8F3333BB1B2BC8C527918275EFC118EFDC96358595BCB6D7A99ADA7543151B438A69FD793B422754C656565055EC1C3CA5A8895C5D9D76A6BCB3F0600D775058058B90D439269403F9CEEBCE3ADF8B50FFE321E7DF47F606C6C0C3B76ECC0E4EB67601C1B5FFCFC7FC4C73EF5599C9D98EC9BC22427AFA52DB393FC6931360B36E5F5FCFA1A5829B816C3F73C2CCF4F3F4E44D542A1E09F3C79D26C607A31CF21597FDD7819C74865081FFEE02FE1D8B12FE2F71F7800C51FFE08E6B5D3A0436FC1E4CDFBF1C5FFF2C778E0DF7D14BF7BFF27FBC65499932D32BB2646F5F47AD2C5A3F685171D8004182A97A083060A5EF9F58B6F5CF81BCBB29644A48168512F6FCC7EC91673D9987EFFFC97DE85FFFDA52FE1BEFBEEC350A180C6439F40F0E89F0122D8BB772FEEB9E71E9C39FD2AEEBCFDAD1BD7CC13715377B130A5512C46B2BD9E486C4D73ECB602A2A1C8A0542E4191804437A626CF7C92882EB9AEBB7AD34D3705ADB3E35C1A2529C0FAE8FB4DFB6E401004181B1B032C0BEE23FF09D6BDEFEB98E59D77E295575EC1CFEEBFB17FE10EF97A7192E1FE25E5F5740A400B1AC552099EE7C0B61566672E7C4D6B7D3E0CC345634CE3A9A79E3212099DD52F0A8F5526DAB703913E0A353C54C2C8C8084E9D3A85D3A74F3707F75E0F59BA0CFAFAD771E8D0215896855D3BB76D7091A4476B29167426A27F20EDF5BACB2B9D3F39CA607878189EE720F4EB585C5EBC3877E9E2FF62E659006B13131341DC56AC3C071A373DC911542D2DAF6269690937DF7C336E7AE924646109585A026D1B87BAF31078DF3E68AD31F5C6C58DC589A84FE130CE2E89024E49796CE9228062C168A58C52A908A3038481AF4FBFF2F267945217832058DAB66D5B637E7E5E24E63637D6A8C8E44424C31C7B83F5FA8F27502814303B3B0B2A97C15BC620B52A78FF4D905A1DC78F1FC7E1C387F1CAAB6706AAAC6E348D47A49314B727836404A080606CB8804AA58282E7C1B1152E5C38775C6BFFD52008E69879FDE4C99361FAE438BFE9495BDC2573F162E7FD57FFEADB78FF07EEC5E73EF739541716806211EACE7F0C99BE8889E9693CF9E493D8B6F367F0FDE75FDC54F5396B8206A4598F92C49D38BA3F5B29D9D8BE6D1C439180CFCECC2C4E5F38FBDF9552172DCB5AD9B16347D0CAEFFA26C5265DF59394E92518D57D3A6B6BEBF893FFF915FCCEEFFC2EFEF8B13F873D338D6DDBB6616A6A0A954A051FF9ED8FE2A14F7DB64FC961D06CA07F51DF7314AEDFBD13E57211A235AA7EDDBCF2F289FF1A86E1541004970B8542EDC489135A32D6906C1C70B64C2F2EE2926F12FE0B2FBD824F7DE63FE3B73EFC01ECBF692FFC461D600BDF7FFE45FCEBDFFB38AAB5DA15A7CF940F9FA6E91070C3AE2D181D1986E3D8F0FD064E9F3EFD52BD56FB0111CD8C8E8EAEEEDEBD3B989A9A92C10A7792343D497BBE1CF9DFCCEC3C1E7EE40B304660DB166AB5E6525AC955B81BB0F5D367DBB17508BB77ED84E7BA088206DEB830B9FEEAC9178E31F3B4D67A0140221CC80954528BBAC11ABC6AD268F8035246AE9AD155CA0E6E3EF026944A451004F55A282F9CF8DE9799793208825911593F73E64CB8D18F728FBA5D971689C4CD2F1FA3AE42DDEE8A0B8796221C3AB00F95CA304AC5221CC7C60B2F9C9858B83C77DCB2AC8BB66D2F8D8F8FFBAD5465A0E6824448A53D9F24D3C0ABD9E1CA2C045F0D9C0FECDD89DDD7EF82E7B9D0418033E7CEF9279EFBEE3100534110CC03A845E1C0C61AD73B3C883327C528FC841875853FB17DEB300EBFE520CAE5121CDB8601F0EC33C7BF03E0BC52EA92E3382BFBF7EFF7B3C2815C40498F582ACEA86B0E9331ED806933D55522E0F0A103181A2AA3542CA25070F1BD67BF3B73E1C2B92744E48D5AADB600A0BE91806F9A51EDC720F6279B25935CD95709305619C650A904CB629C3B3B113EF5E4B71F05708199678C316BB7DF7E7B90F76B394F7B2A1EE576582578EE996FA358F4502E9750191EC2C8F0102A95210C0F97512E15E1153C58967D05F79A6A997C761A2A7D3E5B2C15502838B014E33B4F7CEB074110FC9899A7C3305CDAB16347FD2B5FF98A484E0DB17A5FCF1483E23A1545EDADFB5F2AC5504A351FD1EA04E6E6AA84567D28087574A3D230BA69698020081186217C3F801F0408FC0061EC9E9AF1B9043220690540B15884EBBAF8D6B7BFB37CEA951F7D5344A6822098039099CF0D0C9491CEBD68129E4E6295F35805346D96ADD7ED6935006C4BC1520A9EEB7696634413E8B5363046436B83506B2CCCCF63E17208264ECD1190BE45C37843C3712C4C4D4D9B6F7EE3AB7F09605229354D44CBDBB66DF367666672B329D3F48888440C255297582AD3320589164B7712D07442DACCD6E3F39298D05E8DC08925AFD27610143194A27EBA203DB922E7DD8444E03A0E1E7FFCABA76AEBEB27B5D653002E03E899CFE5068A9AB31F18002719D4610EE2E6488831280D9644377D900E304C31905AD3C4930E4280D89A16EAB8D81499244EF31E31D4F1A7FFAEF6BDEFFEDD37004C029849977737055404923A78F06041442C489C419DB8A9CD2D91F6DD3310635E1660406C9918276FF4D0FA4CBCCBD37D332FC9EC0AA55B69F1CDF76B8D6F7CFDF12744644A44DED05A2F3073EE702013A81648070E1C282C2E2E8E01E20962BA94D29ECE85A4C4DD59BB18D57E982E002403D84E6987006248777BA36766904EB31767265E5E5C5CF87F0026C3309C01B0D62F9FDBB8FA1099DBCE9D3B9DF9F9F96166DE0191424297E281669A6119DAD4EF61A43B2E8B03DDBE7548DBE63BF62FE83FA7696D69666E6D69F659005396654D5B96B59C279FEBEBF58E1C39C28B8B8B3611958C3195B0BE721C616D562B7B2B2B356C597631B49D8265396EC12B3AC2DCD69EFEA074EC3B716FDF2E06C622F0A85E2E71534FB5C8B367CF013A68844B3313CF029802301586E11C806A9E7C2E7778A0940AC330AC4A587BBAE1AFBFC4CC65009E8878003C638CC7AC2A96ED5EE7386E6964746CF7CCD459DF76DD82E37805CB760AAEEBBA5EA1E0785E91DB1E32233D429729C763368E18156353F764C2A40D4672B63477E1F5C0AFBD06608A992F32F3EABE7DFBFCE9E969912B48505B5D45DEB973A76B8C2989C8906DDB65009ED6DA65665B6BED1291474485083887886C11B189C8262207801301EA8A48D175BD2D8E5728BB9E57F6DC62D176DCA2EDB805DB753CDB765CDB765CD72B5A8896CAB6A6DE6863D068D4B1303F87D12DDBA07533BE6A3EA75F6B84D1986B2B3F68D482E5B9892F13D18B22F262100467CAE5F2C2C4C4849FF50F4E0CC42811112232D3D3D3FE9E3D7B8CEBBAF55AADB6A8B566638C0AC390B5D6966DDB8E52CA6166C7186331B3658CB144C422A236984AA98231C6ADD76BAEEF37ECD565B15A4012916B8CF1A2F72E5BD668D12B0EDB8E57B25DAF64594E51295510E262C3AF16EAEB6B162BDB4EDE8F4D325F8968595F9E7D8199A78C315344D4CEE7262626AE3887A7CE0A4A4AACD8BFFBEEBBB1BABA4AF57A9D1A8D0655AB55353A3ACA8D46837DDF57C61832C6B0D69AB5D6CA711C2B0C434729E528A56CADB5AD94B28C315604AC4D442E8002808288B8001C001611D9C6188788E260BA006C662E59B633AA945D66DB2912AB22912A805541843C801C1176B5BFF2467D6DE16B22F2B252EAA52008CE6DD9B265E9E4C993E195B229015446E0D9ABDA4A0070F7DD77D3EAEA2A0140BD5EA7F5F575F67D9F8786865410041C86211B63280C432522A4B5B61CC7B198D98900B599D98E58A98C3136333B00DC96891B63DCB4898B881399770B4C8B88486BBDC6CCE7009CD25A9F01303B333353CB536BDA3450FD6B3DBDEE6591D4BE382B01200DA6EFFB2D10D918C3C61865DBB6DD32F10850CB18A344C432C6D82DD601281091678C7122475435C6CC02B86059D6ECD6AD5BD74E9C3811CA55AA305E937F40877ADF0BAD2F98CBCBCB2A08021E1A1A5261187218861C0733D24B3BAE9722C24A293F088235CBB2562A95CADAD532B96B0AD4B504B3D16850BD5EE7389800605996A956ABE1E8E868D82AA1C8553C39FA69FE67E3728049597D36B90627F5FF018A3089B00C617BD10000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (162,1,'UPS_rackmountable_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001A08060000007FC354EE0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000D4A4944415468DED55B7B705C5519FFF6FDCE26BBC96E366D9AA40F9294A6AD34803348B1908EE320C2A8807F7498611CB5B6A0B45494F10138E31F8EFC238A828EA2CCE80CF8C03F1466144751B06542DB901652DAB43469BA4D9A4D76B3DB7D6777FDBE73EFB97BF6EEBDBB9BA42D782627E7DCF39D73EEBDE77BFDBE73EE1A8C4663DCE572C50D060350A62497562C9BF8B58A5651D66AD3EAB3DCB9F4CA52A9046212AF1BA98BD74BEDF37F76BF39AAF2EB4422D16440E69FDFB2654B87C9640231A360D4BC6EA46DA5F446FA502A168BEC8528539D5F37522EA5EF073DF672DF6F7878386C068D244A4F369B854824C2165DCCA47D57B2ADD13E9439F31BC92434369B8D65ABD5CA4A6ACFE57290CFE759D6AA8B7398CD66D8B46913F8FDAD156B266AACFABA91F6A5F669A41E0E876162E2ACB24E6249C95CCF24A5D369181B1BAB32E9EA7A3DFAE518A747D7135EAD36B7DB0D3E9FAF22534AA55270E9D2254826934A5D2CC58456930940642E063FF9E973E5FBA0568141FB19AE6492D6C2A0B9267B77EF6202A097CCF5FC91D7EB859D3B77AED8942FC7BC374ABF5CE673A9AEA45028A08024E5F5C2B6629E9544BF7AA9044603AE83D98A3593869218AAB4BF4200D0C4A562B158DEEFF75BD4E687523C1E87A3478FD605621F74D90898A2E47038D074FBA1A5A585E5E6E666D64E964ED478CADC1A700BC0E7210BB07BF7EE8A7BA02CC2C76FBB15B21FCDC178E654159B829E00CC242EEAB271B9747AA4A1D20E78E5B997211A4B33868B494B1869CD4878D1B559CCF86FE0CC99334FCDCDCDDDD5D7D7D7A6F669E4277B7A7A2AFC2FAF4B2F2E69A1165DCFAF374AD7ABABDBB47C277F71AEB1BC6EB15898DFB7DBEDAC2481203AF7F5548A9930901A03D01C6A01EBEB5B0F669F135EF70E43C295A85A747F6B10262333BA0C5E2E7D53733F988F38A0B36B0D44A363C85DA32094C60AA6F3B541212F8E8E8E4E2E2E2EEE31636306DBBE848B71ECE4C9938FF7F7F7FB448D2101E8EAEAAA32C3CCA4947260B71AA16070B285D432D50B0B0B30393959DB88E9F84C11AC2C87AEF5F27AF7D29B47B434FA96A504816010D2DD29482C5633DF6430610F7D5CB012FA807B2303A5669B1D8A04722B9E1DAA46653219181919790F2DDEC7F0F9E7CD02DAFF310AC19AE9E9E9073B3A3A6C5A6655F48F1843C281BBDB6143A7071E7C6A1CB5A29D315CED42D0B2C0912347744D77BD58BFD1FD85465D80D3E964C04FCB0590C917CD7E2D1730383858616EFDADAD70BE699A31A324D867AA6F6BDB0AE1E405544EA364B355CFF491B601A44FEB0A402D7AC0DE066687152C14CD1417515A4CF273C959F0FDC437E4C524BEEB1031BF220AA08426EFDB1313139F0B8542DDB5361868B136AE2AC28E6DEDACEDD3373AE1E5A30BCCB772B3C30561FDFAF5D0DBDB7B45F611F8B5F8825733FE161DB1B7C90B61CF2CD82DAEAA35BB3E741DFCE6F48BE040E1D302DD44FFF5A917C0866EA9C40547E8B32DB005DE7EEFDDB282097D7C362F80C7046B7AD641328ED6A75084778EBFC7D49FAD8B6003D0122751D11FC371E18A2840606E16ADC02F506BBF1F080434994FFE309B8AC123BB06213C7B095E3DF43EDC77FB26F8F7E85BA83176163588634E9C3801AFBDF6DA87261424ED2541E556804A1222AEFD7A591D063EF4D0437C530DB184153C4D4D606A3283DDE852B49CDFD78AE6D9E674949F4B60A2345EA08B0C964BABCD013687241C4A1F796CABBB15128E1CCC2C64C0D7DD07035D011480138A0B10D3B973E766907FCF5785812A2BF02F44FE0B6D6D6D5E35F30939924FFFCA1D1DD0D6E2807B0EBC044FECB9194C46031CF8FC3AF8FAB3EF332C40998F09A26FDCBE7D3B63961E585CC98610AFD7DAFC11770BF94610DF04E21B411C00223062C08F4A0E043908E4F39441A0B4C2A18E10184DF82C1E23384ACE2A21B4A280D865ED57339F814A02A55AD68103711A8F42A7450BB803102F4D29F76A6BF5B3F9E500500101E4FBB1FFF112C5A9B50400D349F4EFE4F4BC6ADF4FA6BFCB9F877B86BAE1B77F3906831B83D0DFD3829D0A70ED5A2FDCBAD9026F9E89B2C5E5AE80169242C95A91801ED2AF15018874AD48406B678D2378C20124A4EA1D4F8EF8799D321702710E7ABF0A84EE6B013B32A9E03680BDE0ACB23C26BCA7C3E52A335F2508669CCFA166B0C0683E5E792FFE2CC470B400EF16A48D1E5FB317D67476942DA4B102F9132F8635378254C9872F68523F082D4662610E1EDF771DCC44A2F0AB3F8FC08B3FBC1D62C85C9EF67CA61BDE78620401A293812BD23662FEF8F8784307428D1C06D59AA3DEC10895C47C32FDE4AAE8192973E1E6804FCCBC5D9C8BE6B8E9A69BCA2EC1EDC279BC3097996756520187DC046353295FB6C9EC79F1CF4825EA89C968028BD5A6B42B1187CC64AB6C21AAB67C31B7BA5BB090E675A31B59DFD35D15FD088AE4AA2B00D8B9DFE3F1348B0B485A1C8BC5E0BE211F74B75BE185BF8D4367D0090F3FF94F463F383A033B063BE0996FDD02FBEF0EC2F77E1766713621620A213B3B3B75011D6FA792FA8BD7F5C688A05034F37AA5D69E391F478CE36E8E978C77586A01C18AD02A9B038BD904F64B36984DCF576954D69B83D45C5289CD0C5C38981023DD8DF448521600A90DA54312722C0BDE021432058946ED6C0D243ADA2C686EF2E01A1861763E0AD1D8429997EC26D2B3224F69AD06EB0A00FAC4075043141B470B405AD0E64AC197EFBA16572B0BF70E75B27C7A2A0E1722182EA5B2F0F4376E64B49B377BE1BAD72FC07824C284E0ECD9B30C04AEF4CCE07201C17A20503C1310DBC4F9688E7DFBF695774BA33170A24BB1272D9089A765ED2CDF77B13D8F02209C271864E6C842906F23014849ED326325664BD7F9961C1B2F31BF2C189463990508FA7DE0F3363145085F9896192FDDA75852F84AF45E1CEBC0E74B6B0A00123723F8DB4C8CE3D24EDA3F3F370B4F7F7703980CB98A17FBCECF86613E9E853FFE607B05EDD15DABE1B38F9D66072F04028786861410A807E8449A16F0538F1143403114D4CB7C3790FA910FE799300107811CF851298242ADD34049F0A4179E989C020FBA01FB8215B2892CC6E3DC4F4B42B798CA437A3E55B1296310766BF2C91C24C9021825EDA7120426E73B5080703C7B4F63B9DD60420148C511F83543FFFA2E989D9E81D1D1772A9543105C0CC9DBC7C6C6BE89D5C7AA04003BFB91F1BFEFE9E909888897B4E1EE9B9D30D063671A2EA68E560C7F1C4678F77404AEDFD8A2B437A3A7D97B870B7EFE8F19E663E948B21E88535F6BF511B79FB5C6EB013FF5D636F970D262CA1C0C72C0476899EABCE4DBC1E25C34C735D75CA3BC6F3A93C6B55A8426831B8A8B4526007432582A90E09520914A422953841C0912A395CA560279148BC6211FC3C803C1B44166B25166305DC731BE2F265038114C184C325DA6CD25A3B0DA1584523609CFFCE8291C67A9C21A7C6D42A190656262E28B28C0AFA0601F5204003B84D044FCBDB7B77703BD9C28009437F638E1E8C939665A987B9225F5FE4FAD5116E1F8E918F077A2B23380A006AF6821E97B0291C9EAAC0681CBA5D73BD9A49218DE84313B47FCDC329099A767A5CCC11FD5A9A42CCEC3C3DCB21E1B2093CE82CFED038BC3C2985F2CC88C2E14612C7A0A3AFC21985AB8A0B4B1B59285E1F8C51310F4B4C1F98569E94819415DA188EF46D95882B7C363E0B3B4403839836B5F6442506456A008D114BA1F0CC9D99C920FA9B000E261105D6FDBB62D74E8D0A13FA0E2DC89B4C3188158BF869AF0F0BA75EB3A9D2AA449669616EBC93F91F959AC6B9AC583213293DE6649DB76ECD85105F8B440603D7ABD31A2B917CDBE78CD858603471AC7059DF08E5E16E7D2C21D333317A1736B08EC313B632ABBA7CCE053F909B8B67D03CC1B6365C6974A8AAB38959B80818E5E9837C7416BCBFF44621C06027D305B985376F8183EC03292893281CCE7B2786DAC3AC7503F29F1E5861B6E58353232F2571CF74B332EC4A37D7D7D41BECDA89E8034E5D8B163576C07EF727E5CD20808E41F848840905B0011F8F163613D10B87FFFFE8A53B7E1B70EC3DE4FEC86E7132F41A6902D9B7A99D9B6263B380AAE720C5F14B67CF1CFD66C0717D259E0573E632A6F26793014CC39CA11A66CDEDF8E8F2100B5C305D9CD820A67F0C7164342C23D680982070F1EFC82191B0AEAB048F49FA4C15BB76ED5D5742D60A7D7A6EE2FEE0CD6A2D76A13EBE2B38BA19F98B975A231EC148D0E6F0410C8411F8DA792B49FDAC439C5CD27BEA9F7EAABFF81AF3EB01B3ED97C0B1C891F57E037BFAFAD6486B58E5512E3A1A48CE3F1BC1DACB0CEB59A912456942A64C00E1658EB5A550523E7E3F3F0E6F861F8EF1B87AA15A1C649A9BC6E8BEAB3802ACD210B303535A5E97BD5004EAF8F1AB82DA74F23F7D4F2F96A4C40E11059018A8B4993A9CE4F0345F0C73100CFE23C1425AD5EBDBA4245D3D8E7B69D77D65CF42BF545D0BD703FFB2A487D6FC26A44AFF94550BD9D33D1EFA9339FB456E663B5E6E08CE775BDFB349AF59E5F8D6B44AD1633F7F76A6BC0FBF239E89AD2DAB5DDF0C8813DBA5FDFACE473F1A58C51C209158DAC5B3A15AFF97D84B91EF30960D007904B3DC61577F5AED627E25C88F48E7197F37D60AD72663A0C36ABB1DC6E84CA6F0B3F249F9A6B7DD0A2E02DFA61083239AEB1C74E3F0CF12EE5471A97EB871E2B99F34AFDF0A2D611F34AB5F82AFE9824A2FA6188E77F01E3B99D6663AA070000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (163,1,'UPS_rackmountable_2D_(24)',decode('89504E470D0A1A0A0000000D49484452000000180000000508060000005F3F2CBD0000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000015D4944415418575551BB4A0341143D333BB3CF48DC2406D122687C442420C14EB017C4CEC68FB0F18FC4DA4FB0B3B3106D44141102BBAE139F6459CD3E9C3B90C28133DC799C73CFBD97F5FBFDB85EAF378BA2E0BEEFC3755D789E674031DD71CE31994C60599639C7710C296DC4C988FD641934175555A22C4BA002727DF67D0FAF49A4847E3CD34227815361267091E60ED234D584CA10094208E4796EC46DDB36C9984E1A0E5AB85ABDC5287B8327B419E19BF87078809B8B6BE2DD71A5D42939DB1BD8D8DF16A8D56AC62963CC081348544A6962AA86628B5B98EDB6D0D958C7FC6617736B1D2CAE2C235C5AC0CED6AEE12749722EC2303C46FE09870159CA908FC7DAAD3449A66D215025D48269659C0B38DF161E2F1FF01C0D619712CD4603EFF8C253706F8CB4DBED23D6EBF5E22008CC0CA6BD27388EF36F16244ACEF55F44516466F0CB0AA6AC0F54A56EBC765CEA3FB4F8486F5901A55ED41FE9B2926530D0C8B60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (164,1,'UPS_rackmountable_2D_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000000A0806000000F2E3DD4C0000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000003A849444154384F7D555B6B135110FEF6926C2EBBB6499B26691A6DD55245BC5441F0C122BE08A278A93EE80FF0C59FE09B7FC427F1C5AA880FA2A828082A3E55412DDA4225249AA69B5B6B92DDEC3A73E2916D6C1D7232B373E6CC999933172597CB2D0D0F0F47755D8F8742A148381C06D120FA9FC57CC33036EC33CD67183CCF43B7DB15D875DD0DDF8CE5F27D5F2C96711C47D09BC9F177508794EB743A7CB656A9541ABA699AB1643239C28695CB65349B4D6194A669026F46B3E19227B1AAAA7F2F93068E8E8E828203DBB651AFD7B1BABA2AF6A7A78FE0C5CBB768B5D6E175C901FC077CFEF9A45F43D888415542D8BB77374AA5E21039D1D51B8DC65DF2E81A45510F1A2AA3CC984151944D171B2EB10476848179922F6564E43F7FF98A8B37CFE259F415AC908986D314725BD1A7DBC771E7C61C1455C7D4644EE8A160BFD30B85C2F5F1F1F1C4D4D4D495743A8D482482E91D0EA2868AAFD5AC4899858505B4DBED7F0C968B1DE715748C2F083AC9FB4127C7721954A34DD4F43564AC0C96AB457126154B61C9FE0E9F82908C27F063AD2CE47798133870681F3ECC7FE67080EC7EBFB8B8784168A457B8C7516105AAB78EC3BB22B8742207AFB52278C108068D0FF2A48141A7B692659DE9F408F4BC8191B1310C65324813E6354C34F3243F4569C8D8702C9C397F8EF2C967FB51ABD55E931E57E407A54A8215F3D35F3EA6A25C59C173AA874B472DDC9BEF0807645EF7D31284F37F222CF7831197C6F71C506059261C97D2A9497543B2DE1AEDB1B346086144A08655C4A31606B514545D85F9CB8466C47B3A7AFA84729D18FAC4C4C42C7FA48C9F989D99C49B8F1DACFF7271723A82A7EFE7E9C26DD80A822F14A425964B820894EFC1AED6B0DD4E6165F92792090BC5524114EC603A86825D80464627B271941A4568610D993D0398BBF500AAD60BCAC0C0C00CE98AEAD4461F66B3D9537C79A1E2E1EACD4FBD9CA6E2BDFD72198D964EDDA2F5D758D9CE82B4EC3EB248FB5F6AB3175BF8F20DC7133388B74C74420E624371EA481E1ACA3AB49026642ACD2ADC36B563D7C3377B11F7EF3FA26C31C45E3E9F3F4875F950A7A23D222F58A97B28561CEA3C3EB8F9689A4F0714A27B39DE6FB8A48386F73BD0FF023DA0D4E9BAB0DFFE407E759052C2C74E3F25F29B8F6EF33302F39F8594C8F9C7F34FC4BC913387755A96B55FA1CEB34473400C326246649FEF6FA5C16F96E91F787216B0D17216C8C2E60EC6C387313B4C17231A8D296250513AF9E205370E2DC9F73C0E525760B147FC52B1E893AE1ACD97FA6FA944493536B809A30000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (165,1,'UPS_rackmountable_2D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000D080600000019AF686C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005A74944415448899557DB6B1C6514FFCDEE5CF6327BC95E923669926E8C498C4629A288D0F6C582855A2F20142D3EF82228F4A1BE28F828883714F12FF0415A44AAA8B42242F1A90F626B515B4D425B6A927673DBFBCECEEECE7ACE37FB4D27EB26D66F397CDF39F35DCEFD9C553299CC423A9D0E0783411024038180A6AA2ABA38784D340F67D0344DD0FCFB1824CD7F8687E338E8743A7DE77EB0DDDE76BBFD2F3AD376BAB3DF5D74C6A2B9BCB6B65657E3F1B83A343434ACEBBA102C9FCF637373530820410AD70BBDF47EFB1445118F4A904CC46231ECDEBD1BD96C168542C1037EBBD56A89B34F1D7D1AF3F3D751B7EAA8D76AD03A4047FC68C8FB18E9382EEE92091C77CD1F691D8A445D63109E4884B0BCBCAC911262C4CB0DB5D96CDA7E0643A1106D4AA0D70BFC96EE87FB3DC2FF9DE9FD2C22DF8946A3C24B78AF6118026705F0A8D52C7C79E62C46F60C22FD6802B74B796F2F5B5E8E9DF0BDF131FC74E602BDEB1AE3D8F387BD7DC44B47DDD8D83841D6FF787C7C7C9A89E1705830C2DEA0EB1A5D16A0B52184625AB55A1597F70ADBAB3089B302FAB9267B1C833FACF85DDBB6BDD0E1733C1E3AB80FDFCD9D43A36D0B3CAA46506DD53C4176C29F8D3E87D5CB055C5BBCD9F54647CCA552899C6DF353B552A99C23ADBF904C26CF533E88B16564381C98B6918AEB383F9FF494625916EAF5BA10426ADA3FCB355B51E2BD0A609C9920EFF3629BF7B3F00C77ACA9887DE6A409C5506174E83E9041021A414BDC135488A250B839010FEF06891863B1518C8E8DA2B05E40B154135FF8DDC5C5C5775657573F54791359F597C9C9C94B940CF7CB50303A053C32338C6C2A820B576F52F88C0B3AC729258F1DE3BE97E60F31099C03A4D28AC5E2963CC00CB2E0D3330F203590849E0E61209515E7A6CC1C162A37A03BA608F8297302F3E56BD0DB51F17D3A760FFE2A2E4275C214FE0EB2269D8B0DE2C9C38770FAF4D7422994E78A24C327BC56A5A61A8DC675BA603FAF2D4A3AAF3F93C6C52B4B78E9C87D78F54806EF7E55406220232C269314332F3DC12F30D3FCB874677F12E43BFC5E21BD4082AB3807996C1A5A52473C996287C0687C1CF950D90D0F82B1D8386E1B45EFFEB1D85EACE805213C83DA31904AC6313268BABCD01EF2E202ED6D6C5100B9FE9C6470DF9E22A64606B1B4E2E0E4FB3FE0E4F1393C3CBC8A3F2B03C27252E8BB857EA590730D859D487A4CE3C121C621C81EE02A0042199A1DC4FAC29A70DFC22079607E5528430928280F5650DA28D19A941D54602B4DB42B6400950DA422931920E5BA71AF74658D442269C2A3C447552880847A657676F67EE109955B78E3C549C4223654C5C2E30FC63139AC20773483973FF895981C124CF7AB12FD66067EBCD7DAAC000699FC782D1521AB001DC3D2D22D64F501946F95E1B4DAB8B47619954A198D9630207E5EBE8852A384A6425E4309FB629EBEB72A68111ED48288DD1B462A047CF3EDF7E23B8F5DBB7699547EDFA2E59B2A59E1ED5C2EF71A31A189326868F8E88B9B6E62210D535F84F74EAD1033018488C96AADED09E132A988B59CFB0DD90BF42AA1372F48BABC873D80936ECA482044F5DB69B6B1D92A239288C0B1E84CCB41DE5A47341842A369A34396FE7B6D1966280ADBB1851754DB352C5CB9823F7E9F27CB87C59D6C9499999913A40845A55A7C9C5C222999585EB7F1D9B5F296EECF9FDC24FE7FE7DE10304DD3CDDAF4BD5C2E735912099013227B002B2D3731E5E6A7850A0ECE3C46C26EB83D84A2A1665B24B0DBF418011D56B3E13543A120E1DD92F9DBCA55DCB8EE964006742B04BD1FA1A47F4CF52728D95A5242DC22341FDCAE1BBC1B90C9D2FF0E0FEA42BDF2C7A5B546DD1E95652F099AD1080E3D710067CFFE88C6198B129A23F8E74031D0C19D6A67238C8EA7008177BBC653F81CA3A3239898C889F22E77B8CAA09942608120DCEDEF93C4ACB65D8FDF9BDCFEAB23F4C376FDFADDF4F17EDCDFFBEF74C776FF35BA744E20252A87F57F00873E5D6DE9A8A9310000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (166,1,'UPS_rackmountable_2D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000140806000000722B38EF0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000009F74944415458C3AD596B6C5C4715FEEEEEDDF7D35EEFAEEDAD1F71126325A469022890A6ED8F2640790854A90868115245257EF1908A084580C44F90783FA5FE6FA98410555B902A2A0434A16A1C9CA44A138726F53BB51DAFE37D7BBDF772CEDC3B7767AF77D756C8B58F66E6CCDCB933E77CE731B37A30185C4826930D4DD3E0F178C0255186C8946D85EF90CA9375AFD7DB711C97FC749A53B6F9314DD32925A9EDDDF6B9C7B9F9B2340CA3EBBCDDBEE71EC77375E9D7A87F83CA2AB7F3F9BC578FC7E3B57DFBF6EDD1755D0890CBDDD6D57637BECFE7DBD5382E5909BC896ED46834761CD38EA440DACDA72AE24EE66F37AF3AFFD6D696206AA725FFF2E5CB37F44E88999F9FC7952B571C84CA47D6FFDF52D6DBCD2D1FB926773B9148A0BFBF5FD0C0C0002A950A6EDFBEEDD0C6C68628ABD5AAF3EEC9932771FCF8033877FE12CFE408DD9A5829A41CE07E4CF90FA5E27A68FD2659B2C74B550FB860F2FA80893D83B830F59F6D7BD6D5CDA94AC866B3E8EBEB73D0C92EC28D5895A7F2D5368F610BE0B2D338F7F89DD0255D967479CCABD7EB02612C58AE73A92239140A616D7D1D2FBDFC2ACDC7736E41F7B04BD458F3B85B0FCFD430784D9A508204D6534F7EAE759CFD4DBD542ABD4D942357E45751B6BCBC8CAB57AFB620B71BAAEF669F8AFC7656C016C00061622B600B28140A2D16C0C41620DF670B181F3F68FBE9063EF1A947B070721173C6823377C41746B95E2170B77EB3133FEA8BA0542FB7F093BE380E9F3D803F3FF732EDA5A900B874CCA0A0759759019F9E9E9E7E766C6CECD1743A9D909B64D31E1A1A6A41AC9C2C1C0EB7F8752616026F58B58E4E08EFD496A4225EF5CD92E7B64689FACDCD4DC712A415C8770860844C4B50B9DC003CA33ACE55A75A847234712FAEAFCC6C437527FE5022877756DE6DE13DD4733FAAA54DF87D3AEA8D26DA4DA3A9245EDBD4D4D4A5F5F5F54FEA26DB23F02409F53D12EA3752A954B01DFA6AB51A1E3A000C67C378E14C49A0501D77EDDA350E2A2D998D8AF24ED46E8C3BFB7097B1580C041641994C4628BF582C0AD4B32530719DD72CDF3B71E204F68CBD4FD4FB07B2A824ABF092F2D8E74BDFEFD70396B09458C08FCFE36BEB6E02DEC036DE44743F268DB7901DC8501C5D164EC96DDD24FC0B94019DA4FAAA13036813DF9D999979841470D81D0F18513A654F4F7DE6282DD283D7CE5F44B11674D0CACFC8C8087A7B7B1D144B64BB11AEF2550B50C7B9D343B735F098402000BFDF2F2C91912ED1CF42E73A13AF5BBEC3CAB222A789682402BDC78F482CDEA28048248A08598AA370BB2F188E2044EFA83CAE7B09E53E5A839A726643690C0D8F42A3C87BCFF00AFE7DE65C8B5B9D9D9D2D1058BECCC277076183907596367158150213B9297CE7F38378ED8D7745BCFAFA63A338FDEC8210020B91C72C2E2E0A2B50F37A35EFEF768E70F3DBE5DF2A8F5D202B9BC0224A1636AF9191AF96320BE2F78E1D3B86C1DC88D0015B10396B44C231A7DF4BFE3A40F3BA1540AB44281C127C4701CC17E39B7C499958065BC60C6A5A10F71E3A84B3AFBF49639B31607575F526ADF7C2B62C881F42CC9972B9FC5516ACDC2C23EA60AE8EA313297CFFD7FFC44FBFF5B0E03F3861E0CDB992130B386372235C523B8B90073775ACAC4BC4A8B9BBDAE66FD2015264365CB205B0B09958195CF2BAD922E4BBBC3ED3B68164328162A28148A829EC94AF877D8DA500C52A7A7D49E2EB4DBE4D29E29B7E2F5951AC5501D13E52808978344C71B4DF7265F67E785FB4BE0D55E6BA2B35EA57D1CF1BA816D770FAE9C378E6E77FC3070F64F1D77F5D11FD5F383580D77F368D1A0981AD807DEEC2C2828362F789B75BD9EE74DCED24CB82A7D3BB88434C2C74028E40BD5A325FBEC3413815880815707D1DB7B0556ED8FB26ABF04651AE52CCD884C85E046829454DF97B51A394D5EF0F5A6BF358D41F1C2441D71141AB0524230918548643418C0EE704F239D55592204F47059020EFE7CDA9AEE72B1F8D239DD0F0D8C3C362E2D9A575FC7D72091FFF70065FFB6C023FFAD34D8C8C8E0A7FCCA62D91AD0AB65D5BCDE5DDCA606A277849FCAD08F9645E2B5BAB1CCF8FCC8C788CAA00CBAAAD4CDD341BF01634144B0567EFF3C105F487FA50C817AC63816605CDB9E022D2A11E726B1B96F06D252C8596D017EAA58CA74A6D8FE079BCF41225F3C978148BCBB7905FBFED0461C35E1FAD2BD9560134A86F7070F03E35EB4987F2F8D2C78E52D25AC183F725F1AB17AEE2F28D75FCEEF48704EF23076318FFC73456367A857BE0A02785A10A53A68EEEB63C44B985BF930258C89DAE16E4915F923A46B3D1BE59DB44B01E40F956D94A0FA9BF681631309846F1E646F34845FF05AD806CAE071B37371CF47BBC1E143D45A4FB7B51BC55A480AB0925B0028A742E181B1A40C0AFE3BFEF5C7714206D2097CB65C96D9E2237F9AAA3001A9026F4BE343C3C3CC26DF6A9F9FC1A7EF3CC1034B322CFE808FA1AC8F5F92960517033AC094F7F318B277E7C1D7A202194E67629775AEFE47E24C938A00A5BCD84643624852FAE1E6CC156296DEDF1F5A1B149BC06294E9089CD520D957C4528857932132D054AA49882237C4DB784BD19AAA1B45A82C76E6BD4B756CEA3371EC6EF7FF93C6EDC58B0DD5933069002C24B4B4BBF208B7C94D6F8B64E95F7933FFDC3FEFDFB0FC88C860746C37EBCF2C63AFE422427D13C21C49361FCF6C51547AB2CB04C2A86AA11167ED91D80DD017637FC4EA9A8EA823813926E484D67B98FDD0D07623508F338E9878BE45AC7121308C402B6022C81EB11526A2228DAAC0493BF49A53740873EBF174EC0E0390D2BA21B5BF6BA1AAC0013AB953C12D1A8788FE526E5A95E1E1D397264E2E2C58B2FD21E1ED769C17FDCBB77EFB8DCB43C30546A067EF2FCACD36E1728D5BABCC9DC69EC4EBC6EA9A86CB3307B7A7A1C62B4CBE0CB07322E99D48318A7AB816054D4A7A6DEC213A9C711CDC448D80D1BF1947444B710EB279E2115607D732B4E27E981B893FFCBA7ECAF21DC13127C21645AF6E4AD4B78A0FE01CCCCCED3584BA61EFB70A71EC80E1D3AB46F7272F23956804F9A88BA4946175F47B44B13DD87AA766966B771BB39A4B54B45659D95CD2897C4EE47BA1DF7414CBE631DC42C01CCCD2FE2BDA9799C1A3A8EE9C2755BD024DCBA89BDE16147F0E092FE3452CEFEF8A875D76F3AD7A6D0EA06F6F178916A5A4A393F3705FF75BE0251EEF884D560DBA99F5CA84F775F39C8CDF261864E6D3B5E25DC29C9439A5ABAC774BA8E6070B04039B76762A1F37A19FDF22A82C97D1571CFD018B928BE56F0E1E96FFFB079DD70B72E43EDE92E6953048C60F3CA22E0DF76A9D8F53A9A1FCE95C7C7C7B75D94B5BB3C53FB3A5DB0ED760EB5BFD3A59CBCE296874079F9A6125B80BC8C13F939C5A754AA0F3FF8DE3785E00D1BDD12EDCEFC0ECF0AC2569F5537D8F16F7BD7D5273D89DD67D8A7E7C5C585F60A20D404666666E6647E6E2331D3C9D7EFA6DEADAFDBCF96EEB870273F3BBA7F16BCDB3F3B763A20EE761E22E727C9B5B535DFFF007E756B84B84A2F280000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (167,1,'UPS_rackmountable_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000002308060000005CB6028B0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000EE94944415478DADD5A796C1CD519FF66BDBBDEC37BF85AAF6327760E8C63C855078A0841490011481329294A45D3D2D296863F5AE56869821048AD68ABA84520558846A205A9AD90284514A40221690857C86528769C40421C7C26B1BD87AFF5DEFDBE9979B36F666777C707899391DECE9BF7BD793BEFFB7EDFF77EEF10D2E9345CE96BDDBA7575C964F21ECCAEC57407A612BD7A46BE75A2FD99AE360DD489609D4378DF673299DEDEBF7F7F3BCC804BB8120058BD7AB5CDEBF5DE8EFF4D0627C3371AFD8E2B65E0AFA1CD1E0203D6DB67B158F6BFFEFAEB03D73400366FDEBC803C5C100432F82A4C8EE930CA35028814A616D4CD3E02456565E5477BF7EE8D5FD500D8BA75AB231A8DAE96BD9CD282AF5BC9D7102046301D2430241289B75F79E595335705001E7AE8A18538BEADC536EF4134DF8E45C55752C9339C134CA4FE791A2A50B7FB50AF075E78E185D08C00C0AE5DBB5CE3E3E36BC8E0B297D7CD64AF9BE944D260FD24CA8E12180814A150E8C8CB2FBF9CBC6C00D8BD7BF7A2542AC50C7E1B26CBD5EA75571320F2BC13C67480F8435151D1DB4F3FFDF4F96905001ADC832CF52E99C091D16BAE55AFBB46BEF50C9B5D98CDE6837BF6EC19CE0B009991ABAEDADADAD2E6E6E67B5D2ED737AD566B131ABEE8722B7926186EA67FAB813A89582CD63E3C3C7CACADADEDCDEEEEEEC12C00A07707AAABABD1C602B084A1C482E871269349C0B10678192556A695F1CFDA3C5DF9E47AF942324ABC329842F4F2F9E446EBE9D5CDF79C4B26CEFB52A99CFF3F99FF2B540FFF2F8DFA1A4ACB42BA2120D266F4F0087AFC2C343AF08994AD979F4859A13A93916BCB9932B98E2ACF46EE57D3BBDAB209BE4BC3BD877FB7BFBFBFD75C28B48C8D8D4157579761CF35E2C113891C85EA539A88B720E0C16EB743494909381C0E314F320C95108D46016735E25D9BF8F68A8B8B61D5AA55E0F3F9612C1251E94BCF2BB53A9DAA6C226D8482013879B24DD113BBB3CBAC0DA1DA866818C0A94656D8D50BC593296343835EB9D1F626A27832BADBED068FC723DE592826A047D0982C8D8E8E8A6060CF7C5B041ABA2EF50FC2EFF7FC896B3F453F12B3BADC4BBA8209F4FE78D72FB7E67DCFAC35BA76FC21852D59B2242BFCD29DCF6B43B3CC25943C720ADDFADA909F4F96AB0E1F0EB521521B267920F1EF32B06B139527120955BBECFD742AAD327E321111EF0C5497EB2A227D586CF84D661508A4BE0A39BD5F04403C1E3F8764A064F6ECD96EA6101E08C820E1C489132A6F9B487EAA72A3F97CCC982FA3D05F5656A64A2C028C8C8C889ECFF2FC9DBF9C4E276CDBB64DF5FF765B31DC71F73A08AD1C8433E97359DF50E79E0D5F0D75E534E264E545E8F91B82F7C26BCFBF0A172E86B2F4A307462AA7E886B6379971EC5B89E3E28F31CCFF163DBD8A112BA634EAECB265CBB23C8F67F5E4DDBCB7B37A7C9EBD9F2FE9BDC32249AE3AACC3BCB7EB11435646EFE1CC47F966CA533979399F5039AA67BE2DAD8E28ECCFBF6E2E24DC69782F7118E2A94496D2CB8572E88CF7E434F064E537952F8391F62854FA7D08806096A1F93CFBDE818181F1D3A74F7F81DC6693C80110047FC171EDABD6D6D67FA0B17DBCC75067CBCBCBB3583829C261894189CD04C171BB3854F040600642A609A74E9D324CE826F33C91A911914002354BF4DD8C04925750D2CB6BDBA8ABCBAC7A536995DF0FC335615DE31717592199CEBD5A3B15F942C7F5602BB682C56697E887C00340FA36FE42474FA13D5AB04FABB03F71850422D1D98F1DFB3532FE3DF5F5F5257A048A1F2B8786C2B0FB27F550E72F819FFEF194E2555A4E410CDA08899C8ADC2811642490BE89BC9A45042A27A2C7481F2384B948A0CD66D30E32505A5A0ADD25BD6041706875774BD54DF079E8ACE810F2245C55E766DF37E034CA735DF9E4E5B63228B25BA018BF29958CA13EAC1C2114C4FF62DE4F510D9DFC4BECD7DD647CD52C802EACF0E7DEDEDE6DC8071A9867E9018114B4B2C9024B1BCAC5B2EFDD510A2F1E088A20B0720AA0E447CF58B3664D5E02988FE019912B9BEA7948200F4C36ACF03310520ED52370B321414B06B54492BF6856D1EBBE04368B336360D9D88BAB1641CB501BD830E268870ECA2DF12F82E3E156B0C9D148A923CB6FAC6C828F075AC08CFA55CA655999CD8B7F6E86B9D72DC4BE58404826E083F73ECE4C91B918D0D1D111C688B61DDF1DC99A06CA7F9A42033E8363C4B3B43AA8353E29801425248660DB776E81CFCF0FC23B873BE067F72F87778E1F87201226F204FE9D73E7CEC1A14387A68D08162281858820857D1AD288FCD1B7D29D4040E42F5FD292C0EDDBB7333B8BEB022E5709082E13D84D0E9597D365B1A2873A1DBAC6A7BBD95A8CE0C8BCA7058185C93950B0BCCF5901416B04BAFBC350E4AE84A573FDF0E1FB1F67868074A6FF172F5EBC84C0FE8F6A16A055141AF8187678145F28D17A3E0120180CC2130FD483BDD80C3BFFB01FF63E71AF28FFD596EBE1E1A74E8973642787748C26B061C386BC6450AFBC1009D4BEA347FEB4049011383625A53B25E6F93CF9A367CAB3727EE9968F8ED2DEC92C9A6C81E0B6802DE5507103C9C056C9FB758C9F9601C2E47A203093DCE1504FD1E5BA9568F48154A7E210BECA0AE98F05696D40C80CF1F4DEFFB2D601741CE81C86F89876EC270550E85F36B708EEBCB91A9EF9FB11B8EFCE06A8F5D9B15202E654D961E3AD4E78F3D380E8114C49E17018DADBDBF3EE294CB68C9F8918594F67DECA08204D0929D1C5489F36B1D541BE3D6AA3A6A6869918BCA55EB03BEC9074A5C096702A466620B0607DBBC39173C58E0042F2B4161CB29C78851DBF57AF6F552515D09AEC10CB7CE5A550870E97660C40C8EC395014C3F07FCC0800AAB183662D791215311A80C77E78337CD9D90FFFDC770A9E7D74357C7AAA5B3684003FFA561DFCB7A5058DEE50660EE445041CADE1F291BC4229D78AA05112C86637E4FDC459B4B30046FC284FDFAE5D0AA6A8A01A56D0F81E8F1B068603104FC6D49BAD648418F288F1A4F22C7DAE9411BF1F30B2D1F82DC87213AB2791370280CDA11E2258F2D83D585FD229F5A76ECE2CC5EB795D910C399ABF2000503137A2773879A452082426BFE3DB7EF0794D70ACF522DC754B0DBC76F00B51FEEF77CF633498078B17B8E0D12DB5B0E3B91E51D1A4649FCF072B56AC2848EAD847EA85F77CEFF0EB127AA44FFBCCED782AED3086CC933F16F6D9333F9464140B72F4888205DB718CD8A13F12C8F2A89837066303630A319756E74006000EBB6E940F8E66004132939CC77BC28543D3685C929B58423DD0820EC4A0D4530216D45D203404838100073F415A9EC6CBE572517F97150400A2E411AFD7AB506BEA3C858F799551B8FFCE6AD44014D6ADF08BE993CF07E1C26004FAFA87E1B1076F10658BE7D961F50D0938DE75490C959D9D9D22099CCE95BFA910C14224905F11E4CBF8F6A88D1D3B762865814010CB1C503C6686F170840BE332AFF263140C8C690283A00022EECB0044900D2F01407A8E97E1FB83639CF13329341E065F05F6C5EB067391097A7A2E649029AE0308CADA053AD875D8B61BBF7B481700749013D97F3D198E790E79C65068007EF7C8426C2DAA52E893CFB7402C9E82979EBC4D343EBB766E9E051B1F3F0321445D6D6D2D6CDCB8D110E1D37AB5DE73AE55447E5730D78A208B00AC2D46065958670490793E3DF3D1815F4DE481D7D5D92D02C011B4436C04878B14C73F52F8FE581C22C131111069EE240EFB898DC46014238032A4992063647C8ED7C420820012D0C05A000446435081406E5A3007BACF7F05C78E9F50F603C4C8C801B7A1A1A1EAB3CF3EFB0D66B7670100FF683632F8BFD5D5D595F38716C81B7E70971BE6555B6830037E6D69F9420F0C8D26E06CD7202C6DF02A324731C02FEEF3C2536F5C12C7D2B367CFE6247346089FD13A460E72485336974200190964633E237DF44C7956AE5D085ABF7E7D66B10BF94332110797D9216E10A592F89F04BC2401310DC3911110D03FA2F198285792DC5E301882443006F1745234AAA92813E605CC87878620358ACE988EC932A99C01A0DE5103C9C8303CFFDC5E692D4030A9A38DAC9BCACA4AB3C7E3B91FA3FC5B08EAB7140060854654CC9B8D8D8D73D86A1E7F6AA5C26B85775BFA554B8C74DDBAB8426C7C682C09EF7D3AA80AC9568B09C7259332C5621B13468C9B8B24F29EA7070223277EA87FFCB8AE9D26B2B57FC60358E2DBD23E8B208844A1DC590A66BB4532AE0C0202C0C9E017505B59039DA11E09182A1000B4F69F8659A5D5A25C9CBBB35DC634452F013EE9390995C565D03DDC87ED625F8B309225250004C7C2602FB323E892E26E206F7CED66103DD352FFD1A347FF8ACEFE00ADFED289A0A7D023BE3B7FFE7C3F219B57188549F2903FBD81084608F39B3FCC207C08D66ED414DBA4C317CDCDCD05C37DA121C20849344202F536B098F129D4F3619F1F0EB46D688F56F65DE88539CDB5600BD9D406C6D491E88645FE46E8370524E3523BA9CC62CE39942FA959080345417E014199359C193D0F4BFD4D70213190218FF2F0D03F3E080EBB0DA218A5049D5D3F219BE4C3F2E5CBABDBDADA5E42DBBC6AC6822D34363036AC6D80A647348FFFBA56F0A67B8BB8100964DBC13C1164DBC13CF163DBC0B948E0CE9D3B5511F1C89113B073EDCFE1C5917F412411558C0F72A8B7BA2DE0483A44C32B53392E6F755BC19170487617B9429A0303866AA7056C5E1B28269509E427E17674321BF4F5F529D341FEC42FFB6C3E4292AD172F5E5C71F8F0E1F5661424F54E02B1449D45C418F2C65C642D1F99334AF8A66B2AA817B5D8A10FEDD48F7FE689A576138A547DE0E087F0F0D60761AD6D25B4864F4B464C67BCDC396E8306A10ED2262650F66AC4AC33668746F35CD960D2D0C04F259C511B5C6FAACF3AD31D098CC2FBED87E183F73FCA3E11A4710CED8110D441CA9CEB2410BB88007574744C69E1A6D02ADE7425BD5D41BD95403A0A469180DD49C6881F7FE713DF0E0D959B366D52E98A22E5868D5BC431FE725FDF87C3480EC994EA08408B73E244506378FED96CE4C06121431965EE85DA9AEA2C21DFB630BF97CFA680FCB130FE081BED6A92D7B3BD029E18332249D7FCF973E1F1C776A8F64A78F29CEB7BF2E93C5F3E974C3B742AC6C5BE044303BADEAF9A06E6333E91B8A6A6A6091F07E7CF004EC71171A36D4CE331EA82752EF4F5C84C7DE2EF4EE57F27FAAEDE30C081461846238FE88C6D16CCBB7211B35CCF85CA73DDF9E9DF54EE13F19CA9D6D5CA26E3F9F99E0B9D6F9C4474094A8F69B641E4FC3F51A43139B90A70170000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (168,1,'UPS_rackmountable_3D_(24)',decode('89504E470D0A1A0A0000000D494844520000001800000007080600000012F78DB60000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000001BE4944415428537D52416BD440187D93C4241B379B2D069658695096B2085EBA081EC58317112FE255F667F853F61708DEEB413C089EEC51696985B2B0B624C5CEC684266B373B89DF17894805073EDECC64E6BDEFBD89A8EB1AED984C267651148F68FA948BBE6DF27E7BE63F7844B0AB94DA0D82E0E3743A2D5B4E1186E193E170F8C275DD1DDBB6B70DC330354D831002BAAE83E73CE872435855D51F6CEBCAFA92C6D7344DF7A3287A2DC6E371D2EBF5FACBE51224804EA7F34FB1505996B02C0B9EE7613E9FD3DE35440B89C22A50D58A5A158D00A9A14E043CEB3A16F2EC42771C470D0683C7B76FBAD80A3C18761F799EA375C1C51DB2000BB1A094921CAD61DFF370F0E018879B33C83B292E470A47B766781E3CC3F1C10C459EBD35B22C7BCFF61FDEADB1E1EA78B3B76EC828AA86909145F8CCDF912855C30F6F20DCDA86B9EAC3B11DF89D0D74F3083B8BFBD87BF70949927C307CDF7F2554069928243F34AC975D22341BD2D6058B30290BB6A29C867D6160FEE51B4ECE4E615626BE777B48EA14FBE6E7E61E25F3528C46A3981ED8A7CEB4ABD9F39B50840DB20326E7751CC7D049E4A7AA446EE4BF5DD18FD020D54AAEA095A8E5797CFE0B3D41F780B88AEA860000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (169,1,'UPS_rackmountable_3D_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000000D0806000000EFE6EDF40000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004314944415448C7A5555B6B635514FECE2D9733CDADCDA54913A5ED90A1204E5141B0A320A8D329DA976A4164C0E7799DA73EF50F884FFD01E28320820C88A82DE30D61141D111D6674AA75DA899D264D9AB44D32494E4E8E6BED7497D398CE14671F166BEDB5F75EE75B7B5DB6E2380E4E32E6E6E69296659D27719AE865A241D6F79EEF67CFAD7BC0FA1F8AA2ACD8B6BDDC6AB5BEA2513D092EE53807E6E7E73D8140608A8C4ED31E06FDE4C3C03C02F85ED922FA9EE6CBC497B3D9EC4F8B8B8B9D873AB0B0B030D6E974A60F40BF48AA81FF0BE611C0F7D39549BECACE10BEE5A5A5A5F54307D2E9F467A15048090683E708F8294DD3C0A4EBBA2029BBF5FD380F322E7E4A69704466CEF39352EFB95E7BED76BBD56C36AFEDEFEFDF57262626B6868787135EAF17A55209947F471C382991F3FF01914824108944502E97B1B3B3233803387B7612376EFE895AAD0AAB651DDE36C185D3612E14E87004584F4C3774181E2F542888C783286E6FA35028E4F55AAD769D7E38230C1CD07143AEB9B9245555F1A0C10E4AB22C1BDF7C7B0DAF5DBE801FF41FE1D53C68B65B629F57EF232BC0B3EDA7F0C93B5F405175BC7AE19CB0D36834FED637363666E9F63F1E1D1D9D4D2693F0F97C188D5AF07B5514AD243832ABABABBCB9AF132701CC74E422E88B4587508B36B0A915910D8D61AD9C13379E0D8E61A3D24DF133E1D387F245338BCCE33790BB9B67EBC8E7F3B772B9DCAC4A40EC6AB5FA910CBB6337F0D2A41F175F49A0DDD875E71DDD9C75C839D5DC24D724F15CE63173698389D32439320C35ED432293412C398238F1443A8D38CBC463A9140663710CC6E30847A318B08730FFD69B04DE1611A9542A5F530D6CEBEC1D1785746066D2C6C66601E54A19D34F78F0E55A44DCA0AC0B4E1559B886611CA91777D1B12CF7CB06C0C4B6782D120EA163006A8B6CD8060CC7074553E0F1981830C3507515A14014F14043D834D74C4452816E74B9CF5A9648099D0C2AE3E3E3AFB3E19096C7DBE7CFE0FAEF2514761A98991AC477BFFD2ABAA94C837EBC3755647AB9F5EC88AC134E95BDDD7DA4B6A328E4B6C819139BDB39B13610F3E09FCA5DA8868640DC877BD54D681E0DA9F121AC5CB94A36BA1D8F9AC3F364D7D04746463E8CC5626FF04F776B1D5C7AF7160C5D83AAA958F9E50E8A5543A408AFF782EF97EFEEE29680DD4E48E76EDFFE0BCF85A7E0AF9B681816BC012F6CAB836ABB2E52CC6EB6B1B35B46F37E5344637D7F1DEFBFF7017523AF389FC9649EA9D7EB5774BFDFFF820C6BAE64E3CE56DBD51E2944BA72C075114A0621B9042A5BA75C7317BADB59B7BE5AAB63EFE7121E2B86A8A4DB1873A2E8764D07A79D0457BA68A7A3A4670B9FDEFC5CCCA53DFE1745E16985DE8035124C02788AF43ECA53453AC0397E5CDF97F9CF5CCA4CEE7740EEA547477431E6BC468FA6639AA662DB078F13EFEF70A177CF76E72C1F5C8E23E7BCC7A10E74CF215BBBF4AEECFD0BBEA900C29AE831B60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (170,1,'UPS_rackmountable_3D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000120806000000EB2FD8220000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000069E4944415458C3BD57E96B545714FFBD65E665F62593317B422C2111444B356A172DC52A36A12D2D0D6D41FAD582D8FFA2053FB51F03FD96624BA8DF248DB5AD9422D2A0A02D88C625518BC9984C3249667B9999F77ACE9DDCF165986C767970B8F79EBB9DE577CEB94FB16D1BCFFBF5F7F7EF5514A59FBA6FD13907A9559DF3EB9D5DCDDF488675D63E25FA91EE1E5B5959B978F9F2E5B9E7D541D98E01060707FDBAAE1F65A569DF0962B56C26F07614DECADE1A7C8BE83A8DC7887E20F9C64746464AFF9A014E9F3EDD6D59167B983D7D98C8FD3F2AB7EDB5E49C05E25DA2EE58A150181B1E1E9EDE9601CE9C3963F87CBE2328C39A957E613321FE0B43FCD3F071F06F72A83065B3D92B4343438535060887C35FB95C2EC5435F2C161BA08571953E6AE124628976D5CA5BE2715F0A230572B6EBF1ABE7D79BDBEC6C278F50CCFD12E58C85A5A5A52B848E4744B6D2D5D535D5DADADAE176BBC12437905104514C55FACE31AFE57EF558AE91633646A9541202702BFBD2589AA68104010906D33445BF582C8A35D16894D6A9E5BD560976D519E5D65ECBA375D69A79676B617131855C2E27788F1F3F7EA83B21C3944C2641161282314921B7D277F2E498159567AF7A41B41466686868402412C1F2F23209B628EEE5960DC0FB0EBD7C18C3DF9C07038A9567D728D8FAF72C38940A2A8FBF79080F1EDCAFCCE8994CE63E09D4218DC09E205E4578A994ECAF47EBCD3B0DE0A4502804C330E0F57AC57DAC7C2A95C2FCFCBC4001EF65A59334DEDFB717E6711333998410DAD00D9845B3A2C446E3372247307A7614E97401A80AD77C3E9FD21389C400F1467A7B7B0718B26D6D6DA0B01010F61B25D4191A8A6A183244262626B0B0B0B02D14547B5F2220100880528F303A4352E60D8980B2BB6DB41E68C7779EF380A7ACA04F27A315B31585371AB707DBB0A3A909CB771F4255D44A884F4E4EDE24B47FA8132347977D1C8FC7EF353737C7A58758A0C1570C84FC6E0CFD648AD8663E7B8C8563E5D860B295FD5A63A9389F29FBECFD603088BABA3AA1B08023EDE13123A00251DA5FD7E445201C167B59B9A255845DD418B2F06A1E31368AB6408C57A731DDA3D91A2C9A6F0E35A1AB77170CB781893B65E85335B0A6A7A73FA3D0BBADAE427F9998779C106DF153B2C89B68DDE1C7CEF0DC9ACC5AABE454CFD75A2FE3D0D997A1535DBECAF30A62F17AB8226E846331442867BCD4FE12BCD190E88789F675EE8787C734CFE3FD9D7DF04402A2CFBC8011C68AE6455FDF3EC2922DF2C2DCDC5C8A94FF5518585E4C5EC94AA1CDDC123EF9A809E7466F23E8B5F1DEE128CE7EFF04AE860E11A3B3B3B315783BA15F4D922F159361C0C4DE6F6C6C147D8E7D491C5E8C08DED7B5B31BE150189A8F2A905A274222680429143DE538561544FDF5082A11D1E7B31AFC7184B558F92E2277D14038E8474B737D790F998010B65241D8AAB5F5EEEEEE1E09FD81BD45F4B4BB70F244072EFC368553EFF7E0ED17D3B87837572939BC562ACA97D532802C77B52A01C3DC1912CE32290DC060C866D2F0150CCC4F26455A4FC6E731FF34297CC9E7261B9348CED1AF004584AAA9588C2F2193CA4221CD545D43BC23028D8C934E67567300380147686F27DD3D250C40A5E8F3FAFAFA762164EE094EBDD3035DCD22319BC4EE2E0F223E13EFBE1AC2E8F84D5ADB2292A133D139E3BDD6581A4312DFC3B1CE95C0EFF70B45F84CCE2F8C0C99103908128959D4138C73C92C4A050BD79237283473C89A39F23070F5AF719836BD2340954357313E731D05B584824263970663B70197B98C73DF5E209468C200547E0D7AF47DC1B94F27E5BFEEECEC3C49428BA0B4542F3EFD9232A6CAC2ABA2BDF4E79C5024AF4485F02C2C27C55A49AF3A01F23A89006722E424C8C4677115E0968D2211202D60AE14107507E18DF960152D9AB310202329794D8CF35681125F1DAC154B6C5824657D86971E44965076D95CC2A3A9493C25D4783C75954AB367CF9E0F6EDDBA55D4C9E2474910B784E862BA842B89CC1A0F3EA3DC3AFC679E66E565EB2C8B32BCE43D5CFEF8E3397E99A5D369F120E296C3838DD6D62E9E3098FD630647761DC093CC0C40E07013BEF30553BC026D224331902FE545C964A5E53B803D7A6DF226266EDF134F00E908FEC8E01A39FF35BD3A8BF373940571263259F6367A086D44BCD799006512E439F63CDF2713A033091EF47A70ECD8EB18FFFD06ECAB161AE015A58F5508D87AF9AD670B1635FAAA7292A78B3CF10B7E464F6F8F58E47273292FADAD42F4333441E45E55304A9075573F666AC5B4E43BBD5E1D124E9EFC2171E601672BDFEBB59ECD1BEDDB8CE73CD7717E9EFA29AA662B7F03FA37F6EF115CEA590000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (171,1,'UPS_rackmountable_3D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000001A08060000004821599F0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000AC94944415468DEE5596B6C1C57153EB3B3EF59CFAE9FBB7642E2786D27214D1A85BA85F44102B1522950408814142144058A445441F9417FA02045A8A0F0871610215204123F9AE60750F81114BBA58196089A384A681CE71D278E1FB163C7DEB777ED19CEB933777C773CEBDD38B6CA63E4A37BEF997B67EFFDCEF31E4BBAAEC3723EBB76EDDA88BFB113E9591C3E8DE4B5CFA9640F0BCD59E2F51F20754992D49D4EA7FF76EAD4A9EC72E2232DB500F6ECD9539DCFE777988013F02BFE83C07DD06F4FE39C77B1EDD634ADEBF8F1E3E7F52506ECA10570E0C001D78D1B371E3301277A1C49FEB0C15D26E18CA265BC85EFBA5C2E57F7D1A347873E1401ECDBB72F466E657676F659DC5027B26AFF9BC05D42E1F492759040FC7EFF5F0F1F3E9C591601ECDDBBD7A3AAEA9368864CCB71CD265AFBBF08EE43ACCF23FD9D8441F1E3D0A143672B71572505B07FFFFE3504367E8CFCF8A7B11FFA3F067731EBEF99EEAADBED76771D3C78F08EA3007C3EDF2F6459F6E364C658B972E5465CB001496113A439452FD72FC7AB74AEFD80E278A177CB3D7E98B9333333E9542A35303939D983EF72C4438F9293EAEBEB6FB6B5B53523E04084C2B05ADEB7F3459E38769A576A9DB806039AC52721E0C69694080C3B0FE3D743ADAF84E837165ADBD7D7D7EFC603EB74684E0406B5C96412EEDDBBC740211EE73B8DF93A22716C7F5709D17CBE696A9D08AD1642A110234551A05028402E97834C26C3DA6C36CB88F87C4D6B6B2B3437B7403A930559D24172919AE26F98DA4A0AABE318AC31E7E9B679BAC9A33F71AC1B7334C69D37CE6452307867C0EE0D74B7DD6444D311C12E4795CE7512905DA8E504205A1F11699A6845DCC2C435F4DD89C929F8D9CF7F6D9D933CDE725D442526612191F9C69799004465A7C78D1A334B87A54D8B4220ED4924121628E5DA0799536E6C071C6CDA170804201289905F656BA6A7A7016FADCC0288D0D7B296F87C4D2C160335CC63CC2CACFF681B043FE18781E45C6C7421685CABC5A772BECE805F75A709CE9CBA68258A5CA9EC0FE14E02F8DCA54B978EAD5BB7EE11510898D742434343917673803C1E4F115FD460AE814EE372F3782B6ABF539FB49BF64744EE880441EE880027C29B387345C4E76BABABABADB305705DFC63EBE178DB71C86A390B90F6481CAE4EDE305C88F0B485E3706DAA32FE939127A0E604FE96F62F74739EB9A06C03FFF6EDDBC3A828AFB971C31711D8672E5CB8F0E6A64D9B9EE1A61B0C06A1AAAACA0A94F43485A7211272C38D7185F95E31C0F6F6F6020AB228A3592CD95DA2DD3D12D87575758C3089606053CC22CDA79613B7007AB66EDD8A31A08DF5E3AD6B20DD982A029F9E6A5F641EC8063F5C31FFE36A075C2C5C85A61551181E1A2720E66172E5CA955B185F5FC6FD1E739B07BB8F2F3EDBDFDF7F76FDFAF5713B00E463F3B9347CE78556A809FBE15BAF5E8682D75BE4B65A5A5AA0A9A9C91288E893ED7D51704EEFC4DF15359F670FE21A6A691EB94C4EA4F9D48A990E5E24616696854554AC10C8111982A860E68F31187DFE00F851B1400CAAD87AF0AC44450A8124C62CFE342A519888A6A0D08EC15EF6C0C0C088210073CEF8F878617474F4157499C7580C108270221C0E9FC14DC74510E8210D7BAEC30F053CD83F3F1884AFED88C091B792E01584401670EEDC39C7BCFE41DB72B936EE13A2D12834363632DF4EFBA37835353565118D2913E24F676727AC5DF708C3A10A852187BD6849AAA1BFDC35294108E5D5628BA3984319D774B838E331F94A2E6C8D891A4351E8F30E81148EC1A776AC81DFFEE67523D89B96824A3E8CF1E908DF97DB765938899B7E9E80E59B207F5A254FC1D79F7B0A5EFCF10978F57B9DE0F3CAD075FA2C8CE714CB3D6DD8B001E2F1F8BC0CC5AEF1A5C8E92E60CFA1C58C46FCA668015CFBA925122DA030639C331256215B0DA004540B68450E8214F08032AB16811F24BE5F0605D78B561194038C1F52D5B904017FA72154079A2EA1727AA0311665C0F38C88F68D7B9B104B146E5B54CEF183D243074B26A6E047DF8EC3A137FE015FD8DE8C5A950452AC9776AF867DAFF563108C33102E5FBECCACC0EECB171A2F34C7292D1663005900F97F6AB90590DF175BE2F375DBB66D83352DEDCC0555630695F64D028ADCC8535C12D4FA6A21A717C0EBF1B3E485ED05FF1AFD51D02404DA152ECAC49ABC0D40B706058A055057558BAE4E83FAEA08C45B569BE799B332C47746C4BC480098DD6CA7E0CB358FB47FE7660936B604E1E4FB05387B7110DEEDB905EF9C1984AE5F7E069E7FCA05BFEF1967AEA0B9B9990545AEC9F6CCC6291B72E2F3BEDD0278DAA69BBE97AC943220CAC8588CC2BDDA896741B48E8465780153D0491D52A84C56E1C627B3A09A484ED10C4B08630137F25548A613C63A14968494F027D97C54591C632627633C903161F1B921A4F86164EC3E4B02D8EF81C4F1A7FDAA8E02C08FFB509B1EE75A4866ECCA8FC277BFB2194F9E811777C7E18F2707E0EDD3C3F0879F7C12829E3CECDE5E0F27DEBF8439B80A23232370FDFA75C77B81BD5FC97BA70C88F749496A6A6A586A492DBF07501624B6E23DA0A3A303E3C5470CB75AC84360DA0BE9B1B4E56A527A0AEA6211488E248B6A54492909B5B18D90184B30E039A55D29A88DE2FC8924022F1902407E665D169A1AEA59C0EFEFBF6D5A9264C580DADADA182ACFA3A820E72D0110F868D66FAC5AB5AA9DBB1E0A643FDD1B05BF9C4786B1A14B37EF415500A0A60A199A11E07EF0D506D8F7AB7EF4853580EBE7DD70C59B6E257C7E2FB05FC6C41840DA4F4220E2A5089E3693DB21E2F701BE8E02B76EBA030ACEAA1C8642B6001ABA0B1D4943C06694026450289AC603AD313FE7C1347728C1809664D276A3CDFB50F063299387E476C178F63EB4AC6C80F7DEEE823F9DEB352DCEB892D119315B5431053D62569927A816D4801B7FB3ADADED093469170F723EB70E03A33978BD7BD0D04AFCC0EA1561F6B1DF9D1C35F25BFA2882555BE581041E98DF9CC5DB6DA97A4FA95A12E78B7EDF5E96A00B182909CD2377474013A8FC26CCFB622D88E66096C90262369385556A0B78156F91005C18543D8A07C73A1302F199D1B9CCE08B7C49C3D47896AC4083993C06FADC4C9150C632F721E4F3C3ADFE01484CA5E6C5343ADF962D5B1EC38CF11DBCD17FDE8D1AF497D6D6D60D5EAFB7C8F40A9A0CDF3F3258040EFF801D5CBBEF16C1E4633BD8BC15DF8BADD3658C1381CFC9A9C249BE9FFAE24D98C711EA5FB8D0075FAAFF2228F715562C634220AD5725A88AA946014DE38115F91117A833AA5584B3B2C6C02CF8F05E64B84D23989F1FBF085BF547617870D8DABFA9AA737E1F9566F3E6CD9B7A7A7AFEEC46AD0FF25C5EF4B324104ADD4A15DC4AF59DDED9DDCD42453CB1ECE1A4FD34A6C0CB5D10116937F168CF5427221EB920D102C855713F7CEDFA4D98BE96849D8D4FC3D5CC2D74A726D088517B7D8B212CC241E36EC8056B637196E598854EA3B8807AB216E733CC4C7C4F8F9E07CFE53CE4F2055C67FE6B5C022B7DE644E7C47D06DD4EA91E11F9D1BB77EF960CA04BC52F35D79E8A8A7D0293822F0634D6920028E852FA29B6621ACA52D79862552A5FF8E64B65FFBBB5D8E7B4EBBD39F0AD0BA6F3EFB8EDC0F3870E49A9A553CAE8943A2E665EB9F94E6508EAD33BAEF164CEE46A4808FC32C6FBFC22466B48587575F5F0CA0F5F3603AC66D5FB353313D274CDAADF5B2E48ECEB0FC6D3F86FE01E8686EE3897ADF11083E86A66B95998126B58A8CC5C2E8DB4FB72F11D7749957CBB5449BA547FA177620C702AF02D54FE5EEC6F3A7D874A3E54DDA1FEC4C484E7DF963F5A84A50413980000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (172,1,'Video_terminal_(128)',decode('89504E470D0A1A0A0000000D494844520000007B0000008008060000002B9216A50000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00003F024944415478DAED7D09801C6595FFABAABECFB9EFC99D40420839091010420847802020417451703D58FEAEAEA2ECEABAEBDFF5BF2BEAEA1EAEC7EAAEB82820203701428418CE104820E49ACC2493B9A7E7E8FBAEEEAAFABFF7D557DDD53D332191633B380595EAE9AEAEAEFA7EEF7EEF7B9FA0691A54EA76DB6DB739ADBEA61F5A6DCE0D8AA2546765D92A67B3798B288E5A04ED9EC19E9EFFB8E79E5F8CC0F4765C9B508960AF5CB9D175E93517DE5B5D5D7F792E9793D2E934D09EC9640AC7BCA240736363AAAEDA7757F7918E1FFFD74FFF6DDF349CC7DEC44ABBA10D1B36F816AF9CFF2062B9114195106CA03D9FCF83FE5A3FA69229D87FE080ABABA7FF96B3CE5DF7CC97BEFAF5B3A7E13C89C03EEFBCF3AA6B5BE73F545BDF74A9284AA0AA0A586D5620E963009DCF971E3B0E76C0BEFD079A579E7DC16FBFFCD7DF58390DE9490276EB9CC577D5D435ADB3582CA0EF56B0596DD0D2D20456AB95039C83742E05876D7B60CFCC6DD0EF3F08CF6E7B16EC0ED78C33D7ACBDEF962FDE3E7F1AD60A07FBB28D9BCEADAA6DD850045ADFAD560BD8ED4E587CFA62F0F97C8C9B0FDBDF84CE8FEC82D0178761F0E31D10A83D02E3C171686E6E9DB364C9D2CF4EC35AE160FB6B6AFFDC6AB58B922421C81298B99B0077D81D28E63F048B172F026BD60190C42F8DE39E02B0E75C306BE64CB0D96CD03A63D6756BD7AE754C433B71B354C24DAC5DBBA16DCE69675C4340EBBB058AA04B260EB7C29A356B60F69CD970DFB6DFC0DE8776832F59079FBCFC338CE323912878BDFE99575DF7C98FE2657F350D6F0582EDADA95E6B77387D92244211701DF452916E65FB82F90BE0AB33FE169289247476EC477D6D87A3DD5D50DFD8024E87033C7EFFBA69B02B146C11D976FEBC3930323A0EA228B27D2AD0096C32D206FBFB60D78E1760A8FF08F87D5E769D6C4E83956BD681009A380D6D85EAEC73579F3D7FFD85E7239036D0B9DBBC4F04BDFB48173CF9D06F40C9C661F5D997C24CD4D7555555E0F73A61EFEBCF432C1CB64C435BA16027D299ECD1BE01E81F0A1438DBBC1BA093FE1E1B1B812D8FFE16169EB61AD29EDB60D7C0CDD031B69E713B6D0E9B0506077AEAA7A1AD5031BEEB8D1DDB330A6875D55582208840FB64A0D3BE7DEB6668A8AF859EE0E93077EE2C68AE05D8FA6A33A45369167C218B5C1415DB34B415CAD98F3F70EF1F82A3433B1C0E1B022D94ED45A01389180CF41C86EAEA6A48A1FB158A01BC7A400339FC1C035A5555B62B72F6E969682B94B3694BA7E2F7E2E16C036400036C28BC1EEAEF0597CB09F1781C3CEA6638DA350056B51BDCEA3E703AABD1F58A9001A7EDDEBDEBBFA6A1ADE0A0CA485FD75DE9646288412B4009C8FA6B809C9C659C2BCB32D88420D44A5BA0CA7E043C1E0F04834170BBDDA4DBF7EDDCB933300D6D0583BD75EBD6E848A0FFE66C361D2ABEAB813903DBDC36B3E07A11E0440824BE93C92478BD5E102529AB28CA85D3B05638D8B4FDE6BF7FFCCC707FD72733994CAC08B2C600A5BDAEBE11AAEA9A99FB65CEC333B7CC62495A2D96B93FFBD9CFC6A7619D7C137EF8E33BDD5D870E5C75B8F3E0B538B0015194BAF0FD03D94CA6BBB3635FEFE0E060EEFDBEA9CF7FF91B57B7B4CFF86E6BDB8CF90E8713F531ED0E768CC563F0D2B667201E1E05399B054192544D13B6FFE74F7F741112803A0DE931C0FEC7EFFFC78BCF6FDBBA46102D9C83548A4031A529E84254418B388F4719FF4CE139691C5DE43C25A6E4F3E1BCA28CE07987F379657F707CAC23160D8F208124DEE98DAD5DBBD6B274D5799F689D31F3E659B3E79FE3F5F94487C3C14477281882C3470E1F1A1DEABBAFEBC8BE3B1FBEF7DE9E69288F03ECCF7DFEB67C6F4F8F44AE4DF15D661A15C427FD4DF86BEC1F43AC02230CF61A8D26DA4124638ADE00FC4320E290F19B198D72549A16573535A62A4820B97C30AFE48FA2F4D837363A7C00CF09E21E462251CA6FF09C73CE719EBEF2FC835EBF7FA6A2E4955060785B4D6DF50FFFF59FFF71CB34279FA0EB85064F166175E9C10C1D686E0773E348339B4B3AE85C02682C044DFEAD4E042A7B4F1590F3254DD59CF8B71389C06FF8C0454BC10256C90A36BB137CD5358094A609A2A05CB87E437EDE298B24D4BFAA45B2D017728B979F9DB1488265CEDCF9B0E7F51D23477B0EBFB16BF7B8B7BDBD7D666B6B6B0009243D0DE37172F697FFFA9B631D07F6D549162B7B0339081A672F0049CD412E9382643C0AA97802923C42C54067470E3237A0547A4FE580ABC67BFA6B555340557402A1F70CFA110C9F8A6F24A66FFADC17588C9C529A648891F1451B118B5E8796479F3C0963A3A3108B86B44307F72AE1B1D1A4266819BC2EAA193591574882286174D582283D46D299D4E16C36DB9DCDA47BB914892091687F729C6DB3DB531AE96712C1689C57F9ABE048CD329011138745048F5D00AFA842BDA880A02878061E5554E14A1E443C0A4814A0E440C4BF851CFAC1F92C28D93424C2418884421089C440CEC980CCCB443D814DC0130118C463806E4763CC88851B192E021BC537EC796317B4B5CF048FD7CFCE6B686A86AA9A5AA1FB48A745CE2B7EFCBABFA082504A4916B2D06DE0747BA11AB8AF2E0A288B04155FE72FB9EC4A5231698DEC1015094455A2E8B64572B23C9EC9A4C79048024A3ED793C9668EE473392A570E2281C827B918B72545A6A34536E8723609760426A308B8A35586423E826257124D19298B00163C8A121EC56286CA8A521D7D5D3C8A506F01684702B1318240E2C05D43CED4D047D6904074A290F19801359D0185A448240CAFBCB80D69070908AF61B33920276760A0BF178DB271686A6A819973E62385DAC0EBF3B372A5742A55B02B885C999A61AF3586BCC66D0D464E44A7A049F898282E043B09329D408C67B031D5E24682123811321A11055229F9CB2EBF2A8BBF9541699542A24D28AA12CBC9B9F164323E381A18FEFEC0407F7765836DB3250C8E20AF3B95CA804D4330349B2E6E556E9973318D06181B0412E11A1F0C7A0FE87DFC0FE900F2F83AA58890052B028F446293902804D2CD38A03A81D8887B459D68D867FC2890378012444369A022D0144039834A8965198920CB8E79390DA94804C2A13198BF6C39A096876C220EE1F111088E8C3069C26C048183CC4167F7C9D4906E711A513A8340D87B1A3F9F9DA293094A22324E6C78BE8D118811AF9748FA38C085D2A3B1B1F1C2DB6FBF7DF1F7BEF7BD5CC5826DB7DBE3F4500420DE3EC8721EDC82AAEB6060B30880E3CC06254FE792FE141040F6BE068AAA8B4995F96934C8921EF2C42F29EC039D60F40B093A17922EA78FF098E7E7D03D482845541C4C0D0752B339D9E08B480064AE49FC48BA1FAD3FA8D6F4EF2B2A7B139AF148AA857615558B4225C7A802D47C8E118F4204C48E19145919464C2A932821080D0F41281C864422A94F46304D4890E55CC150358CD692B9156CFC60E65B6FEE9E8D607756B2188F9B5D2E46CB79E42CD4BB8E5C0447D8020AED8215071F091B8DA73CEEC4C12A636B8901A2148843E74E45150A1241E01241D14F60EFE519F1E80420E12ED235D8792AE31A025F435B817D97C8502483908E2A3F6ACCF8A32389248511A0082A4A12058860ECF81A78264C372099AD005AC158CC292A24324814AD79B02E54A00189A2118984A91C942E4819A87A640ACAF32311081AAAA8EA8848D2F1088C0DF6C1A1FDFBD12EC9D9D1C168C09BA95CB0714F917156C45B605CA16573F0E1D5F3C15FE567949DC3074E219567F0FD742609D91C710E5AD9795D44AADC4AD7B8B6245147034BD118454482A02242241291F2CD646DDBEDA81FF98EEF09687D330EE104807A123994C0234220A0D92501540378A44391884CA43B6652897E5D64AEB7C85990BF064E18121221525902EF3B9ECE43129F8B1183A27FAEA2EA51552B128685FFAD16D2A62A12A98A624523A967C5D72EBCD72A151CB335B870F636D8F2D0EFE8B9DB2A5A67835E940B9AB1B3B14610050B64D1A0A28C9291792AA41FF9DF22B7A2754346B7E8459EB1D23FD3FD6FDAC96D2291AAF0693CE96C1689280E99441019070987DC3472AC05D2F5081E271645D1094861EA42D3D509120E219F8AC750DCA35DE0708188869584BB88469D2E199865C50047CC20490067F390921536D384C094445D75A9F49F2070235557312403F4A71275BB848885938FA06B7276460A89C7E274EB63879AA4E2C1160D4EE03B59CF8AC5050934D68A01159373AE714BD730EC34EEF270CEA66B28483039148BD974928149D3785C38282E9F57AF2523FF99139054486B0A2547765F825688DE693CA09345238D7CFFA1C30760467B0B1A956948E2EF2412A3784C2381284C4467F0778368AC25D1DA97F34840F89E0D5514BA6A487828F68990905814B4C215C9CE0C4AC18A44830403561708683358D0A0244220ADA414C057F5A20A6EA7581C6E6368BC950E764AC7DA001BFF470ED45047C793C98241A2A7138BBADD2001A1E8E4E8229C055214482562D07FB41BDE7CE579088D8C821325C4E9AB56C3BC5317416D7D232B42200E643CC48CC3891B13CBC69585E2D1614717C95A0D0974BFE6CE990B13E27CDC86D0833E50625815FFD6033F2974DD68A734294D168CC6E31047232D120D432CDEC70C5699197A2A1E9148289F4E04838444C412802A10FD4EE31EDC15CFD94C4F33578A8744112C15293E994E140752033007BC0CE035281ADAFAFB2A8B70BDFCFB67E0E15FFE0439BB18CD7CF1A94761F99AB5B0E9B3B7424B7B3B50464BE4396995F18C56222AB8FA2E109A2814E891E974D514B717387128F43913C35AC97D995F83C987A68207DAEBEBEA4BC3C260E403A0E48B5AE93FF0B9AF7D07A48699C687150DB6C874B6A07324895E95B92F3906405ED54AC4370F8E16065C33297BE333B28AC3E341D87CD7CFA1DA69873A971D7C360BF3A19D160BBCF9F276B8FBDFBF0731F49355F2A78DEF6AA6DDF45B2AFF3DDD04100AC10E104AF40A7701B5D2000B9412A8615B98DE80423A4028C903991242A5615D018A55342CC46B95D0E0B41BE3E3AA78314E8F4C204902E708326028A799534133236DD6CF06C10BC50F99058BBAF1AD1D2FC0F2D96D509D08D37094FC600E7F6777F761E83AB81FFCD5D5205A2C851F30B89B2C72CD887B09459B5A107940C4A44E74915DE434E316751B42287238986D0BA1C8BF9CE54DF1154E54DCAF3624079740263A611FDA6C127A1976E3EDCAE76C3D22A614DC0C8D59ABC08C9C02D799049CC6931F05C6D60CE085822A48E7F293FE20855217D77B61D70B7F40AB5C29E568D30E3C78A7998D33100AF5690407256754AD18252B66EC4A53B5A51CA9FF419D1BB299345339E41D14E2F4659C6BFE9E21FACD6CEEB0A05B6929542E9F049C4DFA4F51B84843EB98A24E38B43975A2AE3228BA40F1E5CA1CAF555DDF047B6209A8B7AA4C274B65D92D01F5F8787F8F4E58059151FC1DC6C95A31C853FC3DFDB7E83D19BF9B456229D5D94241D2085A29871735317E37938591D111D8F3DA2BD0DDD9012BCFBB106A3D0E98B3F00C8A329974BC50941886272970AEE7D7B75B2D2C6EC055FB4960A0A17C247745777928722433AECAE6D5C924B87ED44C62CF7416B94B754D6D6CF6C638829A44CBB5DDE304BB24C2683A0BE14C0E75B70459216AE2E242654C61800D2ED64CD63318FE7691EAC02CBB05B330174A01374433A9AB2307F7C04FBF783D0889317676D7FDDF07C95B0317DDF89770F18D5F4037D15622AA35D3EF08E6D83A818D2EA520594F26310E4C8C13E0B44B5A9E3D0AB91B66716DC448F40441A9EF6D14355020A3AEA50507CCC1406D4023CDC22374B50E1BDB49F43AEC76D4C162D118D3F4808966E2EE42450C1FEE2CB93D240DB4A27C15CA64B7505A6E536A8091BACAE7E1D11FDC0E62720C7C88911F7145B50B5A22045B7FF66DE87AE315282980E1AA402895DE0523D18A7EB8C873EE952EC609EC94C839DBD8815BC97973F0442BBA5C6539001E262DA24E29C8EAFA06F0DBADCC1237C4381DEB9C3698E975A161632D05BB106EE54906B30EC7B1CFA87A240CCAAC76233053446122E0A68F20158F42B0E7102CAA02B8A41DE0F27397404D532BBF7515868E76B2FB2831F885A2E55EFA3B68A0A1181738D8DAC9C0D9D4AC4641914D4093E1222AB2AE17F3C5812FF7ADCB8F9AC9BAA54A93D3CF3E978528278BC091A676B83D3848E204774B2D71BDF4AC9A01342F6E2BFC5649544F10A01CE372C38D36A7CBCD2278ED8DD550BFEA6238E353DF80CB6EF8B30277AA86E43049865257AD14740711ADC6C3C81A385B5B5BBD15ADB3A90821AF14D3784A36CBB25A14293273B0A1438B7A5BE3850242896E27E299B1EA3C18DBBE1972A120FB2C2EE75950C4839C9046C25A7BF547593E58E3E9D542D18166C4E749AC0BCC55035177C974D7ACC8D1E53DDC8A51BED2608B1EA0D1A9889231356DB3A0768E07DA2EFE387BA845CB57C2F235E7B1D7F1D1FE822BA699743F009484870DC0ABFC3E18CE64A0AACA0FB16884C478153D6EC58A71E24485C58BF32C61914AC650DF921827FF7B72EED42670B6FE8FCAEBD004C906E2C29570209C800EDCC7D0380BA4B2B03F1487819C0675734E6559A542E8D2A422349E02CD52D6C91CC92A11F94414E224809B7D2528C9E631D18CD2E4ACEB6E01B1BA19244751C52E58B2141ADA67413234CED44B91AB2773E98A17AEA9AE82642201757535744F1E7CABBAA2C5B8DDE1609C6D009E8C85C081522D2F5A20836E8AAA4D04BAC448E321CA7C5E46DF35C3A26381813E7035A2555E5DCB73DD028B7091D166F378A0BFA71B22E120A4D062CFA34FAE72A34865796DD4D18A5E4061F6BD550EB2CAED04ABDD01199442E59BB9A4C824CFD90BABC5020E74AFD2BE9692EFB87D3E7860F33618EBEB62491A615203CFFCB77ED16AE4E87432012DEDB3691844BCB7D68A05FB4BB7DE24DBED4E85B88CB89AACD56838062E210F39C1CAC0335CAC1223CAE412517FB2143E707074148E767540E79E5DE0C9C5E1AAB567C3F537FF398CE5018219192228CA0359056EB8E96668B469D0B1FB75E8EE3800A3230148C6132CB841A06715B5548F8399F3B582B54E862055924C59263A69385480794B578356B780F564319EE1E127B7C3B36FF64070A80F72D954411A185F2EBF8E41507E241241C942554383C1112D95ACB3C16EB767544571AB3C811043B1542B2A90058995E7549B8438F37F0B355BBACB168F8621D0DF0B163909CB4E990D676D5CCB0A12683BF59453D8C06C7EE877E0713961DD862B60ED2597A2D8AB831C12D6CE37F6C05B9D0760D8E186A6D619E0A9AD031B72AC08E6C08DA12F753D2EF2C1669C9DCEE85AF218801B3A980889A488E4F241D6560D3FFCF9FFC0D597AC81A79F7B19EE7CEC052432BC54FB7C4846436073BAF96FEB7ADBEC5B9B622DAC379B944B3183931364436583ED70509AD3CDDCAE3C8F69D16BD14A2D308AB16FC348E3044F8347F3AD828121B86CE54258347FEEC41F40B1F9B11B6F84050B1742381C86F5EBD71743A7F8D99A552BD87EB4AF1F5ED87300320846434B2B0B6C689A3936AE53982040216ECE389B8B71731CAE3CC345EA2087E7D1BCEE91C030741C3C08BFF8E98F61D76BAFC19D0F3C5D62E065AC5E180D464072FAC0A54F012E09A16A85A8A1FE1B5E5449E4BDD8BD9E8A0FAC30B0D1404B51A19F427A9BE2E354F24B7558163B2452E989110B136713A750BDF864409BB7952B57C2DEBD7BA7FC7CF68C76686F69869F3DFA0C78AAAAC04B614BA198F62C1880DCD0A023056E52E958312B566EA871DD9E4A25A1BFB717363FFE283CFAE083D075E8901E4F28CF9FE3B9F73EFA343CF7E611B8FA239BE0F22B3742FBCC19CC5D13C05491AA1553BB941E65603B6B2A3EF3C56A06A89C5834258BD9BC2D2A60B0D8209E4C9B8016CAA266024F7E08EF0EE521A7BBF18EB2284D54DDB12E89DC95276348DCA733E909DE82B9C882FCE6683802FFF08DBF85EF7EFBDBD071E0C0A4401B5B3AA74257E721F8DE3F7D1B3E72D5E5B073C70E905195953C6259E4CE8646A7D5E1ACF89CB6A1B3E3E46B1778883885381B5D9BF1C37BA0D76388AD42BEAF30F8B29C451D1786ADDB5F442E97596DB8DE9CCE82629A1FE96F0492CA847A7AFB682E35B378F5C2FC6237433ADFE7F7B3F263D588CAF1EA63118A993091139EC56E47B0B3257180895639B0BAB7FEBEBEE31A90BC29524A538CEEBEEB57B0F8F425E0703A8BF1002EC68D048B0EB6ABE2A3680C6C519492A2201539891E04391B9F025A9BEAE1CA8B2F9C20CA8D71252EA1FA6A9AB1918D46202DCB904B667861619ED5A19195AFE051A6627F7C4F8FD4E5F5346336C7A6F7907168B5DB10EC2A9AD603C941671134B1D49F164DD5B01D3B5F8243BB7796E85D919F4FE7D177C9889B356B169B9020E78CFBD1EF23677ACD8A22F96B632262C7FEFDD07BB49BBDCF88D666053B1E2D36BB3E0F4D23774E048BC35EF1F171A372204903C3734D3AF36A79C62EB99C3A25D02CDE8D0F4C860C4DCA6B6E693109DAA2D5A4F17A3095EAD1791D99C0B917F8D4603A8FA482052581DEDE4AD22B5405B3E12594E864FA6BE5DC19307FDEDC6270C6B4EBA14F8D81F7E99B6F62AD390C408DA6F546E37A63A773F406F63277053548C7C2D0B92FA49FCB5B7CB06B516819A55FB4F710342F5A5AF1694E03EC140DAE6E7871CD489C4D215365E214E8F2BA437A60D12A4E52DE2314FCF0B49C66457D2A5E976AC569721E894612E9A2209604A68CA0855646580562341989A5D523C28499A1061150D786C996C83008C3DC8ECBFC99602A979E6A1B0A04500DD94E0E6B9C389BF4A7C64B8274319E63432D1BC98C499E559B183D2CD998CB833A3D88227EDF9E3DF0E6CE5721120E81BFAA1A569DF7215870CAA950DB500F769B83578F96941B165C1D534D0298B0067349021CD3D59E081801B9038DAF871F7E986C16E62F9365FD99CF7C86198A5311CE641BD92382D57A328971A928820B069A00D9BCF2764359021298B24DA48BC9B7FED54F7F02CF3DF544C984FCE79EDA0C57DDF071B86AD3F550DFA0AF14500AA250C6D5C5BA374128CBA19FE046DFB9F9E69BE1DE7BEF2D4BA268F0FCF3CFC3DD77DFCDF4FEF182CDD4CE4950C02016C53837828CB1E39C4D410E108E89F5E449128A56A1F8DEFEFBA7E1F9AD4F81DFEB8253E7B543635D35CC6A6B04BFC7018FDDFB6B78E277F7A19196D5F57759A2BCDC95D24A2D825237EB0480BEF3CE3B4B8036DE6F6FAC659CFED0430F9D1011B1EE4D056661694E4B6573B654CAD91428A01739457D7BA4617211AFE0775F796E2BFCFADFFF066AAA7C1306777824085FFFDE5D70F5C73E014E97AB3005589BE4CA53BD77A29C4DD2E52B5FF9CAA49FF9BC6E10F09EEEB8E30EB8FAEAAB8F5B94FB7C5E1841F7934B07274F738E572A6727256EA0150C698AA2E1736672CAD4400BC7869DE2E6D14894E9B4C9F4684B531DD454BB616478580FE44CC8AC1D3BAD0A7F04D83D3D3DCC509C0098C70D3FBEE376B8E0CCC5B06FDF3E78E289278EFB9A75B5B5101C09B0DC36F7B3AB2A5A8C930B65769974CE46034DD18EC1BBC7368A6877BABC68AD8E4D094A9DDF03A3C343A5B56E93FDD214B25B3D41B00F1D3A348138E93E7FF0CDCFC38CD646386DC16CF61E89F3E3DDAA6B6A203216803A3436A95A05EFA8225B60978A7193EB25B0D224041BD99BFC4FCB24DC3969D8CA3C886807D43434C0E0F038ECEDE881DA6A1FAC5DB30CAFA7C03D8F3CCBBE4EFDC12949619E8C60245A3438B6B9F0C7E8EC919191094475CB8D1F8675E7EA4B82CD9BA5CFBA25EE3E6EB0ABAA20978841FBECB970B8EB30DD536B25839D2A77BDE474026C92063265BE1209D6A97F4A0637952B9911A26BCE43F7CAED4A42338A6CBFCFC30211141A5D7BCE5238D23B0C2EBB8515EB0B93F8D5667A9A60F11B7E366825FEF0DB6DD9B262870BD7AC802F7FEEA385BF17CED3E76D757676B2208A91AA3DD6E6F7FB4190E350D7D4C4C2BFA8035B2B598C272583B3F9E025D0E0A0A4842C3919D8C763A39517015AF0C13F74F12510188FC0C2F933A105AD5D0B3704DB5B1AE082B3CF80196D4DE0F1F9F552A029948436A9E6D078E8543A6662A37C1B1BD36BC5DD2E075C71D139F0A3FFF72516B933B619335A9000AD2C426688FCE3023B2783D3EB634122A4BCAA8A07DBAC1BE3C17170482AA4043BEB3372DCD6B8792A16825D555D07A2AD1867C82B7A4BAC3C07E8E0E10158B46C798133B563580593496C523FA4668E77DBB3678F2E7ABD4EF8B77FF82B701663DA6C4BC4D290CEE6DE366A66DEA82332B9AA76049B085C10447725839D62E2078A75DBD1588295266976374462B1B7B5C62793EEB4DBEC3604B3B84426CD77DED77194C59F696B9B350B39DB571ADD7A3B3D6D3A8726061E2FD824C2C9A5A298C2C048185EDD7D60C239A321DD7E2000172D5A747C8388D7A36940762A53A6B95F825091605B4A38DB28914585984CA5C04AC910BB07A2F1C4F1B9D865F3B73595A7026BE6C0BD0FFD82A523AB7C6E7455FCF0E0E6E7991F1E91255881EFDBA9DF8A2415D288256151B3322F7B4DE5C8C72BC6292C3A63C60C5AE015B66FDF0EF73DB30B96B6B682A34997BAE9BE31B0C5F4063EAB56AD2A5CF778FC6D9AE142A54CC4D9AA28BA2A5A8C3B58F2DD54D847F56854468CAE53187DE5E311DFE680499EB59D4C41687C1C06FAFB60F7A13ED8FCFB57A0BDB5010E1F1D8266D4DF5DDD03AC17CA91CE0E08048621118F430E75259B4D5A66666B53F0B868B1B234E5F144CEE8BAB42C5473B3DEFAE4ADD75E87BA30EAFCC3E3A0758D416D02A590DB0D9FBEF24AF8E4B5D7B2D509A894892482A228C7F4E929ED69B3BB581650AC50B00BD6B8BDA0BB4C8585D4AAD2523591B385A9079472C3547E1C8D446074748401B9E5F14720158BC2F215CBE017776F063BBA5BBBF776C2D225A7C3F6575F83575FDB0DABCE3917569E750E343436414D6D1D78FC5EB059ED204E62B899999CF2CBF95CEE6D8136F2EE363C0E72C3AB0FDD306A9B51957714489F3A307DE1820BA0D1E502F9F9E721565B0B427B3B78D085A4664292217D26480D1B484E87FEB92855B61877B24A0B9393CB27E5D3443DB92419323557D3A0472261E8EFE983BD6FEC826D5B9F86EEC39D6C3A306D814000FEECFA8FC0F86800D65E7821DCF1C31FB1F75864EBC86178EC81FB98AB76015AF067AE390F5A5A5AF5FAAFC9D296FC67A93FA951FA7B2C8E4E84C3907DFD7518D8BF1FAE5FB10232C8B1BBBBBB219A4C429DAF3494DBE0D7DBA0DA90706DE497E31E43C02DCB96B1CCD854C9100B1167A573F6976EBD29FBB5BFFF8ECADA8819592F9A6AC39A8DE939EDB70B70B0014517EDCD5DBBE0973FFE3718E8EB9D20F6481CFEF75D77C3952826BFFDDD1F323159F239FADBFBF7BCC1F64307F6C39FDFFA97D0D2DA4ECB374E192827CE4E478E2DC65951C2C183E044C017B4B4C0ECC64608A0E4B966F5EA09404F658513E854A34E7971A9386BB3B051485822EED6C1AE686B9CACE63405418A11539AC62933FD2D73CB599B2CC505C01BC4294C74FFEEEEBBA0BFB7E798FA6D70707002D0E5DBEBAFBC0CE3E363ACACE9581B791154E2F47662DC7C375604E4BA73CE814F5F74D1710F948DCF5F37AE477E38E9F371B449868686987DC29AFAB1D46865EB6C2A274E5A50D7E4A8E9A4D1A886BA090B467CBC6CCA6A192710E0D94C960DC2BBB151FB0B63D58209CADAB4514D59381C819EDE5EF6FBD96C86D90C5939CB5A5E919E4EA1A8CEF6F5818644467DD2484F932790D77443306F34D4A3EBD1DFD486035FE7E835FE688E489FDA616FFB03232E8D55D4EA8D6AF10D500589F5539B85E7E80BCE55B6EBC56AC7050BD5F1EABE0EE3628A8F97CDE69CD287CDE95D0A3D5EBDA95DA12F092B003416EAD25D98C0D838FAA41E163513744E60739C056A7B499D8B91439C5E3FFCE6C96D607F6117EB59429243E14DEC55DE2057E3819B6C7004449B1D04D49912EA78113D0B0B5EDFE5F5E1759AC1568F635F7B1A084B72ACE8D0CAAA5B45BD5010EFCDC12A62F5D6D9F49E15EFC3429D94A90256D42B60C99F678D72286247CD7115BDF729231A36754A05291E62F78F44E0686D6D75A3044B5626D8365B9CD29CC519AF1AAB1DA76D382BC037FEF53F59AB2C7A50E20C7D86A7CA766A449FA2FEE4A81BB3BE5340387B169EA3400E295E15AD20201060B1931583AF1D90A46EC308A8C038030983EAD098AE93987EA6A2431501EBF6F8F16B0EB0B1CFF11234F75BD47BB490C6612DACA9E516BD96F4CFACA2DEE29AE896BDA696D7F4A054D028A8ECBB564BE979AC673AFFAE955A614BC07F4364F571D4369B360358D6269B88985A6E0A7A69B380D60E7B0EBDB3B23175B732C1C69B4FEA25BA66D74B4F730ECDFA100C1B8105D1D4BF9497F426F27ACF34FD8B8A4E243820562A24140ACD4C4DDFD7DD179A3EAB7FA60F2AD5AE4B82A80344E0E351B04825811512B512D725C5898602EBCEA0F26ED76CB90A10790F35DDBB60131944222C5E58C8CA8CF529BC02EB852EF0D263A150AAAC1AF3CE799F53268554BD6F395DDD82368D2867D87C76919ADEA612E042F70B558987833D5891608391D32E642D7108A96594A9918D397E6D2C18C3F41AAB3636084062E254AFE42F020DBC916DB1D1AD5042088688E7D53D0802270CAD3843403065BB8C66F6C69C2BADA42FAE509CE6AB15FBA91965CD1AEFB82452068EEAC1113489F2F7D4B395CF51677DC9A91BB38C3A1EED801CF53F4DA7208B1E472A1683E0E818BA90E89245A9376A96B715D3EBCD5142E266A1C8CDFE4A053B59888F172672C9BCFBBE50E81D5A30D4B85E4F2B5A1168C1DCD4C4042608A6AE8485A662A5F175C14464E68A42284E982D743E30B569B0E300BBD18472A161E80299C506245AB38496ABA0FBA73EE1F92C687C05029ACA93CCE211B9308A1E41782CC85CC64C462E254498588DBA72C57274BD5CF0D2F32F165740528B4D418C261C225B52436AAB58030D8C0A5393CCA481D20A0BA04271263ACF3D6794A298346ABDCD13D54B2C77A138DFB9B4E18D806029E01372E05732E0410EB3A83A58167C2DA27411541493B92C2D58827B8A35BED790CB94541CA2E89EF50C0EA0DB17865822A52FD548BA9F1B573CC861F8BF25BBC0D5872E7144A66FCD809B9F852264175D7C19F40D8DC0BCA141E83CD4699A900085F4B00B0DC40BD75F07F7FEEAC7150D76B134C968E7485CA10985C202E33533D45174CB6A1130A7A88257CC8117B9CC2BC88CBBA813BF887E3255BD080C38BD1B3FCDFA141034F49540CB2420111C832002D63936C6E2F0275A572672500964951AC84BC8DD2A19870830723A11B1CA8FC7029C1DCD93054CDD1B522985196AA4BBD9C4434D6F435DDFD0084DCD2DD0DCD206CDCDED505357C7BE5B55535357D99C6D0455B888CE2763B0048611307D492791C423178BD9648271191070C869C970104243033088A231180AFF51F5DC7FEC56E8F62F92CE248025360BD4009D2D35A1886C258172B0DF1EF0A244BAFBEE5FC382790BA065E65C5879D687A091E691A3F72008A5F1FB4838A48583636F543467B3FA6793EBB563DB56806DBF37A95AA110F67CB78227EF05E86478A952117411413773F96480F3C817D3B7D43AA3A6AE81B5A5A6237589A8AD6B044A16D139730AC4500499A60E0706FAB5A1A1BEE8CB7F78E6D71D07F7FF4F4573362B27364FBE3156BA31B5833426BF55F236017485C4BBC28E043C1959B4589D1741A529C2B446585D3D825B5F8FA036B0B968451D2E96E5B3F5B543464703301A1896C7C703E343037D7BBB3B0FDC130E8D3D3238381803F87A458E4B29D816C9B4724031162E70E42980325977A28A7918944C546142ABFAF9FC3E367F8B0A257DBE2AF023B8BE2A3F7B4DC6560144512C7069815B4D459459F4A3C3E3E3100E05956824141B1B1BEE3A7AA4F3A9A1BEA3BF1C1818E88393682B15E3DCF52A5DF48C072FD0C548A361F25EE9627D5EB5A4AFBF69D1D7E1345ED3247D3695978E369AE06F07B7DB85C0FA18B8042A71A70BDFD32D7151B7C4457DC27F099865F97103588AC5874241888643F9783C9688C522C3E3A3818E91E181CDC1B1912DC8B10370926F65069A046E7F2DD74542C130A1B9D5A4A73D766F61C29BC88D1963C2BB28148FA260183EC68A4008A29580B4EA6B6CDAACEC3585412DB4EC934D5F68552A58D56289BB44808926F04A3E337DA7809EA91C95C4395B03249144624D68997446C96633323E4F3A934947B2E9F458241A3A3C3E12782C121E7F0E410DC2077433831D2790ED4E6F319021E8F1608A26D9781B891240240E007F5DFE99249682351940C6F7CCEB71944FEDD126A925A6E9426414D11A24A45AF23959CDE7722A8ADD982C67E37236339E4E260752E9E43EBCC0ABC8A5BB11DCC0646B74FFA96C66B09F5BB66255F068EF43B5B4DA1D5BFE98324D6573B0F40693D4DC86023054C7A3B2235B4B9B6682D22A04CC1216A8F08E01AEE4C5C2BA98465F31DDABD13BE871379E42D1AA8414278A16265C78633901411751BA08AC4D36EFD546465613FAB6B4F2EECC99B3A1B1B15E743A9DBBCE5F75EA9930BD4DAE2ACD3AF85F7EF22B5B707C74E9CE575E384D2BC44CDFD986D7D1F2F91CB5B91EC36338994C0403430311521B9371D96F1EDEBAADA5B9E5022A221C1F0FF23DC48A1D42E8BF279249D6D2837A86D6D6D6B29EA134B1AEAEBE9674F7CB1F5AB1E07C289D3C62344464F7F2A70C76C9042E6A6D89879D00B7EF7C5F284DF76744BE3346BEF3FEA7E3E628AB81975134488509242DF2BC37BA5A58935B85782CDAE8F4D45CABAAF9989ACB8FE472A9107E999E89CA5D72F87374CC73F0158EFFFB4E00575D75D56C97CBFE117CEC33516E35A02AF453E6155566005DDBCE5C4E7E1E1FEDD08A152BDEFCE637BFA9BE2760BF0FC01A3B39F4545846F5CB2E87C3335BB0D997A095BDB8F3E0FEE5ED6DADA6F87449A759BD9B115F5ED168CC63BC763ADD73EB1A9A7E4B858FBCC332C534B3285512788D089E3486F2EA4026167D30950A5307BE04FE46EABD06FE9A6BAE69B0DBAD9FC71BFD584ECECD120445A266BE2CA127E80BC353212312EF22359FBF106FE5161B1AB407F6BFA57EEC86EB47F1E9EE8C46133F79F2C927072A166CA11889A0DF210BCFE7F2562D9744EB52C9E6380B3F4675A13669B4DA298F711B6942D1086AF0FCB261E051A17F697971B13B327D3677EE3C181909E89D9064599465D989069B1381A769B4F3713FC7EA747EBAD6EBCB8A92B50BA5C023C140CF2FF1FD20E5F4816545DF1EF46F7DEB5BE29E3D7B56DBEDD2E77239E522E4C666BC774A6EAA287914B43BD292453A9ACDA4E78D8F8FBB49FAF8D055B4B3808DC00237E6CDC7167F2F7D0FED2531954834A1EAFB9AC32E7DEDBAEBAE09E0D87CE1C1071F79A062C03689672AC8F63A3DFE350EA7FFFF202CE7A00167D7AD69A5A054E921ED76073B7A7DD5CC03A0F5B20C80F5A6787AF33C9A9BC53A2C49A618B689F7EB5BE7413CAD403E1385ACE93C804CC93421B41FEC68C22FC6978BEB5BE6FD8DC7577BE7D18E57FF1EF48E095356305E71C515D51E8FE707B29CBE11DD394B2848B96CBD5883939E88C42B22505655D1CE608199ACCCA273646BE87976BDC2A7B0103DEE44A0D535B5E076B90AC44C5E8A97C5107C4C728D8D8D3645A391FBAFBC6283ECF678BE8B97F8D6FDF7DFAFFCAF818D374ED7F4225A4D7E6FEDD725C9BA5151F23E3620651BD55AB3165938083469DFE9AD2F4CE711454709D0B4D3F9D44E8B06C35200526431802347BA61CBD667D9EC138BA451388D816BC4C28F357D47CEA6F062B59F3965D9BAAA436F3C7B0BBE159AECBC4D9B36FD8BC3267D716C7458C8645240A296E203E489D0B2CC4A610966454FC4A82A9F42A4B114AC0309D566B5C72D366710EF6918EF2F869FB9F0DC263CAF3E3436EA1DD73489EED5EDF5A024F0B3689F510FD0D0D008478F1E85FEFE7E9BDFEFFFBB79F3E67DF5DA6BAFDDF0E0830F6E3B616BFC5D02BAC5E36BB8C4EE72FD3BFABE8EA9CE254E76381D6C3D4E02DB4ECB22DBDCF89E175DA97698356B266B9C4B450554AF9D61FEB4CC80D5BB12EADD11D9AABA9495C3C1B058684D325AD93E5DF80EF54B37FE9EEA5929B0D33AE77402AA63DF8ECD17E279C3650695D7E371EE0805838BA8AFBAC54AC426EA8032509592D70CF4B2D724C65B5A5AB5583CEDD9B56B57D664BF982B353404AFC566B5FC732A11BF3C2D675CF49C345182BC0E5AC7E58517B7439AAF7E4C92AEADAD0D5A5BDB5E429574397279F47D019B8BEE1A87DBBBB175CE193F191FEA761C2B864DAB17148176B0A30309C05FDB04165A071B8A35DAC61A9F465548A18728AF3733121F39390391B141248A0C9B70C000CF64F406F9936CB45C86B7BA1EAAEBDA891B6381C1AEBF0AF41CF81DFE66BC94A33FF23A72E60A5A24DE69B7B2DF9A0C6433371B5C6EBC662B1FE0EF2D3EFD8CC71E7CF0A19BCABC10B38B68780A0A72AEB46AE5CABF8BC723B74463514F0E89BB1F2557DE349191868242C64B4E5F2AE7556DC5238F3CB2EFFD02BBB569C6C27F6A9EB1F0C6E1BE03904EC6263D97195A0432D7D3B4B3AE87363B3434B781C757A58BDE62AD52B1A32177B5D8C40463F57ABE606C682C00037DDD8CFBB3591DE4F2E723B1EEABAEC3BD011C2E3FB5AD8C27E3A19747FABBFE25161A7E154F8969A685BD366EDCF87959CEFC48CEC4592490B5E856388865AF752E2E7D5D3E41B1ADBD5D7BEBAD03CB2291487632CEE6BBC2ED869CE13A5E7AE9A5732D12EC38DCD5694926536CF284F9D2947E5DBE6CB966B13ACE7FE081075E783FC0AE431D7DE9FCA56BBFEDF1F866A6126148C523904C44502FA64B0127EEA69838026C63C90D1B134B2D6D33599A91E9637661B12C746AEA4BCA4A99353EA82A7475EC83E1C1FE82214696BCC349AAC1C3763BBEB63B3C04403E198FBE150F059E1819E8780C2D776AC74031F194D912BFECB2CB9A45411D88C7C3A2D522E91C6C06B944649772B4AA4EEE1E530BB0BABA86BFD9BEFD852DC6D04D168B3281AE70D0B38B162D72B4B4341EE8ED396AA105E8C9F0A3E7A6B6252A931C5658B2E40CCD6A755CF0D0430F3DFF5EEB6CB2B4A9F66A41CBECC5D77AFDF5ABDD9EAAB9169BCDA9E4B2904A4620938AB30980B4780CB5BA24C38D0A1D991186C7C6E6660636CB785171BE68E26E959709539BCC7C8E5F47D15728C2C7181D1B631C4F717C02D66A75311580B6431CF5767F36953892C924F787877BB72593A15E6E88C58C404BB9CBB571E315F7078381EB68BA900EB0C24576E96B23B863007DAC8D545573EB8C6F3FFBECB3779B050EDF2573806912E0E5050B167867CD6ADB313430289104239B85EE85263EE4795FD895CB572A28D3E73CF6D8637DEF25D8020F9650DDB48F59E5008D35CDB3CFF255359C832ED829369BA31AB9D84BB5B686EB4486988AE05319AF30494707A3AD34CBA269FA58486CA501B150F08780CB79594EE673F9785E91C3D974EA08827B301A1D7A33111AA3874EF19D7CE904178F8A56B21663E976D1456B13D974C2ADC7E42717D3CA71826C6C2EE4EC86C6D69B9F7BEEB9474C9C6DE1E3661C25FE5A321180013CE9F29A5316CCDD3A30306049A612C840190634651229BE404DF8962D5B114D67E416043CF59E806D02C7A04EC3D7A6800ACD7FB2F3D72EA7A7AADEE5AE6EB5399C4DE88A34A2455C8BA25D9F37AC1A1D88CDF30CF59C1872B6AC2AB92089DE7C2E3B964B2702E94438801C1BE300E6F94E56599A1F65234AC639F86D9139F7DC73BD92A8C5B2D96489989E4C649FC846EE93205A6B5F79E5956819674BA623ED363E5EC66E80CFC6A1B5B5D5BF72C5B267FAFA7AACD4C42F954CF385F8744E696F6F83B9734F79E4DEDFFEF6EAF714EC29A26882898A2D262AB6F1DD621261E64E585A21E156B454737C574CC68CC23F2F59EFED78809DE29E2D175C706E26160D8B13B95807FA4437B2434E3DF5B4A1279E787226E5872619239824A46C33C2CA9C71ACC639D5D5D5AE0BCE3F774B6F6F8F93F2F5942432EC15F2CF972F5F49B4E935B8FB3D8F8D9BF460A1052EE8D3072B7923A2B3FB3DBE23C1F1D1F98AF2CE40365451437DA3D6DBDB7F295D9FA76EB549B2717C49539A68C48838CBA55396AB470F075C0C87C3A9DF3FFB8775EBD75FB8A5AFB7D7ABA057928827996A23E32D1C0A8A0D4DADDFC273BF0A265D30BD957219719563CFBE039FA05CBDBEB240EE8F069AEC8DBABA7ABAF8C7F7EEDD3B026FDFB851CFCAA054E212808026DF3FCA0DCAAC21C5E2F1B8FCD453CF5CDCD6D69EF57A7CCCB3B1F05620A1709866A5DE62A6E0E9AD0C6F4384F6F4F4445BDADA8E1C4F03FB6305905A5A5A3441946E7DF9E5575F37A99B13918E2A575B4913E069C30E49A7D3B9AEC3DD37353536B2192936565029408A66CDA8AA67C3860DF5D3601F637C0D71BA73E7AE9B66CC98AD9437F2795B90D16DACAEAA86F90B4E091EEAEC5EB763C7CEE74DE2583DD1742A3F3FCF3D0A023CC2C167CB23EFDFBFBF0B0DDDDFD16ABFAC2F1B8FA9CBD90C1280FDDA69B0A7065A312257A817E3AFBDB6EB430B172D1A7223D7E8FEBF3461168811C4A1E01055CE2C5870CAB068B1FFE5E6CD4FAF1F19191933B97DF289727619E00AE7EA5819E0EAE38F3F7E474B6B5B5A9FA049615437533F48789F785F8B174E1AA4A91E4B100C239206D5867A31FDF8E34F6D5CB060C1EC53172EFA42369D5D99CD651D68B00994A8A0E895CBE9545C6E573F9EFAD8BE7DFB1ED9F9FA9B514E3832073AC68FF9775224C1EF4FE5F767F656C8B5B5E2A7BBD0FA3B97B8BAAEB69ECD5045B17EEA34D8C7E66E99075F2C5C8F5B3B3B3BBB71FF526932C52AD6D7D757CD9A356BAEDDA1CDB75844B9BDBDBD5596E5642C168B728013FC98FB635CC129389C4097CB227068E1E7DB29C0E2F6B810EC3A3878F00078783FAF69B0A7E69E3CE76C63E94F9729BA25CE9933A769C58AA5DFCFE7E485B1785CA492E620753CA62C94DB01AB562EA3808BE6703A724EA77B5092ACFF8CDFFBCF77F93E550E3889724B636363CD48606426A99AA54B97C3A18E83AC663E236729472E081FB482CB8D1B371228B7E27351E0E2574F3CF1C4AE77E886597804CB610435AEBEFAEA7F74D82D378C8D8FEA6B869A63DF0E275F844E64491E5A103E1C0AB3808CCFE7D36AEBEAB7C8727ED3A38F3E1A7F17DD4516A2BEFAEA8D77F774775F76DA698B61607080A54389FA66CC9CA16EDBF682E58368A07D1AF7EFE3007C1E07FCE7EF82B8CC9B746EF0868F6EFA0E32CE0DA150C804B4C6032E799653A7F42A1544D4D5D4C09C39F3E0CCD56721A72DA5EC94D0DB73F4D268683C7ADD75D7BEABB3FFD6AD5B77B6D5225DBAF0B4D3A11F81EEEDED63A95EB60A225F86EA03C5D9E84FDA5184515FE939FCAD305AA8B5EF46D52871F947376DBA23A7646FA7456E14B68E681692C904EBB54631727DAEB6DE988756F073D89D50575F03355575AC712071BCC7E386FDFBF7B279656DED3346545598BB65CB96E43BB82F71FDFAF56BD14C78CC6EB5B8DE7CEB2D181B0DB06C203D361585CC9F774AE289279FF27FA07436024DC6D36C1E6DF2E2C33E02ACA396A0BC13C38880BEE69A6BFE4ACE656E0F06C7201E4BB0E894CEC156D64999C8895C324A3152B743029D0A34C29130B8DD83505B5D070D4D8D407DFA972C3903022301D4A9071A1B9B5AC3D75F7FFD8CFBEEBB2F7022F784AAA40A09EEC60F7FF8C3B722019D9A88C7E0007273221967451D465C808A359C4E47EF078AB3B9AEEEC77D734747C76D4EA7B3F1ADB7DE1AE72E0A8961F94439FC631FBBFE2FFA7A7B7E84BC8AD7105C045C3C1163B56F469908953B5388923889F2EE547543952424DA89AB68C9693A95B8DAEFAB82EA1A3F343636B309FED406B3AFBF9708216F77BA1AD0BE081FEB7ED6AE5DEBF0783C6B90A83E81AEDEF568FCD969F5E24422CE168427D5C2BA3B529D5E4E37D4BD1E2F2C3875E15F3CF0C0833FFFC0703672D2A7104B6B381CFEBF5D5D5D128F56F90CA08D48D3895C339D4ADE816E8C1409475C149CA041CC97757B24105D289AF5C563A9A7690E41B601AB2421A0797F38CA46515DDCC06002A2D1180C0DF6B36E903535D52825829666A7E3253C6DD124E09E852F2F404E5DD7D8D8B01AB9D44ABF4469CD702861926A56D622DB588C8FAD9A4C458EAD6DEADEBDFBA95042FB4080BD69D3260981FE12EEDF79F1C51729AAE435B94CEAB14016A6A83146F1B83A9D4EF9286AE672BA19E70C0F0D8322A88512294A59522C9AE68FDB509C53933D74B158B995CCC0CEB0240AE9730A9FC6900359462A8DEFCB3E14B96990D046A6C0CCD8E8C8C21B365D7B433C951D74B95CD7489278716B4BD30254C912AB33A78E17ACAE4EAF45B0A101E8767BF435C079BFF5423F74FC8FD6A973395D34AFFDB328E958B9D507026CE4B86B288CB867CF1EF2636D3CA4180353C11E14538782291021988E02FAA9125ACD97A3A1752B72D2F9C4C5E82AB1150E4805CE9D370FA832845C292AE7256E8DC4226CC90B3772A9DFE705D121A2A84F80831555EA1C9E41D0097C8348A8B48A385340C38EC0A15225BAAD5822710F7166221EE6F5F2A5ADB79D2E279F55E29850074F52278E7A9B7434FD0ED9123535757F78F4D1C7EE319EFD0301363EDC5790BAFFB6BFBFBF2081F96E1435F0068D8251ED2142B1F2C3B260C182DA993367DE88FAF693784E355EEB5E04E351BFCFF70387DD2E343735430C010FA3CF4CC57D1EE42812CF49E4F64824C2ACF150709C2D456947FD2D59F546B84443229EEF96DCE802650A952E643CC96CCD3091F9E514CBA6C90644487A5F1B8175933045E910B81AD097F600A64AE83765967655C089B681D7EB4122A867DFA524889C53EE79F8E1476FE1C4AE7D200CB4ABAEBA6A0D3EC3EF77EFDEDD3638382871B19D32251CCCA53E5613C8D299679EB90407F153389857514813B9E34E1479BFEAEBEB23A9604102685CB572E583996CAA050D2274A9745064E22234D48CF54C682C53C90CB3BCC912CF9B261E7269C2FC5D1B72BAD56263FA941690B1D8F48A5A12FBE6AE8AA41668020575ACF05755B1BA707A9F6AE0A3B13837004B37922A7EBF5F8BC7626F1D39DA73DB4B2FBDF49A41F086617AD273360E3675887F9D1AD69B62DA4A19F7160AF71A1A1AAC679C71C6E5C8C59FC5013C13C7A15B96E5BFDEB76FDF6FF01A199388B7F5F6F6E6705F7BC925EB3F9D93725F496762821B8D3187CD85835BCD96752270A91F0B894F975BE73CEA3D4362D528792657C86AE33D6188EB2DD642335C63A39A74EA1563F8EA5ED4BFFEEA1A4624C4C941B4B42703994BB66C6064F4BE5777BEF613344EBB39B19317A2983D90931A6C92CB575E79E56AD49D6FF067314476793D9BBA7EFDFAB310E0EBF12B5480578DFB6B08C42634861E4297C7EC831B2864F89EDDB265EB4F50D46F59BE7CE9FD28AE6B224A8455897A507F523F1887C3C53A1F2658A5678A8969B49A8F71DFFA0A08ACC11E6B79ADA74D89A39D6E17531385C5E369E9E940A0B00E9A1113C7ED08AA9B5791DB5F4682DC8ED228C009DD28BA9C3005F964E76C02F44C1CA826E458CFE8E8689C3F93BA6CD9B22A7C6FB5C5623917079F006EE3C03F85FBF71E7BECB1EDC7C8781121996766643B3B3BB338A8675F71C565BF1C1A1C5C333834C87AA9F97D7ED64B4D45A0C812AF41832E895637D5B293959CCFC98CB3D92C186A80CF67A61A22DB98AA6BC3CFD0275711D4642C168FE6F2F920FACA81542AD383FAB90F25C528023B86B6C408DA2623990C9BD36436400BF6C954F1849356671357AF5BB7AE01392CC0A97D844FC88B21B88D783CC5743AA51A7F8BFB8F10E4FD27FA3B50DA3C80120E3FEDEA3CB4613C186206596D6D3D54D75431DDEBF1782734059C6A9562D2FBA160184E5BBC848221FD2FBFFCF2C54343433193CB58BE6BA6A362FEEC7802462735D8C4D928C6C9046F9E4C9DE3B33D87A7DDE970381EBEFFFEFBD3EFF0B70A8588B8BB2FBF7CC36DC1B1D1DB868687D8C7E42F93CFDDDADA5AF0EA59D37A36ED585F61C0BC8D8D8EC291EEA3AC75E6A2C54BC22886CFDFB56BD711139893ED608E199C6844F0A4B6C66994376CD870360EE8A7F0CF55DC30D9816FBF8A3AED85C71F7F7CF0BD2030EECB3B67CF9EDD76C619A73DDA71F0C0AC583CC1822335685451E4CCEB7643DBCC191047D78C564320712DF1CEF9D410A8A7E708D3D5AB569FA58642914B9E7DF6D93F940780DEEDB61FC29F7803A177CAE504BA63FEFCF933162C98F75F81C0F0B278342224D06A36B260648411F8CC00A3BF25BD1D365591CC9E3DF740241ABB7EEBD6AD1DE596F37B72EFD360BF2BA0B3192EB5B5B5DE152B565C8476C41763D1C8A258346C4F673302AD4B4A5D1DD15F5691C3A32E97E7F9C1C1A1DB77EEDCD93395E53C0D76E5036F9EB32596B972E593ED55789F5B734D83FDDE00FF76E1DDFF9541FFFFEF5A2E05A8B13B700000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (173,1,'Video_terminal_(24)',decode('89504E470D0A1A0A0000000D4948445200000017000000180806000000117C66750000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005014944415448C79D95596C54551C877FE7EEB3779D2ECCDC2E2914914DAC8945C0A0A8D362434248435454F0C1C4C4B8BC184582BE68505F78F0C1F86034312124582221156A404429C442B5D285B653684B61E8EC73E7CEDDEFF1452226B482BFB79373CE77BE9CE57F08A51477CBD35D3B963EDABEE9C4E4CCB5884FE4F77F79F0C0C7B8CF300B7534C8CDFB23724353EBEA66DE1F14DEC5FFC88270876114BF3F80B1F333981C4E05DADADAF8FB8573DD2FECFE9EDA2EE3BA6ECAB2AD1BAE65CCA9A6314D0DF3EBF1485DB421EA595DC89B3DC7BE1BB0EE174E5E7EF54D576B6A2712077805029E71215007563E093FC7209B4953C3721CC6B5AC622659544BA52C21A4405D9ACEE6339FFFFCE389630B9AB32C751A2261AEBEBA1CBCC0637E268EEADA3AD4D46E00CFB3D04B3A816572B992CE650AAA279B2B5617541DF99C02617A70398085E15A5175CBBC1EB4466BC0732C063E7B0B565313D6EFFD1492C8C15414D45706E03814C94402F95C164D2DCB601806F67D3251B6E881E60B05DB344DB82E453E9F435DC807279B46269B8161B9506D0B0003866170E88357F0EDDE97004A218922028180B8285C2B6996665AB01D0776218D35CF6C45C3438FA0984C40B11C58E0E0BA0E2875910F3622618BC8A452200C416559885B14CE1058A2A3C2E7A8E01C1D392AC1F084A0E5B3604A0A384BC3ECE438AE8D8DC0613CF02E79003F1CEB41F2FA342A021E66D1AB480963080287E6683D202F41CFE039CC4DFE89C736BE8FDA70051886C0E794C1EBF5E27B8F84B9914BD873F0200281002E4F5E258B9B333054DDF867359E60D78E1866E36370294029C5ED02716D6A14AFEFDE8EA1A1210040C0E75BFC1111C26AAAA6038440D34BE81F1C45626A12576E1521AF781835B53500055CC7C1AA680BA29A042B9381E33890448184C361FFFCFC7CF1AE7086424F644B383E3881ABF1715C999DC7D44D1654F4E08B93FD88B4AE409D9503476D88FE72F4C4E7E0492A38071145D381CF571E0130767738CB960A4A0E872FCDC0B428A4277681754CF0AE89D99BF3B8353303DE5221BA1688A981EA3A985411ADA21FD95C89D644967817DC1617AE39D2F30D6CCB8620F0104401A228419204488204EAF54008045C2918D0BD3E9FC2FA8309DB762FC7E3F1D337AE8E1D3A7FF694BA606DD9B97367CDF45CF2590AAA12CA96143525298AB1B4B62EFAF8732FEE79EA44DF696CEDD8A27CB8EFBD4100C3F3D7C7DFA694EADDDDDD5106EE6B9AA63D28499E65BC28B284E08CA2A8078E1E3D3A0100E4CECF4296650F848A1155C934AE5ABB0E2DCBD720954AC3310D0C0DF60384B5092BBEB17A595856F2A9774A9A864241456363F3ACD7EB9DE058AEE9E2C5DF9A2AABABAF5FB83010FD179C10424255F2BA6045E56E50262088BC9FA19CA3E9EA0D532F5CCA2513BF9BA61A6F6F6FCBE7B259D630CCDB52033F9DF9750B80E0E6CD1BBF9A9A9A7AB2A5A5E52459E89B5B2C9B36AC3F924AA7B60314555555B7CEFE723E4A29B5FE160C6DDAB87ED834CD1AE65E605D5D5D4BB76DDBB6F9769BE5C5E7655956BD1E2F4049B8B32336D8DDDDCD02404747872E885248D335F69ECC3B3B3B3B7A7B7BFB01E463B1581B03F7D4E8D8A89F655998A609411020CB513B1CAECD0B3C5F9EC9A499925E1AFE4F382184C462B18F08217F388E63178BC573C1A06F2DE01ED1755BB24C1DBC20A0AAB2D216446924994C1FA7941EE9EBEBBB78AFE691DEDEDE397AC7E0952B570AA1907F082E95059E2F54D7D6CB870F1F36EF9CF71729B17274C1A189C30000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (174,1,'Video_terminal_(48)',decode('89504E470D0A1A0A0000000D494844520000002E0000003008060000006E6548DC0000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000E9F4944415468DECD9979909E459DC73FFDDCEF3533EF9C4966720C3948620E34070439B248944AC088C4A0AC96917577DD52B7CAF52875CBC57277AB745DB74A77BD4F0EC98A012A071194603451018130246008496692997993B9DF79AFE7ECEEFD63262160A1643695F279ABABEB79FB79FAFDF4B77F4777BF426BCDF95E2B57AEB4AFBFE9B61FB99EB7697878C49252F63564D21FFFE2BF7E6A1B17E932A6F2D2C2E557DEE979A9DB6CDB714AA592F1DC89A767F58F0FFCE4CBFFFDBDF7FCC582DF70E3BBAE6E9DDEFEEE74264D7B7B3B2B57ACA0F086E38CC5C3C6A5972EFAB410425C0C70EB7C5F98BB60C1759E97129E97229D4E3367CE6CFE31FE3845A39F83CF3EB36CE3BBDFDD01F4FEC529DEDCD2E2388E8DE338789ECB89E347181CED403A57105686A8D46AD15FA4A9ECDFBFEF3B491C574DD3C4344DFABA8F40748CA8F4386114278F6EDF3E7051C03FFFF9CF9F17FC9E87EE3F313250F858924489D6906B68C6A6806DF8BA5CA97EEA6239A7F5524F61F0C6776C6A324D5B1A86118308801A50065D94528E0AF4A04617541CF757C2F864A1A767DF7871E46DF3172DFE97E6E636D7CBB66E3F74E4D9BBB67EFFFB858B052E6E7BDF0713E5B8A66E5B88A5134C1563A80823F1115140697488919111C230426B854070D98AD55C75ED750481CFC0A9537ABC54945D4F3D3E6A98E61888A280516048A9A41025B23F2897BBC7C6068F178BC59EDEDE5EFF8280BF77CBDF8776AEC1E99DFB565CDBC6716D52AE4DCAB548B91639D72463812514B6500825299D2E10958B609804A57192A086B66CD00AE9D748FC327E7184D1C1417CDF470881529A2489B41086320C3392497CB8F7C4D12BBBBBBB8329998A6198B1216327AF432E6972D14283881146825026666C1229036D99601938298F698B97E2791E5243924892441125922891C4B1248E15619CD0580B2957AB84614CE8D7504924882353C5516AFC85DFBCB1FAC20B8B80035302D710C5412D53E709D62E998361181886816918188620A896E83D768499732EA16DFA7484001947C4494C9C48224352AD8E90CFA48895C68F12CA22A29444D4AC9820955015313521A9FA924A9C508925F93997A24DA37ECACE29D051B95C212F255A830284D628AD4169EEFCC227E93BFA12E95C8E8F7CE97FE8983B0FC77549A55358C20001651B664F6F45298D541AAD01AD99A83468D04CD65A53A954F9E76FDD0B5AD54D391C4AADC2308A88A20835F17BA8C9122509391DB3229F6689ADE87A742752839C6C97681082285128051A1042200420E089FDBFE6B1DDDB49E208C1C4F74208B2D90CF5290FADC5D41547EB200A4382304269100AD499C82EA02EDF48323AC87894208606515A23150831B1AA4C9422521204082D266A606CE8347B3E7B23656573EC779BF9DB2F7C9D89658C4620C8E532A0F594C10D2DF18320200842D0A078798A8561D1366F2141A2B00D415D4B2B4A4D289E68F0A522540AA9279444BCACAA8C4396AE5EC3FB3FF1592A832726FA3B674672690FD334F25306575AFAB55A8D48C644717C16DEAFD528F476D3367F1141BE99414CA6CD9AC3C0A902611C518B24B16462206A7282C4990140D38CD90CBAED98E93A068B3EB6654D404FC267D3296CDB6D9DBA731A66B556AB9248452D08B01C0743C3F8602FEB962FA07DFAE5DC70F51A8E1F3FC6E557ACE1645F1F7B0E3C43E76597C3A48A86ED104611AEE30050A994D9B6752BFF75EF2FF8E67D8F904AA5F8DD6FF6B1EAF22BB04C0B8D269372314CAB69CAE0966D54B5D60821A88D9CA6DED248AD50B50A079F7F8167BBBAF05C97288AF8D5BE7D388E871194298F0C210C8169089228A4A77B8C7CBE01D77579F277BFE5D31FFF184A298A80609C4D6FDFC0033B7FC615575E0908B2690F6188FCD415176619ADD132A6A3B981C5733B1000F3674D3A93A056AB72AABF8FBA7C238D2DADB45FFA0684101893A6A1B542954649791E5114B362C91BD8B76F1FD55A8D280CCF2844737323437D3D6820139541337570DBB04A4A69844C08278D559F09297AE2EE6BFFFE390E3CFE38F9A626FEF3075BC9D6E52662B298889F4218789E475DDD44586E6E6E62F6ECD9DC7ACB2DFC72EF2FB979FD7ABE7DF73D9CBB391A1A2BE2A5DCA93BA76119E35A6B74121126FA6C183C534B99D0E6C56CFDE6E7F8EA1D7FC7137B764D0E6C22D19CD96ABF7AD3FDECB3CFF2F0CF1F218822F26ECC934F3EF98A76C7B66999D6DA3865F06C2E3BA4B506199D551C3DC93E99E9CAB588F152959EDED38C0F9F9ECC84AF2AAF022F140A388ECD57EEF828EBAE5EC58E1D3BFE187CC6CCF494C173750D23860124117E9C70AE956801A66DB3F4B26564D21E73664EA36DC68C5700737680AFECF8E4C993DC74DD156C78CB9578AEC7E8E8E8AB5777E41A9A9D29836732B951C334D149FCB2A94CDA8A528AE258919E91986FDFBD83EFFDF821BA9E3FC6C99E6EFCC03F0BAC273F9C63361BD6AF67FFD387898F0EE28E4AAEBFEC32C68B45A49493CE6A92CAE7CD993367A6A604EEB856D51006424654A264228B4C5830DDC78EF24F1FBA9DEF7EF31B144341E264B9E7CE1FF2912D7FCD630FEF7E4547E70AEE974A44BFFE35372E5B4E6392E6D27C2BEB7239A2471FC5F7FD49708B4C7DA3886373DAD4C2A1A46A590E3A0AA886C9D986E2E818FF7BE78F38F2C2F328A578E8913DB4B5B54DCC42718C9FEDFE193316BF11A91408815719A5219B46694D656484DAE117593D771EBB9E3E408C264812CC7486ACED91CAE5182D96F03269BCAC351DE83E6F70A545CD344D8802F60E4A0EFCF857444A534934E54BD6E37DF216223B85994A33663B78C2C4B6A0D736F98F5382B46D92B22163B7904D0419D722DB3E8FECED6F26631B646D933A5BD3AA638452247142AD56C3680A88F6EDC5359D86A9296EEAAA611A88A8C6A855CF98618069524934582662F2DE3104391DE0E818274C7083184FC5B832C15601B68A102A220C0392C4A718FA68BF465CAD30363848B95C218E63D6AEBD963D7B1E432609D9BA3A3A66CD6B9F1278AC45CDB66DC6870B4CEBFD3DA60CF1AB15F24115115550B50A0465AA8303F40F140882D73EEF314D13D7F5705C17C771701C07DBB6711C9796D656DA67CE225BD7C03BDE751BAD2DD3181F1F53BFD875FFB129816B4F554DD3A4B7A7074E7E95388E88A2F83C329881E3BA647339EAEBEAA96F68A031DF44636323F9A6261A1A9BC8E79B28974ABA5229554F9F1AE8AB94C71E7FA4E7F85D3FDFB16DAF9ECA71316075E67235250C9DCBB78A3896B85A613B0E8EEDE0B80EAEE3E0BA2E8EEBE0791EAEEBE0DA2E8E6B63DB0EB66D2210C824D11A29B5D2BE52B224936464E0547FEF899E6387BA5F3CFCA3279ED877980B7809AD35EFFD9B0FAF3F7AF4A5CD60F8862142CBB47C04816908DF104615412084AA22751519D556BDF9BA9B172D5DFEE1C3878F70E8F917E9E86867F5AA15E4B2D94F6DDA70D5D701733219445AEBD77DFC70D34D37A573B9F4555A1BA7B66EDD7AF0CF82FFC9078448018D8DD366DD629AEE1A60C1DAB75C3F7FCB073E987BF2F74FF3FBA70ED0D13E9DD5AB5670E4F0F36CBBEF5E59299795D6C48669F500DF1AE87DF13B5AEBF04C9F9B37DFFC11B4719B52B2238E22A3E6FBCDB96CD6118610B66593ABAB470894EF47C520F01FDD76FF03EFD15AABD70D2E84686CED58F060120557499918B6EDD0D2DA4AE78225AC5EB58A4AA5C2A981A189230BA92814FA280EF533343840B55201A02EDF8A9DCE5C73AC6BFFBE5B6FBDE5AA52A9F45858ABD81A4518C58461441C2774765E329EC9E6F624719215425C2A8431C3B284DDD5D585EF072C5BB2F48B0F6CDFF9993F0B2E84102DD3175C55D7D8B4B7385C3092242693CDD2D8D844C7EC4EDAA6CFC21002A514B194C471C4D13F74D1DFDB8B69D9B85E06379D2D074178FF89C34F7C68EDDAB5B669C8924C2211453161181286D1C4265D291A1AF2EA9903CF2D066C2004821B6EB8FED6DEDE935F1E1D1DC3324C965DB6FCB95DBB1E5EFE7A14CF3736776CCA354DDBE038EE3201296108C7B62D3B9D4ADBC2302CA1B5509A4069355C29FB3D611CBE18C7FED1A0563D3CDCFFD2D340596B5D7EDBDBFEEA1B95D2F83F9C51390C43A47C79F6D3E90C879E3FDC32099E063280B574E9E2598E6D3F383030800656AF5AB1E38107776DFC93FF4868ADC780EF4E96FF5F1410D68C72B94A104667175A2FB7415353638FD67AF8DC19071A0E1E7C2159BE7CC9FBDADBDBEFEEEBEDE5A5978EDDF4BA9CF382842E2184E7797316CCEB3C5EA9565E99074C93B6D6B6F1DFFCF689B9C0E8ABE3FA64709877F9E5ABD7D5AAE5AF546B55DEF4A6D51FBC28E067CCAEB9B979F9A245F3B706BEDF025A784E6ADC8FFC4F3CF554D763C089D74A4642080F9877F5D56BF68F8F15EB3B2F99FBE205055FBF7EBD6B9AE6F29D3B773EF91A000D9D9D9DF3972F5BB2A3522DB7A944894C36ADA338A9D9967DDFCE5DBB6F7FADBE67CD9A95EAEC9C59191B1D33F2F98621E342AA6A59D6BF09217EF05AED5BB66C61D9B2C5FB7B4E1C9FD6DDDD2DFAFAFA3876FCB8D04A673299F407D6BD656DF0CE77BEF58F0E89366CD8306DCD9A350F87416894CB1552A974F18229BE71E3C69C52EA337BF7EEBDBB52A99CD05AD7CE6DDFB4E91D5FEB39DEF3D181A10192382693CE200C81EFFB28A9C9E572B44D6B05216436DB90715DF78D9E676F3185B941AAA4A3E6FB0C0E0C502E9559BC64E1FBAD0BA5B6947263A15078A052A9F403FEA46958D75E7BEDD2743A7D8BEB9A9B66CF994D269BE2F4A9D324894208412E93238802AA7E8DFEBE7EEA1BEACD94EB05D8164A19D4D7D78310E472F5A45329CAA54AD74F7FBAFDEE0BA6F8860D1B3EBC7BF7EE7B8068FEFCF98D3367CE7CBBEBBA574829BB0E1D3A7457A15060E3C61B1F34106F362C53C451C4E8E830A57205AD35B94C16D773B06D97542A45734B0B8630191C1AF6E338EE91523E2784FCDEC30F3FBA476BAD2F08F8E6CD9B1DDFF70F4B29B79BA6395708A1B4D6F7AC5CB9F2813BEEB8439DE39CD6BA756B6F1F1E1AFE966198A2A3A303A5144A4A2CCBA25C2ED3D2DA1A0BCC1F8E8C8DFCF6F4E9C1670E1E3CD803845AEBE8BC1659E761E36FD75ADB9EE73D72DF7DF755FED4B30B172E9C91CD787FA8562B755A6BB49AB07129A59E3B7FE1DC6DDBB6FDD93DE8458BE3AF9598AEB9E69AA58DF9FCB5AE61ECFDC9830F1E7ABD1B8BFF0340797E8EBAD4816B0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (175,1,'Video_terminal_(64)',decode('89504E470D0A1A0A0000000D494844520000003E00000040080600000042E9C4F50000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000016C14944415468DEDD5B099854D5953E6FA9577B55EFDD34BDD04D0BCDD2024ADA4413062520515C413306B3C824E34C344EBE8C89CE6732CEE7C43193A81367D4A8F3E94CD49868882406454524015922220842774377D3F452BD547555752DAFDEFEE69C5B0BCD96A829327C3EBD7DABDE7BF5DEFDCF3DE73FCBBD70B66D43B18EBBEEB9FF2E97C77F6B3A2D572692499B07E81639EBDE1FFFE85F9E85B3ECE08BF5A01B6FBAE53E109CDF07E06AE44C46482693625F7F7F6B4AD19FF98F47FFE7071F4BE0D7DE70D3D7AAA736DEE972B920585202E5151590CEA4E0DDE6DFC16F8C678173B8EF78E0E1A7FEEE6C022E16E321C192CA3592D3094E6C047E56EB4C282D0DC27BEF6D0347CA86A9B553C121C04D78EB631F9B195FB87061D0170C7C529224A0E67265C1CF9F371FEE5FF1185C5B7B35BCB3730B848647DA57AE5C39E56303DC344DEEFC05E781288AE07038B0496CE6434303D0B5E70F604ACBC02B01F474EC866834AA7F6C80EFDDBB37F1F6DB6FF7088280E0B38D04B0EF9DEDD01F3F0F6A2AEB2191488300CC7DC43F36C0D11D5ABA967986E779E0381E584FE70D05FCDC4E08F53E89DF75D00D6360F3E6CDC6C78AD5F7ECE8F8513C36F672E10487D07909442E014E41C6EFBC66E8DA756713AB73B77EEBCE27430383CB80E7521C7071B0AD986DD9610BCC114D338614397324A925F7ECDAB22544B37BBA075D79E5959E05ED8BBF5BDFD4B2BA715A53832CA33B7BFBAD68223AFE7ECFE1839F7BE9A597E4B30AF8EA2FFFAD198FC7B333CF7494A92F6B96650161B50C13E813C77116DEA2E184AA68D3198E1392F89B04CF0B5124B4A0D3E54E6B6A466C6A99F5E9C39DFB9EEFD8DF717B57D7DE109C850777E34D37AB89898414685900BAAF0278D3C0C937403474E02D15385343A819E0340512D108C46331D0341D0CBCAFA00028AC2F7CF9ABD0DC32037C3E1FF4F5F680D71F80C181A3B0EDF76FDAF16858E5784EE37931831490C65F24C0E2E228DEB0611B6386620CA7E4D4403216EB8944867BC2E17004057F46F980FBCADFDC928A2726BCC2391740A26A0E3232BA25646627F552B6773A88A905F039797071163808B06D02671928181D354283E8D15E00EC2DC30013D5C24A25C1D27590D309306419C2234320CB2840B27F46031CE43E9E708E03D4260B49D220EDC2B32943531E78F5D5F5F7173772C399C09779399C614026E62C1E67D381ECEC0242C0F316F00232B56543068762A1AB723A51186256182418978383A9B3DAD0344C30F13EC3B0989918263205366474F67B53D7C04061E8D80CDD004BD3405164144E1A34390D4A3A09F2440C7439C95BE9B8944926A4E8D0802F3C1AFA368EB5C8C09171739108B404045836BF19908221A3A8D89BA8C50802056F7359022023E70D8109884341F00A36148249B3C573598ED05100EC9136A8080E242F70A204A6E8C4FB1C20A3164FE0F9243E27834236052F182E1492C300C36731A118F86E13FBC64FDA107AE81B1E9C1CFE8F91EB87068EE35590C541B0355071765C6E37B8790FC6DA3C533BF2CB3CF5A477AA0C5DFBDE05B7CF0F2DADB3C1EBF5E2750E443E771FF5782F8D8F40870707A0AE720AA451C5652503C98C022959059537407599A00926A84E03056C818220550DBF632F2B1AA4B1A9A8354905B54B92DCD3A64D0B14330012719819135514689671A6587C956376A2790B7B9AEB8CAAC0C3777C1D8E7475314D689D33076E7FF03108040360DA3986B3E9171C0B6404C106C9ED8492D25296B19109D0B30AB7E6EB008573275FA3EE895F6E80C1DAA942A8EFD0946202E7814C97D9A08ED226B566EFC641661B736BF83D36360A0D0E0B96D757C0954DD5D0204760EF5B9B72F7E13D66EE37D9E1336D21F33071D64CFB188971B9F8863E5B685EF46E4298BDC615AEE5E3209F078557558B9CC1D7163572C397C84438446E8A991D761E7CA1E11FC9E78538AA5F5243D6C613B2A243CF9EDD0C2C0123362021D135263062768CD015556560A1003A0B90CCE189FBEE822F7F66263CF2DD5B41CDA4732C9F05CFE7EE774B22780225747FB0A8C02D044E2C6B1919B4333307D466606D38D63B5D5E54D952F020930B3828B7C823F9A859F5CDDD6FDA5921E936D92CC2764AA022704230193CFD19ECDA0FF1D71E8645952A74BFF6346C79E1C9DC6C67CD057233EF460FE242E0A6CDFB8B0A1C259BA2C1190ABA14C3CE4D3197059C57756C92CB0D53A79FC3406BA8196E64F2D2AAEA8249E4679AAE294856C4EA22A6A70A7A078ECB0339E6BF0D4D8573CE990E37DEF39FD034BB0DD2C96861B6818382DABB25076A1BF21A6F078A0ADCE57246097822328E52C8BA9F1CF682AA137055C16C6BCE0530E2F0C0605A81CEA402D5B3E6A3AF360BE0C92BA8A6CD661E4D1B0474618AA64DB26FAE00AA7E661B082DED20BA3D70DEA24B20361E39C1CEB31AE2C238C18DD1208EA4B8C0BDDEC0B886D21F8F454140972423402BAFEEF89F8EB63F363C08F19EFDB06A713BAC5CF3551050E5AFFBD29760C982D97064CF4E181D0941066D5F3373F66D656D9E9E43E4762C4E3C36E34E042CD69D0BBDBD7DF0CCFAAD30141A394ED5734AC2A24697C78B92E48AAAEAA2DBED89D1BC2A990C94E09B26526908A28B624E0C410CF476C3F2739B617AD342F6836B3E7F03CC987B2ECC9A358BF96EAAAFF5F50FC01B9D07A105A337CEB673C90E0EDECA79865CFEC3E504914A25E0A11FDD0FFFFD9347F1BD32BBDE5853019FDEF81A5CBC64292336A6729C0D41BF0F44072B0D1617B8C7E78D09BC8061A44AF9178CE3EC96386C069CDE9F8845F05A3D741D3E8C313CDA1BDA9C887D2C1E07511010BC00355595E03ED803A439547464FE9CB92860CF61B2C8214F4CC4E12B37FC356CDBBAE5B881F48F4660F5AA6BE1F22BAF82A79E790E722380B2D212245E0C9B45BEACA8C025514A713873CC9762C231A3B6163E35AFB590A59A735A20954CA2CA639C8D44651869167B1F193BC47A45D598599406FC2025D14E31AB674E119F69E0F9C4D051E88A8F155E481EE4C6D55F80C58B3E838CAFB12C8FCE69C833F4BC868606786FD74E069CFE27CEE1D524E60B62599163753B4DF532162CE12054E3984DD229BA16C4E82B9F49D100BB0F77C1D1DE5E98FF8976A8AAA965DC5060EC428092B555B322085515E5C7BDF4D3175EC87A0A5EB66DDBC6DED1D6D68626163C55690BDE7C7B2F923A5F5254E0A8DEB2C880A38C2DCC968CE3D3603B0786B13BB2F6D34F3C0CBF7DFE178CCDA98C7CE7BD3F844F5CB4A8107616246467D9E9744B5426FE7ED9D2A5B06DFB76282FF1435363336CD9B18309E1B8BC199F17F07AC8768A1AC0884840693E079C32B48C661EC7C2930F52F7C8910E58F7D4BF1666E327BFF835B42D6C6742C86B49F6A776E1EFA98EAD5BB732D0EC5ED4985224EE75EBD6C1AA55AB4EBAD7E771934C8B1BC0A00EA1AA8B59E086CA7CF171BA7E5C7C8B5CC089D0D9DDCFBE534FA1262B514DBEDD9E1CEE9E1AFAF0F0309B692A473FFA6FB7C315175F086BD7AE3DE5BD7E046EDA96B7B821ABCDCB05F5429F2DAB27577CF243171D0E68686E86BA29950C50635D3578DC2E20C115C04E02CDF2F7D34CF9A1438790B87478F8DE6FC14224D319D31B60FFFEFDA7BCD78D599EC80BAEFAFA7A77F1921401D2822866E3725365A9E97165E2C9E0F1FB9CF3DAD1A5E18F6485AD9E34A3201C92744A95B6EDD3CF38115B6B532D2CF9D479ECBB9C36D812D4A90EA7E4A43CC1899A55513CE08A95CE931B8FA969C638459183CB0FD6043150090F3EB616DED8FA2E3CFBAB8D70341446DF3C810EC1382EA3CB4BC23E8D955F7DF5D5F0CE815E1879AF1F32836110A23A5CF1D9CF822CCBCC74261F2E14487D5333CADD515734E01353BDC8EA7CCEC635486BC649B34D03898E8FC34BBF7A01BE73CBD7A07F5C86BEA1089455D6C2FA5737C157565E01CF3FFB53268013CDC33C41D7E93D090C7E948318E9D5D440E8C82854A5DC70415D237C73DE3C98D8B001463B3B996F3F36E32254D64C21C62F2F1AABDF7DDD75DA55BF58877988CD03466FB27EF28CC7A2E3F0C0BDF7C0D64D1BD9C0632884E1914AD8BAFB0044221176CFA3F7FF007D7B0F7CF3CEBBC0EBF50170C76CFE4437A6BEFF3ECC4526FFF19A35701E9A0A1D140BB001619C20777783D6D8C84C894C82B4C95B5E81D19B54346617B3B929AF232027462790663939779C274BA765E8EEEC38560AC6168DC5A014031BD121B17322AAE3918121D8B86337B8FD7E1693B3982811831A8F083A657194BDE91AC847FB401E18C07316BC33F11E9808DA427333C9E4301CB6DD6E100746C1406DE12574656E3FB883252089C21902AE2B302894C23F3EFD2A736B264B3501A2190D329FB909C3360D34C109BCC787CD0F11A70B386C22A69F8031FC08E6EC3F135CE0D405708A3CB8040E9C95C8CA945A8A9862A2EB72A30371B65A206160EBC6CCCBED14586EEFC5DF934AA3D5B11C40439353551D744C9E286DEE7C7D3D55730345058EB6A3A24AFA409341719540075F4EB4C71290340AC028E1599041E563279ECB7F06FA2C64ABB1A24065E65CBECD3233A435AAC0628EEAD16570A326B9C0000715A43042E4590D1E398534C05420AA2AF8FA0C28981D669271B051C803BD4720323A06194C95595D502832701CBCCA42562D83EAC917D459A5C501347D0F6762D8A482808423D838006C3C063B3C9221473D7283A8A581C39ECBA4003213606362934EC561703404F16814D5DCCE6D1C70B0788035F4FF14C050E428E4058AEF2D2B29810B2EBC08FE30F416787D7EA845E2AB99520BC989F882E2CE382F6408F8F0D15EA8EB7C252B0005251F8B22880424C7C710C01868FA47DFD040DAC352DADCAE090712177DA61882549BB8A2A2B212AAABA74055750D78FD2570F3D7BF056EAF17A94783D050BFB17FCFAEFF2DDADA1901FEE29ABFDFBFE98D37E672935C58066DEB447FFAE71C2E8CF002FE000482A5505A5696ABB79742499076495531B00E144C3A95420D899989D4C4443A31D13B3E1EDEDAD9B1E7C9DD3B771E286E5A8A8743E06487D3CD5642C84835B43B279217B9180A6769ED4C146876B22A29B2D91259A8CA1619496525474195594396F7203B97A0DAD282821B89CFC17E23B0204551145B55154B57357568B02F76B863FF81D191D02B07F6EDFA695F5FDF19DF3292ADE99496BF89AAD56E713C5BAFE21C161BA023B7AFA5A08EA2680BC8D678DEA6EBD86C120AF5624E287C8E14A9B4A12A8A351E19333372DA8AC6229B93C9E43B89F0C88E48647467676767F2FF757D3C1F4BAFB9E59686F1C1B0A8289A6C061C99586FAFBC7BF7EE0F64D46822DCCF5F7A7367C01F6CEFEC3C049D5D87A1BF7F001A1AEBA175E639D86640CFA1CE25B7DDBCFA9D49C92ED951E6CF5907C7D70AD75D77CD1274A7F34DD3DE3F7BF6ECD7EEBEFB6EEB4301FF102F736057EAF004EB24D1D1E2F478CFE738B1ED8EBBBEB7786EDBB96E061CDBE1EE5E689AD608ADAD33587BEAF147AC3DEFEE36142583C19B6970BC806E80DFA366E4A712E3836FE238A227BEEBE28B2F16EBEACA2F478B5883EEB31C3DE38869985C3235B1DCEBF562D2620B347E3F72079956AEBAA7656479D834ACBB7EF9E28BCFFD5155FF80805D2E977F4145EDF4EFDAA6B9D830340F9D97D00C82A5152CE0C8EF75A37D6EA5A525EC3B1D2323A36072125F56562651B171029BA6A814857D8EE7B8CF35B42EDC8BCF6F4710050D5BB5EA9A87F0E7DF18383AC4D1BABB65D3F2B1C9EA72C4378140C0969C0E03C782CF52C8B278A7D3C5F97C3EA7DFEF9FD6D3D3F3B305F3E73ED33C7DE6F5BFC2E323CD38AD4D07CAEA57492EE9395DCD146A433EF4B1F9D5508FBF0AA6D4D52347E8AC364F41874D9B0328D6C6C1E972142662E3108FC758F1327F787CC8EA35D3466389F1398307778E5F76D9654EB7D3311E8B85BD14BE5346A8E53613E854BBA74D0578AEA565E6A10DAFBE3697BC310D117F57EB764BDFD735FD32C3D003DDDD8751C0099C04176A5CEBC8B4A6E90D8F3FFEB8FE61818BB54DE73EE00F967E231619E6540A525881C003FE4080ED7B99D63C030550C6AAABAC00412B2AA6C16A733823B06BC7EF199B4B2E17FA733738DD5E909C9E30AAE56B9191A38F24A243BB702CE68A1597ED4B26C6DBB85C4556D38D1CE8ECE7BC8B0D048370E040D702BC962FDBD3055AB651DADBDBCB79CEFC43682824509596B4B0657A8B5A593DC5FBC20B2F981F06383DB8B1BA7EC635BE40E552A7DB331FD38F520E833122718A50BDE8BA9C088AE3B32518DA6C6051B263F3A666E8E9642A3D6C197A3F0EE488AAA60F2B72E2FDE870DF3E7C6E12C7C05480663B111F53684C59D034D306036D9E105390394D24E4D6502844DBC89C142A4C325D0E4D419C376FEE8ED0D0A0A064B20B97B3E7CC9AB8E8A2C56544801FC8C6EDAC74FA10FF4F46E1D073B9550D21BF40E2F1043D92C7EF47DBF30B0EC98FE9A30FC94BD795D4DE70A8BB9392B4496C9E5B8E3B99CDF1DC14AAD3531A9A576FD33C354923A1D91D9D98BF1E4BFD49D5A88443F17C6922917075761EBEE4DCB6599BFB8FF6F32878E8EA38142C2FAFFA215EBFFD436DDBC68129A44AD8468BEE57F1C06027DED2DCC0B68E102F9CEE20BB151DAE2FE5C6644D728F063E2693DB3931251C0EDB5D879C97B7CE6C79B9BBBB9BC7A009928909DA377F3B0F67CFC1C5E371B1ACA2F2F5D3591F054718EEDA68DF5FDFBE7DFBCB27D781B3DA999BA0416CD1C1C1C191C1A191D5536AAAC185E6110E8F79972E5D1AE48AF96F52FEDC192747816DDA25972CBE4D96D337C9E99440E448DB825D1EB7110C96FC7CD3A6DFD1B6AF30B53F15FC1029635783AD0249F3FE8E83FB97343636A127AAB8E7AC019E8FC4B0A3BA5A25D96B454545E053177CE25E4553E6A0ADBB9C0E876C73DC619E777CE7E5975FDEF2019F49E0AB2EB978D1BE70245C2E6058DED8D4FCC65F0CF855575D7511BEEB0EF4EB37BEF2CA2B893F31F3E2CA9557DF6A1AFA0348526C8C94BB7BFD7EB46F09226156E753FD3EDF3FAFFBCDFA1FFEA9772F5BB6AC5592848E91D0105BE59D33A76DA7F897007DFDF5D74B38F827B04D952489D439F1C73CC88D375C7F757C22F66028340298D880A2A9E0C47C9D18BE0423C2BABAA998BB573BBBBA3AFF7DC99245FFB069D396A9A77BAFAAAA9FAFAC2C7FB8B7B787D50929A344B7BBF72F32E3575C71C5D730F0B0DF7AEBADCD388354838E9E6A97E26DB7DD16D8F7DEBBD191D111219D4E33FF4D612FF96C72865423203A1330232CC160A9AABA8AADEB7BBDFE7D1B36BC3E8F9EB162C58A1ACC1697783D9E2F22192ED13555CCA819181B1D63A132ADDFD7D636D49E71E0A4BA389867D6AF5F7F7BCECF2672CD9EBC5C71E9A597CEF0785C8FC9A9E45F29AA028383430C28A938458654A420BF9EC9C86CE9897CBD1B0326DA89892031136C1A1505BE14052561C88AA9B4832D6452FA4CCFA39A7F643C02A525E51B5FD9F0EAF233AEEA57E28100F249C2F0A460C64BC7F9E79F7F1976D7A0ED1F8DC5267E595555FEC9325E74969597431A838EF128C6F818DFCB6C1F5CB650825921086E17DB3242FFEAC9EDF5E06C46AB2984A66DA6F45BDA5D2967144827D398D0F850481E4374884FAF5BF7DB9B49DBCE387054F115FBF6EDBB0F3F928A534AEB59B468D13CCCA02EE5799E086F5D2C16FBC2B66DDB28F474E02CAD5FBE7CE9EB86AECFC0B013CACB2B30C64FB31DCE14EB9B6821E4DE58B112CD80AA425401F220607477E0C1D98F46639048A628FFED27816220F3665757D753C3C3C3E379133BA3AA4E591DAAF9BB9AA6ED4601EC415B6D43B0CBF1D2516C8F20C8B5F9A4E10497E6B9F4D2A5DF1E1B1DF91EA9E9F4694DE0C3A404131AA6EE94F5D1020695C6681F6E5555B5AE28DAEF3121D81F89467745A3D18E83070F0E10F3E79A998F6D3E7221E22310DB3F2198DBF03DBBB1FF35CED24B2FBEF8E2D80708661CF3F07039C5ED23C32322A92B959A4B8201966D5139ACBBBB876D0DAD9DDAF8D98D1B376E3EC5CA36D8A70178560530A7F3E9CB962D5D1D8F8DFF572C16F5D2FA16B935BFDF67FB0281544D4DD5E56BD7FE66EB47AEB99DCD079767B5635EC09E1C9A7F9467FE1F6409D128E154E8680000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (176,1,'Video_terminal_(96)',decode('89504E470D0A1A0A0000000D494844520000005C0000006008060000009057158E0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000029A94944415478DAED7D099C54D599EF7797BAB5757555EF7B03DD3408C8260A261845500C113026C485C42446A38913279979E3F8F232F39C4CE697CDE79B499CE864312ED11811350497605406E3CE22223B4D37F4BE57D77AABEE3ADF77EEBD55B79B06916037E378F91D6ED5EDAABBFCCF77FEDF7A4E71A669C2786F7FFF0F3FBA3A5858F81D5DD71BD369D993C9665449F41C002EF3837FFDFE77D79B137153E3B471E3F96C575C7145A86EFAFCC7EA2735AEC86632904C2621954AE13E85FB2488A2088B162ED8DBD37EF4E61FFECB775EF93002CE8FD785AEBCF2CA4869ED8C2783C1F00A399D068EE3415114BB65D9BEAFAF1F5E79E5F59933E72D78FCFF7EEFAEF33E02FC2FD80ACA26FF3C5C547C892449402D142A80CACA0A501595817D887F07769CFD277823FE12ECDCB9AB72FEC2F39FB8F5D6DBAB3F02FC14B6959FF9CCD905A1F0A73D1E0F5093240F03BDB2B20ACE59700E989C0E072FDC0EC3FFD8075DAB0F42D6C842595979DD9C73177DE923C04F45BAC355374A9257228EA69607DD03F5F57570EDD56BE1D277D740F92D9361D6338BE182458B2185B4535A5EBA9623EEF9106DE2785CC42B79CFB7C016106CDA7B58F3782C7A89442270FB97EE80BE9E5ED8B9E34DD8B36B0754D74E869A9ADAB36FF8DAAD73F1146F7F04F8FBD8962D5B567FB4A30B4CC30441C8039FA718095E7F650B6C7B7D334CAAAB81683C0EFD1D8760B07136A8AAFA11A5BCDFADA2BC2CD8D5DD8F600B76135DC07B60E7F6B7E0F0BE1D5058772BF49ADF80506412048341E8EB68866C56313E02FC7D6E7FDCF4FC1B01BF17789EC3C6B326083C03DF340C78E3E5E7C157B418A5FB3CA8ABAC81A1B807344D034DCD9AC968A6ED23C0DFE7D6D9DEF24BBF4F62B6B7053A67BFE6A1ED48330874176A0F1C3CD2057BF63E0BA27E08C82153353DF5F4D38F443F02FC7D6E8F3F72FF93C9786C0FC731E716C1CE37F230BD5E2F984A1B88D13BA05C7C9A713AD9E6B83DFC9159780A1B4AAB31D4DFFBE58C2C77B98E3229AEACAA657B03A9C5E7F381AEEBC8DB59EC0CA1EFBE5FFDF2960F25E0D75D775D70C992251FA8C5F2D07D776F3B7268DF35C944AC9700765A79653594574F814C26CBDEFBFD01C82AFA8EA1A181EA0F63108BBBE59B7FFF6ADB91968FEB28611CCF69C8AC1A726B16E148E1904FA17026D09C1B324C6D48CDAA7D86617618A6FE6E6CA87FDFD0D050776B6B6BE6FD5CF0DA1B6EA89ED134FFABD575B55FA9AEA9AB276B4441D36FFFBEBDB1837B77BD188BC6EF7DE8D777BF001FD28DFBD2576FD1FA7BFB05B00816B83C0DE4F65633ACBD41C35F6794801D82FF81CE03A7E0A715FCAE8CC792782C861F1DD60D6D50D7F45E45D57AD2A9D481BEEEB66674801281CACAF88CC669F3A735CDDE84F4210FF675FF88D3F97B1E7CF0DF07E143BE71D7DF74ABDCD7D7E723BC45C1C338D4067314E8061D06838027D0714FBC4B8D4C3B1D3B818EB3EF73AE0BD86F7CA81857AD590BFE4000AD1201E2F1A8591829E27A3B3BF5FEBE9E3476483A2DA712FD3D5D07339964B3222B3D713971383610DBAF6972774F4FCF10DE87FEDF1EF01B6FFE66ACB7AFB7904CB4CAB3E641B67A3670860602E8C021A89CA1828060F286021C82C9D15E43EF4F4526D1B3908DC5203AD40FC3B8A7C81FEB04FC9C1B7802BDA8B804BEF095AF2347FB9872244BA4A3ED087380BCFE2072B80CB29C810DEB7E839D11B3BEC72C1920F3D1C4A6E37B95E738D4A89046194861F7C7910AA378CD415D51FBD299644F2A9EEA50D54C4B3A9D3E824ED5C0FBA5BC0FDEB5E7214B60935D9C45C5D5A148C00B7EF0A071CCA163E21138F406052695880D78C953440F5122C705F74578AC1A9B646AAC634C5D03F458ECBD02869A652D1D1D846DEFEEC44EC4CE43B494749AEC73C48C8348711978240F081E09D2B2CC469433C26890E1E8C2BE36443C468ADD8F2DC2B94711DEBB287921ECF541385CCA8E093C67E271E353ABAEC49B619D24E3D912BAA6F5E1287AFAEDB7B7FF704200474599819C5D8C92890FC81135F00602880F8D9DA1B1816CA094E36B8EFE8E02CE11BF1890D545406841127D207A45F0883CEB2C91F6E8E07844BBD3B0A3F02D5211E9003C3F7E77368E24D498E8552AA06555747414A8BFF093A0ABF81E9B9EC9609F657030C96064651C5029D0E5242487A230D8D305C3F138F5C6A80E322183666546CE7028F902614F8C8687C3B8AFC4D62488DE051515F58FF7F6B61D1E77C05172652625888680EE34DDB090EAC3F70824723A7A25C08B1291308E6DDCF3F870A43451D8788A7270D6C36A26431369C7B03A0F7B8E00E6E9187997040A8E121E3BCEA4F7F8551D079821A17BEF41C747A2F31A205287530FD3E7E91C3A75BCD5491AD319683A22D555E148E17014D1A8CCA80C60501068053BC7546436AA4CD65129D6B47402E4D8101C6D3E08DD473B49A5CCC65B187FC0458F37414A0F080C4E43C90338B73A04F3673432734DC60792D1EBCB641550D534826492AC33300CB44F88A74D26FFD6D0A68D46818EA066D950F7A0E493F44BD8673EF0E09352C08A17049B0F48D122B082610923814A74A55307996CF498F819138715751729EF78C684584643FA51D9FDEA38CA0C3D88AFFD608821BC473C07F69CEEC157417C8D1DC8CCDE1A03CEFBB8067FF8FE5FE3FD43E984508ADFEF8F91C5C19E1D41457903D44E1040FB3888A015E36BDE565E1C713D388ACC3E4E1D80D4A02135202CCC1A21579D0253F4390A42E92AD1868A0E8D825E641CA510F7AA66538BD5487A537D5D5080D7553503547C4F7B1311D5551D12E90C446505529A008A20812E7A7190F980F7055197E068E3AC11A569B827B0B1D7D99E0483BA4A47FB95FE6E47A4717C144C08E05EAF3F4E0F65880664902F251E5D6B550733EF818369C7404881D183D1017A4DDDA4C869E86A3F02FBDEDE0631548CD366CD8559F3CF61568993E19148A279574781D559CCA5671760B6270C758460FAD4C6FCB5A9334D0B343A462E3F5A1F2CD34F6D389E80185A342954B41A768E82928CCC4F412F50E8399072140A1560A767B31A7E0E7582B7D1B69C8C89015CF279E3ECB151CA92F8103E940145B343D0647AF3B6A540710046D31CDBD3315D5760EFCEED70FF9DDF83C4B015D4FB13F7289C7FE927E18BB7FE2D1497968380C012689C99EF344611D48B9CC5E54EC03B37D2D8318BB7992FC0591D4F23C78BD60865886C0761A46038EFECFB05C78FB0FFEBE8E880BBD6BFECD836C10989A5F81170663998D6D0E55121AA340C9D9B660F6FD9600C0FD37A0EFA8E8234F2DA538FC239A5415854118139258530A7B410A20776C1C6077EC1CA1F9CF3183941B6CE6DD867E7C0A12CCE029638DDB494A3D547B607CCE53C298BD6EC839CE31D8F386E9FCAE53DD34BAA14E05048FCE807E03631122EF25282998138EC380F693B15321AEF083819258CA74DE7295C1B2922399D845A32EF823EF75FA075DF6E664148A8282DC02D2A62C2CAE5A59277860BFE25ABE84C095AD7B24685690367997EB9AFB10EA1FA16D21101F45E89BA9802372DBD02F669DD1E732814C25B53A0B8AC187ABBBA26067094B734B3E8488B23F7F1C87B2A6A7D137223D91D51B541B75EF068D92888D05046254703C2523EE0A8CA2966E500E369376773AC136D86C901A9A15467E9F316D66382EED0868EF7D8D1DE0E0FFEEBF720DADF07175CBC1C967DE66A288C94DA00737678C2B9550B7D911C3954FCD5759311F0CE89011C9F2B651896A5419B84129ED53830DD1A9373814D00D907C8432DA9AC016F7A0814C32289183A30DD29B4810B42966A32C1E67C32ED388BAF4DD3D607D679751B14D34D1B39D0ED11663AC73988F675C39D6B178390B142005BF66F867D2F3C0A7F7BDF1FC11F08019753F266EE5C6077B80F9DB37049399D67420027614BD3FD31F30D1B9033A11936E1BA24DBF5D270F047C0A72F5C0C26B9F85E0FEB8608EE1BC2012A5A64E100874E186F9BE072D77114E0810C997D3975677BBC39A05D21302ECFD57B5F7F094ACD18AC9C22C2F2C5F3D9F1FEE67761B0BB1BB85181332E47E8D62809FA3CE02B28A4F713A33449C21D7B999A89C33AAB9BE0B2D66CEC6D8BC156F90C701CA233CEFD18F882D6BD1380643F7BD171290C0599B36398CE39EC30AFDD590A5E234B4E8EAD509DCEC8C788F3A0734ED4D17E4FF454535E048DCBAF820BBEF2373073C179E0454598CDC8C7748EFB1CF49F8FCA324285744F1323E1BCC9A589F3A8FE4345C07953CBDBE166CEFA722C2C0B38703A8103AF3F000567CD6154328C2D818A8F38BD72F2D4BC448363D9588D3A945190993FB7E9320FF356891BAD3CE8B567CD85C286D950BE601902ED870B2EFB149C7BD15218EEED040E8EED2C77AC3FE097D83DE3B1D084008E160A9370025C5329BC8A7B0E952145FC46B18A01F90ED0F1EF49743A7A3BDB41A869826ED18FDEA20903E84576A532A023105D1D6DCC9220AA325C92ADEA79B00DFBBC86CDE5E628D01DD3CE0DFAA4E9B3A0A06E0688C14276AC664A03ECDEDF0289BEF65C48977371921B742F05D5FC413A5860471FC717708D3753F49004B6AA5AB16E72F02910949364970341D64C3A99808E23ADD0BC6B07F83351F8FCCA4BE0FA5BFE0A5A64150650CA6B9BA6C237FFFA5608C851D8BDFD0DB4288E828C4E1501ADDA34628EE074D3B6CFC74E61728EBD6D6348657245332F8083875AD9DF7FFBC433F0D46BFBA163FFCE9C3D9EB3CBB99176B91F758CC7325583D5D5D591F18F1622A588C8B90A82CD1E575318E0722603C182028B401CFB8AA2FEA92474B51C82FA4209AEBB6615F8FD7E76A2694D4D30F5AC197068FF7E587CE185505555058D0D0D30383404AF6E7B1B8E1E1A86F229D32080E7A4B095416E3E581EA7618B218F4066B30A7A94528E0E4CB7B833672B0B5D9D9DB07D6F333CF9F07D70F6D43AF8FD0B6F90060743F4423C16835061A10DBA798C5D2EA1844B74CF0604790F4F800F8C733CDC4C09F8A04CE921E80438D08DA764282D1B699D30C091463E36BD0ECE9F3FE79893CD9D3B17C2E13003DBD94A8A8B61F5F265B0E7C021D88656445DA091295BCEB6F338CE2999E098E451BC8400079709CD4C471C1951ECBC575EFE4FF8B73B7F0C7BDE7D978D8A032D1D3967EB270FAC87C32909AEBDEE8B30A5B111F93A607FDF76DDF035C5E745C347A389D734BD06FFDA3CAE94A2A384F3029F1FDA1ABAE3820889943C126C3B0ECBE1DF4EA58278E6B4A92C4E4D5143C3AD285D5C4E591B4A1E98A3B89C2E9D415DF0E86F1E84AF5DFF65D8BD6B178C5541D11F8DC1AF7E7E2FAC597D391C3A7080D11FB8E8C5E27011E5C963EB107EDC0BFE45CE6BA4045E74FC6026E1262ACDE1E69D9089F0795E75322A7206DE6C1D84975F798D65EFA946903C4EF2345948964EEA1141B0CBDAAC383B857B03904C66A15DD5F0EF9E1C2783ED8552144B411AEB8E0F42656525CB794A5EABB256F2484CA9B7B7B5591EB1CBD87603AFDB2F6924BCF4A74D3063C64CB46284BCFF86FF850B91260714FBBB5C78DC018F0B425A709201E401A2A74920D554D5C2C205F361ACF2094A8951E08A12C54CD9E9861D4A3550F96AF9A81D759261BDA6FCE75CA41B1FF2273944630598946C06A29D47D1860F3113D5F10DD4641C5445816B3EB706562CBF146459664A3D6B370A21902544F7A3DA59ABB2B27278F9854D56A7BB3AA603F93F2A943A6EDFB8DBE2E21D5FFE7266EDE6575848C34AD7641850142371BB6DA6CB62F0489475F7B95C418E497B329180443CC168235418864849317ECE8B12CC83DBBA334775208B7F50580139BC2852843AA072CC9B1D4D234E891C352B119E0F54D16BE7987B6B6E6E863B1FF983F376FC01B732DC828237EA6537AC5AC38D9C9F311F9A1B693DD06B0A260D47A3F0E4A38FC0E64DCF410A812FAFAA86EBBF712BCC5D702E040305AE6018E7846472523EA203E0F8D56D6EF05A5B5BE1DBDFFE36BCFACA2B501C894008DB430F3D0453A64C390664F746B1745E4DDB71E7F18FA7F0560299CF3A12934D44C14BF948ED783537DC08484CB09CA6FBEFF9093CF5DB07C1CC26F1A4D8017D9DF0A36FDF06EF6CDD061AD5A8E414A179CCF7DDAF4FA69A902A6BD7AE5D0B4F3DF514F4F5F7C34194DA81AE36F8021EB30A998EBF9115C5299625644C40D647B4FC7B26E1EC407C78187C9C0E99B1003F8EE05001507F5B333CFDE0F7475A0D83C3F0D3871F8073CE3F3FA750474A733EDA9B1B392781F8FAF5EB61C78E1DB9F7A4D8A737D6C3A697B7C2F3CF3F0F2B56AC38AE945302DBEB11A0B4BC8C62E2C1099170F4DCD2CE83466371F0F32A6446530A370A716E94D996518E3979594984253448918E22DF5CACC61C25F32703F89E3D7B46BC6F6AA883FFF74FDF84B9D3EAE1EEBBEF7ECFEF07FC3EA86FA0DCA63931128EDE62CA912E1D255B6001AC51536B1C846C37DB2DAA64069277B7734F333B386F5623EC6F6E87B6CE5ECB9B1C25D1F988BAABDF6CB3F4441CEE6C478F1E85A2C22044E329D40F7EB8F7077F0734A565CAA41A78E9ADEDEFF9FD205A4AC5E59513A2349984FB02FE84F3E44CC2D0CA90474BE57178D756BA505E5D0B9565C5505B65995C0D93AAD0CB2C049F0FAD1472ACDCC9DD13F0B861BC37E019B4D7C9310B8782F0CB3B6F87867ACB7F99D9380962E8DAB7B59D785A901FF93B80D6105A4F1343297E7F20CEBBA5CBD44156B4B1CC84314122577DEEA28F4374380EA5C5962F21A1D42F983D0D6DEA02CBEE1E2B5D07EEB02F37223A79A26DDFBE7D6C8CFCE627DF81F3CF99953B3EB9BE96ED0F1F3E71411509413014A67A96899170AF24253881CBCB1E3A0FCA6849E38E55A00E40E469CE5A703E148402EC4F83D13874F65831A1A9D3A7337B7824D6DCD8E3C67C6FC04982172C58002A5A23E954C635327468ED4BB0D7D3F19A27041CBD572F52203A638513C2E15E6F304E65C38A2DD554A29C56B4911C0BC7B76D1D1A78A74381DF3FFB24549417A3F7A7410C39365CDDC896E9208E67C0DBD55A2670639CD57C4F4A29C4F3AC5CB9121E7BEC317862D3369853530352297AA66D43A04633D0D4D4C46C6D320FC7727CACE795C02FF8C0234A0535353581CECECEF4F89A85029F14783EEFF551591AE76135DB7E9F7F4CE9063B364E61DCA18101686D3E041B9FFB135416485057E361AE3F51CCF6437F069993E0A265CBA1ACBC0247418895268F00E224CD4293856715689C3C997D7FD7DBEF40696C0D64A30908231D5F37772EAC9A391306B76D03A9B111424545AC163D17BA70006733A0FD20783C01411128443BBE800367A678876759E84E03192580168E61808F21DD94B018469BBDF9E041D8F0F8A3B0EDF5575976278560D4D5D6A033849DE70BC3C1FDDBB0ED878DEBD7C1E28B2E862BAE590B0D0886D7EBCF9929EE928CE301CE9CB26C16A278AEA31B37C2E5482B6FE2B569BCF8782B9C5B81925D451DD9D909665717446B6BA1183F47317B770753B984E8095047F815C52CC1435DE32BE1C0A5A990261787202B4508433C1E87B2D2D291F69B5DF290C0BF6DDAF80778E4FE5F3067C9D98E1C3902EB51E28947B76FCF9B684303FDB0F18975B0FB9DB7E1073FBD076AEA2681C01F1BE635E0F880A7DADB21B8772F2C3DEB2C88200F7F66D1A251F9421701E2E703087A76D6AC5C92244F295E3C212DB020D164833A3CF4EEF84A38A084D3346C9B52A81C0C0A0AD0CE4D5836333752B711959074AFFFED4323C07636E26C526E63DAD0AD2D30D0D707D53575A46D8F05D6C807B4DC012AE264CD6E191C5D356565505E5C0CCDE8DA93E413B5D13E4315BAD8345682CD430605C38B809B761283CED3861D57B470A9536C5A3EEE4A131F2FED58124CCA2980E50F310E1E4B55EA949BC446A1569E9525BB6A4938AB663C9596416219179ED9E1AC181F3FEB0D04E1993FBF05AF3677E07BD1AA8E35AC2A5A0AF36AC961F0CA7136498BCA9575FABB5DCB822C05B29C0683EACED1B413BD01F0204707826128A8C6160E33E54C75E8224D93F148505252CEA29BF45D1515B986D76840A74EE9EF61D615DE5F68DC01270E175C124E93A540F4C3EFDF7A1B9EDB7D946565349AFB4E3588A8DDE259A41C830379E6656036C8A860454AD7E058F5E1489540F016401772BF29F959868880E63D56E932879FD95A1861E50D3435C52372E0A1902FAA102A43A3E92912CF815760D33358965DC23E94F06F2C1F29589FA53946F439F679D604FB6FF97A76A22CF29C493878049B753C137C934D1460568C20042744C24521AF34399AA1260A70B8EE42365D84E32DA9A51B54894B35469876490282C2335307ECC823FB0EAB6503EB35FD13080CCE0251E0F3D974D39EF8908B16DADE1015D1E733FA9C5D4A6160236B8AB7CB99814D5F31B0F30D1E8F682810992C2BE1C061C84A3E0C2A6C92B340ABC8655329C8E2C893930948A04EE1AC2C55C1F84BB80136873B9CA15A8FCE73B9F806CF09ECA165CD6419F25CAD07038E77B496CB1BE52DB78AD50CDA057E9C352BC2744556D87BBBC89F149D8454123055082859BC391D444AE3690A08788C748BAE5A5360D28A0C3AD5BCC829D0322948A12E89F6F6A2A24F2087E7BDE469539B60381E836E54A0D6842E9D511751965D7C31FE8053E6DE237AF24A53C93065C9E7D53F033DA35BD5AF0EC8564D379703DEA903F1715447264310C1A1D8388F4009A8173CB817F50C1B415C56061E4105040B90B3D57412944414FABB7BA0BFAF07D272865190B3908DB5A88D906B3CD3093C0B1B703C9F5B12C459A5C2D9965E7A298BD7FFC73D3F63803B059EC52565689E3641323E3C63FCE3E194B917F39462D2D41304B890D7C0CFA19421506C8E8E2CA3C9A800AF51C1108249E9B86C9A05F4392505663A0E064A5C1215526F471B1C8E274EE9A608309AB743FC2B8A1A9B342508FA08C019E8B4E7AD24366F539F1B7482BDED682B037AC6D973A0BCBC0A2A2AABA0ACA292ADB745DB1FFFB0DE37EE806B0249B890B3C30FEDDC0A35D10118ECE9848E5882996534A766BC16776089EA5C6218C1D6096C0DF95F1C09764EDAADC56EA80EA5ACB2122A2AAAA01CF704704969191B1D931B67E53A8412D06D5D2D6677477BDF8E6DAFDD31FE394D94702A957028259D4AC3A1BD7B724353B667078FF7C656056233E034CBC2F1F1100A1742381C61AD10CDC0305A3CC565A55059590D9148516EA52126E9B8A74AB1C1FE3E6378389A8A0F0FB5F7F5766F3DB4F79D47745DD9B27BF76E05FEF9B6094822AB68167A3C23322E4E069CAAB1DE2B4FF8976C029BB5EC61E5C6C16001FA5B052C4045597FDA3370236188848B586D8B23A5FCA83D298F01B43C868706B5387A63F158ACA5A7B36DCBC17DEF3CD0D2D2B2EF4C597B85019ECD8AACFACA1B0CD98ACFAE98400E35380F0451B2986DCBE666F2AEBD75DC51581678222BF421254C412AE24A8F24B1BD9715F750F3B2F99C54424139464B295A4D745185FB38E1459501A9740A32B2ACA337A92A8A226BD9CC7032953CD8D9D5FEC72307F73EDCD9D9390067F0E6ACAECC7DFEFAAF6576BEDB2C398533ACB8C696EC11608C058EE8064A1C1B40712498D6DC40664D5B6567341956574C5D67EEA581A6A29C4A245A1435DB914A260ECBA9D45B6A36F9FA8E1D3BDAFE3B2FE3E1D4479BB3E7CCFDCA91D6233F48A6D32172DD3D3CB066598568B35A6BD1A02D4C4BDF59CE86AAF16C8AB76511F0A620723A7E4CC14ECBE211B68203E29A46F092085272DAB41997971417F9A81FA94353E92CC41332AB278C141553408BABAEAE146AAAAB84929292172F3A6FFAA75C7CFEA1588EE9035D3F9CE3DC5E1048BFDBF89F7D559595059D9D5DD0D1D90D9DE88C7475F540343A8C16451920D0505343AD9AF28E6FADB962F9ED86A20E2A4A8A22649ADDC82BA33A9ACC07D50937DF7CB3271E8D2EE53DDC65E8E556217116E8A6D6A565B5D754C3D8BA61C38653D609E20700B0B3A64910F9B95CF205E779FCA14FA0833247CD6683EE25F438706ABE15B6A88D61AF1661582B0C2D2CAFA8D94CCB78205D9BC8322AEA8D34F65D1C75478BA6669FC0733C4B915F6C71D3344F7A05CFD5AB574F41E57C169ABA1D6805F53CFBECB3FDD75C73CD4255CDDEA5EBEA39A88FFC789C4D9B26A51CA2FC27256824EE260F27C1DAB557EBD75E73752F12DF7F4463B1FFBF69D3A6D4B801EE0239ECF10426171495DE8837BC0C9FBFC6D035BF139BA6B416450579DB517156E624A5490B8DB1C01297CF2E979494425DFD14880D0F52969E434529C9725AD234853234F5D89644CAEA7E2249BE4E5E147F88B7F11B8A0C8F2579175F7CB1585151769BAA646FCB66B391743ACD0DE37905BB8477E9924F808CB446811DBA2E5B13571447E44BCBCACADCB95901EFA91A95F83F07FC9EEFAEF9ECA7B78723254BEFBBEFBEC4070A383E24B96B25A1A2AACF7BBCBE5B0D4DA9336819879CC92758AB520482108894B238B9E5450AD6B2D61299835E340583AC2499798C68ED10C5BCF6EA1B60F212F8F1BBAC5E8626ECAA22B3C9F3B1739DCF665275C1C2E29F35CEB968F2E15D5BFE81F4BDFB1EAFBDF6EAEF4522A1FFD3D5D981AAC52A75365975B4C11641D05985AE150AB695BC895656D6237834341A4C1C699C9C497BDB3BDA3C747F4174AE580818CDD8CAAA2AEA0CEE853FBD702E2F70F1356BAE7CF689277EBFF2447473CA1C4E139250A2E794D74F7B3839DC3F6374BEDD92DC020B70DCFB0205C07B0AA0B1B181014C09035A5486250E1485C5AAE9A1B314EF36A9B388A963F6CA114974C6ACBD5564EF92185182DAA97340CD665EDABBED797AD8DC4C82B56BAFD9D6DFDBBD80561AA2B20D925402979218FA88BD053A59655555D5FA96975FF3BBB2B74C80162E5C58505F5FB306AFFFBFB2994C037E476075EB78EE7776EE62F7452B464F9ED2A05754545FB77EFDFA474F37E091FA69E7AED71479592A71ECF2B0949C08906407026C4FABB955D54CA6F542EC19145CAEE48D4930E36F3DC7E5C9F83074B5B5808C76771A1B79BBEECD8F1D58585C0E8150899949A7B6F7B4EFBD69B8BF6B9763327EF6B357FE381A1DB8CDD455465F6E9019B863004E1BF908D3A7CFB86BC3868D77D90C20D83CE7286C1A41DACA952BCF350CF5773DDDDD15BDBD3DB9EFD3082A2E2E82D973E6FDFA77BF5B77C3E9043C5C52D5F083BAC6B937A6E2FD9E547C08E4642C376382F88E72893E9F9F799194476C689AC1266A59096B37E0F6927C94F1312C108EB61E82A32D87986B4F1DE4C3A14CD3BA298B142828A251D09B18EE7F69A8F7E8A3C3035DEFE069BAF159D862E3975F7EF92C2593DAADA8B2BD68CD5852ADE7A4DA8D01E991FA499394CD9B5F59604B370F23C3F5CE4C47EA0079F5EA5537B71E3EF40FF1449C4D08336D455B182E843967CFFBB775EBD7FFCDE9029C50AB0C452A2F2BA9ACBB22102A9A1B0C16D66633490179151F4A010DA98292014CE8F0D629A8440A52B0C3AE8E5B4E606BF60C0643B7D26D4425342740F205908A7C8A924E7565B2A9966C4ADE27A706B7F6751EDE6A5B28517C86ACFBDE2E5FF1C9D7E3B181F3096DC6D12E70DDD27DBC67AFAAAC325E7DFDADE92E9356B4F74EE372396F94F85597AFF8566757C74D34192189A39174015DA3A8B81866CE9CFD8DC71F7FFC67A7C50EB77F9F2160B788D71B682CAE6AF884E4F5D7891E6F9947F296881EA908C93E2C881E3F67156CE6579131AC79CAE868A9BAAE2435558BA35936A429DA205A23FD78AC379B4EEC1FE86EA1AC7ACAB6BFB3F6EBE3DAE1175DB818FDFEB487F2976301FE5ECF8C3C9C7AE9A52DA52E1E27C029D8E47535C93ECEE624E0A8FA467F7FF78D4343432CF8C77A03AF3F75DA54D40B754BD6AD5BB7E52FB6526CDB37490DC1EFCF66D3EDDD4776BF69DF8CBB89AED213FA8E3EAAA976D321BF7682F359C56D79BC97C34123EF138B170959B63C9F03B2C624CE3809E122EBA9A828F2EFD4B1CEB56CD3D72DE1F44C940B2DB0854D7CE69967EE5DBE7C9982F6FA2D837C944DBF21616A3BDA06B5D5B5F7E3671AC6D3D30497B498C7E93CF3345DCFB772C565BB5B8FB63438808FB66C8EB711C5D5D74F4ABFB4F9E52ADBA6374E30B205DBC12BC216B23B815BBAF4A22F6465F95B3DA84893C9347BDCF9F3E60127483E74B0B21FE8FAE1E6B19B611E673B4D97A4E7F1BDB175FB353C2F32857BB26013EF4E99D2987D6BEB8EF3E13D6A4AEDE7506D6AA3E824851EA8B2D4402A7A38180A3D565C52824683F5330C3D7DBD505E5AF25D8071FCA5AAF18C0F0D0C0C246B6AEAFF2C8AE249497561380233CE9AD9FCEA6B6F2C46E76CD8A637F324048A2890ECD5415B81D36BFDF9E75FBCB3A6A66E80CA04C93A5369CD474DFDD2074E29E38EB44529C4AD1534CC972CB9E8AB89F8F0D76574E5354373D6B1B5B81A4700F9061595159D3D3D03FF7BE7CE9DA498133678C9F71302B6AFEBB1A9856A1503D5D5D525B535952FF4F5F7416D4D1D9496969AC3B184C47DD816A1C767F7D8BC4A0F4E09627ECE9C39D3ABAACA5720CDCC1479AED8E48423DDDDDD0FEFC24DB57E28889432112E797029C444FB4B624A0EE8E79E337707ADAB38AD693A0CC7A2505E5153FA61049CB381A62057A1ADCC0474C2BC972C5BF64FC0194BD2C99457D1144E4407CCEB950C93E3559FD7D7E1F3FA7FF2BB75EBEEFE0BAF4DD78B2C5DB2E4C69E9ECE7F29AFA88418824DBAA4B66E4AE3190DF8EAD5AB97E3EEEBF81CBFDDB061C3E3A730C4C98AF02D5BB6ECD365A5C53F1B18E817ACD5FDAD2D58106251410A90512D4C2291A40962467969C583EB9F7CEA2BA7EA9B34343494CD9831BD4D4E2725E2EF8EAE4EE6F04D9ED2348F3FC32595E2199F46A1785FA975DBF0219A48AC5973E5ECE2A2C8BD838304B6060A02908827D14E4EB22ADEC1810156015C5B3B19A69F3513264F9AC2F7F4765FFFB145E7EA9FFBDC67AE3D154B69FEFCF93FAEAAAC9468DDC676049B7C00C94AD2A7CF580947E9FE32EE7E4E4314EFF1B1A79F7EFAF3EF379779E595579E8DD6DEAE81FE5E8E42BEB178DC7284548D0160D52A9A10A0980FB64A1CFE656515102A0C416B4B0BF4A1D437354DFFC5E3EB9FBCF9BDAE75D5555749B22CAFF14A9EDBBD3EEF9C2354968D9D490554B4559457C0EB6F6E13C433116CBC79722AFE11C1B9EAC891237B7123EB2180429F3E19D051AA1F6E6D69BD164C83A715F7292E63FF1013039AC2A8E48279040FC81999D595139DD0B21FBDDDDD50545AC2009224118E1C69BD093BAEF5A9A79EFAE11842415EE60592247DCEEFF3AE95242140B34062D1288BDFD3D2234E22BE305C481EB97946029EC9643E8BBB83E899BD6C5B1C05B6DB9FB1F727FEBE2C5F15F0FBF8586C18E2E862EB76D282D9DC91B0B59E22FBE9316B2135A733A8EC63381167C59F43435108A01D4DDF191AEAFF3E82FB2B9FCF877D97BA00F9F8D382C05F56100C4C41C786672B6924E3B95A1E4AACB0451404ABEC8E7E3714DDFC15A73DA7791A3DD46F261289BFB2959EE20A58E92E7E77C73700ED5E71DEBC790884F07555553C14A9F3FA7D2859455671685A6615B38958020A4241B64C08253E48E2698D15AA9BCCD2CF22E82A0BD112AF67A414ABB15154858B44C2BD8A92E669654FAAE055ED1F41A4103429C4A2A212561E42EBBAD0A891D832521C089C0045E1E28D1B9F7BEE4D522C671CE0AB56AD5A82F7F5EE962D5BDA6D8188D9A0EB36D6921DC76011BC19336654D7D5D57D1187EFE771F86E8FC7E3BF28290A9F8320042A2A2A201A1D621926AA204BA533308CEF298C4A65CD34659DA5F5A8D7044AF9A174222454E864FD4A0BC7E2F994564B2612AC63297B65E562450632014E261FFDD216FDD20BBD2E2A8A40616118294B34256FE0818D1B37DE62C7CFCF4809BF1187F8061BD4B42B5228DA362E8546C5C58B179F130E876FC0217F093EE47A7464566DDFBEFDA86D0ECE59BD7AD5BDE670F4525AF4A6ACBC9C29CA743AC9966052551D32591988725445B317B334D9EF1851B2C4E793D83AE524DDCE4AFFB4A7941A014DF58C94D724707B7AFBD8CFE1B88D0F549E29B4EBB76CDFB1E3B6E6E6E6D61191C733C94A21F145093FD8DADABA6AF7EEDD03766CC274C2BB684FCFF17ABD2BF0E157E3FB727CE07B91EFEF79F1C517074707B0484F2D5AB4E8A2AACAB20793A9A460A5FB828CBF75340F69111D1AFA567CDCB0271DF0B9CCBC55024DF3933856A6E7937CE00F06205450C8A88340EEEB272B4453F13EDA7044B4E2EB16745C0FB4B4B46CECE8E8E8B1758EE60ECE9D51805F7CF1C5A5A150A80FAD867BDBDBDBEFA19806D2C5791E8FE732EC8BCBB151D8B419EFF9AE6432F9C0E6CD9B3327089F92A417E0F94A2F5D76F18B070EECAF21A0C8F30BA342F388128BE4A1AE60A69B4A9303380B5C926256288A2D82F440734A91FF63785F5DA80B5A8787A2EFA664F9307EF7204A700B4AB46207BC34576CDF182BBC7B46017EE9A597962027B6DBCAD2BD2908E21FF05E7FBD60C1824D77DC71877132A3C5A625A2A0C24B2EB978DDC103072EA001535A5ACA68817E35CB9AE7231EB31E00591E7BF7EC85AAEA6AECB5C8FAE79E7BEE261B50638C2489E96E1F4899C4074829DFC27BFA22BE24D0DFC0FD6B48214F3CF9E49383A77A4E2743B374E9D2B5B168FF4FBB7B7BD9D2155555156C1A61556515DAEA695474054CC22925B77FFF3EB6D2D1C2458B5AB66EDDB100FD8138E4E67C9D3A68DC87F0272B8F07BA4333BE152B2EBB3D3A38F87703438362464E335EA7C58D8942A8428C2C96C2C290396952C313BB77EFB9E1D0A14389D39524F91F01F828E01DF0C5A6A6A610B6E5A2C8AF00536F42610F237FBF9148A4EF47A5BDADB7B7376373F16903E97F14E02790FC9CCF753A68E344DB7F01A92ABCEFC84E426C0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (177,1,'Workstation_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000007508060000008661E9610000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00004E4C4944415478DAEDBD07985DC7752678EADE975FE78C4677A301300220C12026500CA2489112956DCADAB13E8DBFF9BE95773DB33B1E7B66763D49D4067BED9147FB79E793E7F3AC6DD9F2AC3CA42452224551244551CC142332911BA1737C39DD7B6BCF3955756FBDEE068826011AF2F091172FF47BF7DD57E79CFFFC2754959052C207B7F3777BF8E1673A62C9FADD20C4BD8978623893C9F6D7EBDECB75AFFE4A50ABBD522A2DEDBEEFBEFBFCBFABEB131F28C0B9BFFDE0C73FDDE242F0491CD97B05C00E7C2946AF2792C99D9974667BBDDE8062A9087B76EF827AAD5E6DEBE8D8DDDDDBFBB346CD7FA51AC897FFC93FFAE2C4070AF04B747BE6996752854AFD2302AD5C48B817477474B5F71905387AE408FCF1D7FF1092E90C89004AC53C78F53AAC1B1C84C1A111E8E9ED9BEBE9E97FD18DC79EAB79FE2B6E3DFFFA57BFFAD5F2070A7001DD1E7DF4A91170E42708DA01E41DF852E69D3E6314E0FFF8DFBF069DBDEBC1715C108EC05338FCF7427E09728BF3B08447111F279309E8ED5F07DDDD7D01A2C4C196968E673CCF7FB9D6F05FFE8B3FFDA383F21C08EF030538CBDB830F3EE8A65B3B6F8220B857091DAE58EB39480152C9D4F63FFEC69FA090E740A2F5AF1B1C81642A85A70DF890FA3E900134EA35C8E71659198AF91C542B25686DEB80B68E2EC8B4B4957A7A075E6BEFECFE793C9678251B735FF9FDDFFFBDF90F14E01CDE1E7AE8A7DD6EDCBF4738F25EB4D2BBF1A5AEF7723E5200D7896DFFF36F7D1B7EF1E2CF58B8D54A955E874422898A9086EEDE01E81F1C82542A132983A514D572095D460E4A853C94CB05701145BABAFBA077DD7A18DD78C9F19EBEC1E7E289C42B6E32F14A57ACF4D657BEF295C699AE29F68D6F7EEBB3CFFCF4F1AF572AE53E242C55D4EE0AAA6601152327A5BFE47BFE3C38E238BEB6BFD1A8ED1D3F797C0C7D58EEEFAFD01FDD2E63EEBD20C5BD4E0C6E442B75806D041F09F19ECF2F518804FD7D7D03F0EFFEDD5761CFDE3DB0B4B0080B8B8B70EAE4093871FC081CDCB713BFD541179082582201EDED5DE80A0621936D81382A4A5B470FB4B677B352F89E878A5084C307F6C29BAF3CBB61D3C55B37DC71CFE7BE94C5CF95A1E37314889C510126C64FFE452E97EFA4DF893FAF35C20681174B3FD805E907EAC2451C46462F868FDC798F8F9ECBC7F7D4F06D3504112428B2884A93C78B42A5F1167CDF9BF083E040B954D8B5383F77024FB4303E3E5EBFF07CF9A399623DB8137FCFBD8E109FC0FB21E14BC24608704404D3347D481E96F7AC08FC79FC7F72720AD2D90EB46CD431D4B6EEDE3ED87ECD8748D7A0542AA19B5884999929181F3F09E3278FA1C07D5400548A581CB2A80C9D68F9D9D676468B04BE4E4A313971129E79E261B8F757BE7C56D7122B157259BA20C771F4CF6CBE2317215109F8AAA4D2E0805E90D245C54804A4340C4F92214AEAC7F8908F64328BCCB655BAAE1BECF8F0477CFC9E3A121F429A329EBF84E744A541A4F1FD05CF6BCC36EAF52385427E0FFABB31FCD279549A738E36DF7EF0918D22F0EF65D62E80D87B927E5C20B480A321D0660B2B5E7C4F4A2004AB168D2D9DA7A3132DBAAD13700CF008C0C37B27BEC41CA10505BC71F3A53CA65EA30E8B4B0B48149758310E1FD8033866AC102E1E8418EDC80FC68E1C80DCD23CF4A23B79470588275315BC888470DDF0F7453F4D28F45392D78F5C24BF92058D52C5C72474277C2D70A45212F65BF49A4F172FBCBAE7A282B878EE049EA6653565A39B134B427B572F74397D804AE3DF8C4A830AD3C0A386EFA250A8885F50D048B3D8683466ABB5CA29F48D07F0F151449EE9E568F3B5679E896D3835F761B272FCA27BF15C97B3A48D64E569244E3F7B99529C4B3468696D8593FBF7032225A4322D68D5AD20F9BB253F26CB564AE1A352A0FFAF927776209D6985FE7583F83A2A85EF61F49007341AC8A3729C183B0C994C1666A727CF4E01907CD0A0B63B42C1DDF0E846688C5C03A86EF8551E0AD603817EC6C57BC7ABE3733C1A0DA8169790C4E460295FC0B736B4D507AC0884044EA8000E3F0F9C88E5D20F36AAA5461840464E929F7874F81E290CC10F294D9649981EF070D8DD380E5E1CA1B48D5F23A4711CE17FF8B68FD691B879498CA5928944E2CD78DC8DC7E3A8F17184CB045A4B9205D0D1D1894707645BB290C6B8BC59B8CBF4E21CA18121DE434343D0DFDF0F956A0DA6A7A660627C1C5099A15EF7A08ED6DE40019312A451A0342EF1780261BF572B042A86879102CA291E4FE27B32D0815C815C79AD52E4C8E1AC5C000E46997E00C5A2FC43D06227637D50C3A177D12D38AEC3EE81EE6318B3C6E83EE6402686D085425D27947288C003BC3264060D90A828EABE0A41BD0EB281C68B3FCC6F54A086E1CC3CFED8B98505585A5A0A5D0B8FA86D8C5249412E47A5E5AF87C8A45E939E4FBE8C8E38BD4E83DBF479A1FE091187BE967E572CC68CDA8DBBF81B6310C7E7A430F1449C073E49F748C0B238D0EDA834DDDD5D08DB6DD0D282C40CE1772D68408610B954E0F1EDE9EDE5F3529610910C15A001B55A0DE6E7E7617E7606AA388E64680D1C63898A1147C520C877506E99967648A65B60766632B4A4B38DEE48018A2E0E80A335BE51AF401261BCE20935A4D2700194AFD4038E965D461A58953128B809B43A548A845218520E9794072F2CE6D2C0E2800AC1AFD30F4DA03D5F8AE289078824A42408610121086AB28F3FB851ABF2E1A1C278553ACAE061FCDB40AD5E9C9981793C16507968A08C22AC4D6194BA48AD08013DC71FE6FB142DE15115AB284CB3D21864A0DFE6A2A264D269D871F30EB8F2CAED67A504E42295C24A2528AD084A6852BF0E6C94EDED1D8C00AC14880C745FC571A2A4D1E2FC0C7300E20DA4540D1CB3B5DE62A8D545FE69948D422D28556A88B7281899C0C1117C65247473A1AC04A8C06C677CAFFEEE07DA8803456CE87434B804F74004D3C72FC3D16F04EABB1AB10C2A8D56123C928C308A6C06FAFBD885F8C4C6D56327500883BF94ADC16F78788F4A83D6E1F381AFA302FB357C5C2B835FA5A30435F48FF393A738D4CAE50AA19B216D90CB846B2B0C416D1DCF1BF87E88FE4DAEC07A10433EB4ED8A2BCF8A1BD06F21C5F90F7FFCC7E4B250082E74B67742DFC0007475F5404B5BBBA508522B0784CFC9EA8907C4E22928978A50AE56A1542842BA95D21427602DA91DE20005A98780FEAB57EA80D44359868CAC46B022082D7CC98246EC57CF8516BA24FF8EC450A80F93128880DC8B126AC0C2975A4990C008A54CFC9AA390859481F8086934E90DFF39A02845B17489270D9C04F809A5147408568E807F780C3591CEE9300FC181C6171378DF297D88118FC17B421BC92E4BA18F4F4A846853AF94A1512E401DE3EA5A290F8D620E16A726611A43ABD9D905A8544E6F61C9440CCF29CF8A1B100FAAA2A1A55231F0F03ACA850AB2FA39D8B36F5F98FCA1E410B925E43390401744D93F428314924362FD463112E89AFA078761ECF8044C4F8E45A4FD6C150035B0A825AC4213BA661A18834B01B0B09C80FE269562B0001502042C7842067A2F091BC318E972F98B0C873E4B8AE319F721052B832F95B52944C1BFD37B5D42120171A27E287DB67A4729133F0687A30CCACC48461613A9040C970E9DCC7594C6FA4239781A504A56101F08E8BBE3F83C0115FC8DA59A87704A842AAB882A06B5410C8F2C9EB15BE53EE2974BD884C0B4C5C1189C521FF4BDC4790889F068092AF05FBEFE55A8115290919C45A4C0E132BEF4C9CF7C9619BB873FBE8144BB5828A01F9F8629E448745F2E95A18ECA5A2A97611A9FB311F1400956024A16D1991DE42C4E2CC1B980B56676494E254727BB4CC803642581E5FF48091C2D7C5002E71F8B6FF27890159B224BF4CD3DBD4923007D00ED8365C231302B59A01FABF329A5525F4AA44CF1128504FC23855608A567AC0CF4198944143147A18ACB3E877F079156BE60FE6D012B7015FF50AE3690DF78A8E31A3DE8BBA4BE0EFECF61050B94EE70F895AB4B582403A088869488EEFD18DE27E192CE36E63675743BE49F8938BE53A4C0482123FE6B42BF643A0503EBD7430F46060D14B4472E0EAF9594835CD1D2E202F29F79589C9B63656152886E913812858401A2491DDD413A9D5D9302944157A342F42088D40F95460996B17E2174098AB64B05D364CDF45CA383D07E965D057302E52E08117C255186685FC8906C85AE46F3087201A1405858012797786CC955E811A473901EAABFE1FBE98BC850F11C751CC4723D804A1D078AAC9C4245B21C575D472054BE4F48654DA48481169810D16B745E952822040AF8B7D295D5F0C58EF6360EDB287BD786FEFB747903C52F340248CD3F2C12189141085F30CA418ADA4A8430DB02FDEBD6A3B229E5300A52C6EF2E1672AC1CE5426E6D08A0C23F7D05ECD77DF56303750904BBB0DCFAA566CB0168CBD67E9CAC8985A8122DCC0F9824AA1F01E69EC84CC46EF0B150A0A049254921CE4A204265744848429DCB25FFEFD2C731EA20162F1467604746824788CF23C4D73D524CA5306EE0B02A07A0EE8D5015CF0858A0BE56771944EF517C57322204FCC86121E328A12B11D0D5D30D27C68E4319A1BAB5B5EDB47903698781FAB7DB082023B3034B07C27B9086145AD1823E671C3943ABDBC5EEA0943F7B0570580168903934D18C930852C8C6150A04320A05038DE07CAFFF161E64D552933EFD9A798F2F9530C812E93C5E10BDE6EBCF1194D163154100D72318A65D115A252905BB1CED26180D285F219400F368ED454F3202388E0A4F295425B71273543E831EBB31F51A87AF8EFEBBABDFAB8F98F9ACDB7C1EF35E0417E85F3FC496488931A9ADDB10D4405A4710283906528F3744AEE01D10C016B6010E13EF4B197D307CBC260E008285029A9D23D360CBC00805945A18B8A544B0604B20080DC2D0102D05899F2FD57B09153C1169AD420562E7AEB260129C1E14DF17E16BE673B61BA0CF93C018DCDD80BF9B90C028A8034A13E97325D4989A1770A4A0C8A37A9FF23D0ACEA590213123AB57D0AF88A24A8629221768EB5704D370043A95E24B42BB03E208FDBDFDFCDAE2D2A27255864BAD9645D424D0C1C17DE4E1EF7336B2ABAB1B3ABBBA30FC6B0BFDF759218025682B6803B94612C89940265B742FC93737185E199A19F0349FD2164EC95911A195827816B0A37C9C90215760E1B3AF57B9017EBFCF690135908E62FE260A519181D0DC410D26FD9DAC4DA51402BE46A66B9456162E94918D93E0991C3A1C23E025BA5AF0CC50B528B5608D3035C0B31B104AD90568572094EF97C2D13E5D2931F10B5616ED46A89297C0989C64915BCA2D63E10AFF756A21B461C9615E86D3D885928FC46E0C6AD57DC8236A484E7D854CF8378338E96C968B42999616EE1920E5393D02C09A22819871014A01B405A0FF94310DFD5A38E4A37980747228D0BE5E11789D1F7095967AF83C16268DB4F0B5C5ABB012783049393C5FB33F2D74128E17E81C029F0B420E4103A21494343340F81550A49CB8502E40062A44D4618576BE8ECEFC0561AE43B07F57C4315208EDF3C3ECA2A395D4F000850941A08921184BC72824A5BAC12A9572732868D5146CD836EEA10B9123118FB152C5632EBB2B0F15B9582C403EBF8491458D09DEE2621126276638EF2FFD3ACB85124882126742F063EA2F4CA07250C9784D790045021DAD00BE0E0315F0ABE82E2261A043304EB408D02E40801973118435641DB7030B47A18113E6017C8810C46411395944FC804346A15C888E201CC53CF9DA689048B16A9C8A961C0B3B1608AAAB55561F55092C4B2697A344A9C89C4E3409CDEBF9AFA42CBE4644AD18E6BDA015424010868D311C78BA51EE5E8659C69515C628EDAB0B63DA5A2B9522CC1796D01D7A9CDA65BE15A8D3B8780D1944805426CB7C88AE8342C4FCE22C64B3693E17F18F72A108B98505CE8E5269F8DDB900F39358CB9A49894103124610E2BF8A0A981C9A2C98B6623F0C05156A1852A8DEACE362CD1DC2ECA2B47208529DDBD195418312F4BC4AAF6982177159A5B28A2EA86490CB0A6C62FA6582A3FC8030FE1D74042015C4076AA0F937E824937AAF52A2C0D78927EDEEDC8456004A06190EB04A1818680850C28F685D4B6B07747676731C4F4A446D62F53ADD57F839F506361AEA3E99A5DE9D385BBD219BF40DB15802C723A692595E63ED2EC0F7FDA8E811F811A1902A21C2F212964204102982142122285FA9433F8D0E21ECEB605F70C8277910FD10171519348923932F105AB1546847DA8E210FC11F971414346BCD63A1A96BD0E4905040D802B1C23A41B1BCCEA469B4234D34215EA03F1FE6068403060FFC265408209648F14FA064CD0AFF6BA381A95CCAE5452008B37B3C8228483A2755FCD20D8F637E72059468328F4345328DA4521F81CA60AE4901A872C70A40631D5324D067EBD331BA90BA3064334EC919345604A799108AB088242C145050CC6F163A6DEC485D2BD0995B9DD4318801D2248B04427EC0EF2132484A11E3EB2441B9A19586AEC2089AADDFF2FD3A47202D85089A98BEF6F4E4E7A5FA3B6720357954EF1561B2C8D7A8E03A09A500B5FAEA1CA059FE61AEFFD4B17DDC9FE0EA10947D3A44297265E13A6FC00D3B0EBBB2A85BCB16BC54E1656050612D2EC075D8FF80B960CA73DB2EC0502A1DD73B9AFCF9965298CF86F510037981D0D92F4D0ACDC080490E4504D013564A908824BD86F177B9A1D2BB31C709D1811487AA87C240B316BC0213950D349941430503EDEA0210E1EB5C94755464C2C44E4248061D5FA59F85B96E11E82262F47926C66E5223C0993800848221C1D510DE7B0646345CFB3ADD4DEE45597880964E848E2B9E94EE2DD5D10534B809940A48C07C2863093EEA1C5E3309E4048AC7F55A10746E8A0284A24F60C5A364BC8E15A30A6185FA4EC8D9C24CA1AF5054BB0325345FA7843991A32303A12307A1134BE67D7411A57AB3F041F3025351E4B42E345B3D040A9E758CA2327E3ADB27C062FC0CF7CAE70338CD21A0CE82469C41450F2CF0401981AF23014793AE1A2280B42C40DA4DA5320A035968F8F94CB695D93FF515C4630EDF4BEEFD33295E3F4CF79A8291793E37330192A2020B05A48C5CC29A1480CA8E7452BEBE1815B9CA38E048B40CBDD23026B5DF533D21110134029732721522D490A866203447F0439873C242103DF02CC52089951A38C49CBD53CD2944FA024D38293AE17B0734197442C81261EE4C2785B40F0F42C394DAE27468074AB0814E14A99C84760D2C7C374A0737B90D4D1CB502341A2B2B82CD1C0074653308DBCC0D09155A590C3934114C989D6D8AF3F5796460F18028FBB8964C102B00B516B10BD0B74A3E0F99610179CF227E1A96B56CA8641016881C004BF8A6C425F4058B306CF4434E10913E6530A2295A2034C857034EF1C6400F90B49A4D40672C15AE438214C45521AB084C3A07C2244C6489222C16B13BD06D701CF2991C8000CD05A22E61551D74C2D05065144D822860F6AD5C4063A50BB0D020B03A8248784258BD469AE846E4D0228AB08A522CF3F921029876EC35284025954E4BF43561DF54616909D22EC69A7E4C6B9AB16A5539A1C1660BD28A11E8C250188F6B38377C8153BE9ADDABD4AFE60061CE46E7ED49F8F8BE0AC21D3D8FEB48C3D7CA62482188E68213E70EC8155047329854AD6AFBE24112760A1807C9B79239563C2F8228051CB9089D0C0AD47B544BB7815915510837167280D386810AFB2317803F3EB73007C9A46AE7A67980329188FAF9E46A966F2B05AC807E3383684DB5807FF65BBF217FFB5FFE5B24D95E4A6A2FB0880AD041AC88F4436B7320A370C9D53ED55C880BCB5C81167EC8E7C2BF41939F5721218415441274C167CFCA7508E5771551F42DA228746E20CC1CEADA0137920845022108A24651CADF3B5132C7C07728641665E426029DFEF6B5E0A56C5618FE57389A1412FAB89C82A630AD56ADF25CBFD5AB81512A38DD92C538BF00C58222762C3CCA6A06CA82A58CF84210D601025D9493AC6C9CA4D3DDD7A6F024A504B1C65A00A453E90A5E618A7ACCE9BBF2F902F40BDD07671A38740BB78229887AE6A571E106BA0404C20E0BAD7E3B6EDA80303288E9CFEA023C94D0F2890F7348642A8B9AE1873ED3948C03A15BCA945611F9A3B094432A2D24A99B4194378AE0DD7438B00A0875BD7E9827103AE721420B0F0CD90BB984F1F34A613CFC46EA09A8542B50AE94B9347BA63090C6B9985BD4193F3D91C6F40898AAA186750827DC987B9349340AA13F1B5618057734AF490162F144D9759D4EBFE1B336B2B6312710BA4152848C3F30506F8587AE76138E34D3C9EC6E17D36AA0DD82B65A5322F5B57595F1BB6BD4D3E78AA6241257113559F44DA2C9542D8D0BD11942450E55C4C07D44BA010402154F8313F9D250C8569E4055045D9DF831CD66BA2184F98108C91A7F4E87A0A400BDBD3D70F8F0112897A929A463D530D02468E80CD9D68E2612C7B981780C15A88A0A14876AB9124EAE59317358877B4DCF4560550ACFFEC6B24C2412254A2D1A90A24907541256BDE2D62C2161B2E86109C0EA58350AA1FC15F9EEC86F6992082AA9E3AB4E6CD55B40B9702457054FB55A987E415F87599E4609CFF41498BE01A9A206523C0381BE2E1A7192CA35BD00564F80E903B01E736F00D7FB5DDD1720F4A17B004C6F007FC6D57D01D17B58D95009D60D0FF3B517113D434B6EEA0550D74F9352026AB9B3423623C4DFDE2EE063977442E2EB3EB46D6AD531FECA6C1F2912210ECD49A0CF8D8C0C87825FEB2415568078225170543B4D88DD3423485A961B4240287465C5F49F0FB6024018BA04FA6FBE7E9D0F2D60D32C52C3274B0D5F1345D370D2DC64D2D083E719E508548E41450CEA3B022DFC40934B760B5A808E6E28E1092EA410E1EB4EA80C6A0E83B34C41F03E16357F844A13534AE1E8D7C8D5D0420E34004BB9A550E8AC0886AD6B2B2145235F6F876D4661D25043F2ED41AE75096219A739C52B9BC3BD3B6EBF153EFDC97BB807F19FFEE3AFE8B99DD1BC85D859BA01B5764D225974CD090C692114D0A4CA401F082B15ACE37BF3F640AA890E365D7264E4CBC1E20E60F20128C43CBA1C4E44099330D2657CDD75EC98DA4153512972118E9E88EA81AA47D0395DA10A57716A0C75745E20D05C40A88135797C49D183AF5D1328462BAC8881923F8ED520A26A58812E17EBAC229E33D9DACA3F8DFAF4A52E75DB6E4042540CA2D945F962290CDB0C029CAC6661BCE041F7E15E28CF5543E4582DDC7BE0BB0FB10C2885FFBBFFCBBFD5B9056DD578C1DD67312F305400848D12D7D3AD0A1FD50338D80FA76CC9B0A357E8B0CACCAC11860D4AC7EA6051A11D470FC2243844945AC6EB2D52F95392A08C904DFF4044EEFC65E5662122BFC31943A12B83A6052D301DE1926B051C1940C409C2641698303188923026BD2BA21E01D30760B2862A1F0F4D3D853416A94CEB3B56040D4C7FFA53F7C2B7FFE63B619B98A90E7EF3B5BC7AFE6F82D342FFF24523404F60B127325D7CF165B06E68F4EC1580D3C121846841E97CB3146059BF08D3C34297078535ED0AC04A12E9E48F4D04ED2EB10A5E7425009E36E65B73068455DB8B2C3FCA05A80293088B55CA4DA8CA9EAB390517501C754FD7CFE962AE0D08D3DFA4C358130BA810D7E7E28F08C3415F2B89D0790511368C46EDE3BE8EC7E319D5CAD5A8D5C2E61AC7012B5C8A52F4D75C732D97AC1F7BEC47B0B8B0C88DAB32D06DF4260B2154628BDBE7388CE5699B4C54A523746E26A6F31234C3270623C32370D5753B60FDD0C6B3E602A102B86ECC742DEB40BBA1ADDF24564CB60ACC3F204D472DA8491B4267FECCC5CBB04AAF9FEB622091B7624375079B8620B674B0AC989D3844C8605AC54C4A39D06D5C5244CDA8FA7B68DC55D7B0561422858ED096AF4239572B8408AF53378084A54DA5CED2F40AFA0198E273A02B82E6330D42B1A4EA09A0F67065E9AAC610A57A9B5BB5B66DDB06975E7A299790692228157AEA3CFFAFC129E5BA7EDE085F6BAC782F2D2B431356D57D227CBED68921742B2B04D0050C76015ED3DC7929C30048E705C2674AE86CFA6A924520AD38D051215A14193850A8AB1CBF63FA0C4DCC4C906EE27D33214544EEC1349BA8DE7C2D7819597A441C15723852D9BB23B562381ABE75162F0A15CDEB51B2C7A48982C0D5CF2174062A7A34AF12D984B02B888465FA2BA3C3D1D3DC027837B7A57C1106FAFB617E6EE69CAF906221806BB900E0694F52581180C96609D1247C6BB92916AE9ABAA50B437AD64F10461002AAC8F889D5BBFA5C12A21A8249AEF84DD3C8546460548E8B2F860CEA70D2D19181E95B60B224CCBD410A08671B498BBC4A69FCBF0889A1D082E55E469303087980794D210B452134EB289654D9BF86C5012262AE2B8EEF623D2E9A6CD2D2DE0D8974163A3B3B607A66F63C2A8035B75AF8F5301308BA1C1AC59951746088A1E9A431966E3AF578387587362D7850F60235D9239A7AA8274A6B14B12D7ED9C4544607E9E8484084962FC3D0316A3D938112A06B944128652152284212A8268048DDFD0BA60144B7914549224797BF83B07247BFCFD3492A420057E7F17936B1D408128826240882B523004DFE9C9C99863886A39E5EEBE07C2840995B8DAD1226378508685A26433A3A13E6AC440521C218226CC58C6A57CA928B1AFAADECAF2E2B47AE86F90044D3CF18014CB590605744C257BD7EA6E74F84F3F93817A0E71E706A59E7181C131E3A4E247CD0EB19397A0A869E8B18560EA58A0A543530AA87F04C2469425DFC8E78322C093353371DD6BA6A1812C235DE68718ABE9E36145400C56AE53CBA80900368B02517603534186B948E6C9E4F0FB269758F4093B0B0A6AE73F06564BA0D692A88102A856BADC6A5846D7881881A456454733085A568E651331750797D474D0D1742878596DB90C61DE8C9253AB6545DB84E64F942359A3037F0A33A81691937731A180102B07A023CED02340F702234584BAB56B312C47981A8F37173EC28C05EF420740146C4CB895FA8CFFA35192D791A683837D30DC94F727347983E16617410583D06A6D6E683D0295F11FAF9706A99540A63122B26B23755BCB038A2FF1EF6D5596959D36F17A58AF552386EF49CD3BCFA79382D8C53C1EA7D8EF99CEE4EA6E9D91C1134EAABC4ED326C035FEB5A42B3734B70FCD43424B21D70C9A5973765FCCEA502842E20CCD6799E15F6699264B5898105F5CDAF5BB503DD1258AC07561248878F5A1BA411A034A55B4D200DCB0F745828EDDAC3B295330233DFCE9EA368D2CE46D120544AA9C34DD0F30CECF97E2C64279A8F68EA04BC36926BA594850885CF731363314EBF526B1D1D76AA372CEAC8B57180D9F979383E390B1DDDFD902B942087D1C0F0C8F0F9428028FEA57FEBE53C241D8872003AFC015D1593F65C7FB013421149A45BD597CCFA97D70AA2F4A866E5DA9AC370CEB26C1F22C1857586A69A818C6A0D60597B60B9077B826A5833D0134B1CCBA21D35CB6879ADC0759BEB09FC39379AA08AD2E7420FD5F3693937BB6A1775EBAC0D024E9E9A82A1A161D872E94570CDF66DDC7338303078BE5D80125561611E326E1096834D26B0B9E5DD7A3D548ED05FB0E0B8A3D79EB428AD15BDA4887ADE4C66CEB803094D02947A7AB6B4E03C7C6C846E72E632720F0A21A455A089E63AF0BD2FC31C8111B6E3341785C219C246F8C2561875046E1CBABB3B59E834A1232AE044797CB9460E902B96219D4A414F57070CAF1F40A21987ECF2E9E7E74E01DC48FED414B2B0001947D33369317B11095B08EB353B1BAD5FAFF832F4EDA1C04573ABB96C2A3387CB218465671F9AA13F00FBF3918043D70051093AB47C88A2031B117C4B794C9530E20162D96B4AD0667A7A287C8D028113839E9E3EFE7E9A2318093E68CAF7AFE5D6DBD90EF942114E4D4EC381C3633C33686961FEBC440165553E94A1252E1572D0E5503A3815C27CD8222E74E826ACB0AF294F00CCF8EBBE0C7B0AC2260CD342AEAB5686AC31630F9B67A3C8A0B9E740A881D5DDC1D2EA446E5AA3C0A0869D2ED62120F7184AAB78A453CCAE34338BA36418672E0308AF88BE8F15821B54021E03CAD3D354741F11747064048E1E390AA562A1391BA8C367582307D8383A0C6FED39C8E693A25CFFC8104C8C9F3A3F6160D3DA36401316EB90308B1884166F41BE13358984DDAD4284505FF102685E584F84E7927A3122A50CBA1B878B48222CD29870D15ECE8DADDA111194EB882324924C1CF51431FD3C228D227423816911338AA2C34F0794A5ABC490085741094C3158877CBCA29ECE00321A483575BDA3A707613AC6CBB504BA6B89B982D6ECB5E6815AB219D876D9665ED76868FD3AEED1A005A4CE8B02A4742EDB5E5151D2CA9F56D2471A7E27A445F4A20910E679D5D782344A63450C225A2436847161CFBB3579025D3E068BFDFB3AAF1F58566F2286A895DAD142350D2BA62EA03805277CB88CAC5E932681A4AB8AAA72A8EB831A6D4CBD83945E2180B17CD0135855612BD5D60EC4A54C28E840B44A9922C96BCF046633299E3C323F33C159C6F396094CA5D33A9F2FA2146CD05865116507562C996908A01662CD974DEF115105297421A14298EAA19D3534D9059D78626BB5A72449A729AA8010F245D8A62EC3256DA4EE55B4DC03E873F29A06322A56E91474DC71CCF423CEE84930D3DB8388001A45B09421996D61B248936CA42578B3EE4270016ECE614860259DC94861B140961377095BF57E2BEC0BF751680AFB04877D4D2E234406D11C425AC9A468667FD46F104E3B5C1642842B661A56DD2458A310D19A46CC037453A84D22039B5086F986A8972F248242857C423F173A0720CC1A45D67D229DE1CD20A841A3798DA077D7B0F9BE2900CD0D48265255A18B34A158AC29E386C587D201FBA1267E81AAF5473237D6EF34050986D085EB445BCA1058E122584BC819722AC3295AC6920DB0EA50D10856F38270992561046EA791ADE64DAD5CBE154130EBD7593F1116BE28F1A32302C728877A1E4F6779F9166AFB6EEEE38BBA7A2F5404A069CA1557371286F3CF82C6AA615FD46D22A2E5DEF1BE1648AB8024C06A1EB05E3353B4653312E8FC3F9812AD889A69781A591318441D368115F685D9C6A6BA811DF737CFB00996650E7D90CB1404347CEB32B011BA56044728343068414D21BC8C0D377D06CD933674A87AC12A80DD1A1EFED16F58CFACB6B0B0141C31FF9A99C1B2C2FA05AC720A5D5011CDA9E4F0BC515D5AC8A8CB58580B14B00B300A180A5A5AF31096E50340366504ED5A81B492447612C9D32E21B27A116EF3666702CD114BA5F875B57A77D4C4698E0B5103C2DEE1382F1BEF58D04B24A9A185E284D6EFD8E56123348AF90368B27E7E8BB3D2FAC189C2493662270A2BA5359B465ACBC2085D4A2584709B6A0D06D675B75E104D62F5CD02161035A38659C670DE62D450E2D87C4042B86E11C7FE4E735D5F98E56C84EA05D07C115C5EBF5FF0BC7E9EFCC99358CC988935D702DE570488C713459308315DBD8EE90B0CADD6B656A5F59CEF97D0E426C0CE17585B6F4411A13EA723C2D4B0BDFA082C3B85B59F84F2E8D29E98627C7F60B912B30AA70C398DB416E70DA4B500634818AD65EA79114B194E42F1F41A39426702815D81BA7E6EC8C4EF4E065548D222D2D4E21EAC5CB1433D3FF702A4FAC0DCDC1C54ABD5F78600C0EB04B8617D9FFF0D1AE1B430B50273D3EAC76A9E9BB696D3857DCBA3007B2A3458A965299A7B0FA4D57C2A2230D0D7116515228515614EC24C4F8F2A7F2AD367878541106523997D783EBB3CF0EABC6A07ADD4C1F718D37BB43247BD0A8D4A95F3FC6A39F91254F205282D2DC2DCF414CCCDCE412E97D78B48F9CD616098EC5ABB06D08254345D8C26ECE6F3792895CA50295738DD5CABD6A054CE43BD5A87CEDE01F8D8C7EE7ED74DA1CD9DC1DA070B1C003BEC033BEC0303FDD1627876BB5893F5879544CBFA4573D51096A716C26E6A19B6A38B309D1C095F8468104002A1378BD79C426B8C076A6F00122A731914A4F06A7A53892A046831B499448306B2508085991928A0000BA5CAEAF13ABEB6FDEAED70E2F809B4B8793DEB2708F74A32255F76457A070F23789E5C224E4F0168B5D1B98525985F588442BE0885220ABA5864C499989C84220A3E9BCD70E7AFC7136962BCA23B71904C2A0B29147AA5548002FE8E9635168B9A14C0341B98C53DC0AB867C000C6BD72DDF34E4753D372F92F9E9AC1F56B17E8B33E85E78724059D98076598736BF8A026D400C05E952730A1E2E6D5AD5A8A1302B20687B141264B984C2444196F270726A0AE6110E73F982DA95434FDB36F7EA881EAB52AE13C5F676A8B7ACAFFEF2CB2F854BB75C0377DEF931F8C33FF803AB27A179155F4AA85DB2FD6A5ED49156FD72748751A0A7722FBFCDCF2FC1D33F7F0E4E1E1FE33999AAE1C4E5BE84818101DE88A265A09FCF55A35DC33429A57D8DE87BE3F1B45A9C4A34C07D17CD22B602945D6B3E192B81D75819F6590D1D0DB95AD807D0227C6885061E28445FEDCC4142142440B442825981C2137514240A53A23045A588C22CC0E2D404E7BB7722A47A9E77563F822776EAC30C1EDD1319238113243BA112044D655C2764F55A199A1421EA78A2E6F01AADD3C74C5FF08E5D240C7A4E35FA7583433030B81E868636C0CCF404BCF6CA8B7C1DB61B0802B962B6C6F1931370F4C861EE35A0AD631C61BA8E627CD06E21B49B19FD068F9A4EA4A26E2C2B5A1B8192758806ADB4946C36FBDE38808A02C2D9216C7117BB0588D3562B688DD42748076D1F470B21207EA245E23D09B25EE17B592D429E7CE2F4348CCDCFABCD9DCEF34D65DE020EBF5C5A50DA45810724785204FC1B29845606C7F19B50C09476CFA404A4026FEEDC055DDD3DF0B3F163B065EB55B06EFD7A16785757EF0AB4C8E59694FF6637605623E586D3150A40934F95B0DD70222B5D5F4C2B337D3B2D191B8BC7D4C452A966609252D0127304D0B1641C7AFB06782BBCF7A600A6335833E7177EFC43709F7C0499A6D794D3E1C50A1B0DB8906E6AA2A45E5A0D85EFFA962290D50791F5BBA404B4DE202982886AFB460968F03B3ABBA1BBA7078F5E167C77771F6FEDC65BB584118168EEDF9B9982B1A30761F7AE375020EBC35D554C1848FB202EBFEE5432ADD609D6EB1D2BF472B8A894E47D02BB19EE7D760FEA6FDC828F210595F063F1443833E8BD46016557AF75633C1A2F49E637F702F0F6641798F05728022DB9227C9ED5E31845D068C02E81B6AF7312D08290493B7CD0664CBD285CDABB979A3ABA70D0692CA20CA0B5AFA2BE15F239989A38C57BFBD07E7DC43D78F7CF9656FCFC80DAF4CAC4FF1A5150882BE66C8F0C0FC2E6CD17F30AE16DED6D2C741226ADF241C927AAC8D66A553555CC9E1A469B796A83A58D2A5A28219180F78800561868B77009BD79A05A9BA60E17F28D0685D6E06FC58384DBD6DECE3B83B6B577F0E3767AADAD13D2997468C536EC375BB61A8B422EC77BF5D0D4AC3914F8CCEC346F6CD1DADA014ECCE5F7B76B571009DE89F622D6055434A8150A904E25E09EBBEF50C2ADD757CE0DA4657BF5F67B856209BF7B16728B398E1488FCD14EA3E56201BAFBD6C13D9FF854531888F21242FF18799A4AD44A17106E950E2B148117427C9FD299DC8F178F31E432D4E17D426FFD4A1642D69B6D6983361434099CAC58EDE4998D08E132680F2DDA84B4E11E812A61945B5C80C58505F4E10BBCFB47017DF9225A3AE51FC9BA091548B8C9542B9F4F9A45A8CDFC3F1D25A9AD11EDE5E95536D05B0501D4654469628A2469EFC64514324D0B9B9B9FE37D0872B94528A2D05BF03A1C37A936DA243E869FA105278B78BD34D3B8A525DA00DEF71A661755A915412E57846617808395C6415503249AFA00C8EF3B187298415C9E1E75C4F24249C47EE96F8AC4A8ED58D57D8C67BDB040E331255CD4DEA4DEAA55ED99E7447ED1319DBA6E53C7AEA3977631EF6B6A5DB306B8942FE18016192E69FF3FB51277951F174BB4D72EC6DD6E1C859BE1739ADF914CB5853B8AA9CDB1235267829F30D4734493D0CD381834909EBF8203D078E60A659846D2BC94CBC3E4C4386F7049E7EFE9EB43455CE27374777641272259A552E50C251984AFD7365008E1AF9225AC917CE356C3342942602B81AD00454A6C6778F7C928FCE16558C8DF246408B1D1E05BA4C559261C638167F85B28D065E70A174CB4E1C76E4AB19632AF544ABCBC3AC5C8F57A2DA8576B5EBD51AD639452450BAA964B2517A135EE2633ED28AAB8E326342A342B6B3CDD1AB6B6DBFD7C8EC66FBD198A5A6E56D8C21591E003714634F065B022505F44C57CF8A11FAA750C755B9D5AE54BED676C5AF5A8E59C908ADC022907CF41E0245C03AAD51ABE2FC5E867DF4AC53CCD58A5DD2C3CEB005B096C05786EDB15DB6BC74E3C9E74F164BCCBB754A1D57292D5DCA7212D99484B36CDC97DA9CF45FBF5D565B4D484F9E1BAED46D78644B41E85AE0709D5F68D776A917A122211AEE1E151B8E4B22DB071F3660A97BEF3B9BB6FFE2AB956FDC3B3FA68779C587FDFBAE1ED1DDDFD97B4B6765E124B24BA1C6DBE41283CA7D9AA1D6B4A78205611FCDAD060B565DC7308DD46E9A330542FC449EB08BB71E6103EAF1BDC5011012D8C89A84979EC24A478A7B281C1215E34CABEE5F3397A81528334ABB40AD61A1D4632A102FCB3DFFA8D996F7CF35B1BEFBCE3967B77BEF1DA0D3210C2AA15AD524292BA699B2672E9A88081C6B1FEA29D8EF4C9BDCCA3E5CF21E4CF609835E305FE02C2F0FCD1C30716C7C7C7C34AC6777EF0B389F5EB07D751CE7B768E88D73CFA413A16D8C755AA555E63A7B3AB137ABABBF0E8E690CD75306C4A4A3A4FC1FAC16546367C2D08BC85A9F163C7F1E8C4E73DED9D3D1B7BFA872EC6FB4DA94CEBB06AFED104AE4929C4394303B94A2288C23BB50BA8B5A806EF2DEC42DC8DB1A05919120E5A3F721147F1348A54D2A934E7032819B55A18582E15B35A014A1049C8E30E0B413625651329412598C4BBFF571FE7FDA68909FE6E113369C6FFF2D0538B78BF0E2C843179774A95920F2458A450CFD72B6B9ABEFBA58585DE54AA659BEFD7F218AA1A8D6FE80168588AB1945B9C1BC763373EEE4A26D3FDBD831B367475F76F6869EFD884C39E59331A9808E20C68B01A7DA655C0E9F708B399262D938F3CA8AFAF17A39556BCEF536B17076A73C82AEDAEAE2304E24EC239FD52305EA341FE9F34A3AECD7639B983D8FB19A289885DF22A2E7850CC9241FFD6EDC4B3DB11DE2E9E9E9AEC1E1C5C1F5591EDAE625404DA4225F033D6D2A84158C62D164B9FEEEA1BFC3425845039503710118453C2532CE17B1664E0CD2239D85B2E2DEDC23754B4422CD56A958953C7DE3E864707BA96F6EEFEF503BDFD4323ED1D5DA3480AFB9AD020DCA3C85A172B5CBB3838231AAC363BB8A7A713B66CB99C7D7C3A9D82145A33CD43A4052789A06220C8CBC252EE255885E8AD165294CB85B1F25C79D7817D3B0F58BEDFB73AEEE4FBA200220AA81DE397D3E9D68BDC78E22A379EBCDE8DC5AE45B8DB803FACD5CC2BF0F41AF84244051A93AE25F24803149ED6DE4F0FFF1BDDB889A1516DAD5277D152B2387878D4FB0CB14B24529F4A2607652C9E58C4D7F6560A734FD7AAE531FC8259BC48429FF4E2ECE4D4E2DCD4187ECB1B99D68EB6FE75C343C81D8691730CC7A488D98BA269CCB668B35AC0693534588D0374B563187BD9E6A6358228CDEE9F651D04D97F3DB7B43096CF2F1D9C9B9EDCBD77E7EB6F2D2CCCCE6BF757D2F765ADEC8DA86F7625093CE7D0AE2DBC856039D5DAF58F7110EE42EB6C8DE2544FB7A361F8974AF2AAD944EC08DA4DE54E4DC976954F44A8242BA1D0D171CCB2ED514440BEB067FD26C8CFCF42A356845ABCCE9FA3CF53C86716ACA64F795EBD0B3F7A4BAAA5F396EE81D11C3EFFB34A6E7A2F9E98B6D2F5F1A8E291C6CF1466A74F14F13881DF9FEAEA59D7D3D7BF7E7D777FFF50369B4D534289EAF2F333F3D1547ADD8E2C65E426026EB895E2BD8E6DA35E2BCECDCE1D9F9999388A023F801CEA008E57DE1276451F65EDEE6A96F01B76DFED3957002D78827612726F7BF7BAFFC98DC57F0D05DD4BCBCE2D0730823D121A4D4A49675A21DDDEC749170A3BE96F3C274F0B9042235A529D2C39A6A7627338473D096839870F1F85DDFBF6717304E512844C6AFE6056210D1842CDEE1FA62CCD29DA46B57DDDC8A5FF3C73F1E6BF1E5CD73DD6D6D1D19DCA667B33994C772A95E948A7526D8954AA35914AB6A493E9743C118FA56889F7440CE616733C9E73A800FBF6EC87F9D97915DF9895AF783693DA192D58A518F44E69ED42213F3F353E71F2D4A9E363470E1E383A3E7E7C4213DDA2167A65D951B504DF58CD059C2E0F70AE7A0C075A3A7A3F9E4AB77C03B535D30465225A5984A09C854F03994EAB322B0ED8C33F7C142EDABC11D6AD5B87DAEE21E92923F3AF63AC5BE62E1DDAD1AC56A9C164B108274E9EE4CE984AADCE7043EBE824E308A324683D959B5085C8540A2387B6B636686FA7F430C26E5B3BA78B396D8C7F476B16188EFDC3142A1EE52788817776B4736128195759C85DA860375D7B2D3F5ECAE7B90183CAC4B318CA6D1C1D81E191F570ECE8F1EADB7BDE76171773F1B07CAE97B6033BBFB15AF74FE0FB33D35333C78F1F9B387AE8D0F15DBBDF388EC476490BB4A88FF2324BB7056F5BFA6A7EFF8C99C0B5F8F415DD32F77DE10B0EC6A11D6E3CF389EE751BFF6461E65442D80DA20675F4F668BCAE5D32A90E4282040E7442622C9B8299B9390E0155FF9E1F2D8FAE971D25F84FA513D0966A816CBA9FDD47269DE273C4F040A201996C8684CA8AC5757B1D2665F0BD2DA80CB4F51C23090AFAC8D831D881824DE3E78AC8B4F328D8975E7D0D2AF91CBB9D69BC1E62E3C3EBD7C3D11327E0E0D16370C355DB6178683D1FFB0E1E82ABB76DE5EF3D7CFC44EAAD4D1BE0C0FEB717DE7CFDADA55AC5EB4217D7C123E0F91175C16BAA56ABB563C78E4C1F3A706062CF9E9DE36FBEFEC6A91AED26A504680B7DB9A5979709BDBE4CE82B08DFE96A01E24C1A29F4E600F77FED6B2CC3BD7BF7860A30BB75ABB81DEF272626C4E2E2A23825847BE8E9A787B3DD235FEFEA1DFED4E489FD808C5B13366BED3FA1325CC6FA4901928603E031327A31B4A1E5A5D34915E76692DCF2447F4BA512FA3EC9240BCC020F78CED6962C6492296BF76F170E1F3906375F772D2A420B77E850A7D0E34F3D85821C54ADDB94E5A4D0B25E8775BDBDD08A0A43A870E0C85114E816E8C7D73859830AB17BEF3EB8E143D7B22B228EF2222A481B7EE7B6CB2F678579E5CDB7B86EDF4AFBFBA2229411954E4D4EC191C307279E7DE2C9A3B55A90DC7CD1E6D61D377C28B167CFEEC9D75F7D7562D7CE37A7832030106D7C7549437C791581DB105FD7C7E958FE19057F4605D04902F8025A756767A7934C269DA958CCE92C9544A5AD4DC417169C1A4266B65613451CED18622DC6E9EEBEB7DEEA1F1F9FFECCE0862B7F07B5BEB3525E846A29C7FBDD12CC76747540473B1E9D9DBCE61D9E5B57E95AA1ADB50DAD3A15F584E37D0A7D392D90405618D3E967AA9851F3E5964B2F668B4DA10215D11D3CF4E88FE0B28B2F6258AE377C54AC04CCA27FA669D564B9543C22E11C3D790246D0BDD06BE676ECC449989D9D81EB1105CC6DEFDB0738E4DC8E96BD88109F43C87FEA996761747888BB714A952A23FCE0403F74A23BA9220FA1EBB8F19AABA376AFC52578F1ADB710D116E4E1036F9FF8F10F1EDE7D6AECD81CFE86AA8F610A8E711515A08647510B7D359F5E79076B0FCED6DACF5A01BEF6B5AF39CF20D88EC258AC31DF9A086A350456CA3BA016607C46C246D88E8F6CDED0D3D5D5D78FD0D7974CA4FA119907319C19F1A53FEC88D83032E46C4B26EBD23AB6A6CA48969988A956272453502C1459D0647D44F208464958C572191E79ECC770D3F5D7315C524690FC2EAD927172720206FBFA19CAA907AFAD152D1C2DFAD09123F0997BEE8E326128A4EF3EFC307CFE539F6C4A93923553F1E4AA2BAE50440B05776A62029E7DE125F6E5E46AE6969660B07F1D2242163A68257054C893F89E8F7EF8661D7E05F0F26BAFC386A121181A54792B721F2FBCF20BB872EB16FCEE0A378F965161A797721C06E6F2C5E0D0DBFB0F3DFABDEF3E3F373D35D9A8D59688C1378246194559F6556EE26CACDD5E1107DE8DE04FAB0064FDF7DD779F034343896B86360D5F73EDF62F20C31A42841F4063EF4363EF4621766378D6815ED985703F3CC1AC381E4B7086CAD5748176C198A28140E1EDB8E17A55DCD005978585451474091E7AE44708B73DDCD244A94F95E2C4F00ADFD387A4ADA7A71BDA91C0510A983EF7B3175E84EBB66F677267DFF61D3800274F9E82BBEFFC68F81A21C637FFFC2FE1866BAFE67C7A1E854DCD1404D3192A2BA36250E3C538C2F55DB7DEC28842B719BCE6575F7F1DEEC173995554A9F7FEB9975F81EBAEBE9ADDCCDCC202BCB9672F571689D42EA0A007D70D425707924D44B429E40EA3E86E36EA859DC64E9D829776EE4145C855F7EFDCF9C4633F78E88952A1308FD798C76B2AF8D52A85A0E891EA154BF0DE32DF2EDFADB59F950290F5A3AF470ADC991EE9EFBFF78E3B3EFA47DD9D5DEB49C81D2884B82E9592AF8D23994BF222C57178FEE55FC045A31B6083DEBD621E076776760EA6676678DFFBBD070E726BF6C0BA01B6720AFDDAD17233992CC2ED41F8F89D1F59D95B8770FEECB3CFC3A7EEFDF8B2FC7900FFDF830FC2AF7EE6D33CF04B08B544D4C802F71F3EC2716817BA981AC232A1C04DD77F085AD2198C00DA982FBCBE6B3722481F0CAD8F165CA252EC4BAFBE0A1FFBC8EDA1C009F6BFF3BD87D0DD5CC2F0BE88D7D3D9D5CD313E9566F3A532C4F17CB7DC783D738312A2D6B32FBE0C1FC6E7AD1A710E1D3B0693535370F3F5D7F352F2D3A8582FBCF126472E28EFF1DD6FBCF5672F3EF7F3E76BE5F2122A40BE82B746A351C92793751C405F0BBF79DEEC396CCA585501E6E7E7E3B92068E9686BFF320AF4FFBAF9A69B1315DA0B07A1F9928B36336492AF2DE20010D4D18E9614623DF6932778B0A84043C26D359D39381833A80C63C8A009D297DFA8FEFDD3677E0EF77DEEB32BFEB667DF7E984125DA72F965706A7C02A6F071A95C41B2B881B7B7A32E9F2E146C1E5F4BA110B66DB97CC5E749AFB65EDEFCFAFE830799BC5D81AF4FCDCEC2CCF40CE4F01CFBDE7E1B8691232C20615C8F0AB279C308461A2916E86164FF830303ECF74377825C617C7C1CEEBEE3236119FB7B3F7A0CFA7B7A58298868921B3874F8287CF4961D30D0D3CB7C88BEFB0DBCB6436327A8A3E7E707F6EEFEF7C78F1C39D490325FF2BC4ABC584420A87BAF6FDA14C0830FAE1AC29D570598ABD55A7BBABA7F13A1F8B76EB9F9E6C15EFC4113089334D8BD2860DB5F1BD81C43F83D72E8107C140763B5DBCF9E7B1E2E45A24683D8541347413E87BE731E85DBD5D5C5309F2F15D99D904069E70F62F21D38707584F1E75E7C113EF7C97B579CFF176859DD68F99B376E5CE61A0E223F388C42E965D8A6C1CF20445334D2CAE162062667E6E0D61BAE6365E59DCA113D9E78FA19B875C78DDC75646E875009E87AAF47B24788430AF936461B0D8C78D6F5F7735453AD37F0BC69D876D96561DE83D0ECB9975E865B6EBA118D233ADF182ACF932FBC4C91451515E12F771DDCFDA7B2509DAFF87E395E2AD590287B1865050F3EF040A0F308F2BC2A007180AF7CE52BB13A62737B2A759F7063FFF3E0E0BA4B6EBDF99604CDBFDBB773277CF9D7FFC1694F486CFCDAED57C2C8F0B055972EC0D4F43432E70A3CFCC8A3B015854AAE83C2A993A854F7A0C2747575B232A5F59E7B2480EFFFE087F06BBFF2F915AE814AC3CF3CF71CFCEA673F1375B3A03088533C814842A49206AB8C164D8D961B464654148082A61AC37E8CDBEFB9E3F6E6091A8842BF784DF9FC70AD231C9B1FFFF469181E1C64574373F072887E1806B02174B6132FC9C2E1B131B8F68A6DCC51CC6D1C619FAE733B12427B1C1E7CF43158D7D78B616215BA3B485947913374C0091C8737F6EC43742D8CE71616FE70ECD0811F211A148378BC1A2F14EAA3A3A34CFEEEBFFF7E795E5D4048027B7BD36D19D1DD126FFF8FE038DB6EF8D0F5A31B376E80A79E7812FEFBDFF832FAD8CEA843B6A0043C3935CD2CFD17489E36E1A06770401A68CD34E5E9B61D37B105934BB005FACAEB6F6054E0C2D548EA96DFE8BC4F3EFD33F83CFA7A1E407C4EAE6401ADF8145A1E4DD3EAC6EB5842A10C6158B709E19ADC1475C6649063BC816C7F0439C7060CDD9A5DCE123CF3FC0BF019E416F66C9A497403DF7BE411B86AEB56766BB3F83E42A44DF8F91E0A59F1FA67E6E761DFFEB7E1B69B7734FD8EB7900C12471AD51C8850E2D0D8714E1AF523621221BCEDC61B98EC126212CABDFAD64EB80815A05B8F2515B176A24B790B3951B95C7E697A7AFAF76767C7F6D4CA4131D6D65649E7F3F5C1C141FF5C2AC169C3407603895A6B47ACED36BF1EFC6E2299BEFE4B5FFC824BED573F79FCC7E8932F876E1C9C34A558D1DF7750C76DEB4A01D3ED71B422CA94F5F7F7AF9AEFFECE77BF8FE4EB3664FB3DCCB45999D02248B0742CA0D0E9BCC88E50385B78C0F83B71C0298B38818AF7ECF3CFAF400BFA694FFFFC598E22289E8FC2C30A277B5E4048BE1C390B85A3F3F38B4C1CAFDCB225248B1C71A0A25C7EC9C54D6EAB5AAB61C8F822F3198A56A65071A691471C3C761CC7200B0B4828873134BC0E9190DC242354B1047B905F5C77F55510EDCD00185A4E5254C0EE22440F3CDF23E87EA40C1AA54AE9AF8F1C3EFC8D7AB1389B0E82E2C1C1C1FA33F7DFEF9F57052014402D73DF387122DD924E772584FB2F9289E4C73FF9F1BB37D1E40862DD43FDBDE8CF2F3ECB993B01FCF95FFD15FCC6977E9D05460348CC78727212076E0E3AD042DE40FF4D892162CA57A090FB50195AB472B5E8294F7BD097D3ACDC6BAD644B389078AEA7112DBEF4C52F825AF656412E59EC4F319258D78BC414A196A09CDE3B8A2E8A60DB5698E731C4BB64F366E8432BB56FAFEDDAC56B0090B25054430AB784EE65726A02096915EE403420811BDF4E63FAF2EB6F723878E945173529FB1BBBF7F07BE9F7858928E44E2FBCFA1ABA84768E124A3806AE9EFBA766BA0753FB5F7FF5C3B2569B433E50D9BA75ABF7D5AF7E35386F0A6050E01544810E2483B1546AC095F292BBEFBCF3CF46378C76D3ECD7271F7F1CFED5BFFCE7A73D31C5DFE3A8DDA790E4506EBF157DFC1BAFBECE56DE40DFBF1D079F60359349336C938593DFDE83F05AAD94E1BA6BAE59F5BC6FE20052DC6D471314AE9160C61035A64E8DC3D0D07AF6C78BA80024DEBB6EBF554F688DDAB01EF9C99348E4AE5A414877233327051A4517462E6D021595B27EB586873EBF95D3C3C4F00925E88CC7F1FB5E79ED35F8F4C7EF09C9B0B99DC0A8E52086A51FF9F08ED0EA292A78E4C99F72A84AD943CA16528DD0E5E5E6A3F50C046F01EB70310AEF835FBCF2FCF6E9B9FC040C0F1711CBCEBF02100ADC8E28D03B33934AC7E35D4EBDBEE1A24B367FE1A6EB77FC138EDDF7EC815E84CC6DE82F4F8E9F82291C2C124405AD9BFAD47A1176FBFBFAD16FB6401A0786C8523BFA5062DEBBD037137C8F2CF3CDE646EC9BFCF9459B3735E705F0FCA44C14316410B6BB3026A77AFC387EF7A568B95722B95C3E43F6D9175F6292B53C3C0C34C11B45EE308ADF45212611B7325E3F1150226864A514F1906B70CEB00B57AE50841F3EF113B863C7CDB07E5DB34251D4F0D3E75E808B4647601ADD0C296506398A59CE06F43D25CE788228AF4AAEEA1B8D863753AFD5766304F1C8DE9D3B7F9008026A5829130F38EF0A60A3406F10B4E0CF1FF083E0E2BB3FF6B16F5EB471D33ABAEA63C87E69A0D60F0E00955189F4110C9A6CDF99EADCDFFEDBFFCA717FDADE69DB227F7FFA977F059B31D6A71A00855679847E62F09474210E90B09A20A951F481EF3F8CE7FB4CE873EDDB8BBF781549610AAEBAF20A269227119508C6EB88049428222422D8EF4594A273DB3EFAAC1B359034FECDF71E62855261E50CCCA2C021AE2A8EF61277BCE1252D46CD093530DF276BD5EA54A55C398C02DF3B3333F3C6426EFE04BE65D1ABCB458C9A96E2B55AE97DE100ABA1400B4067E038231B47473EB7E3A61DBFDB9A69E57CFAC2CC34864E77AEF98B291EFFF36FFD357CFCEEBB98F05188B8B494E3D940D75EB59DAD9688A511285DE5533F7B06AE409236D0DFB7E27C441EBFFBC34754765043F1522EC7C29E5FCC21231F63245A8FFEB7B7BB07CFDFCE027F27653DD38DF80A9D9F881C3A675E2093AA8E3C41C5AC72A6572DA19D517845316DE988403E0AFC1486AF87F2F9DCDEC9C9E95DE54A710EA453C28F9571ACCB3121CA180A56DC20A8C87CBE8A84F3FD8902564381C1582C5BF5CA0331E95C74C7ED77FC3F176FBA78847EE48F1E7D047EEF777EA7C92297DF48B0C74F9E444E30C1451E1210FBE96C2BCF8D23AB239F5D402BFFE1638FC37FF72B9F5B75670CBAD21F3DFE13D871FDF59C3768FA0E14F6C1A363F0FC4B2F71BB38ADEB43F13FC17827BA9E1E8C5852EF62FA7453F888A1DDF11327D9BA49E0A55A9D512FC693379A21DD11E65053CCA9EA87DCE5380AFC2092E83D93D3937B6BB5C692147E1995A2EC415001CFA9C6A4AC39B1589D0A02AD3401BFADCD431EE6EDEEEEF66F7F3FF200A74381E1623119D46A9DC2F747464786EEBD65C72DFF8A4AB8F30BF370EAD831F847FFF0CB1CFBD20011F1A3E95634F59962E74E1C7CF2A3E42E964F5E587EA384CC934FFD14BE78DFAF9E166AFFF35FFD35C6CF1BB99132572C808302E8EFEB6372D6829C60215F8499C909F8D86932926773A3B6B453182D9C4092373DBFC0118544DF4CFCC7B116D434AB997157B09E4941F79EE7172B95CAB162B1F8F6C2FCFC9E5353136F4B298A24EC40786547C62A880234F1BEE6C41B75BF0C0D12F8622CE64332E9173D2F18AED502CA0222EB97E75AF067AD0061810820D676F2644B3D99EC4780BBE8D6DB6FFB0F975D7CC945847507F61F4038ACC255DBB6718288E075B57CC0D9DE8E6358B47BEF1E762D54541A3B7E02A6666778ED7CDA9F8F2CBB0B158BC243FAAED5FCFEF3E8F763F8F5375E77DD597D277103525ECEE0A12297ABCABAB9A3289CFD14DD0BBDB78EA3674E371AF58552B97CB45828ED9F9E9BDB3D3B3F734422C550021765D488AA749CAAE37975B2707CAD51419697420BAF529CDCDEEE774E4C482370BA2612FAB92EFEBC2B05E0ECE003F739A9475229D193ED80BA1C593F38FCB15B3F7CEBFD54A6A5313872F0002762DEED8D922E14368E1D1F830A865C548CA9A0C047378EC20012B42C0AB9B35D355EBC8030FFD97B3F7166A249B587E75F801E449D2BAD2490F92E0AEF48D128EE5E2AE4799A154DB15233A49BE11C02BD958534DB552161ABD5A68BE5D2E142BEB07F7A6A7AD7527E715C68FF4D4207C7AB0690600B0F2A9546A65536AA5EC673924BBE3BE7FAA5D152B015B6067BF7EE95EFA7C0DF9502D865E2784F4F36E1FAFD52B89BD10DFCD1964B2EDF42CEEE451CEC5FFBFC67198ADF3931E423B49E62CBA6DE3FE2054EDCC5D87B94F3E439E4021984F56D975FB6EAE7C7D052179716E1EA2BAF7CC768E3FB8F3E86216917934A8AEBE7918F505C9FA22210E5EE750752B4E6A0DA3B9056E18268E20912B6DA7889FC772EB76F7A727257A95A9A3516EE134943EB4625AA52BFB9A43D32D1C253ADAD5E6C69C947771EE067C9B24381631827AD9AC3DFD912A267AD00A646D0D9D999F412890E64A7C3EB06FA3E72FB2DB7FD01B579F968B52FBFFC12FCD3FFF17F684E08A1C512B41E3F81C29E9FC3B0ABC67B0C5F76D1259C2BA08E5BCA0F109284BB8DE067FEF6BBDF832F7DF1D74EEB46A8F3865AC0281DBD22C2409F4D212AE50C9C549AEBF4941FA0E554EC648B5A19D46CD1AED7F7A505E77CBF86FEFB04097C610919FAF4F8EE7AD5B3085BAC42906E081B4AB2215DB7E1E4F37E0C7D78127D38224480219BECBDC004FEAE1560390A20D9E9138EB3F9C33B6EFA3FB75EB6E52A9A38B917FDB6838348D9BEF9C505A8224BA6E2D0A6D1515EF28CF60BA64920AFBEF106B76EC562A76F4AA614EE6BF8BE4FDC75D769ADFB6FFEEB0348F4EEE0FE044294B9C525B4EE32FAED34B77F53C368389BD92CC040CBB8FA46E06A7129CFF7F06348D84AC5030B0B0B7B26A626F72348156CFF4DD67D3AC23680846DB9C0EF4781C30528F0F7A400360AE4110512420C617875CB476FBFFDDF77B677F2A41BD3194BEDD714775348965C16221E3C3606AFBDFA0BF8075FF8C219BFEFB59DBB30846BE3926914522EC1D1B1E330B7B0083EFAEB69F4E5D4644A459926BF6D168E0EF424525A49CC572DE618AB2F964B95A38542E1EDD9B9B95D537353476201FA6FB26E8CBB9D1842BAF7EE08DB852EF0F7A400E633BFF99BBFC9FD0241A3D1E748B9E9861B6FBC7FDB96AD375002841221B256851D37DE7846C2F7F8D3CF708166B532B01DF2FDA7BFF81622C806CEF6615CC5AC9CDAB2285D6A967EB72DDCE785AD3C5E3E8556E0A40E4FB4CE993265D8F2F9FD33B3D3BB161773A7F0873361132C700CC968410DDFAF0B74D899D656246C9E45D84691B0C1DF3961BB2014C0A0401551A01DA05DC66243DD3D9D37DE75DB1DFF777767B7434D238FFEF087F0BFFD9B7F7DC6F35087CCB7FFF601F8F55FFD3C570123BE70024E8C8F23C9CBF17EBCB44CDA72AB0E85AEE09BA64123EBF27899387CCDAF56ABE32564E8F95C7EEFC4E4D4CE72A532CBFEDB47C2E6A275FB4E354E31381EBF4C84ED4241801005F03E5314A2CF8D8B4DD75F7BC3BFDEBEF58A5BA867FEC8E143D08FE4EC23B7DD7A4686BEFBC02178F2A9A760C3D07AA8D6EBECB3BB7A7A39FEB6ADDA66E7A424BE576774E069E0815FAF54AAC751688716171691B04DEEAED51A8B8AB0C591B0412541219940C2E6FD7213B60B4601ECD6F16CADD6EE3BFE507BB6E3BABBEEBAF34F7ABB7A6324AE871F7A18EEFFBDFF955BC40DB37FFBE0413870E830CC2E2C70F87525C1BFB521C47286EE2149F3786DBC3A5B395BBBEF9789B021F13BB084846D7C7A629F216C3EC2B9C0906C39614B66325EA95EF77ED909DB8584003CB9F62B1A05CAB1182D92B7F1FAABAFFE17575DB9FD2E42015A3EFDE5175FE42650EAA3A395BFD60F0FF39A7DCB2B63E6BE817EBB5EA379F26A150C2A36A1E22CA1C491B015DF9E5F98DD3D3D3D7F0885BC92B0C591B035FE7E13B60B4B012C14680F8236244DEBDBB2D9ABEEFAE89DFFA9AFB72F7E5ABF6DDD9365D3F42BB502668D67DB34EAF5198CDB0F1772F9B7A7E7A6772E2CE44E129C0B64E944D840275CFE5B246C1794021825A00EE25232994E7A5E4FC395A3D76EBFF6B7AFBA62FBA7A8CFAE29E102012FA4402B6E2BA1D768F386A056A98E1751E0F9426EDFE4C4D4CE62A93483D4AE1C976EC9266CB5468343B2FF9609DBF9B8BDE7F501A83E3D36365697ADAD0557CAD903070E7C7B6060E0A36D2DAD19AE8AF91E278468F9538CC51B18CE9D28178B0797F2F9BDA7C64FEEF66ADE6203E1DCC590CC214847EB96E0D78488D75C701B35E979F15ACDCB12618BC71561CB6464EFB1632B04FEC0030F481B653EB89D67043028400DA4333333A96210B407AEDBBFF5F2CB3ED7DBDDF32B34C117C9DB12866447E71691A14F4DEEF71A419EA09C7CF8E9085B0609DBEC0784ED974301EC1471626020E5361AADC2753B8413B4FA00495A17C7E53D256335AA90F935598BA53024D3842D8584CDA4543F206CBFA40AA05140EC85BD3198E94DC43C2F954E241218C2C530229048EE686D8F4622DDF0544934E9BB2D2D7E09C9DADF450DFC83DB3956005B09F0214D2A71694189D4DC1CF775557B7A82ECE2A25C4ED83E10F8DF2305304AA0852AECE5648CB03F60E817DEEDFF07C0F7B90C94A643CC0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (178,1,'Workstation_(24)',decode('89504E470D0A1A0A0000000D4948445200000018000000160806000000DA7D5C880000000473424954080808087C086488000000097048597300000298000002980136D347DF0000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005914944415448899D955F885D571587BFBDCF3E7FEEBDE7DE999B493293C94453356DD3404025487CB0FA20A58D15B1A022227D28A650F0B58F99E093827DB1088A250882494054548AB6129A46FC17D2D6503B6D9A84269D4C66E6CEFD7BCEB9E7EC7DF6DE3E240D24D8075DB01EF6CBF7B159EBC712DE7BFED73A7EFCB83C74E8F02127C411048F9DFFC7F9EE85D72ECC792FFEA56B7BF2C0FD074F3EF7DCB13E8078E2EBDFEAC78D66546459565555569B7A2C941C084F4FE0D72D7ED594FAFD5845EB8F3CF6C89EC5A5DD9F0F55F868A8D40E216E094F9F3C5D5BEFD46492B1B1B9C9E6FA1A5FF9C6934FFFF07BCFFE44A5B37333371EFCB2DCDE8E5A0B899C6F25925628698660AA8A6A5A501625653965252F78E38D2BD869869F16CCB7245F78F8611CCEB73A6DCA5233B76327C3D188CBFFBE780040D55ABBD23A79B3124CA3986DAA816C3768751A2C7612CAD2904D0D9BA329936141362928F292229BA286E7D1A6465786A58F6EA79976B876FD1A8D344546510DA0F2C9D0CA5AABD2C404DA116A87AA2C616551A5A595C498DAA31A1133D611494F124012405034A82ACD466FC8C6D6DF198D8614E5145B5BBC170E406559513B6BE2D23A64ED092A878A1DAA721859D31101ADB4412025B114C492DB2D88C64DCACA609DA19976489D679215E4938C20101E4019AD8D7735DA81B48EC03AC6DAA20B431389558A380EE9A4094900B1F47724BEDFA2AC347118D87AB2116E647DF2F104AD35424A0BA084949577961A81760265C169CF18CB36E5898CA3A92DED34A49D2624777E00D3B445A533BEF4F8E3BD332FBFB4B41836084D8FB9ED3B39FCB92FAE002819C84A780B41402DA07430AA2C4DA9088D23D18E5CD7E43A60B11DE12444E296C0369B14A34D3EF3E98345B73BC73B97DE25CB0BA246FB4E66A44054DE59BC94200346C6A39DA0F282BCF654C6516A47616A7263E9A409B3ED84562B2149538AA2C0BB5B617D6FF526DDEEB6BB42298594A570355E4A6A044648B4906804B587D27ACADA31358E425BA6C6D14E1B24CD98A899321A0CEFC01EF8F87DACAEAEDE255052CA0267F022A0F4121148A40CA89134D174F49438F3080D3A138C42CF1487AE2A8657DF66381C82871B6B37595DBBC1649CD1DB1AB36BCF5E6E0F5914FEF205167AD7B1658ED005141926EBF3FEF5F7B83818A29462F7D21E762F7D84F985055A694A77761BDA18840CA89D0BDEB97C85B495220245AC04CE3901A00219BCB5B572F1B3E07D12C73E4E621747B16FB752963E75484551ECD3B4550E06BDF1683469BF7BE9723B69B6C2388A886E77968D67948A701E1AAD066BEBEBF47B1B33428840FDE137A79E019E011042C8EEE2DEAF85323ABE6BF7D2AE6F3FF95472F6EC5F7860EF2792B3AFBCD232D666F30B3B4FECEACCEEBB6FDFBE87367B83F6D6C6A069EB3A3CB0FF7E36D73746D7AF5CBA122AF5D757FFFCC757BDF75678EF3977EE5C97B0F9B1F178F8C97F9E7FEDFBB3DD4E37EDA46266A6432003C230240A155204044220A5405B8B9482ADE1D0BCFCE24B7FFBFDAF7FF5E2DADAEA19E04D2007BCF7DE0B40FCE8859FFDEEE0FE03470229098200630CE0F180313541A09052A08200632DFED67620A4C47B0F1EB646C31B2B2B570F3FFBDDEF5CBB6B4DBDF7FEAD95B79FDA1A0C5D148588DBE8244E48E284384E0854401445002449C24C3B65FBDC1C42084C5D33984CC8A7E57CD20E4FDE7B9C84F71E21843871FAF42F16B6CD7D73716181462321CF0B2A63305AD39D9D659217CCEF98637DB3C7D670C8603CAE2759767D5A167F2AF3E2A766347A7D7979D9FB7B4EA4F8E07DF4E8D1F0D1AF3E512CEDDCA9B4D63CB4FF415EBFF826B5B39465495695659EE75726E3E16FB352BF60FBFDABCBC78E7984E05EE87F150821C4895F9EFA719A369F0E0285753E9B14E395417F78AAA7F5CFE37E7F6B7979D9737B7A1F06FC50C107921F3CFFFC11319D9EC9F37CFAFF00EFADFF000F1AFE7A87EDDB0D0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (179,1,'Workstation_(48)',decode('89504E470D0A1A0A0000000D49484452000000300000002C080600000023163B670000000473424954080808087C0864880000000970485973000005310000053101B7ED28520000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000011594944415468DEC55969901CE7597EFB9AFBDA999D3DA495A595B45276254B96B5BECA26C80E952ADB012A36455C455CA180C82647110865A8E2879CFCA1A0A09C72F237A18082805514E032F1116CC9D846B28E9556D62D59D26ACF99D9DD999D99EE9EBE79DEAF7B755AB23149E8AAAFBE9EABFB3D9EE779DFB7470A8280FEBF8E575EF9E990A4488F0781FF78AE50F08F7F70BCFBD8B1A3970BF9AE9F14FBBB5F7DEE9BDF9CFAB86B48BF48070E1F3EACCDD6163F2BF9305A0ABE80B786963F531565DF5FFED55F3F90C915C8755D32DA2D0A28B025A2F3AAAAEE59BDF633FF7647EFD07FEFDAB5D3B8F69AEAD3BFF3FBBB1B8DFA3DB24C4DF2E53A5130EFFB6ED50D68DAB6AD29CF71CED46B33C7C6C7C7F54F63F48F5F7EB9570BE4C764521E5754F9F38A2C6761FC4DDF9B999E49AD5CD94FBEE7E17C9E9A4B0DEA58568C4819892713238B8BFBBE7E26351EC40BC9BFFFD33F78FA2B571CE8989D27703939552893DD6ED2D2D2127988005FC8E585732D91A57B1FF8ACAFAA9AA76A5A4751E48E2CCBBA222B4B24C97559966A7EE0577DCF9F716C7B6A60709576CF5DF70E95CAE5CF298AB4DD950349917D224425500282132449D2750E0009522E97A752A99BFAFA57916E9864DB0EF63655E666A95699A3E9A909E9F48923DB899EBE9A0144C5CDE60662D3438F523EA5518FE6531C375191408D3CEC1E70E692E439B2E45932D91DCDED98594B6F971DB34DAEDE227D719E6A7373649826B159674E9CA17327CF129CA518AF98465A3C4E09AC582C4EC9648256F4F7D3FDF7DF777D1A0289360C6DA056BB4D7373159A5F5844105D2A967A2995CE938748CFD766B3D741085174257263AEE753CBF6C982C94959A34442A3640CE7718D5209150B3BBFC6791A0631753C64C8713D640CCBB6C9B12CB21035CBB6C8E9D864E3B5A1B7C9310DEAF06E34E1A4416DEC87DF788BD60FADA352B124B2C1A09A9A99A5D75E7F8D745D2713C1E06B4924031F12F9BE84F70DBA91B32A3E747CCBC016C0DB00910E4816CB17BBE2E31CA9971D2CC040C2AE283EA5E22A71B8030E390CF0181232DE53003B29490DCFA29603A7E269BC76C951B1920E390E7618B60E905D5CAC531EA49515993144996C9AEE1EDD2E0C6DC309DD30A852A9D27CB52A9CD634E56607705BABDD3248F55D3225455C4818EFC258E59A5D3824479FB13381C8104EE080C75E9085CDF03DD2710D4951903D55DC00E02345E29B05D14E14F333C248CEBC82EF8321D46C34E9FCD9B3148B27488DC510F58052A914157B7A289ECE90FF1182C950B7CD8E490AB9E0585C44DD811F72940DC58B3200271444578161B2EC0922CAB0248EA8B0F986E3C350688DA65202375228347AD960DE5D9977891C76809264B4AA4228824086B13ED59B3AD917A6496F37C844F43DBCE7C34068BDC8B481CCF4947AAE77009E9B36F02B416D5C0E28DC9418363E09072C44488AE004BBC5B9C49988A0C5377091394523901E5886818C6946852A87C63B911336BEAB44698FC9296A570CA89C27948983CB5C6238164B2532D3396AB775A1464BCD06C91012C771103C39B8DE01CFEF58C840CCB5C9C367D01BE140E804B2210CA63013117C14964240CB0E04E4290DA26B801347898D5729848B23221F84C64759E00C7026E24A820C4439CC001C083CB13C8F0D95896D72EC0E798E4501E0ED780E9C7558AA6E8010F910069354FC9031C6986452C9B8A823C2828554B203E062683CBEA39B2EC561744A92C5EB0CF0AE499A30D0BB01EFB614C2E94A26B0E2729C16705F6F3903BE680C289BEFA27412929B3428AE23B0709295CBB6E01050127EEF1A07508410089D72F0507C06A385E1118424C62DCEED88072A8C353B801AF35DF6236EC058152A12534416A078C28965BCDF683CBF8EA99C01330C18EEE723601DD871EA833138E5088966E7B80EB83667C08D3270A3038AAAF397022CA1B788820F2BB868B8AC268C5B7606AECBBE8CB48258702A1997235885446748C56059065961E3FD08FFEA35447644564268C5BC1875CC1042AC42A552C95254856210922F3FB2915EA60A4DFEC71C171BBA73CB66E2D01F1A3B8AE2A8F8D73B20496D9656C97798EF02C35E10325F82234C66C70FCF7564C186A1C9981C72418D1CC0B98A2C58585CC5593E7D3982924C578CBEA24AB84FCCD544B11224460A7A7A7A3B39D4814AA546AF1F9DA2866B8A88732B73E4C85104D5A7743A4977DFFBD0ECF59558515B4C2209245E5610C68D1719CFBB24CA6E40066EA6695248665F110466656258C5A14C36761B56C7399280930FC33CF96A0610AD2813B886AD71B3260C0C144560F74F9E7B8E1A4DEEC7B0B057ABF3A21FE2F37CA1885542B12B38D73BA0AA2D2E5E013810C861D926295C5ED86F0B72E9B6276EC4EAC4EAC3860B2985D13158E9705B01E339433644201E87139A1A111A708C38B10C29876B0EEEC595990B96EFDF5CA416EA0D2A97BAE0C0ADBB5D359D4CCC8B0C40AA420E5F758033E222032E206205211CF8B5849B29012B93425A04319B0B203B010673261C38C82AA50A525F35DCE5561AF7B351F80A5D4501130C3437B50882C42870E94C9E0899B8D52123353561AC6B856D01D6727F138845D4C6CDDC88D8AC509C19CE828D9BBA3E2F5FEC0E3BE385B5030913E7EC04C3291E3586092C1011AD824A05B408A237C20A6ED0C74AB5469F7BE41154FBD86DE70D3993CD2DAA082DDA65019590C8B2E001AF0E22CAB911D2C80A857397DF4374D8684F3840A1039E1F3A238CF7A38C801F316EA955EC8A305E03B4306551BAAB2438C0EBC6A3BB54A437DFDA0329B56FEF80A2C55B0ABA48C9B104FE036E0CA3C8B3B11DAEC47004B41512EB51C80D5F544FBAE284C7848F32E006BED8EDA87EF0E79C01369C7B25550BB392CA17896B10B708FE0D9D5A0CCDDCAAFE6E74A295DB3B204981CE170DB8645F837F8692C9FA1FC12AAC11A1531E85FD3B857016B2CB46BB11A49C65587146BCF09CAF2923FAACF50242B867B290A756AB1556D84F399BB35EEA2ACB9863862A84C62C90192224A023450E499153A2D05D370D860AE22F6702867830DC13B042268270CEB080B380DB0E95E103958212241249B250D65DC7BDAD91EC9C691A1FAD426A4C36188FE476C4804211813B1C34E56AF43913BCD8499CA1F30C28E777280B9D4E427262E88D9268C6548965D1C6EF19DB36B530D8CC76D0CBA0F73710ED1CC6C913478F5265760E467568CDE02032E044245604794F9F3E470D0CF566E45C7DA94E4BF5257AF0971FA11CEAC1750E741C5FE71EDFC1C57BAD2AA9DCB6A20B2C622CC40C8C49AC13F2C36A8310888289B2817EDD58ACD1899949B4BCE6958BC579E6C53022766058E3A56A82B0DC20E6B2797AF4B14769E5CA41BA7BFB8354EA2ED3DB6FBD268C04911546C29EBDEF50A3B184AA9BA64221471D8CA6B9A08B3290D3AE42D7CD1988B9B2A1E026174E1D27E9F41F0AFDE5EAF7690E6E0B522919372E5011B36E1774BEABD44DFD2B56505FDF4A11E9A54643B4DE1397CED3F89183E0424C70C030CD140FFDA3A3778B4A8C591D30F4C470DF6A350104F50A4F00677E9E255EA8A994AD4BC07D325310697481D55436540A8E1E2B87A66962C538B2628F6112C34A849116D1EAEA12DF77790EC68064F10E75E1C1FEF8F163F4DEBBEF0A63D1BA88A96E7931D30270C534DA19788E6BA8D444EB505F5A4217EA8887023CE4D72A155AB96A0D0252E67123011F5086024FDDB973A7F3EA9BEFFDC8B49DCF939867244F5315171777915207CB9555052386EC28AACC53A38DEA5DEE2EF70CB65B6D0D37D3B89B58B57A5049A752DFFDD6B35FFE176079B067C5C02F154BBDA3B9426938994CF70863254FA85638C0F857961F289C3D368CCE5F98A0F9DA82805C36971570546371647125AD40266DAB93C4D7CA583538D1113FFAD77FFEDBDFBDEDF34749CA251289EE58AC6B83964C3CF8AB5F7CF237BEF0EB4F96DE3F70880E1C3C4CBD8532F5F50FD007E3637F3C3038F27B8020176A13CDD8F8D95363AFA6D3B952DF8AD5777575F70E6573850138A0F27019F640E10207842D6B07578BC53377B3D9021F1A22CB89647AB1569D3BD56A355E176C8F4633F5630C2F1457ACFD5679C5BAAF83D8DD1CB97C214B2D4C4AD3D3D3A2EFEB2D77A3C7F1E9F4A99334393D9BEAEBEB4D2D2CCE8B1E275FE81EDE76CFB6DF1CDA38F4E3EEAE9CD5D3DBA3036675F4FEB999F90569ECC058B038BF14E72C78910383AB079803C1C4C4C4E2C50B17272E4F5C38F9E187670F5466A63EC0C7DC4AD7B174D1CDF0E3BC6B0B88143DEF7BFEF9E7A5BD7BF7CA172E2FEC40BFFA86D15C94584273F9020DAC5A456BD70D51B1BB0751E1A76C71EAED298317E86DB219711D8E1E1B95CB6645CBDC95CF8BA76D6029081CA7DAC202A592297040A6B397268C97FEF1A5C9CD1B877C74A7D6D1B1B14B070FBC7FA25E5F98C0A5A6B130D55015ABCD0F3F282C4FC13289AF38F0472FBC90BC7F78F861C597EED0624A1F303B00426DB62D7B048528954D2614C6711BA53F934A89A2C506B14432C98AC522556A551ADEB0812E5E9A402F53C2EB9A487F80EF9A90E5DEEE6E5A58AC53A9584037EAD23CCE0BC0790B73EFD9F3E7677FF0BD17FEEED2D9B3C74CC799440AD9F046146D2BEC5E6E2ED7CB1092BC6A752436B279777F5F2995CD644475BD3C3949E5629750242EF9C31BD6D35CB58A1EBD04FD6FD3C4E49488321FFC68260615E2E7A3EC685F6F0F4DCDCC105FAB0119648DE7CFB850E67339F1DB3EC0CFEC74F03B9546EFDADAFFC31FFDCD73878E8EFFFB7FFEE4955D975AE7668EBD71AC732BC3970F057011D0D936FA50CCB4F42FA1B1CB6FBB7333A4D01232C812C7CF6738E516E0B058AFD38AFE3EF1D02997C9A21D4850657E5E3C985220B13ABEABA1FB64307276D6AD5903A76B54048C9A709A1D625865F1DB3CA2AFA3DAB23473FD41C6A5BB366FFACC86914D5F2D97D7D2C09AD5C70A8F3D66FDF68E1DFEAD7BA108500BD31FCE4C4C4D7F2FD755F0DF3F7888560D0CD07DA3DB690B9CC92162FCA48CCBBB8C481E1E1F174F8E25B078A151A7871F7A9046366E100F773399947818D5D60D4C544B64213319D48955032BC32611E2615A364DCFCD894C713D59BBFA0E2A035EC96492CE5EB840F56653CDA4337FB66D74F49F46AAD5C427FA8786B3F0F4B3CF9677ECD8F10FA57CE15772B86916F0C8216225F4E61CB9FD706CDBD62DA88E7374F1F2A478CF84D17DE5321A378F4A28F53D80C5FE436354C8B35A192283994C9ABA519599173C4686E3629D8E1E3F892C293485898B0B9F0A52079ED7B1EDCE45C06D0F64F4A5C6E4E4FE175F7CD1FA447F313DF3CC339A92C96C7FE28927DFA9D76AEAE69161011F860BDF88235442C5E59BF7F7F60A07CE9C3B0785D18528DB904EAB63D1C6F5EB20AF6501A1E5A306984DA381AB81B875F0C946FB2043AD1CD76EDB8679A6D56EBD5B5D5878AB51AF9CB17C470F5C4DAFABAAF1EAF7BF6FDF8E0337C9E8CE6F7FBBB47DDBB61FAE5D3DF86B5B87372292F92B9F3750DEA7A667C800F1DA805411A53F05A778E25A0D79E563B652A52648CB6DC51C54885B82369C62E8B11C991DB361E8FAF176BBF94E7566EECD6ABD3EE96B9A9EB36D7D321EEFDC572A39E065107CC201E1A63FF9380B8EA6DDF9D4979EDA5F9F9FD77A10C97014081FBD6FDBB205C48DD3B1132768F3F0B088E2F8F113E1D3653616A494F96984F87BCAF10DC3A8B55BCD232DBDF576657A6E6FD3346B92E7E98EA21869CB32D11E78FF1B833FD6013EBEF28D6F94EEBFE79E1F6CD8B0F1A9E1C13582607CEC3B7090EEDC3422CA3B2BCF1420C191E5BF8FC22ED67675A335DDA82F1D6A2CD5DF9E9E9C7ED7739C3AFF6DD0916563534F4F67D7AE5D9EF847E667F4F7E847B6126BCBE5A5FD47DEFFF3C1D56BBEF8D33D7BE31BD7AF174589879BF70E8F013271413A4C6ED6E25263A251AFEFC3D0B1777A6AE660A0AA2D07E313AA83D1ACD7ADDDBB77FBCB4A77ED84F5B33A6EF93FF16F7DED6B5D0F8C8EFEC5D6AD5BBFEA62E2EA582C8DBA5EAF2F9E879CBEB7B0D878B35AA99C7424A99D00D99A68DE686ACAFE28837F9EC72D9B39677EBEB9FFE8BEEF62D8806C77F46AA5F65F0BF5CA05558AB77D189CF53C734D77B720DC2FD2E04F9C013E1EFECE77D4950B0BA9B8AE076825AC4D9B36B9FF17C2FD3C8EFF01FC6A3CD92169AC810000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (180,1,'Workstation_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000003B0806000000CB8C8CDC0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00001B5E4944415468DED55B598C1CE771AE3EE69ED99DD9D97B97144F51122F714951A20E524A64D9B01439122C39808C0470001B10A0970408F2644A0F811E1C1B0960D82F0910C471E2883192408A6259B665C9D6451DBCC9E5BDF73D3BF7D567BEAABF67B8B49632E9C8D7903FBAA7BBE7EFBFBEAAFAEAE85ECDF77DFA7DF8BCF4D24B715F0FFF814EDA2346C81889C592D952A9F4EED973E74E75F7647F381ED68F1D7CE209EB46E7D57E970178F9E59FDCE4EACEC39AAF3D82AF0F6044F9B86E18D3E56279E85BDFFE1685C211B2AD064522612F1A894FC7138977D2D99E971CCF7BFD1FBEF9B7E3BF57001C3A74C888A532FBB0A64734A2877168DB6AD731002FBDF83F436FBFF933D2348D22F138F5F40D926146A85C5CC6C893EB38649A663D95EE3AB36EFDE61F0EAFBFF9959E78E7FB4F3FFD4465E55CE6979FFE8BF727A7C6B719BA51D731305F5923AD0058F29EEB2DF9BE3DE73AEE74B5DE98282DE74F54ABCBE3E7CF9F6F7E7242BFD24586FD19DDD41F31A3C94FE35E5DBA0EF1B1908FFBD8B64DFBEEB9879289142D2CCED385F3E7683997231B82FB9E4FE1688C529D5DB16AAD3EF2CE9BAF8DAC9F9BFEEB030F3EFAEFF8E99F5C0500FC68976539B8A51B218DD2E4FB036C13BEE79187E1F2D675C8755D0AC5A294890DF977DDFB8007746D53371ABA61D67443AB68BA56D419345F5BF43C77C173ADE96AB536555C5E1CB52C6B7C6C6CACE807E6F68FDFF9CF6D61D37B44D38C87F1DB7DBAA719BE837B6215BEE663093A3108BAAE7F8CEDEA581B7E846BD6ACDB44FD433751219F270BC058CD062D2F2FD3F4D424E5738B00C5A6858579BAEBBE4F1BBF388DA99B861D32CD487AC7016A24FA48D75CE2D5183EB69E4DE459A4DB166976837CAB4E5EBDAA35AA79637E6AC628148BF0492D4DAC305994466DBD05FBC9742F199AE60F0E6FF0F63FF090138E4642F8A787C3610A47784429168950241AA118B4168F4729994C527777377574745228648A997FF4E313E6A19D3BB6D3E4C424159B75B9D6C65A7DDC3999EAA05BB7EDA26AAD4AC5FC328D9E3C4A3353973B3F0A80A63930FD48D5F6A918E9C624069998288C6D04DB48D8C47783A2D846B00D870D8A617BA7A991E9DB00CA03913864351AD4AC37047DA75E230BC36ED4A859C3B656D1EC6AD9B02A05233F37434B4B4B625D0A38ED2AC0D8D2D4574DEE9B4824E8F1C71EA3B56BD75EB5700F663E333B4B274F9EA44CA68B7AFB072859AB530DF7AB605B2957280797A8572BE4B81E40C1F05CEDA300E87A13374B8035C8C1A4B040D25C9F6CDD07D978B2CF5B0B93686C96AE4E964EB21F09C7291A8093C2D671D8655C08E163DFC57C9E1CB3799FE7C4BE8FFBE020FEB3A936A926A0350120035527C7AA92877DBF592117C2CC9E3D4AC78F9FA0A1A161718B9635F800BE5CADD2E4F4149D3A739A2A950A35A104DBB2B13643A2033B5C776F3F2D2CE521FCEA9E646242CB17E86D72F00B1D0BD534D6AA4E3600D13D161E373614309AC7A060189ABA164069D01A2F2C1CD2497C19BF3778A110DCC7D61755631FB7A97B3A5530CA4D9D1ACD1000D3C8A130B9668C9C38000B019C0840B431522E6DE8BB896A131F0817F9BEA6B8C130C482BABABA68CFDEBD5487E00D8C7A9D01AD830C97687E6E8E2AD0FEE54B67719CDD23740D00486B60360863F30637F2D9BD20A8AC1937640B6060700D0BEDF8724C0B84870F908163868EF310CC0408E430A26C763E996C7558382EA12A80AA60C7C6DC86A18B4BF1A54CFA6AEB12200478EA3BFFD4D02262D62E9B319324E632705F667A4F40F1AF1AFC89279220C5E12BC0349A347EFEECEA0060CE3A9B6A18AA73C5053CA663A5698FB7BE689C5608CD9AD7031731E012CDE09C5C0356364C5D7C9AB50FA7A0264CBF8AF33E4C331C5284C9C231C71B5A304809ADB69A028101D4A354AED7841B383A30081299B0CEF9B905FAD1ABAF02B820622032C4E20984C0E80A50A8BD5D15002CB2CE4983E63431A94F2CAB160C5630BB80032135163600444CDF5042EB7AC00DBADA37B0F20800D0A161B6A43A2F160B6386F6D9A444705F09892FB6681EBFC537A36D09014018213D02136E281710DF873519AE846917D6110A7780BE1A542C95A90E4BA981F59BD0387391C6F38ABBF8D4A857AFE90235DB86E3BA16B9014A2CA0C796CC56E01B6D97B05CB563F017570F84562EC26018BC75025E0000089CA4870CE1035F774522D69643CADC4558DD575BB10A4D845656C0AE800864840140E002BECA154CB1005F40D00C10700CD10D248568466A26DCCF8852A5949328E540C13CD7AA0060543976122CC0E53B78925B489CE53B2A6BF003425451426E21C73C890A7A60FEAD6DB3095FC6CC11D3544422712D0057CCDE0F4C9F8537456025B45AA813B885C339891E82F61ACADF030BE028C3C25B4D4489A9715CA389C66DAB89E148C4716D449320A4B2FBF0F9D53940D7AB1C8610B885ADD95F44D12D77E0C8204503D24F9E8305652264F312B7F3DB3CA1C1D499E8427081A8A68B658443A64A6B39B2082FB8BFE0FFAEF8BA685E0F846660A8E5020000EB630B6097A41607306F45625203C4A2210144915E13EC5F451E50465EC296036E43346A81F111009081E59B485E2A481DA350434394C5F15C674E111044F39EDF16567143704C3841EC85CA882461689DCD94CFEB203F5D63523424E16181BD40702D105A0F3841919E02C6D114E87C0EA9AA5880DB667C5D84F784D55A73709451E7F9381362281C95F36E90C63380AB02108BC7739C402C21678E83C41AAE2EB159846F978C8A03840B7CC51162011C02C5EC5D2AC32A4C66FF56B468450C00113374C9303D7CF734C52F2DA2BBE2FF4A10A36DFEC177264C0860352D081512A0516B88468BCB4BB4BC3427EB62C1F9189F6317C001D4054D39C62078D772814432B5CCD2968A254A12F2685D250C9E4AB7C405243A90DAE7B9395CDA013FB035549A9E244AD140F36C15061067DFE498CDE498103234310FBB81D30E734C90570080B68268A0422316EE9A9449A725A9E9303A8508C545B90C46EDC00437D461923560D2CC9922D52B750502788D4D9F334EBE462ACCD5008847E305D65C1328F91C0EC53E61059C1E7A5AC0032B06BEDB86224B16B401C2E33017618BF0C418841B107D94A5E0DA1026B171301E56C2B10578ECEB01F1E99AD1263E3B700BAD150E7160007540A15024284B59005C6B7070902E5E1E17ED6ECD1854B82344A55C822A858A983C87BE03F7DD0D6B70E88D37DE92D43999EA6CAEC6012503A1C4F751F10139DF5436AF4902E793E0E02B77D00272D4824861C3EC9B98181C24D1405B9931BA8A43D8122CCECD0DAE09480A2997DD40258881B9AFB40275AF1627F07E32DB4DD54AB91D0A990FF6EFDF4FEF1E3E8C88D3A4572ED5C9BE5CA56AB116F8BB1A3FFAC9EBC20BEC4A1B366D42C1345CF96822E453CD90B8C75A851560D5CCE61CB6988AC41284F494E6DCC01218E12A240A81E06CE60C5F5980CDD971601D86E78BBB703EC11144BA0EF81E325552C46EE605428BAFB7AC2020C09645243AD360F87A900DB21B7AD4D3D34307BFFA559A5F58A472B984B2B72E851527430DF005470207378DC36AD299AC94C7AB2742885C062F4848C452015B536E1014F9582858D60B728320A4572D95012AB750566104B982F080CB210C82438A9080100081EB42F08F106A064F7999843D97F38115A4D8AA05B83E8927C1015397DB0078CE95BC96CB65C92E61C55C058E9EBB44DBB76D256B6A1262A0CC0A87AFD14F6825429E51350C95EDE9CC03BA1660A040F065FF8A2B88F090C2F2193D534890AD8201B244F39A5882C90273DADA165E1541212E95F1A37098C3A376050418BBBB42F3CA12F01B5C1F81F69610A9B8C46642E50ED5B53E9B37AEBB66DABB6A7FD1F39C9AC916C0083856A0E1A0E60EBE49EC6573E52C0CAB65003CB18C202AF04F7D952DDAC1D6F103F377D596B337DBF5DA1184F7B968E2F0C8D6C05B2EA7C3D28C510D19CE1F4C8C584707121CE502AD3EC36A1FCE0FC6A766917E472812895C170026884B2CC0173FB7DB559C7468B420330968D913EDBB92B36BFE0A725409A2F000FBBF19802282FB8105B4C2279F7795BFB325444D43313BB9011F284BE005718E619A1E451229909D258C6EA036F1AE91D44C4ECDD0AD5B77501CAC9CEEECA053274FFD7200406062017C43DF093820E0012144D28398A443731A3580B289C4C6153B6120B40008B5CF241812F2834892B529EDBBF00B177338C1390782B400626DFB41783402DFE7E3265B89076B8825A4CDCD71DD37783E7B5561C291907486C88F817FAEAFDD6FFA61A7DA76019E38C84FFD9605B43A3A1C2EB89AD598BCD4392F48985AB5831684152FB0002F1090932871093F10DE3354BBCC57A936F709389A78DA95048C4D5F92294C148AC514A001093AD7B08081BE3E9A9C9EA558B897A66666AE0F80C6EC6C10052004EA6AA5F92010B448109A69FACA0514A36AC2076C1D5E6009AE7C53DCE1B584F7B415FB4AD816082E830040B9F718622BE074595720B8BE0AA1A66B88BB84225195DDB549D0BBA6405DE90EE9027B9E777D2478F0E041078990279467A996B21FB881941B9A12B621BDC21556A16981EF5E197CC40B5A2F9E7FB5FF5FF9DE8A1AC13307FEEEAAEBB84DC60D0C35541125441809AB6714DCB8755CF53CE013FA48E56F189A2DEB0607F8578540D5856D28D5AFC80F34C901FC2047F002D05481A6B6AA7657AD28E5120A1C2F880E5E1B882B11C376552345840F80E048617087573A536E0082F7C902A0EBA6C58BE5871F529C4A0787A4BF6707214E921EBDED1BCA1A02AEF05A0F4482D3BE144EC139FF4AF35209EE07DCE00544D9CA167D69BD73FF901323DD699261D5C96880D46A65C9E5A5B8611EB84665B7F2C369731105DEC4C484B4DDAF9D08B105E88625CBB61A41BB27682BE15FD30B046E45875F0042DA5C57CEB6F38830D2980E546411CB45A1E44AD335E48364A1411BE1D607DF3450AEFACD06468D2CA4AEF572916ACB452CB84ACBB93CE5F3C520AF77C48AA4B5E51B57E501DC063F77FE222D2DE5A42F68C38D6B48848A85923C3FE4967815731F78E0C18F01C0301A62BE762D50A32F20E840BD9B9AC8EA403E700F0D0BD1B078D60E0F0D806958BC064D6958B4562F9187A2C5A9E4E9FCD4382D2DA827409C8E864261A9E7B93F6F9A18BC45FA2A7E6EA87E9E3CF8C0BFCF3EFC30CDCFCFD165547BDD3D7DD4D3D78FDCBF8F8E1D7D9FA2204484C4766EFBDAEB6FD2F97367656E7E54265BB84C67A6932AA58ADC3F9DC9FC120B308C269BE8F4A5733494FC67906195DC4A9172D39334B5B828C8FF7F3EDC9B676D84EC9000C1C27397588040048A46A394EDEBA1BEFE018C418AA5BA68EFC6DBE89E03611436755A0418A74E1C91EE12BB80633BEDA7A6517EBE088163F1A83C0F48C4E3C82BC2288E6A94496729D5D1495DD99E8F0700A4536717A8A0E63EFFC60F84C078D19FC487B59B4CA5A803F97C673A4D1968239DE952238DFD741765B259B9AE5C2E537E394793E397E8E4F10FA9B09C175FE6C6071323B7BA0C28CAB2ACF6639EFDF7DD43DB776C15A6E50A3087DFCCCECCCAD3607E3EC8CDD0F51B6FC635B7B79E396AFE8A97220400306F3D9AE8C049432A006E93A7A229158284894DD92AD335A59C6D6931642AB3E6214F7CC3C1165A10C191C7CB6F701E9A434A5B971E1FF72197738B58EC34952078315F908488EF2182EA2A1A702460ADB3E09C05AAAAD535AEBC2760D1D8D838E62A50BE90A71A406030990B983819D048644A00C03C2C6F0818B82A52FBD2FEA0BEBEBEEF25929DBB7181E64991E2FB1C93E1A33E9B28B2327C377CDE62783A0A08DDD47D53C7BEAE0BAF83EFC328ACC069AEC60F2680B3562E17BD72A983B2DDDDA51FBCF8FDBF9B9A18BB5CADD7333DFD6BEEED48676F4F263B3763FE484BBBDC1C6DA5BBD2C8E084486F096E2810748E16575CE0C36327E9D2858B123E3932259249C9242D6E8501B85EB8D4965B6E956BAD463D860DFB4389F993838500F08DE79FFB3A3D4F5FFF554C5C93EE09992FFEF87005054BE8CCE8391AC558CEE7E9E6751BE8D65BB6D0962D9BACE79FFDEABF11C9023AC72F1427B07D45D743DDBD036B7676F5F46DEDCC64374622B12E169C995E840E72892BDA676236DA8FD0C57DF97158222EAE1586F5B0D5C245A8DBED114BE6365A22A99A21B0BA383659523D97461B801B14B813263E108977DE198E2446BA0737DC06E65E874585448BBA2E61922D490DEEE0FAE95BB66F1BE77054AFD5D8F43C2314AE41C20BE546E1D5DCA9C9C33896E9CCF66EEAED19DC8CED4DC98ECE21494A0CD586F25658C3CA5478F7AEED74EB964DF21648A552959057AD6AE0831A4700BB54CC4F2C2ECE9F2A1596DF03AFFC9CBBF781F05E9B03AE43680E3B994CEF9A2FF40C6EF82BF8D74D904173101A3B93694A77F5D2E2E2125CA957583D1E8B5207CA5176237E40F1FA1B6F50B67788C2C5252E7AF452B98422C2E980E98FAC1D5E3FB2FEE62DAF0E0D644F87A3E1542412F5138944A5AFBF3FD795E94AE50A05F3CCC9B3347179CAE4F8CFD600B0DB613002BEE1CE2F730134DC989B999A46F2737162ECE2C94B17CE1E8135CCE3B21C4621109E4DBFD902E063DF1213C1717EF79E3DE6F442F579CBAAFDA5EF79ED5649679A993C2D23DAD14FA9545234C15D5B0843894404234631EC739DCFE1AE1F2065B35D42941980C4FDBB30F704828C90C1E32C910933CC6D2E009A82895F9A9AB65FF8F74333CB8BC58E6C57D6F8F29FFF69C7CCCC4CF9ECE8E8EC99D19353C78E1EB9786EF4CCF940D8458CE560B0BF5703AD3B01F979ABBE26F7DC73CF49FBE31446626C4C07D2462C1633C76B4BF14B2766BE914E777F2164B81A0B9446A2D1D3DD43D99E6E4934D60CAFA12816DF994A08837383B2030BB7A09972B94A7DB8AE8AD0CACFE33999995B58A0CD1BD6CBB3FB443C46D9AE2E3A7D1679C8403F9D1E3D4B7DBDBD34BBB840BD88E13954771B6EBA4952E79FBCF956E1D077FFF5F8FCF4C4F4A50B17E6601579D8FA6220F872B02D06DAAE33F7B5EA357F156DB70160E173CD66F6D30F3EF46738BAD6D0CC7EF8723F841A4434C862E1299F6B5808502A16299B49836C6C2A944AD48DC5B365542020373C93109CDFD319EEEF178D5F42988A206119C0F7D77EF633A9DB59F39CC62691B89411AF878706696E6989766DDB2A7EBC807D6E6B8D4D4E218748C9B56CEE9CE931803F7AFD8D0BDFFBEE77FEE5F29933A7AA9635E7D4EB4BD7D0B67F5D2F4A3EF0DC03E62D8DBBF63F78EFFEFFEEEDE94EF2E2D952B8F97006A9661A894C18B19C17358FEC702BD89D9FD82C170A92346D58B78E9A60DF1FBFF653DA08CD7221C244D4D191921C9D359B0030D3B37374D79EDD22D0517EF76770802691B8F8F2484BA5CD5C6374757652375CE5DCC54B74C7AEDBE9DD0F8FC8B142B92C51A007C953AE54F2DE3AFCFEF77FFED31F7F6DFEF2E5B17C3E5F1E1B1BB3AF47F076A2F6ECB3CFAAD752175FD65213A96198E9A39B376D4AD56B55BA79D32608D949C3FC14E6E245BA67DF5DEDAA6C6C7C0259D732CDCCCD49FCE52737E72F8DD19D106E706040CAE34E08CF60F0F933E7CEC12A6A92548D4F4DD1455C3B3C3C04974951B952A13B77EF86556540A639EAEDCED2D4ECBC901B578E4D58DA067E3A046BDBBD63BB94D80BB91C738476CBA68D5B37DFBAF58BD9356BAD9EBEDED31BF6ADB19FFCCC93EEFDF7DF7F63009CFE8FD3DA627DB6807B6E456EB26D616141AB22ACCCCCCF4B4CE71792F84D8D25EC6FD9B4996ED97233FC7E9816C0FEEB8257D818F40F8F1F87D94ECAA36A7E6B73110BE5BCFCC0DDFBC01959A9DAEEDE7B077C3E43C74F9D561567D3A61CB23816947FB3E3B65BE11A3121C501B8D0D8D434158AAA326C584D05C4F6ED3207679177EF1E0901C8FB1160BF900C758D4F160AE37FFCA94FD9CFDEE8CBD24F3EF96438D1D3B373D7C8C8374776EEDA1B02778CDC7E7BFB258359687B09025DB83C462047F87A82E2F0E128DC8205DD77C71E307E54843FFCC187B41F42E7E12227CE8CA2520BA9FE02041C0407B0A9CF83E476EFDC29D79F3E7B9686E076730094054C255561B300C0F6ED1991F45BDD372AD7BD7BE4A8548ECB00661C2EA49AAB2653D4F2E1A347B6972F5F9E7FE18517DC1B024003117EB95E4F853CEFBECF3DFAB9FF5A989F3732C8E5E3F0DD380A920C7C9043182F8EBBAFE72E5C6803343D3B4BC74F9CA45EB077B154148BE1373F99B8CA2891B7DF769B5C776274947A60EA9CA64ECECC88D6390AF09CBDDDDDD4055EB9EA7D50ACEFA76FBF4D7D88380CE61884E5DF30AD732355570D989A55AF9FAFD5AAEF952AD59727A6A75FFBA774BAE41F3CE8DD1000FCF9CA57BE124296B076DF7DF77D7BFBD66D9F2A41B37F78FF81F679108D745C39CCB155302972A1C37ECCE4C6850893DED8F838EDDCBE4DAE39065367BE604B0963B0C02C2C478FD5DE07E6AA6E627A46C836076EA9F353EB56C39E3BC78E55AAD7EA672BD5CA91DCC2E25B0B8B8B676DCF2B51D8451488953667B335EE75FE4A7F2FC056F0542E974C9AE6DD8F3FF6F88BB9C525330B22640DC5385E437BFC1E2F57872B3F17C7C6540587DC7C06F57B11A18D5D84CD98199BABC4D1F317E8BEBBEEFC888667C1331C1D9650CA1600A4BC4522CF2A3CE9BF5A5673B95A299F4678FC706E6EF6CD7CA930AE37BD122AB1B21E6D20F3CD3433D5AA03E5785BB76E85E20F5E77D370D54C90ADA01EF686F7EDB9E7EF77EEB8FD8F166767E8B30F3DF491D7D527C0E6B373F3E2D7BA694A98E470D707806620501AC0655698345BC6D19327A9BFB70789D0227CBD4CB566535E985660C81B1E1EC2EA42B95C3A59AD56DE9F9E997ABBD6A84FA3BA28390DBFE24722D550B96C81435C16187EEEA984F557FBC3875501E014F8A9A79E4A45FBFAEEF8FCA39FFBDF52A1185A33D88F04A50616B6A4E56473A361CD30041E10E2E3CFCFDF7997EE5DA1E1773F3842EBD7AE110D2FE696A9C2AFAC062F31CAAB2B9E8394D776EBF5DA14EA83139552E5BDA9E9E9771A8EB3084B2FA1BAAA7891722D514F58CD66D363810F4160BF958B7F029F6BD602C80CCDB1B9B9E191BD7BBFB67BE7AECF736361CFCE1DD415F4D74AD0DEE10F3FA007EFBFBFFD1B0E974790DCB0D9333BF36B229C0F7081C46D357EA485E2C48276C7CB95EAB1423E7F786E7EFE3D48B7EC1B46D9D4B44AC575EB15C3B0EFCC66DD53A74EF9870E1DF2FC5FE39FB55C1300B6822F7DE94B499466239F7FFCF1572AA572E400B4CBECDEFABC7FF498B4B1D80439C96181B921C18D4876114E64EAF8944AC58B955AF5683E977F07D1E2A8A73BC5B06B9491B255FC52A9D1D8B8D14632EF014A0F7989EFFF06FF8EE763AB41B6824BF999C1916D77FCCDEE91DD5F3C75EC386DDEB80164B58C22C7A11E843C7E2F97FB6EFC1617BF9505A22A2369395BAD548EE672B9B750F48C1A109820B01E69568DAAD1C80F0E3ABF2D816F0800B682A79F7E3A51D5F59D4F3CF6D80F33E9AE383726D89CB9A7D7B49A3E2C205F28154E23233B32B7B0F456A1B07849F7CD92E73860E828185ABB8AA17FDB02DFF05F8DB1158C2E2DF5EEDDBEF599A1A1E1A71BCD46259F2F9C410CFE607666EEAD52B53A8D494A5E28546ED66AB50462568BA17F1705BE6100D80A9E79E69970BED9EC0A452219CB6FA20489D434D7ADEAC9643551AFFFDA18FA77028016084F3CF1849EC9647408AA41B3DE6F82A17F139FFF0313895959DC8EE9410000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (181,1,'Workstation_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000005808060000000AB1F2F80000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000033684944415478DAED7D69B065D575DEDAE79C3B0FEFBE77DFDC333D8A6EE6866E848006091082C4961D882D5BAA0AB6A90C9538F961FF48B98A564AA954394E1C3B7125922BE5722CA5E2203B09121612205A20D134DD0DF43CBD1EDE3CBF3B4F67D8276BADBDCFB9F73D9EBA1B1A63C9F285D3E78E6758C3B7BEB5F6DAFB09DFF7E167FDF1C20B2F64CC68F21114C51356C4DC9E4AA6FB9AADD621DCDE72EAEE5B3D3DB1E3FBF6ED73FF3ACE2D7E5615F0ED6FBFBC5598E209DF974F80100FE05B517ADFB222E753A9D4B691911138F8E60F61727212F2F9BCDBD3DB7BAEBF6FF8403C957CCDAD370FFDF66FFFF389BF53C007783CFFFCF3D14426773FDEEF9302C413F8D6D6D5BE1728E0DF7EE52B90CA76433C998266BD06C5C222948A4BE07B2EE4BABB71CB17D3D9ECD14C57CFCBD271DEF45AA5A35FFDEA57EB7FA7808EC75FFDD581415FD89F93BE784208F108809FB9D66F480193E3E3DBFEF25B2FC2C5B327A1A76F08D66ED844EF839412A4E7816DB7A0522A42A55C805AB50C11CB8264262BB3D9EED1BE81B56FE407075E8D2552877EF7777EF33C4AF7AA0216FB7FF78F068F1E3CF09B8E6D5BBEEB8D4AE99D283A8D73870F1C98F57FFAB423FEF25B2FED36043C610AF12442CB9D2878F1410E400A387CF8C8B637DF3A0C9668C1C2FC3C4C4C4C80633B604523108B27219DCEC2C0D05A88C613AC10524CB351876AA504F55A057CE9C2FA8D5BE18E7B3E55CC75F7BD158B277EFF5F3DFB0FBEB7EAF94647CE9C2C95AB794318A82B1F246E692B019F7EEC49F9C8677FCE1386700C219AF8DD3AFA4B153F2E49E917D015173CCF996D3AF6A46F3BA7161666CF789E377FF9F2E5E6C729F16F7CE33B5933E13D6A22ACE02D3C8EF21EF051E61E8A9D444FB7657C301D007DDB3005ECBAF95628576AB0F7BE18BF5F44085A989B87B99919387DFC08349B4D20FDA28079CBF7F5436FFF1A94A184B9B959F8E6D7BF96FBFC2F3DF3D9A1751B0FE1CF5757006AAFCB322D080CC5A43D4A194DDF406518E0CA083A42129FF700B9202989F712F1D0034F023E37A1AB67102CD390F7DEFF90340DCB360DA3258451C3C3557D0165017E0115B7E8B9EE5CABD59A6A356A171617E7CE1886318F1656F820DEF6F5AF3FBF1DFDFE0914EC13222AEEF7A588483C919082850E5AF0FC54FAAC09A1B7EBD580E0FF00FA0606C144F938AE07895416723DFDD0D73F0CDB6EBE8565D06C346161711E0A0B0B3076F922BE6E00492F1289A23745E19DB7DF8027D66DFCF11E87966FA3102C1416E4FA8720DDDB0786E7806CA24B9511E72A55701D8781CCD70A08F7A6875A22454854046D9EE1346DC3934D0B2F3E89B7D10DA26D55EA89BAB1482C09836B3741049586EE2AEFDFF7888DD7D242C9D54969E86D653C60D1F3E5A274E542772E97EE1F1E1CDEB07ED3CEEE7CCF9A542A0DD16894058E900352F84AC886D280528660EB971FD81B041B59AEA70731BE0615849566B3052DDCD0352093EBC6CF7D705D17922917D25D79644A0558B3E126F050512DDBE6803D72EE242C2ECC5E1DF20CB254D34CD285895C3F8C0CDE476F422C6A40262260D0F0100B3DBC2114B68F7B544EB0016D6E0B7C072FCC6E80D76A80DBA842717E0666A76711132B3A04A1FD8B30EA034184AFADD346A581839B105A69D00D5A489D4A9B410B9BC5EDE489936891269818F8A21818AD88C54190F6165A5D2C1A83582C0A51DC12B118C4E371E8CAE5A01B8599C9A4218D8AC37BBE86372823A3DF6EC0004C0225E137715F2C1661667A1AEAF50606637CDFB1313EB8784C0B32C89AC81013A8185220056E171572550508C3681A6C2906989220C5C7E73EB430ED70510465338A566AE2CD09548CC9371B415121DCA09B99FC195A317E8EAFE973DC6F434B8BA1D22C0C469294847B0FBDC869E245E38DB8A828075DD569D5C1ADD751775570EA55A8170B303F390E8B4B050E6EBEF616D0E8C48A235A81374537D612362C1363A7E2F43F1A9140D035F2F5593038D00FFFF00B5FF8B1DE40E7200156CA15849B01F01524F33E8E583F34BC16304983560B15A0F7E57299638483CF1D624AADA6B2BD6B00AB859FB784F6634322D4A002D01EF555A87B720D89166F2A9746DC33245910BABCA79425047D8E9FE1D93070409382A0114196106745452D03E278F3269E836307B9AFD4B104F70C6174932E1E07BDCC47AB6285917539A43C1B619014D7C2E72D8447E56D1EC2A46C54C043E52DCD4CC2F4C438148A25B64C1B598B4FE7F2975B36FD7FFEC20578F0A17D303838F46362030A3A91826F3EFF3CCBC58A442085F94002856FA0C165325DEC5509F4263608FC278ADE96452822982B14CB50ADB7742CBDBA062C74E31A1DC0A4000C1E633B50E0D24A2001119E7A06ED49F8A808432BC72741D213939FA364F9BBF45BFA8A23D5CDB0B27043B5E10D18F8533C9F9010843A7252529C67A1B251FB12BDC835A2E04552E8094A4952457B0EFC74BD1E1EBC8642AEA3AB1204F8DB5C588BC7DC800A04FA8EE7301D0417BD0437824989FCBDB5380A6F7CF3CF109B17A1BF7F70D5D8E06BF27EE7DDBB61DB8E4FC02CB29EF1F1714CC60A80E401E6E6E71082EA084B4DBE7E0AB8113436FA512C1147388AE27D38FA58D752403C5E65AB0484161F2183F09A8446E401EF99044F57A4E5C542202193E5135CF175B372D47356082909B4679072A4521E7D218AF86BA055E12911CB892E2AC5F0090862F8A4E82DEA642C1DF20C13F7188C1173016A2D0FF1183D8395A3A049E2796AE8859EDE28B44819C1E7318633F23089B0B871533FDECE9F41A15064635BC99402A149F2447C9E48246078ED5AE81D1860AF72D033D9C3704F81B9505882C5B93954CE52187C295ED8E8A182620D5C3DE85BF158AC4410402E60A36B475198B62F94E50B256CB2100E25141FF08E5D6618648DCA5394807133B4F0BDE0B7CA9B0CA1BFA3A12A8A168E34158543C2970AB7A5426BD36777007560C1F024F1779596843A0ADDA5D774E1A6A15544C73098F7076C87CEE7119321A12A67E5F3B00D19CA226B68C904812B99925468CF9F69C40A6186218537F59A18572693E51CA077701895626B0539ACA0F14B230CB95755402C992871D4274E4B0A402F68FA5125405F5D0CDD045B3E4AC7F5E9A6108A7C83AF2E88092C680FF877AE687B0429CC09BC80AC1D05E0A2E04980A6E9EBA0E9B300C9AB7CD43629C3456B77D00AAB08350DC767CFB44C93BF2F3B051608DE0B04AD8C85F76408247AA9BECFC91992087A107F97810777E40DC47E8220AC6288AF85CF52D201592961E57BA015136C446CFC6B2A201AAF2897430BAB35212A88424595D0B5D5330C110E0B65419E0EC2F425123A055FBA7BB7038A945BAB98A1204A7992C3F1451DCF42082268614F90016590484D7DA8E3D670F19CE8292C333C962F9482257EDF63CB57C20ED111DA19B0177A835050A5BF1F603DC1077BC08ABC21B0747A9C3A750AA6A6A6D1500C486732D0D5DD03090CC6110CCA006D6F08DC24540CB45F5F9305256289120735BE18C25F5705621D8C19C7780F8CA32C056DCD8C1241C40A6148FDD6F095125CE96B782765F9CBD89381C7224E6EFACA76E9829BF859432A2B57162F03FE12440514AE8A5432801BED3D9E3E87F200A1BEAB3D0CA3087F9F8D018FDDC2802C3B629B083C4A2AAB26CF31AC341E33C6383E3B57808B17475171752400C4FBC9184D2615743CD3329939517DC844FEAFF4721D2C08C1B8C638494525BA6C17B3600D0D46189014960ADF0FA1C493CAEA0DC678C1D49575A285EDB2BB74C407A13C04F4E78E7E2F221447A70B6D10BFD74C2914B70873B96570C39F7A22B47E256809FAB41C37245A8DA195439932799A83F790EBEAD21EE0BF2F8B66C86008C2C4130599CE7443A5308B541AE967360BA9342AC555950007F70D8C250EC264B3520363B188E720DAEC3199A0025E3EDF730D05F87ECD37C84D3DD6BA89D44DC1BBCF6C34C805182F8D40112A4953B4D3645CE72F6B0B87108294E7041E14788843EE8EC77528BF4038F3D19C5A443189217572763A8547178957E629BAEA690193CA3C5094965F6BE5789EB678AFD3038043301B060A6ECD868D4C21A566667C5F0AE554894507E1C0767B0786F8F80DCC7E897E52AC54496583F392582CCD46EADB55CEC6BD8864055A96E43870F544CC177516A8EBB2AB190441A6BE185042F482A81FE607416C30742E20B4B07D66319E766DE6D71A67196341410FC180A1A1A9EC29B7A164CDD4CA5320AE6CDB0A2044A83DE3BE15301E19C290D40A12DA73C903384E68880A03351E373FB40696262E2BA8859001F377D9017410B6D1BA8B8B7310895AC8DC227CF4682C0E6634069118C24DC256E508B47481FC98615C7B8FE4FA9877ED3C004F5CF349C88E52409412188E09CAACF8801AFB032A1A446862431EBA8B11C40C3F88098A3919BE0ABE41CC603767B3442FC02FD7A8B6A585EF4AC58C0CD1CE5895FB992CE8C0B2B93C11321E9F6193054CC413BFFB7E4F58C18C68EC319D5599B2F4DBF0A38380D41A60EF202F2361361DF418B47634528A1D342043F2A2E04E251197ABC21E67FA5CA8ECD8E09A3100218884E5E0C195AF3ACC26D81A40D1BF802AFA52DD1CB4890C0BDA93ED7CC0F09495064C8813328DB546102430D1AA227E52CD3D221485155A6914784560925279822FDAC29342DD94842026485688A7CF23F567410D88C706408487A3EB8820776FB69A611E1050D020090B20289E4843BE6F08ADDFC4CDE2F810707CDA1CFD9C6A41D54A19CA182B14ED5510A4A8EC351480F85FA7ABA292330BDA733A920FD0184B17A4A967287C72375582F09819298A1A583E84F1A3ED19FC14155423B8A31A11310DA160C971551025CC141C0BDA4480451E424D0031A0B2DE0ED8217644DEEA7526643A1720E62535338A25D39CADB633E176493BE0FC2440212CCD8E4418073B797E48439938980C3B8A26B73DE05A831C165E518D2ED0D10A00F2045D8EF0425643094C400841C704ED0A3A2163162E2DB6265743965286D037A85CBD822E4BD4D3D2821761BC50C91D9D8FAAAD54A608051E60B316BC62397EA8BC20C9323C0D35AB0460E5418AE94553492EF4851EA0E187F64A68CA035CAFC5AC0622669823F8CBB2E1E5895710D44308221CBC9607A06DD4A936E3B8B612A8B4C352AEAF19B1D4DCDFEF8CE881E0C00F83AC3454F1CEE520AA8232D780385803546D4E95C1D2A51F372801B14B8990C2D26F637865862E37D0E9B593298BB59462A406C8301FE86047941304ECC80BA9A6C1F945140328D7F8113A82411D30C25217CB8C5852ABD5804BE70A219B5748A03D81CEEEA90A0231C8A0EEDF093F2A06C0B5C603A046031C3492C3CA72ECB0F6AE4E49CF7DE61F8A9A2AAB55799A1290D0AEEC752665860EC2946C516D9D048ECF23A660387045502F02153704E8DC40FDD6944A09A102424CC7CF3C2D541D6B48101C8FAC4019320CD452EA3C4104C999C4EC33C110546FD4B9D4CCC15C67C252A7B6ECA55614A1598D69104BF47800DE53D5D98EBD2FD58860E7FE7A84CF0AB05DBF46639E0C39E432E8760A73D44E0D82684504B181ACC0109AEDD066E8244CA88447A1A2F610001B7FD0626831B452DA41976A49AE8E25A0C7744961447129B8472949D3C2363A3D21784F076019F078D00159E7089ED009A208B2681A0E8D317329974B904E6734FCE8FBC573C6F173BA1C8A4594E192873FB9A30B26640446EF69C1EC9FA8012366484828684F64219D4D42A95CE111B96AB57A5D0A302231B34E1E100CDF08F400B6675FF3085FE3A9A6A69CA808EDAADA4338F069FEAFF331A695B4A7D242B94542A6F7F4FB12F4E687EFA9F755A2A4CE45CF5550A55A8CA537AAA2AA429E7E0F95CA237628A888FE2C6299FC3EBDA75EAB2D384624AA6AF79552495BB1F26CA9B1FCAEDD7731F677D2C9F5912AACEF894061FBE2328809B66C3603BFFA2B4FC3ADB7EE84271F7F3414309526AEEA01664BD448CBECE2F40FC502ED01BEB68C6563A554F0F215D6B2F8B5A24236D411801D623C28692348D8980D759435348D159D899B4EEC282933D15C294E98B4694F103A3B36443B28B3C57BCAE2E97DD71361DD48055F5D3DD59E10F1A3FCDB4AA5C2182E3B8B71A88C6CB64BE7104AB8840C6F2E266076A20419230775B9D8217CA58CA5A525F8C3FFF2557E7EF4E8BBE1D0E8DD7BEFBFBA02969646EAAAE8A5030D42108B39189C0832531158BCF20816322881CA203AF2A7C1FB78832D35AE1B11BAFC2054653548D0987F7BAA96247476CC192D17D65450274C7585B27443276A81E07DCD7C5400965A192A907B3A7B0ECBD63A3FE10453AA9234C501AEC41A1DC538CD5ABEF8AB5F803FFBFAFF8446C366B8393C5A56B033A95A723CDFD3A56B85F9012D32B4ACD2A9146CFFC42ED8BAE396AB2BE0B9E79E737FF94BBF4E5E6FB20CDD96C67E43C7011172611E79D25605418033DA8297A14503D41DC943924C2735D3717D58362EC0A9BB1ECEA4F73DAD20863AFD7D9332705F4153CC34C2E29CD07B5F979885AF03B06622CC86E472DA2A7542669811A5004EC674ED940666F498353D76EEDA055FDEFF1C266C6AE09D06E1B935453F6FADF29A3A238226ADB8DE1B86798D3C40F5A6D00872926FC86E325D6343E06E39D552C28156D310A96183D225297C3DB6AB031FBEB41D1FEAF8B9C543724A780A7AD4F023FDE7FADA8B7C559656C256D84F019E6282623BDA925941AA6CE14347494AA8BCD8B00C451141D35BBF939AAAD2048F89E189824119129AD403303C4C8AF7E85F1F7961F87230391DECEB87F189F10FDDD9C757220C8B226F924CA55658808489D999B4DAA345C2D05064744093A129695012167A9042275BC1A815D1505FB9BEAA88AAF164D7680B9F3CC43414150C608706623C6DFD2AA84B0EC052D78C7C1D0B424FE8C805600505EDCC13249FD3E2B8448534958CF9DA0BFC6B0E21060F623BB7DF7E27D253E7865A2B590188AD4D35102FA0502A431A2FB526227A905C596C108C8398A01CDA6C17C534F4545D8F831E533B1D68BDA09EC4CAA0425CBB7461E8D285C7C2570C4A6A852965A8512E1A6FF0749300C11207E50E6A4ACAE81C130E28673026CC43389C1312CC59D0D3DDCD85358F4982687BC175F2F735C343DC235A6FD66F5C01F158BC1E709C4AA506BD822AA23185E742DD058FD58AF6E891AF9905838CAFD2741BDF687864CDBA5017C40F0DD62280223D7C49A507053D0195959CDC29CB5795D680E24ADD1AC34A103E8F11901264981B687CEF1C09F3DA30E97279D8D0CAB660CDC60DD0AAD774C214189860EFBBBEFE51FC0DD3DFC80D298043682C11AF867D4B3CC8EEA9A06B888EBA629088E9B6421D8A55E30397D1A0627B3A30AAB811266D222869E81CC157F0D0C9F9A57ECF932B5EEBDEA4E07B5EF81DE004C90C7303D5AD676ABECFDD7A1DF9000F7DEAEFE33F30B46E3D382D47D34C4527697F3D1ED06834E1BD932330335FC0E4AB1BBABB7B6E4C01A964AA12D05025340782D00A86CE86035811EA677ED0FAA76957CD55C956BB1AD1B6449FE02528216B880994C035798DCD81B5FBE1732D701F74B214247B8A6652A0364C95AD2E4BCE7482C67BEE4332B8F4CD34D6506C27D59D57C3879AC77B01AFBF8E1EEDCBA3E3B079CB5678F8A107F85AD7A1326F088262B144992E9E5A415449DA056A950DF03F708240098621C2F8004265B84DE49CC2D4993175BE811E4BD6581C9619743555C506680B1F54C0B5C2AC5A8499A9D4AFB9031BA1908A7DA6E7732BBDE472851A2B53D8AFFA1FC28E080DADA66FB232098228DF4861B245E508EEB833547CA2BDA2A5D7F000F41C2A37E47BBAB94322128DDC9802A2F168D9C4C0E4F8BAD9954AB0A00B61BA1C11E2B92E3FA8963EA599BAEB871EA17205A5384377417399C750B982A72D8C6BFC4C3915BEB3850B23F410A9E9A8A7DB613C43C50719C40B08BEA3BC8D2C3E285D7301D6D38337BEAA2951B245019836CA3B13E94C5834E352A350C546FF3A5C60E3BA211819B9C0BF911EF5B1366E3008C79365726368E96C9806E635DB111D6589107274E0A52FB7341C0435755F0FEB061933075D6817F4A4CE9283C11EF5BEAEAF77C094AF3D40F250A8623E2104491D94850AACB4A7FE22454F850AC4BE2608A6EEDC90AAA6646A588B25334A919EA79ACC8C20ABBF760C20CB276ADEAC95A0BFAF1B4647476F2C06D0B8B089195BD06444CDAC6DDAA9C76185AF33649F373D92082DD70FF3F8600850EA4AA42E70AAE77A5C4186C9935282177C8F2146C7056DE52AB1D2FD9F528DC229B8F2C3FC202800724E22D4400E6DE4110489E4A51C2768A8D3086200F0A08C6AD06AAC8801D7C78252C938067A9FE70ADCC8543A4BB39B3A7B801694EFA98A68907405B453845EA03878532AE811C1978C0EB6A4736308BDC10FBBA14538AEAF08BBD43598A0313BDC583946A828A2A516E707107A87AF954071880A789429F3615D35741A8C9A511036C96BA4C110144924D9FE684A5134AA28375DBF941FEFBC44CD25D5A08C1F94A45DB7439086AEEC1961C6C98137683FD7820F787450B80B0773FC40014257BC57F68B890EE8F1C3E7CC86A4CA0D3C8DCDAA08A6CBC77A644A77AD07D31918EF4DC3083BD668EC59980113D21B3E8F507B093E6FD4ABDAFABDD00B3E7E052004058DAF8CE1D26EC38AD04A08679C288B6C7A6D792FEBED0B6244405F851142901F302795162F6B720D67C12CA3B2ED58E0859EA19F878AD2F90167CF8A03B9520DA6B0F00DD5FEC83983A1A82A7B034D1EC124AA56ABB507D1AF330FF8281F1D1014D1D2173C26E0770896D94C4759DAD1BC3E98DD2044C78CAEB0D3AC0D479DE3CB41E53414BCD19E33263B841C066D9E142838EE48DD33EA07F141C727DF6FB7507282C7415968CC6F33201E6F307DA6B0D4C1469D0CD456A298909EF3E0FF0D4050188483C176B7B52C3DEF6444747DB6C64911CCE112461B8A025D04DF87205F10ED8EEBB6AE02606A67DB41DBB7DF8E0BCB8643C15FA6A8203007099ACBF31754EF29DB93F602F600DF8388D382885D07C356132868CCD70B3BD9340BF8900F1A575F5A2AC0D4E4E4757B92A56FBD6E46DA4118EC96B656A1DBB935EDA48F64E7208D687734059237144C09E81CC8D174D4684F9B0BF2093FECBEF53BE281082DDA0F598E7A6E206DB41C1B2CCC550CDFE56948B6E7F294A006CD256B35C169D6B977B389F0D2AA54A15E2E41A5B004F3C85896964ADCF1E0E9724B30F418CC0DF6AE1284E9FC8D460BE61617A0542841A954826AB50CE54A4535EBB66C5EBA809AB7E8F8BB6EB9FDFA1480CAAF45CC8846201ADE6BA896926549970A8C8E660BEFB3FEA04C112825A823E9EF06A33874C4385A620E93BEA4D74456E3212490401D30D0F30CA2C076130CA709BE4D0DB03417AB061E0AD3AE96A038370BE55295854E5EABF05DD14BB1120EF1F1CC33CFC008FEF6ED13A7543B498765D29456EAF564EC37540F93B722139E5F588477DE3D06854281A7A692C009D32442179D37857436DF9D8752A5C48B7A109427ACE83527662CF700E1D7544BB80E03B61E9837C4B291A7968E11747B71C4D9ACE140C26F81496D6D2440D9024117E6365153284C7475A0B9528D2A885615FC065A4AA50C85E949383E37B76AE70029CBB22C9E074C33F8559D47EDA97B83E7089B26E337B39DAB288176B4B6C3860D1BB9D0168BC578DA695FFF206F1B36DE046F1CF89E1A13E09846033272D928F8A9D3E7E0F889133CF0AF4AF726971F525D5D90402A4B2D89A562898F91CE64B93F88023B3DBFFEF1001075BAE9208DAD2ECEC0C68513E809B6B6C8064F05F55080E8D70028D0CAC20CCCCFA23556AA1F69502237A72E3DEEC3214578167826790909DE0B15B09A128209D884F75D5D399E0579F6DC59E8CA75C333BFF1CF209BEBD60A12E19064A958844C57375B3F7981E72D5700052EAAA6D2EFE8F85403CA647308457528978B6C1CB49C01CDA0A7A9B55417A2CF8786863FC8800CE8DE2065EA23274FA2EA4F86AE4CC2085B173FA647A0082A1578A6CB8AB068AFBDC0D04AA0D9ECB9EE1C0C0C0EA96D6008FA718B2712A1D08450039873B3D3B0303F07C5A5058C050B50585A82AEEE5E5D90D39D1DAE6B755EC7F0F0B05262570FF4A00263B1889AF44DEB6B18EC319C4DD3C21D9D63C21F8886628659A7A9FEED40A84B1242253D1FB7F0D5B23116CF40CC6433DC264213A37368A9B427EBCE2204D04683DF420B3910360D134E8E8F216E2FF2424B34BF97961888C5533CA15A35000B9EFD1204605F130EC773969536B76FD904EBD67E918F59AFD5970DC257F1F5FCE2222C209CD204F166A3C683F8743D77EDDE035BB66EEF84563DE97F39CF5531A0296BA4D130130EE827514EDBFE60BC96334E659D0ABB2D16A6C5EB3A4454F9566FD497196C24C86C36CBD380BA50B0C9548A5BD5DBB8DF16B0D07043784B565C2E1561A958800A6E4B852263701C856DE0790D9D0FC41319DE77065CDF502366BE08F618846DCF5AB96C0115A24AE52A4FEE5E5A42812F2EF14C196250B444818DD66FB391AA64AF82ACAB88DF09D6E4C2EFA979F09C9B0ABDEA8192369F2C99B46BF4B2676043BBA8063E2F1390E2CE342D50AB8DBF96160A0749C30A17D0A0B518967FC7D40174F9EB4EE15A1DDFE1A2190D7AA3C512463B764BDAAD966CB56CD1B29B46B3D1120D7C9F6A38923BC49462950728C6452BB148DD37A3AAA310EED5FDA9802B340516467BEFF9DEB23E9212C6B8EF1FF82142D78C6250F8BB2C7A61040D0AAF0D12F1187B2419EADCEC0C4FE43030C98BC663E131F0FA693D3A2A3EB9C1A6BBAD7D56C0B3CF3EEB9CBB3C7DF2D4B98BBBB87420759F6860055225639ED71EA054838FBAA5D1D4DDC23E7509DBCAEA542F11A70C26F7A153A3033A3FBE87FB70F8402F8481EF1B462C1E37D0FAC5A69B36C34D5B36BFF1A5A79EF80DFC561A375A6A2C1789C4D6F50FADBF33DBD37F4B2693DB8A82CF1A3CCD55AA796ABEB14C98EDBD9AEDC97528F21E1D7097EFF5F8B1E72D0BC2E3E393BC08079E5B19181A0809DE43AE4FCB12249065D15206755DD44B0FD244BE2C6CDFBE233C46BD5E4BF12A30485F78E12B253537F4007A64E370C7E38F3E78EBE5F323831F0EB43DAF55AB970D23B258589A593878F0204D7FF53A31F0F9175F6FF4F5F5C52627A761726A0AB76998A6656D908EF6F6E431E00DE236046BD60C43573A55A409EDD4AFAD2FBAE438ADC2E4D885CBB8BD8AAFFB7BFA863ED1DB3FBC3D9BEBDD9C48A68654AE27F48C1AB10C5A3ABDE06ADEB0B21C4DC840F982EAC2548649F947A63B83C8918606E6296BD6AE652E194128A5A50D380877F474B61A75B2FE9CB65D476F0C34A102A8430E77EFDC68F0EC58A38D9E26B5EBC52389C4B047D36CA0237BD6D3636B18CCBABAB2BAFD5B15C5C6C6C71EE95FBBE5757C5D4645CEF99E37856460DA6E96675B8DE60CFAE0E4D2FCF42C6E47688C249ECCAE1B1C5E7F53777E6063BAAB6B23DA6A349C9DB39A37048A58E10D2BCBD1046F34E8DEDBD7CBC24D22B4104C36D0E22B980324115DC2CEB8559685C00CBD8C4460AEA3A170D92236D647C158443050808E449A4E2673B74512C97BCD48EC3EBCADAD1884F2889F164D83E20111CD5882801D89581D9550350EBC76DDBA786F3EBF8926C4F1624988FB14F412A91C2433861F89C64A781BE7EA95A5EF351A9531CF69CC4E5C397B01B76E0CBEBD7DFD6BD7F60FAE5997C9E53722F3E9F2C30E26D51E438AE7F9C9FE0A6F58A1801D5B37C186B543E0B84E472B6203E3636B555920255D2C169646AAE5D289B1B18B478E1D3978861AE9702B6B4FB68311D91B5680163C459BAE54B6F7E17832F32FF1C6EE90D2652A477368C982321974D7549AADBB93D150F08DA1DBA688F158962E6FA87A50A1506252D0282F40238A297EDD628641335B78C6A963E7F0C99E443ABB6760FDB6D96675FE3FD8766D01858C69BC8FB4DAAF1A46AB6C88C65C772EDBD79DEFEBCB20874D2413C985D90531363A0941573137E49A6A91116F0504A9513683E7B0AD92ABC872B93487F9C5E5A9A9F10BE3972E9E5858981BD302A7ADAAB7BAC6FF96861FB98C057D48E193E1F4F40E6FF9795F7AFFD1755A19778555A4D219162E6DB1741E5E3BF0869ACAA3932C72D93866969E8CF3730A76E552010E1D3A8410340911D1E239BAAE8794D58DF0F233A9740A5908E505B8652917C8D24A2503DD3DDDFFBA379F9B8FC6E35D5DE9745732998CD1440BE2E91B8686F83C24CCF363135C3CDB76F316E7F4F1B3627A6ACEE2BA8D54ACE06A2362980B38D3D3533363572E8F5FBC74E1F29913C747EAF52A2A1D8ADAC2ABAB08BDA985EE42D81DD9CE05AE6BE1D6956B6FD26F3098A6CD44FE779019FC56BD5214017D0DE02D9648423A99623E9FC02D89CF73BD43E130A2CF537B5439992C3B994EB0A21271CC091231CE382D642609621AC904A45319D4761E3D260231F42A12287910B7AFA33287FAFBD8C366E71790A5D8EC692514744F4F0FE3F5CCDC3CDC71CB2E5602BDDEB679339C1E1981370F1FA91D3978188943391389C6BBF33DD9C567BEF42B79C2F5A5C542FDE2C50B33E7CE9D9D3A71FCD8D8C9E3EF8EBBAEDBD0C22EAE62E9352DF8A6861AB7633D11B95A22B6AA0248E0FBF7EF17A74E9D12F33B778A7DF8DED4D49428140A62707050CC5896F1EE2BDF425CEF7D3E99CAEE9D9FBE8CF8ECE81E224541A9F0454955FF401FE47BFB78D1BC356BD661F6994621C799C2911063286C0A6E69DC682E2E2983B2CAFE7C37B54C4212BF77EADC79B869FD3AA8205B22CA79EAEC59D872D34D2C64BA7AAA47EDDCBE9513BA732317E19E3BEFE099ED93D3D398285560C7B6ADA8987978F3D0DB98D5AEE1364552C85A645D540D9D42A5BD77ECD8E281575EB9E0D45A72F3E6F5F2ED83072750F0F3A8D496162809BAD461E9950EA1D7B4B5DB7AF3829EB4CEA46B55E35EF9D997BFFC6503056FC537C423A69B8F48C7319181200C1A065E0C82B6346F5ABB21974C746D1C1F1B7F0893BC5FCC74E7865389B849C24AA512BCB44BAE2BC30AA04BA0F7030A1047215DBC320ABB766C47AB4EB2058F4F4EC1952B5720DFA35AFCE268F16751E8B7EEDCC9E55EBAC205CC423F79CFDDFCF9D4CC2CCC20F7BEF3F6DBF83509F7DCF9116E98ADD4AA707EE4320C0DF6B1412C15CB70D3C675ACE489A919B8EF9EDDACB8D367CF410ACFB371FD7AA862E6FCD67BC7600C29F1C4E8E8F4F75E7CE1D0E963C7AEB8B65DB43D6F5120134386565D013157B3767F356BBFA602C8F29F7AEAA9C8CEDDBBFBF7ECD9F3CB880EEB10E9872C33D2876CA5172F3C6F984637265331AEA55B56B86E0EADA678FED225D8B9750B7463A6481E50444B9E40BE7FE6EC19181E1A0E4BCD3C551485D0D3D30DDD9845123D3C73EE1C3C78DF7DE1B59C457868D61B70FBAD6A86C9F98B17E1E4A9D3B061DD3AC670EAB8A6FECF743A0D63984FDC76F30ECE2508D2DE39761CEEDFBB87CB1DF45DF298ED5BB640B15486B7DF7B0FBD2B0F3584211A96CCE2EF9BC8B486FAFA60137AD9281AC33BA7CFF867CF9C79E7A5FFF317FF7B6C7474B455AF2F61A65BC4EBAFE0BED3DA036C97D763EDD75400593F424D3CD9DFFFE8C30FEEFBE3FEBEBE5EC2DB6E0C74315A933316634C2E964AF0F22BAFC2AE9D37C3FCC2024FD9A72C9196EE3D7FFE3CDF08E179177A0015F9CEA0B5EDBBFF53EDC40431FAB51FBC0E9F7DE4336D815FB8001313933CD9AD52ADA9192B78CC7854951A6829CB7B77DF051914182DABF0E6DB6FC3DEDDBBF58C461FDE3A7214065088F4BC542EC3BBA7CEC07AF488A55211366ED8C01047FC7F6E6E0EF6DDF7496E4B3C78F8087AE20E34982EF4CA2B3081C227E341AB8702C2DAE8D4547DF4E2A56FBCF4E20B7F5A2995E69183968AC562636969C95E2178F8B0EB6CBF4F017881493395F985E1756BFFF0A1071EECA2C623B218C2579E89426B25E34DD71A4D486152B2158359678C7E0915F3E9071FD0AB4AA9C7C8A5CBBC96F2D0E010CC215C90554651919E4D2BCF2659A1FDBDBDB069C37A561A5DD28F9009ED4581D379E9B1542CC2E9336719766667E7F8F5B1D3A761786090832D617B2A9964581B4345EEFBE4BD7C5D542238F2EE31F8E49EBB3968CF2F2EC12B3FF801EC4408A4E588CF63CCB879FB3684CC2CAFF7B9889FDF73C7EDFC5BBACE83C74EC0C5D12B97E7A667BF72F2EC91578C925D2EE6724DC44CF7C08103DE8D2E70BEAA07447AB28FC5A3C97F7FDFBD9FDC8C41172A4B4BF0D003CB67FB11E3F8F36FFE253CFD8B9F674CA57AF82C95655198870E1F85CD376DE46E36CC4AF0667730DE663359848C141C3A7A141EB8F7DE65AB147EE76552DCFDAC5CF210C2FC97BEFF2AB29B01A8D5EB0C3554048BA15750061B43CFDAB97D07737412F221F48007D1B229BF200FF9EEABAFA160B772C9B8582E73AC214BA732028D6F1023A2075DEFE8D838DCAE5F136D3DF0E65B303430C009D75A844EF2EEE3E72E50507F656A7AE22BF35353679A8651EF76DDD6F0F0B0F7DC73CFC98F44011C03F6EF8FA4E6E67A3069F9CFE954EAB19F7BF2C9CCEB08175F78EA17A141429EA5DA4D8D932562374514701683AEA7C75BEFB8ED568E07C1E3CDB70F2324AD47EB1F68570751C0FFF7DB2F32BECF23032101D17CDA5ABD06194CD86889E23D6885E40D649984CB54E2BDFD96F68CC3D3E72F7060DF72D326643473308F464285B301A4A364C99467902593572C160A1CE86FDFB5537537E37DBC7BFC04B2A021FE8CBEDF6CB4B88634DCDFCFC724D398C0D842B368366FDCA860F2E22578FBF8497B6E61E1BF4F8E9FFB4F8562633E6F59F57C3EEF7C5825BC8F053DFDF4D36666D3A664C477EE6BD6E49F3EF6C8C3FDEB31F08D8D5E41ABDD0B39B4C26864F576ECEF22FCEC434F8969D8A0B49D18CA0B2FBD049BD629B6810912C7079A2294443ABA84C2DF82D0D38B3017F6DF8F8DC1185AE5839FEA08CA1746600403F1107A24597C0D03348628E8425A4B7161E4F265D87BD75DEC8DF4189B9CE4AE855B6EBE996B4C57C6C7E108321DC27852320DF4F4A0478CA3903763CC0ACE3F8BF4940C62FB96CDAAB480F7701495B561CD1A9844E3BB88F056423A4CB5A9F9C2E23F9E3F7BF6F5F3C3C3B503FBF77F28387A9F0288C93FF5E52F47625353790C823B3EFDF0C3FF6DDB96ADDB0E63D0FBE2D34FB1F03A1FE4EED3D3D35CD96CE0C59E4341D13A6974D8354383A830CC58D1434848EF9D3C05776BABEC4CEA5E7EED00EC41E151418E8E378334F32CC60D6A31A1E1C606CDE745BCDE8DF84F1E41D0A53CC0478EBF4DCFD4F1E187070F31B6131C4EA3572C2186D3048D1C9EBF1F95456BC59D46BADA954E322B0A1E9750E1550CBAB722A90826E0BDF6E69BBCD0F71C42521DEF8B171F54D3443996583C9FA2F5BFDE7EEBED7F519D99293DFFFCF3CE47A2804E2F70AAD5B54343039F7BF4E1CFFC5E3C96801FBEFE034E6A88A5D072BD29BC115A5399A0A20B2D8AF60447744C0AC68F23CBE90CD084BDDFFACE77E189C71E61AC9E468B9A42E5D1A07401836A9ED66346B67219ADFFC94797FFF6F0BBEF21CBE985F55CFA558F77D03269A891981991823866DFC49AFAD09A07F1BB144F567B501E720585FED0A73EC5149888C17BA7CF22D35A44389228709B575F0F6A966A6A936065D21FAEA8371B6710B2DE9A9C98F8F3E985854B69CC11BEF6B5AFB91F9902022FA05880016FDB430F3EF047DBB7EED8C565037467C26EC3B8FA62741438BF7FE007F0B9C71E65EF98989AE4AC348F18DB6AD479D83197ED2286010FECDDBBEC78648107D1E33EFB994F2FA3AEDF79E5FB9CC851E188063FC81B7A50697DE8719D5E75B50719C1E4F40CBC8B8C6A01638DC7E3CF6A19FC60489605AE5ADD7DC7B6676BB5FA854AB57272767AE6E862B93C86322B220415D369BF606786AB1821EC8F2C062CF3824C26292D6B4D7EB0FF91CF3EFAF81F60501698A2C33FF98D5F5FA5EEEDC124063A12343530C510DF6989471A41A2090DD43A72FCE44978ECD30F2FFB1D8DA5BE7A007382CF3C1C5A3C61FC29CC1DCE22CC50264C9935254C44557BF158E465D7FB202A49B4741AAD9CC68B2B084FB1585C2F51D95E534877567ACD6663B28E022F964BC7A767E68EE2B5CC1AAE5B4580AF7A42D48D98D7888954AB4C8B0DF5F7DB70EA9487F0233F923CE07D5EF0F4D311ABABAB3B128D6EBDFFFEFBFF60E78E4FDC39363A06E9789483290DA4509244B51DB2402A25F4A23552ABC86A0F6215F477B9F6DCBD3B7C8F18D5050CA0EF62F64A9931353BD11F5AC863904EE331CF5EBA0877EDDCC5B1E45A0FA2C6D3183F2610D6E690C616285872DE120F3376B51AA65E5ED39776A3DE1843F675AE542E1D9B1A9F7C0F1911FD9995AA19F1ABBE43CBB9194D3316B3FD52C9A97475B9982D7AF33B77CA7D78BAFDCF3DE75F7B6DDC0FA980C00B906A2412420CF776773FF4D8A38FFD57F40A318F4CE153F7ECE6C0FA411EC4825E3FF816D45030341043C2A6C0685826AC41FAB80E99C6CA073506BCF8F2CBF0194CEED22B08004D171D45763385B16409194F0DA924D59182B90E6AE9601976FC4ACFABE3E34AAD5E3DB3B8B4740C93ABE3AE942584A1AA490B7AF97E236959CD3AF2E49C100E7ED7ADD56A321038C28C1F0CA67F54ED37575540501B8AE7F33964445BEFBB77EFEFEDFAC4CEBD73A880C17C3766A53FBEF994CA0157464799D65550F0094D3DEBC868766DDB8250D213E23ED1C4EF7DFF350EDAAB3D286FF8E60BDF6616449042CC84A8203545A4B411F87ADD3A29831E7F49B940098578A95AAE9C592A14DE99989A3A6B1A46C537BC8A74453D8290820A6899F1B8ED5996632E2C7898797B854241EEDCB9D3270B878F58E01F480141767CB15A4D78B63D9C4FA7EFFFDC639FFDE3AE4CD63874E820FCD35FFB35C66D6A5CBD84CC0213142E19D39846370A7BD3867548F9320C4D96A5F8F92584305A6F74934E6E3AA1E8F8A953F0C93DF784419732542E29A3022D4CD448110479104E5FA5C6319797B8E7D5DF5BCD8546BD3E522E974F2FCC2F1C5D5C5CBC84AAA81A54BDF4BC9A138D363084B72288DF8D6CC3CDB5722EE62AF2E314F807560079C1B3CF3E6B39B1580ED3F92D7BF7ECF977B7EDBAE5415AFEFDFCB973980D23E5C3B43D45357DC46CCA4469C0E35564404FFFC2E7573DE6811FBD8949D39DCB620579CCC177DE855A995621F1D8BA89295119A07355426E27572DE57EBD5E9B41B675A15AAD9C98C5808989D724C1898101535856CD779CA68316EE229275E3361E8B79EB3A05BE7FFF0D15D23E1605747A01DEF1503A9DBEF7EF3FFEF89FE4BABACD85C505D8B777CFAA41F73CA6ED535353CBAAA0C183BCE42FFEDF0BB01593A1256AFB46588A9202D3E9F00FE69095AB85F2A8F71FF7AEE3A262276AB5EA79CC544F4C4ECDBCD3ACD5E67C8414B26E20815B76D37022B667188E8D90821AF47622169D3A75CAFF4911F8875240E005954CA62BDE6C6EBEF3EEDDFFE68E5DB73D4A1967AD5484C71F7D64D5E6DA575E7F03366F580F83FD037019F93E255EC5729517CDA3C25AF817293483A1FE4B123AED6DC76E217E8F61C03E5B2A158F8D4F4EBFE73ACE12C189637AB548C050104EF018CB184ADF4FB0C03F94023A2BA5AE690E9AD9EC3D3FFFD863FF2397EB891C39FC36FCA32FFCF2322F181B9F400E7F1E621878698C9652F79E7C0FE702E15FA0A0BF2186984EEB95F29FFD68356BD57AFD3232A5B34B4B8577F15C270DCF2B11860B14B834A1EE806C093B623BC85052C85028609E1F3EEFEF837D7F2D0CE5274A0181173423912C4A72F3EE3BEEF89D3B6FBDFDEF5176FCD68F7EC463B434964B2D8B3409828270382DD5578B6053714EFD9D159B28641131FC62B95A39535C2ABE33393373CE94B28281B58A3CB2469430F237CC507EA214D0E9058D68742019B3EE7AE2F127BF91EFC947FD157FC2837BFB0946A863CC561BC2C97CBD410CA57A727E7EFE9DC2E2E215DF9015CF51023762B261BA11BB8A90126F2043C9AD6428FBD574B2BF657F7FF7032920F0022F95CA48DBDE78DB6DB7FDD6ADB7DCFA4BD4864E819217B66BD192BF4D89029FC60CF342A9543931333777B45A2A4DFBC2AB182252F5855D37FD68A38118646096996AB55C62287BF279EFD44F117E7FEC0A08BCE00A4054CECCE46389C4963DF7DCFDFBA6690D62E0ACA0C02F164BE513D35313EF359BCE5CC0C125263C3F8D0CE52752013A3B36E21B36C445B54A19720FE236A7A3424A9B841DC5CDF3FDD6B5188AFFB3FA07ED6F44019D4A48A552915A341A4BE8EE5A2312F16AB6ED860CE53C32947D3FBD0CE527560181123ABBE7E8BDD0BAFF9630948FE3F1FF0146BEE5E725E73D2E0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (182,1,'Zabbix_server_2D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001108060000001504A42D0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000B0E4944415468DEE55A6B6C53E7197E8F7D7C8BED90BB7331491C020D0C04084447800C1085B13229A0894AACAB54F8B349ED9F76FD59555AD17EF447ABFE98B4492D2B5AD1DA21AA16414307E57EDD1A5AC6252426019290C4899DBB93F816EF7D3EFB38C7C6C74E224D6CDA271DCE393EEF777B9FE7BD7D418A46A32449D20A22CAA3785BB366CD8FB8FDA1C6660B9BC2619A4F93743A2958516188CCB3FFFF72D3E974D1A9A9A9E07FC35A3A3A3A745D5D5DF2DDBB773F1A1B1BF3198D4632180CC07C627474F47D8965DEE7EB35BE0CA99DAB8C263A140C90631E134FC9063AF49B5FD33F9B6FA652237E8FC65FF93DAA7A1612525A51AD77219FF22D180C925EAF9F99554A5E455499334D4BFD26A574CEF45D66E56EDDB8892E5FFFFE99833FD0DF4BADF76ED1F47444BC9B4C26CACDCD25BBDD4E369B8D0607079B64FE7DA702BECBE522ABD54A77EEDC111D3C3A89BE65C6EC636596BCFB2E4906C3AC260E3E7840BD9F1CA6D1911172392BA8B0B0901E3F7E0CCB981700B391956599162E5C9878BF71E3066D58DF409D9D9D14662F940AE29CBC5996BE151515949393239E2F5EBE2CEE8AD29F651BF20D24AD63C3860D622FC002C6C1583F070258F0112035363652737373A2035CC57024027322C96CCE4A00DBF6ED24979450477D7DA2FFB1A347E9C08103624228C9E7F3A5ED8BF9972E5D4AD7AF5F1780A56B353535545E5E4EF7EFDF172C069B1F3D7A44656565C4EE8C8687870589E1E69EF4F4888D7A3C1E5AB76E1DB10BD45C37BEF7B07C777777DAEF168B056191262626E8DEBD7BB46CD932315E5D5D1D0D0C0C88B931675E5E1E935C2F48F8A4AB9D644B8EDA9FA5F182B14729ED67299D7452A7B4B48CF70D4DF829140EA68626E2D04E939393C4214AD80F083089A78686066A6969116E42B12800188877F6BCF55666F077ECA0FCFDFBE9F1CE9D146C6B832F14EE106384422171C1BB68816B6682A12D58B040534671E9006AF9F2E514617202E4152B56505151910043AD07000330B0278C9BA9819C5A320017E320ACF4F5F5D1DAB56BA9BDBD9D56AF5E2D48A952A8B030ACABC851464E576D1C2849859B1ABCF4CF2693999CE5A5622C8036C4C4F60D0EC5C8243DED9540D017366FA2B1B17111013BBB9FD0F933A769D0E74DDA07307DF8F021555757531B3062EC418029C595E28245A90910CCE07E13E0B1229C9F7F4E4F5E7D9526AE5C99F1203C868981E5E44310000BC573DAB0110C2636E3F7FBD3CA608CB9B86D1000771000E4D10A25000FF3AA4394BA8190D3D3D3B39C97620460422EA9AD49022ADDB3A4B276E5399F89585C5C28D61C980A50A0AC947A3DFD2AC720259EF164301A28C2EB2B7594D0542040BEA1618EF1D6A435633E800E63811EB0275E671004F8235F2FF10F5B20E876BBD14B6750AC3792399619AAAAA8EAE4491A78E71D1A3D762C9971DCDFC8D7D5AB57A9B2B252904A0B44FC0EC561D35A320A31E0F2311680733A9DD4DFDF2FC006891256CC1BE6BD0860312694A1E55960C1E8978960980B9E00F11E24C6BC580FBC0ED65DC2A14F3173C4DD5247311360510254296DD22AA50555D6CB3C9741009563B65090D765B7DB9292DD544FA297F5718FA1A79AAA85F45D8E25890020378743FFAA55ABAC18973DD9710E991FC8FCF227EED810573E7A34B1725F540810CE40007D7E3E553535D1C8679F91EFC30F9FFA0E907217E491C56C6246170B052BAE524BC95887960C368831B02EB860A5C1AD29ED0127A04B962CA11C06DEC96061E3001E572010D0F43E5096D677450663E18E3C006B402EA234E41F88AF1847E6F0D7DA729FDC6D6ED20CD3DA3E84E6D1E9A9CFC26BA9B083EE787F17F8FE535EA38EC9CCBC9F3C2F2B02503CFF18158941DCFD0B0268588DC46EB5F2CB2F29C01543DF9B6F6A2ECCC8406004F7A3C7E29252337CD573CFB7673366FC02601E435502A49604FC4F2FB5B4B69189F38D4084F9CCD75727BF4E9929F9B5BBB78FB205BA2E9649BFEA99D7AE9E5E76C726A137D9687BA615806CC4D623491E80C15FC246AE838E957027AB19C38918B2AC9F29E08308E174993FB3A9E2F0618C4ADDAFBCF23410AA16989CA045AE1A61D5D1E8F49CA89C5A7E652BC7D4711C565A535925AC3A560AFDE7E64502AB24A8ED1D0F05897D033DA4DD6D1E25698A8E753C5F5E81836C561399395C2CEE6C23EB74889A5CCF93B7B28E6C9E4EDEF7D9A43D70E5549B1A62933C008418F444FCC7154993FC38DE7B8FCC2B57D243AE2BA3195CBA88DBE3E35CBA95D1AD5BB744998758ADD51C0E078D8C8C688600C4E07C0E3B00756868483CA3AC44C2857171B88172122562F377CD5C962DA0D6D65691F8C0456B35F4471EA0957C42699081E2906FE059991FF9002A88D2D25271F7C473028A86E9A5BD7B393770D01D2E1975AC5B948F1E4F1FDDBCF93D6DDFB19D421C4EBE3A7E2291184BAA132BB5274C47C0F1F1783E545A423273FE173FB45179D04F27EAF792FB855F91F3EAF1A433001806F01489A52AD4C93C7821DF7395044C392AD44A020B5E7F9DF25E7E993AD6AFA7C8E06056E2222602248C0B0B45D9A6D55632A90014949BAEA1CE86A2518A418E131ABA74E912EDDBB74F8083F88CDF418050282812347831BCABF384D40662A2B4D49A5701186383C83813B876ED1AEDD9B347FC3ECE2407012187E42C76BCAE232B13D2E9ACA05E5E2FD6876728DF6AB3938389110E8744F2E9F74F50EA91A594B07A29CDD18194D52B4503534F2581C057A986F8BD9A89BC0D1EE0B77CED420880904200250F10E5617CFEDCDDBBC971F0203DDABA9542F172315B33724C8455637C00082BD5F4166C81B06028548B4C1A67EFA2D4C39AD5568379B17E2839D3BC38E0292828C0D1A8A64C244D328C793127EE336E351AB75E8989EAE1DFC35C5AE3E44D664F708F49E9A501AF8F4B32B7D0C920976C5BB6FC84F2F3F2E95F77EE929DCB3797AB9A7A39E770BBDB69E3C6F5A2143C73F602AF21AC224432017E57534F7A294AE60757E8C71F5FA4902F483D294920C05774545555F53C27D2DBF136AE6C101FA148B50790F837F0B3982DBEE2C8110A339B8BDF7E3B33FBD812DDFB7E192F0563870F209672D8A3D5E08633C92899BAE2A9607590078038C9C31E6085B0786C1856ADC467E5404AABFA003933FE6D836500B4397EAE81F94154AFD72B3C0F08243C005BBE5209D4D6D6D296CD9BE958F40B8A8423B46777235DBE728586474669078700F46B6975535DDD73B4A1BE9E42E15885B3BBB191CE9D3FCFDF43F4F35D2F0A0FFAC3ADDBD4EF1D54011ACB7546792C8341471F54DCA04AC338352C5D4CFF78CD4D25BF2FA7E8B968027C8C0B6CB107AC0F7726EA54E22008CA83E2B66DDB26EAE7D82664CE268DE4E701CAB8EEF5BCF1C6ECF21555E580493D6C5938B655AC46CB92953094A941069B010038D8C0A916123EA5011C1C174306A0297365729990C9E6522183B58128C82B70AE819253ED4562248A26CAC58F3EFE843E3DF257E1E2D1FF9BD36738EE87688C89D3C663A0C103A0A43DF4E7BF247290935F7F23FA63CCBBBC377894A1A1E194C43446008F7744DCF7D3A698C7E5EA78E3895A1A1A1CA03EEA4EEC9D2D5E9C9E0263E431F1134B3F087023560484658084F88A09150F6063ABCCE7F7D1A347E75887C4AA07B3D546D5358B621B6B3A95B18B67C09B7558CF858B59654EFDFD3459B80C743011C4BCA7B2CCEB9DC5BCB39161AB0D8545394D450E67E277AB7DC6AB19D8831498ED333955914525679A099D66135FF65885C9DCCC2F2C9D93FAEDB9F98C9F51E442E23899F31B84381807C8C8EFC3FCFE3729FEFF010E32F8BBD865D93871F273B2662E2929596C3699A2857979E15A976BCE7FD4C7FF0730DAED16265694FECF9A9E158E539667BD8EDBB76FCBEC2579393A1D5BFD39C67A9C71C6E11F47D2C0171E8FE7D37F03AC928066A5577C080000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (183,1,'Zabbix_server_2D_(64)',decode('89504E470D0A1A0A0000000D4948445200000040000000090806000000823E2A7A0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000004714944415448C7A5564B6F1B5514FE663CF1D84EE247C68FD8CE3BCEAB20FE410A124282055291C20A894DC5AEEAAE2B965D7449575D54A4ADCA6351D125484845025510014D1044564A42541287384E1CC7EFF17B38E78EC70F5A36E971AE73E7CCBDE79EF39DEF9C6B09C07B345E77B95CEE37E617573EA8E8F83F492C2D299B6EEF40AF4E923BB3EEB724F5EDB31E9B8D2660883F538C56DF3AC37AD3B7C69C05029A512C940FF192F2E497356D6B6BEBB1C7E3A90E0D0D7DC7AEEDC562B18952A98493E363DC256FDFBE7103D240374ED9E1406D6F0F77BEFE063F8E8FC166B35150DD20555545B55A255F0D31F8BDA22862DE6AB5C4FB114D433C1E87CFEBED736880CEE175CD66B30D9684C1C141618FE76C27180CE2D95E82C621012E9D3BF8622E8BBFB6E3989E9EC6C4C40432994C42611F161616B0B9B90987D38933723875ED5A377B144CF8F66D64EFDD833D348A542A8599991930609644A3511C1C1C748270921D62140861A4D3698C8D8D091DEF8D4622C8E5729DBD6EB71BB55A0DBAAE7700989F9F17F62A950A666767855DC63B3C1EC5883F20D6584C93DAC34E408E8E8650AFD7707C9CEEBCB3C9325E7B7509D95C019FDF596D93CA10A0921F4D06E02165E90A1DA86B9AE66CD0A1BD12BC7E1D67B76EA1914CC21E8EE2F4F41473737322CB9670B6386B16288D464304CC6B39B83D620F239ECFE745F09C756686B596C12A97CB1D7BACE3E039F0DDDD5D905F6851B984463404FD3EB3D0A43600FCA1B942FEB814190D898018F1B4EBCE7C572D1561D4ABE4B3C91E4AC41981E323FF1E32004F68B448F10F391D6BB4B3C8E2BB7C19FAC606F4F575F1AC90B560388283E451A7B0F93B5B283E47B77436DB65117D8E4F331827100A65CAB4D4ED33D96211FF25F5AF7466EFDED4491A5E2A9D677F1F8A715ED1F59A59D2B29CA77F5E2AAFA74A9B1232D5698CB3D6AA998B5C172FC21608E06C75B5CF88D3A142F3F9886AF58E8E1A8AC8A0A56376844221A1B37A003FFFB4B6865030D0A13BCBF0F0B06050AD7D2ED336426552246098AA76BB1DE17018F1A77F221AF25249CC8875C9A323BC72E1021E3CF84AB0E545222B764C8E87F1F11FDFE2FD8F3E85FEE527424F36270904B357D1F35BAC640A0B00C8393B3509CFCA0A9257AF3E673443B40E53300E6A8CBD41B0A3BD8E70FDF333D39E7B06CF935446DC03787DEFDEDEF2B1002D140A62CFD4D49428096689934A85078BC3E1824AC98851397ABC1E51026962D9E4C438BEFFE131016FA04EB7CE00F9F528320DF7D1235474B3F7706365A0E9EC7718802156705D0B3610F2EE4B9704C5476FDEEC8FFEB32F84335C9B9C5DA37D4559DD9A9DB684B3C8996660B6B7B7E1F7FB45A6AD7D560FE03983D9BB97ED339BD8EECECE0E5D8101A1CFE70BD4B9B3D40F0C5A5FC429CD25C94667A890E93E661F540725914C73F0B26CA39E43E7693264E7EFA437415E5C5C34D7AA6A83817D777979F93E39270DAAEAD09B25BD1C6CB61A2FA2D4C9C29CFA9B24A9E4FCB9EEA2268167539473D56FC0EF6F55F47AE2657E03A45247EAC6FACF7E02344137536B7F7FFFC37F01620C060E2E1A38D80000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (184,1,'Zabbix_server_2D_(96)',decode('89504E470D0A1A0A0000000D49484452000000600000000D080600000056F26BBC0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A0000076D4944415458C3D558594C5C5518FEEE3030C02C6C1D9642A12DD0AA5DA818DA9AB656EAD2D43ED9C468627C3146637CB0F5C1178D894B7CF2C987AAF1C5E88389515FAA36EE0BB515DB22A552EAD0420728200303CC0CCCC2CC5CFFEF30779CE56231B10F9E7098CB9DB3FCE7FBBE7F3968003648BF47BA261DFBF6DD75B4C566ABBFC362D1B1CAE66FDBEE08689A86FF592B2828D092BA1E8A86A38B37739F6432815FBBBB9D7EFFCCF4D0D0D057A5A5A590AE0B6427085AB7F49D56AB9506211A8DA2489EDFD375DCEE70C05251F18F8B276666F0EE3DF7A127300F5B51D10D4CD1337EAFAEF9FE9C82BBA626FDB796F7B072BBD190A5441275B50D181D9BBCA9444F5CF762F08FDFD5F3DAB56B61B3D9505C5C0C5DD7FBADF2AE915F1C39720457AE5C414F4F0FAC02A42799C4BE830751FEF8E3A68B1636354193858677ED4242C60666FD58B3660D9C4E2782C160DEF8FAFA7A8C8F8F73D3ACF70E21B9ACAC0C939393282F2FC7E2E2222806BE6B6868C089CF3E43A9AD087373736A6D0A24CB8EC242548848A6A6A6F2F62C93F578D8191149494909E8A449B1B5AEAE0ED5D5D5F8F9975F3036368A29DFF4BF43344305DA8D9897E38642812C1CB66FDF8EEE6EEA1E2E1210E641979696D2838A8480683C8EF98F3E523DB75985C5A69327312AA4C57D3E148AE74C4F4FAB835555552910CD08201099FBB01198F5EBD72BF2B76EDD8ADEDE5EECDDBB5791B84C9606AFD7AB94E372B9E0F7FB73C3889ACFB5731B092591B48D6E4F623996642E83A3C362B160EBED7728D0146E9A01AA86E5A09AFDD92076582C9A5A6B52BC33228230A2AFF179CBA61654C8BE14C7773FFE84EF4E7E9EB689FB85422165979C314C02BCD29B4419168FC7A30E44D5C475F3406111C5367EFA29268F1E457460605985620CBD6061614181C4C3E6362AB7B2B2D2D43BD2E12C91509F048C20353636CA410B303931A58825A09148245F7072701E28975CAA3D776D7A0A01E05ABA80EA7094A2BD6D5B168066C01B9FF5223212A00990B5D56EC464CFF4BC148B76397F6D4DB53AEBAD9B5AF1ED177FDB41A16DDCB811F1783C1C08047EB38ACA3A455D2101BE540CF3882237D30396C403F20E2AE4347CF821FCC78F63E1FBEFFF0E030292DD6E17771EC3EEDDBB9507E5457F2194C4E6861012CE46EF191919C90A27B3B3B32AAF10581E86EBFED3DAB97500FFA65219E6B86F41CA53D9E6E7E7557CB0CABBFE0BBD39F3CC72C832B87D596FB4FCC893FAE574395524084BD733842018F78A1D6DB1586C617878F811ABA10EBA060522075104C473D4C456FBE69B889C3F8FB9F7DFCF0E4916F19A52BB5AE3E4D7DF64A5592DE5D2970707536FB5B4FB1BADAFFF529602D3EDEA1022E145D44A888C49C2FCA1EB543E4A5C5B549593E76F18973DB2B6B3CC851ABBEBA627E1CC6022181513273D950C1501E20EAA2493BECF5059228780AAE79E834592E0C433CF986EE254B1BC09E170D8207375F96C85EA95E18A5ED575EA14DA2469F924D750CDFFA6DA351B4BDB988F9689EFC7C4F81896228B2A6CF8C43BDC6EB70A511C5722958A6F6675093A290271555463DD5A375CC1591C1CEEC5CB079EC64C5D3312177E4DDB2367BA85E730C2A3E1013A37A41B1B3D9300D7830FC279F830BC870EAD68C0D0F09084915A75808B172FE67DBF73E74E480D9C0E0169E284D43D7BF6E0F4E9D3E8E8E8C0B973E7D0DADAAAF2890A57229401C9352484A1C86CFE8E1D3BD0D5D595B7E7B66DDB5448BB74E992AAD08C904732B9079F23E1281E7EF8211CE8BC1BC7DF7A074F3DF984AC754A12A815EDEDED78E5D5D7D5F8EC68A3E53DC562513135898AF232D86341DC191C47D45D0F7F4B1B6CA9FC438C8D729F4D7265A35558794B1EECFC82C0A73D20156B4B0438F78B2FE2DABDF7428FC55624807318F35851B1D23053DEBA75EB543C365329E7B26A20F0048B80D39BB82E730193EC860D1B4CE7D353CCF6E45C2A8D1ECECE33D206A3106010E0FCC1C12B424418DE91517CF9D5D7181D1D93B185B2EF9C901EC7E1070E614C4A68AE5729849E3FFF1B76EDEAC0B56B5E0C5CF6A868A85912E99C302FE3DE68EE4085E773144F7C83E194DA8901C1679762C5DDD2D2F20A3D202E1EA0D138AA975F2AC3494673331A4F9C802E4A5C9F917433DBECDB6F03C10521AF187D7D7D4A5966958A51DF9B7D4765B32E672949E0AF5FBFAEC6116CDAC2E4CECA8AD5C34AF309742C472024936BD04B8C3C472F64F8E545482503F961854502073C834A40D1680C0532B649EE3A956B06D0DCD2ACAA1E566424D0EB1DC126A96E486AFFC01F6A0D15528409DFB41FB76112F7D78FE0DBF605F8368790FC60D903787EAEC94FDA223D44CA5E10D05F3B76EC185886B212A1411B03013C7BF6ECAAE2DF278F3E868FFB2FAA1BB41143732F5C3C303735BB2350DD042B9E5379D1D05929470B340B1C5255104C8E33ABF7A96AA3D4CCF400DE33962B9EEC46AF09C89CDA1ADE84C7FF93646B2B2E35CD3B3D67BB100A065489BE7FFF7E6CD9B20567CE9CE1C5F4258E6E95FE6E6767E716B98D2E8AD2AACA1D0E5B8BCD16692EB14756B3F1C2E6D6F26022F9BFFB5F1009D6F9BFA048347433F7E9EBBB60BF7AF56A89DC1FE6C55B7F174F7609D697E5AEF3FC5FD16E43B3BBFA54DB0000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (185,1,'Zabbix_server_3D_(128)',decode('89504E470D0A1A0A0000000D49484452000000800000001B0806000000B49F874B0000000473424954080808087C086488000000097048597300000DD700000DD70142289B780000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A00000C784944415468DEED5A696C54D7153E6F566F83376C63076C0642C0E01065231092B0440AA22C6D54552849DB1F49831A55517F24AA9AFEEF8F44CA8F546A7E343FA2A296464A5115829DB0C440EA382840C00B310662C7C666BCEF9ED59EE9F7DD9937BCD99D146220B9F2D57BF3DE9D7BCF3DE73BDF39E78EB5502824F3DD344D2BC66507FA2EF46DE80EB9F3DA18FA11F45AF48FA1F7815B41286DBE0060B7DB570583C1DD11A36F4037DF88796F0540CF454CF4D390B5D66C36D7050281B3A17912FC7B0300BCDC929797F738AEBB2246BF7B5E347F6B02A41F72D5413775369BEDC8F0F0F0C41D0180C2C2C20278FAF688C1792DB81D3C759E650BA037100CB3B3B3B54343436DB71500EE4683E0CACB31373DDE72A751F9F72C5B27D9C16432D54297C73B3B3BBDB71400209479CD9A351B10CF756AAFFE81D3F9CD94CB8DB9EBC90E168BA5B6B5B5B57B5E00F0D8638F397C3EDF367C975EFE133C5AF8A3A7CE8B6CADE8CC1D6AF3F3F31B8F1F3F3E73D300B071E3C62A2670A0221A7D331ED97E34C22D255BB4CC043B7CF4E9A79F0EFE5F0080B1B5A79E7A6A5D84D669F4B53F1AE2B6912B887E86CC80D05C0B66F83255999914007BF7EEDD999D9D7D20180CD9BEAB80600A41D98782F7B6A8CB6FB475647272F296386C40422E1EB73BD0D5D5F5EC891327CE185E7B60FB7E0D37BF40FF1DCF66F437393939658829CE7B3C3EF9632828DF258D0F586DF2DFBD2FCAE5AEAE1F9CFDAB972F93F3CDEDF32EC7F4D4A49C3DF3B94C4E8C933166AC566B108EAD1C13E5B91BED6FB4EDEF19E2F9050C10C40FC10BD5876D3669028276A25B2B2BE9D6735B19E3275D7DD2D3DB2B975B5B25CF9167241D439889476CEC032D81AF24FD7BC393DE9E1E29AF288F3E8B5F2BFE81669C4D4B0887A9C71AC6F3D2D7DF2FAB9639657C626ADE01D071E5A28C8F8DEA1F2DCB962D538C80B0200E87C3065B6F27002AF54D3EF3CC33D203C5D5D7D78B0E882EB31964E191E5CDCD62CECF9FD3C27DAFBE2A936FFD45CC6693F87C5ED9BC79933436364A5555D50DD9182A10999999218A251008880D4065C8713A9D642F75BF6FDF3EA95EB54A9A21776565E50D8BBBD3D3D34A2F5424D7A732CBCBCBA5B8B8583DAF3B7C588DED77752741DDF71B00BC1E77CC13CA79DF7DF7C961C8487B434F0E02C0C3978F3EFAA852A629E2E51CC00DF90201F5F9624141FA989F9B2BCE8606F19C3D2BC36FBE09BC59C58A7EF5EA55F57EE1C28532303020DDDDC94B571A69EBD6ADB27FFF7EF1FBFD49C7AC5BB74E56AF5E2D8865B20AC625951D3B764C7D8F8CD5D1D1C1832805822918AA170C4423151616CAD1A34753CABE67CF1EF9EAABAFA4A5A525E97B844379FAE9A7656A6A4AADBD73E74E79EFBDF7D495CF3C7090BEBE3E59B2648998C003048535CB2EC51595D70942D3A2D7846709F7D057519102196D303939253EE84467A2F025F67E6DCD6A19181C9402C83A383422EDAD4D32D8DF17B30FEA823A59BB76AD5CB97285F379A200282D2D95E1E16105026338980906E792F1C962186E7674545C2FBD147D6CC11C595959CA389C97C65BB06041D229B81EDBC30F3F2CE3E3E349C770AE648D73B2D3D0FA3C54D6C4C48432C6A2458BA4A6A6262DA32C5FBE3C6D664D6324938720E43B32926E3C7E2E80C3AC4028E067CD102334496DC4C89F14611F958B2BC4E3F52A279A00007AAE5D0B071F034AF4FBDCEC1CA95AB2589C554BB017BF2C7038C4D5F535F61EBB1F82956C495DD1D1B15F2F01C0603502A18BA8B4D3A74F470DC2EE4FB2F1F856F6FAEB62874776AC5F2FA10880C27358D482636363CAAB531950258DF81E15C731A900E0F5263F0565C64D2F24C330CE9101A81BAECBA4C78C30C6BD040CB2C5CF5B9081E192AD4DE08C8C8CA8B5A950C5009A49EDA3B8A858562C772618EBFABDCE08897986232F574AC098D41965CFC3E76CEACE906B1819C58CB5CBCB4A19D7959C3D76177490ADC06FCC632E5CB8209B366D52CFE1EC5FC3313B098027D0F703C17B38080F87705D48EFA7D2A2C84ED10A5F78410A9F7F5E3A1E79443180B15918060080F7DF7F5FD6031C5A8698C8B5B8E174EF75B622DDF333632FE95BDF2C430CC383BE61EE8354CD79530120D3BAFA181A99DED3805057565626AD4870F575F9FD92929228034C8C8D48C7A58B49F79C98DC6A316F4D34AE29FC8CF764A6A8376BC9925F914B6DAD0049B6F8B147026778A01FDF0BC694E5B06D37E4ACE47CD0C50597CBF5730B3E0429248586B2A8E17FE3FA5B9D01D2012077F36659F4D65BD2BD6387F81153929D0568115A37C310E79B9A1268D6A8A02FC03E21C3218716A73252E2674826F99E5D8B182D6090710861ACF1F353887759B27EC306357FE3A95331DE10DFBA90A77423F94D37A61520538993255C145B99801AD87116327C79FEBC8C8E8C2AD6F1228D696E99C752D04406988DB10574760E7B588C7D46CB398B11E15672B6C816DDF82A07B0243F05B0AD58214B0E1C10D7CB2FCBF4C99329E5282A2D133F90E8F7FAC0A33E754892785C9170897DA7432114FF3694C2A742620705BAB91EEB618F37E1384A8B9FDA38572876D690164A2A7232D7CECE7328655BAD3699EF161F0260D3C7C10026A3135A8C494EA40258A91B9F3D1849AA8CCD8C24A5EAD021197DE71D197BF7DDB44258E1A59B1EDF24972F5F8EF1FE84DA3A4D7898EB5826728CFF6C070F1E94279F7C523A3B3B63A8FF66ACCBF2564F6EEB3E0E9781AE9EAF952CD4A59E3F30BF0944283A1755530806727B3CDFD9B865154E292AC811BBCD22BB5A1BA438E0953F6FF8A55C58B7434ADABF9060637D0C0360CD225E29831EF22CF1314E37BECE02B371B4A8E1193DDF8BF8D7FFDA6B1905ED8201AE2EAD52091A6B500221556329CAD8CE922A596392C3399824D2B02B57AE9473E7CEC9FDF7DFAFCA1B761A82F199F75C8B95CD030F3CA0F281548DE5E53564D93C0349D648E90F3EF8A03224CF155851F05A5D5D2D8328BD282FF55784D28D18A17198FCBEF89B17E4DE7B6B503A9E54CFB66CD9ACF2862F4E9F91E79E7B56DC2855F7EDFB87F4AA0C7F4E3FDD1832FAF051734141BE58CC2659E919910AFFB484721C32EAAC91DC9E2B0A6046F0D2BE34BCB1CCB6E0C523B82ED613210AAE1B5FE500715540F9DB6F8B094AEE46622573F8A1C46AB3AA728CDE4F0FA092D2359655A9C6E85504B36E3DC32760081CD6FFDCC3D0D0504219C8FA37DDBA1C4B8F4C35863AA1FC9C9F40A6677FF3CD37F2D0430FA9330202830744FA5C3AF50E4296B68B1701D80955315C6C6F9731DC0F0DA34EC7BD4ABAF15DCD64CE68F0C457B1A7B25DF67C719BC0D65EB7385C1D621D71C584001A9F8E4D1B732FD843754545C55E32007FCFDFA887002ACB18024C4C68A87CF4E2575E91BCEDDBA5031E1374BBE7845956012CD3A83C1A305DA2454552D9A9C67832D025156A89E42CBCE7BAFA9ED2ADCB79D38DA15CE9BECFB5744AD522593B8DAAEB916E62C3FC4AB65018C8DC67C01F60CE2F3FDBBD534A4A4BA4A9A94581FA9E7B5628066B6BBB245BB73C01F9BCF2C1877531FB8F0F4747973AC5AEC186D367C5D9D220724D129240CA184906C9922B50152CA3B6DC7A08A08014CC1802080062BB64F76E59F4C61BAAD45B5A5F9FD1F0AD35F746CF1348C5F41A2A39552DCFC603A34C63E8491CC3BA9D1ECE92908AA1C268243288EE3D0C13FA3900019EAA0CE4BA9C2FDDBA7CC77978A24960F14AAF6708D0CB512303984D6625CBD2AAA5E2BAD6A74EF278CF839AECEC1C295F542E4118620118C40146E5BBAB577B95819622A7E0DCB9B93972D7E2BBC4E3F6A8B9BC3E7FC2EF1123A83AEC60D9578A2E49B9C52DBFBABB4A2EFFBA4B8AFE5A2AC183C1A84CD403C3A3CE005C0772AA93C0693D09249D6DDBB64DD153A42A103394ED669908C377EDD8F1AD931596635C9C14AB9FA7CFA6385CA28138365DE9C9779C830661FDCF4D35A1BCD41B0F66080ABBDD86B9B262EAFB54F3EA072EE9D6A56C3ABB309FA041DADAAEFFBF264392025F24D63274FE7DDF3FF19DF0F903A3E5E12347B1F7A0FADCDE7E290A683A08C7F9FD61801EAAAD435939ABCADBA6E6165576F87CB1C7E366735896B10982D62B7F9075E117DD28BBEB9D323E362CBDD2190500F3A2356BD6281B338C45F634C9594E500E6CDECE0D3011D27F602100ECF0B262C6D3CF3EFB963F0787AB0796450C032A33C7C6D2B501C4C64CED931327338EA93B7C44B2C038F434B60F3E3C94767CFFE0909C6B6ACE30A621E3BA478E7D2241188B7A2B2EA9B89E44A6F94E8EE187D2ECDCB98D9B4B73380AE004D9004EF89472140ECCCEDF5CC850B81F4232FD2FF50F2140C89F40D13F4519E580074D010879404C35A83644AA733A9DDFFABF3A883A7CDF343387A3E43BAD51E1F0EC50E65CFEE636324B84A53484CB7330787BC4B167C1A0FF418574E07FBF14493B4AEB31620000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (186,1,'Zabbix_server_3D_(64)',decode('89504E470D0A1A0A0000000D49484452000000400000000D080600000019AF686C0000000473424954080808087C0864880000000970485973000006EC000006EC011E7538350000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000005034944415448C7BD564B6F135714FEE6618F1D13BF13A7499C383606F1508822405D145880845A8490BA824D77DDB22842EAA61BC40F615BB56CCAA2295D54828656904A84145854A8A94AEC90A71DC793C48F997EE7C6766340D024851B1DCDCCF5BDE79EF39DEF3B379AEBBAD8E9D0346D848F4F68E7681FD274BC9F91A7FD401BA3FDC81C96769CC37600E8E9E909D46AB533DC738EC94BE27DDB396C3760BFC19743BBCFEF31C330C61617171FF0DDF9DF00D8CB619AE639499A9F2769D62E827DA7A371CE128B73DB719C31AFD77BFBC99327F96D0170F8F0616F6767E7493A5155E6EFFBDE61B0EFC3D7A4B043D7F5B16AB53A3E3131516D038016A20DA6D3E9EE8F8E1DBF11D4F46EBAF4B49C6F59ACEFD903B7C3BFCB6077A855FE954AA5ED9CF41A1FA82E2D1716EF8DDFFDC2B6ED6228147A2C008CF9FDFEB3A4398C4A15DF562BD87BFA3460186D9B1DDBC6CD62093F25FBB1B1B1211DF0ED87371E96CF82C7E345B15884691AADD0B4B7242CC3C3B87C7EBF9A995F2CED0AFCF2EA2A7E9FBC8F60B013B1580C64C52FD2B5474F9C3881783C8E759EF9D4B2E03041777DBD65A18B17618442CAC96C6E06B148183E8FD9B203FBB2E8B0BCADEFAE681499540A07F6EFC307896E0CF6F763F8D0412CCDCF211E89C02749D12C5AB2B757CD598DEF0E9E7F6C741489AE38BA6251A48752C866D270DC3A4AE515549D1AAA7CAFA28E1AADAE39A8EB2E5C5343381E41281A56EF62307518968943C307914A0FA2509847A5B28128E31B1E1E8665592993394DD03ECEE7F3E8E8E840B552817DE74E0BB5CEF3E7618F8FA374EB167CA34761DBAB10B6ECA11CB66A509CAE132C19F23BFB8720ACAC394AAC80B0873DA6A55B59170C06DB74CC0646021A6D6B88004E9D3A89E4C0C0E677635E19FF8459D16804F57A9D891637D7689B3C8AC76358636C93BF3D50FB72B95C7D6464C42897CBF70480AF19E4596EFC8300ECAF6E09C47FFC387C478E60FEFA75F56DD0616730848542011B8D6445D44BA4B6C3837945B60213DAAE95ED7F7DF13B1289619573C595924A4ECC309755B21591551328AE11BACA783E938397ACF0B338530F1F91C2532FC9477BB396B6AC2DAF969BF1FDC5C71081FECE6C20AE3388FDC2807A23096F26A3A83F7BE54A9B339FE899097AFC9BCD506385BD1E8F4ADE61427AA33A9270C0E75349F23A42381C61135BE15A5384DDDAEBE15EA99ACC37F74A1C3EEF661F96DE11A14472B32FE0B73CE8EDED51F3CB85650C0E2471E7EEBD16F02F0FD3B4D0DF97C0674F7FC6979F7E05FB79AEC9D0B4802E26911C958A05020115B4E8DF603F885FBD8AFCE5CBAFB46DE9C4FD7D7D207D5A731220BB6A6B4E1C2793492C2C2C609595CC66B38AFA85E5650C707EEBDE307B4B85B26B7678914C8AFD637A7A5A2596A1FE05A0D9B97974F5C431941A62137510980BB03F6430FDE7DF64879F67EA58A2FFBEDE3E4C3E9A52C0D76AAE2AD84C20086F79066EB55DA204FAB400909480F9FF8E3ADC595B43E4D225B80CAAFBDAB57648BFB9C9442A4AEBE2A4A951DEAF0ABC660F68CA40129075CF9E3D535D778DBE2579A9BAE8BCB9D747A60880CD21FB9A3D448090BD72A5D8B2DF2E93A5753E6DA5EB3075DFDDD5453669649A8F79643039F5987E2BF46160A564C31D20BB22DFC3758ACABF14446260CC21E1DC05DE02371888C6CE1C3CB3B6E124EA75F73512C25C36AB3DD475CD85FB5F2EEE57464501E7D9D1152620D46A4EFDAD82DF6CCADACB31C8EBDC8B593CB8FFAB9E4824F264E83A0BF3F93FCFA63E489E26E2D60000000049454E44AE426082','hex'));
INSERT INTO images (imageid,imagetype,name,image) VALUES (187,1,'Zabbix_server_3D_(96)',decode('89504E470D0A1A0A0000000D4948445200000060000000140806000000722B38EF0000000473424954080808087C086488000000097048597300000A6100000A6101FCCC4A250000001974455874536F667477617265007777772E696E6B73636170652E6F72679BEE3C1A000008844944415458C3D5585B4C5CD715DD7798E131C0C0F0306060C2CBD8AE05D85679D4B24B8D1CAB6DE234921BCB4AD54AA9FC998FC41FF988A57C58CD67F31545AD1255FDB4A25441AA63BBB65B3F63D3E014830D041BCC6BC002CC63188631F3CC5A8799611E174213E3D847DADCE1DE7BCED97BAFB51FE76AC160503672689AF6022E2F430E417E01499167770420ED903390B3905BC10D7690F6A4D787C30D6969694DB8BE8CB5E9F89AF5CEDD68327C8F310939075BCEBADDEE7F41BFD9671280DCDC5C4B5252D2C110CB7F0DC9FBB13CB68120FA216D004345C7D4D4D4ED27111DDF1B80AD5BB756F87CBE43A1F4D20C313D238E7A5A203E24108C0EC885818101C7860270E4C891A4BEBEBE3DA1D442C76F7F4E1CF534F6F441BEC4B3330683E16C5757D79D2702C0FEFDFBB33D1ECF2FE974FCFB2B48CE73ECA4A739ECE1429E929272F1D2A54B0BEB06E0E8D1A3755EAFF755A497838140A001B78CDFB51BF23F8BEF73E950D8A864A3F6C43A5EF8A7CD6834FE1B60B49E3A75AA330600C84F210742BFA5B1B1E984CD1F483F6058BF4327F6FC4CB50BCFDB48369A2408E73B175C1BBA0FC82CED5FB5896BC1E51E1E1E3A93919121E9E9E9ACE1E7E8E5DB90BAD4D454494E4E96F9F979015AF23730A02137578C9B37AFB9B87774543EFE79B374CC3BC4643289DFEF97FF873C41D17F99BA30AAC6C7C7A5183A783D1E09A885B5C8CC1596C5AEB866CE65B790BC7C1471B917A5BC6C8B0C8F8C6F280063A3833270BF47FD2E2B2B53B685B2C6374C2F05281C72F8F061E9E9E9918E8E0EF5421F98D15C5F2F96D75ED35D34B5A64634BC37B8772F8CD264E2E143B1D96C9203D0D0A2E9754DD2DFDFAF008A1ED6EC6C292A2A12BBDD2E9B366D929999194500EAC0F54E03001F9C4F2F6798CDE272B912802A292991070F1E24EC59585828641BF501E3D4DE148BC522C5C5C572EDC60D191A1A94C94733B10845C12C5A2C7C6BDF5F99AC45A532D7C27CE44DDAB873E74E696B6B63EA4B27008B34606161410844D8288FD72BCE2FBE5092C0CEAA2AB17DFEB90CBFF492F81D60BE31499C4EA7626C361C3A3B9B785EA1D138A0C9E3C78F63EED3D979797972F7EE5DD9B66D9B72E45E804A47733D1AF210E09696964A6666A62C2D2DC51FFCA4A0A04046464674A38873868787C50CF0685F7575B58AF2E5B90644AD417635342C3B5193C8558BF262B8BEF16A2B2956D7B4B45419B58F8B1BF62C4FD322D7EACA72E587B49414B978F9AA5CF8676B4C6D999B9B53CFA7A7A7DD04A007489450DFDEDE5E151A2816E25B258F24E5E448E9A79FCAD81B6F883764B429C9287EE6528040475BADD6C4530C98979F9FAF808E1E4C5BE162B8B8B8B81CB263634AC92A004D7D080041C2812F2182A29985E641776DCEC14956FD3F8A94491DA8271D996E4E935DB535BACED703A1203F6F991800D39A95255E9F6F85FB2110CC58B3A478B3CCC31FDBB754CAF9E04A91BF7FFFBEB20BBABA1C0EC77F8DECE9118E7330D40407DC0653769139E18563D886FBA59F7D2693274F8AFBD6AD1516C349593088E9231C457A00D099AB751B4C09939393CAD10492EF12043A8DFAB090ADB636C1D3EBC2B827E712B8F00847168C17F6192693516EDDBC915828127EEADE4C7827364569D0DB1B53A39001DA6047230070830C7F502D26FE09868C73536165701C9B38367FF289384F9F16676B6BC233634AAA2AA8A7CF9D8B5524A44C775F9FCAE39A8EF65DDDDD2130E2CCC59F2584B83517A0B816E5D295AB116BA38DEAE9BBA7EB9BE01A85B817732CD66CD95450B2E1453810A52CFC9C87B4AB853F6318434C0982711A644F040016BEA891FFDE7B12007BA63FF8407713736A8A545556AA1CBF1A5357F978A77B3F07A98E05F4F2E5CB525B5B2B8F1E3D8A74463F646DEAC69AC7F175C76D19B78F8821E0152BF61B1C1C92F2F23215C98C400BEAC703DC5BDF79C22F9959F952662B14B363567EDBFF959C38F0A6D82B774AA0F358441F64982AEA10034038BC99FBC312880220EBF5D7C5DCD42423870EADAAC0080A5D11BA0EE6F93B77124FE20D28742CB07464F46077B26FDF3EB972E50ACE208D72F3E64DA9ABAB53A982B99A7A723DE67882AB377FF7EEDD72EDDAB5843D77ECD8A180ECECEC54859AA98AC598AD2D8BB101CD83CFE393577FF38ABCF8E201F9E8A3BFC8B1637F94EBD7BF54003434D4CBC93FBD2F13139331F1A547018F67496500A6E264B7536A17A7C497952773B6ED9216AA5BF4319B0E0AEC322035FEC40854FE0AA5ACBC193E0B50FC10C56C7424B96FBF2D432D2D125CA500AA8E03A0B188B2D361AFABC73C763264B5EE7902298FFBB3CBA1D3D825B070920C6C2399C7CBCBCB75E71304BD3D6907010C314E3190B5863546E904571AD009F5F70FC81208670730E72F5C44A1B62B2739D02DF97C417905C4B3DBC7543DCACFCB95F6AF3BA4A9B15E454C774FEF3228067F24E25CC926F97375BD9887CFCB36C77F6430B0020081A5C08E3CE8F20E23C0CD62C50DC992B0E2010251512136E4FB209C53D1DEAEEBB8990F3F149975C051A98AA9ECF7E37B750E1A4D03F49E79603C19CE224C47B3A524DBD9429AA00719CBDF74F26AF309A0272E6D723F763B048DCF6938BB10824160355461FECE462D28467B999D6D556787E5D6525307C0AC2C0B5256319A12AF02ABD4562AF700D80BB85297AE3BDD9182CFB676727A5AB60426E460C1985CDDE196A99A7909FC3D1069B96943F8D30DF67611B27771E3FDE3C78F4B1F0A258D576C4397F05654A7B3D6F8C7EF7E2FADDFF4A86E281F8E6424C47F4BA1C16400591D3FE8DCC7B81FDF79A94E08670A3FEE5B2C59EABDD5E6D319F1DF7468302332CCF8E8A1EE2FBAA4501561FB1329B629A966DDBAF3BFF6EBB2E0742832343737ABD4C8548BF6FA04DFDE02F9B8A5A5653B98B608638AAC9999A6325372A0323DC3BF9E8DDD5515C9CE1FE103E40FFDFC47804194C0D292C71FBF6630BA25FBEECDB5B55EEAE9EE36DCBBD7A7A1E5F5A0AE5DAFACACB420ADF6A2CD7EE75B1EBAEF8F483150520000000049454E44AE426082','hex'));
START TRANSACTION;
INSERT INTO role (roleid,name,type,readonly) VALUES ('1','User role','1','0'),
('2','Admin role','2','0'),
('3','Super admin role','3','1'),
('4','Guest role','1','0');
INSERT INTO ugset (ugsetid,hash) VALUES ('1','b21d61561974b06cbeb97a71ca880e92f0fc06d49ac3246280afb88dfa6050a6');
INSERT INTO users (userid,username,name,surname,passwd,url,autologin,autologout,refresh,rows_per_page,roleid) VALUES ('1','Admin','Zabbix','Administrator','$2y$10$92nDno4n0Zm7Ej7Jfsz8WukBfgSS/U0QkIuu8WkJPihXBb2A1UrEK','','1','0','30s','50','3'),
('2','guest','','','$2y$10$89otZrRNmde97rIyzclecuk6LwKAsHN0BcvoOKGjbT.BwMBfm7G06','','0','15m','30s','50','4');
INSERT INTO hstgrp (groupid,name,flags,uuid,type) VALUES ('1','Templates','0','7df96b18c230490a9a0a9e2307226338','1'),
('2','Linux servers','0','dc579cd7a1a34222933f24f52a68bcd8','0'),
('4','Zabbix servers','0','6f6799aa69e844b4b3918f779f2abf08','0'),
('5','Discovered hosts','0','f2481361f99448eea617b7b1d4765566','0'),
('6','Virtual machines','0','137f19e6e2dc4219b33553b812627bc2','0'),
('7','Hypervisors','0','1b837a3c078647049a0c00c61b4d57b5','0'),
('9','Templates/Network devices','0','36bff6c29af64692839d077febfc7079','1'),
('10','Templates/Operating systems','0','846977d1dfed4968bc5f8bdb363285bc','1'),
('11','Templates/Server hardware','0','e960332b3f6c46a1956486d4f3f99fce','1'),
('12','Templates/Applications','0','a571c0d144b14fd4a87a9d9b2aa9fcd6','1'),
('13','Templates/Databases','0','748ad4d098d447d492bb935c907f652f','1'),
('14','Templates/Virtualization','0','02e4df4f20b848e79267641790f241da','1'),
('15','Templates/Telephony','0','1d12408342854fd5a4436dd6d5d1bd4a','1'),
('16','Templates/SAN','0','7c2cb727f85b492d88cd56e17127c64d','1'),
('17','Templates/Video surveillance','0','d37f71c7e3f7469bab645852a69a2018','1'),
('18','Templates/Power','0','3dcd5bbe90534f9e8eb5c2d53756af63','1'),
('19','Applications','0','a571c0d144b14fd4a87a9d9b2aa9fcd6','0'),
('20','Databases','0','748ad4d098d447d492bb935c907f652f','0'),
('21','Templates/Cloud','0','c2c162144c2d4c5491c8801193af4945','1');
INSERT INTO drules (druleid,proxyid,name,iprange,delay,status,concurrency_max) VALUES ('2',NULL,'Local network','192.168.0.1-254','1h','1','0');
INSERT INTO dchecks (dcheckid,druleid,type,key_,snmp_community,ports,snmpv3_securityname,snmpv3_securitylevel,snmpv3_authpassphrase,snmpv3_privpassphrase,uniq,snmpv3_authprotocol,snmpv3_privprotocol,snmpv3_contextname,host_source,name_source,allow_redirect) VALUES ('2','2','9','system.uname','','10050','','0','','','0','0','0','','1','0','0');
INSERT INTO media_type (mediatypeid,type,name,smtp_server,smtp_helo,smtp_email,exec_path,gsm_modem,username,passwd,smtp_port,smtp_security,smtp_verify_peer,smtp_verify_host,smtp_authentication,maxsessions,maxattempts,attempt_interval,message_format,script,timeout,process_tags,show_event_menu,event_menu_url,event_menu_name,description,provider) VALUES ('1','0','Email','mail.example.com','example.com','zabbix@example.com','','','','','25','0','0','0','0','1','3','10s','0','','30s','0','0','','','','0'),
('3','2','SMS','','','','','/dev/ttyS0','','','25','0','0','0','0','1','3','10s','1','','30s','0','0','','','','0'),
('4','0','Email (HTML)','mail.example.com','example.com','zabbix@example.com','','','','','25','0','0','0','0','1','3','10s','1','','30s','0','0','','','','0'),
('34','0','Gmail','smtp.gmail.com','example.com','zabbix@example.com','','','','','587','1','0','0','1','1','3','10s','1','','30s','0','0','','','','1'),
('35','0','Gmail relay','smtp-relay.gmail.com','example.com','zabbix@example.com','','','','','587','1','0','0','0','1','3','10s','1','','30s','0','0','','','','2'),
('36','0','Office365','smtp.office365.com','example.com','zabbix@example.com','','','','','587','1','0','0','1','1','3','10s','1','','30s','0','0','','','','3'),
('37','0','Office365 relay','example-com.mail.protection.outlook.com','example.com','zabbix@example.com','','','','','25','1','0','0','0','1','3','10s','1','','30s','0','0','','','','4'),
('70','4','Brevis.one','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var BrevisOne = {
params: [],
addParam: function (name, value) {
BrevisOne.params.push(name + ''='' + encodeURIComponent(value));
},
setProxy: function (HTTPProxy) {
BrevisOne.HTTPProxy = HTTPProxy;
},
setPayload: function (params) {
var parts = params.send_to.split('':''),
defaultValues = {
ring: ''true'',
flash: ''true'',
telauto: ''false''
};
BrevisOne.addParam(''username'', params.username);
BrevisOne.addParam(''password'', params.password);
BrevisOne.addParam(''text'', params.text);
if (parts.length > 1) {
BrevisOne.addParam(''mode'', parts[0]);
BrevisOne.addParam(''to'', parts[1]);
}
else {
BrevisOne.addParam(''to'', parts[0]);
}
Object.keys(defaultValues)
.forEach(function (key) {
if (params[key] && params[key].trim() && params[key].toLowerCase() === defaultValues[key]) {
BrevisOne.addParam(key, defaultValues[key]);
}
});
},
request: function () {
var response,
request = new HttpRequest(),
data = ''?'' + BrevisOne.params.join(''&'');
request.addHeader(''Content-Type: multipart/form-data'');
if (typeof BrevisOne.HTTPProxy !== ''undefined'' && BrevisOne.HTTPProxy !== '''') {
request.setProxy(BrevisOne.HTTPProxy);
}
Zabbix.log(4, ''[ BrevisOne Webhook ] Sending request.'');
response = request.post(params.endpoint + data);
Zabbix.log(4, ''[ BrevisOne Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response) {
message += '': '' + response;
}
throw message + ''. Check debug log for more information.'';
}
}
};
try {
var params = JSON.parse(value);
[''endpoint'', ''password'', ''username'', ''text'', ''send_to''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| !params[field].trim()) {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
if (params.send_to === ''{ALERT.SENDTO}'') {
throw ''Required parameter is not set: "send_to".'';
}
BrevisOne.setProxy(params.HTTPProxy);
BrevisOne.setPayload(params);
BrevisOne.request();
return ''OK'';
}
catch (error) {
Zabbix.log(3, ''[ BrevisOne Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','','0'),
('71','4','Discord','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
var SEVERITY_COLORS = [
''#97AAB3'',
''#7499FF'',
''#FFC859'',
''#FFA059'',
''#E97659'',
''#E45959'',
''#009900''
],
serviceLogName = ''Discord Webhook'',
Logger = new CLogger(serviceLogName),
Discord = CWebhook;
function stringTruncate(str, len) {
return str.length > len ? str.substring(0, len - 3) + ''...'' : str;
}
Discord.prototype.onCheckParams = function () {
CParamValidator.validate({discord_endpoint: {type: ''string'', url: true}, zabbix_url: {type: ''string'', url: true}, alert_message: {type: ''string''},
alert_subject: {type: ''string''}, event_nseverity: {type: ''integer'', default: 1}, user_agent: {type: ''string''}}, this.params);
this.params.discord_endpoint = this.params.discord_endpoint.replace(''/api/'', ''/api/v10/'') + ''?wait=True'';
if (this.params.event_source === ''3'' && this.params.event_value === ''1'') {
this.params.event_nseverity = 4;
}
if (this.params.event_value === ''0'') {
this.params.event_nseverity = 6;
}
if (this.params.event_source === ''0'') {
CParamValidator.validate({event_id: {type: ''integer''}, trigger_id: {type: ''integer''}}, this.params);
}
this.data = {
embeds: [
{
color: parseInt(SEVERITY_COLORS[this.params.event_nseverity].replace(''#'', ''''), 16),
url: CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id),
title: stringTruncate(this.params.alert_subject, 256),
description: stringTruncate(this.params.alert_message, 4096)
}
]
};
};
Discord.prototype.onEvent = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.request.addHeaders({"User-Agent": this.params.user_agent});
const response = this.request.jsonRequest(''POST'', this.params.discord_endpoint, this.data);
if (!response.id) {
const error_message = CParamValidator.isType(response.message, ''string'') ? response.message : ''Unknown error'';
throw error_message + ''. For more details check the Zabbix server log.'';
}
return ''OK'';
};
try {
var hook = new Discord(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','This media type integrates your Zabbix installation with your Discord server using the Zabbix webhook feature.
Discord configuration:
1. Go to `https://discord.com/app` or open the Discord desktop application. Open your *Server Settings* and head to the *Integrations* tab.
2. Press the *Create Webhook* button to create a new webhook.
3. Click on the webhook that has been created and edit the details if needed.
4. After setting up your Discord webhook press "Save Changes". Now you can copy Discord webhook URL now by pressing "Copy Webhook URL" or you can view it later.
Zabbix configuration:
1. Before you can start using Discord webhook, set up the global macro "{$ZABBIX.URL}":
- In the Zabbix web interface, go to "Administration" → "Macros" section in the dropdown menu in the top left corner.
- Set up the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or localhost.
- Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration you might also need to append "/zabbix" to the end of URL. Good examples:
- http://zabbix.com
- https://zabbix.lan/zabbix
- http://server.zabbix.lan/
- http://localhost
- http://127.0.0.1:8080
- Bad examples:
- zabbix.com
- http://zabbix/
2. Create a Zabbix user and add media:
- If you want to create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- In the "Media" tab, add a new media and select "Discord" type from the drop-down list. The "Send to" field must contain the URL of the Discord webhook created before.
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to Discord.
3. Great! You can now start using this media type in actions and receive alerts!
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/discord','0'),
('72','4','Event-Driven Ansible','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Eda = {
params: {},
setParams: function (params) {
var required_params = [
''send_to'',
''event_source'',
''event_value'',
''event_date'',
''event_time''],
integer_fields = [
''event_id'',
''event_nseverity'',
''event_object'',
''event_source'',
''event_value'',
''host_id'',
''trigger_id''];
required_params.forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Eda.params = params;
integer_fields.forEach(function (key) {
if (typeof Eda.params[key] !== ''undefined'') {
if (isNaN(Eda.params[key])) {
throw ''Parameter "'' + key + ''" must be integer. Given value: '' + Eda.params[key];
}
Eda.params[key] = parseInt(Eda.params[key]);
}
});
// Check type of event. Possible values: 0 - Trigger
if (params.event_source != 0) {
throw (''Incorrect "event_source" parameter given: '' + params.event_source
+ ''\\nOnly trigger-based events are supported'');
}
// Check trigger update and trigger resolve events
if (params.event_source == 0 && params.event_value != 1) {
throw (''Incorrect "event_value" parameter given: "'' + params.event_value
+ ''".\\nOnly trigger-based events of problem are supported'');
}
// Check endpoint
Eda.params.endpoint = (Eda.params.endpoint.startsWith(''/''))
? Eda.params.endpoint : ''/'' + Eda.params.endpoint;
// Prepare groups
Eda.params.host_groups = (typeof Eda.params[''host_groups''] !== ''undefined'')
? this.prepareHostgroups(Eda.params.host_groups): []
// Prepare tags
Eda.params.event_tags = (typeof Eda.params[''event_tags''] !== ''undefined'')
? this.transformTags(Eda.params.event_tags): {}
// Prepare timestamp
Eda.params.event_datetime_timestamp = this.getTimestamp(
Eda.params.event_date, Eda.params.event_time)
},
setProxy: function (HTTPProxy) {
Eda.HTTPProxy = HTTPProxy;
},
prepareHostgroups: function (hostgroups) {
var host_groups = [];
hostgroups.split('','').forEach(function (group) {
group = group.trim();
if (group.length > 0) {
host_groups.push(group);
}
});
return host_groups;
},
getTimestamp: function (date, time) {
try {
return Date.parse(date.split(''.'').join(''-'') + ''T'' + time + ''.000Z'') / 1000 + new Date().getTimezoneOffset() * 60;
} catch (_) {}
throw (''Failed to parse event time.'');
},
transformTags: function (event_tags) {
var tags = {};
if (event_tags) {
try {
JSON.parse(event_tags).forEach(function (object) {
var tag = object[''tag''];
tags[tag] = tags[tag] || [];
tags[tag].push(object[''value'']);
});
} catch (error) {
throw ''Event tags format is invalid.'';
}
}
return tags;
},
sendMessage: function () {
var response, request = new HttpRequest();
var url = Eda.params[''send_to''] + Eda.params[''endpoint''];
var data = JSON.stringify(Eda.params);
Zabbix.log(4, ''[ Event-Driven Ansible webhook ] URL: '' + url + '' data: '' + data);
if (typeof Eda.HTTPProxy !== ''undefined'' && Eda.HTTPProxy !== '''') {
request.setProxy(Eda.HTTPProxy);
}
request.addHeader(''Content-Type: application/json'');
response = request.post(url, data);
Zabbix.log(4, ''[ Event-Driven Ansible webhook ] HTTP code: '' + request.getStatus()
+ '' response: '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
}
};
try {
var params = JSON.parse(value);
Eda.setParams(params);
Eda.setProxy(params.HTTPProxy);
Eda.sendMessage();
return true;
}
catch (error) {
Zabbix.log(3, ''[ Event-Driven Ansible webhook ] notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','','0'),
('73','4','Express.ms','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Express = {
params: [],
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Express.params = params;
if (typeof Express.params.url === ''string'' && !Express.params.url.endsWith(''/'')) {
Express.params.url += ''/'';
}
},
setProxy: function (HTTPProxy) {
Express.HTTPProxy = HTTPProxy;
},
request: function (query, data) {
var response,
url = Express.params.url + query,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Express.params.token);
if (typeof Express.HTTPProxy !== ''undefined'' && Express.HTTPProxy !== '''') {
request.setProxy(Express.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ Express Webhook ] Sending request: '' + url +
((typeof data === ''string'') ? (''\\n'' + data) : ''''));
response = request.post(url, data);
Zabbix.log(4, ''[ Express Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ Express Webhook ] Failed to parse response received from Express'');
response = {};
}
}
if (response.status !== ''ok'') {
var message = ''Request failed with status code '' + request.getStatus();
if (typeof response.reason !== ''undefined'') {
message += '': '' + JSON.stringify(response.reason);
}
throw message + ''. Check debug log for more information.'';
}
return response.result;
},
postMessage: function (is_problem) {
var data,
url,
result = {tags: {}},
response;
if (is_problem) {
data = {
group_chat_id: Express.params.send_to,
notification: {
status: ''ok'',
body: Express.params.message
}
};
url = ''api/v4/botx/notifications/direct'';
}
else {
data = {
reply: {
status: ''ok'',
body: Express.params.message
}
};
url = ''api/v3/botx/events/reply_event'';
try {
var tags = JSON.parse(Express.params.tags);
}
catch (error) {
throw ''Value of "express_tags" is not JSON. Value: '' + Express.params.tags + ''.'';
}
tags.forEach(function(tag) {
if (tag.tag === ''__zbx_ex_sync_id_'' + Express.params.send_to) {
data.source_sync_id = tag.value;
}
});
if (!data.source_sync_id) {
throw ''Cannot update data. sync_id for the provided sender is unknown.'';
}
}
response = Express.request(url, data);
if (is_problem && response.sync_id) {
result.tags[''__zbx_ex_sync_id_'' + Express.params.send_to] = response.sync_id;
return JSON.stringify(result);
}
else {
return ''OK'';
}
}
};
try {
var params = JSON.parse(value),
express = {},
required_params = [
''express_url'', ''express_send_to'', ''express_message'', ''express_tags'', ''express_token'',
''event_source'', ''event_value'', ''event_update_status''
];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''express_'')) {
express[key.substring(8)] = params[key];
}
if (required_params.indexOf(key) !== -1
&& (params[key].trim() === '''' || params[key] === ''{ALERT.SENDTO}'')) {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Forcing event_value and event_update_status for non trigger-based events.
if (params.event_source !== ''0'' ) {
params.event_value = ''1'';
params.event_update_status = ''0'';
}
if (params.event_value !== ''0'' && params.event_value !== ''1'') {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
Express.setParams(express);
Express.setProxy(params.HTTPProxy);
return Express.postMessage(params.event_value === ''1'' && params.event_update_status === ''0'');
}
catch (error) {
Zabbix.log(3, ''[ Express Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','0','','','','0'),
('74','4','GitHub','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
var serviceLogName = ''GitHub Webhook'',
Logger = new CLogger(serviceLogName),
GitHub = CWebhook;
GitHub.prototype.onCheckParams = function () {
CParamValidator.validate({
alert_message: {type: ''string''},
alert_subject: {type: ''string''},
github_api_version: {type: ''string''},
github_repo: {type: ''string''},
github_token: {type: ''string''},
github_url: {type: ''string'', url: true},
github_user_agent: {type: ''string''},
github_zabbix_event_priority_label_prefix: {type: ''string'', default: ''Zabbix Event Priority: ''},
github_zabbix_event_source_label_prefix: {type: ''string'', default: ''Zabbix Event Source: ''},
github_zabbix_event_status_label_prefix: {type: ''string'', default: ''Zabbix Event Status: ''},
github_zabbix_generic_label: {type: ''string'', default: ''Zabbix GitHub Webhook''},
zabbix_url: {type: ''string'', url: true}
}, this.params);
this.request_headers = {
''User-Agent'': this.params.github_user_agent,
''Accept'': ''application/vnd.github+json'',
''X-GitHub-Api-Version'': this.params.github_api_version,
''Authorization'': ''Bearer '' + this.params.github_token
};
this.payload_data = {
title: this.params.alert_subject,
labels: [
{
name: this.params.github_zabbix_generic_label
}
]
};
this.result = {tags: {}};
};
function checkResponse(response, received_code, required_code, response_field, error_message) {
if (received_code != required_code || !CParamValidator.isDefined(response[response_field])) {
var message = error_message + '' Request failed with status code '' + received_code;
if (CParamValidator.isDefined(response.message) && Object.keys(response.message).length > 0) {
message += '': '' + response.message;
}
throw message + '' Check debug log for more information.'';
}
}
GitHub.prototype.createIssue = function () {
this.payload_data.body = this.params.alert_message + ''\\n'' + CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
this.request.addHeaders(this.request_headers);
const response = this.request.jsonRequest(''POST'', this.params.github_url + ''/repos/'' + this.params.github_repo + ''/issues'', this.payload_data);
checkResponse(response, this.request.getStatus(), 201, ''number'', ''Cannot create GitHub issue.'');
return response;
}
GitHub.prototype.updateIssue = function () {
this.request.addHeaders(this.request_headers);
const response = this.request.jsonRequest(''PATCH'', this.params.github_url + ''/repos/'' + this.params.github_repo + ''/issues/'' + this.params.github_issue_number, this.payload_data);
checkResponse(response, this.request.getStatus(), 200, ''number'', ''Cannot update GitHub issue.'');
return response;
}
GitHub.prototype.addIssueComment = function () {
this.payload_data = {
body: this.params.alert_message
};
this.request.addHeaders(this.request_headers);
const response = this.request.jsonRequest(''POST'', this.params.github_url + ''/repos/'' + this.params.github_repo + ''/issues/'' + this.params.github_issue_number + ''/comments'', this.payload_data);
checkResponse(response, this.request.getStatus(), 201, ''id'', ''Cannot add comment for GitHub issue.'');
return response;
}
GitHub.prototype.onProblem = function (alert) {
if (CParamValidator.isMacroSet(this.params.github_issue_number)) {
return this.onUpdate(alert);
}
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (this.params.event_source === ''0'') {
CParamValidator.validate({event_id: {type: ''integer''}, trigger_id: {type: ''integer''}}, this.params);
}
this.payload_data.labels.push({name: this.params.github_zabbix_event_source_label_prefix + alert.source});
this.payload_data.labels.push({name: this.params.github_zabbix_event_status_label_prefix + ''Problem''});
if (!CParamValidator.isEmpty(this.params.event_severity) && CParamValidator.isMacroSet(this.params.event_severity, ''EVENT.SEVERITY'')) {
this.payload_data.labels.push({name: this.params.github_zabbix_event_priority_label_prefix + this.params.event_severity});
}
const response = this.createIssue();
this.result.tags = {
__zbx_github_issue_number: response.number,
__zbx_github_repo: this.params.github_repo,
__zbx_github_link: response.html_url
};
return this.result;
}
GitHub.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (!CParamValidator.isMacroSet(this.params.github_issue_number)) {
throw "Failed to update the existing issue: no issue number was received."
}
this.payload_data.labels.push({name: this.params.github_zabbix_event_source_label_prefix + alert.source});
if (this.params.event_value === ''0'') {
this.payload_data.labels.push({name: this.params.github_zabbix_event_status_label_prefix + ''Resolved''});
} else {
this.payload_data.labels.push({name: this.params.github_zabbix_event_status_label_prefix + ''Problem''});
}
if (!CParamValidator.isEmpty(this.params.event_severity) && CParamValidator.isMacroSet(this.params.event_severity, ''EVENT.SEVERITY'')) {
this.payload_data.labels.push({name: this.params.github_zabbix_event_priority_label_prefix + this.params.event_severity});
}
this.updateIssue();
this.request.clearHeader();
this.addIssueComment();
return this.result;
}
GitHub.prototype.onResolve = function (alert) {
return this.onUpdate(alert);
}
GitHub.prototype.onDiscovery = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.payload_data.labels.push({name: this.params.github_zabbix_event_source_label_prefix + alert.source});
this.createIssue();
return this.result;
}
GitHub.prototype.onAutoreg = function (alert) {
return this.onDiscovery(alert);
}
try {
var hook = new GitHub(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_github_link}','Github: Issue {EVENT.TAGS.__zbx_github_issue_number}','This media type integrates your Zabbix installation with GitHub using the Zabbix webhook feature.
GitHub configuration:
1. Create an access token.
One of the simplest ways to send authenticated requests is to use a personal access token - either a classic or a fine-grained one:
https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28#authenticating-with-a-personal-access-token
Classic personal access token
You can create a new classic personal access token by following the instructions in the official documentation:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic
The token user must have a permission to create issues and issue comments in the desired repositories. For webhook to work on private repositories, the "repo" scope must be set in token settings to have full control of private repositories.
Additional information about OAuth scopes is available in the official documentation:
https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes
Fine-grained personal access token
Alternatively, you can use a fine-grained personal access token:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token
In order to use fine-grained tokens to monitor organization-owned repositories, organizations must opt in to fine-grained personal access tokens and set up a personal access token policy:
https://docs.github.com/en/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization
The fine-grained token needs to have the following permission set to provide access to the repository issues:
- "Issues" repository permissions (write)
2. Copy and save the created token somewhere, as it will be shown only once for security reasons.
Zabbix configuration:
1. Before you can start using Zammad webhook, set up the global macro "{$ZABBIX.URL}":
- In the Zabbix web interface, go to "Administration" → "Macros" section in the dropdown menu in the top left corner.
- Set up the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or localhost.
- Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration you might also need to append "/zabbix" to the end of URL. Good examples:
- http://zabbix.com
- https://zabbix.lan/zabbix
- http://server.zabbix.lan/
- http://localhost
- http://127.0.0.1:8080
- Bad examples:
- zabbix.com
- http://zabbix/
2. Set the "github_token" webhook parameter value to the access token that you created previously.
You can also adjust the issue labels created by the webhook in the following parameters:
- github_zabbix_event_priority_label_prefix - the prefix for the issue label that displays the Zabbix event priority in the supported event sources. It is set to "Zabbix Event Priority: " by default.
- github_zabbix_event_source_label_prefix - the prefix for the issue label that displays the Zabbix event source. It is set to "Zabbix Event Source: " by default.
- github_zabbix_event_status_label_prefix - the prefix for the issue label that displays the Zabbix event status. It is set to "Zabbix Event Status: " by default.
- github_zabbix_generic_label - the label that is added to all issues created by the webhook. It is set to "Zabbix GitHub Webhook" by default.
Note that the webhook will reuse the labels with the same name that already exist in the repository (including the color, so it can changed from the default value for new labels in GitHub, if needed). Also, the labels are replaced when the issue is updated, so any user-added labels will be removed.
4. Create a Zabbix user and add media:
- If you want to create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- In the "Media" tab, add a new media and select "Zammad" type from the drop-down list. In field "Send to" specify the full repo name (owner/project name) e.g. johndoe/example-project.
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to GitHub.
5. Great! You can now start using this media type in actions and create GitHub issues!
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/github','0'),
('75','4','GLPi','','','','','','','','25','0','0','0','0','1','1','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const serviceLogName = ''GLPi Webhook'',
Logger = new CLogger(serviceLogName),
GLPi = CWebhook;
GLPi.prototype.onCheckParams = function () {
CParamValidator.validate({
alert_message: { type: ''string'' },
alert_subject: { type: ''string'' },
zabbix_url: { type: ''string'', url: true },
glpi_url: { type: ''string'', url: true },
glpi_user_token: { type: ''string'' }
}, this.params);
this.params.use_app_token = false;
if (CParamValidator.isDefined(this.params.glpi_app_token) && !CParamValidator.isEmpty(this.params.glpi_app_token)) {
this.params.use_app_token = true;
}
if (this.params.event_source === ''0'') {
CParamValidator.validate({ trigger_id: { type: ''integer'' }, event_id: { type: ''integer'' } }, this.params);
this.params.zabbix_url = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
}
if (params.event_value != ''0'' && CParamValidator.isMacroSet(this.params.glpi_problem_id)) {
this.params.event_update_status = ''1'';
}
this.data = {
input: {
name: this.params.alert_subject,
urgency: (this.params.event_nseverity = isNaN(Number(this.params.event_nseverity)) ? 2 : this.params.event_nseverity)
}
};
this.dataFollowup = {
input: {
items_id: this.params.glpi_problem_id,
itemtype: ''Problem'',
content: this.params.alert_message + ''
Link to problem in Zabbix'',
}
};
this.result = { tags: {} };
}
GLPi.prototype.getAuthToken = function () {
this.request.addHeaders(''Authorization: user_token '' + this.params.glpi_user_token);
if (this.params.use_app_token) {
this.request.addHeaders(''App-Token: '' + this.params.glpi_app_token);
}
var response = this.request.jsonRequest(''post'', this.params.glpi_url + ''/apirest.php/initSession'');
if ((this.request.getStatus() !== 200 && this.request.getStatus() !== 201)) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.description, ''string'')) {
throw response.description;
}
else {
Logger.log(Logger.INFO, ''Request not successful. Received response: '' + JSON.stringify(response));
throw ''Unknown INFO. Check debug log for more information.'';
}
}
if (!CParamValidator.isType(response.session_token, ''string'') || CParamValidator.isEmpty(response.session_token)) {
Logger.log(Logger.INFO, ''Check getting GLPi sessionToken: '' + response.session_token);
throw ''Required GLPi sessionToken is not received.'';
}
return response.session_token;
}
GLPi.prototype.sendRequest = function (method, path, data) {
this.request.clearHeader();
this.request.addHeaders(''Session-Token:'' + this.params.authToken);
if (this.params.use_app_token) {
this.request.addHeaders(''App-Token: '' + this.params.glpi_app_token);
}
var response = this.request.jsonRequest(method, this.params.glpi_url + path, data);
if ((this.request.getStatus() !== 200 && this.request.getStatus() !== 201)) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.description, ''string'')) {
throw response.description;
}
else {
Logger.log(Logger.INFO, ''Request not successful. Received response: '' + JSON.stringify(response));
throw ''Unknown INFO. Check debug log for more information.'';
}
}
return response;
}
GLPi.prototype.createProblem = function (status) {
this.data.input.content = this.params.alert_message + ''
Link to problem in Zabbix'';
if (CParamValidator.isDefined(status)) {
this.data.input.status = status;
}
var response = this.sendRequest(''post'', ''/apirest.php/Problem/'', this.data);
if (!CParamValidator.isDefined(response.id)) {
throw ''Cannot create GPLi problem. Check debug log for more information.'';
}
return response.id
}
GLPi.prototype.updateProblem = function (status) {
CParamValidator.validate({ glpi_problem_id: { type: ''string'' } }, this.params);
this.data.id = this.params.glpi_problem_id;
if (CParamValidator.isDefined(status)) {
this.data.input.status = status;
}
this.sendRequest(''put'', ''/apirest.php/Problem/'' + this.params.glpi_problem_id, this.data);
this.sendRequest(''post'', ''/apirest.php/Problem/'' + this.params.glpi_problem_id + ''/ITILFollowup'', this.dataFollowup);
}
GLPi.prototype.onProblem = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
const problem_id = this.createProblem(1)
this.result.tags.__zbx_glpi_problem_id = problem_id;
this.result.tags.__zbx_glpi_link = this.params.glpi_url + ''/front/problem.form.php?id='' + problem_id;
return this.result;
}
GLPi.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.updateProblem();
return this.result;
}
GLPi.prototype.onResolve = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.updateProblem(5);
return this.result;
}
GLPi.prototype.onDiscovery = function () {
return this.createProblem();
}
GLPi.prototype.onAutoreg = function () {
return this.createProblem();
}
try {
var hook = new GLPi(value);
hook.request = new CHttpRequest(Logger);
hook.params.authToken = hook.getAuthToken();
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_glpi_link}','GLPi: Problem {EVENT.TAGS.__zbx_glpi_problem_id}','This media type integrates your Zabbix installation with your GLPi installation using the Zabbix webhook feature.
GLPi configuration:
1. Enable access to the GLPi REST API:
- In the GLPi web interface, go to "Setup" → "General" → "API".
- Set the "Enable Rest API" and "Enable Rest API" options to "Yes" and click the "Save" button.
2. Add a new API client:
- Click the "Add API client" button.
- Specify the API client name and set the "Active" option to "Yes".
- For security reasons, you may want to restrict the API client to the IP address of Zabbix server and/or create an additional application token (will be generated by default; you can uncheck the "Regenerate" checkbox if you don''t want to use it).
- Click the "Add" button.
- If you''ve opted to create an application token, open the settings of the created API client, and then copy and save the generated application token.
3. Create a new user profile with permissions to create problems and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to "Administration" → "Profiles" and click the "Add" button on the top of the page.
- Specify the profile name and set the "Profile''s Interface" option to "Standard Interface", and then click the "Add" button.
- Open the created profile and click the "Assistance" tab.
- Set the "Add followup (requester)" permission for the "Followups" line in the "Followups/Tasks" section.
- Set the "Update", "Create", and "See all" permissions in the "Problems" section.
- Click the "Save" button.
4. Create a new user:
- Go to "Administration" → "Users" and click the "Add User" button on the top of the page.
- Specify the user login and set the "Profiles" option to the profile that you created in the previous step (or any other existing profile with permissions to create problems and followups).
- Click the "Add" button.
- Open the profile of the created user and check the "Regenerate" checkbox of the "API token" option; click "Save".
- Copy and save the generated user API token.
Zabbix configuration:
1. Before you can start using the GLPi webhook, set the global macro "{$ZABBIX.URL}":
- In the Zabbix web interface, go to "Administration" → "Macros" in the top-left drop-down menu.
- Set the global macro "{$ZABBIX.URL}" to the URL of the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or localhost.
- Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration, you might also need to append "/zabbix" to the end of URL. Good examples:
- http://zabbix.com
- https://zabbix.lan/zabbix
- http://server.zabbix.lan/
- http://localhost
- http://127.0.0.1:8080
- Bad examples:
- zabbix.com
- http://zabbix/
2. Set the following webhook parameters:
- glpi_app_token - if you''ve opted to use an application token during the creation of API client, specify it here; otherwise leave it empty
- glpi_url - the frontend URL of your GLPi installation
- glpi_user_token - the user token that was generated during creation of GLPi user
3. Click the "Enabled" checkbox to enable the media type and click the "Update" button to save the webhook settings.
4. Create a Zabbix user and add media:
- To create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- In the "Media" tab, click "Add" and select the type "GLPi" from the drop-down list. Add any value in the "Send to" field: it is not used in the webhook, but is required.
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to GLPi.
5. Done! You can now start using this media type in actions and create problem items in GLPi.
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/glpi','0'),
('76','4','iLert','','','','','','','','25','0','0','0','0','1','3','10s','1','try {
var result = { tags: {} },
params = JSON.parse(value),
req = new HttpRequest(),
resp = '''';
if (typeof params.HTTPProxy === ''string'' && params.HTTPProxy.trim() !== '''') {
req.setProxy(params.HTTPProxy);
}
var alertSourceKey = params[''.ILERT.ALERT.SOURCE.KEY''];
if (!alertSourceKey || (typeof alertSourceKey === ''string'' && alertSourceKey.trim() === '''')) {
throw ''incorrect value for variable "ILERT.ALERT.SOURCE.KEY". The value must be a non-empty string.'';
}
delete params[''.ILERT.ALERT.SOURCE.KEY''];
var ilertApiBaseURL = "https://api.ilert.com";
var reqURL = encodeURI(ilertApiBaseURL + "/api/v1/events/zabbix-mt/" + alertSourceKey)
var incidentKey = "zabbix-" + params[''EVENT.ID''];
var incidentViewURL = ilertApiBaseURL + "/api/v1/incidents/resolve-ik/" + alertSourceKey + "/" + incidentKey;
req.addHeader(''Accept: application/json'');
req.addHeader(''Content-Type: application/json'');
Zabbix.log(4, ''[iLert Webhook] Sending request:'' + JSON.stringify(params));
resp = req.post(reqURL, JSON.stringify(params));
Zabbix.log(4, ''[iLert Webhook] Receiving response:'' + resp);
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''incorrect response. iLert returned a non-JSON object.'';
}
if (req.getStatus() == 200) {
result.tags.__ilert_incident_url = incidentViewURL;
return JSON.stringify(result);
}
if (req.getStatus() == 400 && typeof resp === ''object'' && typeof resp.code === ''string'') {
if (resp.code === ''NO_OPEN_INCIDENT_WITH_KEY'') {
return JSON.stringify(result);
}
if (resp.code === ''INCIDENT_ALREADY_ACCEPTED'') {
result.tags.__ilert_incident_url = incidentViewURL;
return JSON.stringify(result);
}
}
if (typeof resp === ''object'' && typeof resp.message === ''string'') {
throw resp.message;
}
else {
throw ''Unknown error.'';
}
}
catch (error) {
Zabbix.log(3, ''[iLert Webhook] Notification failed : '' + error);
throw ''iLert notification failed : '' + error;
}','30s','1','1','{EVENT.TAGS.__ilert_incident_url}','iLert incident','Please refer to https://docs.ilert.com/integrations/zabbix/native
Set global macro {$ZABBIX.URL} with your Zabbix server URL.
Add a dedicated user with the media type "iLert". You can also rewrite the incident summary via ".ILERT.INCIDENT.SUMMARY" parameter or leave it empty to use the standard pattern.','0'),
('77','4','iTop','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Itop = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
if (params.log !== ''private_log'' && params.log !== ''public_log'') {
throw ''Incorrect "itop_log" parameter given: '' + params.log + ''\\nMust be "private_log" or "public_log".'';
}
Itop.params = params;
if (typeof Itop.params.url === ''string'') {
if (!Itop.params.url.endsWith(''/'')) {
Itop.params.url += ''/'';
}
Itop.params.url += ''webservices/rest.php?version='' + encodeURIComponent(Itop.params.api_version);
}
},
setProxy: function (HTTPProxy) {
Itop.HTTPProxy = HTTPProxy;
},
setCreatePayload: function () {
json_data.operation = ''core/create'';
json_data.fields.org_id = Itop.params.organization_id;
json_data.fields.title = params.alert_subject;
json_data.fields.description = params.alert_message.replace(''<'', ''<'')
.replace(''>'', ''>'')
.replace(/(?:\\r\\n|\\r|\\n)/g, ''
'');
},
setUpdatePayload: function () {
json_data.operation = ''core/update'';
json_data.key = Itop.params.id;
json_data.fields.title = params.alert_subject;
json_data.fields[Itop.params.log] = {
add_item: {
message: params.alert_subject + ''\\n'' + params.alert_message,
format: ''text''
}
};
},
request: function (data) {
[''url'', ''user'', ''password'', ''organization_id'', ''class'', ''api_version'', ''id''].forEach(function (field) {
if (typeof Itop.params !== ''object'' || typeof Itop.params[field] === ''undefined''
|| Itop.params[field] === '''' ) {
throw ''Required Itop param is not set: "itop_'' + field + ''".'';
}
});
var response,
url = Itop.params.url,
request = new HttpRequest(),
object;
request.addHeader(''Content-Type: multipart/form-data'');
request.addHeader(''Authorization: Basic '' + btoa(Itop.params.user + '':'' + Itop.params.password));
if (Itop.HTTPProxy) {
request.setProxy(Itop.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ iTop Webhook ] Sending request: '' + url + ''&json_data='' + data);
response = request.post(url + ''&json_data='' + encodeURIComponent(data));
Zabbix.log(4, ''[ iTop Webhook ] Received response with status code '' + request.getStatus() + ''\\n'' + response);
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ iTop Webhook ] Failed to parse response received from iTop'');
throw ''Failed to parse response received from iTop.\\nRequest status code '' +
request.getStatus() + ''. Check debug log for more information.'';
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + ''. Check debug log for more information.'';
}
else if (typeof response.code !== ''undefined'' && response.code !== 0) {
throw ''Request failed with iTop code '' + response.code + '': '' +
JSON.stringify(response.message) + ''. Check debug log for more information.'';
}
else {
Object.keys(response.objects)
.forEach(function (key) {
object = response.objects[key];
});
return {
status: request.getStatus(),
response: object.fields
};
}
}
};
try {
var params = JSON.parse(value),
json_data = {},
itop_params = {},
result = {tags: {}},
required_params = [
''alert_subject'', ''summary'', ''event_recovery_value'',
''event_source'', ''event_value'', ''action_name''
];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''itop_'')) {
itop_params[key.substring(5)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_recovery_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
Itop.setParams(itop_params);
Itop.setProxy(params.HTTPProxy);
json_data.operation = '''';
json_data.class = Itop.params.class;
json_data.comment = Itop.params.comment;
json_data.output_fields = ''id, friendlyname'';
json_data.fields = {};
// Create issue for non trigger-based events.
if (params.event_source !== ''0'' && params.event_recovery_value !== ''0'') {
Itop.setCreatePayload();
Itop.request(json_data);
}
// Create issue for trigger-based events.
else if (params.event_value === ''1'' && params.event_update_status === ''0''
&& (Itop.params.id === ''{EVENT.TAGS.__zbx_itop_id}'' || Itop.params.id === ''*UNKNOWN*'')) {
Itop.setCreatePayload();
var response = Itop.request(json_data);
result.tags.__zbx_itop_id = response.response.id;
result.tags.__zbx_itop_key = response.response.friendlyname;
result.tags.__zbx_itop_link = params.itop_url + (params.itop_url.endsWith(''/'') ? '''' : ''/'') +
''pages/UI.php?operation=details&class='' + encodeURIComponent(Itop.params.class) + ''&id='' +
encodeURIComponent(response.response.id);
}
// Update created issue for trigger-based event.
else {
if (Itop.params.id === ''{EVENT.TAGS.__zbx_itop_id}'' || Itop.params.id === ''*UNKNOWN*'') {
throw ''Incorrect iTop ticket ID given: '' + Itop.params.id;
}
Itop.setUpdatePayload();
Itop.request(json_data);
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ iTop Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_itop_link}','iTop: {EVENT.TAGS.__zbx_itop_key}','','0'),
('78','4','Jira','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
var ZABBIX_SEVERITY_MAP = ["not_classified", "information", "warning", "average", "high", "disaster"];
var serviceLogName = ''Jira Webhook'',
Logger = new CLogger(serviceLogName),
Jira = CWebhook;
Jira.prototype.onCheckParams = function () {
CParamValidator.validate({
jira_url: { type: ''string'', url: true},
jira_user: { type: ''string'' },
jira_password: { type: ''string'' },
jira_issue_type: { type: ''string'' },
jira_project_key: { type: ''string'' },
event_source: { type: ''string'' },
alert_subject: { type: ''string'' },
alert_message: { type: ''string'' },
event_nseverity: { type: ''integer'', default: 0 }
}, this.params);
this.priority = this.params.event_source == 3 ? this.params.jira_priority_internal : this.params[''severity_'' + ZABBIX_SEVERITY_MAP[this.params.event_nseverity]];
this.params.event_tags_json = parseTags(this.params.event_tags_json, false);
if (this.params.event_tags_json.length > 0) {
this.labels = setLabels(this.params.event_tags_json);
}
parseOptionalFields();
this.result = { tags: {} };
}
function escapeMarkup(str) {
var length = str.length,
result = '''',
markup = [''{'', ''|'', ''}'', ''~'', ''_'', ''\\\\'', ''['', '']'', ''^'', ''<'', ''>'', ''?'', ''!'', ''#'', ''+'', ''*'', ''&''];
for (var i = 0; i < length; i++) {
var char = str[i];
result += (markup.indexOf(char) !== -1) ? ('''' + str[i].charCodeAt() + '';'') : char;
}
return result;
}
function parseOptionalFields() {
this.params.customfields = {};
this.params.components = [];
Object.keys(this.params).forEach(function (key) {
if (key.startsWith(''customfield_'')) {
this.params.customfields[key] = this.params[key];
}
if (key.startsWith(''component_'')) {
this.params.components.push({"name": this.params[key]})
}
});
}
Jira.prototype.addCustomFields = function (data) {
if (typeof this.params.customfields === ''object'' && Object.keys(this.params.customfields).length) {
var schemaData = this.sendRequest(''GET'', ''/rest/api/latest/field''),
schema = {};
schemaData.forEach(function (item) {
schema[item.id] = item.schema;
});
Object.keys(this.params.customfields).forEach(function (field) {
if (typeof schema[field] === ''object'' && schema[field].type) {
const type = schema[field].type;
if (type === ''number'') {
data.fields[field] = parseInt(this.params.customfields[field]);
}
else if (type === ''string'' && schema[field][''custom''].split('':'')[1] === ''url'') {
if (this.params.customfields[field] === ''zabbix_url'') {
data.fields[field] = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
} else {
data.fields[field] = this.params.customfields[field];
}
}
else if (type === ''date'') {
if (this.params.customfields[field].match(/\\d+[.-]\\d+[.-]\\d+/) !== null) {
data.fields[field] = this.params.customfields[field].replace(/\\./g, ''-'');
}
}
else if (type === ''datetime'') {
if (this.params.customfields[field].match(/\\d+[.-]\\d+[.-]\\d+T\\d+:\\d+:\\d+/) !== null) {
data.fields[field] = this.params.customfields[field].replace(/\\./g, ''-'');
}
}
else if (type === ''option'') {
data.fields[field] = { ''value'': this.params.customfields[field] };
}
else if (type === ''array'') {
if (schema[field].items === ''option'') {
const valuesList = this.params.customfields[field].split('','');
data.fields[field] = [];
valuesList.forEach(function (val) {
data.fields[field].push({''value'': val})
});
}
else {
data.fields[field] = [this.params.customfields[field]];
}
}
else {
data.fields[field] = this.params.customfields[field];
}
}
});
}
else {
Logger.log(Logger.WARN, ''No customfields found.'');
}
return data;
}
function parseTags(event_tags) {
try {
return JSON.parse(event_tags);
}
catch (error) {
if (this.params.event_source == 0 || this.params.event_source > 2) {
Logger.log(Logger.WARN, ''No event tags were found. Should be an object. Received event tags: "'' + event_tags + ''".'');
}
return [];
}
}
function getTagValue(tags, key, throw_on_fail) {
for (i in tags) {
if (tags[i].tag === key) {
return tags[i].value
}
}
if (!throw_on_fail) {
return false;
} else {
throw ''Tag "'' + key + ''" is not in the event tag list.''
}
};
function setLabels(event_tags_json) {
var buffer = [];
event_tags_json.forEach(function (tag) {
if (typeof tag.tag !== ''undefined'' && typeof tag.value !== ''undefined'' && !tag.tag.startsWith(''__zbx'')) {
label = (tag.tag + (tag.value ? ('':'' + tag.value) : '''')).replace(/\\s/g, ''_'');
if (label.length < 256) {
buffer.push(label);
}
}
});
if (buffer.length === 0) {
Logger.log(Logger.WARN, ''No labels were set.'');
}
return buffer;
}
Jira.prototype.commentIssue = function (issue_key) {
var data = {
body: this.params.alert_message,
};
this.sendRequest(''POST'', ''/rest/api/latest/issue/'' + encodeURIComponent(issue_key) + ''/comment'', data);
}
Jira.prototype.sendRequest = function (method, path, data) {
this.request.clearHeader();
this.request.addHeaders(''Authorization: Basic '' + btoa(this.params.jira_user + '':'' + this.params.jira_password));
var response = this.request.jsonRequest(method, this.params.jira_url + path, data);
if ((this.request.getStatus() !== 200 && this.request.getStatus() !== 201)) {
Logger.log(Logger.WARN, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.description, ''string'')) {
throw response.description;
}
else {
Logger.log(Logger.WARN, ''Request not successful. Received response: '' + JSON.stringify(response));
throw ''Unknown error. Check debug log for more information.'';
}
}
return response;
}
Jira.prototype.onProblem = function (alert) {
if (this.params.event_tags_json.length > 0 && getTagValue(this.params.event_tags_json, ''__zbx_jira_issuekey'', false) !== false) {
return this.onUpdate(alert, true);
}
var data = {
fields: {
project: {
key: this.params.jira_project_key
},
issuetype: {
name: this.params.jira_issue_type
},
summary: this.params.alert_subject,
description: this.params.alert_message,
priority: {
"name": this.priority
}
}
};
if (this.labels && this.labels.length > 0) {
data.fields.labels = this.labels;
}
if (this.params.components && this.params.components.length > 0) {
data.fields.components = this.params.components;
}
var response = this.sendRequest(''POST'', ''/rest/api/latest/issue'', this.addCustomFields(data));
this.result.tags = {
__zbx_jira_issuekey: response.key,
__zbx_jira_issuelink: this.params.jira_url + ''/browse/'' + response.key
}
return this.result;
}
Jira.prototype.onUpdate = function (alert, dontUpdatePriority) {
var data = {
fields: {
summary: this.params.alert_subject,
priority: {
"name": this.priority
}
}
};
if (dontUpdatePriority && this.params.event_source != 0) {
delete data[''fields''][''priority''];
}
var jira_issue_key = getTagValue(this.params.event_tags_json, ''__zbx_jira_issuekey'', true);
this.sendRequest(''PUT'', ''/rest/api/latest/issue/'' + encodeURIComponent(jira_issue_key) + ''?returnIssue=true'', this.addCustomFields(data));
this.commentIssue(jira_issue_key);
return this.result;
}
Jira.prototype.onResolve = function (alert) {
return this.onUpdate(alert, true);
}
Jira.prototype.onDiscovery = function (alert) {
this.priority = this.params.jira_priority_discovery;
return this.onProblem(alert);
}
Jira.prototype.onAutoreg = function (alert) {
this.priority = this.params.jira_priority_autoregistration;
return this.onProblem(alert);
}
try {
var hook = new Jira(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_jira_issuelink}','Jira: {EVENT.TAGS.__zbx_jira_issuekey}','https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/jira
1. To make this integration work, you will need the following from Jira:
* Jira instance URL;
* Jira project key and issue type that the issues created by Zabbix will use;
* Jira username and password or API token. API token is strongly recommended and can be obtained at https://id.atlassian.com/manage/api-tokens.
2. In the Zabbix web interface, go to Administration → Macros section. Set up the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend.
3. On this page replace the placeholder ''<...>'' values with the ones from the step #1.
4. In Zabbix, you need to have a Zabbix user and add Media with the Jira media type. Make sure this user has access to all hosts for which you would like problem issues to be created in Jira.','0'),
('79','4','Jira Service Management','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
var ZABBIX_SEVERITY_MAP = ["not_classified", "information", "warning", "average", "high", "disaster"];
var serviceLogName = ''Jira Service Management Webhook'',
Logger = new CLogger(serviceLogName),
Jira = CWebhook;
Jira.prototype.onCheckParams = function () {
CParamValidator.validate({
jira_url: { type: ''string'', url: true},
jira_user: { type: ''string'' },
jira_password: { type: ''string'' },
jira_request_type_id: { type: ''string'' },
jira_servicedesk_id: { type: ''string'' },
issue_comments_public: {type: ''boolean'', default: false},
event_source: { type: ''string'' },
alert_subject: { type: ''string'' },
alert_message: { type: ''string'' },
event_nseverity: { type: ''integer'', default: 0 }
}, this.params);
this.priority = this.params.event_source == 3 ? this.params.jira_priority_internal : this.params[''severity_'' + ZABBIX_SEVERITY_MAP[this.params.event_nseverity]];
this.params.event_tags_json = parseTags(this.params.event_tags_json, false);
if (this.params.event_tags_json.length > 0) {
this.labels = setLabels(this.params.event_tags_json);
}
parseOptionalFields();
this.result = { tags: {} };
}
function escapeMarkup(str) {
var length = str.length,
result = '''',
markup = [''{'', ''|'', ''}'', ''~'', ''_'', ''\\\\'', ''['', '']'', ''^'', ''<'', ''>'', ''?'', ''!'', ''#'', ''+'', ''*'', ''&''];
for (var i = 0; i < length; i++) {
var char = str[i];
result += (markup.indexOf(char) !== -1) ? ('''' + str[i].charCodeAt() + '';'') : char;
}
return result;
}
function parseOptionalFields() {
this.params.customfields = {};
this.params.components = [];
Object.keys(this.params).forEach(function (key) {
if (key.startsWith(''customfield_'')) {
this.params.customfields[key] = this.params[key];
}
if (key.startsWith(''component_'')) {
this.params.components.push({"name": this.params[key]})
}
});
}
Jira.prototype.addCustomFields = function (data, requestFieldValues) {
if (typeof this.params.customfields === ''object'' && Object.keys(this.params.customfields).length) {
var schemaData = this.sendRequest(''GET'', ''/rest/api/latest/field''),
schema = {};
schemaData.forEach(function (item) {
schema[item.id] = item.schema;
});
var placeholder = (requestFieldValues ? ''requestFieldValues'' : ''fields'');
Object.keys(this.params.customfields).forEach(function (field) {
if (typeof schema[field] === ''object'' && schema[field].type) {
const type = schema[field].type;
if (type === ''number'') {
data[placeholder][field] = parseInt(this.params.customfields[field]);
}
else if (type === ''string'' && schema[field][''custom''].split('':'')[1] === ''url'') {
if (this.params.customfields[field] === ''zabbix_url'') {
data[placeholder][field] = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
} else {
data[placeholder][field] = this.params.customfields[field];
}
}
else if (type === ''date'') {
if (this.params.customfields[field].match(/\\d+[.-]\\d+[.-]\\d+/) !== null) {
data[placeholder][field] = this.params.customfields[field].replace(/\\./g, ''-'');
}
}
else if (type === ''datetime'') {
if (this.params.customfields[field].match(/\\d+[.-]\\d+[.-]\\d+T\\d+:\\d+:\\d+/) !== null) {
data[placeholder][field] = this.params.customfields[field].replace(/\\./g, ''-'');
}
}
else if (type === ''option'') {
data[placeholder][field] = { ''value'': this.params.customfields[field] };
}
else if (type === ''array'') {
if (schema[field].items === ''option'') {
const valuesList = this.params.customfields[field].split('','');
data[placeholder][field] = [];
valuesList.forEach(function (val) {
data[placeholder][field].push({''value'': val})
});
}
else {
data[placeholder][field] = [this.params.customfields[field]];
}
}
else {
data[placeholder][field] = this.params.customfields[field];
}
}
});
}
else {
Logger.log(Logger.WARN, ''No customfields found.'');
}
return data;
}
function parseTags(event_tags) {
try {
return JSON.parse(event_tags);
}
catch (error) {
if (this.params.event_source == 0 || this.params.event_source > 2) {
Logger.log(Logger.WARN, ''No event tags were found. Should be an object. Received event tags: "'' + event_tags + ''".'');
}
return [];
}
}
function getTagValue(tags, key, throw_on_fail) {
for (i in tags) {
if (tags[i].tag === key) {
return tags[i].value
}
}
if (!throw_on_fail) {
return false;
} else {
throw ''Tag "'' + key + ''" is not in the event tag list.''
}
};
function setLabels(event_tags_json) {
var buffer = [];
event_tags_json.forEach(function (tag) {
if (typeof tag.tag !== ''undefined'' && typeof tag.value !== ''undefined'' && !tag.tag.startsWith(''__zbx'')) {
label = (tag.tag + (tag.value ? ('':'' + tag.value) : '''')).replace(/\\s/g, ''_'');
if (label.length < 256) {
buffer.push(label);
}
}
});
if (buffer.length === 0) {
Logger.log(Logger.WARN, ''No labels were set.'');
}
return buffer;
}
Jira.prototype.commentIssue = function (issue_key) {
var data = {
body: this.params.alert_message,
public: this.params.issue_comments_public
};
this.sendRequest(''POST'', ''/rest/servicedeskapi/request/'' + encodeURIComponent(issue_key) + ''/comment'', data);
}
Jira.prototype.sendRequest = function (method, path, data) {
this.request.clearHeader();
this.request.addHeaders(''Authorization: Basic '' + btoa(this.params.jira_user + '':'' + this.params.jira_password));
var response = this.request.jsonRequest(method, this.params.jira_url + path, data);
if ((this.request.getStatus() !== 200 && this.request.getStatus() !== 201)) {
Logger.log(Logger.WARN, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.description, ''string'')) {
throw response.description;
}
else {
Logger.log(Logger.WARN, ''Request not successful. Received response: '' + JSON.stringify(response));
throw ''Unknown error. Check debug log for more information.'';
}
}
return response;
}
Jira.prototype.onProblem = function (alert) {
if (this.params.event_tags_json.length > 0 && getTagValue(this.params.event_tags_json, ''__zbx_jira_requestkey'', false) !== false) {
return this.onUpdate(alert, true);
}
var data = {
serviceDeskId: this.params.jira_servicedesk_id,
requestTypeId: this.params.jira_request_type_id,
requestFieldValues: {
summary: this.params.alert_subject,
description: this.params.alert_message,
priority: {
"name": this.priority
}
}
};
if (this.labels && this.labels.length > 0) {
data.requestFieldValues.labels = this.labels;
}
if (this.params.components && this.params.components.length > 0) {
data.requestFieldValues.components = this.params.components;
}
var response = this.sendRequest(''POST'', ''/rest/servicedeskapi/request'', this.addCustomFields(data, true));
this.result.tags = {
__zbx_jira_requestkey: response.issueKey,
__zbx_jira_requestlink: this.params.jira_url + ''/browse/'' + response.issueKey
}
return this.result;
}
Jira.prototype.onUpdate = function (alert, dontUpdatePriority) {
var data = {
fields: {
summary: this.params.alert_subject,
priority: {
"name": this.priority
}
}
};
if (dontUpdatePriority && this.params.event_source != 0) {
delete data[''fields''][''priority''];
}
var jira_issue_key = getTagValue(this.params.event_tags_json, ''__zbx_jira_requestkey'', true);
this.sendRequest(''PUT'', ''/rest/api/latest/issue/'' + encodeURIComponent(jira_issue_key) + ''?returnIssue=true'', this.addCustomFields(data));
this.commentIssue(jira_issue_key);
return this.result;
}
Jira.prototype.onResolve = function (alert) {
return this.onUpdate(alert, true);
}
Jira.prototype.onDiscovery = function (alert) {
this.priority = this.params.jira_priority_discovery;
return this.onProblem(alert);
}
Jira.prototype.onAutoreg = function (alert) {
this.priority = this.params.jira_priority_autoregistration;
return this.onProblem(alert);
}
try {
var hook = new Jira(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_jira_requestlink}','Jira Service Management: {EVENT.TAGS.__zbx_jira_requestkey}','https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/jira_service_management
1. To make this integration work, you will need the following from Jira:
* Jira instance URL;
* Jira service desk id and request type id that the issues created by Zabbix will use;
* Jira username and password or API token. API token is strongly recommended and can be obtained at https://id.atlassian.com/manage/api-tokens.
2. In the Zabbix web interface, go to Administration → Macros section. Set up the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend.
3. On this page replace the placeholder ''<...>'' values with the ones from the step #1.
4. In Zabbix, you need to have a Zabbix user and add Media with the Jira Service Management media type. Make sure this user has access to all hosts for which you would like problem issues to be created in Jira.','0'),
('80','4','Line','','','','','','','','25','0','0','0','0','1','3','10s','1',E'function sendMessage(to, messages, params) {
var response,
request = new HttpRequest();
if (typeof params.HTTPProxy === ''string'' && params.HTTPProxy.trim() !== '''') {
request.setProxy(params.HTTPProxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + params.bot_token);
response = request.post(''https://api.line.me/v2/bot/message/push'', JSON.stringify({
"to": to,
"messages": messages
}));
if (request.getStatus() !== 200) {
throw response;
}
}
function validateParams(params) {
if (typeof params.bot_token !== ''string'' || params.bot_token.trim() === '''') {
throw ''Field "bot_token" cannot be empty'';
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: "'' + params.event_source + ''".\\nMust be 0-3.'';
}
if (params.event_source !== ''0'') {
params.event_nseverity = ''0'';
params.event_severity = ''Not classified'';
params.event_update_status = ''0'';
}
if (params.event_source === ''1'' || params.event_source === ''2'') {
params.event_value = ''1'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
throw ''Incorrect "event_nseverity" parameter given: '' + params.event_nseverity + ''\\nMust be 0-5.'';
}
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_value !== ''0'' && params.event_value !== ''1'') {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
if (isNaN(params.trigger_id) && params.event_source === ''0'') {
throw ''field "trigger_id" is not a number'';
}
if (typeof params.zabbix_url !== ''string'' || params.zabbix_url.trim() === '''') {
throw ''Field "zabbix_url" cannot be empty'';
}
if (!/^(http|https):\\/\\/.+/.test(params.zabbix_url)) {
throw ''Field "zabbix_url" must contain a schema'';
}
}
function getZabbixProblemLink(params) {
return params.zabbix_url + (params.zabbix_url.endsWith(''/'') ? '''' : ''/'') + ''tr_events.php?triggerid='' + params.trigger_id + ''&eventid='' + params.event_id;
}
try {
var params = JSON.parse(value);
validateParams(params);
severity_emoji = [
"\\u26AA",
"\\uD83D\\uDD35",
"\\uD83D\\uDFE4",
"\\uD83D\\uDFE1",
"\\uD83D\\uDFE0",
"\\uD83D\\uDD34",
];
// If its a trigger and a recovery operation and not an update operation.
if (params.event_source === ''0'' && params.event_value === ''0'' && params.event_update_status === ''0'') {
var line_message = [
{
"type": "text",
"text": ''\\u2705 '' + params.alert_subject + ''\\n\\n'' + params.alert_message + ''\\n'' + params.trigger_description + ''\\n\\n'' + getZabbixProblemLink(params)
}
];
}
// If its a trigger and its a problem.
else if (params.event_source === ''0'' && params.event_value === ''1'') {
var line_message = [
{
"type": "text",
"text": severity_emoji[params.event_nseverity] + '' '' + params.alert_subject + ''\\n\\n'' + params.alert_message + ''\\n'' + params.trigger_description + ''\\n\\n'' + getZabbixProblemLink(params)
}
];
}
// If its a trigger and its an update operation.
else if (params.event_source === ''0'' && params.event_update_status === ''1'') {
var line_message = [
{
"type": "text",
"text": ''\\u2733 '' + severity_emoji[params.event_nseverity] + '' '' + params.alert_subject + ''\\n\\n'' + params.alert_message + ''\\n'' + params.trigger_description + ''\\n\\n'' + getZabbixProblemLink(params)
}
];
}
else {
var line_message = [
{
"type": "text",
"text": params.alert_subject + ''\\n\\n'' + params.alert_message + ''\\n''
}
];
}
sendMessage(params.send_to, line_message, params);
return ''OK'';
}
catch (err) {
Zabbix.log(4, ''[ Line Webhook ] Line notification failed : '' + err);
throw ''Line notification failed : '' + err;
}','30s','0','0','','','Please refer to setup guide here: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/line
Set bot_token parameter to your Line bot token.
When assigning Line media to the Zabbix user - add the ID of the target recipient. Use a userId, groupId, or roomId value.','0'),
('81','4','ManageEngine ServiceDesk','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var MEngine = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
MEngine.params = params;
if (typeof MEngine.params.url === ''string'') {
if (!MEngine.params.url.endsWith(''/'')) {
MEngine.params.url += ''/'';
}
MEngine.params.url += ''api/v3/'';
}
if (MEngine.params.on_premise.toLowerCase() !== ''true''
&& typeof MEngine.params.on_demand_url_auth === ''string'') {
if (!MEngine.params.on_demand_url_auth.endsWith(''/'')) {
MEngine.params.on_demand_url_auth += ''/'';
}
MEngine.params.on_demand_url_auth += ''oauth/v2/token?'';
}
},
setProxy: function (HTTPProxy) {
MEngine.HTTPProxy = HTTPProxy;
},
createLink: function (id, url) {
return url + (url.endsWith(''/'') ? '''' : ''/'') +
((MEngine.params.on_premise.toLowerCase() === ''true'')
? (''WorkOrder.do?woMode=viewWO&woID='' + id)
: (''app/itdesk/ui/requests/'' + id + ''/details'')
);
},
refreshAccessToken: function () {
[
''on_demand_url_auth'',
''on_demand_refresh_token'',
''on_demand_client_id'',
''on_demand_client_secret''
].forEach(function (field) {
if (typeof MEngine.params !== ''object'' || typeof MEngine.params[field] === ''undefined''
|| MEngine.params[field].trim() === '''' ) {
throw ''Required MEngine param is not set: "sd_'' + field + ''".'';
}
});
var response,
request = new HttpRequest(),
url = MEngine.params.on_demand_url_auth +
''refresh_token='' + encodeURIComponent(MEngine.params.on_demand_refresh_token) +
''&grant_type=refresh_token&client_id='' + encodeURIComponent(MEngine.params.on_demand_client_id) +
''&client_secret='' + encodeURIComponent(MEngine.params.on_demand_client_secret) +
''&redirect_uri=https://www.zoho.com&scope=SDPOnDemand.requests.ALL'';
if (MEngine.HTTPProxy) {
request.setProxy(MEngine.HTTPProxy);
}
Zabbix.log(4, ''[ ManageEngine Webhook ] Refreshing access token. Request: '' + url);
response = request.post(url);
Zabbix.log(4, ''[ ManageEngine Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ ManageEngine Webhook ] Failed to parse response received from Zoho Accounts'');
}
if ((request.getStatus() < 200 || request.getStatus() >= 300) && !response.access_token) {
throw ''Access token refresh failed with HTTP status code '' + request.getStatus() +
''. Check debug log for more information.'';
}
else {
MEngine.params.on_demand_auth_token = response.access_token;
}
},
request: function (method, query, data) {
var response,
url = MEngine.params.url + query,
input,
request = new HttpRequest(),
message;
if (MEngine.params.on_premise.toLowerCase() === ''true'') {
request.addHeader(''TECHNICIAN_KEY: '' + MEngine.params.on_premise_auth_token);
}
else {
request.addHeader(''Authorization: Zoho-oauthtoken '' + MEngine.params.on_demand_auth_token);
request.addHeader(''Accept: application/v3+json'');
}
if (MEngine.HTTPProxy) {
request.setProxy(MEngine.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
input = ''input_data='' + encodeURIComponent(data);
Zabbix.log(4, ''[ ManageEngine Webhook ] Sending request: '' + url + ''?'' + input);
switch (method) {
case ''post'':
response = request.post(url, input);
break;
case ''put'':
response = request.put(url, input);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ ManageEngine Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ ManageEngine Webhook ] Failed to parse response received from ManageEngine'');
}
if ((request.getStatus() < 200 || request.getStatus() >= 300)
&& typeof response.response_status !== ''object'') {
throw ''Request failed with HTTP status code '' + request.getStatus() +
''. Check debug log for more information.'';
}
else if (typeof response.response_status === ''object'' && response.response_status.status === ''failed'') {
message = ''Request failed with status_code '';
if (typeof response.response_status.messages === ''object''
&& response.response_status.messages[0]
&& response.response_status.messages[0].message) {
message += response.response_status.messages[0].status_code +
''. Message: '' + response.response_status.messages[0].message;
}
else {
message += response.response_status.status_code;
}
message += ''. Check debug log for more information.'';
throw message;
}
else if (response.request) {
return response.request.id;
}
},
createPaylaod: function (fields, isNote) {
var data = {},
result;
if (isNote) {
data.description = fields[''field_string:description''].replace(/(?:\\r\\n|\\r|\\n)/g, ''
'');
result = {request_note: data};
}
else {
Object.keys(fields)
.forEach(function(field) {
if (fields[field].trim() === '''') {
Zabbix.log(4, ''[ ManageEngine Webhook ] Field "'' + field +
''" can\\''t be empty. The field ignored.'');
}
else {
try {
var prefix = field.split('':'')[0],
root;
if (prefix.startsWith(''udf_'') && !data.udf_fields) {
data.udf_fields = {};
root = data.udf_fields;
}
else if (prefix.startsWith(''udf_'')) {
root = data.udf_fields;
}
else {
root = data;
}
if (prefix.endsWith(''string'')) {
root[field.substring(field.indexOf('':'') + 1)
.toLowerCase()] = fields[field];
}
else {
root[field.substring(field.indexOf('':'') + 1)
.toLowerCase()] = {
name: fields[field]
};
}
}
catch (error) {
Zabbix.log(4, ''[ ManageEngine Webhook ] Can\\''t parse field "'' + field +
''". The field ignored.'');
}
}
});
if (data.description) {
data.description = data.description.replace(/(?:\\r\\n|\\r|\\n)/g, ''
'');
}
result = {request: data};
}
return result;
}
};
try {
var params = JSON.parse(value),
fields = {},
sd = {},
result = {tags: {}},
required_params = [
''sd_on_premise'', ''field_string:subject'', ''field_string:description'',
''event_recovery_value'', ''event_source'', ''event_value'', ''event_update_status''
],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''default'', color: ''#000000''}
];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''sd_'')) {
sd[key.substring(3)] = params[key];
}
else if (key.startsWith(''field_'') || key.startsWith(''udf_field_'')) {
fields[key] = params[key];
}
if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_recovery_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''6'';
}
if (params.event_update_status === ''1'' && (typeof params.sd_request_id === ''undefined''
|| params.sd_request_id.trim() === ''''
|| params.sd_request_id === ''{EVENT.TAGS.__zbx_sd_request_id}''
|| params.sd_request_id === ''*UNKNOWN*'')) {
throw ''Parameter "sd_request_id" can\\''t be empty for update operation.'';
}
MEngine.setParams(sd);
MEngine.setProxy(params.HTTPProxy);
if (MEngine.params.on_premise.toLowerCase() !== ''true'') {
MEngine.refreshAccessToken();
}
// Create issue for non trigger-based events.
if (params.event_source !== ''0'' && params.event_recovery_value !== ''0'') {
fields[''field_object:priority''] = params[''priority_'' + severities[params.event_nseverity].name]
|| ''Normal'';
MEngine.request(''post'', ''requests'', MEngine.createPaylaod(fields));
}
// Create issue for trigger-based events.
else if (params.event_value === ''1'' && params.event_update_status === ''0'') {
fields[''field_object:priority''] = params[''priority_'' + severities[params.event_nseverity].name]
|| ''Normal'';
var id = MEngine.request(''post'', ''requests'', MEngine.createPaylaod(fields));
result.tags.__zbx_sd_request_id = id;
result.tags.__zbx_sd_request_link = MEngine.createLink(id, params.sd_url);
}
// Update created issue for trigger-based event.
else {
if (params.event_update_status === ''1'') {
MEngine.request(''post'', ''requests/'' + params.sd_request_id + ''/notes'',
MEngine.createPaylaod(fields, true)
);
}
delete fields[''field_string:description''];
MEngine.request(''put'', ''requests/'' + params.sd_request_id, MEngine.createPaylaod(fields));
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ ManageEngine Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_sd_request_link}','ManageEngine: {EVENT.TAGS.__zbx_sd_request_id}','','0'),
('82','4','MantisBT','','','','','','','','25','0','0','0','0','1','1','10s','1',E'var Mantisbt = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Mantisbt.params = params;
},
setProxy: function (HTTPProxy) {
Mantisbt.HTTPProxy = HTTPProxy;
},
checkUrlFormat: function (url) {
if (typeof url === ''string'' && !url.endsWith(''/'')) {
url += ''/'';
}
if (url.indexOf(''http://'') === -1 && url.indexOf(''https://'') === -1) {
url = ''https://'' + url;
}
return url;
},
getProblemURL: function (zabbix_url, triggerid, eventid, event_source) {
var problem_url = zabbix_url;
if (event_source === ''0'') {
problem_url += ''tr_events.php?triggerid='' + triggerid + ''&eventid='' + eventid;
}
return problem_url;
},
request: function (method, url, data) {
[''token'', ''url'', ''category''].forEach(function (field) {
if (typeof Mantisbt.params !== ''object'' || typeof Mantisbt.params[field] === ''undefined'' || Mantisbt.params[field] === '''') {
throw ''Required MantisBT param is not set: "'' + field + ''".'';
}
});
var response,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: '' + Mantisbt.params.token);
if (typeof Mantisbt.HTTPProxy !== ''undefined'' && Mantisbt.HTTPProxy !== '''') {
request.setProxy(Mantisbt.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ MantisBT Webhook ] Sending request: '' + url + ((typeof data === ''string'') ? (''\\n'' + data) : ''''));
switch (method) {
case ''post'':
response = request.post(url, data);
break;
case ''patch'':
response = request.patch(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ MantisBT Webhook ] Received response with status code '' + request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ MantisBT Webhook ] Failed to parse the response received from MantisBT'');
response = null;
}
}
if (typeof response !== ''object'') {
throw ''Failed to process the response received from MantisBT. Check debug log for more information.'';
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (typeof response.message !== ''undefined'') {
message += '': '' + response.message;
}
throw message;
}
return response;
}
};
try {
var params = JSON.parse(value),
mantisbt = {},
url = '''',
data = {},
result = { tags: {} },
required_params = [
''alert_subject'', ''alert_message'', ''event_source'', ''event_value'', ''event_update_action'',
''event_update_status'', ''event_recovery_value'', ''event_nseverity'', ''event_tagsjson'',
''event_id'', ''trigger_id'', ''zabbix_url'', ''alert_sendto'',
''mantisbt_token'', ''mantisbt_url'', ''mantisbt_category'', ''mantisbt_issue_number'', ''mantisbt_use_zabbix_tags''
],
method,
severities = [''none'', ''low'', ''normal'', ''high'', ''urgent'', ''immediate''];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''mantisbt_'')) {
mantisbt[key.substring(9)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" cannot be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1'' && (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_recovery_value === ''0'') {
throw ''Recovery operations are supported for trigger-based actions only.'';
}
if (typeof params.zabbix_url !== ''string'' || params.zabbix_url.trim() === '''' || params.zabbix_url === ''{$ZABBIX.URL}'') {
throw ''Field "zabbix_url" cannot be empty.'';
}
// Check for backslash in the end of url and schema.
mantisbt.url = Mantisbt.checkUrlFormat(mantisbt.url);
params.zabbix_url = Mantisbt.checkUrlFormat(params.zabbix_url);
// In case of resolve event.
if (params.event_source === ''0'' && params.event_value === ''0'') {
method = "patch";
url = mantisbt.url + ''api/rest/issues/'' + mantisbt.issue_number;
data = {
summary: params.alert_subject,
status: {
name: "resolved"
}
};
if (/commented/.test(params.event_update_action)) {
data.additional_information = params.event_update_message;
}
process_tags = false;
}
// In case of update event.
else if (params.event_source === ''0'' && params.event_update_status === ''1'') {
method = "patch";
url = mantisbt.url + ''api/rest/issues/'' + mantisbt.issue_number;
data = {
status: {},
priority: {
name: severities[parseInt(params.event_nseverity, 10)]
}
};
if (/commented/.test(params.event_update_action)) {
data.additional_information = params.event_update_message;
}
if (/acknowledged/.test(params.event_update_action)) {
data.status.name = "acknowledged";
}
if (/unacknowledged/.test(params.event_update_action)) {
data.status.name = "new";
}
process_tags = false;
}
else {
method = ''post'';
url = mantisbt.url + ''api/rest/issues'';
data = {
summary: params.alert_subject,
description: params.alert_message,
project: { name: params.alert_sendto },
category: { name: mantisbt.category },
priority: {
name: parseInt(params.event_nseverity, 10) ? severities[parseInt(params.event_nseverity, 10)] : "none"
}
};
if (params.event_source === ''0'') {
problem_url = Mantisbt.getProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source);
data.description += ''\\n'' + problem_url;
if (mantisbt.use_zabbix_tags === "true") {
var alert_tags = JSON.parse(params.event_tagsjson);
data.tags = alert_tags.map(function (t) { return { name: t.value ? (t.tag + '': '' + t.value) : t.tag }; });
}
}
process_tags = true;
}
Mantisbt.setParams(mantisbt);
Mantisbt.setProxy(params.HTTPProxy);
var response = Mantisbt.request(method, url, data);
if (process_tags) {
result.tags.__zbx_mantisbt_issue_number = response.issue.id;
result.tags.__zbx_mantisbt_link = mantisbt.url + ''view.php?id='' + response.issue.id;
}
Zabbix.log(4, ''[ MantisBT Webhook ] Result: '' + JSON.stringify(result));
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(4, ''[ MantisBT Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_mantisbt_link}','MantisBT: Issue ID {EVENT.TAGS.__zbx_mantisbt_issue_number}','','0'),
('83','4','Mattermost','','','','','','','','25','0','0','0','0','1','1','10s','1',E'var SEVERITY_COLORS = [
''#97AAB3'', ''#7499FF'', ''#FFC859'',
''#FFA059'', ''#E97659'', ''#E45959''
];
var RESOLVE_COLOR = ''#009900'';
var SEND_MODE_HANDLERS = {
alarm: handlerAlarm,
event: handlerEvent
};
if (!String.prototype.format) {
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\\d+)}/g, function(match, number) {
return number in args
? args[number]
: match
;
});
};
}
function isEventProblem(params) {
return params.event_value == 1
&& params.event_update_status == 0
;
}
function isEventUpdate(params) {
return params.event_value == 1
&& params.event_update_status == 1
;
}
function isEventResolve(params) {
return params.event_value == 0;
}
function getPermalink(mattermost_url, team_name, postid) {
return ''{0}/{1}/pl/{2}''.format(
mattermost_url.replace(/\\/+$/, ''''),
team_name,
postid
);
}
function getChannel(send_to) {
switch (true) {
case /.+\\/#.+/.test(send_to):
return getChannelByName(send_to);
case /@.+/.test(send_to):
return getDirectChannel(send_to);
default:
return getChannelByID(send_to);
}
}
function getChannelByName(send_to) {
var team_chan = send_to
.trim()
.split(''/#'');
var resp = JSON.parse(req.get(
Mattermost.channel_byname.format(team_chan[0], team_chan[1]),
JSON.stringify(fields)
)
);
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
return resp;
}
function getDirectChannel(send_to) {
Zabbix.log(5, ''[ Mattermost Webhook ] Call {0}({1})''.format(
arguments.callee.name,
JSON.stringify(arguments)
));
var teamUser = send_to
.trim()
.split(''/@''),
bot = getBotUser(),
user = getUserByName(teamUser[1]);
var resp = JSON.parse(req.post(
Mattermost.direct_channel,
JSON.stringify([bot.id, user.id])
)
);
Zabbix.log(5, ''[ Mattermost Webhook ] Result {0}: {1}''.format(
arguments.callee.name,
JSON.stringify(resp)
));
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
resp.team_name = teamUser[0];
return resp;
}
function getChannelByID(channelID) {
Zabbix.log(5, ''[ Mattermost Webhook ] Call {0}({1})''.format(
arguments.callee.name,
JSON.stringify(arguments)
));
var resp = JSON.parse(req.get(
Mattermost.get_channel.format(channelID),
JSON.stringify(fields)
)
);
Zabbix.log(5, ''[ Mattermost Webhook ] Result {0}: {1}''.format(
arguments.callee.name,
JSON.stringify(resp)
));
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
return resp;
}
function getBotUser() {
Zabbix.log(5, ''[ Mattermost Webhook ] Call {0}({1})''.format(
arguments.callee.name,
JSON.stringify(arguments)
));
var resp = JSON.parse(req.get(
Mattermost.bot_user,
JSON.stringify(fields)
)
);
Zabbix.log(5, ''[ Mattermost Webhook ] Result {0}: {1}''.format(
arguments.callee.name,
JSON.stringify(resp)
));
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
return resp;
}
function getUserByName(userName) {
Zabbix.log(5, ''[ Mattermost Webhook ] Call {0}({1})''.format(
arguments.callee.name,
JSON.stringify(arguments)
));
var resp = JSON.parse(req.get(
Mattermost.user_byname.format(userName),
JSON.stringify(fields)
)
);
Zabbix.log(5, ''[ Mattermost Webhook ] Result {0}: {1}''.format(
arguments.callee.name,
JSON.stringify(resp)
));
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
return resp;
}
function getTeamByID(teamID) {
Zabbix.log(5, ''[ Mattermost Webhook ] Call {0}({1})''.format(
arguments.callee.name,
JSON.stringify(arguments)
));
var resp = JSON.parse(req.get(
Mattermost.get_team.format(teamID),
JSON.stringify(fields)
)
);
Zabbix.log(5, ''[ Mattermost Webhook ] Result {0}: {1}''.format(
arguments.callee.name,
JSON.stringify(resp)
));
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
return resp;
}
function createProblemURL(zabbix_url, triggerid, eventid, event_source) {
var problem_url = '''';
if (event_source === ''0'') {
problem_url = ''{0}/tr_events.php?triggerid={1}&eventid={2}''
.format(
zabbix_url,
triggerid,
eventid
);
}
else {
problem_url = zabbix_url;
}
return problem_url;
}
function getTagValue(event_tags, key) {
var pattern = new RegExp(''('' + key + '':.+)'');
var tagValue = event_tags
.split('','')
.filter(function (v) {
return v.match(pattern);
})
.map(function (v) {
return v.split('':'')[1];
})[0]
|| 0;
return tagValue;
}
function handlerAlarm(req, params) {
var channel = getChannel(params.send_to);
var fields = {
channel_id: channel.id,
props: {}
};
if (isEventProblem(params)) {
var team_name = channel.team_name
? channel.team_name
: getTeamByID(channel.team_id).name;
fields.props.attachments = [
createMessage(
SEVERITY_COLORS[params.event_nseverity] || 0,
params.event_date,
params.event_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source)
)
];
var resp = JSON.parse(req.post(
Mattermost.post_message,
JSON.stringify(fields)
)
);
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
result.tags.__mattermost_post_id = resp.id;
result.tags.__mattermost_channel_id = channel.id;
result.tags.__mattermost_channel_name = channel.name;
result.tags.__mattermost_message_link = getPermalink(
params.mattermost_url,
team_name,
resp.id
);
}
else if (isEventUpdate(params)) {
fields.root_id = getTagValue(params.event_tags, ''mattermost_post_id'');
if (params.event_source === ''0'') {}
fields.props.attachments = [
createMessage(
SEVERITY_COLORS[params.event_nseverity] || 0,
params.event_update_date,
params.event_update_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source),
true
)
];
resp = JSON.parse(req.post(
Mattermost.post_message, JSON.stringify(fields)
)
);
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
}
else if (isEventResolve(params)) {
fields.channel_id = getTagValue(params.event_tags, ''mattermost_channel_id'');
fields.id = getTagValue(params.event_tags, ''mattermost_post_id'');
fields.props.attachments = [
createMessage(
RESOLVE_COLOR,
params.event_date,
params.event_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source)
)
];
var post_id = getTagValue(params.event_tags, ''mattermost_post_id'');
resp = JSON.parse(req.put(
Mattermost.chat_update.format(post_id),
JSON.stringify(fields)
)
);
if (req.getStatus() != 200) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
}
}
function handlerEvent(req, params) {
var channel = getChannel(params.send_to);
var fields = {
channel_id: channel.id,
props: {}
};
if (isEventProblem(params)) {
var team_name = channel.team_name
? channel.team_name
: getTeamByID(channel.team_id).name;
fields.props.attachments = [
createMessage(
SEVERITY_COLORS[params.event_nseverity] || 0,
params.event_date,
params.event_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source)
)
];
var resp = JSON.parse(req.post(Mattermost.post_message, JSON.stringify(fields)));
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
result.tags.__mattermost_channel_name = channel.name;
result.tags.__mattermost_message_link = getPermalink(
params.mattermost_url,
team_name,
resp.id
);
}
else if (isEventUpdate(params)) {
fields.props.attachments = [
createMessage(
SEVERITY_COLORS[params.event_nseverity] || 0,
params.event_update_date,
params.event_update_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source),
false
)
];
resp = JSON.parse(req.post(Mattermost.post_message, JSON.stringify(fields)));
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
}
else if (isEventResolve(params)) {
fields.props.attachments = [
createMessage(
RESOLVE_COLOR,
params.event_recovery_date,
params.event_recovery_time,
createProblemURL(params.zabbix_url, params.trigger_id, params.event_id, params.event_source)
)
];
resp = JSON.parse(req.post(Mattermost.post_message, JSON.stringify(fields)));
if (req.getStatus() != 201) {
throw ''[{0}] {1}''.format(resp.status_code, resp.message);
}
}
}
function createMessage(
event_severity_color,
event_date,
event_time,
problem_url,
isShort
) {
var message = {
fallbac: params.alert_subject,
title: params.alert_subject,
color: event_severity_color,
title_link: problem_url,
footer: problem_url,
fields: [
{
title: ''Host'',
value: ''{0} [{1}]''.format(params.host_name, params.host_ip),
short: true
},
{
title: ''Event time'',
value: ''{0} {1}''.format(event_date, event_time),
short: true
}
],
};
if (params.event_source === ''0'') {
message.fields.push(
{
title: ''Severity'',
value: params.event_severity,
short: true
},
{
title: ''Opdata'',
value: params.event_opdata,
short: true
}
);
}
if (!isShort && params.event_source === ''0'') {
message.fields.push(
{
title: ''Event tags'',
value: ''`{0}`''.format(params.event_tags.replace(/__.+?:(.+?,|.+)/g, '''') || ''None''),
short: true
},
{
title: ''Trigger description'',
value: params.trigger_description,
short: true
}
);
}
if (params.event_source !== ''0'' || params.event_update_status === ''1'') {
message.fields.push(
{
title: ''Details'',
value: params.alert_message,
short: false
}
);
}
return message;
}
function validateParams(params) {
if (typeof params.bot_token !== ''string'' || params.bot_token.trim() === '''') {
throw ''Field "bot_token" cannot be empty'';
}
if (isNaN(params.event_id)) {
throw ''Field "event_id" is not a number'';
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: "'' + params.event_source + ''".\\nMust be 0-3.'';
}
if (params.event_source !== ''0'') {
params.event_nseverity = ''0'';
params.event_severity = ''Not classified'';
params.event_update_status = ''0'';
params.send_mode = ''event'';
}
if (params.event_source === ''1'' || params.event_source === ''2'') {
params.event_value = ''1'';
}
if (params.event_source === ''1'') {
params.host_name = params.discovery_host_dns;
params.host_ip = params.discovery_host_ip;
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
throw ''Incorrect "event_nseverity" parameter given: '' + params.event_nseverity + ''\\nMust be 0-5.'';
}
if (typeof params.event_severity !== ''string'' || params.event_severity.trim() === '''') {
throw ''Field "event_severity" cannot be empty'';
}
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_value !== ''0'' && params.event_value !== ''1'') {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
if (typeof params.host_ip !== ''string'' || params.host_ip.trim() === '''') {
throw ''Field "host_ip" cannot be empty'';
}
if (typeof params.host_name !== ''string'' || params.host_name.trim() === '''') {
throw ''Field "host_name" cannot be empty'';
}
if (typeof params.mattermost_url !== ''string'' || params.mattermost_url.trim() === '''') {
throw ''Field "mattermost_url" cannot be empty'';
}
if (!/^(http|https):\\/\\/.+/.test(params.mattermost_url)) {
throw ''Field "mattermost_url" must contain a schema'';
}
if ([''alarm'', ''event''].indexOf(params.send_mode) === -1) {
throw ''Incorrect "send_mode" parameter given: '' + params.send_mode + ''\\nMust be "alarm" or "event".'';
}
if (typeof params.send_to !== ''string'' || params.send_to.trim() === '''') {
throw ''Field "send_to" cannot be empty'';
}
if (isNaN(params.trigger_id) && params.event_source === ''0'') {
throw ''field "trigger_id" is not a number'';
}
if (typeof params.zabbix_url !== ''string'' || params.zabbix_url.trim() === '''') {
throw ''Field "zabbix_url" cannot be empty'';
}
if (!/^(http|https):\\/\\/.+/.test(params.zabbix_url)) {
throw ''Field "zabbix_url" must contain a schema'';
}
}
try {
var params = JSON.parse(value);
validateParams(params);
var req = new HttpRequest(),
fields = {},
result = {tags: {}};
if (typeof params.HTTPProxy === ''string'' && params.HTTPProxy.trim() !== '''') {
req.setProxy(params.HTTPProxy);
}
req.addHeader(''Content-Type: application/json; charset=utf-8'');
req.addHeader(''Authorization: Bearer '' + params.bot_token);
params.mattermost_url = params.mattermost_url.replace(/\\/+$/, '''');
params.zabbix_url = params.zabbix_url.replace(/\\/+$/, '''');
var APIEndpoint = params.mattermost_url + ''/api/v4/'';
var Mattermost = {
post_message: APIEndpoint + ''posts'',
get_channel: APIEndpoint + ''channels/{0}'',
get_team: APIEndpoint + ''teams/{0}'',
chat_update: APIEndpoint + ''posts/{0}'',
direct_channel: APIEndpoint + ''channels/direct'',
channel_byname: APIEndpoint + ''teams/name/{0}/channels/name/{1}'',
user_byname: APIEndpoint + ''users/username/{0}'',
bot_user: APIEndpoint + ''users/me''
};
params.send_mode = params.send_mode.toLowerCase();
params.send_mode = params.send_mode in SEND_MODE_HANDLERS
? params.send_mode
: ''alarm'';
SEND_MODE_HANDLERS[params.send_mode](req, params);
if (params.event_source === ''0'') {
return JSON.stringify(result);
}
else {
return ''OK'';
}
}
catch (error) {
Zabbix.log(4, ''[ Mattermost Webhook ] Mattermost notification failed: '' + error);
throw ''Mattermost notification failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__mattermost_message_link}','Open in Mattermost: {EVENT.TAGS.__mattermost_channel_name}','','0'),
('84','4','MS Teams','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
var SEVERITY_COLORS = [
''#97AAB3'',
''#7499FF'',
''#FFC859'',
''#FFA059'',
''#E97659'',
''#E45959'',
''#009900'',
''#1F1F1F''
],
serviceLogName = ''MS Teams Webhook'',
Logger = new CLogger(serviceLogName),
MSTeams = CWebhook;
MSTeams.prototype.addBodyFact = function (name, value) {
if (!CParamValidator.isDefined(this.data.sections[0].facts)) {
this.data.sections[0].facts = [];
}
this.data.sections[0].facts.push({name: name, value: value});
}
MSTeams.prototype.onCheckParams = function () {
CParamValidator.validate({teams_endpoint: {type: ''string''}, event_source: {type: ''string''}, alert_subject: {type: ''string''},
alert_message: {type: ''string''}, host_ip: {type: ''string'', default: ''''}, zabbix_url: {type: ''string'', url: true},
use_default_message: {type: ''boolean'', default: false}, event_nseverity: {type: ''integer'', default: 7}}, this.params);
var actionName = ''Zabbix Home'';
if (!CParamValidator.inArray(this.params.event_source, [''0'',''3'',''4''])
|| this.params.alert_message.startsWith("NOTE: Escalation canceled:")) {
this.params[''use_default_message''] = true;
}
if (this.params.event_source === ''0'') {
CParamValidator.validate({event_id: {type: ''integer''}, trigger_id: {type: ''integer''}}, this.params);
actionName = ''Event Info'';
}
var actionURL = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
if (this.params.event_value === ''0'') {
this.params.event_nseverity = 6;
}
this.data = {
themeColor: SEVERITY_COLORS[this.params.event_nseverity].replace(''#'', ''''),
summary: this.params.alert_subject,
sections: [{
markdown: ''false'',
activityTitle: this.params.alert_subject,
text: (this.params.event_source === ''0'' && !this.params.use_default_message) ? this.params.trigger_description : this.params.alert_message
}],
potentialAction: [{
''@type'': ''OpenUri'',
name: actionName,
targets: [{
os: ''default'',
uri: actionURL
}]
}]
};
};
MSTeams.prototype.makeUpDefaultMessage = function () {
if (!this.params.use_default_message) {
if (!CParamValidator.isEmpty(this.params.host_name) && CParamValidator.isMacroSet(this.params.host_name, ''HOST.NAME'')) {
this.addBodyFact(''Host'', this.params.host_name + ((!CParamValidator.isEmpty(this.params.host_ip)) ? '' ['' + this.params.host_ip + '']'' : ''''));
}
if (!CParamValidator.isEmpty(this.params.event_severity) && CParamValidator.isMacroSet(this.params.event_severity, ''EVENT.SEVERITY'')) {
this.addBodyFact(''Severity'', this.params.event_severity);
}
if (!CParamValidator.isEmpty(this.params.event_opdata) && CParamValidator.isMacroSet(this.params.event_opdata, ''EVENT.OPDATA'')) {
this.addBodyFact(''Operational data'', this.params.event_opdata);
}
if (!CParamValidator.isEmpty(this.params.event_tags) && CParamValidator.isMacroSet(this.params.event_tags, ''EVENT.TAGS'')) {
this.addBodyFact(''Event tags'', this.params.event_tags);
}
Object.keys(this.params).forEach(function (key) {
if (key.startsWith(''fact_'') && this.params[key] !== '''') {
this.addBodyFact(key.substring(5), this.params[key]);
}
else if (key.startsWith(''openUri_'') && this.params[key] !== '''' && !this.params[key].startsWith(''{'')) {
this.data.potentialAction.push({
''@type'': ''OpenUri'',
name: key.substring(8),
targets: [{
os: ''default'',
uri: this.params[key]
}]
});
}
});
}
}
const htmlMultiline = function (text) {
return text.replace(/(?:\\r\\n|\\r|\\n)/g, ''
'');
}
MSTeams.prototype.sendRequest = function () {
this.request.addHeaders({"Content-Type": "application/json"});
var response = this.request.plainRequest(''POST'', this.params.teams_endpoint, JSON.stringify(this.data));
if (response !== ''1'') {
Logger.log(Logger.WARN, ''FAILED with response: '' + response);
throw response;
}
return ''OK'';
};
MSTeams.prototype.onProblem = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (!this.params.use_default_message) {
this.addBodyFact(''Event time'', this.params.event_time + '' '' + this.params.event_date);
this.makeUpDefaultMessage();
}
this.data.sections[0].text = htmlMultiline(this.data.sections[0].text);
return this.sendRequest();
}
MSTeams.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (!this.params.use_default_message) {
this.data.sections[0].text = this.params.event_update_user + '' '' + this.params.event_update_action + ''.'';
if (this.params.event_update_message) {
this.data.sections[0].text += ''
Message:
'' + this.params.event_update_message;
}
this.addBodyFact(''Event update time'', this.params.event_update_time + '' '' + this.params.event_update_date);
this.makeUpDefaultMessage();
}
this.data.sections[0].text = htmlMultiline(this.data.sections[0].text);
return this.sendRequest();
}
MSTeams.prototype.onResolve = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (!this.params.use_default_message) {
this.addBodyFact(''Recovery time'', this.params.event_recovery_time + '' '' + this.params.event_recovery_date);
this.makeUpDefaultMessage();
}
this.data.sections[0].text = htmlMultiline(this.data.sections[0].text);
return this.sendRequest();
}
MSTeams.prototype.onDiscovery = function (alert) {
return this.onProblem(alert);
}
MSTeams.prototype.onAutoreg = function (alert) {
return this.onProblem(alert);
}
try {
var hook = new MSTeams(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/msteams
1. Add official Zabbix webhook connector from MS Teams apps for the channel, where you want to receive notifications.
2. Create Incoming webhook for your channel.
3. In the Zabbix web interface go to Administration → Macros section. Setup the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend.
4. On this page replace placeholder with the incoming webhook URL, created during the webhook setup in MS Teams.
5. To receive Zabbix notifications in MS Teams, you need to create a Zabbix user and add Media with the MS Teams media type. Make sure this user has access to all hosts for which you would like problem notifications to be sent to MS Teams.','0'),
('85','4','MS Teams Workflow','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
var serviceLogName = ''MS Teams Webhook'',
Logger = new CLogger(serviceLogName),
MSTeams = CWebhook;
MSTeams.prototype.onCheckParams = function () {
CParamValidator.validate({
alert_subject: { type: ''string'' }, alert_message: { type: ''string'' },
zabbix_url: { type: ''string'', url: true }, teams_endpoint: { type: ''string'', url: true }
}, this.params);
if (this.params.event_source === ''0'') {
CParamValidator.validate({ event_id: { type: ''integer'' }, trigger_id: { type: ''integer'' } }, this.params);
}
this.body = {
type: "message",
attachments: [
{
contentType: "application/vnd.microsoft.card.adaptive",
contentUrl: null,
content: {
$schema: "http://adaptivecards.io/schemas/adaptive-card.json",
type: "AdaptiveCard",
version: "1.4",
body: [
{
type: "Container",
items: [
{
type: "TextBlock",
size: "Medium",
wrap: "true",
weight: "Bolder",
text: this.params.alert_subject
}
],
style: "",
bleed: true
}
],
actions: [
{
type: "Action.OpenUrl",
title: "Event info",
url: CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id)
}
]
}
}
]
};
this.params.alert_message = this.params.alert_message.split(''\\n'');
for (line in this.params.alert_message) {
this.body.attachments[0].content.body.push({
type: "TextBlock",
wrap: "true",
text: this.params.alert_message[line]
});
}
};
MSTeams.prototype.sendRequest = function (color) {
this.body.attachments[0].content.body[0].style = color;
this.request.addHeaders({ "Content-Type": "application/json" });
var response = this.request.plainRequest(''POST'', this.params.teams_endpoint, JSON.stringify(this.body));
if (this.request.getStatus() !== 202) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus() + ''. Endpoint response:'' + response);
throw ''HTTP code: '' + this.request.getStatus() + ''. Endpoint response:'' + response;
}
return ''OK'';
};
MSTeams.prototype.onProblem = function () {
return this.sendRequest("attention");
};
MSTeams.prototype.onResolve = function () {
return this.sendRequest("good");
};
MSTeams.prototype.onUpdate = function () {
return this.sendRequest("emphasis");
};
MSTeams.prototype.onDiscovery = function () {
return this.sendRequest("emphasis");
};
MSTeams.prototype.onAutoreg = function () {
return this.sendRequest("emphasis");
};
try {
var hook = new MSTeams(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
};','30s','0','0','','','To set up a webhook, please follow these steps:
- Create a workflow in MS Teams. You can use the "Post a message in a channel when a webhook request is received" template for it.
- Copy the endpoint URL and place it in the teams_endpoint parameter.
- Set up the global macro {$ZABBIX.URL}, which will contain the URL to the Zabbix frontend.
- Create a Zabbix user and add the MS Teams Workflow media to it.
For more detailed instructions, please visit https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/.','0'),
('86','4','Opsgenie','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var method,
Media = {
params: {},
name: '''',
labels: [],
HTTPProxy: '''',
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Media.params = params;
Media.params.api += Media.params.api.endsWith(''/'') ? '''' : ''/'';
Media.params.web += Media.params.web.endsWith(''/'') ? '''' : ''/'';
},
setProxy: function (HTTPProxy) {
if (typeof HTTPProxy !== ''undefined'' && HTTPProxy.trim() !== '''') {
Media.HTTPProxy = HTTPProxy;
}
},
setTags: function(event_tags_json) {
if (typeof event_tags_json !== ''undefined'' && event_tags_json !== ''''
&& event_tags_json !== ''{EVENT.TAGSJSON}'') {
try {
var tags = JSON.parse(event_tags_json),
label;
tags.forEach(function (tag) {
if (typeof tag.tag === ''string'') {
label = (tag.tag + (typeof tag.value !== ''undefined''
&& tag.value !== '''' ? ('':'' + tag.value) : '''')).replace(/\\s/g, ''_'');
Media.labels.push(label);
}
});
}
catch (error) {
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Failed to parse "event_tags_json" param'');
}
}
},
request: function (method, query, data, allow_404) {
if (typeof(allow_404) === ''undefined'') {
allow_404 = false;
}
[''api'', ''token''].forEach(function (field) {
if (typeof Media.params !== ''object'' || typeof Media.params[field] === ''undefined''
|| Media.params[field] === '''') {
throw ''Required '' + Media.name + '' param is not set: "'' + field + ''".'';
}
});
var response,
url = Media.params.api + query,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: '' + Media.params.token);
request.setProxy(Media.HTTPProxy);
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Sending request: '' +
url + ((typeof data === ''string'') ? (''\\n'' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Failed to parse response.'');
response = null;
}
}
if ((request.getStatus() < 200 || request.getStatus() >= 300)
&& (!allow_404 || request.getStatus() !== 404)) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null) {
if (typeof response.errors === ''object'' && Object.keys(response.errors).length > 0) {
message += '': '' + JSON.stringify(response.errors);
}
else if (typeof response.errorMessages === ''object'' && Object.keys(response.errorMessages).length > 0) {
message += '': '' + JSON.stringify(response.errorMessages);
}
else if (typeof response.message === ''string'') {
message += '': '' + response.message;
}
}
throw message + '' Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
},
getAlertId: function (requestId) {
status_counter = params.status_counter || 25;
do {
resp = Media.request(''get'', ''requests/'' + requestId, undefined, true);
status_counter -= 1;
}
while ( status_counter > 0 &&
(
typeof resp.response !== ''object'' ||
typeof resp.response.data === ''undefined'' ||
resp.response.data.success === false &&
!resp.response.data.status.includes("There is no open alert") &&
!resp.response.data.status.includes("Alert is already")
)
);
if (typeof resp.response !== ''object'' || typeof resp.response.data === ''undefined'') {
throw ''Cannot get '' + Media.name + '' issue ID. Check debug log for more information.'';
}
else if (resp.response.data.success === false ) {
throw Media.name + '': Operation status ('' + resp.response.data.status + '')'';
}
return resp;
}
};
try {
var result = {tags: {}},
params = JSON.parse(value),
media = {},
fields = {},
resp = {},
responders = [],
tags = [],
required_params = [
''alert_subject'',
''alert_message'',
''event_id'',
''event_source'',
''event_value'',
''event_update_status'',
''opsgenie_api'',
''opsgenie_web'',
''opsgenie_token''
],
severities = [
''not_classified'',
''information'',
''warning'',
''average'',
''high'',
''disaster'',
''resolved'',
''default''
],
priority;
Object.keys(params)
.forEach(function (key) {
if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter "'' + key + ''" cannot be empty.'';
}
if (key.startsWith(''opsgenie_'')) {
media[key.substring(9)] = params[key];
}
});
// Possible values of event_source:
// 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal.
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: "'' + params.event_source + ''".\\nMust be 0-3.'';
}
// Check event_value for trigger-based and internal events.
// Possible values: 1 for problem, 0 for recovering
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check event_update_status only for trigger-based events.
// Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation.
if (params.event_source === ''0'' && params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
// Check event_id for a numeric value.
if (isNaN(parseInt(params.event_id)) || params.event_id < 1) {
throw ''Incorrect "event_id" parameter given: '' + params.event_id + ''\\nMust be a positive number.'';
}
if ((params.event_source === ''1'' || params.event_source === ''2'') && params.event_value === ''0'') {
throw ''Recovery operations are supported only for Trigger and Internal actions.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''severity_'' + severities[params.event_nseverity]];
params.zbxurl = params.zbxurl + (params.zbxurl.endsWith(''/'') ? '''' : ''/'');
Media.name = ''Opsgenie'';
Media.setParams(media);
Media.params.token = ''GenieKey '' + Media.params.token;
Media.setProxy(params.HTTPProxy);
Media.setTags(params.event_tags_json); // Set Media.labels
// Create an issue.
// Numeric value of the event that triggered an action (1 for problem, 0 for recovering).
// Numeric value of the problem update status. Possible values:
// 0 - Webhook was called because of problem/recovery event, 1 - Update operation.
if ((params.event_source == 0 && params.event_value == 1 && params.event_update_status == 0)
|| (params.event_source == 3 && params.event_value == 1)
|| params.event_source == 1 || params.event_source == 2) {
fields.message = params.alert_subject;
fields.alias = params.event_id;
fields.description = params.alert_message;
fields.priority = priority;
fields.source = ''Zabbix'';
if (params.event_source === ''0'') {
fields.details = {
''Zabbix server'': params.zbxurl,
Problem: params.zbxurl + ''tr_events.php?triggerid='' + params.trigger_id + ''&eventid='' + params.event_id
};
}
else {
fields.details = {''Zabbix server'': params.zbxurl};
}
if (typeof params.opsgenie_teams === ''string'') {
responders = params.opsgenie_teams.split('','');
fields.responders = responders.map(function(team) {
return {type: ''team'', name: team.trim()};
});
}
fields.tags = Media.labels;
if (typeof params.opsgenie_tags === ''string'') {
tags = params.opsgenie_tags.split('','');
tags.forEach(function(item) {
fields.tags.push(item.trim());
});
}
resp = Media.request(''post'', '''', fields);
if (typeof resp.response !== ''object'' || typeof resp.response.result === ''undefined'') {
throw ''Cannot create '' + Media.name + '' issue. Check debug log for more information.'';
}
if (resp.status === 202) {
resp = Media.getAlertId(resp.response.requestId);
if (params.event_source == 0 && params.event_value == 1 && params.event_update_status == 0) {
result.tags.__zbx_ops_issuekey = resp.response.data.alertId;
result.tags.__zbx_ops_issuelink = Media.params.web + ''alert/detail/'' + resp.response.data.alertId;
}
}
else {
throw Media.name + '' response code is unexpected. Check debug log for more information.'';
}
}
// Update or close the created issue.
else {
fields.user = (params.event_value != 0) ? params.zbxuser : '''';
fields.note = params.alert_message;
if ( [0, 3].indexOf(parseInt(params.event_source)) > -1 && params.event_value == 0 ) {
// skip sending of close request from update operation(mandatory when both update & recovery operations are defined in action)
method = params.event_update_status == 0 ? "close" : "skip";
}
else if ( params.event_source == 0 && params.event_value == 1 && params.event_update_status == 1 && params.event_update_action.includes(''acknowledged'')) {
method = params.event_update_action.includes(''unacknowledged'') ? "unacknowledge" : "acknowledge";
}
else {
method = "notes";
}
if (method !== "skip") {
resp = Media.request(''post'', params.event_id + ''/'' + method +''?identifierType=alias'', fields);
if (typeof resp.response !== ''object'' || typeof resp.response.result === ''undefined'') {
throw ''Cannot update '' + Media.name + '' issue. Check debug log for more information.'';
}
if (resp.status === 202) {
resp = Media.getAlertId(resp.response.requestId);
}
else {
throw Media.name + '' response code is unexpected. Check debug log for more information.'';
}
}
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ '' + Media.name + '' Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_ops_issuelink}','Opsgenie: {EVENT.TAGS.__zbx_ops_issuekey}','Please refer to https://docs.opsgenie.com/docs/alert-api and https://www.zabbix.com/documentation/7.4/manual/config/notifications/media/webhook#example_scripts.
Set global macro {$ZABBIX.URL} with your Zabbix server URL.
Add dedicated user with media type "Opsgenie".
Change the values of the variables opsgenie_api (https://api.opsgenie.com/v2/alerts or https://api.eu.opsgenie.com/v2/alerts),
opsgenie_web (for example, https://myzabbix.app.opsgenie.com), opsgenie_token.','0'),
('87','4','OTRS CE','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const SEVERITIES = ["not_classified", "information", "warning", "average", "high", "disaster"],
serviceLogName = '' ((OTRS)) CE Webhook '',
Logger = new CLogger(serviceLogName),
OTRS = CWebhook;
OTRS.prototype.onCheckParams = function () {
CParamValidator.validate({alert_subject: {type: ''string''}, alert_message: {type: ''string''},
event_nseverity: {type: ''integer'', default: -1}, otrs_url: {type: ''string'', url: true}, otrs_auth_user: {type: ''string''},
otrs_auth_password: {type: ''string''}, otrs_customer: {type: ''string''}, otrs_default_priority_id: {type: ''integer'', min: 1, max: 5},
otrs_queue: {type: ''string''}, otrs_ticket_type: {type: ''string''}, otrs_ticket_state: {type: ''string''}, otrs_time_unit: {type: ''integer''},
otrs_closed_state_id: {type: ''integer'', default: 0}, zabbix_url: {type: ''string'', url: true}}, this.params);
this.params.entrypoint = ''/nph-genericinterface.pl/Webservice/ZabbixTicketConnector/Ticket'';
var priority;
if (this.params.event_nseverity >= 0 && this.params.event_nseverity < SEVERITIES.length) {
priority = this.params[''severity_'' + SEVERITIES[this.params.event_nseverity]];
}
this.priority = (CParamValidator.isDefined(priority)) ? priority.trim() : this.params.otrs_default_priority_id;
if (this.params.event_source === ''0'') {
CParamValidator.validate({trigger_id: {type: ''integer''}, event_id: {type: ''integer''}}, this.params);
this.params.zabbix_url = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
this.params.alert_message = this.params.alert_subject + ''\\n'' + this.params.alert_message + ''\\n'' +
this.params.zabbix_url + ''\\n'';
}
if (this.params.event_value != ''0'' && CParamValidator.isMacroSet(this.params.otrs_ticket_id)) {
this.params.event_update_status = ''1'';
}
this.dynamicFields = {}
Object.keys(this.params).forEach(function (key) {
if (key.startsWith(''dynamicfield_'')) {
this.dynamicFields[key.substring(13)] = this.params[key];
}
});
this.data = {
Article: {
Subject: this.params.alert_subject,
Body: (CParamValidator.isDefined(this.params.alert_message)) ? this.params.alert_message : '''',
TimeUnit: this.params.otrs_time_unit.toString(),
ContentType: ''text/plain; charset=utf8''
}
};
this.result = {tags: {}};
};
OTRS.prototype.sendRequest = function (method) {
var url = this.params.otrs_url + this.params.entrypoint +
''?UserLogin='' + encodeURIComponent(this.params.otrs_auth_user) +
''&Password='' + encodeURIComponent(this.params.otrs_auth_password);
var response = this.request.jsonRequest(method, url, this.data);
if (!CParamValidator.isType(response, ''object'')) {
Logger.log(Logger.INFO, ''API response ERROR: '' + response);
throw ''Unknown error. Check debug log for more information.'';
}
if (this.request.getStatus() < 200 || this.request.getStatus() >= 300) {
var message = ''status code '' + this.request.getStatus();
Logger.log(Logger.INFO, ''API response ERROR with '' + message + '': '' + response);
throw ''Request failed with '' + message + ''. Check debug log for more information.'';
}
if (CParamValidator.isDefined(response.Error) && Object.keys(response.Error).length > 0) {
Logger.log(Logger.INFO, ''API response ERROR: '' + JSON.stringify(response.Error));
throw ''Request failed: '' + JSON.stringify(response.Error);
}
return {
status: this.request.getStatus(),
response: response
};
};
OTRS.prototype.createTicket = function () {
this.data[''Ticket''] = {
Title: this.params.alert_subject,
Queue: this.params.otrs_queue,
Type: this.params.otrs_ticket_type,
State: this.params.otrs_ticket_state,
PriorityID: this.priority.toString(),
CustomerUser: this.params.otrs_customer
}
var result = this.sendRequest(''post'');
if (!CParamValidator.isDefined(result.response.TicketID) || result.status != 200) {
throw ''Cannot create ((OTRS)) CE ticket. Check debug log for more information.'';
}
return result.response.TicketID;
}
OTRS.prototype.updateTicket = function () {
CParamValidator.validate({otrs_ticket_id: {type: ''string''}, entrypoint: {type: ''string''}}, this.params);
this.params.entrypoint += ''/'' + encodeURIComponent(this.params.otrs_ticket_id);
var result = this.sendRequest(''put'');
if (!CParamValidator.isDefined(result.response.TicketID) || result.status != 200) {
throw ''Cannot update ((OTRS)) CE ticket. Check debug log for more information.'';
}
return result.response.TicketID;
}
OTRS.prototype.onProblem = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (CParamValidator.isDefined(alert.source) && CParamValidator.inArray(alert.source, [''trigger'', ''service'', ''internal''])) {
if (Object.keys(this.dynamicFields).length > 0) {
this.data.DynamicField = [];
Object.keys(this.dynamicFields).forEach(function(field) {
if (field !== undefined) {
if (this.dynamicFields[field].match(/^\\d{4}[.-]\\d{2}[.-]\\d{2}$/)) {
this.dynamicFields[field] = this.dynamicFields[field].replace(/\\./g, ''-'');
}
this.data.DynamicField.push({Name: field, Value: this.dynamicFields[field]});
}
});
}
const ticket_id = this.createTicket(alert);
this.result.tags.__zbx_otrs_ticket_id = ticket_id;
this.result.tags.__zbx_otrs_ticketlink = this.params.otrs_url + ''index.pl?Action=AgentTicketZoom;TicketID='' + ticket_id;
return this.result;
}
return this.createTicket();
}
OTRS.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.updateTicket();
return this.result;
}
OTRS.prototype.onResolve = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (this.params.otrs_closed_state_id > 0) {
this.data[''Ticket''] = {
StateID: this.params.otrs_closed_state_id
}
}
this.updateTicket();
return this.result;
}
OTRS.prototype.onDiscovery = function (alert) {
return this.onProblem(alert);
}
OTRS.prototype.onAutoreg = function (alert) {
return this.onProblem(alert);
}
try {
var hook = new OTRS(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_otrs_ticketlink}','((OTRS)) CE: ticket #{EVENT.TAGS.__zbx_otrs_ticket_id}','This media type integrates your Zabbix installation with your ((OTRS)) CE installation using the Zabbix webhook feature.
((OTRS)) CE configuration:
1. Create a new web service. To do so, navigate to "Admin" → "Web services" and import the "ZabbixTicketConnector.yml" file (it can be found in the official Zabbix repository next to the media type file).
2. Create a new customer.
3. Create a new customer user. Select the ID of the customer that you created in the previous step.
4. Create a new agent. Depending on the ticket queue you want to use for tickets created by the webhook, set the "RW" permission for the group that this ticket queue belongs to. In the example below, if you want to use the "Misc" queue, you must set the "RW" permission for the group "users".
Zabbix configuration:
1. Before you can start using the ((OTRS)) CE webhook, set the global macro "{$ZABBIX.URL}":
- In the Zabbix web interface, go to "Administration" → "Macros" in the top-left dropdown menu.
- Set the global macro "{$ZABBIX.URL}" to the URL of the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or localhost.
- Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration, you might also need to append "/zabbix" to the end of URL. Good examples:
- http://zabbix.com
- https://zabbix.lan/zabbix
- http://server.zabbix.lan/
- http://localhost
- http://127.0.0.1:8080
- Bad examples:
- zabbix.com
- http://zabbix/
2. Set the following webhook parameters:
- otrs_auth_user - the username of the agent
- otrs_auth_password - the password of the agent
- otrs_customer - the email of the customer user
- otrs_queue - the queue that will be used for tickets created by the webhook
- otrs_url - the frontend URL of your ((OTRS)) CE installation (for example, "https://otrs.example.com/otrs")
3. If you want to prioritize issues according to the severity values in Zabbix, you can define mapping parameters (create them as additional webhook parameters):
- severity_ - the ((OTRS)) CE priority ID ( in the parameter name can be one of the following values: "not_classified", "information", "warning", "average", "high", "disaster")
4. If you have dynamic fields in ((OTRS)) CE and want them to be filled with values from Zabbix, add webhook parameters in the format "dynamicfield_<((OTRS)) CE dynamic field name>", similarly to the previous step. Dynamic fields can only be of the types "text", "textarea", "checkbox", or "date".
5. If you want the webhook to close tickets related to **resolved** problems in Zabbix, you can change the following parameter value:
- otrs_closed_state_id - ((OTRS)) CE state ID for closed tasks (possible values: 0 - Disable tickets closing, >0 - State ID from the State Management page).
6. If you use the ticket type feature, you can change the type of the created tickets:
- otrs_ticket_type - ((OTRS)) CE ticket type (set to "Unclassified" by default; present on fresh installations).
7. Click the "Enabled" checkbox to enable the mediatype and click the "Update" button to save the webhook settings.
8. Create a Zabbix user and add media:
- To create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- In the "Media" tab, click "Add" and select the type "OTRS CE" from the drop-down list. Add any value in the "Send to" field: it is not used in the webhook, but is required.
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to ((OTRS)) CE.
9. Done! You can now start using this media type in actions and create tickets.
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/otrs_ce','0'),
('88','4','PagerDuty','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
var severityMapping = [
''info'',
''info'',
''warning'',
''warning'',
''error'',
''critical''
],
serviceLogName = ''PagerDuty Webhook'',
Logger = new CLogger(serviceLogName),
PagerDuty = CWebhook;
function getDefaultEventData(data, params) {
data.event_action = ''trigger'';
data.payload.custom_details = {
''Alert message'': params.alert_message
};
Object.keys(params).forEach(function (key) {
if (key.startsWith(''customdetails_'') && !CParamValidator.isEmpty(params[key])) {
data.payload.custom_details[key.substring(14)] = params[key];
}
});
data.client = ''Zabbix'';
data.client_url = params.zabbix_url;
return data;
};
PagerDuty.prototype.onCheckParams = function () {
this.params.url = ''https://events.pagerduty.com/v2/enqueue'';
CParamValidator.validate({api_token: {type: ''string''}, event_id: {type: ''integer''},
alert_subject: {type: ''string''}, host_ip: {type: ''string'', default: ''''}, zabbix_url: {type: ''string'', url: true},
event_nseverity: {type: ''integer'', min: 0, max: 5, default: 0}}, this.params);
if (CParamValidator.inArray(this.params.event_source, [''0'',''3'',''4''])) {
CParamValidator.validate({host_name: {type: ''string'', default: ''''}}, this.params);
if (this.params.event_source === ''0'') {
CParamValidator.validate({trigger_id: {type: ''integer''}, event_update_status: {type: ''string'', array: [''0'', ''1'']},
event_ack: {type: ''boolean''}}, this.params);
}
else {
CParamValidator.validate({alert_message: {type: ''string''}, event_ack: {type: ''boolean'', default: false}}, this.params);
}
}
this.data = {
routing_key: this.params.api_token,
dedup_key: String(this.params.event_id),
payload: {
summary: this.params.alert_subject,
source: (!CParamValidator.isEmpty(this.params.host_name)) ? (this.params.host_name +
((!CParamValidator.isEmpty(this.params.host_ip)) ? '' : '' + this.params.host_ip : '''')) : ''Zabbix'',
severity: severityMapping[this.params.event_nseverity],
}
}
}
PagerDuty.prototype.onProblem = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.data = getDefaultEventData(this.data, this.params);
if (CParamValidator.isDefined(alert.source) && alert.source === ''Trigger'') {
this.data.links = [{
href: CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id),
text: ''Event link''
}];
}
return this.sendRequest();
}
PagerDuty.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (this.params.event_ack === true) {
this.data.event_action = ''acknowledge'';
return this.sendRequest();
}
this.data = getDefaultEventData(this.data, this.params);
return this.sendRequest();
}
PagerDuty.prototype.onResolve = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.data = getDefaultEventData(this.data, this.params);
this.data.event_action = ''resolve'';
return this.sendRequest();
}
PagerDuty.prototype.onDiscovery = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.data = getDefaultEventData(this.data, this.params);
this.data.payload.source = ''Discovery'';
return this.sendRequest();
}
PagerDuty.prototype.onAutoreg = function (alert) {
return this.onProblem(alert);
}
PagerDuty.prototype.sendRequest = function () {
var response = this.request.jsonRequest(''POST'', this.params.url, this.data);
if (!CParamValidator.isType(response, ''object'')) {
Logger.log(Logger.INFO, ''API response ERROR: '' + response);
throw ''Unknown error. Check debug log for more information.'';
}
if (this.request.getStatus() != 202) {
if (CParamValidator.isType(response.errors, ''array'') && CParamValidator.isType(response.errors[0], ''string'')) {
throw response.errors[0];
}
else {
throw ''Unknown error. HTTP status: '' + this.request.getStatus();
}
}
if (response.status != ''success'') {
Logger.log(Logger.INFO, ''API response ERROR: '' + response);
throw ''Unknown error. Check debug log for more information.'';
}
return ''OK'';
};
try {
var hook = new PagerDuty(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','Please refer to https://v2.developer.pagerduty.com/docs/send-an-event-events-api-v2 and https://www.zabbix.com/documentation/7.4/manual/config/notifications/media/webhook#example_scripts.
Set global macro {$ZABBIX.URL} with your Zabbix server URL.
Add a dedicated user with the media type "PagerDuty" and place the integration key in the user''s "Send to" parameter to integrate into the service.','0'),
('89','4','Pushover','','','','','','','','25','0','0','0','0','0','3','10s','1',E'try {
var params = JSON.parse(value),
request = new HttpRequest(),
data,
response,
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: ''default'', color: ''#000000''}
],
priority;
if (typeof params.HTTPProxy === ''string'' && params.HTTPProxy.trim() !== '''') {
request.setProxy(params.HTTPProxy);
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: "'' + params.event_source + ''".\\nMust be 0-3.'';
}
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''priority_'' + severities[params.event_nseverity].name] || params.priority_default;
if (isNaN(priority) || priority < -2 || priority > 2) {
throw ''"priority" should be -2..2'';
}
if (params.event_source === ''0'' && isNaN(params.triggerid)) {
throw ''field "triggerid" is not a number'';
}
if (isNaN(params.eventid)) {
throw ''field "eventid" is not a number'';
}
if (typeof params.message !== ''string'' || params.message.trim() === '''') {
throw ''field "message" cannot be empty'';
}
data = {
token: params.token,
user: params.user,
title: params.title,
message: params.message,
url: (params.event_source === ''0'')
? params.url + ''/tr_events.php?triggerid='' + params.triggerid + ''&eventid='' + params.eventid
: params.url,
url_title: params.url_title,
priority: priority
};
if (priority == 2) {
if (isNaN(params.retry) || params.retry < 30) {
throw ''field "retry" should be a number with value of at least 30 if "priority" is set to 2'';
}
if (isNaN(params.expire) || params.expire > 10800) {
throw ''field "expire" should be a number with value of at most 10800 if "priority" is set to 2'';
}
data.retry = params.retry;
data.expire = params.expire;
}
data = JSON.stringify(data);
Zabbix.log(4, ''[ Pushover Webhook ] Sending request: '' + params.endpoint + ''\\n'' + data);
request.addHeader(''Content-Type: application/json'');
response = request.post(params.endpoint, data);
Zabbix.log(4, ''[ Pushover Webhook ] Received response with status code '' + request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ Pushover Webhook ] Failed to parse response received from Pushover'');
response = null;
}
}
if (request.getStatus() != 200 || response === null || typeof response !== ''object'' || response.status !== 1) {
if (response !== null && typeof response === ''object'' && typeof response.errors === ''object''
&& typeof response.errors[0] === ''string'') {
throw response.errors[0];
}
else {
throw ''Unknown error. Check debug log for more information.'';
}
}
return ''OK'';
}
catch (error) {
Zabbix.log(4, ''[ Pushover Webhook ] Pushover notification failed: '' + error);
throw ''Pushover notification failed: '' + error;
}','30s','0','0','','','Please refer to setup guide here: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover
Set token parameter with to your Pushover application key.
When assigning Pushover media to the Zabbix user - add user key into send to field.','0'),
('90','4','Redmine','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Redmine = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Redmine.params = params;
if (typeof Redmine.params.url === ''string'') {
if (!Redmine.params.url.endsWith(''/'')) {
Redmine.params.url += ''/'';
}
}
},
addCustomFields: function (data, fields) {
if (typeof fields === ''object'' && Object.keys(fields).length) {
data.issue.custom_fields = [];
Object.keys(fields)
.forEach(function (field) {
var field_value = fields[field];
if (field_value !== undefined) {
data.issue.custom_fields.push({ id: field, value: field_value });
}
});
}
return data;
},
request: function (method, query, data) {
[''url'', ''access_key''].forEach(function (field) {
if (typeof Redmine.params !== ''object'' || typeof Redmine.params[field] === ''undefined''
|| Redmine.params[field] === '''' ) {
throw ''Required param is not set: "'' + field + ''".'';
}
});
var response,
url = Redmine.params.url + query,
request = new HttpRequest();
if (typeof Redmine.HTTPProxy === ''string'' && Redmine.HTTPProxy.trim() !== '''') {
request.setProxy(Redmine.HTTPProxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Redmine-API-Key: '' + Redmine.params.access_key);
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ Redmine Webhook ] Sending request: '' +
url + ((typeof data === ''string'') ? ('' '' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ Redmine Webhook ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ Redmine Webhook ] Failed to parse response received from Redmine'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.errors !== ''undefined''
&& Object.keys(response.errors).length > 0) {
message += '': '' + JSON.stringify(response.errors);
}
else if (response !== null && typeof response.errorMessages !== ''undefined''
&& Object.keys(response.errorMessages).length > 0) {
message += '': '' + JSON.stringify(response.errorMessages);
}
throw message + '' Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
},
getProjectID: function(name) {
var result = Redmine.request(''get'', ''projects.json''),
project_id;
if (result.response) {
var projects = result.response.projects || [];
for (var i in projects) {
if (projects[i].name === name) {
project_id = projects[i].id;
break;
}
}
}
else {
Zabbix.log(4, ''[ Redmine Webhook ] Failed to retrieve project data.'');
}
if (typeof project_id === ''undefined'') {
throw ''Cannot find project with name: '' + name;
}
return project_id;
},
createIssue: function(subject, description, priority, fields) {
var project_id = /^\\d+$/.test(Redmine.params.project)
? Redmine.params.project
: Redmine.getProjectID(Redmine.params.project),
data = {
issue: {
project_id: project_id,
tracker_id: Redmine.params.tracker_id,
subject: subject,
description: description
}
},
result;
if (priority) {
data.issue.priority_id = priority;
}
result = Redmine.request(''post'', ''issues.json'', Redmine.addCustomFields(data, fields));
if (typeof result.response !== ''object''
|| typeof result.response.issue.id === ''undefined''
|| result.status != 201) {
throw ''Cannot create Redmine issue. Check debug log for more information.'';
}
return result.response.issue.id;
},
updateIssue: function (note, fields, status) {
var data = {
issue: {
notes: note || ''''
}
};
if (status) {
data.issue.status_id = status;
}
Redmine.request(''put'', ''issues/'' + Redmine.params.issue_key + ''.json'', Redmine.addCustomFields(data, fields));
}
};
try {
var params = JSON.parse(value),
params_redmine = {},
params_fields = {},
params_update = {},
result = {tags: {}},
required_params = [
''alert_subject'', ''tracker_id'', ''project'',
''event_source'', ''event_value'', ''event_update_status''
],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: null, color: ''#000000''}
],
priority;
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''redmine_'')) {
params_redmine[key.substring(8)] = params[key];
}
else if (key.startsWith(''customfield_'')) {
params_fields[key.substring(12)] = params[key];
}
else if (key.startsWith(''event_update_'')) {
params_update[key.substring(13)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter "'' + key + ''" cannot be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_source === ''0'' && params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (typeof params_redmine.close_status_id === ''string'' && params_redmine.close_status_id.trim() !== '''' && !parseInt(params_redmine.close_status_id, 10)) {
throw ''Incorrect "redmine_close_status_id" parameter given! Must be an integer.'';
}
if (params.event_source !== ''0'' && params.event_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
if (params.event_source === ''0''
&& ((params.event_value === ''1'' && params.event_update_status === ''1'')
|| (params.event_value === ''0''
&& (params.event_update_status === ''0'' || params.event_update_status === ''1'')))
&& (isNaN(parseInt(params.redmine_issue_key)) || parseInt(params.redmine_issue_key) < 1 )) {
throw ''Incorrect "redmine_issue_key" parameter given: '' + params.redmine_issue_key +
''\\nMust be positive integer.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''severity_'' + severities[params.event_nseverity].name];
priority = priority && priority.trim() || severities[7].name;
Redmine.setParams(params_redmine);
Redmine.HTTPProxy = params.HTTPProxy;
// Create issue for non trigger-based events.
if (params.event_source !== ''0''
&& params.event_value !== ''0'') {
Redmine.createIssue(params.alert_subject, params.alert_message, priority);
}
// Create issue for trigger-based events.
else if (params.event_value === ''1'' && params_update.status === ''0'') {
var issue_id = Redmine.createIssue(params.alert_subject,
params.alert_subject + ''\\n'' + params.alert_message + ''\\n'' +
params.zabbix_url + (params.zabbix_url.endsWith(''/'') ? '''' : ''/'') +
''tr_events.php?triggerid='' + params.trigger_id + ''&eventid='' + params.event_id + ''\\n'',
priority,
params_fields);
result.tags.__zbx_redmine_issue_id = issue_id;
result.tags.__zbx_redmine_issuelink = params.redmine_url +
(params.redmine_url.endsWith(''/'') ? '''' : ''/'') + ''issues/'' + issue_id;
}
// Close issue if parameter close_status_id is set and it is a recovery operation
else if (params.event_value === ''0'' && typeof params_redmine.close_status_id === ''string'' && params_redmine.close_status_id.trim() !== '''') {
Redmine.updateIssue(params.alert_subject + ''\\n'' + params.alert_message, params_fields, params_redmine.close_status_id);
}
// Update created issue for trigger-based event.
else {
Redmine.updateIssue(params.alert_subject + ''\\n'' + params.alert_message, params_fields);
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ Redmine Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_redmine_issuelink}','Redmine: issue #{EVENT.TAGS.__zbx_redmine_issue_id}','','0'),
('91','4','Rocket.Chat','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var RocketChat = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
RocketChat.params = params;
if (RocketChat.params.url && RocketChat.params.api_url) {
if (!RocketChat.params.url.endsWith(''/'')) {
RocketChat.params.url += ''/'';
}
if (!RocketChat.params.api_url.endsWith(''/'')) {
RocketChat.params.api_url += ''/'';
}
if (RocketChat.params.api_url.startsWith(''/'')) {
RocketChat.params.api_url = RocketChat.params.api_url.substring(1);
}
RocketChat.params.url += RocketChat.params.api_url;
}
},
setProxy: function (HTTPProxy) {
RocketChat.HTTPProxy = HTTPProxy;
},
addFields: function (fields) {
var data = [];
if (typeof fields === ''object'' && Object.keys(fields).length) {
Object.keys(fields)
.forEach(function(field) {
if (fields[field] === '''') {
Zabbix.log(4, ''[ RocketChat Webhook ] Field "'' + field +
''" can\\''t be empty. The field ignored.'');
}
else {
try {
var parts = field.split('':''),
prefix = parts[0].split(''_'');
if (typeof prefix[2] === ''undefined''
|| (prefix[2] === ''p'' && params.event_value === ''1'')
|| (prefix[2] === ''r'' && params.event_value === ''0'')) {
data.push({
title: field.substring(field.indexOf('':'') + 1),
value: fields[field],
short: prefix[1] === ''short''
});
}
}
catch (error) {
Zabbix.log(4, ''[ RocketChat Webhook ] Can\\''t parse field "'' + field +
''". The field ignored.'');
}
}
});
}
return data;
},
request: function (method, query, data) {
[''url'', ''api_url'', ''user_id'', ''user_token'', ''send_to''].forEach(function (field) {
if (typeof RocketChat.params !== ''object'' || typeof RocketChat.params[field] === ''undefined''
|| RocketChat.params[field] === '''' ) {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
var response,
url = RocketChat.params.url + query,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Auth-Token:'' + RocketChat.params.user_token);
request.addHeader(''X-User-Id:'' + RocketChat.params.user_id);
if (typeof RocketChat.HTTPProxy !== ''undefined'' && RocketChat.HTTPProxy !== '''') {
request.setProxy(RocketChat.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ RocketChat Webhook ] Sending request: '' + url +
((typeof data === ''string'') ? (''\\n'' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ RocketChat Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ RocketChat Webhook ] Failed to parse response received from RocketChat'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.message !== ''undefined'') {
message += '': '' + JSON.stringify(response.message);
}
else if (response !== null && typeof response.error !== ''undefined'') {
message += '': '' + JSON.stringify(response.error);
}
throw message + ''. Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
},
postMessage: function(use_default_message, message, fields) {
var data = {
channel: RocketChat.params.send_to,
attachments: [{
collapsed: false,
color: RocketChat.params.color,
title: params.alert_subject
}]
};
if (RocketChat.params.title_link) {
data.attachments[0].title_link = RocketChat.params.title_link;
}
if (use_default_message) {
data.attachments[0].text = message;
}
else {
data.attachments[0].fields = RocketChat.addFields(fields);
}
var result = RocketChat.request(''post'', ''chat.postMessage'', data);
if (typeof result.response !== ''object'' || typeof result.response.message._id === ''undefined'') {
throw ''Cannot send RocketChat message. Check debug log for more information.'';
}
return {
id: result.response.message._id,
rid: result.response.message.rid,
channel: result.response.channel
};
},
sendMessage: function(update, fields) {
var data = {
message: {
rid: RocketChat.params.room_id,
tmid: RocketChat.params.msg_id,
tshow: true
}
};
if (update.status === ''0'') {
data.message.attachments = [{
collapsed: false,
color: RocketChat.params.color,
title: params.alert_subject,
title_link: RocketChat.params.title_link,
fields: RocketChat.addFields(fields)
}];
}
else {
data.message.alias = update.user;
data.message.msg = update.action;
if (update.message) {
data.message.attachments = [{
color: RocketChat.params.color,
text: update.message
}];
}
}
RocketChat.request(''post'', ''chat.sendMessage'', data);
},
getMessageLink: function(rid, id) {
var room = RocketChat.request(''get'', ''rooms.info?roomId='' + encodeURIComponent(rid)),
link = params.rc_url +
(params.rc_url.endsWith(''/'') ? '''' : ''/'');
switch (room.response.room.t) {
case ''c'':
link += ''channel/'' + room.response.room.name + ''?msg='' + id;
break;
case ''p'':
link += ''group/'' + room.response.room.name + ''?msg='' + id;
break;
case ''d'':
link += ''direct/'' + rid + ''?msg='' + id;
break;
default:
Zabbix.log(4, ''[ RocketChat Webhook ] Can\\''t get room type. Link to message will not be added.'');
}
return link;
}
};
try {
var params = JSON.parse(value),
response,
fields = {},
rc = {},
update = {},
result = {tags: {}},
required_params = [''alert_subject'', ''alert_message'', ''event_source'', ''event_value''],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: ''default'', color: ''#000000''}
];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''rc_'')) {
rc[key.substring(3)] = params[key];
}
else if (key.startsWith(''field_'')) {
fields[key.substring(6)] = params[key];
}
else if (key.startsWith(''event_update_'')) {
update[key.substring(13)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Forcing parameters for non trigger-based events.
if (params.event_source !== ''0'') {
params.use_default_message = ''true'';
params.event_nseverity = ''0'';
params.rc_title_link = false;
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
RocketChat.setParams(rc);
RocketChat.setProxy(params.HTTPProxy);
RocketChat.params.color = severities[params.event_nseverity].color;
// Send default message if use_default_message === true.
if (params.use_default_message.toLowerCase() === ''true'') {
response = RocketChat.postMessage(true, params.alert_message);
result.tags.__zbx_rc_id = response.id;
result.tags.__zbx_rc_rid = response.rid;
result.tags.__zbx_rc_msg_url = RocketChat.getMessageLink(response.rid, response.id);
}
// Send message for trigger-based events.
else if (params.event_value === ''1'' && update.status === ''0'') {
response = RocketChat.postMessage(false, params.alert_message, fields);
result.tags.__zbx_rc_id = response.id;
result.tags.__zbx_rc_rid = response.rid;
result.tags.__zbx_rc_msg_url = RocketChat.getMessageLink(response.rid, response.id);
}
// Send thread message for trigger-based event.
else {
RocketChat.sendMessage(update, fields);
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ RocketChat Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_rc_msg_url}','Rocket.Chat','','0'),
('92','4','ServiceNow','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var ServiceNow = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
ServiceNow.params = params;
if (typeof ServiceNow.params.url === ''string'') {
if (!ServiceNow.params.url.endsWith(''/'')) {
ServiceNow.params.url += ''/'';
}
ServiceNow.params.url += ''api/now/table/incident'';
}
},
setProxy: function (HTTPProxy) {
ServiceNow.HTTPProxy = HTTPProxy;
},
setFields: function (data, fields) {
if (typeof fields === ''object'' && Object.keys(fields).length) {
Object.keys(fields)
.forEach(function(field) {
data[field] = (fields[field].match(/^\\d{4}\\.\\d{2}\\.\\d{2}$/) !== null)
? fields[field].replace(/\\./g, ''-'')
: fields[field];
});
}
},
request: function (method, data) {
[''url'', ''user'', ''password''].forEach(function (field) {
if (typeof ServiceNow.params !== ''object'' || typeof ServiceNow.params[field] === ''undefined''
|| ServiceNow.params[field] === '''' ) {
throw ''Required ServiceNow param is not set: "'' + field + ''".'';
}
});
var response,
url = ServiceNow.params.url,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Basic '' + btoa(ServiceNow.params.user + '':'' + ServiceNow.params.password));
if (typeof ServiceNow.HTTPProxy !== ''undefined'' && ServiceNow.HTTPProxy !== '''') {
request.setProxy(ServiceNow.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ ServiceNow Webhook ] Sending request: '' + url + ((typeof data === ''string'')
? (''\\n'' + data)
: ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ ServiceNow Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ ServiceNow Webhook ] Failed to parse response received from ServiceNow'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.error.message !== ''undefined''
&& Object.keys(response.error).length > 0) {
message += '': '' + JSON.stringify(response.error.message);
}
throw message + '' Check debug log for more information.'';
}
else if (typeof response.result !== ''object'' || typeof response.result.sys_id === ''undefined'') {
throw ''Cannot create ServiceNow incident. Check debug log for more information.'';
}
return response.result;
}
};
try {
var params = JSON.parse(value),
fields = {},
servicenow = {},
data = {},
result = {tags: {}},
required_params = [
''alert_subject'', ''alert_message'', ''event_source'', ''event_value'',
''event_update_status'', ''event_recovery_value'', ''event_nseverity''
],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: ''default'', color: ''#000000''}
],
method = ''post'',
process_tags = true;
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''servicenow_'')) {
servicenow[key.substring(11)] = params[key];
}
else if (key.startsWith(''u_'')) {
fields[key] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_recovery_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
data.short_description = params.alert_subject;
data.description = params.alert_message;
data.comments = params.alert_message;
if (typeof params[''urgency_for_'' + severities[params.event_nseverity].name] !== ''undefined'') {
data.urgency = params[''urgency_for_'' + severities[params.event_nseverity].name];
}
ServiceNow.setParams(servicenow);
ServiceNow.setProxy(params.HTTPProxy);
ServiceNow.setFields(data, fields);
if (params.event_source === ''0'' && (params.event_value === ''0'' || params.event_update_status === ''1'')) {
process_tags = false;
method = ''put'';
delete data.description;
delete data.urgency;
ServiceNow.params.url += ''/'' + params.servicenow_sys_id;
}
var response = ServiceNow.request(method, data);
if (process_tags) {
result.tags.__zbx_servicenow_sys_id = response.sys_id;
result.tags.__zbx_servicenow_link = params.servicenow_url +
(params.servicenow_url.endsWith(''/'') ? '''' : ''/'') + ''incident.do?sys_id='' + response.sys_id;
result.tags.__zbx_servicenow_number = response.number;
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ ServiceNow Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_servicenow_link}','ServiceNow: {EVENT.TAGS.__zbx_servicenow_number}','','0'),
('93','4','SIGNL4','','','','','','','','25','0','0','0','0','1','3','10s','1',E'// SIGNL4 Webhook
try {
var response,
payload,
params = JSON.parse(value),
endpoint = ''https://connect.signl4.com/webhook/'',
request = new HttpRequest();
if (typeof params.HTTPProxy === ''string'' && params.HTTPProxy.trim() !== '''') {
request.setProxy(params.HTTPProxy);
}
if (typeof params.teamsecret === ''string'' && params.teamsecret.trim() !== '''') {
endpoint += params.teamsecret;
delete params.teamsecret;
}
else {
throw ''The team secret of your SIGNL4 team cannot be empty.'';
}
if (typeof params.Severity === ''string'' && params.Severity === ''{EVENT.SEVERITY}'') {
params.Severity = ''Not classified'';
}
if (typeof params.User === ''string'' && params.User === ''{USER.FULLNAME}'') {
params.User = '''';
}
if (typeof params.Event_Update_Action === ''string'' && params.Event_Update_Action === ''{EVENT.UPDATE.ACTION}'') {
params.Event_Update_Action = '''';
}
// Assemble X-S4-ExternalID for two-way integration
// Format: "ZabbixEventID: 222 ZabbixURL: https://your-zabbix-server/zabbix/"
params[''X-S4-ExternalID''] = ''ZabbixEventID: '' + params.Event_ID;
if (typeof params.Zabbix_URL === ''string'' && params.Zabbix_URL.indexOf(''http'') == 0) {
// Make sure the URL ends with ''/''
if (params.Zabbix_URL.charAt(params.Zabbix_URL.length - 1) != ''/'') {
params.Zabbix_URL = params.Zabbix_URL + ''/'';
}
params[''X-S4-ExternalID''] = params[''X-S4-ExternalID''] + '' ZabbixURL: '' + params.Zabbix_URL;
// Add Link parameter
params[''Link''] = params.Zabbix_URL + "tr_events.php?triggerid="+params.Trigger_ID + "&eventid=" + params.Event_ID;
}
// Check if this is a new problem or a recovery
if (params.Trigger_Status == ''OK'') {
params[''X-S4-Status''] = ''resolved'';
}
else {
params[''X-S4-Status''] = ''new'';
params[''X-S4-SourceSystem''] = ''Zabbix'';
}
payload = JSON.stringify(params);
Zabbix.log(4, ''[ SIGNL4 Webhook ] Sending request: '' + payload);
request.addHeader(''Content-Type: application/json'');
response = request.post(endpoint, ''payload='' + payload);
Zabbix.log(4, ''[ SIGNL4 Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response
);
if (request.getStatus() !== 201) {
throw ''Request failed with status code '' + request.getStatus() +
''. Check debug log for more information.'';
}
return ''OK'';
}
catch (error) {
Zabbix.log(4, ''[ SIGNL4 Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','SIGNL4 is a mobile alert notification app for powerful alerting, alert management and mobile assignment of work items. It offers alerting via app push, SMS and voice calls including escalations, tracking, and duty scheduling.
Get the app at https://www.signl4.com.
Find out more including an integration video here: https://www.signl4.com/blog/portfolio_item/zabbix-mobile-alert-notification-duty-schedule-escalation/','0'),
('94','4','Slack','','','','','','','','25','0','0','0','0','1','1','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
var serviceLogName = ''Slack Webhook'',
Logger = new CLogger(serviceLogName),
Slack = CWebhook;
Slack.prototype.onCheckParams = function () {
CParamValidator.validate({
alert_subject: { type: ''string'' },
alert_message: { type: ''string'' },
bot_token: { type: ''string'' },
zabbix_url: { type: ''string'', url: true },
channel: { type: ''string'', macro: ''ALERT.SENDTO'' },
slack_mode: { type: ''string'', array: [''alarm'', ''event''], }
}, this.params);
if (this.params.event_source === ''0'') {
CParamValidator.validate({
event_id: { type: ''integer'' },
trigger_id: { type: ''integer'' }
}, this.params);
}
if (CParamValidator.inArray(this.params.event_source, [''0'', ''3'', ''4''])) {
CParamValidator.validate({
event_tags: { type: ''array'', macro: ''EVENT.TAGSJSON'', tags: true, default: {} }
}, this.params);
}
if (this.params.event_value != ''0'' && CParamValidator.isDefined(this.params.event_tags[''__channel_id_'' + this.params.channel])) {
this.params.event_update_status = ''1'';
}
this.severity_colors = [
''#97AAB3'',
''#7499FF'',
''#FFC859'',
''#FFA059'',
''#E97659'',
''#E45959''
];
this.resolve_color = ''#009900'';
this.slack_endpoint = ''https://slack.com/api/'';
this.problem_url = CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id);
this.data = {
channel: this.params.channel,
attachments: [
{
fallback: this.params.alert_subject,
title: this.params.alert_subject,
color: this.severity_colors[this.params.event_nseverity],
title_link: this.problem_url,
text: this.params.alert_message,
actions: [
{
type: ''button'',
text: ''Open in Zabbix'',
url: this.problem_url
}
]
}
]
};
this.reply = {
channel: this.params.channel,
thread_ts: '''',
blocks: [
{
type: ''context'',
elements: [
{
type: ''plain_text'',
text: ''Event update message''
}
]
},
{
type: ''rich_text'',
elements: [
{
type: ''rich_text_section'',
elements: [
{
type: ''text'',
text: '''',
style: {
italic: true
}
}
]
}
]
}
]
};
};
Slack.prototype.sendRequest = function (route, data, tags) {
this.request.clearHeader();
this.request.addHeaders({
''Content-Type'': ''application/json; charset=utf-8;'',
''Authorization'': ''Bearer '' + this.params.bot_token
});
var response = this.request.jsonRequest(''POST'', this.slack_endpoint + route, data);
if (this.request.getStatus() !== 200 || !CParamValidator.isType(response.ok, ''boolean'') || response.ok !== true) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.error, ''string'')) {
throw ''Endpoint response:'' + response.error;
}
else {
throw ''Unknown error. Check debug log for more information.'';
}
}
if (tags) {
return {
tags: {
[''__message_ts_'' + this.params.channel]: response.ts,
[''__channel_id_'' + this.params.channel]: response.channel,
[''__message_link_'' + this.params.channel]: this.getPermalink(response.channel, response.ts),
}
};
}
else {
return { tags: {} };
}
};
Slack.prototype.getPermalink = function (channel, message_ts) {
var response = this.request.jsonRequest(''GET'', this.slack_endpoint + ''chat.getPermalink'' + ''?channel='' + channel + ''&message_ts='' + message_ts);
if (this.request.getStatus() !== 200 || !CParamValidator.isType(response.ok, ''boolean'') || response.ok !== true) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.error, ''string'')) {
throw ''Endpoint response:'' + response.error;
}
else {
throw ''Unknown error. Check debug log for more information.'';
}
}
if (!CParamValidator.isDefined(response.permalink)) {
throw ''Permalink is missed from the JSON response'';
}
return response.permalink;
};
Slack.prototype.onProblem = function (properties) {
Logger.log(Logger.INFO, ''Source: '' + properties.source + ''; Event: '' + properties.event);
if (this.params.slack_mode === "alarm") {
return this.sendRequest(''chat.postMessage'', this.data, true);
} else {
return this.sendRequest(''chat.postMessage'', this.data, false);
}
};
Slack.prototype.onUpdate = function (properties) {
Logger.log(Logger.INFO, ''Source: '' + properties.source + ''; Event: '' + properties.event);
if (this.params.slack_mode === "alarm") {
this.data.channel = this.params.event_tags[''__channel_id_'' + this.params.channel];
this.data.ts = this.params.event_tags[''__message_ts_'' + this.params.channel];
if (CParamValidator.isMacroSet(this.params.event_update_message, ''EVENT.UPDATE.MESSAGE'') && !CParamValidator.isEmpty(this.params.event_update_message)) {
this.reply.thread_ts = this.data.ts;
this.reply.blocks[1].elements[0].elements[0].text = this.params.event_update_message;
this.sendRequest(''chat.postMessage'', this.reply, false);
}
if (/\\backnowledged/.test(this.params.event_update_action)) {
this.sendRequest(''reactions.add'', { channel: this.data.channel, timestamp: this.data.ts, name: ''white_check_mark'' }, false);
}
if (/\\bunacknowledged/.test(this.params.event_update_action)) {
this.sendRequest(''reactions.remove'', { channel: this.data.channel, timestamp: this.data.ts, name: ''white_check_mark'' }, false);
}
if (/\\bclosed/.test(this.params.event_update_action)) {
return { tags: {} };
}
else {
return this.sendRequest(''chat.update'', this.data, false);
}
} else {
return this.sendRequest(''chat.postMessage'', this.data, false);
}
};
Slack.prototype.onResolve = function (properties) {
Logger.log(Logger.INFO, ''Source: '' + properties.source + ''; Event: '' + properties.event);
this.data.attachments[0].color = this.resolve_color;
if (this.params.slack_mode === "alarm") {
this.data.channel = this.params.event_tags[''__channel_id_'' + this.params.channel];
this.data.ts = this.params.event_tags[''__message_ts_'' + this.params.channel];
return this.sendRequest(''chat.update'', this.data, false);
} else {
return this.sendRequest(''chat.postMessage'', this.data, false);
}
};
Slack.prototype.onDiscovery = function (properties) {
return this.onProblem(properties);
};
Slack.prototype.onAutoreg = function (properties) {
return this.onProblem(properties);
};
try {
var hook = new Slack(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''Notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','0','','','Preparing slack for a Zabbix media type:
1. On the page Your Apps (https://api.slack.com/apps) press ''Create an App'', select ''From scratch'' and specify its name and workspace.
2. In the ''Add features and functionality'' section, select ''Bots'' and press ''Review Scopes to Add''.
3. In the ''Scopes'' section, find ''Bot Token Scopes'', press ''Add an OAuth Scope'' and add ''chat:write'', ''im:write'', ''groups:write'' and ''reactions:write'' scopes.
4. In the ''Settings'' section on the left side of the page press ''Install App'' and then ''Install to Workspace''.
5. Press ''Allow'' and copy ''Bot User OAuth Access Token'', which will be used to set up webhook.
In Zabbix:
1. Set global macro {$ZABBIX.URL}
2. Set user media for slack using channel name or member ID
3. Set media param ''bot_token'' to the previously created token
For a detailed instructions please read full README file https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/slack/README.md','0'),
('95','4','SolarWinds Service Desk','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var SolarWinds = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
SolarWinds.params = params;
SolarWinds.params.endpoint = ''https://api.samanage.com/'';
},
setProxy: function (HTTPProxy) {
SolarWinds.HTTPProxy = HTTPProxy;
},
addCustomFields: function (data, fields) {
if (typeof data.incident === ''object'' && typeof fields === ''object'' && Object.keys(fields).length) {
if (typeof fields.sw_fields === ''object'' && Object.keys(fields.sw_fields).length) {
Object.keys(fields.sw_fields)
.forEach(function(field) {
try {
data.incident[field] = JSON.parse(fields.sw_fields[field]);
}
catch (error) {
data.incident[field] = fields.sw_fields[field];
}
});
}
if (typeof fields.sw_customfields === ''object'' && Object.keys(fields.sw_customfields).length) {
data.incident.custom_fields_values = {custom_fields_value: []};
Object.keys(fields.sw_customfields)
.forEach(function(field) {
data.incident.custom_fields_values.custom_fields_value.push({
name: field,
value: fields.sw_customfields[field]
});
});
}
}
return data;
},
request: function (method, query, data) {
[''token''].forEach(function (field) {
if (typeof SolarWinds.params !== ''object'' || typeof SolarWinds.params[field] === ''undefined''
|| SolarWinds.params[field] === '''' ) {
throw ''Required SolarWinds param is not set: "'' + field + ''".'';
}
});
var response,
url = SolarWinds.params.endpoint + query,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Samanage-Authorization: Bearer '' + SolarWinds.params.token);
request.addHeader(''Accept: application/vnd.samanage.v2.1+json'');
if (typeof SolarWinds.HTTPProxy !== ''undefined'' && SolarWinds.HTTPProxy !== '''') {
request.setProxy(SolarWinds.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ SolarWinds SD Webhook ] Sending request: '' + url + ((typeof data === ''string'')
? (''\\n'' + data)
: ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ SolarWinds SD Webhook ] Received response with status code '' + request.getStatus() +
''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ SolarWinds SD Webhook ] Failed to parse response received from SolarWinds'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.error !== ''undefined''
&& Object.keys(response.error).length > 0) {
message += '': '' + JSON.stringify(response.error);
}
else if (response !== null && typeof response === ''object''
&& Object.keys(response).length > 0) {
Object.keys(response)
.forEach(function(field) {
message += ''\\n'' + field + '': '' + response[field][0];
});
}
throw message + '' Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
},
createIncident: function(name, description, fields) {
var data = {
incident: {
name: name,
description: description,
priority: SolarWinds.params.priority
}
};
var result = SolarWinds.request(''post'', ''incidents.json'', SolarWinds.addCustomFields(data, fields));
if (typeof result.response !== ''object'' || typeof result.response.id === ''undefined'') {
throw ''Cannot create SolarWinds incident. Check debug log for more information.'';
}
return result.response.id;
},
updateIncident: function(name, fields, message) {
var data = {
incident: {
name: name,
priority: SolarWinds.params.priority
}
};
SolarWinds.request(
''put'',
''incidents/'' + SolarWinds.params.incident_id + ''.json'',
SolarWinds.addCustomFields(data, fields));
SolarWinds.commenIncident(message);
},
commenIncident: function(message) {
var data = {
comment: {
body: message
}
};
SolarWinds.request(''post'', ''incidents/'' + SolarWinds.params.incident_id + ''/comments.json'', data);
}
};
try {
var params = JSON.parse(value),
fields = {},
samanage = {},
result = {tags: {}},
required_params = [''alert_subject'', ''event_recovery_value'', ''event_source'', ''event_value'', ''priority_default''],
severities = [
{name: ''not_classified''},
{name: ''information''},
{name: ''warning''},
{name: ''average''},
{name: ''high''},
{name: ''disaster''},
{name: ''resolved''},
{name: ''default''}
];
fields.sw_fields = {};
fields.sw_customfields = {};
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''samanage_'')) {
samanage[key.substring(9)] = params[key];
}
else if (key.startsWith(''sw_field_'')) {
fields.sw_fields[key.substring(9)] = params[key];
}
else if (key.startsWith(''sw_customfield_'')) {
fields.sw_customfields[key.substring(15)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_recovery_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
samanage.priority = params[''priority_'' + severities[params.event_nseverity].name] || params.priority_default;
SolarWinds.setParams(samanage);
SolarWinds.setProxy(params.HTTPProxy);
// Create incident for non trigger-based events.
if (params.event_source !== ''0'' && params.event_recovery_value !== ''0'') {
SolarWinds.createIncident(params.alert_subject, params.alert_message);
}
// Create incident for trigger-based events.
else if (params.event_value === ''1'' && params.event_update_status === ''0''
&& (samanage.incident_id === ''{EVENT.TAGS.__zbx_solarwinds_inc_id}'' || samanage.incident_id === ''*UNKNOWN*'')) {
var key = SolarWinds.createIncident(params.alert_subject, params.alert_message, fields);
result.tags.__zbx_solarwinds_inc_id = key;
result.tags.__zbx_solarwinds_inc_link = params.samanage_url +
(params.samanage_url.endsWith(''/'') ? '''' : ''/'') + ''incidents/'' + key;
}
// Update created incident for trigger-based event.
else {
if (samanage.incident_id === ''{EVENT.TAGS.__zbx_solarwinds_inc_id}'' || samanage.incident_id === '''' || samanage.incident_id === ''*UNKNOWN*'') {
throw ''Incorrect incident key given: '' + samanage.incident_id;
}
if (!params.alert_message) {
throw ''Parameter "alert_message" can\\''t be empty.'';
}
SolarWinds.updateIncident(params.alert_subject, fields, params.alert_message);
}
if (params.event_source === ''0'') {
return JSON.stringify(result);
}
else {
return ''OK'';
}
}
catch (error) {
Zabbix.log(3, ''[ SolarWinds SD Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_solarwinds_inc_link}','SolarWinds incident ID: {EVENT.TAGS.__zbx_solarwinds_inc_id}','','0'),
('96','4','SysAid','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var SysAid = {
params: {},
setParams: function (params) {
var required = [''url'', ''auth_user'', ''auth_password'', ''category_level_1'', ''category_level_2'',
''category_level_3'', ''incident_id'', ''template_id'', ''urgency_id'', ''incident_state'',
''default_priority_id''
];
required.forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
SysAid.params = params;
if (typeof SysAid.params.url === ''string'' && !SysAid.params.url.endsWith(''/'')) {
SysAid.params.url += ''/'';
}
},
login: function () {
var result = SysAid.request(''post'', ''api/v1/login'', {
user_name: SysAid.params.auth_user,
password: SysAid.params.auth_password
});
return result.response.user.id;
},
request: function (method, query, data) {
var response,
request = SysAid.req || (SysAid.req = new HttpRequest()),
url = SysAid.params.url + query;
if (typeof SysAid.HTTPProxy !== ''undefined'' && SysAid.HTTPProxy.trim() !== '''') {
request.setProxy(SysAid.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ SysAid Webhook ] Sending request: '' +
url + ((typeof data === ''string'') ? ('' '' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ SysAid Webhook ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
var message = ''Request failed with status code '' + request.getStatus();
message += '': '' + response;
throw message + '' Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ SysAid Webhook ] Failed to parse response received from SysAid'');
response = null;
}
}
if (response === null || (typeof response.Error !== ''undefined'' && Object.keys(response.Error).length > 0)) {
throw ''Request failed: '' + JSON.stringify(response.Error);
}
return {
status: request.getStatus(),
response: response
};
},
createIncident: function(subject, message, priority) {
var result = SysAid.request(''post'', ''api/v1/sr/?template='' + encodeURIComponent(SysAid.params.template_id), {
info: [
{
key: ''problem_type'',
value: [
SysAid.params.category_level_1,
SysAid.params.category_level_2,
SysAid.params.category_level_3
].join(''_'')
},
{
key: ''title'',
value: subject
},
{
key: ''description'',
value: message
},
{
key: ''status'',
value: ''1''
},
{
key: ''urgency'',
value: SysAid.params.urgency_id
},
{
key: ''priority'',
value: priority || SysAid.params.default_priority_id,
}
]
});
if (result.response.id === ''undefined'') {
throw ''Cannot create SysAid incident. Check debug log for more information.'';
}
return result.response.id;
},
updateTicket: function(note) {
var date = new Date().getTime();
SysAid.request(''put'', ''api/v1/sr/'' + encodeURIComponent(SysAid.params.incident_id), {
id: SysAid.params.incident_id,
info: [
{
key: ''update_time'',
value: date
},
{
key: ''notes'',
value: [
{
userName: ''Zabbix'',
createDate: date,
text: note
}
]
}
]
});
}
};
try {
var params = JSON.parse(value),
params_sysaid = {},
params_update = {},
result = {tags: {}},
required_params = [''alert_subject'', ''event_source'', ''event_value'', ''event_update_status''],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: null, color: ''#000000''}
],
priority;
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''sysaid_'')) {
params_sysaid[key.substring(7)] = params[key];
}
else if (key.startsWith(''event_update_'')) {
params_update[key.substring(13)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter "'' + key + ''" cannot be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_source === ''0'' && params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
if (params.event_source === ''0'' && ((params.event_value === ''1'' && params.event_update_status === ''1'')
|| (params.event_value === ''0'' && (params.event_update_status === ''0'' || params.event_update_status === ''1'')))
&& (isNaN(parseInt(params.sysaid_incident_id)) || parseInt(params.sysaid_incident_id) < 1 )) {
throw ''Incorrect "sysaid_incident_id" parameter given: '' + params.sysaid_incident_id + ''\\nMust be positive integer.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''severity_'' + severities[params.event_nseverity].name];
priority = priority && priority.trim() || severities[7].name;
SysAid.setParams(params_sysaid);
SysAid.HTTPProxy = params.HTTPProxy;
SysAid.login();
if (params.event_source !== ''0'' && params.event_value !== ''0'') {
// Create ticket for non trigger-based events.
SysAid.createIncident(params.alert_subject, params.alert_message, priority);
}
else if (params.event_value === ''1'' && params_update.status === ''0'') {
// Create ticket for trigger-based events.
var incident_id = SysAid.createIncident(params.alert_subject, params.alert_subject + ''\\n'' + params.alert_message +
''\\n'' + params.zabbix_url + (params.zabbix_url.endsWith(''/'') ? '''' : ''/'') + ''tr_events.php?triggerid='' +
params.trigger_id + ''&eventid='' + params.event_id + ''\\n'', priority
);
result.tags.__zbx_sysaid_incident_id = incident_id;
result.tags.__zbx_sysaid_incidentlink = params.sysaid_url +
(params.sysaid_url.endsWith(''/'') ? '''' : ''/'') + ''SREdit.jsp?id='' + incident_id + ''&fromId=IncidentsList'';
}
else {
// Update created ticket for trigger-based event.
SysAid.updateTicket(params.alert_subject + ''\\n'' + params.alert_message);
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ SysAid Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_sysaid_incidentlink}','SysAid: incident #{EVENT.TAGS.__zbx_sysaid_incident_id}','','0'),
('97','4','Telegram','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
var serviceLogName = ''Telegram Webhook'',
Logger = new CLogger(serviceLogName),
Telegram = CWebhook;
function escapeMarkup(str, mode) {
switch (mode) {
case ''markdown'':
return str.replace(/([_*\\[`])/g, ''\\\\$&'');
case ''markdownv2'':
return str.replace(/([_*\\[\\]()~`>#+\\-=|{}.!])/g, ''\\\\$&'');
case ''html'':
return str.replace(/<(\\s|[^a-z\\/])/g, ''<$1'');
default:
return str;
}
}
Telegram.prototype.getMessageID = function (chat_id, message_thread_id) {
const tag_key = ''__telegram_msg_id_'' + chat_id + (message_thread_id ? ''_'' + message_thread_id : '''');
if (CParamValidator.isDefined(this.params.event_tags[tag_key])) {
return this.params.event_tags[tag_key];
}
return null;
}
Telegram.prototype.onCheckParams = function () {
CParamValidator.validate(
{
api_token: {type: ''string''},
api_chat_id: {type: ''string''},
alert_message: {type: ''string''}
},
this.params
);
if (CParamValidator.inArray(this.params.event_source, [''0'', ''3'', ''4''])) {
CParamValidator.validate({
event_tags: {type: ''array'', macro: ''EVENT.TAGSJSON'', tags: true, default: {}}
}, this.params);
}
this.params.url = ''https://api.telegram.org/bot'';
this.data = {
disable_web_page_preview: true,
disable_notification: false
};
const match = this.params.api_chat_id.match(/^(-?\\d+|@[a-zA-Z0-9_]+)(?::(\\d+))?$/);
if (!match) {
throw ''Invalid format for api_chat_id: "'' + this.params.api_chat_id + ''". Must be a numeric group ID or @GroupName, optionally followed by :message_thread_id.'';
}
this.data[''chat_id''] = match[1];
if (CParamValidator.isDefined(match[2])) {
this.data[''message_thread_id''] = match[2];
}
this.data[''text''] = ((this.params.alert_subject !== '''') ? this.params.alert_subject + ''\\n'' : '''') + this.params.alert_message;
if ([''markdown'', ''html'', ''markdownv2''].indexOf(this.params.api_parse_mode.toLowerCase()) !== -1) {
this.data[''parse_mode''] = this.params.api_parse_mode.toLowerCase();
this.data[''text''] = escapeMarkup(this.data[''text''], this.data[''parse_mode'']);
}
const reply_to_message_id = this.getMessageID(this.data[''chat_id''], this.data[''message_thread_id'']);
if (reply_to_message_id !== null) {
this.data[''reply_to_message_id''] = reply_to_message_id;
}
this.result = {tags: {}};
};
Telegram.prototype.onEvent = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
Logger.log(Logger.INFO, ''URL: '' + this.params.url.replace(this.params.api_token, ''''));
var response = this.request.jsonRequest(''POST'', this.params.url + this.params.api_token + ''/sendMessage'', this.data);
if (this.request.getStatus() !== 200 || !CParamValidator.isType(response.ok, ''boolean'') || response.ok !== true) {
Logger.log(Logger.INFO, ''HTTP code: '' + this.request.getStatus());
if (CParamValidator.isType(response.description, ''string'')) {
throw response.description;
}
else {
throw ''Unknown error. Check debug log for more information.'';
}
}
if (CParamValidator.isDefined(response.result.message_id) && this.getMessageID(this.data[''chat_id''], this.data[''message_thread_id'']) === null) {
this.result.tags[''__telegram_msg_id_'' + this.data[''chat_id''] + (this.data[''message_thread_id''] ? ''_'' + this.data[''message_thread_id''] : '''')] = response.result.message_id;
}
return this.result;
};
try {
var hook = new Telegram(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','0','','','This media type integrates your Zabbix installation with Telegram using the Zabbix webhook feature.
Telegram configuration:
1. Register a new Telegram bot: send "/newbot" to "@BotFather" and follow the instructions. The token provided by "@BotFather" in the final step will be needed for configuring the Zabbix webhook.
2. Set up personal or group notifications:
2.1 Personal notifications:
2.1.1 Retrieve the chat ID of the user the bot should send messages to. The user should send "/getid" to "@myidbot" in the Telegram messenger.
2.1.2 The user should also send "/start" to the bot created in step 1. If you skip this step, the Telegram bot won''t be able to send messages to the user (bots cannot initiate conversations with users).
2.2 Group notifications:
2.2.1 Retrieve the group ID of the group that the bot should send messages to. Add "@myidbot" and the bot created in step 1 to your group.
2.2.2 In the group chat, send: "/getgroupid@myidbot".
2.2.3 If the bot is added to a supergroup and you want the bot to send messages to a specific topic instead of the default "General" channel, right-click any message in that topic and click "Copy Message Link". The copied link will have the following format: "https://t.me/c///", for example: "https://t.me/c/1234567890/2/1". In this example, the topic ID is "2".
Note:
- The group ID is a negative number, for example: "-1234567890".
- The supergroup ID is a negative number prefixed with "-100", for example: "-1001234567890"
- The public group or supergroup ID can also be specified in media type properties as a name prefixed by "@", for example: "@MyGroupName".
3. Depending on where you want to send notifications, copy and save the bot token, personal chat ID or group ID, and topic ID (if you want to send messages to a specific supergroup topic), as you will need these later to set up the media type in Zabbix.
Zabbix configuration:
1. Set the following webhook parameters:
- "api_parse_mode" - the formatting mode applied for messages (possible values: "markdown", "html", "markdownv2")
- "api_token" - the token of the bot used to send messages
Learn more about message formatting options in Telegram Bot API documentation:
- Markdown: https://core.telegram.org/bots/api#markdown-style
- HTML: https://core.telegram.org/bots/api#html-style
- MarkdownV2: https://core.telegram.org/bots/api#markdownv2-style
Note: Your Telegram-related actions should be separated from other notification types (e.g., SMS); otherwise, if you use Markdown or HTML in the alert subject or body, you may receive plain-text alerts with raw tags.
2. Click the "Enabled" checkbox to enable the media type and click the "Update" button to save the webhook settings.
3. Create a Zabbix user and add media:
- To create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to Telegram.
- In the "Media" tab, click "Add" and select the type "Telegram" from the drop-down list.
- In the "Send to" field, specify the Telegram user chat ID or group ID that you retrieved during Telegram setup. To send notifications to a specific topic within a supergroup, specify the topic ID after the semicolon delimiter in the format ":", for example: "-1001234567890:2", "@MyGroupName:2".
4. Done! You can now start using this media type in actions and create tickets.
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram','0'),
('98','4','TOPdesk','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Media = {
params: {},
name: '''',
labels: [],
HTTPProxy: '''',
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Media.params = params;
Media.params.api += Media.params.api.endsWith(''/'') ? '''' : ''/'';
},
setProxy: function (HTTPProxy) {
if (typeof HTTPProxy !== ''undefined'' && HTTPProxy.trim() !== '''') {
Media.HTTPProxy = HTTPProxy;
}
},
request: function (method, query, data) {
[''api'', ''token''].forEach(function (field) {
if (typeof Media.params !== ''object'' || typeof Media.params[field] === ''undefined''
|| Media.params[field] === '''') {
throw ''Required '' + Media.name + '' param is not set: "'' + field + ''".'';
}
});
var response,
url = Media.params.api + query,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: '' + Media.params.token);
request.setProxy(Media.HTTPProxy);
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Sending request: '' +
url + ((typeof data === ''string'') ? (''\\n'' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Failed to parse response.'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null) {
if (typeof response.errors === ''object'' && Object.keys(response.errors).length > 0) {
message += '': '' + JSON.stringify(response.errors);
}
else if (typeof response.errorMessages === ''object'' && Object.keys(response.errorMessages).length > 0) {
message += '': '' + JSON.stringify(response.errorMessages);
}
else if (typeof response.message === ''string'') {
message += '': '' + response.message;
}
}
throw message + '' Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
}
};
try {
var result = {tags: {}},
params = JSON.parse(value),
media = {},
fields = {},
resp = {},
required_params = [
''alert_subject'',
''alert_message'',
''event_id'',
''event_source'',
''event_value'',
''event_update_status'',
''topdesk_api'',
''topdesk_user'',
''topdesk_password''
],
severities = [
''not_classified'',
''information'',
''warning'',
''average'',
''high'',
''disaster'',
''resolved'',
''default''
],
priority;
Object.keys(params)
.forEach(function (key) {
if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter "'' + key + ''" cannot be empty.'';
}
if (key.startsWith(''topdesk_'')) {
media[key.substring(8)] = params[key];
}
});
// Possible values of event_source:
// 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal.
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: "'' + params.event_source + ''".\\nMust be 0-3.'';
}
// Check event_value for trigger-based and internal events.
// Possible values: 1 for problem, 0 for recovering
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check event_update_status only for trigger-based events.
// Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation.
if (params.event_source === ''0'' && params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
// Check event_id for a numeric value.
if (isNaN(parseInt(params.event_id)) || params.event_id < 1) {
throw ''Incorrect "event_id" parameter given: '' + params.event_id + ''\\nMust be a positive number.'';
}
if ((params.event_source === ''1'' || params.event_source === ''2'') && params.event_value === ''0'') {
throw ''Recovery operations are supported only for Trigger and Internal actions.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''severity_'' + severities[params.event_nseverity]];
params.zbxurl = params.zbxurl + (params.zbxurl.endsWith(''/'') ? '''' : ''/'');
Media.name = ''TOPdesk'';
Media.setParams(media);
Media.params.token = ''Basic '' + btoa(Media.params.user + '':'' + Media.params.password);
Media.setProxy(params.HTTPProxy);
// Create an issue.
// Numeric value of the event that triggered an action (1 for problem, 0 for recovering).
// Numeric value of the problem update status. Possible values:
// 0 - Webhook was called because of problem/recovery event, 1 - Update operation.
if ((params.event_source == 0 && params.event_value == 1 && params.event_update_status == 0)
|| (params.event_source == 3 && params.event_value == 1)
|| params.event_source == 1 || params.event_source == 2) {
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Request of the ticket creating.'');
fields.caller = {dynamicName: ''Zabbix''};
fields.briefDescription = params.alert_subject;
fields.request = params.alert_message.replace(/\\n/g, ''
'');
fields.priority = {name: priority};
fields.processingStatus = {name: Media.params.status};
fields.externalNumber = params.event_id;
fields.request += ''
'' + params.zbxurl;
if (params.event_source === ''0'') {
fields.request += ''tr_events.php?triggerid='' + params.trigger_id + ''&eventid='' + params.event_id;
}
resp = Media.request(''post'', ''tas/api/incidents'', fields);
if (typeof resp.response !== ''object'' || typeof resp.response.id === ''undefined'') {
throw ''Cannot create '' + Media.name + '' issue. Check debug log for more information.'';
}
if (params.event_source == 0 && params.event_value == 1 && params.event_update_status == 0) {
result.tags.__zbx_tpd_issuekey = resp.response.number;
result.tags.__zbx_tpd_issuelink = Media.params.api +
''tas/secure/incident?action=show&unid='' + resp.response.id;
}
}
// Update a created issue.
else {
if (params.event_source == 3 && params.event_value == 0) {
throw ''Internal event recovery actions are not supported.'';
}
Zabbix.log(4, ''[ '' + Media.name + '' Webhook ] Request of the ticket updating.'');
fields.action = params.alert_message.replace(/\\n/g, ''
'');
resp = Media.request(''put'', ''tas/api/incidents/number/'' + Media.params.issue_key, fields);
if (typeof resp.response !== ''object'' || typeof resp.response.id === ''undefined''
|| resp.response.number !== Media.params.issue_key) {
throw ''Cannot update '' + Media.name + '' issue. Check debug log for more information.'';
}
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[ '' + Media.name + '' Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_tpd_issuelink}','TOPdesk: {EVENT.TAGS.__zbx_tpd_issuekey}','Please refer to https://developers.topdesk.com/documentation/index.html and https://www.zabbix.com/documentation/7.4/manual/config/notifications/media/webhook#example_scripts.
Set global macro {$ZABBIX.URL} with your Zabbix server URL.
Add a dedicated user with the media type "TOPdesk".
Change the values of the variables topdesk_api (URL), topdesk_password, topdesk_user. The topdesk_status is the default status for creating a new TOPdesk ticket.','0'),
('99','4','VictorOps','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var VictorOps = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
VictorOps.params = params;
if (VictorOps.params.endpoint) {
if (!VictorOps.params.endpoint.endsWith(''/'')) {
VictorOps.params.endpoint += ''/'';
}
if (typeof VictorOps.params.routing_key !== ''undefined''
&& VictorOps.params.routing_key !== ''{ALERT.SENDTO}''
&& VictorOps.params.routing_key !== ''Default'') {
VictorOps.params.endpoint += VictorOps.params.routing_key;
}
}
},
setProxy: function (HTTPProxy) {
VictorOps.HTTPProxy = HTTPProxy;
},
addFields: function (fields) {
var data = {};
if (typeof fields === ''object'') {
Object.keys(fields)
.forEach(function(field) {
if (fields[field] === '''') {
Zabbix.log(4, ''[ VictorOps Webhook ] Field "'' + field +
''" can\\''t be empty. The field ignored.'');
}
else {
try {
var parts = field.split('':''),
prefix = parts[0].split(''_'');
if (typeof prefix[1] === ''undefined''
|| (prefix[1] === ''p'' && params.event_value === ''1''
&& (params.event_update_status === ''0''
|| params.event_update_status === ''{EVENT.UPDATE.STATUS}''))
|| (prefix[1] === ''r'' && params.event_value === ''0''
&& (params.event_update_status === ''0''
|| params.event_update_status === ''{EVENT.UPDATE.STATUS}''))
|| (prefix[1] === ''u'' && params.event_update_status === ''1'')) {
data[field.substring(field.indexOf('':'') + 1)] = fields[field];
}
}
catch (error) {
Zabbix.log(4, ''[ VictorOps Webhook ] Can\\''t parse field "'' + field +
''". The field ignored.'');
}
}
});
}
return data;
},
request: function (data) {
if (typeof VictorOps.params !== ''object'' || typeof VictorOps.params.endpoint === ''undefined''
|| VictorOps.params.endpoint === '''' ) {
throw ''Required parameter is not set: "vops_endpoint".'';
}
var response,
url = VictorOps.params.endpoint,
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
if (typeof VictorOps.HTTPProxy !== ''undefined'' && VictorOps.HTTPProxy !== '''') {
request.setProxy(VictorOps.HTTPProxy);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ VictorOps Webhook ] Sending request: '' + url +
((typeof data === ''string'') ? (''\\n'' + data) : ''''));
response = request.post(url, data);
Zabbix.log(4, ''[ VictorOps Webhook ] Received response with status code '' +
request.getStatus() + ''\\n'' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[ VictorOps Webhook ] Failed to parse response received from VictorOps'');
response = null;
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.messages !== ''undefined'') {
message += '': '' + JSON.stringify(response.messages);
}
throw message + ''. Check debug log for more information.'';
}
return response;
}
};
try {
var params = JSON.parse(value),
fields = {},
vops = {},
required_params = [''event_source'', ''event_value'', ''priority_update''],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: ''default'', color: ''#000000''}
];
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''vops_'')) {
vops[key.substring(5)] = params[key];
}
else if (key.startsWith(''field'')) {
fields[key.substring(5)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key] === '''') {
throw ''Parameter "'' + key + ''" can\\''t be empty.'';
}
});
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
if (params.event_update_status !== ''0'' && params.event_update_status !== ''1'' && params.event_source === ''0'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
if (params.event_update_status === ''1'') {
fields['':message_type''] = params.priority_update;
}
else {
fields['':message_type''] = params[''priority_'' + severities[params.event_nseverity].name]
|| ''INFO'';
}
if (params.event_info && params.event_source === ''0'') {
fields['':event_info''] = params.event_info;
}
VictorOps.setParams(vops);
VictorOps.setProxy(params.HTTPProxy);
VictorOps.request(VictorOps.addFields(fields));
return ''OK'';
}
catch (error) {
Zabbix.log(3, ''[ VictorOps Webhook ] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','0','0','','','','0'),
('100','4','Zammad','','','','','','','','25','0','0','0','0','1','3','10s','1',E'const CLogger = function(serviceName) {
this.serviceName = serviceName;
this.INFO = 4
this.WARN = 3
this.ERROR = 2
this.log = function(level, msg) {
Zabbix.log(level, ''['' + this.serviceName + ''] '' + msg);
}
}
const CWebhook = function(value) {
try {
params = JSON.parse(value);
if ([''0'', ''1'', ''2'', ''3'', ''4''].indexOf(params.event_source) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''.\\nMust be 0-4.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1 && [''0'', ''1''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0 or 1.'';
}
if ([''0'', ''3'', ''4''].indexOf(params.event_source) !== -1) {
if (params.event_source === ''1'' && [''0'', ''1'', ''2'', ''3''].indexOf(params.event_value) === -1) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''.\\nMust be 0-3.'';
}
if (params.event_source === ''0'' && [''0'', ''1''].indexOf(params.event_update_status) === -1) {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''.\\nMust be 0 or 1.'';
}
if (params.event_source === ''4'') {
if ([''0'', ''1'', ''2'', ''3'', ''4'', ''5''].indexOf(params.event_update_nseverity) !== -1 && params.event_update_nseverity != params.event_nseverity) {
params.event_nseverity = params.event_update_nseverity;
params.event_severity = params.event_update_severity;
params.event_update_status = ''1'';
}
}
}
this.runCallback = function(name, params) {
if (typeof this[name] === ''function'') {
return this[name].apply(this, [params]);
}
}
this.handleEvent = function(source, event) {
const alert = { source: source, event: event };
return [
this.runCallback(''on'' + source + event, alert),
this.runCallback(''on'' + event, alert),
this.runCallback(''onEvent'', alert)
];
}
this.handleEventless = function(source) {
const alert = { source: source, event: null };
return [
this.runCallback(''on'' + source, alert),
this.runCallback(''onEvent'', alert)
];
}
this.run = function() {
var results = [];
if (typeof this.httpProxy === ''string'' && this.httpProxy.trim() !== '''') {
this.request.setProxy(this.httpProxy);
}
const types = { ''0'': ''Trigger'', ''1'': ''Discovery'', ''2'': ''Autoreg'', ''3'': ''Internal'', ''4'': ''Service'' };
if ([''0'', ''3'', ''4''].indexOf(this.params.event_source) !== -1) {
var event = (this.params.event_update_status === ''1'')
? ''Update''
: ((this.params.event_value === ''1'') ? ''Problem'' : ''Resolve'');
results = this.handleEvent(types[this.params.event_source], event);
}
else if (typeof types[this.params.event_source] !== ''undefined'') {
results = this.handleEventless(types[this.params.event_source]);
}
else {
throw ''Unexpected "event_source": '' + this.params.event_source;
}
for (idx in results) {
if (typeof results[idx] !== ''undefined'') {
return JSON.stringify(results[idx]);
}
}
}
this.httpProxy = params.http_proxy;
this.params = params;
this.runCallback(''onCheckParams'', {});
} catch (error) {
throw ''Webhook processing failed: '' + error;
}
}
const CParamValidator = {
isType: function(value, type) {
if (type === ''array'') {
return Array.isArray(value);
}
if (type === ''integer'') {
return CParamValidator.isInteger(value);
}
if (type === ''float'') {
return CParamValidator.isFloat(value);
}
return (typeof value === type);
},
isInteger: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+$/)) {
return false;
}
return !isNaN(parseInt(value));
},
isFloat: function(value) {
if (!CParamValidator.ifMatch(value, /^-?\\d+\\.\\d+$/)) {
return false;
}
return !isNaN(parseFloat(value));
},
isDefined: function(value) {
return !CParamValidator.isType(value, ''undefined'');
},
isEmpty: function(value) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be checked for emptiness.'';
}
return (value.trim() === '''');
},
isMacroSet: function(value, macro) {
if (CParamValidator.isDefined(macro)) {
return !(CParamValidator.ifMatch(value, ''^\\{'' + macro + ''\\}$''))
}
return !(CParamValidator.ifMatch(value, ''^\\{[$#]{0,1}[A-Z_\\.]+[\\:]{0,1}["]{0,1}.*["]{0,1}\\}$'') || value === ''*UNKNOWN*'')
},
withinRange: function(value, min, max) {
if (!CParamValidator.isType(value, ''number'')) {
throw ''Value "'' + value + ''" must be a number to be checked for range.'';
}
if (value < ((CParamValidator.isDefined(min)) ? min : value)
|| value > ((CParamValidator.isDefined(max)) ? max : value)) {
return false;
}
return true;
},
inArray: function(value, array) {
if (!CParamValidator.isType(array, ''array'')) {
throw ''The array must be an array to check the value for existing in it.'';
}
return (array.indexOf((typeof value === ''string'') ? value.toLowerCase() : value) !== -1);
},
ifMatch: function(value, regex) {
return (new RegExp(regex)).test(value);
},
match: function(value, regex) {
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + value + ''" must be a string to be matched with the regular expression.'';
}
return value.match(new RegExp(regex));
},
checkURL: function(value) {
if (CParamValidator.isEmpty(value)) {
throw ''URL value "'' + value + ''" must be a non-empty string.'';
}
if (!CParamValidator.ifMatch(value, ''^(http|https):\\/\\/.+'')) {
throw ''URL value "'' + value + ''" must contain a schema.'';
}
return value.endsWith(''/'') ? value.slice(0, -1) : value;
},
check: function(key, rule, params) {
if (!CParamValidator.isDefined(rule.type)) {
throw ''Mandatory attribute "type" has not been defined for parameter "'' + key + ''".'';
}
if (!CParamValidator.isDefined(params[key])) {
throw ''Checked parameter "'' + key + ''" was not found in the list of input parameters.'';
}
var value = params[key],
error_message = null;
switch (rule.type) {
case ''string'':
if (!CParamValidator.isType(value, ''string'')) {
throw ''Value "'' + key + ''" must be a string.'';
}
if (CParamValidator.isEmpty(value)) {
error_message = ''Value "'' + key + ''" must be a non-empty string'';
break;
}
if (CParamValidator.isDefined(rule.len) && value.length < rule.len) {
error_message = ''Value "'' + key + ''" must be a string with a length > '' + rule.len;
}
if (CParamValidator.isDefined(rule.regex) && !CParamValidator.ifMatch(value, rule.regex)) {
error_message = ''Value "'' + key + ''" must match the regular expression "'' + rule.regex + ''"'';
}
if (CParamValidator.isDefined(rule.url) && rule.url === true) {
value = CParamValidator.checkURL(value);
}
break;
case ''integer'':
if (!CParamValidator.isInteger(value)) {
error_message = ''Value "'' + key + ''" must be an integer'';
break;
}
value = parseInt(value);
break;
case ''float'':
if (!CParamValidator.isFloat(value)) {
error_message = ''Value "'' + key + ''" must be a floating-point number'';
break;
}
value = parseFloat(value);
break;
case ''boolean'':
if (CParamValidator.inArray(value, [''1'', ''true'', ''yes'', ''on''])) {
value = true;
}
else if (CParamValidator.inArray(value, [''0'', ''false'', ''no'', ''off''])) {
value = false;
}
else {
error_message = ''Value "'' + key + ''" must be a boolean-like.'';
}
break;
case ''array'':
try {
value = JSON.parse(value);
} catch (error) {
throw ''Value "'' + key + ''" contains invalid JSON.'';
}
if (!CParamValidator.isType(value, ''array'')) {
error_message = ''Value "'' + key + ''" must be an array.'';
}
if (CParamValidator.isDefined(rule.tags) && rule.tags === true) {
value = value.reduce(function(acc, obj) {
acc[obj.tag] = obj.value || null;
return acc;
}, {});
}
break;
case ''object'':
value = JSON.parse(value);
if (!CParamValidator.isType(value, ''object'')) {
error_message = ''Value "'' + key + ''" must be an object.'';
}
break;
default:
throw ''Unexpected attribute type "'' + rule.type + ''" for value "'' + key + ''". Available: '' +
[''integer'', ''float'', ''string'', ''boolean'', ''array'', ''object''].join('', '');
}
params[key] = value;
if (CParamValidator.inArray(rule.type, [''integer'', ''float'']) && error_message === null && (CParamValidator.isDefined(rule.min)
|| CParamValidator.isDefined(rule.max)) && !CParamValidator.withinRange(value, rule.min, rule.max)) {
error_message = ''Value "'' + key + ''" must be a number '' + ((CParamValidator.isDefined(rule.min) && CParamValidator.isDefined(rule.max))
? (rule.min + ''..'' + rule.max) : ((CParamValidator.isDefined(rule.min)) ? ''>'' + rule.min : ''<'' + rule.max));
}
else if (CParamValidator.isDefined(rule.array) && !CParamValidator.inArray(value, rule.array)) {
error_message = ''Value "'' + key + ''" must be in the array '' + JSON.stringify(rule.array);
}
else if (CParamValidator.isDefined(rule.macro) && !CParamValidator.isMacroSet(value.toString(), rule.macro)) {
error_message = ''The macro '' + ((CParamValidator.isDefined(rule.macro)) ? ''{'' + rule.macro + ''} '' : '' '') + ''is not set'';
}
if (error_message !== null) {
if (CParamValidator.isDefined(rule.default) && CParamValidator.isType(rule.default, rule.type)) {
params[key] = rule.default;
}
else {
Zabbix.log(4, ''Default value for "'' + key + ''" must be a '' + rule.type + ''. Skipped.'');
throw ''Incorrect value for variable "'' + key + ''". '' + error_message;
}
}
return this;
},
validate: function(rules, params) {
if (!CParamValidator.isType(params, ''object'') || CParamValidator.isType(params, ''array'')) {
throw ''Incorrect parameters value. The value must be an object.'';
}
for (var key in rules) {
CParamValidator.check(key, rules[key], params);
}
}
}
const CHttpRequest = function(logger) {
this.request = new HttpRequest();
if (typeof logger !== ''object'' || logger === null) {
this.logger = Zabbix;
}
else {
this.logger = logger;
}
this.clearHeader = function() {
this.request.clearHeader();
}
this.addHeaders = function(value) {
var headers = [];
if (typeof value === ''object'' && value !== null) {
if (!Array.isArray(value)) {
Object.keys(value).forEach(function(key) {
headers.push(key + '': '' + value[key]);
});
}
else {
headers = value;
}
}
else if (typeof value === ''string'') {
value.split(''\\r\\n'').forEach(function(header) {
headers.push(header);
});
}
for (var idx in headers) {
this.request.addHeader(headers[idx]);
}
}
this.setProxy = function(proxy) {
this.request.setProxy(proxy);
}
this.plainRequest = function(method, url, data) {
var resp = null;
method = method.toLowerCase();
this.logger.log(4, ''Sending '' + method + '' request:'' + JSON.stringify(data));
if ([''get'', ''post'', ''put'', ''patch'', ''delete'', ''trace''].indexOf(method) !== -1) {
resp = this.request[method](url, data);
}
else if ([''connect'', ''head'', ''options''].indexOf(method) !== -1) {
resp = this.request[method](url);
}
else {
throw ''Unexpected method. Method '' + method + '' is not supported.'';
}
this.logger.log(4, ''Response has been received: '' + resp);
return resp;
}
this.jsonRequest = function(method, url, data) {
this.addHeaders(''Content-Type: application/json'');
var resp = this.plainRequest(method, url, JSON.stringify(data));
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse response: not well-formed JSON was received'';
}
return resp;
}
this.getStatus = function() {
return this.request.getStatus();
}
}
const CWebhookHelper = {
createProblemURL: function(event_source, zabbix_url, trigger_id, event_id) {
if (event_source === ''0'') {
return zabbix_url + ''/tr_events.php?triggerid='' + trigger_id + ''&eventid='' + event_id;
} else if (event_source === ''4'') {
return zabbix_url + ''/zabbix.php?action=service.list'';
}
return zabbix_url;
},
};
var ZABBIX_SEVERITY_MAP = ["not_classified", "information", "warning", "average", "high", "disaster"],
serviceLogName = ''Zammad Webhook'',
Logger = new CLogger(serviceLogName),
Zammad = CWebhook;
Zammad.prototype.onCheckParams = function () {
CParamValidator.validate({
alert_message: {type: ''string''},
alert_subject: {type: ''string''},
zammad_url: {type: ''string'', url: true},
zammad_customer: {type: ''string''},
zammad_access_token: {type: ''string''},
zammad_group: {type: ''string''},
zammad_enable_tags: {type: ''boolean'', default: false},
event_nseverity: {type: ''integer'', default: -1},
zabbix_url: {type: ''string'', url: true}
}, this.params);
if (CParamValidator.inArray(this.params.event_source, [''0'', ''3'', ''4''])) {
CParamValidator.validate({
event_tags: {type: ''array'', macro: ''EVENT.TAGSJSON'', tags: true, default: {}}
}, this.params);
}
var priority;
if (this.params.event_nseverity >= 0 && this.params.event_nseverity < ZABBIX_SEVERITY_MAP.length) {
priority = this.params[''severity_'' + ZABBIX_SEVERITY_MAP[this.params.event_nseverity]];
}
this.priority = (CParamValidator.isDefined(priority)) ? priority.trim() : null;
this.result = {tags: {}};
};
Zammad.prototype.onProblem = function (alert) {
if (CParamValidator.isDefined(this.params.event_tags[''__zbx_zammad_ticket_id''])) {
return this.onUpdate(alert);
}
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
this.request.addHeaders(''Authorization: Token token='' + this.params.zammad_access_token);
var payload_data = {
title: this.params.alert_subject,
group: this.params.zammad_group,
article: {
subject: this.params.alert_subject,
body: this.params.alert_message + ''\\n'' + CWebhookHelper.createProblemURL(this.params.event_source, this.params.zabbix_url, this.params.trigger_id, this.params.event_id),
type: ''note'',
internal: false
},
customer: this.params.zammad_customer
};
if (this.priority) {
payload_data.priority_id = this.priority;
}
const response = this.request.jsonRequest(''POST'', this.params.zammad_url + ''/api/v1/tickets'', payload_data);
if (this.request.getStatus() != 201 || !CParamValidator.isDefined(response.id)) {
var message = ''Cannot create Zammad ticket. Request failed with status code '' + this.request.getStatus();
if (CParamValidator.isDefined(response.error) && Object.keys(response.error).length > 0) {
message += '': '' + response.error;
}
throw message + '' Check debug log for more information.'';
}
this.result.tags = {
__zbx_zammad_ticket_id: response.id,
__zbx_zammad_ticketlink: this.params.zammad_url + ''/#ticket/zoom/'' + response.id
};
if (this.params.zammad_enable_tags && Object.keys(this.params.event_tags).length > 0 && CParamValidator.inArray(this.params.event_source, [''0'', ''3'', ''4''])) {
this.request.clearHeader();
this.request.addHeaders({
"Content-Type": "application/json",
"Authorization": "Token token=" + this.params.zammad_access_token
});
payload_data = {
item: '''',
object: ''Ticket'',
o_id: response.id
};
try {
for (var tag in this.params.event_tags) {
payload_data.item = tag;
if (this.params.event_tags[tag]) {
payload_data.item += ": " + this.params.event_tags[tag];
}
this.request.plainRequest(''POST'', this.params.zammad_url + ''/api/v1/tags/add'', JSON.stringify(payload_data));
if (this.request.getStatus() != 201) {
Logger.log(Logger.INFO, ''Failed to set tag: '' + tag);
}
}
}
catch (error) {
Logger.log(Logger.INFO, ''Failed to add ticket tags: '' + error);
}
}
return this.result;
}
Zammad.prototype.onUpdate = function (alert) {
Logger.log(Logger.INFO, ''Source: '' + alert.source + ''; Event: '' + alert.event);
if (!CParamValidator.isDefined(this.params.event_tags[''__zbx_zammad_ticket_id''])) {
throw "Failed to update the existing ticket: no ticket ID was received."
}
this.request.addHeaders(''Authorization: Token token='' + this.params.zammad_access_token);
const payload_data = {
ticket_id: this.params.event_tags[''__zbx_zammad_ticket_id''],
subject: this.params.alert_subject,
body: this.params.alert_message,
type: ''note'',
internal: false
};
const response = this.request.jsonRequest(''POST'', this.params.zammad_url + ''/api/v1/ticket_articles'', payload_data);
if (this.request.getStatus() != 201 || !CParamValidator.isDefined(response.id)) {
var message = ''Cannot update Zammad ticket. Request failed with status code '' + this.request.getStatus();
if (CParamValidator.isDefined(response.error) && Object.keys(response.error).length > 0) {
message += '': '' + response.error;
}
throw message + '' Check debug log for more information.'';
}
return this.result;
}
Zammad.prototype.onResolve = function (alert) {
return this.onUpdate(alert);
}
Zammad.prototype.onDiscovery = function (alert) {
return this.onProblem(alert);
}
Zammad.prototype.onAutoreg = function (alert) {
return this.onProblem(alert);
}
try {
var hook = new Zammad(value);
hook.request = new CHttpRequest(Logger);
return hook.run();
}
catch (error) {
Logger.log(Logger.WARN, ''notification failed: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_zammad_ticketlink}','Zammad: Ticket #{EVENT.TAGS.__zbx_zammad_ticket_id}','This media type integrates your Zabbix installation with your Zammad installation using the Zabbix webhook feature.
Zammad configuration:
1. Check that API Token Access is enabled in "Settings" → "System" → "API".
2. Open the profile settings of the customer user and create a new Personal User Token.
3. Set the "ticket.agent" permission for the token and press Create.
4. Copy and save the created token somewhere, as it will be shown only once for security reasons.
Zabbix configuration:
1. Before you can start using Zammad webhook, set up the global macro "{$ZABBIX.URL}":
- In the Zabbix web interface, go to "Administration" → "Macros" section in the dropdown menu in the top left corner.
- Set up the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or localhost.
- Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration you might also need to append "/zabbix" to the end of URL. Good examples:
- http://zabbix.com
- https://zabbix.lan/zabbix
- http://server.zabbix.lan/
- http://localhost
- http://127.0.0.1:8080
- Bad examples:
- zabbix.com
- http://zabbix/
2. Set the following webhook parameters:
- zammad_access_token - the access token that you created during Zammad configuration
- zammad_url - the frontend URL of your Zammad installation
- zammad_customer - the Zammad user email
- zammad_enable_tags - if you want to add the Zabbix event tags to the Zammad tickets that are created, you can set it to one of the following values: "1", "true", "yes", "on" (note, that if the tag support is enabled, each tag is sent via separate HTTP request and created tags will also remain in the Zammad when tickets are closed/deleted)
- zammad_group - if needed, you can change the Zammad user group
3. If you want to prioritize issues according to the severity values in Zabbix, you can define mapping parameters (create them as additional webhook parameters):
- severity_ - the Zammad priority ID ( in the parameter name can be one of the following values: "not_classified", "information", "warning", "average", "high", "disaster")
4. Create a Zabbix user and add media:
- If you want to create a new user, go to the "Users" → "Users" section, click the "Create user" button in the top right corner. In the "User" tab, fill in all required fields (marked with red asterisks).
- In the "Media" tab, add a new media and select "Zammad" type from the drop-down list. Add any value to the "Send to" field: it is required to be filled, but it is not used.
- Make sure this user has access to all hosts for which you would like problem notifications to be sent to Zammad.
5. Great! You can now start using this media type in actions and create tickets!
You can find the latest version of this media and additional information in the official Zabbix repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/zammad','0'),
('101','4','Zendesk','','','','','','','','25','0','0','0','0','1','3','10s','1',E'var Zendesk = {
params: {},
setParams: function (params) {
if (typeof params !== ''object'') {
return;
}
Zendesk.params = params;
if (typeof Zendesk.params.url === ''string'') {
if (!Zendesk.params.url.endsWith(''/'')) {
Zendesk.params.url += ''/'';
}
Zendesk.params.url += ''api/v2/'';
}
},
addCustomFields: function (data, fields) {
if (typeof fields === ''object'' && Object.keys(fields).length) {
var schema = Zendesk.getSchema(),
arr = [],
i,
n;
if (schema) {
Object.keys(fields)
.forEach(function(field) {
for (i = 0, n = schema.ticket_fields.length; i < n; i++) {
if (schema.ticket_fields[i].id == field
&& [''text'', ''integer'', ''date''].indexOf(schema.ticket_fields[i].type) !== -1){
switch (schema.ticket_fields[i].type) {
case ''integer'':
fields[field] = parseInt(fields[field]);
break;
case ''date'':
if (fields[field].match(/^\\d{4}[.-]\\d{2}[.-]\\d{2}$/) !== null) {
fields[field] = fields[field].replace(/\\./g, ''-'');
}
else {
fields[field] = '''';
}
break;
}
arr.push({id: field, value: fields[field]});
break;
}
}
});
if (arr.length) {
data.ticket[''custom_fields''] = arr;
}
}
else {
Zabbix.log(4, ''[Zendesk Webhook] Failed to retrieve field schema.'');
}
}
return data;
},
request: function (method, query, data) {
[''url'', ''token'', ''type''].forEach(function (field) {
if (typeof Zendesk.params !== ''object'' || typeof Zendesk.params[field] === ''undefined'') {
throw ''Required Zendesk param is not set: '' + field + ''\\n'' + Zendesk.params[field];
}
});
var response,
url = Zendesk.params.url + query,
request = new HttpRequest();
if (typeof Zendesk.HTTPProxy === ''string'' && Zendesk.HTTPProxy.trim() !== '''') {
request.setProxy(Zendesk.HTTPProxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Basic '' + btoa(Zendesk.params.token));
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[Zendesk Webhook] Sending request: '' + url + ((typeof data === ''string'') ? ('' '' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
case ''put'':
response = request.put(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[Zendesk Webhook] Received response with status code '' + request.getStatus() + ''. '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, ''[Zendesk Webhook] Failed to parse response received from Zendesk.'');
}
}
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
if (response !== null && typeof response.error !== ''undefined''
&& Object.keys(response.error).length > 0) {
message += '': '' + JSON.stringify(response.error);
}
else if (response !== null && typeof response.description !== ''undefined''
&& Object.keys(response.description).length > 0) {
message += '': '' + JSON.stringify(response.description);
}
else {
message += ''. '' + response;
}
throw message + ''. Check debug log for more information.'';
}
return {
status: request.getStatus(),
response: response
};
},
getSchema: function() {
var result = Zendesk.request(''get'', ''ticket_fields.json'');
return result.response;
},
createIssue: function(data, fields) {
var result = Zendesk.request(''post'', ''tickets.json'', Zendesk.addCustomFields(data, fields));
if (typeof result.response !== ''object'' || typeof result.response.ticket.id === ''undefined''
|| result.status != 201) {
throw ''Cannot create Zendesk issue. Check debug log for more information.'';
}
return result.response.ticket.id;
},
updateIssue: function(data, fields) {
Zendesk.request(''put'', ''tickets/'' + Zendesk.params.issue_key + ''.json'', Zendesk.addCustomFields(data, fields));
}
};
try {
var params = JSON.parse(value),
fields = {},
zendesk = {},
update = {},
data = {},
result = {tags: {}},
required_params = [
''alert_subject'',
''alert_message'',
''event_id'',
''event_source'',
''event_value'',
''event_update_status''
],
severities = [
{name: ''not_classified'', color: ''#97AAB3''},
{name: ''information'', color: ''#7499FF''},
{name: ''warning'', color: ''#FFC859''},
{name: ''average'', color: ''#FFA059''},
{name: ''high'', color: ''#E97659''},
{name: ''disaster'', color: ''#E45959''},
{name: ''resolved'', color: ''#009900''},
{name: ''default'', color: ''#000000''}
],
priority;
Object.keys(params)
.forEach(function (key) {
if (key.startsWith(''zendesk_'')) {
zendesk[key.substring(8)] = params[key];
}
else if (key.startsWith(''customfield_'')) {
fields[key.substring(12)] = params[key];
}
else if (key.startsWith(''event_update_'')) {
update[key.substring(13)] = params[key];
}
else if (required_params.indexOf(key) !== -1 && params[key].trim() === '''') {
throw ''Parameter '' + key + '' cannot be empty.'';
}
});
// Possible values: question, incident, problems, task
if ([''question'', ''incident'', ''problem'', ''task''].indexOf(params.zendesk_type) === -1) {
throw ''Incorrect "zendesk_type" parameter given: '' + params.zendesk_type +
''\\nMust be one of question, incident, problem, task.'';
}
// Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal.
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw ''Incorrect "event_source" parameter given: '' + params.event_source + ''\\nMust be 0-3.'';
}
// Check {EVENT.VALUE} for trigger-based and internal events.
// Possible values: 1 for problem, 0 for recovering
if (params.event_value !== ''0'' && params.event_value !== ''1''
&& (params.event_source === ''0'' || params.event_source === ''3'')) {
throw ''Incorrect "event_value" parameter given: '' + params.event_value + ''\\nMust be 0 or 1.'';
}
// Check {EVENT.UPDATE.STATUS} only for trigger-based events.
// Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation.
if (params.event_source === ''0'' && params.event_update_status !== ''0'' && params.event_update_status !== ''1'') {
throw ''Incorrect "event_update_status" parameter given: '' + params.event_update_status + ''\\nMust be 0 or 1.'';
}
if (params.event_source !== ''0'' && params.event_value === ''0'') {
throw ''Recovery operations are supported only for trigger-based actions.'';
}
// Zendesk_issue_key must be a positive integer if an update action is being performed.
if (params.event_source === ''0'' && ((params.event_value === ''1'' && params.event_update_status === ''1'')
|| (params.event_value === ''0'' && (params.event_update_status === ''0'' || params.event_update_status === ''1'')))
&& (isNaN(parseInt(params.zendesk_issue_key)) || parseInt(params.zendesk_issue_key) < 1 )) {
throw ''Incorrect "zendesk_issue_key" parameter given: '' + params.zendesk_issue_key +
''\\nMust be positive integer.'';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = ''7'';
}
if (params.event_value === ''0'') {
params.event_nseverity = ''6'';
}
priority = params[''severity_'' + severities[params.event_nseverity].name] || severities[7].name;
Zendesk.setParams(zendesk);
Zendesk.HTTPProxy = params.HTTPProxy;
// Create issue for non trigger-based events.
if (params.event_source !== ''0'' && params.event_value !== ''0'') {
data = {
ticket: {
external_id: params.event_id,
type: Zendesk.params.type,
status: ''new'',
subject: params.alert_subject,
comment: {
body: params.alert_message,
public: ''false''
},
priority: priority,
tags: params.event_tags
}
};
Zendesk.createIssue(data, fields);
}
// Create issue for trigger-based events.
else if (params.event_value === ''1'' && update.status === ''0'') {
data = {
ticket: {
external_id: params.event_id,
type: Zendesk.params.type,
status: ''new'',
subject: params.alert_subject,
comment: {
body: params.zbxurl + (params.zbxurl.endsWith(''/'') ? '''' : ''/'') + ''tr_events.php?triggerid='' +
params.trigger_id + ''&eventid='' + params.event_id + ''\\n'' + params.alert_message,
public: ''false''
},
priority: priority,
tags: params.event_tags
}
};
var key = Zendesk.createIssue(data, fields);
result.tags.__zbx_zdk_issuekey = key;
result.tags.__zbx_zdk_issuelink = params.zendesk_url +
(params.zendesk_url.endsWith(''/'') ? '''' : ''/'') + ''agent/tickets/'' + key;
}
// Update created issue for trigger-based event.
else {
data = {
ticket: {
type: Zendesk.params.type,
subject: params.alert_subject,
comment: {
body: params.alert_message,
public: ''false''
}
}
};
Zendesk.updateIssue(data, fields);
}
return JSON.stringify(result);
}
catch (error) {
Zabbix.log(3, ''[Zendesk Webhook] ERROR: '' + error);
throw ''Sending failed: '' + error;
}','30s','1','1','{EVENT.TAGS.__zbx_zdk_issuelink}','Zendesk: {EVENT.TAGS.__zbx_zdk_issuekey}','','0');
INSERT INTO media_type_param (mediatype_paramid,mediatypeid,name,value,sortorder) VALUES ('646','70','endpoint','','0'),
('647','70','flash','false','0'),
('648','70','password','','0'),
('649','70','ring','false','0'),
('650','70','send_to','{ALERT.SENDTO}','0'),
('651','70','telauto','true','0'),
('652','70','text','{ALERT.MESSAGE}','0'),
('653','70','username','','0'),
('654','71','alert_message','{ALERT.MESSAGE}','0'),
('655','71','alert_subject','{ALERT.SUBJECT}','0'),
('656','71','discord_endpoint','{ALERT.SENDTO}','0'),
('657','71','event_id','{EVENT.ID}','0'),
('658','71','event_nseverity','{EVENT.NSEVERITY}','0'),
('659','71','event_severity','{EVENT.SEVERITY}','0'),
('660','71','event_source','{EVENT.SOURCE}','0'),
('661','71','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('662','71','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('663','71','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('664','71','event_value','{EVENT.VALUE}','0'),
('665','71','trigger_id','{TRIGGER.ID}','0'),
('666','71','user_agent','ZabbixServer (zabbix.com, 7.4)','0'),
('667','71','zabbix_url','{$ZABBIX.URL}','0'),
('668','72','acknowledged','{EVENT.ACK.STATUS}','0'),
('669','72','endpoint','/endpoint','0'),
('670','72','event_date','{EVENT.DATE}','0'),
('671','72','event_id','{EVENT.ID}','0'),
('672','72','event_name','{EVENT.NAME}','0'),
('673','72','event_nseverity','{EVENT.NSEVERITY}','0'),
('674','72','event_object','{EVENT.OBJECT}','0'),
('675','72','event_severity','{EVENT.SEVERITY}','0'),
('676','72','event_source','{EVENT.SOURCE}','0'),
('677','72','event_tags','{EVENT.TAGSJSON}','0'),
('678','72','event_time','{EVENT.TIME}','0'),
('679','72','event_value','{EVENT.VALUE}','0'),
('680','72','host_groups','{TRIGGER.HOSTGROUP.NAME}','0'),
('681','72','host_host','{HOST.HOST}','0'),
('682','72','host_id','{HOST.ID}','0'),
('683','72','host_ip','{HOST.IP}','0'),
('684','72','host_port','{HOST.PORT}','0'),
('685','72','HTTPProxy','','0'),
('686','72','monitoring_source','Zabbix sever','0'),
('687','72','operation_data','{EVENT.OPDATA}','0'),
('688','72','send_to','{ALERT.SENDTO}','0'),
('689','72','subject','{ALERT.SUBJECT}','0'),
('690','72','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('691','72','trigger_id','{TRIGGER.ID}','0'),
('692','72','trigger_name','{TRIGGER.NAME}','0'),
('693','73','event_source','{EVENT.SOURCE}','0'),
('694','73','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('695','73','event_value','{EVENT.VALUE}','0'),
('696','73','express_message','{ALERT.MESSAGE}','0'),
('697','73','express_send_to','{ALERT.SENDTO}','0'),
('698','73','express_tags','{EVENT.TAGSJSON}','0'),
('699','73','express_token','','0'),
('700','73','express_url','','0'),
('701','74','alert_message','{ALERT.MESSAGE}','0'),
('702','74','alert_subject','{ALERT.SUBJECT}','0'),
('703','74','event_id','{EVENT.ID}','0'),
('704','74','event_nseverity','{EVENT.NSEVERITY}','0'),
('705','74','event_severity','{EVENT.SEVERITY}','0'),
('706','74','event_source','{EVENT.SOURCE}','0'),
('707','74','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('708','74','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('709','74','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('710','74','event_value','{EVENT.VALUE}','0'),
('711','74','github_api_version','2022-11-28','0'),
('712','74','github_issue_number','{EVENT.TAGS.__zbx_github_issue_number}','0'),
('713','74','github_repo','{ALERT.SENDTO}','0'),
('714','74','github_token','','0'),
('715','74','github_url','https://api.github.com','0'),
('716','74','github_user_agent','Zabbix/7.4','0'),
('717','74','github_zabbix_event_priority_label_prefix','Zabbix Event Priority:','0'),
('718','74','github_zabbix_event_source_label_prefix','Zabbix Event Source:','0'),
('719','74','github_zabbix_event_status_label_prefix','Zabbix Event Status:','0'),
('720','74','github_zabbix_generic_label','Zabbix GitHub Webhook','0'),
('721','74','trigger_id','{TRIGGER.ID}','0'),
('722','74','zabbix_url','{$ZABBIX.URL}','0'),
('723','75','alert_message','{ALERT.MESSAGE}','0'),
('724','75','alert_subject','{ALERT.SUBJECT}','0'),
('725','75','event_id','{EVENT.ID}','0'),
('726','75','event_nseverity','{EVENT.NSEVERITY}','0'),
('727','75','event_severity','{EVENT.SEVERITY}','0'),
('728','75','event_source','{EVENT.SOURCE}','0'),
('729','75','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('730','75','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('731','75','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('732','75','event_value','{EVENT.VALUE}','0'),
('733','75','glpi_problem_id','{EVENT.TAGS.__zbx_glpi_problem_id}','0'),
('735','75','glpi_url','','0'),
('736','75','trigger_id','{TRIGGER.ID}','0'),
('737','75','zabbix_url','{$ZABBIX.URL}','0'),
('738','76','.ILERT.ALERT.SOURCE.KEY','{ALERT.SENDTO}','0'),
('739','76','.ILERT.INCIDENT.SUMMARY','','0'),
('740','76','ALERT.MESSAGE','{ALERT.MESSAGE}','0'),
('741','76','ALERT.SUBJECT','{ALERT.SUBJECT}','0'),
('742','76','EVENT.ACK.STATUS','{EVENT.ACK.STATUS}','0'),
('743','76','EVENT.DATE','{EVENT.DATE}','0'),
('744','76','EVENT.ID','{EVENT.ID}','0'),
('745','76','EVENT.NAME','{EVENT.NAME}','0'),
('746','76','EVENT.NSEVERITY','{EVENT.NSEVERITY}','0'),
('747','76','EVENT.OPDATA','{EVENT.OPDATA}','0'),
('748','76','EVENT.RECOVERY.DATE','{EVENT.RECOVERY.DATE}','0'),
('749','76','EVENT.RECOVERY.TIME','{EVENT.RECOVERY.TIME}','0'),
('750','76','EVENT.RECOVERY.VALUE','{EVENT.RECOVERY.VALUE}','0'),
('751','76','EVENT.SEVERITY','{EVENT.SEVERITY}','0'),
('752','76','EVENT.TAGS','{EVENT.TAGS}','0'),
('753','76','EVENT.TIME','{EVENT.TIME}','0'),
('754','76','EVENT.UPDATE.ACTION','{EVENT.UPDATE.ACTION}','0'),
('755','76','EVENT.UPDATE.DATE','{EVENT.UPDATE.DATE}','0'),
('756','76','EVENT.UPDATE.MESSAGE','{EVENT.UPDATE.MESSAGE}','0'),
('757','76','EVENT.UPDATE.STATUS','{EVENT.UPDATE.STATUS}','0'),
('758','76','EVENT.UPDATE.TIME','{EVENT.UPDATE.TIME}','0'),
('759','76','EVENT.VALUE','{EVENT.VALUE}','0'),
('760','76','HOST.HOST','{HOST.HOST}','0'),
('761','76','HOST.IP','{HOST.IP}','0'),
('762','76','HOST.NAME','{HOST.NAME}','0'),
('763','76','ITEM.ID1','{ITEM.ID1}','0'),
('764','76','ITEM.ID2','{ITEM.ID2}','0'),
('765','76','ITEM.ID3','{ITEM.ID3}','0'),
('766','76','ITEM.ID4','{ITEM.ID4}','0'),
('767','76','ITEM.ID5','{ITEM.ID5}','0'),
('768','76','ITEM.NAME1','{ITEM.NAME1}','0'),
('769','76','ITEM.NAME2','{ITEM.NAME2}','0'),
('770','76','ITEM.NAME3','{ITEM.NAME3}','0'),
('771','76','ITEM.NAME4','{ITEM.NAME4}','0'),
('772','76','ITEM.NAME5','{ITEM.NAME5}','0'),
('773','76','TRIGGER.DESCRIPTION','{TRIGGER.DESCRIPTION}','0'),
('774','76','TRIGGER.ID','{TRIGGER.ID}','0'),
('775','76','TRIGGER.NAME','{TRIGGER.NAME}','0'),
('776','76','TRIGGER.SEVERITY','{TRIGGER.SEVERITY}','0'),
('777','76','TRIGGER.STATUS','{TRIGGER.STATUS}','0'),
('778','76','TRIGGER.URL','{TRIGGER.URL}','0'),
('779','76','TRIGGER.VALUE','{TRIGGER.VALUE}','0'),
('780','76','USER.FULLNAME','{USER.FULLNAME}','0'),
('781','76','ZABBIX.URL','{$ZABBIX.URL}','0'),
('782','77','alert_message','{ALERT.MESSAGE}','0'),
('783','77','alert_subject','{ALERT.SUBJECT}','0'),
('784','77','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('785','77','event_source','{EVENT.SOURCE}','0'),
('786','77','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('787','77','event_value','{EVENT.VALUE}','0'),
('788','77','itop_api_version','1.3','0'),
('789','77','itop_class','UserRequest','0'),
('790','77','itop_comment','Created by Zabbix action {ACTION.NAME}','0'),
('791','77','itop_id','{EVENT.TAGS.__zbx_itop_id}','0'),
('792','77','itop_log','private_log','0'),
('793','77','itop_organization_id','','0'),
('794','77','itop_password','','0'),
('795','77','itop_url','','0'),
('796','77','itop_user','','0'),
('797','78','alert_message','{ALERT.MESSAGE}','0'),
('798','78','alert_subject','{ALERT.SUBJECT}','0'),
('799','78','event_id','{EVENT.ID}','0'),
('800','78','event_nseverity','{EVENT.NSEVERITY}','0'),
('801','78','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('802','78','event_severity','{EVENT.SEVERITY}','0'),
('803','78','event_source','{EVENT.SOURCE}','0'),
('804','78','event_tags_json','{EVENT.TAGSJSON}','0'),
('805','78','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('806','78','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('807','78','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('808','78','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('809','78','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('810','78','event_update_user','{USER.FULLNAME}','0'),
('811','78','event_value','{EVENT.VALUE}','0'),
('812','78','jira_issue_type','','0'),
('813','78','jira_password','','0'),
('814','78','jira_priority_autoregistration','Low','0'),
('815','78','jira_priority_discovery','Low','0'),
('816','78','jira_priority_internal','Low','0'),
('817','78','jira_project_key','','0'),
('818','78','jira_url','','0'),
('819','78','jira_user','','0'),
('820','78','severity_average','Medium','0'),
('821','78','severity_disaster','Highest','0'),
('822','78','severity_high','High','0'),
('823','78','severity_information','Lowest','0'),
('824','78','severity_not_classified','Lowest','0'),
('825','78','severity_warning','Low','0'),
('826','78','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('827','78','trigger_id','{TRIGGER.ID}','0'),
('828','78','zabbix_url','{$ZABBIX.URL}','0'),
('829','79','alert_message','{ALERT.MESSAGE}','0'),
('830','79','alert_subject','{ALERT.SUBJECT}','0'),
('831','79','event_id','{EVENT.ID}','0'),
('832','79','event_nseverity','{EVENT.NSEVERITY}','0'),
('833','79','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('834','79','event_severity','{EVENT.SEVERITY}','0'),
('835','79','event_source','{EVENT.SOURCE}','0'),
('836','79','event_tags_json','{EVENT.TAGSJSON}','0'),
('837','79','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('838','79','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('839','79','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('840','79','event_value','{EVENT.VALUE}','0'),
('841','79','issue_comments_public','false','0'),
('842','79','jira_password','','0'),
('843','79','jira_priority_autoregistration','Low','0'),
('844','79','jira_priority_discovery','Low','0'),
('845','79','jira_priority_internal','Low','0'),
('846','79','jira_request_type_id','','0'),
('847','79','jira_servicedesk_id','','0'),
('848','79','jira_url','','0'),
('849','79','jira_user','','0'),
('850','79','severity_average','Medium','0'),
('851','79','severity_disaster','Highest','0'),
('852','79','severity_high','High','0'),
('853','79','severity_information','Lowest','0'),
('854','79','severity_not_classified','Lowest','0'),
('855','79','severity_warning','Low','0'),
('856','79','trigger_id','{TRIGGER.ID}','0'),
('857','79','zabbix_url','{$ZABBIX.URL}','0'),
('858','80','alert_message','{ALERT.MESSAGE}','0'),
('859','80','alert_subject','{ALERT.SUBJECT}','0'),
('860','80','bot_token','','0'),
('861','80','event_id','{EVENT.ID}','0'),
('862','80','event_nseverity','{EVENT.NSEVERITY}','0'),
('863','80','event_source','{EVENT.SOURCE}','0'),
('864','80','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('865','80','event_value','{EVENT.VALUE}','0'),
('866','80','send_to','{ALERT.SENDTO}','0'),
('867','80','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('868','80','trigger_id','{TRIGGER.ID}','0'),
('869','80','zabbix_url','{$ZABBIX.URL}','0'),
('870','81','event_nseverity','{EVENT.NSEVERITY}','0'),
('871','81','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('872','81','event_source','{EVENT.SOURCE}','0'),
('873','81','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('874','81','event_value','{EVENT.VALUE}','0'),
('875','81','field_ref:requester','','0'),
('876','81','field_string:description','{ALERT.MESSAGE}','0'),
('877','81','field_string:subject','{ALERT.SUBJECT}','0'),
('878','81','priority_average','Normal','0'),
('879','81','priority_default','Normal','0'),
('880','81','priority_disaster','High','0'),
('881','81','priority_high','High','0'),
('882','81','priority_information','Low','0'),
('883','81','priority_not_classified','Low','0'),
('884','81','priority_warning','Medium','0'),
('885','81','sd_on_demand_client_id','','0'),
('886','81','sd_on_demand_client_secret','','0'),
('887','81','sd_on_demand_refresh_token','','0'),
('888','81','sd_on_demand_url_auth','','0'),
('889','81','sd_on_premise','true','0'),
('890','81','sd_on_premise_auth_token','','0'),
('891','81','sd_request_id','{EVENT.TAGS.__zbx_sd_request_id}','0'),
('892','81','sd_url','','0'),
('893','81','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('894','82','alert_message','{ALERT.MESSAGE}','0'),
('895','82','alert_sendto','{ALERT.SENDTO}','0'),
('896','82','alert_subject','{ALERT.SUBJECT}','0'),
('897','82','event_id','{EVENT.ID}','0'),
('898','82','event_nseverity','{EVENT.NSEVERITY}','0'),
('899','82','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('900','82','event_source','{EVENT.SOURCE}','0'),
('901','82','event_tagsjson','{EVENT.TAGSJSON}','0'),
('902','82','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('903','82','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('904','82','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('905','82','event_value','{EVENT.VALUE}','0'),
('906','82','mantisbt_category','[All Projects] General','0'),
('907','82','mantisbt_issue_number','{EVENT.TAGS.__zbx_mantisbt_issue_number}','0'),
('908','82','mantisbt_token','','0'),
('909','82','mantisbt_url','','0'),
('910','82','mantisbt_use_zabbix_tags','true','0'),
('911','82','trigger_id','{TRIGGER.ID}','0'),
('912','82','zabbix_url','{$ZABBIX.URL}','0'),
('913','83','alert_message','{ALERT.MESSAGE}','0'),
('914','83','alert_subject','{ALERT.SUBJECT}','0'),
('915','83','bot_token','','0'),
('916','83','discovery_host_dns','{DISCOVERY.DEVICE.DNS}','0'),
('917','83','discovery_host_ip','{DISCOVERY.DEVICE.IPADDRESS}','0'),
('918','83','event_date','{EVENT.DATE}','0'),
('919','83','event_id','{EVENT.ID}','0'),
('920','83','event_nseverity','{EVENT.NSEVERITY}','0'),
('921','83','event_opdata','{EVENT.OPDATA}','0'),
('922','83','event_recovery_date','{EVENT.RECOVERY.DATE}','0'),
('923','83','event_recovery_time','{EVENT.RECOVERY.TIME}','0'),
('924','83','event_severity','{EVENT.SEVERITY}','0'),
('925','83','event_source','{EVENT.SOURCE}','0'),
('926','83','event_tags','{EVENT.TAGS}','0'),
('927','83','event_time','{EVENT.TIME}','0'),
('928','83','event_update_date','{EVENT.UPDATE.DATE}','0'),
('929','83','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('930','83','event_update_time','{EVENT.UPDATE.TIME}','0'),
('931','83','event_value','{EVENT.VALUE}','0'),
('932','83','host_ip','{HOST.IP}','0'),
('933','83','host_name','{HOST.HOST}','0'),
('934','83','mattermost_url','','0'),
('935','83','send_mode','alarm','0'),
('936','83','send_to','{ALERT.SENDTO}','0'),
('937','83','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('938','83','trigger_id','{TRIGGER.ID}','0'),
('939','83','zabbix_url','{$ZABBIX.URL}','0'),
('940','84','alert_message','{ALERT.MESSAGE}','0'),
('941','84','alert_subject','{ALERT.SUBJECT}','0'),
('942','84','event_date','{EVENT.DATE}','0'),
('943','84','event_id','{EVENT.ID}','0'),
('944','84','event_nseverity','{EVENT.NSEVERITY}','0'),
('945','84','event_opdata','{EVENT.OPDATA}','0'),
('946','84','event_recovery_date','{EVENT.RECOVERY.DATE}','0'),
('947','84','event_recovery_time','{EVENT.RECOVERY.TIME}','0'),
('948','84','event_severity','{EVENT.SEVERITY}','0'),
('949','84','event_source','{EVENT.SOURCE}','0'),
('950','84','event_status','{EVENT.STATUS}','0'),
('951','84','event_tags','{EVENT.TAGS}','0'),
('952','84','event_time','{EVENT.TIME}','0'),
('953','84','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('954','84','event_update_date','{EVENT.UPDATE.DATE}','0'),
('955','84','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('956','84','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('957','84','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('958','84','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('959','84','event_update_time','{EVENT.UPDATE.TIME}','0'),
('960','84','event_update_user','{USER.FULLNAME}','0'),
('961','84','event_value','{EVENT.VALUE}','0'),
('962','84','host_ip','{HOST.IP}','0'),
('963','84','host_name','{HOST.NAME}','0'),
('964','84','teams_endpoint','','0'),
('965','84','trigger_description','{TRIGGER.DESCRIPTION}','0'),
('966','84','trigger_id','{TRIGGER.ID}','0'),
('967','84','use_default_message','false','0'),
('968','84','zabbix_url','{$ZABBIX.URL}','0'),
('969','85','alert_message','{ALERT.MESSAGE}','0'),
('970','85','alert_subject','{ALERT.SUBJECT}','0'),
('971','85','event_id','{EVENT.ID}','0'),
('972','85','event_nseverity','{EVENT.NSEVERITY}','0'),
('973','85','event_severity','{EVENT.SEVERITY}','0'),
('974','85','event_source','{EVENT.SOURCE}','0'),
('975','85','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('976','85','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('977','85','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('978','85','event_value','{EVENT.VALUE}','0'),
('979','85','teams_endpoint','','0'),
('980','85','trigger_id','{TRIGGER.ID}','0'),
('981','85','zabbix_url','{$ZABBIX.URL}','0'),
('982','86','alert_message','{ALERT.MESSAGE}','0'),
('983','86','alert_subject','{ALERT.SUBJECT}','0'),
('984','86','event_id','{EVENT.ID}','0'),
('985','86','event_nseverity','{EVENT.NSEVERITY}','0'),
('986','86','event_source','{EVENT.SOURCE}','0'),
('987','86','event_tags_json','{EVENT.TAGSJSON}','0'),
('988','86','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('989','86','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('990','86','event_value','{EVENT.VALUE}','0'),
('991','86','opsgenie_api','','0'),
('992','86','opsgenie_tags','','0'),
('993','86','opsgenie_teams','','0'),
('994','86','opsgenie_token','','0'),
('995','86','opsgenie_web','','0'),
('996','86','severity_average','P3','0'),
('997','86','severity_default','P5','0'),
('998','86','severity_disaster','P1','0'),
('999','86','severity_high','P2','0'),
('1000','86','severity_information','P5','0'),
('1001','86','severity_not_classified','P5','0'),
('1002','86','severity_warning','P4','0'),
('1003','86','status_counter','25','0'),
('1004','86','trigger_id','{TRIGGER.ID}','0'),
('1005','86','zbxurl','{$ZABBIX.URL}','0'),
('1006','86','zbxuser','{USER.FULLNAME}','0'),
('1007','87','alert_message','{ALERT.MESSAGE}','0'),
('1008','87','alert_subject','{ALERT.SUBJECT}','0'),
('1009','87','event_id','{EVENT.ID}','0'),
('1010','87','event_nseverity','{EVENT.NSEVERITY}','0'),
('1011','87','event_severity','{EVENT.SEVERITY}','0'),
('1012','87','event_source','{EVENT.SOURCE}','0'),
('1013','87','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('1014','87','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('1015','87','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1016','87','event_value','{EVENT.VALUE}','0'),
('1017','87','otrs_auth_password','','0'),
('1018','87','otrs_auth_user','','0'),
('1019','87','otrs_closed_state_id','0','0'),
('1020','87','otrs_customer','','0'),
('1021','87','otrs_default_priority_id','3','0'),
('1022','87','otrs_queue','','0'),
('1023','87','otrs_ticket_id','{EVENT.TAGS.__zbx_otrs_ticket_id}','0'),
('1024','87','otrs_ticket_state','new','0'),
('1025','87','otrs_time_unit','0','0'),
('1026','87','otrs_url','','0'),
('1027','87','trigger_id','{TRIGGER.ID}','0'),
('1028','87','zabbix_url','{$ZABBIX.URL}','0'),
('1029','88','alert_message','{ALERT.MESSAGE}','0'),
('1030','88','alert_subject','{ALERT.SUBJECT}','0'),
('1031','88','api_token','{ALERT.SENDTO}','0'),
('1032','88','event_ack','{EVENT.ACK.STATUS}','0'),
('1033','88','event_id','{EVENT.ID}','0'),
('1034','88','event_nseverity','{EVENT.NSEVERITY}','0'),
('1035','88','event_severity','{EVENT.SEVERITY}','0'),
('1036','88','event_source','{EVENT.SOURCE}','0'),
('1037','88','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('1038','88','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('1039','88','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1040','88','event_value','{EVENT.VALUE}','0'),
('1041','88','host_ip','{HOST.IP}','0'),
('1042','88','host_name','{HOST.NAME}','0'),
('1043','88','trigger_id','{TRIGGER.ID}','0'),
('1044','88','zabbix_url','{$ZABBIX.URL}','0'),
('1045','89','endpoint','https://api.pushover.net/1/messages.json','0'),
('1046','89','eventid','{EVENT.ID}','0'),
('1047','89','event_nseverity','{EVENT.NSEVERITY}','0'),
('1048','89','event_source','{EVENT.SOURCE}','0'),
('1049','89','event_value','{EVENT.VALUE}','0'),
('1050','89','expire','1200','0'),
('1051','89','message','{ALERT.MESSAGE}','0'),
('1052','89','priority_average','0','0'),
('1053','89','priority_default','0','0'),
('1054','89','priority_disaster','0','0'),
('1055','89','priority_high','0','0'),
('1056','89','priority_information','0','0'),
('1057','89','priority_not_classified','0','0'),
('1058','89','priority_warning','0','0'),
('1059','89','retry','60','0'),
('1060','89','title','{ALERT.SUBJECT}','0'),
('1061','89','token','','0'),
('1062','89','triggerid','{TRIGGER.ID}','0'),
('1063','89','url','{$ZABBIX.URL}','0'),
('1064','89','url_title','Zabbix','0'),
('1065','89','user','{ALERT.SENDTO}','0'),
('1066','90','alert_message','{ALERT.MESSAGE}','0'),
('1067','90','alert_subject','{ALERT.SUBJECT}','0'),
('1068','90','event_id','{EVENT.ID}','0'),
('1069','90','event_nseverity','{EVENT.NSEVERITY}','0'),
('1070','90','event_source','{EVENT.SOURCE}','0'),
('1071','90','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('1072','90','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1073','90','event_value','{EVENT.VALUE}','0'),
('1074','90','redmine_access_key','','0'),
('1075','90','redmine_issue_key','{EVENT.TAGS.__zbx_redmine_issue_id}','0'),
('1076','90','redmine_project','','0'),
('1077','90','redmine_tracker_id','','0'),
('1078','90','redmine_url','','0'),
('1079','90','trigger_id','{TRIGGER.ID}','0'),
('1080','90','zabbix_url','{$ZABBIX.URL}','0'),
('1081','91','alert_message','{ALERT.MESSAGE}','0'),
('1082','91','alert_subject','{ALERT.SUBJECT}','0'),
('1083','91','event_nseverity','{EVENT.NSEVERITY}','0'),
('1084','91','event_source','{EVENT.SOURCE}','0'),
('1085','91','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('1086','91','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('1087','91','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1088','91','event_update_user','{USER.FULLNAME}','0'),
('1089','91','event_value','{EVENT.VALUE}','0'),
('1090','91','field_1_full:Host','{HOST.NAME} [{HOST.IP}]','0'),
('1091','91','field_2_short:Severity','{EVENT.SEVERITY}','0'),
('1092','91','field_3_short:Event time','{EVENT.DATE} {EVENT.TIME}','0'),
('1093','91','field_3_short_r:Recovery time','{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}','0'),
('1094','91','field_4_short_r:Event duration','{EVENT.DURATION}','0'),
('1095','91','field_5_short:Operational data','{EVENT.OPDATA}','0'),
('1096','91','field_999_full_p:Trigger description','{TRIGGER.DESCRIPTION}','0'),
('1097','91','rc_api_url','api/v1/','0'),
('1098','91','rc_msg_id','{EVENT.TAGS.__zbx_rc_id}','0'),
('1099','91','rc_room_id','{EVENT.TAGS.__zbx_rc_rid}','0'),
('1100','91','rc_send_to','{ALERT.SENDTO}','0'),
('1101','91','rc_title_link','{$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}','0'),
('1102','91','rc_url','','0'),
('1103','91','rc_user_id','','0'),
('1104','91','rc_user_token','','0'),
('1105','91','use_default_message','false','0'),
('1106','92','alert_message','{ALERT.MESSAGE}','0'),
('1107','92','alert_subject','{ALERT.SUBJECT}','0'),
('1108','92','event_nseverity','{EVENT.NSEVERITY}','0'),
('1109','92','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('1110','92','event_source','{EVENT.SOURCE}','0'),
('1111','92','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1112','92','event_value','{EVENT.VALUE}','0'),
('1113','92','servicenow_password','','0'),
('1114','92','servicenow_sys_id','{EVENT.TAGS.__zbx_servicenow_sys_id}','0'),
('1115','92','servicenow_url','{ALERT.SENDTO}','0'),
('1116','92','servicenow_user','','0'),
('1117','92','urgency_for_average','2','0'),
('1118','92','urgency_for_disaster','1','0'),
('1119','92','urgency_for_high','2','0'),
('1120','92','urgency_for_information','3','0'),
('1121','92','urgency_for_not_classified','3','0'),
('1122','92','urgency_for_warning','3','0'),
('1123','93','Event_Ack_Status','{EVENT.ACK.STATUS}','0'),
('1124','93','Event_Date_Time','{EVENT.DATE} {EVENT.TIME}','0'),
('1125','93','Event_ID','{EVENT.ID}','0'),
('1126','93','Event_Update_Action','{EVENT.UPDATE.ACTION}','0'),
('1127','93','Event_Update_Status','{EVENT.UPDATE.STATUS}','0'),
('1128','93','Hostname','{HOST.NAME}','0'),
('1129','93','Host_IP','{HOST.IP}','0'),
('1130','93','Message','{ALERT.MESSAGE}','0'),
('1131','93','Severity','{EVENT.SEVERITY}','0'),
('1132','93','Subject','{ALERT.SUBJECT}','0'),
('1133','93','teamsecret','{ALERT.SENDTO}','0'),
('1134','93','Trigger_ID','{TRIGGER.ID}','0'),
('1135','93','Trigger_Status','{TRIGGER.STATUS}','0'),
('1136','93','User','{USER.FULLNAME}','0'),
('1137','93','Zabbix_URL','{$ZABBIX.URL}','0'),
('1138','94','alert_message','{ALERT.MESSAGE}','0'),
('1139','94','alert_subject','{ALERT.SUBJECT}','0'),
('1140','94','bot_token','','0'),
('1141','94','channel','{ALERT.SENDTO}','0'),
('1142','94','event_id','{EVENT.ID}','0'),
('1143','94','event_nseverity','{EVENT.NSEVERITY}','0'),
('1144','94','event_severity','{EVENT.SEVERITY}','0'),
('1145','94','event_source','{EVENT.SOURCE}','0'),
('1146','94','event_tags','{EVENT.TAGSJSON}','0'),
('1147','94','event_update_action','{EVENT.UPDATE.ACTION}','0'),
('1148','94','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('1149','94','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('1150','94','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('1151','94','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1152','94','event_value','{EVENT.VALUE}','0'),
('1153','94','slack_mode','alarm','0'),
('1154','94','trigger_id','{TRIGGER.ID}','0'),
('1155','94','zabbix_url','{$ZABBIX.URL}','0'),
('1156','95','alert_message','{ALERT.MESSAGE}','0'),
('1157','95','alert_subject','{ALERT.SUBJECT}','0'),
('1158','95','event_nseverity','{EVENT.NSEVERITY}','0'),
('1159','95','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('1160','95','event_source','{EVENT.SOURCE}','0'),
('1161','95','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1162','95','event_value','{EVENT.VALUE}','0'),
('1163','95','priority_average','Medium','0'),
('1164','95','priority_default','Low','0'),
('1165','95','priority_disaster','Critical','0'),
('1166','95','priority_high','High','0'),
('1167','95','samanage_incident_id','{EVENT.TAGS.__zbx_solarwinds_inc_id}','0'),
('1168','95','samanage_token','','0'),
('1169','95','samanage_url','','0'),
('1170','96','alert_message','{ALERT.MESSAGE}','0'),
('1171','96','alert_subject','{ALERT.SUBJECT}','0'),
('1172','96','event_id','{EVENT.ID}','0'),
('1173','96','event_nseverity','{EVENT.NSEVERITY}','0'),
('1174','96','event_source','{EVENT.SOURCE}','0'),
('1175','96','event_update_message','{EVENT.UPDATE.MESSAGE}','0'),
('1176','96','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1177','96','event_value','{EVENT.VALUE}','0'),
('1178','96','sysaid_auth_password','','0'),
('1179','96','sysaid_auth_user','','0'),
('1180','96','sysaid_category_level_1','','0'),
('1181','96','sysaid_category_level_2','','0'),
('1182','96','sysaid_category_level_3','','0'),
('1183','96','sysaid_default_priority_id','1','0'),
('1184','96','sysaid_incident_id','{EVENT.TAGS.__zbx_sysaid_incident_id}','0'),
('1185','96','sysaid_incident_state','1','0'),
('1186','96','sysaid_template_id','','0'),
('1187','96','sysaid_urgency_id','','0'),
('1188','96','sysaid_url','','0'),
('1189','96','trigger_id','{TRIGGER.ID}','0'),
('1190','96','zabbix_url','{$ZABBIX.URL}','0'),
('1191','97','alert_message','{ALERT.MESSAGE}','0'),
('1192','97','alert_subject','{ALERT.SUBJECT}','0'),
('1193','97','api_chat_id','{ALERT.SENDTO}','0'),
('1194','97','api_parse_mode','','0'),
('1195','97','api_token','','0'),
('1196','97','event_nseverity','{EVENT.NSEVERITY}','0'),
('1197','97','event_severity','{EVENT.SEVERITY}','0'),
('1198','97','event_source','{EVENT.SOURCE}','0'),
('1199','97','event_tags','{EVENT.TAGSJSON}','0'),
('1200','97','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('1201','97','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('1202','97','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1203','97','event_value','{EVENT.VALUE}','0'),
('1204','98','alert_message','{ALERT.MESSAGE}','0'),
('1205','98','alert_subject','{ALERT.SUBJECT}','0'),
('1206','98','event_id','{EVENT.ID}','0'),
('1207','98','event_nseverity','{EVENT.NSEVERITY}','0'),
('1208','98','event_source','{EVENT.SOURCE}','0'),
('1209','98','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1210','98','event_value','{EVENT.VALUE}','0'),
('1211','98','severity_average','P3','0'),
('1212','98','severity_default','P5','0'),
('1213','98','severity_disaster','P1','0'),
('1214','98','severity_high','P2','0'),
('1215','98','severity_information','P5','0'),
('1216','98','severity_not_classified','P5','0'),
('1217','98','severity_warning','P4','0'),
('1218','98','topdesk_api','','0'),
('1219','98','topdesk_issue_key','{EVENT.TAGS.__zbx_tpd_issuekey}','0'),
('1220','98','topdesk_password','','0'),
('1221','98','topdesk_status','','0'),
('1222','98','topdesk_user','','0'),
('1223','98','trigger_id','{TRIGGER.ID}','0'),
('1224','98','zbxurl','{$ZABBIX.URL}','0'),
('1225','99','event_info','{$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}','0'),
('1226','99','event_nseverity','{EVENT.NSEVERITY}','0'),
('1227','99','event_recovery_value','{EVENT.RECOVERY.VALUE}','0'),
('1228','99','event_source','{EVENT.SOURCE}','0'),
('1229','99','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1230','99','event_value','{EVENT.VALUE}','0'),
('1231','99','field:entity_display_name','{ALERT.SUBJECT}','0'),
('1232','99','field:entity_id','{EVENT.ID}','0'),
('1233','99','field:hostname','{HOST.NAME}','0'),
('1234','99','field:monitoring_tool','Zabbix','0'),
('1235','99','field:operational_data','{EVENT.OPDATA}','0'),
('1236','99','field:severity','{EVENT.SEVERITY}','0'),
('1237','99','field:state_message','{ALERT.MESSAGE}','0'),
('1238','99','field_p:trigger_description','{TRIGGER.DESCRIPTION}','0'),
('1239','99','field_r:event_duration','{EVENT.DURATION}','0'),
('1240','99','field_r:recovery time','{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}','0'),
('1241','99','priority_average','WARNING','0'),
('1242','99','priority_default','INFO','0'),
('1243','99','priority_disaster','CRITICAL','0'),
('1244','99','priority_high','WARNING','0'),
('1245','99','priority_information','INFO','0'),
('1246','99','priority_not_classified','INFO','0'),
('1247','99','priority_resolved','OK','0'),
('1248','99','priority_update','INFO','0'),
('1249','99','priority_warning','INFO','0'),
('1250','99','vops_endpoint','','0'),
('1251','99','vops_routing_key','{ALERT.SENDTO}','0'),
('1252','100','alert_message','{ALERT.MESSAGE}','0'),
('1253','100','alert_subject','{ALERT.SUBJECT}','0'),
('1254','100','event_id','{EVENT.ID}','0'),
('1255','100','event_nseverity','{EVENT.NSEVERITY}','0'),
('1256','100','event_severity','{EVENT.SEVERITY}','0'),
('1257','100','event_source','{EVENT.SOURCE}','0'),
('1258','100','event_tags','{EVENT.TAGSJSON}','0'),
('1259','100','event_update_nseverity','{EVENT.UPDATE.NSEVERITY}','0'),
('1260','100','event_update_severity','{EVENT.UPDATE.SEVERITY}','0'),
('1261','100','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1262','100','event_value','{EVENT.VALUE}','0'),
('1263','100','trigger_id','{TRIGGER.ID}','0'),
('1264','100','zabbix_url','{$ZABBIX.URL}','0'),
('1265','100','zammad_access_token','','0'),
('1266','100','zammad_customer','','0'),
('1267','100','zammad_enable_tags','false','0'),
('1268','100','zammad_group','Users','0'),
('1269','100','zammad_url','','0'),
('1270','101','alert_message','{ALERT.MESSAGE}','0'),
('1271','101','alert_subject','{ALERT.SUBJECT}','0'),
('1272','101','event_id','{EVENT.ID}','0'),
('1273','101','event_nseverity','{EVENT.NSEVERITY}','0'),
('1274','101','event_source','{EVENT.SOURCE}','0'),
('1275','101','event_tags','{EVENT.TAGS}','0'),
('1276','101','event_update_status','{EVENT.UPDATE.STATUS}','0'),
('1277','101','event_value','{EVENT.VALUE}','0'),
('1278','101','severity_average','normal','0'),
('1279','101','severity_default','-','0'),
('1280','101','severity_disaster','urgent','0'),
('1281','101','severity_high','high','0'),
('1282','101','severity_information','low','0'),
('1283','101','severity_not_classified','low','0'),
('1284','101','severity_warning','normal','0'),
('1285','101','trigger_id','{TRIGGER.ID}','0'),
('1286','101','zbxurl','{$ZABBIX.URL}','0'),
('1287','101','zendesk_issue_key','{EVENT.TAGS.__zbx_zdk_issuekey}','0'),
('1288','101','zendesk_token','','0'),
('1289','101','zendesk_type','incident','0'),
('1290','101','zendesk_url','','0'),
('1291','87','otrs_ticket_type','Unclassified','0'),
('1292','75','glpi_app_token','','0'),
('1293','75','glpi_user_token','','0');
INSERT INTO media_type_message (mediatype_messageid,mediatypeid,eventsource,recovery,subject,message) VALUES ('1','1','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('2','1','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('3','1','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('4','1','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('5','1','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('6','3','0','0','','{EVENT.SEVERITY}: {EVENT.NAME}
Host: {HOST.NAME}
{EVENT.DATE} {EVENT.TIME}'),
('7','3','0','1','','Resolved in {EVENT.DURATION}: {EVENT.NAME}
Host: {HOST.NAME}
{EVENT.DATE} {EVENT.TIME}'),
('8','3','0','2','','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem in {EVENT.AGE} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}'),
('9','3','1','0','','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}'),
('10','3','2','0','','Autoregistration: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('11','4','0','0','Problem: {EVENT.NAME}','Problem started at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Operational data: {{EVENT.OPDATA}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('12','4','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {{EVENT.RECOVERY.TIME}.htmlencode()} on {{EVENT.RECOVERY.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Problem duration: {{EVENT.DURATION}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('13','4','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{{USER.FULLNAME}.htmlencode()} {{EVENT.UPDATE.ACTION}.htmlencode()} problem at {{EVENT.UPDATE.DATE}.htmlencode()} {{EVENT.UPDATE.TIME}.htmlencode()}.
{{EVENT.UPDATE.MESSAGE}.htmlencode()}
Current problem status: {{EVENT.STATUS}.htmlencode()}
Age: {{EVENT.AGE}.htmlencode()}
Acknowledged: {{EVENT.ACK.STATUS}.htmlencode()}.'),
('14','4','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {{DISCOVERY.RULE.NAME}.htmlencode()}
Device IP: {{DISCOVERY.DEVICE.IPADDRESS}.htmlencode()}
Device DNS: {{DISCOVERY.DEVICE.DNS}.htmlencode()}
Device status: {{DISCOVERY.DEVICE.STATUS}.htmlencode()}
Device uptime: {{DISCOVERY.DEVICE.UPTIME}.htmlencode()}
Device service name: {{DISCOVERY.SERVICE.NAME}.htmlencode()}
Device service port: {{DISCOVERY.SERVICE.PORT}.htmlencode()}
Device service status: {{DISCOVERY.SERVICE.STATUS}.htmlencode()}
Device service uptime: {{DISCOVERY.SERVICE.UPTIME}.htmlencode()}'),
('15','4','2','0','Autoregistration: {HOST.HOST}','Host name: {{HOST.HOST}.htmlencode()}
Host IP: {{HOST.IP}.htmlencode()}
Agent port: {{HOST.PORT}.htmlencode()}'),
('160','34','0','0','Problem: {EVENT.NAME}','Problem started at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Operational data: {{EVENT.OPDATA}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('161','34','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {{EVENT.RECOVERY.TIME}.htmlencode()} on {{EVENT.RECOVERY.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Problem duration: {{EVENT.DURATION}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('162','34','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{{USER.FULLNAME}.htmlencode()} {{EVENT.UPDATE.ACTION}.htmlencode()} problem at {{EVENT.UPDATE.DATE}.htmlencode()} {{EVENT.UPDATE.TIME}.htmlencode()}.
{{EVENT.UPDATE.MESSAGE}.htmlencode()}
Current problem status: {{EVENT.STATUS}.htmlencode()}
Age: {{EVENT.AGE}.htmlencode()}
Acknowledged: {{EVENT.ACK.STATUS}.htmlencode()}.'),
('163','34','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {{DISCOVERY.RULE.NAME}.htmlencode()}
Device IP: {{DISCOVERY.DEVICE.IPADDRESS}.htmlencode()}
Device DNS: {{DISCOVERY.DEVICE.DNS}.htmlencode()}
Device status: {{DISCOVERY.DEVICE.STATUS}.htmlencode()}
Device uptime: {{DISCOVERY.DEVICE.UPTIME}.htmlencode()}
Device service name: {{DISCOVERY.SERVICE.NAME}.htmlencode()}
Device service port: {{DISCOVERY.SERVICE.PORT}.htmlencode()}
Device service status: {{DISCOVERY.SERVICE.STATUS}.htmlencode()}
Device service uptime: {{DISCOVERY.SERVICE.UPTIME}.htmlencode()}'),
('164','34','2','0','Autoregistration: {HOST.HOST}','Host name: {{HOST.HOST}.htmlencode()}
Host IP: {{HOST.IP}.htmlencode()}
Agent port: {{HOST.PORT}.htmlencode()}'),
('165','35','0','0','Problem: {EVENT.NAME}','Problem started at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Operational data: {{EVENT.OPDATA}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('166','35','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {{EVENT.RECOVERY.TIME}.htmlencode()} on {{EVENT.RECOVERY.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Problem duration: {{EVENT.DURATION}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('167','35','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{{USER.FULLNAME}.htmlencode()} {{EVENT.UPDATE.ACTION}.htmlencode()} problem at {{EVENT.UPDATE.DATE}.htmlencode()} {{EVENT.UPDATE.TIME}.htmlencode()}.
{{EVENT.UPDATE.MESSAGE}.htmlencode()}
Current problem status: {{EVENT.STATUS}.htmlencode()}
Age: {{EVENT.AGE}.htmlencode()}
Acknowledged: {{EVENT.ACK.STATUS}.htmlencode()}.'),
('168','35','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {{DISCOVERY.RULE.NAME}.htmlencode()}
Device IP: {{DISCOVERY.DEVICE.IPADDRESS}.htmlencode()}
Device DNS: {{DISCOVERY.DEVICE.DNS}.htmlencode()}
Device status: {{DISCOVERY.DEVICE.STATUS}.htmlencode()}
Device uptime: {{DISCOVERY.DEVICE.UPTIME}.htmlencode()}
Device service name: {{DISCOVERY.SERVICE.NAME}.htmlencode()}
Device service port: {{DISCOVERY.SERVICE.PORT}.htmlencode()}
Device service status: {{DISCOVERY.SERVICE.STATUS}.htmlencode()}
Device service uptime: {{DISCOVERY.SERVICE.UPTIME}.htmlencode()}'),
('169','35','2','0','Autoregistration: {HOST.HOST}','Host name: {{HOST.HOST}.htmlencode()}
Host IP: {{HOST.IP}.htmlencode()}
Agent port: {{HOST.PORT}.htmlencode()}'),
('170','36','0','0','Problem: {EVENT.NAME}','Problem started at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Operational data: {{EVENT.OPDATA}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('171','36','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {{EVENT.RECOVERY.TIME}.htmlencode()} on {{EVENT.RECOVERY.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Problem duration: {{EVENT.DURATION}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('172','36','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{{USER.FULLNAME}.htmlencode()} {{EVENT.UPDATE.ACTION}.htmlencode()} problem at {{EVENT.UPDATE.DATE}.htmlencode()} {{EVENT.UPDATE.TIME}.htmlencode()}.
{{EVENT.UPDATE.MESSAGE}.htmlencode()}
Current problem status: {{EVENT.STATUS}.htmlencode()}
Age: {{EVENT.AGE}.htmlencode()}
Acknowledged: {{EVENT.ACK.STATUS}.htmlencode()}.'),
('173','36','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {{DISCOVERY.RULE.NAME}.htmlencode()}
Device IP: {{DISCOVERY.DEVICE.IPADDRESS}.htmlencode()}
Device DNS: {{DISCOVERY.DEVICE.DNS}.htmlencode()}
Device status: {{DISCOVERY.DEVICE.STATUS}.htmlencode()}
Device uptime: {{DISCOVERY.DEVICE.UPTIME}.htmlencode()}
Device service name: {{DISCOVERY.SERVICE.NAME}.htmlencode()}
Device service port: {{DISCOVERY.SERVICE.PORT}.htmlencode()}
Device service status: {{DISCOVERY.SERVICE.STATUS}.htmlencode()}
Device service uptime: {{DISCOVERY.SERVICE.UPTIME}.htmlencode()}'),
('174','36','2','0','Autoregistration: {HOST.HOST}','Host name: {{HOST.HOST}.htmlencode()}
Host IP: {{HOST.IP}.htmlencode()}
Agent port: {{HOST.PORT}.htmlencode()}'),
('175','37','0','0','Problem: {EVENT.NAME}','Problem started at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Operational data: {{EVENT.OPDATA}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('176','37','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {{EVENT.RECOVERY.TIME}.htmlencode()} on {{EVENT.RECOVERY.DATE}.htmlencode()}
Problem name: {{EVENT.NAME}.htmlencode()}
Problem duration: {{EVENT.DURATION}.htmlencode()}
Host: {{HOST.NAME}.htmlencode()}
Severity: {{EVENT.SEVERITY}.htmlencode()}
Original problem ID: {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}'),
('177','37','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{{USER.FULLNAME}.htmlencode()} {{EVENT.UPDATE.ACTION}.htmlencode()} problem at {{EVENT.UPDATE.DATE}.htmlencode()} {{EVENT.UPDATE.TIME}.htmlencode()}.
{{EVENT.UPDATE.MESSAGE}.htmlencode()}
Current problem status: {{EVENT.STATUS}.htmlencode()}
Age: {{EVENT.AGE}.htmlencode()}
Acknowledged: {{EVENT.ACK.STATUS}.htmlencode()}.'),
('178','37','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {{DISCOVERY.RULE.NAME}.htmlencode()}
Device IP: {{DISCOVERY.DEVICE.IPADDRESS}.htmlencode()}
Device DNS: {{DISCOVERY.DEVICE.DNS}.htmlencode()}
Device status: {{DISCOVERY.DEVICE.STATUS}.htmlencode()}
Device uptime: {{DISCOVERY.DEVICE.UPTIME}.htmlencode()}
Device service name: {{DISCOVERY.SERVICE.NAME}.htmlencode()}
Device service port: {{DISCOVERY.SERVICE.PORT}.htmlencode()}
Device service status: {{DISCOVERY.SERVICE.STATUS}.htmlencode()}
Device service uptime: {{DISCOVERY.SERVICE.UPTIME}.htmlencode()}'),
('179','37','2','0','Autoregistration: {HOST.HOST}','Host name: {{HOST.HOST}.htmlencode()}
Host IP: {{HOST.IP}.htmlencode()}
Agent port: {{HOST.PORT}.htmlencode()}'),
('397','70','0','0','[{EVENT.STATUS}] {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
Started at {EVENT.TIME} on {EVENT.DATE}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Event info: {$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}'),
('398','70','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
Resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Event info: {$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}'),
('399','70','0','2','[{EVENT.STATUS}] {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}'),
('400','70','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}
Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('401','70','2','0','Autoregistration: {HOST.HOST}','Autoregistration: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('402','71','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('403','71','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('404','71','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('405','71','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('406','71','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('407','71','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('408','71','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('409','71','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('410','71','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('411','71','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('412','72','0','0','Event ID: {EVENT.ID}, Host: {HOST.HOST}, Problem: {EVENT.NAME}',''),
('413','73','0','0','[{EVENT.STATUS}] {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
Started at {EVENT.TIME} on {EVENT.DATE}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Event info: {$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}'),
('414','73','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
Resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Event info: {$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}'),
('415','73','0','2','[{EVENT.STATUS}] {EVENT.NAME}','[{EVENT.STATUS}] {EVENT.NAME}
{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}'),
('416','73','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}
Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('417','73','2','0','Autoregistration: {HOST.HOST}','Autoregistration: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('418','74','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('419','74','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('420','74','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('421','74','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('422','74','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('423','74','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('424','74','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('425','74','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('426','74','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('427','74','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('428','75','0','0','Problem: {EVENT.NAME}','- Problem started at {EVENT.TIME} on {EVENT.DATE}
- Problem name: {EVENT.NAME}
- Host: {HOST.NAME}
- Severity: {EVENT.SEVERITY}
- Operational data: {EVENT.OPDATA}
- Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('429','75','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','- Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
- Problem name: {EVENT.NAME}
- Host: {HOST.NAME}
- Severity: {EVENT.SEVERITY}
- Operational data: {EVENT.OPDATA}
- Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('430','75','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.TIME} on {EVENT.UPDATE.DATE}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.
'),
('431','75','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','- Discovery rule: {DISCOVERY.RULE.NAME}
- Device IP: {DISCOVERY.DEVICE.IPADDRESS}
- Device DNS: {DISCOVERY.DEVICE.DNS}
- Device status: {DISCOVERY.DEVICE.STATUS}
- Device uptime: {DISCOVERY.DEVICE.UPTIME}
- Device service name: {DISCOVERY.SERVICE.NAME}
- Device service port: {DISCOVERY.SERVICE.PORT}
- Device service status: {DISCOVERY.SERVICE.STATUS}
- Device service uptime: {DISCOVERY.SERVICE.UPTIME}
'),
('432','75','2','0','Autoregistration: {HOST.HOST}','- Host name: {HOST.HOST}
- Host IP: {HOST.IP}
- Agent port: {HOST.PORT}
'),
('433','75','3','0','[{EVENT.STATUS}] {EVENT.NAME}','- Problem started at {EVENT.TIME} on {EVENT.DATE}
- Problem name: {EVENT.NAME}
- Host: {HOST.NAME}
- Original problem ID: {EVENT.ID}
'),
('434','75','3','1','[{EVENT.STATUS}] {EVENT.NAME}','- Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
- Problem name: {EVENT.NAME}
- Host: {HOST.NAME}
- Original problem ID: {EVENT.ID}
'),
('435','75','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','- Service problem started at {EVENT.TIME} on {EVENT.DATE}
- Service problem name: {EVENT.NAME}
- Service: {SERVICE.NAME}
- Severity: {EVENT.SEVERITY}
- Original problem ID: {EVENT.ID}
- Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}
'),
('436','75','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','- Service {SERVICE.NAME} has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
- Problem name: {EVENT.NAME}
- Problem duration: {EVENT.DURATION}
- Severity: {EVENT.SEVERITY}
- Original problem ID: {EVENT.ID}
- Service description:
'),
('437','75','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','- Changed {SERVICE.NAME} service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
- Current problem age is {EVENT.AGE}.
- Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}
'),
('438','76','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('439','76','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('440','76','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('441','77','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('442','77','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('443','77','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('444','77','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('445','77','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('446','78','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('447','78','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('448','78','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('449','78','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('450','78','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('451','78','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('452','78','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('453','78','4','0','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('454','78','4','1','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('455','78','4','2','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('456','79','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('457','79','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('458','79','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('459','79','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('460','79','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('461','79','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('462','79','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('463','79','4','0','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('464','79','4','1','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('465','79','4','2','[{EVENT.STATUS}] Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('466','80','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}'),
('467','80','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}'),
('468','80','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('469','80','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('470','80','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('471','81','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('472','81','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('473','81','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('474','81','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('475','81','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('476','82','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('477','82','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('478','82','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('479','82','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('480','82','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('481','82','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('482','82','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('483','83','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('484','83','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('485','83','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('486','83','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('487','83','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('488','84','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('489','84','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('490','84','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('491','84','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('492','84','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('493','84','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('494','84','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('495','84','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('496','84','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('497','84','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('498','85','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('499','85','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('500','85','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('501','85','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('502','85','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('503','85','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('504','85','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('505','85','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('506','85','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('507','85','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('508','86','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('509','86','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('510','86','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('511','86','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('512','86','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('513','87','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('514','87','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('515','87','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('516','87','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('517','87','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('518','87','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('519','87','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('520','87','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('521','87','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('522','87','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('523','88','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('524','88','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('525','88','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('526','88','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('527','88','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('528','88','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('529','88','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('530','88','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('531','88','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('532','88','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('533','89','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('534','89','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('535','89','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('536','89','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('537','89','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('538','90','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('539','90','0','1','Resolved: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('540','90','0','2','Updated problem: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('541','90','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('542','90','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('543','91','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('544','91','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('545','91','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('546','91','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('547','91','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('548','92','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('549','92','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('550','92','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('551','92','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('552','92','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('553','93','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('554','93','0','1','Resolved: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('555','93','0','2','Updated problem: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('556','93','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('557','93','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('558','94','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('559','94','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('560','94','0','2','Updated: {EVENT.NAME}','Problem updated at {EVENT.TIME} on {EVENT.DATE}
{USER.FULLNAME} {EVENT.UPDATE.ACTION}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('561','94','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('562','94','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('563','94','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('564','94','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('565','94','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('566','94','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('567','94','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('568','95','0','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
Trigger description: {TRIGGER.DESCRIPTION}'),
('569','95','0','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('570','95','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('571','95','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('572','95','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('573','96','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('574','96','0','1','Resolved: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('575','96','0','2','Updated problem: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('576','96','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('577','96','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('578','97','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('579','97','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('580','97','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('581','97','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('582','97','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('583','97','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('584','97','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('585','97','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('586','97','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('587','97','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('588','98','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('589','98','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('590','98','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('591','98','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('592','98','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('593','99','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('594','99','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('595','99','0','2','[{EVENT.STATUS}] {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('596','99','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('597','99','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('598','100','0','0','Problem: {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('599','100','0','1','Resolved in {EVENT.DURATION}: {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('600','100','0','2','Updated problem in {EVENT.AGE}: {EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.'),
('601','100','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('602','100','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('603','100','3','0','[{EVENT.STATUS}] {EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('604','100','3','1','[{EVENT.STATUS}] {EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Original problem ID: {EVENT.ID}'),
('605','100','4','0','Service "{SERVICE.NAME}" problem: {EVENT.NAME}','Service problem started at {EVENT.TIME} on {EVENT.DATE}
Service problem name: {EVENT.NAME}
Service: {SERVICE.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('606','100','4','1','Service "{SERVICE.NAME}" resolved in {EVENT.DURATION}: {EVENT.NAME}','Service "{SERVICE.NAME}" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
Service description: {SERVICE.DESCRIPTION}'),
('607','100','4','2','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} in {EVENT.AGE}','Changed "{SERVICE.NAME}" service status to {EVENT.UPDATE.SEVERITY} at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
Current problem age is {EVENT.AGE}.
Service description: {SERVICE.DESCRIPTION}
{SERVICE.ROOTCAUSE}'),
('608','101','0','0','{EVENT.NAME}','Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('609','101','0','1','{EVENT.NAME}','Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}'),
('610','101','0','2','{EVENT.NAME}','{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.'),
('611','101','1','0','Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}','Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}'),
('612','101','2','0','Autoregistration: {HOST.HOST}','Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}'),
('613','101','3','0','Internal problem: {EVENT.NAME}','Internal problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}');
INSERT INTO usrgrp (usrgrpid,name,gui_access,users_status,debug_mode,userdirectoryid,mfa_status,mfaid) VALUES ('7','Zabbix administrators','0','0','0',NULL,'0',NULL),
('8','Guests','0','0','0',NULL,'0',NULL),
('9','Disabled','0','1','0',NULL,'0',NULL),
('11','Enabled debug mode','0','0','1',NULL,'0',NULL),
('12','No access to the frontend','3','0','0',NULL,'0',NULL),
('13','Internal','1','0','0',NULL,'0',NULL);
INSERT INTO users_groups (id,usrgrpid,userid) VALUES ('2','8','2'),
('3','9','2'),
('4','7','1'),
('5','13','1'),
('6','13','2');
INSERT INTO ugset_group (ugsetid,usrgrpid) VALUES ('1','13'),
('1','8'),
('1','9');
INSERT INTO user_ugset (userid,ugsetid) VALUES ('2','1');
INSERT INTO scripts (scriptid,name,command,host_access,usrgrpid,groupid,description,confirmation,type,execute_on,timeout,scope,port,authtype,username,password,publickey,privatekey,menu_path,url,new_window,manualinput,manualinput_prompt,manualinput_validator,manualinput_validator_type,manualinput_default_value) VALUES ('1','Ping','ping -c 3 {HOST.CONN}; case $? in [01]) true;; *) false;; esac','2',NULL,NULL,'','','0','2','30s','2','','0','','','','','','','1','0','','','0',''),
('2','Traceroute','/usr/bin/traceroute {HOST.CONN}','2',NULL,NULL,'','','0','2','30s','2','','0','','','','','','','1','0','','','0',''),
('3','Detect operating system','sudo /usr/bin/nmap -O {HOST.CONN}','2','7',NULL,'','','0','2','30s','2','','0','','','','','','','1','0','','','0','');
INSERT INTO actions (actionid,name,eventsource,evaltype,status,esc_period,formula,pause_suppressed,notify_if_canceled,pause_symptoms) VALUES ('2','Auto discovery. Linux servers.','1','0','1','0','','1','1','1'),
('3','Report problems to Zabbix administrators','0','0','1','1h','','1','1','1'),
('4','Report not supported items','3','0','1','1h','','1','1','1'),
('5','Report not supported low level discovery rules','3','0','1','1h','','1','1','1'),
('6','Report unknown triggers','3','0','1','1h','','1','1','1');
INSERT INTO operations (operationid,actionid,operationtype,esc_period,esc_step_from,esc_step_to,evaltype,recovery) VALUES ('1','2','6','0','1','1','0','0'),
('2','2','4','0','1','1','0','0'),
('3','3','0','0','1','1','0','0'),
('4','4','0','0','1','1','0','0'),
('5','5','0','0','1','1','0','0'),
('6','6','0','0','1','1','0','0'),
('7','3','11','0','1','1','0','1'),
('8','4','11','0','1','1','0','1'),
('9','5','11','0','1','1','0','1'),
('10','6','11','0','1','1','0','1');
INSERT INTO opmessage (operationid,default_msg,subject,message,mediatypeid) VALUES ('3','1','','',NULL),
('4','1','','',NULL),
('5','1','','',NULL),
('6','1','','',NULL),
('7','1','','',NULL),
('8','1','','',NULL),
('9','1','','',NULL),
('10','1','','',NULL);
INSERT INTO opmessage_grp (opmessage_grpid,operationid,usrgrpid) VALUES ('1','3','7'),
('2','4','7'),
('3','5','7'),
('4','6','7');
INSERT INTO opgroup (opgroupid,operationid,groupid) VALUES ('1','2','2');
INSERT INTO conditions (conditionid,actionid,conditiontype,operator,value,value2) VALUES ('2','2','10','0','0',''),
('3','2','8','0','9',''),
('4','2','12','2','Linux',''),
('6','4','23','0','0',''),
('7','5','23','0','2',''),
('8','6','23','0','4','');
INSERT INTO graph_theme (graphthemeid,theme,backgroundcolor,graphcolor,gridcolor,maingridcolor,gridbordercolor,textcolor,highlightcolor,leftpercentilecolor,rightpercentilecolor,nonworktimecolor,colorpalette) VALUES ('1','blue-theme','FFFFFF','FFFFFF','CCD5D9','ACBBC2','ACBBC2','1F2C33','E33734','429E47','E33734','EBEBEB','1A7C11,F63100,2774A4,A54F10,FC6EA3,6C59DC,AC8C14,611F27,F230E0,5CCD18,BB2A02,5A2B57,89ABF8,7EC25C,274482,2B5429,8048B4,FD5434,790E1F,87AC4D,E89DF4'),
('2','dark-theme','2B2B2B','2B2B2B','454545','4F4F4F','4F4F4F','F2F2F2','E45959','59DB8F','E45959','333333','199C0D,F63100,2774A4,F7941D,FC6EA3,6C59DC,C7A72D,BA2A5D,F230E0,5CCD18,BB2A02,AC41A5,89ABF8,7EC25C,3165D5,79A277,AA73DE,FD5434,F21C3E,87AC4D,E89DF4'),
('3','hc-light','FFFFFF','FFFFFF','555555','000000','333333','000000','333333','000000','000000','EBEBEB','1A7C11,F63100,2774A4,A54F10,FC6EA3,6C59DC,AC8C14,611F27,F230E0,5CCD18,BB2A02,5A2B57,89ABF8,7EC25C,274482,2B5429,8048B4,FD5434,790E1F,87AC4D,E89DF4'),
('4','hc-dark','000000','000000','666666','888888','4F4F4F','FFFFFF','FFFFFF','FFFFFF','FFFFFF','333333','199C0D,F63100,2774A4,F7941D,FC6EA3,6C59DC,C7A72D,BA2A5D,F230E0,5CCD18,BB2A02,AC41A5,89ABF8,7EC25C,3165D5,79A277,AA73DE,FD5434,F21C3E,87AC4D,E89DF4');
INSERT INTO globalmacro (globalmacroid,macro,value,description,type) VALUES ('2','{$SNMP_COMMUNITY}','public','','0');
INSERT INTO regexps (regexpid,name,test_string) VALUES ('1','File systems for discovery','ext3'),
('2','Network interfaces for discovery','eth0'),
('3','Storage devices for SNMP discovery','/boot'),
('4','Windows service names for discovery','SysmonLog'),
('5','Windows service startup states for discovery','automatic');
INSERT INTO expressions (expressionid,regexpid,expression,expression_type,exp_delimiter,case_sensitive) VALUES ('1','1','^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$','3',',','0'),
('3','3','^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$','4',',','1'),
('5','4','^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$','4',',','1'),
('6','5','^(automatic|automatic delayed)$','3',',','1'),
('7','2','^Software Loopback Interface','4',',','1'),
('8','2','^(In)?[Ll]oop[Bb]ack[0-9._]*$','4',',','1'),
('9','2','^NULL[0-9.]*$','4',',','1'),
('10','2','^[Ll]o[0-9.]*$','4',',','1'),
('11','2','^[Ss]ystem$','4',',','1'),
('12','2','^Nu[0-9.]*$','4',',','1');
INSERT INTO config_autoreg_tls (autoreg_tlsid,tls_psk_identity,tls_psk) VALUES ('1','','');
INSERT INTO module (moduleid,id,relative_path,status,config) VALUES ('1','actionlog','widgets/actionlog','1','[]'),
('2','clock','widgets/clock','1','[]'),
('3','topitems','widgets/topitems','1','[]'),
('4','discovery','widgets/discovery','1','[]'),
('5','favgraphs','widgets/favgraphs','1','[]'),
('6','favmaps','widgets/favmaps','1','[]'),
('7','geomap','widgets/geomap','1','[]'),
('8','graph','widgets/graph','1','[]'),
('9','graphprototype','widgets/graphprototype','1','[]'),
('10','hostavail','widgets/hostavail','1','[]'),
('11','item','widgets/item','1','[]'),
('12','map','widgets/map','1','[]'),
('13','navtree','widgets/navtree','1','[]'),
('14','itemhistory','widgets/itemhistory','1','[]'),
('15','problemhosts','widgets/problemhosts','1','[]'),
('16','problems','widgets/problems','1','[]'),
('17','problemsbysv','widgets/problemsbysv','1','[]'),
('18','slareport','widgets/slareport','1','[]'),
('19','svggraph','widgets/svggraph','1','[]'),
('20','systeminfo','widgets/systeminfo','1','[]'),
('21','tophosts','widgets/tophosts','1','[]'),
('22','trigover','widgets/trigover','1','[]'),
('23','url','widgets/url','1','[]'),
('24','web','widgets/web','1','[]'),
('25','gauge','widgets/gauge','1','[]'),
('26','toptriggers','widgets/toptriggers','1','[]'),
('27','piechart','widgets/piechart','1','[]'),
('28','honeycomb','widgets/honeycomb','1','[]'),
('29','hostnavigator','widgets/hostnavigator','1','[]'),
('30','itemnavigator','widgets/itemnavigator','1','[]'),
('31','hostcard','widgets/hostcard','1','[]'),
('32','itemcard','widgets/itemcard','1','[]');
INSERT INTO role_rule (role_ruleid,roleid,type,name,value_int,value_str,value_moduleid,value_serviceid) VALUES ('1','1','0','ui.default_access','1','',NULL,NULL),
('2','1','0','services.read','1','',NULL,NULL),
('3','1','0','services.write','0','',NULL,NULL),
('4','1','0','modules.default_access','1','',NULL,NULL),
('5','1','0','api.access','1','',NULL,NULL),
('6','1','0','api.mode','0','',NULL,NULL),
('7','1','0','actions.default_access','1','',NULL,NULL),
('8','2','0','ui.default_access','1','',NULL,NULL),
('9','2','0','services.read','1','',NULL,NULL),
('10','2','0','services.write','1','',NULL,NULL),
('11','2','0','modules.default_access','1','',NULL,NULL),
('12','2','0','api.access','1','',NULL,NULL),
('13','2','0','api.mode','0','',NULL,NULL),
('14','2','0','actions.default_access','1','',NULL,NULL),
('15','3','0','ui.default_access','1','',NULL,NULL),
('16','3','0','services.read','1','',NULL,NULL),
('17','3','0','services.write','1','',NULL,NULL),
('18','3','0','modules.default_access','1','',NULL,NULL),
('19','3','0','api.access','1','',NULL,NULL),
('20','3','0','api.mode','0','',NULL,NULL),
('21','3','0','actions.default_access','1','',NULL,NULL),
('22','4','0','ui.default_access','1','',NULL,NULL),
('23','4','0','services.read','1','',NULL,NULL),
('24','4','0','services.write','0','',NULL,NULL),
('25','4','0','modules.default_access','1','',NULL,NULL),
('26','4','0','api.access','0','',NULL,NULL),
('27','4','0','actions.default_access','0','',NULL,NULL);
INSERT INTO settings (name,type,value_str,value_int,value_usrgrpid,value_hostgroupid,value_userdirectoryid,value_mfaid) VALUES ('alert_usrgrpid','3','','0','7',NULL,NULL,NULL),
('auditlog_enabled','2','','1',NULL,NULL,NULL,NULL),
('auditlog_mode','2','','1',NULL,NULL,NULL,NULL),
('authentication_type','2','','0',NULL,NULL,NULL,NULL),
('autoreg_tls_accept','2','','1',NULL,NULL,NULL,NULL),
('blink_period','1','2m','0',NULL,NULL,NULL,NULL),
('compress_older','1','7d','0',NULL,NULL,NULL,NULL),
('compression_status','2','','0',NULL,NULL,NULL,NULL),
('connect_timeout','1','3s','0',NULL,NULL,NULL,NULL),
('custom_color','2','','0',NULL,NULL,NULL,NULL),
('db_extension','1','','0',NULL,NULL,NULL,NULL),
('dbversion_status','1','','0',NULL,NULL,NULL,NULL),
('default_inventory_mode','2','','-1',NULL,NULL,NULL,NULL),
('default_lang','1','en_US','0',NULL,NULL,NULL,NULL),
('default_theme','1','blue-theme','0',NULL,NULL,NULL,NULL),
('default_timezone','1','system','0',NULL,NULL,NULL,NULL),
('disabled_usrgrpid','3','','0',NULL,NULL,NULL,NULL),
('discovery_groupid','4','','0',NULL,'5',NULL,NULL),
('geomaps_attribution','1','','0',NULL,NULL,NULL,NULL),
('geomaps_max_zoom','2','','0',NULL,NULL,NULL,NULL),
('geomaps_tile_provider','1','OpenStreetMap.Mapnik','0',NULL,NULL,NULL,NULL),
('geomaps_tile_url','1','','0',NULL,NULL,NULL,NULL),
('ha_failover_delay','1','1m','0',NULL,NULL,NULL,NULL),
('history_period','1','24h','0',NULL,NULL,NULL,NULL),
('hk_audit','1','31d','0',NULL,NULL,NULL,NULL),
('hk_audit_mode','2','','1',NULL,NULL,NULL,NULL),
('hk_events_autoreg','1','1d','0',NULL,NULL,NULL,NULL),
('hk_events_discovery','1','1d','0',NULL,NULL,NULL,NULL),
('hk_events_internal','1','1d','0',NULL,NULL,NULL,NULL),
('hk_events_mode','2','','1',NULL,NULL,NULL,NULL),
('hk_events_service','1','1d','0',NULL,NULL,NULL,NULL),
('hk_events_trigger','1','365d','0',NULL,NULL,NULL,NULL),
('hk_history','1','31d','0',NULL,NULL,NULL,NULL),
('hk_history_global','2','','0',NULL,NULL,NULL,NULL),
('hk_history_mode','2','','1',NULL,NULL,NULL,NULL),
('hk_services','1','365d','0',NULL,NULL,NULL,NULL),
('hk_services_mode','2','','1',NULL,NULL,NULL,NULL),
('hk_sessions','1','31d','0',NULL,NULL,NULL,NULL),
('hk_sessions_mode','2','','1',NULL,NULL,NULL,NULL),
('hk_trends','1','365d','0',NULL,NULL,NULL,NULL),
('hk_trends_global','2','','0',NULL,NULL,NULL,NULL),
('hk_trends_mode','2','','1',NULL,NULL,NULL,NULL),
('http_auth_enabled','2','','0',NULL,NULL,NULL,NULL),
('http_case_sensitive','2','','1',NULL,NULL,NULL,NULL),
('http_login_form','2','','0',NULL,NULL,NULL,NULL),
('http_strip_domains','1','','0',NULL,NULL,NULL,NULL),
('iframe_sandboxing_enabled','2','','1',NULL,NULL,NULL,NULL),
('iframe_sandboxing_exceptions','1','','0',NULL,NULL,NULL,NULL),
('instanceid','1','','0',NULL,NULL,NULL,NULL),
('item_test_timeout','1','60s','0',NULL,NULL,NULL,NULL),
('jit_provision_interval','1','1h','0',NULL,NULL,NULL,NULL),
('ldap_auth_enabled','2','','0',NULL,NULL,NULL,NULL),
('ldap_case_sensitive','2','','1',NULL,NULL,NULL,NULL),
('ldap_jit_status','2','','0',NULL,NULL,NULL,NULL),
('ldap_userdirectoryid','5','','0',NULL,NULL,NULL,NULL),
('login_attempts','2','','5',NULL,NULL,NULL,NULL),
('login_block','1','30s','0',NULL,NULL,NULL,NULL),
('max_in_table','2','','50',NULL,NULL,NULL,NULL),
('max_overview_table_size','2','','50',NULL,NULL,NULL,NULL),
('max_period','1','2y','0',NULL,NULL,NULL,NULL),
('media_type_test_timeout','1','65s','0',NULL,NULL,NULL,NULL),
('mfa_status','2','','0',NULL,NULL,NULL,NULL),
('mfaid','6','','0',NULL,NULL,NULL,NULL),
('ok_ack_color','1','009900','0',NULL,NULL,NULL,NULL),
('ok_ack_style','2','','1',NULL,NULL,NULL,NULL),
('ok_period','1','5m','0',NULL,NULL,NULL,NULL),
('ok_unack_color','1','009900','0',NULL,NULL,NULL,NULL),
('ok_unack_style','2','','1',NULL,NULL,NULL,NULL),
('passwd_check_rules','2','','8',NULL,NULL,NULL,NULL),
('passwd_min_length','2','','8',NULL,NULL,NULL,NULL),
('period_default','1','1h','0',NULL,NULL,NULL,NULL),
('problem_ack_color','1','CC0000','0',NULL,NULL,NULL,NULL),
('problem_ack_style','2','','1',NULL,NULL,NULL,NULL),
('problem_unack_color','1','CC0000','0',NULL,NULL,NULL,NULL),
('problem_unack_style','2','','1',NULL,NULL,NULL,NULL),
('proxy_secrets_provider','2','','0',NULL,NULL,NULL,NULL),
('report_test_timeout','1','60s','0',NULL,NULL,NULL,NULL),
('saml_auth_enabled','2','','0',NULL,NULL,NULL,NULL),
('saml_case_sensitive','2','','0',NULL,NULL,NULL,NULL),
('saml_jit_status','2','','0',NULL,NULL,NULL,NULL),
('script_timeout','1','60s','0',NULL,NULL,NULL,NULL),
('search_limit','2','','1000',NULL,NULL,NULL,NULL),
('server_check_interval','2','','10',NULL,NULL,NULL,NULL),
('server_status','1','','0',NULL,NULL,NULL,NULL),
('session_key','1','0e1e3fb9846cbe4e079a22d38b2db33e','0',NULL,NULL,NULL,NULL),
('severity_color_0','1','97AAB3','0',NULL,NULL,NULL,NULL),
('severity_color_1','1','7499FF','0',NULL,NULL,NULL,NULL),
('severity_color_2','1','FFC859','0',NULL,NULL,NULL,NULL),
('severity_color_3','1','FFA059','0',NULL,NULL,NULL,NULL),
('severity_color_4','1','E97659','0',NULL,NULL,NULL,NULL),
('severity_color_5','1','E45959','0',NULL,NULL,NULL,NULL),
('severity_name_0','1','Not classified','0',NULL,NULL,NULL,NULL),
('severity_name_1','1','Information','0',NULL,NULL,NULL,NULL),
('severity_name_2','1','Warning','0',NULL,NULL,NULL,NULL),
('severity_name_3','1','Average','0',NULL,NULL,NULL,NULL),
('severity_name_4','1','High','0',NULL,NULL,NULL,NULL),
('severity_name_5','1','Disaster','0',NULL,NULL,NULL,NULL),
('show_technical_errors','2','','0',NULL,NULL,NULL,NULL),
('snmptrap_logging','2','','1',NULL,NULL,NULL,NULL),
('socket_timeout','1','3s','0',NULL,NULL,NULL,NULL),
('software_update_check_data','1','','0',NULL,NULL,NULL,NULL),
('software_update_checkid','1','','0',NULL,NULL,NULL,NULL),
('timeout_browser','1','60s','0',NULL,NULL,NULL,NULL),
('timeout_db_monitor','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_external_check','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_http_agent','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_script','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_simple_check','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_snmp_agent','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_ssh_agent','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_telnet_agent','1','3s','0',NULL,NULL,NULL,NULL),
('timeout_zabbix_agent','1','3s','0',NULL,NULL,NULL,NULL),
('uri_valid_schemes','1','http,https,ftp,file,mailto,tel,ssh','0',NULL,NULL,NULL,NULL),
('url','1','','0',NULL,NULL,NULL,NULL),
('validate_uri_schemes','2','','1',NULL,NULL,NULL,NULL),
('vault_provider','2','','0',NULL,NULL,NULL,NULL),
('work_period','1','1-5,09:00-18:00','0',NULL,NULL,NULL,NULL),
('x_frame_options','1','SAMEORIGIN','0',NULL,NULL,NULL,NULL);
INSERT INTO hgset (hgsetid,hash) VALUES ('1','e629fa6598d732768f7c726b4b621285f9c3b85303900aa912017db7617d8bdb'),
('2','4ec9599fc203d176a301536c2e091a19bc852759b255bd6818810a42c5fed14a'),
('3','4523540f1504cd17100c4835e85b7eefd49911580f8efff0599a8f283be6b9e3'),
('4','ef8704ac79657fbf2818c74a70a571c131283abd8914eca173cd032929702789'),
('5','6f4b6612125fb3a0daecd2799dfd6c9c299424fd920f9b308110a2c1fbd8f443'),
('6','4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a'),
('7','19581e27de7ced00ff1ce50b2047e7a567c76b1cbaebabe5ef03f7c3017bb5b7'),
('8','6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918'),
('9','b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a9f4ce8cd9'),
('10','4fc82b26aecb47d2868c4efbe3581732a3e7cbcc6c2efb32062c08170a05eeb8'),
('11','4a44dc15364204a80fe80e9039455cc1608281820fe2b24f1e5233ade6af1dd5'),
('12','3fdba35f04dc8c462986c992bcf875546257113072a909c162f7e470e581e278');
INSERT INTO hosts (hostid,proxyid,host,status,ipmi_authtype,ipmi_privilege,ipmi_username,ipmi_password,name,flags,templateid,description,tls_connect,tls_accept,tls_issuer,tls_subject,tls_psk_identity,tls_psk,discover,custom_interfaces,uuid,name_upper,vendor_name,vendor_version,proxy_groupid,monitored_by,wizard_ready,readme) VALUES ('10001',NULL,'Linux by Zabbix agent','3','-1','2','','','Linux by Zabbix agent','0',NULL,'This is an official Linux template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 filesystem reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f8f7908280354f2abeed07dc788c3747','LINUX BY ZABBIX AGENT','Zabbix','7.4-2',NULL,'0','1','## Overview
This is an official Linux template. It requires Zabbix agent 7.4 or newer.
#### Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.'),
('10047',NULL,'Zabbix server health','3','-1','2','','','Zabbix server health','0',NULL,'This template is designed to monitor internal Zabbix metrics on the local Zabbix server.
Link this template to the local Zabbix server host.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e2d2b4e4ac28483996cc11fe42823d57','ZABBIX SERVER HEALTH','Zabbix','7.4-5',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the local Zabbix server.
## Setup
Link this template to the local Zabbix server host.'),
('10048',NULL,'Zabbix proxy health','3','-1','2','','','Zabbix proxy health','0',NULL,'This template is designed to monitor internal Zabbix metrics on the local Zabbix proxy.
Link this template to the local Zabbix proxy host.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','dd114bf0fb2f46bc84840f1bb24e2b23','ZABBIX PROXY HEALTH','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the local Zabbix proxy.
## Setup
Link this template to the local Zabbix proxy host.'),
('10074',NULL,'OpenBSD by Zabbix agent','3','-1','2','','','OpenBSD by Zabbix agent','0',NULL,'This is an Official OpenBSD template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','760be6e1c2194a5bb7c0df47cc5f71ca','OPENBSD BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10075',NULL,'FreeBSD by Zabbix agent','3','-1','2','','','FreeBSD by Zabbix agent','0',NULL,'This is an official FreeBSD template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a3dc630729e443139f4e608954fa6e19','FREEBSD BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10076',NULL,'AIX by Zabbix agent','3','-1','2','','','AIX by Zabbix agent','0',NULL,'This is an official AIX template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7e6bb0931a72459db9514aa924b420bc','AIX BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10077',NULL,'HP-UX by Zabbix agent','3','-1','2','','','HP-UX by Zabbix agent','0',NULL,'This is an official HP-UX template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b1fd823d262042e08291313f72be9452','HP-UX BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10078',NULL,'Solaris by Zabbix agent','3','-1','2','','','Solaris by Zabbix agent','0',NULL,'This is an official Solaris OS template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','eaf36c98b91843b7b79bd5184a23d377','SOLARIS BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10079',NULL,'macOS by Zabbix agent','3','-1','2','','','macOS by Zabbix agent','0',NULL,'This is an official macOS template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f895df5b37494f668cde1a2388d7af8b','MACOS BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10081',NULL,'Windows by Zabbix agent','3','-1','2','','','Windows by Zabbix agent','0',NULL,'This is an official Windows template. It requires Zabbix agent 7.4 or newer.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','13b06904a6bf41cbb795e3193d896340','WINDOWS BY ZABBIX AGENT','Zabbix','7.4-2',NULL,'0','1','## Overview
This is an official Windows template. It requires Zabbix agent 7.4 or newer.'),
('10084',NULL,'Zabbix server','0','-1','2','','','Zabbix server','0',NULL,'','1','1','','','','','0','0','','ZABBIX SERVER','','',NULL,'0','0',''),
('10169',NULL,'Generic Java JMX','3','-1','2','','','Generic Java JMX','0',NULL,'Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','72aab08f7f27406a8f2c291648e5ba95','GENERIC JAVA JMX','Zabbix','7.4-0',NULL,'0','0',''),
('10171',NULL,'Intel SR1530 IPMI','3','-1','2','','','Intel SR1530 IPMI','0',NULL,'Template for monitoring Intel SR1530 server system.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f01bd64eef4049fabe087cccae590226','INTEL SR1530 IPMI','Zabbix','7.4-0',NULL,'0','0',''),
('10172',NULL,'Intel SR1630 IPMI','3','-1','2','','','Intel SR1630 IPMI','0',NULL,'Template for monitoring Intel SR1630 server system.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2327c665b46e4aa781d41240168c3867','INTEL SR1630 IPMI','Zabbix','7.4-0',NULL,'0','0',''),
('10173',NULL,'VMware','3','-1','2','','','VMware','0',NULL,'You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Note: To enable discovery of hardware sensors of VMware Hypervisors, set the macro ''{$VMWARE.HV.SENSOR.DISCOVERY}'' to the value ''true'' on the discovered host level.
Note: To create custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/vm_monitoring/vmware_keys#footnotes
Note: To get all supported counters and generate path for custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/appendix/items/perf_counters
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','56079badd056419383cc26e6a4fcc7e0','VMWARE','Zabbix','7.4-2',NULL,'0','1','## Overview
This template set is designed for the effortless deployment of VMware vCenter and ESX hypervisor monitoring and doesn''t require any external scripts.
- The template "VMware Guest" is used in discovery and normally should not be manually linked to a host.
- The template "VMware Hypervisor" can be used in discovery as well as manually linked to a host.
For additional information, please see [Zabbix documentation on VM monitoring](https://www.zabbix.com/documentation/7.4/manual/vm_monitoring).
## Setup
1. Compile Zabbix server with the required options (`--with-libxml2` and `--with-libcurl`)
2. Set the `StartVMwareCollectors` option in the Zabbix server configuration file to "1" or more
3. Create a new host
4. If you want to use a separate user for monitoring, make sure that the user is a member of the `SystemConfiguration.ReadOnly` and `vStatsGroup` groups
Set the host wizard configuration fields required for VMware authentication: `VMware URL`, `VMware username` and `VMware password`
5. Link the template to the host created earlier
Note: To enable discovery of hardware sensors of VMware hypervisors, set the host wizard configuration field `Monitoring of hardware sensors` to the selected state.
Additional resources:
- How to [create a custom performance counter](https://www.zabbix.com/documentation/7.4/manual/vm_monitoring/vmware_keys#footnotes)
- How to get all supported counters and [generate a path for the custom performance counter](https://www.zabbix.com/documentation/7.4/manual/appendix/items/perf_counters)'),
('10174',NULL,'VMware Guest','3','-1','2','','','VMware Guest','0',NULL,'Note: To enable trigger for free space for guest VM, set macro ''{$VMWARE.VM.FS.TRIGGER.USED}'' to the value ''1'' on the discovered host level.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7942fb93ae3b47cf9ca0ea4beb0675ce','VMWARE GUEST','Zabbix','7.4-4',NULL,'0','0',''),
('10175',NULL,'VMware Hypervisor','3','-1','2','','','VMware Hypervisor','0',NULL,'You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
This template can be used in discovery as well as manually linked to a host. To use this template as manually linked to a host, attach it to the host and set manually the value of ''{$VMWARE.HV.UUID}'' macro.
Note: To create custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/vm_monitoring/vmware_keys#footnotes
Note: To get all supported counters and generate path for custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/appendix/items/perf_counters
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5899b2f0aced4085b5ac25d0461b3425','VMWARE HYPERVISOR','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed for the effortless deployment of VMware ESX hypervisor monitoring and doesn''t require any external scripts.
This template can be used in discovery as well as manually linked to a host.
For additional information, please see [Zabbix documentation on VM monitoring](https://www.zabbix.com/documentation/7.4/manual/vm_monitoring).
To use this template as manually linked to a host, attach it to the host and manually set the `Hypervisor UUID` host wizard configuration field.
## Setup
To use this template as manually linked to a host:
1. Compile Zabbix server with the required options (`--with-libxml2` and `--with-libcurl`)
2. Set the `StartVMwareCollectors` option in the Zabbix server configuration file to "1" or more
3. Set the host wizard configuration fields required for VMware authentication: `VMware URL`, `VMware username` and `VMware password`
4. To get the hypervisor UUID, enable access to the hypervisor via SSH and log in via SSH using a valid login and password.
5. Run the following command and specify the UUID in the `Hypervisor UUID` host wizard configuration field:
```text
vim-cmd hostsvc/hostsummary | grep uuid
```
Note: To enable discovery of hardware sensors of VMware hypervisors, set the host wizard configuration field `Monitoring of hardware sensors` to the selected state.'),
('10207',NULL,'Alcatel Timetra TiMOS by SNMP','3','-1','2','','','Alcatel Timetra TiMOS by SNMP','0',NULL,'Template Net Alcatel Timetra TiMOS
MIBs used:
EtherLike-MIB
TIMETRA-SYSTEM-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
TIMETRA-CHASSIS-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','53044571fb864d87af32473e08c76d0b','ALCATEL TIMETRA TIMOS BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10208',NULL,'Brocade FC by SNMP','3','-1','2','','','Brocade FC by SNMP','0',NULL,'Template Net Brocade FC
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
SW-MIB
IF-MIB
Known Issues:
Description: no IF-MIB::ifAlias is available
Version: v6.3.1c, v7.0.0c, v7.4.1c
Device: all
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','de96d02bd5f242bfa31308ae2131d03f','BROCADE FC BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10210',NULL,'Brocade_Foundry Nonstackable by SNMP','3','-1','2','','','Brocade_Foundry Nonstackable by SNMP','0',NULL,'Template Net Brocade Foundry Nonstackable
MIBs used:
FOUNDRY-SN-AGENT-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6ecfb7083ddf45f183ab4be50cfba37a','BROCADE_FOUNDRY NONSTACKABLE BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10211',NULL,'Brocade_Foundry Stackable by SNMP','3','-1','2','','','Brocade_Foundry Stackable by SNMP','0',NULL,'Template Brocade Foundry Stackable
MIBs used:
FOUNDRY-SN-AGENT-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
FOUNDRY-SN-STACKING-MIB
IF-MIB
Known Issues:
Description: Correct fan(returns fan status as ''other(1)'' and temperature (returns 0) for the non-master Switches are not available in SNMP
Version: Version 08.0.40b and above
Device: ICX 7750 in stack
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f64ad01567914165a493815e492fb315','BROCADE_FOUNDRY STACKABLE BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10218',NULL,'Cisco IOS by SNMP','3','-1','2','','','Cisco IOS by SNMP','0',NULL,'Template Cisco IOS Software releases 12.2(3.5) or later
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
CISCO-ENVMON-MIB
CISCO-PROCESS-MIB
ENTITY-MIB
Known Issues:
Description: no if(in|out)(Errors|Discards) are available for vlan ifType
Version: IOS for example: 12.1(22)EA11, 15.4(3)M2
Device: C2911, C7600
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','aa3ce9bd8c1d40a2b0f83f9e642e88ee','CISCO IOS BY SNMP','Zabbix','7.4-2',NULL,'0','1','## Overview
### Known Issues
Description: no if(in|out)(Errors|Discards) are available for vlan ifType
Version: IOS for example: 12.1(22)EA11, 15.4(3)M2
Device: C2911, C7600'),
('10220',NULL,'Cisco IOS prior to 12.0_3_T by SNMP','3','-1','2','','','Cisco IOS prior to 12.0_3_T by SNMP','0',NULL,'Cisco IOS Software releases prior to 12.0(3)T
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
OLD-CISCO-CPU-MIB
CISCO-ENVMON-MIB
CISCO-MEMORY-POOL-MIB
ENTITY-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1bb42fbdb9054645a62ff81f14ba3b99','CISCO IOS PRIOR TO 12.0_3_T BY SNMP','Zabbix','7.4-2',NULL,'0','1',''),
('10221',NULL,'Dell Force S-Series by SNMP','3','-1','2','','','Dell Force S-Series by SNMP','0',NULL,'Template Dell Force S-Series
MIBs used:
F10-S-SERIES-CHASSIS-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e5ec7acc7efc4ac491b6fa552ab077ae','DELL FORCE S-SERIES BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10222',NULL,'D-Link DES 7200 by SNMP','3','-1','2','','','D-Link DES 7200 by SNMP','0',NULL,'Template D-Link DES 7200
MIBs used:
ENTITY-MIBdescription has changed
IF-MIB
MY-PROCESS-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
MY-MEMORY-MIB
ENTITY-MIB
MY-SYSTEM-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','395184b5d5b048a68e06c91154c56847','D-LINK DES 7200 BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10223',NULL,'D-Link DES_DGS Switch by SNMP','3','-1','2','','','D-Link DES_DGS Switch by SNMP','0',NULL,'Template D-Link DES_DGS Switch
MIBs used:
EQUIPMENT-MIB
IF-MIB
DLINK-AGENT-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
Known Issues:
Description: D-Link reports missing PSU as fail(4)
Version: Firmware: 1.73R008,hardware revision: B1
Device: DGS-3420-26SC Gigabit Ethernet Switch
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d3176749a5274264938f487cd89d17eb','D-LINK DES_DGS SWITCH BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10224',NULL,'Extreme EXOS by SNMP','3','-1','2','','','Extreme EXOS by SNMP','0',NULL,'Template Extreme EXOS
MIBs used:
EXTREME-SYSTEM-MIB
IF-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
EXTREME-SOFTWARE-MONITOR-MIB
ENTITY-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','861dbdece18f4b8f85214a319995eb3e','EXTREME EXOS BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10226',NULL,'Network Generic Device by SNMP','3','-1','2','','','Network Generic Device by SNMP','0',NULL,'Template Net Network Generic Device
MIBs used:
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','67332e679035423f85090aa985947c36','NETWORK GENERIC DEVICE BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10227',NULL,'HP Comware HH3C by SNMP','3','-1','2','','','HP Comware HH3C by SNMP','0',NULL,'Template Net HP Comware (HH3C)
MIBs used:
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
HH3C-ENTITY-EXT-MIB
IF-MIB
Known Issues:
Description: No temperature sensors. All entities of them return 0 for HH3C-ENTITY-EXT-MIB::hh3cEntityExtTemperature
Version: 1910-48 Switch Software Version 5.20.99, Release 1116 Copyright(c)2010-2016 Hewlett Packard Enterprise Development LP
Device: HP 1910-48
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','57aeccd43b744942b9555269b79a96ad','HP COMWARE HH3C BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10229',NULL,'Huawei VRP by SNMP','3','-1','2','','','Huawei VRP by SNMP','0',NULL,'Template Net Huawei VRP
MIBs used:
EtherLike-MIB
HUAWEI-ENTITY-EXTENT-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ad4c3dad4b7b492685d1fd3bd3a664f9','HUAWEI VRP BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10230',NULL,'Intel_Qlogic Infiniband by SNMP','3','-1','2','','','Intel_Qlogic Infiniband by SNMP','0',NULL,'Template Net Intel_Qlogic Infiniband
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
ICS-CHASSIS-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6f7f2c44e13a46a4b219fbb5db92f3f7','INTEL_QLOGIC INFINIBAND BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10231',NULL,'Juniper by SNMP','3','-1','2','','','Juniper by SNMP','0',NULL,'Template Net Juniper
MIBs used:
EtherLike-MIB
JUNIPER-ALARM-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
JUNIPER-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a326034825984bbd8a3a5885f3939bb3','JUNIPER BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10233',NULL,'Mikrotik by SNMP','3','-1','2','','','Mikrotik by SNMP','0',NULL,'Template Net Mikrotik
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Known Issues:
Description: Doesn''t have ifHighSpeed filled. fixed in more recent versions
Version: RouterOS 6.28 or lower
Description: Doesn''t have any temperature sensors
Version: RouterOS 6.38.5
Device: Mikrotik 941-2nD, Mikrotik 951G-2HnD
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','815b5a81b29a477695fddbd533ad9c84','MIKROTIK BY SNMP','Zabbix','7.4-4',NULL,'0','1','## Overview
At the core of all MikroTik hardware is RouterOS, a powerful and versatile operating system. It offers a vast array of networking features.
### Known Issues
Description: Doesn''t have ifHighSpeed filled. fixed in more recent versions
Version: RouterOS 6.28 or lower
Description: Doesn''t have any temperature sensors
Version: RouterOS 6.38.5
Device: Mikrotik 941-2nD, Mikrotik 951G-2HnD'),
('10234',NULL,'Netgear Fastpath by SNMP','3','-1','2','','','Netgear Fastpath by SNMP','0',NULL,'Template Net Netgear Fastpath
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
FASTPATH-SWITCHING-MIB
FASTPATH-BOXSERVICES-PRIVATE-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5920713da492452889adabc25e259caa','NETGEAR FASTPATH BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10235',NULL,'QTech QSW by SNMP','3','-1','2','','','QTech QSW by SNMP','0',NULL,'Template Net QTech QSW
MIBs used:
QTECH-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','21f3e79e1d2e4f5e868d1ef81c94bbfd','QTECH QSW BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10236',NULL,'TP-LINK by SNMP','3','-1','2','','','TP-LINK by SNMP','0',NULL,'Template Net TP-LINK
MIBs used:
TPLINK-SYSINFO-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
TPLINK-SYSMONITOR-MIB
IF-MIB
Known Issues:
Description: Default sysLocation, sysName and sysContact is not filled with proper data. Real hostname and location can be found only in private branch (TPLINK-SYSINFO-MIB). Please check whether this problem exists in the latest firmware: https://www.tp-link.com/en/support/download/t2600g-28ts/#Firmware
Version: 2.0.0 Build 20170628 Rel.55184 (Beta)
Device: T2600G-28TS 2.0
Description: The Serial number of the product (tpSysInfoSerialNum) is missing in HW versions prior to V2_170323
Version: Prior to version V2_170323
Device: T2600G-28TS 2.0
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2b9039885edf45b8bdd39f16dd069133','TP-LINK BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10237',NULL,'Ubiquiti AirOS by SNMP','3','-1','2','','','Ubiquiti AirOS by SNMP','0',NULL,'Template Net Ubiquiti AirOS
MIBs used:
FROGFOOT-RESOURCES-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
IEEE802dot11-MIB
IF-MIB
Known Issues:
Description: UBNT unifi reports speed: like IF-MIB::ifSpeed.1 = Gauge32: 4294967295 for all interfaces
Version: Firmware: BZ.ar7240.v3.7.51.6230.170322.1513
Device: UBNT UAP-LR
Description: UBNT AirMax(NanoStation, NanoBridge etc) reports ifSpeed: as 0 for VLAN and wireless(ath0) interfaces
Version: Firmware: XW.ar934x.v5.6-beta4.22359.140521.1836
Device: NanoStation M5
Description: UBNT AirMax(NanoStation, NanoBridge etc) reports always return ifType: as ethernet(6) even for wifi,vlans and other types
Version: Firmware: XW.ar934x.v5.6-beta4.22359.140521.1836
Device: NanoStation M5
Description: ifXTable is not provided in IF-MIB. So Interfaces Simple Template is used instead
Version: all above
Device: NanoStation, UAP-LR
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6c235d126c1f4895acfe2156b140a886','UBIQUITI AIROS BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10248',NULL,'Linux by SNMP','3','-1','2','','','Linux by SNMP','0',NULL,'This is an official Linux template. It requires an SNMP client.
MIBs used:
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
UCD-DISKIO-MIB
UCD-SNMP-MIB
IF-MIB
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 * (used / used + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4d3a7adbb6964bd08f2b9d28e0da6496','LINUX BY SNMP','Zabbix','7.4-4',NULL,'0','1','## Overview
This is an official Linux template. It requires an SNMP client.
#### Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: `pused = 100 * (used / used + available)`
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
## Setup
Install snmpd agent on Linux OS, enable SNMPv2.
Make sure access to UCD-SNMP-MIB is allowed from Zabbix server/proxy host, since,
by default, snmpd (for example, in Ubuntu) limits access to basic system information only:
```text
rocommunity public default -V systemonly
```
Ensure snmpd is monitoring disks, using `includeALLDisks` or `disk` options. Example:
```
includeALLDisks 0% # monitors all disks starting with 0% fill rate
# disk / 0% # monitor only / root volume starting with 0% fill rate
```
Make sure you change that in order to read metrics of UCD-SNMP-MIB and UCD-DISKIO-MIB. Please refer to the documentation:
http://www.net-snmp.org/wiki/index.php/Vacm
You can also try to use `snmpconf`:
http://www.net-snmp.org/wiki/index.php/TUT:snmpd_configuration'),
('10249',NULL,'Windows by SNMP','3','-1','2','','','Windows by SNMP','0',NULL,'This is an official Windows template. It requires an SNMP client.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
IF-MIB
Known Issues:
Description:
64-bit I/O is not supported even though `IfxTable` is present.
Currently, Windows gets its interface status from MIB-2. Since these 64-bit SNMP counters (`ifHCInOctets`, `ifHCOutOctets`, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it.
https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen
Version: Win2008, Win2012R2.
Description: MIB is not supported
Version: WindowsXP
Description: EtherLike MIB is not supported
Version: any
Description:
HOST-RESOURCES-MIB::hrStorageSize is limited to number 2147483647.
Storage size is calculated using: `hrStorageSize` and `hrStorageAllocationUnits`.
Allocation size of 512 bytes, sets the limit of monitored device to 1TB.
Version: any
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f9a59315c8944853bb91c0a9ec3056d7','WINDOWS BY SNMP','Zabbix','7.4-3',NULL,'0','1','## Overview
This is an official Windows template. It requires an SNMP client.
MIBs used:
- HOST-RESOURCES-MIB
- SNMPv2-MIB
- IF-MIB
### Known Issues
- 64-bit I/O is not supported even though `IfxTable` is present.
Currently, Windows gets its interface status from MIB-2. Since these 64-bit SNMP counters (`ifHCInOctets`, `ifHCOutOctets`, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it.
https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen
- version: Win2008, Win2012R2.
- `ifXTable` is not supported.
- version: WindowsXP
- EtherLike MIB is not supported
- version: any
- HOST-RESOURCES-MIB::hrStorageSize is limited to number 2147483647.
Storage size is calculated using: `hrStorageSize` and `hrStorageAllocationUnits`.
An allocation size of 512 bytes, sets the limit of monitored device to 1TB.
|hrStorageAllocationUnits|Max size (TB)|
|---|---|
|512 bytes|1|
|1024 bytes|2|
|2048 bytes|4|
|64 KB|128|
- version: any'),
('10250',NULL,'HP Enterprise Switch by SNMP','3','-1','2','','','HP Enterprise Switch by SNMP','0',NULL,'Template Net HP Enterprise Switch
MIBs used:
NETSWITCH-MIB
HP-ICF-CHASSIS
ENTITY-SENSORS-MIB
IF-MIB
EtherLike-MIB
SEMI-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
STATISTICS-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cce20a5d149a48b7ac7f5383c3510883','HP ENTERPRISE SWITCH BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10251',NULL,'Mellanox by SNMP','3','-1','2','','','Mellanox by SNMP','0',NULL,'The updated template for monitoring the Mellanox network switches over SNMP agent. All items collected in one template without any linked templates.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-SENSORS-MIB
ENTITY-STATE-MIB
ENTITY-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a60798c651604d93a062bec0f8a89751','MELLANOX BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10253',NULL,'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP','3','-1','2','','','Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP','0',NULL,'Cisco IOS Software releases later to 12.0(3)T and prior to 12.2(3.5)
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
CISCO-ENVMON-MIB
CISCO-PROCESS-MIB
ENTITY-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','40c233aaa3424fd29dc378022ff3461d','CISCO IOS VERSIONS 12.0_3_T-12.2_3.5 BY SNMP','Zabbix','7.4-2',NULL,'0','1',''),
('10254',NULL,'Arista by SNMP','3','-1','2','','','Arista by SNMP','0',NULL,'Template Net Arista
MIBs used:
ENTITY-SENSORS-MIB
ENTITY-STATE-MIB
IF-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
ENTITY-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','26674f62500e4e79b9f470bbf962130d','ARISTA BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10255',NULL,'Dell iDRAC by SNMP','3','-1','2','','','Dell iDRAC by SNMP','0',NULL,'Template for Dell servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','43dc5c8a9a0e4786b64e44422c7f32b4','DELL IDRAC BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10256',NULL,'HP iLO by SNMP','3','-1','2','','','HP iLO by SNMP','0',NULL,'Template Server HP iLO
MIBs used:
HOST-RESOURCES-MIB
CPQHLTH-MIB
SNMPv2-MIB
CPQSINFO-MIB
CPQIDA-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c2a7ddca051d4b4a9553f339c57e47a9','HP ILO BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10258',NULL,'IBM IMM by SNMP','3','-1','2','','','IBM IMM by SNMP','0',NULL,'Template Server IBM IMM
MIBs used:
IMM-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
Known Issues:
Description: Some IMMs (IMM1) do not return disks
Version: IMM1
Device: IBM x3250M3
Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus
Version: IMM1
Device: IBM x3250M3
Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10
Version: IMM1
Device: IMM1 servers (M2,M3 generations)
Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available
Version: IMM1
Device: IMM1 servers (M2,M3 generations)
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c9e1acd3ae4a427ab39724b6bcaf839e','IBM IMM BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10259',NULL,'Supermicro Aten by SNMP','3','-1','2','','','Supermicro Aten by SNMP','0',NULL,'Template Server Supermicro Aten
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
ATEN-IPMI-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cf0947cc05d3450b9a6d66b2eb180482','SUPERMICRO ATEN BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10260',NULL,'Apache Tomcat by JMX','3','-1','2','','','Apache Tomcat by JMX','0',NULL,'The template to monitor Apache Tomcat by Zabbix that work without any external scripts.
The metrics are collected by JMX.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/411862-discussion-thread-for-official-zabbix-template-tomcat
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3cc8c9ae7055458c9a803597007f70bd','APACHE TOMCAT BY JMX','Zabbix','7.4-0',NULL,'0','0',''),
('10261',NULL,'Remote Zabbix server health','3','-1','2','','','Remote Zabbix server health','0',NULL,'This template is designed to monitor internal Zabbix metrics on the remote Zabbix server.
Specify the address of the remote Zabbix server by changing the {$ZABBIX.SERVER.ADDRESS} and {$ZABBIX.SERVER.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote server''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','79b16cbbe593444eae3de66de0cb566b','REMOTE ZABBIX SERVER HEALTH','Zabbix','7.4-5',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the remote Zabbix server.
## Setup
Specify the address of the remote Zabbix server as the values for the `Zabbix server Address` and `Zabbix server Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote server''s configuration file to allow the collection of statistics.'),
('10262',NULL,'Remote Zabbix proxy health','3','-1','2','','','Remote Zabbix proxy health','0',NULL,'This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy.
Specify the address of the remote Zabbix proxy by updating the {$ZABBIX.PROXY.ADDRESS} and {$ZABBIX.PROXY.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote proxy''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','970c2342146549768e6b91a26089bcdf','REMOTE ZABBIX PROXY HEALTH','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy.
## Setup
Specify the address of the remote Zabbix proxy as the values for the `Zabbix proxy Address` and `Zabbix proxy Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote proxy''s configuration file to allow the collection of statistics.'),
('10264',NULL,'Apache by Zabbix agent','3','-1','2','','','Apache by Zabbix agent','0',NULL,'Get metrics from mod_status module using HTTP agent.
https://httpd.apache.org/docs/current/mod/mod_status.html
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384764-discussion-thread-for-official-zabbix-template-apache
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a8d91e4f36794e32b73090d5edf3d7ae','APACHE BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed for the effortless deployment of Apache monitoring by Zabbix via Zabbix agent and doesn''t require any external scripts.
The template `Apache by Zabbix agent` - collects metrics by polling [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html) locally with Zabbix agent:
```text
127.0.0.1
ServerVersion: Apache/2.4.41 (Unix)
ServerMPM: event
Server Built: Aug 14 2019 00:35:10
CurrentTime: Friday, 16-Aug-2019 12:38:40 UTC
RestartTime: Wednesday, 14-Aug-2019 07:58:26 UTC
ParentServerConfigGeneration: 1
ParentServerMPMGeneration: 0
ServerUptimeSeconds: 189613
ServerUptime: 2 days 4 hours 40 minutes 13 seconds
Load1: 4.60
Load5: 1.20
Load15: 0.47
Total Accesses: 27860
Total kBytes: 33011
Total Duration: 54118
CPUUser: 18.02
CPUSystem: 31.76
CPUChildrenUser: 0
CPUChildrenSystem: 0
CPULoad: .0262535
Uptime: 189613
ReqPerSec: .146931
BytesPerSec: 178.275
BytesPerReq: 1213.33
DurationPerReq: 1.9425
BusyWorkers: 7
IdleWorkers: 93
Processes: 4
Stopping: 0
BusyWorkers: 7
IdleWorkers: 93
ConnsTotal: 13
ConnsAsyncWriting: 0
ConnsAsyncKeepAlive: 5
ConnsAsyncClosing: 0
Scoreboard: ...
```
It also uses Zabbix agent to collect `Apache` Linux process statistics such as CPU usage, memory usage, and whether the process is running or not.
## Setup
See the setup instructions for [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html).
Check the availability of the module with this command line: `httpd -M 2>/dev/null | grep status_module`
This is an example configuration of the Apache web server:
```text
SetHandler server-status
Require host example.com
```
If you use another path, then do not forget to change the `Apache status page path` host wizard configuration field.'),
('10265',NULL,'Apache by HTTP','3','-1','2','','','Apache by HTTP','0',NULL,'This template is designed for the effortless deployment of Apache monitoring by Zabbix via HTTP and doesn''t require any external scripts.
The template collects metrics by polling ''mod_status'' with HTTP agent remotely.
Setup:
1. See the setup instructions for mod_status:
https://httpd.apache.org/docs/current/mod/mod_status.html
Check the availability of the module with this command line:
httpd -M 2>/dev/null | grep status_module
This is an example configuration of the Apache web server:
SetHandler server-status
Require host example.com
2. Set the hostname or IP address of the Apache status page host in the ''{$APACHE.STATUS.HOST}'' macro. You can also change the status page port in the ''{$APACHE.STATUS.PORT}'' macro and status page path in the ''{$APACHE.STATUS.PATH}'' macro if necessary.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384764-discussion-thread-for-official-zabbix-template-apache
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','86702e8bc514434e8c914d50c206cb94','APACHE BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed for the effortless deployment of Apache monitoring by Zabbix via HTTP and doesn''t require any external scripts.
The template collects metrics by polling [`mod_status`](https://httpd.apache.org/docs/current/mod/mod_status.html) with HTTP agent remotely:
```text
127.0.0.1
ServerVersion: Apache/2.4.41 (Unix)
ServerMPM: event
Server Built: Aug 14 2019 00:35:10
CurrentTime: Friday, 16-Aug-2019 12:38:40 UTC
RestartTime: Wednesday, 14-Aug-2019 07:58:26 UTC
ParentServerConfigGeneration: 1
ParentServerMPMGeneration: 0
ServerUptimeSeconds: 189613
ServerUptime: 2 days 4 hours 40 minutes 13 seconds
Load1: 4.60
Load5: 1.20
Load15: 0.47
Total Accesses: 27860
Total kBytes: 33011
Total Duration: 54118
CPUUser: 18.02
CPUSystem: 31.76
CPUChildrenUser: 0
CPUChildrenSystem: 0
CPULoad: .0262535
Uptime: 189613
ReqPerSec: .146931
BytesPerSec: 178.275
BytesPerReq: 1213.33
DurationPerReq: 1.9425
BusyWorkers: 7
IdleWorkers: 93
Processes: 4
Stopping: 0
BusyWorkers: 7
IdleWorkers: 93
ConnsTotal: 13
ConnsAsyncWriting: 0
ConnsAsyncKeepAlive: 5
ConnsAsyncClosing: 0
Scoreboard: ...
```
## Setup
1. See the setup instructions for [`mod_status`](https://httpd.apache.org/docs/current/mod/mod_status.html).
Check the availability of the module with this command line:
`httpd -M 2>/dev/null | grep status_module`
This is an example configuration of the Apache web server:
```text
SetHandler server-status
Require host example.com
```
2. Set the hostname or IP address of the Apache status page host in the `Apache status host` host wizard configuration field. You can also change the status page port in the `Apache status page port` field and status page path in the `Apache status page path` field if necessary.'),
('10266',NULL,'Nginx by Zabbix agent','3','-1','2','','','Nginx by Zabbix agent','0',NULL,'Get metrics from stub status module using Zabbix agent running on Linux
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','27f6424905884dbb96ab9210d987a56c','NGINX BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is developed to monitor Nginx by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template `Nginx by Zabbix agent` - collects metrics by polling the [Module ngx_http_stub_status_module](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html) locally with Zabbix agent:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```
Note that this template doesn''t support HTTPS and redirects (limitations of `web.page.get`).
It also uses Zabbix agent to collect `Nginx` Linux process statistics, such as CPU usage, memory usage and whether the process is running or not.
## Setup
See the setup instructions for [ngx_http_stub_status_module](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html).
Test the availability of the `http_stub_status_module` `nginx -V 2>&1 | grep -o with-http_stub_status_module`.
Example configuration of Nginx:
```text
location = /basic_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
```
If you use another location, then don''t forget to change the `Nginx status page path` host wizard configuration field.
Example answer from Nginx:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```
Note that this template doesn''t support https and redirects (limitations of web.page.get).'),
('10267',NULL,'Nginx by HTTP','3','-1','2','','','Nginx by HTTP','0',NULL,'This template is developed to monitor Nginx by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling the module ''ngx_http_stub_status_module'' with HTTP agent remotely:
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
Setup:
1. See the setup instructions for ''ngx_http_stub_status_module'':
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html
Test the availability of the ''http_stub_status_module'' with ''nginx -V 2>&1 | grep -o with-http_stub_status_module''.
Example configuration of Nginx:
location = /basic_status {
stub_status;
allow ;
deny all;
}
2. Set the hostname or IP address of the Nginx host or Nginx container in the ''{$NGINX.STUB_STATUS.HOST}'' macro. You can also change the status page port in the ''{$NGINX.STUB_STATUS.PORT}'' macro, the status page scheme in the ''{$NGINX.STUB_STATUS.SCHEME}'' macro and the status page path in the ''{$NGINX.STUB_STATUS.PATH}'' macro if necessary.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','13d5bb0a4ae84228bff408aab5be338e','NGINX BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is developed to monitor Nginx by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling the module [`ngx_http_stub_status_module`](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html) with HTTP agent remotely:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```
## Setup
1. See the setup instructions for [`ngx_http_stub_status_module`](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html).
Test the availability of the `http_stub_status_module` with `nginx -V 2>&1 | grep -o with-http_stub_status_module`.
Example configuration of Nginx:
```text
location = /basic_status {
stub_status;
allow ;
deny all;
}
```
2. Set the hostname or IP address of the Nginx host or Nginx container in the `Nginx status host` host wizard configuration field. You can also change the status page port in the `Nginx status page path` field, select the status page scheme in the `Request scheme` field and change the status page path in the `Nginx status page path` field if necessary.
Example answer from Nginx:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```'),
('10285',NULL,'Linux by Prom','3','-1','2','','','Linux by Prom','0',NULL,'This template collects Linux metrics from node_exporter 0.18 and above. Support for older node_exporter versions is provided as ''best effort''.
Setup:
1. Set up the node_exporter according to the official documentation:
https://prometheus.io/docs/guides/node-exporter/
Use node_exporter v0.18.0 or above.
2. Set the hostname or IP address of the node_exporter host in the ''{$NODE_EXPORTER_HOST}'' macro. You can also change the Prometheus endpoint port in the ''{$NODE_EXPORTER_PORT}'' macro if necessary.
Known Issues:
- Node Exporter 0.16.0 renamed many metrics. CPU utilization for "guest" and "guest_nice" metrics are not supported in this template with Node Exporter < 0.16. Disk IO metrics are not supported. Other metrics provided as best effort. See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details.
- version: below 0.16.0
- metric node_network_info with label ''device'' cannot be found, so network discovery is not possible.
- version: below 0.18
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2506b0ca01884903b547b1e19b76ce6d','LINUX BY PROM','Zabbix','7.4-3',NULL,'0','1','## Overview
This template collects Linux metrics from Node Exporter 0.18 and above. Support for older Node Exporter versions is provided as best effort.
### Known Issues
- Node Exporter 0.16.0 renamed many metrics. CPU utilization for "guest" and "guest_nice" metrics are not supported in this template with Node Exporter < 0.16. Disk IO metrics are not supported. Other metrics provided as best effort. See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details
See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details.
- version: below 0.16.0
- metric node_network_info with label ''device'' cannot be found, so network discovery is not possible.
- version: below 0.18
#### Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
## Setup
1. Set up the node_exporter according to the [`official documentation`](https://prometheus.io/docs/guides/node-exporter/). Use node_exporter v0.18.0 or above.
2. Set the hostname or IP address of the node_exporter host in the `The node_exporter host` parameter. You can also change the Prometheus endpoint port in the `TCP Port node_exporter` parameter if necessary.'),
('10300',NULL,'RabbitMQ cluster by Zabbix agent','3','-1','2','','','RabbitMQ cluster by Zabbix agent','0',NULL,'Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5fa761bc51e4432a90c6c9eece930c4a','RABBITMQ CLUSTER BY ZABBIX AGENT','Zabbix','7.4-0',NULL,'0','0',''),
('10301',NULL,'RabbitMQ node by Zabbix agent','3','-1','2','','','RabbitMQ node by Zabbix agent','0',NULL,'Get node metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d5dc11ae9ab143a89c4be534bbb35188','RABBITMQ NODE BY ZABBIX AGENT','Zabbix','7.4-0',NULL,'0','0',''),
('10302',NULL,'RabbitMQ cluster by HTTP','3','-1','2','','','RabbitMQ cluster by HTTP','0',NULL,'This template is developed to monitor the messaging broker RabbitMQ cluster by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling RabbitMQ management plugin with HTTP agent remotely.
Setup:
1. Enable the RabbitMQ management plugin. See the RabbitMQ documentation for the instructions:
https://www.rabbitmq.com/management.html
2. Create a user to monitor the service:
rabbitmqctl add_user zbx_monitor
rabbitmqctl set_permissions -p / zbx_monitor "" "" ".*"
rabbitmqctl set_user_tags zbx_monitor monitoring
3. Set the hostname or IP address of the RabbitMQ cluster host in the ''{$RABBITMQ.API.CLUSTER_HOST}'' macro. You can also change the port in the ''{$RABBITMQ.API.PORT}'' macro and the scheme in the ''{$RABBITMQ.API.SCHEME}'' macro if necessary.
4. Set the user name and password in the macros ''{$RABBITMQ.API.USER}'' and ''{$RABBITMQ.API.PASSWORD}''.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8c8474148c2a4eaeabe5a9331ea99d77','RABBITMQ CLUSTER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10303',NULL,'RabbitMQ node by HTTP','3','-1','2','','','RabbitMQ node by HTTP','0',NULL,'This template is developed to monitor the messaging broker RabbitMQ node by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling RabbitMQ management plugin with HTTP agent remotely.
Setup:
1. Enable the RabbitMQ management plugin. See the RabbitMQ documentation for the instructions:
https://www.rabbitmq.com/management.html
2. Create a user to monitor the service:
rabbitmqctl add_user zbx_monitor
rabbitmqctl set_permissions -p / zbx_monitor "" "" ".*"
rabbitmqctl set_user_tags zbx_monitor monitoring
3. Set the hostname or IP address of the RabbitMQ node host in the ''{$RABBITMQ.API.HOST}'' macro. You can also change the port in the ''{$RABBITMQ.API.PORT}'' macro and the scheme in the ''{$RABBITMQ.API.SCHEME}'' macro if necessary.
4. Set the user name and password in the macros ''{$RABBITMQ.API.USER}'' and ''{$RABBITMQ.API.PASSWORD}''.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b9514029d03b44de9adf24251778dbf3','RABBITMQ NODE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10304',NULL,'Cisco UCS by SNMP','3','-1','2','','','Cisco UCS by SNMP','0',NULL,'Template Server Cisco UCS
MIBs used:
CISCO-UNIFIED-COMPUTING-COMPUTE-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB
CISCO-UNIFIED-COMPUTING-EQUIPMENT-MIB
CISCO-UNIFIED-COMPUTING-STORAGE-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cb66d34564e44b3893442fc74cf6e951','CISCO UCS BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10308',NULL,'HAProxy by Zabbix agent','3','-1','2','','','HAProxy by Zabbix agent','0',NULL,'The template to monitor HAProxy by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling the HAProxy stats page with Zabbix agent.
Note, that this template doesn''t support authentication and redirects (limitations of ''web.page.get'').
Setup:
1. Set up the HAProxy stats page:
https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/
The example configuration of HAProxy:
frontend stats
bind *:8404
stats enable
stats uri /stats
stats refresh 10s
2. Set the hostname or IP address of the HAProxy stats host or container in the ''{$HAPROXY.STATS.HOST}'' macro. You can also change the status page port in the ''{$HAPROXY.STATS.PORT}'' macro, the status page scheme in the ''{$HAPROXY.STATS.SCHEME}'' macro and the status page path in the ''{$HAPROXY.STATS.PATH}'' macro if necessary.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/393527-discussion-thread-for-official-zabbix-template-haproxy
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','812073bf8df143bcae2a84b32c3965e5','HAPROXY BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10309',NULL,'HAProxy by HTTP','3','-1','2','','','HAProxy by HTTP','0',NULL,'The template to monitor HAProxy by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by polling the HAProxy stats page with HTTP agent.
Setup:
1. Set up the HAProxy stats page:
https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/
If you want to use authentication, set the username and password in the ''stats auth'' option of the configuration file.
The example configuration of HAProxy:
frontend stats
bind *:8404
stats enable
stats uri /stats
stats refresh 10s
#stats auth Username:Password # Authentication credentials
2. Set the hostname or IP address of the HAProxy stats host or container in the ''{$HAPROXY.STATS.HOST}'' macro. You can also change the status page port in the ''{$HAPROXY.STATS.PORT}'' macro, the status page scheme in the ''{$HAPROXY.STATS.SCHEME}'' macro and the status page path in the ''{$HAPROXY.STATS.PATH}'' macro if necessary.
3. If you have enabled authentication in the HAProxy configuration file in step 1, set the username and password in the `{$HAPROXY.USERNAME}` and `{$HAPROXY.PASSWORD}` macros.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/393527-discussion-thread-for-official-zabbix-template-haproxy
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','948d046cb2894e5c8d07767a518cc1a9','HAPROXY BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10310',NULL,'Redis by Zabbix agent 2','3','-1','2','','','Redis by Zabbix agent 2','0',NULL,'Get Redis metrics from plugin for the New Zabbix Agent (zabbix-agent2).
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/389050-discussion-thread-for-official-zabbix-template-redis
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e111446745a1425b862f8727ae63bce4','REDIS BY ZABBIX AGENT 2','Zabbix','7.4-1',NULL,'0','0',''),
('10316',NULL,'MySQL by Zabbix agent','3','-1','2','','','MySQL by Zabbix agent','0',NULL,E'Requirements for template operation:
1. Install Zabbix agent and MySQL client. If necessary, add the path to the ''mysql'' and ''mysqladmin'' utilities to the global environment variable PATH.
2. Copy the ''template_db_mysql.conf'' file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don''t forget to restart Zabbix agent.
3. Create the MySQL user that will be used for monitoring ('''' at your discretion). For example:
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/grant.html).
NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
For more information, please read the MariaDB documentation (https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/).
4. Create ''.my.cnf'' configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or ''my.cnf'' in c:\\ for Windows. For example:
[client]
protocol=tcp
user=''zbx_monitor''
password=''''
For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/option-files.html).
NOTE: Linux distributions that use SELinux may require additional steps for access configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f255e3fc32124b55b2a17ef3c961e5f5','MYSQL BY ZABBIX AGENT','Zabbix','7.4-3',NULL,'0','1',E'## Setup
1. Install MySQL client. If necessary, add the path to the `mysql` and `mysqladmin` utilities to the global environment variable PATH.
2. Copy the `template_db_mysql.conf` file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don''t forget to restart Zabbix agent.
3. Create the MySQL user that will be used for monitoring (`` at your discretion). For example:
```text
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please see [`MySQL documentation`](https://dev.mysql.com/doc/refman/8.0/en/grant.html).
4. Create `.my.cnf` configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or `my.cnf` in c:\\ for Windows. For example:
```text
[client]
protocol=tcp
user=''zbx_monitor''
password=''''
```
For more information, please see [`MySQL documentation`](https://dev.mysql.com/doc/refman/8.0/en/option-files.html).
**NOTE:** In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the `SLAVE MONITOR` privilege to be set for the monitoring user:
```text
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please read the [`MariaDB documentation`](https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/).
NOTE: Linux distributions that use SELinux may require additional steps for access configuration.
For example, the following rule could be added to the SELinux policy:
```text
# cat < zabbix_home.te
module zabbix_home 1.0;
require {
type zabbix_agent_t;
type zabbix_var_lib_t;
type mysqld_etc_t;
type mysqld_port_t;
type mysqld_var_run_t;
class file { open read };
class tcp_socket name_connect;
class sock_file write;
}
#============= zabbix_agent_t ==============
allow zabbix_agent_t zabbix_var_lib_t:file read;
allow zabbix_agent_t zabbix_var_lib_t:file open;
allow zabbix_agent_t mysqld_etc_t:file read;
allow zabbix_agent_t mysqld_port_t:tcp_socket name_connect;
allow zabbix_agent_t mysqld_var_run_t:sock_file write;
EOF
# checkmodule -M -m -o zabbix_home.mod zabbix_home.te
# semodule_package -o zabbix_home.pp -m zabbix_home.mod
# semodule -i zabbix_home.pp
# restorecon -R /var/lib/zabbix
```'),
('10317',NULL,'MySQL by ODBC','3','-1','2','','','MySQL by ODBC','0',NULL,'Requirements for template operation:
1. Create a MySQL user for monitoring. For example:
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html.
NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set the user name and password in the host macros ({$MYSQL.USER} and {$MYSQL.PASSWORD}).
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e19c120027e04da69b130e0f6cea29fc','MYSQL BY ODBC','Zabbix','7.4-3',NULL,'0','1','## Setup
1. Create a MySQL user for monitoring (`` at your discretion):
```text
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please see MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html
**NOTE:** In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the `SLAVE MONITOR` privilege to be set for the monitoring user:
```text
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
```
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set the username and password in the `MySQL user` and `MySQL password` host wizard configuration fields.'),
('10318',NULL,'Docker by Zabbix agent 2','3','-1','2','','','Docker by Zabbix agent 2','0',NULL,'Get Docker engine metrics from plugin for the New Zabbix Agent (zabbix-agent2).
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/435429-discussion-thread-for-official-zabbix-template-docker
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c5fd214cdd0d4b3b8272e73b022ba5c2','DOCKER BY ZABBIX AGENT 2','Zabbix','7.4-1',NULL,'0','0',''),
('10319',NULL,'Memcached by Zabbix agent 2','3','-1','2','','','Memcached by Zabbix agent 2','0',NULL,'Get Memcached metrics from plugin for the New Zabbix Agent (zabbix-agent2).
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/398623-discussion-thread-for-official-zabbix-template-memcached
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','05894ba2c9184d33992bf1bd21c347f6','MEMCACHED BY ZABBIX AGENT 2','Zabbix','7.4-2',NULL,'0','0',''),
('10320',NULL,'MySQL by Zabbix agent 2','3','-1','2','','','MySQL by Zabbix agent 2','0',NULL,'Requirements for template operation:
1. Create a MySQL user for monitoring. For example:
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html.
NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set in the {$MYSQL.DSN} macro the data source name of the MySQL instance either session name from Zabbix agent 2 configuration file or URI.
Examples: MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
For more information about MySQL Unix socket file please read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/problems-with-mysql-sock.html.
3. If you had set URI in the {$MYSQL.DSN}, please define the user name and password in host macros ({$MYSQL.USER} and {$MYSQL.PASSWORD}).
Leave macros {$MYSQL.USER} and {$MYSQL.PASSWORD} empty if you use a session name. Set the user name and password in the Plugins.Mysql.<...> section of your Zabbix agent 2 configuration file.
For more information about configuring the Zabbix MySQL plugin please read the documentation https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/mysql/README.md.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4904f84303c74c5e955b7849730c3155','MYSQL BY ZABBIX AGENT 2','Zabbix','7.4-3',NULL,'0','1','## Setup
1. Create a MySQL user for monitoring (`` at your discretion):
```text
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please see MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html
**NOTE:** In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the `SLAVE MONITOR` privilege to be set for the monitoring user:
```text
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
```
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set in the `MySQL DSN` host wizard configuration field macro the data source name of the MySQL instance either session name from Zabbix agent 2 configuration file or URI.
**Examples:** MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
For more information about MySQL Unix socket file, see the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/problems-with-mysql-sock.html.
3. If you had set URI in the `MySQL DSN` field, define the user name and password in `MySQL user` and `MySQL password` host wizard configuration fields.
Leave fields `MySQL user` and `MySQL password` empty if you use a session name. Set the user name and password in the Plugins.Mysql.<...> section of your Zabbix agent 2 configuration file.
For more information about configuring the Zabbix MySQL plugin, see the documentation https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/mysql/README.md.'),
('10321',NULL,'Chassis by IPMI','3','-1','2','','','Chassis by IPMI','0',NULL,'Template for monitoring servers with BMC over IPMI that work without any external scripts.
All metrics are collected at once, thanks to Zabbix''s bulk data collection. The template is available starting from Zabbix version 5.0.
It collects metrics by polling BMC remotely using an IPMI agent.
Known Issues:
Description: If the BMC has a sensor with an empty threshold value, we get the LLD error "Cannot create trigger...".
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/398023-discussion-thread-for-official-zabbix-template-ipmi
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','02f35169a5a54a5aad8b3f06e798ab1f','CHASSIS BY IPMI','Zabbix','7.4-0',NULL,'0','0',''),
('10322',NULL,'Elasticsearch Cluster by HTTP','3','-1','2','','','Elasticsearch Cluster by HTTP','0',NULL,'The template to monitor Elasticsearch by Zabbix that work without any external scripts.
It works with both standalone and cluster instances.
The metrics are collected in one pass remotely using an HTTP agent.
They are getting values from REST API ''_cluster/health'', ''_cluster/stats'', ''_nodes/stats'' requests.
Setup:
1. Set the hostname or IP address of the Elasticsearch host in the ''{$ELASTICSEARCH.HOST}'' macro.
2. Set the login and password in the ''{$ELASTICSEARCH.USERNAME}'' and ''{$ELASTICSEARCH.PASSWORD}'' macros.
3. If you use an atypical location of ES API, don''t forget to change the macros ''{$ELASTICSEARCH.SCHEME}'',''{$ELASTICSEARCH.PORT}''.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/399473-discussion-thread-for-official-zabbix-template-for-elasticsearch
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','52b2664578884d9eba62e47375c99f8e','ELASTICSEARCH CLUSTER BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10323',NULL,'ClickHouse by HTTP','3','-1','2','','','ClickHouse by HTTP','0',NULL,'This template is designed for the effortless deployment of ClickHouse monitoring by Zabbix via HTTP and doesn''t require any external scripts.
Setup:
1. Create a user to monitor the service. For example, you could create a file ''/etc/clickhouse-server/users.d/zabbix.xml'' with the following content:
zabbix_pass
web
default
test
2. Set the hostname or IP address of the ClickHouse HTTP endpoint in the ''{$CLICKHOUSE.HOST}'' macro. You can also change the port in the ''{$CLICKHOUSE.PORT}'' macro and scheme in the ''{$CLICKHOUSE.SCHEME}'' macro if necessary.
3. Set the login and password in the macros ''{$CLICKHOUSE.USER}'' and ''{$CLICKHOUSE.PASSWORD}''. If you don''t need an authentication - remove headers from HTTP-Agent type items.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','95f2053c21094ad4968440b562cc7ea2','CLICKHOUSE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10324',NULL,'Etcd by HTTP','3','-1','2','','','Etcd by HTTP','0',NULL,'This template is designed to monitor ''etcd'' by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template ''Etcd by HTTP'' — collects metrics by help of the HTTP agent from ''/metrics'' endpoint.
Refer to the vendor documentation:
https://etcd.io/docs/v3.5/op-guide/monitoring/#metrics-endpoint
For the users of ''etcd version <= 3.4'':
In ''etcd v3.5'' some metrics have been deprecated. See more details on ''Upgrade etcd from 3.4 to 3.5'':
https://etcd.io/docs/v3.4/upgrades/upgrade_3_5/
Please upgrade your ''etcd'' instance, or use older ''Etcd by HTTP'' template version.
Setup:
1. Make sure that ''etcd'' allows the collection of metrics. You can test it by running:
curl -L http://localhost:2379/metrics
2. Check if ''etcd'' is accessible from Zabbix proxy or Zabbix server depending on where you are planning to do the monitoring. To verify it, run:
curl -L http://:2379/metrics
3. Add the template to the ''etcd'' node. Set the hostname or IP address of the ''etcd'' host in the ''{$ETCD.HOST}'' macro. By default, the template uses a client''s port.
You can configure metrics endpoint location by adding ''--listen-metrics-urls'' flag.
For more details, see the etcd documentation:
https://etcd.io/docs/v3.5/op-guide/configuration/#profiling-and-monitoring
Additional points to consider:
- If you have specified a non-standard port for ''etcd'', don''t forget to change macros: ''{$ETCD.SCHEME}'' and ''{$ETCD.PORT}''.
- You can set ''{$ETCD.USERNAME}'' and ''{$ETCD.PASSWORD}'' macros in the template to use on a host level if necessary.
- To test availability, run : ''zabbix_get -s etcd-host -k etcd.health''.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b25b8b517a4743c48037bfa10af3dc3c','ETCD BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10325',NULL,'IIS by Zabbix agent','3','-1','2','','','IIS by Zabbix agent','0',NULL,'Get metrics from IIS using Zabbix agent running on Windows.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/401862-discussion-thread-for-official-zabbix-template-internet-information-services
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c7c7e5dc319b4801982e719beb1c5191','IIS BY ZABBIX AGENT','Zabbix','7.4-3',NULL,'0','0',''),
('10326',NULL,'IIS by Zabbix agent active','3','-1','2','','','IIS by Zabbix agent active','0',NULL,'Get metrics from IIS using Zabbix agent running on Windows.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/401862-discussion-thread-for-official-zabbix-template-internet-information-services
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4677be3e07bf4f3285496f2f4230b928','IIS BY ZABBIX AGENT ACTIVE','Zabbix','7.4-3',NULL,'0','0',''),
('10327',NULL,'MSSQL by ODBC','3','-1','2','','','MSSQL by ODBC','0',NULL,'This template is designed for the effortless deployment of MSSQL monitoring by Zabbix via ODBC and doesn''t require any external scripts.
Setup:
1. Create an MSSQL user for monitoring.
View Server State and View Any Definition permissions should be granted to the user.
Grant this user read permissions to the sysjobschedules, sysjobhistory, and sysjobs tables.
For more information, see MSSQL documentation:
- Create a database user: https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16
- GRANT Server Permissions: https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=sql-server-ver16
- Configure a User to Create and Manage SQL Server Agent Jobs: https://docs.microsoft.com/en-us/sql/ssms/agent/configure-a-user-to-create-and-manage-sql-server-agent-jobs?view=sql-server-ver16
2. Set the user name and password in the host macros ({$MSSQL.USER} and {$MSSQL.PASSWORD}).
3. Do not forget to install Microsoft ODBC driver on Zabbix server or Zabbix proxy and specify data source name in macro {$MSSQL.DSN}.
See Microsoft documentation for instructions: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16.
Note! Credentials in the odbc.ini do not work for MSSQL.
The "Service''s TCP port state" item uses the {$MSSQL.HOST} and {$MSSQL.PORT} macros to check the availability of the MSSQL instance, change these if necessary. Keep in mind that if dynamic ports are used on the MSSQL server side, this check will not work correctly.
If your instance uses a non-default TCP port, set the port in your section of odbc.ini in the line Server = IP or FQDN name, port.
Note: You can use the context macros {$MSSQL.BACKUP_FULL.USED}, {$MSSQL.BACKUP_LOG.USED}, and {$MSSQL.BACKUP_DIFF.USED} to disable backup age triggers for a certain database. If set to a value other than "1", the trigger expression for the backup age will not fire.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','001a1677f6a949b6bddfdb2926023300','MSSQL BY ODBC','Zabbix','7.4-3',NULL,'0','1','## Setup
1. Create an MSSQL user for monitoring. For example, "zbx_monitor".
**View Server State** and **View Any Definition** permissions should be granted to the user.
Grant this user read permissions to the `sysjobschedules`, `sysjobhistory`, and `sysjobs` tables.
For example, using T-SQL commands:
```sql
GRANT SELECT ON OBJECT::msdb.dbo.sysjobs TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobservers TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobactivity TO zbx_monitor;
GRANT EXECUTE ON OBJECT::msdb.dbo.agent_datetime TO zbx_monitor;
```
For more information, see MSSQL documentation:
[Create a database user](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16)
[GRANT Server Permissions](https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=sql-server-ver16)
[Configure a User to Create and Manage SQL Server Agent Jobs](https://docs.microsoft.com/en-us/sql/ssms/agent/configure-a-user-to-create-and-manage-sql-server-agent-jobs?view=sql-server-ver16)
2. Set the username and password in the `MSSQL user` and `MSSQL password` host wizard configuration fields.
3. Do not forget to install Microsoft ODBC driver on Zabbix server or Zabbix proxy and specify data source name in the `MSSQL DSN` host wizard configuration field.
See Microsoft documentation for instructions: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16.
**Note! Credentials in the `odbc.ini` do not work for MSSQL.**
The `Service''s TCP port state` item uses the `MSSQL address` and `MSSQL TCP port` host wizard configuration fields to check the availability of the MSSQL instance, change these if necessary. Keep in mind that if dynamic ports are used on the MSSQL server side, this check will not work correctly.
If your instance uses a non-default TCP port, set the port in your section of `odbc.ini` in the line Server = IP or FQDN name, port.
Note: You can use the `Monitoring of full backup`, `Monitoring of log backup`, and `Monitoring of differential backup` host wizard configuration fields to disable backup age triggers. If set to unselected state, the trigger expression for the backup age will not fire.'),
('10328',NULL,'Oracle by ODBC','3','-1','2','','','Oracle by ODBC','0',NULL,'1. Create an Oracle user for monitoring.
2. Set the hostname or IP address of the Oracle DB instance, user name and password in host macros ({$ORACLE.HOST}, {$ORACLE.USER} and {$ORACLE.PASSWORD}).
Do not forget to install the Microsoft ODBC driver on the Zabbix server or the Zabbix proxy.
See Oracle documentation for instructions: https://www.oracle.com/database/technologies/releasenote-odbc-ic.html.
Note! Credentials in the odbc.ini do not work for Oracle.
Note! Be sure that ODBC connects to Oracle with session parameter NLS_NUMERIC_CHARACTERS= ''.,'' It is important for correct display float numbers in Zabbix.
The "Service''s TCP port state" item uses {$ORACLE.HOST} and {$ORACLE.PORT} macros to check the availability of the listener.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','00ade9277d7c41e8b57d638b22d54372','ORACLE BY ODBC','Zabbix','7.4-1',NULL,'0','1','## Overview
The template is developed to monitor a single DBMS Oracle Database instance with ODBC and can monitor CDB or non-CDB installations.
## Supported versions
Oracle Database 12c2 and newer.
**Important! This integration queries the `V$ACTIVE_SESSION_HISTORY` dynamic performance view which is part of the Oracle Diagnostics Pack. Please make sure that you have the licence required for using this management pack.**
## Setup
1. Create an Oracle Database user for monitoring:
In CDB installations, it is possible to monitor tablespaces from the CDB (container database) and all PDBs (pluggable databases). To do so, a common user is needed with the correct rights:
```
CREATE USER c##zabbix_mon IDENTIFIED BY ;
-- Grant access to the c##zabbix_mon user.
ALTER USER c##zabbix_mon SET CONTAINER_DATA=ALL CONTAINER=CURRENT;
GRANT CONNECT, CREATE SESSION TO c##zabbix_mon;
GRANT SELECT_CATALOG_ROLE to c##zabbix_mon;
GRANT SELECT ON v_$instance TO c##zabbix_mon;
GRANT SELECT ON v_$database TO c##zabbix_mon;
GRANT SELECT ON v_$sysmetric TO c##zabbix_mon;
GRANT SELECT ON v_$system_parameter TO c##zabbix_mon;
GRANT SELECT ON v_$session TO c##zabbix_mon;
GRANT SELECT ON v_$recovery_file_dest TO c##zabbix_mon;
GRANT SELECT ON v_$active_session_history TO c##zabbix_mon;
GRANT SELECT ON v_$osstat TO c##zabbix_mon;
GRANT SELECT ON v_$process TO c##zabbix_mon;
GRANT SELECT ON v_$datafile TO c##zabbix_mon;
GRANT SELECT ON v_$pgastat TO c##zabbix_mon;
GRANT SELECT ON v_$sgastat TO c##zabbix_mon;
GRANT SELECT ON v_$log TO c##zabbix_mon;
GRANT SELECT ON v_$archive_dest TO c##zabbix_mon;
GRANT SELECT ON v_$asm_diskgroup TO c##zabbix_mon;
GRANT SELECT ON v_$asm_diskgroup_stat TO c##zabbix_mon;
GRANT SELECT ON DBA_USERS TO c##zabbix_mon;
```
This is needed because the template uses `CDB_*` views to monitor tablespaces from the CDB and different PDBs - the monitoring user therefore needs access to the container data objects on all PDBs.
However, if you wish to monitor only a single PDB or a non-CDB instance, a local user is sufficient:
```
CREATE USER zabbix_mon IDENTIFIED BY ;
-- Grant access to the zabbix_mon user.
GRANT CONNECT, CREATE SESSION TO zabbix_mon;
GRANT SELECT_CATALOG_ROLE to zabbix_mon;
GRANT SELECT ON v_$instance TO zabbix_mon;
GRANT SELECT ON v_$database TO zabbix_mon;
GRANT SELECT ON v_$sysmetric TO zabbix_mon;
GRANT SELECT ON v_$system_parameter TO zabbix_mon;
GRANT SELECT ON v_$session TO zabbix_mon;
GRANT SELECT ON v_$recovery_file_dest TO zabbix_mon;
GRANT SELECT ON v_$active_session_history TO zabbix_mon;
GRANT SELECT ON v_$osstat TO zabbix_mon;
GRANT SELECT ON v_$process TO zabbix_mon;
GRANT SELECT ON v_$datafile TO zabbix_mon;
GRANT SELECT ON v_$pgastat TO zabbix_mon;
GRANT SELECT ON v_$sgastat TO zabbix_mon;
GRANT SELECT ON v_$log TO zabbix_mon;
GRANT SELECT ON v_$archive_dest TO zabbix_mon;
GRANT SELECT ON v_$asm_diskgroup TO zabbix_mon;
GRANT SELECT ON v_$asm_diskgroup_stat TO zabbix_mon;
GRANT SELECT ON DBA_USERS TO zabbix_mon;
```
**Important! Ensure that the ODBC connection to Oracle includes the session parameter `NLS_NUMERIC_CHARACTERS= ''.,''`. It is important for displaying the float numbers in Zabbix correctly.**
**Important! These privileges grant the monitoring user `SELECT_CATALOG_ROLE`, which, in turn, gives access to thousands of tables in the database.**
This role is required to access the `V$RESTORE_POINT` dynamic performance view.
However, there are ways to go around this, if the `SELECT_CATALOG_ROLE` assigned to a monitoring user raises any security issues.
One way to do this is using **pipelined table functions**:
1. Log into your database as the `SYS` user or make sure that your administration user has the required privileges to execute the steps below;
2. Create types for the table function:
```sql
CREATE OR REPLACE TYPE zbx_mon_restore_point_row AS OBJECT (
SCN NUMBER,
DATABASE_INCARNATION# NUMBER,
GUARANTEE_FLASHBACK_DATABASE VARCHAR2(3),
STORAGE_SIZE NUMBER,
TIME TIMESTAMP(9),
RESTORE_POINT_TIME TIMESTAMP(9),
PRESERVED VARCHAR2(3),
NAME VARCHAR2(128),
PDB_RESTORE_POINT VARCHAR2(3),
CLEAN_PDB_RESTORE_POINT VARCHAR2(3),
PDB_INCARNATION# NUMBER,
REPLICATED VARCHAR2(3),
CON_ID NUMBER
);
CREATE OR REPLACE TYPE zbx_mon_restore_point_tab IS TABLE OF zbx_mon_restore_point_row;
```
3. Create the pipelined table function:
```sql
CREATE OR REPLACE FUNCTION zbx_mon_restore_point RETURN zbx_mon_restore_point_tab PIPELINED AS
BEGIN
FOR i IN (SELECT * FROM V$RESTORE_POINT) LOOP
PIPE ROW (zbx_mon_restore_point_row(i.SCN, i.DATABASE_INCARNATION#, i.GUARANTEE_FLASHBACK_DATABASE, i.STORAGE_SIZE, i.TIME, i.RESTORE_POINT_TIME, i.PRESERVED, i.NAME, i.PDB_RESTORE_POINT, i.CLEAN_PDB_RESTORE_POINT, i.PDB_INCARNATION#, i.REPLICATED, i.CON_ID));
END LOOP;
RETURN;
END;
```
4. Grant the Zabbix monitoring user the Execute privilege on the created pipelined table function and replace the monitoring user `V$RESTORE_POINT` view with the `SYS` user function (in this example, the `SYS` user is used to create DB types and function):
```sql
GRANT EXECUTE ON zbx_mon_restore_point TO c##zabbix_mon;
CREATE OR REPLACE VIEW c##zabbix_mon.V$RESTORE_POINT AS SELECT * FROM TABLE(SYS.zbx_mon_restore_point);
```
5. Finally, revoke the `SELECT_CATALOG_ROLE` and grant additional permissions that were previously covered by the `SELECT_CATALOG_ROLE`.
```sql
REVOKE SELECT_CATALOG_ROLE FROM c##zabbix_mon;
GRANT SELECT ON v_$pdbs TO c##zabbix_mon;
GRANT SELECT ON v_$sort_segment TO c##zabbix_mon;
GRANT SELECT ON v_$parameter TO c##zabbix_mon;
GRANT SELECT ON CDB_TABLESPACES TO c##zabbix_mon;
GRANT SELECT ON CDB_DATA_FILES TO c##zabbix_mon;
GRANT SELECT ON CDB_FREE_SPACE TO c##zabbix_mon;
GRANT SELECT ON CDB_TEMP_FILES TO c##zabbix_mon;
```
> Note that in these examples, the monitoring user is named `c##zabbix_mon` and the system user - `SYS`. Change these example usernames to ones that are appropriate for your environment.
If this workaround does not work for you, there are more options available, such as __materialized views__, but look out for data refresh as `V$RESTORE_POINT` is a dynamic performance view.
2. Install the ODBC driver on Zabbix server or Zabbix proxy.
See the [Oracle documentation](https://www.oracle.com/database/technologies/releasenote-odbc-ic.html) for instructions.
3. Configure Zabbix server or Zabbix proxy for using the Oracle environment:
This step is required only when:
* installing Oracle Instant Client with .rpm packages with a version < 19.3 (if Instant Client is the only Oracle software installed on Zabbix server or Zabbix proxy);
* installing Oracle Instant Client manually with .zip files.
There are multiple configuration options:
1. Using the `LDCONFIG` utility **(recommended option)**:
To update the runtime link path, it is recommended to use the ```LDCONFIG``` utility, for example:
```
# sh -c "echo /opt/oracle/instantclient_19_18 > /etc/ld.so.conf.d/oracle-instantclient.conf"
# ldconfig
```
2. Using the application configuration file:
An alternative solution is to export the required variables by editing or adding a new application configuration file:
* ```/etc/sysconfig/zabbix-server # for server```
* ```/etc/sysconfig/zabbix-proxy # for proxy```
And then, adding:
```
# Oracle Instant Client library
LD_LIBRARY_PATH=/opt/oracle/instantclient_19_18:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
```
Keep in mind that the library paths will vary depending on your installation.
This is a minimal configuration example. Depending on the Oracle Instant Client version, required functionality and host operating system, a different set of additional packages might need to be installed.
For more detailed configuration instructions, see the [official Oracle Instant Client installation instructions for Linux](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html).
4. Restart Zabbix server or Zabbix proxy.
5. Set the username and password in host wizard configuration fields `Username` and `Password`.
6. Set the `Oracle URL`, `Oracle driver path` and `Oracle Service Name` in host wizard configuration fields.
* `Oracle URL` is a hostname or IP address of the Oracle DB instance.
* `Oracle driver path` is a path to the driver location in the OS. The ODBC driver file should be found in the Instant Client directory and named `libsqora.so.XX.Y`.
* `Oracle Service Name` is a service name to which the host will connect to. It is important as it determines if the connection is established to a non-CDB, CDB, or PDB. If you wish to monitor tablespaces of all PDBs, you will need to set a service name that points to the CDB.
Active service names can be seen from the instance running Oracle Database with `lsnrctl status`.
**Important! Make sure that the user created in step #1 is present on the specified service.**
The "Service''s TCP port state" item uses `{$ORACLE.HOST}` and `{$ORACLE.PORT}` macros to check the availability of the listener.'),
('10329',NULL,'PostgreSQL by Zabbix agent 2','3','-1','2','','','PostgreSQL by Zabbix agent 2','0',NULL,'This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
Setup:
1. Deploy Zabbix agent 2 with the PostgreSQL plugin. Starting with Zabbix versions 6.0.10 / 6.2.4 / 6.4 PostgreSQL metrics are moved to a loadable plugin and require installation of a separate package or compilation of the plugin from sources (https://www.zabbix.com/documentation/7.4/manual/extensions/plugins/build).
2. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
3. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
4. Set the connection string for the PostgreSQL instance in the `{$PG.CONNSTRING.AGENT2}` macro as URI, such as ``, or specify the named session - ``.
Note: if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, a named session must be used. In that case, the instance URI should be specified in the `Plugins.PostgreSQL.Sessions.*.Uri` parameter in the PostgreSQL plugin configuration files alongside all the encryption parameters (type, certificate/key filepaths if needed etc.).
You can check the PostgreSQL plugin documentation (https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F7.4) for details about agent plugin parameters and named sessions.
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
Note that plugin TLS certificate validation relies on checking the Subject Alternative Names (SAN) instead of the Common Name (CN), check the cryptography package documentation (https://pkg.go.dev/crypto/x509) for details.
For example, to enable required encryption in transport mode without identity checks you could create the file `/etc/zabbix/zabbix_agent2.d/postgresql_myconn.conf` with the following configuration for the named session `myconn` (replace `` with the address of the PostgreSQL instance):
Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://:5432
Plugins.PostgreSQL.Sessions.myconn.TLSConnect=required
Then set the `{$PG.CONNSTRING.AGENT2}` macro to `myconn` to use this named session.
5. Set the password that you specified in step 2 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d0ef7d659a8f4beaaabfc4b6134e737a','POSTGRESQL BY ZABBIX AGENT 2','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
## Setup
1. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
```
3. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. For example, you could add one of the following rows to allow local TCP connections from the same host:
```bash
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
```
For more information please read the PostgreSQL documentation `https://www.postgresql.org/docs/current/auth-pg-hba-conf.html`.
4. Set the connection string for the PostgreSQL instance in the `PostgreSQL connection string` host wizard configuration field as URI, such as ``, or specify the named session - ``.
**Note:** if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, a named session must be used. In that case, the instance URI should be specified in the `Plugins.PostgreSQL.Sessions.*.Uri` parameter in the PostgreSQL plugin configuration files alongside all the encryption parameters (type, certificate/key filepaths if needed etc.).
You can check the [`PostgreSQL plugin documentation`](https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F7.4) for details about agent plugin parameters and named sessions.
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the [`PostgreSQL documentation`](https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
**Note:** plugin TLS certificate validation relies on checking the Subject Alternative Names (SAN) instead of the Common Name (CN), check the cryptography package [`documentation`](https://pkg.go.dev/crypto/x509) for details.
For example, to enable required encryption in transport mode without identity checks you could create the file `/etc/zabbix/zabbix_agent2.d/postgresql_myconn.conf` with the following configuration for the named session `myconn` (replace `` with the address of the PostgreSQL instance):
```bash
Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://:5432
Plugins.PostgreSQL.Sessions.myconn.TLSConnect=required
```
Then set the `PostgreSQL connection string` field to `myconn` to use this named session.
5. Set the password that you specified in step 2 in the `PostgreSQL user password` field.'),
('10330',NULL,'PHP-FPM by Zabbix agent','3','-1','2','','','PHP-FPM by Zabbix agent','0',NULL,'Get PHP-FPM metrics using Zabbix agent running on Linux.
Note that depending on your OS distribution, the PHP-FPM process name may vary. Please, check the actual name in the line "Name" from /proc//status file (https://www.zabbix.com/documentation/7.4/manual/appendix/items/proc_mem_num_notes) and change {$PHP_FPM.PROCESS.NAME.PARAMETER} macro if needed.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1cbda0970410435684135884d0cb7090','PHP-FPM BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10331',NULL,'PHP-FPM by HTTP','3','-1','2','','','PHP-FPM by HTTP','0',NULL,'Get PHP-FPM metrics using the Zabbix HTTP agent.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','49c77ce207f8478da53e761526d6eca5','PHP-FPM BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10335',NULL,'Oracle by Zabbix agent 2','3','-1','2','','','Oracle by Zabbix agent 2','0',NULL,'Get metrics from Oracle Database using Zabbix agent 2.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d670c32f007d438c9dcd32db57d2b691','ORACLE BY ZABBIX AGENT 2','Zabbix','7.4-1',NULL,'0','1','## Overview
The template is developed to monitor a single DBMS Oracle Database instance with Zabbix agent 2.
## Supported versions
Oracle Database 12c2 and newer.
**Important! This integration queries the `V$ACTIVE_SESSION_HISTORY` dynamic performance view which is part of the Oracle Diagnostics Pack. Please make sure that you have the licence required for using this management pack.**
## Setup
1. Set the ''URI or session name'' value using either or named session.
2. If you want to override parameters from Zabbix agent configuration file, set the user name, password and service name in host wizard configuration fields(Username, Password, and Service Name).
User can contain sysdba, sysoper, sysasm privileges. It must be used with `as` as a separator e.g `user as sysdba`, privilege can be upper or lowercase, and must be at the end of username string.
Test availability:
```zabbix_get -s oracle-host -k oracle.ping["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]```'),
('10336',NULL,'Asterisk by HTTP','3','-1','2','','','Asterisk by HTTP','0',NULL,'The template gets Asterisk metrics from AMI by HTTP agent.
You should enable the mini-HTTP Server, add the option webenabled=yes in the general section of the manager.conf file and create Asterisk Manager user with system and command write permissions within your Asterisk instance.
Disable the PJSIP driver if you do not use PJSIP or do not have PJSIP endpoints.
Please, define AMI address in the {$AMI.URL} macro. Also, set the hostname or IP address of the AMI host in the {$AMI.HOST} macro for Zabbix to check Asterisk service status.
Then you can define {$AMI.USERNAME} and {$AMI.SECRET} macros in the template for using on the host level.
If there are errors, increase the logging to debug level and see the Zabbix server log.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/410060-discussion-thread-for-official-zabbix-template-asterisk
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','30cc187a4e994c39b07f53d86b5cc6bc','ASTERISK BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10343',NULL,'Linux by Zabbix agent active','3','-1','2','','','Linux by Zabbix agent active','0',NULL,'This is an official Linux template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: ''pused = 100 - 100 * (available / total - free + available)''
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e2307c94f1744af7a8f1f458a67af424','LINUX BY ZABBIX AGENT ACTIVE','Zabbix','7.4-2',NULL,'0','1','## Overview
This is an official Linux template. It requires Zabbix agent 7.4 or newer.
#### Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.'),
('10351',NULL,'Windows by Zabbix agent active','3','-1','2','','','Windows by Zabbix agent active','0',NULL,'This is an official Windows template. It requires Zabbix agent 7.4 or newer.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5fdd2ca8b8f84962aaea5a218b46ea7d','WINDOWS BY ZABBIX AGENT ACTIVE','Zabbix','7.4-2',NULL,'0','1','## Overview
This is an official Windows template. It requires Zabbix agent 7.4 or newer.'),
('10353',NULL,'Ceph by Zabbix agent 2','3','-1','2','','','Ceph by Zabbix agent 2','0',NULL,'You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/410059-discussion-thread-for-official-zabbix-template-ceph
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','09fb25d089f7467f860895f6e71d3fa2','CEPH BY ZABBIX AGENT 2','Zabbix','7.4-2',NULL,'0','0',''),
('10355',NULL,'Squid by SNMP','3','-1','2','','','Squid by SNMP','0',NULL,'Template for monitoring Squid caching proxy via SNMP
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/409339-discussion-thread-for-official-zabbix-template-squid
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8e5236f799b347a8ae90a979198be85e','SQUID BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10357',NULL,'PostgreSQL by Zabbix agent','3','-1','2','','','PostgreSQL by Zabbix agent','0',NULL,'This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent and uses user parameters to run SQL queries with the `psql` command-line tool.
Note:
- The template requires `pg_isready` and `psql` utilities to be installed on the same host with Zabbix agent.
- The template requires files with SQL queries and user parameters that can be found in the Zabbix official repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql?at=refs%2Fheads%2Frelease%2F6.0
Setup:
1. Deploy Zabbix agent and create the PostgreSQL user for monitoring (`` at your discretion) with proper access rights to your PostgreSQL instance.
For PostgreSQL version 10 and above:
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
For PostgreSQL version 9.6 and below:
CREATE USER zbx_monitor WITH PASSWORD '''';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
ALTER USER zbx_monitor WITH SUPERUSER;
2. Copy the `postgresql/` directory to the `zabbix` user home directory - `/var/lib/zabbix/`. The `postgresql/` directory contains the files with SQL queries needed to obtain metrics from PostgreSQL instance.
If the home directory of the `zabbix` user doesn''t exist, create it first:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3. Copy the `template_db_postgresql.conf` file, containing user parameters, to the Zabbix agent configuration directory `/etc/zabbix/zabbix_agentd.d/` and restart Zabbix agent service.
If you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can modify the connection string in user parameters. For example, to enable required encryption in transport mode without identity checks you could append `?sslmode=required` to the end of the connection string for all keys that use `psql`:
UserParameter=pgsql.bgwriter[*], psql -qtAX postgresql://"$3":"$4"@"$1":"$2"/"$5"?sslmode=required -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"
Consult the PostgreSQL documentation about protection modes (https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION) and client connection parameters (https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE).
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
4. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
5. Specify the host name or IP address in the `{$PG.HOST}` macro. Adjust the port number with `{$PG.PORT}` macro if needed.
6. Set the password that you specified in step 1 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','399bd1ee587245ecac6f39beaa99886f','POSTGRESQL BY ZABBIX AGENT','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent and uses user parameters to run SQL queries with the `psql` command-line tool.
## Setup
**Note:**
- The template requires `pg_isready` and `psql` utilities to be installed on the same host with Zabbix agent.
1. Create the PostgreSQL user for monitoring (`` at your discretion) with proper access rights to your PostgreSQL instance.
For PostgreSQL version 10 and above:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
```
For PostgreSQL version 9.6 and below:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
-- To collect WAL metrics, the user must have a `superuser` role.
ALTER USER zbx_monitor WITH SUPERUSER;
```
2. Copy the `postgresql/` directory to the `zabbix` user home directory - `/var/lib/zabbix/`. The `postgresql/` directory contains the files with SQL queries needed to obtain metrics from PostgreSQL instance.
If the home directory of the `zabbix` user doesn''t exist, create it first:
```bash
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
```
3. Copy the `template_db_postgresql.conf` file, containing user parameters, to the Zabbix agent configuration directory `/etc/zabbix/zabbix_agentd.d/` and restart Zabbix agent service.
**Note:** if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can modify the connection string in user parameters. For example, to enable required encryption in transport mode without identity checks you could append `?sslmode=required` to the end of the connection string for all keys that use `psql`:
```bash
UserParameter=pgsql.bgwriter[*], psql -qtAX postgresql://"$3":"$4"@"$1":"$2"/"$5"?sslmode=required -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"
```
Consult the PostgreSQL documentation about [`protection modes`](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION) and [`client connection parameters`](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE).
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the [`PostgreSQL documentation`](https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
4. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. For example, you could add one of the following rows to allow local TCP connections from the same host:
```bash
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
```
For more information please read the PostgreSQL documentation `https://www.postgresql.org/docs/current/auth-pg-hba-conf.html`.
5. Specify the host name or IP address in the `PostgreSQL host` host wizard configuration field. Adjust the port number in the `PostgreSQL port` field if needed.
6. Set the password that you specified in step 1 in the `PostgreSQL user password` field.'),
('10358',NULL,'Apache ActiveMQ by JMX','3','-1','2','','','Apache ActiveMQ by JMX','0',NULL,'The template to monitor Apache ActiveMQ by Zabbix that work without any external scripts.
The metrics are collected by JMX.
You can set macro values and add macros with context for specific brokers or destinations following macro description.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/411049-discussion-thread-for-official-zabbix-template-amq
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c87e0a2e0683483ab7c6f3c380e9f840','APACHE ACTIVEMQ BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10359',NULL,'Aranet Cloud','3','-1','2','','','Aranet Cloud','0',NULL,'Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','af21edc47557400583e537904ea632aa','ARANET CLOUD','Zabbix','7.4-1',NULL,'0','0',''),
('10360',NULL,'Microsoft Exchange Server 2016 by Zabbix agent','3','-1','2','','','Microsoft Exchange Server 2016 by Zabbix agent','0',NULL,'The template to monitor Microsoft Exchange Server 2016 by Zabbix that works without any external scripts.
The metrics are collected by Zabbix agent.
Recommended to use it with "OS Windows by Zabbix agent" template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/415007-discussion-thread-for-official-zabbix-template-microsoft-exchange
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cbf70ed444394566bcf213dd63d4d352','MICROSOFT EXCHANGE SERVER 2016 BY ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10361',NULL,'Microsoft Exchange Server 2016 by Zabbix agent active','3','-1','2','','','Microsoft Exchange Server 2016 by Zabbix agent active','0',NULL,'The template to monitor Microsoft Exchange Server 2016 by Zabbix that works without any external scripts.
The metrics are collected by Zabbix agent active.
Recommended to use it with "OS Windows by Zabbix agent active" template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/415007-discussion-thread-for-official-zabbix-template-microsoft-exchange
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a0e05ca631034676821b7e0e1ce25488','MICROSOFT EXCHANGE SERVER 2016 BY ZABBIX AGENT ACTIVE','Zabbix','7.4-1',NULL,'0','0',''),
('10362',NULL,'GitLab by HTTP','3','-1','2','','','GitLab by HTTP','0',NULL,'Get GitLab metrics by HTTP agent from Prometheus metrics endpoint.
To access the metrics, the client IP address must be explicitly allowed. See https://docs.gitlab.com/ee/administration/monitoring/ip_whitelist.html.
Or second method, using token variable from http://your.gitlab.address/admin/health_check (fill {$GITLAB.HEALTH.TOKEN} macro with variable path like "?token=your_token").
Don''t forget change macros {$GITLAB.URL}.
Some metrics may not be collected depending on your Gitlab instance version and configuration. See (Gitlab''s documentation[)https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_metrics.html] for further information about its metric collection.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f445dac89ff74deabaae9dcb84815998','GITLAB BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10363',NULL,'Hadoop by HTTP','3','-1','2','','','Hadoop by HTTP','0',NULL,'The template gets the Hadoop metrics from cluster''s hosts (ResourceManager, NodeManagers, NameNode, DataNodes) by HTTP agent. You should define the IP address (or FQDN) and Web-UI port for the ResourceManager in {$HADOOP.RESOURCEMANAGER.HOST} and {$HADOOP.RESOURCEMANAGER.PORT} macros and for the NameNode in {$HADOOP.NAMENODE.HOST} and {$HADOOP.NAMENODE.PORT} macros respectively. Macros can be set in the template or overridden at the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/413459-discussion-thread-for-official-zabbix-template-hadoop
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e129aeba7c814bf189772cf5919b4bbb','HADOOP BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10364',NULL,'Apache Kafka by JMX','3','-1','2','','','Apache Kafka by JMX','0',NULL,'Official JMX Template for Apache Kafka.
The metrics are collected by JMX.
You can set {$KAFKA.USER} and {$KAFKA.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2eb43a3c9666467683b9ce09d2bd26d7','APACHE KAFKA BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10365',NULL,'HashiCorp Vault by HTTP','3','-1','2','','','HashiCorp Vault by HTTP','0',NULL,'Get HashiCorp Vault metrics from Vault API HTTP Prometheus metrics endpoint.
Some metrics may not be collected depending on your Vault instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2f82248e411340429d390e8389850401','HASHICORP VAULT BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10366',NULL,'VMware FQDN','3','-1','2','','','VMware FQDN','0',NULL,'You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Note: To enable discovery of hardware sensors of VMware Hypervisors, set the macro ''{$VMWARE.HV.SENSOR.DISCOVERY}'' to the value ''true'' on the discovered host level.
Note: To create custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/vm_monitoring/vmware_keys#footnotes
Note: To get all supported counters and generate path for custom performance counter see documentation: https://www.zabbix.com/documentation/7.4/manual/appendix/items/perf_counters
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ca02e82e6c414d0aa7aedc8d78468a49','VMWARE FQDN','Zabbix','7.4-2',NULL,'0','1','## Overview
This template set is designed for the effortless deployment of VMware vCenter and ESX hypervisor monitoring and doesn''t require any external scripts.
- The template "VMware Guest" is used in discovery and normally should not be manually linked to a host.
- The template "VMware Hypervisor" can be used in discovery as well as manually linked to a host.
For additional information, please see [Zabbix documentation on VM monitoring](https://www.zabbix.com/documentation/7.4/manual/vm_monitoring).
## Setup
1. Compile Zabbix server with the required options (`--with-libxml2` and `--with-libcurl`)
2. Set the `StartVMwareCollectors` option in the Zabbix server configuration file to "1" or more
3. Create a new host
4. If you want to use a separate user for monitoring, make sure that the user is a member of the `SystemConfiguration.ReadOnly` and `vStatsGroup` groups
Set the host wizard configuration fields required for VMware authentication: `VMware URL`, `VMware username` and `VMware password`
5. Link the template to the host created earlier
Note: To enable discovery of hardware sensors of VMware hypervisors, set the host wizard configuration field `Monitoring of hardware sensors` to the selected state.
Additional resources:
- How to [create a custom performance counter](https://www.zabbix.com/documentation/7.4/manual/vm_monitoring/vmware_keys#footnotes)
- How to get all supported counters and [generate a path for the custom performance counter](https://www.zabbix.com/documentation/7.4/manual/appendix/items/perf_counters)'),
('10369',NULL,'Zookeeper by HTTP','3','-1','2','','','Zookeeper by HTTP','0',NULL,'This template is designed for the effortless deployment of Apache Zookeeper monitoring by Zabbix via HTTP and doesn''t require any external scripts.
This template works with standalone and cluster instances. Metrics are collected from each Zookeeper node by requests to AdminServer
Setup:
1. Enable the AdminServer and configure the parameters according to the official documentation:
https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_adminserver_config
2. Set the hostname or IP address of the Apache Zookeeper host in the ''{$ZOOKEEPER.HOST}'' macro. You can also change the ''{$ZOOKEEPER.COMMAND_URL}'', ''{$ZOOKEEPER.PORT}'' and ''{$ZOOKEEPER.SCHEME}'' macros if necessary.
You can discuss this template or leave feedback on our forum:
https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b606eda347ea4663a33ad4d12a482750','ZOOKEEPER BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10370',NULL,'Apache Cassandra by JMX','3','-1','2','','','Apache Cassandra by JMX','0',NULL,'The template to monitor Apache Cassandra by Zabbix that work without any external scripts.
It works with both standalone and cluster instances.
The metrics are collected by JMX.
You can set {$CASSANDRA.USER} and {$CASSANDRA.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/410057-discussion-thread-for-official-zabbix-template-apache-cassandra
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5c42de26643c4b43b23a11159df021ce','APACHE CASSANDRA BY JMX','Zabbix','7.4-0',NULL,'0','0',''),
('10371',NULL,'Morningstar ProStar MPPT by SNMP','3','-1','2','','','Morningstar ProStar MPPT by SNMP','0',NULL,'MIBs used:
PROSTAR-MPPT
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b84324c2a40a496dbbb379bbf5dde8d5','MORNINGSTAR PROSTAR MPPT BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10372',NULL,'Morningstar ProStar PWM by SNMP','3','-1','2','','','Morningstar ProStar PWM by SNMP','0',NULL,'MIBs used:
PROSTAR-PWM
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','24bed6339f0a492fab86fe757394b937','MORNINGSTAR PROSTAR PWM BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10373',NULL,'Morningstar SunSaver MPPT by SNMP','3','-1','2','','','Morningstar SunSaver MPPT by SNMP','0',NULL,'MIBs used:
SUNSAVER-MPPT
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f1336fd88ab0415a9c02892a71e50032','MORNINGSTAR SUNSAVER MPPT BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10374',NULL,'Morningstar SureSine by SNMP','3','-1','2','','','Morningstar SureSine by SNMP','0',NULL,'MIBs used:
SURESINE
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3bbfe42c78c74f04a2565431fbdd19e2','MORNINGSTAR SURESINE BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10375',NULL,'Morningstar TriStar MPPT 600V by SNMP','3','-1','2','','','Morningstar TriStar MPPT 600V by SNMP','0',NULL,'MIBs used:
TRISTAR-MPPT
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2d20a2fbd540492089fdcafc8feb60e3','MORNINGSTAR TRISTAR MPPT 600V BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10376',NULL,'Morningstar TriStar MPPT by SNMP','3','-1','2','','','Morningstar TriStar MPPT by SNMP','0',NULL,'MIBs used:
TRISTAR-MPPT
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','07b32152c3654e8ead4c1eeae24efa8f','MORNINGSTAR TRISTAR MPPT BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10377',NULL,'Morningstar TriStar PWM by SNMP','3','-1','2','','','Morningstar TriStar PWM by SNMP','0',NULL,'MIBs used:
TRISTAR
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','230fa9f7c1774821bbe6cdcbbba5cbc6','MORNINGSTAR TRISTAR PWM BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10378',NULL,'NetApp FAS3220 by SNMP','3','-1','2','','','NetApp FAS3220 by SNMP','0',NULL,'The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
NETAPP-MIB
IF-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/416694-discussion-thread-for-official-zabbix-template-netapp-fas3220
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e118ab11c1ec4f9cbe21dfce1441c0f6','NETAPP FAS3220 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10379',NULL,'Jenkins by HTTP','3','-1','2','','','Jenkins by HTTP','0',NULL,'Get Jenkins metrics by HTTP agent.
Metrics are collected by requests to Metrics API. Install Metrics plugin and configure access to the Metrics Servlet by issuing API key.
Don''t forget to change macros {$JENKINS.URL}, {$JENKINS.USER}, {$JENKINS.API.TOKEN}, {$JENKINS.API.KEY}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2ef2f2eb75ee4a0bae839e22aa76e5fc','JENKINS BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10380',NULL,'Hikvision camera by HTTP','3','-1','2','','','Hikvision camera by HTTP','0',NULL,'This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn''t require any external scripts.
Sample device overview page:
https://www.hikvision.com/en/products/IP-Products/Network-Cameras/
Setup:
1. Set the hostname or IP address of the Hikvision ISAPI host in the ''{$HIKVISION_ISAPI_HOST}'' macro.
2. Set the user name and password in the ''{$PASSWORD}'' and ''{$USER}'' macros.
3. Change other macros according to your camera configuration if necessary.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3fb4020df2984b0ab64dfd8355ff5c65','HIKVISION CAMERA BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10381',NULL,'Ignite by JMX','3','-1','2','','','Ignite by JMX','0',NULL,'The template to monitor Apache Ignite by Zabbix that work without any external scripts.
It works with both standalone and cluster instances.
The metrics are discoverable and collected by JMX.
Current JMX tree hierarchy contains classloader by default. Add the following jvm option `-DIGNITE_MBEAN_APPEND_CLASS_LOADER_ID=false`to will exclude one level with Classloader name.
You can set {$IGNITE.USER} and {$IGNITE.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ab05dbb15ff047f192782f617f0627ac','IGNITE BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10382',NULL,'Microsoft SharePoint by HTTP','3','-1','2','','','Microsoft SharePoint by HTTP','0',NULL,'Overview:
Template receives data via HTTP Agent.
Setup:
Create a new host.
Define macros according to your Sharepoint web portal.
It is recommended to fill in the values of the filter macros to avoid getting redundant data.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8d5fe5b4ebb64255a2429b34c7dd3681','MICROSOFT SHAREPOINT BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10385',NULL,'Huawei OceanStor 5300 V5 by SNMP','3','-1','2','','','Huawei OceanStor 5300 V5 by SNMP','0',NULL,'The template to monitor SAN Huawei OceanStor 5300 V5 by Zabbix SNMP agent.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418855-discussion-thread-for-official-zabbix-template-huawei-oceanstor
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c5564dd58c394b969d5365cc5de3e7f8','HUAWEI OCEANSTOR 5300 V5 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10386',NULL,'MongoDB node by Zabbix agent 2','3','-1','2','','','MongoDB node by Zabbix agent 2','0',NULL,'Get MongoDB metrics from plugin for the zabbix-agent2.
1. Setup and configure zabbix-agent2 compiled with the MongoDB monitoring plugin.
2. Set the {$MONGODB.CONNSTRING} such as or named session.
3. Set the user name and password in host macros ({$MONGODB.USER}, {$MONGODB.PASSWORD}) if you want to override parameters from the Zabbix agent configuration file.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420659-discussion-thread-for-official-zabbix-template-db-mongodb
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','81aa8c5ab5594f77a2b26fb7f5094048','MONGODB NODE BY ZABBIX AGENT 2','Zabbix','7.4-0',NULL,'0','0',''),
('10387',NULL,'MongoDB cluster by Zabbix agent 2','3','-1','2','','','MongoDB cluster by Zabbix agent 2','0',NULL,'Get MongoDB metrics from plugin for the zabbix-agent2.
1. Setup and configure zabbix-agent2 compiled with the MongoDB monitoring plugin.
2. Set the {$MONGODB.CONNSTRING} such as or named session.
3. Set the user name and password in host macros ({$MONGODB.USER}, {$MONGODB.PASSWORD}) if you want to override parameters from the Zabbix agent configuration file.
All sharded Mongodb nodes (mongod) will be discovered with attached template "MongoDB node".
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420659-discussion-thread-for-official-zabbix-template-db-mongodb
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d38b271797bd41f2ad8c79d83b9d8d9c','MONGODB CLUSTER BY ZABBIX AGENT 2','Zabbix','7.4-0',NULL,'0','0',''),
('10390',NULL,'Cisco Catalyst 3750V2-24FS by SNMP','3','-1','2','','','Cisco Catalyst 3750V2-24FS by SNMP','0',NULL,'Template Cisco Catalyst 3750V2-24FS
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
SNMPv2-MIB
CISCO-PROCESS-MIB
CISCO-ENVMON-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6ff896f545e043cc98de6d98698d41df','CISCO CATALYST 3750V2-24FS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10391',NULL,'Cisco Catalyst 3750V2-24PS by SNMP','3','-1','2','','','Cisco Catalyst 3750V2-24PS by SNMP','0',NULL,'Template Cisco Catalyst 3750V2-24PS
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
SNMPv2-MIB
CISCO-PROCESS-MIB
CISCO-ENVMON-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4583f0c3bc894251a6c5e7129cb5b9aa','CISCO CATALYST 3750V2-24PS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10392',NULL,'Cisco Catalyst 3750V2-24TS by SNMP','3','-1','2','','','Cisco Catalyst 3750V2-24TS by SNMP','0',NULL,'Template Cisco Catalyst 3750V2-24TS
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
SNMPv2-MIB
CISCO-PROCESS-MIB
CISCO-ENVMON-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','30d084c6b7844b7cab6cf820b00bb7b2','CISCO CATALYST 3750V2-24TS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10393',NULL,'Cisco Catalyst 3750V2-48PS by SNMP','3','-1','2','','','Cisco Catalyst 3750V2-48PS by SNMP','0',NULL,'Template Cisco Catalyst 3750V2-48PS
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
SNMPv2-MIB
CISCO-PROCESS-MIB
CISCO-ENVMON-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ea096c13a09b4d7a9be0aab1cec95206','CISCO CATALYST 3750V2-48PS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10394',NULL,'Cisco Catalyst 3750V2-48TS by SNMP','3','-1','2','','','Cisco Catalyst 3750V2-48TS by SNMP','0',NULL,'Template Cisco Catalyst 3750V2-48TS
MIBs used:
CISCO-MEMORY-POOL-MIB
IF-MIB
EtherLike-MIB
SNMPv2-MIB
CISCO-PROCESS-MIB
CISCO-ENVMON-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f744679600844c07b2b4eedda9bc3d0c','CISCO CATALYST 3750V2-48TS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10395',NULL,'APC UPS by SNMP','3','-1','2','','','APC UPS by SNMP','0',NULL,'Template Power APC UPS
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3ec55c9966624ef5bc1b50502812d581','APC UPS BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10396',NULL,'NetApp AFF A700 by HTTP','3','-1','2','','','NetApp AFF A700 by HTTP','0',NULL,'The template to monitor SAN NetApp AFF A700 cluster by Zabbix HTTP agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','79267c69f54a4e59b4152aba4e8c4bd5','NETAPP AFF A700 BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10397',NULL,'TiDB PD by HTTP','3','-1','2','','','TiDB PD by HTTP','0',NULL,'The template to monitor PD server of TiDB cluster by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Don''t forget to change the macros {$PD.URL}, {$PD.PORT}.
Template `TiDB PD by HTTP` — collects metrics by HTTP agent from PD /metrics endpoint and from monitoring API.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','43596328d4d74a5592906a9e08e3fd96','TIDB PD BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10398',NULL,'TiDB by HTTP','3','-1','2','','','TiDB by HTTP','0',NULL,'The template to monitor TiDB server of TiDB cluster by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Don''t forget to change the macros {$TIDB.URL}, {$TIDB.PORT}.
Template `TiDB by HTTP` — collects metrics by HTTP agent from PD /metrics endpoint and from monitoring API.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8ec72ebbe3204d7789429640abcac610','TIDB BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10399',NULL,'TiDB TiKV by HTTP','3','-1','2','','','TiDB TiKV by HTTP','0',NULL,'The template to monitor TiKV server of TiDB cluster by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Don''t forget to change the macros {$TIKV.URL}, {$TIKV.PORT}.
Template `TiDB TiKV by HTTP` — collects metrics by HTTP agent from TiKV /metrics endpoint.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3a0bbbb2ec0a4c58bba3ba3a3d6ce660','TIDB TIKV BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10400',NULL,'APC UPS Galaxy 3500 by SNMP','3','-1','2','','','APC UPS Galaxy 3500 by SNMP','0',NULL,'Template Power APC UPS Galaxy 3500
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5d3971cd973b46e7915d7ae0750bac57','APC UPS GALAXY 3500 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10401',NULL,'APC Smart-UPS 2200 RM by SNMP','3','-1','2','','','APC Smart-UPS 2200 RM by SNMP','0',NULL,'Template Power APC Smart-UPS 2200 RM
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e8c0b2c40e884f1598d86f3edf020ea7','APC SMART-UPS 2200 RM BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10402',NULL,'APC Smart-UPS 3000 XLM by SNMP','3','-1','2','','','APC Smart-UPS 3000 XLM by SNMP','0',NULL,'Template Power APC Smart-UPS 3000 XLM
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','eafd78764fde4110b9e46ae184f327ba','APC SMART-UPS 3000 XLM BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10403',NULL,'APC Smart-UPS RT 1000 RM XL by SNMP','3','-1','2','','','APC Smart-UPS RT 1000 RM XL by SNMP','0',NULL,'Template Power APC Smart-UPS RT 1000 RM XL
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','340ec6917c274ead8fab36925e57f30a','APC SMART-UPS RT 1000 RM XL BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10404',NULL,'APC Smart-UPS RT 1000 XL by SNMP','3','-1','2','','','APC Smart-UPS RT 1000 XL by SNMP','0',NULL,'Template Power APC Smart-UPS RT 1000 XL
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','32d3c78ff44c4c3c9ff5b893ad7f5fc9','APC SMART-UPS RT 1000 XL BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10406',NULL,'APC Smart-UPS SRT 8000 by SNMP','3','-1','2','','','APC Smart-UPS SRT 8000 by SNMP','0',NULL,'Template Power APC Smart-UPS SRT 8000
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b3caafda8c5345cc832ac3be3cefa615','APC SMART-UPS SRT 8000 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10407',NULL,'APC UPS Symmetra LX by SNMP','3','-1','2','','','APC UPS Symmetra LX by SNMP','0',NULL,'Template Power APC UPS Symmetra LX
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0b9a899ff8f1467c9fdf999d02b9fd77','APC UPS SYMMETRA LX BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10408',NULL,'APC UPS Symmetra RM by SNMP','3','-1','2','','','APC UPS Symmetra RM by SNMP','0',NULL,'Template Power APC UPS Symmetra RM
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1dac0a88c3774315b90622a48031e369','APC UPS SYMMETRA RM BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10409',NULL,'APC UPS Symmetra RX by SNMP','3','-1','2','','','APC UPS Symmetra RX by SNMP','0',NULL,'Template Power APC UPS Symmetra RX
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4ffb0f9103084384a98379ed533865e9','APC UPS SYMMETRA RX BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10410',NULL,'WildFly Domain by JMX','3','-1','2','','','WildFly Domain by JMX','0',NULL,'Official JMX Template for WildFly.
The metrics are collected by JMX. This template works with Domain Controller.
You can set {$WILDFLY.USER} and {$WILDFLY.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4b27e636b6ad4ce68511d344d5604999','WILDFLY DOMAIN BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10411',NULL,'WildFly Server by JMX','3','-1','2','','','WildFly Server by JMX','0',NULL,'Official JMX Template for WildFly.
The metrics are collected by JMX. This template works with standalone and domain instances.
You can set {$WILDFLY.USER} and {$WILDFLY.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2bf5827343f0420792ad953f290baa05','WILDFLY SERVER BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10412',NULL,'APC Smart-UPS SRT 5000 by SNMP','3','-1','2','','','APC Smart-UPS SRT 5000 by SNMP','0',NULL,'Template Power APC Smart-UPS SRT 5000
MIBs used:
HOST-RESOURCES-MIB
PowerNet-MIB
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8ec76aeb703747a5affdf435bc12f572','APC SMART-UPS SRT 5000 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10413',NULL,'Website certificate by Zabbix agent 2','3','-1','2','','','Website certificate by Zabbix agent 2','0',NULL,'The template to monitor TLS/SSL certificate on the website by Zabbix agent 2 that works without any external scripts.
Zabbix agent 2 with the WebCertificate plugin requests certificate using the web.certificate.get key and returns JSON with certificate attributes.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/428309-discussion-thread-for-official-zabbix-template-tls-ssl-certificates-monitoring
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5630ec1b1baf449abe1bc5521f85fe6c','WEBSITE CERTIFICATE BY ZABBIX AGENT 2','Zabbix','7.4-1',NULL,'0','0',''),
('10414',NULL,'Cloudflare by HTTP','3','-1','2','','','Cloudflare by HTTP','0',NULL,'The template to monitor Cloudflare to see your web traffic and DNS metrics.
It works without any external scripts and uses Script item.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','08ef3d687d754b0aba17e1dcbd77d4bd','CLOUDFLARE BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10415',NULL,'NGINX Plus by HTTP','3','-1','2','','','NGINX Plus by HTTP','0',NULL,'Get Nginx Plus metrics by HTTP agent.
Metrics are collected by requests to Nginx Plus API.
Don''t forget to change macros {$NGINX.API.ENDPOINT}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8cad0f2564694416b60bd8a414948641','NGINX PLUS BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10416',NULL,'Systemd by Zabbix agent 2','3','-1','2','','','Systemd by Zabbix agent 2','0',NULL,'Get systemd units metrics from plugin for the zabbix-agent2.
1. Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
2. Set filters with macros if you want to override default filter parameters.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','90ac276995294a6aa88462c032d2ddaf','SYSTEMD BY ZABBIX AGENT 2','Zabbix','7.4-2',NULL,'0','0',''),
('10417',NULL,'GridGain by JMX','3','-1','2','','','GridGain by JMX','0',NULL,'The template to monitor GridGain In-Memory Computing Platform by Zabbix that work without any external scripts.
It works with both standalone and cluster instances.
The metrics are discoverable and collected by JMX.
Current JMX tree hierarchy contains classloader by default. Add the following jvm option `-DIGNITE_MBEAN_APPEND_CLASS_LOADER_ID=false`to will exclude one level with Classloader name.
You can set {$GRIDGAIN.USER} and {$GRIDGAIN.PASSWORD} macros in the template for using on the host level.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','47d87c39c121429b98a18f641aa443ea','GRIDGAIN BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10418',NULL,'Cisco ASAv by SNMP','3','-1','2','','','Cisco ASAv by SNMP','0',NULL,'Template Net Cisco ASAv
MIBs used:
CISCO-PORT-MIB
CISCO-MEMORY-POOL-MIB
CISCO-REMOTE-ACCESS-MONITOR-MIB
IF-MIB
RFC1213-MIB
CISCO-PROCESS-MIB
ENTITY-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','75d009cd4dc84ee7a8fc479fa2fbaeee','CISCO ASAV BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10419',NULL,'F5 Big-IP by SNMP','3','-1','2','','','F5 Big-IP by SNMP','0',NULL,'MIBs used:
RFC1213-MIB
F5-BIGIP-LOCAL-MIB
F5-BIGIP-SYSTEM-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','44c2c2d94a4447c6a924386640e4854a','F5 BIG-IP BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10420',NULL,'ZYXEL AAM1212-51 IES-612 by SNMP','3','-1','2','','','ZYXEL AAM1212-51 IES-612 by SNMP','0',NULL,'ZYXEL AAM1212-51 / IES-612
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ADSL-LINE-MIB
ZYXEL-IESCOMMON-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL AAM1212-51 / IES-612
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3a71dcdcfe0b4a0e8284d8939d335cce','ZYXEL AAM1212-51 IES-612 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10421',NULL,'ZYXEL ES3500-8PD by SNMP','3','-1','2','','','ZYXEL ES3500-8PD by SNMP','0',NULL,'ZYXEL ES3500-8PD
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-ES3500-8PD-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL ES3500-8PD
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b8a6f34fd5c447b1b9310746a96f4e80','ZYXEL ES3500-8PD BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10422',NULL,'ZYXEL GS-4012F by SNMP','3','-1','2','','','ZYXEL GS-4012F by SNMP','0',NULL,'ZYXEL GS-4012F
MIBs used:
ZYXEL-GS4012F-MIB
RFC1213-MIB
HOST-RESOURCES-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL GS-4012F
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','73f123bb9ffe4587a0269c7e8752b2ed','ZYXEL GS-4012F BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10423',NULL,'ZYXEL IES-500x by SNMP','3','-1','2','','','ZYXEL IES-500x by SNMP','0',NULL,'ZYXEL IES-500x
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ADSL-LINE-MIB
ZYXEL-IES5000-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL IES-500x
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3db86b0d235e4c7b80f7d6144ca08925','ZYXEL IES-500X BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10424',NULL,'ZYXEL IES-6000 by SNMP','3','-1','2','','','ZYXEL IES-6000 by SNMP','0',NULL,'ZYXEL IES-6000
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ADSL-LINE-MIB
ZYXEL-IES5000-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL IES-6000
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3645654baaf04f11927b171bcb048349','ZYXEL IES-6000 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10425',NULL,'ZYXEL IES1248-51 by SNMP','3','-1','2','','','ZYXEL IES1248-51 by SNMP','0',NULL,'ZYXEL IES1248-51
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ADSL-LINE-MIB
ZYXEL-IESCOMMON-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL IES1248-51
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8e6d7067cd094e56a52db999b3199edc','ZYXEL IES1248-51 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10426',NULL,'ZYXEL MES-3528 by SNMP','3','-1','2','','','ZYXEL MES-3528 by SNMP','0',NULL,'ZYXEL MES-3528
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-MES3528-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MES-3528
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','249de8d8d21e4dda9c3f766ab6201378','ZYXEL MES-3528 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10427',NULL,'ZYXEL MES3500-10 by SNMP','3','-1','2','','','ZYXEL MES3500-10 by SNMP','0',NULL,'ZYXEL MES3500-10
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-MES3500-10-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MES3500-10
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','21a95afef0e74fb19691693090403d1d','ZYXEL MES3500-10 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10428',NULL,'ZYXEL MES3500-24 by SNMP','3','-1','2','','','ZYXEL MES3500-24 by SNMP','0',NULL,'ZYXEL MES3500-24
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-MES3500-24-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MES3500-24
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','292970ad91204722b5e5cb3233fc0026','ZYXEL MES3500-24 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10429',NULL,'ZYXEL MGS-3712 by SNMP','3','-1','2','','','ZYXEL MGS-3712 by SNMP','0',NULL,'ZYXEL MGS-3712
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-MGS3712F-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MGS-3712
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8ea7299983f24d0a913606e334f0e526','ZYXEL MGS-3712 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10430',NULL,'ZYXEL MGS-3712F by SNMP','3','-1','2','','','ZYXEL MGS-3712F by SNMP','0',NULL,'ZYXEL MGS-3712F
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-MGS3712F-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MGS-3712F
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','01deb47efa1f4a9092de67fd61820a7d','ZYXEL MGS-3712F BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10431',NULL,'ZYXEL MES3500-24S by SNMP','3','-1','2','','','ZYXEL MES3500-24S by SNMP','0',NULL,'ZYXEL MES3500-24S
MIBs used:
ZYXEL-TRANSCEIVER-MIB
IF-MIB
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-HW-MONITOR-MIB
ZYXEL-PORT-MIB
ZYXEL-ES-COMMON
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MGS3520-28
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','89eef2fe23964f44bf9aec6d00e39efd','ZYXEL MES3500-24S BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10432',NULL,'ZYXEL MGS3520-28x by SNMP','3','-1','2','','','ZYXEL MGS3520-28x by SNMP','0',NULL,'ZYXEL MGS3520-28x
MIBs used:
ZYXEL-TRANSCEIVER-MIB
IF-MIB
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-HW-MONITOR-MIB
ZYXEL-PORT-MIB
ZYXEL-ES-COMMON
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL MGS3520-28
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','9cc843a085bb4ee5af0dc4d764a7eee9','ZYXEL MGS3520-28X BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10433',NULL,'ZYXEL XGS-4728F by SNMP','3','-1','2','','','ZYXEL XGS-4728F by SNMP','0',NULL,'ZYXEL XGS-4728F
MIBs used:
RFC1213-MIB
HOST-RESOURCES-MIB
ZYXEL-XGS4728F-MIB
IF-MIB
Known Issues:
Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
Version: all versions firmware
Device: ZYXEL XGS-4728F
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ab18a5665b7d4bed876881b5c4e8ce51','ZYXEL XGS-4728F BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10434',NULL,'Cisco UCS Manager by SNMP','3','-1','2','','','Cisco UCS Manager by SNMP','0',NULL,'This is a template for Cisco UCS Manager monitoring via Zabbix SNMP Agent that works without any external scripts.
MIBs used:
CISCO-UNIFIED-COMPUTING-COMPUTE-MIB
CISCO-UNIFIED-COMPUTING-EQUIPMENT-MIB
IF-MIB
HOST-RESOURCES-MIB
SNMPv2-MIB
CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB
CISCO-UNIFIED-COMPUTING-STORAGE-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d5eb4ce08a334098a85e6e02c534be90','CISCO UCS MANAGER BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10435',NULL,'DELL PowerEdge R720 by HTTP','3','-1','2','','','DELL PowerEdge R720 by HTTP','0',NULL,'Template for DELL PowerEdge R720 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','9643f22821104f809e2486be83e1816e','DELL POWEREDGE R720 BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10436',NULL,'DELL PowerEdge R720 by SNMP','3','-1','2','','','DELL PowerEdge R720 by SNMP','0',NULL,'Template for DELL PowerEdge R720 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fe5b8448661f41b9a6d948fccd7f9045','DELL POWEREDGE R720 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10437',NULL,'DELL PowerEdge R740 by HTTP','3','-1','2','','','DELL PowerEdge R740 by HTTP','0',NULL,'Template for DELL PowerEdge R740 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3f707f39c32a4b6e8b214c38a260f6f9','DELL POWEREDGE R740 BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10438',NULL,'DELL PowerEdge R740 by SNMP','3','-1','2','','','DELL PowerEdge R740 by SNMP','0',NULL,'Template for DELL PowerEdge R740 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','9fde0e1c36f8453da72f97535d4e74ca','DELL POWEREDGE R740 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10439',NULL,'DELL PowerEdge R820 by HTTP','3','-1','2','','','DELL PowerEdge R820 by HTTP','0',NULL,'Template for DELL PowerEdge R820 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1e9fe6b88c7542638c0f5d94484858b2','DELL POWEREDGE R820 BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10440',NULL,'DELL PowerEdge R820 by SNMP','3','-1','2','','','DELL PowerEdge R820 by SNMP','0',NULL,'Template for DELL PowerEdge R820 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d41c5d0fa91545d68cced1b5dabe4bf1','DELL POWEREDGE R820 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10441',NULL,'DELL PowerEdge R840 by HTTP','3','-1','2','','','DELL PowerEdge R840 by HTTP','0',NULL,'Template for DELL PowerEdge R840 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','20147f00f92d4240aab0b70cf578c022','DELL POWEREDGE R840 BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10442',NULL,'DELL PowerEdge R840 by SNMP','3','-1','2','','','DELL PowerEdge R840 by SNMP','0',NULL,'Template for DELL PowerEdge R840 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fc834b8da8864678b55557e9a237eac9','DELL POWEREDGE R840 BY SNMP','Zabbix','7.4-3',NULL,'0','0',''),
('10443',NULL,'HPE ProLiant BL460 by SNMP','3','-1','2','','','HPE ProLiant BL460 by SNMP','0',NULL,'Template for HPE ProLiant BL460 servers with HP iLO version 4 and later.
MIBs used:
HOST-RESOURCES-MIB
CPQHLTH-MIB
SNMPv2-MIB
CPQNIC-MIB
CPQSINFO-MIB
CPQIDA-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','172ec7e51f1c4a6ba49baffbab3dda97','HPE PROLIANT BL460 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10444',NULL,'HPE ProLiant BL920 by SNMP','3','-1','2','','','HPE ProLiant BL920 by SNMP','0',NULL,'Template for HPE ProLiant BL920 servers with HP iLO version 4 and later.
MIBs used:
HOST-RESOURCES-MIB
CPQHLTH-MIB
SNMPv2-MIB
CPQNIC-MIB
CPQSINFO-MIB
CPQIDA-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','586119e5e27e4062a3cce8601ecb8d71','HPE PROLIANT BL920 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10445',NULL,'HPE ProLiant DL360 by SNMP','3','-1','2','','','HPE ProLiant DL360 by SNMP','0',NULL,'Template for HPE ProLiant DL360 servers with HP iLO version 4 and later.
MIBs used:
HOST-RESOURCES-MIB
CPQHLTH-MIB
SNMPv2-MIB
CPQNIC-MIB
CPQSINFO-MIB
CPQIDA-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','60cb9ccb922e4fd194a1d9573db10237','HPE PROLIANT DL360 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10446',NULL,'HPE ProLiant DL380 by SNMP','3','-1','2','','','HPE ProLiant DL380 by SNMP','0',NULL,'Template for HPE ProLiant DL380 servers with HP iLO version 4 and later.
MIBs used:
HOST-RESOURCES-MIB
CPQHLTH-MIB
SNMPv2-MIB
CPQNIC-MIB
CPQSINFO-MIB
CPQIDA-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','379aaf7e87574debb4f5c3947a22ec68','HPE PROLIANT DL380 BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10447',NULL,'Travis CI by HTTP','3','-1','2','','','Travis CI by HTTP','0',NULL,'Template for monitoring Travis CI https://travis-ci.com
You must set {$TRAVIS.API.TOKEN} and {$TRAVIS.API.URL} macros.
{$TRAVIS.API.TOKEN} is a Travis API authentication token located in User -> Settings -> API authentication.
{$TRAVIS.API.URL} could be in 2 different variations:
- for a private project : api.travis-ci.com
- for an enterprise projects: api.example.com (where you replace example.com with the domain Travis CI is running on)
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8cdbe00a2a3046ee962d28d32567968a','TRAVIS CI BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10448',NULL,'InfluxDB by HTTP','3','-1','2','','','InfluxDB by HTTP','0',NULL,'Get InfluxDB metrics by HTTP agent from Prometheus metrics endpoint.
For organization discovery template need to use Authorization via API token. See docs: https://docs.influxdata.com/influxdb/v2.0/security/tokens/
Don''t forget change macros {$INFLUXDB.URL}, {$INFLUXDB.API.TOKEN}.
Some metrics may not be collected depending on your InfluxDB instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a6fe3640b23544e7ae15d438b38ce1cd','INFLUXDB BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10449',NULL,'MikroTik CCR1009-7G-1C-1SPC by SNMP','3','-1','2','','','MikroTik CCR1009-7G-1C-1S+PC by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1009-7G-1C-1S+PC.
7x Gigabit Ethernet, 1x Combo port (SFP or Gigabit Ethernet), 1xSFP+ cage, 9
cores x 1GHz CPU, 2GB RAM, LCD panel, passive cooling desktop enclosure, SmartCard
slot, RouterOS L6, PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d596d6d231bf49c08890aa3ff135ecc6','MIKROTIK CCR1009-7G-1C-1S+PC BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10450',NULL,'MikroTik CCR1009-7G-1C-1S by SNMP','3','-1','2','','','MikroTik CCR1009-7G-1C-1S+ by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1009-7G-1C-1S+.
1U rackmount, 7x Gigabit Ethernet, 1x Combo port (SFP or Gigabit Ethernet),
1xSFP+ cage, 9 cores x 1.2GHz CPU, 2GB RAM, LCD panel, Dual Power supplies,
SmartCard slot, RouterOS L6
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a809695fbc784b75adcd4833c86bca8d','MIKROTIK CCR1009-7G-1C-1S+ BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10451',NULL,'MikroTik CCR1009-7G-1C-PC by SNMP','3','-1','2','','','MikroTik CCR1009-7G-1C-PC by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1009-7G-1C-PC.
7x Gigabit Ethernet, 1x Combo port (SFP or Gigabit Ethernet), 9 cores x 1GHz
CPU, 1GB RAM, passive cooling case, RouterOS L6
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','012e7043ff9849e197c42bf41cdf4d9a','MIKROTIK CCR1009-7G-1C-PC BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10452',NULL,'MikroTik CCR1016-12G by SNMP','3','-1','2','','','MikroTik CCR1016-12G by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1016-12G.
1U rackmount, 12x Gigabit Ethernet, LCD, 16 cores x 1.2GHz CPU, 2GB RAM, 17.8mpps
fastpath, Up to 12Gbit/s throughput, RouterOS L6, Dual PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5ed19d1f74224588bf5f53ac47003acc','MIKROTIK CCR1016-12G BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10453',NULL,'MikroTik CCR1016-12S-1S by SNMP','3','-1','2','','','MikroTik CCR1016-12S-1S+ by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1016-12S-1S+.
1U rackmount, 12xSFP cage, 1xSFP+ cage, 16 cores x 1.2GHz CPU, 2GB RAM, LCD
panel, Dual Power supplies, RouterOS L6
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','654910b270d9464f863ed085ba7302ce','MIKROTIK CCR1016-12S-1S+ BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10454',NULL,'MikroTik CCR1036-12G-4S-EM by SNMP','3','-1','2','','','MikroTik CCR1036-12G-4S-EM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1036-12G-4S-EM.
1U rackmount, 12x Gigabit Ethernet, 4xSFP cages, LCD, 36 cores x 1.2GHz CPU,
8GB RAM, 24 mpps fastpath, Up to 16Gbit/s throughput, RouterOS L6, Dual PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','930c0e0534a9424fb01f2b6218d8ce59','MIKROTIK CCR1036-12G-4S-EM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10455',NULL,'MikroTik CCR1036-12G-4S by SNMP','3','-1','2','','','MikroTik CCR1036-12G-4S by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1036-12G-4S.
1U rackmount, 12x Gigabit Ethernet, 4xSFP cages, LCD, 36 cores x 1.2GHz CPU,
4GB RAM, 24 mpps fastpath, Up to 16Gbit/s throughput, RouterOS L6, Dual PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','82b428ad78d34988b93f3d577f2b6adc','MIKROTIK CCR1036-12G-4S BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10456',NULL,'MikroTik CCR1036-8G-2SEM by SNMP','3','-1','2','','','MikroTik CCR1036-8G-2S+EM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1036-8G-2S+EM.
1U rackmount, 8x Gigabit Ethernet, 2xSFP+ cages, LCD, 36 cores x 1.2GHz CPU,
8GB RAM, 41.5mpps fastpath, Up to 28Gbit/s throughput, RouterOS L6, Dual PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7b3ecb24366f4685970df8e1143323f0','MIKROTIK CCR1036-8G-2S+EM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10457',NULL,'MikroTik CCR1036-8G-2S by SNMP','3','-1','2','','','MikroTik CCR1036-8G-2S+ by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1036-8G-2S+.
1U rackmount, 8x Gigabit Ethernet, 2xSFP+ cages, LCD, 36 cores x 1.2GHz CPU,
4GB RAM, 41.5mpps fastpath, Up to 28Gbit/s throughput, RouterOS L6, Dual PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7f44e67e3f564ec9894c9142d7276553','MIKROTIK CCR1036-8G-2S+ BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10458',NULL,'MikroTik CCR1072-1G-8S by SNMP','3','-1','2','','','MikroTik CCR1072-1G-8S+ by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR1072-1G-8S+.
1U rackmount, 1x Gigabit Ethernet, 8xSFP+ cages, LCD, 72 cores x 1GHz CPU, 16GB
RAM, up to 120 million packets per second, 80Gbps throughput, RouterOS L6
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e7894db1c4c94e0f8715977e751368b3','MIKROTIK CCR1072-1G-8S+ BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10459',NULL,'MikroTik CCR2004-16G-2S by SNMP','3','-1','2','','','MikroTik CCR2004-16G-2S+ by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR2004-16G-2S+.
This powerful and affordable router crushes all previous CCR models in single-core
performance. 16x Gigabit Ethernet ports, 2x10G SFP+ cages, active cooling and
the best single-core performance per watt & best overall performance per watt
among all the CCR devices.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ab871d051e304f83950171c5243aa4db','MIKROTIK CCR2004-16G-2S+ BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10460',NULL,'MikroTik CCR2004-1G-12S2XS by SNMP','3','-1','2','','','MikroTik CCR2004-1G-12S+2XS by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik CCR2004-1G-12S+2XS.
The Connectivity Router - your best companion when it comes to SFP, SFP+ and
SFP28 management! 1, 10 and 25 Gbps ports in a single device to make your life
easier.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f2efeb94f4bd4ed9ab34a973c0363eb8','MIKROTIK CCR2004-1G-12S+2XS BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10461',NULL,'MikroTik CRS106-1C-5S by SNMP','3','-1','2','','','MikroTik CRS106-1C-5S by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS106-1C-5S.
Smart Switch, 5x SFP cages, 1x Combo port (SFP or Gigabit Ethernet), 400MHz
CPU, 128MB RAM, desktop case, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','20ea139663264c21bca0dcecf2e95589','MIKROTIK CRS106-1C-5S BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10462',NULL,'MikroTik CRS109-8G-1S-2HnD-IN by SNMP','3','-1','2','','','MikroTik CRS109-8G-1S-2HnD-IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS109-8G-1S-2HnD-IN.
8x Gigabit Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual Chain wireless,
600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5, supports 10-57V, 802.3af/at
compliant
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fac16383680c4454be48b6db870d975e','MIKROTIK CRS109-8G-1S-2HND-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10463',NULL,'MikroTik CRS112-8G-4S-IN by SNMP','3','-1','2','','','MikroTik CRS112-8G-4S-IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS112-8G-4S-IN.
8x Gigabit Ethernet Smart Switch, 4x SFP cages, 400MHz CPU, 128MB RAM, desktop
case, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8d7d49fd0b3f4b1f9046dc0e94457931','MIKROTIK CRS112-8G-4S-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10464',NULL,'MikroTik CRS112-8P-4S-IN by SNMP','3','-1','2','','','MikroTik CRS112-8P-4S-IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS112-8P-4S-IN.
8x Gigabit Ethernet Smart Switch with PoE-out, 4x SFP cages, 400MHz CPU, 128MB
RAM, desktop case, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','538ec67ce01341a9b281dbd86d86d2a2','MIKROTIK CRS112-8P-4S-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10465',NULL,'MikroTik CRS125-24G-1S-2HnD-IN by SNMP','3','-1','2','','','MikroTik CRS125-24G-1S-2HnD-IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS125-24G-1S-2HnD-IN.
24x Gigabit Ethernet layer 3 Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual
Chain wireless, 600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c8db153405704d859ba5ee19f08b46f3','MIKROTIK CRS125-24G-1S-2HND-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10466',NULL,'MikroTik CRS212-1G-10S-1SIN by SNMP','3','-1','2','','','MikroTik CRS212-1G-10S-1S+IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS212-1G-10S-1S+IN.
Smart Switch, 1x Gigabit LAN, 10x SFP cages, 1x SFP+ cage, LCD, 400MHz CPU,
64MB RAM, Metal desktop case, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cdb6ebceb1174bada392dd24889b14d9','MIKROTIK CRS212-1G-10S-1S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10467',NULL,'MikroTik CRS305-1G-4SIN by SNMP','3','-1','2','','','MikroTik CRS305-1G-4S+IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS305-1G-4S+IN.
Five-port desktop switch with one Gigabit Ethernet port and four SFP+ 10Gbps
ports
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','223101f878704022a04c30c3ff066e3f','MIKROTIK CRS305-1G-4S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10468',NULL,'MikroTik CRS309-1G-8SIN by SNMP','3','-1','2','','','MikroTik CRS309-1G-8S+IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS309-1G-8S+IN.
Desktop switch with one Gigabit Ethernet port and eight SFP+ 10Gbps ports
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','bcc01f2b466345c4bcbe0cea1a7884d1','MIKROTIK CRS309-1G-8S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10469',NULL,'MikroTik CRS312-4C8XG-RM by SNMP','3','-1','2','','','MikroTik CRS312-4C+8XG-RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS312-4C+8XG-RM.
Switch of the future: the first MikroTik product with 10G RJ45 Ethernet ports
and SFP+
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8da94e2f01ff46e28becf0b08ff09ace','MIKROTIK CRS312-4C+8XG-RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10470',NULL,'MikroTik CRS317-1G-16SRM by SNMP','3','-1','2','','','MikroTik CRS317-1G-16S+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS317-1G-16S+RM.
Smart Switch, 1 x Gigabit LAN, 16 x SFP+ cages, Dual Core 800MHz CPU, 1GB RAM,
1U rackmount passive cooling case, Dual Power Supplies
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f474ff823fe84d689b9e4c6a4f0ce59e','MIKROTIK CRS317-1G-16S+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10471',NULL,'MikroTik CRS326-24G-2SIN by SNMP','3','-1','2','','','MikroTik CRS326-24G-2S+IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS326-24G-2S+IN.
24 Gigabit ports, 2 SFP+ cages and a desktop case – server room power for your
home!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c5f41fe0f54f470f9e304384838f150a','MIKROTIK CRS326-24G-2S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10472',NULL,'MikroTik CRS326-24G-2SRM by SNMP','3','-1','2','','','MikroTik CRS326-24G-2S+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS326-24G-2S+RM.
24 Gigabit port switch with 2 x SFP+ cages in 1U rackmount case, Dual boot (RouterOS
or SwitchOS)
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','bc80883918ac4f879427ca145122b5cb','MIKROTIK CRS326-24G-2S+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10473',NULL,'MikroTik CRS326-24S2QRM by SNMP','3','-1','2','','','MikroTik CRS326-24S+2Q+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS326-24S+2Q+RM.
Our fastest switch for the most demanding setups
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e7ed0e0cbd0b439394f6498ea90dc31d','MIKROTIK CRS326-24S+2Q+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10474',NULL,'MikroTik CRS328-24P-4SRM by SNMP','3','-1','2','','','MikroTik CRS328-24P-4S+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS328-24P-4S+RM.
24 port Gigabit Ethernet router/switch with four 10Gbps SFP+ ports in 1U rackmount
case, Dual Boot and PoE output, 500W
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','dcf88bca5aaf4123a10eb3daab28a9af','MIKROTIK CRS328-24P-4S+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10475',NULL,'MikroTik CRS328-4C-20S-4SRM by SNMP','3','-1','2','','','MikroTik CRS328-4C-20S-4S+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS328-4C-20S-4S+RM.
Smart Switch, 20 x SFP cages, 4 x SFP+ cages, 4 x Combo ports (Gigabit Ethernet
or SFP), 800MHz CPU, 512MB RAM, 1U rackmount case, Dual Power Supplies, RouterOS
L5 or SwitchOS (Dual Boot)
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6742f5ed33ca4c19b8e61203770e5fe5','MIKROTIK CRS328-4C-20S-4S+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10476',NULL,'MikroTik CRS354-48G-4S2QRM by SNMP','3','-1','2','','','MikroTik CRS354-48G-4S+2Q+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS354-48G-4S+2Q+RM.
Best price and best performance on the market – this 48 port switch will rock
any setup, including 40 Gbps devices!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d1c1ab5db2c34c17ae3541407f8b7faa','MIKROTIK CRS354-48G-4S+2Q+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10477',NULL,'MikroTik CRS354-48P-4S2QRM by SNMP','3','-1','2','','','MikroTik CRS354-48P-4S+2Q+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CRS354-48P-4S+2Q+RM.
The 48 port champion you’ve been waiting for - now with PoE-out!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fa5e5e131eb34bbea1b1f7b2352a853d','MIKROTIK CRS354-48P-4S+2Q+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10478',NULL,'MikroTik CSS326-24G-2SRM by SNMP','3','-1','2','','','MikroTik CSS326-24G-2S+RM by SNMP','0',NULL,'The template for monitoring Switch MikroTik CSS326-24G-2S+RM.
SwOS powered 24 port Gigabit Ethernet switch with two SFP+ ports in 1U rackmount
case
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','75ada0d6fb22416a9e6e5f44c2c3f64a','MIKROTIK CSS326-24G-2S+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10479',NULL,'MikroTik CSS610-8G-2SIN by SNMP','3','-1','2','','','MikroTik CSS610-8G-2S+IN by SNMP','0',NULL,'The template for monitoring Switch MikroTik CSS610-8G-2S+IN.
Eight 1G Ethernet ports and two SFP+ ports for 10G fiber connectivity. Portable,
powerful and extremely cost-effective - this switch is an instant classic!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8d22b4d1a9c6457fbd6fd959263f91db','MIKROTIK CSS610-8G-2S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10480',NULL,'MikroTik FiberBox by SNMP','3','-1','2','','','MikroTik FiberBox by SNMP','0',NULL,'The template for monitoring Switch MikroTik FiberBox.
An outdoor switch with five SFP ports
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2bd6f566391d49dab6bee184522ab5fa','MIKROTIK FIBERBOX BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10481',NULL,'MikroTik PowerBox Pro by SNMP','3','-1','2','','','MikroTik PowerBox Pro by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik PowerBox Pro.
Five Gigabit Ethernet Router with 4xPoE-out ports, SFP cage and outdoor enclosure
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c03e1ab0128a4ae1847bc04a34f5634e','MIKROTIK POWERBOX PRO BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10482',NULL,'MikroTik PowerBox by SNMP','3','-1','2','','','MikroTik PowerBox by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik PowerBox.
650MHz CPU, 64MB RAM, 5xEthernet with PoE output for four ports, RouterOS L4,
outdoor case, PSU
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0c7b3c03a5854f868b56f3ab63e2d3f7','MIKROTIK POWERBOX BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10483',NULL,'MikroTik RB1100AHx4 Dude Edition by SNMP','3','-1','2','','','MikroTik RB1100AHx4 Dude Edition by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB1100AHx4 Dude Edition.
Powerful 1U rackmount router with 13x Gigabit Ethernet ports, 60GB M.2 drive
for Dude database
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fac50638cb77468598c29a6a47520c24','MIKROTIK RB1100AHX4 DUDE EDITION BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10484',NULL,'MikroTik RB1100AHx4 by SNMP','3','-1','2','','','MikroTik RB1100AHx4 by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB1100AHx4.
Powerful 1U rackmount router with 13x Gigabit Ethernet ports
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3dfd1a55987848e5aa6ffe92c228f63b','MIKROTIK RB1100AHX4 BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10485',NULL,'MikroTik RB2011UiAS-IN by SNMP','3','-1','2','','','MikroTik RB2011UiAS-IN by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB2011UiAS-IN.
Desktop metal case, 5xEthernet, 5xGigabit Ethernet, USB, LCD, PoE out on port
10, 600MHz CPU, 128MB RAM, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8cf537f34600403b9de31d3db4eb2a1d','MIKROTIK RB2011UIAS-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10486',NULL,'MikroTik RB2011UiAS-RM by SNMP','3','-1','2','','','MikroTik RB2011UiAS-RM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB2011UiAS-RM.
1U rackmount, 5xEthernet, 5xGigabit Ethernet, USB, LCD, PoE out on port 10,
600MHz CPU, 128MB RAM, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','969cf5dca58f47f0b271ccf62ef79c13','MIKROTIK RB2011UIAS-RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10487',NULL,'MikroTik RB2011iL-IN by SNMP','3','-1','2','','','MikroTik RB2011iL-IN by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB2011iL-IN.
Desktop metal case, 5xEthernet, 5xGigabit Ethernet, PoE out on port 10, 600MHz
CPU, 64MB RAM, RouterOS L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','141438a05f904b518c7d3ddfbbabf91f','MIKROTIK RB2011IL-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10488',NULL,'MikroTik RB2011iL-RM by SNMP','3','-1','2','','','MikroTik RB2011iL-RM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB2011iL-RM.
1U rackmount, 5xEthernet, 5xGigabit Ethernet, PoE out on port 10, 600MHz CPU,
64MB RAM, RouterOS L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6d9737c72e5540d39e3553b773a587b1','MIKROTIK RB2011IL-RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10489',NULL,'MikroTik RB2011iLS-IN by SNMP','3','-1','2','','','MikroTik RB2011iLS-IN by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB2011iLS-IN.
Desktop metal case, 5xEthernet, 5xGigabit Ethernet, SFP cage, PoE out on port
10, 600MHz CPU, 64MB RAM, RouterOS L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','318fd61c22fa4f1a92a71376814d6c32','MIKROTIK RB2011ILS-IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10490',NULL,'MikroTik RB260GSP by SNMP','3','-1','2','','','MikroTik RB260GSP by SNMP','0',NULL,'The template for monitoring Switch MikroTik RB260GSP.
5x Gigabit PoE out Ethernet Smart Switch, SFP cage, plastic case, SwOS
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5331ecc3be9f47d6a8eb0732ae141239','MIKROTIK RB260GSP BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10491',NULL,'MikroTik RB260GS by SNMP','3','-1','2','','','MikroTik RB260GS by SNMP','0',NULL,'The template for monitoring Switch MikroTik RB260GS.
5x Gigabit Ethernet Smart Switch, SFP cage, plastic case, SwOS
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1a74dd95e7244493a1b13b94fe9dd9e8','MIKROTIK RB260GS BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10492',NULL,'MikroTik RB3011UiAS-RM by SNMP','3','-1','2','','','MikroTik RB3011UiAS-RM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB3011UiAS-RM.
1U rackmount, 10xGigabit Ethernet, SFP, USB 3.0, LCD, PoE out on port 10, 2x1.4GHz
CPU, 1GB RAM, RouterOS L5
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','cc762a057f0f467ab571b6d76a9bb278','MIKROTIK RB3011UIAS-RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10493',NULL,'MikroTik RB4011iGSRM by SNMP','3','-1','2','','','MikroTik RB4011iGS+RM by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB4011iGS+RM.
Powerful 10xGigabit port router with a Quad-core 1.4Ghz CPU, 1GB RAM, SFP+ 10Gbps
cage and desktop case with rack ears
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','780c4a9a657e42fc83f1ab9a535f5184','MIKROTIK RB4011IGS+RM BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10494',NULL,'MikroTik RB5009UGSIN by SNMP','3','-1','2','','','MikroTik RB5009UG+S+IN by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik RB5009UG+S+IN.
The ultimate heavy-duty home lab router with USB 3.0, 1G and 2.5G Ethernet and
a 10G SFP+ cage. You can mount four of these new routers in a single 1U rackmount
space! Unprecedented processing power in such a small form factor.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7b6f7a12a6b449ca926e74c894eca354','MIKROTIK RB5009UG+S+IN BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10495',NULL,'MikroTik hEX PoE lite by SNMP','3','-1','2','','','MikroTik hEX PoE lite by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik hEX PoE lite.
5xEthernet with PoE output for four ports, USB, 650MHz CPU, 64MB RAM, RouterOS
L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a5ddacdd5ac64b82bf5183769cc03e8c','MIKROTIK HEX POE LITE BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10496',NULL,'MikroTik hEX PoE by SNMP','3','-1','2','','','MikroTik hEX PoE by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik hEX PoE.
5x Gigabit Ethernet with PoE output for four ports, SFP, USB, 800MHz CPU, 128MB
RAM, RouterOS L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ff57532daf924030b364e3b75acb74c4','MIKROTIK HEX POE BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10497',NULL,'MikroTik hEX S by SNMP','3','-1','2','','','MikroTik hEX S by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik hEX S.
5x Gigabit Ethernet, SFP, Dual Core 880MHz CPU, 256MB RAM, USB, microSD, RouterOS
L4, IPsec hardware encryption support and The Dude server package
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7802db8c2f9c4a7eba7b381b8f3fa5c5','MIKROTIK HEX S BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10498',NULL,'MikroTik hEX lite by SNMP','3','-1','2','','','MikroTik hEX lite by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik hEX lite.
5x Ethernet, Small plastic case, 850MHz CPU, 64MB RAM, Most affordable MPLS
router, RouterOS L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2785d83763c641a7a7937b516665d93a','MIKROTIK HEX LITE BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10499',NULL,'MikroTik hEX by SNMP','3','-1','2','','','MikroTik hEX by SNMP','0',NULL,'The template for monitoring Ethernet router MikroTik hEX.
5x Gigabit Ethernet, Dual Core 880MHz CPU, 256MB RAM, USB, microSD, RouterOS
L4
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','68c2034014f24115ae9e910962530472','MIKROTIK HEX BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10500',NULL,'MikroTik netPower 15FR by SNMP','3','-1','2','','','MikroTik netPower 15FR by SNMP','0',NULL,'The template for monitoring Switch MikroTik netPower 15FR.
An outdoor 18 port switch with 15 reverse PoE ports and SFP. Cut costs, not
speed - choose GPEN over GPON!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f1928e12f9554599a9adb516f38b6bf6','MIKROTIK NETPOWER 15FR BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10501',NULL,'MikroTik netPower 16P by SNMP','3','-1','2','','','MikroTik netPower 16P by SNMP','0',NULL,'The template for monitoring Switch MikroTik netPower 16P.
An outdoor 18 port switch with 16 Gigabit PoE-out ports and 2 SFP+. Power all
your access points anywhere!
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b126aaf4499d49d7b4fcee0329b7dea7','MIKROTIK NETPOWER 16P BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10502',NULL,'MikroTik netPower Lite 7R by SNMP','3','-1','2','','','MikroTik netPower Lite 7R by SNMP','0',NULL,'The template for monitoring Switch MikroTik netPower Lite 7R.
An outdoor reverse PoE switch with Gigabit Ethernet and 10G SFP+ ports.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
MIKROTIK-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1782caa5bf724f66a23e7dbb96ef7ba2','MIKROTIK NETPOWER LITE 7R BY SNMP','Zabbix','7.4-4',NULL,'0','0',''),
('10503',NULL,'VMWare SD-WAN VeloCloud by HTTP','3','-1','2','','','VMWare SD-WAN VeloCloud by HTTP','0',NULL,'Template for monitoring VMWare SD-WAN VeloCloud https://www.vmware.com/products/sd-wan.html
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e1ca624566424496bff9d90c261ab37b','VMWARE SD-WAN VELOCLOUD BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10504',NULL,'Kubernetes API server by HTTP','3','-1','2','','','Kubernetes API server by HTTP','0',NULL,'Get Kubernetes API server metrics by HTTP agent from Prometheus metrics endpoint.
Don''t forget change macros {$KUBE.API.SERVER.URL}, {$KUBE.API.TOKEN}.
Some metrics may not be collected depending on your Kubernetes API server instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','85ce114c802e4e28a5f3597e07d07032','KUBERNETES API SERVER BY HTTP','Zabbix','7.4-2',NULL,'0','1','## Overview
The template to monitor Kubernetes API server that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template `Kubernetes API server by HTTP` - collects metrics by HTTP agent from API server /metrics endpoint.
## Setup
Internal service metrics are collected from /metrics endpoint.
Template needs to use Authorization via API token.
Set the following fields: `Kubernetes API server URL`, `API Authorization Token`.
*NOTE.* Some metrics may not be collected depending on your Kubernetes API server instance version and configuration.'),
('10505',NULL,'Kubernetes Controller manager by HTTP','3','-1','2','','','Kubernetes Controller manager by HTTP','0',NULL,'Get Kubernetes Controller manager metrics by HTTP agent from Prometheus metrics endpoint.
Don''t forget change macros {$KUBE.API.SERVER.URL}.
Some metrics may not be collected depending on your Kubernetes Controller manager instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2420a8a4fda74fbc81743aed69fafa3b','KUBERNETES CONTROLLER MANAGER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
The template to monitor Kubernetes Controller manager by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template `Kubernetes Controller manager by HTTP` - collects metrics by HTTP agent from Controller manager /metrics endpoint.
## Setup
Internal service metrics are collected from /metrics endpoint.
Template needs to use Authorization via API token.
Set the following fields: `Metrics endpoint URL`, `API Authorization Token`.
*NOTE.* You might need to set the `--binding-address` option for Controller Manager to the address where Zabbix proxy can reach it.
For example, for clusters created with `kubeadm` it can be set in the following manifest file (changes will be applied immediately):
- /etc/kubernetes/manifests/kube-controller-manager.yaml
*NOTE.* Some metrics may not be collected depending on your Kubernetes Controller manager instance version and configuration.'),
('10506',NULL,'Kubernetes Kubelet by HTTP','3','-1','2','','','Kubernetes Kubelet by HTTP','0',NULL,'Get Kubernetes kubelet metrics by HTTP agent from Prometheus metrics endpoint.
Don''t forget change macros {$KUBE.KUBELET.URL}, {$KUBE.API.TOKEN}.
Some metrics may not be collected depending on your Kubernetes API server instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e785916967c14544b59c3644c3edda3a','KUBERNETES KUBELET BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
The template to monitor Kubernetes Kubelet by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template `Kubernetes Kubelet by HTTP` - collects metrics by HTTP agent from Kubelet /metrics endpoint.
## Setup
Internal service metrics are collected from /metrics endpoint.
Template needs to use Authorization via API token.
Set the following fields: `Kubelet URL`, `API Authorization Token`.
*NOTE.* Some metrics may not be collected depending on your Kubernetes instance version and configuration.'),
('10507',NULL,'Kubernetes nodes by HTTP','3','-1','2','','','Kubernetes nodes by HTTP','0',NULL,'Get Kubernetes nodes metrics by HTTP.
Metrics are collected by requests to Kubernetes API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f397be2340734d24bc666102fbe184a5','KUBERNETES NODES BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
The template to monitor Kubernetes nodes that work without any external scripts.
It works without external scripts and uses the script item to make HTTP requests to the Kubernetes API.
Change the values according to the environment in the file $HOME/zabbix_values.yaml.
For example:
- ## Enables use of **Zabbix proxy**
enabled: false
Set the field: `Kubernetes API URL` such as `://:`.
Get the generated service account token using the command
`kubectl get secret zabbix-service-account -n monitoring -o jsonpath={.data.token} | base64 -d`
Then set it to the field: `API Authorization Token`.
Set up the fields to filter the metrics of discovered nodes
## Setup
Install the [Zabbix Helm Chart](https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse?at=refs%2Fheads%2Frelease/7.4) in your Kubernetes cluster.
Set the following fields: `Kubernetes API URL` such as `://:`.
Get the generated service account token using the command
`kubectl get secret zabbix-service-account -n monitoring -o jsonpath={.data.token} | base64 -d`
Then set it to the field: `API Authorization Token`.
Set `Nodes Endpoint Name` with Zabbix agent''s endpoint name. See `kubectl -n monitoring get ep`. Default: `zabbix-zabbix-helm-chrt-agent`.
Set up the fields to filter the metrics of discovered nodes and host creation based on host prototypes:
- `Node Matches Filter`
- `Node Exclusion Filter`
- `Node Role Matches Filter`
- `Node Role Exclusion Filter`
Set up fields to filter pod metrics by namespace:
- `Pod Namespace Matches Filter`
- `Pod Namespace Exclusion Filter`
**Note**, If you have a large cluster, it is highly recommended to set a filter for discoverable pods.
You can use the `Node Labels Filter`, `Pod Labels Filter`, `Node Annotations Filter` and `Pod Annotations Filter` fields for advanced filtering of nodes and pods by labels and annotations.
Notes about labels and annotations filters:
- Values should be specified separated by commas and must have the key/value form with support for regular expressions in the value (`key1: value, key2: regexp`).
- ECMAScript syntax is used for regular expressions.
- Filters are applied if such a label key exists for the entity that is being filtered (it means that if you specify a key in a filter, entities which do not have this key will not be affected by the filter and will still be discovered, and only entities containing that key will be filtered by the value).
- You can also use the exclamation point symbol (`!`) to invert the filter (`!key: value`).
For example: `kubernetes.io/hostname: kubernetes-node[5-25], !node-role.kubernetes.io/ingress: .*`. As a result, the nodes 5-25 without the "ingress" role will be discovered.
See the Kubernetes documentation for details about labels and annotations:
-
-
**Note**, the discovered nodes will be created as separate hosts in Zabbix with the Linux template automatically assigned to them.'),
('10509',NULL,'Kubernetes Scheduler by HTTP','3','-1','2','','','Kubernetes Scheduler by HTTP','0',NULL,'Get Kubernetes Scheduler metrics by HTTP agent from Prometheus metrics endpoint.
Don''t forget change macros {$KUBE.API.SERVER.URL}.
Some metrics may not be collected depending on your Kubernetes Scheduler instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ece96efdf0a045b99ede7978fa9366d6','KUBERNETES SCHEDULER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
The template to monitor Kubernetes Scheduler by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template `Kubernetes Scheduler by HTTP` - collects metrics by HTTP agent from Scheduler /metrics endpoint.
## Setup
Internal service metrics are collected from /metrics endpoint.
Template needs to use Authorization via API token.
Set the following fields: `Scheduler metrics endpoint URL`, `API Authorization Token`.
*NOTE.* You might need to set the `--binding-address` option for Scheduler to the address where Zabbix proxy can reach it.
For example, for clusters created with `kubeadm` it can be set in the following manifest file (changes will be applied immediately):
- /etc/kubernetes/manifests/kube-scheduler.yaml
*NOTE.* Some metrics may not be collected depending on your Kubernetes Scheduler instance version and configuration.'),
('10510',NULL,'Kubernetes cluster state by HTTP','3','-1','2','','','Kubernetes cluster state by HTTP','0',NULL,'Get Kubernetes state metrics by HTTP.
Metrics are collected by requests to Kubernetes API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','07695028a2ba4b66a5414797bec791df','KUBERNETES CLUSTER STATE BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
The template to monitor Kubernetes state.
It works without external scripts and uses the script item to make HTTP requests to the Kubernetes API.
Template `Kubernetes cluster state by HTTP` - collects metrics by HTTP agent from kube-state-metrics endpoint and Kubernetes API.
*NOTE.* Some metrics may not be collected depending on your Kubernetes version and configuration.
## Setup
Install the [Zabbix Helm Chart](https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse?at=refs%2Fheads%2Frelease/7.4) in your Kubernetes cluster.
Internal service metrics are collected from kube-state-metrics endpoint.
Template needs to use authorization via API token.
Set the `Kubernetes API URL` such as `://:`.
Get the generated service account token using the command:
`kubectl get secret zabbix-service-account -n monitoring -o jsonpath={.data.token} | base64 -d`
Then set it to the field: `API Authorization Token`.
Set `State Endpoint Name` with Kube state metrics endpoint name. See `kubectl -n monitoring get ep`. Default: `zabbix-kube-state-metrics`.
*NOTE.* If you wish to monitor Controller Manager and Scheduler components, you might need to set the `--binding-address` option for them to the address where Zabbix proxy can reach them.
For example, for clusters created with `kubeadm` it can be set in the following manifest files (changes will be applied immediately):
- /etc/kubernetes/manifests/kube-controller-manager.yaml
- /etc/kubernetes/manifests/kube-scheduler.yaml
Depending on your Kubernetes distribution, you might need to adjust `Control Plane Taint` field (for example, set it to `node-role.kubernetes.io/master` for OpenShift).
*NOTE.* Some metrics may not be collected depending on your Kubernetes version and configuration.
Set up the fields to filter the metrics of discovered Kubelets by node names:
- `Kubelet Node Matches Filter`
- `Kubelet Node Exclude Filter`
Set up fields to filter metrics by namespace:
- `Namespace Matches Filter`
- `Namespace Exclude Filter`
Set up fields to filter node metrics by nodename:
- `Node Matches Filter`
- `Node Exclude Filter`
**Note**: If you have a large cluster, it is highly recommended to set a filter for discoverable namespaces.
You can use the `Kubelet Labels Filter` and `Kubelet Annotations Filter` fields for advanced filtering of kubelets by node labels and annotations.
Notes about labels and annotations filters:
- Values should be specified separated by commas and must have the key/value form with support for regular expressions in the value (`key1: value, key2: regexp`).
- ECMAScript syntax is used for regular expressions.
- Filters are applied if such label key exists for the entity that is being filtered (it means that if you specify a key in the filter, entities that do not have this key will not be affected by the filter and will still be discovered, and only entities containing that key will be filtered by the value).
- You can also use the exclamation point symbol (`!`) to invert the filter (`!key: value`).
For example: `kubernetes.io/hostname: kubernetes-node[5-25], !node-role.kubernetes.io/ingress: .*`. As a result, the kubelets on nodes 5-25 without the "ingress" role will be discovered.
See the Kubernetes documentation for details about labels and annotations:
-
-
You can also set up evaluation periods for replica mismatch triggers (Deployments, ReplicaSets, StatefulSets) with the field `Replica Mismatch Evaluation Period`, which supports context and regular expressions.'),
('10515',NULL,'PFSense by SNMP','3','-1','2','','','PFSense by SNMP','0',NULL,'Template for monitoring pfSense by SNMP
Setup:
1. Enable SNMP daemon at Services in pfSense web interface https://docs.netgate.com/pfsense/en/latest/services/snmp.html
2. Setup firewall rule to get access from Zabbix proxy or Zabbix server by SNMP https://docs.netgate.com/pfsense/en/latest/firewall/index.html#managing-firewall-rules
3. Link template to the host
MIBs used:
BEGEMOT-PF-MIB
HOST-RESOURCES-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','16f281aeb8904d3db8b66dda94611fcc','PFSENSE BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10516',NULL,'OpenWeatherMap by HTTP','3','-1','2','','','OpenWeatherMap by HTTP','0',NULL,'Get weather metrics from OpenWeatherMap current weather API by HTTP.
It works without any external scripts and uses the Script item.
Setup:
1. Create a host.
2. Link the template to the host.
3. Customize the values of {$OPENWEATHERMAP.API.TOKEN} and {$LOCATION} macros.
OpenWeatherMap API Tokens are available in your OpenWeatherMap account https://home.openweathermap.org/api_keys.
Locations can be set by few ways:
- by geo coordinates (for example: 56.95,24.0833)
- by location name (for example: Riga)
- by location ID. Link to the list of city ID: http://bulk.openweathermap.org/sample/city.list.json.gz
- by zip/post code with a country code (for example: 94040,us)
A few locations can be added to the macro at the same time by "|" delimiter.
For example: 43.81821,7.76115|Riga|2643743|94040,us.
Please note that API requests by city name, zip-codes and city id will be deprecated soon.
Language and units macros can be customized too if necessary.
List of available languages: https://openweathermap.org/current#multi.
Available units of measurement are: standard, metric and imperial https://openweathermap.org/current#data.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8098b3c157ab456abd55d3840eef79c1','OPENWEATHERMAP BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10517',NULL,'Proxmox VE by HTTP','3','-1','2','','','Proxmox VE by HTTP','0',NULL,'This template is designed for the effortless deployment of Proxmox VE monitoring by Zabbix via HTTP and doesn''t require any external scripts.
Proxmox VE uses a REST like API. The concept is described in Resource Oriented Architecture (ROA).
Check the API documentation for details:
https://pve.proxmox.com/pve-docs/api-viewer/index.html
Setup:
1. Create an API token for the monitoring user. Important note: for security reasons, it is recommended to create a separate user (Datacenter - Permissions).
Please provide the necessary access levels for both the User and the Token:
* Check: ["perm","/",["Sys.Audit"]]
* Check: ["perm","/storage",["Datastore.Audit"]]
* Check: ["perm","/vms",["VM.Audit"]]
2. Copy the resulting Token ID and Secret into the host macros ''{$PVE.TOKEN.ID}'' and ''{$PVE.TOKEN.SECRET}''.
3. Set the hostname or IP address of the Proxmox VE API host in the ''{$PVE.URL.HOST}'' macro. You can also change the API port in the ''{$PVE.URL.PORT}'' macro if necessary.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4958b76448d74ff1b6d7d6280449beee','PROXMOX VE BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10518',NULL,'TrueNAS CORE by SNMP','3','-1','2','','','TrueNAS CORE by SNMP','0',NULL,'Template for monitoring TrueNAS CORE by SNMP.
Setup:
1. Import the template into Zabbix.
2. Enable SNMP daemon at Services in TrueNAS CORE web interface: https://www.truenas.com/docs/core/uireference/services/snmpscreen/
3. Link the template to the host.
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
UCD-DISKIO-MIB
UCD-SNMP-MIB
FREENAS-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','28e31ef9402d4c1ba2fbc730a288d2d8','TRUENAS CORE BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10519',NULL,'CockroachDB by HTTP','3','-1','2','','','CockroachDB by HTTP','0',NULL,'The template to monitor CockroachDB nodes by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template collects metrics by HTTP agent from Prometheus endpoint and health endpoints.
Internal node metrics are collected from Prometheus /_status/vars endpoint.
Node health metrics are collected from /health and /health?ready=1 endpoints.
The template doesn''t require usage of session token.
Note, that some metrics may not be collected depending on your CockroachDB version and configuration.
Setup:
Set the hostname or IP address of the CockroachDB node host in the ''{$COCKROACHDB.API.HOST}'' macro. You can also change the port in the ''{$COCKROACHDB.API.PORT}'' macro and the scheme in the ''{$COCKROACHDB.API.SCHEME}'' macro if necessary.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','36116d8675da47b8a678193969d5a787','COCKROACHDB BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10520',NULL,'Envoy Proxy by HTTP','3','-1','2','','','Envoy Proxy by HTTP','0',NULL,'Get Envoy Proxy metrics by HTTP agent from metrics endpoint.
https://www.envoyproxy.io/docs/envoy/v1.20.0/operations/stats_overview
Don''t forget to change macros {$ENVOY.URL}, {$ENVOY.METRICS.PATH}.
Some metrics may not be collected depending on your Envoy Proxy instance version and configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0368ca599bbb49729587b9c43ac83084','ENVOY PROXY BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10521',NULL,'HashiCorp Consul Node by HTTP','3','-1','2','','','HashiCorp Consul Node by HTTP','0',NULL,'Get HashiCorp Consul Node metrics by HTTP agent from metrics endpoint.
Don''t forget to change macros {$CONSUL.NODE.API.URL}, {$CONSUL.TOKEN}.
Some metrics may not be collected depending on your HashiCorp Consul instance version and configuration.
More information about metrics you can find in official documentation: https://www.consul.io/docs/agent/telemetry
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','884bdbeea93c4be0a11a2c92a5f8adce','HASHICORP CONSUL NODE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10522',NULL,'HashiCorp Consul Cluster by HTTP','3','-1','2','','','HashiCorp Consul Cluster by HTTP','0',NULL,'Get HashiCorp Consul Cluster services and nodes by HTTP agent from API endpoints.
Don''t forget to change macros {$CONSUL.CLUSTER.URL}, {$CONSUL.TOKEN}.
Some metrics may not be collected depending on your HashiCorp Consul instance version and configuration.
More information about metrics you can find in official documentation: https://www.consul.io/docs/agent/telemetry
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3db29bb6b2b14fa289ba7915264efcdf','HASHICORP CONSUL CLUSTER BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10524',NULL,'HPE MSA 2040 Storage by HTTP','3','-1','2','','','HPE MSA 2040 Storage by HTTP','0',NULL,'The template to monitor HPE MSA 2040 by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create a user with a monitor role on the storage, for example "zabbix".
2. Link the template to a host.
3. Set the hostname or IP address of the host in the {$HPE.MSA.API.HOST} macro and configure the username and password in the {$HPE.MSA.API.USERNAME} and {$HPE.MSA.API.PASSWORD} macros.
4. Change the {$HPE.MSA.API.SCHEME} and {$HPE.MSA.API.PORT} macros if needed.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','be10b1140fce4cc08247260b71bcd037','HPE MSA 2040 STORAGE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10525',NULL,'HPE MSA 2060 Storage by HTTP','3','-1','2','','','HPE MSA 2060 Storage by HTTP','0',NULL,'The template to monitor HPE MSA 2060 by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create a user with a monitor role on the storage, for example "zabbix".
2. Link the template to a host.
3. Set the hostname or IP address of the host in the {$HPE.MSA.API.HOST} macro and configure the username and password in the {$HPE.MSA.API.USERNAME} and {$HPE.MSA.API.PASSWORD} macros.
4. Change the {$HPE.MSA.API.SCHEME} and {$HPE.MSA.API.PORT} macros if needed.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','10537641cfa3416ab0f1451cdb61d804','HPE MSA 2060 STORAGE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10526',NULL,'HPE Primera by HTTP','3','-1','2','','','HPE Primera by HTTP','0',NULL,'The template to monitor HPE Primera by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create a user on the storage with a browse role and enable it for all domains, for example "zabbix".
2. The WSAPI server does not start automatically.
- Log in to the CLI as Super, Service, or any role granted the wsapi_set right.
- Start the WSAPI server by command: `startwsapi`.
- To check WSAPI state use command: `showwsapi`.
3. Link template to the host.
4. Set the hostname or IP address of the host in the {$HPE.PRIMERA.API.HOST} macro and configure the username and password in the {$HPE.PRIMERA.API.USERNAME} and {$HPE.PRIMERA.API.PASSWORD} macros.
5. Change the {$HPE.PRIMERA.API.SCHEME} and {$HPE.PRIMERA.API.PORT} macros if needed.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b8750c02b5624c6889979b129735bd56','HPE PRIMERA BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10527',NULL,'AWS EC2 by HTTP','3','-1','2','','','AWS EC2 by HTTP','0',NULL,'Get AWS EC2 and attached AWS EBS volumes metrics and uses the script item to make HTTP requests to the CloudWatch API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7af6d68b223a43d4bf8526cc5dc3fe2e','AWS EC2 BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
The template to monitor AWS EC2 and attached AWS EBS volumes by HTTP via Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and used API methods:
* [Full metrics list related to EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html)
* [Full metrics list related to EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
* [DescribeVolumes API method](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html)
## Setup
The template get AWS EC2 and attached AWS EBS volumes metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect Amazon EC2 metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"ec2:DescribeVolumes",
"cloudwatch:"DescribeAlarms",
"cloudwatch:GetMetricData"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume Role Authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeVolumes",
"cloudwatch:"DescribeAlarms",
"cloudwatch:GetMetricData"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:DescribeVolumes",
"cloudwatch:"DescribeAlarms",
"cloudwatch:GetMetricData"
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
For more information, see the [EC2 policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam.html) on the AWS website.
Set the following fields: `Authorization method`, `AWS Region`, `EC2 instance ID`.
For more information about manage access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
Also, see the Macros section for a list of macros used for LLD filters.'),
('10528',NULL,'OPNsense by SNMP','3','-1','2','','','OPNsense by SNMP','0',NULL,'Template for monitoring OPNsense by SNMP
Setup:
1. Enable bsnmpd daemon by creating new config file "/etc/rc.conf.d/bsnmpd" with the following content:
bsnmpd_enable="YES"
2. Uncomment the following lines in "/etc/snmpd.config" file to enable required SNMP modules:
begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"
begemotSnmpdModulePath."pf" = "/usr/lib/snmp_pf.so"
3. Start bsnmpd daemon with the following command:
/etc/rc.d/bsnmpd start
4. Setup a firewall rule to get access from Zabbix proxy or Zabbix server by SNMP (https://docs.opnsense.org/manual/firewall.html).
5. Link the template to a host.
MIBs used:
BEGEMOT-PF-MIB
HOST-RESOURCES-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0c94915edb4c41bf8c627dddb4f68f5a','OPNSENSE BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10529',NULL,'AWS RDS instance by HTTP','3','-1','2','','','AWS RDS instance by HTTP','0',NULL,'The template gets AWS RDS instance metrics and uses the script item to make HTTP requests to the CloudWatch API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c6d9475847f44d9193f8253e5995b8f8','AWS RDS INSTANCE BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
The template to monitor AWS RDS instance by HTTP via Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and used API methods:
* [Full metrics list related to RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html)
* [Full metrics list related to Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html#Aurora.AuroraMySQL.Monitoring.Metrics.instances)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
## Setup
The template get AWS RDS instance metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect Amazon RDS metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"rds:DescribeEvents",
"rds:DescribeDBInstances"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume Role Authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"rds:DescribeEvents",
"rds:DescribeDBInstances"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"rds:DescribeEvents",
"rds:DescribeDBInstances",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following fields: `Authorization method`, `AWS Region`, `RDS DB Instance identifier`.
For more information about manage access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
Also, see the Macros section for a list of macros used for LLD filters.'),
('10530',NULL,'AWS S3 bucket by HTTP','3','-1','2','','','AWS S3 bucket by HTTP','0',NULL,'The template gets AWS S3 bucket metrics and uses the script item to make HTTP requests to the CloudWatch API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a14ab6b4e80643fe8daa9d7288658f79','AWS S3 BUCKET BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
The template to monitor AWS S3 bucket by HTTP via Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and used API methods:
* [Full metrics list related to S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
## Setup
The template gets AWS S3 metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect Amazon S3 metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"s3:GetMetricsConfiguration"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"s3:GetMetricsConfiguration"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"s3:GetMetricsConfiguration",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
To gather Request metrics, [enable Requests metrics](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudwatch-monitoring.html) on your Amazon S3 buckets from the AWS console.
You can also define a filter for the Request metrics using a shared prefix, object tag, or access point.
Set the following fields: `Authorization method`, `S3 bucket name`.
For more information about manage access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
Also, see the Macros section for a list of macros used for LLD filters.'),
('10531',NULL,'Azure by HTTP','3','-1','2','','','Azure by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure by HTTP.
It works without any external scripts and uses the script item.
Currently the template supports the discovery of virtual machines (VMs), Cosmos DB for MongoDB, storage accounts, Microsoft SQL, MySQL, and PostgreSQL servers.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: `{$AZURE.APP.ID}`, `{$AZURE.PASSWORD}`, `{$AZURE.TENANT.ID}`, and `{$AZURE.SUBSCRIPTION.ID}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fa58228fee8a4e34a7c6503950d1c615','AZURE BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
- This template is designed to monitor Microsoft Azure by HTTP.
- It works without any external scripts and uses the script item.
- Currently, the template supports the discovery of virtual machines (VMs), VM scale sets, Cosmos DB for MongoDB, storage accounts, Microsoft SQL, MySQL, and PostgreSQL servers.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`.'),
('10532',NULL,'Azure Virtual Machine by HTTP','3','-1','2','','','Azure Virtual Machine by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','820fa4a1565c43e4aac07a691a5bface','AZURE VIRTUAL MACHINE BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure virtual machine ID`.'),
('10534',NULL,'HPE Synergy by HTTP','3','-1','2','','','HPE Synergy by HTTP','0',NULL,'This template is designed to monitor HPE Synergy by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Link template to the host.
2. Set the hostname or IP address of the host in the {$HPE.SYNERGY.API.HOST} macro and configure the username and password in the {$HPE.SYNERGY.API.USERNAME} and {$HPE.SYNERGY.API.PASSWORD} macros.
3. Change the {$HPE.SYNERGY.API.SCHEME} and {$HPE.SYNERGY.API.PORT} macros if needed.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0ffde4421f524bcbac2f47fec87c0f95','HPE SYNERGY BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10535',NULL,'AWS by HTTP','3','-1','2','','','AWS by HTTP','0',NULL,'Get AWS EC2, RDS and S3 instances, AWS ECS clusters, AWS Elastic Load Balancing, Backup vaults. Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c60e5929ab474f67bbe67dc6b04e709d','AWS BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
This template is designed for the effortless deployment of AWS monitoring by Zabbix via HTTP and doesn''t require any external scripts.
- Currently, the template supports the discovery of EC2 and RDS instances, ECS clusters, ELB, Lambda, S3 buckets and Backup vaults.
## Setup
Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect metrics.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeRegions",
"rds:DescribeEvents",
"rds:DescribeDBInstances",
"ecs:DescribeClusters",
"ecs:ListServices",
"ecs:ListTasks",
"ecs:ListClusters",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetMetricsConfiguration",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetGroups",
"ec2:DescribeSecurityGroups",
"lambda:ListFunctions",
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in `Access key ID` and `Secret access key`.
### Assume Role Authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeRegions",
"rds:DescribeEvents",
"rds:DescribeDBInstances",
"ecs:DescribeClusters",
"ecs:ListServices",
"ecs:ListTasks",
"ecs:ListClusters",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetMetricsConfiguration",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetGroups",
"ec2:DescribeSecurityGroups",
"lambda:ListFunctions",
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, add the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeRegions",
"rds:DescribeEvents",
"rds:DescribeDBInstances",
"ecs:DescribeClusters",
"ecs:ListServices",
"ecs:ListTasks",
"ecs:ListClusters",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetMetricsConfiguration",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetGroups",
"ec2:DescribeSecurityGroups",
"lambda:ListFunctions",
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
To gather Request metrics, enable [Requests metrics](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudwatch-monitoring.html) on your Amazon S3 buckets from the AWS console.
Choose a method of authorization (field of `Authorization method`).
For more information about managing access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
Refer to the Macros section for a list of macros used for LLD filters.
Additional information about the metrics and used API methods:
* [Full metrics list related to EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html)
* [Full metrics list related to EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)
* [Full metrics list related to RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html)
* [Full metrics list related to Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html#Aurora.AuroraMySQL.Monitoring.Metrics.instances)
* [Full metrics list related to S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html)
* [Full metrics list related to ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html)
* [Full metrics list related to ELB ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)
* [Full metrics list related to Backup vault](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupVaultListMember.html)
* [Full metrics list related to Backup jobs](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupJob.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
* [DescribeVolumes API method](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html)
* [DescribeLoadBalancers API method](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)'),
('10539',NULL,'Azure MySQL Flexible Server by HTTP','3','-1','2','','','Azure MySQL Flexible Server by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure MySQL flexible servers by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ec92c7b0b1d14946b6ac61de89357199','AZURE MYSQL FLEXIBLE SERVER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure MySQL flexible servers by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure MySQL server ID.`.'),
('10540',NULL,'Azure MySQL Single Server by HTTP','3','-1','2','','','Azure MySQL Single Server by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure MySQL single servers by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c1396bf1e8cf46f6a407e88ddceef0b8','AZURE MYSQL SINGLE SERVER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure MySQL single servers by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure MySQL server ID`.'),
('10543',NULL,'Azure PostgreSQL Flexible Server by HTTP','3','-1','2','','','Azure PostgreSQL Flexible Server by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure PostgreSQL flexible servers by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','35ef29f24158444097272d2ea7fa6044','AZURE POSTGRESQL FLEXIBLE SERVER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure PostgreSQL flexible servers by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure PostgreSQL server ID`.'),
('10544',NULL,'Azure PostgreSQL Single Server by HTTP','3','-1','2','','','Azure PostgreSQL Single Server by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure PostgreSQL servers by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d023e2cd326c486f908e3e361d1fe157','AZURE POSTGRESQL SINGLE SERVER BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure PostgreSQL servers by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure PostgreSQL server ID`.'),
('10546',NULL,'Cisco Meraki dashboard by HTTP','3','-1','2','','','Cisco Meraki dashboard by HTTP','0',NULL,'Template for monitoring Cisco Meraki dashboard https://meraki.cisco.com/products/meraki-dashboard/
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2fca6b60914b4fa98132b1a7885ab014','CISCO MERAKI DASHBOARD BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10547',NULL,'Cisco Meraki device by HTTP','3','-1','2','','','Cisco Meraki device by HTTP','0',NULL,'Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2cae7d2eeca04e6fa7419759ac9ad814','CISCO MERAKI DEVICE BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10548',NULL,'Cisco Meraki organization by HTTP','3','-1','2','','','Cisco Meraki organization by HTTP','0',NULL,'Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','39e2f742d0b24ea489b7f61d27a5df1c','CISCO MERAKI ORGANIZATION BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10551',NULL,'Cisco Nexus 9000 Series by SNMP','3','-1','2','','','Cisco Nexus 9000 Series by SNMP','0',NULL,'Template Cisco Nexus 9000 Series
MIBs used:
CISCO-ENHANCED-MEMPOOL-MIB
CISCO-ENTITY-FRU-CONTROL-MIB
CISCO-ENTITY-SENSOR-MIB
CISCO-PROCESS-MIB
ENTITY-MIB
EtherLike-MIB
IF-MIB
SNMPv2-MIB
SNMP-FRAMEWORK-MIB
CISCO-IMAGE-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','80fc469750f84061924662a98c33580c','CISCO NEXUS 9000 SERIES BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10552',NULL,'Control-M enterprise manager by HTTP','3','-1','2','','','Control-M enterprise manager by HTTP','0',NULL,'This template is designed to get metrics from the Control-M Enterprise Manager using the Control-M Automation API with HTTP agent.
This template monitors active Service Level Agreement (SLA) services, discovers Control-M servers using Low Level Discovery and also creates host prototypes for them in conjunction with the `Control-M server by HTTP` template.
To use this template, macros `{$API.TOKEN}` and `{$API.URI.ENDPOINT}` need to be set.
> See [Zabbix template operation](https://www.zabbix.com/documentation/7.4/manual/config/templates_out_of_the_box/http) for basic instructions.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','24b64f6d22b446dabecc86ee3f199004','CONTROL-M ENTERPRISE MANAGER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10553',NULL,'Control-M server by HTTP','3','-1','2','','','Control-M server by HTTP','0',NULL,'This template is designed to get metrics from the Control-M server using the Control-M Automation API with HTTP agent.
This template monitors server statistics, discovers jobs and agents using Low Level Discovery.
To use this template, macros `{$API.TOKEN}`, `{$API.URI.ENDPOINT}`, and `{$SERVER.NAME}` need to be set.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c077d6c381904e94a4df88136588b551','CONTROL-M SERVER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10555',NULL,'Veeam Backup and Replication by HTTP','3','-1','2','','','Veeam Backup and Replication by HTTP','0',NULL,'This template is designed to monitor Veeam Backup and Replication.
NOTE: The RESTful API may not be available for some editions, see (https://www.veeam.com/licensing-pricing.html) for more details.
Setup:
1. Create a user to monitor the service or use an existing read-only account.
See (https://helpcenter.veeam.com/docs/backup/vbr_rest/reference/vbr-rest-v1-rev2.html?ver=110#tag/Login/operation/CreateToken!path=grant_type&t=request) for more details.
2. Link the template to a host.
3. Configure the following macros: {$VEEAM.API.URL}, {$VEEAM.USER}, and {$VEEAM.PASSWORD}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','738085dde4e749d49199e5e6fd4d56ab','VEEAM BACKUP AND REPLICATION BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10556',NULL,'Veeam Backup Enterprise Manager by HTTP','3','-1','2','','','Veeam Backup Enterprise Manager by HTTP','0',NULL,'This template is designed to monitor Veeam Backup Enterprise Manager.
NOTE: The REST API may not be available for some editions, see (https://www.veeam.com/licensing-pricing.html) for more details.
Setup:
1. Create a user to monitor the service, or use an existing read-only account.
Similarly to the user authentication in the Veeam Backup Enterprise Manager Web UI,
the client authentication in the REST API dictates which operations a client is allowed to perform when working with the REST API.
That is, if the client is authenticated using an account that does not have enough permissions to perform some actions, it will not be able to execute them.
You can also obtain the collected jobs if you are logged in under an account having only `Portal Administrator` role.
See (https://helpcenter.veeam.com/docs/backup/em_rest/http_authentication.html?ver=110) for more details.
2. Link the template to a host.
3. Configure the following macros: {$VEEAM.MANAGER.API.URL}, {$VEEAM.MANAGER.USER}, {$VEEAM.MANAGER.PASSWORD}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2ce384bafd524db5b910d7f55bca1fbb','VEEAM BACKUP ENTERPRISE MANAGER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10557',NULL,'Azure Microsoft SQL Database by HTTP','3','-1','2','','','Azure Microsoft SQL Database by HTTP','0',NULL,'This template is designed to monitor Microsoft SQL databases by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2d8b9329b5d04cdf85bf17d2d0db2b29','AZURE MICROSOFT SQL DATABASE BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft SQL databases by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure MSSQL database ID`.'),
('10558',NULL,'Azure Microsoft SQL Serverless Database by HTTP','3','-1','2','','','Azure Microsoft SQL Serverless Database by HTTP','0',NULL,'This template is designed to monitor Microsoft SQL serverless databases by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5175afdf713744d9a81ce53864ccfc1d','AZURE MICROSOFT SQL SERVERLESS DATABASE BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft SQL serverless databases by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure MSSQL database ID`.'),
('10560',NULL,'OS processes by Zabbix agent','3','-1','2','','','OS processes by Zabbix agent','0',NULL,'Get processes metrics using item proc.get by Zabbix agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0f6889282f6048e2b1370e569e578985','OS PROCESSES BY ZABBIX AGENT','Zabbix','7.4-0',NULL,'0','0',''),
('10561',NULL,'Zabbix agent','3','-1','2','','','Zabbix agent','0',NULL,'Use this template for agents reachable from Zabbix server/proxy (passive mode).
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8aa4557f6c3f4aadbc03447fca3af9f6','ZABBIX AGENT','Zabbix','7.4-1',NULL,'0','0',''),
('10562',NULL,'Zabbix agent active','3','-1','2','','','Zabbix agent active','0',NULL,'Use this template instead of ''Zabbix agent'' for agents running in active mode only.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','650bec3f2f364a478b82317396949459','ZABBIX AGENT ACTIVE','Zabbix','7.4-1',NULL,'0','0',''),
('10563',NULL,'Generic by SNMP','3','-1','2','','','Generic by SNMP','0',NULL,'Template Module Generic
MIBs used:
HOST-RESOURCES-MIB
SNMPv2-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4cb1aabe2b704b5c882963c2ef87d8f6','GENERIC BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10564',NULL,'ICMP Ping','3','-1','2','','','ICMP Ping','0',NULL,'Template Net ICMP Ping
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','37e5eb5606bc4abba66c8b20381a1e8a','ICMP PING','Zabbix','7.4-2',NULL,'0','1','## Setup
Set `Threshold of ICMP packet loss` and `Threshold of the average ICMP response`'),
('10565',NULL,'SMART by Zabbix agent 2','3','-1','2','','','SMART by Zabbix agent 2','0',NULL,E'The template for monitoring S.M.A.R.T. attributes of physical disk that works without any external scripts. It collects metrics by Zabbix agent 2 version 5.0 and later with Smartmontools version 7.1 and later. Disk discovery LLD rule finds all HDD, SSD, NVMe disks with S.M.A.R.T. enabled. Attribute discovery LLD rule have pre-defined Vendor Specific Attributes for each disk, and will be discovered if attribute is present.
Setup:
1. Install Zabbix agent 2 and Smartmontools 7.1 or newer.
2. Ensure the path to the "smartctl" executable is correctly specified. You can either provide the full path to the executable (e.g., "/usr/sbin/smartctl" on Linux or "C:\\Program Files\\smartctl\\smartctl.exe" on Windows) in the configuration file or ensure that the folder containing the "smartctl" executable is added to the system''s environment variables ("PATH"). This applies to both Linux and Windows systems.
Example for Linux:
Plugins.Smart.Path=/usr/sbin/smartctl
Example for Windows:
Plugins.Smart.Path="C:\\Program Files\\smartctl\\smartctl.exe"
3. Grant Zabbix agent 2 super/admin user privileges for the "smartctl" utility (not required for Windows). Example for Linux (add the line that grants execution of the "smartctl" utility without the password):
- Run the "visudo" command to edit the "sudoers" file:
sudo visudo
- Add the permission line and save the changes:
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/415662-discussion-thread-for-official-zabbix-smart-disk-monitoring
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7b6c6228b25f4586b42cd1bf37ff8034','SMART BY ZABBIX AGENT 2','Zabbix','7.4-2',NULL,'0','0',''),
('10566',NULL,'SMART by Zabbix agent 2 active','3','-1','2','','','SMART by Zabbix agent 2 active','0',NULL,E'The template for monitoring S.M.A.R.T. attributes of physical disk that works without any external scripts. It collects metrics by Zabbix agent 2 version 5.0 and later with Smartmontools version 7.1 and later. Disk discovery LLD rule finds all HDD, SSD, NVMe disks with S.M.A.R.T. enabled. Attribute discovery LLD rule have pre-defined Vendor Specific Attributes for each disk, and will be discovered if attribute is present.
Setup:
1. Install Zabbix agent 2 and Smartmontools 7.1 or newer.
2. Ensure the path to the "smartctl" executable is correctly specified. You can either provide the full path to the executable (e.g., "/usr/sbin/smartctl" on Linux or "C:\\Program Files\\smartctl\\smartctl.exe" on Windows) in the configuration file or ensure that the folder containing the "smartctl" executable is added to the system''s environment variables ("PATH"). This applies to both Linux and Windows systems.
Example for Linux:
Plugins.Smart.Path=/usr/sbin/smartctl
Example for Windows:
Plugins.Smart.Path="C:\\Program Files\\smartctl\\smartctl.exe"
3. Grant Zabbix agent 2 super/admin user privileges for the "smartctl" utility (not required for Windows). Example for Linux (add the line that grants execution of the "smartctl" utility without the password):
- Run the "visudo" command to edit the "sudoers" file:
sudo visudo
- Add the permission line and save the changes:
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/415662-discussion-thread-for-official-zabbix-smart-disk-monitoring
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e518b1340ce44d7389d2cc7c304a97b4','SMART BY ZABBIX AGENT 2 ACTIVE','Zabbix','7.4-2',NULL,'0','0',''),
('10568',NULL,'Azure Cosmos DB for MongoDB by HTTP','3','-1','2','','','Azure Cosmos DB for MongoDB by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure Cosmos DB for MongoDB by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','29325098807848aa928b4192ad5e020f','AZURE COSMOS DB FOR MONGODB BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure Cosmos DB ID`.'),
('10570',NULL,'GCP by HTTP','3','-1','2','','','GCP by HTTP','0',NULL,'Discover GCP Compute Engine/Cloud SQL Instances and Compute Engine project quota metrics.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4e1e9372a5fe4297936210bc4fc4b1c0','GCP BY HTTP','Zabbix','7.4-2',NULL,'0','1',E'## Overview
This template is designed to monitor Google Cloud Platform (hereinafter - GCP) by Zabbix.
It works without any external scripts and uses the script item.
The template currently supports the discovery of [Compute Engine](https://cloud.google.com/compute)/[Cloud SQL](https://cloud.google.com/sql) instances and Compute Engine project quota metrics.
## Setup
1. Enable the `Stackdriver Monitoring API` for the GCP project you wish to monitor.
>Refer to the [vendor documentation](https://cloud.google.com/monitoring/api/enable-api).
2. Create a service account in Google Cloud console for the project you have to monitor.
>Refer to the [vendor documentation](https://cloud.google.com/iam/docs/creating-managing-service-accounts).
3. Create and download the service account key in JSON format.
>Refer to the [vendor documentation](https://cloud.google.com/iam/docs/creating-managing-service-account-keys).
4. If you want to monitor Cloud SQL services - don''t forget to activate the Cloud SQL Admin API.
>Refer to the [vendor documentation](https://cloud.google.com/sql/docs/mysql/admin-api) for the details.
5. Copy the `project_id`, `private_key_id`, `private_key`, `client_email` from the JSON key file and add them to their corresponding macros `GCP project ID`, `Private key id`, `Private key data`, `Client e-mail` in host wizard configuration fields.
**Additional information**:
Make sure that you''re creating the service account using the credentials with the `Project Owner/Project IAM Admin/service account Admin` role.
The service account JSON key file can only be downloaded once: regenerate it if the previous key has been lost.
The service account should have `Project Viewer` permissions or granular permissions for the GCP Compute Engine API/GCP Cloud SQL.
You can copy and paste private_key string data from the Service Account JSON key file as is or replace the new line metasymbol (\\n) with an actual new line.
>Please, refer to the [vendor documentation](https://cloud.google.com/iam/docs/manage-access-service-accounts) about the service accounts management.
**IMPORTANT!!!**
Secret authorization token is defined as a plain text in host prototype settings by default due to Zabbix templates export/import limits: therefore, it is highly recommended to change the user macro `{$GCP.AUTH.TOKEN}` value type to `SECRET` for all host prototypes after the template `GCP by HTTP` import.
All the instances/quotas/metrics discovered are related to a particular GCP project.
To monitor several GCP projects - create their corresponding service accounts/Zabbix hosts.
GCP Access Token is available for 1 hour (3600 seconds) after the generation request.
To avoid a GCP token inconsistency between Zabbix database and Zabbix server configuration cache, don''t set Zabbix server configuration parameter CacheUpdateFrequency to a value over 45 minutes and don''t set the update interval for the GCP Authorization item to more than 1 hour (maximum CacheUpdateFrequency value).
Additional information about metrics and used API methods:
[Compute Engine](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-compute)
[Cloud SQL](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-cloudsql)'),
('10571',NULL,'GCP Cloud SQL MSSQL by HTTP','3','-1','2','','','GCP Cloud SQL MSSQL by HTTP','0',NULL,'Get GCP Cloud SQL MSSQL instances monitoring with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','507d70db18554a4e9ee5e09bb29bc85f','GCP CLOUD SQL MSSQL BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10572',NULL,'GCP Cloud SQL MSSQL Replica by HTTP','3','-1','2','','','GCP Cloud SQL MSSQL Replica by HTTP','0',NULL,'Get GCP Cloud SQL MSSQL monitoring for read-only replicas with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','54f0ffb538d94a9bb8062df3e63c4cb6','GCP CLOUD SQL MSSQL REPLICA BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10573',NULL,'GCP Cloud SQL MySQL by HTTP','3','-1','2','','','GCP Cloud SQL MySQL by HTTP','0',NULL,'Get GCP Cloud SQL MySQL instances monitoring with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','38456af4aedd4b168ec3fa4ad2acb256','GCP CLOUD SQL MYSQL BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10574',NULL,'GCP Cloud SQL MySQL Replica by HTTP','3','-1','2','','','GCP Cloud SQL MySQL Replica by HTTP','0',NULL,'Get GCP Cloud SQL MySQL monitoring for read-only replicas with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','9d7871c093f9489293421396b9fea668','GCP CLOUD SQL MYSQL REPLICA BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10575',NULL,'GCP Cloud SQL PostgreSQL by HTTP','3','-1','2','','','GCP Cloud SQL PostgreSQL by HTTP','0',NULL,'Get GCP Cloud SQL PostgreSQL instances monitoring with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e74c1e12f82e4d9880a368b53f5e65a4','GCP CLOUD SQL POSTGRESQL BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10576',NULL,'GCP Cloud SQL PostgreSQL Replica by HTTP','3','-1','2','','','GCP Cloud SQL PostgreSQL Replica by HTTP','0',NULL,'Get GCP Cloud SQL PostgreSQL monitoring for read-only replicas with script item usage to perform HTTP requests to Google Cloud Platform Monitoring API.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b43a7c5f1d1d43d28e2eb8f0a9f6f16f','GCP CLOUD SQL POSTGRESQL REPLICA BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10577',NULL,'GCP Compute Engine Instance by HTTP','3','-1','2','','','GCP Compute Engine Instance by HTTP','0',NULL,'Discover GCP Compute Engine instances by HTTP with script item usage.
This template will be automatically connected to discovered entities with all their required parameters pre-defined.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6d2443db49e54d59a82b9b525f2424ef','GCP COMPUTE ENGINE INSTANCE BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10582',NULL,'AWS Cost Explorer by HTTP','3','-1','2','','','AWS Cost Explorer by HTTP','0',NULL,'The template gets AWS Cost Explorer metrics and uses the script item to make HTTP requests to the Cost Explorer API.
The Cost Explorer API can access the historical data over up to 12 months and the data for current month.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','dce23cdaef364e139efa580d8a304ffe','AWS COST EXPLORER BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
The template to monitor AWS Cost Explorer by HTTP via Zabbix, which works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the Cost Explorer API calls to list and retrieve metrics.
For more information, please refer to the [Cost Explorer pricing](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/pricing/) page.
## Setup
Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.
* [IAM policies for AWS Cost Management](https://docs.aws.amazon.com/cost-management/latest/userguide/billing-permissions-ref.html)
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect metrics.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ce:GetDimensionValues",
"ce:GetCostAndUsage"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume Role Authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"ce:GetDimensionValues",
"ce:GetCostAndUsage"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, add the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Effect": "Allow",
"Action": [
"ce:GetDimensionValues",
"ce:GetCostAndUsage",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Choose a method of authorization (field of `Authorization method`).
For more information about managing access keys, see the [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
Also, see the Macros section for a list of macros used in LLD filters.
Additional information about metrics and used API methods:
* [Describe AWS Cost Explore API actions](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Operations.html)'),
('10583',NULL,'AWS ECS Cluster by HTTP','3','-1','2','','','AWS ECS Cluster by HTTP','0',NULL,'The template gets AWS ECS Cluster metrics and uses the script item to make HTTP requests to the CloudWatch API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c94105c23220452baed03ba87f09ca12','AWS ECS CLUSTER BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
The template to monitor AWS ECS Serverless Cluster by HTTP via Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about the metrics and used API methods:
* [Full metrics list related to ECS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
## Setup
The template gets AWS ECS metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect Amazon ECS metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following macros `Authorization method`, `AWS Region`, `ECS cluster name`.
For more information about managing access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
Refer to the Macros section for a list of macros used for LLD filters.'),
('10584',NULL,'AWS ECS Serverless Cluster by HTTP','3','-1','2','','','AWS ECS Serverless Cluster by HTTP','0',NULL,'The template gets AWS ECS Serverless Cluster metrics and uses the script item to make HTTP requests to the CloudWatch API.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','5e225ad1c2cc4d0bbf75586e7bf8871b','AWS ECS SERVERLESS CLUSTER BY HTTP','Zabbix','7.4-4',NULL,'0','1','## Overview
The template to monitor AWS ECS Serverless Cluster by HTTP via Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
*NOTE*
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about the metrics and used API methods:
* [Full metrics list related to ECS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
## Setup
The template gets AWS ECS metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect Amazon ECS metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ecs:ListServices",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following macros `Authorization method`, `AWS Region`, `ECS cluster name`.
For more information about managing access keys, see [official documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
Refer to the Macros section for a list of macros used for LLD filters.'),
('10586',NULL,'OpenStack by HTTP','3','-1','2','','','OpenStack by HTTP','0',NULL,'Requests OpenStack API access token and discovers available OpenStack services using OpenStack Identity API by HTTP using script item and creates host prototypes for them.
Template uses OpenStack application credentials for authorization.
Zabbix currently supports OpenStack Nova service.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4e3fb27f028e4c35b8c9fc43b11c07d7','OPENSTACK BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10587',NULL,'OpenStack Nova by HTTP','3','-1','2','','','OpenStack Nova by HTTP','0',NULL,'Discovers and monitors project limits, servers, services, hypervisors, availability zones, hypervisors and tenants with OpenStack Compute API by HTTP using script and HTTP agent items.
This template receives token and service URL from parent host, therefore no additional configuration is necessary.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ff637e001b91472d8730eb7f10e65800','OPENSTACK NOVA BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10589',NULL,'PostgreSQL by ODBC','3','-1','2','','','PostgreSQL by ODBC','0',NULL,'This template is designed for the effortless deployment of PostgreSQL monitoring by Zabbix via ODBC and doesn''t require any external scripts.
Setup:
1. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
2. Edit the `pg_hba.conf` configuration file to allow TCP connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
3. Install the PostgreSQL ODBC driver.
4. Set up the connection string with the `{$PG.CONNSTRING.ODBC}` macro. The minimum required parameters are:
- `Driver=` - set the name of the driver which will be used for monitoring (from the `odbcinst.ini` file) or specify the path to the driver file (for example `/usr/lib64/psqlodbcw.so`);
- `Servername=` - set the host name or IP address of the PostgreSQL instance;
- `Port=` - adjust the port number if needed.
If you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can also specify encryption parameters here.
It is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
For example, to enable required encryption in transport mode without identity checks, the connection string could look like this (replace `` with the address of the PostgreSQL instance):
Servername=;Port=5432;Driver=/usr/lib64/psqlodbcw.so;SSLmode=require
5. Set the password that you specified in step 1 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e0a7c3e725c445228b03116dc6114fe9','POSTGRESQL BY ODBC','Zabbix','7.4-2',NULL,'0','1','## Setup
1. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
```
2. Edit the `pg_hba.conf` configuration file to allow TCP connections for the user `zbx_monitor`. For example, you could add one of the following rows to allow local connections from the same host:
```bash
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
```
For more information please read the PostgreSQL documentation `https://www.postgresql.org/docs/current/auth-pg-hba-conf.html`.
3. Install the PostgreSQL ODBC driver. Check the [`Zabbix documentation`](https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/odbc_checks/) for details about ODBC checks and [`recommended parameters page`](https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/odbc_checks/unixodbc_postgresql).
4. Set up the connection string in the `PostgreSQL connection string` host wizard configuration field. The minimum required parameters are:
- `Driver=` - set the name of the driver which will be used for monitoring (from the `odbcinst.ini` file) or specify the path to the driver file (for example `/usr/lib64/psqlodbcw.so`);
- `Servername=` - set the host name or IP address of the PostgreSQL instance;
- `Port=` - adjust the port number if needed.
**Note:** if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can also specify encryption parameters here.
It is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the [`PostgreSQL documentation`](https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
For example, to enable required encryption in transport mode without identity checks, the connection string could look like this (replace `` with the address of the PostgreSQL instance):
```
Servername=;Port=5432;Driver=/usr/lib64/psqlodbcw.so;SSLmode=require
```
5. Set the password that you specified in step 1 in the `PostgreSQL user password` field.'),
('10590',NULL,'Cisco SD-WAN by HTTP','3','-1','2','','','Cisco SD-WAN by HTTP','0',NULL,'Discover Cisco SD-WAN devices by HTTP with script item usage.
Setup:
1. Put your username and password from Cisco SD-WAN vManage into {$SDWAN.API.USERNAME} and {$SDWAN.API.PASSWORD} macros.
2. Set your Cisco SD-WAN vManage URL as {$SDWAN.API.URL} macro value.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e5cf4e7ac41a470b99e4262d1c5ee104','CISCO SD-WAN BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10591',NULL,'Cisco SD-WAN device by HTTP','3','-1','2','','','Cisco SD-WAN device by HTTP','0',NULL,'Get Cisco SD-WAN devices monitoring with script item usage to perform HTTP requests to Cisco SD-WAN API.
This template will be automatically connected to discovered entities with all required parameters pre-defined.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e1e25df663204b099f2597caf89a0678','CISCO SD-WAN DEVICE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10593',NULL,'Mantis BT by HTTP','3','-1','2','','','Mantis BT by HTTP','0',NULL,'Get Mantis BT issues by HTTP.
Metrics are collected by requests to Mantis BT API.
Please change macros {$MANTIS.URL} and {$MANTIS.TOKEN}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2c96393f8f2945c1a9f03f86adf5eb57','MANTIS BT BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10594',NULL,'HashiCorp Nomad by HTTP','3','-1','2','','','HashiCorp Nomad by HTTP','0',NULL,'Discover HashiCorp Nomad servers and clients automatically.
Don''t forget to change macro {$NOMAD.ENDPOINT.API.URL}, {$NOMAD.TOKEN} values.
You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f74adf26d9ab44ada318002d31fd2881','HASHICORP NOMAD BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10595',NULL,'HashiCorp Nomad Client by HTTP','3','-1','2','','','HashiCorp Nomad Client by HTTP','0',NULL,'Get HashiCorp Nomad client metrics by HTTP from metrics endpoint.
More information about metrics is available in the official documentation: https://developer.hashicorp.com/nomad/docs/operations/metrics-reference.
You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','44eac6a1abe34999b85ad6d0e40073fd','HASHICORP NOMAD CLIENT BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10596',NULL,'HashiCorp Nomad Server by HTTP','3','-1','2','','','HashiCorp Nomad Server by HTTP','0',NULL,'Get HashiCorp Nomad server metrics by HTTP from metrics endpoint.
More information about metrics is available in the official documentation: https://developer.hashicorp.com/nomad/docs/operations/metrics-reference.
You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8598d0e2bd6f4903832ec91b7b300062','HASHICORP NOMAD SERVER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10599',NULL,'Acronis Cyber Protect Cloud by HTTP','3','-1','2','','','Acronis Cyber Protect Cloud by HTTP','0',NULL,'Requests Acronis Cyber Protect Cloud API access token and creates host prototype for MSP.
Template uses HTTP item to query Acronis Cyber Protect Cloud API client for authorization.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d0571c5f2c204b7ab244843040288a35','ACRONIS CYBER PROTECT CLOUD BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10600',NULL,'Acronis Cyber Protect Cloud MSP by HTTP','3','-1','2','','','Acronis Cyber Protect Cloud MSP by HTTP','0',NULL,'Discovers and monitors alerts, clients, devices using HTTP agent items.
This template receives API token and datacenter URL from parent host, therefore no additional configuration is necessary.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','bf3107deff3a4aabab1e1c0ee71a3281','ACRONIS CYBER PROTECT CLOUD MSP BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10602',NULL,'Nextcloud by HTTP','3','-1','2','','','Nextcloud by HTTP','0',NULL,'This template is designed for monitoring Nextcloud by HTTP via Zabbix, and it works without any external scripts.
Nextcloud is a suite of client-server software for creating and using file hosting services.
For more information, see the [`official documentation`](https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-api-overview.html#)
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','34f386276a094e8e9a6e46653fdf05b1','NEXTCLOUD BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10603',NULL,'FortiGate by HTTP','3','-1','2','','','FortiGate by HTTP','0',NULL,'The template for monitoring FortiGate Next Generation Firewall by HTTP.
1. On the FortiGate GUI, select System > Admin Profiles > Create New.
2. Enter a profile name (ex. zabbix_ro) and enable all the Read permissions. Please note the profile name, it will be used a bit later.
3. Go to System > Administrators > Create New > REST API Admin.
4. Enter the API-user''s name and select the profile name you created in step 2.
5. The trusted host can be specified to ensure that only Zabbix server can reach the FortiGate.
6. Click OK and an API token will be generated. Make a note of the API token as it''s only shown once and cannot be retrieved.
7. Put the API token into {$FGATE.API.TOKEN} macro.
8. Set your FortiGate GUI IP/FQDN as {$FGATE.API.FQDN} macro value.
9. If FortiGate GUI uses HTTPS, put "https" value into {$FGATE.SCHEME} macro and "443" into {$FGATE.API.PORT} macro.
10. If FortiGate GUI port differs from the standard one, specify it in {$FGATE.API.PORT} macro.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e56c9577c225476eb6d8f1c2f5dc90a5','FORTIGATE BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10604',NULL,'FortiGate by SNMP','3','-1','2','','','FortiGate by SNMP','0',NULL,'The template for monitoring FortiGate firewall by SNMP.
MIBs used:
HOST-RESOURCES-MIB
FORTINET-FORTIGATE-MIB
FORTINET-CORE-MIB
SNMPv2-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1f38deb487fc4a8d965e407ba7c5247f','FORTIGATE BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10605',NULL,'HPE iLO by HTTP','3','-1','2','','','HPE iLO by HTTP','0',NULL,'This template is designed for the effortless deployment of HPE iLO monitoring by Zabbix via iLO RESTful API and doesn''t require any external scripts.
Setup:
1. Create the iLO user for monitoring (for example, `zbx_monitor`). The user will only need to have the `Login` privilege, which can be assigned manually or by assigning the `ReadOnly` role to the user.
2. Set the iLO API endpoint URL in the `{$ILO.URL}` macro in the format `://[:port]/` (port is optional).
3. Set the name of the user that you created in step 1 in the `{$ILO.USER}` macro.
4. Set the password of the user that you created in step 1 in the `{$ILO.PASSWORD}` macro.
For more details about HPE Redfish services, refer to the official documentation:
https://servermanagementportal.ext.hpe.com/docs/redfishservices/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d50f6dcfc3e44244a0fc9fd933607024','HPE ILO BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10606',NULL,'Azure Cost Management by HTTP','3','-1','2','','','Azure Cost Management by HTTP','0',NULL,'This template is designed to monitor Microsoft Cost Management by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c0263df8d8c14d30b24afcf45a6a354f','AZURE COST MANAGEMENT BY HTTP','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Cost Management by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`.'),
('10607',NULL,'AWS ELB Application Load Balancer by HTTP','3','-1','2','','','AWS ELB Application Load Balancer by HTTP','0',NULL,'The template is designed to monitor AWS ELB Application Load Balancer by HTTP via Zabbix, and it works without any external scripts.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f59c8b4156ec4386a7c724534ddd384d','AWS ELB APPLICATION LOAD BALANCER BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
*Please scroll down for AWS ELB Network Load Balancer by HTTP.*
The template is designed to monitor AWS ELB Application Load Balancer by HTTP via Zabbix, and it works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and API methods used in the template:
* [Full metrics list related to AWS ELB Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
* [DescribeTargetGroups API method](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html)
## Setup
The template gets AWS ELB Application Load Balancer metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account. For more information, visit the [ELB policies page](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html) on the AWS website.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect AWS ELB Application Load Balancer metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following fields: `Authorization method`, `AWS Region`, and `Load Balancer ARN`.
For more information about managing access keys, see [official AWS documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
See the section below for a list of macros used for LLD filters.'),
('10609',NULL,'MSSQL by Zabbix agent 2','3','-1','2','','','MSSQL by Zabbix agent 2','0',NULL,'This template is designed for the effortless deployment of MSSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
Setup:
1. Deploy Zabbix agent 2 with the MSSQL plugin. You can use this template starting with version 7.4.0 of both Zabbix and the MSSQL plugin.
For more information, see MSSQL plugin documentation: https://git.zabbix.com/projects/AP/repos/mssql/browse
Important! Starting with version 7.4-1 of this template, the MSSQL plugin must be updated to a version equal to or above 7.4.0. (You can check the version of the template in its YAML file under the "vendor" section.)
Loadable plugin requires installation of one of the following:
- Separate package
- Binary file
- Compilation from sources: https://www.zabbix.com/documentation/7.4/manual/extensions/plugins/build
2. Create an MSSQL user for monitoring.
View Server State and View Any Definition permissions should be granted to the user.
Grant this user read permissions to the sysjobschedules, sysjobhistory, and sysjobs tables.
For more information, see MSSQL documentation:
- Create a database user: https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16
- GRANT Server Permissions: https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=sql-server-ver16
- Configure a User to Create and Manage SQL Server Agent Jobs: https://docs.microsoft.com/en-us/sql/ssms/agent/configure-a-user-to-create-and-manage-sql-server-agent-jobs?view=sql-server-ver16
3. Set the user name and password in the host macros ({$MSSQL.USER} and {$MSSQL.PASSWORD}).
4. Set the connection string for the MSSQL instance in the {$MSSQL.URI} macro as a URI, such as , or specify the named session - .
The "Service''s TCP port state" item uses the {$MSSQL.HOST} and {$MSSQL.PORT} macros to check the availability of the MSSQL instance, change these if necessary. Keep in mind that if dynamic ports are used on the MSSQL server side, this check will not work correctly.
Note: You can use the context macros {$MSSQL.BACKUP_FULL.USED}, {$MSSQL.BACKUP_LOG.USED}, and {$MSSQL.BACKUP_DIFF.USED} to disable backup age triggers for a certain database. If set to a value other than "1", the trigger expression for the backup age will not fire.
Note: Since version 7.2.0, you can also connect to the MSSQL instance using its name. To do this, set the connection string in the {$MSSQL.URI} macro as .
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','75fc96367e8d4588ba8314145fc12d35','MSSQL BY ZABBIX AGENT 2','Zabbix','7.4-2',NULL,'0','1','## Setup
1. Create an MSSQL user for monitoring. For example, "zbx_monitor".
**View Server State** and **View Any Definition** permissions should be granted to the user.
Grant this user read permissions to the `sysjobschedules`, `sysjobhistory`, and `sysjobs` tables.
For example, using T-SQL commands:
```sql
GRANT SELECT ON OBJECT::msdb.dbo.sysjobs TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobservers TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobactivity TO zbx_monitor;
GRANT EXECUTE ON OBJECT::msdb.dbo.agent_datetime TO zbx_monitor;
```
For more information, see MSSQL documentation:
[Create a database user](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16)
[GRANT Server Permissions](https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=sql-server-ver16)
[Configure a User to Create and Manage SQL Server Agent Jobs](https://docs.microsoft.com/en-us/sql/ssms/agent/configure-a-user-to-create-and-manage-sql-server-agent-jobs?view=sql-server-ver16)
2. Set the username and password in the `MSSQL user` and `MSSQL password` host wizard configuration fields.
3. Set the connection string for the MSSQL instance in the `MSSQL URI` host wizard configuration field as a URI, such as ``, or specify the named session - ``.
The `Service''s TCP port state` item uses the `MSSQL address` and `MSSQL TCP port` host wizard configuration fields to check the availability of the MSSQL instance, change these if necessary. Keep in mind that if dynamic ports are used on the MSSQL server side, this check will not work correctly.
Note: You can use the `Monitoring of full backup`, `Monitoring of log backup`, and `Monitoring of differential backup` host wizard configuration fields to disable backup age triggers. If set to unselected state, the trigger expression for the backup age will not fire.
Note: Since version 7.2.0, you can also connect to the MSSQL instance using its name. To do this, set the connection string in the `MSSQL URI` host wizard configuration field as ``.'),
('10610',NULL,'YugabyteDB by HTTP','3','-1','2','','','YugabyteDB by HTTP','0',NULL,'This template is designed for the deployment of YugabyteDB monitoring by Zabbix via HTTP and doesn''t require any external scripts.
To set up the template:
1. Set your account ID as a value of the {$YUGABYTEDB.ACCOUNT.ID} macro. The account ID is the unique identifier for your customer account in YugabyteDB Managed. You can access the account ID from your profile in the YugabyteDB Managed user interface. To get your account ID, log in to YugabyteDB Managed and click the user profile icon.
See YugabyteDB documentation for instructions:
https://yugabyte.stoplight.io/docs/managed-apis/tvsjh28t5ivmw-getting-started#account-id
2. Set your project ID as a value of the {$YUGABYTEDB.PROJECT.ID} macro. The project ID is the unique identifier for a YugabyteDB Managed project. You can access the project ID from your profile in the YugabyteDB Managed user interface (along with the account ID).
See YugabyteDB documentation for instructions:
https://yugabyte.stoplight.io/docs/managed-apis/tvsjh28t5ivmw-getting-started#project-id
3. Generate the API access token and specify it as a value of the {$YUGABYTEDB.ACCESS.TOKEN} macro.
See YugabyteDB documentation for instructions:
https://docs.yugabyte.com/preview/yugabyte-cloud/managed-automation/managed-apikeys/#create-an-api-key
NOTE: If needed, you can specify a HTTP proxy for the template to use by changing the value of the {$YUGABYTEDB.PROXY} user macro.
IMPORTANT! The value of the {$YUGABYTEDB.ACCESS.TOKEN} macro is stored as plain (not secret) text by default.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','bc056b1724e748bba50928f8cc605f8e','YUGABYTEDB BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10611',NULL,'YugabyteDB Cluster by HTTP','3','-1','2','','','YugabyteDB Cluster by HTTP','0',NULL,'This template is designed for the deployment of YugabyteDB clusters monitoring by Zabbix via HTTP and doesn''t require any external scripts. This template will be automatically connected to discovered entities with all required parameters pre-defined.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','f5fff9a83f774f4688692ad58aa35d45','YUGABYTEDB CLUSTER BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10613',NULL,'Check Point Next Generation Firewall by SNMP','3','-1','2','','','Check Point Next Generation Firewall by SNMP','0',NULL,'The template for monitoring Check Point Quantum Next Generation Firewall Security Gateway by SNMP.
MIBs used:
HOST-RESOURCES-MIB
CHECKPOINT-MIB
UCD-SNMP-MIB
SNMPv2-MIB
IF-MIB
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3a7ff6eb19bb4a42b5b5b34a7179b30c','CHECK POINT NEXT GENERATION FIREWALL BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10614',NULL,'Oracle Cloud Autonomous Database by HTTP','3','-1','2','','','Oracle Cloud Autonomous Database by HTTP','0',NULL,'This template monitors Oracle Cloud Infrastructure (OCI) autonomous database (serverless) resources.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','178645e229484bcf9cb030dc1edccebb','ORACLE CLOUD AUTONOMOUS DATABASE BY HTTP','Zabbix','7.4-3',NULL,'0','0',''),
('10615',NULL,'Oracle Cloud Block Volume by HTTP','3','-1','2','','','Oracle Cloud Block Volume by HTTP','0',NULL,'This template monitors Oracle Cloud Infrastructure (OCI) block volume resources.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8afa1796d280425b99c7ea36900dac24','ORACLE CLOUD BLOCK VOLUME BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10616',NULL,'Oracle Cloud Boot Volume by HTTP','3','-1','2','','','Oracle Cloud Boot Volume by HTTP','0',NULL,'Monitor Oracle Cloud Infrastructure (OCI) boot volume.
This template is not meant to be used independently, but instead with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e5486d98ff414c1391de1bd369a7f9db','ORACLE CLOUD BOOT VOLUME BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10617',NULL,'Oracle Cloud by HTTP','3','-1','2','','','Oracle Cloud by HTTP','0',NULL,'Monitor resources of Oracle Cloud Infrastructure (OCI) services.
This template handles discovery of various OCI services.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','057558a26d934b4683d73a7058499d62','ORACLE CLOUD BY HTTP','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed as a master template that discovers various Oracle Cloud Infrastructure (OCI) services
and resources, such as:
* OCI Compute;
* OCI Autonomous Database (serverless);
* OCI Object Storage;
* OCI Virtual Cloud Networks (VCNs);
* OCI Block Volumes;
* OCI Boot Volumes.
For communication with OCI, this template utilizes script items which execute HTTP `GET` and `POST` requests.
`POST` requests are required for OCI Monitoring API as it utilizes Monitoring Query Language (MQL) which uses an
HTTP request body for queries.
## Setup
## Required setup
For this template to work, it needs authentication details to use in requests. To acquire this information, see
the following steps:
1. Log into your administrator account in Oracle Cloud Console.
2. Create a new user that will be used by Zabbix for monitoring.
3. Create a new security policy and assign a previously created user to it.
4. This policy will contain a set of rules that will give monitoring user access to specific resources in your
OCI. Make sure to add the following rules to the policy:
```
Allow group ''zabbix_api'' to read metrics in tenancy
Allow group ''zabbix_api'' to read instances in tenancy
Allow group ''zabbix_api'' to read subnets in tenancy
Allow group ''zabbix_api'' to read vcns in tenancy
Allow group ''zabbix_api'' to read vnic-attachments in tenancy
Allow group ''zabbix_api'' to read volumes in tenancy
Allow group ''zabbix_api'' to read objectstorage-namespaces in tenancy
Allow group ''zabbix_api'' to read buckets in tenancy
Allow group ''zabbix_api'' to read autonomous-databases in tenancy
```
In this example, `zabbix_api` is the name of the previously created monitoring user. Rename it to your
monitoring user''s name.
5. Generate an API key pair for your monitoring user - open your monitoring user profile and on the left side,
press `API keys` and then, `Add API key` (if generating a new key pair, do not forget to save the private key).
6. After this, Oracle Cloud Console will provide additional information that is required for access, such as:
* Tenancy OCID;
* User OCID;
* Fingerprint;
* Region.
> Save this information somewhere or keep this window open. This information will be required in later steps.
7. In Zabbix, create a new host and assign this template to it (Oracle Cloud by HTTP).
8. In host wizard configuration fields please set next values (from step #6):
* `OCID tenancy` - set the tenancy OCID value;
* `OCID user` - set the user OCID value;
* `Fingerprint` - set the fingerprint value;
* `Private key` - copy and paste the contents of private key file here.
9. After the authentication credentials are entered, you need to identify the OCI API endpoints that match your
region (as provided by Oracle Cloud Console in step #6).
To do so, you can use the OCI [API Reference and Endpoints](https://docs.public.oneportal.content.oci.oraclecloud.com/en-us/iaas/api/#/) list, where each API service has a dedicated page with the respective API endpoints.
The required API service endpoints are:
* [Core Services API](https://docs.public.oneportal.content.oci.oraclecloud.com/en-us/iaas/api/#/en/iaas/20160918/);
* [Database Service API](https://docs.public.oneportal.content.oci.oraclecloud.com/en-us/iaas/api/#/en/database/20160918/);
* [Object Storage Service API](https://docs.public.oneportal.content.oci.oraclecloud.com/en-us/iaas/api/#/en/objectstorage/20160918/);
* [Monitoring API](https://docs.public.oneportal.content.oci.oraclecloud.com/en-us/iaas/api/#/en/monitoring/20180401/).
10. When the API endpoints are identified, you need to set them in host wizard configuration fields (similarly to step #8):
* `Core Services host` - Core Services API endpoint, for example, `iaas.eu-stockholm-1.oraclecloud.com`;
* `Database Service host` - Database Service API endpoint, for example, `database.eu-stockholm-1.oraclecloud.com`;
* `Object Storage host` - Object Storage Service API endpoint, for example, `objectstorage.eu-stockholm-1.oraclecloud.com`;
* `Monitoring host` - Monitoring API endpoint, for example, `telemetry.eu-stockholm-1.oraclecloud.com`;
> IMPORTANT! API Endpoint URLs need to be entered without the HTTP scheme (`https://`).
11. Once you''ve completed adding the host to Zabbix, and it will automatically discover services and monitor them.
## Optional setup
#### Example
1. In Oracle Cloud Console, add a free-form tag to a resource, for example, a compute instance.
The tag key will be `location_group` and the tag value will be `eu-north-1`.
2. Open the Oracle Cloud by HTTP template in Zabbix and go to "Discovery rules".
Find "Compute instances discovery" and open it.
3. Under "LLD macros", add a new macro that will represent this location group tag, for example:
`{#LOCATION_GROUP}` `$.tags.location_group`.
4. Under the "Filters" tab, there will already be filters regarding the compute instance name and state.
Click "Add" to add a new filter and define the previously created LLD macro and add a matching pattern and
value, for example, `{#LOCATION_GROUP}` `matches` `eu-north-*`.
5. The next time `Compute instances discovery` is executed, it will only discover OCI compute instances that
have the free-form tag `location_group` that matches the regex of `eu-north-*`. You can also experiment with
the LLD filter pattern matching value to receive different matching results for a specified value.'),
('10618',NULL,'Oracle Cloud Compute by HTTP','3','-1','2','','','Oracle Cloud Compute by HTTP','0',NULL,'This template monitors Oracle Cloud Infrastructure (OCI) single compute instance resources and discovers attached
virtual network interface cards (VNICs) and monitors their resources.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e6b0aada359944d09ee4bd46c1a55587','ORACLE CLOUD COMPUTE BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10619',NULL,'Oracle Cloud Networking by HTTP','3','-1','2','','','Oracle Cloud Networking by HTTP','0',NULL,'This template monitors Oracle Cloud Infrastructure (OCI) single virtual network card availability and discovers
attached subnets and monitors their availability.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','62d99b55585e41dd89736f5f46074dcb','ORACLE CLOUD NETWORKING BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10620',NULL,'Oracle Cloud Object Storage by HTTP','3','-1','2','','','Oracle Cloud Object Storage by HTTP','0',NULL,'This template monitors Oracle Cloud Infrastructure (OCI) object storage resources.
This template is not meant to be used independently, but together with Oracle Cloud by HTTP as a template for
LLD host prototypes.
Read the template documentation prior to using this template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','e8f89476695848e99ba900a5664d290b','ORACLE CLOUD OBJECT STORAGE BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10627',NULL,'AWS ELB Network Load Balancer by HTTP','3','-1','2','','','AWS ELB Network Load Balancer by HTTP','0',NULL,'The template is designed to monitor AWS ELB Network Load Balancer by HTTP via Zabbix, and it works without any external scripts.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','4c7d0c6e342b40458611bdb6e9dd958f','AWS ELB NETWORK LOAD BALANCER BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
The template is designed to monitor AWS ELB Network Load Balancer by HTTP via Zabbix, and it works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and API methods used in the template:
* [Full metrics list related to AWS ELB Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
* [DescribeTargetGroups API method](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html)
## Setup
The template gets AWS ELB Network Load Balancer metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account. For more information, visit the [ELB policies page](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html) on the AWS website.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect AWS ELB Network Load Balancer metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"elasticloadbalancing:DescribeTargetGroups",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following fields: `Authorization method`, `AWS Region`, and `Load Balancer ARN`.
For more information about managing access keys, see [official AWS documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
See the section below for a list of macros used for LLD filters.'),
('10628',NULL,'Website by Browser','3','-1','2','','','Website by Browser','0',NULL,'The template to monitor a website''s availability and performance on the website by Browser.
Zabbix server uses a web browser to perform navigation and collect performance metrics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','2526dce71d714e31bd545e96370c67b2','WEBSITE BY BROWSER','Zabbix','7.4-1',NULL,'0','0',''),
('10629',NULL,'GitHub repository by HTTP','3','-1','2','','','GitHub repository by HTTP','0',NULL,'This template is designed for the effortless deployment of GitHub repository monitoring by Zabbix via GitHub REST API and doesn''t require any external scripts.
For more details about GitHub REST API, refer to the official documentation:
https://docs.github.com/en/rest?apiVersion=2022-11-28
Setup:
1. Create an access token for monitoring
One of the simplest ways to send authenticated requests is to use a personal access token - either a classic or a fine-grained one:
https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28#authenticating-with-a-personal-access-token
Classic personal access token
You can create a new classic personal access token by following the instructions in the official documentation:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic
For public repositories, no additional permission scopes are required. For monitoring to work on private repositories, the "repo" scope must be set to have full control of private repositories.
Additional information about OAuth scopes is available in the official documentation:
https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes
Note that authenticated users must have admin access to the repository and the "repo" scope must be set to get information about self-hosted runners:
https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#list-self-hosted-runners-for-a-repository
Fine-grained personal access token
Alternatively, you can use a fine-grained personal access token:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token
In order to use fine-grained tokens to monitor organization-owned repositories, organizations must opt in to fine-grained personal access tokens and set up a personal access token policy:
https://docs.github.com/en/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization
The fine-grained token needs to have the following permissions set to provide access to the repository resources:
- "Actions" repository permissions (read);
- "Administration" repository permissions (read);
- "Contents" repository permissions (read);
- "Issues" repository permissions (read);
- "Metadata" repository permissions (read);
- "Pull requests" repository permissions (read).
2. Set the access token that you''ve created in step 1 in the "{$GITHUB.API.TOKEN}" macro
3. Change the API URL in the "{$GITHUB.API.URL}" macro if needed (for self-hosted installations)
4. Set the repository owner name in the "{$GITHUB.REPO.OWNER}" macro
5. Set the repository name in the "{$GITHUB.REPO.NAME}" macro
6. Set the LLD rule filters if needed (you may want to use it to also stay within rate limits as on large repositories, LLD rules may generate a lot of script items)
Note: Update intervals and timeouts for script items can be changed individually via "{$GITHUB.INTERVAL}" and "{$GITHUB.TIMEOUT}" macros with context. Depending on the repository being monitored, it can be adjusted if needed (if you are exceeding rate limits, you can increase update intervals for some script items to stay within per hour request limits). But be aware that it may also affect the triggers (check whether the item is used in triggers and adjust thresholds and/or evaluation periods if needed).
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','11144543d1144a3693aa0b97a1c20dac','GITHUB REPOSITORY BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10630',NULL,'Jira Data Center by JMX','3','-1','2','','','Jira Data Center by JMX','0',NULL,'This template is used for monitoring Jira Data Center health. It is designed for standalone operation for on-premises Jira installations.
This template uses a single data source, JMX, which requires JMX RMI setup of your Jira application and Java Gateway setup on the Zabbix side.
If you need "Garbage collector" and "Web server" monitoring, add "Generic Java JMX" and "Apache Tomcat by JMX" templates on the same host.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Setup:
Metrics are collected by JMX.
0. Deploy the Zabbix Java Gateway component ([instructions](https://www.zabbix.com/documentation/7.4/manual/concepts/java)).
1. Enable and configure JMX access to Jira Data Center. See documentation for [instructions](https://confluence.atlassian.com/adminjiraserver/live-monitoring-using-the-jmx-interface-939707304.html).
2. Assign the "Jira Data Center by JMX" template to the host with a JMX interface.
2. If your Jira installation requires authentication for JMX, set the values in the host macros `{$JMX.USERNAME}` and `{$JMX.PASSWORD}`.
3. (Optional) Set custom macro values and add macros with context for specific metrics following the macro description.
4. (Optional) Assign the "Generic Java JMX" template for garbage collector monitoring.
5. (Optional) Assign the "Apache Tomcat by JMX" template for web server monitoring.
tested_on:
- Jira Data Center 9.14.1
- Jira Data Center 9.12.4
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a7f0c853c6634b1dacaaf43c2a0d9375','JIRA DATA CENTER BY JMX','Zabbix','7.4-1',NULL,'0','0',''),
('10631',NULL,'Microsoft 365 reports by HTTP','3','-1','2','','','Microsoft 365 reports by HTTP','0',NULL,'This template is designed to monitor Microsoft 365 reports by HTTP. It works without any external scripts and uses script items.
The template uses endpoints in the Microsoft Graph API to gather daily metrics from weekly reports.
The template is meant to be used as a long-term trend monitoring tool.
Setup:
1. Register the app with Microsoft Entra ID.
2. Configure Microsoft Graph application permissions on the app ID:
`Reports.Read.All` - required for app usage and activity metrics
`ServiceHealth.Read.All` - required for service discovery and service status metrics
3. Request administrator consent.
4. Configure the macros: `{$MS365.APP.ID}`, `{$MS365.PASSWORD}`, `{$MS365.TENANT.ID}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','03e93dc9a8194a17958544a056d02316','MICROSOFT 365 REPORTS BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10632',NULL,'AWS Lambda by HTTP','3','-1','2','','','AWS Lambda by HTTP','0',NULL,'The template is designed to monitor AWS Lambda by HTTP via Zabbix, and it works without any external scripts.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fd36e0a231d343d38a95d1ed789584ca','AWS LAMBDA BY HTTP','Zabbix','7.4-3',NULL,'0','1','## Overview
This template uses the GetMetricData CloudWatch API calls to list and retrieve metrics.
For more information, please refer to the [CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/) page.
Additional information about metrics and API methods used in the template:
* [Full metrics list related to AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html)
* [DescribeAlarms API method](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html)
## Setup
The template gets AWS Lambda metrics and uses the script item to make HTTP requests to the CloudWatch API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account. For more information, visit the [Lambda permissions page](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html) on the AWS website.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect AWS Lambda metrics.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `Access key ID` and `Secret access key`.
### Assume role authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following fields: `Access key ID`, `Secret access key`, `STS Region`, `ARN assume role`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"ec2:AssociateIamInstanceProfile",
"ec2:ReplaceIamInstanceProfileAssociation"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the following fields: `Authorization method`, `AWS Region`, and `Lambda function ARN`.
For more information about managing access keys, see the [official AWS documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
See the section below for a list of macros used for LLD filters.'),
('10634',NULL,'Azure VM Scale Set by HTTP','3','-1','2','','','Azure VM Scale Set by HTTP','0',NULL,'This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d0fd5d346b1740dda9d3a976371789dd','AZURE VM SCALE SET BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure scale set ID`.'),
('10636',NULL,'Huawei OceanStor V6 by SNMP','3','-1','2','','','Huawei OceanStor V6 by SNMP','0',NULL,'This template is developed to monitor SAN Huawei OceanStor V6 via the Zabbix SNMP agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418855-discussion-thread-for-official-zabbix-template-huawei-oceanstor
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','521d864fe8574f19b350f7ddbe259042','HUAWEI OCEANSTOR V6 BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10637',NULL,'Apache by Zabbix agent active','3','-1','2','','','Apache by Zabbix agent active','0',NULL,'Get metrics from mod_status module using HTTP agent.
https://httpd.apache.org/docs/current/mod/mod_status.html
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384764-discussion-thread-for-official-zabbix-template-apache
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','aa3286a824464020863ead141e8f0afc','APACHE BY ZABBIX AGENT ACTIVE','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed for the effortless deployment of Apache monitoring by Zabbix via Zabbix agent and doesn''t require any external scripts.
The template `Apache by Zabbix agent` - collects metrics by polling [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html) locally with Zabbix agent:
```text
127.0.0.1
ServerVersion: Apache/2.4.41 (Unix)
ServerMPM: event
Server Built: Aug 14 2019 00:35:10
CurrentTime: Friday, 16-Aug-2019 12:38:40 UTC
RestartTime: Wednesday, 14-Aug-2019 07:58:26 UTC
ParentServerConfigGeneration: 1
ParentServerMPMGeneration: 0
ServerUptimeSeconds: 189613
ServerUptime: 2 days 4 hours 40 minutes 13 seconds
Load1: 4.60
Load5: 1.20
Load15: 0.47
Total Accesses: 27860
Total kBytes: 33011
Total Duration: 54118
CPUUser: 18.02
CPUSystem: 31.76
CPUChildrenUser: 0
CPUChildrenSystem: 0
CPULoad: .0262535
Uptime: 189613
ReqPerSec: .146931
BytesPerSec: 178.275
BytesPerReq: 1213.33
DurationPerReq: 1.9425
BusyWorkers: 7
IdleWorkers: 93
Processes: 4
Stopping: 0
BusyWorkers: 7
IdleWorkers: 93
ConnsTotal: 13
ConnsAsyncWriting: 0
ConnsAsyncKeepAlive: 5
ConnsAsyncClosing: 0
Scoreboard: ...
```
It also uses Zabbix agent to collect `Apache` Linux process statistics such as CPU usage, memory usage, and whether the process is running or not.
## Setup
See the setup instructions for [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html).
Check the availability of the module with this command line: `httpd -M 2>/dev/null | grep status_module`
This is an example configuration of the Apache web server:
```text
SetHandler server-status
Require host example.com
```
If you use another path, then do not forget to change the `Apache status page path` host wizard configuration field.'),
('10638',NULL,'Website certificate by Zabbix agent 2 active','3','-1','2','','','Website certificate by Zabbix agent 2 active','0',NULL,'The template to monitor TLS/SSL certificate on the website by Zabbix agent 2 that works without any external scripts.
Zabbix agent 2 with the WebCertificate plugin requests certificate using the web.certificate.get key and returns JSON with certificate attributes.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/428309-discussion-thread-for-official-zabbix-template-tls-ssl-certificates-monitoring
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','de38542cf4f24fafab33520677f392c4','WEBSITE CERTIFICATE BY ZABBIX AGENT 2 ACTIVE','Zabbix','7.4-1',NULL,'0','0',''),
('10639',NULL,'Nginx by Zabbix agent active','3','-1','2','','','Nginx by Zabbix agent active','0',NULL,'Get metrics from stub status module using Zabbix agent running on Linux
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d2cebb67b4d94a12a072db85e7be6a33','NGINX BY ZABBIX AGENT ACTIVE','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is developed to monitor Nginx by Zabbix that works without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
The template `Nginx by Zabbix agent` - collects metrics by polling the [Module ngx_http_stub_status_module](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html) locally with Zabbix agent:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```
Note that this template doesn''t support HTTPS and redirects (limitations of `web.page.get`).
It also uses Zabbix agent to collect `Nginx` Linux process statistics, such as CPU usage, memory usage and whether the process is running or not.
## Setup
See the setup instructions for [ngx_http_stub_status_module](https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html).
Test the availability of the `http_stub_status_module` `nginx -V 2>&1 | grep -o with-http_stub_status_module`.
Example configuration of Nginx:
```text
location = /basic_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
```
If you use another location, then don''t forget to change the `Nginx status page path` host wizard configuration field.
Example answer from Nginx:
```text
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
```
Note that this template doesn''t support https and redirects (limitations of web.page.get).'),
('10640',NULL,'Nutanix Cluster Prism Element by HTTP','3','-1','2','','','Nutanix Cluster Prism Element by HTTP','0',NULL,'Prism Element: It is a service already built into the platform for every Nutanix cluster deployed. It provides the ability to fully configure, manage, and monitor Nutanix clusters running any hypervisors, however, It only manages the cluster it is part of.
This template is designed for the effortless deployment of Nutanix Cluster Prism Element monitoring and doesn''t require any external scripts.
This template can be used in discovery, as well as manually linked to a host - to do so, attach it to the host and manually set the value of the ''{$NUTANIX.CLUSTER.UUID}'' macro.
More details can be found in the official documentation:
- on retrieving UUIDs: https://www.nutanixbible.com/19b-cli.html
- on the Nutanix Prism Element REST API: https://www.nutanix.dev/api_reference/apis/prism_v2.html
- on differences between Nutanix API versions: https://www.nutanix.dev/api-versions/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','b6027e374e424481951ca2256099515c','NUTANIX CLUSTER PRISM ELEMENT BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10641',NULL,'Nutanix Host Prism Element by HTTP','3','-1','2','','','Nutanix Host Prism Element by HTTP','0',NULL,'Prism Element: It is a service already built into the platform for every Nutanix cluster deployed. It provides the ability to fully configure, manage, and monitor Nutanix clusters running any hypervisors, however, It only manages the cluster it is part of.
This template is designed for the effortless deployment of Nutanix Host Prism Element monitoring and doesn''t require any external scripts.
This template can be used in discovery, as well as manually linked to a host - to do so, attach it to the host and manually set the value of the ''{$NUTANIX.HOST.UUID}'' macro.
More details can be found in the official documentation:
- on retrieving UUIDs: https://www.nutanixbible.com/19b-cli.html
- on the Nutanix Prism Element REST API: https://www.nutanix.dev/api_reference/apis/prism_v2.html
- on differences between Nutanix API versions: https://www.nutanix.dev/api-versions/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8ab5387c8887435587cce8383b2fc6c5','NUTANIX HOST PRISM ELEMENT BY HTTP','Zabbix','7.4-2',NULL,'0','0',''),
('10642',NULL,'Nutanix Prism Element by HTTP','3','-1','2','','','Nutanix Prism Element by HTTP','0',NULL,'Prism Element: It is a service already built into the platform for every Nutanix cluster deployed. It provides the ability to fully configure, manage, and monitor Nutanix clusters running any hypervisors, however, it only manages the cluster it is part of.
This template is designed for the effortless deployment of Nutanix Prism Element monitoring and doesn''t require any external scripts.
The templates "Nutanix Host Prism Element by HTTP" and "Nutanix Cluster Prism Element by HTTP" can be used in discovery, as well as manually linked to a host.
More details can be found in the official documentation:
- on the Nutanix Prism Element REST API: https://www.nutanix.dev/api_reference/apis/prism_v2.html
- on the differences between Nutanix API versions: https://www.nutanix.dev/api-versions/
- on the differences between Nutanix Prism Element REST API and Nutanix Prism Central REST API: https://next.nutanix.com/how-it-works-22/differences-between-prism-element-prism-central-and-prism-pro-37137
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','0bb43a48a33f48ad910441384486edb4','NUTANIX PRISM ELEMENT BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10645',NULL,'PHP-FPM by Zabbix agent active','3','-1','2','','','PHP-FPM by Zabbix agent active','0',NULL,'Get PHP-FPM metrics using Zabbix agent running on Linux.
Note that depending on your OS distribution, the PHP-FPM process name may vary. Please, check the actual name in the line "Name" from /proc//status file (https://www.zabbix.com/documentation/7.4/manual/appendix/items/proc_mem_num_notes) and change {$PHP_FPM.PROCESS.NAME.PARAMETER} macro if needed.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a9e83f950e9f41a78474d523c8376338','PHP-FPM BY ZABBIX AGENT ACTIVE','Zabbix','7.4-1',NULL,'0','0',''),
('10646',NULL,'MySQL by Zabbix agent 2 active','3','-1','2','','','MySQL by Zabbix agent 2 active','0',NULL,'Requirements for template operation:
1. Create a MySQL user for monitoring. For example:
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html.
NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set in the {$MYSQL.DSN} macro the data source name of the MySQL instance either session name from Zabbix agent 2 configuration file or URI.
Examples: MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
For more information about MySQL Unix socket file please read the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/problems-with-mysql-sock.html.
3. If you had set URI in the {$MYSQL.DSN}, please define the user name and password in host macros ({$MYSQL.USER} and {$MYSQL.PASSWORD}).
Leave macros {$MYSQL.USER} and {$MYSQL.PASSWORD} empty if you use a session name. Set the user name and password in the Plugins.Mysql.<...> section of your Zabbix agent 2 configuration file.
For more information about configuring the Zabbix MySQL plugin please read the documentation https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/mysql/README.md.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','51ffd432b9324ce2b04e1d4dc4122d16','MYSQL BY ZABBIX AGENT 2 ACTIVE','Zabbix','7.4-3',NULL,'0','1','## Setup
1. Create a MySQL user for monitoring (`` at your discretion):
```text
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please see MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html
**NOTE:** In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the `SLAVE MONITOR` privilege to be set for the monitoring user:
```text
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
```
For more information please read the MariaDB documentation https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/
2. Set in the `MySQL DSN` host wizard configuration field macro the data source name of the MySQL instance either session name from Zabbix agent 2 configuration file or URI.
**Examples:** MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
For more information about MySQL Unix socket file, see the MySQL documentation https://dev.mysql.com/doc/refman/8.0/en/problems-with-mysql-sock.html.
3. If you had set URI in the `MySQL DSN` field, define the user name and password in `MySQL user` and `MySQL password` host wizard configuration fields.
Leave fields `MySQL user` and `MySQL password` empty if you use a session name. Set the user name and password in the Plugins.Mysql.<...> section of your Zabbix agent 2 configuration file.
For more information about configuring the Zabbix MySQL plugin, see the documentation https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/mysql/README.md.'),
('10647',NULL,'MySQL by Zabbix agent active','3','-1','2','','','MySQL by Zabbix agent active','0',NULL,E'Requirements for template operation:
1. Install Zabbix agent and MySQL client. If necessary, add the path to the ''mysql'' and ''mysqladmin'' utilities to the global environment variable PATH.
2. Copy the ''template_db_mysql.conf'' file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don''t forget to restart Zabbix agent.
3. Create the MySQL user that will be used for monitoring ('''' at your discretion). For example:
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/grant.html).
NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
For more information, please read the MariaDB documentation (https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/).
4. Create ''.my.cnf'' configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or ''my.cnf'' in c:\\ for Windows. For example:
[client]
protocol=tcp
user=''zbx_monitor''
password=''''
For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/option-files.html).
NOTE: Linux distributions that use SELinux may require additional steps for access configuration.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1ae69b01417849b180717f62ad7819d6','MYSQL BY ZABBIX AGENT ACTIVE','Zabbix','7.4-3',NULL,'0','1',E'## Setup
1. Install MySQL client. If necessary, add the path to the `mysql` and `mysqladmin` utilities to the global environment variable PATH.
2. Copy the `template_db_mysql.conf` file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don''t forget to restart Zabbix agent.
3. Create the MySQL user that will be used for monitoring (`` at your discretion). For example:
```text
CREATE USER ''zbx_monitor''@''%'' IDENTIFIED BY '''';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please see [`MySQL documentation`](https://dev.mysql.com/doc/refman/8.0/en/grant.html).
4. Create `.my.cnf` configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or `my.cnf` in c:\\ for Windows. For example:
```text
[client]
protocol=tcp
user=''zbx_monitor''
password=''''
```
For more information, please see [`MySQL documentation`](https://dev.mysql.com/doc/refman/8.0/en/option-files.html).
**NOTE:** In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the `SLAVE MONITOR` privilege to be set for the monitoring user:
```text
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO ''zbx_monitor''@''%'';
```
For more information, please read the [`MariaDB documentation`](https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/).
NOTE: Linux distributions that use SELinux may require additional steps for access configuration.
For example, the following rule could be added to the SELinux policy:
```text
# cat < zabbix_home.te
module zabbix_home 1.0;
require {
type zabbix_agent_t;
type zabbix_var_lib_t;
type mysqld_etc_t;
type mysqld_port_t;
type mysqld_var_run_t;
class file { open read };
class tcp_socket name_connect;
class sock_file write;
}
#============= zabbix_agent_t ==============
allow zabbix_agent_t zabbix_var_lib_t:file read;
allow zabbix_agent_t zabbix_var_lib_t:file open;
allow zabbix_agent_t mysqld_etc_t:file read;
allow zabbix_agent_t mysqld_port_t:tcp_socket name_connect;
allow zabbix_agent_t mysqld_var_run_t:sock_file write;
EOF
# checkmodule -M -m -o zabbix_home.mod zabbix_home.te
# semodule_package -o zabbix_home.pp -m zabbix_home.mod
# semodule -i zabbix_home.pp
# restorecon -R /var/lib/zabbix
```'),
('10648',NULL,'PostgreSQL by Zabbix agent 2 active','3','-1','2','','','PostgreSQL by Zabbix agent 2 active','0',NULL,'This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
Setup:
1. Deploy Zabbix agent 2 with the PostgreSQL plugin. Starting with Zabbix versions 6.0.10 / 6.2.4 / 6.4 PostgreSQL metrics are moved to a loadable plugin and require installation of a separate package or compilation of the plugin from sources (https://www.zabbix.com/documentation/7.4/manual/extensions/plugins/build).
2. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
3. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
4. Set the connection string for the PostgreSQL instance in the `{$PG.CONNSTRING.AGENT2}` macro as URI, such as ``, or specify the named session - ``.
Note: if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, a named session must be used. In that case, the instance URI should be specified in the `Plugins.PostgreSQL.Sessions.*.Uri` parameter in the PostgreSQL plugin configuration files alongside all the encryption parameters (type, certificate/key filepaths if needed etc.).
You can check the PostgreSQL plugin documentation (https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F7.4) for details about agent plugin parameters and named sessions.
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
Note that plugin TLS certificate validation relies on checking the Subject Alternative Names (SAN) instead of the Common Name (CN), check the cryptography package documentation (https://pkg.go.dev/crypto/x509) for details.
For example, to enable required encryption in transport mode without identity checks you could create the file `/etc/zabbix/zabbix_agent2.d/postgresql_myconn.conf` with the following configuration for the named session `myconn` (replace `` with the address of the PostgreSQL instance):
Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://:5432
Plugins.PostgreSQL.Sessions.myconn.TLSConnect=required
Then set the `{$PG.CONNSTRING.AGENT2}` macro to `myconn` to use this named session.
5. Set the password that you specified in step 2 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','21cca24cec1d40cdb0c2999aa6ac3037','POSTGRESQL BY ZABBIX AGENT 2 ACTIVE','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
## Setup
1. Create the PostgreSQL user for monitoring (`` at your discretion) and inherit permissions from the default role `pg_monitor`:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
```
2. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. For example, you could add one of the following rows to allow local TCP connections from the same host:
```bash
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
```
For more information please read the PostgreSQL documentation `https://www.postgresql.org/docs/current/auth-pg-hba-conf.html`.
3. Set the connection string for the PostgreSQL instance in the `PostgreSQL connection string` host wizard configuration field as URI, such as ``, or specify the named session - ``.
**Note:** if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, a named session must be used. In that case, the instance URI should be specified in the `Plugins.PostgreSQL.Sessions.*.Uri` parameter in the PostgreSQL plugin configuration files alongside all the encryption parameters (type, certificate/key filepaths if needed etc.).
You can check the [`PostgreSQL plugin documentation`](https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F7.4) for details about agent plugin parameters and named sessions.
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the [`PostgreSQL documentation`](https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
**Note:** plugin TLS certificate validation relies on checking the Subject Alternative Names (SAN) instead of the Common Name (CN), check the cryptography package [`documentation`](https://pkg.go.dev/crypto/x509) for details.
For example, to enable required encryption in transport mode without identity checks you could create the file `/etc/zabbix/zabbix_agent2.d/postgresql_myconn.conf` with the following configuration for the named session `myconn` (replace `` with the address of the PostgreSQL instance):
```bash
Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://:5432
Plugins.PostgreSQL.Sessions.myconn.TLSConnect=required
```
Then set the `PostgreSQL connection string` field to `myconn` to use this named session.
4. Set the password that you specified in step 2 in the `PostgreSQL user password` field.'),
('10649',NULL,'PostgreSQL by Zabbix agent active','3','-1','2','','','PostgreSQL by Zabbix agent active','0',NULL,'This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent and uses user parameters to run SQL queries with the `psql` command-line tool.
Note:
- The template requires `pg_isready` and `psql` utilities to be installed on the same host with Zabbix agent.
- The template requires files with SQL queries and user parameters that can be found in the Zabbix official repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql?at=refs%2Fheads%2Frelease%2F6.0
Setup:
1. Deploy Zabbix agent and create the PostgreSQL user for monitoring (`` at your discretion) with proper access rights to your PostgreSQL instance.
For PostgreSQL version 10 and above:
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
For PostgreSQL version 9.6 and below:
CREATE USER zbx_monitor WITH PASSWORD '''';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
ALTER USER zbx_monitor WITH SUPERUSER;
2. Copy the `postgresql/` directory to the `zabbix` user home directory - `/var/lib/zabbix/`. The `postgresql/` directory contains the files with SQL queries needed to obtain metrics from PostgreSQL instance.
If the home directory of the `zabbix` user doesn''t exist, create it first:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3. Copy the `template_db_postgresql.conf` file, containing user parameters, to the Zabbix agent configuration directory `/etc/zabbix/zabbix_agentd.d/` and restart Zabbix agent service.
If you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can modify the connection string in user parameters. For example, to enable required encryption in transport mode without identity checks you could append `?sslmode=required` to the end of the connection string for all keys that use `psql`:
UserParameter=pgsql.bgwriter[*], psql -qtAX postgresql://"$3":"$4"@"$1":"$2"/"$5"?sslmode=required -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"
Consult the PostgreSQL documentation about protection modes (https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION) and client connection parameters (https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE).
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
4. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
5. Specify the host name or IP address in the `{$PG.HOST}` macro. Adjust the port number with `{$PG.PORT}` macro if needed.
6. Set the password that you specified in step 1 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7005acc9123e4bc290805a3a16dab9cf','POSTGRESQL BY ZABBIX AGENT ACTIVE','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent and uses user parameters to run SQL queries with the `psql` command-line tool.
## Setup
**Note:**
- The template requires `pg_isready` and `psql` utilities to be installed on the same host with Zabbix agent.
1. Create the PostgreSQL user for monitoring (`` at your discretion) with proper access rights to your PostgreSQL instance.
For PostgreSQL version 10 and above:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''' INHERIT;
GRANT pg_monitor TO zbx_monitor;
```
For PostgreSQL version 9.6 and below:
```sql
CREATE USER zbx_monitor WITH PASSWORD '''';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
-- To collect WAL metrics, the user must have a `superuser` role.
ALTER USER zbx_monitor WITH SUPERUSER;
```
2. Copy the `postgresql/` directory to the `zabbix` user home directory - `/var/lib/zabbix/`. The `postgresql/` directory contains the files with SQL queries needed to obtain metrics from PostgreSQL instance.
If the home directory of the `zabbix` user doesn''t exist, create it first:
```bash
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
```
3. Copy the `template_db_postgresql.conf` file, containing user parameters, to the Zabbix agent configuration directory `/etc/zabbix/zabbix_agentd.d/` and restart Zabbix agent service.
**Note:** if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can modify the connection string in user parameters. For example, to enable required encryption in transport mode without identity checks you could append `?sslmode=required` to the end of the connection string for all keys that use `psql`:
```bash
UserParameter=pgsql.bgwriter[*], psql -qtAX postgresql://"$3":"$4"@"$1":"$2"/"$5"?sslmode=required -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"
```
Consult the PostgreSQL documentation about [`protection modes`](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION) and [`client connection parameters`](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE).
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the [`PostgreSQL documentation`](https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
4. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. For example, you could add one of the following rows to allow local TCP connections from the same host:
```bash
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
```
For more information please read the PostgreSQL documentation `https://www.postgresql.org/docs/current/auth-pg-hba-conf.html`.
5. Specify the host name or IP address in the `PostgreSQL host` host wizard configuration field. Adjust the port number in the `PostgreSQL port` field if needed.
6. Set the password that you specified in step 1 in the `PostgreSQL user password` field.'),
('10650',NULL,'Nvidia by Zabbix agent 2 active','3','-1','2','','','Nvidia by Zabbix agent 2 active','0',NULL,'This template is designed for Nvidia GPU monitoring and doesn''t require any external scripts.
1. Setup and configure Zabbix agent 2 compiled with the Nvidia monitoring plugin.
2. Create a host and attach the template to it.
All Nvidia GPUs will be discovered. Set filters with macros if you want to override default filter parameters.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','7297d66e419543c6b83dd8cfe5eb4fb7','NVIDIA BY ZABBIX AGENT 2 ACTIVE','Zabbix','7.4-1',NULL,'0','0',''),
('10651',NULL,'Nvidia by Zabbix agent 2','3','-1','2','','','Nvidia by Zabbix agent 2','0',NULL,'This template is designed for Nvidia GPU monitoring and doesn''t require any external scripts.
1. Setup and configure Zabbix agent 2 compiled with the Nvidia monitoring plugin.
2. Create a host with Zabbix agent interface and attach the template to it.
All Nvidia GPUs will be discovered. Set filters with macros if you want to override default filter parameters.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','32a39c8aca9445df862e9f3e1369c19a','NVIDIA BY ZABBIX AGENT 2','Zabbix','7.4-1',NULL,'0','0',''),
('10652',NULL,'Azure SQL Managed Instance by HTTP','3','-1','2','','','Azure SQL Managed Instance by HTTP','0',NULL,'This template is designed to monitor Azure SQL Managed Instance by HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','a93f57ccc68e442da79bf4a20fe46570','AZURE SQL MANAGED INSTANCE BY HTTP','Zabbix','7.4-2',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure SQL Managed Instance by HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, and `Azure SQL managed instance ID`.'),
('10654',NULL,'Juniper MX by SNMP','3','-1','2','','','Juniper MX by SNMP','0',NULL,'The template for monitoring Juniper MX Series by SNMP.
MIBs used:
SNMPv2-MIB
EtherLike-MIB
HOST-RESOURCES-MIB
IF-MIB
OSPF-MIB
JUNIPER-ALARM-MIB
JUNIPER-DOM-MIB
JUNIPER-MIB
BGP4-V2-MIB-JUNIPER
OSPFV3-MIB-JUNIPER
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','fe7eb8b22ce84017b07bcab36e9032dc','JUNIPER MX BY SNMP','Zabbix','7.4-1',NULL,'0','0',''),
('10655',NULL,'Palo Alto PA-440 by HTTP','3','-1','2','','','Palo Alto PA-440 by HTTP','0',NULL,'This template is designed for the effortless deployment of Palo Alto PA-440 monitoring by Zabbix via XML API and doesn''t require any external scripts.
Setup:
Configure a user for monitoring. Note that in order to retrieve the device certificate information, superuser privileges are required. If you opt for a user with limited access (for security reasons), the device certificate expiration metrics will not be discovered.
Superuser privileges user (full access to all data):
1. Add a new administrator user. Go to "Device" > "Administrators" and click "Add".
2. Enter the necessary details. Set the "Administrator Type" to "Dynamic" and select the built-in "Superuser" role. Commit the changes.
Limited privileges user (no access to device certificate data):
1. Create a new Admin Role. Go to "Device" > "Admin Role" and click "Add".
2. Enter the necessary details. Adjust the list of permissions:
- Restrict access to all sections in the "Web UI" tab
- Allow access to the "Configuration" and "Operational Requests" sections in the "XML API" tab
- Check that the access to CLI is set to "None" in the "Command Line" tab
- Restrict access to all sections in the "REST API" tab
3. Add a new administrator user. Go to "Device" > "Administrators" and click "Add".
4. Enter the necessary details. Set the "Administrator Type" to "Role Based" and select the profile that was created in the previous steps. Commit the changes.
Set the host macros:
1. Set the firewall XML API endpoint URL in the "{$PAN.PA440.API.URL}" macro in the format "://[:port]/api" (port is optional).
2. Set the name of the user that you created in the "{$PAN.PA440.USER}" macro.
3. Set the password of the user that you created in the "{$PAN.PA440.PASSWORD}" macro.
For more details about PAN-OS API, refer to the official documentation:
https://docs.paloaltonetworks.com/pan-os/11-1/pan-os-panorama-api
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','edc752f178f94b9dbaee459ec7bacc66','PALO ALTO PA-440 BY HTTP','Zabbix','7.4-0',NULL,'0','0',''),
('10656',NULL,'DELL PowerEdge R660 by HTTP','3','-1','2','','','DELL PowerEdge R660 by HTTP','0',NULL,'Template for DELL PowerEdge R660 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','185867ae9b4a46b59d53931d3330c770','DELL POWEREDGE R660 BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10657',NULL,'DELL PowerEdge R660 by SNMP','3','-1','2','','','DELL PowerEdge R660 by SNMP','0',NULL,'Template for DELL PowerEdge R660 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3ba7dec7c0034d86ad1c73b4f8ee8994','DELL POWEREDGE R660 BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10658',NULL,'DELL PowerEdge R750 by HTTP','3','-1','2','','','DELL PowerEdge R750 by HTTP','0',NULL,'Template for DELL PowerEdge R750 servers with iDRAC 8/9 firmware 4.32 and later and Redfish API enabled.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','42b18986c8b34c2d9c36f9cd00565bd5','DELL POWEREDGE R750 BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10659',NULL,'DELL PowerEdge R750 by SNMP','3','-1','2','','','DELL PowerEdge R750 by SNMP','0',NULL,'Template for DELL PowerEdge R750 servers with iDRAC version 7 and later.
MIBs used:
HOST-RESOURCES-MIB
IDRAC-MIB-SMIv2
SNMPv2-MIB
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/426752-discussion-thread-for-official-zabbix-dell-templates
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','419145c8af7e4b8eb30af8460bbed566','DELL POWEREDGE R750 BY SNMP','Zabbix','7.4-2',NULL,'0','0',''),
('10660',NULL,'Zabbix proxy health by Zabbix agent','3','-1','2','','','Zabbix proxy health by Zabbix agent','0',NULL,'This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy via the passive Zabbix agent.
Specify the address of the remote Zabbix proxy by changing the {$ZABBIX.PROXY.ADDRESS} and {$ZABBIX.PROXY.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote proxy''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','8cd15d3b39654eb7b7423e6b109037b2','ZABBIX PROXY HEALTH BY ZABBIX AGENT','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy via the passive Zabbix agent.
## Setup
Specify the address of the remote Zabbix proxy as the values for the `Zabbix proxy Address` and `Zabbix proxy Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote proxy''s configuration file to allow the collection of statistics.'),
('10661',NULL,'Zabbix proxy health by Zabbix agent active','3','-1','2','','','Zabbix proxy health by Zabbix agent active','0',NULL,'This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy via the active Zabbix agent.
Specify the address of the remote Zabbix proxy by changing the {$ZABBIX.PROXY.ADDRESS} and {$ZABBIX.PROXY.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote proxy''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','02aac022a62c48bba810d07bbaa712cc','ZABBIX PROXY HEALTH BY ZABBIX AGENT ACTIVE','Zabbix','7.4-3',NULL,'0','1','## Overview
This template is designed to monitor internal Zabbix metrics on the remote Zabbix proxy via the active Zabbix agent.
## Setup
Specify the address of the remote Zabbix proxy as the values for the `Zabbix proxy Address` and `Zabbix proxy Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote proxy''s configuration file to allow the collection of statistics.'),
('10662',NULL,'Zabbix server health by Zabbix agent','3','-1','2','','','Zabbix server health by Zabbix agent','0',NULL,'This template is designed to monitor Zabbix server metrics via the passive Zabbix agent.
Specify the address of the remote Zabbix server by changing the {$ZABBIX.SERVER.ADDRESS} and {$ZABBIX.SERVER.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote server''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','d31c888d12aa4bf68f280bc242501743','ZABBIX SERVER HEALTH BY ZABBIX AGENT','Zabbix','7.4-5',NULL,'0','1','## Overview
This template is designed to monitor Zabbix server metrics via the passive Zabbix agent.
## Setup
Specify the address of the remote Zabbix server as the values for the `Zabbix server Address` and `Zabbix server Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote server''s configuration file to allow the collection of statistics.'),
('10663',NULL,'Zabbix server health by Zabbix agent active','3','-1','2','','','Zabbix server health by Zabbix agent active','0',NULL,'This template is designed to monitor Zabbix server metrics via the active Zabbix agent.
Specify the address of the remote Zabbix server by changing the {$ZABBIX.SERVER.ADDRESS} and {$ZABBIX.SERVER.PORT} macros. Don''t forget to adjust the "StatsAllowedIP" parameter in the remote server''s configuration file to allow the collection of statistics.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','6d6c147c87de4af1b09cf0f55bac50a0','ZABBIX SERVER HEALTH BY ZABBIX AGENT ACTIVE','Zabbix','7.4-5',NULL,'0','1','## Overview
This template is designed to monitor Zabbix server metrics via the active Zabbix agent.
## Setup
Specify the address of the remote Zabbix server as the values for the `Zabbix server Address` and `Zabbix server Port` configuration fields. Don''t forget to adjust the `StatsAllowedIP` parameter in the remote server''s configuration file to allow the collection of statistics.'),
('10664',NULL,'Azure Microsoft SQL DTU Database by HTTP','3','-1','2','','','Azure Microsoft SQL DTU Database by HTTP','0',NULL,'This template is designed to monitor Microsoft SQL DTU-based databases via HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID} and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','c3a9fa0e07be4c1bbe19ae65c3375d17','AZURE MICROSOFT SQL DTU DATABASE BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft SQL DTU-based databases via HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID` and `Azure SQL DTU-based database ID`.'),
('10665',NULL,'Pure Storage FlashArray v1 by HTTP','3','-1','2','','','Pure Storage FlashArray v1 by HTTP','0',NULL,'Setup:
1. Create a host for the Pure Storage FlashArray device and assign to it the "Pure Storage FlashArray v1 by HTTP" template.
2. Enter your API token from the Purity//FA web interface into the {$PURE.FLASHARRAY.API.TOKEN} macro.
3. Set your Purity//FA web interface URL as the {$PURE.FLASHARRAY.API.URL} macro value.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','ae3ce7156aae4ae79a72742365c884ea','PURE STORAGE FLASHARRAY V1 BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10666',NULL,'Pure Storage FlashArray v2 by HTTP','3','-1','2','','','Pure Storage FlashArray v2 by HTTP','0',NULL,'Setup:
1. Create a host for the Pure Storage FlashArray device and assign to it the "Pure Storage FlashArray v2 by HTTP" template.
2. Enter your API token from the Purity//FA web interface into the {$PURE.FLASHARRAY.API.TOKEN} macro.
3. Set your Purity//FA web interface URL as the {$PURE.FLASHARRAY.API.URL} macro value.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','44990575121d4798b9e10520604c786c','PURE STORAGE FLASHARRAY V2 BY HTTP','Zabbix','7.4-1',NULL,'0','0',''),
('10667',NULL,'Juniper MX by NETCONF','3','-1','2','','','Juniper MX by NETCONF','0',NULL,'The template for monitoring Juniper MX Series by NETCONF.
NOTE
This template uses SSH checks with new `subsystem` in item key, available 7.2 and above.
For this template to work, you must enable the NETCONF service. To acquire this information, see the following steps:
1. Enable the NETCONF service on either the default NETCONF port (830) or a user-defined port
To use the default NETCONF port (830), include the netconf ssh statement at the [edit system services] hierarchy level:
set netconf ssh
2. Create a local user account:
set user zabbix class read-only
set plain-text-password
3. Commit the configuration:
commit
For more details read Enable NETCONF Service over SSH https://www.juniper.net/documentation/us/en/software/junos/netconf/topics/topic-map/netconf-ssh-connection.html.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','12af2a9efcc84c3298bf1654aa96c0db','JUNIPER MX BY NETCONF','Zabbix','7.4-0',NULL,'0','0',''),
('10690',NULL,'Azure Backup Jobs by HTTP','3','-1','2','','','Azure Backup Jobs by HTTP','0',NULL,'This template is designed to monitor Azure Backup Jobs via HTTP.
It works without any external scripts and uses the script item.
Setup:
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
See https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli for more details.
2. Link the template to a host.
3. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}, and {$AZURE.RESOURCE.ID}.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','3d527f609e344ed8a4ec19762c31c619','AZURE BACKUP JOBS BY HTTP','Zabbix','7.4-1',NULL,'0','1','## Overview
This template is designed to monitor Microsoft Azure Backup Jobs via HTTP.
It works without any external scripts and uses the script item.
## Setup
1. Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
`az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/`
> See [Azure documentation](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) for more details.
2. Link the template to a host.
3. Configure the macros: `Azure App ID`, `Azure password`, `Azure tenant ID`, `Azure subscription ID`, `Azure Vault ID` and `Backup jobs period`.'),
('10716',NULL,'Acronis CPC MSP {#SCOPE}','0','-1','2','','','Acronis CPC MSP {#SCOPE}','2',NULL,'','1','1','','','','','0','0','bbdc747270f64876bc701dd87c27dbbe','ACRONIS CPC MSP {#SCOPE}','','',NULL,'0','0',''),
('10717',NULL,'Consul {#NODE_NAME}','0','-1','2','','','Consul {#NODE_NAME}','2',NULL,'','1','1','','','','','0','1','20efdd208e1548a7877a970e1600e5ba','CONSUL {#NODE_NAME}','','',NULL,'0','0',''),
('10718',NULL,'{#SERVER.NAME}','0','-1','2','','','Control-M server [{#SERVER.NAME}]','2',NULL,'','1','1','','','','','0','0','1ade45fcbb9e407ca32542564b12f2b1','CONTROL-M SERVER [{#SERVER.NAME}]','','',NULL,'0','0',''),
('10719',NULL,'{#NAME}','1','-1','2','','','{#NAME}','2',NULL,'','1','1','','','','','1','1','bfcbf26edd704bdfaa65e244a987839e','{#NAME}','','',NULL,'0','0',''),
('10720',NULL,'API {#NAME}','0','-1','2','','','API {#NAME}','2',NULL,'','1','1','','','','','0','1','a67ac5100e6d499088e4c81856f947fc','API {#NAME}','','',NULL,'0','0',''),
('10721',NULL,'Controller manager {#NAME}','0','-1','2','','','Controller manager {#NAME}','2',NULL,'','1','1','','','','','0','1','9d529f3924fc4831a62fb1eec79b64d7','CONTROLLER MANAGER {#NAME}','','',NULL,'0','0',''),
('10722',NULL,'Kubelet {#NAME}','0','-1','2','','','Kubelet {#NAME}','2',NULL,'','1','1','','','','','0','1','c1c4807f378a47dfa59e9bbc8e43f5e2','KUBELET {#NAME}','','',NULL,'0','0',''),
('10723',NULL,'Scheduler {#NAME}','0','-1','2','','','Scheduler {#NAME}','2',NULL,'','1','1','','','','','0','1','46da4b85c58f4c59825e61778a64a58e','SCHEDULER {#NAME}','','',NULL,'0','0',''),
('10724',NULL,'{#CLIENT.ID}','0','-1','2','','','{#CLIENT.NAME}-client','2',NULL,'','1','1','','','','','0','1','8284dcf3055749d3b27720526c665e34','{#CLIENT.NAME}-CLIENT','','',NULL,'0','0',''),
('10725',NULL,'{#SERVER.ID}','0','-1','2','','','{#SERVER.NAME}','2',NULL,'','1','1','','','','','0','1','addb1ce7995f44089a13128052171445','{#SERVER.NAME}','','',NULL,'0','0',''),
('10726',NULL,'{#NUTANIX.CLUSTER.UUID}','0','-1','2','','','{#NUTANIX.CLUSTER.NAME}','2',NULL,'','1','1','','','','','0','0','c1f630a16e304dcda7771895344638c7','{#NUTANIX.CLUSTER.NAME}','','',NULL,'0','0',''),
('10727',NULL,'{#NUTANIX.HOST.UUID}','0','-1','2','','','{#NUTANIX.HOST.NAME}','2',NULL,'','1','1','','','','','0','0','24ccbeb75dc949ccb6c094416618443b','{#NUTANIX.HOST.NAME}','','',NULL,'0','0',''),
('10728',NULL,'{#HV.UUID}','0','-1','2','','','{#HV.NAME}','2',NULL,'','1','1','','','','','0','1','051a1469d4d045cbbf818fcc843a352e','{#HV.NAME}','','',NULL,'0','0',''),
('10729',NULL,'{#VM.UUID}','0','-1','2','','','{#VM.NAME}','2',NULL,'','1','1','','','','','0','1','23b9ae9d6f33414880db1cb107115810','{#VM.NAME}','','',NULL,'0','0',''),
('10730',NULL,'{#HV.UUID}','0','-1','2','','','{#HV.NAME}','2',NULL,'','1','1','','','','','0','1','51cf7ea3e6a74f7e8dde628dbc5347a3','{#HV.NAME}','','',NULL,'0','0',''),
('10731',NULL,'{#VM.DNS}','0','-1','2','','','{#VM.NAME}','2',NULL,'','1','1','','','','','0','1','a12e25c500a14fcf99295c207371ca1b','{#VM.NAME}','','',NULL,'0','0',''),
('10732',NULL,'{#AWS.EC2.INSTANCE.ID}','0','-1','2','','','{#AWS.EC2.INSTANCE.NAME}','2',NULL,'','1','1','','','','','0','1','c4c830c727294b07926c39b00cf19046','{#AWS.EC2.INSTANCE.NAME}','','',NULL,'0','0',''),
('10733',NULL,'{#AWS.ECS.CLUSTER.NAME}','0','-1','2','','','{#AWS.ECS.CLUSTER.NAME}','2',NULL,'','1','1','','','','','0','0','71072e5a149e45b293946866f8220c07','{#AWS.ECS.CLUSTER.NAME}','','',NULL,'0','0',''),
('10734',NULL,'{#AWS.ELB.NAME}','0','-1','2','','','{#AWS.ELB.NAME}','2',NULL,'','1','1','','','','','0','0','2c31bc79209e41978f76315406339769','{#AWS.ELB.NAME}','','',NULL,'0','0',''),
('10735',NULL,'{#AWS.LAMBDA.NAME}','0','-1','2','','','{#AWS.LAMBDA.NAME}','2',NULL,'','1','1','','','','','0','0','7b468bda682c402b96fd55210aa85155','{#AWS.LAMBDA.NAME}','','',NULL,'0','0',''),
('10736',NULL,'{#AWS.RDS.INSTANCE.ID}','0','-1','2','','','{#AWS.RDS.INSTANCE.ID}','2',NULL,'','1','1','','','','','0','1','799663c52a644f78aa3b3c14d4cc7235','{#AWS.RDS.INSTANCE.ID}','','',NULL,'0','0',''),
('10737',NULL,'{#AWS.S3.NAME}','0','-1','2','','','{#AWS.S3.NAME}','2',NULL,'','1','1','','','','','0','1','e45bd9810ea14718b17b875aad3fc544','{#AWS.S3.NAME}','','',NULL,'0','0',''),
('10738',NULL,'Azure Cosmos DB {#NAME}','0','-1','2','','','Azure Cosmos DB {#NAME}','2',NULL,'','1','1','','','','','0','0','16eec30e921e4627b3599b4d06e48072','AZURE COSMOS DB {#NAME}','','',NULL,'0','0',''),
('10739',NULL,'Azure Microsoft SQL database {#NAME}','0','-1','2','','','Azure Microsoft SQL database {#NAME}','2',NULL,'','1','1','','','','','0','0','2aaf7dc7e9f04ccf9dd91fcd803fa076','AZURE MICROSOFT SQL DATABASE {#NAME}','','',NULL,'0','0',''),
('10740',NULL,'Azure MySQL server {#NAME}','0','-1','2','','','Azure MySQL server {#NAME}','2',NULL,'','1','1','','','','','0','0','55b87078c14c4561b53e64af5ed77d61','AZURE MYSQL SERVER {#NAME}','','',NULL,'0','0',''),
('10741',NULL,'Azure PostgreSQL server {#NAME}','0','-1','2','','','Azure PostgreSQL server {#NAME}','2',NULL,'','1','1','','','','','0','0','54f0e0ec288f4feb9a2dc58a8726bd1d','AZURE POSTGRESQL SERVER {#NAME}','','',NULL,'0','0',''),
('10742',NULL,'Azure VM scale set {#NAME}','0','-1','2','','','Azure VM scale set {#NAME}','2',NULL,'','1','1','','','','','0','0','1cbeb513fe3648b6829836800952c9c7','AZURE VM SCALE SET {#NAME}','','',NULL,'0','0',''),
('10743',NULL,'Azure SQL managed instance {#NAME}','0','-1','2','','','Azure SQL managed instance {#NAME}','2',NULL,'','1','1','','','','','0','0','5211d232275145598294fc35bac96075','AZURE SQL MANAGED INSTANCE {#NAME}','','',NULL,'0','0',''),
('10744',NULL,'Azure vault {#NAME}','0','-1','2','','','Azure vault {#NAME}','2',NULL,'','1','1','','','','','0','0','fb057eebe3fb4d2483c8a3e7fe4c7b07','AZURE VAULT {#NAME}','','',NULL,'0','0',''),
('10745',NULL,'Azure virtual machine {#NAME}','0','-1','2','','','Azure virtual machine {#NAME}','2',NULL,'','1','1','','','','','0','0','d08c0ee33c924b28bf1fed571da6c7f4','AZURE VIRTUAL MACHINE {#NAME}','','',NULL,'0','0',''),
('10746',NULL,'{#GCP.PROJECT.ID}-{#CLOUD_SQL.INSTANCE.NAME}','0','-1','2','','','{#CLOUD_SQL.INSTANCE.NAME}','2',NULL,'','1','1','','','','','0','1','edc6ab9314ed410b8a3cf6bfedff51ab','{#CLOUD_SQL.INSTANCE.NAME}','','',NULL,'0','0',''),
('10747',NULL,'{#GCP.PROJECT.ID}-{#CLOUD_SQL.INSTANCE.NAME}','0','-1','2','','','{#CLOUD_SQL.INSTANCE.NAME}','2',NULL,'','1','1','','','','','0','1','8b2556b881b14b86a98f90a447ae9734','{#CLOUD_SQL.INSTANCE.NAME}','','',NULL,'0','0',''),
('10748',NULL,'{#GCP.PROJECT.ID}-{#CLOUD_SQL.INSTANCE.NAME}','0','-1','2','','','{#CLOUD_SQL.INSTANCE.NAME}','2',NULL,'','1','1','','','','','0','1','0fbbc550fda448d39aad6d0710f28b6a','{#CLOUD_SQL.INSTANCE.NAME}','','',NULL,'0','0',''),
('10749',NULL,'{#GCE.INSTANCE.ID}','0','-1','2','','','{#GCE.INSTANCE.NAME}','2',NULL,'','1','1','','','','','0','1','cb22d82a12814afb8ba833c649d575c4','{#GCE.INSTANCE.NAME}','','',NULL,'0','0',''),
('10750',NULL,'OpenStack {#SERVICE_NAME}','0','-1','2','','','OpenStack {#SERVICE_NAME}','2',NULL,'','1','1','','','','','0','0','580d769292ec48379c5b84cd5c72533b','OPENSTACK {#SERVICE_NAME}','','',NULL,'0','0',''),
('10751',NULL,'OCI Block Volume - {#ID}','0','-1','2','','','OCI Block Volume - {#ID}','2',NULL,'','1','1','','','','','0','0','5030f7dadd5b40558e07a4545d7346bd','OCI BLOCK VOLUME - {#ID}','','',NULL,'0','0',''),
('10752',NULL,'OCI Boot Volume - {#ID}','0','-1','2','','','OCI Boot Volume - {#ID}','2',NULL,'','1','1','','','','','0','0','914b808a4a014f6e824a3b9c53f1b492','OCI BOOT VOLUME - {#ID}','','',NULL,'0','0',''),
('10753',NULL,'OCI Compute - {#ID}','0','-1','2','','','OCI Compute - {#ID}','2',NULL,'','1','1','','','','','0','0','9337374066e04291b2f94f8ad5470f54','OCI COMPUTE - {#ID}','','',NULL,'0','0',''),
('10754',NULL,'OCI Autonomous DB - {#NAME}','0','-1','2','','','OCI Autonomous DB - {#NAME}','2',NULL,'','1','1','','','','','0','0','88d0076a057c441ab5a531cfcb650e84','OCI AUTONOMOUS DB - {#NAME}','','',NULL,'0','0',''),
('10755',NULL,'OCI Bucket - {#NAME}','0','-1','2','','','OCI Bucket - {#NAME}','2',NULL,'','1','1','','','','','0','0','f71e979727ce42daa80a34da5ffb296f','OCI BUCKET - {#NAME}','','',NULL,'0','0',''),
('10756',NULL,'OCI VCN - {#ID}','0','-1','2','','','OCI VCN - {#ID}','2',NULL,'','1','1','','','','','0','0','5329fee3dbc643ebbb99472c67a0a207','OCI VCN - {#ID}','','',NULL,'0','0',''),
('10757',NULL,'{#HOSTNAME}','0','-1','2','','','{#HOSTNAME}','2',NULL,'','1','1','','','','','0','0','809db5d8d32a45898e8401f288a42fac','{#HOSTNAME}','','',NULL,'0','0',''),
('10758',NULL,'{#HOSTNAME}','0','-1','2','','','{#HOSTNAME}','2',NULL,'','1','1','','','','','0','0','3fcd3244b1234186bda9a35c8f61c850','{#HOSTNAME}','','',NULL,'0','0',''),
('10759',NULL,'{#CLUSTER.ID}','0','-1','2','','','YugabyteDB Cluster [{#CLUSTER.NAME}]','2',NULL,'','1','1','','','','','0','0','1a7ec22ad5ad41e0bcb04c01c2c45e4e','YUGABYTEDB CLUSTER [{#CLUSTER.NAME}]','','',NULL,'0','0',''),
('10760',NULL,'{#UUID}','0','-1','2','','','[{#TYPE}] {#NAME}','2',NULL,'','1','1','','','','','0','1','8c53a2dded4a47cba1eb3398aff888d7','[{#TYPE}] {#NAME}','','',NULL,'0','0',''),
('10761',NULL,'{#SERIAL}','0','-1','2','','','[{#SERIAL}] [{#PRODUCT_TYPE}] {#NAME}','2',NULL,'','1','1','','','','','0','0','86d599f384d94b368508a170911213ec','[{#SERIAL}] [{#PRODUCT_TYPE}] {#NAME}','','',NULL,'0','0',''),
('10762',NULL,'meraki-organization-{#ID}','0','-1','2','','','[{#REGION}] {#NAME}','2',NULL,'','1','1','','','','','0','0','59cd2e995b814d7e9f8411dbc7420c76','[{#REGION}] {#NAME}','','',NULL,'0','0',''),
('10763',NULL,'Cisco Secure Firewall Threat Defense by HTTP','3','-1','2','','','Cisco Secure Firewall Threat Defense by HTTP','0',NULL,'This template is designed to monitor Cisco Secure Firewall Threat Defense devices using the REST API.
It provides metrics such as CPU and memory usage, interface statistics, connection tracking, and more.
The template includes items, triggers, and graphs to help you monitor the performance and health of your Cisco Secure Firewall Threat Defense devices.
It is based on the Cisco Secure Firewall Threat Defense REST API and requires the API URL, username, and password to be set as macros.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','1818cd052f174772a48bfc275d0016dd','CISCO SECURE FIREWALL THREAT DEFENSE BY HTTP','Zabbix','7.4-0',NULL,'0','1','## Overview
This template provides monitoring capabilities for Cisco Secure Firewall Threat Defense devices using the REST API.
It includes metrics for CPU and memory usage, interface statistics, connection tracking, and more.
## Setup
Basic Auth is formed using the username and password of an administrator account that is used to log in to either FDM (Firepower Device Manager) or FMC (Firepower Management Center), depending on your deployment.
Use the credentials in `API username` and `API password`.
The `API URL` of the Cisco Secure Firewall Threat Defense REST API, e.g., `https://ftd.example.com/api/fdm/latest`.'),
('10764',NULL,'AWS Backup Vault by HTTP','3','-1','2','','','AWS Backup Vault by HTTP','0',NULL,'The template is designed to monitor AWS Backup vaults and jobs by HTTP via Zabbix, and it works without any external scripts.
Don''t forget to read the README.md for the correct setup of the template.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
Generated by official Zabbix template tool "Templator"','1','1','','','','','0','0','024cf4f0711c4c39a4e016858efc5e37','AWS BACKUP VAULT BY HTTP','Zabbix','7.4-0',NULL,'0','1','## Overview
This template uses the AWS Backup API calls to list and retrieve metrics.
For more information, please refer to the [AWS Backup API]https://docs.aws.amazon.com/aws-backup/latest/devguide/api-reference.html) page.
Additional information about metrics and API methods used in the template:
* [Metrics related to a Backup vault](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupVaultListMember.html)
* [Metrics related to a Backup job](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupJob.html)
## Setup
The template gets AWS Backup vault metrics and uses the script item to make HTTP requests to the AWS Backup API.
Before using the template, you need to create an IAM policy with the necessary permissions for the Zabbix role in your AWS account.
### Required Permissions
Add the following required permissions to your Zabbix IAM policy in order to collect AWS Backup vaults and jobs.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Action":[
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
```
### Access Key Authorization
If you are using access key authorization, you need to generate an access key and secret key for an IAM user with the necessary permissions:
1. Create an IAM user with programmatic access.
2. Attach the required policy to the IAM user.
3. Generate an access key and secret key.
4. Use the generated credentials in the macros `{$AWS.ACCESS.KEY.ID}` and `{$AWS.SECRET.ACCESS.KEY}`.
### Assume Role Authorization
For using assume role authorization, add the appropriate permissions to the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::{Account}:user/{UserName}"
},
{
"Effect": "Allow",
"Action": [
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Assume Role Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{Account}:user/{UserName}"
},
"Action": "sts:AssumeRole"
}
]
}
```
Set the following macros: `{$AWS.ACCESS.KEY.ID}`, `{$AWS.SECRET.ACCESS.KEY}`, `{$AWS.STS.REGION}`, `{$AWS.ASSUME.ROLE.ARN}`.
### Role-Based Authorization
If you are using role-based authorization, set the appropriate permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<<--account-id-->>:role/<<--role_name-->>"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"backup:ListBackupVaults",
"backup:ListBackupJobs",
"backup:ListCopyJobs",
"backup:ListRestoreJobs"
],
"Resource": "*"
}
]
}
```
#### Trust Relationships for Role-Based Authorization
Next, add a principal to the trust relationships of the role you are using:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"backup.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
```
**Note**: Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.
Set the macros: `{$AWS.AUTH_TYPE}`, `{$AWS.REGION}`, and `{$AWS.BACKUP_VAULT.NAME}`.
For more information about managing access keys, see the [official AWS documentation](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
See the section below for a list of macros used for LLD filters.'),
('10765',NULL,'{#AWS.BACKUP_VAULT.NAME}','0','-1','2','','','{#AWS.BACKUP_VAULT.NAME}','2',NULL,'','1','1','','','','','0','0','44f23ddbb22646aea4db43a90646f695','{#AWS.BACKUP_VAULT.NAME}','','',NULL,'0','0','');
INSERT INTO hgset_group (hgsetid,groupid) VALUES ('1','15'),
('2','18'),
('3','17'),
('4','12'),
('4','9'),
('5','21'),
('6','4'),
('7','9'),
('8','12'),
('9','16'),
('10','11'),
('11','10'),
('12','13');
INSERT INTO host_hgset (hostid,hgsetid) VALUES ('10001','11'),
('10047','8'),
('10048','8'),
('10074','11'),
('10075','11'),
('10076','11'),
('10077','11'),
('10078','11'),
('10079','11'),
('10081','11'),
('10084','6'),
('10169','8'),
('10171','10'),
('10172','10'),
('10173','8'),
('10174','8'),
('10175','8'),
('10207','7'),
('10208','7'),
('10210','7'),
('10211','7'),
('10218','7'),
('10220','7'),
('10221','7'),
('10222','7'),
('10223','7'),
('10224','7'),
('10226','7'),
('10227','7'),
('10229','7'),
('10230','7'),
('10231','7'),
('10233','7'),
('10234','7'),
('10235','7'),
('10236','7'),
('10237','7'),
('10248','11'),
('10249','11'),
('10250','7'),
('10251','7'),
('10253','7'),
('10254','7'),
('10255','10'),
('10256','10'),
('10258','10'),
('10259','10'),
('10260','8'),
('10261','8'),
('10262','8'),
('10264','8'),
('10265','8'),
('10266','8'),
('10267','8'),
('10285','11'),
('10300','8'),
('10301','8'),
('10302','8'),
('10303','8'),
('10304','10'),
('10308','8'),
('10309','8'),
('10310','12'),
('10316','12'),
('10317','12'),
('10318','8'),
('10319','8'),
('10320','12'),
('10321','10'),
('10322','8'),
('10323','12'),
('10324','8'),
('10325','8'),
('10326','8'),
('10327','12'),
('10328','12'),
('10329','12'),
('10330','8'),
('10331','8'),
('10335','12'),
('10336','1'),
('10343','11'),
('10351','11'),
('10353','8'),
('10355','8'),
('10357','12'),
('10358','8'),
('10359','8'),
('10360','8'),
('10361','8'),
('10362','8'),
('10363','8'),
('10364','8'),
('10365','8'),
('10366','8'),
('10369','8'),
('10370','12'),
('10371','7'),
('10372','7'),
('10373','7'),
('10374','7'),
('10375','7'),
('10376','7'),
('10377','7'),
('10378','9'),
('10379','8'),
('10380','3'),
('10381','12'),
('10382','8'),
('10385','9'),
('10386','12'),
('10387','12'),
('10390','7'),
('10391','7'),
('10392','7'),
('10393','7'),
('10394','7'),
('10395','2'),
('10396','9'),
('10397','12'),
('10398','12'),
('10399','12'),
('10400','2'),
('10401','2'),
('10402','2'),
('10403','2'),
('10404','2'),
('10406','2'),
('10407','2'),
('10408','2'),
('10409','2'),
('10410','8'),
('10411','8'),
('10412','2'),
('10413','8'),
('10414','8'),
('10415','8'),
('10416','8'),
('10417','12'),
('10418','7'),
('10419','7'),
('10420','7'),
('10421','7'),
('10422','7'),
('10423','7'),
('10424','7'),
('10425','7'),
('10426','7'),
('10427','7'),
('10428','7'),
('10429','7'),
('10430','7'),
('10431','7'),
('10432','7'),
('10433','7'),
('10434','10'),
('10435','10'),
('10436','10'),
('10437','10'),
('10438','10'),
('10439','10'),
('10440','10'),
('10441','10'),
('10442','10'),
('10443','10'),
('10444','10'),
('10445','10'),
('10446','10'),
('10447','8'),
('10448','8'),
('10449','7'),
('10450','7'),
('10451','7'),
('10452','7'),
('10453','7'),
('10454','7'),
('10455','7'),
('10456','7'),
('10457','7'),
('10458','7'),
('10459','7'),
('10460','7'),
('10461','7'),
('10462','7'),
('10463','7'),
('10464','7'),
('10465','7'),
('10466','7'),
('10467','7'),
('10468','7'),
('10469','7'),
('10470','7'),
('10471','7'),
('10472','7'),
('10473','7'),
('10474','7'),
('10475','7'),
('10476','7'),
('10477','7'),
('10478','7'),
('10479','7'),
('10480','7'),
('10481','7'),
('10482','7'),
('10483','7'),
('10484','7'),
('10485','7'),
('10486','7'),
('10487','7'),
('10488','7'),
('10489','7'),
('10490','7'),
('10491','7'),
('10492','7'),
('10493','7'),
('10494','7'),
('10495','7'),
('10496','7'),
('10497','7'),
('10498','7'),
('10499','7'),
('10500','7'),
('10501','7'),
('10502','7'),
('10503','7'),
('10504','8'),
('10505','8'),
('10506','8'),
('10507','8'),
('10509','8'),
('10510','8'),
('10515','8'),
('10516','8'),
('10517','8'),
('10518','8'),
('10519','12'),
('10520','8'),
('10521','8'),
('10522','8'),
('10524','9'),
('10525','9'),
('10526','9'),
('10527','5'),
('10528','8'),
('10529','5'),
('10530','5'),
('10531','5'),
('10532','5'),
('10534','10'),
('10535','5'),
('10539','5'),
('10540','5'),
('10543','5'),
('10544','5'),
('10546','4'),
('10547','4'),
('10548','4'),
('10551','7'),
('10552','8'),
('10553','8'),
('10555','8'),
('10556','8'),
('10557','5'),
('10558','5'),
('10560','8'),
('10561','8'),
('10562','8'),
('10563','7'),
('10564','7'),
('10565','10'),
('10566','10'),
('10568','5'),
('10570','5'),
('10571','5'),
('10572','5'),
('10573','5'),
('10574','5'),
('10575','5'),
('10576','5'),
('10577','5'),
('10582','5'),
('10583','5'),
('10584','5'),
('10586','5'),
('10587','5'),
('10589','12'),
('10590','4'),
('10591','4'),
('10593','8'),
('10594','8'),
('10595','8'),
('10596','8'),
('10599','8'),
('10600','8'),
('10602','8'),
('10603','7'),
('10604','7'),
('10605','10'),
('10606','5'),
('10607','5'),
('10609','12'),
('10610','12'),
('10611','12'),
('10613','7'),
('10614','5'),
('10615','5'),
('10616','5'),
('10617','5'),
('10618','5'),
('10619','5'),
('10620','5'),
('10627','5'),
('10628','8'),
('10629','8'),
('10630','8'),
('10631','8'),
('10632','5'),
('10634','5'),
('10636','9'),
('10637','8'),
('10638','8'),
('10639','8'),
('10640','8'),
('10641','8'),
('10642','8'),
('10645','8'),
('10646','12'),
('10647','12'),
('10648','12'),
('10649','12'),
('10650','8'),
('10651','8'),
('10652','5'),
('10654','7'),
('10655','7'),
('10656','10'),
('10657','10'),
('10658','10'),
('10659','10'),
('10660','8'),
('10661','8'),
('10662','8'),
('10663','8'),
('10664','5'),
('10665','9'),
('10666','9'),
('10667','7'),
('10690','5'),
('10763','7'),
('10764','5');
INSERT INTO group_prototype (group_prototypeid,hostid,name,groupid,templateid) VALUES ('280','10716','','19',NULL),
('281','10717','','19',NULL),
('282','10717','Consul cluster/{#NODE_DATACENTER}',NULL,NULL),
('283','10718','','19',NULL),
('284','10718','Control-M/{#SERVER.NAME}',NULL,NULL),
('285','10719','','19',NULL),
('286','10719','{#CLUSTER_HOSTNAME}: Kubernetes/Nodes/Role: {#ROLES}',NULL,NULL),
('287','10720','','19',NULL),
('288','10721','','19',NULL),
('289','10722','','19',NULL),
('290','10723','','19',NULL),
('291','10720','{#CLUSTER_HOSTNAME}: Kubernetes/Components: {#COMPONENT.API}',NULL,NULL),
('292','10721','{#CLUSTER_HOSTNAME}: Kubernetes/Components: {#COMPONENT.CONTROLLER}',NULL,NULL),
('293','10722','{#CLUSTER_HOSTNAME}: Kubernetes/Components: {#COMPONENT}',NULL,NULL),
('294','10723','{#CLUSTER_HOSTNAME}: Kubernetes/Components: {#COMPONENT.SCHEDULER}',NULL,NULL),
('295','10724','','19',NULL),
('296','10725','','19',NULL),
('297','10726','','19',NULL),
('298','10727','','19',NULL),
('299','10728','','19',NULL),
('300','10729','','19',NULL),
('301','10728','{#CLUSTER.NAME} (hypervisor)',NULL,NULL),
('302','10728','{#DATACENTER.NAME}',NULL,NULL),
('303','10729','{#CLUSTER.NAME} (vm)',NULL,NULL),
('304','10729','{#DATACENTER.NAME}/{#VM.FOLDER} (vm)',NULL,NULL),
('305','10729','{#HV.NAME}',NULL,NULL),
('306','10730','','19',NULL),
('307','10731','','19',NULL),
('308','10730','{#CLUSTER.NAME} (hypervisor)',NULL,NULL),
('309','10730','{#DATACENTER.NAME}',NULL,NULL),
('310','10731','{#CLUSTER.NAME} (vm)',NULL,NULL),
('311','10731','{#DATACENTER.NAME}/{#VM.FOLDER} (vm)',NULL,NULL),
('312','10731','{#HV.NAME}',NULL,NULL),
('313','10732','','6',NULL),
('314','10733','','19',NULL),
('315','10734','','19',NULL),
('316','10735','','19',NULL),
('317','10736','','20',NULL),
('318','10737','','19',NULL),
('319','10738','','20',NULL),
('320','10739','','20',NULL),
('321','10740','','20',NULL),
('322','10741','','20',NULL),
('323','10742','','6',NULL),
('324','10743','','20',NULL),
('325','10744','','19',NULL),
('326','10745','','6',NULL),
('327','10746','','20',NULL),
('328','10747','','20',NULL),
('329','10748','','20',NULL),
('330','10749','','6',NULL),
('331','10750','','6',NULL),
('332','10751','','19',NULL),
('333','10752','','19',NULL),
('334','10753','','6',NULL),
('335','10754','','20',NULL),
('336','10755','','19',NULL),
('337','10756','','19',NULL),
('338','10757','','20',NULL),
('339','10758','','20',NULL),
('340','10757','MongoDB sharded cluster/{#REPLICASET}',NULL,NULL),
('341','10758','MongoDB sharded cluster/{#ID}',NULL,NULL),
('342','10759','','20',NULL),
('343','10760','','19',NULL),
('344','10760','Cisco SD-WAN/{#TYPE}',NULL,NULL),
('345','10761','','19',NULL),
('346','10762','','19',NULL),
('347','10762','{#REGION}',NULL,NULL),
('348','10765','','19',NULL);
INSERT INTO interface (interfaceid,hostid,main,type,useip,ip,dns,port) VALUES ('1','10084','1','1','1','127.0.0.1','','10050'),
('56','10717','1','1','1','{#NODE_ADDRESS}','','10050'),
('57','10719','1','1','1','{#IP}','','10050'),
('58','10720','1','1','1','{#IP}','','10050'),
('59','10721','1','1','1','{#IP}','','10050'),
('60','10722','1','1','1','{#IP}','','10050'),
('61','10723','1','1','1','{#IP}','','10050'),
('62','10724','1','1','1','{#CLIENT.IP}','','10050'),
('63','10725','1','1','1','{#SERVER.IP}','','10050'),
('64','10728','1','1','1','{#HV.IP}','','10050'),
('65','10729','1','1','1','{#VM.IP}','','10050'),
('66','10730','1','1','1','{#HV.IP}','','10050'),
('67','10731','1','1','1','{#VM.IP}','','10050'),
('68','10732','1','1','1','{#AWS.EC2.INSTANCE.ID}','','10050'),
('69','10736','1','1','1','{#AWS.RDS.INSTANCE.ID}','','10050'),
('70','10737','1','1','1','{#AWS.S3.NAME}','','10050'),
('71','10746','0','1','1','{#CLOUD_SQL.INSTANCE.EXT.IP}','external.ip','10050'),
('72','10746','1','1','1','{#CLOUD_SQL.INSTANCE.IP}','internal.ip','10050'),
('73','10747','0','1','1','{#CLOUD_SQL.INSTANCE.EXT.IP}','external.ip','10050'),
('74','10747','1','1','1','{#CLOUD_SQL.INSTANCE.IP}','internal.ip','10050'),
('75','10748','0','1','1','{#CLOUD_SQL.INSTANCE.EXT.IP}','external.ip','10050'),
('76','10748','1','1','1','{#CLOUD_SQL.INSTANCE.IP}','internal.ip','10050'),
('77','10749','0','1','1','{#GCE.INSTANCE.EXT.IP}','external.ip','10050'),
('78','10749','1','1','1','{#GCE.INSTANCE.IP}','internal.ip','10050'),
('79','10760','0','1','1','{#INT.IP}','internal.ip','10050'),
('80','10760','1','1','1','{#IP}','external.ip','10050');
INSERT INTO valuemap (valuemapid,hostid,name,uuid) VALUES ('13','10264','Service state','452297e814a84b08a72730a7b777e378'),
('14','10265','Service state','a5d1f911fb264bd4bc087ea582626d7f'),
('15','10266','Service state','53c8528c18814f30a45d1540ab9e5c00'),
('16','10267','Service state','5c0883d194e8494498474106c22be2ca'),
('17','10301','Service state','c369d410303349b4973431b6ff8dcb85'),
('18','10303','Service state','aaf7d0b8b306412b8a3272343708518f'),
('19','10308','Service state','4980ec41c6644ecb9d5b52027a381fd8'),
('20','10309','Service state','a8a0c20f1d404a79900064ac5d11a8b2'),
('21','10310','Service state','ae3eec95cd1c440ba6c67ed5d7b7b915'),
('22','10316','Service state','4f2d7ca3c89246c6b691557447230031'),
('23','10317','Service state','622c38d0af2a4b6ea7a640a5d1a22b93'),
('24','10318','Service state','8effc3f81db14540996e2373dde6eca9'),
('25','10319','Service state','acd57d4f29a34286a801ce49cd6553fe'),
('26','10320','Service state','f2e8233fcf0a4dd2b53a82ca48436a88'),
('27','10322','Service state','15d416d869894fdb959ca2cda2c5e37c'),
('28','10323','Service state','94147888c7ad4f5bae864eb2698f0237'),
('29','10324','Service state','1735a8d251b24c3fbab32e766064536b'),
('30','10325','Service state','5f3f78a3470c48b69442d942f21d11d0'),
('31','10326','Service state','41be60c561114627b861677603b92acb'),
('32','10327','Service state','03cde96b90a641598db572a662dc2064'),
('33','10328','Service state','45ad479873b84113a98fa21b21081c65'),
('34','10330','Service state','1caa1e7c41e14c7492ab8112f93ea068'),
('35','10331','Service state','8e8fa515c14c4ac181db791c2c68c518'),
('36','10335','Service state','31c489581d8b4246942c663b88fbaf9f'),
('37','10336','Service state','d6e38832f2d44ec0bf6761e36fd7668f'),
('38','10353','Service state','22fe6d6c74454775994f07fc05d7bafd'),
('39','10355','Service state','1bd791d250e441aeb1c73e499d96e98e'),
('40','10357','Service state','372bc939f3924aafa13c4821b83a9276'),
('41','10363','Service state','6c967c4df18d4c7ebb0fd4be17df292a'),
('42','10365','Service state','547a6b8002d44a8f8f363023c6097b1e'),
('43','10175','Service state','25d04e2838af4fcca9ddd21df6781497'),
('44','10378','Service state','d3b3a064c6e445db8b9179ac79d257bf'),
('46','10325','Windows service state','d65f1af3c1e24a338983c52c5aa07d27'),
('47','10326','Windows service state','6dc834d8e50842d3a7337b0f88540b61'),
('51','10174','VMware VirtualMachinePowerState','78f08f5c5c0047b999a2e8daa96cf8b7'),
('52','10173','VMware status','3c59c22905054d42ac4ee8b72fe5f270'),
('53','10175','VMware status','2b324fd8d7624874a3a81449b62c2cd6'),
('54','10366','VMware status','5e5e3b01ef334bd39441568ebd0c31c0'),
('55','10047','Value cache operating mode','97bbea700550483bbd8405b4dd9d8005'),
('56','10261','Value cache operating mode','5dff563dde3c45d8b6d92525111384c6'),
('57','10251','ENTITY-SENSORS-MIB::EntitySensorStatus','d42214398aea4362b4fc61a090f188e1'),
('58','10254','ENTITY-SENSORS-MIB::EntitySensorStatus','318f3041aea04848a223de86e589c232'),
('64','10285','ifOperStatus','4827063819f14d539f509552c84f5f94'),
('71','10207','TIMETRA-CHASSIS-MIB::TmnxDeviceState','95a194271a584008a81564fd80189c5a'),
('72','10208','SW-MIB::swSensorStatus','73618556ee4b4e8f9ec9acf0893e13ea'),
('73','10208','SW-MIB::swOperStatus','54427fdf694547c598e3662df09a980a'),
('74','10210','FOUNDRY-SN-AGENT-MIB::snChasPwrSupplyOperStatus','fe1c4f9f35a34b6189110fc95e21b086'),
('75','10211','FOUNDRY-SN-AGENT-MIB::snChasPwrSupplyOperStatus','7b767e61825544bb857347f303a1f077'),
('76','10210','FOUNDRY-SN-AGENT-MIB::snChasFanOperStatus','d457efd8cee74f168bd88f4fb2376142'),
('77','10211','FOUNDRY-SN-AGENT-MIB::snChasFanOperStatus','41fadae69fa64af4a21c853fc00f23c0'),
('79','10221','F10-S-SERIES-CHASSIS-MIB::chSysFanTrayOperStatus','b389c759db0448ffbe28d4572fbfb3e9'),
('80','10221','F10-S-SERIES-CHASSIS-MIB::chSysPowerSupplyOperStatus','2532df482bd348ba8202c3eb2b76340b'),
('81','10222','MY-SYSTEM-MIB::mySystemFanIsNormal','5889e276245d411bacd130427ae4a5d4'),
('82','10223','EQUIPMENT-MIB::swFanStatus','e7ab460cf1bf4fca8afc22566257fc3a'),
('83','10223','EQUIPMENT-MIB::swPowerStatus','a46e6b21933f4aa7be17f9f11b1356ee'),
('84','10224','EXTREME-SYSTEM-MIB::extremeFanOperational','b71a1b2d06324275a37a1952f13e29b3'),
('85','10224','EXTREME-SYSTEM-MIB::extremeOverTemperatureAlarm','34c686dbaf8649b3b7dcc243068a739a'),
('86','10224','EXTREME-SYSTEM-MIB::extremePowerSupplyStatus','85bfdbc16637406fb5f1a23a15f16c77'),
('87','10227','HH3C-ENTITY-EXT-MIB::hh3cEntityExtErrorStatus','d7832aa00dd743bb8451cabff4e90e60'),
('88','10250','HP-ICF-CHASSIS::hpicfSensorStatus','3c0731bf0669419fa8ebfdf9f7ec14de'),
('89','10229','HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanState','5d3f20a830b34f668c5f3ece41a039cd'),
('90','10230','ICS-CHASSIS-MIB::icsChassisFanOperStatus','39299506ad14445fa7b7a9e78cc54619'),
('91','10230','ICS-CHASSIS-MIB::icsChassisSensorSlotOperStatus','4c80241c4d5d4b949577e9741710a32b'),
('92','10230','ICS-CHASSIS-MIB::icsChassisPowerSupplyOperStatus','535cb21845474749994bf7c395e39312'),
('93','10231','JUNIPER-ALARM-MIB::jnxRedAlarmState','3aaa451c55cd4e72ab84b65dd8310564'),
('94','10231','JUNIPER-ALARM-MIB::jnxOperatingState','64128e7f2adf44988b0ca3edd76cba61'),
('95','10251','ENTITY-STATE-MIB::EntityOperState','bd1dc90aa54849d0a5ae9bdf368d03a9'),
('96','10254','ENTITY-STATE-MIB::EntityOperState','15ba17df88eb435d9d48145fba8d9029'),
('97','10234','FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesPowSupplyItemState','d11e2b2f01c641728d1b7f764fa49f37'),
('98','10234','FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesFanItemState','3046d246b1064c749c1c9144442c0fac'),
('99','10234','FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorState','4da55a4de7284012890e1fd5458f039a'),
('100','10235','QTECH-MIB::sysFanStatus','fe2ada3a06844e138b3c4fed1a8c8d2d'),
('101','10235','QTECH-MIB::sysPowerStatus','439cee4220954720aa34725fdc6c365e'),
('102','10256','CPQSINFO-MIB::status','8374297ea234491b980591a8daa88e1f'),
('103','10256','CPQHLTH-MIB::cpqHeTemperatureLocale','f1e590a8cc744e22b900595851833357'),
('104','10256','CPQIDA-MIB::cpqDaCntlrModel','140a21785b764c95a3f78c8c05ed0844'),
('105','10256','CPQIDA-MIB::cpqDaPhyDrvStatus','68bc7370fb8a43ee9957240e29636562'),
('106','10258','IMM-MIB::systemHealthStat','61bded84be1d419083d8bd8a8bd25152'),
('107','10255','IDRAC-MIB-SMIv2::ObjectStatusEnum','7cf6cc68df264e1f9cb0373b1fbca6a8'),
('108','10255','IDRAC-MIB-SMIv2::StatusProbeEnum','beb79217c0854cc4b83d6c498a92067c'),
('109','10255','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','1125af03f5a24d84866e7ad7c1789fb4'),
('110','10255','IDRAC-MIB-SMIv2::BooleanType','1026b6847bd44fb5885bdfab49042d32'),
('111','10255','IDRAC-MIB-SMIv2::physicalDiskMediaType','8abb91818b39418d9ba1b83cd5078870'),
('112','10255','IDRAC-MIB-SMIv2::batteryState','4709491dc6ea41958de78e939e1b7964'),
('113','10255','IDRAC-MIB-SMIv2::virtualDiskLayout','150fd042191d4417a29df8dc554dae06'),
('114','10255','IDRAC-MIB-SMIv2::virtualDiskOperationalState','79a1e3792c20400bba39073240987448'),
('115','10255','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','d9103bd7f6934230a67ae98607183788'),
('116','10255','IDRAC-MIB-SMIv2::virtualDiskState','41e6acc448194f3aac2612904ce851ad'),
('117','10256','CPQIDA-MIB::cpqDaPhyDrvSmartStatus','54b288da67e1431c9d401cf47a518bcc'),
('118','10256','CPQIDA-MIB::cpqDaAccelStatus','20d96ea63e994ba49244b94a4c24aec3'),
('119','10256','CPQIDA-MIB::cpqDaAccelBattery','7502d61cf7644a2d9cff7462f53569ee'),
('120','10256','CPQIDA-MIB::cpqDaPhyDrvMediaType','8351a024aa4d42d1915b44abe8acc4aa'),
('121','10256','CPQIDA-MIB::cpqDaLogDrvFaultTol','442c9095de9f4aa5bcca659292b2c12b'),
('122','10256','CPQIDA-MIB::cpqDaLogDrvStatus','8db38b47aba64739ae9f078f43b42888'),
('123','10329','PostgreSQL recovery role','9f38c01c325248d4b538c0582432b541'),
('124','10357','PostgreSQL recovery role','2e376ee568d04e7bbe98cbae4181f313'),
('125','10329','PostgreSQL replication status','0fba38eefa4c4073b46d3f8579fda314'),
('126','10357','PostgreSQL replication status','7f553f18ef6544ceaa4b50c4ebf0e583'),
('128','10285','Linux::Interface protocol types','4d912f1ee95942038f306ddefb3a57b3'),
('134','10301','RabbitMQ healthcheck','08ee896f31a1457a8e9b4f6f251700d4'),
('135','10303','RabbitMQ healthcheck','55188bbb2ede4300a6292b373ee36ab7'),
('136','10301','Alarm state','ce579def20ac488dbce1ff69baaa8c50'),
('137','10303','Alarm state','e65c3d3e8ea443a281b37c51ca461c26'),
('138','10304','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability','e1686896f31e483f9add962dbbd90afb'),
('139','10304','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsLsOperState','398aa5bf5eb44a8c8dd96babd98f1bd3'),
('140','10304','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStoragePDriveStatus','9b7c7078039c4e348ab417da71b96f5c'),
('141','10304','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageLunType','7d3e38476c894ae59ecac6640b24f833'),
('142','10304','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentPresence','5055674c42a241e3a2156de1dc1715bf'),
('143','10310','Redis bgwrite status','098c2240a8e947fc9f6f0a677ffcbc0e'),
('144','10310','Redis flag','3b6cd97c65d14e10bdabf5c42d767ad9'),
('145','10310','Redis repl offset','47c80efdf46745f1959eee76f68014e7'),
('146','10310','Redis bgsave time','82f4dc4ef0c9471d82dbe3605f4f31d0'),
('147','10318','Docker flag','c289195aa4dc47ab883fa95c9cb6fd07'),
('148','10322','ES cluster state','d651bdf75d0849d5ab2b0802fab76e22'),
('149','10323','Replicas state','4d926c30529447b3816cec3f1440b47a'),
('150','10324','Etcd healthcheck','f25e21a70baa4e009bdbcb44acb1a22e'),
('151','10324','Etcd leader','7bcaf8a520e24613a96d49e63a91a55b'),
('152','10325','Application pool state','63d1ad6b4cf643da870b14c53da6c52f'),
('153','10326','Application pool state','636c6915a8154b6ea1ea5b00f015c149'),
('154','10327','MSSQL DB state','bac1a10dad134d50add5bc9550e2ebf3'),
('155','10327','MSSQL AG Connected state','bfbb00eb85d747dabeda2954a5d659b7'),
('156','10327','MSSQL AG Join state','47413c135c094cdc8b59f18a9b195a78'),
('157','10327','MSSQL AG Operational state','a570f341d9a8470797aecfebd376b2b8'),
('158','10327','MSSQL AG Recovery health','4ec6a96ff6c64756b2f27e47972fd9f6'),
('159','10327','MSSQL AG Role','596556fba6064efb8155233371eb2950'),
('160','10327','MSSQL AG Synchronization health','2ab0923b3ce14ffc9dd454114f6b15be'),
('161','10327','MSSQL - Yes / No','c66ee50a8b3f4b6788b732bb8a6b514e'),
('162','10327','MSSQL Mirroring State','f1c105c262c5476798a93eaa4c46fbda'),
('163','10327','MSSQL Mirroring Role','09aaa82ccd6a444b80d5d3bb182fbafd'),
('164','10327','MSSQL Safety level','e70421b2c3db4ce1937791bdb432040e'),
('165','10327','MSSQL Witness state','aa9de6e21d08486db04f29e10d11a94c'),
('166','10328','Oracle DB open status','d0912db18fe54941b9345ebf869fd1a6'),
('167','10335','Oracle DB open status','015a0c94ba2644c6aa343d3f792a4072'),
('168','10328','Oracle DB role','df05d594141f42ebb294cf6adca5fd6b'),
('169','10335','Oracle DB role','afade10cda4e453982355342ba9d8d9f'),
('170','10328','Oracle instance status','41e105c52bf045899c3c4a1cb4e16865'),
('171','10335','Oracle instance status','4893318c780f47719e12e839c9a846c2'),
('172','10328','Oracle instance role','97b689d7ddc04bcd9b9f92af6ba783bd'),
('173','10335','Oracle instance role','53d97b73db8449959420e03114d345c3'),
('174','10328','Oracle archiver state','3afaab75342c4be186fb4f595ed62a31'),
('175','10335','Oracle archiver state','f39e64058fef423bb858ba45834a3455'),
('176','10328','Oracle tablespace status','c6633e4ef9a84fa7b843529479a06158'),
('177','10335','Oracle tablespace status','f14ed94cf12740a19e221ddaa4855c54'),
('178','10328','Oracle Archivelog status','79af6c068ba141ba9806f4341edd9266'),
('179','10335','Oracle Archivelog status','5a90da8dd6124159a7f82a7a996f0a53'),
('180','10328','Oracle force log status','f00ca5c45ab84df788820af2642e4784'),
('181','10335','Oracle force log status','1d9f4a44f2f94a799768f147cb712331'),
('182','10328','Oracle log mode','809554f521d645ea8e8850c3b1f41579'),
('183','10335','Oracle log mode','910dd4a87f75434289fa2e345778d18d'),
('184','10353','Ceph cluster status','2a4b2a8c55ba48b2a815e4123c9ea7fa'),
('185','10360','Exchange database copy role','4a0e19e58ade4e8c878a6b87f4021416'),
('186','10361','Exchange database copy role','0797c152a163407aa9490a63f80a8fd1'),
('187','10360','Exchange database state','2d131c4a033c4145a6bd66ec4c0c030a'),
('188','10361','Exchange database state','a4fac47b56e4470c9c6d435d7eb06845'),
('189','10362','GitLab healthcheck','3b40391bb8b6472e9c3fd8e1f001fe04'),
('190','10364','Kafka controller state','cf2440fb69c24371b231cb0a69002333'),
('191','10365','Vault flag','46edbd58c7384b53bb31775244c23343'),
('192','10371','ProStar MPPT charge state','1703c3aeb1b24641821e1c6d2cb4c8b7'),
('193','10371','ProStar MPPT load state','b5403a0805a54b9294f69a1e11a438b1'),
('194','10372','ProStar PWM charge state','f94eb6ad54c44281878c7c018c6209d1'),
('195','10372','ProStar PWM load state','f0be8765c74e4c4788d4ff99a6c5ccd4'),
('196','10373','SunSaver MPPT charge state','b51b9440e801481fbb76f28b4a5431d1'),
('197','10373','SunSaver MPPT load state','f21076ed51104b84ba4d78dd74bd1a5b'),
('198','10374','SureSine load state','1d6f60ea7d414cb8a26ddad70fc352b2'),
('199','10375','TriStar MPPT 600V charge state','8a0dfdf98d254c219905751cccc878d7'),
('200','10376','TriStar MPPT charge state','3c6c60ef422c4788bf0c5b74ffab7ef0'),
('201','10377','TriStar PWM charge state','4985c4742d5844e7bc0aee5aeeacc436'),
('202','10377','TriStar PWM control mode','252c3fb63cc34bb1a36ae6e9cbe5880c'),
('203','10377','TriStar PWM load state','735e1a0d990a4c449e59eeb402f3b40e'),
('204','10378','FAS3220 HA cannot takeover cause','e078162b11ff49f59c3ab6d905f88f2c'),
('205','10378','FAS3220 HA settings','d6993f0258dd4978a85aa5c141f1706e'),
('206','10378','FAS3220 NVRAM battery status','1fe2bf70bd63468584708a9d09eb42a1'),
('207','10378','FAS3220 Port health','ee5e67c90bca4ded84df2d82589bc2fb'),
('208','10378','FAS3220 Port link state','bd6ea858292c414d9bfd435631001ef5'),
('209','10378','FAS3220 Port role','c598c387157d4450b5bf8f68e6e794a4'),
('210','10378','FAS3220 Port speed','6b0fec10a0eb4c70a8982419c6e635b9'),
('211','10378','FAS3220 Port UP by administrator','c50cdd6dbe19482abdb870c12e7c7b8d'),
('212','10379','Computer online','d1b719ea85464279bd473fcdb34008da'),
('213','10379','Computer state','5313fc2399b24216945ed6416a00d55d'),
('214','10379','Jenkins healthcheck','a51dacf033d1423a886ca9dbfdf9b175'),
('215','10379','Service state','b45a6b0148074212bf45d6bb311565c2'),
('216','10380','Login status','4c14241141504a9d852d83965c309f31'),
('217','10256','CPQHLTH-MIB::cpqHeTemperatureCondition','1a03c5602a4a49f8839d820c666434fc'),
('218','10382','HTTP response status code','70add725d6a84f6f9ed0917107dfffc9'),
('219','10385','Huawei storage: Controller role','b5c6d9d67da54531a918c93a9c98cec8'),
('220','10385','Huawei storage: Health status','b7f399070ee0419cac1722f80268ff1a'),
('221','10385','Huawei storage: LUN status','e361f6b8fe92430f86d0e3dc70118ba9'),
('222','10385','Huawei storage: Running status','ae5093d843784258aa32437cde486574'),
('223','10300','RabbitMQ healthcheck','78275d6daacf42b4b97e3d806dfe81fe'),
('224','10302','RabbitMQ healthcheck','3380e05a15774dad92e77c983448698b'),
('225','10386','MongoDB flag','9f921e1503e74204b8f128966f9562bc'),
('226','10386','ReplicaSet node state','a99141555eff42ff8d367f10d9a7c569'),
('227','10386','Service state','b37ba44823e34a13a119f86f3d58a65a'),
('228','10387','MongoDB flag','2014769595e34d4bb18dbcf4d9eaf112'),
('229','10387','Service state','3cedce4712fa4a3eba63ccd7a790ecf6'),
('230','10390','CISCO-ENVMON-MIB::CiscoEnvMonState','673c7626d11b4867aba08e96b0fbd149'),
('231','10390','EtherLike-MIB::dot3StatsDuplexStatus','4c04fea7546044d9a9c64762a9e1ebdd'),
('232','10390','IF-MIB::ifOperStatus','346b197cb4fe42cb9b304ce246e5924f'),
('233','10390','IF-MIB::ifType','94e4f1da1ff24b96bdccf04ec663a1ae'),
('234','10390','Service state','3a72216b3fea4ad482d0e3655e407747'),
('235','10390','zabbix.host.available','868c28a7406c4ab3b48b783a6e7590ba'),
('236','10391','CISCO-ENVMON-MIB::CiscoEnvMonState','cbeb53fa3c2a4b16b7f7ee92265efd8c'),
('237','10391','EtherLike-MIB::dot3StatsDuplexStatus','5ef472cb5f424ef9a7393156204613ba'),
('238','10391','IF-MIB::ifOperStatus','73b7c034142043b689792e1e71dd5872'),
('239','10391','IF-MIB::ifType','635461b9ca404cc1b92c1fab0c6327f6'),
('240','10391','Service state','142fe822cc424a76899551b6f29799d9'),
('241','10391','zabbix.host.available','939c7551b81e40e9b053e624211d0901'),
('242','10392','CISCO-ENVMON-MIB::CiscoEnvMonState','fea34445b6cd4847b420d212f9b0201e'),
('243','10392','EtherLike-MIB::dot3StatsDuplexStatus','867b0e42f8a24a278ee15476aeadfa0b'),
('244','10392','IF-MIB::ifOperStatus','3534f9f22afe4f98a712a86ce755f491'),
('245','10392','IF-MIB::ifType','88b99531b08248e8be1fc0a3210acee1'),
('246','10392','Service state','653ce2314e6f499b84250048df1314f8'),
('247','10392','zabbix.host.available','690c4c1545894d049ac8e26e3de7ec9c'),
('248','10393','CISCO-ENVMON-MIB::CiscoEnvMonState','e47b3ba8fb9c4ecf82701ddf571d55b6'),
('249','10393','EtherLike-MIB::dot3StatsDuplexStatus','412b00b4bfbc48b4906370635c12dcee'),
('250','10393','IF-MIB::ifOperStatus','358db91b44e645df92072f0a1449de2e'),
('251','10393','IF-MIB::ifType','877039dc6b0a467783828f3421887b83'),
('252','10393','Service state','1d4c62bd989748a0b7947b6455405d96'),
('253','10393','zabbix.host.available','ff706c036eac4ef88570e41629e65514'),
('254','10394','CISCO-ENVMON-MIB::CiscoEnvMonState','52875f5c6b1b4bb3987c3baa03860d4d'),
('255','10394','EtherLike-MIB::dot3StatsDuplexStatus','8decf4d7d8744711b5f2ea68b5e73d14'),
('256','10394','IF-MIB::ifOperStatus','e8815fad611e47389c987c88a029cece'),
('257','10394','IF-MIB::ifType','93f29c48ad8b4bc7afe036817d946b18'),
('258','10394','Service state','ee7cb62782d44458abc9f7cca816dca8'),
('259','10394','zabbix.host.available','6273854a740e41718cd1354f227cf4db'),
('260','10251','IF-MIB::ifOperStatus','04fa3aad27e044a094dce939b3d361ec'),
('261','10251','IF-MIB::ifType','afe0ce28ed5d49dd822cc7013356c599'),
('262','10251','Service state','deb16b99706645929e300b0590f013f3'),
('263','10251','zabbix.host.available','a85fe23199cd4d779655f690a706d7c7'),
('264','10395','PowerNet-MIB::uioSensorStatusAlarmStatus','a808aadebf964e0cb6b8724bf1165013'),
('265','10395','PowerNet-MIB::upsAdvBatteryReplaceIndicator','731b036e41d147ba81bfcfb7e99b561b'),
('266','10395','PowerNet-MIB::upsAdvInputLineFailCause','f310a0bceb06404d9daee67ab578e4b8'),
('267','10395','PowerNet-MIB::upsBasicBatteryStatus','795c75c652124ad282bad3dfd50b8e39'),
('269','10395','zabbix.host.available','781c568d935d40f2a43951488cf2e046'),
('270','10327','MSSQL Job Run Status','eefa6e0e6f8b4facbc12004437b7ee8f'),
('271','10397','Service state','bce54cbdf2b8487985f9c7847a4c4918'),
('272','10398','Service state','047f0303f1bc424a959f5d0ceaab77c7'),
('273','10400','PowerNet-MIB::uioSensorStatusAlarmStatus','30a78904cbc94fc58609dc1a11aa48ef'),
('274','10400','PowerNet-MIB::upsAdvBatteryReplaceIndicator','ace379c23ae247f3b92ccffb9eef920c'),
('275','10400','PowerNet-MIB::upsAdvInputLineFailCause','19686fc030ee4c6bb69aacd3b9c735ca'),
('276','10400','PowerNet-MIB::upsBasicBatteryStatus','80593b554d0a431aa89a0c4960f8565c'),
('277','10400','PowerNet-MIB::upsBasicOutputStatus','f41b7d5469e64557ab0cdb81526aeac0'),
('278','10400','zabbix.host.available','edd7578bf71146dd88770a39eec537e0'),
('279','10401','PowerNet-MIB::uioSensorStatusAlarmStatus','6940a4d08173433bb4bc8ff3b44e578c'),
('280','10401','PowerNet-MIB::upsAdvBatteryReplaceIndicator','add26e1622ed4d1fbdb4a9bdbf7facb8'),
('281','10401','PowerNet-MIB::upsAdvInputLineFailCause','2597173167e34be0943fb6c81f2597e5'),
('282','10401','PowerNet-MIB::upsBasicBatteryStatus','7d2a66214d4b4b96890aa9e1c9bcf050'),
('283','10401','PowerNet-MIB::upsBasicOutputStatus','351383a7383a4472a31c09009cf9d1f5'),
('284','10401','zabbix.host.available','3aadc179423b4298b2e8a6e4850466a5'),
('285','10402','PowerNet-MIB::uioSensorStatusAlarmStatus','55fecbd639c44c328b4199569a7305ef'),
('286','10402','PowerNet-MIB::upsAdvBatteryReplaceIndicator','1ce6860b108948bda40d514fd4e3ed69'),
('287','10402','PowerNet-MIB::upsAdvInputLineFailCause','db1fa20d76c8416c83fa0b7fda536fa8'),
('288','10402','PowerNet-MIB::upsBasicBatteryStatus','50b6ae187875406ea8ba1669add70899'),
('289','10402','PowerNet-MIB::upsBasicOutputStatus','9c5fd52c36f6451ea3f502a871e821d7'),
('290','10402','zabbix.host.available','89597d423b454a42aa80fa8f7a20f273'),
('291','10403','PowerNet-MIB::uioSensorStatusAlarmStatus','7cf932d3b9304f2cb151134e9ea3be82'),
('292','10403','PowerNet-MIB::upsAdvBatteryReplaceIndicator','63c5f0e1601947e5a02abd25a07a9af4'),
('293','10403','PowerNet-MIB::upsAdvInputLineFailCause','70d097ce846c45aeb3c8be031c427511'),
('294','10403','PowerNet-MIB::upsBasicBatteryStatus','3424a9229a134b47b8544d611be082fb'),
('295','10403','PowerNet-MIB::upsBasicOutputStatus','05a60d9c47274f5a8f6c92efe8158b8e'),
('296','10403','zabbix.host.available','d4ee88b3cf5d4d95b27be2e7b2f20e3c'),
('297','10404','PowerNet-MIB::uioSensorStatusAlarmStatus','b2af1e2dcb874d43949c383f9b347f36'),
('298','10404','PowerNet-MIB::upsAdvBatteryReplaceIndicator','b06b54b07e6840e5a0c52ba7a6acf86a'),
('299','10404','PowerNet-MIB::upsAdvInputLineFailCause','a62f96735c47467da94b6bcf98cc013d'),
('300','10404','PowerNet-MIB::upsBasicBatteryStatus','ed12e8780c384caba8035fbb1c78e115'),
('301','10404','PowerNet-MIB::upsBasicOutputStatus','ae2ed0c2c99a4ad496f7a35226e3d4f0'),
('302','10404','zabbix.host.available','8cddc4f99ecb4866b1638b82b145ea8b'),
('309','10406','PowerNet-MIB::uioSensorStatusAlarmStatus','864d59cbfcc8431cb334b812bf7ef3a3'),
('310','10406','PowerNet-MIB::upsAdvBatteryReplaceIndicator','cc42cb7a7fb4417fa1c143e214958c1d'),
('311','10406','PowerNet-MIB::upsAdvInputLineFailCause','a3bbd0be8c7c4dc1aa9accb9f22292c9'),
('312','10406','PowerNet-MIB::upsBasicBatteryStatus','f801d4fb07c644e4be1f01e99ba48aa7'),
('313','10406','PowerNet-MIB::upsBasicOutputStatus','28964e9cf2b849fbb2f8d998cecdacda'),
('314','10406','zabbix.host.available','12058346f9e046388767c2939bbed2cf'),
('315','10395','PowerNet-MIB::upsBasicOutputStatus','c536d9dc64724643a9291c9b601b1eac'),
('316','10407','PowerNet-MIB::uioSensorStatusAlarmStatus','aec3362485c242ec928cb8ecfe5e61cf'),
('317','10407','PowerNet-MIB::upsAdvBatteryReplaceIndicator','912d8834176b4fe4a2f6bd12ef3ee3c1'),
('318','10407','PowerNet-MIB::upsAdvInputLineFailCause','e079fa8cc9614245b0fecf4b8f42feca'),
('319','10407','PowerNet-MIB::upsBasicBatteryStatus','24229472978c42739cdbe7aa47e1d34c'),
('320','10407','PowerNet-MIB::upsBasicOutputStatus','8c2c9721615c4408976f7632180ecfe3'),
('321','10407','zabbix.host.available','625f28bd49f14e49a1a7a4da01429906'),
('322','10408','PowerNet-MIB::uioSensorStatusAlarmStatus','8516e97893ed4f2ebe70766d17eeacde'),
('323','10408','PowerNet-MIB::upsAdvBatteryReplaceIndicator','84387eb0a5ef4523ac5d990eb4a6a796'),
('324','10408','PowerNet-MIB::upsAdvInputLineFailCause','58104ecf15d34fe38922f3fe5fa25027'),
('325','10408','PowerNet-MIB::upsBasicBatteryStatus','43715c15fed840fc8e188d062c0ef2da'),
('326','10408','PowerNet-MIB::upsBasicOutputStatus','d9b5340729684dd0a450b6de6b14b590'),
('327','10408','zabbix.host.available','cdf3578a66db4cfda6c36b4bbb295173'),
('328','10409','PowerNet-MIB::uioSensorStatusAlarmStatus','e2877a188bd24918992f8c7878550924'),
('329','10409','PowerNet-MIB::upsAdvBatteryReplaceIndicator','33d83523ceee4f3e916c885ebb33e8b9'),
('330','10409','PowerNet-MIB::upsAdvInputLineFailCause','c50ef9a9476d47e6935a6026bbb24d06'),
('331','10409','PowerNet-MIB::upsBasicBatteryStatus','96a985d8351f48be86c5b00472b48feb'),
('332','10409','PowerNet-MIB::upsBasicOutputStatus','160f7a39770d492c93403097650c1568'),
('333','10409','zabbix.host.available','cc7a368057bc47eeb834dc9363183c59'),
('334','10410','WildFly flag','e23e06cfd0ce4e069b9d996f101f6ee6'),
('335','10411','WildFly flag','4004b5f2501f44a69dc86afce3daa4d1'),
('336','10412','PowerNet-MIB::uioSensorStatusAlarmStatus','41e166e2a5f948488238198920ab4b17'),
('337','10412','PowerNet-MIB::upsAdvBatteryReplaceIndicator','224af0a6a5db48ef9c8861bc61873ea9'),
('338','10412','PowerNet-MIB::upsAdvInputLineFailCause','ded19296204545b9ab463d4fc65f3cfd'),
('339','10412','PowerNet-MIB::upsBasicBatteryStatus','271d8f0594cf451a8aaa98c84850ebf7'),
('340','10412','PowerNet-MIB::upsBasicOutputStatus','171d4d5bf01442e391b04f9e448df5a0'),
('341','10412','zabbix.host.available','8b4f199f5e704cbea67182d4abf9b8de'),
('342','10308','Server mode','bf2e9463450d4f4899abcac85cde0a92'),
('343','10309','Server mode','450c1b2c6d58432b8a5b34dd3b5e8870'),
('344','10416','Unit Active State','fe20979701834a80a823c514d11c19e7'),
('345','10416','Unit File State','e0a5e55e5a074a26935386c5e29a0e36'),
('346','10416','Unit Load State','0309ef57e92a4ea2ae4404a685f0e7b8'),
('347','10418','Cisco ASAv algorithm validate packets','764f7c162b8a45d9b41e795cf2f5f8da'),
('348','10418','Cisco ASAv encryption algorithm','f38e3c5200c941aa831857698eb3ea8b'),
('349','10418','Cisco ASAv port admin status','8395b87d3ff3496aabafdfd1d2e1c4be'),
('350','10418','Cisco ASAv port operational status','e97c331986454b68917c771c3bba9a3d'),
('351','10418','Cisco ASAv session protocol','22e5704487924e4ebca70e2062d40da4'),
('352','10418','Cisco ASAv user authenticate method','8dd72ccb744e4bd989ea739e21da7820'),
('353','10418','Physical class','3c3b7c75af4b4fedb12e30fb74406a23'),
('354','10418','SNMP available','91e8696b05654efca8f03b700ea74b0b'),
('355','10419','Chassis status','849febb31f524e9296afc5ec6ffb2fe3'),
('356','10419','Module provision level','ed7e1317987b433e9aa7168db3824c94'),
('357','10419','Pause state','6e590fa7db7441d5a4b145204ee254bb'),
('358','10419','SNMP available','b615a47192fc48f4b2cedb205c33f7d0'),
('359','10420','SNMP available','2b7c7c3eecb743e8a30ab3adc74ffd06'),
('360','10420','ZYXEL AAM1212-51 / IES-612 port admin status','db7f61bebcac452c8081b2c58d1013d8'),
('361','10420','ZYXEL AAM1212-51 / IES-612 port operational status','6c2a29dac43340399990340fe26a7a72'),
('362','10421','SNMP available','494c8983c4cf453789d2f0bbbe5cbbf3'),
('363','10421','ZYXEL ES3500-8PD operational mode port link up type','7cfe02e1eb224f6abe5216aaec31402c'),
('364','10421','ZYXEL ES3500-8PD operational mode port speed duplex','b568c9f69a1a4dd5951f1121523475c9'),
('365','10421','ZYXEL ES3500-8PD port admin status','4a20dd55c16b4c9082f267c532a4507a'),
('366','10421','ZYXEL ES3500-8PD port operational status','17635045a1ee4b8bba21b7d44634c57f'),
('367','10421','ZYXEL ES3500-8PD SFP status','875833a6ca71431da2b3747c4c1e3008'),
('368','10422','SNMP available','c6ba6086ed584ba0a4dd58ffe8564fbf'),
('369','10422','ZYXEL GS-4012F operational mode port link up type','82cce670bef64a47b326bb8b1a2f6cd8'),
('370','10422','ZYXEL GS-4012F operational mode port speed duplex','d7d38cadffc240f9a01434546659d036'),
('371','10422','ZYXEL GS-4012F port admin status','7456d212b8f44f7da215fc86f39e3956'),
('372','10422','ZYXEL GS-4012F port operational status','afa699db0bfc4cfbb48729932967230e'),
('373','10423','SNMP available','10dd3d9951014a38bc3517df54381a66'),
('374','10423','ZYXEL IES-500x module status','efd6a6086011465ca956b1664f7d6474'),
('375','10423','ZYXEL IES-500x module type','892651d2b1e3431490f2c531a50e2732'),
('376','10423','ZYXEL IES-500x port admin status','9174dafc199e438994256eff4dd87bdd'),
('377','10423','ZYXEL IES-500x port operational status','f64c046f1eca45e09dad683603f4674b'),
('378','10424','SNMP available','5247e9e5efcd4b29b864e336619eafcf'),
('379','10424','ZYXEL IES-6000 module status','0236177f088340ff8ce5adb9361b8df8'),
('380','10424','ZYXEL IES-6000 module type','7ad4e124b8184fb8abc454c70c67e309'),
('381','10424','ZYXEL IES-6000 port admin status','b20f50ac559f45369de16c04f5ccf523'),
('382','10424','ZYXEL IES-6000 port operational status','2f3b061e1d6f46a3b8216b2398fc2896'),
('383','10425','SNMP available','34ea860866f24498927b73f4ce438837'),
('384','10425','ZYXEL IES1248-51 port admin status','b933d3a98256457d906de8f7da377bac'),
('385','10425','ZYXEL IES1248-51 port operational status','e780cc91765849a0ace3d2eb2e4824a0'),
('386','10426','SNMP available','ac3d8b1e51074733a8bce57814528d83'),
('387','10426','ZYXEL MES-3528 operational mode port link up type','042fc0ecdef34baab224062d4f746b96'),
('388','10426','ZYXEL MES-3528 operational mode port speed duplex','cce63413576040fe8df5969886da993d'),
('389','10426','ZYXEL MES-3528 port admin status','6220d70f35404dd6834674510e0ae9ea'),
('390','10426','ZYXEL MES-3528 port operational status','36e992f6794a492e87c3c5a9749e26b3'),
('391','10426','ZYXEL MES-3528 SFP status','da9692b414de47d5bac9cd3287492e0b'),
('392','10427','SNMP available','7ad9362759b542d98a67796dd13fc5d4'),
('393','10427','ZYXEL MES3500-10 operational mode port link up type','064efc8dae8e47ae9c14713c7b31a36c'),
('394','10427','ZYXEL MES3500-10 operational mode port speed duplex','4ad7b4bf94494c93bdcbf36af095d5c3'),
('395','10427','ZYXEL MES3500-10 port admin status','e6a8dc82d4ca4b989daafd66ef1ab2ce'),
('396','10427','ZYXEL MES3500-10 port operational status','a96f6ed4d9e34a0cb79cee8bdbd672f5'),
('397','10427','ZYXEL MES3500-10 SFP status','8e9755ff129740298ab5f5497c6c17a2'),
('398','10428','SNMP available','dbb03955eb7043dda4dea1a9d7e8e043'),
('399','10428','ZYXEL MES3500-24 operational mode port link up type','c0f699295af740e2aabbb06c6718e8f8'),
('400','10428','ZYXEL MES3500-24 operational mode port speed duplex','f94441e46ffe4908a8a57089cbdaeaa7'),
('401','10428','ZYXEL MES3500-24 port admin status','df2213aff9984b3f837f99944f3c9bc0'),
('402','10428','ZYXEL MES3500-24 port operational status','679674c6b9364083a1eb1c9c9be136a2'),
('403','10428','ZYXEL MES3500-24 SFP status','f12de6ba6b4c4556b276f9d5d509ffcf'),
('404','10429','SNMP available','6e923e1e3ed34b8f87357b5fd7407c54'),
('405','10429','ZYXEL MGS-3712 operational mode port link up type','7c5d7efbd17f48619a3f4211a269b38d'),
('406','10429','ZYXEL MGS-3712 operational mode port speed duplex','da42da17340044ea83521107ac4dee04'),
('407','10429','ZYXEL MGS-3712 port admin status','7e107b2d754945dbaf833955fcae7f48'),
('408','10429','ZYXEL MGS-3712 port operational status','ed71a5038bf34198a3a56b0020ad728e'),
('409','10429','ZYXEL MGS-3712 SFP status','b89570749c5d4dcb9378b7951803b8e4'),
('410','10430','SNMP available','bf6cbe819fb94c85becf4364c47ef1c4'),
('411','10430','ZYXEL MGS-3712F operational mode port link up type','2695f35dedcf41e1aade2037e931c57e'),
('412','10430','ZYXEL MGS-3712F operational mode port speed duplex','c2b235ab2e6042568c096fdfb466f7dc'),
('413','10430','ZYXEL MGS-3712F port admin status','d145d8ee5ad2423f906335d30bfef592'),
('414','10430','ZYXEL MGS-3712F port operational status','655823ba854540c78a8078d4e7594bf9'),
('415','10430','ZYXEL MGS-3712F SFP status','bf0d94784c404b209d4c75c8f582a5c6'),
('416','10431','SNMP available','9e4265c1129d482fa12a09e657a7cda3'),
('417','10431','ZYXEL MES3500-24S operational mode port link up type','615d399b1a6045359dfc262b364b4c55'),
('418','10431','ZYXEL MES3500-24S operational mode port speed duplex','4217cd5f5c1f4b438cd4701c023da375'),
('419','10431','ZYXEL MES3500-24S port admin status','7e705fdb791341b8a1c86ee7d85fbfea'),
('420','10431','ZYXEL MES3500-24S port operational status','08e22f2eac034c9db9bba73040cea453'),
('421','10431','ZYXEL MES3500-24S SFP status','161770392cdb4dcd92c3596b5ad6d06a'),
('422','10432','SNMP available','5c5037a96f084a8182a5fb00f49ff285'),
('423','10432','ZYXEL MGS3520-28x operational mode port link up type','2b38ddd0e1a34cfab7dd6af9ebf28aca'),
('424','10432','ZYXEL MGS3520-28x operational mode port speed duplex','f23ebe496cfc4e659a09eff530b81a24'),
('425','10432','ZYXEL MGS3520-28x port admin status','3e0566598e394d80988fb49cd3215922'),
('426','10432','ZYXEL MGS3520-28x port operational status','2ffe41460977466cb09bc241b8d22739'),
('427','10432','ZYXEL MGS3520-28x SFP status','4443c6780c8f4d16a5f1efd5426db02e'),
('428','10433','SNMP available','a7acf3b0ac684d4e80c560bcd3dd2dc6'),
('429','10433','ZYXEL XGS-4728F operational mode port link up type','042ccfb45b0a4ef7bc8842f731dd8c4f'),
('430','10433','ZYXEL XGS-4728F operational mode port speed duplex','d466ff32531d4eaea989c07aa5989d6b'),
('431','10433','ZYXEL XGS-4728F port admin status','250f228ead4b433f987d42014255a617'),
('432','10433','ZYXEL XGS-4728F port operational status','ed13145eeefd44dda083716080725e60'),
('433','10433','ZYXEL XGS-4728F SFP status','49b0a85b7da947ab91e47ed2f2123907'),
('434','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability','8648df22d8be42359900e11ea395a98c'),
('435','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentPresence','17dde900e96a47929b0abed0d5006c84'),
('436','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsLsOperState','c4a3603d4d8944ad8a8d2529bc3f1278'),
('437','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageLunType','7d09a2b8df18410ca871ed9e7dbe6aa1'),
('438','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStoragePDriveStatus','70a906bfe3b447a39e5a0f0ba5210ae2'),
('439','10434','CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageTechnology','e1407fbe331343d3bda7d7eb122c085a'),
('440','10434','IF-MIB::ifOperStatus','2b0fde08268f4ce7b47aae3827ebdf23'),
('441','10434','IF-MIB::ifType','be402fda36e64dd2ad807925755735c4'),
('442','10434','zabbix.host.available','9ea529bf28a84fae95f1506ca6ca37b8'),
('444','10436','IDRAC-MIB-SMIv2::batteryState','3764082c250540f0b2827412a751f842'),
('445','10436','IDRAC-MIB-SMIv2::BooleanType','ef50d21a037545078e00102504b9b79d'),
('446','10436','IDRAC-MIB-SMIv2::ObjectStatusEnum','faa7d65868044cb08c2681db9615ef83'),
('447','10436','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','c0b777b910e94d338ebfaacc94ca5c54'),
('448','10436','IDRAC-MIB-SMIv2::physicalDiskMediaType','596722d9a0b84c499908e460ba634a87'),
('449','10436','IDRAC-MIB-SMIv2::StatusProbeEnum','bd55f661ad24498a8876816ef9e70506'),
('450','10436','IDRAC-MIB-SMIv2::virtualDiskLayout','487f601e3f35437e800314865895b69b'),
('451','10436','IDRAC-MIB-SMIv2::virtualDiskOperationalState','a02a3f0c0fb24a52887f3feec42ae42a'),
('452','10436','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','e2b543acfe9045ae8950075c1174b836'),
('453','10436','IDRAC-MIB-SMIv2::virtualDiskState','348ab665927b43e2b7e53eac8ab95820'),
('454','10436','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','3bfaa8f277a549f7ae8a1bf0dc49e64f'),
('455','10436','zabbix.host.available','8124caf5004c4dd8985810ac9e6374b6'),
('457','10438','IDRAC-MIB-SMIv2::batteryState','557381876b894611bf213f55946b49a1'),
('458','10438','IDRAC-MIB-SMIv2::BooleanType','39a00987a4e14c0286acd9942db37e03'),
('459','10438','IDRAC-MIB-SMIv2::ObjectStatusEnum','ac53b62fdab246aa807e234ae9982102'),
('460','10438','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','432abc8431e0438696cd1b96d3515a5c'),
('461','10438','IDRAC-MIB-SMIv2::physicalDiskMediaType','8aa7cecdd0944b91b8cdcba75e28d781'),
('462','10438','IDRAC-MIB-SMIv2::StatusProbeEnum','b096a16930734ec28bc0a5a5e7634783'),
('463','10438','IDRAC-MIB-SMIv2::virtualDiskLayout','3fcb8ac498564f068c4b30f3423fbe8c'),
('464','10438','IDRAC-MIB-SMIv2::virtualDiskOperationalState','6850d7335f6c423b87527a1a0252d00f'),
('465','10438','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','076e6a30b90c49e9bcbb8a1adbc0b02d'),
('466','10438','IDRAC-MIB-SMIv2::virtualDiskState','4699f81ffa784d43b8e74aeb258a15cb'),
('467','10438','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','15f75cf464d347308db357fa80e67f0e'),
('468','10438','zabbix.host.available','cf94dd75c6274a2aaff23e3a26eee213'),
('479','10440','IDRAC-MIB-SMIv2::batteryState','1a2c68f0f2384c0da7027981bd4bb5be'),
('480','10440','IDRAC-MIB-SMIv2::BooleanType','045512ecd6b94fbab71dd17abf5b8f4b'),
('481','10440','IDRAC-MIB-SMIv2::ObjectStatusEnum','82b2ff6e115d4d098ae1025547853b4b'),
('482','10440','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','168707d69c984df4837638c72f103749'),
('483','10440','IDRAC-MIB-SMIv2::physicalDiskMediaType','1f138e6846544243a2729b41be9a97aa'),
('484','10440','IDRAC-MIB-SMIv2::StatusProbeEnum','9d25c114ba8046f5b126be9111d95184'),
('485','10440','IDRAC-MIB-SMIv2::virtualDiskLayout','e81dcef10a30448db51b9805ec60b863'),
('486','10440','IDRAC-MIB-SMIv2::virtualDiskOperationalState','e9e9b851915747c4b608934cd1235bc5'),
('487','10440','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','92115895f7b9477983c67012b111afb3'),
('488','10440','IDRAC-MIB-SMIv2::virtualDiskState','7573aa4192534f44863508890606f917'),
('489','10440','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','c6d4cfe5cf8b43808dce81cc1bcc4be3'),
('490','10440','zabbix.host.available','c5660f822c4a4567888e7f98d3bfab13'),
('492','10442','IDRAC-MIB-SMIv2::batteryState','692c968229d64965b3f6c59ca79b4522'),
('493','10442','IDRAC-MIB-SMIv2::BooleanType','1ee27c8f7c9d4f7cbafc8c7567b70c67'),
('494','10442','IDRAC-MIB-SMIv2::ObjectStatusEnum','c238adb07fea463a8cb21f962fcb24d9'),
('495','10442','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','ee4ff377e3984685993e230911e6c13e'),
('496','10442','IDRAC-MIB-SMIv2::physicalDiskMediaType','7409409d584845e39579b478171a600a'),
('497','10442','IDRAC-MIB-SMIv2::StatusProbeEnum','1a301ddb56ba46d38314d5c3129544b4'),
('498','10442','IDRAC-MIB-SMIv2::virtualDiskLayout','f3e45e2d860b48c2a6f2b7a068cac361'),
('499','10442','IDRAC-MIB-SMIv2::virtualDiskOperationalState','6d457df3bf6646b3824ccc7be984587c'),
('500','10442','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','47bf555344fd4fc1a15b372374bc75a7'),
('501','10442','IDRAC-MIB-SMIv2::virtualDiskState','2e035bf66ff144d8ab5e0c681bb246f6'),
('502','10442','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','59eff775037e4e58925d3475ed0b0e34'),
('503','10442','zabbix.host.available','6b1b96e063084c8eb474006a9c691fb5'),
('504','10443','CPQHLTH-MIB::cpqHeTemperatureCondition','1b67de295fef454cb89744b101cf5a19'),
('505','10443','CPQHLTH-MIB::cpqHeTemperatureLocale','07d063dcbb3d4f1a8642bfd93afcd327'),
('506','10443','CPQIDA-MIB::cpqDaAccelBattery','009fd99d3734459285fa037c4a0ca201'),
('507','10443','CPQIDA-MIB::cpqDaAccelStatus','e138320082fc4aa69f3b23dad80272b2'),
('508','10443','CPQIDA-MIB::cpqDaCntlrModel','4891472973f84343ade2c5b61d96fcef'),
('509','10443','CPQIDA-MIB::cpqDaLogDrvFaultTol','a368b7472246477599d6278df8348bc9'),
('510','10443','CPQIDA-MIB::cpqDaLogDrvStatus','aab16842347c4e58b9bbee274dad3c62'),
('511','10443','CPQIDA-MIB::cpqDaPhyDrvMediaType','b3b110016c8c4272b9228161798a9bbd'),
('512','10443','CPQIDA-MIB::cpqDaPhyDrvSmartStatus','5b016d244c6845f7afcc80361aec2af1'),
('513','10443','CPQIDA-MIB::cpqDaPhyDrvStatus','2f4e1eb1f32847b3808372d02f752575'),
('514','10443','CPQNIC-MIB::cpqNicIfPhysAdapterStatus','3fe7ff0237a54f6cae3a1b8ffdabf157'),
('515','10443','CPQSINFO-MIB::status','342d09a1cfe543b9ac1555daee9f2235'),
('516','10443','zabbix.host.available','c57a256a525b46b0a1d0646200de57e2'),
('517','10444','CPQHLTH-MIB::cpqHeTemperatureCondition','1f0d43fc8b334b6da324b6ce4f838f81'),
('518','10444','CPQHLTH-MIB::cpqHeTemperatureLocale','96287ed099c14e09b2e1708487f64d8d'),
('519','10444','CPQIDA-MIB::cpqDaAccelBattery','684758347f0740e08af4986ed148e81f'),
('520','10444','CPQIDA-MIB::cpqDaAccelStatus','ff25d5d2484f40ea99b212e19c48e375'),
('521','10444','CPQIDA-MIB::cpqDaCntlrModel','4dc1441ab9964badbcb73e0dc213fe39'),
('522','10444','CPQIDA-MIB::cpqDaLogDrvFaultTol','3fd86d20618b43f39911746d72c2c242'),
('523','10444','CPQIDA-MIB::cpqDaLogDrvStatus','e72171bf818e4ee1bdf9638cb0494693'),
('524','10444','CPQIDA-MIB::cpqDaPhyDrvMediaType','3d32638b989d4d3e87f727baaef8b051'),
('525','10444','CPQIDA-MIB::cpqDaPhyDrvSmartStatus','137c69d61b394c979d7d25d91bcc2f0b'),
('526','10444','CPQIDA-MIB::cpqDaPhyDrvStatus','9af698a37bd844069eb2235f7f5d4800'),
('527','10444','CPQNIC-MIB::cpqNicIfPhysAdapterStatus','04dcfa6e36ca4a0590475d84186a5d62'),
('528','10444','CPQSINFO-MIB::status','83162a1a3b124ab2ae9b4cf1149486f9'),
('529','10444','zabbix.host.available','63b879b39b084a318547620421164c05'),
('530','10445','CPQHLTH-MIB::cpqHeTemperatureCondition','eb946b7168084341870c9157173b5c1e'),
('531','10445','CPQHLTH-MIB::cpqHeTemperatureLocale','a293ad4b90c14fe188623341b954d852'),
('532','10445','CPQIDA-MIB::cpqDaAccelBattery','ca2a5be5f3cf4fa7a9812d483ba043c5'),
('533','10445','CPQIDA-MIB::cpqDaAccelStatus','f15cd1d7fa7e4e05b46e872daa3a3c83'),
('534','10445','CPQIDA-MIB::cpqDaCntlrModel','abaffb0a2a1f47ec8aa64f6264d29092'),
('535','10445','CPQIDA-MIB::cpqDaLogDrvFaultTol','204396956bfe4ff5808dfa93bb35705c'),
('536','10445','CPQIDA-MIB::cpqDaLogDrvStatus','adb434bee0104007a4c0d053211bc2e7'),
('537','10445','CPQIDA-MIB::cpqDaPhyDrvMediaType','6cc6b46021f74cae83b29a62fc2cd1c0'),
('538','10445','CPQIDA-MIB::cpqDaPhyDrvSmartStatus','02eab0a3c02d440c82b86ddbd4ed1af6'),
('539','10445','CPQIDA-MIB::cpqDaPhyDrvStatus','8ab32bfce9f143da86a458427804a5f4'),
('540','10445','CPQNIC-MIB::cpqNicIfPhysAdapterStatus','d7ae95f8b813415c8d35cfe8debf8f2d'),
('541','10445','CPQSINFO-MIB::status','365afa633545431482f2ec054750da88'),
('542','10445','zabbix.host.available','9665746d6c2a4ad0b85b2f1f7d1cb12d'),
('543','10446','CPQHLTH-MIB::cpqHeTemperatureCondition','5655717fa32f4711b3062b97f1e5895b'),
('544','10446','CPQHLTH-MIB::cpqHeTemperatureLocale','ae1477baf3c046cbb5519346f28c7017'),
('545','10446','CPQIDA-MIB::cpqDaAccelBattery','af8340b5070f47e085eb91eb4580d728'),
('546','10446','CPQIDA-MIB::cpqDaAccelStatus','4c4378c0d1af4a6693f8c03bfaa9ad40'),
('547','10446','CPQIDA-MIB::cpqDaCntlrModel','23a855763fc346ea8a3559399ffa7428'),
('548','10446','CPQIDA-MIB::cpqDaLogDrvFaultTol','87ad87e768bc4d8ab77841e29176c36f'),
('549','10446','CPQIDA-MIB::cpqDaLogDrvStatus','46a2f599d46d438899ea4d8c552f51b4'),
('550','10446','CPQIDA-MIB::cpqDaPhyDrvMediaType','5f6868416f454beba585a0d2e9038117'),
('551','10446','CPQIDA-MIB::cpqDaPhyDrvSmartStatus','f78e361d31d94c479594b9d73257f80a'),
('552','10446','CPQIDA-MIB::cpqDaPhyDrvStatus','0efa6b7ed90f4edebc3282af5dbaf6c4'),
('553','10446','CPQNIC-MIB::cpqNicIfPhysAdapterStatus','1d312bcad99c43b8931fb128f6250afa'),
('554','10446','CPQSINFO-MIB::status','48e68c2789334818b5536be3f8628f66'),
('555','10446','zabbix.host.available','1b63c6eea5fc42a99501408d603c158b'),
('556','10448','InfluxDB healthcheck','d1b4478bdfc44c6db79a4a262f605d92'),
('557','10419','SNMP ltmPoolStatusEnabledState','74bcf04a70da49f89f04a20a9830fe13'),
('558','10419','SNMP ltmVsStatusAvailState','3a8776175b1f4cd7aa62f0182c7e3ed7'),
('559','10419','SNMP sysCmFailoverStatusId','6f96920248994bca92eb8d4394346027'),
('560','10419','SNMP sysCmSyncStatusId','1a42ed91b734453ab29a4c1f1feaca89'),
('561','10503','Edge activation state','6ac13cd1206145919ae7c9776ef5e76b'),
('562','10503','Edge HA status','cd8d83dc329144d9925a5c52db95df96'),
('563','10503','Edge states','87f150cd23e14448b35980b546dc2cd8'),
('564','10503','Link states','249b93828946422c9ef8870a915661ca'),
('565','10047','Cluster node status','cee1681b12ff49b6b7d442a851e870b4'),
('566','10261','Cluster node status','25ab0f5c570b4a7e9d15bd41db79fe25'),
('567','10505','Leader status','fa1732213d27418a88a61c964d93e9d7'),
('568','10507','Node conditions','785b20f8979341c4b470870ec8f50414'),
('569','10507','Pod conditions','f93e30e125de4909b52e7c38bc3f2c97'),
('570','10507','Pod phase','21ff77dde5964dcfb4bb2ae202a5f33c'),
('571','10515','IF-MIB::ifOperStatus','2216d8afb349448394590770ff99e56a'),
('572','10515','IF-MIB::ifType','3165b9b6c79e446f9d1029571518004e'),
('573','10515','Services status','fc5652614ee94cd8b437b3058886e857'),
('575','10515','SNMPv2-TC::TruthValue','f6bb441b7a65446c96c546bd3f3140ee'),
('576','10515','zabbix.host.available','d553e33d8b104a5e89d88500e85fa5fc'),
('578','10207','EtherLike-MIB::dot3StatsDuplexStatus','b31f48e2216f441daa0b05561ac2ab6a'),
('579','10207','IF-MIB::ifOperStatus','0a25bc3fe4dd40f8a08962befa8416d1'),
('580','10207','IF-MIB::ifType','ce3031283a6d458489747bfbf3696ab6'),
('581','10207','Service state','2d7b52f7709c460597a1ff44c1e39a1b'),
('582','10207','zabbix.host.available','03dcc409833146f6a1678df8b1311c40'),
('583','10254','EtherLike-MIB::dot3StatsDuplexStatus','322511c8bbf34b8da79b98e47067db64'),
('584','10254','IF-MIB::ifOperStatus','97fa6952fa0a4a2a965ba1e88eebe706'),
('585','10254','IF-MIB::ifType','629b7642da57472ea36074d43e45ce8e'),
('586','10254','Service state','ab33ce8c3fff400eb49d274d76143a37'),
('587','10254','zabbix.host.available','564ef39203334aff99b78aa8fb3fd2da'),
('588','10208','IF-MIB::ifOperStatus','c8b95f7ce9e44b5ea09273fb6c3c9a28'),
('589','10208','IF-MIB::ifType','db55d484980244b4bf5c60e0908f4e9b'),
('590','10208','Service state','17cb6bdbe4244a8fab16c0cbca5a4a00'),
('591','10208','zabbix.host.available','2fdee7620a3a449f9dd61eb3405e620c'),
('592','10210','IF-MIB::ifOperStatus','1b40ba5987784986bb25aa9dfa2d1e81'),
('593','10210','IF-MIB::ifType','5a55c0fddcc9450eb3e07b76cc73f8ee'),
('594','10210','Service state','ac73622b29f54d21aa6bcbac5a783599'),
('595','10210','zabbix.host.available','f74856688e9444bd93951f0c246ae483'),
('596','10211','IF-MIB::ifOperStatus','82de0c54872847d190ee681690aac69c'),
('597','10211','IF-MIB::ifType','6ba7778a7b454c649d6eb0126edd6a62'),
('598','10211','Service state','534121daa14949a6b5205cb9b7138b04'),
('599','10211','zabbix.host.available','e7bbb30eb3b748c6b6087bc2c353c3a8'),
('600','10220','CISCO-ENVMON-MIB::CiscoEnvMonState','0e5588b6aa714283b436031ff8ebc93a'),
('601','10220','Service state','9fc9d3c2eb254de996d9c4a61ba58671'),
('602','10220','zabbix.host.available','bb13061dd5b542f9b0f5921e75866679'),
('603','10218','CISCO-ENVMON-MIB::CiscoEnvMonState','fb67666002524322b1b9ae9ed1611be5'),
('604','10218','EtherLike-MIB::dot3StatsDuplexStatus','36ad5e7621ff466ca89e641c4410c6a1'),
('605','10218','IF-MIB::ifOperStatus','6c1104306b5447328703076cb76b64a9'),
('606','10218','IF-MIB::ifType','80d8685de68c49d8beb0f96f58baa1ce'),
('607','10218','Service state','521e28cd45a1421d89b1588e5392b50a'),
('608','10218','zabbix.host.available','cc333fe140bc45388e5508237b42e1ad'),
('609','10253','CISCO-ENVMON-MIB::CiscoEnvMonState','d811f4c78e8246f6a3ed1e903ade574d'),
('610','10253','IF-MIB::ifOperStatus','b4d11dd4e18b4958a17b5da31d101e08'),
('611','10253','IF-MIB::ifType','475ca8ba5faf4ddca62bd41be9b3d410'),
('612','10253','Service state','5470fefd50c64782ac60e3a2aa8b3d3c'),
('613','10253','zabbix.host.available','91d7e7e2bd4d48d7aecb9f9b4654185f'),
('614','10221','EtherLike-MIB::dot3StatsDuplexStatus','1962bc26a6064ee6868371f86d44dbeb'),
('615','10221','IF-MIB::ifOperStatus','7f124ca304d9431386bba2edbb9b2560'),
('616','10221','IF-MIB::ifType','9fde4e729aaf43cc993167d7c0bcae23'),
('617','10221','Service state','38ce73f0eb6b4c4a912b61b2014156fb'),
('618','10221','zabbix.host.available','01bced41864644fd842efed7085fda69'),
('619','10222','IF-MIB::ifOperStatus','538fac0622da44f6983715e4ab5174d8'),
('620','10222','IF-MIB::ifType','111695131cb1419e910bec80a4b8e799'),
('621','10222','Service state','613f2da376b04842aad29125788f0b91'),
('622','10222','zabbix.host.available','73baa4be94844904b9a6fc06152a948a'),
('623','10223','EtherLike-MIB::dot3StatsDuplexStatus','a5032b272e4c4208b16ce190833103b0'),
('624','10223','IF-MIB::ifOperStatus','2bdac31f40b04baaa131ebedde8d5077'),
('625','10223','IF-MIB::ifType','d050b91fbb5c406b8b59e4e66d3c783e'),
('626','10223','Service state','1012a8cf8ce34825aae3ffbb36ee1313'),
('627','10223','zabbix.host.available','93ebe10df982453aa98621c1f1d070f9'),
('628','10224','EtherLike-MIB::dot3StatsDuplexStatus','60e2bd909e284621a8a21810623b0e94'),
('629','10224','IF-MIB::ifOperStatus','2fcb120b5eb840ddbad31a7291711b7d'),
('630','10224','IF-MIB::ifType','d09aa2831cca48eb8c9011582c15bea1'),
('631','10224','Service state','3177ca5723c3410daf20723b88019907'),
('632','10224','zabbix.host.available','c6691c15854b472982f8a6636efdbe82'),
('633','10226','EtherLike-MIB::dot3StatsDuplexStatus','df2e3dab72d94efba9a85bfd7d1c3148'),
('634','10226','IF-MIB::ifOperStatus','9b4ab9573d184bf381f80ba4392fedc7'),
('635','10226','IF-MIB::ifType','8f5eaea6553c4053b1d04569bc14bcb7'),
('636','10226','Service state','b146c1413392488884ca17289a55055a'),
('637','10226','zabbix.host.available','77a05f825d144596a08149088121951a'),
('638','10227','EtherLike-MIB::dot3StatsDuplexStatus','ec3b9adaa2ad448db5a613cfb6e02fd3'),
('639','10227','IF-MIB::ifOperStatus','47c29a4e28094f59a3666ab1bc7bbba9'),
('640','10227','IF-MIB::ifType','023e30ad64bc402abf989de29c2b7c5e'),
('641','10227','Service state','814a713abe0740bc93531596474b80b2'),
('642','10227','zabbix.host.available','f6c6d62117c749a482792e753486a2be'),
('643','10250','EtherLike-MIB::dot3StatsDuplexStatus','846197beea984cc783b84822437bbace'),
('644','10250','IF-MIB::ifOperStatus','28a4a6c5a2b84802bfb1e3215ae398a7'),
('645','10250','IF-MIB::ifType','5a230e50a04d4855808dc213db1bb5c5'),
('646','10250','Service state','5a584e3a8795417c86911e6ffc37b0bd'),
('647','10250','zabbix.host.available','b9fe3941224749efa881a61b56c5d888'),
('648','10229','EtherLike-MIB::dot3StatsDuplexStatus','64bf3ebd444c4c4ca472b0846790b107'),
('649','10229','IF-MIB::ifOperStatus','ec040521269743e7a402bbdd1c952ea3'),
('650','10229','IF-MIB::ifType','a46f120c4e16400980806c27eb08de1e'),
('651','10229','Service state','3bde7ef9431d4a9e86d3cb88bb46a38b'),
('652','10229','zabbix.host.available','c2435e2487434b3b888c54cb4b6c0139'),
('653','10230','IF-MIB::ifOperStatus','59e447d9af934975975b38972c8a7fca'),
('654','10230','IF-MIB::ifType','f959de5e694a4e46a35da37ff58af887'),
('655','10230','Service state','9c931d7fbc984fd6b3a44a09fec264e1'),
('656','10230','zabbix.host.available','d6130251df4c41c0b417fcd8d71f3f15'),
('657','10231','EtherLike-MIB::dot3StatsDuplexStatus','69625f8a027542638c3ca9b64522602d'),
('658','10231','IF-MIB::ifOperStatus','79269236a24e4a1d8f40a600ee1c3a65'),
('659','10231','IF-MIB::ifType','f345b4dd14784f7f96902ad7f95d4038'),
('660','10231','Service state','e3bf54eef520492a94ad3d7bd7c3dede'),
('661','10231','zabbix.host.available','022ceae4990140a59b2ceca83a826dd5'),
('662','10449','IF-MIB::ifOperStatus','2c87030228374ab0a2f1051f5fdd1c48'),
('663','10449','IF-MIB::ifType','20bb48090ee04eadb771f56365193646'),
('664','10449','Service state','e7be0480e0904cc6a68cc027961d36f3'),
('665','10449','zabbix.host.available','1cab243abc4747c3ae5bc1e432c8e2f2'),
('666','10450','IF-MIB::ifOperStatus','3a94c6ec55bb4acea2aff228712bc4f2'),
('667','10450','IF-MIB::ifType','0a80c83f5dcc47b095641aa5a0ed3fcf'),
('668','10450','Service state','e785477c09fb4857b2b6ab0065eb30bb'),
('669','10450','zabbix.host.available','845e465060de4e619f5d2fc841730211'),
('670','10451','IF-MIB::ifOperStatus','fc286c3054704db2bc3b0e8b88ff74c0'),
('671','10451','IF-MIB::ifType','1299953fcf1143fb9155f889f39af069'),
('672','10451','Service state','85dc872152ec4c5f8af35558e554abae'),
('673','10451','zabbix.host.available','1f457b001e2e4d6c8ce2c386ea4d7f77'),
('674','10452','IF-MIB::ifOperStatus','22f415a6b99d4266adc34008f74b8273'),
('675','10452','IF-MIB::ifType','6ed02c4fe35042698491af23e9f9bf81'),
('676','10452','Service state','c16dce20ddb24e648936f2c874df7611'),
('677','10452','zabbix.host.available','9556e9053f5f49e2b8f8f4c312a15fc0'),
('678','10453','IF-MIB::ifOperStatus','1fd54fd1f5b245aa92674432cac9455d'),
('679','10453','IF-MIB::ifType','e8025fb20449470da19bf5881ebe3467'),
('680','10453','Service state','f9e0c946ec844715a29819e037a52d46'),
('681','10453','zabbix.host.available','d0c9d2ac973d49f09fd14d04803ccdf6'),
('682','10454','IF-MIB::ifOperStatus','91555b102b4344ecabb9ffba5cefdfd2'),
('683','10454','IF-MIB::ifType','e93fd9e1a289402f9631275a21da92a8'),
('684','10454','Service state','562a1120aa7148b3a3ebd862480574bf'),
('685','10454','zabbix.host.available','eaac357da10f4fa3ad2cf4cb5784c45a'),
('686','10455','IF-MIB::ifOperStatus','584f260e2200488084f41fbe709dd0ab'),
('687','10455','IF-MIB::ifType','12b06f3b345c43e7b9b6f2299b2608bb'),
('688','10455','Service state','8dd8911e238240a3a0455805bb8128af'),
('689','10455','zabbix.host.available','2f9ffba5f4ae4226b8ff39e4bff0b5d1'),
('690','10456','IF-MIB::ifOperStatus','33859113b37a4ed7b36e31ec6d016fd5'),
('691','10456','IF-MIB::ifType','480088441ae34e1d93cd19fa6379e30f'),
('692','10456','Service state','72f64e97a698449cbd0b6b60bc418b2e'),
('693','10456','zabbix.host.available','a52a4ff531194e7090d12246e011e9d0'),
('694','10457','IF-MIB::ifOperStatus','6e4c66c16e274c5f8caa1617020884cc'),
('695','10457','IF-MIB::ifType','ec8ebd0e1ace4fc4b455cd932c5abb6f'),
('696','10457','Service state','33a1f843573446878618a06307d76f8d'),
('697','10457','zabbix.host.available','4e2dde2550564c3baa667b369e03b257'),
('698','10458','IF-MIB::ifOperStatus','766be8ef402c431995ab5c5e70970cf4'),
('699','10458','IF-MIB::ifType','2a9c7cab3ad0446896cc2ef6121d4452'),
('700','10458','Service state','b5de6f35c8c14486b755175e8dee1d41'),
('701','10458','zabbix.host.available','506571817e794083bdf3a7276b60c22d'),
('702','10459','IF-MIB::ifOperStatus','39905ed60f834c78836e3fe8b4cf34fe'),
('703','10459','IF-MIB::ifType','308b4e2991ad4af88564441bc0e23b93'),
('704','10459','Service state','1624693f374e437db131f743864e865b'),
('705','10459','zabbix.host.available','95c329958acd4df1b5e2459725d50115'),
('706','10460','IF-MIB::ifOperStatus','d58e77f172d14ec5ab67d03296c7d38c'),
('707','10460','IF-MIB::ifType','acf4edb812eb4123af1d8560e63221bd'),
('708','10460','Service state','ad346998940e4b4e8e131b26ee4bee23'),
('709','10460','zabbix.host.available','6bd7aa56b18d4545891bfb11b69ddbd4'),
('710','10461','IF-MIB::ifOperStatus','ce35f7985cc545bb821b0d0603ddcdd5'),
('711','10461','IF-MIB::ifType','15e27cbe878e40b69ca4b16a3f6d1e2a'),
('712','10461','Service state','aae875e8761d49fda56524ee5d37f279'),
('713','10461','zabbix.host.available','287ca5d5072f4fa7b96a31a0812e1cc5'),
('714','10462','IF-MIB::ifOperStatus','10ff85e100864e88910e26efd34896d3'),
('715','10462','IF-MIB::ifType','b65a31c66306406a8fe73e6c210c0ba6'),
('716','10462','Service state','d8e4b86f85e549e4a3641b36c3b8c0b2'),
('717','10462','zabbix.host.available','61071e8ff079488dab143843f124fa99'),
('718','10463','IF-MIB::ifOperStatus','554abaed99124d0eb787506c0cb1b56a'),
('719','10463','IF-MIB::ifType','b59e05d6e52a4e3fb7546d7435c0dddd'),
('720','10463','Service state','59c270831db949389b6c8ae00b0ff394'),
('721','10463','zabbix.host.available','c6ee3b849b6942238cf691ecdb90be26'),
('722','10464','IF-MIB::ifOperStatus','844451a575b14c3abccb52db6637c57c'),
('723','10464','IF-MIB::ifType','f258811d525d47d7a491ffca5cf36211'),
('724','10464','Service state','cadc9c4a3e0549a9bd4092539a6e788b'),
('725','10464','zabbix.host.available','85b1c3feb18c4cbeb187dff5c4dd723b'),
('726','10465','IF-MIB::ifOperStatus','88ab84cb938a40a3918f884efd188d15'),
('727','10465','IF-MIB::ifType','6b690add355342aea58455d2e54f9202'),
('728','10465','Service state','b217d2a84c9844a08e6fef80c9dc6297'),
('729','10465','zabbix.host.available','be9bb4ec29c7453aaef08944117fa319'),
('730','10466','IF-MIB::ifOperStatus','9a2a53f5b1ee4cfd8128d6fd3ee94f19'),
('731','10466','IF-MIB::ifType','6efc0b7ffc2e4205b2cbcca15ceba64c'),
('732','10466','Service state','d6a4ac3dba1d494e8a61150fbdd8cacc'),
('733','10466','zabbix.host.available','4fa91d64132a4c2089cba197f734c0e3'),
('734','10467','IF-MIB::ifOperStatus','741d15ef55334ec9b017e355a1ed958b'),
('735','10467','IF-MIB::ifType','9b1f0649653b46c7be262934f376926e'),
('736','10467','Service state','9493572ff58f4e4c86208bb8ac839aa3'),
('737','10467','zabbix.host.available','bb18fe8a5404430e95b6bb00d571e6ed'),
('738','10468','IF-MIB::ifOperStatus','eb2dc24843604c1b8ef9169ce65e570c'),
('739','10468','IF-MIB::ifType','ea9e3359b57840c8b1fa1b1c0cbf55c5'),
('740','10468','Service state','e392411ac64845efaedeec750731caa8'),
('741','10468','zabbix.host.available','9200cc616f934bc5b0df6136c53e0650'),
('742','10469','IF-MIB::ifOperStatus','09f1738eab3c4fc381b22b1d82a8d192'),
('743','10469','IF-MIB::ifType','e56e7aefbc244b1f9a93fb787d7043db'),
('744','10469','Service state','8ca1d63f5ca1449fb4f2dbb94b54835a'),
('745','10469','zabbix.host.available','c5f9837a1d6d42bb9ffae512dd63f0d6'),
('746','10470','IF-MIB::ifOperStatus','898bfaed08a44954897385e63d854c0f'),
('747','10470','IF-MIB::ifType','d441d05e0e24462b817c5b3eae8d9b9d'),
('748','10470','Service state','04f7843b43454cc487e70cd3639b4024'),
('749','10470','zabbix.host.available','84bf465ed8e3421e817ba4648e7707e9'),
('750','10471','IF-MIB::ifOperStatus','a47c7db9e85a42f6807209393d5be773'),
('751','10471','IF-MIB::ifType','79a3153cc7f74b8ab41acec0f722476c'),
('752','10471','Service state','f430b2fa108a4c2c964d4e39c794cfaf'),
('753','10471','zabbix.host.available','5bc4289f35bd41b9a5034da380f78eba'),
('754','10472','IF-MIB::ifOperStatus','8c73c67d22c343c5a37d23afe2fbe98b'),
('755','10472','IF-MIB::ifType','7d7a0f21f1aa40ceb5acd6f1d9815875'),
('756','10472','Service state','c9ed7ee77afb436e8c85baba81aa3971'),
('757','10472','zabbix.host.available','ef6e97ca311d411c8b1d3dc7d87a1fce'),
('758','10473','IF-MIB::ifOperStatus','d9450045bbb64855ae135a53308f3a22'),
('759','10473','IF-MIB::ifType','6a6b6e7caa4d41b4b08781b665219425'),
('760','10473','Service state','03feaa2653754a39a49be179e127cfef'),
('761','10473','zabbix.host.available','26e5c5020edb4553a70bf0647d5e99a7'),
('762','10474','IF-MIB::ifOperStatus','d081693e5965461ab47d1e39712d0730'),
('763','10474','IF-MIB::ifType','4028b1d91dd34224af78d961a8139422'),
('764','10474','Service state','1b36de603f4a489ab58b3a2007664b97'),
('765','10474','zabbix.host.available','827c5e25ce6c499690912ce2f51f2d23'),
('766','10475','IF-MIB::ifOperStatus','42f75b8ccc1642699bc4c681379cdf9a'),
('767','10475','IF-MIB::ifType','eaf1d4babd704133811b0a0bc912d319'),
('768','10475','Service state','057602363ab44b638e1c116e1e4edafd'),
('769','10475','zabbix.host.available','14fa9bc957f644c19e88352fcd00a196'),
('770','10476','IF-MIB::ifOperStatus','328bdd06aa634535895f099b1ae489a2'),
('771','10476','IF-MIB::ifType','1404a90ce0c24bdfb85712fa4ada16f7'),
('772','10476','Service state','92b5d1e8e71948fba8a01231ff5661ae'),
('773','10476','zabbix.host.available','6c09aa1071a04b4381d625bfa862651c'),
('774','10477','IF-MIB::ifOperStatus','a020e149d8cd44b4bc01757e860fea9b'),
('775','10477','IF-MIB::ifType','eb92bcec20754ffda075157e919ff103'),
('776','10477','Service state','ff7e81f30cbc4a8e9bdd4ab9f1b67332'),
('777','10477','zabbix.host.available','51f609663817483cb44991b1057b6fd1'),
('778','10478','IF-MIB::ifOperStatus','03170ad661d94227a3ed44be919bb70b'),
('779','10478','IF-MIB::ifType','154285efa1184f648f415c16c80ed959'),
('780','10478','Service state','e99c8b74b91047ce94ccf9d257da7952'),
('781','10478','zabbix.host.available','4e98aec63e9a447085e18b0c00878c72'),
('782','10479','IF-MIB::ifOperStatus','373f90696d5446dfb8b96ac601ea46bf'),
('783','10479','IF-MIB::ifType','ec31f6a5de23428babb52891633c1cbf'),
('784','10479','Service state','46a72cb8e18e4f6287a01663b70d65b8'),
('785','10479','zabbix.host.available','3ecff0e7f545452eaf0a4ea5c259099d'),
('786','10480','IF-MIB::ifOperStatus','405ab38009ec49348abe0b0c40cf8400'),
('787','10480','IF-MIB::ifType','f8b354a36e1b483a9b62e151e9979e44'),
('788','10480','Service state','d6794baa748e42ecbbb7ff798a7b6dfe'),
('789','10480','zabbix.host.available','80459903b71047d1979a2043fa4a77a9'),
('790','10481','IF-MIB::ifOperStatus','f3c5ab8576b34585a21cc5c12ea2f030'),
('791','10481','IF-MIB::ifType','6f4886e0f3014d9796ba3014a2cf4190'),
('792','10481','Service state','15c511178ebd4ea1b08cf75048915a8d'),
('793','10481','zabbix.host.available','5b9f23af5c684b2f8360032126ac323e'),
('794','10482','IF-MIB::ifOperStatus','1688633d1275445f846db4e63be4ec87'),
('795','10482','IF-MIB::ifType','54cc6fac26fa4e038de096b4e4a27ca9'),
('796','10482','Service state','7b5f3cb781fd49e1bc0a1811fc6bdb3c'),
('797','10482','zabbix.host.available','07adb358b3dc45dd848501bb129c184f'),
('798','10483','IF-MIB::ifOperStatus','6baa15161f3645ec9f7c55454fb5b575'),
('799','10483','IF-MIB::ifType','9fa04834870c42d18cff898de904b7d1'),
('800','10483','Service state','cb3fc2c6a23845979765dc351158e134'),
('801','10483','zabbix.host.available','239cc24f3e7046059da55c621f7f7741'),
('802','10484','IF-MIB::ifOperStatus','7c2123a387904176a8285e3e1405622f'),
('803','10484','IF-MIB::ifType','618992ab84bd450c95e42ce469bbd45f'),
('804','10484','Service state','0cd4de70a85e44d28b6cad58f76dd298'),
('805','10484','zabbix.host.available','ecb1dff8b48f4537ab39a61186db0dd7'),
('806','10485','IF-MIB::ifOperStatus','2cc282d274444241a03ee557db156c73'),
('807','10485','IF-MIB::ifType','4c9d084f51dd4c649b645c71a812220d'),
('808','10485','Service state','3136d5ca9dd543d1a63a6df52bb60249'),
('809','10485','zabbix.host.available','8f791785fd354a10b5c5a005e023d6c8'),
('810','10486','IF-MIB::ifOperStatus','270aa43aec684b4691a231c73aeb3f0f'),
('811','10486','IF-MIB::ifType','4e3a9e65c5734c34b6a73f9f68513e3e'),
('812','10486','Service state','f90f3e32b5b54f0c93aa0e5722810917'),
('813','10486','zabbix.host.available','c3ffbe98192e4639843ab4a3584965ac'),
('814','10487','IF-MIB::ifOperStatus','5ad8c335be4242fab3fe494707553a44'),
('815','10487','IF-MIB::ifType','ab80a859fba74ce085fdfdddbadeda8e'),
('816','10487','Service state','4c5a4ebb20fd4111b444af3db223a21a'),
('817','10487','zabbix.host.available','46e81d323d9745f4af7af06ff9f85d3a'),
('818','10488','IF-MIB::ifOperStatus','77234a3478a44316b69d7cb39b018b47'),
('819','10488','IF-MIB::ifType','42a4cc6793864b5fa8fcfbb158b993cc'),
('820','10488','Service state','09896efced0143bc9f4c9f33db6051a4'),
('821','10488','zabbix.host.available','097987211d8a41c5bb87be4f8b9e4598'),
('822','10489','IF-MIB::ifOperStatus','8ab38f3183414268a97886537f26bb62'),
('823','10489','IF-MIB::ifType','94cc38c8cfd3498ca3e08b2f3a215d7b'),
('824','10489','Service state','ffb74f2e72274c3eadcee61d34faf885'),
('825','10489','zabbix.host.available','680e9b81d3094abc8a37ae0645076fe0'),
('826','10490','IF-MIB::ifOperStatus','e730f38a15e34cb4b52d27710056a28a'),
('827','10490','IF-MIB::ifType','486c1f40eae844d28eb8acfdebf52bb3'),
('828','10490','Service state','cdebb7ffdc0c4191a2b84569e3d8d40c'),
('829','10490','zabbix.host.available','9b957d38b829475a8cbe06991ff90659'),
('830','10491','IF-MIB::ifOperStatus','bba96f7bcedf4277b5411562b17b0216'),
('831','10491','IF-MIB::ifType','e1c29894283b4837b9fb6b1929b2af2e'),
('832','10491','Service state','9c3206fa143949e1a3d6423bc410a2dd'),
('833','10491','zabbix.host.available','85e730aa40d141f488e0d0e5cc51f4cf'),
('834','10492','IF-MIB::ifOperStatus','e6d270e997dc40dcb0b2d69f0eeaad69'),
('835','10492','IF-MIB::ifType','3435384894224f579ceb1d9529532d49'),
('836','10492','Service state','470819e8e6e04c988f1ddaf4ae78362c'),
('837','10492','zabbix.host.available','a57b96fc823f4634901a4da9df6d8f25'),
('838','10493','IF-MIB::ifOperStatus','1a0d7378fe7340b68845b69fb4f93483'),
('839','10493','IF-MIB::ifType','11d4940866204548bc22f75188bcbc23'),
('840','10493','Service state','c9b07b4e497c4723a45effe620dae0e8'),
('841','10493','zabbix.host.available','2a3d5a84618f48d2a98f1ce43b1541f9'),
('842','10494','IF-MIB::ifOperStatus','209d3691ddba4079971e42b4c66bbf7b'),
('843','10494','IF-MIB::ifType','537470b0ce914388bae1f5c9d0b7e650'),
('844','10494','Service state','f4e3f00eee7942b4a923008204a5efae'),
('845','10494','zabbix.host.available','7e6ac491ba67468ca65aaadd506b0653'),
('846','10495','IF-MIB::ifOperStatus','c212726bbd1047f2aa72c2f88b1bd4d8'),
('847','10495','IF-MIB::ifType','1d00e802a2c44775a84e2cff4e9f3e65'),
('848','10495','Service state','47444d3fbb2f414dbb1c6ad7cb77ee13'),
('849','10495','zabbix.host.available','451f6505bd2e43e08ab5f86e0e7ff816'),
('850','10496','IF-MIB::ifOperStatus','15171bce73d64d4db72399fefc7c55f1'),
('851','10496','IF-MIB::ifType','bcd9de0d817246688f7682a1b66ed046'),
('852','10496','Service state','c0bded469f6a4378a7fdcadd7c858b24'),
('853','10496','zabbix.host.available','427da1e5397442f3a00e445928f054ed'),
('854','10497','IF-MIB::ifOperStatus','6ea0ca9342014c71be6d5c38203bcf55'),
('855','10497','IF-MIB::ifType','97906247683e4a488e191c5aba0b1bb3'),
('856','10497','Service state','7a87ed0256064913ac714fe514f3a87b'),
('857','10497','zabbix.host.available','18e987751fe7494bba178a5412592b90'),
('858','10498','IF-MIB::ifOperStatus','76ca35629e874d2f90546a74a4b36ffb'),
('859','10498','IF-MIB::ifType','a6383fcd4ce349eeac45dea55c502ded'),
('860','10498','Service state','7cc0bd53766f455fa18674f6c6d08b47'),
('861','10498','zabbix.host.available','8882c6eab8a7460e81bed27d01992b08'),
('862','10499','IF-MIB::ifOperStatus','e440d3590aee41198de71b1b8d03b4b9'),
('863','10499','IF-MIB::ifType','9f7f414526dd464f813b6c193317729c'),
('864','10499','Service state','b31538483a81433a9136af0e3f210b2c'),
('865','10499','zabbix.host.available','61a780952af848389136a09bbebbec46'),
('866','10500','IF-MIB::ifOperStatus','839bc47f8c5a4c08a124d98a67d1d008'),
('867','10500','IF-MIB::ifType','e5ff01ab289d41c3b0400ddddd560252'),
('868','10500','Service state','60d08c7e151244b6818a208dc71be165'),
('869','10500','zabbix.host.available','4afed47df39742559534158284d405a4'),
('870','10501','IF-MIB::ifOperStatus','f67e80e8803c4aa7bf64347a6ab40336'),
('871','10501','IF-MIB::ifType','bb70b4c197574b659fec20c066393945'),
('872','10501','Service state','828e978dbe3d445d8059c31f8902e403'),
('873','10501','zabbix.host.available','47facf2a4a234c31851d1ec80a803cbe'),
('874','10502','IF-MIB::ifOperStatus','c3ca1fe6814948818bde09a430c55d56'),
('875','10502','IF-MIB::ifType','526dda4a360a4b81b3875c105087b417'),
('876','10502','Service state','325bbbb044504b29957d9a759d7947d0'),
('877','10502','zabbix.host.available','77b701dfe7914b54ad7f361e0ff55f3f'),
('878','10233','IF-MIB::ifOperStatus','b020eb645cff47c0b91891a36652c087'),
('879','10233','IF-MIB::ifType','0ab024c489794d1299d2992ad5b3e1e8'),
('880','10233','Service state','4197110252654153a2eee46de014a4c0'),
('881','10233','zabbix.host.available','f63bc9f2c0d0427b9d1eccae7a1d612d'),
('882','10234','IF-MIB::ifOperStatus','fecd5d9485284373bf7a2675c2b29698'),
('883','10234','IF-MIB::ifType','fc2630e4b471489e86b27cad74869009'),
('884','10234','Service state','5f4a459df3414f51a6304e95e33719cb'),
('885','10234','zabbix.host.available','8f0e780896f9432486996071a231fba3'),
('886','10235','EtherLike-MIB::dot3StatsDuplexStatus','867a4b73b9c74b8991bd9e7fada4266f'),
('887','10235','IF-MIB::ifOperStatus','8be611d8f2c84397b7ded25165d6c63c'),
('888','10235','IF-MIB::ifType','041993f5fd2c4dec97fe4a1ede37cad5'),
('889','10235','Service state','56ec9ee320f545d7a9f0941258f298ac'),
('890','10235','zabbix.host.available','1bc8b4e625ae4328b3919b6379680ddd'),
('891','10236','IF-MIB::ifOperStatus','ca6bcc5f345b46ffaa445d38a90ddcae'),
('892','10236','IF-MIB::ifType','7eaf5db3b1f047bd9a8f5acdfdaf59ad'),
('893','10236','Service state','0d9190336b1d47569f423067889d7a4d'),
('894','10236','zabbix.host.available','090a2707e81e42829504663cf37b8223'),
('895','10237','IF-MIB::ifOperStatus','2fc5bef495074d0e86641cc136e3dcde'),
('896','10237','IF-MIB::ifType','5161926438084643a3e2b08dac97cb4f'),
('897','10237','Service state','d72bcf64fddb4f4faf3bfb039a36e0e4'),
('898','10237','zabbix.host.available','4ceae86ef7e84797a911fd3d257eaa46'),
('899','10076','zabbix.host.available','4a25a6b3d6e4482ab2a748c79cb55524'),
('900','10076','Zabbix agent ping status','f2885fb5e52946f8bce8eb96a60f433a'),
('901','10075','zabbix.host.available','9c02af203e354ac6ac87a742e85f683b'),
('902','10075','Zabbix agent ping status','b82f35541efe4fc1a432c049eba5d082'),
('903','10077','zabbix.host.available','663bea44626447b5a72a71238dfda919'),
('904','10077','Zabbix agent ping status','3f4bc88020d444e1b951aebfa8f3dfb8'),
('905','10001','ifOperStatus','8c048c6cca8248f2860c208e8db0f59e'),
('906','10001','Linux::Interface protocol types','044df261808442a8af9e5cda0acaa6a5'),
('907','10001','zabbix.host.available','5488e5d78d704b78aee60c60414ce0c3'),
('908','10001','Zabbix agent ping status','64faba3a883241a88da8833970ac3ab0'),
('909','10343','ifOperStatus','276914b5aee2435da609d3112ecd359d'),
('910','10343','Linux::Interface protocol types','79afe98a54a648bb981c29e70ba6652c'),
('912','10343','Zabbix agent ping status','e815d397c5e44f1791622fd598bc1131'),
('913','10248','EtherLike-MIB::dot3StatsDuplexStatus','1fe48656fa5e4a23903921a5b0f2aac4'),
('914','10248','IF-MIB::ifOperStatus','1578e9a6c5f24dd1915d981c245b68fa'),
('915','10248','IF-MIB::ifType','4a342bf160284052bc94e123d13f7992'),
('916','10248','Service state','1ccba0a6ed744226ba878957e7d1aa47'),
('917','10248','zabbix.host.available','72e9f56c06b546319580d856fc112dc1'),
('918','10079','zabbix.host.available','0355844b2bee4fb59bddda6175ef4810'),
('919','10079','Zabbix agent ping status','a72caf871acf4776a891a612932fbf2e'),
('920','10074','zabbix.host.available','693c226692c548869e77d3313934ca28'),
('921','10074','Zabbix agent ping status','8dad41742edf49178119c70abea0a0dc'),
('922','10078','zabbix.host.available','2a704279b6e946a99b88bdebd4f99653'),
('923','10078','Zabbix agent ping status','5db838501e354313888d84800658ed6a'),
('924','10081','Win32_NetworkAdapter::AdapterTypeId','9b087b9bfa09434ea0d0b5c32577abcc'),
('925','10081','Win32_NetworkAdapter::NetConnectionStatus','7e549195e83446228db8bf1101bea83d'),
('926','10081','Windows service state','3f685167f97c492598ad445fc938560f'),
('927','10081','zabbix.host.available','c80233756c9d43769f334d632da07b8c'),
('928','10081','Zabbix agent ping status','5d3e53f3090448c7aaf081eb32b28ced'),
('929','10351','Win32_NetworkAdapter::AdapterTypeId','224ca38281f04c83844763251505cdce'),
('930','10351','Win32_NetworkAdapter::NetConnectionStatus','850e339a24de4ef6a0a881dc57bfa3a6'),
('931','10351','Windows service state','e29ffb786c21406aa2338e3d35b484ef'),
('933','10351','Zabbix agent ping status','0b50ea7e6695421da023ece0a23bed10'),
('934','10249','IF-MIB::ifOperStatus','2357d81186e34d5b91db98c2350e0bdf'),
('935','10249','IF-MIB::ifType','b3f64ce647bc4647a692f2e3bafa3760'),
('936','10249','Service state','43b61695bdf347cb8ec9bd23e7cdbc88'),
('937','10249','zabbix.host.available','a979f49c325344e0b6c064b829a21f62'),
('938','10385','Service state','0aa29a4ffa224d56a107a1cfbd6c416a'),
('939','10385','zabbix.host.available','d107957d44424014a251dff95751a41f'),
('940','10378','zabbix.host.available','7ad319d1815e45a1a28a8cd2516fd8eb'),
('941','10304','Service state','b98830da69f9463f949ed2df7ee5dcb3'),
('942','10304','zabbix.host.available','a67fce1a203742eea56849fc38b8af39'),
('944','10255','zabbix.host.available','a8b28aa27f374f58a1ebc85fd3a84887'),
('945','10256','Service state','98d8b8c35272455281f6ae0775691117'),
('946','10256','zabbix.host.available','1d84ec840bfb4ca0a8e98d11008e8423'),
('947','10258','Service state','2fa79738fa194e04bfaeee91a2e4396f'),
('948','10258','zabbix.host.available','c446435a96c24db2845ba0651eb44c94'),
('949','10259','Service state','e6794dc7602149a3b4fdbfeef45f6e8e'),
('950','10259','zabbix.host.available','1fbe26c5dcb3457f98f84a240aa790cd'),
('951','10510','Boolean format','a435f7e23050406ca40cf6f5f872b5a7'),
('952','10516','Wind direction','9a8fdac997914722acfea90f1f9d45e9'),
('953','10517','Cluster quorate','d4bbd08f3a324a57af97a17f819cb3f3'),
('954','10517','HTTP response status code','87034fae192c44dba6c8bb568cd90bbd'),
('955','10517','Node online','99c0bc65efb34d298586320bdcf14209'),
('956','10518','FREENAS-MIB::ZPoolHealthType','1ce70fc8edf2449ea6a0c687f359441a'),
('957','10518','IF-MIB::ifOperStatus','8206c1b8a10840c0908b34c95f8ba4b3'),
('958','10518','IF-MIB::ifType','f5115f963d0043f6b76ebbd27aaba600'),
('959','10518','Service state','8673d9a283674ca2bcd973f5fdff7258'),
('960','10518','zabbix.host.available','0fe93c05f4c94ce8943950210218f6d9'),
('961','10519','Node health','2e7ddaadebce4b1089dcf01a91d01293'),
('962','10519','Node readiness','705e364c9e1b44dbb3fb50a1b27a8cdb'),
('963','10519','Service state','cc5f50f62d4a4895aa64d167f56cb99c'),
('964','10520','Envoy listener manager','2152e7a114f3489eb6ea80b948c0db5c'),
('965','10520','Envoy server live','c05c038099d74d11b6fef057518a1fc9'),
('966','10520','Envoy server state','f467d440b03e4dab8cc4b15f87185eb5'),
('967','10361','zabbix.host.active_agent.available','0407f8e83ce94d9b88db8dab241e44c0'),
('968','10326','zabbix.host.active_agent.available','c63064c6717e4604805491ce54166356'),
('969','10343','zabbix.host.active_agent.available','d4a5821461a243c9bf320ea58be1af23'),
('970','10351','zabbix.host.active_agent.available','131de6a1016e43019d7cac2ce76901d4'),
('971','10521','Consul Autopilot healthy','92638a6d5a9347edb011a8c999a9895e'),
('972','10521','Consul health state','1f966e7c41134551870c82f013f0b2cd'),
('973','10521','Consul Node role','8d8f7d7e37a44fe8ac590147f621cb4c'),
('974','10522','Consul health state','9c120a74ede844e6a410b7e2c2d712bb'),
('976','10524','Controller status','3bb065172c93464c9f5e2e569f523a05'),
('977','10524','Disk group status','78f22a3d82a64372abb3e3eeb08cf03e'),
('978','10524','Disk temperature status','eb92d7812b8e4d2dbe4908fc3d42ade8'),
('979','10524','Disk type','e6478ee0a41b49778f2a3dc130649838'),
('980','10524','Enclosure status','243d29502c1c416c85eb2ccc961a159c'),
('981','10524','Fan status','40916613dcf24dc2beb8634ec67c04bf'),
('982','10524','FRU status','f656acc354ab4593a1c1718668c02001'),
('983','10524','Health','448c57be77694badb75dbdabe9b233df'),
('984','10524','Port type','66a23d01db744677a1878143ccf102c7'),
('985','10524','RAID type','996bbe1c4e2841d6ac35efd9b5236fef'),
('986','10524','Status','6c5d6649be2347ca83258f0ab1a63137'),
('987','10525','Controller status','f7af1259f3c54a5faa040c743d386d1d'),
('988','10525','Disk group status','6bb0dfe12f4249ef9f4b804885c70c60'),
('989','10525','Disk temperature status','de0e7d801a9b42cf80fe4c71c0eed982'),
('990','10525','Disk type','10547e62c7bb4581b347bc523ef03582'),
('991','10525','Enclosure status','37317f19f7d74b8fa61dd1b28e6f4d42'),
('992','10525','Fan status','1acc14c82fba4c3daa207d0ce9b702f2'),
('993','10525','FRU status','284ed898fb7c46ecb8d719646445264c'),
('994','10525','Health','cb8c3d00dfd4456181765b8b350ea4d2'),
('995','10525','Port type','ec101e7d212747779ed56ef9dbf72e2b'),
('996','10525','RAID type','171c9abf20514b0fb78d532bd987881b'),
('997','10525','Status','402b0dacf14a4436b0d3cfe237bf1e86'),
('998','10526','Boolean','79ba0611293541f29f8b43b34e64465d'),
('999','10526','diskState enum','fd9a3483b02f45c6836b9a126b669402'),
('1000','10526','hardwareType enum','7513c4c923884ed4b8e35ee9cdf4f627'),
('1001','10526','portConnType enum','5d243add5b534ebfac8ef95d55c4c8c9'),
('1002','10526','portFailOverState enum','5762248dd10143a3945c989f0fb73b47'),
('1003','10526','portLinkState enum','5a6cdc765c254f17b136c4267fc71349'),
('1004','10526','rcopyStatus enum','eb36574d642d4f9ea51688b4ff971c91'),
('1005','10526','Service state','aaa5a863e8524a7088e64a51f5976c98'),
('1006','10526','State enum','86e4337cbc86423fb9f605a9fb3b25b1'),
('1007','10526','taskStatus enum','5cfd4442b6244399b7aa8b57e9816a4e'),
('1008','10526','taskType enum','9a8e1dbbb8f7497c9492fc941fde7177'),
('1009','10526','Volume compressionState enum','f529111642364bb3a23637adc554e592'),
('1010','10526','Volume deduplicationState enum','716912c7b7d94f8e97fbf911edc9578e'),
('1011','10526','Volume detailed state enum','6a2355e32bf54483b252f1aaf170aa45'),
('1012','10527','Alarm state','50b7fdfdf6de41f4b4b210a07c10cd77'),
('1013','10527','Status check','d59e4f0c6aaa40bcb5f504f6743d9201'),
('1014','10527','Volume attachment state','cf0267337f284182a43db45d823824b7'),
('1015','10527','Volume status','4f31d29791b94e37b065f790609c50b5'),
('1016','10528','IF-MIB::ifOperStatus','b556be6037b449139eab7830cdab494a'),
('1017','10528','IF-MIB::ifType','c9a24f17cf8243feb44825d707132180'),
('1018','10528','Services status','0cb987b54d4243009aeae0454d0c059e'),
('1019','10528','SNMPv2-TC::TruthValue','1e5ba7a78b5843f0a97edc51eaa96778'),
('1020','10528','zabbix.host.available','187ea1eb9cdb4f52bf5a6651820024a9'),
('1021','10529','Alarm state','4ff4cda021a4464ebbebb42b7ee02673'),
('1022','10529','Read replica state','69bbb2cfded14be6ac596408bdd4de37'),
('1023','10530','Alarm state','5f232f40f02246ab843c9aacdcf8d5c5'),
('1024','10532','Azure resource health state','38c8ce1516704ec2a6f1ea9686db56b9'),
('1025','10534','Boolean','20d3a73c6cc84329a5dfafff29de32cc'),
('1026','10534','Device presence','d3641b3e94ad495f8e0c5c49984a5aa1'),
('1027','10534','Enclosure state','082018b109e24116bbd92f0657113165'),
('1028','10534','Health status','05742432aca048ca96684ba52bd058ae'),
('1029','10534','Hypervisor manager state','6cd4b888faa442c19392b959f1605179'),
('1030','10534','Link port state','930add5553ea42668e590c9824d9e8d3'),
('1031','10534','Logical enclosure state','556391b7f9c045c89d28ac52a1082635'),
('1032','10534','Maintenance state','e26c553cffab4766866bf25639fb89da'),
('1033','10534','MGMT port state','c66615691cba4abc9c7adecc29bb346b'),
('1034','10534','Migration state','6feb2826df9244a8b6b7732c98090b63'),
('1035','10534','Partition health','b878a1503ac14781a142f69a587264ed'),
('1036','10534','Partition status','2c6d8b81e7ee4407b17ca06739ac71f1'),
('1037','10534','Physical server power state','7daddccc109d41f8abf1e04ba1fbd358'),
('1038','10534','Power state','fe093138fdd14f7f80fa4498d91d7fa0'),
('1039','10534','Rack state','5a4901bdd6024256afbfebee6827e103'),
('1040','10534','Resource state','ba5903d60953477aafd313d3688c8dd8'),
('1041','10534','Server hardware state','a545b93c790741a29b726f04f03cbc8f'),
('1042','10534','Service state','2d6f2f67dc114502ae699e873130ba23'),
('1043','10534','State reason','647f5a6d2ce54e78af163f8676f3f1e0'),
('1044','10534','Storage volume state','e20d58a33c3b4a8891dda5da8b86cd5a'),
('1045','10047','Compatibility','b985f0f026be4889923f5d16393e5383'),
('1046','10047','Last seen','3b60aa68965f47baba665e354e0e79de'),
('1047','10047','Proxy mode','7c52b5e2d2434edeba089e136a7eb845'),
('1048','10047','Service state','0d2da53a4e404248b9d156b5a7342002'),
('1049','10261','Compatibility','2498ad0b91d742888acccd435ba52962'),
('1050','10261','Last seen','53d1560f612540d98a2983516b4b9f8c'),
('1051','10261','Proxy mode','cdbd6c1bc69b4dcf925a1048a970139b'),
('1052','10261','Service state','7a5e7def958c4f16b9380d4b81f609c9'),
('1053','10539','Azure resource health state','4eec167b4d69441398b96b8e375d6825'),
('1054','10540','Azure resource health state','323a5259fb854724891515767f341540'),
('1055','10543','Azure resource health state','f208cf6141c44659a2c6904ec4cd7ac3'),
('1056','10544','Azure resource health state','61fc206aaae04abda4012e031f0e27ac'),
('1057','10547','Device status','24967dff65a048578eae18b2485907cb'),
('1058','10548','License status','af92df09c58c4c9287fe294b7b90e193'),
('1059','10548','Uplink status','e16992443a614d81a7f4186622709971'),
('1060','10551','CISCO-ENTITY-FRU-CONTROL-MIB::cefcFanTrayOperStatus','aadba98c69b14fbab88e7c37cab158c6'),
('1061','10551','CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUPowerOperStatus','166e0ff278184ab7b574833bb0dbaec1'),
('1062','10551','CISCO-ENTITY-SENSOR-MIB::entSensorStatus','2c29188a8b70409eb9735be0caab0393'),
('1063','10551','EtherLike-MIB::dot3StatsDuplexStatus','feee58fb80214a779f809b5b5ea098d4'),
('1064','10551','IF-MIB::ifOperStatus','29398bbb22bd4743944d117f17973bcb'),
('1065','10551','IF-MIB::ifType','dc2b653516504e14a19afc2d2d9f6ef1'),
('1066','10551','Service state','e523e2589daf46be96abf630047538cd'),
('1067','10551','zabbix.host.available','7b2dabb391bf41d1ab5084248e77efed'),
('1068','10552','Control-M service status','54213ae65be64878988c9145d8ae86e4'),
('1069','10553','Control-M agent status','55b997715e1e4a4cb5272874b975b43a'),
('1070','10553','Control-M job status','14b119c7f4a940ea91a8df8c4b114eca'),
('1071','10553','Control-M job type','d6b4e3c8d5934bf08aeb19c8a2f52de4'),
('1072','10553','Control-M server status','f0e3072f0cc44236802ea58f13ebb3ae'),
('1073','10553','Control-M true-false','37a4770c51184c5e9a8d1306625babf3'),
('1074','10557','Azure resource health state','6f9c01899d9e45c9a1316ee081718e9e'),
('1075','10558','Azure resource health state','c87b2eaeb88c4932ad63c73fcafa5331'),
('1076','10561','zabbix.host.available','0d5e922550954e6bad89b22f1d9d0c65'),
('1077','10561','Zabbix agent ping status','e5a39fd666b04b70b6eea53e2373b564'),
('1078','10562','zabbix.host.active_agent.available','9f93aabb08794395b1c62cf784fc58c3'),
('1079','10562','Zabbix agent ping status','9bf3eef7e8d8402ca6f826b377ea2db6'),
('1080','10563','Service state','1817725a41454fd3b9ad22feaf889fc5'),
('1081','10563','zabbix.host.available','ced60845a741400390ba002e69e26b0f'),
('1082','10564','Service state','bdb5d65d925542eaa61c302dc40fbfe8'),
('1083','10318','Docker container health state','bec7f850ca6a477fbaa6c409d971259f'),
('1084','10318','Docker date format','2465e37ba23f4a7cb895835d8cf94737'),
('1085','10510','PV and PVC status phases','f5aa4a786972420b859029116aac8a2f'),
('1086','10571','Database availability','d2aa57a09cbb43e8b53b11316193f013'),
('1087','10571','Instance state','1c26d58d111b4689a2e7acd23a38f1ca'),
('1088','10573','Database availability','8aa36f0f6a0b42a3b5e0eabfb700e8db'),
('1089','10573','Instance state','9adad9dad34646d79bcc6c414ddf8afe'),
('1090','10574','Replication state','ea83090a16d94eb3bb643009c784d820'),
('1091','10574','Thread state','b1acfa66a401499cae56777db6c7750b'),
('1092','10575','Database availability','c783556dfa214e73b676ca187648c5df'),
('1093','10575','Instance state','bc3b08ca201d438689678a29e3575823'),
('1094','10576','Replication state','af111e6b9e5a47cd9c3933b8ce35076c'),
('1095','10577','Instance state','d5f19327f8b74b44a40950d9d4f9410f'),
('1096','10577','Integrity validation status','1e17bce361f9486dae764fc195561703'),
('1097','10329','PostgreSQL checksum failure status','cd2d975b0d7e4f8e89afb1033fce4ce2'),
('1098','10583','Alarm state','6b0f40b56f1c49f0beb66ffb85009c15'),
('1099','10583','CPU Reserved','bb1024c6e5a14c05a8a91ea36aff6d99'),
('1100','10584','Alarm state','2de56a6f2b004624976a39e7b58ea193'),
('1101','10584','CPU Reserved','e49859d7e9b1494181dec88a386b4bb2'),
('1102','10587','Availability zone state','b5d0c4e859eb4b2d854f551e3d8aeff5'),
('1103','10587','Compute service disabling reason','1073ca0bea3f46ebbfbcaba628484be8'),
('1104','10587','General state','a497438c723f4be88f452af2e8627613'),
('1105','10587','General status','c8109a75cda24fe1afec8ea68686cdb0'),
('1106','10587','Server status','375a709551d84ba3b0d4f24b6e0bd291'),
('1107','10329','Service state','6619a58602a44e83950d3d4b5180c0e9'),
('1108','10589','PostgreSQL recovery role','6e5062ae5345454f95cb8608b35eddf4'),
('1109','10589','PostgreSQL replication status','75393338fb514612a5f0ba57cec318b3'),
('1110','10589','Service state','f2af00a32d1e471a98b9e4e6148f68f3'),
('1111','10591','Admin status','ac1ad6688715425b8d6d0ac3c7e72b14'),
('1112','10591','Device state','7de6a0190832425a9b05d9740a6495c6'),
('1113','10591','Not used','a8fdd703646d4f3bb5c3ac7b39fd65da'),
('1114','10591','Operational status','a563ee950d954a3086170c5de9cabf71'),
('1115','10591','Reachability status','93bca94da129493ebfd4e7a9f833bdf8'),
('1116','10591','Unknown','fe4450cc25624972b754d834f369e7fc'),
('1117','10591','Validity status','7ab3966394504fb6a55c3247f4754729'),
('1118','10595','Detection state','766a3c43981147bf85e9e157eb69c510'),
('1119','10595','Driver state','c202a63acca7407bb6d61bf631696691'),
('1120','10595','Service state','40e17de6519d44bb80b4566e0569c31b'),
('1121','10596','Autopilot state','9898b464447240919cf8e25016be687f'),
('1122','10596','Cluster role','fe32599dc75c48f6ab0887652ceb728c'),
('1123','10596','Service state','b90612059a164f3fa0c7ab871afa0c59'),
('1124','10600','Alert severity','0c425866d0ce4412a54b66f215df4cde'),
('1125','10600','CyberFit score','4a5652b3706a45faa2b86ae652425692'),
('1126','10600','True false','df45c606a7ef4f49a3101ad135eef1bc'),
('1127','10602','Last activity','19c5ab8f192d42f4bd35a969bef3c9d6'),
('1128','10602','Quota type','18f5c94273b24b88a96bdf9d01b8d63b'),
('1129','10602','User status','3265bb49d935495abbcf8b24fbe8ed91'),
('1130','10603','Firewall policy action','8b0c51b152b04ba690cd13e43a2c90d9'),
('1131','10603','Firewall policy status','2285b34278df448ab2ba2276913c0b77'),
('1132','10603','Interface status','7aa1df8cbdda4d3aa5bad0af95733a06'),
('1133','10603','Interface type','6d6a2211c6e64ecfb00838886750912b'),
('1134','10603','License status','0e225b17b2e543f18fea31366d9b6286'),
('1135','10603','Link state','76ac7f91b2184689b19dc838cde49ade'),
('1136','10603','Service state','176db78d3aa34c92893300d56eda5737'),
('1137','10603','Service status','3b62f79c5a664465897a372e833af713'),
('1138','10604','Interface status','3ba88094988045799337ddb456936f15'),
('1139','10604','Interface type','61e451f29c9943cf81ed2647166d664f'),
('1140','10604','Service state','398df996f3474f2abdd26d52d5c83dd5'),
('1141','10604','Host availability status','01c410206d2c4754bcaa0dbcbeacade1'),
('1142','10548','Boolean format','ec79f04ded684421b644b38500fe8b26'),
('1143','10548','License statuses','ba834580763b481a8800a0323fa61327'),
('1144','10510','Build status phases','a315a447059e49f9bc0c3e2e9964696f'),
('1145','10048','Proxy buffer mode','10388a0c06864ac483377f4ad3a91854'),
('1146','10262','Proxy buffer mode','70f06f62852c428b94f1f2447d58a6c8'),
('1147','10605','Computer system type','724ed4e07ca34bf594719298055a0837'),
('1148','10605','Drive status','dacd46f1412e4ce2adfa0d938ebbc952'),
('1149','10605','Manager type','30627d058a064666b08c0bbdacd75fe3'),
('1150','10605','Media type','aecddd070d53474eaca622da04842d53'),
('1151','10605','RAID level','0aab2ac5ea59435280e84683bc852d32'),
('1152','10605','Redfish health state','267eae89956048769dcf6eb015b921ba'),
('1153','10327','MSSQL Quorum members state','1454643e9cad46f8953f4c054509151c'),
('1154','10327','MSSQL Quorum members type','caa789916da048c691f8eef5a71a856e'),
('1155','10327','MSSQL Quorum state','23c9fede4c9a4a21854b3fc83de459a7'),
('1156','10327','MSSQL Quorum type','fbf296f404ad45d5b02e3c20104b9b9e'),
('1157','10327','MSSQL Recovery model','f59af5b534994dccaebb4afc3266520b'),
('1158','10607','Alarm state','4bb749152d5d452ead36c5a98c3cac16'),
('1159','10609','MSSQL - Yes / No','0d7dbd62613540cc8dd70d2f0ec76db6'),
('1160','10609','MSSQL AG Connected state','1f962ea838d640d5905ae14d66826239'),
('1161','10609','MSSQL AG Join state','034a175b7fba4e4d8e85806c8f801f18'),
('1162','10609','MSSQL AG Operational state','fbbaea2f75f94b7ba0bb2ed2756e2593'),
('1163','10609','MSSQL AG Recovery health','c90a7f77957a40c8bb6c9370ff1f63d1'),
('1164','10609','MSSQL AG Role','b07e0cd2c7fd4411b16305141058c9d7'),
('1165','10609','MSSQL AG Synchronization health','dd1d46bfb14946769dc929ae1947a328'),
('1166','10609','MSSQL DB state','eeca1ed2c3cb4624b045b9ba0007f1a6'),
('1167','10609','MSSQL Job Run Status','bc4b734c0c3e4f508323a8880a9b27db'),
('1168','10609','MSSQL Mirroring Role','09480e835f474f22ba463b7c6b486de1'),
('1169','10609','MSSQL Mirroring State','6fd710f80063456483f47dab9fdab3c3'),
('1170','10609','MSSQL Quorum members state','300744b8bf494bc09cae58f1366e8043'),
('1171','10609','MSSQL Quorum members type','38b1c1c9183f450cb3256fefaa8ae24a'),
('1172','10609','MSSQL Quorum state','047cb848051f4e85a1f45664fd51255b'),
('1173','10609','MSSQL Quorum type','2697dc5e3d5e462aac7951844a9fa76c'),
('1174','10609','MSSQL Recovery model','1002338ba75c49f89ce5c27872818ff3'),
('1175','10609','MSSQL Safety level','8800c652dc154231b40e996b39c7c2dd'),
('1176','10609','MSSQL Witness state','0be116423b4949959053d581cafa096c'),
('1177','10609','Service state','faafc4168c5a4eb09d20ab4168fbbc9e'),
('1178','10611','YugabyteDB Bool status','8bac0bddc0f144aa901cd15d9cfd0825'),
('1179','10611','YugabyteDB Cluster state','7d6fa95c4346489fae2cdefa436bc9b6'),
('1180','10611','YugabyteDB Cluster type','10b748dae0334399a004e0e412682ccb'),
('1181','10611','YugabyteDB Health state','73aa9e520a2d491c883f7e65b6187fd2'),
('1182','10611','YugabyteDB Keyspace type','8d5264a7981d4e39bab56d4241dda9f3'),
('1183','10611','YugabyteDB Node status','63244be33897496d8f9599aca76e34e1'),
('1184','10613','FanSensor Status','6a115abb186b4f9fa22477c858d60c9e'),
('1185','10613','Firewall SIC Trust State','77983c82abc44f418cacaf98c57be31a'),
('1186','10613','Interface Status','863e809ef63b47168e97c3ea34095503'),
('1187','10613','Interface Type','e2ed7260bd594394b85cb5f803c9d47a'),
('1188','10613','PSU Status','24c77b8db1e44ffd8dbb3547c9140326'),
('1189','10613','Service state','9bef9869d1b94f78b4a5388d34f84a47'),
('1190','10613','VPN Link Priority','4e09769502b84240aff18a24b17f57e0'),
('1191','10613','VPN Peer Type','60597b4621df494fa8e69b7eb2806f4a'),
('1192','10613','VPN Probing State','02a3a896c3a14a23bc882657a8e72c0a'),
('1193','10613','VPN Status','673a59778998478e8752726f1d7cf5c2'),
('1194','10613','VPN Tunnel Type','6109e694ded24bb5a6042805e0e5bda5'),
('1195','10613','Zabbix host available','acb530d7d3ef431f98748e928a088ecb'),
('1196','10614','Autonomous database state','e336c0d4e22f4f9f9c42d6de65fed068'),
('1197','10614','Database availability','3b30e8a71ef342e78f9f29243aafd992'),
('1198','10615','Block volume state','780a56fd95474839943cbd2f8be2fc18'),
('1199','10616','Boot volume state','d881a2a2bedc4556a36f3d676ece0456'),
('1200','10618','Compute instance availability','9e238671edca4ed7b58eefacc861a77d'),
('1201','10618','Compute instance state','c336821eced54261afb0d10a0de6601d'),
('1202','10618','Generic Bool','dce0b4413ede4dbca55f89cbc86736b3'),
('1203','10618','VNIC attachment state','8fdcb86d1dde4d2489239dd61fbd8b08'),
('1204','10619','Lifecycle state','abf7b45647ee4a339df92bf06b12f0df'),
('1205','10604','HA load-balancing schedule','a7e08ed8bf9d4372b60dd44157ed8dc3'),
('1206','10604','HA option status','e90736cde03046dd87f6532af522bd03'),
('1207','10604','HA sync status','1ff2500e234e46fdb532de670a5f2aea'),
('1208','10604','HA system mode','65bdbcdc23994f2a8944f5c69a9b061a'),
('1209','10604','Health check state','7099e2e064d34d32b4a6f96a10798124'),
('1210','10604','IP Address type','8aa46ac9d6c44ffe8213c8f09a42eb50'),
('1211','10604','Option state','ba3b57b54fb44466aca78692ba3dda97'),
('1212','10604','Sensor alert status','c41154255ef34d65bc0636bef7fe0bfa'),
('1213','10604','VDOM HA state','a0ba5fd924d8458d9be8e70db252277d'),
('1214','10604','VDOM operation mode','b0decb11dd494681b813bc4bd03a6b1a'),
('1215','10604','VPN status','44e1f0b6062c414a8252fe34bad1987c'),
('1216','10604','Wireless admin status','08690a78109441c78c8f5bafae3cd3a4'),
('1217','10604','Wireless band type','a5a52ea3f94242eba7220554244ce63a'),
('1218','10604','Wireless connection status','40c5ac1ba5034b5490faa930ee7ed331'),
('1220','10627','Alarm state','e0e5308401bd4abfa79ba604c0481d2a'),
('1221','10629','Boolean','21844e435a364b2f92d675f0967e115a'),
('1222','10629','Workflow run conclusion','9175771d066042c49ac1583c0e8689c6'),
('1223','10629','Workflow run status','9b86b16774094f5e9c06286b27f6f440'),
('1224','10630','Connection availability','6d06a74d603f4ffd8540c8b87f910c7e'),
('1225','10630','Limit mapping','ae5cd12f5e3f4da7aab84db686771cb1'),
('1226','10630','Mail sender','c5e16a1b701e429e8eff56c598530d60'),
('1227','10631','Services health status','cb431f0185884aabae7d46890926e724'),
('1228','10173','VMware Overall Health VC State','7e24ccef9d754cb4805df5b1f27f4ef4'),
('1229','10174','VMware Consolidation','be14ef9303f040859e6edbb13d9b64c5'),
('1230','10174','VMware Hypervisor maintenance mode','815e082c2a804884bb25da4aaee18934'),
('1231','10174','VMware Tools status','64586743ecc74b5a8b7b849cd4521f48'),
('1232','10174','VMware Virtual Machine state','68d712e1c43c4e2d84619c9fcb965919'),
('1233','10175','VMware Connection state','66bedf62dffd4402a037a6ef0f93f228'),
('1234','10366','VMware Overall Health VC State','30aec8e3198e4b91b1182514be8a8f6b'),
('1235','10047','Proxy group invalid value','8c23fc3b231b439a8eec4d0d60859c90'),
('1236','10047','Proxy group state','acd6475b06334535be452cd984a11f6b'),
('1237','10632','Alarm state','a61fdde5c78748339a903f1224524deb'),
('1238','10634','Azure resource health state','fc7ca60876144ac8b240db81537920a6'),
('1239','10636','Huawei storage: Controller role','98ea0c82a56a434ea9cd02ddb31eef6a'),
('1240','10636','Huawei storage: Health status','7ef6825cca084ab9a3250448596fac32'),
('1241','10636','Huawei storage: LUN status','654d5d768ff041c6abc0a438be5698f4'),
('1242','10636','Huawei storage: Running status','e03d03289e84401b8c7e2ba1ddc67ba7'),
('1243','10636','Service state','f8cf9fe95cc54dcba96d4bfe8d8ec34b'),
('1244','10636','zabbix.host.available','da38017b841a4c17adff896fe2cbc9fe'),
('1245','10637','Service state','872ac3dadab34de9a69acd71d68cd7ea'),
('1246','10639','Service state','664f36475a624b6bbf6a23c430baaa9b'),
('1247','10640','Nutanix: Alert severity','86e15b9ab1e04285a8db065fbdf6eedf'),
('1248','10640','Nutanix: Alert state','079d797917c64626af20ce86249c2969'),
('1249','10640','Nutanix: Boolean','10ec1428fba54eeaabc6503361090761'),
('1250','10640','Nutanix: Cluster operation mode','537aaf6158724960a2535913030f0138'),
('1251','10641','Nutanix: Alert severity','c2fbc73721564974adb6251fdb372f70'),
('1252','10641','Nutanix: Alert state','7972e3d351f04d1b9cd4b7a542d8a81f'),
('1253','10641','Nutanix: Boolean','20773014179d419cae5306b0370d405c'),
('1254','10641','Nutanix: Degraded state','6e081d8e0e4e43f7914b311ce2925f82'),
('1255','10641','Nutanix: Disk status','1381c5ba61eb4cb89303b6256f81e036'),
('1256','10641','Nutanix: Host state','513019c2559c48cfbc6c801179c4a7ce'),
('1257','10641','Nutanix: Host type','d934bf8ae17c4ed78a439b92cf2f7bef'),
('1258','10641','Nutanix: Maintenance mode','1ee8073575c842269be02dd94211c22c'),
('1259','10645','Service state','a4bc71640e694328a20fe200c7c5fece'),
('1260','10646','Service state','3592fb0098304d86ab35a6a86aa95ec5'),
('1261','10647','Service state','53bef1cc5ae849e4845ffdd0dd6bcc6a'),
('1262','10648','PostgreSQL checksum failure status','9b9961c136c4426bb6d11c749cbb4cfa'),
('1263','10648','PostgreSQL recovery role','bf1b2c09ce844d9c8b2735901fe77a03'),
('1264','10648','PostgreSQL replication status','ee126cb6f7e14a93ae1e21106ee8732f'),
('1265','10648','Service state','e11dca50f6e4481fa1fda75aeb71cf8c'),
('1266','10649','PostgreSQL recovery role','6337031a50574f65aec828b7dd48beaf'),
('1267','10649','PostgreSQL replication status','0e115837e8c54923ad10a9b7adcda3dd'),
('1268','10649','Service state','5bc68afd88094e0fb14572246050181f'),
('1269','10650','Performance state','6893a941192a4513ab24b20b0885b27e'),
('1270','10651','Performance state','9c9e6145dc87474ba03f16ea73c355d4'),
('1271','10652','Azure resource health state','9bb00a69069d4c22a0b75b745da0de73'),
('1272','10652','Azure SQL instance provisioning state','aae2eec109b649d38e80684cdeb9458c'),
('1273','10654','BGP4-V2-MIB-JUNIPER::jnxBgpM2PeerState','3b94e9f3175c4822b93682636e5cf64d'),
('1274','10654','BGP4-V2-MIB-JUNIPER::jnxBgpM2PeerStatus','6a57534ae79048229a3ed10f9f0a52e4'),
('1275','10654','EtherLike-MIB::dot3StatsDuplexStatus','aba24883ea0f4a569748153eb554443a'),
('1276','10654','IF-MIB::ifOperStatus','93ba7232ec5d47db9478d91b6bdfd01b'),
('1277','10654','IF-MIB::ifType','ecb1a90bea804c79aa074876a95397ae'),
('1278','10654','JUNIPER-MIB::jnxOperatingState','71aa874db0c647f2ab6b6f6ed741efa3'),
('1279','10654','JUNIPER-MIB::jnxRedundancyState','0432e6064cae4a22bdd512d0c8900f35'),
('1280','10654','JUNIPER-MIB::jnxRedundancySwitchoverReason','742e0675e0b84ba685b1b06172334215'),
('1281','10654','OSPF-MIB::ospfNbrHelloSuppressed','5d007beac7eb4743ab241d6a1c80847a'),
('1282','10654','OSPF-MIB::ospfNbrState','ed5b11312aaf44e0b888c58743e89f81'),
('1283','10654','Service state','1373262e914a430abe52ec79d2fc138b'),
('1284','10654','zabbix.host.available','bcba269d955b452d87a6f49f7a35ed2a'),
('1285','10655','BGP peer status','8f6bef0b83a440ec9e54676840809c47'),
('1286','10655','Boolean','75f5d630b1b74c7c8233b44422bba5eb'),
('1287','10655','HA mode','1ce2f4a43b274e719e9e44d24cb826bd'),
('1288','10655','HA state','3148f488405c4c3a8ca055891550bda1'),
('1289','10656','Network interface status','122afb9826d4493aa319b67025bd5e74'),
('1290','10656','Redfish API availability','2cfad557b52d49f7a56f84323c7b098a'),
('1291','10656','Redfish status health','0b3b101349fa4b4d94983d7fdae83679'),
('1292','10656','Redfish status state','e9e6e46c13fe4bd0a29b65cad929c6bc'),
('1293','10656','Virtual disk RAID status','29051e06a48b444a8ee285cd185ae04f'),
('1294','10656','Virtual disk read policy','ac7f30cf50cb459aaa41103c8fa6df1c'),
('1295','10656','Virtual disk write policy','39e0e7ddc8fd459e90fdb247caee7512'),
('1296','10657','IDRAC-MIB-SMIv2::batteryState','ffad2b2a57364726ba31cfc89f363e2b'),
('1297','10657','IDRAC-MIB-SMIv2::BooleanType','053a4a529ddf4bc7b1971958e4dce5c9'),
('1298','10657','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','2216bf2485f548be90060048eec6547d'),
('1299','10657','IDRAC-MIB-SMIv2::ObjectStatusEnum','58480240826e49b09bf73f682f252148'),
('1300','10657','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','e44bc856e8d449f9a288b614b7d6a143'),
('1301','10657','IDRAC-MIB-SMIv2::physicalDiskMediaType','e17dbbe344994170afa47b3d76b393f8'),
('1302','10657','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','c9543b611d434fba99d4be3614813419'),
('1303','10657','IDRAC-MIB-SMIv2::StatusProbeEnum','d2f5ad57814e4c3ab8f1e7b1fa076557'),
('1304','10657','IDRAC-MIB-SMIv2::virtualDiskLayout','70851c009b4d4f0484f3bb955558c1db'),
('1305','10657','IDRAC-MIB-SMIv2::virtualDiskOperationalState','160204c8609542038d31357ce58424df'),
('1306','10657','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','c1686f5a938f4dac977d55517687358e'),
('1307','10657','IDRAC-MIB-SMIv2::virtualDiskState','1c3e3bcf7ff14f59ac24f9d62f6671af'),
('1308','10657','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','0a940bdd7900425b941e11e486e70c8a'),
('1309','10657','zabbix.host.available','20182c95fb0e494a826a7ae3f932127b'),
('1310','10435','Network interface status','623bbf13357f4b22a4030c813437db18'),
('1311','10435','Redfish API availability','8be2ad02ae4c4836bc21816e89a906ac'),
('1312','10435','Redfish status health','32fa026175444306b08fe3cf6618a98a'),
('1313','10435','Redfish status state','b30ec1c62a124a48ac129e6065d3180d'),
('1314','10435','Virtual disk RAID status','a63d06ed53ac4f3fb07a7e584301f34a'),
('1315','10435','Virtual disk read policy','3e1d1bf56dd841c7bdc9679ff8e24748'),
('1316','10435','Virtual disk write policy','c11a3e902ef248a5a1a77af824b43252'),
('1317','10436','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','d731845914484868bbcb3c3e5b9d7707'),
('1318','10436','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','4b8e905e42a94f8ebb9a9a4b2648ed84'),
('1319','10437','Network interface status','14d13bad8ac34a8987c178a3ab12bcd1'),
('1320','10437','Redfish API availability','c38ce461129d4d338847d86a5e051d09'),
('1321','10437','Redfish status health','8074a7bb6e304adc8945bbeffab84ca6'),
('1322','10437','Redfish status state','417f088da9f34fd9b0f75769a44cc126'),
('1323','10437','Virtual disk RAID status','78b955ca37dd4d3da9230b7263694206'),
('1324','10437','Virtual disk read policy','90bf833092b8409a818439b6a2eb9fbe'),
('1325','10437','Virtual disk write policy','a261537c3f7e4dd3a14ba4bad0c930dd'),
('1326','10438','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','9dbe9b652e7746229cf5ef744a67c566'),
('1327','10438','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','1c683fea74b645ed9f42d8fcd6edf442'),
('1328','10658','Network interface status','56fb82a2303e451b9a585687a0902794'),
('1329','10658','Redfish API availability','c1074235685c4d2096c30a3ab686634e'),
('1330','10658','Redfish status health','a5e2bf8ce89a482aa87ccccbf01cb1cd'),
('1331','10658','Redfish status state','c295caa412b74acb918176f8d4543010'),
('1332','10658','Virtual disk RAID status','d88a53d7143a49dfb37057f9d80ed48a'),
('1333','10658','Virtual disk read policy','46520ef5e9e544c4a4393bd6a2ed4548'),
('1334','10658','Virtual disk write policy','6c17f062dc8e4f7cb2362adcffbe11c5'),
('1335','10659','IDRAC-MIB-SMIv2::batteryState','44ae746465504433b126a6ad47867539'),
('1336','10659','IDRAC-MIB-SMIv2::BooleanType','540df39092da4d0ba419d9225b6855e5'),
('1337','10659','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','bcd3842a7f14414786e7e893bf18033f'),
('1338','10659','IDRAC-MIB-SMIv2::ObjectStatusEnum','0e8b14fc00af4ec1b098b1dad64bbf12'),
('1339','10659','IDRAC-MIB-SMIv2::physicalDiskComponentStatus','7c02091fa34847cb8571066c5f1ccfd3'),
('1340','10659','IDRAC-MIB-SMIv2::physicalDiskMediaType','a0c2ee107bc24efba036b01f8aa16c03'),
('1341','10659','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','b7f4bdede53e44ada2841fb5d39793db'),
('1342','10659','IDRAC-MIB-SMIv2::StatusProbeEnum','1b7e62b02f6d4b9aad5e81de0792037e'),
('1343','10659','IDRAC-MIB-SMIv2::virtualDiskLayout','f3ed0698bf4448ad9927f193aa804365'),
('1344','10659','IDRAC-MIB-SMIv2::virtualDiskOperationalState','5e0085d3c952446a8fb9603b074d720f'),
('1345','10659','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','65fbf402163e494aa59a7dc814a038f9'),
('1346','10659','IDRAC-MIB-SMIv2::virtualDiskState','ce091236ac5c461da03712a39e97676b'),
('1347','10659','IDRAC-MIB-SMIv2::virtualDiskWritePolicy','d30e0073fbab42ecbb1c4ab74ad1f991'),
('1348','10659','zabbix.host.available','f5c3e47da21c4fd8ac4fd2c079ebd28b'),
('1349','10439','Network interface status','a9fd1db9128d4efca329941ff4f4d41b'),
('1350','10439','Redfish API availability','45c31886b41f4592bb87ffe940ce9fd8'),
('1351','10439','Redfish status health','e8d3f0814cad4a2bba79231c1c8c0230'),
('1352','10439','Redfish status state','d18e6f1b160f4ee3851b21cff3309d40'),
('1353','10439','Virtual disk RAID status','82e0dc0cd4714fb1b3894adff630b0d8'),
('1354','10439','Virtual disk read policy','3c9e776333294c79a975b715fab7a35d'),
('1355','10439','Virtual disk write policy','916622b4d50b4304b95888c9fc49149e'),
('1356','10440','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','8a60520959be4ec5aa525f637beb8472'),
('1357','10440','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','7ad96a534bc84f32afd6ae59011db2a0'),
('1358','10441','Network interface status','4cb6f9b8048a4109849a7f12bf0aba1c'),
('1359','10441','Redfish API availability','dfee913787ba42e49a11dae28d1a603f'),
('1360','10441','Redfish status health','5b5774ab04ec4f3eaf1e528ad02e0978'),
('1361','10441','Redfish status state','f73f21dc4f964efeb4f54f8565d4cd58'),
('1362','10441','Virtual disk RAID status','865251146a524335be8ec054d8df15aa'),
('1363','10441','Virtual disk read policy','b37b8981282944348ab2748fb09d55f4'),
('1364','10441','Virtual disk write policy','ccdd0a176df640e09b95837aba7580f1'),
('1365','10442','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','a866da3a7c4e43d086efafb07178f8ec'),
('1366','10442','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','092b816c537e4fe79c7f5826037c5872'),
('1367','10255','IDRAC-MIB-SMIv2::NetworkDeviceConnectionStatusEnum','0f2ef2e7ca5540fbbbdaa3e51acff0e1'),
('1368','10255','IDRAC-MIB-SMIv2::ProcessorDeviceStatusReadingFlags','c2a88e35b99c4c9d8b369a6edce17b3c'),
('1369','10255','IDRAC-MIB-SMIv2::virtualDiskReadPolicy','25c91adad83c46d48a8308b2e6273666'),
('1370','10262','Zabbix proxy check','d9fa93ed96d1497c9049f8f30267e9ed'),
('1371','10048','Zabbix proxy check','f9f6987645b341b68ba5449c9b741459'),
('1372','10660','Proxy buffer mode','22c73bf5429d4e9baf358fe6c177a033'),
('1373','10660','Zabbix proxy check','942633fa91474837afc5ce050cb86cb4'),
('1374','10661','Proxy buffer mode','550df0eb013b4103ad00dc3cc478189d'),
('1375','10661','Zabbix proxy check','c5cae9ab19384c9f85fe31f7e22ab8c7'),
('1376','10261','Zabbix server check','4eaa5f12801d43d9a5cfa2bca736ccc3'),
('1377','10047','Zabbix server check','9b8fe61b528547f49598075e79fb6623'),
('1378','10662','Cluster node status','c9ec732079f64b5d9e8d4b7c628580e3'),
('1379','10662','Compatibility','ee5e7ff1e0e041eca7483ea45213d3a5'),
('1380','10662','Last seen','edc03d2774094cfcb20afbe8476c85fb'),
('1381','10662','Proxy mode','7247343b21ed4fd4823f9148a3245805'),
('1382','10662','Service state','253052f6133b498eb7248bc3d66fa18e'),
('1383','10662','Value cache operating mode','cfe65eb3384047dfaf31a8d4b09c4de1'),
('1384','10662','Zabbix server check','bf89fa6047464f668db6b324abf0cc3e'),
('1385','10663','Cluster node status','f1f6de972fbc4675bee0426bcb15838c'),
('1386','10663','Compatibility','2e74275424ff4939a9f1a02424fcb42e'),
('1387','10663','Last seen','2e9f0571bae14b6485ae5cb79f2cb3b3'),
('1388','10663','Proxy mode','ae285f32e1884d75bd485ad08106ee9c'),
('1389','10663','Service state','2fa179c8f5f2482ca216270b91896e50'),
('1390','10663','Value cache operating mode','a73ec20cb9e9412296b6d604505376da'),
('1391','10663','Zabbix server check','c2fbdc79f9614caf99aa266087a7317d'),
('1392','10664','Azure resource health state','34874b4cf9cb4ce2863a5698ff308126'),
('1393','10665','Certificate Type','df8766d094be4b5aa569a20e9fc1e552'),
('1394','10665','Connection Status','0e3d616a7682487997fcf4e756bd875a'),
('1395','10665','Controller Mode','2f9f5ae3a2f14408b5fa8c0f82d3d5a6'),
('1396','10665','Controller Status','05c72722f9f9460291f50d3663161716'),
('1397','10665','Drive Status','00a977f4cb4d4962aeae7124e63f460e'),
('1398','10665','Hardware Status','788e2982fbd5478da2a4f94e46031439'),
('1399','10665','Pod Status','950c9c6b81e042938ca464a84a57b662'),
('1400','10665','Service Status','fe5ac2914b2f46fbbd0516e3ee0959bc'),
('1401','10666','Boolean','d2c0016639b2413c85a000746ee56109'),
('1402','10666','Certificate Type','a6f5e4bef3114c4cb08eb4c9e449dfa8'),
('1403','10666','Controller Mode','b6aed58a52b742c680173452935c2bca'),
('1404','10666','Controller Status','f315c5769cbd4eb4ac4721751070d247'),
('1405','10666','Drive Status','ed60650d00594c5c9778501ee06fb648'),
('1406','10666','Hardware Status','92c4cbd25c9f45408aa335aac5bec52a'),
('1407','10666','Pod Status','0142212de71f42bc9f7521447d89ff0c'),
('1408','10666','Service Status','59047ec19a5c4229bce4450f134ac5cc'),
('1409','10667','Alarm severity','33d53176ef7543eaa868381569532b2e'),
('1410','10667','BGP peer state','306f5cccb3d54f27bc1c5afc987fab4f'),
('1411','10667','FAN status','5e2aa39070af44e1b4ebe151570e1d51'),
('1412','10667','FPC slot state','49872af732044c66890066e5f34ae60b'),
('1413','10667','Operational status','fba99ee500df44d3b08f75d90f763834'),
('1414','10667','OSPF neighbor state','e80f0208b55940c4bc79332026d987e9'),
('1415','10667','PEM state','4a9f2fcadddb4209aff2b37669301409'),
('1416','10667','Service status','c08a38a20c054fa4b6a99916ca884921'),
('1417','10690','Azure backup job status','f79314c2d4bb458caf510b85f65cae81'),
('1418','10690','Azure resource health state','7bca76cc48c3468ca67b924f59003e4a'),
('1419','10763','Cisco FTD interface status','b141de8aea904aef8eeb955fe7d09bd6'),
('1420','10763','Cisco FTD process status','2a34dceeb32d44e39be2037a85b9dcb7'),
('1421','10565','Smart self-test','82b0797d499544a4832cda04b163109a'),
('1422','10566','Smart self-test','404d3c19ceef4e8e9c14d5e34bbd2a7b'),
('1423','10764','AWS Backup job state','0296c0c525304ea2ad91070346669b42'),
('1424','10764','AWS Backup vault lock status','b5821fcd5f3444198570b8dfb925ce0a'),
('1425','10764','AWS Backup vault state','d591fd3704ff4fc3a7e5ee6b206190ad');
INSERT INTO items (itemid,type,snmp_oid,hostid,name,key_,delay,history,trends,status,value_type,trapper_hosts,units,formula,logtimefmt,templateid,valuemapid,params,ipmi_sensor,authtype,username,password,publickey,privatekey,flags,interfaceid,description,inventory_link,lifetime,evaltype,jmx_endpoint,master_itemid,timeout,url,query_fields,posts,status_codes,follow_redirects,post_type,http_proxy,headers,retrieve_mode,request_method,output_format,verify_peer,verify_host,allow_traps,discover,uuid,lifetime_type,enabled_lifetime_type,enabled_lifetime) VALUES ('10061','5','','10047','Number of processed numeric (float) values per second','zabbix[wcache,values,float]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed numeric (float) values.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de63f78f36e74361b6c9993d12d8b7c8','0','2','0'),
('10062','5','','10047','Number of processed character values per second','zabbix[wcache,values,str]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed character values.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b58fdd85cd6a48489d0b983ee8ebe97b','0','2','0'),
('10063','5','','10047','Number of processed log values per second','zabbix[wcache,values,log]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed log values.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dae76dc6c4ce4707be7cf9534efc0233','0','2','0'),
('10064','5','','10047','Number of processed numeric (unsigned) values per second','zabbix[wcache,values,uint]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed numeric (unsigned) values.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47132a8565c943c0abbd4918d6af9339','0','2','0'),
('10065','5','','10047','Number of processed text values per second','zabbix[wcache,values,text]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed text values.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5397d6d4dedc44c29ff25b8fd5611003','0','2','0'),
('10066','5','','10047','Number of processed not supported values per second','zabbix[wcache,values,not supported]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of times the item processing resulted in an item becoming unsupported or remaining in that state.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c99a99cf7e1e44918736ab860694d3a4','0','2','0'),
('10067','5','','10048','Number of processed numeric (float) values per second','zabbix[wcache,values,float]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed numeric (float) values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba5efd0ed21d4ac39e1375788b7198de','0','2','0'),
('10068','5','','10048','Number of processed character values per second','zabbix[wcache,values,str]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed character values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f0c3ed0998e499aaa1e4a30726928fc','0','2','0'),
('10069','5','','10048','Number of processed log values per second','zabbix[wcache,values,log]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed log values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47cdd6ef01734ec1ab15b0ab43d147ca','0','2','0'),
('10070','5','','10048','Number of processed numeric (unsigned) values per second','zabbix[wcache,values,uint]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed numeric (unsigned) values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e4b9641b173415c8608ee4863bcd547','0','2','0'),
('10071','5','','10048','Number of processed text values per second','zabbix[wcache,values,text]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of processed text values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c259b08b3ff445f9b2f24a02c07c5db','0','2','0'),
('10072','5','','10048','Number of processed not supported values per second','zabbix[wcache,values,not supported]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The number of times the item processing resulted in an item becoming unsupported or remaining in that state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46574db1d70545f6af89e8607d22f5bb','0','2','0'),
('22183','5','','10047','History write cache, % used','zabbix[wcache,history,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history buffer.
The history cache is used to store item values. A high number indicates database performance problems.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ae8253bb4da434da3ea6bcb0352115d','0','2','0'),
('22185','5','','10047','Trend write cache, % used','zabbix[wcache,trend,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used trend buffer.
The trend cache stores the aggregate of all items that have received data for the current hour.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5cca0fc9878d4e068467d5a3b8558ed5','0','2','0'),
('22187','5','','10047','Number of processed values per second','zabbix[wcache,values]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The total number of values processed by Zabbix server or Zabbix proxy, except unsupported items.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db364af6bcb24881850f3979933fccb0','0','2','0'),
('22189','5','','10047','Configuration cache, % used','zabbix[rcache,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix configuration cache. The percentage of used data buffer.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac2aebc15b084d049538b12e9513c08d','0','2','0'),
('22191','5','','10047','Value cache, % used','zabbix[vcache,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix value cache. The percentage of used data buffer.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','559ca5966e404c948f99cabf7a9077e8','0','2','0'),
('22196','5','','10047','Value cache hits','zabbix[vcache,cache,hits]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of Zabbix value cache. The number of cache hits (history values taken from the cache).','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69b14487a9744dbb866f2e6ee131d0e5','0','2','0'),
('22199','5','','10047','Value cache misses','zabbix[vcache,cache,misses]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of Zabbix value cache. The number of cache misses (history values taken from the database).','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c78439859fd248cdb15e1eee37be2220','0','2','0'),
('22219','5','','10047','Queue over 10 minutes','zabbix[queue,10m]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 10 minutes.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b2f695ed1ef4a7a871c80df9c911e90','0','2','0'),
('22396','5','','10047','History index cache, % used','zabbix[wcache,index,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history index buffer.
The history index cache is used to index values stored in the history cache.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9fc7faf5455e4e78bdb1406f947bfa08','0','2','0'),
('22399','5','','10047','Utilization of poller data collector processes, in %','zabbix[process,poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbec202e15be49de93dc0c5f58824ae3','0','2','0'),
('22400','5','','10047','Utilization of unreachable poller data collector processes, in %','zabbix[process,unreachable poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the unreachable poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4fd24bdb8935435e8617c9607b9c6ca1','0','2','0'),
('22401','5','','10047','Utilization of vmware collector data collector processes, in %','zabbix[process,vmware collector,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the vmware collector processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bad00e43cd064a0fb3a4b65b71bea926','0','2','0'),
('22402','5','','10047','Utilization of http poller data collector processes, in %','zabbix[process,http poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the http poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','419e937c4a1d4fa09c4b50ca88cbe3e2','0','2','0'),
('22404','5','','10047','Utilization of trapper data collector processes, in %','zabbix[process,trapper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the trapper processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0dd727eddfaf45a9a819a9d64c5b72c7','0','2','0'),
('22406','5','','10047','Utilization of history syncer internal processes, in %','zabbix[process,history syncer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the history syncer processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d92eb7b411345cfbd6e2ea2ff5c1788','0','2','0'),
('22408','5','','10047','Utilization of housekeeper internal processes, in %','zabbix[process,housekeeper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the housekeeper processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23f448b5acba472881857647ca1bb614','0','2','0'),
('22412','5','','10047','Utilization of configuration syncer internal processes, in %','zabbix[process,configuration syncer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the configuration syncer processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','301e7fe93a024444b19766e665e9d156','0','2','0'),
('22414','5','','10047','Utilization of self-monitoring internal processes, in %','zabbix[process,self-monitoring,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the self-monitoring processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fc9c055d4894c19b3b1075db106d995','0','2','0'),
('22416','5','','10047','Utilization of ipmi poller data collector processes, in %','zabbix[process,ipmi poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c11d415de9c64fd6911f82d49db140d3','0','2','0'),
('22418','5','','10047','Utilization of icmp pinger data collector processes, in %','zabbix[process,icmp pinger,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the icmp pinger processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5d469d5eb2e4e0ca0afc89b603d4065','0','2','0'),
('22420','5','','10047','Utilization of proxy poller data collector processes, in %','zabbix[process,proxy poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the proxy poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','baf22e095078435d978a6c4374500db4','0','2','0'),
('22422','5','','10047','Utilization of escalator internal processes, in %','zabbix[process,escalator,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the escalator processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d12ce718fad34644b92d98cf2096e7df','0','2','0'),
('22424','5','','10047','Utilization of alerter internal processes, in %','zabbix[process,alerter,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the alerter processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cac7bb12993945fe848df86f7c4502ed','0','2','0'),
('22426','5','','10047','Utilization of timer internal processes, in %','zabbix[process,timer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the timer processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3af0ec03af6542e18aaff505e3806089','0','2','0'),
('22689','5','','10047','Utilization of java poller data collector processes, in %','zabbix[process,java poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the java poller processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8168691df3d43f1a1e106062f18ee06','0','2','0'),
('22835','0','','10074','Maximum number of opened files','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56a83dc0e14e47339e13a451adcefef7','0','2','0'),
('22836','0','','10074','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e55f8256dd2d48fd9e7fd786f872b4bc','0','2','0'),
('22837','0','','10074','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes in a running state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f8fdbc74cf14fa2afda3b57c548c751','0','2','0'),
('22838','0','','10074','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of processes in any state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','966acafb928b43f8a63ee673b1716d28','0','2','0'),
('22839','0','','10074','Host boot time','system.boottime','10m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e06c5b504c04c169ea1a0d6a7951eeb','0','2','0'),
('22840','0','','10074','Interrupts per second','system.cpu.intr','1m','31d','365d','0','3','','ips','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6ed0de8cbb545298b174b19938a527e','0','2','0'),
('22841','0','','10074','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0403d3b318a649d4aa0da97e18546bcb','0','2','0'),
('22842','0','','10074','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e4eab397cfd43d2a4aef7e2aa8c3a37','0','2','0'),
('22843','0','','10074','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','55ad1da5b20c465f8db86701dcf3e974','0','2','0'),
('22844','0','','10074','Context switches per second','system.cpu.switches','1m','31d','365d','0','3','','sps','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2226fac821fe4928a9d727770e0af4d0','0','2','0'),
('22845','0','','10074','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4689c51946c845e5b31cb7ca5b58fbe3','0','2','0'),
('22846','0','','10074','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad032417f6de4e03a4f956bea65d8ce0','0','2','0'),
('22848','0','','10074','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84030949a4d545b59db4aa3b38402174','0','2','0'),
('22851','0','','10074','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63121eb34bc94eeabd7352992b67befb','0','2','0'),
('22852','0','','10074','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9adb1a7c2fd4db9b176f9008483f2d7','0','2','0'),
('22853','0','','10074','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a80cd7ca70954cd1b6b89a686f642b9d','0','2','0'),
('22854','0','','10074','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cfff34f2374c410492b89cce1c6b5198','0','2','0'),
('22855','0','','10074','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e758448d5ec242e6a7a17f67c8f62874','0','2','0'),
('22856','0','','10074','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','43648a7f2c79443781a0ad500e7a9e6c','0','2','0'),
('22857','0','','10074','Total swap space','system.swap.size[,total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61f33f0c3e35499b999626058048ec66','0','2','0'),
('22858','0','','10074','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b19974c64b4141c2aca0e997b03c2f0a','0','2','0'),
('22859','0','','10074','System uptime','system.uptime','10m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d14bcdc15cc24f90baea06a13077a54f','0','2','0'),
('22860','0','','10074','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','165a44bf3b9d49378e500acb90aa7957','0','2','0'),
('22861','0','','10074','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f11f6e3539a244409f1c72dbd6f16b76','0','2','0'),
('22862','0','','10074','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b6c92c92e434dff8ce19e28b3ba785e','0','2','0'),
('22863','0','','10074','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b32320608732421fac18437006bc1874','0','2','0'),
('22875','0','','10075','Maximum number of opened files','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1b2d3cc2b7e44af8f9bfee11e04bf21','0','2','0'),
('22876','0','','10075','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58244a8e72694ffcbba5a78a910ae818','0','2','0'),
('22877','0','','10075','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of processes in a running state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','448c6de07b244281a4b1defe2e811773','0','2','0'),
('22878','0','','10075','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total number of processes in any state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5fd5b351d8214eac8f4f4649594c27eb','0','2','0'),
('22879','0','','10075','Host boot time','system.boottime','10m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a533b30c43e42fb8c9eabada0817186','0','2','0'),
('22880','0','','10075','Interrupts per second','system.cpu.intr','1m','31d','365d','0','3','','ips','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db555e8318cf4e7aa7beb85aa0250697','0','2','0'),
('22881','0','','10075','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad9ebf859f7346ca885c1edcb7333d78','0','2','0'),
('22882','0','','10075','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2336b2ec03a846f3bed1e64384b2532e','0','2','0'),
('22883','0','','10075','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de68f40fc96648c0925c1f6a4ca6776e','0','2','0'),
('22884','0','','10075','Context switches per second','system.cpu.switches','1m','31d','365d','0','3','','sps','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a140185a5114dd29451bfac68abdde5','0','2','0'),
('22885','0','','10075','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7612803821c845889bda84b7f1ac9ae5','0','2','0'),
('22886','0','','10075','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2acc3cd432546e5a223095a0ea2f096','0','2','0'),
('22888','0','','10075','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efa92492bec0437ba74f47d694500cab','0','2','0'),
('22891','0','','10075','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9479b02b04141128b1ce7c8f3726c09','0','2','0'),
('22892','0','','10075','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f3bc82009e04b59845a0e15004637ad','0','2','0'),
('22893','0','','10075','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c17d001bd20a4732b8ef487366c6aa42','0','2','0'),
('22894','0','','10075','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4095ed7d606a47439294097a98af2c4f','0','2','0'),
('22895','0','','10075','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63fc1259011f4250901889979cdf472c','0','2','0'),
('22896','0','','10075','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','187d11e610b94b468d18b88ca38f2c32','0','2','0'),
('22897','0','','10075','Total swap space','system.swap.size[,total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9647b0b857074c4b9c14f15bb04af096','0','2','0'),
('22898','0','','10075','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4523ae069e0b4e16bcb5182c6dbf63f2','0','2','0'),
('22899','0','','10075','System uptime','system.uptime','10m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a49b956d592c4e2ba41caac3671e009f','0','2','0'),
('22900','0','','10075','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fec3e877764e4bfd98e77da9d8c73606','0','2','0'),
('22901','0','','10075','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2bb327cd5f8c49d9b680142825b9c030','0','2','0'),
('22902','0','','10075','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','561c7a383b944bca9ec5f7c44e322fed','0','2','0'),
('22903','0','','10075','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffa54e82b7914672a3f7134134ac2638','0','2','0'),
('22917','0','','10076','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of processes in a running state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c2d08ab5833493ba45ebfe5154f04c1','0','2','0'),
('22918','0','','10076','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total number of processes in any state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c64480f840a4778bde5278e1c0a083f','0','2','0'),
('22920','0','','10076','Interrupts per second','system.cpu.intr','1m','31d','365d','0','3','','ips','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a15778222a24f129b8ae7c240a32ded','0','2','0'),
('22921','0','','10076','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02210ac2faaa4f7bb74e995726706abc','0','2','0'),
('22922','0','','10076','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f8665f48aff4fa39e85639fed7b71c5','0','2','0'),
('22923','0','','10076','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fa2275f1f83456abfe786c8565c7a2d','0','2','0'),
('22924','0','','10076','Context switches per second','system.cpu.switches','1m','31d','365d','0','3','','sps','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ad486947da9428abdebcecb83ca3d8b','0','2','0'),
('22933','0','','10076','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4d10d49fa3c4dababf03d2cb80f044c','0','2','0'),
('22934','0','','10076','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aebc5bb0264a4f55985c96445964dfc4','0','2','0'),
('22938','0','','10076','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0ef675d313849269890d06c7e003c9e','0','2','0'),
('22939','0','','10076','System uptime','system.uptime','10m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e0ff86c992c4a098af8cb1bee0f0001','0','2','0'),
('22940','0','','10076','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','980a59760ef9481298ed35322841f939','0','2','0'),
('22941','0','','10076','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4771d6d33c2247d6843198152a7065a8','0','2','0'),
('22942','0','','10076','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d4d9deab17b42f4a953c5210acac6f1','0','2','0'),
('22943','0','','10076','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57d30ccd5db64dc8b9498a36efe768e9','0','2','0'),
('22961','0','','10077','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','296dbd5148184004b26ac50ae5e6893b','0','2','0'),
('22962','0','','10077','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bcba4702a58d48339c6e7e49dea574c4','0','2','0'),
('22963','0','','10077','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','60057d54b81342f4aaa0103a278bf7b6','0','2','0'),
('22965','0','','10077','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b82ccaf9eb1424593e2738a5512e182','0','2','0'),
('22968','0','','10077','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8665bd2dc84e46daa081a379548b0603','0','2','0'),
('22971','0','','10077','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8419321f4744476ea27b7d1acddcd365','0','2','0'),
('22972','0','','10077','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','611c9a3c70aa4455b6ec7bebe64b5316','0','2','0'),
('22973','0','','10077','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e3b32f3f92543759ef2f30834899ba0','0','2','0'),
('22974','0','','10077','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16c6c420c710498083355361b104f7a2','0','2','0'),
('22978','0','','10077','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b66598337e0e4990a2776d2a42020e72','0','2','0'),
('22980','0','','10077','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb698e97aa1b45ebadcb48da729b8e64','0','2','0'),
('22981','0','','10077','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e11e7c5d43a4566989b39dbc0c23266','0','2','0'),
('22982','0','','10077','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','767abadfa8be4bccb2c4c5a1d532ba87','0','2','0'),
('22983','0','','10077','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6da082e7f822465592f66e2bd0a46947','0','2','0'),
('22996','0','','10078','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fa6d58a5c7d48da90b1caf521e867cd','0','2','0'),
('22997','0','','10078','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes in a running state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c8c8421fb514e67bc9f14cefe4018f3','0','2','0'),
('22998','0','','10078','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of processes in any state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74c805e8bfd947348b206a0d33bfc461','0','2','0'),
('22999','0','','10078','Host boot time','system.boottime','10m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1812e26de9ad4a36abb5498154e6ea3c','0','2','0'),
('23000','0','','10078','Interrupts per second','system.cpu.intr','1m','31d','365d','0','3','','ips','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8186ed95ed8c4d6eb52ea2e718984170','0','2','0'),
('23001','0','','10078','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c13c2ff556594c5d985420dc974659cf','0','2','0'),
('23002','0','','10078','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a7cc53a5497427da28f882b1b185fad','0','2','0'),
('23003','0','','10078','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b053b6c00464f8b8f5fc49fffda1394','0','2','0'),
('23004','0','','10078','Context switches per second','system.cpu.switches','1m','31d','365d','0','3','','sps','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','320f8803624f4ad2b9e66f1a08f5a145','0','2','0'),
('23005','0','','10078','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a653205d5ce4462089da4ed4d6f97f3a','0','2','0'),
('23007','0','','10078','CPU iowait time','system.cpu.util[,iowait]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been waiting for the I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bee92be803c48489509e41c19718abc','0','2','0'),
('23011','0','','10078','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb32808bf73f489399ecb3e02bc18194','0','2','0'),
('23012','0','','10078','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d30ad6a457df4e39819b76fc1be7a562','0','2','0'),
('23013','0','','10078','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1945e624e1864f2ba543f9438b1733f1','0','2','0'),
('23014','0','','10078','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a0a8ab7047b400aaffe99917349291e','0','2','0'),
('23015','0','','10078','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71597a2dfdeb4c63acf7505ffb7f4f08','0','2','0'),
('23016','0','','10078','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2ee2b52a64841e282915d6de3c7f739','0','2','0'),
('23017','0','','10078','Total swap space','system.swap.size[,total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e7ea1fd204c44f3b0a7880eac21a0df','0','2','0'),
('23018','0','','10078','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','034f7934cdb54cc6b99194fac9197bfb','0','2','0'),
('23019','0','','10078','System uptime','system.uptime','10m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c15a8b1b6cbd446bad669ead64a172a1','0','2','0'),
('23020','0','','10078','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2c0d69124424e49aa4fc1f2416ffc37','0','2','0'),
('23021','0','','10078','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5dd55b892d1b4828bfc570d6bf48251d','0','2','0'),
('23022','0','','10078','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6888f0dd6b2e418f8c28a0ee59648fa3','0','2','0'),
('23023','0','','10078','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d96d5ebfa074428e957335b5fa58189b','0','2','0'),
('23035','0','','10079','Maximum number of opened files','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d25aa1f2eae445ceb18b7e4ee5383585','0','2','0'),
('23036','0','','10079','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c376cae54854613a1533eb804bcee56','0','2','0'),
('23039','0','','10079','Host boot time','system.boottime','10m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','928f973c004447d099a79e09a8b98cee','0','2','0'),
('23041','0','','10079','Processor load (15 min average per core)','system.cpu.load[percpu,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ddc219f824541ca9c9ef30afda56df2','0','2','0'),
('23042','0','','10079','Processor load (1 min average per core)','system.cpu.load[percpu,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5abd63bb64114794ae6d253dcc12afb4','0','2','0'),
('23043','0','','10079','Processor load (5 min average per core)','system.cpu.load[percpu,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e569411a7b4415098d21aaa44068dee','0','2','0'),
('23053','0','','10079','Host name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c0230c0bb944523bd781c37304bb87b','0','2','0'),
('23054','0','','10079','Host local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a7ce2c61d3a4696ac76e0406308e61b','0','2','0'),
('23058','0','','10079','System information','system.uname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Information as normally returned by `uname -a`.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c73ff0f28d24d92955c667e5245cfa0','0','2','0'),
('23059','0','','10079','System uptime','system.uptime','10m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34c001a77a904224aa90338590375870','0','2','0'),
('23060','0','','10079','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31ea6bafabbe440ea1b8d1b6cea74444','0','2','0'),
('23061','0','','10079','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6df0d9e8694d45dfa11e433d8de7be41','0','2','0'),
('23062','0','','10079','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Defined as free + cached + buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','daf35c33bb84443f893bb06bfe10f870','0','2','0'),
('23063','0','','10079','Total memory','vm.memory.size[total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83c0218324a548c4a01054801a4d8b0b','0','2','0'),
('23077','0','','10079','Incoming network traffic on en0','net.if.in[en0]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','951d874e6b644f9787c7a0d267bafcf8','0','2','0'),
('23078','0','','10079','Outgoing network traffic on en0','net.if.out[en0]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac875bd25d484d38b16cb02c30be6b67','0','2','0'),
('23108','0','','10076','CPU available physical processors in the shared pool','system.stat[cpu,app]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','081f8986446d43e7a3b72f7084576600','0','2','0'),
('23109','0','','10076','CPU entitled capacity consumed','system.stat[cpu,ec]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a97d56a6c2e45e1b10b97e2395ff30d','0','2','0'),
('23110','0','','10076','CPU idle time','system.stat[cpu,id]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','142f33d7b2c3469c9664fedf4f053616','0','2','0'),
('23111','0','','10076','CPU logical processor utilization','system.stat[cpu,lbusy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','752c952fb18e4a0e8e5e3415b107b9f1','0','2','0'),
('23112','0','','10076','CPU number of physical processors consumed','system.stat[cpu,pc]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','748f1316a33b48658b11dca8f45cfcce','0','2','0'),
('23113','0','','10076','CPU system time','system.stat[cpu,sy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2647132edb6647ca9ef43a00ca09ecbd','0','2','0'),
('23114','0','','10076','CPU user time','system.stat[cpu,us]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e990898ddbb74c7b9a8c1c67cb9544cf','0','2','0'),
('23115','0','','10076','CPU iowait time','system.stat[cpu,wa]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2cd7a00570ad487d9cdf39fd198b2c0b','0','2','0'),
('23116','0','','10076','Amount of data transferred','system.stat[disk,bps]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6748e4c87589472ca1474f3c7b729e0c','0','2','0'),
('23117','0','','10076','Number of transfers','system.stat[disk,tps]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf0180d8f109451db616749990a113a6','0','2','0'),
('23118','0','','10076','Processor units is entitled to receive','system.stat[ent]','1h','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e1af0261f6a421d8ca554f8eb222716','0','2','0'),
('23119','0','','10076','Kernel thread context switches','system.stat[faults,cs]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0fe71698a3c74c93a8cb3a937dc7226c','0','2','0'),
('23120','0','','10076','Device interrupts','system.stat[faults,in]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1e13d2dbd8b4086974ea32a2cd743b1','0','2','0'),
('23121','0','','10076','System calls','system.stat[faults,sy]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','883c7a12b1d54f4d8189ca0d9cc43102','0','2','0'),
('23122','0','','10076','Length of the swap queue','system.stat[kthr,b]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f027ed1c43464d4ab9a13d4b9f647e7e','0','2','0'),
('23123','0','','10076','Length of the run queue','system.stat[kthr,r]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6795c2b6914d4303bf30c71c7405ff7d','0','2','0'),
('23124','0','','10076','Active virtual pages','system.stat[memory,avm]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12142f133863448c9c937c671e183bbb','0','2','0'),
('23125','0','','10076','Free real memory','system.stat[memory,fre]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b4a5ff768654ff5a87b955684a0d7b5','0','2','0'),
('23126','0','','10076','File page-ins per second','system.stat[page,fi]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf890bf5cd1748a5af9528a111ba43c4','0','2','0'),
('23127','0','','10076','File page-outs per second','system.stat[page,fo]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19c4f7132b6c46aa9522bd46da3e8f03','0','2','0'),
('23128','0','','10076','Pages freed (page replacement)','system.stat[page,fr]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ff3f7faa76c414aae7c5babb91fe065','0','2','0'),
('23129','0','','10076','Pages paged in from paging space','system.stat[page,pi]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6009d8a0fc2f486db979b226eb975e78','0','2','0'),
('23130','0','','10076','Pages paged out to paging space','system.stat[page,po]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26fb1471e08c4c46800e4887d8bccd80','0','2','0'),
('23131','0','','10076','Pages scanned by page-replacement algorithm','system.stat[page,sr]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83b1456726d448d6a756e03c0ec02342','0','2','0'),
('23171','5','','10047','Utilization of snmp trapper data collector processes, in %','zabbix[process,snmp trapper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the snmp trapper processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb9a7c4f3373496da97f3e0b8c978366','0','2','0'),
('23251','5','','10047','Queue','zabbix[queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 6 seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aaf58555c0774e848f51a351b6ae8462','0','2','0'),
('23340','5','','10048','Number of processed values per second','zabbix[wcache,values]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.
The total number of values processed by Zabbix server or Zabbix proxy, except unsupported items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5229b786efc84f01bb31f2819c47d9f4','0','2','0'),
('23341','5','','10048','History index cache, % used','zabbix[wcache,index,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history index buffer.
The history index cache is used to index values stored in the history cache.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8c4c7802497d4de4988278edc29f8eb1','0','2','0'),
('23342','5','','10048','History write cache, % used','zabbix[wcache,history,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history buffer.
The history cache is used to store item values. A high number indicates database performance problems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aec73d2a7e444702b352c75998bf636e','0','2','0'),
('23343','5','','10048','Utilization of self-monitoring internal processes, in %','zabbix[process,self-monitoring,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the self-monitoring processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1fd488bbb4af450cb2b5e8c81b739f29','0','2','0'),
('23344','5','','10048','Utilization of snmp trapper data collector processes, in %','zabbix[process,snmp trapper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the snmp trapper processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77ab21500d734deea86938a1a90035e0','0','2','0'),
('23345','5','','10048','Utilization of trapper data collector processes, in %','zabbix[process,trapper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the trapper processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d99635291d14ae8a5ba7d794540bde2','0','2','0'),
('23346','5','','10048','Utilization of unreachable poller data collector processes, in %','zabbix[process,unreachable poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the unreachable poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b0f5b75d4854b84a7e1f51975732e25','0','2','0'),
('23347','5','','10048','Utilization of configuration syncer internal processes, in %','zabbix[process,configuration syncer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the configuration syncer processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d1bfa64a447427da0b463c3617b212e','0','2','0'),
('23348','5','','10048','Utilization of poller data collector processes, in %','zabbix[process,poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','334398ad893e4146bc1b9370eef9df59','0','2','0'),
('23349','5','','10048','Utilization of java poller data collector processes, in %','zabbix[process,java poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the java poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02214c0c38394bef8d648369584ae30b','0','2','0'),
('23350','5','','10048','Utilization of history syncer internal processes, in %','zabbix[process,history syncer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the history syncer processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7dde8cd03e5043a2bd484f7213a5f112','0','2','0'),
('23353','5','','10048','Utilization of housekeeper internal processes, in %','zabbix[process,housekeeper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the housekeeper processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31f0355f4d7c4de6b0d6f206d1ca9fa3','0','2','0'),
('23354','5','','10048','Utilization of http poller data collector processes, in %','zabbix[process,http poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the http poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','782b11dbe3ce47e3b9098c43d83057ad','0','2','0'),
('23355','5','','10048','Utilization of ipmi poller data collector processes, in %','zabbix[process,ipmi poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7cfb2f1504dd4b0aaac804b132d49bc5','0','2','0'),
('23356','5','','10048','Utilization of icmp pinger data collector processes, in %','zabbix[process,icmp pinger,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the icmp pinger processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b899ab317b447d1a82d1136e0a2ff6f','0','2','0'),
('23357','5','','10048','Configuration cache, % used','zabbix[rcache,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix configuration cache. The percentage of used data buffer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','606d1d43812341db8260a233295a4a4e','0','2','0'),
('23358','5','','10048','Queue','zabbix[queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 6 seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cfbb623cca754fd49d4f606ab52f658d','0','2','0'),
('23359','5','','10048','Queue over 10 minutes','zabbix[queue,10m]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 10 minutes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fa1c8d8fcb94d4c83cf4e291420a690','0','2','0'),
('23360','5','','10048','Utilization of data sender internal processes, in %','zabbix[process,data sender,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the data sender processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69eefd6aba164d71b0a2b8d2df06e9a3','0','2','0'),
('23634','5','','10047','VMware cache, % used','zabbix[vmware,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix vmware cache. The percentage of used data buffer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d273413004094604ad247c0ff9695879','0','2','0'),
('23661','5','','10047','Value cache operating mode','zabbix[vcache,cache,mode]','1m','31d','365d','0','3','','!vps','','',NULL,'55','','','0','','','','','0',NULL,'The operating mode of the value cache.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07379df0114445b7b06818736f011ca6','0','2','0'),
('23663','5','','10047','Utilization of task manager internal processes, in %','zabbix[process,task manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the task manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','caeb7ecc88cc4c14bb80f901284be9a5','0','2','0'),
('25366','5','','10047','Utilization of ipmi manager internal processes, in %','zabbix[process,ipmi manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24b6b466929347f0a8164c89ba5624fe','0','2','0'),
('25368','5','','10048','Utilization of ipmi manager internal processes, in %','zabbix[process,ipmi manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52b3123dfef94d8bba1b1a13314a9d4f','0','2','0'),
('25369','5','','10048','Utilization of task manager internal processes, in %','zabbix[process,task manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the task manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94d1aa1bff2d499f9e29dd9cafd04b9e','0','2','0'),
('25370','5','','10047','Utilization of alert manager internal processes, in %','zabbix[process,alert manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the alert manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d098ea71dd22428a8a8a42cf299699b7','0','2','0'),
('25665','5','','10047','Utilization of preprocessing manager internal processes, in %','zabbix[process,preprocessing manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing manager processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc7999dd8d2d41a5a80eeb4b6c4c9b13','0','2','0'),
('25666','5','','10047','Utilization of preprocessing worker internal processes, in %','zabbix[process,preprocessing worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing worker processes have been busy for the last minute.','0','0','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6af695693d41434a96c0c6a020580828','0','2','0'),
('26925','12','','10171','Power','power','1m','31d','365d','0','3','','','','',NULL,NULL,'','power','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1821294a921d401f822678ce1d246163','0','2','0'),
('26926','12','','10171','Processor Vcc','processor_vcc','1m','31d','365d','0','0','','V','','',NULL,NULL,'','Processor Vcc','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efc577d6deba4f46b1fe79e6a1a26fdd','0','2','0'),
('26927','12','','10171','System Fan 3','system_fan_3','1m','31d','365d','0','0','','RPM','','',NULL,NULL,'','System Fan 3','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89e5edc9cd6d4984a7a76320f7800ae9','0','2','0'),
('26928','12','','10171','BB Ambient Temp','bb_ambient_temp','1m','31d','365d','0','0','','C','','',NULL,NULL,'','BB Ambient Temp','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e6d7059cbb349889c639e9fba09bd8c','0','2','0'),
('26929','12','','10171','BB +5.0V','bb_5.0v','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +5.0V','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7931e499e1894942a4763432a6a446fd','0','2','0'),
('26930','12','','10171','BB +3.3V','bb_3.3v','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +3.3V','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21820c76180446ff9965f8937e6d1ba0','0','2','0'),
('26931','12','','10171','BB +3.3V STBY','bb_3.3v_stby','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +3.3V STBY','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7bd5269be38c417aba374c9e8af28f8c','0','2','0'),
('26932','12','','10171','BB +1.8V SM','bb_1.8v_sm','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +1.8V SM','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1d7b90d87c6411e9d887d223b4f9022','0','2','0'),
('26933','12','','10172','Front Panel Temp','front_panel_temp','1m','31d','365d','0','0','','C','','',NULL,NULL,'','Front Panel Temp','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d59236617a234098b0cd62ac30cba975','0','2','0'),
('26934','12','','10172','Power','power','1m','31d','365d','0','3','','','','',NULL,NULL,'','power','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4f51e8a51fb4f23afe9d505ede91891','0','2','0'),
('26935','12','','10172','System Fan 2','system_fan_2','1m','31d','365d','0','0','','RPM','','',NULL,NULL,'','System Fan 2','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ede3efc70c794c3390531b41a28411ef','0','2','0'),
('26936','12','','10172','System Fan 3','system_fan_3','1m','31d','365d','0','0','','RPM','','',NULL,NULL,'','System Fan 3','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b51ab327c547413fb94dae69e93458d2','0','2','0'),
('26937','12','','10172','BB +5.0V','bb_5.0v','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +5.0V','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a60f33969e54742989571dc2f93be57','0','2','0'),
('26938','12','','10172','BB +3.3V STBY','bb_3.3v_stby','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +3.3V STBY','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aef2b61786354719a6d99f60cff59f14','0','2','0'),
('26939','12','','10172','BB +1.05V PCH','bb_1.05v_pch','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +1.05V PCH','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2827f4cc6c4470daf4fd20868ed94c8','0','2','0'),
('26940','12','','10172','BB +1.1V P1 Vccp','bb_1.1v_p1_vccp','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +1.1V P1 Vccp','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bbcfcb625fa4805806601284c3eda20','0','2','0'),
('26941','12','','10172','BB +1.5V P1 DDR3','bb_1.5v_p1_ddr3','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +1.5V P1 DDR3','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','350b21b2a569489a9c4c7376bf788a0e','0','2','0'),
('26942','12','','10172','BB +3.3V','bb_3.3v','1m','31d','365d','0','0','','V','','',NULL,NULL,'','BB +3.3V','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6bc6b9c60ce24189b8b0f8a928fab701','0','2','0'),
('26943','12','','10172','Baseboard Temp','baseboard_temp','1m','31d','365d','0','0','','C','','',NULL,NULL,'','Baseboard Temp','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8271dc34162d4657be1a67b5d8a4473b','0','2','0'),
('27203','20','get[1.3.6.1.2.1.1.1.0]','10207','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2183a57a2c904632bf813c15610765f7','0','2','0'),
('27207','20','get[1.3.6.1.4.1.6527.3.1.2.1.1.9.0]','10207','Used memory','vm.memory.used[sgiKbMemoryUsed.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TIMETRA-SYSTEM-MIB
The value of sgiKbMemoryUsed indicates the total pre-allocated pool memory, in kilobytes, currently in use on the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5cd1ed0f61f464f86a97485f833d832','0','2','0'),
('27208','20','get[1.3.6.1.4.1.6527.3.1.2.1.1.1.0]','10207','CPU utilization','system.cpu.util[sgiCpuUsage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TIMETRA-SYSTEM-MIB
The value of sgiCpuUsage indicates the current CPU utilization for the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e28cb751b37e42d29be9f0295bd030b6','0','2','0'),
('27236','20','get[1.3.6.1.4.1.1588.2.1.1.1.1.6.0]','10208','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SW-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6e2d4c076b14ed19fbcb08caa32e5be','0','2','0'),
('27237','20','get[1.3.6.1.4.1.1588.2.1.1.1.1.10.0]','10208','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SW-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c68a1be050d4c1287e63eb7b3b81f8f','0','2','0'),
('27238','20','get[1.3.6.1.4.1.1588.2.1.1.1.1.7.0]','10208','Overall system health status','system.status[swOperStatus.0]','30s','31d','0','0','3','','','','',NULL,'73','','','0','','','','','0',NULL,'MIB: SW-MIB
The current operational status of the switch.The states are as follow:
online(1) means the switch is accessible by an external Fibre Channel port
offline(2) means the switch is not accessible
testing(3) means the switch is in a built-in test mode and is not accessible by an external Fibre Channel port
faulty(4) means the switch is not operational.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29f1dda8042d4fd18d7da9eb95fea76c','0','2','0'),
('27240','20','get[1.3.6.1.4.1.1588.2.1.1.1.26.1.0]','10208','CPU utilization','system.cpu.util[swCpuUsage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SW-MIB
System''s CPU usage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b17a06635cb2400f9c6d0f848fd38868','0','2','0'),
('27295','20','get[1.3.6.1.4.1.1991.1.1.2.1.11.0]','10210','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The version of the running software in the form''major.minor.maintenance[letters]''','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f58884d810a416ea321dd622c876d06','0','2','0'),
('27296','20','get[1.3.6.1.4.1.1991.1.1.1.1.2.0]','10210','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d8b9dc153c4408c99a707a9b4d57647','0','2','0'),
('27297','20','get[1.3.6.1.4.1.1991.1.1.2.1.11.0]','10211','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The version of the running software in the form ''major.minor.maintenance[letters]''','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c17e0d80c354391b339142f2a973886','0','2','0'),
('27508','20','get[1.3.6.1.2.1.47.1.1.1.1.8.1]','10222','Hardware version(revision)','system.hw.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd86860f9ebc42b1970a845b7940daed','0','2','0'),
('27509','20','get[1.3.6.1.2.1.47.1.1.1.1.9.1]','10222','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIBdescription has changed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c48928c7392d472d950804ee30936f0f','0','2','0'),
('27510','20','get[1.3.6.1.2.1.1.1.0]','10222','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9461071bb9fa44909aa181779c894a7b','0','2','0'),
('27511','20','get[1.3.6.1.4.1.171.10.97.2.36.1.1.3.0]','10222','CPU utilization','system.cpu.util[myCPUUtilization5Min.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MY-PROCESS-MIB
The CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec0e7cc71b39447087f580569559a6d6','0','2','0'),
('27543','20','get[1.3.6.1.2.1.47.1.1.1.1.8.1]','10223','Hardware version(revision)','system.hw.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','06e2bd7f602140f49685ae8dbfa44660','0','2','0'),
('27544','20','get[1.3.6.1.2.1.47.1.1.1.1.9.1]','10223','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e6d4c6568c54aeeb745c5ba43945174','0','2','0'),
('27545','20','get[1.3.6.1.4.1.171.12.1.1.12.0]','10223','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: DLINK-AGENT-MIB
A text string containing the serial number of this device.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3dd0e86421b5410f9c34680650a0d9a5','0','2','0'),
('27546','20','get[1.3.6.1.2.1.1.1.0]','10223','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc6cdf26ee0f4c5682c956c0ac741898','0','2','0'),
('27547','20','get[1.3.6.1.4.1.171.12.1.1.6.2.0]','10223','CPU utilization','system.cpu.util[agentCPUutilizationIn1min.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: DLINK-AGENT-MIB
The unit of time is 1 minute. The value will be between 0% (idle) and 100%(very busy).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d265ce34e9344c6875497e7ed0ebc89','0','2','0'),
('27579','20','get[1.3.6.1.2.1.47.1.1.1.1.9.1]','10224','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f6260a568644e89ba87ccca63102357','0','2','0'),
('27580','20','get[1.3.6.1.2.1.47.1.1.1.1.9.1]','10224','Hardware version(revision)','system.hw.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ec263e1593e48d18b3e50f215e94196','0','2','0'),
('27582','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10224','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93882ec52eed40778858e52dc7153093','0','2','0'),
('27583','20','get[1.3.6.1.2.1.47.1.1.1.1.2.1]','10224','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42ec93c3013d428c9f72fe721ea46db5','0','2','0'),
('27584','20','get[1.3.6.1.4.1.1916.1.1.1.8.0]','10224','Temperature','sensor.temp.value[extremeCurrentTemperature.0]','3m','31d','365d','0','0','','°C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: EXTREME-SYSTEM-MIB
Temperature readings of testpoint: Device
Reference: https://gtacknowledge.extremenetworks.com/articles/Q_A/Does-EXOS-support-temperature-polling-via-SNMP-on-all-nodes-in-a-stack','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e8384090e304767bc6bba60d822e223','0','2','0'),
('27585','20','get[1.3.6.1.4.1.1916.1.1.1.7.0]','10224','Temperature status','sensor.temp.status[extremeOverTemperatureAlarm.0]','3m','31d','0','0','3','','','','',NULL,'85','','','0','','','','','0',NULL,'MIB: EXTREME-SYSTEM-MIB
Temperature status of testpoint: Device','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b17bfccc91f1489fb9f85d719ca19d70','0','2','0'),
('27586','20','get[1.3.6.1.4.1.1916.1.32.1.2.0]','10224','CPU utilization','system.cpu.util[extremeCpuMonitorTotalUtilization.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: EXTREME-SOFTWARE-MONITOR-MIB
Total CPU utilization (percentage) as of last sampling.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd93c5fb3e054f84b052d7f682a87655','0','2','0'),
('27777','20','get[1.3.6.1.4.1.10222.2.1.1.1.0]','10230','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ICS-CHASSIS-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9cfafe1389af4e569886c5acd8d95de9','0','2','0'),
('27778','20','get[1.3.6.1.4.1.10222.2.1.1.1.0]','10230','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ICS-CHASSIS-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','656086e221e84a9a90cc16855f564571','0','2','0'),
('27812','20','get[1.3.6.1.4.1.2636.3.1.2.0]','10231','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: JUNIPER-MIB
The name, model, or detailed description of the box,indicating which product the box is about, for example ''M40''.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a472141ebcf4816bffe9bb49f003db6','0','2','0'),
('27813','20','get[1.3.6.1.4.1.2636.3.1.3.0]','10231','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: JUNIPER-MIB
The serial number of this subject, blank if unknown or unavailable.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b836efdbd3ac4becac319030250c1beb','0','2','0'),
('27814','20','get[1.3.6.1.4.1.2636.3.4.2.3.1.0]','10231','Overall system health status','system.status[jnxRedAlarmState.0]','30s','31d','0','0','3','','','','',NULL,'93','','','0','','','','','0',NULL,'MIB: JUNIPER-ALARM-MIB
The red alarm indication on the craft interface panel.
The red alarm is on when there is some system
failure or power supply failure or the system
is experiencing a hardware malfunction or some
threshold is being exceeded.
This red alarm state could be turned off by the
ACO/LT (Alarm Cut Off / Lamp Test) button on the
front panel module.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','414a29c595b2439dacb15b4fa0734ab4','0','2','0'),
('27893','20','get[1.3.6.1.2.1.1.1.0]','10233','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d2c5a405ffa42fc81a2c9b914e20874','0','2','0'),
('27894','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10233','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c5a89f75a8d4e38ad021b3539ce8273','0','2','0'),
('27895','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10233','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','260eff3ec4034e33aea9c25962a782be','0','2','0'),
('27898','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10233','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0636e173288d42e68faf62c381a65087','0','2','0'),
('27900','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10233','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d4a1591887848028ea8bae81b7d01a7','0','2','0'),
('27930','20','get[1.3.6.1.4.1.4526.10.1.1.1.3.0]','10234','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2470e113b1174c70a1265bf4c4252b5f','0','2','0'),
('27931','20','get[1.3.6.1.4.1.4526.10.1.1.1.4.0]','10234','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB
Serial number of the switch','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','697f863cf86544d4a366e8827976ed50','0','2','0'),
('27935','20','get[1.3.6.1.4.1.4526.10.1.1.5.2.0]','10234','Total memory','vm.memory.total[agentSwitchCpuProcessMemAvailable.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB
The total Memory allocated for the tasks','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98037eeab349478c8c393b163ec5193e','0','2','0'),
('27936','20','get[1.3.6.1.4.1.4526.10.1.1.4.9.0]','10234','CPU utilization','system.cpu.util[agentSwitchCpuProcessTotalUtilization.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB
The CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8ffc912f0ee47cca513861fcecfddb0','0','2','0'),
('27967','20','get[1.3.6.1.2.1.47.1.1.1.1.9.1]','10235','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7dda2d7f577404dbe8e5beba7609617','0','2','0'),
('27968','20','get[1.3.6.1.2.1.47.1.1.1.1.8.1]','10235','Hardware version(revision)','system.hw.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a842a44da43a4d2c906d0c642eb11411','0','2','0'),
('27970','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10235','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','684868048c1645aea9d8ad94514bd4c6','0','2','0'),
('27971','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10235','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ff90f06a84a43ac937d3798b360bbd9','0','2','0'),
('27972','20','get[1.3.6.1.4.1.27514.100.1.11.7.0]','10235','Used memory','vm.memory.used[switchMemoryBusy.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: QTECH-MIB
Used memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8821718704db4ab4a8af8fbeb61dde93','0','2','0'),
('27973','20','get[1.3.6.1.4.1.27514.100.1.11.6.0]','10235','Total memory','vm.memory.total[switchMemorySize.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: QTECH-MIB
The total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','609971d1876444659f779ef28ed81ce7','0','2','0'),
('27975','20','get[1.3.6.1.4.1.27514.100.1.11.10.0]','10235','CPU utilization','system.cpu.util[switchCpuUsage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: QTECH-MIB
The CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','daab52a7d91b431b8ec579200e53a0c4','0','2','0'),
('27997','20','get[1.3.6.1.4.1.11863.6.1.1.5.0]','10236','Hardware version(revision)','system.hw.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TPLINK-SYSINFO-MIB
The hardware version of the product.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20690cbfeb924ec79f67200da3e0577c','0','2','0'),
('27998','20','get[1.3.6.1.4.1.11863.6.1.1.6.0]','10236','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TPLINK-SYSINFO-MIB
The software version of the product.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d20905fda0442b8b7b0eefcf473afd9','0','2','0'),
('27999','20','get[1.3.6.1.4.1.11863.6.1.1.8.0]','10236','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TPLINK-SYSINFO-MIB
The Serial number of the product.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2cc080e7e7f49a19bb27737c749ba36','0','2','0'),
('28000','20','get[1.3.6.1.4.1.11863.6.1.1.5.0]','10236','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TPLINK-SYSINFO-MIB
The hardware version of the product.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a571370a974c43deb9b5bb531d4dc4ce','0','2','0'),
('28026','20','get[1.2.840.10036.3.1.2.1.3.5]','10237','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IEEE802dot11-MIB
A printable string used to identify the manufacturer''s product name of the resource. Maximum string length is 128 octets.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e770de183b1e4ffc9348750520719b41','0','2','0'),
('28027','20','get[1.2.840.10036.3.1.2.1.4.5]','10237','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IEEE802dot11-MIB
Printable string used to identify the manufacturer''s product version of the resource. Maximum string length is 128 octets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e8ab4b180f24b64bcddfc1606d616d0','0','2','0'),
('28031','20','get[1.3.6.1.4.1.10002.1.1.1.4.2.1.3.2]','10237','Load average (5m avg)','system.cpu.load.avg5[loadValue.2]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FROGFOOT-RESOURCES-MIB
5 minute load average of processor load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1aaf7d729983431cb28351e7ba0c8235','0','2','0'),
('28141','20','get[1.3.6.1.4.1.11.2.14.11.5.1.1.3.0]','10250','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: NETSWITCH-MIB
Contains the operating code version number (also known as software or firmware).
For example, a software version such as A.08.01 is described as follows:
A the function set available in your router
08 the common release number
01 updates to the current common release','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dadf12eb4c0a42bf9504e15bc4fe6d7c','0','2','0'),
('28142','20','get[1.3.6.1.4.1.11.2.36.1.1.2.9.0]','10250','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SEMI-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12d7d4a915714166b2c0a48733235ac1','0','2','0'),
('28143','20','get[1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0]','10250','CPU utilization','system.cpu.util[hpSwitchCpuStat.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: STATISTICS-MIB
The CPU utilization in percent(%).
Reference: http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c02597344&sp4ts.oid=51079','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','083172af308e401a99a662f615a5b450','0','2','0'),
('28250','5','','10048','Utilization of vmware collector data collector processes, in %','zabbix[process,vmware collector,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the vmware collector processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5a7076a175c400f866a4d873d12e1e4','0','2','0'),
('28251','5','','10048','VMware cache, % used','zabbix[vmware,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix vmware cache. The percentage of used data buffer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc7412c1a02240b7931d3511743a2662','0','2','0'),
('28388','20','get[1.3.6.1.4.1.232.6.2.6.1.0]','10256','System temperature status','sensor.temp.status[cpqHeThermalCondition.0]','1m','31d','0','0','3','','','','',NULL,'102','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
This value specifies the overall condition of the system''s thermal environment.
This value will be one of the following:
other(1) Temperature could not be determined.
ok(2) The temperature sensor is within normal operating range.
degraded(3) The temperature sensor is outside of normal operating range.
failed(4) The temperature sensor detects a condition that could permanently damage the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','399110973c134983bd5020b9e5b509f4','0','2','0'),
('28390','20','get[1.3.6.1.4.1.232.2.2.4.2.0]','10256','Hardware model name','system.hw.model','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The machine product name.The name of the machine used in this system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2708e6cb2ba240a791685ebdcab3407f','0','2','0'),
('28391','20','get[1.3.6.1.4.1.232.2.2.2.1.0]','10256','Hardware serial number','system.hw.serialnumber','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96e27ad668944845a7f598f35b577d18','0','2','0'),
('28465','20','get[1.3.6.1.4.1.2.3.51.3.1.4.1.0]','10258','Overall system health status','system.status[systemHealthStat.0]','30s','31d','0','0','3','','','','',NULL,'106','','','0','','','','','0',NULL,'MIB: IMM-MIB
Indicates status of system health for the system in which the IMM resides. Value of ''nonRecoverable'' indicates a severe error has occurred and the system may not be functioning. A value of ''critical'' indicates that an error has occurred but the system is currently functioning properly. A value of ''nonCritical'' indicates that a condition has occurred that may change the state of the system in the future but currently the system is working properly. A value of ''normal'' indicates that the system is operating normally.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33572e0e11214d8b8454e6947e0d282d','0','2','0'),
('28466','20','get[1.3.6.1.4.1.2.3.51.3.1.5.2.1.5.0]','10258','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IMM-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7075609a2d2545828a93f701d7b02c17','0','2','0'),
('28467','20','get[1.3.6.1.4.1.2.3.51.3.1.5.2.1.3.0]','10258','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IMM-MIB
Machine serial number VPD information','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db393421a28b44148b0a1e1273186900','0','2','0'),
('28511','16','','10260','Version','jmx["Catalina:type=Server",serverInfo]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$TOMCAT.USER}','{$TOMCAT.PASSWORD}','','','0',NULL,'The version of the Tomcat.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f6ec0e48d41456896799f487cd8243e','0','2','0'),
('28533','5','','10047','LLD queue','zabbix[lld_queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of values enqueued in the low-level discovery processing queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d596a84dece14aa59ca53e9f53b21edb','0','2','0'),
('28535','5','','10047','Utilization of LLD manager internal processes, in %','zabbix[process,lld manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the LLD manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e0ffccdaa51459c90d4868e61b1c6a8','0','2','0'),
('28537','5','','10047','Utilization of LLD worker internal processes, in %','zabbix[process,lld worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the LLD worker processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b7b36eea80448ac8d11f7f30fb355da','0','2','0'),
('28539','5','','10261','Zabbix stats','zabbix[stats,{$ZABBIX.SERVER.ADDRESS},{$ZABBIX.SERVER.PORT}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The master item of Zabbix server statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9a588fee45047b6b991015e7e83f3f2','0','2','0'),
('28540','5','','10261','Queue','zabbix[stats,{$ZABBIX.SERVER.ADDRESS},{$ZABBIX.SERVER.PORT},queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 6 seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c140ebe6c0404ee6b17b5ada2de09f28','0','2','0'),
('28541','5','','10261','Queue over 10 minutes','zabbix[stats,{$ZABBIX.SERVER.ADDRESS},{$ZABBIX.SERVER.PORT},queue,10m]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 10 minutes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','95c8bab7640a4227b8ce6cac06e1a08b','0','2','0'),
('28585','5','','10262','Zabbix stats','zabbix[stats,{$ZABBIX.PROXY.ADDRESS},{$ZABBIX.PROXY.PORT}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Zabbix server statistics master item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c3d4e015efe7459f8207096a04b296f0','0','2','0'),
('28586','5','','10262','Queue','zabbix[stats,{$ZABBIX.PROXY.ADDRESS},{$ZABBIX.PROXY.PORT},queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 6 seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','128bcd3c019946b593f3256858cf8397','0','2','0'),
('28587','5','','10262','Queue over 10 minutes','zabbix[stats,{$ZABBIX.PROXY.ADDRESS},{$ZABBIX.PROXY.PORT},queue,10m]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of monitored items in the queue that are delayed by at least 10 minutes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9b9ee0faefd4cefbac32f548539266e','0','2','0'),
('28617','5','','10048','Preprocessing queue','zabbix[preprocessing_queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of values enqueued in the preprocessing queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0230306272c24858b49243ef1c61e2ec','0','2','0'),
('28618','5','','10048','Utilization of preprocessing manager internal processes, in %','zabbix[process,preprocessing manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20705fe12d4c40a4a27306b66ec9a69d','0','2','0'),
('28619','5','','10048','Utilization of preprocessing worker internal processes, in %','zabbix[process,preprocessing worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing worker processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c7916375cf841fb8edaf383b93a0522','0','2','0'),
('28743','0','','10264','Service ping','net.tcp.service[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'13','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','369f00e2970048c786ce3bd609e65566','0','2','0'),
('28748','0','','10264','Service response time','net.tcp.service.perf[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','267ca6fe038346e5be1113f3bf9b4023','0','2','0'),
('28775','19','','10265','Get status','apache.get_status','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting data from a machine-readable version of the Apache status page.
For more information see Apache Module [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html).','0','30d','0','',NULL,'','{$APACHE.STATUS.SCHEME}://{$APACHE.STATUS.HOST}:{$APACHE.STATUS.PORT}/{$APACHE.STATUS.PATH}','','','200','1','0','','','2','0','0','0','0','0','0','e61be8ad92004100aca55fcedd2a3807','0','2','0'),
('28776','3','','10265','Service ping','net.tcp.service[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'14','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb65918695094026838e2b9e4ca00402','0','2','0'),
('28777','3','','10265','Service response time','net.tcp.service.perf[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5039d11bc3964d6e9928a0a46dd0b402','0','2','0'),
('28804','0','','10266','Get stub status page','web.page.get["{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PATH}","{$NGINX.STUB_STATUS.PORT}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The following status information is provided:
`Active connections` - the current number of active client connections including waiting connections.
`Accepted` - the total number of accepted client connections.
`Handled` - the total number of handled connections. Generally, the parameter value is the same as for the accepted connections, unless some resource limits have been reached (for example, the `worker_connections` limit).
`Requests` - the total number of client requests.
`Reading` - the current number of connections where Nginx is reading the request header.
`Writing` - the current number of connections where Nginx is writing a response back to the client.
`Waiting` - the current number of idle client connections waiting for a request.
See also [Module ngx_http_stub_status_module](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52a23a9f6d60490c8f5565b938154f61','0','2','0'),
('28805','0','','10266','Service response time','net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75a7795df3034835bcfd143f7c3e9b94','0','2','0'),
('28810','0','','10266','Service status','net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'15','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f06e76888f464e13b7cc4c3db33e8131','0','2','0'),
('28821','19','','10267','Get stub status page','nginx.get_stub_status','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The following status information is provided:
`Active connections` - the current number of active client connections including waiting connections.
`Accepted` - the total number of accepted client connections.
`Handled` - the total number of handled connections. Generally, the parameter value is the same as for the accepted connections, unless some resource limits have been reached (for example, the `worker_connections` limit).
`Requests` - the total number of client requests.
`Reading` - the current number of connections where Nginx is reading the request header.
`Writing` - the current number of connections where Nginx is writing a response back to the client.
`Waiting` - the current number of idle client connections waiting for a request.
See also [Module ngx_http_stub_status_module](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html).','0','30d','0','',NULL,'','{$NGINX.STUB_STATUS.SCHEME}://{$NGINX.STUB_STATUS.HOST}:{$NGINX.STUB_STATUS.PORT}/{$NGINX.STUB_STATUS.PATH}','','','200','1','0','','','2','0','0','0','0','0','0','86f93d1941d147fe94d754eddd3e8ff2','0','2','0'),
('28822','3','','10267','Service status','net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'16','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4a09193bc8f42f2888ece83f89f84af','0','2','0'),
('28823','3','','10267','Service response time','net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18c6209295b347e2a96ef11b147139d8','0','2','0'),
('29395','19','','10285','Get node_exporter metrics','node_exporter.get','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','http://{$NODE_EXPORTER_HOST}:{$NODE_EXPORTER_PORT}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','8b2fffcba0b24ca8a687361645ffaa1d','0','2','0'),
('29396','15','','10285','Memory utilization','vm.memory.util[node_exporter]','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total[node_exporter])-last(//vm.memory.available[node_exporter]))/last(//vm.memory.total[node_exporter])*100','','0','','','','','0',NULL,'Percentage calculated as (total-available)/total*100.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','60c716c692fb482f9abffb0fc9ce4324','0','2','0'),
('29397','15','','10285','Free swap space in %','system.swap.pfree[node_exporter]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//system.swap.free[node_exporter])/last(//system.swap.total[node_exporter])*100','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99feb76b7da04b00a0d191b92bf979a1','0','2','0'),
('29653','0','','10301','Get node overview','web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The HTTP API endpoint that returns cluster-wide metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1af326f40cdb407a96b34025062b4743','0','2','0'),
('29654','0','','10301','Get nodes','web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The HTTP API endpoint that returns metrics of the nodes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61730555a0ae4f798ea740effb82764c','0','2','0'),
('29655','0','','10301','Service ping','net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'17','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6229b623f5ff40f9a65e9573b3b86e3f','0','2','0'),
('29660','0','','10301','Service response time','net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1f191f9077f4382b5b87e0085ae2622','0','2','0'),
('29661','0','','10301','Get queues','web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The HTTP API endpoint that returns metrics of the queues metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fb61ad564db42d5a373912491f5c9d3','0','2','0'),
('29738','19','','10302','Get overview','rabbitmq.get_overview','1m','1h','0','0','4','','','','',NULL,NULL,'','','1','{$RABBITMQ.API.USER}','{$RABBITMQ.API.PASSWORD}','','','0',NULL,'The HTTP API endpoint that returns cluster-wide metrics.','0','30d','0','',NULL,'','{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview','','','200','1','0','','','0','0','0','0','0','0','0','c0d7c1940dea4cd4a01a94b9629db3ce','0','2','0'),
('29739','19','','10302','Get exchanges','rabbitmq.get_exchanges','1m','1h','0','0','4','','','','',NULL,NULL,'','','1','{$RABBITMQ.API.USER}','{$RABBITMQ.API.PASSWORD}','','','0',NULL,'The HTTP API endpoint that returns exchanges metrics.','0','30d','0','',NULL,'','{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges','','','200','1','0','','','0','0','0','0','0','0','0','dd74265fcc2d48e2b160e749706c9a6c','0','2','0'),
('29741','19','','10303','Get nodes','rabbitmq.get_nodes','1m','1h','0','0','4','','','','',NULL,NULL,'','','1','{$RABBITMQ.API.USER}','{$RABBITMQ.API.PASSWORD}','','','0',NULL,'The HTTP API endpoint that returns metrics of the nodes.','0','30d','0','',NULL,'','{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true','','','200','1','0','','','0','0','0','0','0','0','0','14468c29d16440cfb40429f58a0399f4','0','2','0'),
('29742','3','','10303','Service ping','net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'18','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f53379f858f74714b15ee12fe6fc2d08','0','2','0'),
('29743','3','','10303','Service response time','net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','542f36f0b4e24d99a402a98b6f6fe4c4','0','2','0'),
('29745','19','','10303','Get queues','rabbitmq.get_queues','1m','1h','0','0','4','','','','',NULL,NULL,'','','1','{$RABBITMQ.API.USER}','{$RABBITMQ.API.PASSWORD}','','','0',NULL,'The HTTP API endpoint that returns metrics of the queues metrics.','0','30d','0','',NULL,'','{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues','','','200','1','0','','','0','0','0','0','0','0','0','3d0770d550b24f5ca80289cb723c8386','0','2','0'),
('29822','5','','10047','Utilization of alert syncer internal processes, in %','zabbix[process,alert syncer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the alert syncer processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eea69b4541844ebbbbf634594c14a8f2','0','2','0'),
('29994','20','get[1.3.6.1.4.1.232.6.1.3.0]','10256','Overall system health status','system.status[cpqHeMibCondition.0]','1m','31d','0','0','3','','','','',NULL,'102','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
The overall condition. This object represents the overall status of the server information represented by this MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f30715570c449ecb4e07858256a3e05','0','2','0'),
('29998','0','','10300','Get overview','web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The HTTP API endpoint that returns cluster-wide metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','943eabfb44164908b9135aa4d6478bea','0','2','0'),
('29999','0','','10300','Get exchanges','web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The HTTP API endpoint that returns exchanges metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f015f991bcea4c4dbf83dfb013300010','0','2','0'),
('30043','19','','10303','Get node overview','rabbitmq.get_node_overview','1m','1h','0','0','4','','','','',NULL,NULL,'','','1','{$RABBITMQ.API.USER}','{$RABBITMQ.API.PASSWORD}','','','0',NULL,'The HTTP API endpoint that returns cluster-wide metrics.','0','30d','0','',NULL,'','{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview','','','200','1','0','','','0','0','0','0','0','0','0','ff7ec5f6e2354c90bffdbd25f9360555','0','2','0'),
('30086','20','get[1.3.6.1.2.1.1.1.0]','10207','Operating system','system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f1c8827a9ef4948808bac9d76add9a8','0','2','0'),
('30087','20','get[1.3.6.1.4.1.6527.3.1.2.1.1.10.0]','10207','Available memory','vm.memory.available[sgiKbMemoryAvailable.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TIMETRA-SYSTEM-MIB
The value of sgiKbMemoryAvailable indicates the amount of free memory, in kilobytes, in the overall system that is not allocated to memory pools, but is available in case a memory pool needs to grow.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f2769066a184d29afd26047039b633c','0','2','0'),
('30088','15','','10207','Total memory','vm.memory.total[snmp]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.available[sgiKbMemoryAvailable.0])+last(//vm.memory.used[sgiKbMemoryUsed.0])','','0','','','','','0',NULL,'The total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9005685cea194d7c9702f19040df7b80','0','2','0'),
('30089','15','','10207','Memory utilization','vm.memory.util[vm.memory.util.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[sgiKbMemoryUsed.0])/(last(//vm.memory.available[sgiKbMemoryAvailable.0])+last(//vm.memory.used[sgiKbMemoryUsed.0]))*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f223ac289a99469e8861219f4254dea6','0','2','0'),
('30093','20','get[1.3.6.1.4.1.1588.2.1.1.1.26.6.0]','10208','Memory utilization','vm.memory.util[swMemUsage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SW-MIB
Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a8441cae4fb4c698502a20d5ce23ddf','0','2','0'),
('30106','20','get[1.3.6.1.4.1.171.10.97.2.1.1.2.0]','10222','Operating system','system.sw.os[mySystemSwVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MY-SYSTEM-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d31f35a9d8842f086a123014bfd27ad','0','2','0'),
('30109','20','get[1.3.6.1.4.1.1916.1.1.1.13.0]','10224','Operating system','system.sw.os[extremePrimarySoftwareRev.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: EXTREME-SYSTEM-MIB
The software revision of the primary image stored in this device.
This string will have a zero length if the revision is unknown, invalid or not present.
This will also be reported in RMON2 probeSoftwareRev if this is the software image currently running in the device.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ba6360ecf4c4487a249e3efabca2e0c','0','2','0'),
('30117','20','get[1.3.6.1.2.1.1.1.0]','10231','Operating system','system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24cd5862c2de4cbaad0b3bbce7f26a65','0','2','0'),
('30119','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10233','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e3b3e78086742a7b9cda953367a2d83','0','2','0'),
('30120','15','','10233','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56017f610bf74f0aaaa92e9183e68ea5','0','2','0'),
('30121','20','get[1.3.6.1.4.1.4526.10.1.1.1.10.0]','10234','Operating system','system.sw.os[agentInventoryOperatingSystem.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB
Operating System running on this unit','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bd8c956163d4201a7e896abde28044b','0','2','0'),
('30122','20','get[1.3.6.1.4.1.4526.10.1.1.5.1.0]','10234','Available memory','vm.memory.available[agentSwitchCpuProcessMemFree.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FASTPATH-SWITCHING-MIB
The total memory freed for utilization.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f94ffd4d6eb84ae88cdf5033df65f249','0','2','0'),
('30123','15','','10234','Memory utilization','vm.memory.util[memoryUsedPercentage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total[agentSwitchCpuProcessMemAvailable.0])-last(//vm.memory.available[agentSwitchCpuProcessMemFree.0]))/last(//vm.memory.total[agentSwitchCpuProcessMemAvailable.0])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86ef153d78b5466cac76a32f81d8b958','0','2','0'),
('30124','20','get[1.3.6.1.4.1.27514.100.1.11.9.0]','10235','Temperature','sensor.temp.value[switchTemperature.0]','3m','31d','365d','0','0','','°C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: QTECH-MIB
Temperature readings of testpoint.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddb9ac31893d4b1d882b0e500d2d6ad7','0','2','0'),
('30125','20','get[1.3.6.1.4.1.27514.100.1.3.0]','10235','Operating system','system.sw.os[sysSoftwareVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: QTECH-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea6000232033495babf9157a67b89bcc','0','2','0'),
('30126','15','','10235','Memory utilization','vm.memory.util[vm.memory.util.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[switchMemoryBusy.0])/last(//vm.memory.total[switchMemorySize.0])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2271ace8bd040618f10ec651a634cbc','0','2','0'),
('30132','20','get[1.3.6.1.4.1.10002.1.1.1.1.3.0]','10237','Memory (buffers)','vm.memory.buffers[memBuffer.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FROGFOOT-RESOURCES-MIB
Memory used by kernel buffers (Buffers in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6393f8a84fd4417abdccd8bd867aac7e','0','2','0'),
('30133','20','get[1.3.6.1.4.1.10002.1.1.1.1.4.0]','10237','Memory (cached)','vm.memory.cached[memCache.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FROGFOOT-RESOURCES-MIB
Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','224c8d32f0d649b3b94b77e960934f15','0','2','0'),
('30134','20','get[1.3.6.1.4.1.10002.1.1.1.1.2.0]','10237','Free memory','vm.memory.free[memFree.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FROGFOOT-RESOURCES-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','401b95eff89743cba6942606ac051b01','0','2','0'),
('30135','20','get[1.3.6.1.4.1.10002.1.1.1.1.1.0]','10237','Total memory','vm.memory.total[memTotal.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FROGFOOT-RESOURCES-MIB
The total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eefa6d2e8560407f82bbb8783bb399ad','0','2','0'),
('30136','15','','10237','Memory utilization','vm.memory.util[memoryUsedPercentage]','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total[memTotal.0])-(last(//vm.memory.free[memFree.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCache.0])))/last(//vm.memory.total[memTotal.0])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29df9ffb192d4434a88ac6a413b9569d','0','2','0'),
('30187','0','','10308','Service response time','net.tcp.service.perf["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c224cfe9b7474f9e80618dde78cfcb11','0','2','0'),
('30188','0','','10308','Service status','net.tcp.service["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'19','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97e45c508f5a4df78fc783382088e233','0','2','0'),
('30189','0','','10308','Get stats','web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'HAProxy Statistics Report in CSV format','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aabdb5706b6744379561f269e0709141','0','2','0'),
('30190','0','','10308','Get stats page','web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'HAProxy Statistics Report HTML','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e70009bd4e3041a3952738673ebb5c29','0','2','0'),
('30230','19','','10309','Get stats','haproxy.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$HAPROXY.USERNAME}','{$HAPROXY.PASSWORD}','','','0',NULL,'HAProxy Statistics Report in CSV format','0','30d','0','',NULL,'','{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv','','','200','1','0','','','0','0','0','0','0','0','0','93a0ea1e5b0145b5bd2dcdb698d367c2','0','2','0'),
('30231','19','','10309','Get stats page','haproxy.get_html','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$HAPROXY.USERNAME}','{$HAPROXY.PASSWORD}','','','0',NULL,'HAProxy Statistics Report HTML','0','30d','0','',NULL,'','{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH}','','','200','1','0','','','0','0','0','0','0','0','0','123c03c715494faea6b1d4f8b8fa564d','0','2','0'),
('30273','0','','10310','Ping','redis.ping["{$REDIS.CONN.URI}"]','1m','31d','365d','0','3','','','','',NULL,'21','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5949fadcbe2b405baff0668e81627278','0','2','0'),
('30274','0','','10310','Slowlog entries per second','redis.slowlog.count["{$REDIS.CONN.URI}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51a65fa1d27e4fcd915c5019687e7bc9','0','2','0'),
('30275','0','','10310','Get config','redis.config["{$REDIS.CONN.URI}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf68f3ecc3544ef0af00889139caf313','0','2','0'),
('30276','0','','10310','Get info','redis.info["{$REDIS.CONN.URI}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','720f146ffe7e481482e11db4b99634c8','0','2','0'),
('30431','0','','10316','Version','mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MySQL server version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5d0f152c3ef4e069c3d5a6a5a9470fe','0','2','0'),
('30432','0','','10316','Status','mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'22','','','0','','','','','0',NULL,'MySQL server status.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41cd6c8c535948f3bde6324e0912f1a8','0','2','0'),
('30433','0','','10316','Get status variables','mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets server global status information.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ba81b425bde4ba5b3f7d00a6c922ed9','0','2','0'),
('30434','15','','10316','Buffer pool utilization','mysql.buffer_pool_utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'( last(//mysql.innodb_buffer_pool_pages_total) -
last(//mysql.innodb_buffer_pool_pages_free) ) /
( last(//mysql.innodb_buffer_pool_pages_total) +
( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_pages_total) > 0 )','','0','','','','','0',NULL,'Ratio of used to total pages in the buffer pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9aca02e86e744f43ab48e8ca9453cf77','0','2','0'),
('30435','15','','10316','Buffer pool efficiency','mysql.buffer_pool_efficiency','1m','31d','365d','0','0','','%','','',NULL,NULL,'100 - (last(//mysql.innodb_buffer_pool_reads) /
( last(//mysql.innodb_buffer_pool_read_requests) +
( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_read_requests) > 0 ))','','0','','','','','0',NULL,'The item shows how effectively the buffer pool is serving reads.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a447424aca84124abdfa389865126d4','0','2','0'),
('30479','11','','10317','Get status variables','db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'show global status','','0','{$MYSQL.USER}','{$MYSQL.PASSWORD}','','','0',NULL,'Gets server global status information.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72e0f88741d746bf88e8951ef69681f9','0','2','0'),
('30480','11','','10317','Version','db.odbc.select[version,"{$MYSQL.DSN}"]','15m','31d','0','0','1','','','','',NULL,NULL,'select version()','','0','{$MYSQL.USER}','{$MYSQL.PASSWORD}','','','0',NULL,'MySQL server version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9fb80ca366e4d33801472bcd013f881','0','2','0'),
('30481','11','','10317','Status','db.odbc.select[ping,"{$MYSQL.DSN}"]','1m','31d','365d','0','3','','','','',NULL,'23','select "1"','','0','{$MYSQL.USER}','{$MYSQL.PASSWORD}','','','0',NULL,'MySQL server status.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b7c14e38799427cb6520f47bf8afe6c','0','2','0'),
('30482','15','','10317','Buffer pool efficiency','mysql.buffer_pool_efficiency','1m','31d','365d','0','0','','%','','',NULL,NULL,'100 - (last(//mysql.innodb_buffer_pool_reads) /
( last(//mysql.innodb_buffer_pool_read_requests) +
( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_read_requests) > 0 ))','','0','','','','','0',NULL,'The item shows how effectively the buffer pool is serving reads.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05e7e91206bb4138a945ea0de2d8c01d','0','2','0'),
('30483','15','','10317','Buffer pool utilization','mysql.buffer_pool_utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'( last(//mysql.innodb_buffer_pool_pages_total) -
last(//mysql.innodb_buffer_pool_pages_free) ) /
( last(//mysql.innodb_buffer_pool_pages_total) +
( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_pages_total) > 0 )','','0','','','','','0',NULL,'Ratio of used to total pages in the buffer pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad5520e067ea405eb939d319fa9690e9','0','2','0'),
('30527','0','','10318','Get data_usage','docker.data_usage','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f7221691d494c60b40abb6dd5c14719','0','2','0'),
('30528','0','','10318','Get containers','docker.containers','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6edcd2fbe7c446738d323ce7f1c11810','0','2','0'),
('30529','0','','10318','Get info','docker.info','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d8265e0495d4cbe97535f281a957b3e','0','2','0'),
('30530','0','','10318','Ping','docker.ping','1m','31d','365d','0','3','','','','',NULL,'24','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c8f26e4b80f4356bde061ccddb95f2c','0','2','0'),
('30531','0','','10318','Get images','docker.images','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b2be6316b8d4d019443062f0809b579','0','2','0'),
('30611','0','','10319','Ping','memcached.ping["{$MEMCACHED.CONN.URI}"]','1m','31d','365d','0','3','','','','',NULL,'25','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57a4c2e763c3430daacd4495b91c3e74','0','2','0'),
('30612','0','','10319','Get status','memcached.stats["{$MEMCACHED.CONN.URI}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a096b6d7d9945fe9a25d1fb5c835f1a','0','2','0'),
('30637','0','','10320','Version','mysql.version["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MySQL server version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8058b068b90748fea464443058103fc8','0','2','0'),
('30638','0','','10320','Status','mysql.ping["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','1m','31d','365d','0','3','','','','',NULL,'26','','','0','','','','','0',NULL,'MySQL server status.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ca25701d88a4d33899a515d8e25dd5b','0','2','0'),
('30639','0','','10320','Get status variables','mysql.get_status_variables["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets server global status information.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a18b1092c42a4560abac7af42b14f007','0','2','0'),
('30640','15','','10320','Buffer pool utilization','mysql.buffer_pool_utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'( last(//mysql.innodb_buffer_pool_pages_total) -
last(//mysql.innodb_buffer_pool_pages_free) ) /
( last(//mysql.innodb_buffer_pool_pages_total) +
( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_pages_total) > 0 )','','0','','','','','0',NULL,'Ratio of used to total pages in the buffer pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70a1642e80114fd3a129c5774acc4f50','0','2','0'),
('30641','15','','10320','Buffer pool efficiency','mysql.buffer_pool_efficiency','1m','31d','365d','0','0','','%','','',NULL,NULL,'100 - (last(//mysql.innodb_buffer_pool_reads) /
( last(//mysql.innodb_buffer_pool_read_requests) +
( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_read_requests) > 0 ))','','0','','','','','0',NULL,'The item shows how effectively the buffer pool is serving reads.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e222b97642d04128af8c1ec20e463152','0','2','0'),
('30685','12','','10321','Get IPMI sensors','ipmi.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The master item that receives all sensors with values for LLD and dependent elements from BMC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dbcf45cb09284fc19a17e7369c8fda43','0','2','0'),
('30690','3','','10322','Service status','net.tcp.service["{$ELASTICSEARCH.SCHEME}","{$ELASTICSEARCH.HOST}","{$ELASTICSEARCH.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'27','','','0','','','','','0',NULL,'Checks if the service is running and accepting TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0d38ce55f844a51a0f2131c86bec1ae','0','2','0'),
('30691','19','','10322','Get cluster stats','es.cluster.get_stats','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$ELASTICSEARCH.USERNAME}','{$ELASTICSEARCH.PASSWORD}','','','0',NULL,'Returns cluster statistics.','0','30d','0','',NULL,'15s','{$ELASTICSEARCH.SCHEME}://{$ELASTICSEARCH.HOST}:{$ELASTICSEARCH.PORT}/_cluster/stats','','','200','1','0','','','0','0','0','0','0','0','0','7066a66f352e4d79ba4aec11c0c5c611','0','2','0'),
('30692','3','','10322','Service response time','net.tcp.service.perf["{$ELASTICSEARCH.SCHEME}","{$ELASTICSEARCH.HOST}","{$ELASTICSEARCH.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Checks performance of the TCP service.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','671888d47c724e54aca78fbe1b3ecaed','0','2','0'),
('30693','19','','10322','Get nodes stats','es.nodes.get_stats','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$ELASTICSEARCH.USERNAME}','{$ELASTICSEARCH.PASSWORD}','','','0',NULL,'Returns cluster nodes statistics.','0','30d','0','',NULL,'30s','{$ELASTICSEARCH.SCHEME}://{$ELASTICSEARCH.HOST}:{$ELASTICSEARCH.PORT}/_nodes/stats','','','200','1','0','','','0','0','0','0','0','0','0','66c22b8b2b8b40fda7ac6f0ae472befd','0','2','0'),
('30694','19','','10322','Get cluster health','es.cluster.get_health','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$ELASTICSEARCH.USERNAME}','{$ELASTICSEARCH.PASSWORD}','','','0',NULL,'Returns the health status of a cluster.','0','30d','0','',NULL,'15s','{$ELASTICSEARCH.SCHEME}://{$ELASTICSEARCH.HOST}:{$ELASTICSEARCH.PORT}/_cluster/health?timeout=5s','','','200','1','0','','','0','0','0','0','0','0','0','7f587fd270be4eb68d81ae1de2a3ca1f','0','2','0'),
('30789','3','','10309','Service response time','net.tcp.service.perf["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f9c22a840764181be9cf98609e7f691','0','2','0'),
('30790','3','','10309','Service status','net.tcp.service["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'20','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','68cb52357d7443d79373df3890ed175f','0','2','0'),
('30821','19','','10323','Ping','clickhouse.ping','1m','31d','365d','0','3','','','','',NULL,'28','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/ping','','','','1','0','','','0','0','0','0','0','0','0','cb40b0cf1296436d9a4e41062d1b3fa9','0','2','0'),
('30822','19','','10323','Version','clickhouse.version','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Version of the server','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"SELECT version()"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','d09b77c25dfd45249df05fc3f6d45b7b','0','2','0'),
('30823','19','','10323','Get replicas info','clickhouse.replicas','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about replicas.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"SELECT database, table, is_readonly, is_session_expired, future_parts, parts_to_check, queue_size, inserts_in_queue, merges_in_queue, log_max_index, log_pointer, total_replicas, active_replicas, log_max_index - log_pointer as replica_lag FROM system.replicas format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','3793962be3494772832796c932947e1d','0','2','0'),
('30824','19','','10323','Get system.asynchronous_metrics','clickhouse.system.asynchronous_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get metrics that are calculated periodically in the background','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select metric, value from system.asynchronous_metrics format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','6c84e0abd186467882d2d3842749f937','0','2','0'),
('30825','19','','10323','Get system.events','clickhouse.system.events','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about the number of events that have occurred in the system.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select event, value from system.events format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','8aa612d27547446e9457aeaf6e94e320','0','2','0'),
('30826','19','','10323','Get system.metrics','clickhouse.system.metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get metrics which can be calculated instantly, or have a current value format JSONEachRow','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select metric, value from system.metrics format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','2193464b67724392905deef21f2f7c20','0','2','0'),
('30827','19','','10323','Longest currently running query time','clickhouse.process.elapsed','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Get longest running query.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"SELECT max(elapsed) FROM system.processes"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','4fb14efc757542c1b50605bdfb2e23cb','0','2','0'),
('30828','19','','10323','Get tables info','clickhouse.tables','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about tables.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select database, table, sum(bytes) as bytes, count() as parts, sum(rows) as rows from system.parts where active = 1 group by database, table format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','042f4b688cfe488fbd0e80f40f51ce78','0','2','0'),
('30829','19','','10323','Get system.settings','clickhouse.system.settings','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about settings that are currently in use.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select name, value from system.settings format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','88c843c6d4fd43c794d1447109146312','0','2','0'),
('30830','19','','10323','Get dictionaries info','clickhouse.dictionaries','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about dictionaries.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"SELECT * FROM system.dictionaries format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','46d8ed7374274d71a06119f50463f26c','0','2','0'),
('30896','0','','10264','Get status','web.page.get["{$APACHE.STATUS.SCHEME}://{$APACHE.STATUS.HOST}:{$APACHE.STATUS.PORT}/{$APACHE.STATUS.PATH}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting data from a machine-readable version of the Apache status page.
For more information see Apache Module [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','115413a0f5ab4caba418ab841ad81eba','0','2','0'),
('30923','3','','10324','Service''s TCP port state','net.tcp.service["{$ETCD.SCHEME}","{$ETCD.HOST}","{$ETCD.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'29','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0f94f429b99432e86d15ffa74d6eada','0','2','0'),
('30924','19','','10324','Node health','etcd.health','1m','31d','365d','0','3','','','','',NULL,'150','','','1','{$ETCD.USER}','{$ETCD.PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'','{$ETCD.SCHEME}://{$ETCD.HOST}:{$ETCD.PORT}/health','','','200','1','0','','','0','0','0','0','0','0','0','3fde4db8b9684ba4b56ba915e48957b5','0','2','0'),
('30925','19','','10324','Get node metrics','etcd.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$ETCD.USER}','{$ETCD.PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'','{$ETCD.SCHEME}://{$ETCD.HOST}:{$ETCD.PORT}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','34ffab33275a400ab88e5217dee5ef96','0','2','0'),
('30926','19','','10324','Get version','etcd.get_version','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$ETCD.SCHEME}://{$ETCD.HOST}:{$ETCD.PORT}/version','','','200','1','0','','','0','0','0','0','0','0','0','fdf7593420ab42b2a5af8f8b8030b517','0','2','0'),
('30968','3','','10325','{$IIS.PORT} port ping','net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}]','1m','31d','365d','0','3','','','','',NULL,'30','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96f2dd86997d4e259875b2fa9b1a3169','0','2','0'),
('30969','0','','10325','Total connection attempts',E'perf_counter_en["\\Web Service(_Total)\\Total Connection Attempts (all instances)"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','805f7dca2ac74f5bbfb81c5e7bfa6e09','0','2','0'),
('30970','0','','10325','Method POST requests per second',E'perf_counter_en["\\Web Service(_Total)\\Post Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f1210173665453e84f8f330a8c15eea','0','2','0'),
('30971','0','','10325','Method PROPFIND requests per second',E'perf_counter_en["\\Web Service(_Total)\\Propfind Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f197e93e03d04025bc855d4d77c35010','0','2','0'),
('30972','0','','10325','Method PROPPATCH requests per second',E'perf_counter_en["\\Web Service(_Total)\\Proppatch Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','55c71bab45b04a2ca2afb526bf7c3e7f','0','2','0'),
('30973','0','','10325','Method PUT requests per second',E'perf_counter_en["\\Web Service(_Total)\\Put Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PUT method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1d19cf6c920465184aa2b2a8b4439c9','0','2','0'),
('30974','0','','10325','Method MS-SEARCH requests per second',E'perf_counter_en["\\Web Service(_Total)\\Search Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20ae8a67912045dc9b69c83d68e5e8ea','0','2','0'),
('30975','0','','10325','Uptime',E'perf_counter_en["\\Web Service(_Total)\\Service Uptime"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The service uptime expressed in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4aa9419482eb484a8fc1773bee8b2993','0','2','0'),
('30976','0','','10325','Method Total requests per second',E'perf_counter_en["\\Web Service(_Total)\\Total Method Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of all HTTP requests received. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90eb19d7d37f439da2c78c44d85784ef','0','2','0'),
('30977','0','','10325','Method OPTIONS requests per second',E'perf_counter_en["\\Web Service(_Total)\\Options Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the OPTIONS method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22ececa2db2d488587b1194883723ea6','0','2','0'),
('30978','0','','10325','Method TRACE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Trace Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the TRACE method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2ddd72243ba4a499a7a1e9ba6e4046c','0','2','0'),
('30979','0','','10325','Method TRACE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Unlock Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05a19416695b436daf701d9750b015a8','0','2','0'),
('30980','0','','10325','Files cache hits percentage',E'perf_counter_en["\\Web Service Cache\\File Cache Hits %"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e4b39ec2cca49fb9fb5a306c2724568','0','2','0'),
('30981','0','','10325','File cache misses',E'perf_counter_en["\\Web Service Cache\\File Cache Misses"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of unsuccessful lookups in the user-mode file cache since service startup.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9c46d370afc496ba0a0ad0c141b4490','0','2','0'),
('30982','0','','10325','URIs cache hits percentage',E'perf_counter_en["\\Web Service Cache\\URI Cache Hits %"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The ratio of user-mode URI Cache Hits to total cache requests (since service startup)','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','566f0bea097e4b0bb7042e4f0302ff26','0','2','0'),
('30983','0','','10325','URI cache misses',E'perf_counter_en["\\Web Service Cache\\URI Cache Misses"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of unsuccessful lookups in the user-mode URI cache since service startup.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab1884be28b54ea7bb187bbe843bb6a7','0','2','0'),
('30984','0','','10325','World Wide Web Publishing Service (W3SVC) state','service.info[W3SVC]','1m','31d','365d','0','3','','','','',NULL,'46','','','0','','','','','0',NULL,'The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d76ec3d35f6446c842595c4831fabf4','0','2','0'),
('30985','0','','10325','Method Total Other requests per second',E'perf_counter_en["\\Web Service(_Total)\\Other Request Methods/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1653ca4c0c6743f39d9b1e764022da7c','0','2','0'),
('30986','0','','10325','Not Found errors per second',E'perf_counter_en["\\Web Service(_Total)\\Not Found Errors/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of errors due to requests that couldn''t be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11d9995d25114e4fad666a1b75734c01','0','2','0'),
('30987','0','','10325','Anonymous users per second',E'perf_counter_en["\\Web Service(_Total)\\Anonymous Users/sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of requests from users over an anonymous connection per second. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50d8f5a08bbc494b8525f26eedbee781','0','2','0'),
('30988','0','','10325','Current connections',E'perf_counter_en["\\Web Service(_Total)\\Current Connections"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of active connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1baed2823f1a4d2ca618cac5ab8bbcbb','0','2','0'),
('30989','0','','10325','Bytes Received per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Received/sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac80660edbb74c1fb4739368806900d5','0','2','0'),
('30990','0','','10325','Bytes Sent per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Sent/sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute at which data bytes are sent by the service.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a0648316a164446bbf605930469d4c4','0','2','0'),
('30991','0','','10325','Bytes Total per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Total/Sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f086d17b51254e16bd43b57b39dc000e','0','2','0'),
('30992','0','','10325','Method CGI requests per second',E'perf_counter_en["\\Web Service(_Total)\\CGI Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b94dc0df81234c7d97197fe30875d5e9','0','2','0'),
('30993','0','','10325','Connection attempts per second',E'perf_counter_en["\\Web Service(_Total)\\Connection Attempts/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e8244ebb5524c72af1d506df7bb2982','0','2','0'),
('30994','0','','10325','Method COPY requests per second',E'perf_counter_en["\\Web Service(_Total)\\Copy Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b4cb17b486643eda9a560b43af70d74','0','2','0'),
('30995','0','','10325','Method DELETE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Delete Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the DELETE method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','350a6c7fac354570bbba04aa2fd6c98a','0','2','0'),
('30996','0','','10325','NonAnonymous users per second',E'perf_counter_en["\\Web Service(_Total)\\NonAnonymous Users/sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of requests from users over a non-anonymous connection per second. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d67523ef47464f8c9735d0a0359b5c77','0','2','0'),
('30997','0','','10325','Method GET requests per second',E'perf_counter_en["\\Web Service(_Total)\\Get Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ae641f632ae4422a6f71898078dc2ee','0','2','0'),
('30998','0','','10325','Method HEAD requests per second',E'perf_counter_en["\\Web Service(_Total)\\Head Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e37ff2d4d1b4bf6bad855a3d09ec6c7','0','2','0'),
('30999','0','','10325','Method ISAPI requests per second',E'perf_counter_en["\\Web Service(_Total)\\ISAPI Extension Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18217a40ddbc421fb2db1b19d1fb7d59','0','2','0'),
('31000','0','','10325','Locked errors per second',E'perf_counter_en["\\Web Service(_Total)\\Locked Errors/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of errors due to requests that couldn''t be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7634ae2a9d5454bbac631b55e896277','0','2','0'),
('31001','0','','10325','Method LOCK requests per second',E'perf_counter_en["\\Web Service(_Total)\\Lock Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','069548a7c9e840bb8975f9b02b582c51','0','2','0'),
('31002','0','','10325','Method MKCOL requests per second',E'perf_counter_en["\\Web Service(_Total)\\Mkcol Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02c1fe0d15d94744959e4b53b21309fe','0','2','0'),
('31003','0','','10325','Method MOVE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Move Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6395e8edb1394396bd7602f621cf4b00','0','2','0'),
('31004','0','','10325','Windows Process Activation Service (WAS) state','service.info[WAS]','1m','31d','365d','0','3','','','','',NULL,'46','','','0','','','','','0',NULL,'Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38858eb3cc2f4580a0a3c56c11fdeba5','0','2','0'),
('31010','3','','10326','{$IIS.PORT} port ping','net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}]','1m','31d','365d','0','3','','','','',NULL,'31','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fa6b28b8226408db07a2317a99581a5','0','2','0'),
('31011','7','','10326','Total connection attempts',E'perf_counter_en["\\Web Service(_Total)\\Total Connection Attempts (all instances)"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f181123b522946018d9ac90599693cfe','0','2','0'),
('31012','7','','10326','Method POST requests per second',E'perf_counter_en["\\Web Service(_Total)\\Post Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','222bb49332214781bc48a0eb610035c2','0','2','0'),
('31013','7','','10326','Method PROPFIND requests per second',E'perf_counter_en["\\Web Service(_Total)\\Propfind Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','011fff85fb0440b78ca7857454577c08','0','2','0'),
('31014','7','','10326','Method PROPPATCH requests per second',E'perf_counter_en["\\Web Service(_Total)\\Proppatch Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b8a1eea86034a268ac37031c08d3740','0','2','0'),
('31015','7','','10326','Method PUT requests per second',E'perf_counter_en["\\Web Service(_Total)\\Put Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the PUT method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4615d7155d14f98b76705df1a5778e4','0','2','0'),
('31016','7','','10326','Method MS-SEARCH requests per second',E'perf_counter_en["\\Web Service(_Total)\\Search Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1cfef3952c346ccb39e85038e49ae63','0','2','0'),
('31017','7','','10326','Uptime',E'perf_counter_en["\\Web Service(_Total)\\Service Uptime"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The service uptime expressed in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d53040c921324b2195045dacb3738d6f','0','2','0'),
('31018','7','','10326','Method Total requests per second',E'perf_counter_en["\\Web Service(_Total)\\Total Method Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of all HTTP requests received. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff70ce9edf1c45ba8263d33847992baf','0','2','0'),
('31019','7','','10326','Method OPTIONS requests per second',E'perf_counter_en["\\Web Service(_Total)\\Options Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the OPTIONS method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dcb0338dc59d4c95b9f712fed84a3aa2','0','2','0'),
('31020','7','','10326','Method TRACE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Trace Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the TRACE method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fff9e968d5474adfbfd4ae9e19d836d9','0','2','0'),
('31021','7','','10326','Method TRACE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Unlock Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b6b770a6b014b8c857277e1d9cf6ffe','0','2','0'),
('31022','7','','10326','Files cache hits percentage',E'perf_counter_en["\\Web Service Cache\\File Cache Hits %"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ef9aec68d5b4fe79b17453ab8988b59','0','2','0'),
('31023','7','','10326','File cache misses',E'perf_counter_en["\\Web Service Cache\\File Cache Misses"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of unsuccessful lookups in the user-mode file cache since service startup.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a041713a95e746f5b4797a7aecaed9a5','0','2','0'),
('31024','7','','10326','URIs cache hits percentage',E'perf_counter_en["\\Web Service Cache\\URI Cache Hits %"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The ratio of user-mode URI Cache Hits to total cache requests (since service startup)','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5488881cba254b6b8f49ebacae2bc4c4','0','2','0'),
('31025','7','','10326','URI cache misses',E'perf_counter_en["\\Web Service Cache\\URI Cache Misses"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of unsuccessful lookups in the user-mode URI cache since service startup.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffd18aef119f4c7c845c6a3e76fb747d','0','2','0'),
('31026','7','','10326','World Wide Web Publishing Service (W3SVC) state','service.info[W3SVC]','1m','31d','365d','0','3','','','','',NULL,'47','','','0','','','','','0',NULL,'The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31d4f21ce4c6412b912ca65fe9aee83c','0','2','0'),
('31027','7','','10326','Method Total Other requests per second',E'perf_counter_en["\\Web Service(_Total)\\Other Request Methods/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb6a098fef824b2e9abe80b4331190f4','0','2','0'),
('31028','7','','10326','Not Found errors per second',E'perf_counter_en["\\Web Service(_Total)\\Not Found Errors/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of errors due to requests that couldn''t be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13e65fdff0704e6f87133b8efe34704f','0','2','0'),
('31029','7','','10326','Anonymous users per second',E'perf_counter_en["\\Web Service(_Total)\\Anonymous Users/sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of requests from users over an anonymous connection per second. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e70f872ed9184757b8a62c732658faa5','0','2','0'),
('31030','7','','10326','Current connections',E'perf_counter_en["\\Web Service(_Total)\\Current Connections"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of active connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b316e2896f041dca9b4adc601093b5c','0','2','0'),
('31031','7','','10326','Bytes Received per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Received/sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64816de795864c8fae879e670dfe9e93','0','2','0'),
('31032','7','','10326','Bytes Sent per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Sent/sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute at which data bytes are sent by the service.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b0b636e0bbd4948b3047071a4b964fc','0','2','0'),
('31033','7','','10326','Bytes Total per second',E'perf_counter_en["\\Web Service(_Total)\\Bytes Total/Sec", 60]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5abf01f6e7a7419d9a1de9803ccf1060','0','2','0'),
('31034','7','','10326','Method CGI requests per second',E'perf_counter_en["\\Web Service(_Total)\\CGI Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37b23949ca94466eb552c6fd8239b650','0','2','0'),
('31035','7','','10326','Connection attempts per second',E'perf_counter_en["\\Web Service(_Total)\\Connection Attempts/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d32eb1398fa7454eb91329aa39d1e90e','0','2','0'),
('31036','7','','10326','Method COPY requests per second',E'perf_counter_en["\\Web Service(_Total)\\Copy Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','182bceaa31194bdd8c906cf226039b0b','0','2','0'),
('31037','7','','10326','Method DELETE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Delete Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the DELETE method made. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7da6cf8a65b94b6f8d89dc53c7de38eb','0','2','0'),
('31038','7','','10326','NonAnonymous users per second',E'perf_counter_en["\\Web Service(_Total)\\NonAnonymous Users/sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of requests from users over a non-anonymous connection per second. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6dfe3dbde2544c5080c3845d54c83219','0','2','0'),
('31039','7','','10326','Method GET requests per second',E'perf_counter_en["\\Web Service(_Total)\\Get Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5381bfc071524f32bb5290379d2e978d','0','2','0'),
('31040','7','','10326','Method HEAD requests per second',E'perf_counter_en["\\Web Service(_Total)\\Head Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','414b17c9eb11460cb55d35aeb7b8c071','0','2','0'),
('31041','7','','10326','Method ISAPI requests per second',E'perf_counter_en["\\Web Service(_Total)\\ISAPI Extension Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5b38b5472214d629e832d2709c64b3c','0','2','0'),
('31042','7','','10326','Locked errors per second',E'perf_counter_en["\\Web Service(_Total)\\Locked Errors/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of errors due to requests that couldn''t be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74fed9efa0ae4301aab2f73d76fd8357','0','2','0'),
('31043','7','','10326','Method LOCK requests per second',E'perf_counter_en["\\Web Service(_Total)\\Lock Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cdf63d485cd1419385caabc050eb533c','0','2','0'),
('31044','7','','10326','Method MKCOL requests per second',E'perf_counter_en["\\Web Service(_Total)\\Mkcol Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edbe50383897434cb33378b973628061','0','2','0'),
('31045','7','','10326','Method MOVE requests per second',E'perf_counter_en["\\Web Service(_Total)\\Move Requests/Sec", 60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51a74530b894484a9ba101eb1176a982','0','2','0'),
('31046','7','','10326','Windows Process Activation Service (WAS) state','service.info[WAS]','1m','31d','365d','0','3','','','','',NULL,'47','','','0','','','','','0',NULL,'Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f016ce3ab3941b78741dfb72c6d7693','0','2','0'),
('31054','3','','10323','Check port availability','net.tcp.service[{$CLICKHOUSE.SCHEME},"{$CLICKHOUSE.HOST}","{$CLICKHOUSE.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'28','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','68d1e19a6ec2401ba0dd509de7df2812','0','2','0'),
('31055','11','','10327','Get performance counters','db.odbc.get[get_status_variables,"{$MSSQL.DSN}"]','0;m0-59','0','0','0','4','','','','',NULL,NULL,'DECLARE @SQLNAME NVARCHAR(22)
SET @SQLNAME = CASE WHEN @@SERVICENAME = ''MSSQLSERVER'' THEN ''SQLServer'' ELSE ''MSSQL$'' + @@SERVICENAME END
SELECT object_name,
counter_name,
instance_name,
cntr_value
FROM sys.dm_os_performance_counters
UNION SELECT @SQLNAME AS object_name,
''Version'' AS counter_name,
@@version AS instance_name,
0 AS cntr_value
UNION SELECT @SQLNAME AS object_name,
''Uptime'' AS counter_name,
'''' AS instance_name,
DATEDIFF(second, sqlserver_start_time, GETDATE()) AS cntr_value
FROM sys.dm_os_sys_info
UNION SELECT @SQLNAME + '':Databases'' AS object_name,
''State'' AS counter_name,
name AS instance_name,
state AS cntr_value
FROM sys.databases
UNION SELECT a.object_name,
''BufferCacheHitRatio'' AS counter_name,
'''' AS instance_name,
cast(a.cntr_value * ISNULL((100.0 / NULLIF(b.cntr_value,0)),0) AS dec(3, 0)) AS cntr_value
FROM sys.dm_os_performance_counters a
JOIN (
SELECT cntr_value,
OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = ''Buffer cache hit ratio base''
AND OBJECT_NAME = @SQLNAME + '':Buffer Manager''
) b
ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = ''Buffer cache hit ratio''
AND a.OBJECT_NAME = @SQLNAME + '':Buffer Manager''
UNION SELECT a.object_name,
''WorktablesFromCacheRatio'' AS counter_name,
'''' AS instance_name,
cast(a.cntr_value * ISNULL((100.0 / NULLIF(b.cntr_value,0)),0) AS dec(3, 0)) AS cntr_value
FROM sys.dm_os_performance_counters a
JOIN (
SELECT cntr_value,
OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = ''Worktables From Cache Base''
AND OBJECT_NAME = @SQLNAME + '':Access Methods''
) b
ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = ''Worktables From Cache Ratio''
AND a.OBJECT_NAME = @SQLNAME + '':Access Methods''
UNION SELECT a.object_name,
''CacheHitRatio'' AS counter_name,
''_Total'' AS instance_name,
cast(a.cntr_value * ISNULL((100.0 / NULLIF(b.cntr_value,0)),0) AS dec(3, 0)) AS cntr_value
FROM sys.dm_os_performance_counters a
JOIN (
SELECT cntr_value,
OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = ''Cache Hit Ratio base''
AND OBJECT_NAME = @SQLNAME + '':Plan Cache''
AND instance_name = ''_Total''
) b
ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = ''Cache Hit Ratio''
AND a.OBJECT_NAME = @SQLNAME + '':Plan Cache''
AND instance_name = ''_Total''','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'The item gets server global status information.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','ff07b83d161c4e0fbddf8c2e2c282258','0','2','0'),
('31056','15','','10327','Total average wait time','mssql.average_wait_time','0;m0-59s3','31d','365d','0','0','','ms','','',NULL,NULL,'(last(//mssql.average_wait_time_raw) - last(//mssql.average_wait_time_raw,#2)) /
(last(//mssql.average_wait_time_base) - last(//mssql.average_wait_time_base,#2) +
(last(//mssql.average_wait_time_base) - last(//mssql.average_wait_time_base,#2)=0))','','0','','','','','0',NULL,'The average wait time, in milliseconds, for each lock request that had to wait.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2915866b5891480aafd73463aca88a21','0','2','0'),
('31057','3','','10327','Service''s TCP port state','net.tcp.service[tcp,{$MSSQL.HOST},{$MSSQL.PORT}]','30s','31d','365d','0','3','','','','',NULL,'32','','','0','','','','','0',NULL,'Test the availability of MSSQL Server on a TCP port.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0302965c2574b43955a1d37a8fce9eb','0','2','0'),
('31058','15','','10327','Average latch wait time','mssql.average_latch_wait_time','0;m0-59s3','31d','365d','0','0','','ms','','',NULL,NULL,'(last(//mssql.average_latch_wait_time_raw) - last(//mssql.average_latch_wait_time_raw,#2)) /
(last(//mssql.average_latch_wait_time_base) - last(//mssql.average_latch_wait_time_base,#2) +
(last(//mssql.average_latch_wait_time_base) - last(//mssql.average_latch_wait_time_base,#2)=0))','','0','','','','','0',NULL,'Average latch wait time (in milliseconds) for latch requests that had to wait.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d49af2907d541719e4482439de3ef40','0','2','0'),
('31183','0','','10328','Service''s TCP port state','net.tcp.service[tcp,{$ORACLE.HOST},{$ORACLE.PORT}]','30s','31d','365d','0','3','','','','',NULL,'33','','','0','','','','','0',NULL,'Checks the availability of Oracle on the TCP port.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ee99dfbd8dd4048bc2867aaa2fc335e','0','2','0'),
('31184','0','','10328','Number of LISTENER processes','proc.num[,,,"tnslsnr LISTENER"]','30s','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of running listener processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf89a6ced768432a9cc3c27e1e3159d0','0','2','0'),
('31185','11','','10328','Get system metrics','db.odbc.get[get_system_metrics,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','0;m0-59','0','0','0','4','','','','',NULL,NULL,'SELECT ''SYS::'' || METRIC_NAME AS METRIC, ROUND(VALUE,3) as VALUE
FROM V$SYSMETRIC WHERE GROUP_ID = 2
UNION
SELECT ''SYSPARAM::'' || INITCAP(NAME) AS METRIC, to_number(VALUE)
FROM V$SYSTEM_PARAMETER WHERE NAME IN (''sessions'', ''processes'', ''db_files'')
UNION
SELECT ''SESSION::Long time locked'' ,count(*) FROM V$SESSION s WHERE s.BLOCKING_SESSION IS NOT NULL AND s.BLOCKING_SESSION_STATUS=''VALID'' AND s.SECONDS_IN_WAIT > {$ORACLE.SESSION.LOCK.MAX.TIME}
UNION
SELECT ''SESSION::Lock rate'' ,(cnt_block / cnt_all)* 100 pct
FROM ( SELECT COUNT(*) cnt_block FROM v$session WHERE blocking_session IS NOT NULL), ( SELECT COUNT(*) cnt_all FROM v$session)
UNION
SELECT ''SESSION::Long time locked'' ,count(*) FROM V$SESSION s WHERE s.BLOCKING_SESSION IS NOT NULL AND s.BLOCKING_SESSION_STATUS=''VALID'' AND s.SECONDS_IN_WAIT > {$ORACLE.SESSION.LOCK.MAX.TIME}
UNION
SELECT ''SESSION::Total'', COUNT(*) AS VALUE FROM V$SESSION
UNION
SELECT ''SESSION::Concurrency rate'', NVL(ROUND(SUM(duty_act.cnt*100 / num_cores.val)), 0)
FROM
( SELECT DECODE(session_state, ''ON CPU'', ''CPU'', wait_class) wait_class, ROUND(COUNT(*)/(60 * 15), 1) cnt
FROM v$active_session_history sh
WHERE sh.sample_time >= SYSDATE - 15 / 1440 AND DECODE(session_state, ''ON CPU'', ''CPU'', wait_class) IN(''Concurrency'')
GROUP BY DECODE(session_state, ''ON CPU'', ''CPU'', wait_class)) duty_act,
( SELECT SUM(value) val FROM v$osstat WHERE stat_name = ''NUM_CPU_CORES'') num_cores
UNION
SELECT ''PGA::'' || INITCAP(NAME), VALUE FROM V$PGASTAT
UNION
SELECT ''FRA::Space Limit'' AS METRIC, space_limit AS VALUE FROM V$RECOVERY_FILE_DEST
UNION
SELECT ''FRA::Space Used'', space_used AS VALUE FROM V$RECOVERY_FILE_DEST
UNION
SELECT ''FRA::Space Reclaimable'', space_reclaimable AS VALUE FROM V$RECOVERY_FILE_DEST
UNION
SELECT ''FRA::Number Of Files'', number_of_files AS VALUE FROM V$RECOVERY_FILE_DEST
UNION
SELECT ''FRA::Usable Pct'', DECODE(space_limit, 0, 0,(100-(100 *(space_used-space_reclaimable)/ space_limit))) AS VALUE FROM V$RECOVERY_FILE_DEST
UNION
SELECT ''FRA::Restore Point'', COUNT(*) AS VALUE FROM V$RESTORE_POINT
UNION
SELECT ''PROC::Procnum'', COUNT(*) FROM v$process
UNION
SELECT ''DATAFILE::Count'', COUNT(*) FROM v$datafile
UNION
SELECT ''SGA::'' || INITCAP(pool), SUM(bytes) FROM V$SGASTAT
WHERE pool IN ( ''java pool'', ''large pool'' ) GROUP BY pool
UNION
SELECT ''SGA::Shared Pool'', SUM(bytes) FROM V$SGASTAT
WHERE pool = ''shared pool'' AND name NOT IN (''library cache'', ''dictionary cache'', ''free memory'', ''sql area'')
UNION
SELECT ''SGA::'' || INITCAP(name), bytes FROM V$SGASTAT
WHERE pool IS NULL AND name IN (''log_buffer'', ''fixed_sga'')
UNION
SELECT ''SGA::Buffer_Cache'', SUM(bytes) FROM V$SGASTAT
WHERE pool IS NULL AND name IN (''buffer_cache'', ''db_block_buffers'')
UNION
SELECT ''REDO::Available'', count(*) from v$log t where t.status in (''INACTIVE'', ''UNUSED'')
UNION
SELECT ''USER::Expire password'', ROUND(DECODE(SIGN(NVL(u.expiry_date, SYSDATE + 999) - SYSDATE),-1, 0, NVL(u.expiry_date, SYSDATE + 999) - SYSDATE)) exp_passwd_days_before
FROM dba_users u WHERE username = UPPER(''{$ORACLE.USER}'');','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the values of the system metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3839683749974cdeafd9178bdccb38d6','0','2','0'),
('31188','11','','10328','Get instance state','db.odbc.get[get_instance_state,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT
INSTANCE_NAME,
HOST_NAME,
VERSION || ''-'' || EDITION AS VERSION,
floor((SYSDATE - startup_time)*60*60*24) AS UPTIME,
decode(status,''STARTED'',1,''MOUNTED'',2,''OPEN'',3,''OPEN MIGRATE'',4, 0) AS STATUS,
decode(archiver,''STOPPED'',1,''STARTED'',2,''FAILED'',3, 0) AS ARCHIVER,
decode(instance_role,''PRIMARY_INSTANCE'',1,''SECONDARY_INSTANCE'',2, 0) AS INSTANCE_ROLE
FROM v$instance;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the state of the current instance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dde19b79507648bd80a82a0575bf8671','0','2','0'),
('31274','0','','10329','Get bgwriter','pgsql.bgwriter["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_bgwriter:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-BGWRITER-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6020e17c25104cbfba182e9cddfe6336','0','2','0'),
('31275','0','','10329','Replication: Lag in bytes','pgsql.replication.lag.b["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da9ce769f9444a3f9600ce64c4ab2857','0','2','0'),
('31276','0','','10329','Get connections sum','pgsql.connections["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e926ecd967f342bf90e9923825147d64','0','2','0'),
('31277','0','','10329','Get dbstat sum','pgsql.dbstat.sum["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database as sums for all databases:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddddde3084d54f55838b970f44290523','0','2','0'),
('31279','0','','10329','Get dbstat','pgsql.dbstat["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3be06ec14cba44d0892f3271a599c473','0','2','0'),
('31280','0','','10329','Get locks','pgsql.locks["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7112eeb300c14d959c79715462bf9563','0','2','0'),
('31282','0','','10329','Ping','pgsql.ping["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1107','','','0','','','','','0',NULL,'Used to test a connection to see if it is alive. It is set to 0 if the query is unsuccessful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56323e572fa443228987c62039153825','0','2','0'),
('31283','0','','10329','Replication: Standby count','pgsql.replication.count["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of standby servers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a171db459d6144e4ad294579fb8dc56d','0','2','0'),
('31284','0','','10329','Replication: Lag in seconds','pgsql.replication.lag.sec["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a9eb8ee4a484911903688e620eb618b','0','2','0'),
('31285','0','','10329','Replication: Recovery role','pgsql.replication.recovery_role["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'123','','','0','','','','','0',NULL,'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4085b836bf614f3d910818074c386845','0','2','0'),
('31286','0','','10329','Replication: Status','pgsql.replication.status["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'125','','','0','','','','','0',NULL,'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c83904cbad74ff7a0d10136a233e6c6','0','2','0'),
('31287','0','','10329','Uptime','pgsql.uptime["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Time since the server started.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efa946a67e5844ecb905c68a2a6b85bb','0','2','0'),
('31288','0','','10329','Count of autovacuum workers','pgsql.autovacuum.count["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of autovacuum workers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9169b4b31554063b9d01d0d27b4beee','0','2','0'),
('31289','0','','10329','Get archive','pgsql.archive["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect archive status metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9f4284fd3a1459e9c519dbdd8ee3425','0','2','0'),
('31290','0','','10329','Get WAL','pgsql.wal.stat["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect write-ahead log (WAL) metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c3d96741af454f6b9a3a49b6117c31be','0','2','0'),
('31499','16','','10169','ClassLoading: Loaded class count','jmx["java.lang:type=ClassLoading","LoadedClassCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Displays number of classes that are currently loaded in the Java virtual machine.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d16a651b35234011876b4f0c98126988','0','2','0'),
('31516','16','','10169','OperatingSystem: File descriptors maximum count','jmx["java.lang:type=OperatingSystem","MaxFileDescriptorCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'This is the number of file descriptors we can have opened in the same process, as determined by the operating system. You can never have more file descriptors than this number.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c847c1239654be7b4f4d03fbb45ea4f','0','2','0'),
('31517','16','','10169','OperatingSystem: File descriptors opened','jmx["java.lang:type=OperatingSystem","OpenFileDescriptorCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'This is the number of opened file descriptors at the moment, if this reaches the MaxFileDescriptorCount, the application will throw an IOException: Too many open files. This could mean you are opening file descriptors and never closing them.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f72ee698db964f3c9ce84bbb4a1274d7','0','2','0'),
('31518','16','','10169','OperatingSystem: Process CPU Load','jmx["java.lang:type=OperatingSystem","ProcessCpuLoad"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'ProcessCpuLoad represents the CPU load in this process.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c252493c9304aabbb2930b9a82a1cbf','0','2','0'),
('31519','16','','10169','Runtime: JVM uptime','jmx["java.lang:type=Runtime","Uptime"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00007954da00442b9631e15995ef6cab','0','2','0'),
('31520','16','','10169','Runtime: JVM name','jmx["java.lang:type=Runtime","VmName"]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e824c36de524425eaac253bcf3a1f3ec','0','2','0'),
('31521','16','','10169','Runtime: JVM version','jmx["java.lang:type=Runtime","VmVersion"]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8675d659349414fa10cc11a1cd4ddd7','0','2','0'),
('31522','16','','10169','Threading: Daemon thread count','jmx["java.lang:type=Threading","DaemonThreadCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Number of daemon threads running.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2f0836103ea4358a740abc0010336ca','0','2','0'),
('31523','16','','10169','Threading: Peak thread count','jmx["java.lang:type=Threading","PeakThreadCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Maximum number of threads being executed at the same time since the JVM was started or the peak was reset.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1793243b7ed147f1a182876fda905ebc','0','2','0'),
('31524','16','','10169','Threading: Thread count','jmx["java.lang:type=Threading","ThreadCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of threads running at the current moment.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca198e0473384025aecbc16913800c0c','0','2','0'),
('31527','16','','10169','ClassLoading: Total loaded class count','jmx["java.lang:type=ClassLoading","TotalLoadedClassCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Displays the total number of classes that have been loaded since the Java virtual machine has started execution.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc79c5ac074f4266a88d5c239fa0fb70','0','2','0'),
('31529','16','','10169','ClassLoading: Unloaded class count','jmx["java.lang:type=ClassLoading","UnloadedClassCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Displays the total number of classes that have been loaded since the Java virtual machine has started execution.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7620bdebd044fb1b1d2cb293ea8912c','0','2','0'),
('31530','16','','10169','Compilation: Name of the current JIT compiler','jmx["java.lang:type=Compilation","Name"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Displays the total number of classes unloaded since the Java virtual machine has started execution.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d6880c07fcd42bebddc41f5f2eb7bdd','0','2','0'),
('31531','16','','10169','Compilation: Accumulated time spent','jmx["java.lang:type=Compilation","TotalCompilationTime"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Displays the approximate accumulated elapsed time spent in compilation, in seconds.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c097ea2de6034d1d94f528533562b896','0','2','0'),
('31544','16','','10169','Memory: Heap memory committed','jmx["java.lang:type=Memory","HeapMemoryUsage.committed"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Current heap memory allocated. This amount of memory is guaranteed for the Java virtual machine to use.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d98a8d00639742f4b62a29e0c7394d61','0','2','0'),
('31545','16','','10169','Memory: Heap memory maximum size','jmx["java.lang:type=Memory","HeapMemoryUsage.max"]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Maximum amount of heap that can be used for memory management. This amount of memory is not guaranteed to be available if it is greater than the amount of committed memory. The Java virtual machine may fail to allocate memory even if the amount of used memory does not exceed this maximum size.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e757e0d3d72548df97066632448dd18c','0','2','0'),
('31546','16','','10169','Memory: Heap memory used','jmx["java.lang:type=Memory","HeapMemoryUsage.used"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Current memory usage outside the heap.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c24cd559cd74ddb9ff0b167a3d37c23','0','2','0'),
('31547','16','','10169','Memory: Non-Heap memory committed','jmx["java.lang:type=Memory","NonHeapMemoryUsage.committed"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Current memory allocated outside the heap. This amount of memory is guaranteed for the Java virtual machine to use.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50bb1ecb0a2141bbba128dfc842a1e34','0','2','0'),
('31548','16','','10169','Memory: Non-Heap memory maximum size','jmx["java.lang:type=Memory","NonHeapMemoryUsage.max"]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Maximum amount of non-heap memory that can be used for memory management. This amount of memory is not guaranteed to be available if it is greater than the amount of committed memory. The Java virtual machine may fail to allocate memory even if the amount of used memory does not exceed this maximum size.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c6301dfec1c4e6c8ab26091e9372e91','0','2','0'),
('31549','16','','10169','Memory: Non-Heap memory used','jmx["java.lang:type=Memory","NonHeapMemoryUsage.used"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Current memory usage outside the heap','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58d2bb1791994cbcacb75d029ed8a21b','0','2','0'),
('31550','16','','10169','Memory: Object pending finalization count','jmx["java.lang:type=Memory","ObjectPendingFinalizationCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The approximate number of objects for which finalization is pending.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e309472afb794a2c9cd581275931db79','0','2','0'),
('31553','16','','10169','Threading: Total started thread count','jmx["java.lang:type=Threading","TotalStartedThreadCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of threads started since the JVM was launched.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9db83653dfa6449c95ffec2b0e6c8b5d','0','2','0'),
('31554','15','','10327','Percent of ad hoc queries running','mssql.percent_of_adhoc_queries','0;m0-59s3','31d','365d','0','0','','%','','',NULL,NULL,'last(//mssql.sql_compilations_sec.rate) * 100 /
(last(//mssql.batch_requests_sec.rate) + (last(//mssql.batch_requests_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of SQL compilations per second to batch requests per second, in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76918163a16e4ad786bed2040acc8061','0','2','0'),
('31555','15','','10327','Full scans to Index searches ratio','mssql.scan_to_search','0;m0-59s3','31d','365d','0','0','','','','',NULL,NULL,'last(//mssql.full_scans_sec.rate) / (last(//mssql.index_searches_sec.rate) + (last(//mssql.index_searches_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of full scans per second to index searches per second. The threshold recommendation is strictly for OLTP workloads.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ce27df57ebc4ecca1a4741e66c9fba0','0','2','0'),
('31556','15','','10327','Percent of Recompiled Transact-SQL Objects','mssql.percent_recompilations_to_compilations','0;m0-59s3','31d','365d','0','0','','%','','',NULL,NULL,'last(//mssql.sql_recompilations_sec.rate) * 100 /
(last(//mssql.sql_compilations_sec.rate) + (last(//mssql.sql_compilations_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of SQL re-compilations per second to SQL compilations per second, in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ceab0472883f47b0a18b04fc6f7438ab','0','2','0'),
('31570','0','','10330','Get status page','web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09ec73291f21417ab8f19f56fda3331f','0','2','0'),
('31571','0','','10330','php-fpm_ping','web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.PING.PAGE}","{$PHP_FPM.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0c438492c63453496e83938745ffffc','0','2','0'),
('31573','15','','10330','Queue usage','php-fpm.listen_queue_usage','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//php-fpm.listen_queue)/(last(//php-fpm.listen_queue_len)+(last(//php-fpm.listen_queue_len)=0))*100','','0','','','','','0',NULL,'The utilization of the queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dfabcd55c13449c29a48b70fdce77674','0','2','0'),
('31593','15','','10331','Queue usage','php-fpm.listen_queue_usage','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//php-fpm.listen_queue)/(last(//php-fpm.listen_queue_len)+(last(//php-fpm.listen_queue_len)=0))*100','','0','','','','','0',NULL,'The utilization of the queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','314c3f19311f47acb93b046ab2625c75','0','2','0'),
('31594','19','','10331','Get status page','php-fpm.get_status','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$PHP_FPM.SCHEME}://{$PHP_FPM.HOST}:{$PHP_FPM.PORT}/{$PHP_FPM.STATUS.PAGE}?json','','','200','1','0','','','0','0','0','0','0','0','0','b91063d42d4b454089b58e29ee3bdb38','0','2','0'),
('31595','19','','10331','Get ping page','php-fpm.get_ping','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$PHP_FPM.SCHEME}://{$PHP_FPM.HOST}:{$PHP_FPM.PORT}/{$PHP_FPM.PING.PAGE}','','','200','1','0','','','2','0','0','0','0','0','0','a9ae24915703483ea95a346c625ed70e','0','2','0'),
('31612','3','','10173','Event log','vmware.eventlog[{$VMWARE.URL},skip]','1m','31d','0','0','2','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Collect VMware event log. See also: https://www.zabbix.com/documentation/7.4/manual/config/items/preprocessing/examples#filtering_vmware_event_log_records','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ce209f4d94f460488a74a92a52d92b1','0','2','0'),
('31613','3','','10173','Full name','vmware.fullname[{$VMWARE.URL}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware service full name.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee2edadb8ce943ef81d25dbbba8667a4','0','2','0'),
('31614','3','','10173','Version','vmware.version[{$VMWARE.URL}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware service version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0ec9145f2234fbea79a28c57ebdb44d','0','2','0'),
('31684','0','','10335','Ping','oracle.ping["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','30s','31d','365d','0','3','','','','',NULL,'36','','','0','','','','','0',NULL,'Test the connection to Oracle Database state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f4d8ea4912944ec8bf32edff9e3b5ae','0','2','0'),
('31685','0','','10335','Datafiles count','oracle.datafiles.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of datafiles.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12efa23a53eb468ea7b0713b8f610542','0','2','0'),
('31686','0','','10335','Get FRA stats','oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get FRA statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1aa391bbd2484793a31dc9f0dce51b46','0','2','0'),
('31687','0','','10335','Number of processes','oracle.proc.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of user processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ce9dabcce58d408d8188fe7caa71e666','0','2','0'),
('31688','0','','10335','Get SGA stats','oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get SGA statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1bafc80a94fb454785362593b8a73be3','0','2','0'),
('31691','0','','10335','Get system metrics','oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','0;m0-59','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the values of the system metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eccce1efc85d46199b3147ec586e1cd5','0','2','0'),
('31692','0','','10335','Get instance state','oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the state of the current instance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c7dd0c162b742d08a2432c8bdde4ce2','0','2','0'),
('31693','0','','10335','Get system parameters','oracle.sys.params["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get a set of system parameter values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d59cca864e8044d89f9b4689ec712511','0','2','0'),
('31694','0','','10335','Get PGA stats','oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get PGA statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4926809f2c244b33b1a0650510a30fa4','0','2','0'),
('31695','0','','10335','Redo logs available to switch','oracle.redolog.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of inactive/unused redo logs available for log switching.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','898a5325c2a2469dabb6a2356107dd66','0','2','0'),
('31696','0','','10335','User''s expire password','oracle.user.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','1m','31d','365d','0','0','','days','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of days before the Zabbix account password expires.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73ff311f3d5c4e93b5919f5633fc09f9','0','2','0'),
('31698','0','','10335','Get sessions stats','oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get sessions statistics. {$ORACLE.SESSION.LOCK.MAX.TIME} -- maximum seconds in the current wait condition for counting long time locked sessions. Default: 600 seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41d61d167bf044fe9f0d9815b4fd27e6','0','2','0'),
('31760','0','','10335','Version','oracle.version["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The Oracle Server version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04c0b90a0a7c4d6a95f51d006a65a530','0','2','0'),
('31782','3','','10336','Service status','net.tcp.service["tcp","{$AMI.HOST}","{$AMI.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'37','','','0','','','','','0',NULL,'Asterisk Manager API port availability.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58e18df6a5534395bf74d3babdb73170','0','2','0'),
('31783','3','','10336','Service response time','net.tcp.service.perf["tcp","{$AMI.HOST}","{$AMI.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Asterisk Manager API performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09102393dc6a4ac598f02d95801c6ca0','0','2','0'),
('31784','19','','10336','Get stats','asterisk.get_stats','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Asterisk system information in JSON format.','0','30d','0','',NULL,'','{$AMI.URL}','[{"action":"login"},{"username":"{$AMI.USERNAME}"},{"secret":"{$AMI.SECRET}"}]','','200','1','0','','','1','0','0','0','0','0','0','7db3e9cdae3d4bffa7429617e351fce1','0','2','0'),
('32117','0','','10353','Get df','ceph.df.details["{$CEPH.CONNSTRING}","{$CEPH.USER}","{$CEPH.API.KEY}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af3e6faf835f41ef93cbbc44aa57f97e','0','2','0'),
('32118','0','','10353','Get OSD dump','ceph.osd.dump["{$CEPH.CONNSTRING}","{$CEPH.USER}","{$CEPH.API.KEY}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7eb1f67d81c4e2ba7c57cfbc81d1a00','0','2','0'),
('32119','0','','10353','Get overall cluster status','ceph.status["{$CEPH.CONNSTRING}","{$CEPH.USER}","{$CEPH.API.KEY}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b43d105f9d64a3a94196f3f3bc7eac3','0','2','0'),
('32120','0','','10353','Ping','ceph.ping["{$CEPH.CONNSTRING}","{$CEPH.USER}","{$CEPH.API.KEY}"]','1m','31d','365d','0','3','','','','',NULL,'38','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','911e8a654ca44e7ca56b8010ac7381c8','0','2','0'),
('32121','0','','10353','Get OSD stats','ceph.osd.stats["{$CEPH.CONNSTRING}","{$CEPH.USER}","{$CEPH.API.KEY}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35b63ca6519e4137bb7655e37ed08e51','0','2','0'),
('32239','3','','10355','Service ping','net.tcp.service[tcp,,{$SQUID.HTTP.PORT}]','1m','31d','365d','0','3','','','','',NULL,'39','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86cc718ce21b4ff9b0a09479ae3fc130','0','2','0'),
('32240','20','get[1.3.6.1.4.1.3495.1.3.1.7.0]','10355','Objects count','squid[cacheNumObjCount]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of objects stored by the cache','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','387bbd61d3bd469baa6c560afe8a18ae','0','2','0'),
('32241','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.6.5]','10355','ICP query service time per 5 minutes','squid[cacheIcpQuerySvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICP query service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb9d0c300beb47568e99ff7966e1b10e','0','2','0'),
('32242','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.6.60]','10355','ICP query service time per hour','squid[cacheIcpQuerySvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICP query service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9130a0bc53144fe992b701aa9159ff70','0','2','0'),
('32243','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.7.5]','10355','ICP reply service time per 5 minutes','squid[cacheIcpReplySvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICP reply service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35a7585432b3467585ff98b23e610d82','0','2','0'),
('32244','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.7.60]','10355','ICP reply service time per hour','squid[cacheIcpReplySvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICP reply service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94eab55af41a465196588d08acbacb56','0','2','0'),
('32245','20','get[1.3.6.1.4.1.3495.1.4.1.3.0]','10355','IP cache hits per second','squid[cacheIpHits]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of IP Cache hits','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5409583483e4024aabaab500bcb637a','0','2','0'),
('32246','20','get[1.3.6.1.4.1.3495.1.4.1.6.0]','10355','IP cache misses per second','squid[cacheIpMisses]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of IP Cache misses','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e474d2fd410472bb03024d2a2361b5d','0','2','0'),
('32247','20','get[1.3.6.1.4.1.3495.1.4.1.2.0]','10355','IP cache requests per second','squid[cacheIpRequests]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of IP Cache requests','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dc837a887c3c463a9011d923dbbfbc0f','0','2','0'),
('32248','20','get[1.3.6.1.4.1.3495.1.3.1.6.0]','10355','Memory maximum resident size','squid[cacheMaxResSize]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Maximum Resident Size','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70786920f94f41eeb0fc525c2e6431cf','0','2','0'),
('32249','20','get[1.3.6.1.4.1.3495.1.2.5.1.0]','10355','Memory maximum cache size','squid[cacheMemMaxSize]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The value of the cache_mem parameter','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d84c3a3633784f77bf9375bf59da490b','0','2','0'),
('32250','20','get[1.3.6.1.4.1.3495.1.3.1.3.0]','10355','Memory cache usage','squid[cacheMemUsage]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total accounted memory','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c14fe87f87ca48f39bbe765db60e0a41','0','2','0'),
('32251','20','get[1.3.6.1.4.1.3495.1.3.2.1.1.0]','10355','HTTP requests received per second','squid[cacheProtoClientHttpRequests]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of HTTP requests received','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e648a20db904e92ae4ec0c3f9037a99','0','2','0'),
('32252','20','get[1.3.6.1.4.1.3495.1.3.2.1.7.0]','10355','ICP messages received per second','squid[cacheIcpPktsRecv]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of ICP messages received','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ee83c13fa6d41dfb8bfea91c02341b9','0','2','0'),
('32253','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.10.1]','10355','Byte hit ratio per 1 minute','squid[cacheRequestByteRatio.1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31f3e3bb57d645ff8df6b9b8d1b70a49','0','2','0'),
('32254','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.10.5]','10355','Byte hit ratio per 5 minutes','squid[cacheRequestByteRatio.5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e19775b9c83648d58655a1130c5771e4','0','2','0'),
('32255','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.10.60]','10355','Byte hit ratio per 1 hour','squid[cacheRequestByteRatio.60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffb3fc17631f4cd6b55ed6eefd2e6cea','0','2','0'),
('32256','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.9.1]','10355','Request hit ratio per 1 minute','squid[cacheRequestHitRatio.1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4ba5af69dd64fd8acf707ee1eaaeb32','0','2','0'),
('32257','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.9.5]','10355','Request hit ratio per 5 minutes','squid[cacheRequestHitRatio.5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5ae7935e9be40e18c3020820a7865c7','0','2','0'),
('32258','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.9.60]','10355','Request hit ratio per 1 hour','squid[cacheRequestHitRatio.60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Byte Hit Ratios','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b09f7a1d9dc340b88106016586099dba','0','2','0'),
('32259','20','get[1.3.6.1.4.1.3495.1.2.5.3.0]','10355','Cache swap high water mark','squid[cacheSwapHighWM]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache Swap High Water Mark','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69e4fb088c6949ac94eabcb892df46ab','0','2','0'),
('32260','20','get[1.3.6.1.4.1.3495.1.2.5.4.0]','10355','Cache swap low water mark','squid[cacheSwapLowWM]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache Swap Low Water Mark','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','221e583d7cf2455b9d848462de4b1e9a','0','2','0'),
('32261','20','get[1.3.6.1.4.1.3495.1.2.5.2.0]','10355','Cache swap directory size','squid[cacheSwapMaxSize]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total of the cache_dir space allocated','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','215aefddd30e41aea54e30678f290215','0','2','0'),
('32262','20','get[1.3.6.1.4.1.3495.1.3.1.1.0]','10355','Sys page faults per second','squid[cacheSysPageFaults]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Page faults with physical I/O','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38ad99f9b30c4d729030ceab6575f4f5','0','2','0'),
('32263','20','get[1.3.6.1.4.1.3495.1.1.3.0]','10355','Uptime','squid[cacheUptime]','5m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The Uptime of the cache in timeticks (in hundredths of a second) with preprocessing','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','67460731d9c94166870874239c9a60da','0','2','0'),
('32264','20','get[1.3.6.1.4.1.3495.1.3.2.1.6.0]','10355','ICP messages sent per second','squid[cacheIcpPktsSent]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of ICP messages sent','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dee7d8cf211b4ad0a645a8d6d4f24c31','0','2','0'),
('32265','20','get[1.3.6.1.4.1.3495.1.3.2.1.8.0]','10355','ICP traffic transmitted per second','squid[cacheIcpKbSent]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of ICP traffic transmitted','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7234b612b50a45e0a1bb69654e2e784d','0','2','0'),
('32266','20','get[1.3.6.1.4.1.3495.1.3.1.5.0]','10355','CPU usage','squid[cacheCpuUsage]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage use of the CPU','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d7f0f6b0f89462e96e86940b779eb69','0','2','0'),
('32267','20','get[1.3.6.1.4.1.3495.1.4.2.3.0]','10355','FQDN cache hits per second','squid[cacheFqdnHits]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of FQDN Cache hits','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0aea1fe702004d65919fc010c971c3b5','0','2','0'),
('32268','20','get[1.3.6.1.4.1.3495.1.3.1.12.0]','10355','File descriptor count - current used','squid[cacheCurrentFileDescrCnt]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of file descriptors in use','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','960b137ab773492ab3073e108575e4fc','0','2','0'),
('32269','20','get[1.3.6.1.4.1.3495.1.3.1.13.0]','10355','File descriptor count - current maximum','squid[cacheCurrentFileDescrMax]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Highest number of file descriptors in use','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37b45201f8444583b01e0df5af2bc14e','0','2','0'),
('32270','20','get[1.3.6.1.4.1.3495.1.3.1.8.0]','10355','Objects LRU expiration age','squid[cacheCurrentLRUExpiration]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Storage LRU Expiration Age','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','910afdc20767408f90d1bc5b7a9fd6a4','0','2','0'),
('32271','20','get[1.3.6.1.4.1.3495.1.3.1.11.0]','10355','File descriptor count - current reserved','squid[cacheCurrentResFileDescrCnt]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Reserved number of file descriptors','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26b8b1a25dc74099b61813905477b414','0','2','0'),
('32272','20','get[1.3.6.1.4.1.3495.1.3.2.1.14.0]','10355','Cache swap current size','squid[cacheCurrentSwapSize]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Storage Swap Size','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35f3009401b6449d95988d9ee7a621a7','0','2','0'),
('32273','20','get[1.3.6.1.4.1.3495.1.3.1.9.0]','10355','Objects unlinkd requests','squid[cacheCurrentUnlinkRequests]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Requests given to unlinkd','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0789a0fa3e3b42a08a5e5bf8d0307970','0','2','0'),
('32274','20','get[1.3.6.1.4.1.3495.1.3.1.10.0]','10355','File descriptor count - current available','squid[cacheCurrentUnusedFDescrCnt]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Available number of file descriptors','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6bc024be663b466ca677941130e11f50','0','2','0'),
('32275','20','get[1.3.6.1.4.1.3495.1.4.3.2.0]','10355','DNS server replies per second','squid[cacheDnsReplies]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of external dns server replies','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1aecf10756f949999c8f3fe5ce9c2a32','0','2','0'),
('32276','20','get[1.3.6.1.4.1.3495.1.4.3.1.0]','10355','DNS server requests per second','squid[cacheDnsRequests]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of external dns server requests','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5f647c77bdb498e9cc286795bc4077c','0','2','0'),
('32277','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.8.5]','10355','DNS service time per 5 minutes','squid[cacheDnsSvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'DNS service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f4366896dd84b8ab78d6e3dc8a6ab63','0','2','0'),
('32278','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.8.60]','10355','DNS service time per hour','squid[cacheDnsSvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'DNS service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99448052f1a34e15a5c042124db7b651','0','2','0'),
('32279','20','get[1.3.6.1.4.1.3495.1.4.2.6.0]','10355','FQDN cache misses per second','squid[cacheFqdnMisses]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of FQDN Cache misses','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2dea9b707b844d32b65a2d479ddb7d72','0','2','0'),
('32280','20','get[1.3.6.1.4.1.3495.1.3.2.1.9.0]','10355','ICP traffic received per second','squid[cacheIcpKbRecv]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of ICP traffic received','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bde307ead15d48859a97e35e52327d50','0','2','0'),
('32281','20','get[1.3.6.1.4.1.3495.1.4.2.2.0]','10355','FQDN cache requests per second','squid[cacheFqdnRequests]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of FQDN Cache requests','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1dad3f381c174b869c73f55cd831b40a','0','2','0'),
('32282','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.2.5]','10355','HTTP all service time per 5 minutes','squid[cacheHttpAllSvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP all service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','633a70cd41c44f2c895148a7ae394acd','0','2','0'),
('32283','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.2.60]','10355','HTTP all service time per hour','squid[cacheHttpAllSvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP all service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3aa021743134d97af9dd8840b0ef692','0','2','0'),
('32284','20','get[1.3.6.1.4.1.3495.1.3.2.1.3.0]','10355','HTTP Errors sent per second','squid[cacheHttpErrors]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of HTTP Errors sent to clients','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f5bd8f89ea0495ea87c294fb8c606dd','0','2','0'),
('32285','20','get[1.3.6.1.4.1.3495.1.3.2.1.2.0]','10355','HTTP Hits sent from cache per second','squid[cacheHttpHits]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of HTTP Hits sent to clients from cache','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','adfe3e2fc775400991d2ea2f06218daf','0','2','0'),
('32286','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.5.5]','10355','HTTP hit service time per 5 minutes','squid[cacheHttpHitSvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP hit service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c4fd7c154a44442a3cec82ba4026b7d','0','2','0'),
('32287','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.5.60]','10355','HTTP hit service time per hour','squid[cacheHttpHitSvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP hit service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a642c99d6c3f4f5e8ec218459fd76f04','0','2','0'),
('32288','20','get[1.3.6.1.4.1.3495.1.3.2.1.4.0]','10355','HTTP traffic received per second','squid[cacheHttpInKb]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of HTTP traffic received from clients','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2366a6008cb4dc7856904ea5c6631dd','0','2','0'),
('32289','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.3.5]','10355','HTTP miss service time per 5 minutes','squid[cacheHttpMissSvcTime.5]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP miss service time per 5 minutes','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8fa271a272442369b6cbc4fb1a2decc','0','2','0'),
('32290','20','get[1.3.6.1.4.1.3495.1.3.2.2.1.3.60]','10355','HTTP miss service time per hour','squid[cacheHttpMissSvcTime.60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'HTTP miss service time per hour','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23e5a3bd6e9a4c50a7d54336a6afc1e1','0','2','0'),
('32291','20','get[1.3.6.1.4.1.3495.1.3.2.1.5.0]','10355','HTTP traffic sent per second','squid[cacheHttpOutKb]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of HTTP traffic sent to clients','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff6b7946363d44bba5721c82c8f84df7','0','2','0'),
('32292','20','get[1.3.6.1.4.1.3495.1.2.3.0]','10355','Version','squid[cacheVersionId]','1m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache Software Version','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7c7f0faa1f64745be774e30e6f0b68f','0','2','0'),
('32364','0','','10357','Get connections sum','pgsql.connections.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0da0c4856a645ca8ef03405d2d8d4a5','0','2','0'),
('32365','0','','10357','Get locks','pgsql.locks["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7cee21f6225340ef80e9cdef7ce20b10','0','2','0'),
('32366','0','','10357','Ping time','pgsql.ping.time["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Used to get the `SELECT 1` query execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f42bd73b3af6451b8a3a6113dcc1b675','0','2','0'),
('32367','0','','10357','Ping','pgsql.ping["{$PG.HOST}","{$PG.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'40','','','0','','','','','0',NULL,'Used to test a connection to see if it is alive. It is set to 0 if the instance doesn''t accept the connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5bd615243b344cb88dac1e83436cc85','0','2','0'),
('32368','0','','10357','Get queries','pgsql.queries["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics by query execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47bf580e1e4e48cf9c0e94fcf90288ac','0','2','0'),
('32369','0','','10357','Replication: Standby count','pgsql.replication.count["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of standby servers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8a509bd011a4ecda5d439295e257e9d','0','2','0'),
('32370','0','','10357','Replication: Lag in seconds','pgsql.replication.lag.sec["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21f8bea1141249c7a4dfafad5bc3ef41','0','2','0'),
('32371','0','','10357','Replication: Recovery role','pgsql.replication.recovery_role["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'124','','','0','','','','','0',NULL,'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09f696124fca4c5b844bf66c9c912b87','0','2','0'),
('32372','0','','10357','Replication: Status','pgsql.replication.status["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'126','','','0','','','','','0',NULL,'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d449017462704508a4aad51a6b45fb30','0','2','0'),
('32373','0','','10357','Config hash','pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL configuration hash.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','248cbe5067324b9ca435f2aced5e2a5f','0','2','0'),
('32374','0','','10357','Cache hit ratio, %','pgsql.cache.hit["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache hit ratio.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70a7581fabd14e05bda762b79811187c','0','2','0'),
('32375','0','','10357','Get bgwriter','pgsql.bgwriter["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_bgwriter:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-BGWRITER-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1fc5ba48a0974bd7bf965b5f130deded','0','2','0'),
('32376','0','','10357','Get transactions','pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect metrics by transaction execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff26a1c256bd40978f49a7a025538aa1','0','2','0'),
('32377','0','','10357','Uptime','pgsql.uptime["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Time since the server started.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6418a2f286e64ecabf2295fca063f8af','0','2','0'),
('32378','0','','10357','Version','pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','321525ebcea44396922e96deec2e8ad1','0','2','0'),
('32379','0','','10357','Get WAL','pgsql.wal.stat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect write-ahead log (WAL) metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7cd6c524ecab41f9a22489866d503361','0','2','0'),
('32380','0','','10357','Get dbstat','pgsql.dbstat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b44f263fb33e461e8c3d700fb7688c7b','0','2','0'),
('32463','21','','10359','Get data','aranet.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var Aranet = {
params: {},
auth_token: null,
refresh_token: null,
space_id: null,
setParams: function (params) {
[''api_endpoint'', ''username'', ''password'', ''space_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Aranet.params = params;
if (typeof Aranet.params.api_endpoint === ''string'') {
if (!Aranet.params.api_endpoint.endsWith(''/'')) {
Aranet.params.api_endpoint += ''/'';
}
}
},
request: function (method, query, data) {
var response,
request = new HttpRequest(),
url = Aranet.params.api_endpoint + query;
request.addHeader(''Content-Type: application/json'');
if (Aranet.auth_token !== null) {
request.addHeader(''Authorization: Bearer '' + Aranet.auth_token);
}
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ Aranet scraper ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
var message = ''Request failed with status code '' + request.getStatus();
message += '': '' + response;
throw message;
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Aranet Cloud. Check debug log for more information.'';
}
}
return {
status: request.getStatus(),
response: response
};
},
login: function () {
var result,
data = {
login: Aranet.params.username,
passw: Aranet.params.password
};
result = Aranet.request(''post'', ''user/login'', data);
if (typeof result.response !== ''object''
|| typeof result.response.auth === ''undefined''
|| result.status != 200) {
throw ''Cannot login to Aranet Cloud. Check debug log for more information.'';
}
Aranet.auth_token = result.response.auth;
Aranet.refresh_token = result.response.refresh;
var spaces = result.response.spaces;
for (var key in spaces) {
if (spaces[key] == Aranet.params.space_name) {
Aranet.space_id = key;
break;
}
}
return result.response;
},
logout: function () {
var result,
data = {
refresh: Aranet.refresh_token
};
try {
result = Aranet.request(''post'', ''user/logout'', data);
if (result.status != 204) {
throw ''Cannot logout from Aranet Cloud '' + request.getStatus() + '': '' + result.response;
}
}
catch (error) {
Zabbix.log(4, ''[ Aranet scraper ] '' + error)
}
},
getMetrics: function () {
var result = Aranet.request(''get'', ''metrics/'' + Aranet.space_id);
if (typeof result.response !== ''object''
|| typeof result.response.data === ''undefined''
|| result.status != 200) {
throw ''Cannot get metrics data from Aranet Cloud. Check debug log for more information.'';
};
return result.response;
},
getSensors: function () {
var result = Aranet.request(''get'', ''sensors/'' + Aranet.space_id + ''?fields=devices,metrics,telemetry,name'');
if (typeof result.response !== ''object''
|| typeof result.response.data === ''undefined''
|| result.status != 200) {
throw ''Cannot get sensors data from Aranet Cloud. Check debug log for more information.'';
};
return result.response;
},
getGateways: function () {
var result = Aranet.request(''get'', ''gateways/'' + Aranet.space_id);
if (typeof result.response !== ''object''
|| typeof result.response.devices === ''undefined''
|| result.status != 200) {
throw ''Cannot get gateways data from Aranet Cloud. Check debug log for more information.'';
};
return result.response;
}
}
var processed_metrics = {},
processed_sensors = [];
try {
Aranet.setParams(JSON.parse(value));
Aranet.login();
var raw_metrics = Aranet.getMetrics(),
raw_sensors = Aranet.getSensors(),
raw_gateways = Aranet.getGateways();
Aranet.logout();
var items = raw_metrics.data.items;
for (item_idx in items) {
var unit_name,
units = items[item_idx].units;
units.some(function (unit) {
unit_name = unit.name;
if (unit.selected) {
return true;
}
});
processed_metrics[items[item_idx].id] = {
name: items[item_idx].name,
unit: unit_name
}
delete items[item_idx];
}
var items = raw_sensors.data.items;
for (item_idx in items) {
var upd_ts = 0,
gateway = {},
sensor_metrics = [],
metrics = items[item_idx].metrics,
telemetry = items[item_idx].telemetry;
for (m_idx in metrics) {
var unit = processed_metrics[metrics[m_idx].id];
if (upd_ts < metrics[m_idx].t) {
upd_ts = metrics[m_idx].t;
}
sensor_metrics.push({
name: unit.name,
unit: unit.unit,
value: metrics[m_idx].v
});
}
for (var t_idx in telemetry) {
var unit = processed_metrics[telemetry[t_idx].id];
if (upd_ts < telemetry[t_idx].t) {
upd_ts = telemetry[t_idx].t;
}
sensor_metrics.push({
name: unit.name,
unit: unit.unit,
value: telemetry[t_idx].v
});
}
raw_gateways.devices.some(function (dev) {
if (items[item_idx].devices[0].id === dev.id) {
gateway = {
id: dev.id,
name: dev.device
}
return true;
}
})
if (upd_ts) {
sensor_metrics.push({
name: ''Last update'',
unit: ''s'',
value: upd_ts
});
}
var sensor_id = parseInt(items[item_idx].id).toString(16).slice(-5);
processed_sensors.push({
id: sensor_id,
name: items[item_idx].name.trim() === '''' ? sensor_id : items[item_idx].name,
gateway: gateway,
metrics: sensor_metrics
});
delete items[item_idx];
}
return JSON.stringify(processed_sensors);
}
catch (error) {
Zabbix.log(3, ''[ Aranet scraper ] ERROR: '' + error);
throw ''Scraping failed: '' + error;
}','','0','','','','','0',NULL,'','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','56f89fce2b1541b7898ad56362d4b28a','0','2','0'),
('32516','0','','10360','Databases total mounted',E'perf_counter_en["\\MSExchange Active Manager(_total)\\Database Mounted"]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of active database copies on the server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4978a9a4cff4ce88fbc82683b61eec4','0','2','0'),
('32517','0','','10360','ActiveSync: ping command pending',E'perf_counter_en["\\MSExchange ActiveSync\\Ping Commands Pending", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of ping commands currently pending in the queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b59700d8db8472fbde41c85c7a06ffc','0','2','0'),
('32518','0','','10360','ActiveSync: requests per second',E'perf_counter_en["\\MSExchange ActiveSync\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of HTTP requests received from the client via ASP.NET per second. Determines the current Exchange ActiveSync request rate. Used only to determine current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa70b4e2d17c44c6945dd2d1c971c34c','0','2','0'),
('32519','0','','10360','ActiveSync: sync commands per second',E'perf_counter_en["\\MSExchange ActiveSync\\Sync Commands/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of sync commands processed per second. Clients use this command to synchronize items within a folder.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8528015c73134a239d7ac235464788dd','0','2','0'),
('32520','0','','10360','Autodiscover: requests per second',E'perf_counter_en["\\MSExchangeAutodiscover\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of Autodiscover service requests processed each second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','456cb7af0b224a59afabae36d24d2cbc','0','2','0'),
('32521','0','','10360','Availability Service: availability requests per second',E'perf_counter_en["\\MSExchange Availability Service\\Availability Requests (sec)", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests serviced per second. The request can be only for free/ busy information or include suggestions. One request may contain multiple mailboxes. Determines the rate at which Availability service requests are occurring.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9a539175cbb4259b064a787a25e9dbe','0','2','0'),
('32522','0','','10360','Outlook Web App: current unique users',E'perf_counter_en["\\MSExchange OWA\\Current Unique Users", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of unique users currently logged on to Outlook Web App. This value monitors the number of unique active user sessions, so that users are only removed from this counter after they log off or their session times out. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c2a83dfef35497baf8c38b801854882','0','2','0'),
('32523','0','','10360','Outlook Web App: requests per second',E'perf_counter_en["\\MSExchange OWA\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests handled by Outlook Web App per second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c7fd331673e4d84aa09551222469b08','0','2','0'),
('32524','0','','10360','MSExchangeWS: requests per second',E'perf_counter_en["\\MSExchangeWS\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests processed each second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9808449df53148a9a988a69d66944371','0','2','0'),
('32546','7','','10361','Databases total mounted',E'perf_counter_en["\\MSExchange Active Manager(_total)\\Database Mounted"]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of active database copies on the server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5af1c3257c264abda20023eae10b3b86','0','2','0'),
('32547','7','','10361','ActiveSync: ping command pending',E'perf_counter_en["\\MSExchange ActiveSync\\Ping Commands Pending", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of ping commands currently pending in the queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb9de29f56124a77a6ac1d3f8cbd72e9','0','2','0'),
('32548','7','','10361','ActiveSync: requests per second',E'perf_counter_en["\\MSExchange ActiveSync\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of HTTP requests received from the client via ASP.NET per second. Determines the current Exchange ActiveSync request rate. Used only to determine current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','038e740be37c40339520b4c4b1b0d18b','0','2','0'),
('32549','7','','10361','ActiveSync: sync commands per second',E'perf_counter_en["\\MSExchange ActiveSync\\Sync Commands/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of sync commands processed per second. Clients use this command to synchronize items within a folder.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','953665dbe8f948ff821333a4d50eada6','0','2','0'),
('32550','7','','10361','Autodiscover: requests per second',E'perf_counter_en["\\MSExchangeAutodiscover\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of Autodiscover service requests processed each second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8ed8a7e36c6453183aee1a778a4749a','0','2','0'),
('32551','7','','10361','Availability Service: availability requests per second',E'perf_counter_en["\\MSExchange Availability Service\\Availability Requests (sec)", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests serviced per second. The request can be only for free/ busy information or include suggestions. One request may contain multiple mailboxes. Determines the rate at which Availability service requests are occurring.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2260d98130814d369ac1c90324caaa26','0','2','0'),
('32552','7','','10361','Outlook Web App: current unique users',E'perf_counter_en["\\MSExchange OWA\\Current Unique Users", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of unique users currently logged on to Outlook Web App. This value monitors the number of unique active user sessions, so that users are only removed from this counter after they log off or their session times out. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4336fce2d27450b95de4f1bbbf947f3','0','2','0'),
('32553','7','','10361','Outlook Web App: requests per second',E'perf_counter_en["\\MSExchange OWA\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests handled by Outlook Web App per second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14344546f3a748fbb8f78e503e92255f','0','2','0'),
('32554','7','','10361','MSExchangeWS: requests per second',E'perf_counter_en["\\MSExchangeWS\\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]','{$MS.EXCHANGE.PERF.INTERVAL}','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Shows the number of requests processed each second. Determines current user load.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8c8e348c01e48ad92ee02060717e097','0','2','0'),
('32576','19','','10362','Application server status','gitlab.liveness','1m','31d','365d','0','3','','','','',NULL,'189','','','0','','','','','0',NULL,'Checks whether the application server is running. This probe is used to know if Rails Controllers are not deadlocked due to a multi-threading.','0','30d','0','',NULL,'','{$GITLAB.URL}/-/liveness{$GITLAB.HEALTH.TOKEN}','','','200','1','0','','','0','0','0','0','0','0','0','c48920e302ff4b9ab16f45b67775b440','0','2','0'),
('32577','19','','10362','Instance readiness check','gitlab.readiness','1m','31d','365d','0','3','','','','',NULL,'189','','','0','','','','','0',NULL,'The readiness probe checks whether the GitLab instance is ready to accept traffic via Rails Controllers.','0','30d','0','',NULL,'','{$GITLAB.URL}/-/readiness{$GITLAB.HEALTH.TOKEN}','','','200','1','0','','','0','0','0','0','0','0','0','794a8d7f474d490c96e714dac810140d','0','2','0'),
('32578','19','','10362','Get instance metrics','gitlab.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$GITLAB.URL}/-/metrics{$GITLAB.HEALTH.TOKEN}','','','200','1','0','','','0','0','0','0','0','0','0','2aa509b84dc14026b8ff8ed473add2d2','0','2','0'),
('32634','19','','10363','Get DataNodes states','hadoop.datanodes.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$HADOOP.NAMENODE.HOST}:{$HADOOP.NAMENODE.PORT}/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo','','','200','1','0','','','0','0','0','0','0','0','0','d2d19ac9d1eb434c98a55cbf76c27850','0','2','0'),
('32635','19','','10363','Get NodeManagers states','hadoop.nodemanagers.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$HADOOP.RESOURCEMANAGER.HOST}:{$HADOOP.RESOURCEMANAGER.PORT}/jmx?qry=Hadoop:service=ResourceManager,name=RMNMInfo','','','200','1','0','','','0','0','0','0','0','0','0','6d7546c5d15d4e478b2e87e35d5306b0','0','2','0'),
('32636','3','','10363','NameNode: Service status','net.tcp.service["tcp","{$HADOOP.NAMENODE.HOST}","{$HADOOP.NAMENODE.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'41','','','0','','','','','0',NULL,'Hadoop NameNode API port availability.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c52d856e07e4524abf3c2ae4b47c6b6','0','2','0'),
('32637','3','','10363','ResourceManager: Service response time','net.tcp.service.perf["tcp","{$HADOOP.RESOURCEMANAGER.HOST}","{$HADOOP.RESOURCEMANAGER.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Hadoop ResourceManager API performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98b11f1156dc472fbce27ca053e01d4e','0','2','0'),
('32638','3','','10363','NameNode: Service response time','net.tcp.service.perf["tcp","{$HADOOP.NAMENODE.HOST}","{$HADOOP.NAMENODE.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Hadoop NameNode API performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','66a87b21d32c436bb2d2eb23ec328f91','0','2','0'),
('32639','19','','10363','Get ResourceManager stats','hadoop.resourcemanager.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$HADOOP.RESOURCEMANAGER.HOST}:{$HADOOP.RESOURCEMANAGER.PORT}/jmx','','','200','1','0','','','0','0','0','0','0','0','0','e693cff98ec74cc198ec6b5e973f116c','0','2','0'),
('32640','3','','10363','ResourceManager: Service status','net.tcp.service["tcp","{$HADOOP.RESOURCEMANAGER.HOST}","{$HADOOP.RESOURCEMANAGER.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'41','','','0','','','','','0',NULL,'Hadoop ResourceManager API port availability.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','615b75c42ebe471da798a0613667d499','0','2','0'),
('32641','19','','10363','Get NameNode stats','hadoop.namenode.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$HADOOP.NAMENODE.HOST}:{$HADOOP.NAMENODE.PORT}/jmx','','','200','1','0','','','0','0','0','0','0','0','0','687406d06ce94a8291b2e72bb2f8bec4','0','2','0'),
('32693','16','','10364','Leader election per second','jmx["kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of leader elections per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf096fad8b83431a968095ce8f5d3029','0','2','0'),
('32694','16','','10364','Request handler average idle percent','jmx["kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent","OneMinuteRate"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Indicates the percentage of time that the request handler (IO) threads are not in use.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e7433fbf07d415ea40251a29364264c','0','2','0'),
('32695','16','','10364','Fetch-Consumer request total time, mean','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time for a request to update metadata.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c66e750dccd0461e82f8a3b5bd432333','0','2','0'),
('32696','16','','10364','Network processor average idle percent','jmx["kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent","Value"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The average percentage of time that the network processors are idle.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46a7230e12f8404c813e60fae1eaf91d','0','2','0'),
('32697','16','','10364','Uptime','jmx["kafka.server:type=app-info","start-time-ms"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The service uptime expressed in seconds.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','deca38d699f44dea90961be921d096e4','0','2','0'),
('32698','16','','10364','Version','jmx["kafka.server:type=app-info","version"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Current version of broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75bf053e436e4bb8bb2a94e86a0b194c','0','2','0'),
('32699','16','','10364','Bytes in per second','jmx["kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec","Count"]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The rate at which data sent from producers is consumed by the broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47dcd92e0ca64833af8d8112b7c66731','0','2','0'),
('32700','16','','10364','Bytes out per second','jmx["kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec","Count"]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The rate at which data is fetched and read from the broker by consumers.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d71ed49d3a1f4599b239105ab7435724','0','2','0'),
('32701','16','','10364','Bytes rejected per second','jmx["kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The rate at which bytes rejected per second by the broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15d9fe23872541f0bb3dd1ce33598a61','0','2','0'),
('32702','16','','10364','Client fetch request failed per second','jmx["kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of client fetch request failures per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ce7bb5db0674cb1a9504c4d8af72a00','0','2','0'),
('32703','16','','10364','Produce requests failed per second','jmx["kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of failed produce requests per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a26150db6e464090910b837b69e6df8f','0','2','0'),
('32704','16','','10364','Messages in per second','jmx["kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The rate at which individual messages are consumed by the broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28e488bbe6544d688e741b2ab0397275','0','2','0'),
('32705','16','','10364','Requests in producer purgatory','jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Fetch","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of requests waiting in producer purgatory.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3d88b98436040e494911b94ce72de8b','0','2','0'),
('32706','16','','10364','Requests in fetch purgatory','jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Produce","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of requests waiting in fetch purgatory.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d68c2995725745a5b1f3f4507a5fe49c','0','2','0'),
('32707','16','','10364','Replication maximum lag','jmx["kafka.server:type=ReplicaFetcherManager,name=MaxLag,clientId=Replica","Value"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The maximum lag between the time that messages are received by the leader replica and by the follower replicas.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb83a988422c40b792e23b10a0f2ba64','0','2','0'),
('32708','16','','10364','UpdateMetadata request total time, p95','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time for update metadata requests for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','230f713f85c748bd9d29d8d086fcc80a','0','2','0'),
('32709','16','','10364','ISR expands per second','jmx["kafka.server:type=ReplicaManager,name=IsrExpandsPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The rate at which the number of ISRs in the broker increases.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6125c4144c42452ea20c53c5365ad970','0','2','0'),
('32710','16','','10364','ISR shrink per second','jmx["kafka.server:type=ReplicaManager,name=IsrShrinksPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Rate of replicas leaving the ISR pool.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81eb0364269b40988404bd902ba409f4','0','2','0'),
('32711','16','','10364','Leader count','jmx["kafka.server:type=ReplicaManager,name=LeaderCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of replicas for which this broker is the leader.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9489608614ac4d96810362fc52901c55','0','2','0'),
('32712','16','','10364','Partition count','jmx["kafka.server:type=ReplicaManager,name=PartitionCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of partitions in the broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a737ce50a274c3696beade89187afd1','0','2','0'),
('32713','16','','10364','Number of reassigning partitions','jmx["kafka.server:type=ReplicaManager,name=ReassigningPartitions","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of reassigning leader partitions on a broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05fb33b225264059a2eef04a91963dbb','0','2','0'),
('32714','16','','10364','Under minimum ISR partition count','jmx["kafka.server:type=ReplicaManager,name=UnderMinIsrPartitionCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of partitions under the minimum In-Sync Replica (ISR) count.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b22cee3e3aa849a1b5098e18f42b3b3d','0','2','0'),
('32715','16','','10364','Under replicated partitions','jmx["kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of partitions that have not been fully replicated in the follower replicas (the number of non-reassigning replicas - the number of ISR > 0).','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f55e42503d7d4091bd4487a30bb144b9','0','2','0'),
('32716','16','','10364','Request queue size','jmx["kafka.server:type=Request","queue-size"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The size of the delay queue.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2086b19fcf84c1f948ec80726054dcd','0','2','0'),
('32717','16','','10364','ZooKeeper connection status','jmx["kafka.server:type=SessionExpireListener,name=SessionState","Value"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Connection status of broker''s ZooKeeper session.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e96464452c844cb7bdeaab62f7c7e5ed','0','2','0'),
('32718','16','','10364','ZooKeeper disconnect rate','jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperDisconnectsPerSec","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'ZooKeeper client disconnect per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9852aa0bf3074a319b83f695a9d0deca','0','2','0'),
('32719','16','','10364','ZooKeeper session expiration rate','jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperExpiresPerSec","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'ZooKeeper client session expiration per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e612950b2c5476e9634ce11f93dfd61','0','2','0'),
('32720','16','','10364','ZooKeeper readonly rate','jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperReadOnlyConnectsPerSec","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'ZooKeeper client readonly per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9f647cf41214ef7aab480d349f48c21','0','2','0'),
('32721','16','','10364','ZooKeeper sync rate','jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperSyncConnectsPerSec","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'ZooKeeper client sync per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b156305285bf4d508afd1d9c91ae34c0','0','2','0'),
('32722','16','','10364','UpdateMetadata request total time, p99','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time for update metadata requests for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e654055b20748a085178882d7b5bed9','0','2','0'),
('32723','16','','10364','Produce request total time, mean','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time in ms to serve the Produce request.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bcb9ecd5d77460fb25d2afa5173832b','0','2','0'),
('32724','16','','10364','Unclean leader election per second','jmx["kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of “unclean” elections per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57efca0b4b1e4d1298d7cf77d8d04c98','0','2','0'),
('32725','16','','10364','Produce response send time, p95','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','410c2ecf84fa4f67a9d0b0ca69d77338','0','2','0'),
('32726','16','','10364','Controller state on broker','jmx["kafka.controller:type=KafkaController,name=ActiveControllerCount","Value"]','1m','31d','365d','0','3','','','','',NULL,'190','','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'One indicates that the broker is the controller for the cluster.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b3ae38007db4fd5a4e0d3baf026b732','0','2','0'),
('32727','16','','10364','Offline partitions count','jmx["kafka.controller:type=KafkaController,name=OfflinePartitionsCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Number of partitions that don''t have an active leader.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','765a10af1fa6444bbeaa7b1669e3c8b2','0','2','0'),
('32728','16','','10364','Ineligible pending replica deletes','jmx["kafka.controller:type=KafkaController,name=ReplicasIneligibleToDeleteCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of ineligible pending replica deletes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f4b742f64a04254b607fd49fd7fbfa3','0','2','0'),
('32729','16','','10364','Pending replica deletes','jmx["kafka.controller:type=KafkaController,name=ReplicasToDeleteCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of pending replica deletes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77069f977a4b4277a13ef329c4cc810f','0','2','0'),
('32730','16','','10364','Ineligible pending topic deletes','jmx["kafka.controller:type=KafkaController,name=TopicsIneligibleToDeleteCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of ineligible pending topic deletes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddfd3ce0b846434fb4dddf391b956d6f','0','2','0'),
('32731','16','','10364','Pending topic deletes','jmx["kafka.controller:type=KafkaController,name=TopicsToDeleteCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of pending topic deletes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96c5cb8b0647481e90e0878c8bbc4d4b','0','2','0'),
('32732','16','','10364','Offline log directory count','jmx["kafka.log:type=LogManager,name=OfflineLogDirectoryCount","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The number of offline log directories (for example, after a hardware failure).','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c11c8666c0ba4f03b8ba15573b7a6ffd','0','2','0'),
('32733','16','','10364','Fetch-Consumer response send time, p95','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4fd9235510964af99e3c174c6a18773b','0','2','0'),
('32734','16','','10364','Fetch-Consumer response send time, p99','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3674bdbc6d7742399478a960c1a24647','0','2','0'),
('32735','16','','10364','Fetch-Consumer response send time, mean','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time taken, in milliseconds, to send the response.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04dea48528bb4f56bfcbf93576ba328f','0','2','0'),
('32736','16','','10364','Fetch-Follower response send time, p95','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57af4d4b76f548e897d9e66459928b40','0','2','0'),
('32737','16','','10364','Fetch-Follower response send time, p99','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5222217c516a4ab9926afd9ddbe6bfdb','0','2','0'),
('32738','16','','10364','Fetch-Follower response send time, mean','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time taken, in milliseconds, to send the response.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b11586ce79e846b495ed15a112959685','0','2','0'),
('32739','16','','10364','Produce response send time, p99','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The time taken, in milliseconds, to send the response for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5d7139fbd5a4688bba04d5837a21d3b','0','2','0'),
('32740','16','','10364','Produce request total time, p99','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the Produce requests for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b59938aa9192429890367ca1dc2e74b7','0','2','0'),
('32741','16','','10364','Produce response send time, mean','jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time taken, in milliseconds, to send the response.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e51118940ed4bd192774b8fa44aeb26','0','2','0'),
('32742','16','','10364','Temporary memory size in bytes (Fetch), max','jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Max"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The maximum of temporary memory used for converting message formats and decompressing messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10cd80d9dd0e4b918138aa99dcd28b2a','0','2','0'),
('32743','16','','10364','Temporary memory size in bytes (Fetch), min','jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Mean"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The minimum of temporary memory used for converting message formats and decompressing messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9034049c16424d81a22b0f0063657ed6','0','2','0'),
('32744','16','','10364','Temporary memory size in bytes (Produce), max','jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Max"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The maximum of temporary memory used for converting message formats and decompressing messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57a5c2d51b4f424baf34ab963eed45a4','0','2','0'),
('32745','16','','10364','Temporary memory size in bytes (Produce), avg','jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Mean"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The amount of temporary memory used for converting message formats and decompressing messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f28dcdf12db44b30a82b7a1bead52521','0','2','0'),
('32746','16','','10364','Temporary memory size in bytes (Produce), min','jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Min"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'The minimum of temporary memory used for converting message formats and decompressing messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eddaa3dce4be472ba2133674c845a53f','0','2','0'),
('32747','16','','10364','Fetch-Consumer request total time, p95','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the Fetch-Consumer request for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','36b32cc516ce48859fda10b348564446','0','2','0'),
('32748','16','','10364','Fetch-Consumer request total time, p99','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the specified Fetch-Consumer for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e08291248e4e42858303c27de441aa1b','0','2','0'),
('32749','16','','10364','Fetch-Consumer request total time, mean','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time in ms to serve the Fetch-Consumer request.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16c3eb799dca4ed7b167e1127406766e','0','2','0'),
('32750','16','','10364','Fetch-Follower request total time, p95','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the Fetch-Follower request for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01704212d78343c597f92fa151f3372a','0','2','0'),
('32751','16','','10364','Fetch-Follower request total time, p99','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","99thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the Fetch-Follower request for 99th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7d9215ee14a4d86b5ad38dbad26c247','0','2','0'),
('32752','16','','10364','Fetch-Follower request total time, mean','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","Mean"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Average time in ms to serve the Fetch-Follower request.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','487274528ec646afb5e04f6edd6619b5','0','2','0'),
('32753','16','','10364','Produce request total time, p95','jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Time in ms to serve the Produce requests for 95th percentile.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3680508a52524de08819abc3d81056be','0','2','0'),
('32754','16','','10364','ZooKeeper client request latency','jmx["kafka.server:type=ZooKeeperClientMetrics,name=ZooKeeperRequestLatencyMs","Count"]','1m','31d','365d','0','3','','ms','','',NULL,NULL,'','','0','{$KAFKA.USER}','{$KAFKA.PASSWORD}','','','0',NULL,'Latency in milliseconds for ZooKeeper requests from broker.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b6de5f72ed94b928684083fbb65b6cb','0','2','0'),
('32780','19','','10365','Get leader','vault.get_leader','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$VAULT.API.SCHEME}://{$VAULT.HOST}:{$VAULT.API.PORT}/v1/sys/leader','','','200','1','0','','X-Vault-Token: {$VAULT.TOKEN}','0','0','0','0','0','0','0','f92c90b99edc42d9b170d775c714fa0a','0','2','0'),
('32781','19','','10365','Get health','vault.get_health','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$VAULT.API.SCHEME}://{$VAULT.HOST}:{$VAULT.API.PORT}/v1/sys/health','','','200,429,472,473,503,501','1','0','','X-Vault-Token: {$VAULT.TOKEN}','0','0','0','0','0','0','0','a78063c1186540fb88d3b958b14250bf','0','2','0'),
('32782','19','','10365','Get metrics','vault.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$VAULT.API.SCHEME}://{$VAULT.HOST}:{$VAULT.API.PORT}/v1/sys/metrics?format=prometheus','','','200,503,403','1','0','','X-Vault-Token: {$VAULT.TOKEN}','0','0','0','0','0','0','0','4ccc4256252f4345a264db340f4ddbf5','0','2','0'),
('32783','21','','10365','Get tokens','vault.get_tokens','15m','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value);
params[''url''] = params.scheme + ''://''
+ params.host + '':''
+ params.port + ''/v1/auth/token/lookup-accessor'';
var request = new HttpRequest(),
output = [];
request.addHeader(''X-Vault-Token: '' + params.token);
params.accessors.trim().split(/\\x20+/).forEach(function (accessor) {
if (!accessor) {
return;
}
var response,
data = {},
error_msg = '''';
try {
response = request.post(params.url, JSON.stringify({ accessor: accessor }));
Zabbix.log(4, ''[ Vault API ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Vault API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
throw response.errors && response.errors[0] || JSON.stringify(response);
}
if (typeof response !== ''object'' || typeof response.data === ''undefined'') {
throw ''Cannot lookup token from Vault API. Check debug log for more information.'';
}
data = response.data;
}
catch (error) {
error_msg = error;
}
output.push({
''accessor'': accessor,
''token_name'': data.display_name || ''null'',
''ttl'': data.ttl || 0,
''has_ttl'': !!data.expire_time,
''error'': error_msg.toString()
});
});
return JSON.stringify(output);','','0','','','','','0',NULL,'Get information about tokens via their accessors. Accessors are defined in the macro "{$VAULT.TOKEN.ACCESSORS}".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8cb015d45ad4e3b9f87d3cbbae3a980','0','2','0'),
('32890','3','','10174','Cluster name','vmware.vm.cluster.name[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Cluster name of the guest VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','061eed2d40d5427092b50172ea0a9c41','0','2','0'),
('32891','3','','10174','Swapped memory','vmware.vm.memory.size.swapped[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of guest physical memory swapped out to the VM''s swap device by ESX.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b064f0e0a53f4f6588827100becb4335','0','2','0'),
('32892','3','','10174','Unshared storage space','vmware.vm.storage.unshared[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Total storage space, in bytes, occupied by the VM across all datastores that is not shared with any other VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35aa9ee1743e4c1787c426da20f48097','0','2','0'),
('32893','3','','10174','Uncommitted storage space','vmware.vm.storage.uncommitted[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Additional storage space, in bytes, potentially used by this VM on all datastores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8183cf2c54774d7eb544f645d5c26b8c','0','2','0'),
('32894','3','','10174','Committed storage space','vmware.vm.storage.committed[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Total storage space, in bytes, committed to this VM across all datastores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13173517c99e4a87aa6750392d14b255','0','2','0'),
('32895','3','','10174','Power state','vmware.vm.powerstate[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','','','',NULL,'51','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The current power state of the VM. One of the following:
- Powered off;
- Powered on;
- Suspended.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0943ff346c9d4cc69fc773843066c473','0','2','0'),
('32896','3','','10174','Memory size','vmware.vm.memory.size[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Total size of configured memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9533bc39366443fe8a3808190801441a','0','2','0'),
('32897','3','','10174','Host memory usage','vmware.vm.memory.size.usage.host[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of host physical memory allocated to the VM, accounting for the amount saved from memory sharing with other VMs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fcbe4e95fce445aa417b9738004391f','0','2','0'),
('32898','3','','10174','Guest memory usage','vmware.vm.memory.size.usage.guest[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of guest physical memory that is being used by the VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e960399726a240de9ecc12eff65415ae','0','2','0'),
('32899','3','','10174','Shared memory','vmware.vm.memory.size.shared[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of guest physical memory shared through transparent page sharing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6a539ee57bf48f78342358c391c65ea','0','2','0'),
('32900','3','','10174','Number of virtual CPUs','vmware.vm.cpu.num[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Number of virtual CPUs assigned to the guest.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbfb146e74144160b2e47c0f2cdc6c20','0','2','0'),
('32901','3','','10174','Private memory','vmware.vm.memory.size.private[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Amount of memory backed by host memory and not being shared.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6563409185804ed89b49dfde92edfa10','0','2','0'),
('32902','3','','10174','Compressed memory','vmware.vm.memory.size.compressed[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of memory currently in the compression cache for this VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e7b9360e4d84e9397b5f0a7ab074726','0','2','0'),
('32903','3','','10174','Ballooned memory','vmware.vm.memory.size.ballooned[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of guest physical memory that is currently reclaimed through the balloon driver.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fbe7477fd85a4ee39a9226b2c6995446','0','2','0'),
('32904','3','','10174','Hypervisor name','vmware.vm.hv.name[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Hypervisor name of the guest VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fedec469a1d040ae971e0013102e1e7c','0','2','0'),
('32905','3','','10174','Datacenter name','vmware.vm.datacenter.name[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Datacenter name of the guest VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e70b5d443b942db974b5f92a7acce19','0','2','0'),
('32906','3','','10174','CPU usage','vmware.vm.cpu.usage[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','Hz','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Current upper-bound on CPU usage. The upper-bound is based on the host the VM is current running on, as well as limits configured on the VM itself or any parent resource pool. Valid while the VM is running.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea416ff054cc4031ac6b5cf446156540','0','2','0'),
('32907','3','','10174','CPU ready','vmware.vm.cpu.ready[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','ms','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Time that the VM was ready, but unable to get scheduled to run on the physical CPU during the last measurement interval (VMware vCenter/ESXi Server performance counter sampling interval - 20 seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff0a31df94784cfbbf10deca55f76145','0','2','0'),
('32908','3','','10174','Uptime','vmware.vm.uptime[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'System uptime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c3b010d7ea74da6b0dc1dd4e625bbb0','0','2','0'),
('32909','3','','10175','Hypervisor ping','icmpping[]','1m','31d','365d','0','3','','','','',NULL,'43','','','0','','','','','0',NULL,'Checks if the hypervisor is running and accepting ICMP pings. One of the following:
- Down;
- Up.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3010cb082f23478b858912f944347530','0','2','0'),
('32910','3','','10175','Vendor','vmware.hv.hw.vendor[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The hardware vendor identification.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aec06090d16d4bdd8ed3494b448f19d8','0','2','0'),
('32911','3','','10175','Version','vmware.hv.version[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Dot-separated version string.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','222ad20887cf479b8e81a4c338078d17','0','2','0'),
('32912','3','','10175','Uptime','vmware.hv.uptime[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'System uptime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ecad96137494476293b57a0440de3f65','0','2','0'),
('32913','3','','10175','Overall status','vmware.hv.status[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','','','',NULL,'53','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The overall alarm status of the host. One of the following:
- Gray: Unknown;
- Green: OK;
- Yellow: It might have a problem;
- Red: It has a problem.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cec294521314c5482233b5b96e90c8d','0','2','0'),
('32915','3','','10175','Number of bytes transmitted','vmware.hv.network.out[{$VMWARE.URL},{$VMWARE.HV.UUID},bps]','1m','31d','365d','0','3','','Bps','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network output statistics (bytes per second).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b013afcba08b47f4a5b590a59f464a58','0','2','0'),
('32916','3','','10175','Number of bytes received','vmware.hv.network.in[{$VMWARE.URL},{$VMWARE.HV.UUID},bps]','1m','31d','365d','0','3','','Bps','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network input statistics (bytes per second).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33f78ab6ee6c4e7585a83a60cdecab6f','0','2','0'),
('32917','3','','10175','Used memory','vmware.hv.memory.used[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Physical memory usage on the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93d680d6886d446badbbe995ddd9ba9c','0','2','0'),
('32918','3','','10175','Ballooned memory','vmware.hv.memory.size.ballooned[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The amount of guest physical memory that is currently reclaimed through the balloon driver. Sum of all guest VMs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21020a79436a49c38caf8941f6b68da3','0','2','0'),
('32919','3','','10175','Bios UUID','vmware.hv.hw.uuid[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The hardware BIOS identification.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c4aab55b3e640779a25ac90b9ca2a43','0','2','0'),
('32920','3','','10175','Cluster name','vmware.hv.cluster.name[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Cluster name of the guest VM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af4d0877fda84753816c817ad76162f1','0','2','0'),
('32921','3','','10175','Model','vmware.hv.hw.model[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The system model identification.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ed7ac26da384bcda976badf24ebbec1','0','2','0'),
('32922','3','','10175','Total memory','vmware.hv.hw.memory[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The physical memory size.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ce89c38e6e5d4338a30ee150be1b2b67','0','2','0'),
('32923','3','','10175','CPU threads','vmware.hv.hw.cpu.threads[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Number of physical CPU threads on the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89cb0a4809e7454a862f398a0e9d6bed','0','2','0'),
('32924','3','','10175','CPU cores','vmware.hv.hw.cpu.num[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Number of physical CPU cores on the host. Physical CPU cores are the processors contained by a CPU package.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c99a5bf2e3904f97b3d361ca20af7883','0','2','0'),
('32925','3','','10175','CPU model','vmware.hv.hw.cpu.model[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The CPU model.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f0c35fcef9e4699ac5a1c51d80f8da4','0','2','0'),
('32926','3','','10175','CPU frequency','vmware.hv.hw.cpu.freq[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','365d','0','3','','Hz','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The speed of the CPU cores. This is an average value if there are multiple speeds. The product of CPU frequency and the number of cores is approximately equal to the sum of the MHz for all the individual cores on the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad0053d57b834e6a9776c08e1c455d55','0','2','0'),
('32927','3','','10175','Full name','vmware.hv.fullname[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'The complete product name, including the version information.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c29837f75f04d7f9a5786691b3dd991','0','2','0'),
('32928','3','','10175','Datacenter name','vmware.hv.datacenter.name[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Datacenter name of the hypervisor.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4d27d7f9b9048d4ae6c60cbdd6c0091','0','2','0'),
('32929','3','','10175','CPU usage','vmware.hv.cpu.usage[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','Hz','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Aggregated CPU usage across all cores on the host in Hz. This is only available if the host is connected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1bff6fbd300d4455a787a273d957bba3','0','2','0'),
('32930','3','','10175','Number of guest VMs','vmware.hv.vm.num[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Number of guest virtual machines.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2045df572e864834bd4bd97046353f4e','0','2','0'),
('32951','3','','10366','Event log','vmware.eventlog[{$VMWARE.URL},skip]','1m','31d','0','0','2','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Collect VMware event log. See also: https://www.zabbix.com/documentation/7.4/manual/config/items/preprocessing/examples#filtering_vmware_event_log_records','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64b8a28c1a904540930ebfec5af04872','0','2','0'),
('32952','3','','10366','Full name','vmware.fullname[{$VMWARE.URL}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware service full name.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ebb8417eceb541b1b51909c745642f05','0','2','0'),
('32953','3','','10366','Version','vmware.version[{$VMWARE.URL}]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware service version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edfdedd78e9c4c299a1555bd13b2f677','0','2','0'),
('32963','19','','10369','Get server metrics','zookeeper.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$ZOOKEEPER.SCHEME}://{$ZOOKEEPER.HOST}:{$ZOOKEEPER.PORT}/{$ZOOKEEPER.COMMAND_URL}/monitor','','','200','1','0','','','0','0','0','0','0','0','0','cf7e83297d6343fb87dcd7848f62ce41','0','2','0'),
('32964','19','','10369','Get connections stats','zookeeper.get_connections_stats','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information on client connections to server. Note, depending on the number of client connections this operation may be expensive (i.e. impact server performance).','0','30d','0','',NULL,'','{$ZOOKEEPER.SCHEME}://{$ZOOKEEPER.HOST}:{$ZOOKEEPER.PORT}/{$ZOOKEEPER.COMMAND_URL}/connections','','','200','1','0','','','0','0','0','0','0','0','0','f682f5d6e1664f919872f309371e4079','0','2','0'),
('33018','5','','10048','Utilization of availability manager internal processes, in %','zabbix[process,availability manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the availability manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5131f979c17a4346a95f8ba77e7133a4','0','2','0'),
('33020','5','','10047','Trend function cache, % of unique requests','zabbix[tcache,cache,pitems]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of the Zabbix trend function cache. The percentage of cached items calculated from the sum of the cached items plus requests.
A low percentage most likely means that the cache size can be reduced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b14a5ba6c93f4d6c9dfd820640d34e9b','0','2','0'),
('33021','5','','10047','Trend function cache, % of misses','zabbix[tcache,cache,pmisses]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of the Zabbix trend function cache. The percentage of cache misses.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6db1280cb0134e81af8e070ae2356e7b','0','2','0'),
('33022','5','','10047','Utilization of availability manager internal processes, in %','zabbix[process,availability manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the availability manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8677812221994919a46f6cbba16ad447','0','2','0'),
('33023','5','','10047','Utilization of history poller internal processes, in %','zabbix[process,history poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the history poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8de74bea977141469cf2d594bc907968','0','2','0'),
('33028','16','','10370','Cluster - Name','jmx["org.apache.cassandra.db:type=StorageService","ClusterName"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','147ba5946b994324b1f6d88a8d3b6541','0','2','0'),
('33029','16','','10370','Thread pool SecondaryIndexManagement - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
SecondaryIndexManagement: Performs updates to secondary indexes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18b83c6b48164e1f9b8f9ae6058da276','0','2','0'),
('33030','16','','10370','Thread pool HintsDispatcher - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
HintsDispatcher: Performs hinted handoff.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0efbb0ab0e3244428f5e5917fa73437c','0','2','0'),
('33031','16','','10370','Thread pool HintsDispatcher - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
HintsDispatcher: Performs hinted handoff.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4eb4e405cc564c9c8a694f085b1905dd','0','2','0'),
('33032','16','','10370','Thread pool MemtableFlushWriter - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
MemtableFlushWriter: Writes memtables to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fd397d3d09a494fb0032d97c93dc462','0','2','0'),
('33033','16','','10370','Thread pool MemtableFlushWriter - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
MemtableFlushWriter: Writes memtables to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0eaf8af68114b0eb1f16e7cb456a442','0','2','0'),
('33034','16','','10370','Thread pool MemtableFlushWriter - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
MemtableFlushWriter: Writes memtables to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e402261b410467cb177b3c02dd237f3','0','2','0'),
('33035','16','','10370','Thread pool MemtablePostFlush - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
MemtablePostFlush: Cleans up commit log after memtable is written to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','868e8d31c8424607a7f0aafd4eff46cf','0','2','0'),
('33036','16','','10370','Thread pool MemtablePostFlush - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
MemtablePostFlush: Cleans up commit log after memtable is written to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ddfd1f388ed4c3a9e81558e626f9525','0','2','0'),
('33037','16','','10370','Thread pool MemtablePostFlush - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
MemtablePostFlush: Cleans up commit log after memtable is written to disk.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e00f5f7ac9904ea4981c44a506005d62','0','2','0'),
('33038','16','','10370','Thread pool MigrationStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
MigrationStage: Runs schema migrations.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','480f3d158c764cd3877e0b04189eb60c','0','2','0'),
('33039','16','','10370','Thread pool MigrationStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
MigrationStage: Runs schema migrations.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f9b504b8b9f34f70a15691a16ee69e39','0','2','0'),
('33040','16','','10370','Thread pool MigrationStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
MigrationStage: Runs schema migrations.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79bc07acfef846768a036243efd3d954','0','2','0'),
('33041','16','','10370','Thread pool MiscStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
MiscStage: Miscellaneous tasks run here.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94360cbf59cc4978ab64872f9d0a9100','0','2','0'),
('33042','16','','10370','Thread pool MiscStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
MiscStage: Miscellaneous tasks run here.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a0ee6e0a2de4da5acfa715959dbae9f','0','2','0'),
('33043','16','','10370','Thread pool MiscStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
MiscStage: Miscellaneous tasks run here.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','807494ed64b54f9a95961fa7031e7d7f','0','2','0'),
('33044','16','','10370','Thread pool SecondaryIndexManagement - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
SecondaryIndexManagement: Performs updates to secondary indexes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','622728098a35433bb00b7ab1614665bc','0','2','0'),
('33045','16','','10370','Storage - Hints','jmx["org.apache.cassandra.metrics:type=Storage,name=TotalHints","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of hint messages written to this node since [re]start. Includes one entry for each host to be hinted per hint.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e0332f3770046b5b3ba4216111f3b3f','0','2','0'),
('33046','16','','10370','Thread pool SecondaryIndexManagement - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
SecondaryIndexManagement: Performs updates to secondary indexes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0dbd7303e9a64bc581ef8c6619876d2b','0','2','0'),
('33047','16','','10370','Thread pool CounterMutationStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
CounterMutationStage: Responsible for counter writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ff2b0f1c6a04cfca0d40a68c5a39476','0','2','0'),
('33048','16','','10370','Thread pool CounterMutationStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
CounterMutationStage: Responsible for counter writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0cc87b96d0e4f3c8ff2023665d90379','0','2','0'),
('33049','16','','10370','Thread pool CounterMutationStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
CounterMutationStage: Responsible for counter writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab2b8d88ecf54b028b88cd757581a419','0','2','0'),
('33050','16','','10370','Thread pool MutationStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
MutationStage: Responsible for writes (exclude materialized and counter writes).','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef7d71b026ec4e948acf8d7469b21ee2','0','2','0'),
('33051','16','','10370','Thread pool.MutationStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
MutationStage: Responsible for writes (exclude materialized and counter writes).','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2eb10fe498847c88b395013e4fb516c','0','2','0'),
('33052','16','','10370','Thread pool MutationStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
MutationStage: Responsible for writes (exclude materialized and counter writes).','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6e48ac0ece74e31803dd72310306330','0','2','0'),
('33053','16','','10370','Thread pool ReadStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
ReadStage: Local reads run on this thread pool.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e588e58881b74123bfa6f2d5d948da93','0','2','0'),
('33054','16','','10370','Thread pool ReadStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
ReadStage: Local reads run on this thread pool.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2770bde0ee834ddebcd773e265fa0aef','0','2','0'),
('33055','16','','10370','Thread pool ReadStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
ReadStage: Local reads run on this thread pool.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d9b20c6994c40849048cb5d0fe407ad','0','2','0'),
('33056','16','','10370','Thread pool ViewMutationStage - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
ViewMutationStage: Responsible for materialized view writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49df0b39c6a944d5ab96a946b233c380','0','2','0'),
('33057','16','','10370','Thread pool ViewMutationStage - Pending tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of queued tasks queued up on this pool.
ViewMutationStage: Responsible for materialized view writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','967065e24d2c44be96687cd829ea928c','0','2','0'),
('33058','16','','10370','Thread pool ViewMutationStage - Total blocked tasks','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=TotalBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that were blocked due to queue saturation.
ViewMutationStage: Responsible for materialized view writes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e6719076bbd46f78d3fb9b625a0cdda','0','2','0'),
('33059','16','','10370','Cluster - Nodes down','jmx["org.apache.cassandra.net:type=FailureDetector","DownEndpointCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f131a5faad964307aa860e3932ba781d','0','2','0'),
('33060','16','','10370','Thread pool HintsDispatcher - Currently blocked task','jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=CurrentlyBlockedTasks","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.
HintsDispatcher: Performs hinted handoff.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c9721f341904c5abb4d4a4637f6c80c','0','2','0'),
('33061','16','','10370','Storage - Used (bytes)','jmx["org.apache.cassandra.metrics:type=Storage,name=Load","Count"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Size, in bytes, of the on disk data size this node manages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31fabd5575074957946328b0257568c6','0','2','0'),
('33062','16','','10370','Version','jmx["org.apache.cassandra.db:type=StorageService","ReleaseVersion"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1bd80c1ce70045cbadf60ee06a09a989','0','2','0'),
('33063','16','','10370','KeyCache - requests per second','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Requests","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Rate of cache requests.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f6980f9267b4bef93e3a37153ef2184','0','2','0'),
('33064','16','','10370','Compaction - Number of completed tasks','jmx["org.apache.cassandra.metrics:name=CompletedTasks,type=Compaction","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of completed compactions since server [re]start.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b202aa02d0b74e8da321a2a19fe33880','0','2','0'),
('33065','16','','10370','Commitlog - Pending tasks','jmx["org.apache.cassandra.metrics:name=PendingTasks,type=CommitLog","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of commit log messages written but yet to be fsync''d.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7176e7e8241648d1b7e81a0b4d2d329c','0','2','0'),
('33066','16','','10370','Latency - Read median','jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","50thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency read from disk in milliseconds - median.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e4ad2b5249c465894b87006a38b9542','0','2','0'),
('33067','16','','10370','Latency - Read 75 percentile','jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","75thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency read from disk in milliseconds - p75.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8b0499f15a74102b6ca486dee07e99b','0','2','0'),
('33068','16','','10370','Latency - Read 95 percentile','jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency read from disk in milliseconds - p95.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e3a95a9119149889365691d932b8407','0','2','0'),
('33069','16','','10370','Commitlog - Total size','jmx["org.apache.cassandra.metrics:name=TotalCommitLogSize,type=CommitLog","Value"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Current size, in bytes, used by all the commit log segments.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70eebcf7274942eeae0a80911b7c9095','0','2','0'),
('33070','16','','10370','Compaction - Total compactions completed','jmx["org.apache.cassandra.metrics:name=TotalCompactionsCompleted,type=Compaction","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Throughput of completed compactions since server [re]start.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24e44d0bf8254131a032406ffad86732','0','2','0'),
('33071','16','','10370','Latency - Write median','jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","50thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency write to disk in milliseconds - median.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31ccd8b50bcb412893e91accb853d755','0','2','0'),
('33072','16','','10370','Latency - Write 75 percentile','jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","75thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency write to disk in milliseconds - p75.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f0aa624a54d45f5b6c8ead24694fc58','0','2','0'),
('33073','16','','10370','Latency - Write 95 percentile','jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Latency write to disk in milliseconds - p95.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc084d0142a94262b585d6b4a7b06468','0','2','0'),
('33074','16','','10370','KeyCache - Capacity','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Capacity","Value"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Cache capacity in bytes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','934eb483047649449bfa221e3cc610d3','0','2','0'),
('33075','16','','10370','KeyCache - Entries','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Entries","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total number of cache entries.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4f8435dfef0426682781711addbf075','0','2','0'),
('33076','16','','10370','KeyCache - HitRate','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=HitRate","Value"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'All time cache hit rate.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3351f07502d4cb8a16d4fa730a72a6a','0','2','0'),
('33077','16','','10370','KeyCache - Hits per second','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Hits","Count"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Rate of cache hits.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3980ae66ea1b415baa24078d26ebeaee','0','2','0'),
('33078','16','','10370','KeyCache - Size','jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Size","Value"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total size of occupied cache, in bytes.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8fed6058d4b45a7afcaf5a057622c19','0','2','0'),
('33079','16','','10370','Storage - Errors','jmx["org.apache.cassandra.metrics:type=Storage,name=Exceptions","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of internal exceptions caught. Under normal exceptions this should be zero.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b15aa6f290d14fd1bee094325c444e8b','0','2','0'),
('33080','16','','10370','Client connections - Native','jmx["org.apache.cassandra.metrics:type=Client,name=connectedNativeClients","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of clients connected to this nodes native protocol server.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','574ff464fe6b43cfb1d07e4ad1383c33','0','2','0'),
('33081','16','','10370','Client connections - Trifts','jmx["org.apache.cassandra.metrics:type=Client,name=connectedThriftClients","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of connected to this nodes thrift clients.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15d5bd0e534246a7922f8dbcc2a96a21','0','2','0'),
('33082','16','','10370','Latency - Client request read median','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","50thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving data to clients in milliseconds - median.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c1cf4b7835d4c66ac1e42840199594c','0','2','0'),
('33083','16','','10370','Latency - Client request read 75 percentile','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","75thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving data to clients in milliseconds - p75.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0606810baad4e438f6d69508cf11581','0','2','0'),
('33084','16','','10370','Latency - Client request read 95 percentile','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving data to clients in milliseconds - p95.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ed583b0546c4897b9ff423e36097046','0','2','0'),
('33085','16','','10370','Client request - Read per second','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'The number of client requests per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f68953ebaca4d089a11c78e04c9170f','0','2','0'),
('33086','16','','10370','Latency - Client request write median','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","50thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving write requests from clients in milliseconds - median.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72cdc0188682483d8c1d837f2c9c475b','0','2','0'),
('33087','16','','10370','Latency - Client request write 75 percentile','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","75thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving write requests from clients in milliseconds - p75.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a63545e0bf8d4c87818fe719c299b508','0','2','0'),
('33088','16','','10370','Latency - Client request write 95 percentile','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","95thPercentile"]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Total latency serving write requests from clients in milliseconds - p95.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','955f1f2615a14694bb20eedd07963ada','0','2','0'),
('33089','16','','10370','Client request - Write per second','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","Count"]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'The number of local write requests per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d914d6cd66ad48d09197a30819a386f9','0','2','0'),
('33090','16','','10370','Client request - Write Timeouts','jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Timeouts","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of write requests timeouts encountered.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','30b3ba5b576045dabda9b3a0914a1dc6','0','2','0'),
('33091','16','','10370','Compaction - Pending tasks','jmx["org.apache.cassandra.metrics:type=Compaction,name=PendingTasks","Value"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Estimated number of compactions remaining to perform.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e55942a9ef3c41e8993e8c8d849ff026','0','2','0'),
('33092','16','','10370','Dropped messages - Write (Mutation)','jmx["org.apache.cassandra.metrics:type=DroppedMessage,scope=MUTATION,name=Dropped","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of dropped regular writes messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4686c81fe1b42c2bbe049ec421b4533','0','2','0'),
('33093','16','','10370','Dropped messages - Read','jmx["org.apache.cassandra.metrics:type=DroppedMessage,scope=READ,name=Dropped","Count"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'Number of dropped regular reads messages.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2001c9fa67bc4ec4b693d289edc38cfa','0','2','0'),
('33094','16','','10370','Cluster - Nodes up','jmx["org.apache.cassandra.net:type=FailureDetector","UpEndpointCount"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$CASSANDRA.USER}','{$CASSANDRA.PASSWORD}','','','0',NULL,'','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb35aef03e254d98a3d29e8180a1a5a5','0','2','0'),
('33126','15','','10316','Calculated value of innodb_log_file_size','mysql.innodb_log_file_size','1m','31d','365d','0','0','','','','',NULL,NULL,'(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}','','0','','','','','0',NULL,'`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5413d85449e4baea683c6365808cc17','0','2','0'),
('33140','15','','10320','Calculated value of innodb_log_file_size','mysql.innodb_log_file_size','1m','31d','365d','0','0','','','','',NULL,NULL,'(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}','','0','','','','','0',NULL,'`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e35cf67b6d2f44ffae908296faccfa50','0','2','0'),
('33154','15','','10317','Calculated value of innodb_log_file_size','mysql.innodb_log_file_size','1m','31d','365d','0','0','','','','',NULL,NULL,'(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}','','0','','','','','0',NULL,'`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4680fd31a2514e3f827b0060a6d5bfc4','0','2','0'),
('33172','0','','10329','Custom queries','pgsql.custom.query["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}",""]','1m','1h','0','1','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Execute custom queries from file *.sql (check for option Plugins.Postgres.CustomQueriesPath at agent configuration).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cab825fac8a49ba96dfbf7a696be729','0','2','0'),
('33173','15','','10329','Cache hit ratio, %','pgsql.cache.hit','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//pgsql.dbstat.sum.blks_hit.rate) * 100 / (last(//pgsql.dbstat.sum.blks_hit.rate) + last(//pgsql.dbstat.sum.blks_read.rate))','','0','','','','','0',NULL,'Cache hit ratio.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b98d2328694f44598f2177b3f93d4b90','0','2','0'),
('33174','0','','10329','Age of oldest xid','pgsql.oldest.xid["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Age of oldest xid.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0377fe6f2f8d4539b649c636ab012415','0','2','0'),
('33175','0','','10329','Get replication','pgsql.replication.process["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect metrics from the pg_stat_replication, which contains information about the WAL sender process, showing statistics about replication to that sender''s connected standby server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4120befb754d47e9a931f868c28badb9','0','2','0'),
('33181','20','discovery[{#SENSOR_TYPE},1.3.6.1.2.1.99.1.1.1.1,{#SENSOR_INFO},1.3.6.1.2.1.47.1.1.1.1.2,{#SENSOR_PRECISION},1.3.6.1.2.1.99.1.1.1.3,{#THRESHOLD_LO_WARN},1.3.6.1.4.1.30065.3.12.1.1.1.1,{#THRESHOLD_LO_CRIT},1.3.6.1.4.1.30065.3.12.1.1.1.2,{#THRESHOLD_HI_WARN},1.3.6.1.4.1.30065.3.12.1.1.1.3,{#THRESHOLD_HI_CRIT},1.3.6.1.4.1.30065.3.12.1.1.1.4]','10254','Get sensors','sensors.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets sensors with type, description, and thresholds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8954dfa9dc4445ad987f764e35c7db6e','0','2','0'),
('33184','20','get[1.3.6.1.4.1.33333.5.64.0]','10371','Array: Sweep Pmax','array.sweep_pmax[arrayMaxPowerSweep.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Array Max. Power (sweep)
Description:Array Max. Power (last sweep)
Scaling Factor:1.0
Units:W
Range:[0.0, 500]
Modbus address:0x003E','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a517a7aafbab426eb6ced8d5f57c1fa4','0','2','0'),
('33185','20','get[1.3.6.1.4.1.33333.5.53.0]','10371','Load: State','load.state[loadState.0]','1m','31d','365d','0','0','','','','',NULL,'193','','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Load State
Description:Load State
Modbus address:0x002E
0: Start
1: Normal
2: LvdWarning
3: Lvd
4: Fault
5: Disconnect
6: NormalOff
7: Override
8: NotUsed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae927b5cba5b43f5a2136fd3ee71b63d','0','2','0'),
('33186','20','get[1.3.6.1.4.1.33333.5.39.0]','10371','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Battery Temperature
Description:Battery Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001B','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a8e79f49e86429abc80dd29598299ee','0','2','0'),
('33187','20','get[1.3.6.1.4.1.33333.5.40.0]','10371','Temperature: Ambient','temp.ambient[ambientTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Ambient Temperature
Description:Ambient Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001C','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a87cdcf65184059be334e986bcf801d','0','2','0'),
('33188','20','get[1.3.6.1.4.1.33333.5.48.0]','10371','Battery: Target Voltage','target.voltage[targetVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Target Voltage
Description:Target Regulation Voltage
Scaling Factor:1.0
Units:V
Range:[0.0, 80.0]
Modbus address:0x0024','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20ce95acdff6486684461f10579a73b4','0','2','0'),
('33189','20','get[1.3.6.1.2.1.1.3.0]','10371','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','526ee94df484462a9264e57d92954e64','0','2','0'),
('33190','20','get[1.3.6.1.4.1.33333.5.54.0]','10371','Status: Load Faults','status.load_faults[loadFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Description:Array Faults
Modbus address:0x0022','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb4d2147a8224b599ad908eca1b019e4','0','2','0'),
('33191','20','get[1.3.6.1.4.1.33333.5.46.0]','10371','Status: Array Faults','status.array_faults[arrayFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Description:Array Faults
Modbus address:0x0022','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fbb5c650fa040c892a1d10a17fbbf14','0','2','0'),
('33192','20','get[1.3.6.1.4.1.33333.5.59.0]','10371','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Description:Alarms
Modbus addresses:H=0x0038 L=0x0039','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d44cb5d7db31402dae79275a9148817d','0','2','0'),
('33193','20','get[1.3.6.1.4.1.33333.5.32.0]','10371','Load: Voltage','load.voltage[loadVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Load Voltage
Description:Load Voltage
Scaling Factor:1.0
Units:V
Range:[0, 80]
Modbus address:0x0014','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47894752dd1d41f1aa882387acf6dc3a','0','2','0'),
('33194','20','get[1.3.6.1.4.1.33333.5.34.0]','10371','Load: Current','load.current[loadCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Load Current
Description:Load Current
Scaling Factor:1.0
Units:A
Range:[0, 60]
Modbus address:0x0016','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29a7d76472fb4025bc78fbeab273e955','0','2','0'),
('33195','20','get[1.3.6.1.4.1.33333.5.63.0]','10371','Array: Sweep Vmp','array.sweep_vmp[arrayVmp.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Array Vmp
Description:Array Max. Power Point Voltage
Scaling Factor:1.0
Units:V
Range:[0.0, 5000.0]
Modbus address:0x003D','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7714c76013e341f8b6753cc5a50a960f','0','2','0'),
('33196','20','get[1.3.6.1.4.1.33333.5.56.0]','10371','Counter: Load Amp-hours','counter.load_amp_hours[ahLoadResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Description:Ah Load (Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x0032 L=0x0033','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c72ef851c2d240c9835c1703cec49fd6','0','2','0'),
('33197','20','get[1.3.6.1.4.1.33333.5.51.0]','10371','Counter: Charge KW-hours','counter.charge_kw_hours[kwhChargeResettable.0]','1m','31d','365d','0','0','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
kWh Charge (Resettable)
Description:Kilowatt Hours Charge (Resettable)
Scaling Factor:1.0
Units:kWh
Range:[0.0, 65535]
Modbus address:0x002A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a53a2211a1249d59369ad65762ffe47','0','2','0'),
('33198','20','get[1.3.6.1.4.1.33333.5.49.0]','10371','Counter: Charge Amp-hours','counter.charge_amp_hours[ahChargeResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Ah Charge (Resettable)
Description:Ah Charge (Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x0026 L=0x0027','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','009eb72ff6674da49d1dd85a6f9459cf','0','2','0'),
('33199','20','get[1.3.6.1.4.1.33333.5.45.0]','10371','Battery: Charge State','charge.state[chargeState.0]','1m','31d','365d','0','0','','','','',NULL,'192','','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Charge State
Description:Control State
Modbus address:0x0021
0: Start
1: NightCheck
2: Disconnect
3: Night
4: Fault
5: BulkMppt
6: Absorption
7: Float
8: Equalize
9: Slave
10: Fixed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b1b61995c0d4d89a7f9ad4e14c3541f','0','2','0'),
('33200','20','get[1.3.6.1.4.1.33333.5.33.0]','10371','Battery: Charge Current','charge.current[chargeCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Charge Current
Description:Charge Current
Scaling Factor:1.0
Units:A
Range:[0, 40]
Modbus address:0x0010','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed1d54fce0904b7c9d0895a094f55108','0','2','0'),
('33201','20','get[1.3.6.1.4.1.33333.5.30.0]','10371','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryTerminalVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe5c3b724e894573acdaf522a2213adb','0','2','0'),
('33202','20','get[1.3.6.1.4.1.33333.5.31.0]','10371','Array: Voltage','array.voltage[arrayVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Array Voltage
Description:Array Voltage
Scaling Factor:1.0
Units:V
Range:[0, 80]
Modbus address:0x0013','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41a1118e1be3417daa79faace733d861','0','2','0'),
('33203','20','get[1.3.6.1.4.1.33333.5.65.0]','10371','Array: Sweep Voc','array.sweep_voc[arrayVoc.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Array Voc
Description:Array Open Circuit Voltage
Scaling Factor:1.0
Units:V
Range:[0.0, 80.0]
Modbus address:0x003F','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','379ab969ad784968a1090ff98f5801ff','0','2','0'),
('33204','20','get[1.3.6.1.4.1.33333.5.38.0]','10371','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-MPPT
Heatsink Temperature
Description:Heatsink Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d0cf28c0d334154971738df11775d1f','0','2','0'),
('33207','20','get[1.3.6.1.4.1.33333.6.31.0]','10372','Array: Voltage','array.voltage[arrayVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Array Voltage
Scaling Factor:1.0
Units:V
Range:[0, 80]
Modbus address:0x0013','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','953fb8b3c23f420bb6132874ce3e33e2','0','2','0'),
('33208','20','get[1.3.6.1.4.1.33333.6.59.0]','10372','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Alarms
Modbus addresses:H=0x0038 L=0x0039','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c1c1e03425c4b4bb176cf45458b916a','0','2','0'),
('33209','20','get[1.3.6.1.4.1.33333.6.39.0]','10372','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Battery Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001B','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','39763f7fccd94aefb720a34871c0962b','0','2','0'),
('33210','20','get[1.3.6.1.4.1.33333.6.40.0]','10372','Temperature: Ambient','temp.ambient[ambientTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Ambient Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001C','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13d3479a7b5940b5a53d5f13bea9e2d1','0','2','0'),
('33211','20','get[1.3.6.1.4.1.33333.6.48.0]','10372','Battery: Target Voltage','target.voltage[targetVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Target Regulation Voltage
Scaling Factor:1.0
Units:V
Range:[0.0, 80.0]
Modbus address:0x0024','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4b7bfb000754a17b4719863d3755519','0','2','0'),
('33212','20','get[1.3.6.1.2.1.1.3.0]','10372','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42f6a75d923d4262b37d85c4f7d1d322','0','2','0'),
('33213','20','get[1.3.6.1.4.1.33333.6.54.0]','10372','Status: Load Faults','status.load_faults[loadFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Load Faults
Modbus address:0x002F','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cd47d04af104cb9ab1cd7dc745a6aea','0','2','0'),
('33214','20','get[1.3.6.1.4.1.33333.6.46.0]','10372','Status: Array Faults','status.array_faults[arrayFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Array Faults
Modbus address:0x0022','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2517d96e51c14372a0336c9a6ed5d078','0','2','0'),
('33215','20','get[1.3.6.1.4.1.33333.6.32.0]','10372','Load: Voltage','load.voltage[loadVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Load Voltage
Scaling Factor:1.0
Units:V
Range:[0, 80]
Modbus address:0x0014','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cccc0976a62b47b1a558d521704c125d','0','2','0'),
('33216','20','get[1.3.6.1.4.1.33333.6.30.0]','10372','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryTerminalVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a80ad3ace9b14446bc5fd5d6aaa5af87','0','2','0'),
('33217','20','get[1.3.6.1.4.1.33333.6.53.0]','10372','Load: State','load.state[loadState.0]','1m','31d','365d','0','0','','','','',NULL,'195','','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Load State
Modbus address:0x002E
0: Start
1: Normal
2: LvdWarning
3: Lvd
4: Fault
5: Disconnect
6: NormalOff
7: Override
8: NotUsed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14b3ca3869374f54a467e5e9017f918a','0','2','0'),
('33218','20','get[1.3.6.1.4.1.33333.6.34.0]','10372','Load: Current','load.current[loadCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Load Current
Scaling Factor:1.0
Units:A
Range:[0, 60]
Modbus address:0x0016','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dcade8607cf142a2b88333f9880448fc','0','2','0'),
('33219','20','get[1.3.6.1.4.1.33333.6.56.0]','10372','Counter: Load Amp-hours','counter.load_amp_hours[ahLoadResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Ah Load (Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x0032 L=0x0033','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','104a7db1c27d40b3bbee506f7f922393','0','2','0'),
('33220','20','get[1.3.6.1.4.1.33333.6.51.0]','10372','Counter: Charge KW-hours','counter.charge_kw_hours[kwhChargeResettable.0]','1m','31d','365d','0','0','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Kilowatt Hours Charge (Resettable)
Scaling Factor:1.0
Units:kWh
Range:[0.0, 65535]
Modbus address:0x002A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e7124df3f2b4298b1a13576d0b2d5e7','0','2','0'),
('33221','20','get[1.3.6.1.4.1.33333.6.49.0]','10372','Counter: Charge Amp-hours','counter.charge_amp_hours[ahChargeResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Ah Charge (Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x0026 L=0x0027','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8acd2e7944694a828cf9b739b75513d9','0','2','0'),
('33222','20','get[1.3.6.1.4.1.33333.6.45.0]','10372','Battery: Charge State','charge.state[chargeState.0]','1m','31d','365d','0','0','','','','',NULL,'194','','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Control State
Modbus address:0x0021
0: Start
1: NightCheck
2: Disconnect
3: Night
4: Fault
5: Bulk
6: Pwm
7: Float
8: Equalize','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7ae2d3b911e4bb5a7eeb770470245a5','0','2','0'),
('33223','20','get[1.3.6.1.4.1.33333.6.33.0]','10372','Battery: Charge Current','charge.current[chargeCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Charge Current
Scaling Factor:1.0
Units:A
Range:[0, 40]
Modbus address:0x0011','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','148008b117c94155ba81600e3050ab25','0','2','0'),
('33224','20','get[1.3.6.1.4.1.33333.6.38.0]','10372','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PROSTAR-PWM
Description:Heatsink Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x001A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d13bd3ea24a4fcab3cd5b7586e6033a','0','2','0'),
('33227','20','get[1.3.6.1.4.1.33333.3.57.0]','10373','Array: Sweep Pmax','array.sweep_pmax[arrayMaxPowerSweep.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Open Circuit Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0.0, 80.0]
Modbus address:0x002A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9836b1fc81b84a44b2a708291bd5bf1a','0','2','0'),
('33228','20','get[1.3.6.1.4.1.33333.3.46.0]','10373','Load: State','load.state[loadState.0]','1m','31d','365d','0','0','','','','',NULL,'197','','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Load State
Modbus address:0x001A
0: Start
1: Normal
2: LvdWarning
3: Lvd
4: Fault
5: Disconnect
6: NormalOff
7: Override
8: NotUsed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5dfef2deee445ec88e2d63dbfbbaf68','0','2','0'),
('33229','20','get[1.3.6.1.4.1.33333.3.36.0]','10373','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Heatsink Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x000D','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','157faa85ae244950b4a114b95bad6d50','0','2','0'),
('33230','20','get[1.3.6.1.4.1.33333.3.37.0]','10373','Temperature: Ambient','temp.ambient[ambientTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Ambient Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x000F','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','430cf6fcb9b74943a8ca7f1d9d06fa56','0','2','0'),
('33231','20','get[1.3.6.1.4.1.33333.3.42.0]','10373','Battery: Target Voltage','target.voltage[targetVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Target Regulation Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0.0, 80.0]
Modbus address:0x0014','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52afa576b83b49e69ec8d379fbc42965','0','2','0'),
('33232','20','get[1.3.6.1.2.1.1.3.0]','10373','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63512390f2a04885bf8d0e19653a72b1','0','2','0'),
('33233','20','get[1.3.6.1.4.1.33333.3.47.0]','10373','Status: Load Faults','status.load_faults[loadFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Faults
Modbus address:0x0012','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24762b0c264745548150a4bd5913156f','0','2','0'),
('33234','20','get[1.3.6.1.4.1.33333.3.40.0]','10373','Status: Array Faults','status.array_faults[arrayFaults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Faults
Modbus address:0x0012','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f44756455697466cb905aa6ae4d0220d','0','2','0'),
('33235','20','get[1.3.6.1.4.1.33333.3.52.0]','10373','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Alarms
Modbus addresses:H=0x0023 L=0x0024','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91f2c1893b594e808032eb0140247d7a','0','2','0'),
('33236','20','get[1.3.6.1.4.1.33333.3.32.0]','10373','Load: Voltage','load.voltage[loadVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Load Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0, 80]
Modbus address:0x000A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9ca69fcedbb4524a8eb4b92b975008e','0','2','0'),
('33237','20','get[1.3.6.1.4.1.33333.3.34.0]','10373','Load: Current','load.current[loadCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Load Current
Scaling Factor:0.002415771484375
Units:A
Range:[0, 60]
Modbus address:0x000C','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6491ee507d9a4c099852d33e57df48a9','0','2','0'),
('33238','20','get[1.3.6.1.4.1.33333.3.56.0]','10373','Array: Sweep Vmp','array.sweep_vmp[arrayVmp.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Max. Power Point Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0.0, 5000.0]
Modbus address:0x0028','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0842746ca41c44128a575113307259e2','0','2','0'),
('33239','20','get[1.3.6.1.4.1.33333.3.49.0]','10373','Counter: Load Amp-hours','counter.load_amp_hours[ahLoadResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Ah Load(Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x001D L=0x001E','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28e679eace174d289ca5ccf90f3b9150','0','2','0'),
('33240','20','get[1.3.6.1.4.1.33333.3.45.0]','10373','Counter: Charge KW-hours','counter.charge_kw_hours[kwhCharge.0]','1m','31d','365d','0','3','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6d0f89c747b4418ad34c32b5ac9a5b9','0','2','0'),
('33241','20','get[1.3.6.1.4.1.33333.3.43.0]','10373','Counter: Charge Amp-hours','counter.charge_amp_hours[ahChargeResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Ah Charge(Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 4294967294]
Modbus addresses:H=0x0015 L=0x0016','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','149545b9154044e3af27b4e9ad809c0e','0','2','0'),
('33242','20','get[1.3.6.1.4.1.33333.3.39.0]','10373','Battery: Charge State','charge.state[chargeState.0]','1m','31d','365d','0','0','','','','',NULL,'196','','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Control State
Modbus address:0x0011
0: Start
1: NightCheck
2: Disconnect
3: Night
4: Fault
5: BulkMppt
6: Pwm
7: Float
8: Equalize','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4da765c8e26540c190ea07be08b87abc','0','2','0'),
('33243','20','get[1.3.6.1.4.1.33333.3.33.0]','10373','Battery: Charge Current','charge.current[chargeCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Target Regulation Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0.0, 80.0]
Modbus address:0x0014','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a36313ef0933403788a42de8a62b4838','0','2','0'),
('33244','20','get[1.3.6.1.4.1.33333.3.30.0]','10373','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8803a1390b745f08673d4ea998548a9','0','2','0'),
('33245','20','get[1.3.6.1.4.1.33333.3.31.0]','10373','Array: Voltage','array.voltage[arrayVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0, 80]
Modbus address:0x0009','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da1f347b28dd4fbeb123f228adefb0ed','0','2','0'),
('33246','20','get[1.3.6.1.4.1.33333.3.58.0]','10373','Array: Sweep Voc','array.sweep_voc[arrayVoc.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Array Open Circuit Voltage
Scaling Factor:0.0030517578125
Units:V
Range:[0.0, 80.0]
Modbus address:0x002A','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e3371208513416ab1b9afdf2c3b2c08','0','2','0'),
('33247','20','get[1.3.6.1.4.1.33333.3.35.0]','10373','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SUNSAVER-MPPT
Description:Battery Temperature
Scaling Factor:1.0
Units:deg C
Range:[-128, 127]
Modbus address:0x000E','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f238fe557a7412cad5f3864e407284e','0','2','0'),
('33250','20','get[1.3.6.1.4.1.33333.9.30.0]','10374','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryVoltageSlow.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SURESINE','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c577d82138d04ca689155f01fe32dd74','0','2','0'),
('33251','20','get[1.3.6.1.4.1.33333.9.31.0]','10374','Load: A/C Current','load.ac_current[acCurrent.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SURESINE
Description:AC Output Current
Scaling Factor:0.0001953125
Units:A
Range:[0.0, 17]
Modbus address:0x0005','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cbf90bdfbc44bc9939167625c20aaed','0','2','0'),
('33252','20','get[1.3.6.1.4.1.33333.9.33.0]','10374','Load: State','load.state[loadState.0]','1m','31d','365d','0','0','','','','',NULL,'198','','','0','','','','','0',NULL,'MIB: SURESINE
Description:Load State
Modbus address:0x000B
0: Start
1: LoadOn
2: LvdWarning
3: LowVoltageDisconnect
4: Fault
5: Disconnect
6: NormalOff
7: UnknownState
8: Standby','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','193eeecf87c24527b5ba4b0df2b66cfc','0','2','0'),
('33253','20','get[1.3.6.1.4.1.33333.9.34.0]','10374','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SURESINE
Description:Faults
Modbus address:0x0007','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d15815c3d6024a83ac03425e23d798cd','0','2','0'),
('33254','20','get[1.3.6.1.4.1.33333.9.35.0]','10374','Status: Faults','status.faults[faults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SURESINE
Description:Faults
Modbus address:0x0007','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d92ff915ccda482db946118238ea2ef3','0','2','0'),
('33255','20','get[1.3.6.1.2.1.1.3.0]','10374','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb4a5c3033f84baa8260a8199265e5a9','0','2','0'),
('33256','20','get[1.3.6.1.4.1.33333.9.32.0]','10374','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SURESINE
Description:Heatsink Temperature
Scaling Factor:1
Units:C
Range:[-128, 127]
Modbus address:0x0006','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6119c74beeb4ab69854d52f2eaa969d','0','2','0'),
('33259','20','get[1.3.6.1.4.1.33333.7.31.0]','10375','Array: Array Current','array.current[arrayCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Array Current
Scaling Factor:1.0
Units:A
Range:[-10, 80]
Modbus address:0x001d','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e83c42d78e8486f936733e3cb6dee6b','0','2','0'),
('33260','20','get[1.3.6.1.4.1.33333.7.50.0]','10375','Counter: Charge Amp-hours','counter.charge_amp_hours[ahChargeResetable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Ah Charge Resettable
Scaling Factor:1.0
Units:Ah
Range:[0.0, 5000]
Modbus addresses:H=0x0034 L=0x0035','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d67ceefb2c443d38051e2d22aca45ce','0','2','0'),
('33261','20','get[1.3.6.1.4.1.33333.7.48.0]','10375','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Batt. Temp
Scaling Factor:1.0
Units:C
Range:[-40, 80]
Modbus address:0x0025','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f3fdc6382704fb584fbe11264a0e5c2','0','2','0'),
('33262','20','get[1.3.6.1.4.1.33333.7.45.0]','10375','Battery: Target Voltage','target.voltage[targetRegulationVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Target Voltage
Scaling Factor:1.0
Units:V
Range:[-10, 650.0]
Modbus address:0x0033','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','738f2e6d143a4e6db3ecf2736ca843cb','0','2','0'),
('33263','20','get[1.3.6.1.2.1.1.3.0]','10375','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6a4dd0a61c8479985a1179842d22766','0','2','0'),
('33264','20','get[1.3.6.1.4.1.33333.7.55.0]','10375','Status: Faults','status.faults[faults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Faults
Modbus addresses:H=0x002c L=0x002d','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81efe20cce1b4b26a6eda83e86fbd49c','0','2','0'),
('33265','20','get[1.3.6.1.4.1.33333.7.57.0]','10375','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Alarms
Modbus addresses:H=0x002e L=0x002f','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2b5a78fe649480ea0cc580b5fa30bde','0','2','0'),
('33266','20','get[1.3.6.1.4.1.33333.7.52.0]','10375','Counter: Charge KW-hours','counter.charge_kw_hours[kwhChargeResetable.0]','1m','31d','365d','0','0','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:kWh Charge Resettable
Scaling Factor:1.0
Units:kWh
Range:[0.0, 65535.0]
Modbus address:0x0038','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a7ff2c884784eb4817956e0ecd5b718','0','2','0'),
('33267','20','get[1.3.6.1.4.1.33333.7.46.0]','10375','Battery: Charge State','charge.state[chargeState.0]','1m','31d','365d','0','0','','','','',NULL,'199','','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Charge State
Modbus address:0x0032
0: Start
1: NightCheck
2: Disconnect
3: Night
4: Fault
5: Mppt
6: Absorption
7: Float
8: Equalize
9: Slave
10: Fixed','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa20a89288c444a492910cb1a7f19499','0','2','0'),
('33268','20','get[1.3.6.1.4.1.33333.7.33.0]','10375','Array: Sweep Pmax','array.sweep_pmax[arrayPmaxLastSweep.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Pmax (last sweep)
Scaling Factor:1.0
Units:W
Range:[-10, 5000]
Modbus address:0x003c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9750ce4073d9467fa18f0e35f990c081','0','2','0'),
('33269','20','get[1.3.6.1.4.1.33333.7.44.0]','10375','Battery: Output Power','charge.output_power[ outputPower.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Output Power
Scaling Factor:1.0
Units:W
Range:[-10, 4000]
Modbus address:0x003a','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e168ff947324068aad1fc16d577369d','0','2','0'),
('33270','20','get[1.3.6.1.4.1.33333.7.42.0]','10375','Battery: Charge Current','charge.current[batteryCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Battery Current
Scaling Factor:1.0
Units:A
Range:[-10, 80]
Modbus address:0x001c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e42ba3c9a764b9690feb04d4bf7df45','0','2','0'),
('33271','20','get[1.3.6.1.4.1.33333.7.36.0]','10375','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Battery voltage
Scaling Factor:1.0
Units:V
Range:[-10, 80]
Modbus address:0x0018','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','058dc403d9b541978aebcb2944ecf75f','0','2','0'),
('33272','20','get[1.3.6.1.4.1.33333.7.30.0]','10375','Array: Voltage','array.voltage[arrayVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Array Voltage
Scaling Factor:1.0
Units:V
Range:[-10, 650]
Modbus address:0x001b','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e13c3135ce8649ea9c88d4f9eb56219e','0','2','0'),
('33273','20','get[1.3.6.1.4.1.33333.7.35.0]','10375','Array: Sweep Voc','array.sweep_voc[arrayVocLastSweep.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Voc (last sweep)
Scaling Factor:1.0
Units:V
Range:[-10, 650.0]
Modbus address:0x003e','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8f4819131fe4247aef9b1cd819b47d9','0','2','0'),
('33274','20','get[1.3.6.1.4.1.33333.7.34.0]','10375','Array: Sweep Vmp','array.sweep_vmp[arrayVmpLastSweep.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Vmp (last sweep)
Scaling Factor:1.0
Units:V
Range:[-10, 650.0]
Modbus address:0x003d','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de36a1087b2d4ade8369c620c794c881','0','2','0'),
('33275','20','get[1.3.6.1.4.1.33333.7.49.0]','10375','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:HS Temp
Scaling Factor:1.0
Units:C
Range:[-40, 80]
Modbus address:0x0023','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3abc18d718540039adcfcb4a74bea43','0','2','0'),
('33278','20','get[1.3.6.1.4.1.33333.2.31.0]','10376','Array: Array Current','array.current[arrayCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Array Current
Scaling Factor:0.00244140625
Units:A
Range:[-10, 80]
Modbus address:0x001d','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c3dcfd83bf946fb9da84f648c1efbac','0','2','0'),
('33279','20','get[1.3.6.1.4.1.33333.2.50.0]','10376','Counter: Charge Amp-hours','counter.charge_amp_hours[ahChargeResetable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Ah Charge Resettable
Scaling Factor:0.1
Units:Ah
Range:[0.0, 5000]
Modbus addresses:H=0x0034 L=0x0035','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','48db3379939b4698b8f30ff7118a9a95','0','2','0'),
('33280','20','get[1.3.6.1.4.1.33333.2.48.0]','10376','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Batt. Temp
Scaling Factor:1.0
Units:C
Range:[-40, 80]
Modbus address:0x0025','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9aee4500f32a4016be4f137c948b3d67','0','2','0'),
('33281','20','get[1.3.6.1.4.1.33333.2.45.0]','10376','Battery: Target Voltage','target.voltage[targetRegulationVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Target Voltage
Scaling Factor:0.0054931640625
Units:V
Range:[-10, 180.0]
Modbus address:0x0033','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c46896a6169142b59fc7f534f1981993','0','2','0'),
('33282','20','get[1.3.6.1.2.1.1.3.0]','10376','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f1e79c9987648c8abb325a507209a07','0','2','0'),
('33283','20','get[1.3.6.1.4.1.33333.2.55.0]','10376','Status: Faults','status.faults[faults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Faults
Modbus address:0x002c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64a01cde330e437499a719237f68fda2','0','2','0'),
('33284','20','get[1.3.6.1.4.1.33333.2.57.0]','10376','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Faults
Modbus address:0x002c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c96236f9623495289b94bd4d63e6faf','0','2','0'),
('33285','20','get[1.3.6.1.4.1.33333.2.52.0]','10376','Counter: Charge KW-hours','counter.charge_kw_hours[kwhChargeResetable.0]','1m','31d','365d','0','3','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:kWh Charge Resettable
Scaling Factor:0.1
Units:kWh
Range:[0.0, 65535.0]
Modbus address:0x0038','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f14eb25c426141d1875d5828b5c62c30','0','2','0'),
('33286','20','get[1.3.6.1.4.1.33333.2.46.0]','10376','Battery: Charge State','charge.state[chargeState.0]','1m','31d','365d','0','0','','','','',NULL,'200','','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Charge State
Modbus address:0x0032
0: Start
1: NightCheck
2: Disconnect
3: Night
4: Fault
5: Mppt
6: Absorption
7: Float
8: Equalize
9: Slave','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ad0e0153d6342a5bdd1576b2ad815e3','0','2','0'),
('33287','20','get[1.3.6.1.4.1.33333.2.33.0]','10376','Array: Sweep Pmax','array.sweep_pmax[arrayPmaxLastSweep.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Pmax (last sweep)
Scaling Factor:0.10986328125
Units:W
Range:[-10, 5000]
Modbus address:0x003c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53c1cccd0262422eb18bb6745adb2369','0','2','0'),
('33288','20','get[1.3.6.1.4.1.33333.2.44.0]','10376','Battery: Output Power','charge.output_power[ outputPower.0]','1m','31d','365d','0','0','','W','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Output Power
Scaling Factor:0.10986328125
Units:W
Range:[-10, 5000]
Modbus address:0x003a','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e70284aa07924a61add98dc516f0429e','0','2','0'),
('33289','20','get[1.3.6.1.4.1.33333.2.42.0]','10376','Battery: Charge Current','charge.current[batteryCurrent.0]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Battery Current
Scaling Factor:0.00244140625
Units:A
Range:[-10, 80]
Modbus address:0x001c','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e1646c9847064d53913d9c57d1b59de7','0','2','0'),
('33290','20','get[1.3.6.1.4.1.33333.2.36.0]','10376','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f40795d2c28b4f53ac50399ca6e6f8d6','0','2','0'),
('33291','20','get[1.3.6.1.4.1.33333.2.30.0]','10376','Array: Voltage','array.voltage[arrayVoltage.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Array Voltage
Scaling Factor:0.0054931640625
Units:V
Range:[-10, 180]
Modbus address:0x001b','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','419b9faf88284121a8806c60c8a4550d','0','2','0'),
('33292','20','get[1.3.6.1.4.1.33333.2.35.0]','10376','Array: Sweep Voc','array.sweep_voc[arrayVocLastSweep.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Voc (last sweep)
Scaling Factor:0.0054931640625
Units:V
Range:[-10, 180.0]
Modbus address:0x003e','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ced0f7c4abb6409399a9e05797841497','0','2','0'),
('33293','20','get[1.3.6.1.4.1.33333.2.34.0]','10376','Array: Sweep Vmp','array.sweep_vmp[arrayVmpLastSweep.0]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:Vmp (last sweep)
Scaling Factor:0.0054931640625
Units:V
Range:[-10, 180.0]
Modbus address:0x003d','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f0bbf8b6d53457283069aaf8e0386ae','0','2','0'),
('33294','20','get[1.3.6.1.4.1.33333.2.49.0]','10376','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR-MPPT
Description:HS Temp
Scaling Factor:1.0
Units:C
Range:[-40, 80]
Modbus address:0x0023','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffed57b626254db6bcc0df6de51d39fa','0','2','0'),
('33297','20','get[1.3.6.1.4.1.33333.8.30.0]','10377','Battery: Battery Voltage discovery','battery.voltage.discovery[batteryVoltage.0]','15m','0','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Battery voltage
Scaling Factor:0.002950042724609375
Units:V
Range:[0.0, 80.0]
Modbus address:0x0008','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b76ef47ada0c43cfb50c6a80c8ca55e5','0','2','0'),
('33298','20','get[1.3.6.1.4.1.33333.8.45.0]','10377','Status: Control Mode','control.mode[controlMode.0]','1m','31d','365d','0','0','','','','',NULL,'202','','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Control Mode
Modbus address:0x001A
0: charge
1: loadControl
2: diversion
3: lighting','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c57da022cf8497e88f788cee1b3a0a6','0','2','0'),
('33299','20','get[1.3.6.1.4.1.33333.8.39.0]','10377','Counter: Amp-hours','counter.charge_amp_hours[ahResettable.0]','1m','31d','365d','0','0','','Ah','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Ah (Resettable)
Scaling Factor:0.1
Units:Ah
Range:[0.0, 50000.0]
Modbus addresses:H=0x0011 L=0x0012','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25a576060f6948e59a855462b04c7276','0','2','0'),
('33300','20','get[1.3.6.1.4.1.33333.8.49.0]','10377','Counter: KW-hours','counter.charge_kw_hours[kilowattHours.0]','1m','31d','365d','0','0','','!kWh','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Kilowatt Hours
Scaling Factor:1.0
Units:kWh
Range:[0.0, 5000.0]
Modbus address:0x001E','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2351af0b6244044949eba67a7f7b39c','0','2','0'),
('33301','20','get[1.3.6.1.4.1.33333.8.42.0]','10377','Status: Alarms','status.alarms[alarms.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Alarms
Modbus addresses:H=0x001D L=0x0017','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03c3397ac32b47499002b13e0735ec9b','0','2','0'),
('33302','20','get[1.3.6.1.4.1.33333.8.43.0]','10377','Status: Faults','status.faults[faults.0]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Battery voltage
Scaling Factor:0.002950042724609375
Units:V
Range:[0.0, 80.0]
Modbus address:0x0008','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d0f4444f98c4ec082d35559e8fe9ac5','0','2','0'),
('33303','20','get[1.3.6.1.2.1.1.3.0]','10377','Status: Uptime (network)','status.net.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','642eec19ba5d450186590e9f5bba36db','0','2','0'),
('33304','20','get[1.3.6.1.4.1.33333.8.37.0]','10377','Temperature: Battery','temp.battery[batteryTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Battery Temperature
Scaling Factor:1.0
Units:deg C
Range:[-40, 120]
Modbus address:0x000F','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc729e23973b4d9d97d694d884431e0b','0','2','0'),
('33305','20','get[1.3.6.1.4.1.33333.8.36.0]','10377','Temperature: Heatsink','temp.heatsink[heatsinkTemperature.0]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: TRISTAR
Description:Heatsink Temperature
Scaling Factor:1.0
Units:deg C
Range:[-40, 120]
Modbus address:0x000E','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9a009058e99419dbb6cbef5b7797388','0','2','0'),
('33348','20','get[1.3.6.1.4.1.789.1.6.4.7.0]','10378','Failed disks count','fas3220.disk[diskFailedCount]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of disks that are currently broken.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4239eba959f14e0ebc44a0fa7d124042','0','2','0'),
('33349','20','get[1.3.6.1.4.1.789.1.6.4.10.0]','10378','Failed disks message','fas3220.disk[diskFailedMessage]','1m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','980e2c347d254c4d88d918b2171679bb','0','2','0'),
('33350','20','get[1.3.6.1.4.1.789.1.1.6.0]','10378','Product firmware version','fas3220.inventory[productFirmwareVersion]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Version string for the firmware running on this platform.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b6d8c8272714343bd420a32c6763c9e','0','2','0'),
('33351','20','get[1.3.6.1.4.1.789.1.1.2.0]','10378','Product version','fas3220.inventory[productVersion]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: NETAPP-MIB
Version string for the software running on this platform.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f0418935b9d40e98d129f280ba5ba6b','0','2','0'),
('33391','19','','10379','Get computer info','jenkins.computer_info','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$JENKINS.USER}','{$JENKINS.API.TOKEN}','','','0',NULL,'','0','30d','0','',NULL,'','{$JENKINS.URL}/computer/api/json','','','200','1','0','','','0','0','0','0','0','0','0','7ae6f7fae8d4485fb850c84ac00b7ff1','0','2','0'),
('33392','19','','10379','Service ping','jenkins.ping','1m','31d','365d','0','3','','','','',NULL,'215','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$JENKINS.URL}/metrics/{$JENKINS.API.KEY}/ping','','','200','1','0','','','0','0','0','0','0','0','0','21cad39b9c914516827b09d04716a71f','0','2','0'),
('33393','19','','10379','Get jobs info','jenkins.job_info','5m','0','0','0','4','','','','',NULL,NULL,'','','1','{$JENKINS.USER}','{$JENKINS.API.TOKEN}','','','0',NULL,'','0','30d','0','',NULL,'','{$JENKINS.URL}/api/json','[{"tree":"jobs[name,description,url,healthReport[score],lastBuild[number,result,duration,timestamp],lastSuccessfulBuild[number,result,duration,timestamp],lastFailedBuild[number,result,duration,timestamp]]"}]','','200','1','0','','','0','0','0','0','0','0','0','dc47555812a0485e9d77da3e5a1c1227','0','2','0'),
('33394','19','','10379','Get service metrics','jenkins.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$JENKINS.URL}/metrics/{$JENKINS.API.KEY}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','db4c0de52dca4c8a853edf918b35bbe4','0','2','0'),
('33395','19','','10379','Get healthcheck','jenkins.healthcheck','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$JENKINS.URL}/metrics/{$JENKINS.API.KEY}/healthcheck','','','200','1','0','','','0','0','0','0','0','0','0','4be0216b409d46a2a12e2929a9a03295','0','2','0'),
('33491','19','','10380','Get streaming channels','hikvision_cam.get_streaming','1m','0','0','0','4','','','','',NULL,NULL,'','','4','{$USER}','{$PASSWORD}','','','0',NULL,'Used to get the properties of streaming channels for the device','0','30d','0','',NULL,'','http://{$HIKVISION_ISAPI_HOST}:{$HIKVISION_ISAPI_PORT}/ISAPI/Streaming/channels','','','200,401','1','0','','','0','0','0','0','0','0','0','65f89830d9f041f9a1558936dfcffc5f','0','2','0'),
('33492','19','','10380','Get system status','hikvision_cam.get_status','1m','0','0','0','4','','','','',NULL,NULL,'','','4','{$USER}','{$PASSWORD}','','','0',NULL,'It is used to get the status information of the device','0','30d','0','',NULL,'','http://{$HIKVISION_ISAPI_HOST}:{$HIKVISION_ISAPI_PORT}/ISAPI/System/status','','','200,401','1','0','','','0','0','0','0','0','0','0','1ad3e3c9f60043a58f63addc8768c887','0','2','0'),
('33493','19','','10380','Get device info','hikvision_cam.get_info','1m','0','0','0','4','','','','',NULL,NULL,'','','4','{$USER}','{$PASSWORD}','','','0',NULL,'Used to get the device information','0','30d','0','',NULL,'','http://{$HIKVISION_ISAPI_HOST}:{$HIKVISION_ISAPI_PORT}/ISAPI/System/deviceInfo','','','200,401','1','0','','','0','0','0','0','0','0','0','0ddd3af82fb64b75821dc1fab96c16ab','0','2','0'),
('33630','21','','10382','Get directory structure','sharepoint.get_dir','{$SHAREPOINT.GET_INTERVAL}','0','0','0','4','','','','',NULL,NULL,'try {
const js_start = new Date().getTime();
var params = JSON.parse(value);
var result = {
status: 0,
data: {}
};
var req = new HttpRequest();
var out = {};
var queue = [];
var node;
var obj_iter_by_name;
var cpath;
var current_folder;
var child_folders;
var child_files;
var obj_iter_file;
req.addHeader(''Accept: application/json; odata=verbose'');
req.setHttpAuth(HTTPAUTH_NTLM, params.user, params.password);
queue.push({
patch: params.root,
json: []
});
while (queue.length) {
node = queue.pop();
obj_iter_by_name = out;
cpath = node.json.slice()
current_folder = JSON.parse(req.get(encodeURI(params.url + "/_api/web/GetFolderByServerRelativeUrl(''" + node.patch.replace("''", "''''") + "'')")));
result.status = req.getStatus();
if (result.status != 200) {
throw result.status;
}
cpath.forEach(function (nd) {
obj_iter_by_name = obj_iter_by_name[nd]
});
obj_iter_by_name[current_folder.d.Name] = {
meta: {
size: 0,
created: Math.round(new Date(current_folder.d.TimeCreated).getTime() / 1000),
modified: Math.round(new Date(current_folder.d.TimeLastModified).getTime() / 1000)
},
data: {}
}
child_folders = JSON.parse(req.get(encodeURI(params.url + "/_api/web/GetFolderByServerRelativeUrl(''" + node.patch.replace("''", "''''") + "'')/Folders")));
cpath.push(current_folder.d.Name, "data");
child_folders.d.results.forEach(function (dir) {
queue.push({
patch: dir.ServerRelativeUrl,
json: cpath
});
});
child_files = JSON.parse(req.get(encodeURI(params.url + "/_api/web/GetFolderByServerRelativeUrl(''" + node.patch.replace("''", "''''") + "'')/Files")));
child_files.d.results.forEach(function (file) {
obj_iter_by_name[current_folder.d.Name].data[file.Name] = {
meta: {
size: file.Length,
created: Math.round(new Date(file.TimeCreated).getTime() / 1000),
modified: Math.round(new Date(file.TimeLastModified).getTime() / 1000)
}
};
obj_iter_file = out;
cpath.forEach(function (nd) {
obj_iter_file = obj_iter_file[nd];
if (nd != "data") {
obj_iter_file.meta.size += +file.Length;
}
});
});
}
result.data = out;
} catch (error) {
Zabbix.log(3, "Sharepoint fs scan failed: " + params.url + " Error: " + error);
if (!Number.isInteger(error))
result.status = 520;
}
result.time = new Date().getTime() - js_start;
return JSON.stringify(result);','','0','','','','','0',NULL,'Used to get directory structure information','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71e23c666b84414490589a509b60c488','0','2','0'),
('33631','19','','10382','Health score','sharepoint.health_score','1m','31d','365d','0','3','','','','',NULL,NULL,'','','2','{$SHAREPOINT.USER}','{$SHAREPOINT.PASSWORD}','','','0',NULL,'This item specifies a value between 0 and 10, where 0 represents a low load and a high ability to process requests and 10 represents a high load and that the server is throttling requests to maintain adequate throughput.','0','30d','0','',NULL,'','{$SHAREPOINT.URL}','','','200','1','0','','','1','3','0','0','0','0','0','7b59d767712f49b3bbc17947999ca944','0','2','0'),
('33638','3','','10174','Host memory consumed','vmware.vm.memory.size.consumed[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Amount of host physical memory consumed for backing up guest physical memory pages.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04a40f805fed4ddfa1590274a996a019','0','2','0'),
('33639','3','','10174','Host memory usage in percent','vmware.vm.memory.usage[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Percentage of host physical memory that has been consumed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e82daa73e03e43b9838d9e414d710e38','0','2','0'),
('33640','3','','10174','CPU latency in percent','vmware.vm.cpu.latency[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Percentage of time the VM is unable to run because it is contending for access to the physical CPU(s).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31389342688f4b0696a49431923a528f','0','2','0'),
('33641','3','','10174','Uptime of guest OS','vmware.vm.guest.osuptime[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Total time elapsed since the last operating system boot-up (in seconds). Data is collected if Guest OS Add-ons (VMware Tools) are installed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','521a0396514845e3bc5d3dc54ec3d940','0','2','0'),
('33642','3','','10174','Guest memory swapped','vmware.vm.guest.memory.size.swapped[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Amount of guest physical memory that is swapped out to the swap space.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e645130999db470fbbf14a8055c95b23','0','2','0'),
('33643','3','','10174','CPU usage in percent','vmware.vm.cpu.usage.perf[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'CPU usage as a percentage during the interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50606be978814b51b4bae54340965cdc','0','2','0'),
('33644','3','','10174','CPU swap-in latency in percent','vmware.vm.cpu.swapwait[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Percentage of CPU time spent waiting for a swap-in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50de05f27f33425cb207a3fdece7ecb1','0','2','0'),
('33645','3','','10174','CPU readiness latency in percent','vmware.vm.cpu.readiness[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Percentage of time that the virtual machine was ready, but was unable to get scheduled to run on the physical CPU.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4d72109b7ee4e0bb65aab1de85b6b05','0','2','0'),
('33646','3','','10175','Power usage','vmware.hv.power[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','!W','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Current power usage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','179a981cf30f4f77869e3b50dc2bc333','0','2','0'),
('33647','3','','10175','Power usage maximum allowed','vmware.hv.power[{$VMWARE.URL},{$VMWARE.HV.UUID},max]','1m','31d','365d','0','3','','!W','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Maximum allowed power usage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4116d7c7e234c5ebd5784f42ade1f2e','0','2','0'),
('33648','3','','10175','CPU utilization','vmware.hv.cpu.utilization[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'CPU utilization as a percentage during the interval depends on power management or hyper-threading.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aad168c33cd14f76aa14ab5ca26498ec','0','2','0'),
('33649','3','','10175','CPU usage in percent','vmware.hv.cpu.usage.perf[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'CPU usage as a percentage during the interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4ebd62118464e7a8d1945f80d70f8ae','0','2','0'),
('33691','20','get[1.3.6.1.4.1.34774.4.1.1.3.0]','10385','Status','huawei.5300.v5[status]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System running status.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86d978c810024643829d3192156e9e6c','0','2','0'),
('33692','20','get[1.3.6.1.4.1.34774.4.1.1.5.0]','10385','Capacity total','huawei.5300.v5[totalCapacity]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total capacity of a device.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04c8d7f53668449ea32c4ed611b71237','0','2','0'),
('33693','20','get[1.3.6.1.4.1.34774.4.1.1.4.0]','10385','Capacity used','huawei.5300.v5[usedCapacity]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used capacity of a device.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef77f126052b4f9e9cddafdab20577d1','0','2','0'),
('33694','20','get[1.3.6.1.4.1.34774.4.1.1.6.0]','10385','Version','huawei.5300.v5[version]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The device version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a2e129d84d14e88bf953f3a9ca76b46','0','2','0'),
('33764','0','','10386','Get server status','mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns a database''s state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb0cc7d44559406cada9d90a51bc999c','0','2','0'),
('33765','0','','10386','Get Replica Set status','mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the replica set status from the point of view of the member where the method is run.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b448eff509240faba344f7b325f3e28','0','2','0'),
('33766','0','','10386','Ping','mongodb.ping["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','30s','31d','365d','0','3','','','','',NULL,'227','','','0','','','','','0',NULL,'Test if a connection is alive or not.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','350da28ce7ab42f9b96728ec730d4bd6','0','2','0'),
('33767','0','','10386','Get oplog stats','mongodb.oplog.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns status of the replica set, using data polled from the oplog.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e7406e64edd4fe5ba87d4018011c958','0','2','0'),
('33768','0','','10386','Get collections usage stats','mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns usage statistics for each collection.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46f0a53612de4448ab8e98098375656b','0','2','0'),
('33807','0','','10386','MongoDB version','mongodb.version["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Version of the MongoDB server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5679875dc254ddd833ee40ef4a2b3cf','0','2','0'),
('33886','0','','10387','Jumbo chunks','mongodb.jumbo_chunks.count["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total number of ''jumbo'' chunks in the mongo cluster.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','110685e463e141ca800b2638e3532d51','0','2','0'),
('33887','0','','10387','Get server status','mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The mongos statistic','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b8c6dadff060447e9718b49fdc796d8d','0','2','0'),
('33888','0','','10387','Ping','mongodb.ping["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','30s','31d','365d','0','3','','','','',NULL,'229','','','0','','','','','0',NULL,'Test if a connection is alive or not.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff979eb9ba4a4420a753913df5431219','0','2','0'),
('33889','0','','10387','Get mongodb.connpool.stats','mongodb.connpool.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns current info about connpool.stats.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f34fcc3866b446748b7a8d11311edd82','0','2','0'),
('33944','3','','10390','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'234','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a1244d5dcbc4cbcb5edb70b7cd2b3aa','0','2','0'),
('33945','3','','10390','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5804e615ec714a85ab3bf8128f92d0fc','0','2','0'),
('33946','3','','10390','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02403547a7714c94ba442d09ba91a1be','0','2','0'),
('33947','17','','10390','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80fe62cf4b2b4b96a077f23ff40d9baf','0','2','0'),
('33948','20','get[1.3.6.1.2.1.1.4.0]','10390','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0bcb970099c0429a9254c88d94d3f27d','0','2','0'),
('33949','20','get[1.3.6.1.2.1.1.1.0]','10390','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a1b8a292e9448329b538c0c6c47317b','0','2','0'),
('33950','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10390','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7b500dbdd044fd2a6213496422d4540','0','2','0'),
('33951','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10390','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f1f5522eab7406ea8dfce09cb84d39d','0','2','0'),
('33952','20','get[1.3.6.1.2.1.1.6.0]','10390','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb5e9fc216ca46f885562169ed67a612','0','2','0'),
('33953','20','get[1.3.6.1.2.1.1.5.0]','10390','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c79c23799ba248e0b35a086a7503646b','0','2','0'),
('33954','20','get[1.3.6.1.2.1.1.2.0]','10390','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4d399a9cb884067a8303799b6ddfca4','0','2','0'),
('33955','20','get[1.3.6.1.2.1.1.1.0]','10390','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf04928736ed4d3c855d8e0718cdfa1f','0','2','0'),
('33956','20','get[1.3.6.1.2.1.1.3.0]','10390','Uptime (network)','system.net.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3001dec3d8564a4e83e25e557c6d1336','0','2','0'),
('33957','5','','10390','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'235','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1fe8d0559b794a47a78fccde9156b694','0','2','0'),
('33985','3','','10391','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'240','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84ef605d7c914f62b4497ed6fdaccd8a','0','2','0'),
('33986','3','','10391','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c40980a878c94c3db61f80e206b890ec','0','2','0'),
('33987','3','','10391','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1c2bc9cee7046c2a17f876dce1f063f','0','2','0'),
('33988','17','','10391','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','612f59e4d582463bb386046a1d4342da','0','2','0'),
('33989','20','get[1.3.6.1.2.1.1.4.0]','10391','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','582260ed2f2d4f419651bc526e41b733','0','2','0'),
('33990','20','get[1.3.6.1.2.1.1.1.0]','10391','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','956ce9527d604b4493d52815799590ca','0','2','0'),
('33991','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10391','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb4df28cb44941e5b39348afe421a2ad','0','2','0'),
('33992','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10391','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','664548f83e924a8aaa125579f230d0e9','0','2','0'),
('33993','20','get[1.3.6.1.2.1.1.6.0]','10391','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6d1ee7b8b3e42e380f6aa44bf39c008','0','2','0'),
('33994','20','get[1.3.6.1.2.1.1.5.0]','10391','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f5f5b376c034f439ae19ed24e4d8bc5','0','2','0'),
('33995','20','get[1.3.6.1.2.1.1.2.0]','10391','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d791eebac4884924b7f40c08174aef00','0','2','0'),
('33996','20','get[1.3.6.1.2.1.1.1.0]','10391','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c7c4907dfdd46d18321f80b00152771','0','2','0'),
('33997','20','get[1.3.6.1.2.1.1.3.0]','10391','Uptime (network)','system.net.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9070d15765c4acaa856dde8ece57340','0','2','0'),
('33998','5','','10391','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'241','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92d5d0c598674f20a0228cc66a433e84','0','2','0'),
('34026','3','','10392','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'246','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','872058629f19424995e696d1354fbe01','0','2','0'),
('34027','3','','10392','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56b5f81de3c34f2aa9acd399dd212d62','0','2','0'),
('34028','3','','10392','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d34fc050448e4c48b303bf8c75c50060','0','2','0'),
('34029','17','','10392','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7a43b6281384161b6e1f28840d55aa1','0','2','0'),
('34030','20','get[1.3.6.1.2.1.1.4.0]','10392','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f563d184760420080849d161bf373f6','0','2','0'),
('34031','20','get[1.3.6.1.2.1.1.1.0]','10392','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74af4fbc07284c9eb9d4a913fd5e7b2b','0','2','0'),
('34032','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10392','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7cf2f68a1c842e081deec4a16410071','0','2','0'),
('34033','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10392','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d9b2e70dd61424f8f0ffebf89d20853','0','2','0'),
('34034','20','get[1.3.6.1.2.1.1.6.0]','10392','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc4aa80bbd2d49f9bca23b305399f0fa','0','2','0'),
('34035','20','get[1.3.6.1.2.1.1.5.0]','10392','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','726fa93646ad429789dcec2fbfabc6ff','0','2','0'),
('34036','20','get[1.3.6.1.2.1.1.2.0]','10392','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e7cd491cf664de0b5046cd011186a0e','0','2','0'),
('34037','20','get[1.3.6.1.2.1.1.1.0]','10392','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89971d6753ce4d98b68a70bf26f4b99e','0','2','0'),
('34038','20','get[1.3.6.1.2.1.1.3.0]','10392','Uptime (network)','system.net.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ecc18617c57a44bb96a565f450d569ac','0','2','0'),
('34039','5','','10392','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'247','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0951ddc53a2847b8ba816a5e4de9da2f','0','2','0'),
('34067','3','','10393','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'252','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d729b3a06df94b6890fe4c62f8d26f60','0','2','0'),
('34068','3','','10393','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a6fdbfbbf7c4944a24e22e93aabf0e3','0','2','0'),
('34069','3','','10393','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80efc7d77e314e97953cc75b5ae43e92','0','2','0'),
('34070','17','','10393','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c44173959284d7db1d2a745c68fa0a3','0','2','0'),
('34071','20','get[1.3.6.1.2.1.1.4.0]','10393','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3ac05facd4349fc8e573525f3fdb239','0','2','0'),
('34072','20','get[1.3.6.1.2.1.1.1.0]','10393','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f21c4e4de69342a68ca060a52fe071d6','0','2','0'),
('34073','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10393','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a0f9c29094f4a72ab66813c931d35ee','0','2','0'),
('34074','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10393','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','487fc626eb5e4629a0585210153ebbd1','0','2','0'),
('34075','20','get[1.3.6.1.2.1.1.6.0]','10393','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','679e63af2b3548c48b278da7356ae8ed','0','2','0'),
('34076','20','get[1.3.6.1.2.1.1.5.0]','10393','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d51ca0ffadf4e4599390aa9a4644426','0','2','0'),
('34077','20','get[1.3.6.1.2.1.1.2.0]','10393','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d49036582724a19b5cd5006360be8d2','0','2','0'),
('34078','20','get[1.3.6.1.2.1.1.1.0]','10393','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5852aecfbfbe429097c660d8a1ce47ee','0','2','0'),
('34079','20','get[1.3.6.1.2.1.1.3.0]','10393','Uptime (network)','system.net.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54ff117dbac14916aee823e247bff23f','0','2','0'),
('34080','5','','10393','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'253','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','642cee0c23134982adc4dfc486a63843','0','2','0'),
('34108','3','','10394','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'258','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d096334d7e2455797c9a5a46fecfaec','0','2','0'),
('34109','3','','10394','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a88b7bcaa2174a76b09031993ee48fb4','0','2','0'),
('34110','3','','10394','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','906ca6fa0cf64000bac2efbc0f5dc7f9','0','2','0'),
('34111','17','','10394','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc9c48b56cc6405c8256566d4768903a','0','2','0'),
('34112','20','get[1.3.6.1.2.1.1.4.0]','10394','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19896943dda74f798241c176b1f4fc4f','0','2','0'),
('34113','20','get[1.3.6.1.2.1.1.1.0]','10394','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4bd78d5e1f442128eddcdf4ea22d4b3','0','2','0'),
('34114','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10394','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58642d7727964ba48f41bc33cfb6ef37','0','2','0'),
('34115','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10394','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fa7b4e4803e4eed932c176afed56cd5','0','2','0'),
('34116','20','get[1.3.6.1.2.1.1.6.0]','10394','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','213f54a3c23c40aa8693169efd8c0d82','0','2','0'),
('34117','20','get[1.3.6.1.2.1.1.5.0]','10394','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e325f94720f4b29ad83a741a3735fa1','0','2','0'),
('34118','20','get[1.3.6.1.2.1.1.2.0]','10394','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fce50826a7d498abe4ca628021fb9ac','0','2','0'),
('34119','20','get[1.3.6.1.2.1.1.1.0]','10394','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d55299054304e658dc036f234727c73','0','2','0'),
('34120','20','get[1.3.6.1.2.1.1.3.0]','10394','Uptime (network)','system.net.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d33f3f14dfff49d88269706ab464e2b9','0','2','0'),
('34121','5','','10394','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'259','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82c87e2ade594f68abc4861e4d328a16','0','2','0'),
('34149','3','','10251','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'262','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87480ce035a94f299c4cf4103eaaf066','0','2','0'),
('34150','3','','10251','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50e85be3969447c58fcfeca5d9a1a9bb','0','2','0'),
('34151','3','','10251','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7567e999d75442379066babdc9b50894','0','2','0'),
('34152','17','','10251','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cb8aadeb5554583a65c3496cfed2c1b','0','2','0'),
('34153','20','get[1.3.6.1.2.1.1.4.0]','10251','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f62a8b653c3d44d09864a4a4c910aeb1','0','2','0'),
('34154','20','discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]','10251','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The average, over the last minute, of the percentage of time that processors was not idle.
Implementations may approximate this one minute smoothing period if necessary.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c33470549bda45e88ecb8ded7d0b5e87','0','2','0'),
('34155','20','get[1.3.6.1.2.1.1.1.0]','10251','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64c4f3e890ec4c29be07ba2d06345534','0','2','0'),
('34156','20','get[1.3.6.1.2.1.1.6.0]','10251','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0d2149e1a114f3a971c324673beae2f','0','2','0'),
('34157','20','get[1.3.6.1.2.1.1.5.0]','10251','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f63d1f71a97e45b0ab5716299ef298ea','0','2','0'),
('34158','20','get[1.3.6.1.2.1.1.2.0]','10251','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1535f45138b472c945e231a9beb9cc5','0','2','0'),
('34159','20','get[1.3.6.1.2.1.1.3.0]','10251','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7f06d23f6b14677b5183f2cc94fc10d','0','2','0'),
('34160','5','','10251','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'263','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aba117057e824b6789fca847cae9e0fc','0','2','0'),
('34180','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10395','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c17c7fd7e6504592869dc14c4a002254','0','2','0'),
('34181','20','get[1.3.6.1.2.1.1.3.0]','10395','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','701fa778bc03444aad94343d0dbe048e','0','2','0'),
('34182','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10395','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1df309508ac9433397f88120b2895451','0','2','0'),
('34183','20','get[1.3.6.1.2.1.1.2.0]','10395','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management
subsystem contained in the entity. This value is allocated within the SMI enterprises
subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was
assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6780faad9fc9492f9f92915db5161e43','0','2','0'),
('34185','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10395','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6030dbee3cc24dbeb15e4b802e89cbc8','0','2','0'),
('34186','20','get[1.3.6.1.2.1.1.6.0]','10395','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','445d7a843340424ab7c09ab001d5865c','0','2','0'),
('34187','20','get[1.3.6.1.2.1.1.1.0]','10395','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed42f6f2d8c24176b53f38e0a857a129','0','2','0'),
('34188','20','get[1.3.6.1.2.1.1.4.0]','10395','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','299e4e11e0374888877e1dc386409726','0','2','0'),
('34189','17','','10395','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c52ba1a964a40e1b4a75582ee6ad43b','0','2','0'),
('34190','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10395','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37d7eda5664c4ae2b4a126c60a8eb40b','0','2','0'),
('34191','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10395','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'315','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ae99a18a5c24fb0b812353d25459e1f','0','2','0'),
('34192','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10395','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a332c87a948045beae13f74984245b86','0','2','0'),
('34193','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10395','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','390e33a7623d41d2a8a67752c6d5c733','0','2','0'),
('34194','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10395','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de84a2fbbb464023a7b73e01895a9e9d','0','2','0'),
('34195','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10395','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c0b565f2b6a44a2a91cc61fd220f056','0','2','0'),
('34196','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10395','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'266','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ce40beab0b44248868652b0ed543afc','0','2','0'),
('34200','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10395','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b78d2e9160c74f328b8123ba2031d7bf','0','2','0'),
('34201','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10395','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c35a9646eed4e4581edc51d42a9604c','0','2','0'),
('34202','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10395','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'267','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4106603e47e40548592d60a7b8b3148','0','2','0'),
('34203','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10395','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f52a3e2ae08c4b2996249c5601b4098d','0','2','0'),
('34204','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10395','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'265','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb74b3671b4d4335ad92bd3b027547b0','0','2','0'),
('34205','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10395','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d69adaa88e64b8084d38c1482815bf2','0','2','0'),
('34206','5','','10395','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'269','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca3275f69f3c4e7c9c71108451c0b64f','0','2','0'),
('34226','19','','10396','Get chassis','netapp.chassis.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/cluster/chassis?fields=id,state','','','200','1','0','','','0','0','0','0','0','0','0','95d822159f2a4c4084ad36b18cd11a1d','0','2','0'),
('34227','15','','10396','Cluster latency, read','netapp.cluster.statistics.latency.read','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//netapp.cluster.statistics.latency_raw.read) - last(//netapp.cluster.statistics.latency_raw.read,#2)) /
(last(//netapp.cluster.statistics.iops_raw.read) - last(//netapp.cluster.statistics.iops_raw.read,#2) +
(last(//netapp.cluster.statistics.iops_raw.read) - last(//netapp.cluster.statistics.iops_raw.read,#2) = 0) ) * 0.001','','0','','','','','0',NULL,'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for read I/O operations.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b89e603f9cf4b92a85293b1ad15c005','0','2','0'),
('34228','19','','10396','Get SVMs','netapp.svms.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/svm/svms?fields=name,state,comment','','','200','1','0','','','0','0','0','0','0','0','0','7a813b7cb05d497fbf77bf11b01757dd','0','2','0'),
('34229','19','','10396','Get FC ports','netapp.ports.fc.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/network/fc/ports?fields=name,node.name,description,enabled,fabric.switch_port,state','','','200','1','0','','','0','0','0','0','0','0','0','2a6abfe87cc548bb81fcb217cde4f805','0','2','0'),
('34230','19','','10396','Get ethernet ports','netapp.ports.eth.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/network/ethernet/ports?fields=name,type,node.name,broadcast_domain.name,enabled,state,mtu,speed','','','200','1','0','','','0','0','0','0','0','0','0','c677a3caf7a04710bc67b165b4152808','0','2','0'),
('34231','19','','10396','Get nodes','netapp.nodes.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/cluster/nodes?fields=*','','','200','1','0','','','0','0','0','0','0','0','0','5c36efc545ba4dcbb0be84da5e8088cc','0','2','0'),
('34232','19','','10396','Get LUNs','netapp.luns.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/storage/luns?fields=name,svm.name,space.size,space.used,status.state,status.container_state','','','200','1','0','','','0','0','0','0','0','0','0','c9b6ac2405af48c0899d1536662f752b','0','2','0'),
('34233','19','','10396','Get FRUs','netapp.frus.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/cluster/chassis?fields=id,frus.id,frus.state','','','200','1','0','','','0','0','0','0','0','0','0','54163ca73a8c40188048ef5d89ec4927','0','2','0'),
('34234','19','','10396','Get disks','netapp.disks.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/storage/disks?fields=state,node.name','','','200','1','0','','','0','0','0','0','0','0','0','c9bf91e0f23c4961aed8ee5b32ff7767','0','2','0'),
('34235','19','','10396','Get cluster','netapp.cluster.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/cluster','','','200','1','0','','','0','0','0','0','0','0','0','49490a886b5f4e5c9e8cc121a6ffd713','0','2','0'),
('34236','15','','10396','Cluster latency, write','netapp.cluster.statistics.latency.write','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//netapp.cluster.statistics.latency_raw.write) - last(//netapp.cluster.statistics.latency_raw.write,#2)) /
(last(//netapp.cluster.statistics.iops_raw.write) - last(//netapp.cluster.statistics.iops_raw.write,#2) +
(last(//netapp.cluster.statistics.iops_raw.write) - last(//netapp.cluster.statistics.iops_raw.write,#2) = 0) ) * 0.001','','0','','','','','0',NULL,'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for write I/O operations.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','543ba306d85e41c98d34dab39463dd87','0','2','0'),
('34237','15','','10396','Cluster latency, total','netapp.cluster.statistics.latency.total','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//netapp.cluster.statistics.latency_raw.total) - last(//netapp.cluster.statistics.latency_raw.total,#2)) /
(last(//netapp.cluster.statistics.iops_raw.total) - last(//netapp.cluster.statistics.iops_raw.total,#2) +
(last(//netapp.cluster.statistics.iops_raw.total) - last(//netapp.cluster.statistics.iops_raw.total,#2) = 0) ) * 0.001','','0','','','','','0',NULL,'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric aggregated over all types of I/O operations.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c953f67a7484e389d11ac5ef6b06c44','0','2','0'),
('34238','19','','10396','Get volumes','netapp.volumes.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$USERNAME}','{$PASSWORD}','','','0',NULL,'','0','30d','0','',NULL,'{$HTTP.AGENT.TIMEOUT}','{$URL}/api/storage/volumes?fields=name,comment,state,type,svm.name,space.size,space.available,space.used,statistics','','','200','1','0','','','0','0','0','0','0','0','0','fa7fa8daaaa640d494af38614ba12c2e','0','2','0'),
('34239','15','','10396','Cluster latency, other','netapp.cluster.statistics.latency.other','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//netapp.cluster.statistics.latency_raw.other) - last(//netapp.cluster.statistics.latency_raw.other,#2)) /
(last(//netapp.cluster.statistics.iops_raw.other) - last(//netapp.cluster.statistics.iops_raw.other,#2) +
(last(//netapp.cluster.statistics.iops_raw.other) - last(//netapp.cluster.statistics.iops_raw.other,#2) = 0) ) * 0.001','','0','','','','','0',NULL,'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4bd4fe94e9a54fa2b8ab9bdf0475edff','0','2','0'),
('34316','5','','10047','Utilization of report writer internal processes, in %','zabbix[process,report writer,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the report writer processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c74858428cb4578b8a9095140b64d52','0','2','0'),
('34317','5','','10047','Utilization of report manager internal processes, in %','zabbix[process,report manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the report manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3db38f5d250741fd833aec23e09bc52e','0','2','0'),
('34322','11','','10327','Get job status','db.odbc.get[get_job_status,"{$MSSQL.DSN}"]','10m','0','0','0','4','','','','',NULL,NULL,'SELECT sj.name AS job_name,
sj.enabled AS enabled,
sjs.last_run_outcome AS run_status,
sjs.last_outcome_message AS last_run_status_message,
sjs.last_run_duration/10000*3600 + sjs.last_run_duration/100%100*60 + sjs.last_run_duration%100 AS run_duration,
CASE sjs.last_run_date
WHEN 0 THEN NULL
ELSE CONVERT(
VARCHAR(25),
TODATETIMEOFFSET(msdb.dbo.agent_datetime(sjs.last_run_date,sjs.last_run_time), DATEPART(TZoffset, SYSDATETIMEOFFSET())),
126)
END AS last_run_date_time,
sja.next_scheduled_run_date AS next_run_date_time
FROM msdb..sysjobs AS sj
LEFT JOIN msdb..sysjobservers AS sjs
ON sj.job_id = sjs.job_id
LEFT JOIN (
SELECT job.job_id,
max(act.session_id) AS s_id,
CONVERT(
VARCHAR(25),
TODATETIMEOFFSET(max(act.next_scheduled_run_date), DATEPART(TZoffset, SYSDATETIMEOFFSET())),
126) AS next_scheduled_run_date
FROM msdb..sysjobs AS job
LEFT JOIN msdb..sysjobactivity AS act
ON act.job_id = job.job_id
GROUP BY job.job_id ) AS sja
ON sja.job_id = sj.job_id
WHERE Enabled = 1','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'The item gets the SQL agent job status.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','cae1f9b034b04357b038212b04cac794','0','2','0'),
('34323','11','','10327','Get last backup','db.odbc.get[get_last_backup,"{$MSSQL.DSN}"]','10m','0','0','0','4','','','','',NULL,NULL,'SELECT bs.database_name as dbname,
[type],
DATEDIFF(SECOND, bs.backup_finish_date, getdate()) as time_since_last_backup,
(DATEDIFF(SECOND, bs.backup_start_date, bs.backup_finish_date)) as duration,
db.recovery_model as db_recovery_model
FROM msdb.dbo.backupset as bs
LEFT JOIN sys.databases as db ON bs.database_name = db.name
WHERE bs.database_name not in (
SELECT AGDatabases.database_name AS Databasename
FROM sys.dm_hadr_availability_group_states States
INNER JOIN master.sys.availability_groups Groups
ON States.group_id = Groups.group_id
INNER JOIN sys.availability_databases_cluster AGDatabases
ON Groups.group_id = AGDatabases.group_id
WHERE primary_replica != @@Servername OR primary_replica is NULL
) and db.name is not NULL
GROUP BY bs.database_name,
backup_finish_date,
[type],
backup_start_date,
db.recovery_model
HAVING backup_finish_date = (
SELECT MAX(backup_finish_date)
FROM msdb.dbo.backupset
WHERE database_name = bs.database_name
AND bs.type = [type]
)
ORDER BY bs.database_name','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'The item gets information about backup processes.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','9b106ca122fb4b75a761e80f4239f906','0','2','0'),
('34336','19','','10397','Get instance metrics','pd.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get TiDB PD instance metrics.','0','30d','0','',NULL,'','{$PD.URL}:{$PD.PORT}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','3a1fd879a08a445cbf438f3d68078111','0','2','0'),
('34337','19','','10397','Get instance status','pd.get_status','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get TiDB PD instance status info.','0','30d','0','',NULL,'','{$PD.URL}:{$PD.PORT}/pd/api/v1/status','','','200','1','0','','','0','0','0','0','0','0','0','7eb740eed4eb43a0a449e1c1436e582b','0','2','0'),
('34367','19','','10398','Get instance status','tidb.get_status','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get TiDB instance status info.','0','30d','0','',NULL,'','{$TIDB.URL}:{$TIDB.PORT}/status','','','200','1','0','','','0','0','0','0','0','0','0','e95ebe1050b8404f8274e243203fdecc','0','2','0'),
('34368','19','','10398','Get instance metrics','tidb.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get TiDB instance metrics.','0','30d','0','',NULL,'','{$TIDB.URL}:{$TIDB.PORT}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','954f5e433a7c44128d7772b87d493270','0','2','0'),
('34412','19','','10399','Get instance metrics','tikv.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get TiKV instance metrics.','0','30d','0','',NULL,'','{$TIKV.URL}:{$TIKV.PORT}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','418bcc8c0bc440468efe833bef02929d','0','2','0'),
('34451','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10400','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70ebcb1dee674a60a1410895d60e8245','0','2','0'),
('34452','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10400','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'277','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a6c9b134ebc4fd19876cf5d50dfc17b','0','2','0'),
('34453','20','get[1.3.6.1.2.1.1.3.0]','10400','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc207a1df4324fcf99ba1da262527fe3','0','2','0'),
('34454','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10400','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef25b1e818534420920ff6260fa2932e','0','2','0'),
('34455','20','get[1.3.6.1.2.1.1.2.0]','10400','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5497f3649b9348dca290c55e94f48597','0','2','0'),
('34456','20','get[1.3.6.1.2.1.1.5.0]','10400','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d6f2c9770c28487d9fa6af2b63917958','0','2','0'),
('34457','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10400','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93b6e128e95a4a96bde38ef15d74d510','0','2','0'),
('34458','20','get[1.3.6.1.2.1.1.6.0]','10400','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b109475e72e74e76846aa478e9937101','0','2','0'),
('34459','20','get[1.3.6.1.2.1.1.1.0]','10400','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1df592a2b114677a1beabec33ce01f9','0','2','0'),
('34460','20','get[1.3.6.1.2.1.1.4.0]','10400','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa5e85ef78504fc080b97342baf6cb35','0','2','0'),
('34461','17','','10400','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d20aa252c5143c98de837dbd2f0cd53','0','2','0'),
('34462','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10400','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ec893da7b8540548d60a91ee7e2df83','0','2','0'),
('34463','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10400','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5774ead79e8b4d63a4a31bc091d1c52a','0','2','0'),
('34464','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10400','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b417eadc988460a89db04efdaca4ffc','0','2','0'),
('34465','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10400','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a6737781029b422ca7a8bbfa0ed80b56','0','2','0'),
('34466','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10400','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89bb663e356c4420bcbe2a9470ae3195','0','2','0'),
('34467','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10400','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a64740655ca455ab0280592b5f0055f','0','2','0'),
('34468','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10400','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'275','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9069a1c0d9304e7fa5f2df133dbb46cd','0','2','0'),
('34469','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10400','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','756f727fe8374aeba9d1afd7bbe77f02','0','2','0'),
('34470','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10400','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a0a2b5e702f473fa1144eaf499367b2','0','2','0'),
('34471','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10400','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'276','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22a95e447ad74d43a191f368346fde59','0','2','0'),
('34472','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10400','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89cca909c60745fe824d02aa0d4bc3d7','0','2','0'),
('34473','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10400','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'274','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7614652ff6f4e0890f366b8e0831b80','0','2','0'),
('34474','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10400','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98af792142464656b925a452e5ebf1cc','0','2','0'),
('34475','5','','10400','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'278','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efad5c028c0d4c11b57a19dc04830ea7','0','2','0'),
('34499','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10401','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6933bd19628f4699974d5dc4b1637c53','0','2','0'),
('34500','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10401','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'283','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54d22d1cc362492ebe8695257afc20ec','0','2','0'),
('34501','20','get[1.3.6.1.2.1.1.3.0]','10401','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f077c3558d24471ca807ea24b3f0c5ea','0','2','0'),
('34502','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10401','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e87619ed81346d497c3c3f548c342b5','0','2','0'),
('34503','20','get[1.3.6.1.2.1.1.2.0]','10401','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a393860311b4b64ae5a4ce7cd7000dc','0','2','0'),
('34504','20','get[1.3.6.1.2.1.1.5.0]','10401','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9452c921e4946719726b292d8c0cbd6','0','2','0'),
('34505','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10401','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ba45d867e3d4bb99eeb8c0c320ef127','0','2','0'),
('34506','20','get[1.3.6.1.2.1.1.6.0]','10401','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac995904f95240d9b1f44c27adea5731','0','2','0'),
('34507','20','get[1.3.6.1.2.1.1.1.0]','10401','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5d72eba4dfb41f8ae73904c936dd64b','0','2','0'),
('34508','20','get[1.3.6.1.2.1.1.4.0]','10401','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','943b146891ac461c92d286704a0864b2','0','2','0'),
('34509','17','','10401','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94d838cc8cf2438296477c0139a3c152','0','2','0'),
('34510','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10401','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e43a6966bf642e19567dcd3763125e7','0','2','0'),
('34511','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10401','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df799c65dbe5437aa941de3e6d386b26','0','2','0'),
('34512','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10401','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ba1d824fdc548b4bca770f4145f7169','0','2','0'),
('34513','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10401','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','744d345cd3964baf85f8fefed19f9001','0','2','0'),
('34514','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10401','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91a6bc765a954f9e97b855d9dfebd3f7','0','2','0'),
('34515','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10401','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cfd390d57dbc4046a3a6af384420b697','0','2','0'),
('34516','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10401','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'281','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b83275fc1176451dacaa28606edf045a','0','2','0'),
('34517','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10401','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','805d95a6f256410ca083f31cc480b88b','0','2','0'),
('34518','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10401','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bda8df2bbd2a40dc937b2cd5b8017a68','0','2','0'),
('34519','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10401','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'282','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','078719d0396247bca76d85e1e4c650de','0','2','0'),
('34520','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10401','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05be71fcb7c1484f876229f48649039e','0','2','0'),
('34521','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10401','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'280','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c1107eb93114d9096518dc134e08bdc','0','2','0'),
('34522','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10401','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','147e0b7b466e402ba59d73d66801ef1a','0','2','0'),
('34523','5','','10401','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'284','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d679688992124f6c91c3f70bcc341d2d','0','2','0'),
('34547','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10402','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e8ed2c349d744a1a07928b32cf574c3','0','2','0'),
('34548','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10402','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'289','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','107461ac37984a708acf7f55ae248d67','0','2','0'),
('34549','20','get[1.3.6.1.2.1.1.3.0]','10402','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','39dd6b9b815a4a838a43d2ebf3fcc8f9','0','2','0'),
('34550','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10402','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c36d0bb59a44db2b80ae4a4ff2d7c1b','0','2','0'),
('34551','20','get[1.3.6.1.2.1.1.2.0]','10402','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6922cd0f93a4a4288a978ff8336226b','0','2','0'),
('34552','20','get[1.3.6.1.2.1.1.5.0]','10402','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f591627fea54a9ebdd8f10cbf39b9ed','0','2','0'),
('34553','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10402','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','272883d0a1cd4bb585a6ede50336c873','0','2','0'),
('34554','20','get[1.3.6.1.2.1.1.6.0]','10402','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5c6c4c44132439abd0e5fd88e3c90cf','0','2','0'),
('34555','20','get[1.3.6.1.2.1.1.1.0]','10402','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a312df9175ca45528375398f56fa3b3b','0','2','0'),
('34556','20','get[1.3.6.1.2.1.1.4.0]','10402','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fbcbe2cffc8c4bb6b11276cdd03376c3','0','2','0'),
('34557','17','','10402','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92c2ef138bf148199cdb6d9684b6fa23','0','2','0'),
('34558','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10402','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ebf71f0afed5460ba4c7f66bb162de9f','0','2','0'),
('34559','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10402','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2613c8d71864594a0c94064d99e059e','0','2','0'),
('34560','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10402','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86780568c0594469bc7324c68440cbec','0','2','0'),
('34561','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10402','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8d017e0fa5d4eca838ad068f0dffcd9','0','2','0'),
('34562','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10402','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e90dbc034cc447afb4ac1c8ced484882','0','2','0'),
('34563','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10402','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab28b72c192e48b5819079bd386ba8ea','0','2','0'),
('34564','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10402','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'287','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b7d6fdeea2e49c9bb74eb301ecca93a','0','2','0'),
('34565','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10402','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e478bdaa89674f6792e39ff1a2d9a413','0','2','0'),
('34566','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10402','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bded43c8a4eb4d1b9cf5403d3f3027cd','0','2','0'),
('34567','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10402','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'288','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9fa77fdcbd7343ca904c6282efcb7c72','0','2','0'),
('34568','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10402','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d15c36fb66754791b1014f52171efe1c','0','2','0'),
('34569','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10402','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'286','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b50a17ab043c404990dd088ac9f74078','0','2','0'),
('34570','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10402','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1928e58e65a34b188916086bad5b8725','0','2','0'),
('34571','5','','10402','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'290','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edb39f7236d74c6783e0d4b832e0b94b','0','2','0'),
('34595','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10403','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94c5c76b7e09402bb221827ee1fea5bc','0','2','0'),
('34596','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10403','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'295','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3170d441ede24494b9570b6d318cc05f','0','2','0'),
('34597','20','get[1.3.6.1.2.1.1.3.0]','10403','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','336ef2166914449fafa13ab08fe7c7a1','0','2','0'),
('34598','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10403','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','269ce166bb904fa8b11fc2fdf1f67d76','0','2','0'),
('34599','20','get[1.3.6.1.2.1.1.2.0]','10403','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c00c980ff284fb2bafb8358cc477d13','0','2','0'),
('34600','20','get[1.3.6.1.2.1.1.5.0]','10403','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','482bec6573f249abbb721f2ec90def3b','0','2','0'),
('34601','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10403','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','866889bb71e949c18520bf8fefd3e7ea','0','2','0'),
('34602','20','get[1.3.6.1.2.1.1.6.0]','10403','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0351d1bc1dc4f1b853fe64d456b3570','0','2','0'),
('34603','20','get[1.3.6.1.2.1.1.1.0]','10403','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01302a36cafd421c90d746f785c83f3f','0','2','0'),
('34604','20','get[1.3.6.1.2.1.1.4.0]','10403','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da60acc731a64257a90512b5c70d1e92','0','2','0'),
('34605','17','','10403','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d08fb7e3fae84d2cbae64ab9771ffcdc','0','2','0'),
('34606','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10403','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c7d7d803647478c8f2a79875457110c','0','2','0'),
('34607','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10403','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd7b2c1b12df4fd19f37485aa380b295','0','2','0'),
('34608','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10403','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a52452353b443d6b965293fda3b16b9','0','2','0'),
('34609','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10403','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','145d3bf81b00427aad5563a4feb7aea1','0','2','0'),
('34610','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10403','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7281586af02462a9a2f511c0a5741eb','0','2','0'),
('34611','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10403','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ceb5a6d71f440fcbd2da06b0cc1bbb3','0','2','0'),
('34612','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10403','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'293','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a12f157ae844129a35084b5ab0a8eab','0','2','0'),
('34613','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10403','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b456cb5c0224b31a2f8b4bb40d8203b','0','2','0'),
('34614','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10403','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c03e15aaf58f4056b88677c44c5d7d87','0','2','0'),
('34615','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10403','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'294','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a631704123c2498aa8ce973e36c13698','0','2','0'),
('34616','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10403','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f151210b9cd749b2b3e5af2145733c82','0','2','0'),
('34617','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10403','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'292','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f4351d23be04a3abee1e6edb746a9ec','0','2','0'),
('34618','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10403','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a887ae254b04b19bac605bb36141767','0','2','0'),
('34619','5','','10403','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'296','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4f9ebb1e55b41a5a6e470a541e136bc','0','2','0'),
('34643','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10404','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ac68411ef214cc7aa49d39d58ce3c6a','0','2','0'),
('34644','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10404','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'301','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3edf5e7776ae4cc6aebcedcbf4ab8d78','0','2','0'),
('34645','20','get[1.3.6.1.2.1.1.3.0]','10404','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbcb555846df4169bc7aead77403e8eb','0','2','0'),
('34646','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10404','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ebb979a5e4a45fd9acf956df034f9be','0','2','0'),
('34647','20','get[1.3.6.1.2.1.1.2.0]','10404','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e7a9b6aa8dd4371b83bf47f8246cebf','0','2','0'),
('34648','20','get[1.3.6.1.2.1.1.5.0]','10404','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4d9441075954c068b6fd92bbff49cef','0','2','0'),
('34649','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10404','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','320221ba30744ca78b8dce03dccd549b','0','2','0'),
('34650','20','get[1.3.6.1.2.1.1.6.0]','10404','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','031b9d385cae4641b9ecfb76c4174262','0','2','0'),
('34651','20','get[1.3.6.1.2.1.1.1.0]','10404','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0d638ab398f40e8a9555925cd8ba907','0','2','0'),
('34652','20','get[1.3.6.1.2.1.1.4.0]','10404','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50cc8e7cea0c40948c006623dfa94dae','0','2','0'),
('34653','17','','10404','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d633cd3273e74209a1b0c6b761028e0a','0','2','0'),
('34654','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10404','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bcb28618699448ea8d9d056bad203a0e','0','2','0'),
('34655','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10404','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d9d7ef724ff41eda4fd536df6af93cb','0','2','0'),
('34656','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10404','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f3b05afa58142d5b8670c40c196baf8','0','2','0'),
('34657','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10404','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','861757e4bb1a4dc6ac1c8ef94d973328','0','2','0'),
('34658','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10404','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2b5b824c4704293ad68185971e9fb03','0','2','0'),
('34659','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10404','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','700a78a4ab3c441496ecafc5ddde6a9d','0','2','0'),
('34660','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10404','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'299','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cb80c94f3d14674bc7a3933c7571eac','0','2','0'),
('34661','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10404','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ee98deaf4bf46afb06f694d19757237','0','2','0'),
('34662','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10404','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04cd5e06823846b58ad57e2c358f346e','0','2','0'),
('34663','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10404','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'300','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','047a5a3a957949d288588eb11f36f25e','0','2','0'),
('34664','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10404','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','95749270e6234d6cbd1edb0c5e1118e0','0','2','0'),
('34665','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10404','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'298','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44a33eba233e4bd7ac51ca2dcabf2939','0','2','0'),
('34666','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10404','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87b91005f5ff4ba5b0086e25eaa799bd','0','2','0'),
('34667','5','','10404','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'302','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f24fc7ed9ffa4884891a01a0f1565fc4','0','2','0'),
('34739','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10406','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4f4a85105f24292a3b566d0d1bcc090','0','2','0'),
('34740','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10406','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'313','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11c1742beed041999375e5a1ede42546','0','2','0'),
('34741','20','get[1.3.6.1.2.1.1.3.0]','10406','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','320bdbfd8076411bb1dd63fccddec126','0','2','0'),
('34742','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10406','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63852531159c44f1beca7facd8f93fa2','0','2','0'),
('34743','20','get[1.3.6.1.2.1.1.2.0]','10406','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b59b3801f5584321a1fca9bdb466f191','0','2','0'),
('34744','20','get[1.3.6.1.2.1.1.5.0]','10406','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13c26820947442f581c2234c38c052cc','0','2','0'),
('34745','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10406','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57f3c4c2aff04eef83b7a7a53fa9f95c','0','2','0'),
('34746','20','get[1.3.6.1.2.1.1.6.0]','10406','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25aa469a757347089191eb8e364d4df9','0','2','0'),
('34747','20','get[1.3.6.1.2.1.1.1.0]','10406','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13d3c18413a249d492272a7373ebd772','0','2','0'),
('34748','20','get[1.3.6.1.2.1.1.4.0]','10406','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4995e72f6b442bd9b8c90f09eb54f16','0','2','0'),
('34749','17','','10406','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae4579b14c424c0492acbfcb5aa5dd67','0','2','0'),
('34750','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10406','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07059c625de94e618925249492982fb7','0','2','0'),
('34751','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10406','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0413f6ef89894dc6ba51e42f6a963f94','0','2','0'),
('34752','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10406','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d7c2b962e9843b8a6cf72c04ff1e479','0','2','0'),
('34753','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10406','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4d76d857c4e46fd9b0e97405b17988a','0','2','0'),
('34754','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10406','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c69418651f75413e95645c62fa3fee7f','0','2','0'),
('34755','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10406','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7574344f67544554804c4c68e39d3d72','0','2','0'),
('34756','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10406','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'311','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07754bb421d0435995abbc49d4597908','0','2','0'),
('34757','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10406','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa8256c826954defa82083ddc742624e','0','2','0'),
('34758','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10406','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','533041b6831c451cb72991d3fdeca535','0','2','0'),
('34759','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10406','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'312','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ceed5ddfc9964aabaebb0b97875b1bd9','0','2','0'),
('34760','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10406','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae8a19896d21405ca99a5bfbd5de1f95','0','2','0'),
('34761','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10406','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'310','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cdd4bbff845477194a6d96a31431d23','0','2','0'),
('34762','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10406','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','552e030c272d43a0998bc2648f15ae44','0','2','0'),
('34763','5','','10406','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'314','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','567996748402435d80aae37818d4125e','0','2','0'),
('34787','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10395','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96898d48b27946bfa9a623d7d0b028be','0','2','0'),
('34788','20','get[1.3.6.1.2.1.1.5.0]','10395','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By
convention, this is the node''s fully-qualified domain name. If the name is unknown,
the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45a80892f41b411e8457f99b069b59ee','0','2','0'),
('34793','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10407','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','560d838206844447b8f79fd4500557b2','0','2','0'),
('34794','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10407','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'320','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','978a7ee6923c40cd8097afb60c81244f','0','2','0'),
('34795','20','get[1.3.6.1.2.1.1.3.0]','10407','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0810681a8ae74ad8b28ea38119a93f59','0','2','0'),
('34796','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10407','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f61bd561e7d42fbb55b71df9ea3b5b1','0','2','0'),
('34797','20','get[1.3.6.1.2.1.1.2.0]','10407','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f858f7eaed545b8a35ac24e858b0826','0','2','0'),
('34798','20','get[1.3.6.1.2.1.1.5.0]','10407','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b15628c68d4c4e8ca761ad9fa7e40a1c','0','2','0'),
('34799','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10407','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64d56d199021432886452fff5a4c6d22','0','2','0'),
('34800','20','get[1.3.6.1.2.1.1.6.0]','10407','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a06715ef4c44534a0ebc45f4e5adb5b','0','2','0'),
('34801','20','get[1.3.6.1.2.1.1.1.0]','10407','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8c576f27f4c49ef9acd1ba7198ffbb6','0','2','0'),
('34802','20','get[1.3.6.1.2.1.1.4.0]','10407','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8dd800fbbcde431aa421eeb5a33eb798','0','2','0'),
('34803','17','','10407','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','102179b315b548e289df3459bc5860c1','0','2','0'),
('34804','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10407','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9cf495d14fdf4059b6c35e7857d7a18c','0','2','0'),
('34805','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10407','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d27e991fc0f64b4f9704fb8183567e8d','0','2','0'),
('34806','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10407','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3fea9d328d5342b5bae6b643a0b45495','0','2','0'),
('34807','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10407','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbb33508be95488680bcb644a44626ef','0','2','0'),
('34808','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10407','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5764182c547143b3b044ec1adb54c1ce','0','2','0'),
('34809','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10407','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05ccf5bd85414ee9b5860c80f6e8323f','0','2','0'),
('34810','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10407','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'318','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13c0d202d19f4b64a52141062c4be6bb','0','2','0'),
('34811','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10407','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab0f5d86a40b421ba136506f7854bbbd','0','2','0'),
('34812','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10407','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d581eae836342bb8280eb09d7894533','0','2','0'),
('34813','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10407','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'319','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1d818ee115343c8bb41bedb8de7f2bd','0','2','0'),
('34814','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10407','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8340b775b76f4e8aad6d3984c63632e9','0','2','0'),
('34815','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10407','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'317','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','731d350450f742d880d81ff2be69e67e','0','2','0'),
('34816','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10407','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4bd3a4a637640e29f50ebd36fb510e5','0','2','0'),
('34817','5','','10407','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'321','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9562f60b1cbd4fe08614221e69efd811','0','2','0'),
('34841','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10408','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8257d78c2e24e3cb152886d39bca4fe','0','2','0'),
('34842','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10408','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'326','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7655b8ff3d5e41f0a5409fcfd646933a','0','2','0'),
('34843','20','get[1.3.6.1.2.1.1.3.0]','10408','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4ca2f993709413b9a00fa1389ec9e3c','0','2','0'),
('34844','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10408','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64ab7fd8a79448d580ad24ecf488241c','0','2','0'),
('34845','20','get[1.3.6.1.2.1.1.2.0]','10408','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6bd69ea5df144c996f050ded122521e','0','2','0'),
('34846','20','get[1.3.6.1.2.1.1.5.0]','10408','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','155feccece4a4625b98efa206ad5e0b1','0','2','0'),
('34847','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10408','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd0dc104ded94e4cbba3a8557e642caf','0','2','0'),
('34848','20','get[1.3.6.1.2.1.1.6.0]','10408','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49b8ef5ff3a3400d8f412d4440040461','0','2','0'),
('34849','20','get[1.3.6.1.2.1.1.1.0]','10408','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','251cc61592f543e3929aef3cb46f1b34','0','2','0'),
('34850','20','get[1.3.6.1.2.1.1.4.0]','10408','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d22b58a5c9f4fedbd03862398113546','0','2','0'),
('34851','17','','10408','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','39dd21c0f2194acaa9fddbdfccde05dd','0','2','0'),
('34852','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10408','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d93b482d7c549f593c41abb9380ce2f','0','2','0'),
('34853','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10408','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e5240e578d043609fba4024db8c8df1','0','2','0'),
('34854','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10408','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d26227e3d5754d8493ddaa9c3f5f2b5a','0','2','0'),
('34855','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10408','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bcae00165414f4aa15a40bc078aa44d','0','2','0'),
('34856','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10408','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c658b02eea284fcf8e302c20a2256cf0','0','2','0'),
('34857','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10408','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e16be6095dc24b48bc541325b1675dd0','0','2','0'),
('34858','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10408','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'324','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','439c87539027462c9b8210a056887885','0','2','0'),
('34859','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10408','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ab2309be6cc4eea8697f17e80b015d8','0','2','0'),
('34860','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10408','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17ffb34351da46e59d2288cd291a7912','0','2','0'),
('34861','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10408','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'325','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','322c3b48bcb74fa5829ef41015308d97','0','2','0'),
('34862','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10408','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80a4e6cf09a147a7b166755aa182fdcd','0','2','0'),
('34863','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10408','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'323','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abb901813d91481baef234496ddece33','0','2','0'),
('34864','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10408','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','138afef586634623974c1cefd45281e9','0','2','0'),
('34865','5','','10408','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'327','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d69889a19b564ed384fc96e8a70971a5','0','2','0'),
('34889','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10409','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f45eeef24724e3b89760b04bfd037ae','0','2','0'),
('34890','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10409','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'332','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8e4bcaa71e045e09af82ee739202778','0','2','0'),
('34891','20','get[1.3.6.1.2.1.1.3.0]','10409','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4aac942cab30432d81c4df32e01af5e2','0','2','0'),
('34892','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10409','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e72609b44094aff8acfa58b63ca97ba','0','2','0'),
('34893','20','get[1.3.6.1.2.1.1.2.0]','10409','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d3fcfce413a4f6aaaa2390183ab0c82','0','2','0'),
('34894','20','get[1.3.6.1.2.1.1.5.0]','10409','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c521e1e94da4dd2bd71719bf20e14b8','0','2','0'),
('34895','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10409','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c5b88814e4c4dc9b90ed4a5e49a91ca','0','2','0'),
('34896','20','get[1.3.6.1.2.1.1.6.0]','10409','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be1280a6b2d84393ad001113bf7c80f2','0','2','0'),
('34897','20','get[1.3.6.1.2.1.1.1.0]','10409','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bca97c1e308421b82f4769151f5177e','0','2','0'),
('34898','20','get[1.3.6.1.2.1.1.4.0]','10409','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1de71b45323b4eb5bc1a38315d56ce58','0','2','0'),
('34899','17','','10409','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c892c7f2ddcd4e15b1d5ab907cd70dcf','0','2','0'),
('34900','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10409','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7969358cce84f3eb749b1c43d96c583','0','2','0'),
('34901','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10409','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ac052b6b4e241d9af470b70212ab8d3','0','2','0'),
('34902','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10409','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a40074f9db134bc8bc4bd9800906137d','0','2','0'),
('34903','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10409','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71cfc894a29f4bffb1f4199e0010aea0','0','2','0'),
('34904','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10409','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5478b17ba84c4f12bc1ffa7dfc507ae1','0','2','0'),
('34905','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10409','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ab48c798ac94773b37228a8f725efd0','0','2','0'),
('34906','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10409','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'330','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','598c1b4cc957455b84c2edcbe844e169','0','2','0'),
('34907','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10409','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae8516a825b94d90b267371934bc452f','0','2','0'),
('34908','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10409','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59cc2d65eca142adb00ec80e237b134e','0','2','0'),
('34909','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10409','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'331','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5ccdee4e5ff49f183adab8a283e88a0','0','2','0'),
('34910','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10409','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','849b9ffa0c0b4dd59e7c5a544a135fa3','0','2','0'),
('34911','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10409','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'329','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','810c9cd371c14e44b8670ad3f4e003d5','0','2','0'),
('34912','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10409','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c069bb03f58a47b981448a33a1663463','0','2','0'),
('34913','5','','10409','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'333','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','582ff80b2df049b8acf233ad4dbfe1f1','0','2','0'),
('34937','16','','10410','Uptime','jmx["java.lang:type=Runtime","Uptime"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'WildFly server uptime.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa30358b46024aef8fa2e3ba387c4fb9','0','2','0'),
('34938','16','','10410','Launch type','jmx["jboss.as:management-root=server","launchType"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c0653e99ddb4f26ae12ce4d6ce9892c','0','2','0'),
('34939','16','','10410','Name','jmx["jboss.as:management-root=server","name"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName().
For domain mode: The name given to this domain','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5412059106e844ae89f6f84b4da42388','0','2','0'),
('34940','16','','10410','Process type','jmx["jboss.as:management-root=server","processType"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The type of process represented by this root resource.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5e2f5e277874567a5d46196fd032298','0','2','0'),
('34941','16','','10410','Version','jmx["jboss.as:management-root=server","productVersion"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The version of the WildFly Core based product release.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1bb15824f384e21bb9ae1224abd18e0','0','2','0'),
('34949','16','','10411','Uptime','jmx["java.lang:type=Runtime","Uptime"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'WildFly server uptime.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b9fce7f4b4945fea45feaa5b213c186','0','2','0'),
('34950','16','','10411','Transactions: Committed, rate','jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of committed transactions.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c157932072e416baed45a2350a3bd66','0','2','0'),
('34951','16','','10411','Transactions: Timed out, rate','jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions that have rolled back due to timeout.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90f1a21c335b42928455d31635bfd11d','0','2','0'),
('34952','16','','10411','Transactions: System rollbacks, rate','jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions that have been rolled back due to internal system errors.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ca6b59da5da4d7cb6fbacd2bdd37996','0','2','0'),
('34953','16','','10411','Transactions: ResourceRollbacks, rate','jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions that rolled back due to resource (participant) failure.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1f782b6d71b4cc698a3f0d3b9d03a8d','0','2','0'),
('34954','16','','10411','Transactions: Nested, rate','jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The total number of nested (sub) transactions created.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ca1501ec2904b7b875d2f9bfa127e10','0','2','0'),
('34955','16','','10411','Transactions: Current','jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions that have begun but not yet terminated.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50ba79375dbf48c8b86c3d8654576186','0','2','0'),
('34956','16','','10411','Transactions: Heuristics, rate','jmx["jboss.as:subsystem=transactions","numberOfHeuristics"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions which have terminated with heuristic outcomes.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82958fc3169c42d2bb0c9dc29e341b8f','0','2','0'),
('34957','16','','10411','Transactions: Application rollbacks, rate','jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','035752468405481a9e0c4c60e662eadc','0','2','0'),
('34958','16','','10411','Launch type','jmx["jboss.as:management-root=server","launchType"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','daf104c5cafe4879b79fb30fca99c838','0','2','0'),
('34959','16','','10411','Transactions: Aborted, rate','jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The number of aborted (i.e. rolledback) transactions per second.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2986d57975334b0bbf6bd687df457c26','0','2','0'),
('34960','16','','10411','Server controller state','jmx["jboss.as:management-root=server","serverState"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd57068c6e18440a8e14c0b4fc5c6c78','0','2','0'),
('34961','16','','10411','Runtime configuration state','jmx["jboss.as:management-root=server","runtimeConfigurationState"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','855c96cf1b3d4ef691f7693ba5f8357f','0','2','0'),
('34962','16','','10411','Version','jmx["jboss.as:management-root=server","productVersion"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The version of the WildFly Core based product release.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0238c33ca0f045a7b1376cd5b3048bf0','0','2','0'),
('34963','16','','10411','Process type','jmx["jboss.as:management-root=server","processType"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The type of process represented by this root resource.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98dd8a8de5f240998bebaf28c8d1bbe2','0','2','0'),
('34964','16','','10411','Name','jmx["jboss.as:management-root=server","name"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName().
For domain mode: The name given to this domain.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3c30ba00ac54677a944cda7ec8536af','0','2','0'),
('34965','16','','10411','Transactions: Total, rate','jmx["jboss.as:subsystem=transactions","numberOfTransactions"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$WILDFLY.USER}','{$WILDFLY.PASSWORD}','','','0',NULL,'The total number of transactions (top-level and nested) created per second.','0','30d','0','service:jmx:{$WILDFLY.JMX.PROTOCOL}://{HOST.CONN}:{HOST.PORT}',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0c40292c62e4d51a96db3e07967b17c','0','2','0'),
('35016','20','get[1.3.6.1.4.1.318.1.1.1.2.3.1.0]','10412','Battery capacity','battery.capacity[upsHighPrecBatteryCapacity]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5ca8610803e4aca8c6c3c8f6044ca43','0','2','0'),
('35017','20','get[1.3.6.1.4.1.318.1.1.1.4.1.1.0]','10412','Output status','output.status[upsBasicOutputStatus]','1m','31d','365d','0','3','','','','',NULL,'340','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c87c096a38284b82bb0fd8c9dfe871ef','0','2','0'),
('35018','20','get[1.3.6.1.2.1.1.3.0]','10412','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b9e4b13cfcb4680b25dd8974900fc17','0','2','0'),
('35019','20','get[1.3.6.1.4.1.318.1.1.1.1.2.3.0]','10412','Serial number','system.sn[upsAdvIdentSerialNumber]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3069693d6e545978fb877d767dface5','0','2','0'),
('35020','20','get[1.3.6.1.2.1.1.2.0]','10412','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1782e98504114e7c847b6d127b3a3ae1','0','2','0'),
('35021','20','get[1.3.6.1.2.1.1.5.0]','10412','System name','system.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5778610ee61d472d9dc8c8da94f9e301','0','2','0'),
('35022','20','get[1.3.6.1.4.1.318.1.1.1.1.1.1.0]','10412','Model','system.model[upsBasicIdentModel]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS model name (e.g. ''APC Smart-UPS 600'').','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e81f54bbbdd41ca8f9e010dbddc485f','0','2','0'),
('35023','20','get[1.3.6.1.2.1.1.6.0]','10412','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a57de4a9da144c2aa880253e4e2b46f9','0','2','0'),
('35024','20','get[1.3.6.1.2.1.1.1.0]','10412','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0617c89b47454dbd833fcc2b8d570db8','0','2','0'),
('35025','20','get[1.3.6.1.2.1.1.4.0]','10412','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7485fd42dd2749028a2d67f315888723','0','2','0'),
('35026','17','','10412','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3892c18baef54c598dc78035f5a7540a','0','2','0'),
('35027','20','get[1.3.6.1.4.1.318.1.1.1.4.3.1.0]','10412','Output voltage','output.voltage[upsHighPrecOutputVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','998d1322a2274da19abe10cdcb3c52e0','0','2','0'),
('35028','20','get[1.3.6.1.4.1.318.1.1.1.4.3.3.0]','10412','Output load','output.load[upsHighPrecOutputLoad]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5427a9b46ea54920b3fcc7d8ca413e0e','0','2','0'),
('35029','20','get[1.3.6.1.4.1.318.1.1.1.2.2.5.0]','10412','External battery packs count','battery.external_packs_count[upsAdvBatteryNumOfBattPacks]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7652aff14f644896be902fe18f3bb46a','0','2','0'),
('35030','20','get[1.3.6.1.4.1.318.1.1.1.4.3.4.0]','10412','Output current','output.current[upsHighPrecOutputCurrent]','1m','31d','365d','0','0','','A','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0d66c706be8457cbf794171253dd927','0','2','0'),
('35031','20','get[1.3.6.1.4.1.318.1.1.1.3.3.1.0]','10412','Input voltage','input.voltage[upsHighPrecInputLineVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current utility line voltage in VAC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65acc805ec7f4a2883d28f51b32054cc','0','2','0'),
('35032','20','get[1.3.6.1.4.1.318.1.1.1.3.3.4.0]','10412','Input frequency','input.frequency[upsHighPrecInputFrequency]','1m','31d','365d','0','0','','Hz','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb816e1a6ff640d69a5465e78febc03e','0','2','0'),
('35033','20','get[1.3.6.1.4.1.318.1.1.1.3.2.5.0]','10412','Input fail cause','input.fail[upsAdvInputLineFailCause]','1m','31d','365d','0','3','','','','',NULL,'338','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09f34437ff2e422bb62d7ba44b05657c','0','2','0'),
('35034','20','get[1.3.6.1.4.1.318.1.1.1.2.3.4.0]','10412','Battery voltage','battery.voltage[upsHighPrecBatteryActualVoltage]','1m','31d','365d','0','0','','V','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The actual battery bus voltage in Volts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','560031163d54444cb5ead172e9e238d2','0','2','0'),
('35035','20','get[1.3.6.1.4.1.318.1.1.1.2.3.2.0]','10412','Battery temperature','battery.temperature[upsHighPrecBatteryTemperature]','1m','31d','365d','0','0','','℃','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','48552e466ee54883ae3cbfd5e549ffc5','0','2','0'),
('35036','20','get[1.3.6.1.4.1.318.1.1.1.2.1.1.0]','10412','Battery status','battery.status[upsBasicBatteryStatus]','1m','31d','365d','0','3','','','','',NULL,'339','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aebc8b49a97243038b97855c5d20edb7','0','2','0'),
('35037','20','get[1.3.6.1.4.1.318.1.1.1.2.2.3.0]','10412','Battery runtime remaining','battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6aacf5a02a824b9d8b3c2676b126b186','0','2','0'),
('35038','20','get[1.3.6.1.4.1.318.1.1.1.2.2.4.0]','10412','Battery replace indicator','battery.replace_indicator[upsAdvBatteryReplaceIndicator]','1m','31d','365d','0','3','','','','',NULL,'337','','','0','','','','','0',NULL,'MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4d790f93a1c4e75a7ebd3d89d0d9d90','0','2','0'),
('35039','20','get[1.3.6.1.4.1.318.1.1.1.2.1.3.0]','10412','Battery last replace date','battery.last_replace_date[upsBasicBatteryLastReplaceDate]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: PowerNet-MIB
The date when the UPS system''s batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee059b1bb6ac486c8c5dd29654899d71','0','2','0'),
('35040','5','','10412','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'341','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63079124c55f479dad013d0c15077577','0','2','0'),
('35077','21','','10414','Get data','cloudflare.get','0;m01','0','0','0','4','','','','',NULL,NULL,E'var Cloudflare = {
params: {},
setParams: function (params) {
[''api_endpoint'', ''token'', ''zone''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Cloudflare.params = params;
if (typeof Cloudflare.params.api_endpoint === ''string'') {
if (!Cloudflare.params.api_endpoint.endsWith(''/'')) {
Cloudflare.params.api_endpoint += ''/'';
}
}
},
request: function (method, query, data) {
var response,
request = new HttpRequest(),
url = Cloudflare.params.api_endpoint + query;
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Cloudflare.params.token);
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
Zabbix.log(4, ''[ Cloudflare ] Sending request: '' + url + ((typeof data === ''string'') ? (''\\n'' + data) : ''''));
switch (method) {
case ''get'':
response = request.get(url, data);
break;
case ''post'':
response = request.post(url, data);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ Cloudflare ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Cloudflare. Check debug log for more information.'';
}
}
if (query === ''graphql/'' && request.getStatus() == 200 && typeof response.errors !== ''undefined''
&& Array.isArray(response.errors)) {
throw ''Request failed with error "'' + (getField(response, ''errors.0.message'') || ''unknown'') + ''"'';
}
return {
status: request.getStatus(),
response: response
};
}
}
function getField(object, field, def) {
var names = field.split(''.'');
var name = names.shift();
while (typeof name !== ''undefined'') {
if (typeof object === undefined || typeof object[name] === ''undefined'') {
return def;
}
object = object[name];
name = names.shift();
}
return object;
}
try {
Cloudflare.setParams(JSON.parse(value));
var datetime_end = new Date(),
datetime_start = new Date();
datetime_start.setTime(datetime_end.getTime() - 3600000);
datetime_start.setMinutes(0, 0, 0);
datetime_end.setTime(datetime_start.getTime());
datetime_end.setMinutes(59, 59, 0);
var datetime_start_str = datetime_start.toISOString(),
datetime_end_str = datetime_end.toISOString();
var data = {
"query": "{viewer {zones(filter: {zoneTag: \\"" + Cloudflare.params.zone + "\\"}) {\\
httpRequests1hGroups(limit: 100 filter: {\\
datetime_geq: \\"" + datetime_start_str + "\\", datetime_leq: \\"" + datetime_end_str + "\\"\\
}) {\\
sum{\\
requests \\
cachedRequests \\
encryptedRequests \\
responseStatusMap{ requests edgeResponseStatus } \\
bytes \\
cachedBytes \\
encryptedBytes \\
threats \\
pageViews \\
}\\
uniq{uniques}\\
}\\
}}}", "variables": {}
}
var result = Cloudflare.request(''post'', ''graphql/'', data),
cloudflare = {},
res = getField(result.response, ''data.viewer.zones.0.httpRequests1hGroups.0.sum'');
if (typeof res === ''object'') {
cloudflare = {
requests: {
all: res.requests || 0,
cached: res.cachedRequests || 0,
encrypted: res.encryptedRequests || 0,
cache_hit_ratio: 0,
success_ratio: 0,
others_ratio: 0,
response_100: 0,
response_200: 0,
response_300: 0,
response_400: 0,
response_500: 0
},
bandwidth: {
all: res.bytes || 0,
cached: res.cachedBytes || 0,
cache_hit_ratio: 0,
encrypted: res.encryptedBytes || 0,
},
threats: {
all: res.threats || 0
},
pageviews: {
all: res.pageViews || 0
}
}
cloudflare.requests.uncached = res.requests - res.cachedRequests;
cloudflare.requests.unencrypted = cloudflare.requests.all - cloudflare.requests.encrypted;
cloudflare.bandwidth.uncached = cloudflare.bandwidth.all - cloudflare.bandwidth.cached;
cloudflare.bandwidth.unencrypted = cloudflare.bandwidth.all - cloudflare.bandwidth.encrypted;
if (Array.isArray(res.responseStatusMap)) {
res.responseStatusMap.forEach(function (element) {
var group = Math.floor((element.edgeResponseStatus / 100)) * 100;
cloudflare.requests[''response_'' + group] += element.requests;
});
}
if (cloudflare.requests.all > 0) {
cloudflare.requests.success_ratio = (cloudflare.requests.response_200
/ cloudflare.requests.all * 100).toFixed(2);
cloudflare.requests.others_ratio = ((cloudflare.requests.all - cloudflare.requests.response_200)
/ cloudflare.requests.all * 100).toFixed(2);
cloudflare.requests.cache_hit_ratio = (cloudflare.requests.cached
/ cloudflare.requests.all * 100).toFixed(2);
}
if (cloudflare.bandwidth.all > 0) {
cloudflare.bandwidth.cache_hit_ratio = (cloudflare.bandwidth.cached / cloudflare.bandwidth.all * 100).toFixed(2);
}
res = getField(result.response, ''data.viewer.zones.0.httpRequests1hGroups.0.uniq'');
if (typeof res === ''object'') {
cloudflare.uniques = {
all: res.uniques || 0
}
}
result = Cloudflare.request(''get'', ''zones/'' + encodeURIComponent(Cloudflare.params.zone)
+ ''/dns_analytics/report?dimensions=queryName&metrics=queryCount,uncachedCount,staleCount&since=''
+ encodeURIComponent(datetime_start_str) + ''&until='' + encodeURIComponent(datetime_end_str));
res = getField(result.response, ''result.totals'');
if (typeof result.response.result === ''object'') {
cloudflare.dns = {
query: {
all: res.queryCount || 0,
uncached: res.uncachedCount || 0,
stale: res.staleCount || 0
}
}
}
}
return JSON.stringify(cloudflare);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Cloudflare ] ERROR: '' + error);
throw ''Requesting failed: '' + error;
}','','0','','','','','0',NULL,'The JSON with result of Cloudflare API request.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9450a68208fd4cb8bde009296d722064','0','2','0'),
('35153','19','','10415','Get connections','nginx.connections','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the statistics of client connections.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/connections/','','','200,404','1','0','','','0','0','0','0','0','0','0','26c121f9c50a4e90b4502e2bd7f42992','0','2','0'),
('35154','19','','10415','Get info','nginx.info','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Return status of the NGINX running instance.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/nginx/','','','200,404','1','0','','','0','0','0','0','0','0','0','d6c37400f8e64d89a698896afa6589de','0','2','0'),
('35155','19','','10415','Get Stream server zones','nginx.stream.server_zones','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status information for each server zone configured in the "stream" directive.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/stream/server_zones/','','','200,404','1','0','','','0','0','0','0','0','0','0','148a8612964b445ba37e340c9341f49d','0','2','0'),
('35156','19','','10415','Get SSL','nginx.ssl','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the SSL statistics.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/ssl/','','','200,404','1','0','','','0','0','0','0','0','0','0','e0798bb2d16c418781e19880fd78832c','0','2','0'),
('35157','19','','10415','Get resolvers','nginx.resolvers','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status information for each Resolver zone.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/resolvers/','','','200,404','1','0','','','0','0','0','0','0','0','0','9ea35f4f2ca24187896b7f44fb410d24','0','2','0'),
('35158','19','','10415','Get requests','nginx.requests','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status of the client''s HTTP requests.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/http/requests/','','','200,404','1','0','','','0','0','0','0','0','0','0','65377fc7308340348199c4c63720a7e1','0','2','0'),
('35159','19','','10415','Get Stream upstreams','nginx.stream.upstreams','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns status of each stream upstream server group and its servers.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/stream/upstreams/','','','200,404','1','0','','','0','0','0','0','0','0','0','c48ca144a8414b2db1c35d518ca5a24f','0','2','0'),
('35160','19','','10415','Get HTTP upstreams','nginx.http.upstreams','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status of each HTTP upstream server group and its servers.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/http/upstreams/','','','200,404','1','0','','','0','0','0','0','0','0','0','4ec5e9b1d17141f49db5d9bf29134a49','0','2','0'),
('35161','19','','10415','Get HTTP location zones','nginx.http.location_zones','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status information for each HTTP location zone.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/http/location_zones/','','','200,404','1','0','','','0','0','0','0','0','0','0','51c50d69acdb451395736902733673fe','0','2','0'),
('35162','19','','10415','Get HTTP zones','nginx.http.server_zones','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Returns the status information for each HTTP server zone.','0','30d','0','',NULL,'','{$NGINX.API.ENDPOINT}/6/http/server_zones/','','','200,404','1','0','','','0','0','0','0','0','0','0','5b337c675bc14d9ab3ac6d2cf5b82dce','0','2','0'),
('35272','5','','10047','Utilization of trigger housekeeper internal processes, in %','zabbix[process,trigger housekeeper,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the trigger housekeeper processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad2199d0152d4deb8259699ebd1f3da5','0','2','0'),
('35273','5','','10047','Version','zabbix[version]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The version of Zabbix server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','140cf84640564a60bcd107bebf9ac2e3','0','2','0'),
('35274','5','','10047','Utilization of service manager internal processes, in %','zabbix[process,service manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the service manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f6c2b59437c4345b348d78b5d2242db','0','2','0'),
('35358','20','get[1.3.6.1.2.1.1.4.0]','10418','Contact','cisco.asav.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9371a5b8ca3445eaa6516044e60a2ec6','0','2','0'),
('35359','20','get[1.3.6.1.2.1.1.6.0]','10418','Location','cisco.asav.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d4a058787a141629a33ab98194055f2','0','2','0'),
('35360','20','get[1.3.6.1.2.1.1.1.0]','10418','System description','cisco.asav.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2e63e282bcd4fd09a80f1be95c089d4','0','2','0'),
('35361','20','get[1.3.6.1.2.1.1.5.0]','10418','Host name','cisco.asav.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d20d56dccd494060a4bc130f2951a610','0','2','0'),
('35362','20','get[1.3.6.1.2.1.1.3.0]','10418','Uptime','cisco.asav.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','526b1a118bab4c948af0935197a659f6','0','2','0'),
('35363','5','','10418','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'354','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33e87e5fe2774f1fabb93553e782aaa0','0','2','0'),
('35406','20','get[1.3.6.1.2.1.1.4.0]','10419','Contact','bigip.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','907424caaf7c4b11b7a567db84ea1e17','0','2','0'),
('35407','20','get[1.3.6.1.4.1.3375.2.1.1.2.12.3.0]','10419','TCP connections, CLOSE-WAIT/LAST-ACK','bigip.tcp.close_wait','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current TCP connections in CLOSE-WAIT/LAST-ACK.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78d6c13d575a41a8b160bd4e2c0bea7b','0','2','0'),
('35408','20','get[1.3.6.1.4.1.3375.2.1.6.6.0]','10419','Uptime','bigip.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The system up time in 1/100 seconds since boot.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efb83b0cb4864b249ecf61b2f81ec468','0','2','0'),
('35409','20','get[1.3.6.1.4.1.3375.2.1.1.2.13.2.0]','10419','Open UDP connections','bigip.udp.open','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current open UDP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','843e855fb10f4cb0be81953dd8dbb87e','0','2','0'),
('35410','20','get[1.3.6.1.4.1.3375.2.1.1.2.12.5.0]','10419','TCP connections, TIME-WAIT','bigip.tcp.time_wait','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current TCP connections in TIME-WAIT.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd3982fd369142878ffb9530656556e3','0','2','0'),
('35411','20','get[1.3.6.1.4.1.3375.2.1.1.2.12.2.0]','10419','Open TCP connections','bigip.tcp.open','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current open TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b58bae7e2e4f403ba7bce846ccf5228e','0','2','0'),
('35412','20','get[1.3.6.1.4.1.3375.2.1.1.2.12.20.0]','10419','TCP connections, FIN-WAIT-2','bigip.tcp.fin2_wait','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current TCP connections in FIN-WAIT-2.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69576083e02c486998512c58ab2a6371','0','2','0'),
('35413','20','get[1.3.6.1.4.1.3375.2.1.1.2.12.4.0]','10419','TCP connections, FIN-WAIT-1/CLOSING','bigip.tcp.fin1_wait','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The number of current TCP connections in FIN-WAIT-1/CLOSING.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e28c1bfcd63e4a5c8394680886395669','0','2','0'),
('35414','20','get[1.3.6.1.4.1.3375.2.1.3.3.3.0]','10419','Chassis serial number','bigip.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a80409ff52bf4fe183a68ed257279db5','0','2','0'),
('35415','20','get[1.3.6.1.2.1.1.6.0]','10419','Location','bigip.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ce387e2d78e42bfa6180b4b22096468','0','2','0'),
('35416','20','get[1.3.6.1.4.1.3375.2.1.4.2.0]','10419','Product version','bigip.product.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The product version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b670cf1b43d84b8784acfeaca1f01320','0','2','0'),
('35417','20','get[1.3.6.1.4.1.3375.2.1.4.1.0]','10419','Product name','bigip.product.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The product name.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd91be3044a2465781af744dc45dd06f','0','2','0'),
('35418','20','get[1.3.6.1.4.1.3375.2.1.4.4.0]','10419','Product edition','bigip.product.edition','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The product edition.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b3c2a650f474a6da05262dc5b3634a9','0','2','0'),
('35419','20','get[1.3.6.1.4.1.3375.2.1.4.5.0]','10419','Product build date','bigip.product.date','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The product build date.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','065a6b42397e40c3874cf4176bd0fa6b','0','2','0'),
('35420','20','get[1.3.6.1.4.1.3375.2.1.4.3.0]','10419','Product build','bigip.product.build','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The product build number.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d7299dcbfee4b4a8b39bbf8daa4a077','0','2','0'),
('35421','20','get[1.3.6.1.2.1.1.5.0]','10419','Host name','bigip.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97d896e7b8ed422caf9c4ebf053bb8d9','0','2','0'),
('35422','20','get[1.3.6.1.2.1.1.1.0]','10419','Hardware model name','bigip.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9bf23e66ae347eb8f6f58867cdc3ca7','0','2','0'),
('35423','5','','10419','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'358','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c91416602a9c451ca0eb959073f65fb0','0','2','0'),
('35532','5','','10420','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'359','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b6932995b634a5792d3948ba79312e5','0','2','0'),
('35533','20','get[1.3.6.1.2.1.1.4.0]','10420','Contact','zyxel.aam1212.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b04315c5e9a41eea5f50623c83f21d0','0','2','0'),
('35534','20','get[1.3.6.1.4.1.890.1.5.13.1.1.3.1.4.0.0]','10420','ZyNOS F/W Version','zyxel.aam1212.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b29fd2b27fe4788bef1e4072430d5bd','0','2','0'),
('35535','20','get[1.3.6.1.2.1.1.6.0]','10420','Location','zyxel.aam1212.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea699e392c154a79927a056ff050c59d','0','2','0'),
('35536','20','get[1.3.6.1.2.1.2.2.1.6.1]','10420','MAC address','zyxel.aam1212.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2cabaa6e083489b8b11e6a349ba1bc9','0','2','0'),
('35537','20','get[1.3.6.1.2.1.1.1.0]','10420','Hardware model name','zyxel.aam1212.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31840a6849f7437bbb77334128c9e90b','0','2','0'),
('35538','20','get[1.3.6.1.2.1.1.5.0]','10420','Host name','zyxel.aam1212.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59628c9211c444228b6d8d9ddb30af54','0','2','0'),
('35539','20','get[1.3.6.1.4.1.890.1.5.13.1.1.2.1.3.0]','10420','Hardware serial number','zyxel.aam1212.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33df8d594d7f4e4aa148927b117f30df','0','2','0'),
('35540','20','get[1.3.6.1.4.1.890.1.5.13.1.1.3.1.8.0.0]','10420','Alarm status','zyxel.aam1212.slot.alarm','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB
This variable indicates the alarm status of the module.
It is a bit map represented a sum, therefore, it can represent
multiple defects simultaneously. The moduleNoDefect should be set
if and only if no other flag is set.
The various bit positions are:
1 moduleNoDefect
2 moduleOverHeat
3 moduleFanRpmLow
4 moduleVoltageLow
5 moduleThermalSensorFailure
6 modulePullOut
7 powerDC48VAFailure
8 powerDC48VBFailure
9 extAlarmInputTrigger
10 moduleDown
11 mscSwitchOverOK
12 networkTopologyChange
13 macSpoof
14 cpuHigh
15 memoryUsageHigh
16 packetBufferUsageHigh
17 loopguardOccurence','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4efb46536e8a43e78cd26ae90bd2ab83','0','2','0'),
('35541','20','get[1.3.6.1.2.1.1.3.0]','10420','Uptime (network)','zyxel.aam1212.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fe78b9b065243b8bcebf8f6c234f868','0','2','0'),
('35564','5','','10421','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'362','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','294a49fc36e848cc9f9959624c9a5ab3','0','2','0'),
('35565','20','get[1.3.6.1.2.1.1.4.0]','10421','Contact','zyxel.3500_8pd.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d513a036f8547219b1120fc4fffff1d','0','2','0'),
('35566','20','get[1.3.6.1.4.1.890.1.5.8.72.12.7.0]','10421','CPU utilization','zyxel.3500_8pd.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES3500-8PD-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7fd0f225802477aabbbcbfe5ac4a7f6','0','2','0'),
('35567','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.72.1]','10421','ZyNOS F/W Version','zyxel.3500_8pd.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES3500-8PD-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8749f59cbfeb4c43b7753901f3219716','0','2','0'),
('35568','20','get[1.3.6.1.2.1.1.6.0]','10421','Location','zyxel.3500_8pd.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbccb45e9d1d4b529cce2d43e6c96a24','0','2','0'),
('35569','20','get[1.3.6.1.2.1.2.2.1.6.1]','10421','MAC address','zyxel.3500_8pd.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1479a543105a4cf2b524bf8d042afd00','0','2','0'),
('35570','20','get[1.3.6.1.2.1.1.1.0]','10421','Hardware model name','zyxel.3500_8pd.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c753caf7686e49968931df18076a5d4f','0','2','0'),
('35571','20','get[1.3.6.1.2.1.1.5.0]','10421','Host name','zyxel.3500_8pd.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2072ac4b4437425a9ef1496b90c64990','0','2','0'),
('35572','20','get[1.3.6.1.4.1.890.1.5.8.72.1.10.0]','10421','Hardware serial number','zyxel.3500_8pd.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES3500-8PD-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93a3b8ef959e41fe822abb959f090939','0','2','0'),
('35573','20','get[1.3.6.1.2.1.1.3.0]','10421','Uptime (network)','zyxel.3500_8pd.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbd24719955740e0acc2316a945dac38','0','2','0'),
('35608','5','','10422','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'368','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2839fec9602a4162bb0acfb1be89fd57','0','2','0'),
('35609','20','get[1.3.6.1.2.1.1.4.0]','10422','Contact','zyxel.4012f.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','831444715edf4a12baf6a5727ba9276c','0','2','0'),
('35610','20','get[1.3.6.1.4.1.890.1.5.8.20.12.7.0]','10422','CPU utilization','zyxel.4012f.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-GS4012F-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2a6ce044f6d40bebb50927cc70bd593','0','2','0'),
('35611','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.20.1]','10422','ZyNOS F/W Version','zyxel.4012f.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-GS4012F-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','adb85140eb8c4b6489078dc79bd61a87','0','2','0'),
('35612','20','get[1.3.6.1.2.1.1.6.0]','10422','Location','zyxel.4012f.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f55214647bab4544adb7d9a63e8be69d','0','2','0'),
('35613','20','get[1.3.6.1.2.1.2.2.1.6.1]','10422','MAC address','zyxel.4012f.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','770d70d2ebcb4978b6c6fae0692ab77f','0','2','0'),
('35614','20','get[1.3.6.1.2.1.1.1.0]','10422','Hardware model name','zyxel.4012f.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25c5e9b3d34f4bb8805e2a6c43934f51','0','2','0'),
('35615','20','get[1.3.6.1.2.1.1.5.0]','10422','Host name','zyxel.4012f.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38fb81dca1db49bc83343ba197bfe980','0','2','0'),
('35616','20','get[1.3.6.1.4.1.890.1.5.8.20.1.10.0]','10422','Hardware serial number','zyxel.4012f.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-GS4012F-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0080e896f1384245887a191d87496fa9','0','2','0'),
('35617','20','get[1.3.6.1.2.1.1.3.0]','10422','Uptime (network)','zyxel.4012f.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c14e77679fe4ee6b167036d8888867e','0','2','0'),
('35642','5','','10423','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'373','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dbaf039727f542a6935223c944fab95d','0','2','0'),
('35643','20','get[1.3.6.1.2.1.1.4.0]','10423','Contact','zyxel.ies500x.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bc150cfc9b147e68b5d15a750546a3f','0','2','0'),
('35644','20','get[1.3.6.1.2.1.1.6.0]','10423','Location','zyxel.ies500x.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd669772d4454a359f1c372dce4a01de','0','2','0'),
('35645','20','get[1.3.6.1.2.1.2.2.1.6.1]','10423','MAC address','zyxel.ies500x.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','591148b198854413aed834874bf8f137','0','2','0'),
('35646','20','get[1.3.6.1.2.1.1.1.0]','10423','Hardware model name','zyxel.ies500x.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa26dcc1d8c54feaaa70d42c6ff4d1c7','0','2','0'),
('35647','20','get[1.3.6.1.2.1.1.5.0]','10423','Host name','zyxel.ies500x.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee9da829778e4da69fde78f72b5b0783','0','2','0'),
('35648','20','get[1.3.6.1.2.1.1.3.0]','10423','Uptime (network)','zyxel.ies500x.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28df2d29a94d429d811dd40ceb510fcf','0','2','0'),
('35709','5','','10424','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'378','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab61e5047280486885692ba89781c9fd','0','2','0'),
('35710','20','get[1.3.6.1.2.1.1.4.0]','10424','Contact','zyxel.ies6000.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4856aae926047078d33bc760833ec12','0','2','0'),
('35711','20','get[1.3.6.1.2.1.1.6.0]','10424','Location','zyxel.ies6000.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','631f2bc2963c4abb8d01b5cca6179d77','0','2','0'),
('35712','20','get[1.3.6.1.2.1.2.2.1.6.1]','10424','MAC address','zyxel.ies6000.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','663131027cc84bd188fb4e5bd240777c','0','2','0'),
('35713','20','get[1.3.6.1.2.1.1.1.0]','10424','Hardware model name','zyxel.ies6000.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a91730326e1c4479bb330110a15ee689','0','2','0'),
('35714','20','get[1.3.6.1.2.1.1.5.0]','10424','Host name','zyxel.ies6000.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2062eb7816e242668936c020e6e1d532','0','2','0'),
('35715','20','get[1.3.6.1.2.1.1.3.0]','10424','Uptime (network)','zyxel.ies6000.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e79a790f3ca54943997f1d0b3e74943d','0','2','0'),
('35776','5','','10425','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'383','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03cf90df51e0466c8b31744ce820276f','0','2','0'),
('35777','20','get[1.3.6.1.2.1.1.4.0]','10425','Contact','zyxel.ies1248.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a01b8490f3b94ac5ab500d67171cfe1a','0','2','0'),
('35778','20','get[1.3.6.1.4.1.890.1.5.13.1.1.3.1.4.0.0]','10425','ZyNOS F/W Version','zyxel.ies1248.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56974ccbede04e9eb966951ac3c88250','0','2','0'),
('35779','20','get[1.3.6.1.2.1.1.6.0]','10425','Location','zyxel.ies1248.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','600e6a8b9dd549b69f64f1a536bce7de','0','2','0'),
('35780','20','get[1.3.6.1.2.1.2.2.1.6.1]','10425','MAC address','zyxel.ies1248.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad09c90a951a4c41b935a70f58f5c26a','0','2','0'),
('35781','20','get[1.3.6.1.2.1.1.1.0]','10425','Hardware model name','zyxel.ies1248.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','427ef42e55ca498db16d078ed41e7ad9','0','2','0'),
('35782','20','get[1.3.6.1.2.1.1.5.0]','10425','Host name','zyxel.ies1248.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8c6546b670d4455aa1234c35bb033ac7','0','2','0'),
('35783','20','get[1.3.6.1.4.1.890.1.5.13.1.1.2.1.3.0]','10425','Hardware serial number','zyxel.ies1248.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d30380bb9a24bd1939d16287d5d0711','0','2','0'),
('35784','20','get[1.3.6.1.4.1.890.1.5.13.1.1.3.1.8.0.0]','10425','Alarm status','zyxel.ies1248.slot.alarm','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-IESCOMMON-MIB
This variable indicates the alarm status of the module.
It is a bit map represented a sum, therefore, it can represent
multiple defects simultaneously. The moduleNoDefect should be set
if and only if no other flag is set.
The various bit positions are:
1 moduleNoDefect
2 moduleOverHeat
3 moduleFanRpmLow
4 moduleVoltageLow
5 moduleThermalSensorFailure
6 modulePullOut
7 powerDC48VAFailure
8 powerDC48VBFailure
9 extAlarmInputTrigger
10 moduleDown
11 mscSwitchOverOK
12 networkTopologyChange
13 macSpoof
14 cpuHigh
15 memoryUsageHigh
16 packetBufferUsageHigh
17 loopguardOccurence','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bafdca2040ba44be911fd1e5a09f3298','0','2','0'),
('35785','20','get[1.3.6.1.2.1.1.3.0]','10425','Uptime (network)','zyxel.ies1248.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba41848140394ac29fe9b77e77627f20','0','2','0'),
('35810','5','','10426','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'386','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','836a8ccc430a4ede87906b9f9eef8471','0','2','0'),
('35811','20','get[1.3.6.1.2.1.1.4.0]','10426','Contact','zyxel.3528.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f947ff733314b23be2cea634a1fba75','0','2','0'),
('35812','20','get[1.3.6.1.4.1.890.1.5.8.51.12.7.0]','10426','CPU utilization','zyxel.3528.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3528-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7bd32a8835842d7b469f2323cc8a308','0','2','0'),
('35813','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.51.1]','10426','ZyNOS F/W Version','zyxel.3528.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3528-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c650e217f92c4e2ca1ec94f391dfe706','0','2','0'),
('35814','20','get[1.3.6.1.2.1.1.6.0]','10426','Location','zyxel.3528.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','679445d352f14db4b5401efa5661447d','0','2','0'),
('35815','20','get[1.3.6.1.2.1.2.2.1.6.1]','10426','MAC address','zyxel.3528.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b4f56edba2a486a9c48ccafaa10eb09','0','2','0'),
('35816','20','get[1.3.6.1.2.1.1.1.0]','10426','Hardware model name','zyxel.3528.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','050fbf9b7c544678b79b37572984f698','0','2','0'),
('35817','20','get[1.3.6.1.2.1.1.5.0]','10426','Host name','zyxel.3528.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2411ebd40ee94b6285f4a6abf6127e04','0','2','0'),
('35818','20','get[1.3.6.1.4.1.890.1.5.8.51.1.10.0]','10426','Hardware serial number','zyxel.3528.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3528-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea25cf79e45f40398580afd48e0bb9c8','0','2','0'),
('35819','20','get[1.3.6.1.2.1.1.3.0]','10426','Uptime (network)','zyxel.3528.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','351295fe155543c18930541c20ccac58','0','2','0'),
('35848','5','','10427','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'392','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ec18d9656654a9e9114ba2b5ff965b1','0','2','0'),
('35849','20','get[1.3.6.1.2.1.1.4.0]','10427','Contact','zyxel.3500_10.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84a1eb118ad2453ca5a5ccca6111516b','0','2','0'),
('35850','20','get[1.3.6.1.4.1.890.1.5.8.80.12.7.0]','10427','CPU utilization','zyxel.3500_10.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-10-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd6585221297476885e900c54a820ae7','0','2','0'),
('35851','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.80.1]','10427','ZyNOS F/W Version','zyxel.3500_10.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-10-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','144931a31b2a4a52978679a6a029fc8e','0','2','0'),
('35852','20','get[1.3.6.1.2.1.1.6.0]','10427','Location','zyxel.3500_10.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0005f568cd384734b9f21e846648cd5f','0','2','0'),
('35853','20','get[1.3.6.1.2.1.2.2.1.6.1]','10427','MAC address','zyxel.3500_10.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bc8285eebad410996c4697022038345','0','2','0'),
('35854','20','get[1.3.6.1.2.1.1.1.0]','10427','Hardware model name','zyxel.3500_10.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b270937507f345f88421cf1825c29917','0','2','0'),
('35855','20','get[1.3.6.1.2.1.1.5.0]','10427','Host name','zyxel.3500_10.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','831783fc67ab49b1be0ae5132fb2d8df','0','2','0'),
('35856','20','get[1.3.6.1.4.1.890.1.5.8.80.1.10.0]','10427','Hardware serial number','zyxel.3500_10.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-10-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0d17f11a5624f4e8520ee5e583ad322','0','2','0'),
('35857','20','get[1.3.6.1.2.1.1.3.0]','10427','Uptime (network)','zyxel.3500_10.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d581384242074b07a4c5cd03a562827c','0','2','0'),
('35892','5','','10428','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'398','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d30d099448e408bb7be13881e4149ed','0','2','0'),
('35893','20','get[1.3.6.1.2.1.1.4.0]','10428','Contact','zyxel.3500_24.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e1745e5130f4b7cb2b31814fecd6792','0','2','0'),
('35894','20','get[1.3.6.1.4.1.890.1.5.8.68.12.7.0]','10428','CPU utilization','zyxel.3500_24.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-24-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31029f8a8cc541908b8f765b27254ecd','0','2','0'),
('35895','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.68.1]','10428','ZyNOS F/W Version','zyxel.3500_24.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-24-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53e694b360254f2896301e78cf982650','0','2','0'),
('35896','20','get[1.3.6.1.2.1.1.6.0]','10428','Location','zyxel.3500_24.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5aa2128d8530415f855a0d33b7fb9c7f','0','2','0'),
('35897','20','get[1.3.6.1.2.1.2.2.1.6.1]','10428','MAC address','zyxel.3500_24.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8209492e29040a3896abf35019e6cdd','0','2','0'),
('35898','20','get[1.3.6.1.2.1.1.1.0]','10428','Hardware model name','zyxel.3500_24.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1820c7b7d903402dab0d7c8fb251f9bc','0','2','0'),
('35899','20','get[1.3.6.1.2.1.1.5.0]','10428','Host name','zyxel.3500_24.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5fc886ab5b94f929e866d4a2e9c5648','0','2','0'),
('35900','20','get[1.3.6.1.4.1.890.1.5.8.68.1.10.0]','10428','Hardware serial number','zyxel.3500_24.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MES3500-24-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5243eb2c7664203acb4f5e6bc8da296','0','2','0'),
('35901','20','get[1.3.6.1.2.1.1.3.0]','10428','Uptime (network)','zyxel.3500_24.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00c831c6cc9d415e91319b6bec15423d','0','2','0'),
('35936','5','','10429','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'404','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8777bb95a4b64fd293e96b25febf3915','0','2','0'),
('35937','20','get[1.3.6.1.2.1.1.4.0]','10429','Contact','zyxel.3712.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b93b020818034096a973d8e171a099b2','0','2','0'),
('35938','20','get[1.3.6.1.4.1.890.1.5.8.47.11.7.0]','10429','CPU utilization','zyxel.3712.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d13bad4f29f41b1890fa9e2709dd461','0','2','0'),
('35939','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.47.1]','10429','ZyNOS F/W Version','zyxel.3712.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efc31527c7af48729c1d5a229b115c55','0','2','0'),
('35940','20','get[1.3.6.1.2.1.1.6.0]','10429','Location','zyxel.3712.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a52f578cc57448f0a43641c75be89ce9','0','2','0'),
('35941','20','get[1.3.6.1.2.1.2.2.1.6.1]','10429','MAC address','zyxel.3712.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26236c6667c9411393fb45af2324e318','0','2','0'),
('35942','20','get[1.3.6.1.2.1.1.1.0]','10429','Hardware model name','zyxel.3712.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc5d5cfb35a14ed597623db67433dcac','0','2','0'),
('35943','20','get[1.3.6.1.2.1.1.5.0]','10429','Host name','zyxel.3712.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','409fb8c9b315474db7602fba18702a1d','0','2','0'),
('35944','20','get[1.3.6.1.4.1.890.1.5.8.47.1.10.0]','10429','Hardware serial number','zyxel.3712.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91afb18daedc403a866302ef943beef7','0','2','0'),
('35945','20','get[1.3.6.1.2.1.1.3.0]','10429','Uptime (network)','zyxel.3712.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','692e0384fcf44ec1ac6df0d8925358e3','0','2','0'),
('35980','5','','10430','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'410','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2bd320c5d71d471e8b68a5f30e1aa5d9','0','2','0'),
('35981','20','get[1.3.6.1.2.1.1.4.0]','10430','Contact','zyxel.3712f.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71ba1c991114432c9dca4f39b30e7872','0','2','0'),
('35982','20','get[1.3.6.1.4.1.890.1.5.8.48.11.7.0]','10430','CPU utilization','zyxel.3712f.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69432e1306ae46eab178082cb5ed7bc3','0','2','0'),
('35983','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.48.1]','10430','ZyNOS F/W Version','zyxel.3712f.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ced5f4185284f32b767036ffe41302c','0','2','0'),
('35984','20','get[1.3.6.1.2.1.1.6.0]','10430','Location','zyxel.3712f.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98c18ebb978448098922d7930e2ed00b','0','2','0'),
('35985','20','get[1.3.6.1.2.1.2.2.1.6.1]','10430','MAC address','zyxel.3712f.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bfd1233a36e94dfe93cd02ac95a7218e','0','2','0'),
('35986','20','get[1.3.6.1.2.1.1.1.0]','10430','Hardware model name','zyxel.3712f.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e734e8fe661043ac84d55a2497a50cf5','0','2','0'),
('35987','20','get[1.3.6.1.2.1.1.5.0]','10430','Host name','zyxel.3712f.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','026c51d2e28943e98056a934355a0161','0','2','0'),
('35988','20','get[1.3.6.1.4.1.890.1.5.8.48.1.10.0]','10430','Hardware serial number','zyxel.3712f.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-MGS3712F-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97eaf488887c42b89a4e6f6103ceeef6','0','2','0'),
('35989','20','get[1.3.6.1.2.1.1.3.0]','10430','Uptime (network)','zyxel.3712f.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5e21fdb6dae4dc49038f0801c87a5c6','0','2','0'),
('36024','5','','10431','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'416','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b5994ccefe5492b8ee81c88f4871efe','0','2','0'),
('36025','20','get[1.3.6.1.2.1.1.4.0]','10431','Contact','zyxel.3500_24s.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa2cb34bb8a24ea883d13039175e7955','0','2','0'),
('36026','20','get[1.3.6.1.4.1.890.1.15.3.2.4.0]','10431','CPU utilization','zyxel.3500_24s.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fccaef6a6f84d97b825d46b62955b76','0','2','0'),
('36027','20','get[1.3.6.1.4.1.890.1.15.3.1.6.0]','10431','ZyNOS F/W Version','zyxel.3500_24s.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37410c60fd224987920640313a0b229b','0','2','0'),
('36028','20','get[1.3.6.1.2.1.1.6.0]','10431','Location','zyxel.3500_24s.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2ee7e4d0dbc463aa9fc997f14740d0b','0','2','0'),
('36029','20','get[1.3.6.1.2.1.2.2.1.6.1]','10431','MAC address','zyxel.3500_24s.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','082f2005c90d4edebdddedd1ee946793','0','2','0'),
('36030','20','get[1.3.6.1.4.1.890.1.15.3.2.5.0]','10431','Memory utilization','zyxel.3500_24s.memusage','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Show device memory usage in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e8654e4f9ba487f971f5dc4c1fd5c9d','0','2','0'),
('36031','20','get[1.3.6.1.2.1.1.1.0]','10431','Hardware model name','zyxel.3500_24s.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7d255bd093744ef853335e1b961bef7','0','2','0'),
('36032','20','get[1.3.6.1.2.1.1.5.0]','10431','Host name','zyxel.3500_24s.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9225792a06444aabb120c390c68c2a06','0','2','0'),
('36033','20','get[1.3.6.1.4.1.890.1.15.3.1.12.0]','10431','Hardware serial number','zyxel.3500_24s.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9e8c7ae033b4f7e95aadd663f3656d9','0','2','0'),
('36034','20','get[1.3.6.1.2.1.1.3.0]','10431','Uptime (network)','zyxel.3500_24s.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3f7ffa22b174e2c8ed8bf0deeb62b42','0','2','0'),
('36069','5','','10432','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'422','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd305c07637b49c985aef490fb237359','0','2','0'),
('36070','20','get[1.3.6.1.2.1.1.4.0]','10432','Contact','zyxel.3520_28.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be1d951beb564638a6102fe4b35fede0','0','2','0'),
('36071','20','get[1.3.6.1.4.1.890.1.15.3.2.4.0]','10432','CPU utilization','zyxel.3520_28.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abdb31aeb0034998b91ab8f9b475409f','0','2','0'),
('36072','20','get[1.3.6.1.4.1.890.1.15.3.1.6.0]','10432','ZyNOS F/W Version','zyxel.3520_28.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd0ab3fa502b43969eec05ffd687450e','0','2','0'),
('36073','20','get[1.3.6.1.2.1.1.6.0]','10432','Location','zyxel.3520_28.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9923ed59ef14cbebfe2f6d24c0d8414','0','2','0'),
('36074','20','get[1.3.6.1.2.1.2.2.1.6.1]','10432','MAC address','zyxel.3520_28.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65116a646d734290926de9444a58ff2d','0','2','0'),
('36075','20','get[1.3.6.1.4.1.890.1.15.3.2.5.0]','10432','Memory utilization','zyxel.3520_28.memusage','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Show device memory usage in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89d6942524f84e6d80d02a80be25ce57','0','2','0'),
('36076','20','get[1.3.6.1.2.1.1.1.0]','10432','Hardware model name','zyxel.3520_28.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2dced10921704f8a9ccaabb2f951af15','0','2','0'),
('36077','20','get[1.3.6.1.2.1.1.5.0]','10432','Host name','zyxel.3520_28.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bccc98beb7ea45d6a7463de339e8877e','0','2','0'),
('36078','20','get[1.3.6.1.4.1.890.1.15.3.1.12.0]','10432','Hardware serial number','zyxel.3520_28.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-ES-COMMON
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','095d82b3c92340debb324844a6c7f8a8','0','2','0'),
('36079','20','get[1.3.6.1.2.1.1.3.0]','10432','Uptime (network)','zyxel.3520_28.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78959009721a453c8b8a2c49eb26c90c','0','2','0'),
('36114','5','','10433','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'428','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b2b855bc92447dda391d251db268dc9','0','2','0'),
('36115','20','get[1.3.6.1.2.1.1.4.0]','10433','Contact','zyxel.4728f.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The textual identification of the contact person
for this managed node, together with information
on how to contact this person.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23ae05ce4d5c4022a716ed9e8e701ae9','0','2','0'),
('36116','20','get[1.3.6.1.4.1.890.1.5.8.46.12.7.0]','10433','CPU utilization','zyxel.4728f.cpuusage','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-XGS4728F-MIB
Show device CPU load in %, it''s the snapshot of CPU load when
getting the values.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cccb7e7616944aa8747508e96f54968','0','2','0'),
('36117','20','discovery[{#SNMP.ARRAY},1.3.6.1.4.1.890.1.5.8.46.1]','10433','ZyNOS F/W Version','zyxel.4728f.fwversion','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-XGS4728F-MIB','17','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','222a051f0b84433faa6f29237b6d1552','0','2','0'),
('36118','20','get[1.3.6.1.2.1.1.6.0]','10433','Location','zyxel.4728f.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The physical location of this node (e.g.,
`telephone closet, 3rd floor'').','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc5065f635bc486cb90898f842fa8a61','0','2','0'),
('36119','20','get[1.3.6.1.2.1.2.2.1.6.1]','10433','MAC address','zyxel.4728f.mac','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IF-MIB
The interface''s address at the protocol layer
immediately `below'' the network layer in the
protocol stack. For interfaces which do not have
such an address (e.g., a serial line), this object
should contain an octet string of zero length.','12','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a646e8e82c844c08754c7e72e161712','0','2','0'),
('36120','20','get[1.3.6.1.2.1.1.1.0]','10433','Hardware model name','zyxel.4728f.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
A textual description of the entity. This value
should include the full name and version
identification of the system''s hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a152c262c465441da0f1924bc7614a23','0','2','0'),
('36121','20','get[1.3.6.1.2.1.1.5.0]','10433','Host name','zyxel.4728f.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
An administratively-assigned name for this
managed node. By convention, this is the node''s
fully-qualified domain name.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49e365a43809409f8d4636f88e4d64a9','0','2','0'),
('36122','20','get[1.3.6.1.4.1.890.1.5.8.46.1.10.0]','10433','Hardware serial number','zyxel.4728f.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ZYXEL-XGS4728F-MIB
Serial number','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79c80ac11d854edea93a598c4b28ffc0','0','2','0'),
('36123','20','get[1.3.6.1.2.1.1.3.0]','10433','Uptime (network)','zyxel.4728f.net.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: RFC1213-MIB
The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3302cbfbae64d55a638240ffb368b9c','0','2','0'),
('36160','20','get[1.3.6.1.2.1.1.4.0]','10434','System contact details','cisco.ucs.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad342e11ce9f4f79bf9b0182c3f83488','0','2','0'),
('36161','20','get[1.3.6.1.2.1.1.1.0]','10434','System description','cisco.ucs.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','286fdb0fa49a4b378a6219a5ed76aac4','0','2','0'),
('36162','20','get[1.3.6.1.2.1.1.6.0]','10434','System location','cisco.ucs.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet,
3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88bd32f8520144858a8ddb03dd200638','0','2','0'),
('36163','20','get[1.3.6.1.2.1.1.5.0]','10434','System name','cisco.ucs.name[sysName.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By
convention, this is the node''s fully-qualified domain name. If the name is unknown,
the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8bd3a60e4c70450492432c6abfa7b5f9','0','2','0'),
('36164','20','get[1.3.6.1.2.1.1.2.0]','10434','System object ID','cisco.ucs.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management
subsystem contained in the entity. This value is allocated within the SMI enterprises
subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining ''what
kind of box'' is being managed. For example, if vendor ''Flintstones, Inc.'' was
assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
to its ''Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10d22e53318347658b2418ff33c26e0d','0','2','0'),
('36165','20','get[1.3.6.1.2.1.1.3.0]','10434','Uptime (network)','cisco.ucs.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time in seconds since the network management
portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b87e425f1bdf404a8e53ff277c0ff0c0','0','2','0'),
('36166','17','','10434','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d839f68b6534dc8bd1fb5db7a757f02','0','2','0'),
('36167','5','','10434','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'442','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0926417e279a4e52a7f12587e9422e92','0','2','0'),
('36213','21','','10435','Get system','dell.server.system.get','1m','0','0','0','4','','','','',NULL,NULL,'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function Dell(service, action, params) {
this.zabbixLogPrefix = ''[ DELL ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.executeRequest = function (apiPath) {
this.request.addHeader(''Authorization: Basic '' + btoa(params[''user''] + '':'' + params[''password'']));
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
const response = this.request.get(params[''url''] + apiPath);
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (data, keys, skipParse) {
if (!skipParse) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
}
if (Array.isArray(keys)) {
var returnBuffer = {};
for (keyIdx = 0, keysLength = keys.length; keyIdx < keysLength; keyIdx++) {
if (keys[keyIdx][''path''] === ''@odata.id'') {
returnBuffer[keys[keyIdx][''name'']] = data[keys[keyIdx][''path'']];
} else {
returnBuffer[keys[keyIdx][''name'']] = this.parseJSON(data, keys[keyIdx][''path''].split(''.''));
}
}
return returnBuffer;
} else if (typeof keys === ''object'') {
return { [keys[''name'']]: this.parseJSON(data, keys[''path''].split(''.'')) };
} else if (typeof keys === ''string'') {
return this.parseJSON(data, keys.split(''.''));
} else {
throw ''Unexpected key type'';
}
};
this.parseJSON = function (data, jsonPath) {
for (var i = 0, args = jsonPath.length; i < args; i++) {
data = data[jsonPath[i]];
}
return data;
}
}
const params = JSON.parse(value);
validateZabbixParams([''url'', ''user'', ''password'', ''http_status_code''], params);
var dell = new Dell(''System'', ''Get system metrics'', params);
const requests = [
{
''path'': ''/redfish/v1/Systems/System.Embedded.1'',
''keys'': [
{
''name'': ''model'',
''path'': ''Model''
},
{
''name'': ''serialnumber'',
''path'': ''Oem.Dell.DellSystem.ChassisServiceTag''
},
{
''name'': ''status'',
''path'': ''Status.Health''
}
]
},
{
''path'': ''/redfish/v1/Managers/iDRAC.Embedded.1'',
''keys'': {
''name'': ''firmware'',
''path'': ''FirmwareVersion''
}
}
];
var buffer = {};
for (var i = 0, requestsCount = requests.length; i < requestsCount; i++) {
Object.assign(buffer, dell.extractData(dell.executeRequest(requests[i].path), requests[i].keys));
}
return JSON.stringify(buffer);','','0','','','','','0',NULL,'Returns system metrics.','0','30d','0','',NULL,'{$DELL.HTTP.REQUEST.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c400cdf744be43859f36ac249cef03d2','0','2','0'),
('36214','3','','10435','Redfish API status','net.tcp.service[https]','1m','31d','365d','0','3','','','','',NULL,'1311','','','0','','','','','0',NULL,'Availability of Redfish API on the server.
Possible values:
0 - Unavailable
1 - Available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da21527c1a004c67a5e2cd6770aa8637','0','2','0'),
('36255','20','get[1.3.6.1.2.1.1.4.0]','10436','System contact details','dell.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd86d6203a874b27be4ed91578928dcf','0','2','0'),
('36256','20','get[1.3.6.1.2.1.1.1.0]','10436','System description','dell.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5c65ffddfff45319a3f6ba856b73f6b','0','2','0'),
('36257','20','get[1.3.6.1.4.1.674.10892.5.1.1.8.0]','10436','Firmware version','dell.server.hw.firmware[racFirmwareVersion]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the firmware version of a remote access card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00928da92ab7499aba169837b2fffc83','0','2','0'),
('36258','20','get[1.3.6.1.4.1.674.10892.5.1.3.12.0]','10436','Hardware model name','dell.server.hw.model[systemModelName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the model name of the system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34fd8f0eaae041828cd1743ef55c16f9','0','2','0'),
('36259','20','get[1.3.6.1.4.1.674.10892.5.1.3.2.0]','10436','Hardware serial number','dell.server.hw.serialnumber[systemServiceTag]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the service tag of the system.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5753d89e11f43fba46959b60601d45c','0','2','0'),
('36260','20','get[1.3.6.1.2.1.1.6.0]','10436','System location','dell.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., ''telephone closet, 3rd floor''). If the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca9019fd89654c52889a12153150151d','0','2','0'),
('36261','20','get[1.3.6.1.2.1.1.5.0]','10436','System name','dell.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b72816906274e1281929a318c44e8c6','0','2','0'),
('36262','20','get[1.3.6.1.2.1.1.2.0]','10436','System object ID','dell.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18c324fe6e714549bc337c2711795c40','0','2','0'),
('36263','20','get[1.3.6.1.4.1.674.10892.5.2.1.0]','10436','Overall system health status','dell.server.status[globalSystemStatus]','1m','31d','0','0','3','','','','',NULL,'446','','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the overall rollup status of all the components in the system monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','341699ea98c64951b1d94d89b5c81362','0','2','0'),
('36264','20','get[1.3.6.1.4.1.674.10892.5.1.3.6.0]','10436','Operating system','dell.server.sw.os[systemOSName]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the name of the operating system that the host is running.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8d519bdde9a4c3b89976f7b0dab0696','0','2','0'),
('36266','17','','10436','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65097a06ef764129bcb0cb7fdd1f0ec8','0','2','0'),
('36267','5','','10436','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'455','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','943b9c35a40c4ca7811212b20b27677d','0','2','0'),
('36295','21','','10437','Get system','dell.server.system.get','1m','0','0','0','4','','','','',NULL,NULL,'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function Dell(service, action, params) {
this.zabbixLogPrefix = ''[ DELL ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.executeRequest = function (apiPath) {
this.request.addHeader(''Authorization: Basic '' + btoa(params[''user''] + '':'' + params[''password'']));
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
const response = this.request.get(params[''url''] + apiPath);
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (data, keys, skipParse) {
if (!skipParse) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
}
if (Array.isArray(keys)) {
var returnBuffer = {};
for (keyIdx = 0, keysLength = keys.length; keyIdx < keysLength; keyIdx++) {
if (keys[keyIdx][''path''] === ''@odata.id'') {
returnBuffer[keys[keyIdx][''name'']] = data[keys[keyIdx][''path'']];
} else {
returnBuffer[keys[keyIdx][''name'']] = this.parseJSON(data, keys[keyIdx][''path''].split(''.''));
}
}
return returnBuffer;
} else if (typeof keys === ''object'') {
return { [keys[''name'']]: this.parseJSON(data, keys[''path''].split(''.'')) };
} else if (typeof keys === ''string'') {
return this.parseJSON(data, keys.split(''.''));
} else {
throw ''Unexpected key type'';
}
};
this.parseJSON = function (data, jsonPath) {
for (var i = 0, args = jsonPath.length; i < args; i++) {
data = data[jsonPath[i]];
}
return data;
}
}
const params = JSON.parse(value);
validateZabbixParams([''url'', ''user'', ''password'', ''http_status_code''], params);
var dell = new Dell(''System'', ''Get system metrics'', params);
const requests = [
{
''path'': ''/redfish/v1/Systems/System.Embedded.1'',
''keys'': [
{
''name'': ''model'',
''path'': ''Model''
},
{
''name'': ''serialnumber'',
''path'': ''Oem.Dell.DellSystem.ChassisServiceTag''
},
{
''name'': ''status'',
''path'': ''Status.Health''
}
]
},
{
''path'': ''/redfish/v1/Managers/iDRAC.Embedded.1'',
''keys'': {
''name'': ''firmware'',
''path'': ''FirmwareVersion''
}
}
];
var buffer = {};
for (var i = 0, requestsCount = requests.length; i < requestsCount; i++) {
Object.assign(buffer, dell.extractData(dell.executeRequest(requests[i].path), requests[i].keys));
}
return JSON.stringify(buffer);','','0','','','','','0',NULL,'Returns system metrics.','0','30d','0','',NULL,'{$DELL.HTTP.REQUEST.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','0bf660f3d66a4322acaeee585d258ddc','0','2','0'),
('36296','3','','10437','Redfish API status','net.tcp.service[https]','1m','31d','365d','0','3','','','','',NULL,'1320','','','0','','','','','0',NULL,'Availability of Redfish API on the server.
Possible values:
0 - Unavailable
1 - Available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ce986507b414619bf8cad6dcf1e61b6','0','2','0'),
('36337','20','get[1.3.6.1.2.1.1.4.0]','10438','System contact details','dell.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb8eb9194d964824a3c62f0cdd777520','0','2','0'),
('36338','20','get[1.3.6.1.2.1.1.1.0]','10438','System description','dell.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d16c384f99a94a22a0a24a01070d95a2','0','2','0'),
('36339','20','get[1.3.6.1.4.1.674.10892.5.1.1.8.0]','10438','Firmware version','dell.server.hw.firmware[racFirmwareVersion]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the firmware version of a remote access card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab2437a52da14bd28e54b781d9f1034d','0','2','0'),
('36340','20','get[1.3.6.1.4.1.674.10892.5.1.3.12.0]','10438','Hardware model name','dell.server.hw.model[systemModelName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the model name of the system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da32b347cedf4f7a906b6a819e08cf16','0','2','0'),
('36341','20','get[1.3.6.1.4.1.674.10892.5.1.3.2.0]','10438','Hardware serial number','dell.server.hw.serialnumber[systemServiceTag]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the service tag of the system.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c18ca70147524b0b95dd239c81495637','0','2','0'),
('36342','20','get[1.3.6.1.2.1.1.6.0]','10438','System location','dell.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., ''telephone closet, 3rd floor''). If the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a354c53006b44f3993c962c60028c33','0','2','0'),
('36343','20','get[1.3.6.1.2.1.1.5.0]','10438','System name','dell.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d6962f725c4547ebb939503dae9f24dd','0','2','0'),
('36344','20','get[1.3.6.1.2.1.1.2.0]','10438','System object ID','dell.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af019e901b1948c68888b90a703b9718','0','2','0'),
('36345','20','get[1.3.6.1.4.1.674.10892.5.2.1.0]','10438','Overall system health status','dell.server.status[globalSystemStatus]','1m','31d','0','0','3','','','','',NULL,'459','','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the overall rollup status of all the components in the system monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e84d73b00bf45c7a143e52bb278c5f1','0','2','0'),
('36346','20','get[1.3.6.1.4.1.674.10892.5.1.3.6.0]','10438','Operating system','dell.server.sw.os[systemOSName]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the name of the operating system that the host is running.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91ef2785cfa944f286c267ab351d8f33','0','2','0'),
('36348','17','','10438','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a90d82b418a416b8aa4575fc6b1e35d','0','2','0'),
('36349','5','','10438','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'468','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f249e299f7c944abbbb8fc824f36b664','0','2','0'),
('36377','21','','10439','Get system','dell.server.system.get','1m','0','0','0','4','','','','',NULL,NULL,'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function Dell(service, action, params) {
this.zabbixLogPrefix = ''[ DELL ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.executeRequest = function (apiPath) {
this.request.addHeader(''Authorization: Basic '' + btoa(params[''user''] + '':'' + params[''password'']));
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
const response = this.request.get(params[''url''] + apiPath);
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (data, keys, skipParse) {
if (!skipParse) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
}
if (Array.isArray(keys)) {
var returnBuffer = {};
for (keyIdx = 0, keysLength = keys.length; keyIdx < keysLength; keyIdx++) {
if (keys[keyIdx][''path''] === ''@odata.id'') {
returnBuffer[keys[keyIdx][''name'']] = data[keys[keyIdx][''path'']];
} else {
returnBuffer[keys[keyIdx][''name'']] = this.parseJSON(data, keys[keyIdx][''path''].split(''.''));
}
}
return returnBuffer;
} else if (typeof keys === ''object'') {
return { [keys[''name'']]: this.parseJSON(data, keys[''path''].split(''.'')) };
} else if (typeof keys === ''string'') {
return this.parseJSON(data, keys.split(''.''));
} else {
throw ''Unexpected key type'';
}
};
this.parseJSON = function (data, jsonPath) {
for (var i = 0, args = jsonPath.length; i < args; i++) {
data = data[jsonPath[i]];
}
return data;
}
}
const params = JSON.parse(value);
validateZabbixParams([''url'', ''user'', ''password'', ''http_status_code''], params);
var dell = new Dell(''System'', ''Get system metrics'', params);
const requests = [
{
''path'': ''/redfish/v1/Systems/System.Embedded.1'',
''keys'': [
{
''name'': ''model'',
''path'': ''Model''
},
{
''name'': ''serialnumber'',
''path'': ''Oem.Dell.DellSystem.ChassisServiceTag''
},
{
''name'': ''status'',
''path'': ''Status.Health''
}
]
},
{
''path'': ''/redfish/v1/Managers/iDRAC.Embedded.1'',
''keys'': {
''name'': ''firmware'',
''path'': ''FirmwareVersion''
}
}
];
var buffer = {};
for (var i = 0, requestsCount = requests.length; i < requestsCount; i++) {
Object.assign(buffer, dell.extractData(dell.executeRequest(requests[i].path), requests[i].keys));
}
return JSON.stringify(buffer);','','0','','','','','0',NULL,'Returns system metrics.','0','30d','0','',NULL,'{$DELL.HTTP.REQUEST.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c25e7040694f4a839b4e32524698c8da','0','2','0'),
('36378','3','','10439','Redfish API status','net.tcp.service[https]','1m','31d','365d','0','3','','','','',NULL,'1350','','','0','','','','','0',NULL,'Availability of Redfish API on the server.
Possible values:
0 - Unavailable
1 - Available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','881a8358b3a049cb9516ec8f2ee20b69','0','2','0'),
('36419','20','get[1.3.6.1.2.1.1.4.0]','10440','System contact details','dell.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca6fac1eee9f41d88df43b4e870e8e84','0','2','0'),
('36420','20','get[1.3.6.1.2.1.1.1.0]','10440','System description','dell.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b738b9531e5049df8c31f1c37868f34f','0','2','0'),
('36421','20','get[1.3.6.1.4.1.674.10892.5.1.1.8.0]','10440','Firmware version','dell.server.hw.firmware[racFirmwareVersion]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the firmware version of a remote access card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a4e5160d533407194d63d90f93352bd','0','2','0'),
('36422','20','get[1.3.6.1.4.1.674.10892.5.1.3.12.0]','10440','Hardware model name','dell.server.hw.model[systemModelName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the model name of the system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70068169a3b74328a803fcd2d69954ee','0','2','0'),
('36423','20','get[1.3.6.1.4.1.674.10892.5.1.3.2.0]','10440','Hardware serial number','dell.server.hw.serialnumber[systemServiceTag]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the service tag of the system.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3881855713847d286c3acd0de95a416','0','2','0'),
('36424','20','get[1.3.6.1.2.1.1.6.0]','10440','System location','dell.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., ''telephone closet, 3rd floor''). If the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','286a4143fb464b31bb5cd581e7458959','0','2','0'),
('36425','20','get[1.3.6.1.2.1.1.5.0]','10440','System name','dell.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eccac199b19143c0b3e275d5dae16729','0','2','0'),
('36426','20','get[1.3.6.1.2.1.1.2.0]','10440','System object ID','dell.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3561ed916061452e8597b8265c7305f3','0','2','0'),
('36427','20','get[1.3.6.1.4.1.674.10892.5.2.1.0]','10440','Overall system health status','dell.server.status[globalSystemStatus]','1m','31d','0','0','3','','','','',NULL,'481','','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the overall rollup status of all the components in the system monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3924d9aae3ac44b1b14d9c19204cbe2c','0','2','0'),
('36428','20','get[1.3.6.1.4.1.674.10892.5.1.3.6.0]','10440','Operating system','dell.server.sw.os[systemOSName]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the name of the operating system that the host is running.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','168398f2c797467fb7830dce8a9510b9','0','2','0'),
('36430','17','','10440','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f33eafc892b487dba32aa46823eafd4','0','2','0'),
('36431','5','','10440','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'490','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5dd178b40f28436db3c71a1dd50b8ea8','0','2','0'),
('36459','21','','10441','Get system','dell.server.system.get','1m','0','0','0','4','','','','',NULL,NULL,'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function Dell(service, action, params) {
this.zabbixLogPrefix = ''[ DELL ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.executeRequest = function (apiPath) {
this.request.addHeader(''Authorization: Basic '' + btoa(params[''user''] + '':'' + params[''password'']));
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
const response = this.request.get(params[''url''] + apiPath);
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (data, keys, skipParse) {
if (!skipParse) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
}
if (Array.isArray(keys)) {
var returnBuffer = {};
for (keyIdx = 0, keysLength = keys.length; keyIdx < keysLength; keyIdx++) {
if (keys[keyIdx][''path''] === ''@odata.id'') {
returnBuffer[keys[keyIdx][''name'']] = data[keys[keyIdx][''path'']];
} else {
returnBuffer[keys[keyIdx][''name'']] = this.parseJSON(data, keys[keyIdx][''path''].split(''.''));
}
}
return returnBuffer;
} else if (typeof keys === ''object'') {
return { [keys[''name'']]: this.parseJSON(data, keys[''path''].split(''.'')) };
} else if (typeof keys === ''string'') {
return this.parseJSON(data, keys.split(''.''));
} else {
throw ''Unexpected key type'';
}
};
this.parseJSON = function (data, jsonPath) {
for (var i = 0, args = jsonPath.length; i < args; i++) {
data = data[jsonPath[i]];
}
return data;
}
}
const params = JSON.parse(value);
validateZabbixParams([''url'', ''user'', ''password'', ''http_status_code''], params);
var dell = new Dell(''System'', ''Get system metrics'', params);
const requests = [
{
''path'': ''/redfish/v1/Systems/System.Embedded.1'',
''keys'': [
{
''name'': ''model'',
''path'': ''Model''
},
{
''name'': ''serialnumber'',
''path'': ''Oem.Dell.DellSystem.ChassisServiceTag''
},
{
''name'': ''status'',
''path'': ''Status.Health''
}
]
},
{
''path'': ''/redfish/v1/Managers/iDRAC.Embedded.1'',
''keys'': {
''name'': ''firmware'',
''path'': ''FirmwareVersion''
}
}
];
var buffer = {};
for (var i = 0, requestsCount = requests.length; i < requestsCount; i++) {
Object.assign(buffer, dell.extractData(dell.executeRequest(requests[i].path), requests[i].keys));
}
return JSON.stringify(buffer);','','0','','','','','0',NULL,'Returns system metrics.','0','30d','0','',NULL,'{$DELL.HTTP.REQUEST.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','18157734e10d4eed82a0f43168daff65','0','2','0'),
('36460','3','','10441','Redfish API status','net.tcp.service[https]','1m','31d','365d','0','3','','','','',NULL,'1359','','','0','','','','','0',NULL,'Availability of Redfish API on the server.
Possible values:
0 - Unavailable
1 - Available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1fe957b97d914400a1814ff8ac1a9fc4','0','2','0'),
('36501','20','get[1.3.6.1.2.1.1.4.0]','10442','System contact details','dell.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65da5f84a8bb43da8b72ddbe6d757fa8','0','2','0'),
('36502','20','get[1.3.6.1.2.1.1.1.0]','10442','System description','dell.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51c9b68b617c498eb612807734076367','0','2','0'),
('36503','20','get[1.3.6.1.4.1.674.10892.5.1.1.8.0]','10442','Firmware version','dell.server.hw.firmware[racFirmwareVersion]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the firmware version of a remote access card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09e33063d84e486fb4964af35916cc25','0','2','0'),
('36504','20','get[1.3.6.1.4.1.674.10892.5.1.3.12.0]','10442','Hardware model name','dell.server.hw.model[systemModelName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the model name of the system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b34415ae1ac84375834612f402d4ea0c','0','2','0'),
('36505','20','get[1.3.6.1.4.1.674.10892.5.1.3.2.0]','10442','Hardware serial number','dell.server.hw.serialnumber[systemServiceTag]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the service tag of the system.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b46ad39d968141259ace337d70744001','0','2','0'),
('36506','20','get[1.3.6.1.2.1.1.6.0]','10442','System location','dell.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., ''telephone closet, 3rd floor''). If the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0445a9767ce34fb7b2be072609504011','0','2','0'),
('36507','20','get[1.3.6.1.2.1.1.5.0]','10442','System name','dell.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58be11401c084b0a81ebadbde199133d','0','2','0'),
('36508','20','get[1.3.6.1.2.1.1.2.0]','10442','System object ID','dell.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','808a099b33c6438e8fd91a4f29c41f35','0','2','0'),
('36509','20','get[1.3.6.1.4.1.674.10892.5.2.1.0]','10442','Overall system health status','dell.server.status[globalSystemStatus]','1m','31d','0','0','3','','','','',NULL,'494','','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the overall rollup status of all the components in the system monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42be6e0b9fbe46179597650622a2241a','0','2','0'),
('36510','20','get[1.3.6.1.4.1.674.10892.5.1.3.6.0]','10442','Operating system','dell.server.sw.os[systemOSName]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: IDRAC-MIB-SMIv2
This attribute defines the name of the operating system that the host is running.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d967ad6ac2b46c28072f713cd11b59f','0','2','0'),
('36512','17','','10442','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','074f6d9a11814bb7909d99664192421d','0','2','0'),
('36513','5','','10442','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'503','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b690c870c11c40ecbd162a01e82abbfe','0','2','0'),
('36541','20','get[1.3.6.1.2.1.1.4.0]','10443','System contact details','hp.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0747f8f3cc624f469324c127577aa9f9','0','2','0'),
('36542','20','get[1.3.6.1.2.1.1.1.0]','10443','System description','hp.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc714f5445be431192dbeb553f0aa5c5','0','2','0'),
('36543','20','get[1.3.6.1.4.1.232.2.2.4.2.0]','10443','Hardware model name','hp.server.hw.model[cpqSiProductName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The machine product name. The name of the machine used in this system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf4baaaa76dc4f39bd39c62742f03e26','0','2','0'),
('36544','20','get[1.3.6.1.4.1.232.2.2.2.1.0]','10443','Hardware serial number','hp.server.hw.serialnumber[cpqSiSysSerialNum]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d5e2b9ae30b4c43a91cada24c4cc240','0','2','0'),
('36545','20','get[1.3.6.1.2.1.1.6.0]','10443','System location','hp.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b85a86fa36bd484cbd36cd25d2a605f9','0','2','0'),
('36546','20','get[1.3.6.1.2.1.1.5.0]','10443','System name','hp.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3df8b71c3f14432e8cd43fbc24f12447','0','2','0'),
('36547','20','get[1.3.6.1.2.1.1.2.0]','10443','System object ID','hp.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8573488eb0114109bc3c94f2edf00792','0','2','0'),
('36548','20','get[1.3.6.1.4.1.232.6.2.6.1.0]','10443','System temperature status','hp.server.sensor.temp.status[cpqHeThermalCondition]','1m','31d','0','0','3','','','','',NULL,'515','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
This value specifies the overall condition of the system''s thermal environment.
This value will be one of the following:
other(1) Temperature could not be determined.
ok(2) The temperature sensor is within normal operating range.
degraded(3) The temperature sensor is outside of normal operating range.
failed(4) The temperature sensor detects a condition that could permanently damage the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3891df22d63d4be5a62c8a27ac9d8965','0','2','0'),
('36549','20','get[1.3.6.1.4.1.232.6.1.3.0]','10443','Overall system health status','hp.server.status[cpqHeMibCondition]','1m','31d','0','0','3','','','','',NULL,'515','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
The overall condition. This object represents the overall status of the server information represented by this MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8ea3fc6a5914a868be12f21342a9678','0','2','0'),
('36550','20','get[1.3.6.1.2.1.1.3.0]','10443','Uptime (network)','hp.server.net.uptime[sysUpTime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65ec5672f1de4852b1ee52ce57e4f58f','0','2','0'),
('36551','17','','10443','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37dc9b6453184fe58435d12d422582d9','0','2','0'),
('36552','5','','10443','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'516','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2e80ecf16bb49af99eb52a45b8c11cf','0','2','0'),
('36598','20','get[1.3.6.1.2.1.1.4.0]','10444','System contact details','hp.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1831d0a9399d4e41a0fd1dc392241640','0','2','0'),
('36599','20','get[1.3.6.1.2.1.1.1.0]','10444','System description','hp.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','342a1fb4781d4f4fbafa7728f0c54d44','0','2','0'),
('36600','20','get[1.3.6.1.4.1.232.2.2.4.2.0]','10444','Hardware model name','hp.server.hw.model[cpqSiProductName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The machine product name. The name of the machine used in this system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b4a890c4d244ce7920193f2fcd34cd0','0','2','0'),
('36601','20','get[1.3.6.1.4.1.232.2.2.2.1.0]','10444','Hardware serial number','hp.server.hw.serialnumber[cpqSiSysSerialNum]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0da21845f8b49fd8c4471db20cf7a31','0','2','0'),
('36602','20','get[1.3.6.1.2.1.1.6.0]','10444','System location','hp.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa3cec21b4a64ba9990bb2adaaba8a00','0','2','0'),
('36603','20','get[1.3.6.1.2.1.1.5.0]','10444','System name','hp.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01bf2613057541b082320fa81b07636f','0','2','0'),
('36604','20','get[1.3.6.1.2.1.1.2.0]','10444','System object ID','hp.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abb51a946f5d4ee09895bef2e1df0fa6','0','2','0'),
('36605','20','get[1.3.6.1.4.1.232.6.2.6.1.0]','10444','System temperature status','hp.server.sensor.temp.status[cpqHeThermalCondition]','1m','31d','0','0','3','','','','',NULL,'528','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
This value specifies the overall condition of the system''s thermal environment.
This value will be one of the following:
other(1) Temperature could not be determined.
ok(2) The temperature sensor is within normal operating range.
degraded(3) The temperature sensor is outside of normal operating range.
failed(4) The temperature sensor detects a condition that could permanently damage the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a1af5ba5ee643c7b63e5eae10703e9c','0','2','0'),
('36606','20','get[1.3.6.1.4.1.232.6.1.3.0]','10444','Overall system health status','hp.server.status[cpqHeMibCondition]','1m','31d','0','0','3','','','','',NULL,'528','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
The overall condition. This object represents the overall status of the server information represented by this MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b05f7e3700440ee81cb38851c561a09','0','2','0'),
('36607','20','get[1.3.6.1.2.1.1.3.0]','10444','Uptime (network)','hp.server.net.uptime[sysUpTime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','244691064ba54bf186a44219077fc804','0','2','0'),
('36608','17','','10444','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','356100e223784f398701839a2e74b6ff','0','2','0'),
('36609','5','','10444','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'529','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1924b196b0af4b0ba91519187bf22c78','0','2','0'),
('36655','20','get[1.3.6.1.2.1.1.4.0]','10445','System contact details','hp.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f90d6150d544b13b659a4023ced96fc','0','2','0'),
('36656','20','get[1.3.6.1.2.1.1.1.0]','10445','System description','hp.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2594044e5b6046c3944cc54744f7f133','0','2','0'),
('36657','20','get[1.3.6.1.4.1.232.2.2.4.2.0]','10445','Hardware model name','hp.server.hw.model[cpqSiProductName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The machine product name. The name of the machine used in this system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a807f6dd73e41418df98e294470ed67','0','2','0'),
('36658','20','get[1.3.6.1.4.1.232.2.2.2.1.0]','10445','Hardware serial number','hp.server.hw.serialnumber[cpqSiSysSerialNum]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0aab370a165b42208ddc7e0ae693dabf','0','2','0'),
('36659','20','get[1.3.6.1.2.1.1.6.0]','10445','System location','hp.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71486d7865174980a004d566e0a9e885','0','2','0'),
('36660','20','get[1.3.6.1.2.1.1.5.0]','10445','System name','hp.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b0f62e1317c4900a7daee824cb360a3','0','2','0'),
('36661','20','get[1.3.6.1.2.1.1.2.0]','10445','System object ID','hp.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b554640957a04d1fa2fc4bf91a0b81a2','0','2','0'),
('36662','20','get[1.3.6.1.4.1.232.6.2.6.1.0]','10445','System temperature status','hp.server.sensor.temp.status[cpqHeThermalCondition]','1m','31d','0','0','3','','','','',NULL,'541','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
This value specifies the overall condition of the system''s thermal environment.
This value will be one of the following:
other(1) Temperature could not be determined.
ok(2) The temperature sensor is within normal operating range.
degraded(3) The temperature sensor is outside of normal operating range.
failed(4) The temperature sensor detects a condition that could permanently damage the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c9f9d96d50442bd99d6c46db6970d3d','0','2','0'),
('36663','20','get[1.3.6.1.4.1.232.6.1.3.0]','10445','Overall system health status','hp.server.status[cpqHeMibCondition]','1m','31d','0','0','3','','','','',NULL,'541','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
The overall condition. This object represents the overall status of the server information represented by this MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f61796d773b94de6b5177102cfb72005','0','2','0'),
('36664','20','get[1.3.6.1.2.1.1.3.0]','10445','Uptime (network)','hp.server.net.uptime[sysUpTime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','361fa26e08284bbd822e17efde9a7856','0','2','0'),
('36665','17','','10445','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','730b5262f94c4643bbcc4feb59b614da','0','2','0'),
('36666','5','','10445','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'542','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb8fe041c0344b8f807a61a0d53344de','0','2','0'),
('36712','20','get[1.3.6.1.2.1.1.4.0]','10446','System contact details','hp.server.contact[sysContact]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19ed955aeefa493883a151ddb550b8ff','0','2','0'),
('36713','20','get[1.3.6.1.2.1.1.1.0]','10446','System description','hp.server.descr[sysDescr]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b9fc7a143c74d1b812d14413c1f53b0','0','2','0'),
('36714','20','get[1.3.6.1.4.1.232.2.2.4.2.0]','10446','Hardware model name','hp.server.hw.model[cpqSiProductName]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The machine product name. The name of the machine used in this system.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2cad986747643658bee67492d90d106','0','2','0'),
('36715','20','get[1.3.6.1.4.1.232.2.2.2.1.0]','10446','Hardware serial number','hp.server.hw.serialnumber[cpqSiSysSerialNum]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CPQSINFO-MIB
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6cdacf190c584227b822fee9c112b849','0','2','0'),
('36716','20','get[1.3.6.1.2.1.1.6.0]','10446','System location','hp.server.location[sysLocation]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor''). If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','622dd9bef33b4db7bf5899a6f6ccb7b3','0','2','0'),
('36717','20','get[1.3.6.1.2.1.1.5.0]','10446','System name','hp.server.name[sysName]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2726dcd682d340b681f5dfa8d1e3ef07','0','2','0'),
('36718','20','get[1.3.6.1.2.1.1.2.0]','10446','System object ID','hp.server.objectid[sysObjectID]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1394f5cfccb64c53abd8cff0f095906f','0','2','0'),
('36719','20','get[1.3.6.1.4.1.232.6.2.6.1.0]','10446','System temperature status','hp.server.sensor.temp.status[cpqHeThermalCondition]','1m','31d','0','0','3','','','','',NULL,'554','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
This value specifies the overall condition of the system''s thermal environment.
This value will be one of the following:
other(1) Temperature could not be determined.
ok(2) The temperature sensor is within normal operating range.
degraded(3) The temperature sensor is outside of normal operating range.
failed(4) The temperature sensor detects a condition that could permanently damage the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09930c5b67d44de49bedfe7465697d40','0','2','0'),
('36720','20','get[1.3.6.1.4.1.232.6.1.3.0]','10446','Overall system health status','hp.server.status[cpqHeMibCondition]','1m','31d','0','0','3','','','','',NULL,'554','','','0','','','','','0',NULL,'MIB: CPQHLTH-MIB
The overall condition. This object represents the overall status of the server information represented by this MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e980a83b24bd4bdb9d2b7369d41c9aea','0','2','0'),
('36721','20','get[1.3.6.1.2.1.1.3.0]','10446','Uptime (network)','hp.server.net.uptime[sysUpTime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5576766f3a004fd3894ff22da515aedc','0','2','0'),
('36722','17','','10446','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1170728f4f534d19acfa001d1b00dcc4','0','2','0'),
('36723','5','','10446','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'555','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53bf83d6a797436da2d1d8498410a113','0','2','0'),
('36772','19','','10447','Get builds','travis.get_builds','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting builds using Travis API.','0','30d','0','',NULL,'','https://{$TRAVIS.API.URL}/builds','[{"limit":"0"}]','','200','1','0','','Travis-API-Version: 3
Authorization: token {$TRAVIS.API.TOKEN}','0','0','0','0','0','0','0','08466cd6902441299856cba3ce601510','0','2','0'),
('36773','19','','10447','Get health','travis.get_health','1m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting home JSON using Travis API.','0','30d','0','',NULL,'','https://{$TRAVIS.API.URL}/','','','200','1','0','','Travis-API-Version: 3
Authorization: token {$TRAVIS.API.TOKEN}','0','0','0','0','0','0','0','997172d503c54798800d01c613aca92a','0','2','0'),
('36774','19','','10447','Get jobs','travis.get_jobs','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting jobs using Travis API.','0','30d','0','',NULL,'','https://{$TRAVIS.API.URL}/jobs','','','200','1','0','','Travis-API-Version: 3
Authorization: token {$TRAVIS.API.TOKEN}','0','0','0','0','0','0','0','5a01061d1f3d48f8ad0beb4d32e2168d','0','2','0'),
('36775','19','','10447','Get repos','travis.get_repos','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting repos using Travis API.','0','30d','0','',NULL,'','https://{$TRAVIS.API.URL}/repos','[{"limit":"0"}]','','200','1','0','','Travis-API-Version: 3
Authorization: token {$TRAVIS.API.TOKEN}','0','0','0','0','0','0','0','5212bfa6de6c4a17b98a80012f617eea','0','2','0'),
('36795','19','','10448','Get instance metrics','influx.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','{$INFLUXDB.URL}/metrics','','','200','1','0','','','0','0','0','0','0','0','0','286bb866060e47948c02408ebc841f1f','0','2','0'),
('36796','19','','10448','Instance status','influx.healthcheck','1m','31d','365d','0','3','','','','',NULL,'556','','','0','','','','','0',NULL,'Get the health of an instance.','0','30d','0','',NULL,'','{$INFLUXDB.URL}/health','','','200','1','0','','','0','0','0','0','0','0','0','f8f514943c9040d7b41f14db92ca6c91','0','2','0'),
('36822','20','get[1.3.6.1.4.1.3375.2.1.14.1.1.0]','10419','Sync Status','bigip.syncstatus','1m','31d','365d','0','3','','','','',NULL,'560','','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The sync status ID on the system.
unknown - the device is disconnected from the device group;
syncing - the device is joining the device group or has requested changes from device group or inconsistent with the group;
needManualSync - changes have been made on the device not syncd to the device group;
inSync - the device is consistent with the device group;
syncFailed - the device is inconsistent with the device group, requires user intervention;
syncDisconnected - the device is not connected to any peers;
standalone - the device is in a standalone configuration;
awaitingInitialSync - the device is waiting for initial sync;
incompatibleVersion - the device''s version is incompatible with rest of the devices in the device group;
partialSync - some but not all devices successfully received the last sync.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46bf5611d32340fdb9129966cca2c5da','0','2','0'),
('36823','20','get[1.3.6.1.4.1.3375.2.1.14.3.1.0]','10419','Failover status','bigip.failover','1m','31d','365d','0','3','','','','',NULL,'559','','','0','','','','','0',NULL,'MIB: F5-BIGIP-SYSTEM-MIB
The failover status ID on the system.
unknown - the failover status of the device is unknown;
offline - the device is offline;
forcedOffline - the device is forced offline;
standby - the device is standby;
active - the device is active.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f7ecc11f860443582eb6dbe64b2bbb6','0','2','0'),
('36847','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10449','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4367659d4f49400aa0a4674c74ad00b8','0','2','0'),
('36848','20','get[1.3.6.1.2.1.1.1.0]','10449','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d375341d2a140679973c46fe7281dd5','0','2','0'),
('36849','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10449','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1233463a69346b68d538f1c43aa467d','0','2','0'),
('36850','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10449','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f9d30c789f16452d89ee417a2aee11f1','0','2','0'),
('36851','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10449','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5546cedfd50648d2a893b6ea59fd7453','0','2','0'),
('36852','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10449','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a78d97bd5f14a6b97873a3abe41db20','0','2','0'),
('36853','15','','10449','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dc5f8ec0557c4e9980f2224e150e89e7','0','2','0'),
('36901','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10450','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cdf7d11d3d47482ca5dad14596256025','0','2','0'),
('36902','20','get[1.3.6.1.2.1.1.1.0]','10450','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad2df2ad5b4d4bac8da4a24e2c082ad1','0','2','0'),
('36903','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10450','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d55015e95d2e4eebb72168b5311f7512','0','2','0'),
('36904','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10450','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6004aeb9600c42b5a74155f06cdf8af0','0','2','0'),
('36905','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10450','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cef294e9c4874526a093935ac3f093b6','0','2','0'),
('36906','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10450','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b3a0def1cf740f496bbd345de5ed605','0','2','0'),
('36907','15','','10450','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7dadc80881a4d3c9be8f1b660232c03','0','2','0'),
('36955','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10451','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','701b0e5e1b0d4f6199836c12bbeb23fb','0','2','0'),
('36956','20','get[1.3.6.1.2.1.1.1.0]','10451','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3172eba914574fd894cd4ab3c1295ed7','0','2','0'),
('36957','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10451','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5ade5b11ba84948ba84c0f975c6cbbe','0','2','0'),
('36958','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10451','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f1cabbfe9b84535b77ba2d7b32706fc','0','2','0'),
('36959','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10451','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aef1126fc6354f5083ce2b35d03aaa3c','0','2','0'),
('36960','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10451','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3f71753cbe14516929027f5f7c39380','0','2','0'),
('36961','15','','10451','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bde1da2443a3415296281c5259bc0b10','0','2','0'),
('37009','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10452','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','929df02b3b7a462f949c948d655d2f77','0','2','0'),
('37010','20','get[1.3.6.1.2.1.1.1.0]','10452','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e85d395c80b4db8868d5bccf64edfaa','0','2','0'),
('37011','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10452','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14b7fb61e1e64fbd900fd376ee087a40','0','2','0'),
('37012','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10452','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6cd07fdee09249c092abbee25f526c9a','0','2','0'),
('37013','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10452','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6db19f9ea46407dac1744adc4caa945','0','2','0'),
('37014','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10452','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d05360006eb148a6a66f157513bfe26f','0','2','0'),
('37015','15','','10452','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ccd49102df74a0da7bc068ef3e6c81c','0','2','0'),
('37063','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10453','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bb0cd6e869b4e00800c2893b4cf43bf','0','2','0'),
('37064','20','get[1.3.6.1.2.1.1.1.0]','10453','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d2bed107e30443ea44f3c3cd61f7cf5','0','2','0'),
('37065','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10453','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','460078d3884e4927818a3015dc36ec17','0','2','0'),
('37066','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10453','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c71d909522214671afd2b636aa54a06d','0','2','0'),
('37067','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10453','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1077bedb2f1b48509ec5a4f299aac7cf','0','2','0'),
('37068','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10453','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b24d15e975cd4423a4ef27008ee5fda1','0','2','0'),
('37069','15','','10453','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ea0ffecf896435284e268758203272d','0','2','0'),
('37117','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10454','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b45bf2cd74b496e8882ef8421f3075f','0','2','0'),
('37118','20','get[1.3.6.1.2.1.1.1.0]','10454','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11cf922dd6534e9faad83972f43021f0','0','2','0'),
('37119','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10454','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87694d7f0a6742c5922fc3f1d3c4c950','0','2','0'),
('37120','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10454','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4118b55b18df44798e3593e7c4ab1dd7','0','2','0'),
('37121','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10454','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c918b9f51a14b5aabe9bf662d459a45','0','2','0'),
('37122','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10454','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4664580c7f80415a8813dfac83c3f616','0','2','0'),
('37123','15','','10454','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','635ee2092ff64314910c0612fc33ee6c','0','2','0'),
('37171','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10455','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9316b737e8174862b0ce60ad10dca68b','0','2','0'),
('37172','20','get[1.3.6.1.2.1.1.1.0]','10455','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c758cdb68e854cedbb9fc53d361c878b','0','2','0'),
('37173','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10455','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b04e3b3b91294e3b9a5968e475166473','0','2','0'),
('37174','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10455','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0d399bd9e7e4aca86de1b4aa23cfa0c','0','2','0'),
('37175','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10455','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8be77fd4f4704108aedd5ab35a212172','0','2','0'),
('37176','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10455','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b8102bbf381c4a6e9d759e3ae3902616','0','2','0'),
('37177','15','','10455','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','383e2e5544ef439199784bcf81cced10','0','2','0'),
('37225','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10456','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a808f02d217e4b338fbd5d8f52474d7d','0','2','0'),
('37226','20','get[1.3.6.1.2.1.1.1.0]','10456','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','721918724f3f47189db3d73a51eed73e','0','2','0'),
('37227','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10456','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','028dcc2c59f34754b646c0a07e6e4709','0','2','0'),
('37228','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10456','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f186d66075841689596629ffecd1d45','0','2','0'),
('37229','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10456','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19a2d0e30b0c4123899147a6230863cf','0','2','0'),
('37230','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10456','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b64d82e4b7b46a28cc88b1fc6c772d8','0','2','0'),
('37231','15','','10456','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1a1e9109bb24cefb67b397dc94d3ed9','0','2','0'),
('37279','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10457','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e565515e2bfe469db344bd78bdfcba74','0','2','0'),
('37280','20','get[1.3.6.1.2.1.1.1.0]','10457','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ef71aac4f8b462cb4103327331c359c','0','2','0'),
('37281','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10457','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d766873d7ee41ddad6d90199c1e8a38','0','2','0'),
('37282','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10457','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56f7e706b7f84fdf827f5a14fb3bdc7c','0','2','0'),
('37283','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10457','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','818712f7986b40e8a3ce3994f43199ea','0','2','0'),
('37284','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10457','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b3849a88cf9436284dea73e86f70405','0','2','0'),
('37285','15','','10457','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','deb60e7c19b74431aed7b6c26fb7616b','0','2','0'),
('37333','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10458','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e06462712e7c45f296fa8dc0c53871d0','0','2','0'),
('37334','20','get[1.3.6.1.2.1.1.1.0]','10458','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1a6e11a8ba64f9e9270db35847b3421','0','2','0'),
('37335','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10458','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0fa99ad0d0744f24ab49ad9be423b3d4','0','2','0'),
('37336','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10458','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00ed6d0e4cd84395a74a5015e3440877','0','2','0'),
('37337','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10458','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f7c0ee962f1c4fab9262181dd9dee211','0','2','0'),
('37338','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10458','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3c3ff16e7dd4d2e811e72cb0279a827','0','2','0'),
('37339','15','','10458','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee81aaa76f1d40a898ba48e0dde79d13','0','2','0'),
('37387','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10459','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b74cbfd6dbc84c0c916402c81fb11fe9','0','2','0'),
('37388','20','get[1.3.6.1.2.1.1.1.0]','10459','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c8159ac8de24685be689387f69e0e20','0','2','0'),
('37389','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10459','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc917e510e004211be5fc624b071fc95','0','2','0'),
('37390','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10459','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4776598588384d30ac472ec39df3ef25','0','2','0'),
('37391','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10459','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0260f825e71e419da953e2f6285318bc','0','2','0'),
('37392','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10459','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49b860cd17af4bed904651fbe620d533','0','2','0'),
('37393','15','','10459','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a339ee32bc047a790562e1d17c4f733','0','2','0'),
('37441','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10460','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f94a0e5d26b401d84ca8a58b8121f2e','0','2','0'),
('37442','20','get[1.3.6.1.2.1.1.1.0]','10460','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be05eb6603df4b2b974319c0b90dd543','0','2','0'),
('37443','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10460','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c147284d49cb43b3950a28de281cf4a0','0','2','0'),
('37444','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10460','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1da1f71f2dfd4c9ca450217a07068872','0','2','0'),
('37445','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10460','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b1df0f8bebc443398bdb240a7a30db5','0','2','0'),
('37446','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10460','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','370e2a4ed66f4cc8ba31abdcff08598f','0','2','0'),
('37447','15','','10460','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fef22e8a7e0484b8e4ca48b66b322a1','0','2','0'),
('37495','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10461','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a2326a0d3884a679d05e4430f24f9cd','0','2','0'),
('37496','20','get[1.3.6.1.2.1.1.1.0]','10461','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c11a09561a447949a86bbb75b9b7b08','0','2','0'),
('37497','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10461','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d750b95502a462dbca47ff6aacd24da','0','2','0'),
('37498','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10461','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f4d1445451a41758afc06ba2a287805','0','2','0'),
('37499','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10461','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af7785e1221c4c458a333189d70208a2','0','2','0'),
('37500','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10461','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ecb4ad0744b04ad9a9e650012e394e6b','0','2','0'),
('37501','15','','10461','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a8f4c7d1c52496093779c4a70e01668','0','2','0'),
('37549','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10462','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af43dfeeeb7c4f2ea7636e3409e70f1f','0','2','0'),
('37550','20','get[1.3.6.1.2.1.1.1.0]','10462','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74bfb7d4834a499a8946c8275012ee76','0','2','0'),
('37551','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10462','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13fa6f235afa4f968f9de61b0727dced','0','2','0'),
('37552','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10462','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6e1b6013d3b41c68b4a0cc85bb539d6','0','2','0'),
('37553','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10462','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53c2b19776d14395832025f398d613eb','0','2','0'),
('37554','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10462','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','644de67163d14fe384128d7a89780d09','0','2','0'),
('37555','15','','10462','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b69a0a71c2a410783d8275a732b800a','0','2','0'),
('37603','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10463','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c3719bbbd424403b78d73824fdb45aa','0','2','0'),
('37604','20','get[1.3.6.1.2.1.1.1.0]','10463','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35142b0597a348838f0f77cf7c11266f','0','2','0'),
('37605','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10463','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a2b5f7921d74498bb1761e5bb773dec','0','2','0'),
('37606','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10463','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c98293d0ebe844d390474d48a937d0fc','0','2','0'),
('37607','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10463','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','545eb326fcd94bbcafd561824f1759db','0','2','0'),
('37608','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10463','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a6c7605ff3d45c092dff46fdc9fa1f8','0','2','0'),
('37609','15','','10463','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b8c952075db4ac6884cb0b352a75496','0','2','0'),
('37657','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10464','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23de7a030b324ae2bee4fa96d6a724da','0','2','0'),
('37658','20','get[1.3.6.1.2.1.1.1.0]','10464','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c41bb4d7171b44aca3656092aa2b12b8','0','2','0'),
('37659','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10464','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de134343b324455c9e17396c75aac869','0','2','0'),
('37660','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10464','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','709a68530d314d448fbf9f9339af594f','0','2','0'),
('37661','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10464','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d80810c2936846d9b037f5e9d00eb6f6','0','2','0'),
('37662','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10464','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82807a05026644379df67c28026b9696','0','2','0'),
('37663','15','','10464','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7bfd8141f2d34548a16f73ff7bb665eb','0','2','0'),
('37711','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10465','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fc0c608418046d0bbfc371f5f8d8c22','0','2','0'),
('37712','20','get[1.3.6.1.2.1.1.1.0]','10465','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a3ca4bce4da4e8eb6a15a2dcf51bce1','0','2','0'),
('37713','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10465','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','589cacbe509547bf944f7c8e3a518c7d','0','2','0'),
('37714','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10465','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31fb56c30de1477bbe69306c2b9e3d69','0','2','0'),
('37715','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10465','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb66968d87fe41a2ad4c5cb769849be4','0','2','0'),
('37716','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10465','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62b4597135824686b5de3cd51fcd46f4','0','2','0'),
('37717','15','','10465','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','414bec3767eb49c39bd67a135f60ba02','0','2','0'),
('37765','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10466','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86226852333f4573b461e7283ae93c8a','0','2','0'),
('37766','20','get[1.3.6.1.2.1.1.1.0]','10466','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf0cd44044154f0097685ac4da1e0f6b','0','2','0'),
('37767','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10466','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ec9f238ffa643c28011036ece349c2e','0','2','0'),
('37768','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10466','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ebce52c1fe045ef9e774aefb3359667','0','2','0'),
('37769','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10466','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ca1d02815cb46dba0b2b27de86cd1d4','0','2','0'),
('37770','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10466','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','891105963e744b8283682a5e4520347b','0','2','0'),
('37771','15','','10466','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b78b6b52884148f6b925e99b418f1838','0','2','0'),
('37819','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10467','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a90c400056634a4b8e1befa2b5868e1c','0','2','0'),
('37820','20','get[1.3.6.1.2.1.1.1.0]','10467','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1a55ccf0dd640439c149672d9f86c11','0','2','0'),
('37821','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10467','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ab55ba9cf82449a8b683ded8c691a11','0','2','0'),
('37822','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10467','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dcb3f5f1561543959e170e62e61f1457','0','2','0'),
('37823','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10467','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cf79d752ffe4eeeb80db78bd1f39813','0','2','0'),
('37824','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10467','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4682ebaf961d4782b7447de52646dfd4','0','2','0'),
('37825','15','','10467','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','805237bf56894386acfc37c7f38ad907','0','2','0'),
('37873','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10468','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a66560b690d544ef8fc657812a602157','0','2','0'),
('37874','20','get[1.3.6.1.2.1.1.1.0]','10468','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8239bb961ee453da2885a8abef9be34','0','2','0'),
('37875','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10468','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df405f764813407eb03d6f7a6308c5cc','0','2','0'),
('37876','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10468','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','55775fa17c604dddb86c7644556830e6','0','2','0'),
('37877','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10468','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14aff8f369f9440aac2110a4a52e7eb5','0','2','0'),
('37878','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10468','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbe45fbc0f9e4b1a94966ccb859463ae','0','2','0'),
('37879','15','','10468','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03626c0f7cf24394b47f24a1af36dcd0','0','2','0'),
('37927','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10469','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7befae11c37c415c821465a2b923d901','0','2','0'),
('37928','20','get[1.3.6.1.2.1.1.1.0]','10469','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f533de2af2824b30a43995499f5ec467','0','2','0'),
('37929','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10469','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cb71c3fa0aa4ca8aa4c2c03a017a28a','0','2','0'),
('37930','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10469','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e0024446d5f4696919f3a246dda3868','0','2','0'),
('37931','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10469','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','06bdef85cb3849819a6fa43dfcdf7ba1','0','2','0'),
('37932','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10469','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05b7592dca7744e39bbea87e73b6062c','0','2','0'),
('37933','15','','10469','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f39b87bfab3347b1bc016a35aa58f1be','0','2','0'),
('37981','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10470','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2ae97a860254ce8935a939ad715d583','0','2','0'),
('37982','20','get[1.3.6.1.2.1.1.1.0]','10470','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bad88a688384478b841c24f935d5c3a1','0','2','0'),
('37983','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10470','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd694bbf5faf4c7a8a30d5ffd817b678','0','2','0'),
('37984','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10470','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2906c09ebcc34c908a6ab8530804b67f','0','2','0'),
('37985','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10470','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6417f5bc08084fa29f2dab421c5093fd','0','2','0'),
('37986','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10470','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01618781ca974f5e8b1bf58b65092038','0','2','0'),
('37987','15','','10470','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffee597574084c638b668fb11a735962','0','2','0'),
('38035','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10471','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8da4bc75729549f8ba60c5edd47f1419','0','2','0'),
('38036','20','get[1.3.6.1.2.1.1.1.0]','10471','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05352d9bfb6d48b682c4d5e23ff28daf','0','2','0'),
('38037','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10471','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19bfda7a644b462880226d790eebd154','0','2','0'),
('38038','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10471','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aca36fae2c2f4856a8cacf7348a31b54','0','2','0'),
('38039','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10471','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ee29a6f60eb45fdb1193283ed54e7bc','0','2','0'),
('38040','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10471','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aef42cabe6cb4c8dbb0c6cea532c6a3f','0','2','0'),
('38041','15','','10471','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0012d55c993c43f4b620e282a9799cd8','0','2','0'),
('38089','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10472','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6b5e17543b54d32a6efac05a346717b','0','2','0'),
('38090','20','get[1.3.6.1.2.1.1.1.0]','10472','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da7d1bace5b84ec59f2a669c090c3b1f','0','2','0'),
('38091','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10472','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','903370300c154ba09796eaca48f5e54f','0','2','0'),
('38092','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10472','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','823e2b2060f64bed86d2a99d5e1487c5','0','2','0'),
('38093','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10472','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef5f00c33dea46b59b756eda8bb62f26','0','2','0'),
('38094','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10472','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da09619f39da49d59cf0125b45d567a6','0','2','0'),
('38095','15','','10472','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec6c40e7c02c49efbb7116bc6917b42b','0','2','0'),
('38143','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10473','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ac79dd0cff146c9ae018a8ba626f9e7','0','2','0'),
('38144','20','get[1.3.6.1.2.1.1.1.0]','10473','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b6f433b2de14edcb0efb036c562b090','0','2','0'),
('38145','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10473','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','484e12b0d4a24d19b9edfd300cfef958','0','2','0'),
('38146','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10473','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c810b41d48243668158812fdfdea4f7','0','2','0'),
('38147','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10473','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b34dda68e02640f88df173b7eeab267f','0','2','0'),
('38148','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10473','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','561afbad2b3d4d20a3fbe9753abd8623','0','2','0'),
('38149','15','','10473','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f605ea1480d947b3bad4d1592c215643','0','2','0'),
('38197','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10474','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4b55762b7ad446fa5c213883b8eebd2','0','2','0'),
('38198','20','get[1.3.6.1.2.1.1.1.0]','10474','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5c605a329274039883a04e6993d1e22','0','2','0'),
('38199','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10474','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d0da69b54a24b938cc1e9b37163dca3','0','2','0'),
('38200','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10474','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fe83ecd500341999fc23e74d61dcf6b','0','2','0'),
('38201','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10474','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f79fd8f841404f88aa130513c8264e27','0','2','0'),
('38202','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10474','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05cfdd5f009843a3a2b80939fb6f773d','0','2','0'),
('38203','15','','10474','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26765cfd258e46d18c3d085c170c1004','0','2','0'),
('38251','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10475','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b876d8c8ea3422a82e4b571853bee64','0','2','0'),
('38252','20','get[1.3.6.1.2.1.1.1.0]','10475','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ecb890a4585f47989973617ca4fcce42','0','2','0'),
('38253','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10475','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c283b3b41d074d9596145d97f33d132b','0','2','0'),
('38254','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10475','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2e20d27ca50462c88220e91f24b11c8','0','2','0'),
('38255','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10475','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c917c649b6e4a849283c5cd8c9f3c93','0','2','0'),
('38256','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10475','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','357a2467154c4dd283f76b9cdbdff62e','0','2','0'),
('38257','15','','10475','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5e85e7c2e0440cb90dcff96deffd559','0','2','0'),
('38305','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10476','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e24fe19f052f4901aeb9feab8199e461','0','2','0'),
('38306','20','get[1.3.6.1.2.1.1.1.0]','10476','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f054bfb710c14307ade4081fb441e840','0','2','0'),
('38307','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10476','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','941a740a1dcc40cf88dd56039f26cf92','0','2','0'),
('38308','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10476','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73fd8a7f00b2442c8d5bfab913d8eff9','0','2','0'),
('38309','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10476','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','011ea07e21a24cd1a4b42149ffe128db','0','2','0'),
('38310','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10476','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','902a71cc5c094a62a2a7f735d07643cf','0','2','0'),
('38311','15','','10476','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ae4d4e6fe0d4bf290f96e1d430f2655','0','2','0'),
('38359','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10477','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','397dce267b79414fb563dc2f184d2930','0','2','0'),
('38360','20','get[1.3.6.1.2.1.1.1.0]','10477','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc3d781f3ba64faa9914d34a4d450fd6','0','2','0'),
('38361','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10477','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d611ea9fbcff489e9175dcb6f0ffe2d1','0','2','0'),
('38362','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10477','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4257226c6b90413baaa7a2b8beeb3c01','0','2','0'),
('38363','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10477','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b319b01c532f453aa0b39c6cac9c06e8','0','2','0'),
('38364','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10477','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7522d72e76254a60b59fc2c67590701a','0','2','0'),
('38365','15','','10477','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b9d180956ca4f17abc9c232856f1a78','0','2','0'),
('38413','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10478','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac47dac361224d288e4455e9a689d690','0','2','0'),
('38414','20','get[1.3.6.1.2.1.1.1.0]','10478','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01ef36b50b394e4bb9670abd48a05369','0','2','0'),
('38415','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10478','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2321d2d106f6432a9de5b5a633315e5e','0','2','0'),
('38416','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10478','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae9626b78f3e4e89842fb82592e2f520','0','2','0'),
('38417','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10478','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4972cad8ac8f44d8a3d01278d602b21d','0','2','0'),
('38418','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10478','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a66e0f5458094b13bbdb7c9193b334e5','0','2','0'),
('38419','15','','10478','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c095d3737054b68a32f491e34f4ab32','0','2','0'),
('38467','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10479','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7582351ce394433b50aef17cc01b5b2','0','2','0'),
('38468','20','get[1.3.6.1.2.1.1.1.0]','10479','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e5fac593cf94a9d973ba8b604e1dfd2','0','2','0'),
('38469','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10479','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5531013912c4ed68e6b0b4d89165803','0','2','0'),
('38470','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10479','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86323c3d935642f980f158e5868f35e0','0','2','0'),
('38471','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10479','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ab4fc5c9fba4e098977500051a8ac98','0','2','0'),
('38472','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10479','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df10ebd3cfa44fe6838889ff81e8cab0','0','2','0'),
('38473','15','','10479','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','132ff52c4648491c9743bcf11b680236','0','2','0'),
('38521','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10480','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','079bddb94e6d427b9b4232ba4da15b53','0','2','0'),
('38522','20','get[1.3.6.1.2.1.1.1.0]','10480','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c787c308e66348c2a2041c612ef70513','0','2','0'),
('38523','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10480','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87b44381d4154c34bb1de1d8e56bc0f9','0','2','0'),
('38524','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10480','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a8bf0dd575f4718a87c007408f98a80','0','2','0'),
('38525','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10480','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5291559b3da497ba0cb9d7d36f531aa','0','2','0'),
('38526','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10480','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','40578c7f19bd4d2b9045abb2ccdd247f','0','2','0'),
('38527','15','','10480','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f076a1ed65f340579771f6f9c6f5d724','0','2','0'),
('38575','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10481','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0647d4e175d8467ca7f7579f92c56b82','0','2','0'),
('38576','20','get[1.3.6.1.2.1.1.1.0]','10481','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1237d193c49a4110bce86971e3c142f1','0','2','0'),
('38577','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10481','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e56609d113d4e7ab304ac20c4debb97','0','2','0'),
('38578','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10481','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3013805399d449c9ac4469b1310504db','0','2','0'),
('38579','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10481','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d7199ec103340b280154f08de8699f6','0','2','0'),
('38580','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10481','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54c72d743ada42dcaa0c39e9493517f8','0','2','0'),
('38581','15','','10481','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9aa6bb105738415e8971772cdb9273cc','0','2','0'),
('38629','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10482','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f44c0f3952034baab2a7051ef835ad6a','0','2','0'),
('38630','20','get[1.3.6.1.2.1.1.1.0]','10482','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1826b39b0004104bb5e81b3c6a5e944','0','2','0'),
('38631','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10482','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddd2fc89869f4feca6141ed16d6cfe1c','0','2','0'),
('38632','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10482','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e106a43efd24438adb62bec628e2176','0','2','0'),
('38633','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10482','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3067b57e3dd841959b11a972903b8f35','0','2','0'),
('38634','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10482','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','981a289b960f4df19cc0e2728618bb3e','0','2','0'),
('38635','15','','10482','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','477247613d5546bc95b4d2b7e1695743','0','2','0'),
('38683','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10483','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fea2d45d484c40d5bbd0a63bbcf32f38','0','2','0'),
('38684','20','get[1.3.6.1.2.1.1.1.0]','10483','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21aa5025c29a45d4ac5961d07f03f5ca','0','2','0'),
('38685','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10483','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2160944535143e5a9768b9dc1041bb9','0','2','0'),
('38686','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10483','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1b8a435332a4608a833703409c3844e','0','2','0'),
('38687','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10483','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f96c2050b2d407d9355406ff3ba57da','0','2','0'),
('38688','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10483','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4ba4c5b3c2e48b08231bd8f1ca9acf1','0','2','0'),
('38689','15','','10483','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b6a0a9ba8c5454594c7b6dff8b32963','0','2','0'),
('38737','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10484','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3442b390250b480f887e1311b369c54e','0','2','0'),
('38738','20','get[1.3.6.1.2.1.1.1.0]','10484','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f580252fdf44bd4a1172a73ea1b681f','0','2','0'),
('38739','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10484','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','737a739207f142e292cbce0d6f7208d5','0','2','0'),
('38740','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10484','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9fc7b36a3394404be56c55176b20e39','0','2','0'),
('38741','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10484','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73ce1c102e3a4d4885438c16eff34ddf','0','2','0'),
('38742','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10484','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e2ee7cca26b49d3990b832eda44ee2a','0','2','0'),
('38743','15','','10484','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b1572625e04447eb308be35061921f2','0','2','0'),
('38791','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10485','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1dfd38ddc91a4e70980734a4cfcc38e0','0','2','0'),
('38792','20','get[1.3.6.1.2.1.1.1.0]','10485','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e85420056601495aa0b7da67042a941a','0','2','0'),
('38793','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10485','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b177e4109404eebaa6674b8fc36953b','0','2','0'),
('38794','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10485','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54cf84706fad45a2af8d42f928108c4d','0','2','0'),
('38795','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10485','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21c6ba2b92674bec82e2d438bcfc9bc0','0','2','0'),
('38796','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10485','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23d7f8ca24e44c41a92fefa63b41e176','0','2','0'),
('38797','15','','10485','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3008075b5b134c3db792e591ae7ca316','0','2','0'),
('38845','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10486','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df95ed3cd37c4460bf643d9c1ec30cae','0','2','0'),
('38846','20','get[1.3.6.1.2.1.1.1.0]','10486','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e688e8e57d84ec79f78cad69914ea96','0','2','0'),
('38847','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10486','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4028eb828784fef80489e16e3d78659','0','2','0'),
('38848','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10486','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c089e6fa1464c92ae25265351e46c61','0','2','0'),
('38849','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10486','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','796e3dc988dd43ff8a7ea11a8eeac257','0','2','0'),
('38850','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10486','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','456b72f5cd6d4a64871345d150068244','0','2','0'),
('38851','15','','10486','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e68cf8cdbed4517a7b6828be1cc4aab','0','2','0'),
('38899','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10487','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fce13abb920940cdb20cdf70f2e94d90','0','2','0'),
('38900','20','get[1.3.6.1.2.1.1.1.0]','10487','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45bdf887a0a3433cbb77a9ce792f2fec','0','2','0'),
('38901','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10487','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f862ca4d6854c9bb56c46303cb5fd0a','0','2','0'),
('38902','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10487','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71a6d0a5cfd94c14b97af236ce4fc1c9','0','2','0'),
('38903','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10487','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54b4475f0bfb4c02b1f4fc68d4288bb7','0','2','0'),
('38904','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10487','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e60d597dcc94824bea105b5e51e5d06','0','2','0'),
('38905','15','','10487','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','700227d0426b44ee87a5f33ef5b5b29e','0','2','0'),
('38953','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10488','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb60ed419a0e4d43bd63fda86f86c12a','0','2','0'),
('38954','20','get[1.3.6.1.2.1.1.1.0]','10488','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba01d10fe2254462b4c2eabaa6cf9d6c','0','2','0'),
('38955','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10488','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc5c04dc408f47708d69d04e51f25d7c','0','2','0'),
('38956','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10488','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6bc59bf95f73427eaea0c59598d0deb3','0','2','0'),
('38957','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10488','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b0e4a132da94cd4b20e1f4ab4428405','0','2','0'),
('38958','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10488','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','501e0023828440498faed0e1214efe1c','0','2','0'),
('38959','15','','10488','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ddbf0f659724782a930dd42154eb64a','0','2','0'),
('39007','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10489','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed51e55b8fa64c5599399fc93d81d329','0','2','0'),
('39008','20','get[1.3.6.1.2.1.1.1.0]','10489','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','692ccc1f29fe4f15ae7ca0bee54bf6b6','0','2','0'),
('39009','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10489','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0645ecb1a28040d9b89af280ca3093ea','0','2','0'),
('39010','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10489','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','551f25631a13497b924c1b285b93ee5f','0','2','0'),
('39011','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10489','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c077abb2ecc84c88b2173bff8e9ab9aa','0','2','0'),
('39012','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10489','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4029907022564beeb405c065ae4febff','0','2','0'),
('39013','15','','10489','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5521e149584846118dcb280496b3aca4','0','2','0'),
('39061','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10490','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df5bf48843cd4981bf719769b3194a3d','0','2','0'),
('39062','20','get[1.3.6.1.2.1.1.1.0]','10490','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50100a89b236431d9ba7e4f2352fa2b9','0','2','0'),
('39063','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10490','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65a753ce87934f75aa719e3e59f76dbd','0','2','0'),
('39064','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10490','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5a74fe98a7948a9b189953b457b2975','0','2','0'),
('39065','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10490','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','806938d083e848b4b84b2c222c4f4d2e','0','2','0'),
('39066','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10490','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d4cc61a9f8c44f385606bc8394eaeb4','0','2','0'),
('39067','15','','10490','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','836ba120a51d4c659c034e3a94003c0f','0','2','0'),
('39115','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10491','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f05547dfa4146bd837288c6cfb0b0e4','0','2','0'),
('39116','20','get[1.3.6.1.2.1.1.1.0]','10491','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','286376d7fb9e4fa9a608d7494b500f4f','0','2','0'),
('39117','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10491','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad481c4efe304683ac539107a121b10a','0','2','0'),
('39118','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10491','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','111bd5c32550427682bb0e683754fda9','0','2','0'),
('39119','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10491','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b352f84778349c78422b9d4c648d05b','0','2','0'),
('39120','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10491','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3f37d9595244448ab98704c49678800','0','2','0'),
('39121','15','','10491','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10858c87568841f688e9b0b7e43811dd','0','2','0'),
('39169','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10492','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','354b56e7cce646c8b143434af11ebd1a','0','2','0'),
('39170','20','get[1.3.6.1.2.1.1.1.0]','10492','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3da25a0046ac4f2c9ec35d3ac9db9ae7','0','2','0'),
('39171','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10492','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a935a058a7644773b40d0cfbaae218e2','0','2','0'),
('39172','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10492','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14e1297549d74f48be28bdfe70746600','0','2','0'),
('39173','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10492','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0a11ac957ff4b91b2d032ca2e97fd86','0','2','0'),
('39174','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10492','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3702de756584423b93730807b797a1db','0','2','0'),
('39175','15','','10492','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e58d0e859a94279b4e52aa4b16d3702','0','2','0'),
('39223','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10493','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e98ee47f44a24acab59bf6d10a1f6612','0','2','0'),
('39224','20','get[1.3.6.1.2.1.1.1.0]','10493','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','176f7b3c6e4848c79f0f0f99021c644f','0','2','0'),
('39225','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10493','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fffcae15a44d4165af9f293a4dfc3134','0','2','0'),
('39226','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10493','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a46b0c33e93840e182208a099e6206df','0','2','0'),
('39227','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10493','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4255253ed78749d597385af02b95c8fe','0','2','0'),
('39228','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10493','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb1cd4666b1d4ee48141c77a7b9f07db','0','2','0'),
('39229','15','','10493','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','430682c60e8644baa65bcfa66dcd1b37','0','2','0'),
('39277','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10494','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2031dfc697c244c59e036a0b166772e2','0','2','0'),
('39278','20','get[1.3.6.1.2.1.1.1.0]','10494','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b8b9d12f8d449a5be35d89d8c68719d','0','2','0'),
('39279','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10494','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20e6d99fff5943ff85c2beedb0b292f3','0','2','0'),
('39280','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10494','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b704d1b595b4fe5aec1f855ff6574ea','0','2','0'),
('39281','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10494','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa54b9f3cf6746b897c07e7f3eac3c1f','0','2','0'),
('39282','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10494','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5a826e18b2941aeb1f3e091928225e0','0','2','0'),
('39283','15','','10494','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','767414861593473896fb39004ea488d4','0','2','0'),
('39331','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10495','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f9085ebffffa4e2abca0aa7c0e50599f','0','2','0'),
('39332','20','get[1.3.6.1.2.1.1.1.0]','10495','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d8a9da605f74a9089b49def0f6a4bff','0','2','0'),
('39333','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10495','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e35a6c46c241466a9d96f1017bf3b467','0','2','0'),
('39334','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10495','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c25789ed5a2e40b090016c759c5a96cc','0','2','0'),
('39335','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10495','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c45124bc11da4ebebf0dc1a9cd7c261e','0','2','0'),
('39336','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10495','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45ec9416e047428b8c535f95985bb61d','0','2','0'),
('39337','15','','10495','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7aa64e64e534b1e9dbd65dd2bdda819','0','2','0'),
('39385','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10496','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3521c975bbb443b1b66ec32ea561745f','0','2','0'),
('39386','20','get[1.3.6.1.2.1.1.1.0]','10496','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6178d9f5c5e947fe8e3fb774cc5a373a','0','2','0'),
('39387','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10496','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c449cc37420643ee8493419bde54aac6','0','2','0'),
('39388','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10496','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65da6e280942476e842effb8a08e2c6f','0','2','0'),
('39389','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10496','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4ce328c64a2471e98a1f608028797d5','0','2','0'),
('39390','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10496','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a7746065ea84c8da33740d3552c7073','0','2','0'),
('39391','15','','10496','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d294f3fa005b4c90a82fbc3fd5037fb7','0','2','0'),
('39439','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10497','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd3b07cbd6d74fec88e1d371846b48a4','0','2','0'),
('39440','20','get[1.3.6.1.2.1.1.1.0]','10497','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea51e70e43e24056b25309ce0fa8f9d8','0','2','0'),
('39441','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10497','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a577dbe3cfde4294ab93e0ab114c24c7','0','2','0'),
('39442','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10497','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34a57dc1a4f54f7ea156fa5c7b5f61de','0','2','0'),
('39443','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10497','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d8039dcceb344dcb4de5c4895a4e199','0','2','0'),
('39444','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10497','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','664555ffcf5e48039bdcf98bf79247ef','0','2','0'),
('39445','15','','10497','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8aa0e7e65d12468e9fdf4e2faebd3450','0','2','0'),
('39493','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10498','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c15fe701615f41809cdb9440e308339c','0','2','0'),
('39494','20','get[1.3.6.1.2.1.1.1.0]','10498','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10cecca7315d4732badc194787d6e58f','0','2','0'),
('39495','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10498','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab2590092f894a1c97787d5edb470b65','0','2','0'),
('39496','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10498','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c40e8e1ccca4418b9bfc22a84c08b4e','0','2','0'),
('39497','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10498','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93743e909ba5414294005084cb83fc93','0','2','0'),
('39498','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10498','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','039d0c2fe2224a57b77def7dd4dd2cfd','0','2','0'),
('39499','15','','10498','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bdb11b0d08184bd188276b7559286e65','0','2','0'),
('39547','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10499','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7154ef6b0f0b4d4a99fdf1d7ec8b2262','0','2','0'),
('39548','20','get[1.3.6.1.2.1.1.1.0]','10499','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e326a00dadf46928949a2270a4e7619','0','2','0'),
('39549','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10499','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17dd769754ca4559b53b191baa8ac571','0','2','0'),
('39550','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10499','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7df965b410944b07a5effd80fc3e5514','0','2','0'),
('39551','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10499','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3698fb3739a8435da6e40f4c2245b78e','0','2','0'),
('39552','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10499','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b15a14a08a06417a9ca3586754a3c968','0','2','0'),
('39553','15','','10499','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac044f3cfc33483db97ef1daecaafd6e','0','2','0'),
('39601','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10500','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c3a06a34c55c42c89d9158ac8e735564','0','2','0'),
('39602','20','get[1.3.6.1.2.1.1.1.0]','10500','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','350020213bbd4ca59fad42e8347abd67','0','2','0'),
('39603','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10500','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3540413716f141329c4ffadb402a051d','0','2','0'),
('39604','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10500','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8413ee1e46846fabbc3f7239d74df02','0','2','0'),
('39605','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10500','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d80ed64a5916414091a72caf33d650ee','0','2','0'),
('39606','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10500','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd680110f05848aaa2754da8d00f60e4','0','2','0'),
('39607','15','','10500','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a8c279dc19c4944804d27e0e6f7b5b3','0','2','0'),
('39655','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10501','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','166760a906dd4377a9b548a4809da3fd','0','2','0'),
('39656','20','get[1.3.6.1.2.1.1.1.0]','10501','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd26be143fce4e5bb10c61899b518eb2','0','2','0'),
('39657','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10501','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17f7aa01b647470382387fa9698bb80d','0','2','0'),
('39658','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10501','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f2ceb1729884e39a364207defb39b96','0','2','0'),
('39659','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10501','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efdb24ce66d8410cae4a932160c12bf2','0','2','0'),
('39660','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10501','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d359d909fef46ec96fd6f66a7be6d3b','0','2','0'),
('39661','15','','10501','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca6584d0bc71410bb93a7c295e6993b3','0','2','0'),
('39709','20','get[1.3.6.1.4.1.14988.1.1.7.4.0]','10502','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Current firmware version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bece431938dc48d79221aae1c14bb118','0','2','0'),
('39710','20','get[1.3.6.1.2.1.1.1.0]','10502','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d25a80f7bc97479690fcb07d44462606','0','2','0'),
('39711','20','get[1.3.6.1.4.1.14988.1.1.7.3.0]','10502','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
RouterBOARD serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9b1a9ee39334a7e986ca5fa85baea41','0','2','0'),
('39712','20','get[1.3.6.1.4.1.14988.1.1.4.4.0]','10502','Operating system','system.sw.os[mtxrLicVersion.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: MIKROTIK-MIB
Software version.','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a2568f84b394419b6f8ede2872dc3f1','0','2','0'),
('39713','20','get[1.3.6.1.2.1.25.2.3.1.5.65536]','10502','Total memory','vm.memory.total[hrStorageSize.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in
units of hrStorageAllocationUnits. This object is
writable to allow remote configuration of the size of
the storage area in those cases where such an
operation makes sense and is possible on the
underlying system. For example, the amount of main
memory allocated to a buffer pool might be modified or
the amount of disk space allocated to virtual memory
might be modified.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a897066661b413fb7d0f6ae795a8b78','0','2','0'),
('39714','20','get[1.3.6.1.2.1.25.2.3.1.6.65536]','10502','Used memory','vm.memory.used[hrStorageUsed.Memory]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','194e39cf188e40ba88b4c1f41b01b0c9','0','2','0'),
('39715','15','','10502','Memory utilization','vm.memory.util[memoryUsedPercentage.Memory]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d8527333e0a4f509b9fe0699577b081','0','2','0'),
('39742','19','','10503','System properties','velocloud.system.properties','6h','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System properties of VMware SD-WAN.','0','30d','0','',NULL,'','https://{$VELOCLOUD.URL}/portal/rest/systemProperty/getSystemProperties','','{ "normalize": true }','200','1','0','','Content-Type: application/json
Authorization: Token {$VELOCLOUD.TOKEN}','0','1','0','0','0','0','0','1206789df5b44af7ba1c5416662344dd','0','2','0'),
('39743','21','','10503','Get data','velocloud.get','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Token '' + params.token);
var response,
error_msg = '''',
enterprises = [],
edges = [],
links = [],
gateways = [],
version = [];
function getHttpData(url, body) {
response = request.post(url, body);
Zabbix.log(4, ''[ SD-WAN API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from SD-WAN API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.error && response.error.message) {
throw response.error.message;
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
if (params.token === ''{'' + ''$VELOCLOUD.TOKEN}'') {
throw ''Please change {'' + ''$VELOCLOUD.TOKEN} macro with the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
enterprises = getHttpData(params.url + ''portal/rest/monitoring/getAggregates'', ''{}'').enterprises;
if (!Array.isArray(enterprises)) {
throw ''Cannot process edges: enterprises is not an array.'';
}
links = getHttpData(params.url + ''portal/rest/monitoring/getAggregateEdgeLinkMetrics'', ''{}'');
gateways = getHttpData(params.url + ''portal/rest/network/getNetworkGateways'', JSON.stringify({ with: [''site''] }));
version = getHttpData(params.url + ''portal/rest/system/getVersionInfo'', ''{}'');
for (var i in enterprises) {
responseEdges = getHttpData(params.url + ''portal/rest/enterprise/getEnterpriseEdges'', JSON.stringify({ enterpriseId: enterprises[i].id, with: [''site''] }));
edges = edges.concat(responseEdges);
}
} catch (error) {
error_msg = error;
};
return JSON.stringify({
''enterprises'': enterprises,
''edges'': edges,
''links'': links,
''gateways'': gateways,
''info'': version,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'The JSON with result of Velocloud API requests.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','3d96f6e755934bc8a4ee7300a165adae','0','2','0'),
('39804','5','','10047','Zabbix stats cluster','zabbix[cluster,discovery,nodes]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The master item of Zabbix cluster statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f9d60d6dcbe14cd4aaec08aec6ca1856','0','2','0'),
('39822','5','','10047','Utilization of ODBC poller data collector processes, in %','zabbix[process,odbc poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ODBC poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8d593ff5690419f8679a5b8303f3a66','0','2','0'),
('39826','5','','10048','Utilization of ODBC poller data collector processes, in %','zabbix[process,odbc poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ODBC poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','06bdbdcfdbc04c24ad387b256e430801','0','2','0'),
('39827','19','','10504','Get API instance metrics','kubernetes.api.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from API instance /metrics endpoint.','0','30d','0','',NULL,'15s','{$KUBE.API.SERVER.URL}','','','200','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','e4e3c570a55a48689c145c4a2310c597','0','2','0'),
('39876','19','','10505','Kubernetes Controller: Get Controller metrics','kubernetes.controller.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from Controller instance /metrics endpoint.','0','30d','0','',NULL,'15s','{$KUBE.CONTROLLER.SERVER.URL}','','','200','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','c684929ea8444a6aa24f1fb80812a6eb','0','2','0'),
('39905','19','','10506','Get cadvisor metrics','kube.cadvisor.metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collecting raw Kubelet metrics from /metrics/cadvisor endpoint.','0','30d','0','',NULL,'10s','{$KUBE.KUBELET.URL}{$KUBE.KUBELET.CADVISOR.ENDPOINT}','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','1f94bbb521cb41dfa093e1408efbb15a','0','2','0'),
('39906','19','','10506','Get kubelet metrics','kube.kubelet.metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collecting raw Kubelet metrics from /metrics endpoint.','0','30d','0','',NULL,'10s','{$KUBE.KUBELET.URL}{$KUBE.KUBELET.METRIC.ENDPOINT}','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','c71fc79a77104ef4a0d6b89d5f7b7bad','0','2','0'),
('39907','19','','10506','Get pods','kube.pods','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collecting raw Kubelet metrics from /pods endpoint.','0','30d','0','',NULL,'10s','{$KUBE.KUBELET.URL}{$KUBE.KUBELET.PODS.ENDPOINT}','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','7c8cc6c3ed8e412eb69e7ab8e2fe7e12','0','2','0'),
('39937','21','','10507','Get nodes','kube.nodes','0;s00','0','0','0','4','','','','',NULL,NULL,E'var Kube = {
params: {},
pods_limit: 1000,
setParams: function (params) {
[''api_token'', ''api_url''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
[''endpoint_name'', ''pod_filter_labels'', ''pod_filter_annotations'', ''node_filter_labels'', ''node_filter_annotations''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'') {
throw ''Parameter can be empty but not removed: "'' + field + ''".'';
}
});
Kube.params = params;
if (typeof Kube.params.api_url === ''string'' && !Kube.params.api_url.endsWith(''/'')) {
Kube.params.api_url += ''/'';
}
},
apiRequest: function (query) {
var request = new HttpRequest(),
response,
url = encodeURI(Kube.params.api_url + query);
if (typeof Kube.params.http_proxy !== ''undefined'' && Kube.params.http_proxy !== '''') {
request.setProxy(Kube.params.http_proxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Kube.params.api_token);
if (Kube.params.http_proxy) {
Zabbix.log(4, ''[ Kubernetes ] Using http proxy: '' + Kube.params.http_proxy);
}
response = request.get(url);
Zabbix.log(4, ''[ Kubernetes ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Kubernetes API. Check debug log for more information.'';
}
return response;
},
parseFilters: function (csv) {
if (!csv)
return [];
var filters = [];
const filterCapture = /([!\\w\\-\\.\\/]+)\\s*:\\s*(.*)/;
const onComma = /\\s*,\\s*/;
csv.split(onComma).forEach(function (kv) {
var match = kv.match(filterCapture);
if (!match) {
Zabbix.log(3, ''Cannot parse filter from: "'' + kv + ''"'');
return;
}
filters.push({ key: match[1], expression: match[2] });
});
return filters;
},
filter: function (name, data, filters) {
if (typeof data !== ''object'') {
return true;
}
return filters.every(function (filter) {
const filter_key = filter.key.startsWith(''!'') ? filter.key.substring(1) : filter.key;
if (!(filter_key in data)) {
return true;
}
const isExcludingFilter = filter.key.startsWith(''!'');
const isMatchForFilter = new RegExp(filter.expression).test(data[filter_key]);
if ((isExcludingFilter && isMatchForFilter) ||
(!isExcludingFilter && !isMatchForFilter)) {
Zabbix.log(4, ''[ Kubernetes ] Discarded "'' + name + ''" by filter "'' + filter.key + '': '' + filter.expression + ''"'');
return false;
}
return true;
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getNodes: function () {
var result = Kube.apiRequest(''api/v1/nodes''),
output = [],
filterNodeLabels = Kube.parseFilters(Kube.params.node_filter_labels),
filterNodeAnnotations = Kube.parseFilters(Kube.params.node_filter_annotations);
if (typeof result !== ''object''
|| typeof result.items === ''undefined'') {
throw ''Cannot get nodes from Kubernetes API. Check debug log for more information.'';
}
result.items.forEach(function (filternode) {
if (Kube.filter(Kube.getField(filternode, ''metadata.name''), Kube.getField(filternode, ''metadata.labels''), filterNodeLabels)
&& Kube.filter(Kube.getField(filternode, ''metadata.name''), Kube.getField(filternode, ''metadata.annotations''), filterNodeAnnotations)) {
Zabbix.log(4, ''[ Kubernetes ] Filtered node "'' + filternode.metadata.name + ''"'');
output.push({
filternode
});
}
});
return output;
},
getPods: function () {
var result = [],
continue_token,
Pods = [];
while (continue_token !== '''') {
var data = Kube.apiRequest(''api/v1/pods?limit='' + Kube.pods_limit
+ ((typeof continue_token !== ''undefined'') ? ''&continue='' + continue_token : ''''));
if (typeof data !== ''object''
|| typeof data.items === ''undefined'') {
throw ''Cannot get pods from Kubernetes API. Check debug log for more information.'';
};
result.push.apply(result, data.items);
continue_token = data.metadata.continue || '''';
}
result.forEach(function (pod) {
var containers = {
limits: { cpu: 0, memory: 0 },
requests: { cpu: 0, memory: 0 },
restartCount: 0
},
containerStatuses = [{ restartCount: 0 }];
if (typeof pod.status.hostIP === ''object''
|| typeof pod.status.hostIP === ''undefined'') {
pod.status.hostIP = ''none'';
};
Kube.getField(pod, ''spec.containers'').forEach(function (container) {
var limits = container.resources.limits,
requests = container.resources.requests;
if (typeof limits !== ''undefined'') {
containers.limits.cpu += Fmt.cpuFormat(limits.cpu);
containers.limits.memory += Fmt.memoryFormat(limits.memory);
}
if (typeof requests !== ''undefined'') {
containers.requests.cpu += Fmt.cpuFormat(requests.cpu);
containers.requests.memory += Fmt.memoryFormat(requests.memory);
}
});
if (typeof pod.status.containerStatuses !== ''object''
|| typeof pod.status.containerStatuses === ''undefined'') {
pod.status.containerStatuses = containerStatuses;
};
pod.status.containerStatuses.forEach(function (container) {
containers.restartCount += container.restartCount;
});
Pods.push({
''name'': pod.metadata.name,
''nodeIP'': pod.status.hostIP,
''namespace'': pod.metadata.namespace,
''labels'': pod.metadata.labels,
''annotations'': pod.metadata.annotations,
''phase'': pod.status.phase,
''conditions'': pod.status.conditions,
''startTime'': pod.status.startTime,
''containers'': containers,
''hostname'': ''none''
})
});
return Pods;
},
getEndpointIPs: function () {
var endpoints = Kube.apiRequest(''api/v1/endpoints''),
endpointIPs = [];
if (typeof endpoints !== ''object''
|| typeof endpoints.items === ''undefined'') {
throw ''Cannot get endpoints from Kubernetes API. Check debug log for more information.'';
};
endpoints.items.forEach(function (ep) {
if (Kube.getField(ep, ''metadata.name'') !== Kube.params.endpoint_name) {
return;
}
if (!Array.isArray(ep.subsets)) {
return;
}
endpointIPs = ep.subsets;
});
return endpointIPs;
}
},
Fmt = {
factors: {
Ki: 1024, K: 1000,
Mi: 1024 ** 2, M: 1000 ** 2,
Gi: 1024 ** 3, G: 1000 ** 3,
Ti: 1024 ** 4, T: 1000 ** 4,
},
cpuFormat: function (cpu) {
if (typeof cpu === ''undefined'') {
return 0;
}
if (cpu.indexOf(''m'') > -1) {
return parseInt(cpu) / 1000;
}
return parseInt(cpu);
},
memoryFormat: function (mem) {
if (typeof mem === ''undefined'') {
return 0;
}
var pair,
factor;
if (pair = mem.match(/(\\d+)(\\w*)/)) {
if (factor = Fmt.factors[pair[2]]) {
return parseInt(pair[1]) * factor;
}
return mem;
}
return parseInt(mem);
}
}
try {
Kube.setParams(JSON.parse(value));
var nodes = Kube.getNodes(),
pods = Kube.getPods(),
Pods = [],
hostname = Kube.params.api_url.match(/https?:\\/\\/([\\w.-]+|\\[[a-f0-9:]+\\]|[^a-zA-Z:]+)(?::\\d+)?/),
filterPodLabels = Kube.parseFilters(Kube.params.pod_filter_labels),
filterPodAnnotations = Kube.parseFilters(Kube.params.pod_filter_annotations),
endpointIPs = Kube.getEndpointIPs();
if (typeof hostname[1] === ''undefined'') {
Zabbix.log(4, ''[ Kubernetes ] Received incorrect Kubernetes API url: '' + api_url + ''. Expected format: ://:'');
throw ''Cannot get hostname from Kubernetes API url. Check debug log for more information.'';
};
for (idx in nodes) {
var nodePodsCount = 0,
endpointpod = [],
roles = [];
Object.keys(nodes[idx].filternode.metadata.labels).forEach(function (label) {
var splitLabel = label.match(/^node-role.kubernetes.io\\/([\\w\\.-]+)/);
if (splitLabel) {
roles.push(splitLabel[1]);
}
});
var internalIPs = Kube.getField(nodes[idx].filternode, ''status.addresses'').filter(function (addr) {
return addr.type === ''InternalIP'';
});
var internalIP = internalIPs.length && internalIPs[0].address;
var Hostname = Kube.getField(nodes[idx].filternode, ''status.addresses'').filter(function (addr) {
return addr.type === ''Hostname'';
});
var Hostname = Hostname.length && Hostname[0].address;
pods.forEach(function (pod) {
if (pod.nodeIP !== internalIP) {
return;
}
nodePodsCount++;
pod.hostname = Hostname;
Pods = pods.filter(function (f) {
return (f.hostname !== ''none'' || f.phase === ''Pending'') && (
Kube.filter(f.name, f.labels, filterPodLabels)
&& Kube.filter(f.name, f.annotations, filterPodAnnotations)
);
}
)
});
endpointIPs.forEach(function (agent) {
for (k in Kube.getField(agent, ''addresses'')) {
if (Kube.getField(agent.addresses[k], ''ip'') === internalIP) {
endpointpod = Kube.getField(agent.addresses[k], ''targetRef.name'')
}
for (k in agent.notReadyAddresses) {
if (agent.notReadyAddresses[k].ip === internalIP) {
endpointpod = ''notReadyAddresses''
}
}
}
});
delete nodes[idx].filternode.metadata.managedFields;
delete nodes[idx].filternode.status.images;
nodes[idx].filternode.status.capacity.cpu = Fmt.cpuFormat(nodes[idx].filternode.status.capacity.cpu);
nodes[idx].filternode.status.capacity.memory = Fmt.memoryFormat(nodes[idx].filternode.status.capacity.memory);
nodes[idx].filternode.status.allocatable.cpu = Fmt.cpuFormat(nodes[idx].filternode.status.allocatable.cpu);
nodes[idx].filternode.status.allocatable.memory = Fmt.memoryFormat(nodes[idx].filternode.status.allocatable.memory);
nodes[idx].filternode.status.podsCount = nodePodsCount;
nodes[idx].filternode.status.roles = roles.join('', '');
nodes[idx].filternode.status.agent = endpointpod;
nodes[idx].filternode.internalIP = internalIP;
nodes[idx].filternode.clusterhostname = hostname[1];
}
return JSON.stringify({ nodes, Pods });
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Kubernetes ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Collecting and processing cluster nodes data via Kubernetes API.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','70dab03a327a4dc0ab9fe8031052584d','0','2','0'),
('39978','19','','10509','Get Scheduler metrics','kubernetes.scheduler.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from Scheduler instance /metrics endpoint.','0','30d','0','',NULL,'15s','{$KUBE.SCHEDULER.SERVER.URL}','','','200','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','2534eacdaf9b44d68388b366da40af59','0','2','0'),
('40010','19','','10510','Get component statuses','kube.componentstatuses','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'10s','{$KUBE.API.URL}{$KUBE.API.COMPONENTSTATUSES.ENDPOINT}','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','41c79d9286734cc3b0e3aa5ef729e5fe','0','2','0'),
('40011','21','','10510','Control plane LLD','kube.control_plane.lld','1m','0','0','0','4','','','','',NULL,NULL,E'var Kube = {
params: {},
setParams: function (params) {
[''api_token'', ''api_url'', ''api_server_scheme'', ''api_server_port'', ''controller_scheme'', ''controller_port'',
''scheduler_scheme'', ''scheduler_port'', ''control_plane_taint''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Kube.params = params;
if (typeof Kube.params.api_url === ''string'' && !Kube.params.api_url.endsWith(''/'')) {
Kube.params.api_url += ''/'';
}
},
apiRequest: function (query) {
var request = new HttpRequest(),
response,
url = encodeURI(Kube.params.api_url + query);
if (typeof Kube.params.http_proxy !== ''undefined'' && Kube.params.http_proxy !== '''') {
request.setProxy(Kube.params.http_proxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Kube.params.api_token);
Zabbix.log(4, ''[ Kubernetes ] Sending request: '' + url);
if (Kube.params.http_proxy) {
Zabbix.log(4, ''[ Kubernetes ] Using http proxy: '' + Kube.params.http_proxy);
}
response = request.get(url);
Zabbix.log(4, ''[ Kubernetes ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Kubernetes API. Check debug log for more information.'';
}
return response;
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getNodes: function () {
var result = Kube.apiRequest(''api/v1/nodes?labelSelector='' + Kube.params.control_plane_taint);
if (typeof result !== ''object''
|| typeof result.items === ''undefined'') {
throw ''Cannot get control plane nodes from Kubernetes API. Check debug log for more information.'';
};
var nodes = result.items,
IPv4 = /(?:\\d{1,3}\\.){3}\\d{1,3}/,
controlPlaneNodes = [],
hostname = Kube.params.api_url.match(/https?:\\/\\/([\\w.-]+|\\[[a-f0-9:]+\\]|[^a-zA-Z:]+)(?::\\d+)?/);
if (typeof hostname[1] === ''undefined'') {
Zabbix.log(4, ''[ Kubernetes ] Received incorrect Kubernetes API url: '' + api_url + ''. Expected format: ://:'');
throw ''Cannot get hostname from Kubernetes API url. Check debug log for more information.'';
};
controlPlaneNodes = nodes.map(function (node) {
var internalIPs = Kube.getField(node, ''status.addresses'').filter(function (addr) {
return addr.type === ''InternalIP'';
});
var internalIP = internalIPs.length && internalIPs[0].address;
return {
''{#NAME}'': Kube.getField(node, ''metadata.name''),
''{#IP}'': internalIP,
''{#KUBE.API.SERVER.URL}'': Kube.params.api_server_scheme + ''://'' + (IPv4.test(internalIP) ? internalIP : ''['' + internalIP + '']'') + '':'' + Kube.params.api_server_port + ''/metrics'',
''{#KUBE.CONTROLLER.SERVER.URL}'': Kube.params.controller_scheme + ''://'' + (IPv4.test(internalIP) ? internalIP : ''['' + internalIP + '']'') + '':'' + Kube.params.controller_port + ''/metrics'',
''{#KUBE.SCHEDULER.SERVER.URL}'': Kube.params.scheduler_scheme + ''://'' + (IPv4.test(internalIP) ? internalIP : ''['' + internalIP + '']'') + '':'' + Kube.params.scheduler_port + ''/metrics'',
''{#COMPONENT.API}'': ''API'',
''{#COMPONENT.CONTROLLER}'': ''Controller manager'',
''{#COMPONENT.SCHEDULER}'': ''Scheduler'',
''{#CLUSTER_HOSTNAME}'': hostname[1]
};
});
return JSON.stringify(controlPlaneNodes);
}
};
try {
Kube.setParams(JSON.parse(value));
return Kube.getNodes();
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Kubernetes ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Generation of data for Control plane discovery rules.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','e40b126a0cf64ce6bfed3b3de1d4dfa8','0','2','0'),
('40012','19','','10510','Get livez','kube.livez','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'10s','{$KUBE.API.URL}{$KUBE.API.LIVEZ.ENDPOINT}?verbose','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','d731fb05f0284921ab3548ba631f019c','0','2','0'),
('40013','19','','10510','Get readyz','kube.readyz','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'10s','{$KUBE.API.URL}{$KUBE.API.READYZ.ENDPOINT}?verbose','','','200, 403','1','0','','Authorization: Bearer {$KUBE.API.TOKEN}','0','0','0','0','0','0','0','3a5eaef4e8134dfb9f2935f98a8b88f7','0','2','0'),
('40014','21','','10510','Get state metrics','kube.state.metrics','1m','0','0','0','4','','','','',NULL,NULL,E'var Kube = {
params: {},
setParams: function (params) {
[''api_url'', ''api_token'', ''state_endpoint_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Kube.params = params;
if (typeof Kube.params.api_url === ''string'' && !Kube.params.api_url.endsWith(''/'')) {
Kube.params.api_url += ''/'';
}
},
apiRequest: function (query) {
var request = new HttpRequest(),
response,
url = encodeURI(Kube.params.api_url + query);
if (typeof Kube.params.http_proxy !== ''undefined'' && Kube.params.http_proxy !== '''') {
request.setProxy(Kube.params.http_proxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Kube.params.api_token);
Zabbix.log(4, ''[ Kubernetes ] Sending request: '' + url);
if (Kube.params.http_proxy) {
Zabbix.log(4, ''[ Kubernetes ] Using http proxy: '' + Kube.params.http_proxy);
}
response = request.get(url);
Zabbix.log(4, ''[ Kubernetes ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Kubernetes API. Check debug log for more information.'';
}
return response;
},
getEndpoint: function (ep) {
if (typeof ep.subsets[0].addresses !== ''undefined'') {
var scheme,
addr,
port;
ep.subsets.forEach(function (subset) {
var lp = subset.ports.filter(function (port) {
if (port.name !== ''http'' &&
port.name !== ''https'' &&
port.name !== ''https-main'') {
return false;
}
scheme = port.name.match(/https?/);
return true;
})
if (lp.length) {
port = lp[0].port
addr = subset.addresses[0].ip
}
})
return {
scheme: scheme || ''http'',
address: addr || ep.subsets[0].addresses[0].ip,
port: port || 8080
}
}
},
getMetricsEndpoint: function () {
var result = Kube.apiRequest(''api/v1/endpoints''),
endpoint = [];
if (typeof result !== ''object''
|| typeof result.items === ''undefined'') {
throw ''Cannot get endpoints from Kubernetes API. Check debug log for more information.'';
};
result.items.forEach(function (ep) {
if (ep.metadata.name === Kube.params.state_endpoint_name && Array.isArray(ep.subsets)) {
endpoint.push(Kube.getEndpoint(ep));
}
if (typeof Kube.params.openshift_endpoint_name !== ''undefined'' && Kube.params.openshift_endpoint_name !== ''''
&& ep.metadata.name === Kube.params.openshift_endpoint_name && Array.isArray(ep.subsets)) {
endpoint.push(Kube.getEndpoint(ep));
}
});
if (endpoint.length === 0) {
throw ''Cannot get state metrics endpoints from Kubernetes API. Check debug log for more information.'';
}
return endpoint;
},
getStateMetrics: function () {
var metrics_endpoint = Kube.getMetricsEndpoint(),
IPv4 = /(?:\\d{1,3}\\.){3}\\d{1,3}/,
result = '''',
request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Kube.params.api_token);
if (typeof Kube.params.http_proxy !== ''undefined'' && Kube.params.http_proxy !== '''') {
request.setProxy(Kube.params.http_proxy);
Zabbix.log(4, ''[ Kubernetes ] Using http proxy: '' + Kube.params.http_proxy);
}
metrics_endpoint.forEach(function (endpoint) {
var url = endpoint.scheme + ''://'' + (IPv4.test(endpoint.address) ? endpoint.address : ''['' + endpoint.address + '']'') + '':'' + endpoint.port + ''/metrics'';
Zabbix.log(4, ''[ Kubernetes ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Kubernetes ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
if (response === null) {
throw ''Failed to get state metrics. Check debug log for more information.'';
}
result += response + ''\\n'';
}
);
return result;
}
};
try {
Kube.setParams(JSON.parse(value));
var stateMetrics = Kube.getStateMetrics();
return stateMetrics;
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Kubernetes ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Collecting Kubernetes metrics from kube-state-metrics.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','66e69f9970ce478f8f0ff13f26b248e3','0','2','0'),
('40015','21','','10510','Node LLD','kube.node.lld','1m','0','0','0','4','','','','',NULL,NULL,E'var Kube = {
params: {},
setParams: function (params) {
[''api_url'', ''api_token'', ''kubelet_scheme'', ''kubelet_port''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
[''node_filter_labels'', ''node_filter_annotations''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'') {
throw ''Parameter can be empty but not removed: "'' + field + ''".'';
}
});
Kube.params = params;
if (typeof Kube.params.api_url === ''string'' && !Kube.params.api_url.endsWith(''/'')) {
Kube.params.api_url += ''/'';
}
},
apiRequest: function (query) {
var request = new HttpRequest(),
response,
url = encodeURI(Kube.params.api_url + query);
if (typeof Kube.params.http_proxy !== ''undefined'' && Kube.params.http_proxy !== '''') {
request.setProxy(Kube.params.http_proxy);
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Kube.params.api_token);
Zabbix.log(4, ''[ Kubernetes ] Sending request: '' + url);
if (Kube.params.http_proxy) {
Zabbix.log(4, ''[ Kubernetes ] Using http proxy: '' + Kube.params.http_proxy);
}
response = request.get(url);
Zabbix.log(4, ''[ Kubernetes ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Kubernetes API. Check debug log for more information.'';
}
return response;
},
parseFilters: function (csv) {
if (!csv)
return [];
var filters = [];
const filterCapture = /([!\\w\\-\\.\\/]+)\\s*:\\s*(.*)/;
const onComma = /\\s*,\\s*/;
csv.split(onComma).forEach(function (kv) {
var match = kv.match(filterCapture);
if (!match) {
Zabbix.log(3, ''Cannot parse filter from: "'' + kv + ''"'');
return;
}
filters.push({ key: match[1], expression: match[2] });
});
return filters;
},
filter: function (name, data, filters) {
if (typeof data !== ''object'') {
return true;
}
return filters.every(function (filter) {
const filter_key = filter.key.startsWith(''!'') ? filter.key.substring(1) : filter.key;
if (!(filter_key in data)) {
return true;
}
const isExcludingFilter = filter.key.startsWith(''!'');
const isMatchForFilter = new RegExp(filter.expression).test(data[filter_key]);
if ((isExcludingFilter && isMatchForFilter) ||
(!isExcludingFilter && !isMatchForFilter)) {
Zabbix.log(4, ''[ Kubernetes ] Discarded "'' + name + ''" by filter "'' + filter.key + '': '' + filter.expression + ''"'');
return false;
}
return true;
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getNodes: function () {
var result = Kube.apiRequest(''api/v1/nodes'');
if (typeof result !== ''object''
|| typeof result.items === ''undefined'') {
throw ''Cannot get nodes from Kubernetes API. Check debug log for more information.'';
};
var nodes = result.items,
IPv4 = /(?:\\d{1,3}\\.){3}\\d{1,3}/,
kubeNodes = [],
hostname = Kube.params.api_url.match(/https?:\\/\\/([\\w.-]+|\\[[a-f0-9:]+\\]|[^a-zA-Z:]+)(?::\\d+)?/),
filterNodeLabels = Kube.parseFilters(Kube.params.node_filter_labels),
filterNodeAnnotations = Kube.parseFilters(Kube.params.node_filter_annotations);
if (typeof hostname[1] === ''undefined'') {
Zabbix.log(4, ''[ Kubernetes ] Received incorrect Kubernetes API url: '' + api_url + ''. Expected format: ://:'');
throw ''Cannot get hostname from Kubernetes API url. Check debug log for more information.'';
};
kubeNodes = nodes.map(function (node) {
if (Kube.filter(Kube.getField(node, ''metadata.name''), Kube.getField(node, ''metadata.labels''), filterNodeLabels)
&& Kube.filter(Kube.getField(node, ''metadata.name''), Kube.getField(node, ''metadata.annotations''), filterNodeAnnotations)) {
Zabbix.log(4, ''[ Kubernetes ] Filtered node "'' + node.metadata.name + ''"'');
var internalIPs = Kube.getField(node, ''status.addresses'').filter(function (addr) {
return addr.type === ''InternalIP'';
});
var internalIP = internalIPs.length && internalIPs[0].address;
return {
''{#NAME}'': node.metadata.name,
''{#IP}'': internalIP,
''{#KUBE.KUBELET.URL}'': Kube.params.kubelet_scheme + ''://'' + (IPv4.test(internalIP) ? internalIP : ''['' + internalIP + '']'') + '':'' + Kube.params.kubelet_port,
''{#COMPONENT}'': ''Kubelet'',
''{#CLUSTER_HOSTNAME}'': hostname[1]
};
}
});
return JSON.stringify(kubeNodes);
},
};
try {
Kube.setParams(JSON.parse(value));
return Kube.getNodes();
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Kubernetes ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Generation of data for Kubelet discovery rules.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','aae78585c668466da5d0ab8d8b899828','0','2','0'),
('40128','20','get[1.3.6.1.4.1.12325.1.200.1.1.1.0]','10515','Packet filter running status','pfsense.pf.status','1m','31d','365d','0','3','','','','',NULL,'575','','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
True if packet filter is currently enabled.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','600896282920468baf2e47ab75ee9b31','0','2','0'),
('40129','20','get[1.3.6.1.4.1.12325.1.200.1.11.1.0]','10515','Firewall rules count','pfsense.rules.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
The number of labeled filter rules on this system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d0cf4a1a284453991e12daf921fed9a','0','2','0'),
('40130','20','get[1.3.6.1.4.1.12325.1.200.1.4.1.0]','10515','Source tracking table current','pfsense.source.tracking.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Number of entries in the source tracking table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c13b50c508e04851baf09c1c865241fc','0','2','0'),
('40131','20','get[1.3.6.1.4.1.12325.1.200.1.5.2.0]','10515','Source tracking table limit','pfsense.source.tracking.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Maximum number of ''sticky-address'' or ''source-track'' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58e12f73fd4243a89d62bbdc7e307cf9','0','2','0'),
('40132','15','','10515','Source tracking table utilization in %','pfsense.source.tracking.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//pfsense.source.tracking.table.count) * 100 / last(//pfsense.source.tracking.table.limit)','','0','','','','','0',NULL,'Utilization of source tracking table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fb3a344b39241bbb3bf78092fa17ec8','0','2','0'),
('40133','20','get[1.3.6.1.4.1.12325.1.200.1.3.1.0]','10515','States table current','pfsense.state.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Number of entries in the state table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0eab94d244b46c29363b630850ed709','0','2','0'),
('40134','20','get[1.3.6.1.4.1.12325.1.200.1.5.1.0]','10515','States table limit','pfsense.state.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Maximum number of ''keep state'' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8500a1db240b48d7bca514371a89c641','0','2','0'),
('40135','15','','10515','States table utilization in %','pfsense.state.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//pfsense.state.table.count) * 100 / last(//pfsense.state.table.limit)','','0','','','','','0',NULL,'Utilization of state table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e96cadaafca4e51ad62dba4fec5220a','0','2','0'),
('40136','5','','10515','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'576','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','585c88310a704e119aa5fc7f7f9c3804','0','2','0'),
('40181','5','','10048','Version','zabbix[version]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The version of Zabbix proxy.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d38d6d107714c96ae2ed2af44fddb60','0','2','0'),
('40182','5','','10048','Values waiting to be sent','zabbix[proxy_history]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of values in the proxy history table waiting to be sent to the server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b66d42ec1fa4dc7a41750aacf6e68f3','0','2','0'),
('40183','5','','10048','Required VPS','zabbix[requiredperformance]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The required performance of a proxy (the number of values that need to be collected per second).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef820395239d4a108980fe53017a89fc','0','2','0'),
('40184','5','','10048','Uptime','zabbix[uptime]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Uptime of the Zabbix proxy process in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef920914bc00432ea4d4007d09e081df','0','2','0'),
('40478','3','','10207','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'581','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','832b1a2e21904591bc42d5cda9f3df14','0','2','0'),
('40479','20','get[1.3.6.1.2.1.1.2.0]','10207','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0df5a577f5c46689578302df065a3d6','0','2','0'),
('40480','20','get[1.3.6.1.2.1.1.3.0]','10207','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e80e3dfbf1a447be87f1b6853c66555b','0','2','0'),
('40481','20','get[1.3.6.1.2.1.1.5.0]','10207','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b1d37d4950d40c79433f47dea9677d4','0','2','0'),
('40482','3','','10207','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','959946f1885c4e7fbde7ab7200c60858','0','2','0'),
('40483','20','get[1.3.6.1.2.1.1.6.0]','10207','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','597b68e7ddb8482280122de489424041','0','2','0'),
('40484','20','get[1.3.6.1.2.1.1.1.0]','10207','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','757c85110dc34eb88265832aba8e7fbf','0','2','0'),
('40485','20','get[1.3.6.1.2.1.1.4.0]','10207','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0471357a58ff437e835e02175d6e6ca1','0','2','0'),
('40486','17','','10207','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f5bdb3fde9142a9892db396c040f8dd','0','2','0'),
('40487','3','','10207','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f858a8bc36746be89b2e36608cbb643','0','2','0'),
('40488','5','','10207','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'582','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbcc156906774a109dd3d0cf09c512e9','0','2','0'),
('40501','3','','10254','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'586','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ace97814969841e9a3e2d8ac6b83aae7','0','2','0'),
('40502','3','','10254','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','643a2c6f8d724bd392dd97bada7d24c2','0','2','0'),
('40503','3','','10254','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e731e59672be40fa8ae7aced60ed3efc','0','2','0'),
('40504','17','','10254','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2d2516fb77f4e4faf13a69705d6af77','0','2','0'),
('40505','20','get[1.3.6.1.2.1.1.4.0]','10254','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','48446cefda57477eb19dfc6db23a5ee1','0','2','0'),
('40506','20','discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]','10254','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The average, over the last minute, of the percentage of time that processors was not idle.
Implementations may approximate this one minute smoothing period if necessary.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fde390cc8671441194fb274209a8c190','0','2','0'),
('40507','20','get[1.3.6.1.2.1.1.1.0]','10254','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','861f3aef96e64cf0a68e0fc81693f118','0','2','0'),
('40508','20','get[1.3.6.1.2.1.1.6.0]','10254','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','55418095abea4f109476530af23e2829','0','2','0'),
('40509','20','get[1.3.6.1.2.1.1.5.0]','10254','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d4538fc49f554fb6a1514cd9487a7291','0','2','0'),
('40510','20','get[1.3.6.1.2.1.1.2.0]','10254','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f2e8b5fa0464e4d964253f361d1e033','0','2','0'),
('40511','20','get[1.3.6.1.2.1.1.3.0]','10254','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed9ad1ae7fba4073bb80307dbd6849cd','0','2','0'),
('40512','5','','10254','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'587','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f57ed8cec3144effa6ffb2a4f604ab0b','0','2','0'),
('40533','3','','10208','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'590','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79adbe7d5d8f4dd6a172bfc3e2d8b23d','0','2','0'),
('40534','3','','10208','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ae37446cb1e4a2d95f55a41dd295bdf','0','2','0'),
('40535','3','','10208','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c8f61f10759487087d5942756f478b2','0','2','0'),
('40536','17','','10208','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7e6790a311c4b4582093cd28341306a','0','2','0'),
('40537','20','get[1.3.6.1.2.1.1.4.0]','10208','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62ae879ca6ab46aebc8655534acbba06','0','2','0'),
('40538','20','get[1.3.6.1.2.1.1.1.0]','10208','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8340ccd92ba940b497375aba810394a4','0','2','0'),
('40539','20','get[1.3.6.1.2.1.1.6.0]','10208','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88c5304ddeca47779b76d9806b1edc68','0','2','0'),
('40540','20','get[1.3.6.1.2.1.1.5.0]','10208','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8d912cb5c924f6587c83f08aa0c8ae1','0','2','0'),
('40541','20','get[1.3.6.1.2.1.1.2.0]','10208','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','939c63320b8e4199b87cc4759011da3c','0','2','0'),
('40542','20','get[1.3.6.1.2.1.1.3.0]','10208','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','237a5614cb634773853f6d5f42096773','0','2','0'),
('40543','5','','10208','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'591','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00b66dbea9464b55bbab004e0eb57c7b','0','2','0'),
('40554','3','','10210','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'594','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b77f1a0ffd4c4b6d870eda4b573b4d13','0','2','0'),
('40555','3','','10210','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e20f516917f40bca4a53ed015e065d2','0','2','0'),
('40556','3','','10210','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2888004f9e84640a088f891f8b0703d','0','2','0'),
('40557','17','','10210','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d0b064b0fd74361ac1c32cdea2c1123','0','2','0'),
('40558','20','get[1.3.6.1.2.1.1.4.0]','10210','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0561cc5be67434088c1e591a577d7e3','0','2','0'),
('40559','20','get[1.3.6.1.4.1.1991.1.1.2.1.52.0]','10210','CPU utilization','system.cpu.util[snAgGblCpuUtil1MinAvg.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The statistics collection of 1 minute CPU utilization.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2083ecbada4344b4b26dba0145694d7e','0','2','0'),
('40560','20','get[1.3.6.1.2.1.1.1.0]','10210','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f49220f80c04e2e98ecf3ec5fa53c2e','0','2','0'),
('40561','20','get[1.3.6.1.2.1.1.6.0]','10210','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3accd01dca984406990051338ce3f269','0','2','0'),
('40562','20','get[1.3.6.1.2.1.1.5.0]','10210','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d27ffcf928949188fbe1994b6b4dcbb','0','2','0'),
('40563','20','get[1.3.6.1.2.1.1.2.0]','10210','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','702517f6c1024b3c8860a63c9cd57367','0','2','0'),
('40564','20','get[1.3.6.1.2.1.1.3.0]','10210','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a534079085747b0916da05afdfafba0','0','2','0'),
('40565','20','get[1.3.6.1.4.1.1991.1.1.2.1.53.0]','10210','Memory utilization','vm.memory.util[snAgGblDynMemUtil.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The system dynamic memory utilization, in unit of percentage.
Deprecated: Refer to snAgSystemDRAMUtil.
For NI platforms, refer to snAgentBrdMemoryUtil100thPercent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e1b82a4271d4e159315e74547bea34e','0','2','0'),
('40566','5','','10210','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'595','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b782df60263e4302b83f66e920ac217f','0','2','0'),
('40567','3','','10211','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'598','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df3428a8cf5a449e9ffec28d846a3062','0','2','0'),
('40568','3','','10211','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e97bfa40e1547b5be3f72f9675dfc62','0','2','0'),
('40569','3','','10211','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79ca1e3ac22742d28e08c722dad1e254','0','2','0'),
('40570','17','','10211','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','584f0625be1c40e69294dce25fc9ead6','0','2','0'),
('40571','20','get[1.3.6.1.2.1.1.4.0]','10211','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b973c42ae6da4707893b21f20d09ecd3','0','2','0'),
('40572','20','get[1.3.6.1.4.1.1991.1.1.2.1.52.0]','10211','CPU utilization','system.cpu.util[snAgGblCpuUtil1MinAvg.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The statistics collection of 1 minute CPU utilization.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bfb60806299f4388bb5bfafd2c0329be','0','2','0'),
('40573','20','get[1.3.6.1.2.1.1.1.0]','10211','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11f6230e5f2945aab338c958f38ce9d3','0','2','0'),
('40574','20','get[1.3.6.1.2.1.1.6.0]','10211','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99be144849104b3cad296b2f21355e93','0','2','0'),
('40575','20','get[1.3.6.1.2.1.1.5.0]','10211','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7af427adf5ad451894ae1e6af72c1890','0','2','0'),
('40576','20','get[1.3.6.1.2.1.1.2.0]','10211','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','886dd0ed732c49118f012a402b4a5f45','0','2','0'),
('40577','20','get[1.3.6.1.2.1.1.3.0]','10211','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c32cf75496ce40e5b3d06a049fa3205d','0','2','0'),
('40578','20','get[1.3.6.1.4.1.1991.1.1.2.1.53.0]','10211','Memory utilization','vm.memory.util[snAgGblDynMemUtil.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FOUNDRY-SN-AGENT-MIB
The system dynamic memory utilization, in unit of percentage.
Deprecated: Refer to snAgSystemDRAMUtil.
For NI platforms, refer to snAgentBrdMemoryUtil100thPercent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','631268898edf40908c9d1dd75ed4eef8','0','2','0'),
('40579','5','','10211','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'599','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a25878004da548e9824321fe0f55955e','0','2','0'),
('40600','3','','10220','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'601','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf6d81068770410a929c127d8e7d76c1','0','2','0'),
('40601','3','','10220','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2af7b5f79fc44d7d992b0bf6277c12bb','0','2','0'),
('40602','3','','10220','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1afa1e8ca21c430598845806bbf0e7a2','0','2','0'),
('40603','17','','10220','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53eb0288c9e54490942cedd4ce5f376e','0','2','0'),
('40604','20','get[1.3.6.1.2.1.1.4.0]','10220','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bba5be8b3fa54bfbb354b7a2c20fd353','0','2','0'),
('40605','20','get[1.3.6.1.4.1.9.2.1.58]','10220','CPU utilization','system.cpu.util[avgBusy5]','5m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: OLD-CISCO-CPU-MIB
5 minute exponentially-decayed moving average of the CPU busy percentage.
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','693b0c779f574d869f47b44c4b3ecd58','0','2','0'),
('40606','20','get[1.3.6.1.2.1.1.1.0]','10220','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','495b26e876a04819a02cf22eaba04e0b','0','2','0'),
('40607','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10220','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5121a382d0245f0906bba4530a82ac4','0','2','0'),
('40608','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10220','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5934a35b54464f66ab19152ca393b882','0','2','0'),
('40609','20','get[1.3.6.1.2.1.1.6.0]','10220','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','30df666e80bd4875ac761306781061da','0','2','0'),
('40610','20','get[1.3.6.1.2.1.1.5.0]','10220','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e55e75a7baa4195b012e750bac90dcb','0','2','0'),
('40611','20','get[1.3.6.1.2.1.1.2.0]','10220','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc6e5a6e4f604b639815d9397264c6af','0','2','0'),
('40612','20','get[1.3.6.1.2.1.1.1.0]','10220','Operating system','system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70ef7ce7561640b7bc6b5d30235c0ecc','0','2','0'),
('40613','20','get[1.3.6.1.2.1.1.3.0]','10220','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ecd28b73c0f43a98c3a58467b1cbdc7','0','2','0'),
('40614','5','','10220','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'602','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a156e9ca10c49bbb87cf3de1b686cff','0','2','0'),
('40615','3','','10218','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'607','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0a3f0b82e32488aa22929fe035825cb','0','2','0'),
('40616','3','','10218','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c081f94e6094ad29e1fbc2a3424bedb','0','2','0'),
('40617','3','','10218','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dab9ef1df04d403faa4910bf51559035','0','2','0'),
('40618','17','','10218','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8684622dc8d446f0b17ba7687d47b09d','0','2','0'),
('40619','20','get[1.3.6.1.2.1.1.4.0]','10218','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','622767f4dbab49039c63990e4fc58eaa','0','2','0'),
('40620','20','get[1.3.6.1.2.1.1.1.0]','10218','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae8e0ecf937c4a9492fe67cc5cd07d6f','0','2','0'),
('40621','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10218','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8062a554b8d447f81f7b9ef3229c7e9','0','2','0'),
('40622','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10218','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','223fd2fe9699419c824ae310f1c8a631','0','2','0'),
('40623','20','get[1.3.6.1.2.1.1.6.0]','10218','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','361ca9979352405a9dfb9bc13e542a2f','0','2','0'),
('40624','20','get[1.3.6.1.2.1.1.5.0]','10218','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ddace242ffe487a8641e035cf04dcdd','0','2','0'),
('40625','20','get[1.3.6.1.2.1.1.2.0]','10218','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','290d095f8fbc4cd1aa5ed3d304434f4b','0','2','0'),
('40626','20','get[1.3.6.1.2.1.1.1.0]','10218','Operating system','system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5fe7bc2d46a748d3ace7d1dd0de8127b','0','2','0'),
('40627','20','get[1.3.6.1.2.1.1.3.0]','10218','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe1dbb23a8794ce9ae3f6c37e63082f8','0','2','0'),
('40628','5','','10218','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'608','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf9bd75166704b2f93446ece0c2d0fab','0','2','0'),
('40629','3','','10253','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'612','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a94e2b40f0e14bdfb70e66127f8d946b','0','2','0'),
('40630','3','','10253','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','39baf182f6724813a951b25f6ff5aab4','0','2','0'),
('40631','3','','10253','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85748657f67e45189256e7704c6e7a9c','0','2','0'),
('40632','17','','10253','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f50837172ad475d9d5a27c95be19ab2','0','2','0'),
('40633','20','get[1.3.6.1.2.1.1.4.0]','10253','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22406c415a0a4f6bbd9d44707631f42c','0','2','0'),
('40634','20','get[1.3.6.1.2.1.1.1.0]','10253','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a37d2e4f308475c932a6bb856d0ffb4','0','2','0'),
('40635','20','get[1.3.6.1.2.1.47.1.1.1.1.13.1]','10253','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12b69d0a3b844906a950bcedcbb8b9b8','0','2','0'),
('40636','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10253','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','991021da67c84f96a76154078c45f3be','0','2','0'),
('40637','20','get[1.3.6.1.2.1.1.6.0]','10253','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8ed796e88f3478ea72d95ddcc68f9ed','0','2','0'),
('40638','20','get[1.3.6.1.2.1.1.5.0]','10253','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a26d3babf5674a5e9d9afff94518e6c6','0','2','0'),
('40639','20','get[1.3.6.1.2.1.1.2.0]','10253','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da41d408448d4b1aa323e0046ff97598','0','2','0'),
('40640','20','get[1.3.6.1.2.1.1.1.0]','10253','Operating system','system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf4af497970a415aa45aa66b2ba48115','0','2','0'),
('40641','20','get[1.3.6.1.2.1.1.3.0]','10253','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','182fd7bfd7b74331b9f3cf8f4a7646cb','0','2','0'),
('40642','5','','10253','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'613','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92fa54c5c28b4244b0d22c9041064d15','0','2','0'),
('40708','3','','10221','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'617','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3853e6ef8cbf4e59a64422659f66bbb7','0','2','0'),
('40709','3','','10221','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef0432ffcf0546bf82177193866861cf','0','2','0'),
('40710','3','','10221','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b56a2a725bf4632bc28c6a5d0c3d64b','0','2','0'),
('40711','17','','10221','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba8178338b0e41ac97b0265f98b90770','0','2','0'),
('40712','20','get[1.3.6.1.2.1.1.4.0]','10221','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d4df70f2c5f04ad2b7f1b4e8ab9a9993','0','2','0'),
('40713','20','get[1.3.6.1.2.1.1.1.0]','10221','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','804476e771374e22b8767f90f271654a','0','2','0'),
('40714','20','get[1.3.6.1.2.1.1.6.0]','10221','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3d1970fc4404b4fa50a855433681105','0','2','0'),
('40715','20','get[1.3.6.1.2.1.1.5.0]','10221','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a36cccdaf24c4e82801ebb44eaa5e25a','0','2','0'),
('40716','20','get[1.3.6.1.2.1.1.2.0]','10221','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','651059497914431f827ad82a982e139b','0','2','0'),
('40717','20','get[1.3.6.1.2.1.1.3.0]','10221','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26a0a117545f4b17986f0b48996fec47','0','2','0'),
('40718','5','','10221','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'618','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ce4f98cdc6741bbb03f6e2ea03432c4','0','2','0'),
('40731','3','','10222','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'621','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','caa6811dace14784abd7136ddfbcec8b','0','2','0'),
('40732','3','','10222','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d18c1a0dbab64f238e82025d2c27b392','0','2','0'),
('40733','3','','10222','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','117fec4f68ad4782a0b0407bc465a31b','0','2','0'),
('40734','17','','10222','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a3acf94555d457d8837c6e75abbbf34','0','2','0'),
('40735','20','get[1.3.6.1.2.1.1.4.0]','10222','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aba1f89a56504dde9d0d6a60bafa9552','0','2','0'),
('40736','20','get[1.3.6.1.2.1.1.1.0]','10222','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26752257ad0f4bc58f678c247524c4cc','0','2','0'),
('40737','20','get[1.3.6.1.2.1.1.6.0]','10222','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64e931125c274e788b2f68dcb21725d8','0','2','0'),
('40738','20','get[1.3.6.1.2.1.1.5.0]','10222','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fcf0be13144245568817543cfc47c006','0','2','0'),
('40739','20','get[1.3.6.1.2.1.1.2.0]','10222','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f50184058d4549a1be9bae19c0743a84','0','2','0'),
('40740','20','get[1.3.6.1.2.1.1.3.0]','10222','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb250daeb7e643f4b2f78ede9e26b8ec','0','2','0'),
('40741','5','','10222','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'622','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ca2130529464dc9ba9355a915c7e539','0','2','0'),
('40752','3','','10223','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'626','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09fada9334444d18b149b2fa0e39ac76','0','2','0'),
('40753','3','','10223','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c2d54095100404c8e03b179f5df1761','0','2','0'),
('40754','3','','10223','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f66e84f94254655add99a1152225df7','0','2','0'),
('40755','17','','10223','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7c836a53c134dcda931ef9dba401f35','0','2','0'),
('40756','20','get[1.3.6.1.2.1.1.4.0]','10223','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29ee9181892b49a081299688f8c47798','0','2','0'),
('40757','20','get[1.3.6.1.2.1.1.1.0]','10223','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','188e1d65459f40a48c3bc0f444024a00','0','2','0'),
('40758','20','get[1.3.6.1.2.1.1.6.0]','10223','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22473cfba211477ab8fbbb52c814de0d','0','2','0'),
('40759','20','get[1.3.6.1.2.1.1.5.0]','10223','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38d68b0f6cd4445b966ead7e7301ae86','0','2','0'),
('40760','20','get[1.3.6.1.2.1.1.2.0]','10223','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5697ce18530b44f5a7e342344ecfe89a','0','2','0'),
('40761','20','get[1.3.6.1.2.1.1.3.0]','10223','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ca0653d792d42d1aebba51b36d5cf31','0','2','0'),
('40762','5','','10223','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'627','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','459f95874d194c7da40752f0336034be','0','2','0'),
('40775','3','','10224','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'631','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba27dc4ef9bf4c639b224b4e4881073e','0','2','0'),
('40776','20','get[1.3.6.1.2.1.1.3.0]','10224','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92f8e91c4d2c423984cb14440bc83328','0','2','0'),
('40777','20','get[1.3.6.1.2.1.1.2.0]','10224','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','041115a5c3f44c8c9a9e1e0c7bc7203e','0','2','0'),
('40778','20','get[1.3.6.1.2.1.1.5.0]','10224','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7345ee5a5db545a9a5bb90ab5626a2aa','0','2','0'),
('40779','20','get[1.3.6.1.2.1.1.6.0]','10224','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8c7f5611f544299a95eedc0c80cedb5','0','2','0'),
('40780','3','','10224','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd39116401f249008d21e4109a34c6c7','0','2','0'),
('40781','20','get[1.3.6.1.2.1.1.1.0]','10224','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e23764de0cda451d959e73ca0ea211ae','0','2','0'),
('40782','20','get[1.3.6.1.2.1.1.4.0]','10224','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa2eb0947ea34b2bbb739d6025d914ea','0','2','0'),
('40783','17','','10224','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da2bc25bb40642feaaff04b1cd5f85a0','0','2','0'),
('40784','3','','10224','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c59f57d99c7045b6920e26c8c1b58e52','0','2','0'),
('40785','5','','10224','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'632','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62a022d402c24da29c1aa7cb0eb64244','0','2','0'),
('40798','3','','10226','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'636','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8818ba559e364390a8f5881a9b3ab5c7','0','2','0'),
('40799','3','','10226','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','06c6f4c60f9b4db0afa2886ad70507af','0','2','0'),
('40800','3','','10226','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29f84e5b82b748a5b08475dd45ade97a','0','2','0'),
('40801','17','','10226','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4dad4c7dc007426ebb4b36439b64a55b','0','2','0'),
('40802','20','get[1.3.6.1.2.1.1.4.0]','10226','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','300812c78b9d4aeb82940d97ccee1d9e','0','2','0'),
('40803','20','get[1.3.6.1.2.1.1.1.0]','10226','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4996515da9e41728fb94c5134489e7b','0','2','0'),
('40804','20','get[1.3.6.1.2.1.1.6.0]','10226','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bf103c35b284fc7ba9f7b4968006cd9','0','2','0'),
('40805','20','get[1.3.6.1.2.1.1.5.0]','10226','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','adb55c04903d4c37a9ccecc78ac877d5','0','2','0'),
('40806','20','get[1.3.6.1.2.1.1.2.0]','10226','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d2e3e58dc4543d3b5df8ded3c2a4d90','0','2','0'),
('40807','20','get[1.3.6.1.2.1.1.3.0]','10226','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b2549a4c09a4b0d9112aed011b03583','0','2','0'),
('40808','5','','10226','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'637','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28e7a457abdf42c3a647642b3c4964e0','0','2','0'),
('40821','3','','10227','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'641','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fbefc108101b48e298a01037d5b3db50','0','2','0'),
('40822','3','','10227','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49b86b6d17394b859b02ea79c6d28b30','0','2','0'),
('40823','3','','10227','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1560f8f1509040a783e4149845ce38a3','0','2','0'),
('40824','17','','10227','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa164b01a218494dab454126b4f561a9','0','2','0'),
('40825','20','get[1.3.6.1.2.1.1.4.0]','10227','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f340c49d4364b8096a49c3fa52e2745','0','2','0'),
('40826','20','get[1.3.6.1.2.1.1.1.0]','10227','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85e404c0181143f28b1187acb08cfa04','0','2','0'),
('40827','20','get[1.3.6.1.2.1.1.6.0]','10227','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e4feed03de941c98e88e17b3e81b5e4','0','2','0'),
('40828','20','get[1.3.6.1.2.1.1.5.0]','10227','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b57179ad3e5f41f5805e93ff9e68d631','0','2','0'),
('40829','20','get[1.3.6.1.2.1.1.2.0]','10227','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72139a34e0cf4357b86a52cf8430ee8c','0','2','0'),
('40830','20','get[1.3.6.1.2.1.1.3.0]','10227','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac039d3041cc439eb1c3184ed78554d0','0','2','0'),
('40831','5','','10227','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'642','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c407deea6e0f41b18d84ccbe7fcbca63','0','2','0'),
('40844','3','','10250','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'646','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb35864dcdc142d1a136e47fabe5f017','0','2','0'),
('40845','3','','10250','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','722e38d7a1bd433192616664cc2824f8','0','2','0'),
('40846','3','','10250','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93f693245d3848afb6c89881cede42c1','0','2','0'),
('40847','17','','10250','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7530ee6104342319b0cad986a3a4daf','0','2','0'),
('40848','20','get[1.3.6.1.2.1.1.4.0]','10250','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1397f0fc832e47daa39308585f260152','0','2','0'),
('40849','20','get[1.3.6.1.2.1.1.1.0]','10250','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31211351783648bc9c727205c0273a4b','0','2','0'),
('40850','20','get[1.3.6.1.2.1.1.6.0]','10250','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad2dc1149eb546309657928b944c49fb','0','2','0'),
('40851','20','get[1.3.6.1.2.1.1.5.0]','10250','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba7fd7afad3f4b76bdfedc8c6c3a24ac','0','2','0'),
('40852','20','get[1.3.6.1.2.1.1.2.0]','10250','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74fd9c1bd546497aa20b9af09b951e98','0','2','0'),
('40853','20','get[1.3.6.1.2.1.1.3.0]','10250','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02e67b092ccf478ba13537ba6471f3fd','0','2','0'),
('40854','5','','10250','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'647','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af855c1e75304c26b11a86c2a86f08f2','0','2','0'),
('40867','3','','10229','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'651','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cd98c8030f14fbca6abee35eb87e45b','0','2','0'),
('40868','3','','10229','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee1ee4ce3b3a4545bd407ecc3e428049','0','2','0'),
('40869','3','','10229','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f3bda2c7ab84a418bde7602cf0d608d','0','2','0'),
('40870','17','','10229','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','023b4403df464029a1493c53a0122d6f','0','2','0'),
('40871','20','get[1.3.6.1.2.1.1.4.0]','10229','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9aba5f7df03b4904869e0043dc73b9ae','0','2','0'),
('40872','20','get[1.3.6.1.2.1.1.1.0]','10229','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','034cdbc177c346e0b49791250b8bf66d','0','2','0'),
('40873','20','get[1.3.6.1.2.1.1.6.0]','10229','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78041d1a10ed4cb6b89a77bc1478b009','0','2','0'),
('40874','20','get[1.3.6.1.2.1.1.5.0]','10229','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3fad2aa468c2492a89b28bdbffd00c6c','0','2','0'),
('40875','20','get[1.3.6.1.2.1.1.2.0]','10229','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5e66466550f44a4b1d2137c751e9009','0','2','0'),
('40876','20','get[1.3.6.1.2.1.1.3.0]','10229','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9dd0d849aaa499da9e2ef9e21ccd50e','0','2','0'),
('40877','5','','10229','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'652','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','291fbe54d7c845bb9ec5b080be084612','0','2','0'),
('40890','3','','10230','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'655','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45c9681958504f3b8b161a2c7c728dbb','0','2','0'),
('40891','3','','10230','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81af3843a1e44469affca02640f22b77','0','2','0'),
('40892','3','','10230','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','771d21b9c40b426d97eff54c6ac5227e','0','2','0'),
('40893','17','','10230','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bb2ef0f72244294bcc469710a0a1225','0','2','0'),
('40894','20','get[1.3.6.1.2.1.1.4.0]','10230','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8570bf70c217434cb40b9efa74d7e070','0','2','0'),
('40895','20','get[1.3.6.1.2.1.1.1.0]','10230','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c17fbf4b11b45f087668eefa9438341','0','2','0'),
('40896','20','get[1.3.6.1.2.1.1.6.0]','10230','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1ee46aa709d43919ae3727e4d55af42','0','2','0'),
('40897','20','get[1.3.6.1.2.1.1.5.0]','10230','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f06f097558d4ef3801207031e660756','0','2','0'),
('40898','20','get[1.3.6.1.2.1.1.2.0]','10230','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c4c4e044967a432a829ca88d8dcd8c2e','0','2','0'),
('40899','20','get[1.3.6.1.2.1.1.3.0]','10230','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db4c4bc058b147a293b12f8737e42a53','0','2','0'),
('40900','5','','10230','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'656','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a182c41cf58b465895ff677ca96e5b65','0','2','0'),
('40911','3','','10231','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'660','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5cf73357ca349818155522325a7c6bc','0','2','0'),
('40912','3','','10231','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a1c4412bb9340169827209df2554a50','0','2','0'),
('40913','3','','10231','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad350f912d2f4ead90aacdefa245cdf3','0','2','0'),
('40914','17','','10231','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5470bc511a5499e9b8dc8bf4de8f054','0','2','0'),
('40915','20','get[1.3.6.1.2.1.1.4.0]','10231','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b8583eaf0353493ba18e751c9355dfa7','0','2','0'),
('40916','20','get[1.3.6.1.2.1.1.1.0]','10231','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca8d30d561184ff4bf1b4ef07feb7302','0','2','0'),
('40917','20','get[1.3.6.1.2.1.1.6.0]','10231','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a0062fa788c4abdbeb83df30276a0fd','0','2','0'),
('40918','20','get[1.3.6.1.2.1.1.5.0]','10231','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87d8d5844b044be1a2a3261f98116fb0','0','2','0'),
('40919','20','get[1.3.6.1.2.1.1.2.0]','10231','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ebfd8c6f87d3401197bb8d9835206878','0','2','0'),
('40920','20','get[1.3.6.1.2.1.1.3.0]','10231','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd29b0df96ac4b93bbd0746257d3601d','0','2','0'),
('40921','5','','10231','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'661','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80ff69518e07493aac6059e1009d9a9f','0','2','0'),
('40934','3','','10449','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'664','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3614c3929ad5439f9829fd07e83d2d04','0','2','0'),
('40935','20','get[1.3.6.1.2.1.1.5.0]','10449','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a72a6424b8a24277a952d0d2e3974ad3','0','2','0'),
('40936','20','get[1.3.6.1.2.1.1.3.0]','10449','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04b76355c37041569f60b8d36d279f31','0','2','0'),
('40937','20','get[1.3.6.1.2.1.1.2.0]','10449','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79d95aec65934350b59a52e4af4b0fd7','0','2','0'),
('40938','20','get[1.3.6.1.2.1.1.6.0]','10449','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d35083324f245fda442d6c2183a2007','0','2','0'),
('40939','3','','10449','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d018eef194b4734a67537b410d083d1','0','2','0'),
('40940','20','get[1.3.6.1.2.1.1.1.0]','10449','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42f88903cca745a8a54fed6355d72a86','0','2','0'),
('40941','20','get[1.3.6.1.2.1.1.4.0]','10449','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45de6d3b762042f1beba38b42a5ce271','0','2','0'),
('40942','17','','10449','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5aa15bcdd8a41449014241122f42ed5','0','2','0'),
('40943','3','','10449','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','55b40d51d6694cf5b2da626587afe20e','0','2','0'),
('40944','5','','10449','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'665','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7bbae2f760b2437a92e27abc5f0c4c7a','0','2','0'),
('40955','3','','10450','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'668','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41881ff47c664642a6e9e9776eb17295','0','2','0'),
('40956','20','get[1.3.6.1.2.1.1.5.0]','10450','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a59a79c33ce484888308a171b5dd507','0','2','0'),
('40957','20','get[1.3.6.1.2.1.1.3.0]','10450','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd0d3629dc4445968d42642640cee4ef','0','2','0'),
('40958','20','get[1.3.6.1.2.1.1.2.0]','10450','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','66afc3c4f48e4e008c323c46afd38b21','0','2','0'),
('40959','20','get[1.3.6.1.2.1.1.6.0]','10450','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0fc01029ea6c491690c76be5b4a1a10f','0','2','0'),
('40960','3','','10450','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17ef5c841e254cf399f05b4a1ebfbddd','0','2','0'),
('40961','20','get[1.3.6.1.2.1.1.1.0]','10450','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0bba1b52c87d47119974e30e373423c6','0','2','0'),
('40962','20','get[1.3.6.1.2.1.1.4.0]','10450','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c510a601eb34626bdcc105dc6e88083','0','2','0'),
('40963','17','','10450','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad29673a93724660bbf7f34cc8b9b103','0','2','0'),
('40964','3','','10450','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b85868ac7f9646f9b8a672ca0a047dd9','0','2','0'),
('40965','5','','10450','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'669','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2a7924b19e14fb5a0adea4664cddb52','0','2','0'),
('40976','3','','10451','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'672','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70022c25c1ed4af49c878af7f2c5b73c','0','2','0'),
('40977','20','get[1.3.6.1.2.1.1.5.0]','10451','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','651753ff590d41a7b7478ca98ec9b0d9','0','2','0'),
('40978','20','get[1.3.6.1.2.1.1.3.0]','10451','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fd10918d51640619279d5874e06e20b','0','2','0'),
('40979','20','get[1.3.6.1.2.1.1.2.0]','10451','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','744a4d413ff74ffea13e0d6a0813eeee','0','2','0'),
('40980','20','get[1.3.6.1.2.1.1.6.0]','10451','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb4e80a9dfaf4165abac4fa360e77bf3','0','2','0'),
('40981','3','','10451','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f22e586a94424cb18483170ffa9f8b33','0','2','0'),
('40982','20','get[1.3.6.1.2.1.1.1.0]','10451','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d011e0751664b31b216329a1963afc2','0','2','0'),
('40983','20','get[1.3.6.1.2.1.1.4.0]','10451','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f5b003c74924567972b75b3c240c16c','0','2','0'),
('40984','17','','10451','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b02fde229c24c99a5ce8f9073717855','0','2','0'),
('40985','3','','10451','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf38efbab9c84551bb15f0544fb57838','0','2','0'),
('40986','5','','10451','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'673','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22fd5ba91f1d4297b07e4be7f420735a','0','2','0'),
('40997','3','','10452','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'676','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa447fdbf6e7440381f73a55e244405c','0','2','0'),
('40998','20','get[1.3.6.1.2.1.1.5.0]','10452','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8891f56528a34481838f9a8303412b0d','0','2','0'),
('40999','20','get[1.3.6.1.2.1.1.3.0]','10452','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d42c5c9972445889de6e09abfdbc847','0','2','0'),
('41000','20','get[1.3.6.1.2.1.1.2.0]','10452','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f91f4184edee42bbbd45dc23668946f2','0','2','0'),
('41001','20','get[1.3.6.1.2.1.1.6.0]','10452','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','252fc6ffddbf403a91e0bf1f558526d6','0','2','0'),
('41002','3','','10452','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d502a4b55224f3b8b4323c568d34535','0','2','0'),
('41003','20','get[1.3.6.1.2.1.1.1.0]','10452','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dfc51b19b72544d998a5c5ef6ca1c21e','0','2','0'),
('41004','20','get[1.3.6.1.2.1.1.4.0]','10452','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f4699712b2547c68ce6f5cc0523c0d5','0','2','0'),
('41005','17','','10452','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b3bc4be23664c91b61f835f5eb601ac','0','2','0'),
('41006','3','','10452','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5631c72ae88f4755822b993d42dd2c02','0','2','0'),
('41007','5','','10452','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'677','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ddd377d90e34afe92e33df8be63b759','0','2','0'),
('41018','3','','10453','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'680','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','452c7c9d9aa64d71a41f74949ab0a233','0','2','0'),
('41019','20','get[1.3.6.1.2.1.1.5.0]','10453','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05d02e7166c74b87ab67e2c76e9fa6dc','0','2','0'),
('41020','20','get[1.3.6.1.2.1.1.3.0]','10453','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab98bfc1746743feb6ab0d4a21c1a3bf','0','2','0'),
('41021','20','get[1.3.6.1.2.1.1.2.0]','10453','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fb0ffa57e5446e5912350700638e7a5','0','2','0'),
('41022','20','get[1.3.6.1.2.1.1.6.0]','10453','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87a5ef8c320c46f2a8936e64e53b2c2e','0','2','0'),
('41023','3','','10453','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84123d3f0fac4b178b3bb1cb878553e8','0','2','0'),
('41024','20','get[1.3.6.1.2.1.1.1.0]','10453','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03977b99f6fd4723bc29ce6790deca0b','0','2','0'),
('41025','20','get[1.3.6.1.2.1.1.4.0]','10453','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','601f9df762134a84aa5e2509a58f0309','0','2','0'),
('41026','17','','10453','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dcace506d88d437893b1b9fce0eaee89','0','2','0'),
('41027','3','','10453','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be0dd1d97e0b4f14b0283899821795a3','0','2','0'),
('41028','5','','10453','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'681','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3fe54510eaa1418aba59a833bf93b5dd','0','2','0'),
('41039','3','','10454','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'684','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42a75eedbb7e41209bdf0b77b410981e','0','2','0'),
('41040','20','get[1.3.6.1.2.1.1.5.0]','10454','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f635b37975e45a88116436b46f76486','0','2','0'),
('41041','20','get[1.3.6.1.2.1.1.3.0]','10454','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9d27f7a8a2a40699e0b013c5badcbc0','0','2','0'),
('41042','20','get[1.3.6.1.2.1.1.2.0]','10454','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a55661d0520a4a3686938402b9a39ecf','0','2','0'),
('41043','20','get[1.3.6.1.2.1.1.6.0]','10454','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34303c8ce03c4b59bca308055c7d3506','0','2','0'),
('41044','3','','10454','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29036393918345269f36aa4daba59823','0','2','0'),
('41045','20','get[1.3.6.1.2.1.1.1.0]','10454','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','267ee9321d50436f8c5a3ab6c1bbbfec','0','2','0'),
('41046','20','get[1.3.6.1.2.1.1.4.0]','10454','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6a9d9049fef46c69ae2508892060a43','0','2','0'),
('41047','17','','10454','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e58aff2b1704d99a73ecc607fbf286d','0','2','0'),
('41048','3','','10454','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac362f04138e40b0b2611a66101cb6d7','0','2','0'),
('41049','5','','10454','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'685','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','048e394bc01149b4976b0bde0e5cfa62','0','2','0'),
('41060','3','','10455','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'688','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32e1e322b3b34c7d9dc1cf7cac89f223','0','2','0'),
('41061','20','get[1.3.6.1.2.1.1.5.0]','10455','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e21e99f85ec464cba6473f4c0d15e96','0','2','0'),
('41062','20','get[1.3.6.1.2.1.1.3.0]','10455','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbb288d0de7c4732b74ff812698cccbc','0','2','0'),
('41063','20','get[1.3.6.1.2.1.1.2.0]','10455','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f48f704473374e1991267a007809ec00','0','2','0'),
('41064','20','get[1.3.6.1.2.1.1.6.0]','10455','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5fbca72e7724e689c5563877e3beef1','0','2','0'),
('41065','3','','10455','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0abc057afc84b459e0b5cfe43abbd03','0','2','0'),
('41066','20','get[1.3.6.1.2.1.1.1.0]','10455','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9348f8739fc4296a19a92de49f261fc','0','2','0'),
('41067','20','get[1.3.6.1.2.1.1.4.0]','10455','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ffb768eca167467b910da993f38f3ca7','0','2','0'),
('41068','17','','10455','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a30d3659344407ab31a3997e75e2c8a','0','2','0'),
('41069','3','','10455','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5302099600ae4973810fe71d21ab4533','0','2','0'),
('41070','5','','10455','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'689','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c0d4bc7872847248c4659bf7f29dee1','0','2','0'),
('41081','3','','10456','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'692','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee528734341c4cf8815442ca2762ad56','0','2','0'),
('41082','20','get[1.3.6.1.2.1.1.5.0]','10456','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18bbaa17cf224712944aa4ccfd3c56f8','0','2','0'),
('41083','20','get[1.3.6.1.2.1.1.3.0]','10456','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34d40f56c17541ddb276e773d0e39737','0','2','0'),
('41084','20','get[1.3.6.1.2.1.1.2.0]','10456','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a21804a0cb5549ea8f8b447802600aaa','0','2','0'),
('41085','20','get[1.3.6.1.2.1.1.6.0]','10456','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','966c104811674f4cbae586a8b5356247','0','2','0'),
('41086','3','','10456','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20177d9560fd41518274117a8573fcbf','0','2','0'),
('41087','20','get[1.3.6.1.2.1.1.1.0]','10456','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e0feae3c04e4736bf7a4485e36be60e','0','2','0'),
('41088','20','get[1.3.6.1.2.1.1.4.0]','10456','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e20df1ba4f740768c5d167928b52a91','0','2','0'),
('41089','17','','10456','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5fc1581406334366ba038c350335c7af','0','2','0'),
('41090','3','','10456','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47ded308c77c4cbba98051665f09a378','0','2','0'),
('41091','5','','10456','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'693','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f77c57fb2dca4391ba2d741ef636b0cd','0','2','0'),
('41102','3','','10457','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'696','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7b2d9c7f8dc4b7a8ff57b129af585b2','0','2','0'),
('41103','20','get[1.3.6.1.2.1.1.5.0]','10457','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74e4c3fb1719453faa539e5c4c03e725','0','2','0'),
('41104','20','get[1.3.6.1.2.1.1.3.0]','10457','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','95869b7593644ccebab3fc2bb81f493c','0','2','0'),
('41105','20','get[1.3.6.1.2.1.1.2.0]','10457','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a33a5e56bcf422fa357fdb664a93d03','0','2','0'),
('41106','20','get[1.3.6.1.2.1.1.6.0]','10457','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4c93df60aca48ffa7b7f67b58918b5f','0','2','0'),
('41107','3','','10457','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d6a55e92ef1f49669df5641093aefbdd','0','2','0'),
('41108','20','get[1.3.6.1.2.1.1.1.0]','10457','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9264b3ce82d648fbb209fd11a0d7069c','0','2','0'),
('41109','20','get[1.3.6.1.2.1.1.4.0]','10457','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','451ed0953b82410797051f377fda6e5b','0','2','0'),
('41110','17','','10457','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','972afbe794124caa8fd35b44856c4b73','0','2','0'),
('41111','3','','10457','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b784087e681644f68b96f4d7a041e57e','0','2','0'),
('41112','5','','10457','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'697','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fe6e7afa7bd42269e6b7e49661d1c3f','0','2','0'),
('41123','3','','10458','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'700','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','244e7111eefb48c98b1410eb53690989','0','2','0'),
('41124','20','get[1.3.6.1.2.1.1.5.0]','10458','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09fdf7b507614abe811670bb36c20aec','0','2','0'),
('41125','20','get[1.3.6.1.2.1.1.3.0]','10458','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f57e6a6b360b4844be4c125c44f4b799','0','2','0'),
('41126','20','get[1.3.6.1.2.1.1.2.0]','10458','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','241278e60289451ba100834fcb41b04b','0','2','0'),
('41127','20','get[1.3.6.1.2.1.1.6.0]','10458','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d85307924e84fe8ab5cecb8ee8afead','0','2','0'),
('41128','3','','10458','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','30907fe670ce46ad957b199bc58534bf','0','2','0'),
('41129','20','get[1.3.6.1.2.1.1.1.0]','10458','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b022eea34d6d4e46b403e3e6eb1df42e','0','2','0'),
('41130','20','get[1.3.6.1.2.1.1.4.0]','10458','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8bd0bba343264b6fa43c1c99d39f4bdc','0','2','0'),
('41131','17','','10458','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7215e2ee187f45439e367c0ee9b78fd8','0','2','0'),
('41132','3','','10458','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20d51d89f4604f6f8f56f1de7dcbb5cf','0','2','0'),
('41133','5','','10458','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'701','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a54976f73f14c0cacff759a406806a9','0','2','0'),
('41144','3','','10459','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'704','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe29736edd494d61ac4339ed5234bbdf','0','2','0'),
('41145','20','get[1.3.6.1.2.1.1.5.0]','10459','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','234bbf0b94ae4efe9e0708ef7748a592','0','2','0'),
('41146','20','get[1.3.6.1.2.1.1.3.0]','10459','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15665fae5ef043d2b39863ae3148f5da','0','2','0'),
('41147','20','get[1.3.6.1.2.1.1.2.0]','10459','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a947ad3c3e634a4185ed7e4d80ac2b11','0','2','0'),
('41148','20','get[1.3.6.1.2.1.1.6.0]','10459','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cfbb37cb51c94191a8812b4fc18846c9','0','2','0'),
('41149','3','','10459','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dcda1847f1324215ace997f21e2c9136','0','2','0'),
('41150','20','get[1.3.6.1.2.1.1.1.0]','10459','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2610c67fd0546d0a4f6d44515c38bfa','0','2','0'),
('41151','20','get[1.3.6.1.2.1.1.4.0]','10459','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77a875ad0d3348618ad166e13df8859c','0','2','0'),
('41152','17','','10459','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd102e739e6d4ec183d94d8965f9c0da','0','2','0'),
('41153','3','','10459','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5505dcdce64f4d4bafc65250fdc44d55','0','2','0'),
('41154','5','','10459','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'705','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7d3a7a170bc417190109ee6316f14e2','0','2','0'),
('41165','3','','10460','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'708','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d1eadf8cb614f7db24af010754ecea5','0','2','0'),
('41166','20','get[1.3.6.1.2.1.1.5.0]','10460','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1cfc4a89a29405790c8004648397c16','0','2','0'),
('41167','20','get[1.3.6.1.2.1.1.3.0]','10460','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','acec0fba9acb475298c23815478e1232','0','2','0'),
('41168','20','get[1.3.6.1.2.1.1.2.0]','10460','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','68aaafe3efc449c1b718af4da8675d76','0','2','0'),
('41169','20','get[1.3.6.1.2.1.1.6.0]','10460','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc1ac08bab0c482f85f7666c9f932863','0','2','0'),
('41170','3','','10460','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','747a11088cdb4336acde1a3db6b6fb0a','0','2','0'),
('41171','20','get[1.3.6.1.2.1.1.1.0]','10460','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14a7067e6be141af97af075439c741a0','0','2','0'),
('41172','20','get[1.3.6.1.2.1.1.4.0]','10460','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07ed423ecd90404da796326fdf88d59f','0','2','0'),
('41173','17','','10460','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03477df2c6a54edbb33043e0ad372aca','0','2','0'),
('41174','3','','10460','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5511b24404044a999a4e63b5742fba69','0','2','0'),
('41175','5','','10460','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'709','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37dad400826443b9a70df99c46cadb7b','0','2','0'),
('41186','3','','10461','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'712','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','805fba01bb75425d98471a62dfe2aec2','0','2','0'),
('41187','20','get[1.3.6.1.2.1.1.5.0]','10461','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b8600abc5e0a47ab821b656b2b781654','0','2','0'),
('41188','20','get[1.3.6.1.2.1.1.3.0]','10461','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d23ba015bfa40a180851bd0a8e4ead7','0','2','0'),
('41189','20','get[1.3.6.1.2.1.1.2.0]','10461','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb2be7f070704027a3bc190da2937f5a','0','2','0'),
('41190','20','get[1.3.6.1.2.1.1.6.0]','10461','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4578904cc2cd43af9f537ceef6307403','0','2','0'),
('41191','3','','10461','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0855d5a498274c078e8d2725b613f491','0','2','0'),
('41192','20','get[1.3.6.1.2.1.1.1.0]','10461','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4366a2506b64e07984fe3a3e1f1ecb6','0','2','0'),
('41193','20','get[1.3.6.1.2.1.1.4.0]','10461','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47b25b5beacc4890b8e3218ec26482a9','0','2','0'),
('41194','17','','10461','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ceb8ab85069b4c7ca7c6517cf0c5b9d5','0','2','0'),
('41195','3','','10461','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58c2d3109593425ca65b1da7b93de738','0','2','0'),
('41196','5','','10461','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'713','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','506984ef2c14483cbfa7ab7e126cd258','0','2','0'),
('41207','3','','10462','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'716','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9cb91d0e91ad4ea0980915a55042a92c','0','2','0'),
('41208','20','get[1.3.6.1.2.1.1.5.0]','10462','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c549da27ab6741619d96c0473b6e5e81','0','2','0'),
('41209','20','get[1.3.6.1.2.1.1.3.0]','10462','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd1816fc79704e6687bb841d729695c7','0','2','0'),
('41210','20','get[1.3.6.1.2.1.1.2.0]','10462','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8204bf9e17794dc1994d657baaafa62d','0','2','0'),
('41211','20','get[1.3.6.1.2.1.1.6.0]','10462','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d7d12e82d0141e7919135d93e955d02','0','2','0'),
('41212','3','','10462','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7871185930284f9eb03c359baf2cd703','0','2','0'),
('41213','20','get[1.3.6.1.2.1.1.1.0]','10462','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2c1cba3782e48e8a416e6bf5126de26','0','2','0'),
('41214','20','get[1.3.6.1.2.1.1.4.0]','10462','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','787629e255a043ec89a9235792af48e8','0','2','0'),
('41215','17','','10462','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d716d3580c24e49834f8b7927a62f18','0','2','0'),
('41216','3','','10462','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','701c51a923e940b288bc486df8bcb896','0','2','0'),
('41217','5','','10462','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'717','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62a7b8240f65452db1b62ebd3e608328','0','2','0'),
('41228','3','','10463','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'720','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','850f48b6cbe44d419363a581abb968f8','0','2','0'),
('41229','20','get[1.3.6.1.2.1.1.5.0]','10463','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd417ca6edeb4e7bbf446b8a3d003e7a','0','2','0'),
('41230','20','get[1.3.6.1.2.1.1.3.0]','10463','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','479d3825a16b4060a06b3bba21515a9c','0','2','0'),
('41231','20','get[1.3.6.1.2.1.1.2.0]','10463','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3fadb391f77d44d099b0f1f7b51f8062','0','2','0'),
('41232','20','get[1.3.6.1.2.1.1.6.0]','10463','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dee2119103e640eab76243f6ff769c77','0','2','0'),
('41233','3','','10463','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ab02f2204e94d9fa90e905c70312544','0','2','0'),
('41234','20','get[1.3.6.1.2.1.1.1.0]','10463','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f69a36c9c86495bb84eb1e4768520bb','0','2','0'),
('41235','20','get[1.3.6.1.2.1.1.4.0]','10463','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0396c448a24457583dcb11a7847731c','0','2','0'),
('41236','17','','10463','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9bad59edc7f9432988cf286b5497a7e4','0','2','0'),
('41237','3','','10463','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb7fad1847eb4df9a2c26f60f61afa5c','0','2','0'),
('41238','5','','10463','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'721','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','769ce4d237c043a2a86af0a66ff06a1a','0','2','0'),
('41249','3','','10464','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'724','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a3ff0b65daf4c47999b0f9877339b47','0','2','0'),
('41250','20','get[1.3.6.1.2.1.1.5.0]','10464','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1bebf0a8a444b84a94f2edf0a631a4f','0','2','0'),
('41251','20','get[1.3.6.1.2.1.1.3.0]','10464','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','66bffe7a0b8041b1aca4609cfebaa924','0','2','0'),
('41252','20','get[1.3.6.1.2.1.1.2.0]','10464','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ccdb09d16244ab990eb187ed7c06248','0','2','0'),
('41253','20','get[1.3.6.1.2.1.1.6.0]','10464','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c911a3f7ceb740719933b255aa78a86e','0','2','0'),
('41254','3','','10464','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','710be8da30564d90816b724c4aa409f4','0','2','0'),
('41255','20','get[1.3.6.1.2.1.1.1.0]','10464','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','419bf63514994b58abba6586d4241c72','0','2','0'),
('41256','20','get[1.3.6.1.2.1.1.4.0]','10464','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52453d3272f04c1b90334407a44ed110','0','2','0'),
('41257','17','','10464','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd5785cc745a4c23b36e7b88920cb677','0','2','0'),
('41258','3','','10464','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a37178d9a534fbca0c71e7f6387b718','0','2','0'),
('41259','5','','10464','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'725','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d39d94dbe8b42f9a2dd6d726f04e6fb','0','2','0'),
('41270','3','','10465','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'728','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','743501d05f1540d681f8112a805f1a0d','0','2','0'),
('41271','20','get[1.3.6.1.2.1.1.5.0]','10465','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6edc651f2acd4a718b1802aec08cad0f','0','2','0'),
('41272','20','get[1.3.6.1.2.1.1.3.0]','10465','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3afb18b2452e45778ce5cdaa20bf58b8','0','2','0'),
('41273','20','get[1.3.6.1.2.1.1.2.0]','10465','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','590c0449f2fe40999ac2d758bfa60058','0','2','0'),
('41274','20','get[1.3.6.1.2.1.1.6.0]','10465','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0e2d52ad8cd41dd92a97669e89c5fc6','0','2','0'),
('41275','3','','10465','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','21ee91bb65fc4b6bbb83c1e35558b7d1','0','2','0'),
('41276','20','get[1.3.6.1.2.1.1.1.0]','10465','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6403a32598e400db8084d77083d1621','0','2','0'),
('41277','20','get[1.3.6.1.2.1.1.4.0]','10465','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','adabeec14fdb405495907ef6771a11a1','0','2','0'),
('41278','17','','10465','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2dff60db5ff640839ebfddbc68c72243','0','2','0'),
('41279','3','','10465','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f13323a6a0e84d2c865f4bf2d5e59f79','0','2','0'),
('41280','5','','10465','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'729','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','752fd8bdeaed449484add53bf1cfbcd7','0','2','0'),
('41291','3','','10466','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'732','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f32e2f3c5177420098c4d49d41efff73','0','2','0'),
('41292','20','get[1.3.6.1.2.1.1.5.0]','10466','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a852e5ecb4745e4aaf6d819c8614c0c','0','2','0'),
('41293','20','get[1.3.6.1.2.1.1.3.0]','10466','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8f78c05de534873a8cb2250c528387b','0','2','0'),
('41294','20','get[1.3.6.1.2.1.1.2.0]','10466','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f4839491fae42fd96d63f960486dc02','0','2','0'),
('41295','20','get[1.3.6.1.2.1.1.6.0]','10466','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8656758df544bccae950414c2adb969','0','2','0'),
('41296','3','','10466','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e23f070baecf4e85bfd4b919a313363f','0','2','0'),
('41297','20','get[1.3.6.1.2.1.1.1.0]','10466','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87adae25334a4965a6d03f5c611d8359','0','2','0'),
('41298','20','get[1.3.6.1.2.1.1.4.0]','10466','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fed3da1b4d646cfab6e0249e2cb9c6c','0','2','0'),
('41299','17','','10466','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddc1215a46464ed6b5e379d243816bc4','0','2','0'),
('41300','3','','10466','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19cb2bfb6b5a4aa48f38a6346ad1832f','0','2','0'),
('41301','5','','10466','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'733','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ff75377e11348e7be6e65301ba29aaa','0','2','0'),
('41312','3','','10467','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'736','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84648b17d61b4faebfd5861a0fd1afe6','0','2','0'),
('41313','20','get[1.3.6.1.2.1.1.5.0]','10467','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83cb30ef232d46f79f01c47ae7477270','0','2','0'),
('41314','20','get[1.3.6.1.2.1.1.3.0]','10467','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b284f4d96704b71920bc8b3beac050c','0','2','0'),
('41315','20','get[1.3.6.1.2.1.1.2.0]','10467','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c220049b4b94d08b35e03fde9111ded','0','2','0'),
('41316','20','get[1.3.6.1.2.1.1.6.0]','10467','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e385c4c4f7145d1a7973fe1f7dcc1ed','0','2','0'),
('41317','3','','10467','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','896f08cd051e41a8bbb0f63fd1a23bb8','0','2','0'),
('41318','20','get[1.3.6.1.2.1.1.1.0]','10467','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14055a3a922f43c083ec97dcb8899085','0','2','0'),
('41319','20','get[1.3.6.1.2.1.1.4.0]','10467','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44e64e9c36ce40d7b2a2138dab8030ee','0','2','0'),
('41320','17','','10467','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','035cd00faa4b48d69b8ba9d93d5adb1a','0','2','0'),
('41321','3','','10467','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','209d4503520a4a61a183f7f1c303a801','0','2','0'),
('41322','5','','10467','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'737','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3616f93a2ed449e38d95722f4e318497','0','2','0'),
('41333','3','','10468','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'740','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b8d0df3c9a2401488a12c5d051de0a4','0','2','0'),
('41334','20','get[1.3.6.1.2.1.1.5.0]','10468','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a4d7bb40fbb49c48d210e763b3f2426','0','2','0'),
('41335','20','get[1.3.6.1.2.1.1.3.0]','10468','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0c36805ca5cd40d099060ee447cb85db','0','2','0'),
('41336','20','get[1.3.6.1.2.1.1.2.0]','10468','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a307185251ec4bb7a2fafc41fabf7eee','0','2','0'),
('41337','20','get[1.3.6.1.2.1.1.6.0]','10468','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f0dfeaaac954d2fbc3a6b20dc756c59','0','2','0'),
('41338','3','','10468','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b909ebca73b4baa9364db355d5e59d7','0','2','0'),
('41339','20','get[1.3.6.1.2.1.1.1.0]','10468','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b823352365a4b4da3437839445f7373','0','2','0'),
('41340','20','get[1.3.6.1.2.1.1.4.0]','10468','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46ec5face2a247c68467116594f4ed53','0','2','0'),
('41341','17','','10468','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c3c5ede40d241669525c556c59faa95','0','2','0'),
('41342','3','','10468','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29d7a47ae93d4911991c092032c1ee9b','0','2','0'),
('41343','5','','10468','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'741','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1620fd9982ed4e27a2e4bfcff915765e','0','2','0'),
('41354','3','','10469','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'744','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba6ae11c71a94ea6858663030b8ce445','0','2','0'),
('41355','20','get[1.3.6.1.2.1.1.5.0]','10469','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c1fbb2ffa0246f7be58fd4d82f6009e','0','2','0'),
('41356','20','get[1.3.6.1.2.1.1.3.0]','10469','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7bd86e80b5154212bc883dc5bd15cad7','0','2','0'),
('41357','20','get[1.3.6.1.2.1.1.2.0]','10469','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d1e9c027c0e40faa7ba792de117eafb','0','2','0'),
('41358','20','get[1.3.6.1.2.1.1.6.0]','10469','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50d138e88427408a858322b2a3d31d78','0','2','0'),
('41359','3','','10469','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf937bb3e6524714a037c79e3fd09982','0','2','0'),
('41360','20','get[1.3.6.1.2.1.1.1.0]','10469','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0f09ce0c4d7454dab1474a606de48a0','0','2','0'),
('41361','20','get[1.3.6.1.2.1.1.4.0]','10469','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03af1591f3af444781a6a3e058de7dd6','0','2','0'),
('41362','17','','10469','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a018cf2626764f17853a526f5b6d574e','0','2','0'),
('41363','3','','10469','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5b621e08b5e41949dde460f61ef5458','0','2','0'),
('41364','5','','10469','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'745','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3687b61660ab43ba9abd8be56f5de6aa','0','2','0'),
('41375','3','','10470','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'748','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41e58aa91bc74509aad190e0c07a7afe','0','2','0'),
('41376','20','get[1.3.6.1.2.1.1.5.0]','10470','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50e9e01258084593a5c0e55d5c3ea50b','0','2','0'),
('41377','20','get[1.3.6.1.2.1.1.3.0]','10470','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61ada578e2654f2b9773e86ac7f9f5a7','0','2','0'),
('41378','20','get[1.3.6.1.2.1.1.2.0]','10470','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a20282446cc4ec797860f33e6767712','0','2','0'),
('41379','20','get[1.3.6.1.2.1.1.6.0]','10470','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10d7ca748c1c4363a7d0ea997de8bbb7','0','2','0'),
('41380','3','','10470','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97c6159702a5412c87ee2d42602a4ead','0','2','0'),
('41381','20','get[1.3.6.1.2.1.1.1.0]','10470','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23d51bb62dd24ddbb8d8332ddd62aac7','0','2','0'),
('41382','20','get[1.3.6.1.2.1.1.4.0]','10470','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e0533aa1f3e48ce8b5a6a2ad388cf32','0','2','0'),
('41383','17','','10470','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18144ae33c344636a8c8f496f9d31769','0','2','0'),
('41384','3','','10470','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd7a6cdbb0b94c7d9d9584873427027d','0','2','0'),
('41385','5','','10470','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'749','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2dc35ca9c25146eb9d5955bdb338fbf4','0','2','0'),
('41396','3','','10471','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'752','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e700116048d4392a71946764268fce8','0','2','0'),
('41397','20','get[1.3.6.1.2.1.1.5.0]','10471','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72e38e1011654a3eb413f133169b3811','0','2','0'),
('41398','20','get[1.3.6.1.2.1.1.3.0]','10471','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edbcea616a6d459898cae926963e9ee4','0','2','0'),
('41399','20','get[1.3.6.1.2.1.1.2.0]','10471','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5c8153787384711ae6fde2c1d9cd45c','0','2','0'),
('41400','20','get[1.3.6.1.2.1.1.6.0]','10471','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e41c468f5db44bcab6f8e1a078e5309','0','2','0'),
('41401','3','','10471','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5408eda422114912937f6810b5746f71','0','2','0'),
('41402','20','get[1.3.6.1.2.1.1.1.0]','10471','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aff391166f0d4e13b3d047143446c9ff','0','2','0'),
('41403','20','get[1.3.6.1.2.1.1.4.0]','10471','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','417db3f4da664196a5cd40b3f7d65caa','0','2','0'),
('41404','17','','10471','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75bbba08fdf14ff190d0ea4f9e23d3bd','0','2','0'),
('41405','3','','10471','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ec629ad1b1a44ceb3b138d84eb2d99d','0','2','0'),
('41406','5','','10471','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'753','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea1305a4dbf94c848271814a5c3d08c4','0','2','0'),
('41417','3','','10472','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'756','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb5c19012cfd413fb280ccf6f2754f65','0','2','0'),
('41418','20','get[1.3.6.1.2.1.1.5.0]','10472','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1db5d107bd1f4395b1e746ee9a345f21','0','2','0'),
('41419','20','get[1.3.6.1.2.1.1.3.0]','10472','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83a1109159ca4513ba278a3c290d10b9','0','2','0'),
('41420','20','get[1.3.6.1.2.1.1.2.0]','10472','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1b6c41064924674b43851832fbb7b10','0','2','0'),
('41421','20','get[1.3.6.1.2.1.1.6.0]','10472','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8e5af6ef52d457098ff5a9cd10a30da','0','2','0'),
('41422','3','','10472','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','877d543f8a0040a7bf6b48c734f9622f','0','2','0'),
('41423','20','get[1.3.6.1.2.1.1.1.0]','10472','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','743f06984d5549d2832c55914d3cbc5e','0','2','0'),
('41424','20','get[1.3.6.1.2.1.1.4.0]','10472','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee5e1ba0c8d94747a0da617ba01fd998','0','2','0'),
('41425','17','','10472','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','237fc861aa3b4a33ac6b1b4aee3f05b0','0','2','0'),
('41426','3','','10472','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','689a05d4bdec404abea16439908b9b22','0','2','0'),
('41427','5','','10472','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'757','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8161db2e10c84693961e742fda8a7fa2','0','2','0'),
('41438','3','','10473','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'760','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','794bf23a9839416bae6c2d04489eeaf3','0','2','0'),
('41439','20','get[1.3.6.1.2.1.1.5.0]','10473','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37b571d2c80e484d826ab688768d2036','0','2','0'),
('41440','20','get[1.3.6.1.2.1.1.3.0]','10473','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2fbbaae58704270b5fc8d04bca76209','0','2','0'),
('41441','20','get[1.3.6.1.2.1.1.2.0]','10473','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2c67ce1f337481e9ffe6a1f3c467c8c','0','2','0'),
('41442','20','get[1.3.6.1.2.1.1.6.0]','10473','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a856d5811924020a98ce56910cb52af','0','2','0'),
('41443','3','','10473','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e563c3cb4a254b70a6f034fc81c2f672','0','2','0'),
('41444','20','get[1.3.6.1.2.1.1.1.0]','10473','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d668a2c3ee2b49629f4520b3627e5cc1','0','2','0'),
('41445','20','get[1.3.6.1.2.1.1.4.0]','10473','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e170bed368914833917c81d70fea7e1c','0','2','0'),
('41446','17','','10473','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88f1d48a273f4400930efd1086b61b64','0','2','0'),
('41447','3','','10473','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3a45a21356644f7bccced62a2d8ce3b','0','2','0'),
('41448','5','','10473','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'761','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','641ccd0e5ec8454bb0bc62d3e8362cc2','0','2','0'),
('41459','3','','10474','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'764','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9afb4d3954164976aad193e27dcc08b7','0','2','0'),
('41460','20','get[1.3.6.1.2.1.1.5.0]','10474','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53e45ee656db47afabc6ad18d3f61c37','0','2','0'),
('41461','20','get[1.3.6.1.2.1.1.3.0]','10474','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','54d630b4d80e4ac0a9942630a80b14d8','0','2','0'),
('41462','20','get[1.3.6.1.2.1.1.2.0]','10474','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6aacb1fd6b8413f837f2cb3b1977a22','0','2','0'),
('41463','20','get[1.3.6.1.2.1.1.6.0]','10474','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4445d982dc354baf8c7649ab9250b3f9','0','2','0'),
('41464','3','','10474','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ead664e6adfc4911854075c0c173ea88','0','2','0'),
('41465','20','get[1.3.6.1.2.1.1.1.0]','10474','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a35e1108dbd47b4bd818668e5523aec','0','2','0'),
('41466','20','get[1.3.6.1.2.1.1.4.0]','10474','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','714588b12797482192a786a131dab9f6','0','2','0'),
('41467','17','','10474','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3e60d1ff0444f0485f3b41100f21c15','0','2','0'),
('41468','3','','10474','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','95ca4a96e93d4d8cb4d1d9d97b711231','0','2','0'),
('41469','5','','10474','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'765','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd170bcf34104168884e123da7ed93da','0','2','0'),
('41480','3','','10475','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'768','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d202d0a1c0d45d09a995ef741176869','0','2','0'),
('41481','20','get[1.3.6.1.2.1.1.5.0]','10475','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7731343e3a584e4cba4241f6114f1b12','0','2','0'),
('41482','20','get[1.3.6.1.2.1.1.3.0]','10475','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38d674115439443a848b43c72e71a345','0','2','0'),
('41483','20','get[1.3.6.1.2.1.1.2.0]','10475','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa9788e34ffe4107bf7b1d72008af5e6','0','2','0'),
('41484','20','get[1.3.6.1.2.1.1.6.0]','10475','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8539d2a032e741b1845d6423772600ec','0','2','0'),
('41485','3','','10475','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec3285050dd44b47b648f9c61ab8c9e4','0','2','0'),
('41486','20','get[1.3.6.1.2.1.1.1.0]','10475','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1caa3bcecbf441d4bdea4e1adcfd399d','0','2','0'),
('41487','20','get[1.3.6.1.2.1.1.4.0]','10475','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb4b0528c6c946b49f5b7a8da8cbabe0','0','2','0'),
('41488','17','','10475','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6460447c65a6427cafd53e618d5d7bc1','0','2','0'),
('41489','3','','10475','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b71903a18c4246238d7e9a8e99904794','0','2','0'),
('41490','5','','10475','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'769','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4087946c74884ef085a79fe174495646','0','2','0'),
('41501','3','','10476','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'772','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24ab31dd7fd44ed5a5fd22e02fca0a11','0','2','0'),
('41502','20','get[1.3.6.1.2.1.1.5.0]','10476','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','139496c157af4e12b28ca337ca60c7fa','0','2','0'),
('41503','20','get[1.3.6.1.2.1.1.3.0]','10476','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3137916543634345a5688f631657fa30','0','2','0'),
('41504','20','get[1.3.6.1.2.1.1.2.0]','10476','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78f353c258764fa69637afe7f8ab440b','0','2','0'),
('41505','20','get[1.3.6.1.2.1.1.6.0]','10476','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd48a08f2b4a4dd3961488a00424fcce','0','2','0'),
('41506','3','','10476','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80ab3090289a481da72c0d93764eb18a','0','2','0'),
('41507','20','get[1.3.6.1.2.1.1.1.0]','10476','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0db3ce8a567414a96bbe5b02b1967dd','0','2','0'),
('41508','20','get[1.3.6.1.2.1.1.4.0]','10476','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ad920cf294a4fcbaa78ea4f01385588','0','2','0'),
('41509','17','','10476','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','197098286a9b4b6bac5bd79a4f0eb522','0','2','0'),
('41510','3','','10476','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15552636da9a40b6b2bec461798f3c0d','0','2','0'),
('41511','5','','10476','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'773','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e01e3b3a9db44d2db55ae6d289d963c4','0','2','0'),
('41522','3','','10477','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'776','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','394f2cd81cc747009c16e0fa7c7febc1','0','2','0'),
('41523','20','get[1.3.6.1.2.1.1.5.0]','10477','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f54cf3f5bfd41d29b46887c8de02df3','0','2','0'),
('41524','20','get[1.3.6.1.2.1.1.3.0]','10477','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bce151f2eece481ab9ff10bd492ec514','0','2','0'),
('41525','20','get[1.3.6.1.2.1.1.2.0]','10477','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45d0902fc8764108983d75f51a7c13ca','0','2','0'),
('41526','20','get[1.3.6.1.2.1.1.6.0]','10477','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49a731f14f3b4bae8f16eb6a7a5d3b7a','0','2','0'),
('41527','3','','10477','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','513874d2dce848fca9d5be0f8a698a27','0','2','0'),
('41528','20','get[1.3.6.1.2.1.1.1.0]','10477','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38a1523e8ce54611842e76fd4f614c15','0','2','0'),
('41529','20','get[1.3.6.1.2.1.1.4.0]','10477','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d83e355ae790441594a2ca6d5ec37de0','0','2','0'),
('41530','17','','10477','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93d399db31b64d36bfe87a1f99195663','0','2','0'),
('41531','3','','10477','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5261e46912184a41a32c3d309cd8554c','0','2','0'),
('41532','5','','10477','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'777','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c119d5bedb542f288fe4a04dc629b94','0','2','0'),
('41543','3','','10478','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'780','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8075b9b02fb14be1888ed2a64775f7eb','0','2','0'),
('41544','20','get[1.3.6.1.2.1.1.5.0]','10478','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52a05ea08b8640f784861b5b2b75dfa8','0','2','0'),
('41545','20','get[1.3.6.1.2.1.1.3.0]','10478','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','848026e8f903413d8faecf0233d69a8e','0','2','0'),
('41546','20','get[1.3.6.1.2.1.1.2.0]','10478','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','06a2d329ae384c8fb773719c34593d0f','0','2','0'),
('41547','20','get[1.3.6.1.2.1.1.6.0]','10478','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd009a8b6f2d409c89cd5f5c60bea1b8','0','2','0'),
('41548','3','','10478','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','581804928209426ab53c232419f0d201','0','2','0'),
('41549','20','get[1.3.6.1.2.1.1.1.0]','10478','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d3eab41a8c845a7bfbe5dbb3b6fd45b','0','2','0'),
('41550','20','get[1.3.6.1.2.1.1.4.0]','10478','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a79df3796e4b4f5183a8ee38d554843f','0','2','0'),
('41551','17','','10478','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f21accc1a4247e9951b6c0d8b9a49af','0','2','0'),
('41552','3','','10478','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','919171c77ef34d96b071d04c279d467f','0','2','0'),
('41553','5','','10478','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'781','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e77993cb5e6f4b71a7fb71cd85ea548a','0','2','0'),
('41564','3','','10479','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'784','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b919a35c522a4e578e4141f3c418d516','0','2','0'),
('41565','20','get[1.3.6.1.2.1.1.5.0]','10479','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05efe5444887488cad6e765f29c8872a','0','2','0'),
('41566','20','get[1.3.6.1.2.1.1.3.0]','10479','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc75baec3ea248e5a287b00906e18775','0','2','0'),
('41567','20','get[1.3.6.1.2.1.1.2.0]','10479','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2cdbeb7f0c09494996884bcfd5d97df0','0','2','0'),
('41568','20','get[1.3.6.1.2.1.1.6.0]','10479','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ee460010096474e9a574efba9f5a321','0','2','0'),
('41569','3','','10479','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8173ce900a384eb6be5941be7ab89b15','0','2','0'),
('41570','20','get[1.3.6.1.2.1.1.1.0]','10479','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b8f058b9f1cb493798fb971c1d06f0d8','0','2','0'),
('41571','20','get[1.3.6.1.2.1.1.4.0]','10479','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44ae86def1564418a90f4c4a4c0b9e85','0','2','0'),
('41572','17','','10479','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5d724ef958b4716b09dcbda5ae0ced7','0','2','0'),
('41573','3','','10479','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad7aa85d14834683b63b43cf48222259','0','2','0'),
('41574','5','','10479','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'785','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5534d6b602624c7a99c70c3b75e4478b','0','2','0'),
('41585','3','','10480','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'788','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5cc6ac52ea14002b65acbddf9f48045','0','2','0'),
('41586','20','get[1.3.6.1.2.1.1.5.0]','10480','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59b1e8b64a30407b9e503f94c4b13b8a','0','2','0'),
('41587','20','get[1.3.6.1.2.1.1.3.0]','10480','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c952f3c5768d4bdfa671ffb047968fd6','0','2','0'),
('41588','20','get[1.3.6.1.2.1.1.2.0]','10480','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f192955e5c64c958f6c7a0564a51d0a','0','2','0'),
('41589','20','get[1.3.6.1.2.1.1.6.0]','10480','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e0fbbb7dc1d42a199b04261af201a07','0','2','0'),
('41590','3','','10480','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99b96d870f9e473f82d753e73e5a0662','0','2','0'),
('41591','20','get[1.3.6.1.2.1.1.1.0]','10480','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98e095b208874cadb7de6380a0b28166','0','2','0'),
('41592','20','get[1.3.6.1.2.1.1.4.0]','10480','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e1f3e5e1fd2426eb057cd3e6d857826','0','2','0'),
('41593','17','','10480','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d933122252654a9f9f9c6eb8a62f2de0','0','2','0'),
('41594','3','','10480','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02d39b670ab94ee2a915c2b33aae5b47','0','2','0'),
('41595','5','','10480','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'789','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac42b3af7d964b16a44b8553e09b5e4e','0','2','0'),
('41606','3','','10481','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'792','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbdbcca7ead1408f93dda57b8dfab21e','0','2','0'),
('41607','20','get[1.3.6.1.2.1.1.5.0]','10481','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','967b9b8b943d4fb79ff7075d6bb1e31a','0','2','0'),
('41608','20','get[1.3.6.1.2.1.1.3.0]','10481','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35e0a5603e7c43609c0405135dbaa957','0','2','0'),
('41609','20','get[1.3.6.1.2.1.1.2.0]','10481','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','277a7aa61ce241c089dc5367e9a5e0c3','0','2','0'),
('41610','20','get[1.3.6.1.2.1.1.6.0]','10481','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72ed8c2083474e38823957e17ca41971','0','2','0'),
('41611','3','','10481','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d2850a0021b47f581630fdfbba20ea2','0','2','0'),
('41612','20','get[1.3.6.1.2.1.1.1.0]','10481','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc3fea02652d4c5d82c2179313cc8987','0','2','0'),
('41613','20','get[1.3.6.1.2.1.1.4.0]','10481','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c3eb8d3da7d437eb04be7c3782c9322','0','2','0'),
('41614','17','','10481','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9683aa4310744b7889c2e5f8ca7d967','0','2','0'),
('41615','3','','10481','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8c4bc8d2cbcc4433bb59db4137f9ae9d','0','2','0'),
('41616','5','','10481','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'793','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0604fe933a364f40bf3f964f2ba7f6d7','0','2','0'),
('41627','3','','10482','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'796','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3034f0f82fb140fa944491b4627e8187','0','2','0'),
('41628','20','get[1.3.6.1.2.1.1.5.0]','10482','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84a2ef84a1614afba525253263fcdea4','0','2','0'),
('41629','20','get[1.3.6.1.2.1.1.3.0]','10482','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fea0f7388a314d939626739b0ddf5186','0','2','0'),
('41630','20','get[1.3.6.1.2.1.1.2.0]','10482','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58d2b5fae1fa41149eed29d761d7e3f7','0','2','0'),
('41631','20','get[1.3.6.1.2.1.1.6.0]','10482','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85358d92f1ce45c6adb0eb8fa269f8c6','0','2','0'),
('41632','3','','10482','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b58dc12021b466a9d4d66eb12cfa15d','0','2','0'),
('41633','20','get[1.3.6.1.2.1.1.1.0]','10482','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9dcc1a8373424d52be6e79ec2e1d2ce5','0','2','0'),
('41634','20','get[1.3.6.1.2.1.1.4.0]','10482','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','369c73ea224941c7acc8519bb4a561f1','0','2','0'),
('41635','17','','10482','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2a55d810c9e484fa230d90b7a5d78a2','0','2','0'),
('41636','3','','10482','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6054de71dfe487f81f652af7105b63c','0','2','0'),
('41637','5','','10482','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'797','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','642ca5d699a248cb9a354c1a4b0aaed7','0','2','0'),
('41648','3','','10483','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'800','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a370113cc46d4415bea51cefdeb21891','0','2','0'),
('41649','20','get[1.3.6.1.2.1.1.5.0]','10483','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85d210e692744fbb94d8a794bbc2034a','0','2','0'),
('41650','20','get[1.3.6.1.2.1.1.3.0]','10483','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e01891bd9194635931778fba9b45fd0','0','2','0'),
('41651','20','get[1.3.6.1.2.1.1.2.0]','10483','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b95e62bdc53a40a9b4bfc4b023a34067','0','2','0'),
('41652','20','get[1.3.6.1.2.1.1.6.0]','10483','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7ceef9763e24dd890f5d4bc0a4074d3','0','2','0'),
('41653','3','','10483','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6573dd2d23f4490f85d5fffe19e388da','0','2','0'),
('41654','20','get[1.3.6.1.2.1.1.1.0]','10483','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0bee0b14582d47b091304be4fb9b8ba1','0','2','0'),
('41655','20','get[1.3.6.1.2.1.1.4.0]','10483','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','45e9507c2cf1476784a4797dd380e048','0','2','0'),
('41656','17','','10483','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9578f10764514cd68325646e82d44697','0','2','0'),
('41657','3','','10483','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09e3d93e5dd542ab8436b5b712f77e48','0','2','0'),
('41658','5','','10483','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'801','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e0d82664c024f0fbeefb38cd4f91bec','0','2','0'),
('41669','3','','10484','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'804','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5300868a14bb4d54a2699577337da83a','0','2','0'),
('41670','20','get[1.3.6.1.2.1.1.5.0]','10484','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb2143870ae849f38d6349bf97678506','0','2','0'),
('41671','20','get[1.3.6.1.2.1.1.3.0]','10484','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f16dcd469ae44e0bb1a3bf5cd7745172','0','2','0'),
('41672','20','get[1.3.6.1.2.1.1.2.0]','10484','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6521da361f8c4d1383256b2297cbf637','0','2','0'),
('41673','20','get[1.3.6.1.2.1.1.6.0]','10484','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','245703e1e1ec43fd9a4cd2aa687e8062','0','2','0'),
('41674','3','','10484','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2e270cb27ab438da77094dbeed276c5','0','2','0'),
('41675','20','get[1.3.6.1.2.1.1.1.0]','10484','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','915a3a0b5beb4b04b9cf2cf452625e4b','0','2','0'),
('41676','20','get[1.3.6.1.2.1.1.4.0]','10484','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','628cf911c63948b3acc96071099ee33a','0','2','0'),
('41677','17','','10484','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82a936c79d154070a261078bff07cd50','0','2','0'),
('41678','3','','10484','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0d6d460bcd34360a627851069e354ef','0','2','0'),
('41679','5','','10484','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'805','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8be2555490b4eb68a8b8c7ea20eacb8','0','2','0'),
('41690','3','','10485','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'808','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62d449bc199943da94effce92d24e522','0','2','0'),
('41691','20','get[1.3.6.1.2.1.1.5.0]','10485','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02354807e4ca4a049866fe8f793007ff','0','2','0'),
('41692','20','get[1.3.6.1.2.1.1.3.0]','10485','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72507c577f1748078be97e4e9080b6c9','0','2','0'),
('41693','20','get[1.3.6.1.2.1.1.2.0]','10485','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7eb0b2b9722f4f2c8d0ce0adc189b2f9','0','2','0'),
('41694','20','get[1.3.6.1.2.1.1.6.0]','10485','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50bcd5f286db4540a6070fb7815b47f5','0','2','0'),
('41695','3','','10485','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71dc309a3c174cac8d4e5d97fb385252','0','2','0'),
('41696','20','get[1.3.6.1.2.1.1.1.0]','10485','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd5897cf9ef2423fbcc9ef483e556677','0','2','0'),
('41697','20','get[1.3.6.1.2.1.1.4.0]','10485','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d843cbacd73648d79c3f002ad7d2510b','0','2','0'),
('41698','17','','10485','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa9062eeb9eb4ea5878c8da04bf728fe','0','2','0'),
('41699','3','','10485','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8084778076a444728f47b436237aa265','0','2','0'),
('41700','5','','10485','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'809','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a7f3e558ca84e6ebd3279ec7ddaf6ab','0','2','0'),
('41711','3','','10486','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'812','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','213f42d5e99e42a8a75dffbc4116e152','0','2','0'),
('41712','20','get[1.3.6.1.2.1.1.5.0]','10486','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','788f52304f4c480c9e32b7f089279f66','0','2','0'),
('41713','20','get[1.3.6.1.2.1.1.3.0]','10486','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7517cd5156c4693865edc871df8f7c5','0','2','0'),
('41714','20','get[1.3.6.1.2.1.1.2.0]','10486','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61c2671ecc0b4fbcb40866ebc30f5ffe','0','2','0'),
('41715','20','get[1.3.6.1.2.1.1.6.0]','10486','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f119c891ad74776b71c6858adcb67e3','0','2','0'),
('41716','3','','10486','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc20ba68642a441c90bac530b8847386','0','2','0'),
('41717','20','get[1.3.6.1.2.1.1.1.0]','10486','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ae03f4d4bcf424e936430198f0762f3','0','2','0'),
('41718','20','get[1.3.6.1.2.1.1.4.0]','10486','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38753c1261dd42fd8500e843985fdea3','0','2','0'),
('41719','17','','10486','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92854c9aff57441b9754ba9aabb4ade7','0','2','0'),
('41720','3','','10486','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c929e46faef4f0c8ee90fe5a34e9092','0','2','0'),
('41721','5','','10486','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'813','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4f4e0c0df9343a483a186f54d59caaf','0','2','0'),
('41732','3','','10487','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'816','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d232978e9c9649e89d9a18bfac551b9b','0','2','0'),
('41733','20','get[1.3.6.1.2.1.1.5.0]','10487','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96a7343422ae4c16a0dc8636965209b7','0','2','0'),
('41734','20','get[1.3.6.1.2.1.1.3.0]','10487','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a86251203418473f805f71c7661bcd5b','0','2','0'),
('41735','20','get[1.3.6.1.2.1.1.2.0]','10487','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c806691d31554b558ce6b940725269ba','0','2','0'),
('41736','20','get[1.3.6.1.2.1.1.6.0]','10487','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb46cc279c9d4622931cc4dd4536d076','0','2','0'),
('41737','3','','10487','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74855f44b9ab4d008bcef0c81a1bf9b2','0','2','0'),
('41738','20','get[1.3.6.1.2.1.1.1.0]','10487','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bcda47c141cc4b71a80ba54ad8e195df','0','2','0'),
('41739','20','get[1.3.6.1.2.1.1.4.0]','10487','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70ead6c2139a4ac1a9a52d127920bfda','0','2','0'),
('41740','17','','10487','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca7ea780520d42788007c25b181ecf6e','0','2','0'),
('41741','3','','10487','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ff37956cfc544029ac3cbe2c2076156','0','2','0'),
('41742','5','','10487','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'817','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','011c6ec5f5df442890da5b669efbe5dc','0','2','0'),
('41753','3','','10488','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'820','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2bdbc3203fcb4db1a5473c4afedaa619','0','2','0'),
('41754','20','get[1.3.6.1.2.1.1.5.0]','10488','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5f63d603edf48febfbde03d7d223f1e','0','2','0'),
('41755','20','get[1.3.6.1.2.1.1.3.0]','10488','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f97078f111d54ab7b091f59870baa4a5','0','2','0'),
('41756','20','get[1.3.6.1.2.1.1.2.0]','10488','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff6a6d61e4f24bc5a0832562ea3b13e0','0','2','0'),
('41757','20','get[1.3.6.1.2.1.1.6.0]','10488','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cdca0920185f4aaf95ee88b13982ba50','0','2','0'),
('41758','3','','10488','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a77bc7a86684b7e965c0ec344435336','0','2','0'),
('41759','20','get[1.3.6.1.2.1.1.1.0]','10488','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23382e5a72fa4769832c7fa5ee357153','0','2','0'),
('41760','20','get[1.3.6.1.2.1.1.4.0]','10488','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de67cf0e735944ba9380730d88b86d06','0','2','0'),
('41761','17','','10488','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5f15688308f44528a7ed495fce07a94','0','2','0'),
('41762','3','','10488','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17bd0b5a70754d7eba3c4428ac9b58db','0','2','0'),
('41763','5','','10488','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'821','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c0f53dbcfa447aea2e9550d502cb111','0','2','0'),
('41774','3','','10489','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'824','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7fc5ad5ffb14a6185e288617294aa98','0','2','0'),
('41775','20','get[1.3.6.1.2.1.1.5.0]','10489','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e68119b9b48e4a49a4ff3ce41b8bf613','0','2','0'),
('41776','20','get[1.3.6.1.2.1.1.3.0]','10489','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56f939dcf88843fda2fe4b062cca2d6a','0','2','0'),
('41777','20','get[1.3.6.1.2.1.1.2.0]','10489','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','08476c93ef374c8baba1e6f80c5544cf','0','2','0'),
('41778','20','get[1.3.6.1.2.1.1.6.0]','10489','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59b84e78871849fd8e2da3608c4fd45f','0','2','0'),
('41779','3','','10489','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','783ce77b38434492a9944dc5b3531a35','0','2','0'),
('41780','20','get[1.3.6.1.2.1.1.1.0]','10489','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','042947145fd142f3a1f6ae86826480eb','0','2','0'),
('41781','20','get[1.3.6.1.2.1.1.4.0]','10489','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','30bc4fcfe70a45ceb6b3a8b945779e31','0','2','0'),
('41782','17','','10489','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','397dd775fe6d4046aa91dfca36d3be96','0','2','0'),
('41783','3','','10489','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc7299499e2847eeb8d4e9ebcbc2519a','0','2','0'),
('41784','5','','10489','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'825','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33e8ea0575174bc69002753a5e5d90bd','0','2','0'),
('41795','3','','10490','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'828','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','deea3cfb1f7442edbc4e715ca73395e8','0','2','0'),
('41796','20','get[1.3.6.1.2.1.1.5.0]','10490','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3e819d5e0dc403fb4b9dafd1ddc59d5','0','2','0'),
('41797','20','get[1.3.6.1.2.1.1.3.0]','10490','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0b0b111aac440189f71bb1b2830ded3','0','2','0'),
('41798','20','get[1.3.6.1.2.1.1.2.0]','10490','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','530490cf5862413b8e7896aa8c0cb627','0','2','0'),
('41799','20','get[1.3.6.1.2.1.1.6.0]','10490','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5c52de296b04ceab2cfd1a87ccffc6b','0','2','0'),
('41800','3','','10490','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','468b063753fd4bca861646312909abf7','0','2','0'),
('41801','20','get[1.3.6.1.2.1.1.1.0]','10490','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e35b5c62cfa241fdad672ee8b7303044','0','2','0'),
('41802','20','get[1.3.6.1.2.1.1.4.0]','10490','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8656127772b4835b2b102d972b29de8','0','2','0'),
('41803','17','','10490','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc100edb014b4ff8b119ffe683403396','0','2','0'),
('41804','3','','10490','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe030b0a6cb447a1b1c2fe5f96b2bffa','0','2','0'),
('41805','5','','10490','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'829','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a70b1387ea14502aadcf05f636e7a5c','0','2','0'),
('41816','3','','10491','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'832','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7915232f946d4a9ea2c441899d063f8d','0','2','0'),
('41817','20','get[1.3.6.1.2.1.1.5.0]','10491','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73459a4cdf8a45a1a480102cfe5119c1','0','2','0'),
('41818','20','get[1.3.6.1.2.1.1.3.0]','10491','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d379b98f901444368311a7c22c51cbcd','0','2','0'),
('41819','20','get[1.3.6.1.2.1.1.2.0]','10491','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2a7d5ecda21446bbd55cec32ab3f50e','0','2','0'),
('41820','20','get[1.3.6.1.2.1.1.6.0]','10491','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37b6610ae0bf4989b1431182dcd239c1','0','2','0'),
('41821','3','','10491','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2ad26afb3674a63a5ffb68ccfa84ccc','0','2','0'),
('41822','20','get[1.3.6.1.2.1.1.1.0]','10491','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b3f14b033914ef58797c15a751fe086','0','2','0'),
('41823','20','get[1.3.6.1.2.1.1.4.0]','10491','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b93b930cf354451b2613f410db63b55','0','2','0'),
('41824','17','','10491','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b22a7465109474db7a86274de0b519e','0','2','0'),
('41825','3','','10491','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0338080fdaee47d09df04fd70a56889b','0','2','0'),
('41826','5','','10491','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'833','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6814429f90bb417a9af42b7be081b777','0','2','0'),
('41837','3','','10492','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'836','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b3077a1ea304d48acee2089f8dab717','0','2','0'),
('41838','20','get[1.3.6.1.2.1.1.5.0]','10492','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd0923c4fed2454f9ba10ae12a237c4a','0','2','0'),
('41839','20','get[1.3.6.1.2.1.1.3.0]','10492','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','473bcbf0aece42b5bf03ac5d9655060f','0','2','0'),
('41840','20','get[1.3.6.1.2.1.1.2.0]','10492','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9dbc5959f5c94484ad27fff82ff1e4a2','0','2','0'),
('41841','20','get[1.3.6.1.2.1.1.6.0]','10492','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ad2b0e46d544272a2a2a79251830ecd','0','2','0'),
('41842','3','','10492','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd14c56b398f4e51bc250dbb266d8792','0','2','0'),
('41843','20','get[1.3.6.1.2.1.1.1.0]','10492','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6323e16160534164a046730cb95f8dd4','0','2','0'),
('41844','20','get[1.3.6.1.2.1.1.4.0]','10492','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69517cfdea8e4602bc7b56f5975e8d64','0','2','0'),
('41845','17','','10492','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b820cdaeb0724fb3b5eb635e7705ee5c','0','2','0'),
('41846','3','','10492','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','183a44fa82d74603a4673f8a213e221f','0','2','0'),
('41847','5','','10492','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'837','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','471ac0649f454c6ab2d386ef593486a9','0','2','0'),
('41858','3','','10493','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'840','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27bc040d774a492f9ea7661b11931756','0','2','0'),
('41859','20','get[1.3.6.1.2.1.1.5.0]','10493','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ee60303a3f44dccb8e2636c61ea882b','0','2','0'),
('41860','20','get[1.3.6.1.2.1.1.3.0]','10493','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','349e048d1dc04ae49c6e616a4f4499c7','0','2','0'),
('41861','20','get[1.3.6.1.2.1.1.2.0]','10493','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9757a0d30651457a97860d475e1ce892','0','2','0'),
('41862','20','get[1.3.6.1.2.1.1.6.0]','10493','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7045e4f4ab0244969d7ab6ada0f2d3cc','0','2','0'),
('41863','3','','10493','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a77a1ed1ff254715bc2b3aa4774add63','0','2','0'),
('41864','20','get[1.3.6.1.2.1.1.1.0]','10493','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1aa8ba6aacfd4c358600c68c5b22455e','0','2','0'),
('41865','20','get[1.3.6.1.2.1.1.4.0]','10493','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db3e28ce72d5488c9d81b4daeaabe9f9','0','2','0'),
('41866','17','','10493','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad62b571c1c4444881787a040cf03b2b','0','2','0'),
('41867','3','','10493','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02eacfbcc4c14ac48aba36c142974c46','0','2','0'),
('41868','5','','10493','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'841','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fc9f1fc908241ff9484e15802f1e4ae','0','2','0'),
('41879','3','','10494','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'844','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef5bb0f6f7794a899e9158375a100eac','0','2','0'),
('41880','20','get[1.3.6.1.2.1.1.5.0]','10494','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f592e2f6cdde465a85c89944de669418','0','2','0'),
('41881','20','get[1.3.6.1.2.1.1.3.0]','10494','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fadb61328389434c888cb8bfd6e964ed','0','2','0'),
('41882','20','get[1.3.6.1.2.1.1.2.0]','10494','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9977da08f1374d1c82e92332bbcc199e','0','2','0'),
('41883','20','get[1.3.6.1.2.1.1.6.0]','10494','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba4d97d2010f4d3498fc71e4b10a0941','0','2','0'),
('41884','3','','10494','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3341d9f675074db882fac927d722eaa1','0','2','0'),
('41885','20','get[1.3.6.1.2.1.1.1.0]','10494','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27c30b2dbe0048ecbd5b1236ac04b542','0','2','0'),
('41886','20','get[1.3.6.1.2.1.1.4.0]','10494','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d3a73fd1c05477ab6a8bc5bd4a451d9','0','2','0'),
('41887','17','','10494','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01d49dbd697343eb95913424eb783ca2','0','2','0'),
('41888','3','','10494','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dfaf20182fa7415d84a70157ef7d3a63','0','2','0'),
('41889','5','','10494','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'845','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6a6763b5b344669ab6b605d3d4707f7','0','2','0'),
('41900','3','','10495','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'848','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab72f64db4304a2db7c6c2d1ec8eebb4','0','2','0'),
('41901','20','get[1.3.6.1.2.1.1.5.0]','10495','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5577c25fe0ab4decb44fdf31ffd6b345','0','2','0'),
('41902','20','get[1.3.6.1.2.1.1.3.0]','10495','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44cb15bcd76e4bdba7a5c8f91211226c','0','2','0'),
('41903','20','get[1.3.6.1.2.1.1.2.0]','10495','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','645d1046c0f64a079e97f57f5bb03aad','0','2','0'),
('41904','20','get[1.3.6.1.2.1.1.6.0]','10495','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ece69e2a6d174678a770c6cc05d20b45','0','2','0'),
('41905','3','','10495','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dc2b92f5ee3148828d66f17679873755','0','2','0'),
('41906','20','get[1.3.6.1.2.1.1.1.0]','10495','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eba52f0801c74394afce9b85132f4a0a','0','2','0'),
('41907','20','get[1.3.6.1.2.1.1.4.0]','10495','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02174f3b849a4fe490d79273ad9b4d1d','0','2','0'),
('41908','17','','10495','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d661c8c6e6b847d49d722ce1938efee8','0','2','0'),
('41909','3','','10495','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0933870b3424664ab150192ca5e790f','0','2','0'),
('41910','5','','10495','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'849','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58e51b1aac7f4433b8f7160d044bc8c4','0','2','0'),
('41921','3','','10496','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'852','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','517295fd0fa14eac945a1f999e25d306','0','2','0'),
('41922','20','get[1.3.6.1.2.1.1.5.0]','10496','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47326c2cd58242e18397d522df49ad76','0','2','0'),
('41923','20','get[1.3.6.1.2.1.1.3.0]','10496','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88c412ccc0944b96be165b4de91e5ee9','0','2','0'),
('41924','20','get[1.3.6.1.2.1.1.2.0]','10496','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4807c61ed6841eb8b96a0e058343b42','0','2','0'),
('41925','20','get[1.3.6.1.2.1.1.6.0]','10496','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','433dfca6d6fd4b4b903c48a3cf862052','0','2','0'),
('41926','3','','10496','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71383adcc92c44d3866c0c8592c3e99c','0','2','0'),
('41927','20','get[1.3.6.1.2.1.1.1.0]','10496','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27f4de9554c44842a118ed22da40897f','0','2','0'),
('41928','20','get[1.3.6.1.2.1.1.4.0]','10496','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1f09e41ce824318be6b2852c82d5ea2','0','2','0'),
('41929','17','','10496','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','977608b526c843f2aca7dcd9a18d9334','0','2','0'),
('41930','3','','10496','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed501823d99341b88d17ecd8b0b83fc4','0','2','0'),
('41931','5','','10496','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'853','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18941d2b2b45432f9114b7ff69844ec1','0','2','0'),
('41942','3','','10497','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'856','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','085e72fc9fde405faaeaf097b29e12a8','0','2','0'),
('41943','20','get[1.3.6.1.2.1.1.5.0]','10497','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','819e7be322cb41728e01c9c91ae925f5','0','2','0'),
('41944','20','get[1.3.6.1.2.1.1.3.0]','10497','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25aaf430db3d4a19a9b0f7c082e904bc','0','2','0'),
('41945','20','get[1.3.6.1.2.1.1.2.0]','10497','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1bde09547e21422ab7e17cdc0503aa53','0','2','0'),
('41946','20','get[1.3.6.1.2.1.1.6.0]','10497','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db89a699f89f45648f7e10476fbb1ba7','0','2','0'),
('41947','3','','10497','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0bffcb2d515415db279b20fcdf3c2ad','0','2','0'),
('41948','20','get[1.3.6.1.2.1.1.1.0]','10497','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f9b8a4a60074fd7b08f15db63e95447','0','2','0'),
('41949','20','get[1.3.6.1.2.1.1.4.0]','10497','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6185cb0ed5824d55ab7a3115e34fcd3e','0','2','0'),
('41950','17','','10497','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c5a4f5306ae4fa6bb4f428c68eccc5c','0','2','0'),
('41951','3','','10497','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b58686f36c6431f8c5d7f990403a823','0','2','0'),
('41952','5','','10497','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'857','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57f802d3cb784200bb047ccd947d34b0','0','2','0'),
('41963','3','','10498','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'860','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a48b3331df141bda0f3d9cca2b678f2','0','2','0'),
('41964','20','get[1.3.6.1.2.1.1.5.0]','10498','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6f61d8243514cdebac021b5124fce8c','0','2','0'),
('41965','20','get[1.3.6.1.2.1.1.3.0]','10498','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f7bd0ce4612c46c8a07239b5fe19231a','0','2','0'),
('41966','20','get[1.3.6.1.2.1.1.2.0]','10498','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2736a10a1fc446eb8b9f448e894b14fe','0','2','0'),
('41967','20','get[1.3.6.1.2.1.1.6.0]','10498','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3812d629520d45c58ec3603a4eeca72e','0','2','0'),
('41968','3','','10498','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b781c132adc34334b27b9e7762c4b7d6','0','2','0'),
('41969','20','get[1.3.6.1.2.1.1.1.0]','10498','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8cb003746f8a47a09a21eadb327de4f9','0','2','0'),
('41970','20','get[1.3.6.1.2.1.1.4.0]','10498','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81a3cea5e62e41ecbecbfa1c3bd821e2','0','2','0'),
('41971','17','','10498','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','324dbec2e7bf49f999411dfb25372701','0','2','0'),
('41972','3','','10498','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1fb3fc2def948559f1db70e4581bbdd','0','2','0'),
('41973','5','','10498','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'861','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d892561e2ca48a3a6d8e2aec6ff7505','0','2','0'),
('41984','3','','10499','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'864','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c481552e81c040cc902c5a02e8971ba5','0','2','0'),
('41985','20','get[1.3.6.1.2.1.1.5.0]','10499','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','860ffeeac47c434c8890fef9c13f5105','0','2','0'),
('41986','20','get[1.3.6.1.2.1.1.3.0]','10499','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d1af72cb5174acfaaf50992b2aeb25e','0','2','0'),
('41987','20','get[1.3.6.1.2.1.1.2.0]','10499','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6d82211969d74fb7b33f1e9d90c83902','0','2','0'),
('41988','20','get[1.3.6.1.2.1.1.6.0]','10499','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a6d38cac0dcc4bb085e6d7dc9536407d','0','2','0'),
('41989','3','','10499','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b2a45e80039439ca76648ff3eff0515','0','2','0'),
('41990','20','get[1.3.6.1.2.1.1.1.0]','10499','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd8bd2a11d164a9eafc6771bb80eb449','0','2','0'),
('41991','20','get[1.3.6.1.2.1.1.4.0]','10499','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65095df07cf849789fe6d78cbc9e2712','0','2','0'),
('41992','17','','10499','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d44db2b3812246e09860a63d42512382','0','2','0'),
('41993','3','','10499','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bee8dc9f001443c38134e692b933aa89','0','2','0'),
('41994','5','','10499','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'865','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c814df3020694764834105ce89cb5232','0','2','0'),
('42005','3','','10500','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'868','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd22f3bc12c642e1b8bcd708b7ae68a2','0','2','0'),
('42006','20','get[1.3.6.1.2.1.1.5.0]','10500','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fa41471e9b44d138848ab7ecfb7d354','0','2','0'),
('42007','20','get[1.3.6.1.2.1.1.3.0]','10500','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ad913927c424bc9b2ab09365921f41a','0','2','0'),
('42008','20','get[1.3.6.1.2.1.1.2.0]','10500','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6320b2b82e3c42f993a053be2ed60a5d','0','2','0'),
('42009','20','get[1.3.6.1.2.1.1.6.0]','10500','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','225a0364e38845b489a9dc94055790ac','0','2','0'),
('42010','3','','10500','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f918b392de8452b943c71ef69f17fad','0','2','0'),
('42011','20','get[1.3.6.1.2.1.1.1.0]','10500','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d7c4a734e3b4980b02166caa994d939','0','2','0'),
('42012','20','get[1.3.6.1.2.1.1.4.0]','10500','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84a4224286024f56a09301195b6efa72','0','2','0'),
('42013','17','','10500','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba5410ba09354d87a3f3941d3b45b013','0','2','0'),
('42014','3','','10500','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7deb2be6b623485fb0e6bbf88a02dbf7','0','2','0'),
('42015','5','','10500','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'869','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ee24adf573947e29e23436f45a47e08','0','2','0'),
('42026','3','','10501','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'872','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1456a122964042f48b033f5c31dd8376','0','2','0'),
('42027','20','get[1.3.6.1.2.1.1.5.0]','10501','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b9de782051549bea9f39dd6ceb6b946','0','2','0'),
('42028','20','get[1.3.6.1.2.1.1.3.0]','10501','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ddbd6f5ee0094e5ca2f62aa07fe71fd5','0','2','0'),
('42029','20','get[1.3.6.1.2.1.1.2.0]','10501','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6455af8d14904fcf892a03989a0b8a37','0','2','0'),
('42030','20','get[1.3.6.1.2.1.1.6.0]','10501','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c92d6baa96784a30a17e785e6214e3e3','0','2','0'),
('42031','3','','10501','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5571d787631e48e782de334341fabb8f','0','2','0'),
('42032','20','get[1.3.6.1.2.1.1.1.0]','10501','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d6158d361f943af9dd63ef425e5cf28','0','2','0'),
('42033','20','get[1.3.6.1.2.1.1.4.0]','10501','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64eb10d744834f2697951abf073d5149','0','2','0'),
('42034','17','','10501','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c18df4381e984a599904b4fcf19d2f70','0','2','0'),
('42035','3','','10501','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d39e275bb89745caa0a6b27ac88c58fe','0','2','0'),
('42036','5','','10501','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'873','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84fc11c2d18449cb8b903b6a8ac05959','0','2','0'),
('42047','3','','10502','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'876','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a6ed6ec60a74ffd9142d21489ac8470','0','2','0'),
('42048','20','get[1.3.6.1.2.1.1.5.0]','10502','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2258348183a64037bdad1af1a0af29b3','0','2','0'),
('42049','20','get[1.3.6.1.2.1.1.3.0]','10502','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4116de1f7bcb4902adcc14a449d58b80','0','2','0'),
('42050','20','get[1.3.6.1.2.1.1.2.0]','10502','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90919bb372954e0eb87fae49ed98ca70','0','2','0'),
('42051','20','get[1.3.6.1.2.1.1.6.0]','10502','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3af39a93b684b99880bfbd50b146ec5','0','2','0'),
('42052','3','','10502','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ad8e2e7b1ee488f9470836f8cd8f4b6','0','2','0'),
('42053','20','get[1.3.6.1.2.1.1.1.0]','10502','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','449b88f9f0bb423d89def3227b1d9e38','0','2','0'),
('42054','20','get[1.3.6.1.2.1.1.4.0]','10502','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9f5b25afb7e44918e19df044c71d238','0','2','0'),
('42055','17','','10502','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','886163a11a0d4dd4922fc4fda700ddcf','0','2','0'),
('42056','3','','10502','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a3155664a4d4f5797733f66939bc506','0','2','0'),
('42057','5','','10502','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'877','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8aa3e5e4cb8440998922015c32994cd2','0','2','0'),
('42068','3','','10233','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'880','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cba2e98b8ea14ff0a03dee515337ac7d','0','2','0'),
('42069','20','get[1.3.6.1.2.1.1.5.0]','10233','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d99a01f7c0d4ca38f3bc9a5f8db3ab7','0','2','0'),
('42070','20','get[1.3.6.1.2.1.1.3.0]','10233','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff6fea946fb143e3b8b151eafb403952','0','2','0'),
('42071','20','get[1.3.6.1.2.1.1.2.0]','10233','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d8a27d216f146ae88479e8e6bcbd301','0','2','0'),
('42072','20','get[1.3.6.1.2.1.1.6.0]','10233','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9766fcd2e7b64865a6ef60f3ab27002f','0','2','0'),
('42073','3','','10233','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81b47dcd39864dd6812344bd0dc34963','0','2','0'),
('42074','20','get[1.3.6.1.2.1.1.1.0]','10233','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','763d10f3cf344cd488db9c156c893d18','0','2','0'),
('42075','20','get[1.3.6.1.2.1.1.4.0]','10233','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d2b98385edb49979abcde5481560253','0','2','0'),
('42076','17','','10233','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','540698a8c58d4a659e2c2ecdd5cb76e0','0','2','0'),
('42077','3','','10233','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bb0c6c8aad64f21a11dc58c6be2eeaf','0','2','0'),
('42078','5','','10233','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'881','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','754f890d63c042f6976a1ad25c317574','0','2','0'),
('42089','3','','10234','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'884','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3d05c4b2b2e40ba8cd29255012f5582','0','2','0'),
('42090','20','get[1.3.6.1.2.1.1.5.0]','10234','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53b0dbb74854494eb834804a1f0afbe7','0','2','0'),
('42091','20','get[1.3.6.1.2.1.1.3.0]','10234','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6538a853fd47460585dbc2b4853ea65b','0','2','0'),
('42092','20','get[1.3.6.1.2.1.1.2.0]','10234','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d5bfc785de5459c967659306d66b7e5','0','2','0'),
('42093','20','get[1.3.6.1.2.1.1.6.0]','10234','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eeeceba5d9dd43de856ada8b5460f3d5','0','2','0'),
('42094','3','','10234','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c2b7fe079ba45f6b150d9aeda4b8ab1','0','2','0'),
('42095','20','get[1.3.6.1.2.1.1.1.0]','10234','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59c81fd37e334a0ba60b1256d3730624','0','2','0'),
('42096','20','get[1.3.6.1.2.1.1.4.0]','10234','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44a19d5435e8476dafa2e52b481b9c75','0','2','0'),
('42097','17','','10234','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f2e3553d7874f81b184b1b25a3d9ac6','0','2','0'),
('42098','3','','10234','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f6d11b8498e04df9bcf392aee2aacde3','0','2','0'),
('42099','5','','10234','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'885','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','755ae00add264d2ba735b45f7dc5ca23','0','2','0'),
('42110','3','','10235','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'889','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89d60f525bd04be28cc4267d0224cdb6','0','2','0'),
('42111','20','get[1.3.6.1.2.1.1.3.0]','10235','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0123f7f4eab541a786130af4fbb2a534','0','2','0'),
('42112','20','get[1.3.6.1.2.1.1.2.0]','10235','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','237a5f0537a549b3a63ed7f81d0b6122','0','2','0'),
('42113','20','get[1.3.6.1.2.1.1.5.0]','10235','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa2a90f772154d0e9354d496afae9939','0','2','0'),
('42114','20','get[1.3.6.1.2.1.1.6.0]','10235','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de9a507ae83247398a4708fff2889862','0','2','0'),
('42115','3','','10235','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f355d66881c47b5be8097dbd1f950d1','0','2','0'),
('42116','20','get[1.3.6.1.2.1.1.1.0]','10235','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3701b10845d449a3b1a5d67a7d743ca4','0','2','0'),
('42117','20','get[1.3.6.1.2.1.1.4.0]','10235','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b821576134ff4185a3e11b35763b7d1d','0','2','0'),
('42118','17','','10235','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','568c2b550b944dd084ec4e4486e7ec72','0','2','0'),
('42119','3','','10235','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6138402da32a40259bb26f217be2df59','0','2','0'),
('42120','5','','10235','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'890','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e44eea15b2a4b2c994fb3372c538466','0','2','0'),
('42133','3','','10236','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'893','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e9f5ba061b7e41e7bac26aeec105f4da','0','2','0'),
('42134','3','','10236','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71567de591174a64aafd48aebae0b4f4','0','2','0'),
('42135','3','','10236','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dde3ad74c18847f4a91bee29b20a6364','0','2','0'),
('42136','17','','10236','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','707bcd801726449d9a7d3de0fa650c0a','0','2','0'),
('42137','20','get[1.3.6.1.2.1.1.4.0]','10236','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b293fd8a3e346f9be437ae539dca3c3','0','2','0'),
('42138','20','get[1.3.6.1.2.1.1.1.0]','10236','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4727c07daa0c413aa4bbc293198f9cde','0','2','0'),
('42139','20','get[1.3.6.1.2.1.1.6.0]','10236','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3cfe39b7d7f9401190de46aa86a04686','0','2','0'),
('42140','20','get[1.3.6.1.2.1.1.5.0]','10236','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72bc86c14222404cad76bc04836d11eb','0','2','0'),
('42141','20','get[1.3.6.1.2.1.1.2.0]','10236','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78034b7a1d964b199f6a12c43821c27e','0','2','0'),
('42142','20','get[1.3.6.1.2.1.1.3.0]','10236','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb63d68e6d0143049534225d1d69da12','0','2','0'),
('42143','5','','10236','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'894','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6cd5b22d8014aa18fdb7735d77cc84c','0','2','0'),
('42154','3','','10237','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'897','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','473f39f191164f578539e842f18bfe65','0','2','0'),
('42155','20','get[1.3.6.1.2.1.1.5.0]','10237','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5994fe565b1d437f8e9f1d0d8ec83104','0','2','0'),
('42156','20','get[1.3.6.1.2.1.1.3.0]','10237','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de270e3ac6874ca59a236a040d82c099','0','2','0'),
('42157','20','get[1.3.6.1.2.1.1.2.0]','10237','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fbfe02459724f089b5bcd31ff6245d9','0','2','0'),
('42158','20','get[1.3.6.1.2.1.1.6.0]','10237','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eabbdf5343fb42bfa3e5f13bc51ad66d','0','2','0'),
('42159','3','','10237','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11297d0102734139aa4fa81eefad9839','0','2','0'),
('42160','20','get[1.3.6.1.2.1.1.1.0]','10237','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a05d416bcdde44929f091c4cde2e6537','0','2','0'),
('42161','20','get[1.3.6.1.2.1.1.4.0]','10237','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','362b533375e544d9804eba534e5f4935','0','2','0'),
('42162','17','','10237','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11edabc72e4a4d69a0dc9c36458fbfbc','0','2','0'),
('42163','3','','10237','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8416e68bab94a568b8fbc67927ae739','0','2','0'),
('42164','5','','10237','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'898','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0aad82f9addd45efa20253da000ec699','0','2','0'),
('42175','0','','10076','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c80c15f5741464882aa238f27bec1bd','0','2','0'),
('42176','0','','10076','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'900','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05849e0fb6504d339f2aebe159427bec','0','2','0'),
('42177','0','','10076','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe4731720ba64eebbf125929e499209b','0','2','0'),
('42178','5','','10076','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'899','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','304a3e9bb7594c83b027a32c34aeab28','0','2','0'),
('42179','0','','10075','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74bc1a15ef314d5f9b26332531885c0d','0','2','0'),
('42180','0','','10075','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'902','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da59d099f7614653b37b8eaaa518ebd2','0','2','0'),
('42181','0','','10075','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2b84269401e41acb973bc29666b9e7a','0','2','0'),
('42182','5','','10075','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'901','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbfaa94dc7bc4606a792aaf357054075','0','2','0'),
('42183','0','','10077','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27949a6910304d39b3d2a68c90525581','0','2','0'),
('42184','0','','10077','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'904','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98507eac4f70420698dc234c2a6e3198','0','2','0'),
('42185','0','','10077','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f456ce86b284b089f545d8c72c64405','0','2','0'),
('42186','5','','10077','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'903','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b0a1ce4ca4a441484eea38724eaf24d','0','2','0'),
('42187','0','','10001','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df561a0cece94760a78704edf7da7326','0','2','0'),
('42188','0','','10001','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','160b82c121b147cbbf18c34dbb01d3ce','0','2','0'),
('42189','0','','10001','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d93097ed5ce74d35b6041ef2b5ba18e8','0','2','0'),
('42190','0','','10001','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57f9e2e34fab41e18e2bc93e786c92c6','0','2','0'),
('42191','0','','10001','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','207341f390134e37ad431e2823666eb9','0','2','0'),
('42192','0','','10001','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6072902361404672a444841c786875e6','0','2','0'),
('42193','0','','10001','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd21580a151246b0a340bf924c326aa8','0','2','0'),
('42194','0','','10001','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e4c3d14634843e9b7b182e8fc08efbe','0','2','0'),
('42195','0','','10001','Number of installed packages','system.sw.packages.get','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58818005e76d46dda14d6592f601ab00','0','2','0'),
('42196','0','','10001','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca423242172f4b20ba47c26f4a61aee7','0','2','0'),
('42197','0','','10001','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'908','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f94f9f4699e94c369e6c98b2a2f485ce','0','2','0'),
('42198','0','','10001','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','102c81b5523c4be0b4beae3cb88ebde1','0','2','0'),
('42199','0','','10001','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The information as normally returned by `uname -a`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc6898682f904c57ba28bcb3748b237f','0','2','0'),
('42200','0','','10001','System uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8537f6c6ac6b438c80caf227946df891','0','2','0'),
('42201','0','','10001','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88056b3d2e424d5aba7cabcd4b043c9e','0','2','0'),
('42202','0','','10001','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b93d3590df24a46b29f6eb06f5e2446','0','2','0'),
('42203','0','','10001','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory:
- in Linux = free + buffers + cache;
- on other platforms calculation may vary.
See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e811e6e2ae84461294e121f12e767b40','0','2','0'),
('42204','0','','10001','Available memory in %','vm.memory.size[pavailable]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20779a4c43374e5f9bea2584e93b85ef','0','2','0'),
('42205','0','','10001','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5c3541a7c0949ce812df1beb0732941','0','2','0'),
('42206','0','','10001','CPU steal time','system.cpu.util[,steal]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3161dbd18e874e69b729c8e903cf7390','0','2','0'),
('42207','0','','10001','CPU softirq time','system.cpu.util[,softirq]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been servicing software interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a949a36004a449c58bef0cdc9d3fafd6','0','2','0'),
('42208','0','','10001','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ee6e54c86ba44ab88bb9e83c632c1ed','0','2','0'),
('42209','0','','10001','Load average (1m avg)','system.cpu.load[all,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','48528aa936a04c8189375a6eae4033da','0','2','0'),
('42210','0','','10001','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27c42cf180b44632b5d9b8b5788165b3','0','2','0'),
('42211','0','','10001','Maximum number of open file descriptors','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef386d03ff2c42ffa236acd5215ad547','0','2','0'),
('42212','0','','10001','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','678d70c041954ac8982fb5118b49f6e7','0','2','0'),
('42213','0','','10001','Number of processes','proc.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab7d0471092544a6a950184d1bac906d','0','2','0'),
('42214','0','','10001','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2637293884d40108f41b11767dd5be0','0','2','0'),
('42215','0','','10001','System boot time','system.boottime','15m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27cb0f66bb624146acfdd81b58f108a3','0','2','0'),
('42216','0','','10001','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d186a46867b4eaaafd6396d3239dd3b','0','2','0'),
('42217','0','','10001','Load average (5m avg)','system.cpu.load[all,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','953beb580df8418cb88b667b9dd37259','0','2','0'),
('42218','0','','10001','CPU iowait time','system.cpu.util[,iowait]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been waiting for I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5df67d9162cc437585990cc8708be894','0','2','0'),
('42219','0','','10001','Load average (15m avg)','system.cpu.load[all,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5716000e38e24dae8ead4ed98ede024b','0','2','0'),
('42220','0','','10001','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f72e115544eb4079b09fec8c3539241c','0','2','0'),
('42221','0','','10001','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73e85aa10a704fc7950d2d077f0c54ee','0','2','0'),
('42222','0','','10001','CPU guest time','system.cpu.util[,guest]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a virtual CPU for a guest operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69b187838fb74f319e47c2ff4f99ef54','0','2','0'),
('42223','0','','10001','CPU guest nice time','system.cpu.util[,guest_nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2b07497f2f343a99d26ad77e65bb54f','0','2','0'),
('42224','0','','10001','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7aad6d159baa4a24901847144f0d231b','0','2','0'),
('42225','0','','10001','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc4bc7693ae84f9bb18cee38d0814195','0','2','0'),
('42226','5','','10001','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'907','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca48c53be1bf46ae9dd2707158a55139','0','2','0'),
('42319','7','','10343','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a31cfdf92de04535adb957e0c72f54bd','0','2','0'),
('42320','7','','10343','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f08e1de57cbd4b08b9fd3294d0d95906','0','2','0'),
('42321','7','','10343','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75622323ae4447e8a21a04ef191fdc2d','0','2','0'),
('42322','7','','10343','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c74b64926aae4a8e8c2299d8bfe2e188','0','2','0'),
('42323','7','','10343','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fdf4eb1b98d04b229a1c9a3c0b5837ba','0','2','0'),
('42324','7','','10343','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8fa467600ab48ce8cec353bab6c3a54','0','2','0'),
('42325','7','','10343','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','627cbcb2432a4aeda6e90363d9b0c1db','0','2','0'),
('42326','7','','10343','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8c633f2fd1947028079a5939835dcd8','0','2','0'),
('42327','7','','10343','Number of installed packages','system.sw.packages.get','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16b1e5ab950040ef8c29139e0649d622','0','2','0'),
('42328','7','','10343','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56b8f84d22264b92b70a6ab0c3c70f19','0','2','0'),
('42329','7','','10343','CPU softirq time','system.cpu.util[,softirq]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been servicing software interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ff77e25f0fe45238c64a6532735cdd5','0','2','0'),
('42330','7','','10343','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a9fb924ab1d47168ffcab9d237d808a','0','2','0'),
('42331','7','','10343','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The information as normally returned by `uname -a`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3d73dcc92b34511971eddf956dc4c0f','0','2','0'),
('42332','7','','10343','System uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51bdea745e0547ad92a74fefaea54e39','0','2','0'),
('42333','7','','10343','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ea1cfb5813a422b98caebcd870959ef','0','2','0'),
('42334','7','','10343','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87f35de24ba74a8d8f70430c8da85261','0','2','0'),
('42335','7','','10343','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory:
- in Linux = free + buffers + cache;
- on other platforms calculation may vary.
See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bf94ec3debc459fa3e13449199052ee','0','2','0'),
('42336','7','','10343','Available memory in %','vm.memory.size[pavailable]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99efd95a41b34457a2ec0d8c96324e7c','0','2','0'),
('42337','7','','10343','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','013fe8b15c86442eadc10763706ec594','0','2','0'),
('42338','7','','10343','CPU steal time','system.cpu.util[,steal]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','434c154ba392476f9ad8a94968840e19','0','2','0'),
('42339','7','','10343','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users'' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d965fa68eea3454e83179116c5483322','0','2','0'),
('42340','7','','10343','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'912','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c266646bfa843dabfe4ba5a3fd9026e','0','2','0'),
('42341','7','','10343','Load average (1m avg)','system.cpu.load[all,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c692df07acc44b4ea1f4f88cd4ee64eb','0','2','0'),
('42342','7','','10343','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91dbe302bd8e4954b91e9ce3a795b4eb','0','2','0'),
('42343','7','','10343','Maximum number of open file descriptors','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','66ed2ffc888c40c6b80dcc259c087d08','0','2','0'),
('42344','7','','10343','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d60cc4367893424d9671b1f05ba83599','0','2','0'),
('42345','7','','10343','Number of processes','proc.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ccb6fdbe1267475780e978c0c5de986c','0','2','0'),
('42346','7','','10343','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','436bf5615731425a97fdcdbaac5f4000','0','2','0'),
('42347','7','','10343','System boot time','system.boottime','15m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42bb6cbed08a4884a99328b38e4c1654','0','2','0'),
('42348','7','','10343','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a2218b9d9124c7284962f84bdefaab8','0','2','0'),
('42349','7','','10343','Load average (5m avg)','system.cpu.load[all,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18862acd219e4259a9b9665c32550fa5','0','2','0'),
('42350','7','','10343','CPU iowait time','system.cpu.util[,iowait]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been waiting for I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4859bb1b6e21469a917aa56fbfbe1698','0','2','0'),
('42351','7','','10343','Load average (15m avg)','system.cpu.load[all,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61040b6d85df4a2087e562f0216e723d','0','2','0'),
('42352','7','','10343','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e98a6a53c1a44c09b5e3c19971b834c','0','2','0'),
('42353','7','','10343','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47e3a1d3955d4bccb07a0e32f768273d','0','2','0'),
('42354','7','','10343','CPU guest time','system.cpu.util[,guest]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a virtual CPU for a guest operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ef463cc12da45e6b5a97cee93fd5ba0','0','2','0'),
('42355','7','','10343','CPU guest nice time','system.cpu.util[,guest_nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cb7f1c9774241968208724ab56f4d86','0','2','0'),
('42356','7','','10343','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a20c7edef6d449e8771ff57cebb87d8','0','2','0'),
('42357','7','','10343','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9329b55874bb4de7a52f941f382ba9ce','0','2','0'),
('42384','3','','10248','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'916','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28f98683b9af4558813287cfa151719b','0','2','0'),
('42385','20','get[1.3.6.1.2.1.1.2.0]','10248','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b17833c4646423d8fd4115fa19d2ffe','0','2','0'),
('42386','15','','10248','Memory utilization','vm.memory.util[snmp]','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total[memTotalReal.0])-(last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])))/last(//vm.memory.total[memTotalReal.0])*100','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','640d893d48d44f2ebe2c9e9bb0158f76','0','2','0'),
('42387','20','get[1.3.6.1.4.1.2021.4.5.0]','10248','Total memory','vm.memory.total[memTotalReal.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de35484e53b24894aa050f15e1941106','0','2','0'),
('42388','20','get[1.3.6.1.4.1.2021.4.6.0]','10248','Free memory','vm.memory.free[memAvailReal.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc3fb5310e8f4af7a093b9df9eede403','0','2','0'),
('42389','20','get[1.3.6.1.4.1.2021.4.15.0]','10248','Memory (cached)','vm.memory.cached[memCached.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5e0a99bfd9844108c3d26d53d1a3d0c','0','2','0'),
('42390','20','get[1.3.6.1.4.1.2021.4.14.0]','10248','Memory (buffers)','vm.memory.buffers[memBuffer.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Memory used by kernel buffers (Buffers in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c071dae605b64cce886df7d2865e77e0','0','2','0'),
('42391','15','','10248','Available memory','vm.memory.available[snmp]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad8a3857e8b04dffbc0c052a0d36fe08','0','2','0'),
('42392','20','get[1.3.6.1.2.1.1.3.0]','10248','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3fba18851db4be08df04ab85536bb14','0','2','0'),
('42393','20','get[1.3.6.1.4.1.2021.4.3.0]','10248','Total swap space','system.swap.total[memTotalSwap.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The total amount of swap space configured for this host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7db5193027794961840c228c6280fe5b','0','2','0'),
('42394','15','','10248','Free swap space in %','system.swap.pfree[snmp]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//system.swap.free[memAvailSwap.0])/last(//system.swap.total[memTotalSwap.0])*100','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52ae3f1d7b3d4b669b40f0fddbb0e326','0','2','0'),
('42395','20','get[1.3.6.1.4.1.2021.4.4.0]','10248','Free swap space','system.swap.free[memAvailSwap.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The amount of swap space currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8ad10709a6e457187f58695de20b027','0','2','0'),
('42396','20','get[1.3.6.1.2.1.1.5.0]','10248','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ee68ecd1edc4f5d9cddefa78f8d502e','0','2','0'),
('42397','3','','10248','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc5a3fbab2834f8bb012325071c5b2e0','0','2','0'),
('42398','20','get[1.3.6.1.2.1.1.6.0]','10248','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f2b3de3245e4ffea5aefc636e0f3da1','0','2','0'),
('42399','20','get[1.3.6.1.2.1.1.1.0]','10248','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abd4d4b7097644478329b578dfa7bf09','0','2','0'),
('42400','20','get[1.3.6.1.4.1.2021.11.60.0]','10248','Context switches per second','system.cpu.switches[ssRawContexts.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e10a890dc6724cbda96f7c40c49cd730','0','2','0'),
('42405','20','get[1.3.6.1.4.1.2021.11.59.0]','10248','Interrupts per second','system.cpu.intr[ssRawInterrupts.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fdb0807c4a9a452f8a3cbab01a4ddb2e','0','2','0'),
('42406','20','get[1.3.6.1.2.1.1.4.0]','10248','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e45c4b2df4a640a1a36154cb2b717e9d','0','2','0'),
('42407','17','','10248','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85a597b741bb4e6e8fa9806e8737caf4','0','2','0'),
('42408','3','','10248','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1e02fd733c14d71935e24fbe8786d40','0','2','0'),
('42409','5','','10248','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'917','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03491bb9b98f4267bf1ff56cc226d819','0','2','0'),
('42443','0','','10079','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96c93b959e884934808b4d3c3b2f93d6','0','2','0'),
('42444','0','','10079','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'919','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e70e8cc76bb4099a3a6b96f5669f059','0','2','0'),
('42445','0','','10079','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32e67f37a30c4fb28db9119d9e26a996','0','2','0'),
('42446','5','','10079','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'918','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d00cf9691f6c446fa35dab03b2201aa4','0','2','0'),
('42447','0','','10074','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','390a1b2080e842f3985b0076509cc550','0','2','0'),
('42448','0','','10074','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'921','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99dbf8825c0d4e1f9ae433bcb786d7c7','0','2','0'),
('42449','0','','10074','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c65db5a2b42c46dc90cf4891ad1ecc83','0','2','0'),
('42450','5','','10074','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'920','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ab36f1fcf0244229effa26f16889a36','0','2','0'),
('42451','0','','10078','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a64ce48b94b4886af4bd97beab5f93d','0','2','0'),
('42452','0','','10078','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'923','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d708ce58ad214d19a740824512e8be6a','0','2','0'),
('42453','0','','10078','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','633a1d74569f4f61892dabf7e0acf6c1','0','2','0'),
('42454','5','','10078','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'922','','','0','','','','','0',NULL,'Used for monitoring agent availability status','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46dc8d0138314f41962dc357d1e4af20','0','2','0'),
('42455','0','','10081','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af550a1bfe74428eb24492d8af3b405e','0','2','0'),
('42456','0','','10081','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'928','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f81e2ce0d1104f9aaf1fc49284ed0ed4','0','2','0'),
('42457','0','','10081','Number of cores','wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of logical processors available on the computer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83c8c6f15b524a2fb04fc90d04d3e8a2','0','2','0'),
('42458','0','','10081','Windows: Network interfaces WMI get',E'wmi.getall[root\\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Raw data of `win32_networkadapter.`','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','08b70a5b80fd435ba393e3deb3ca5adb','0','2','0'),
('42459','15','','10081','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b1e4ecaa04a46e9b0aee956918f0713','0','2','0'),
('42460','0','','10081','Used memory','vm.memory.size[used]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cbf45e11dab453797fe291639aa0c01','0','2','0'),
('42461','0','','10081','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09e9a345a0f445b1a65685911f5eb9b0','0','2','0'),
('42462','0','','10081','Uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12503fbf4400488e9b5ff0488f164cb6','0','2','0'),
('42463','0','','10081','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System description of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b103a2c22fe344f886e9dc9f4e4a65ec','0','2','0'),
('42464','0','','10081','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f981835baf04494eaff2f33f159e0ab5','0','2','0'),
('42465','15','','10081','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,E'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\\Paging file(_Total)\\% Usage"])','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11cac38334544e5cbb028cfd473cb39e','0','2','0'),
('42466','0','','10081','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e8b3476db6d4322a10cd1a28cbdb7ea','0','2','0'),
('42467','0','','10081','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94c4dfe23e2e4c6e995a3a715941a8eb','0','2','0'),
('42468','0','','10081','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb056886ce72426e833a0445f9263906','0','2','0'),
('42469','0','','10081','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2ed8e2efab04564b6c70ee8ad14730f','0','2','0'),
('42470','0','','10081','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b305029532f84daf93c8da2d181ac3a1','0','2','0'),
('42471','0','','10081','Number of threads',E'perf_counter_en["\\System\\Threads"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of threads used by all running processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','630b7b2af6274936ab80b1dd774113e5','0','2','0'),
('42472','0','','10081','CPU queue length',E'perf_counter_en["\\System\\Processor Queue Length"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','002af28df72f4a788c88bc022d88c6dd','0','2','0'),
('42473','0','','10081','Context switches per second',E'perf_counter_en["\\System\\Context Switches/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,E'Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.
Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.
It is the sum of Thread\\\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.
There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2322a85bfc1049a3b5c892d83b5d5054','0','2','0'),
('42474','0','','10081','CPU user time',E'perf_counter_en["\\Processor Information(_total)\\% User Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','575912d512624143b564ca0fbfd0bb8f','0','2','0'),
('42475','0','','10081','CPU privileged time',E'perf_counter_en["\\Processor Information(_total)\\% Privileged Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37448f05afe340a3891d05528c9d1adc','0','2','0'),
('42476','0','','10081','CPU interrupt time',E'perf_counter_en["\\Processor Information(_total)\\% Interrupt Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e403552481b04ebdba2e8a019f114f20','0','2','0'),
('42477','0','','10081','CPU DPC time',E'perf_counter_en["\\Processor Information(_total)\\% DPC Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee1f116fdab34969a6e6f5e1c25fc3d2','0','2','0'),
('42478','0','','10081','Used swap space in %',E'perf_counter_en["\\Paging file(_Total)\\% Usage"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The used space of swap volume/file in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b99a722d267d455fad3c07c53302b20f','0','2','0'),
('42479','0','','10081','Memory pool non-paged',E'perf_counter_en["\\Memory\\Pool Nonpaged Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.
There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb822cb2a17948208a61bd6661c496df','0','2','0'),
('42480','0','','10081','Memory pages per second',E'perf_counter_en["\\Memory\\Pages/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the rate at which pages are read from or written to disk to resolve hard page faults.
If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','287163bc5b0441c4bf51489432a278eb','0','2','0'),
('42481','0','','10081','Memory page faults per second',E'perf_counter_en["\\Memory\\Page Faults/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c41d254585a4d7b81a0c5766a8913c1','0','2','0'),
('42482','0','','10081','Free system page table entries',E'perf_counter_en["\\Memory\\Free System Page Table Entries"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ea74fafb9334de095adcb47cced578d','0','2','0'),
('42483','0','','10081','Cache bytes',E'perf_counter_en["\\Memory\\Cache Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,E'Cache Bytes is the sum of the Memory\\\\System Cache Resident Bytes, Memory\\\\System Driver Resident Bytes, Memory\\\\System Code Resident Bytes, and Memory\\\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5219a246de0641a89685a961cdd08c0b','0','2','0'),
('42484','0','','10081','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5707443d739d4689bde192e75ff4bd0f','0','2','0'),
('42485','5','','10081','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'927','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3dcb0f79342b4ded97cdec0794472266','0','2','0'),
('42512','7','','10351','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','042ce35b908748c8bdd322f818c52c85','0','2','0'),
('42513','7','','10351','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5229689338ae4a559d3c94a98032131e','0','2','0'),
('42514','7','','10351','Windows: Network interfaces WMI get',E'wmi.getall[root\\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Raw data of `win32_networkadapter.`','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c35940d1a12e4b96b7114ac8dbbfcec4','0','2','0'),
('42515','15','','10351','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b62965a4670472b8c672dc1021bb8fd','0','2','0'),
('42516','7','','10351','Used memory','vm.memory.size[used]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f85ec8917f084c7d9b6bc36e186d74d6','0','2','0'),
('42517','7','','10351','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83185781999742268a7742695c5d3ee3','0','2','0'),
('42518','7','','10351','Uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','695053710ea14cc48692b5cb260d0dfb','0','2','0'),
('42519','7','','10351','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System description of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fa1259420ad486ab6e2520c9b047073','0','2','0'),
('42520','7','','10351','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5af29f7b8ee451895b49c0444e929f4','0','2','0'),
('42521','15','','10351','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,E'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\\Paging file(_Total)\\% Usage"])','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d6f14cc540846ab98052bf741a4247b','0','2','0'),
('42522','7','','10351','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16a7ae509f0c4f9d8631efae88fe6324','0','2','0'),
('42523','7','','10351','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89f928affba54c4a8dc7abead09cac68','0','2','0'),
('42524','7','','10351','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d99b356e30444a0b99e597506f35a69','0','2','0'),
('42525','7','','10351','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f3ffe45092d461a91a1296cd6cfb19f','0','2','0'),
('42526','7','','10351','Number of threads',E'perf_counter_en["\\System\\Threads"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of threads used by all running processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c738b97ec0dc49f380ed0e4a27ae9bb6','0','2','0'),
('42527','7','','10351','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'933','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd8864ac5450401b9ad479c1ee455805','0','2','0'),
('42528','7','','10351','CPU queue length',E'perf_counter_en["\\System\\Processor Queue Length"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1da358e5c8f40279c703d93896aa571','0','2','0'),
('42529','7','','10351','Context switches per second',E'perf_counter_en["\\System\\Context Switches/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,E'Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.
Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.
It is the sum of Thread\\\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.
There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f23957a6fb9a44a3a7010b19b16e77b5','0','2','0'),
('42530','7','','10351','CPU user time',E'perf_counter_en["\\Processor Information(_total)\\% User Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','954a81efad4c4791bee052194b900268','0','2','0'),
('42531','7','','10351','CPU privileged time',E'perf_counter_en["\\Processor Information(_total)\\% Privileged Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0747e92e52cc4a6a9b83c6f94889bff1','0','2','0'),
('42532','7','','10351','CPU interrupt time',E'perf_counter_en["\\Processor Information(_total)\\% Interrupt Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32a32b9fea5d49989668a96bc52db87b','0','2','0'),
('42533','7','','10351','CPU DPC time',E'perf_counter_en["\\Processor Information(_total)\\% DPC Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','553249b52ca7492c87386d051ec53db9','0','2','0'),
('42534','7','','10351','Used swap space in %',E'perf_counter_en["\\Paging file(_Total)\\% Usage"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The used space of swap volume/file in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f7b86eff6c84193a2f9187fff578416','0','2','0'),
('42535','7','','10351','Memory pool non-paged',E'perf_counter_en["\\Memory\\Pool Nonpaged Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.
There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3af0a0717da747849c2b5a2ebfa61a2c','0','2','0'),
('42536','7','','10351','Memory pages per second',E'perf_counter_en["\\Memory\\Pages/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the rate at which pages are read from or written to disk to resolve hard page faults.
If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','920faa3a434d46d48f99395e16ef04ec','0','2','0'),
('42537','7','','10351','Memory page faults per second',E'perf_counter_en["\\Memory\\Page Faults/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19ec57305ba34ed890e2e4c8a500a214','0','2','0'),
('42538','7','','10351','Free system page table entries',E'perf_counter_en["\\Memory\\Free System Page Table Entries"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71bb18af403248c7818d16444a2eec06','0','2','0'),
('42539','7','','10351','Cache bytes',E'perf_counter_en["\\Memory\\Cache Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,E'Cache Bytes is the sum of the Memory\\\\System Cache Resident Bytes, Memory\\\\System Driver Resident Bytes, Memory\\\\System Code Resident Bytes, and Memory\\\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20dceb831b1a4d63af7635656239c495','0','2','0'),
('42540','7','','10351','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41cec8b443a94efc9ebca6f66c46ad8a','0','2','0'),
('42541','7','','10351','Number of cores','wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of logical processors available on the computer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3dcf69f6637f496ca0406e0ed403f03c','0','2','0'),
('42568','3','','10249','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'936','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d751b3ead8cd4509a3f87c9bb4c89f00','0','2','0'),
('42569','3','','10249','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e311b1e5e8841da85c5ec6145d9c75f','0','2','0'),
('42570','3','','10249','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fba6328e6e6240f28c1b901a9c2fc376','0','2','0'),
('42571','17','','10249','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b75c480b7ec648a5b2762b20fc5c2ed8','0','2','0'),
('42572','20','get[1.3.6.1.2.1.1.4.0]','10249','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd26c7a0a46240279bb907b8a1253029','0','2','0'),
('42573','20','discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]','10249','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The average, over the last minute, of the percentage of time that processors was not idle.
Implementations may approximate this one minute smoothing period if necessary.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16a592f6b9f64403999f92d677f1cd2e','0','2','0'),
('42574','20','get[1.3.6.1.2.1.1.1.0]','10249','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e95e030765e84abfa5a51194e81ac719','0','2','0'),
('42575','20','get[1.3.6.1.2.1.1.6.0]','10249','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d19b9bfdfe7344a28eaf69a1b7961adb','0','2','0'),
('42576','20','get[1.3.6.1.2.1.1.5.0]','10249','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9feb2f561b3d4356bc6ef2cac955a495','0','2','0'),
('42577','20','get[1.3.6.1.2.1.1.2.0]','10249','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9e67b57c15747e8ab4f67e24837ce49','0','2','0'),
('42578','20','get[1.3.6.1.2.1.1.3.0]','10249','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af7f47f4cf884282bbd9d296ba61b1c2','0','2','0'),
('42579','5','','10249','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'937','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4863042ade2143a0b34e1fc9403742b0','0','2','0'),
('42598','3','','10385','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'938','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','030530f5193246f4b983ec802030e49b','0','2','0'),
('42599','3','','10385','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c82fa3f20c7443e4849ea8e8aec1e49d','0','2','0'),
('42600','3','','10385','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a95c43c70e54ad49f073fee69a2452d','0','2','0'),
('42601','17','','10385','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ec396a7adf64637ae453d7f26cd5b20','0','2','0'),
('42602','20','get[1.3.6.1.2.1.1.4.0]','10385','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e98719af84414ef5ab3dd788c7d2d72f','0','2','0'),
('42603','20','get[1.3.6.1.2.1.1.1.0]','10385','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf59fb53834d4b14bdb0251e66c5143f','0','2','0'),
('42604','20','get[1.3.6.1.2.1.1.6.0]','10385','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fed7a954ea614cb086b901b2e6957621','0','2','0'),
('42605','20','get[1.3.6.1.2.1.1.5.0]','10385','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','354fe7cd2632425b9f937e8714d79798','0','2','0'),
('42606','20','get[1.3.6.1.2.1.1.2.0]','10385','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf571c06cc264eca89d68f0b0b7559f7','0','2','0'),
('42607','20','get[1.3.6.1.2.1.1.3.0]','10385','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f14eaa207ac9480995d2a2a10bea1467','0','2','0'),
('42608','5','','10385','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'939','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','197767da1b3c4c4f8f3c59ab3c3fc5b8','0','2','0'),
('42609','3','','10378','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'44','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62c6bb1b70ee4ece865b562e298cafb0','0','2','0'),
('42610','3','','10378','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f7c934ef77d04c00bdec19f8e3950d85','0','2','0'),
('42611','3','','10378','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72f8c27991b7440ba186f6eb037605cf','0','2','0'),
('42612','17','','10378','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4380826947fc4df6a341fe074f42da6a','0','2','0'),
('42613','20','get[1.3.6.1.2.1.1.4.0]','10378','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','045800cfeaf6448ab9a9e97f8b5172c1','0','2','0'),
('42614','20','get[1.3.6.1.2.1.1.1.0]','10378','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c12c6668d9564855b227dee42a9d86f8','0','2','0'),
('42615','20','get[1.3.6.1.2.1.1.6.0]','10378','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f46b736cdb7f44fcacf33d272d905db8','0','2','0'),
('42616','20','get[1.3.6.1.2.1.1.5.0]','10378','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65c5b2a3742c4c6d8a04c63bb96b46c6','0','2','0'),
('42617','20','get[1.3.6.1.2.1.1.2.0]','10378','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d9d7b390c774a188a07dbb5bb4a583e','0','2','0'),
('42618','20','get[1.3.6.1.2.1.1.3.0]','10378','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','564b458cee7a4a2bb2b4f4777bead32d','0','2','0'),
('42619','5','','10378','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'940','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fff713712c44477aa081445d9962c002','0','2','0'),
('42620','3','','10304','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'941','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','250be2514e9246e08058a403bf674cf6','0','2','0'),
('42621','3','','10304','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7eaba8c2b7d4b4aa14081957252e33e','0','2','0'),
('42622','3','','10304','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88b4a6cc507748e19f08d0ffc9a15368','0','2','0'),
('42623','17','','10304','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00b0172971e34784836d03e76b3480bd','0','2','0'),
('42624','20','get[1.3.6.1.2.1.1.4.0]','10304','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50df0ad347d94cffb871256c6340af11','0','2','0'),
('42625','20','get[1.3.6.1.2.1.1.1.0]','10304','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','235302070dc54f148b92027967a6ff2f','0','2','0'),
('42626','20','get[1.3.6.1.2.1.1.6.0]','10304','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ba9b86064ad432a9e6d1922ca29edda','0','2','0'),
('42627','20','get[1.3.6.1.2.1.1.5.0]','10304','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4674d8adc39343f7b46d21cae2ec1310','0','2','0'),
('42628','20','get[1.3.6.1.2.1.1.2.0]','10304','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05fe3cb6d2004e7ea2d37742fc2549d3','0','2','0'),
('42629','20','get[1.3.6.1.2.1.1.3.0]','10304','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b0551aa2d184c8d923788b5d159ed7c','0','2','0'),
('42630','5','','10304','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'942','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b80f6a30ad124a1ea863f2fdb868ba6f','0','2','0'),
('42634','17','','10255','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e7e65916304419a8b5c43c9c08a20fc','0','2','0'),
('42641','5','','10255','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'944','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e3b11fcdd2146018676621143fd297b','0','2','0'),
('42642','3','','10256','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'945','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5abff4175d1640b9b633c4d9184bd243','0','2','0'),
('42643','3','','10256','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1db2fcdd357e4d15a989c0511bbed8bd','0','2','0'),
('42644','3','','10256','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8be612f43d1d40ce9efd3c36d18e6a20','0','2','0'),
('42645','17','','10256','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0107bcd0d6b840c4a64061ee83e69f11','0','2','0'),
('42646','20','get[1.3.6.1.2.1.1.4.0]','10256','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2203e586148a418f9e2f06b38c340b53','0','2','0'),
('42647','20','get[1.3.6.1.2.1.1.1.0]','10256','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03ff0b6d9c7a483eaae565d90473d291','0','2','0'),
('42648','20','get[1.3.6.1.2.1.1.6.0]','10256','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84ed489ba1be43738be79f8a71b60381','0','2','0'),
('42649','20','get[1.3.6.1.2.1.1.5.0]','10256','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88baf9f1da184fc78a49b064f0b4de85','0','2','0'),
('42650','20','get[1.3.6.1.2.1.1.2.0]','10256','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d02b8e2d5c7a4afabc2fbadc8674288c','0','2','0'),
('42651','20','get[1.3.6.1.2.1.1.3.0]','10256','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05166eb015534cae9798f9266d3d0a6b','0','2','0'),
('42652','5','','10256','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'946','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5ebd75f34f24502b3cdc2a707fb24c5','0','2','0'),
('42653','3','','10258','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'947','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','303807b2799f4f7cace3d781e9ed1715','0','2','0'),
('42654','3','','10258','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4af423253e1b4960825b49041d9c8feb','0','2','0'),
('42655','3','','10258','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1659e3298fb447f8ee93e8bab98a22d','0','2','0'),
('42656','17','','10258','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0a1cdb1df4d408087a8ed3d473ce1fe','0','2','0'),
('42657','20','get[1.3.6.1.2.1.1.4.0]','10258','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6686560b390540b593a2d3bb3289ea41','0','2','0'),
('42658','20','get[1.3.6.1.2.1.1.1.0]','10258','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','905c91ce799849dfb56b800c93849826','0','2','0'),
('42659','20','get[1.3.6.1.2.1.1.6.0]','10258','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','589def06a1b74a7f8ada7cc4576aa9eb','0','2','0'),
('42660','20','get[1.3.6.1.2.1.1.5.0]','10258','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','596ce9f7e6b848e4869cd195996c7114','0','2','0'),
('42661','20','get[1.3.6.1.2.1.1.2.0]','10258','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad8eada79b464821a14759f32f6d7f2a','0','2','0'),
('42662','20','get[1.3.6.1.2.1.1.3.0]','10258','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97cd7cf6a9a545788a2f709bacb925ed','0','2','0'),
('42663','5','','10258','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'948','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59d2bec423a84ca186d5785ddea5270b','0','2','0'),
('42664','3','','10259','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'949','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c60cd8613094b95bfd0ad45d04bc0e8','0','2','0'),
('42665','3','','10259','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a8bd0d13bab4666aaf4c53b7722ec74','0','2','0'),
('42666','3','','10259','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','feb1b9189b904b42b17ac4e1db49806e','0','2','0'),
('42667','17','','10259','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cadc501d69624baa8ad292c2c8f6fd52','0','2','0'),
('42668','20','get[1.3.6.1.2.1.1.4.0]','10259','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ccba865de57a41718b53ff1f82b2ca87','0','2','0'),
('42669','20','get[1.3.6.1.2.1.1.1.0]','10259','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70f51b4370c64c2bab2c811359ef690b','0','2','0'),
('42670','20','get[1.3.6.1.2.1.1.6.0]','10259','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52169be1d3924c638476a290590066f3','0','2','0'),
('42671','20','get[1.3.6.1.2.1.1.5.0]','10259','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','afa2acff36034dccb96a1946e7039f39','0','2','0'),
('42672','20','get[1.3.6.1.2.1.1.2.0]','10259','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0c0d3ee729b4a159719271232024b45','0','2','0'),
('42673','20','get[1.3.6.1.2.1.1.3.0]','10259','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc33c0e22893432280d642c75020a222','0','2','0'),
('42674','5','','10259','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'950','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e205f1aa96a448a2955e988fa8528600','0','2','0'),
('42724','21','','10516','Get data','openweathermap.get.data','10m','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value),
request = new HttpRequest(),
data = [],
error_msg = [],
measurement,
temp_unit,
wind_unit,
errors_only = [],
error_locations = [],
unique_errors,
new_error_msg;
function getHttpData(query) {
url = params.api_endpoint + query + ''&appid='' + params.apikey + ''&units='' + params.units + ''&lang='' + params.lang;
response = request.get(url);
Zabbix.log(4, ''[ Openweathermap ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response.'';
}
}
if (request.getStatus() !== 200) {
if (response.error && response.error.message) {
throw response.error.message;
}
else {
throw ''Failed to receive data. Invalid response status code: '' + request.getStatus();
}
}
return response;
}
switch (params.units) {
case ''metric'':
measurement = ''metric'';
temp_unit = ''C'';
wind_unit = ''meter/sec'';
break;
case ''imperial'':
measurement = ''imperial'';
temp_unit = ''F'';
wind_unit = ''miles/hour'';
break;
default:
measurement = ''standard'';
temp_unit = ''K'';
wind_unit = ''meter/sec'';
}
locations = params.location.split(''|'');
for (var i in locations) {
try {
if (/^[0-9]+$/g.test(locations[i])) {
result = getHttpData(''id='' + locations[i]);
}
else if (/^.*,[\\w]+$/g.test(locations[i])) {
result = getHttpData(''zip='' + locations[i]);
}
else if (/^(\\-)?[0-9]{1,2}(\\.[0-9]+)?,(\\-)?[0-9]{1,2}(\\.[0-9]+)?/g.test(locations[i])) {
coordinates = locations[i].split('','');
result = getHttpData(''lat='' + coordinates[0] + ''&lon='' + coordinates[1]);
}
else {
result = getHttpData(''q='' + encodeURIComponent(locations[i]));
}
if (!data.filter(function (location) { return location.id === result.id; }).length) {
result.measurement = measurement;
result.temp_unit = temp_unit;
result.wind_unit = wind_unit;
data.push(result);
}
} catch (error) {
errors = {};
errors.location = locations[i];
errors.error = error.toString();
error_msg.push(errors);
errors_only.push(error.toString());
}
}
if (error_msg.length === 0) {
return JSON.stringify({
''data'': data,
''errors'': error_msg.toString()
});
} else {
unique_errors = errors_only.filter(function (value, index, self) {
return self.indexOf(value) == index;
});
if (unique_errors.length === 1) {
for (var j in error_msg) {
error_locations.push(error_msg[j].location);
}
new_error_msg = ''Failed to retrieve data for the following locations: '' + error_locations + ''. '' + unique_errors[0];
return JSON.stringify({
''data'': data,
''errors'': new_error_msg
});
} else {
return JSON.stringify({
''data'': data,
''errors'': error_msg
});
}
}','','0','','','','','0',NULL,'JSON array with result of OpenWeatherMap API requests.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7db240f752294b2eb86537d6c06cac5e','0','2','0'),
('42738','21','','10517','API service status','proxmox.api.available','5m','31d','365d','0','3','','','','',NULL,'954','try {
var params = JSON.parse(value);
var req = new HttpRequest();
req.addHeader(''Authorization: PVEAPIToken='' + params.token + ''='' + params.secret);
req.get(encodeURI(''https://'' + params.url + '':'' + params.port + ''/api2/json/version''));
} catch (error) {
Zabbix.log(3, "Proxmox API failed: " + params.url + " Error: " + error);
if (!Number.isInteger(error))
return 520;
}
return req.getStatus();','','0','','','','','0',NULL,'Get API service status.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','75f8f8c507774f529ade4bc4255f5fd2','0','2','0'),
('42739','19','','10517','Get cluster resources','proxmox.cluster.resources','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Resources index.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/cluster/resources','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','4fe4fa1323cd481f8aff3bfb716eeae2','0','2','0'),
('42740','19','','10517','Get cluster status','proxmox.cluster.status','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get cluster status information.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/cluster/status','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','6e6a5046b8154bafad375813ca210e1f','0','2','0'),
('42792','3','','10518','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'959','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbebf1aafe8149a7825ffb976d20fd5c','0','2','0'),
('42805','15','','10518','Available memory','vm.memory.available','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.free)+last(//vm.memory.buffers)+last(//vm.memory.cached)','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','43901b6beb7f4f559464775863d19976','0','2','0'),
('42806','20','get[1.3.6.1.4.1.2021.4.14.0]','10518','Memory (buffers)','vm.memory.buffers','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The total amount of real or virtual memory currently allocated for use as memory buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b6007f808e04eefafe236737773ce7f','0','2','0'),
('42807','20','get[1.3.6.1.4.1.2021.4.15.0]','10518','Memory (cached)','vm.memory.cached','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The total amount of real or virtual memory currently allocated for use as cached memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab4c02a4c1fc4ef69a31e9b83a1a9263','0','2','0'),
('42808','20','get[1.3.6.1.4.1.2021.4.6.0]','10518','Free memory','vm.memory.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The amount of real/physical memory currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d55491912c814481b0931e836838e9b0','0','2','0'),
('42809','20','get[1.3.6.1.4.1.2021.4.5.0]','10518','Total memory','vm.memory.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e3802f02a4364e6bb37fb7fe780c4137','0','2','0'),
('42810','15','','10518','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total)-(last(//vm.memory.free)+last(//vm.memory.buffers)+last(//vm.memory.cached)))/last(//vm.memory.total)*100','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c70fad7e758e480fbae726a677a29ead','0','2','0'),
('42813','3','','10518','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','43b3e4ddfeb34a1abba953cd7503ce2c','0','2','0'),
('42815','3','','10518','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','006c38011abf42f69ef5d9238a356faf','0','2','0'),
('42817','20','get[1.3.6.1.4.1.2021.11.59.0]','10518','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b41b8db2212848db83a6a0d9369fecdd','0','2','0'),
('42822','20','get[1.3.6.1.4.1.2021.11.60.0]','10518','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Number of context switches.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8740f4489c04eedb072869e27f68a60','0','2','0'),
('42825','20','get[1.3.6.1.2.1.1.5.0]','10518','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46b98d1ef62d49a0bb22687dc119acf0','0','2','0'),
('42827','20','get[1.3.6.1.4.1.2021.4.4.0]','10518','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The amount of swap space currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e61f086a8a3942569e6c7f67b24e8f86','0','2','0'),
('42828','15','','10518','Free swap space in %','system.swap.pfree','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//system.swap.free)/last(//system.swap.total)*100','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a075af85eed44c8adba2cb7bc657b40','0','2','0'),
('42829','20','get[1.3.6.1.4.1.2021.4.3.0]','10518','Total swap space','system.swap.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
The total amount of swap space configured for this host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0fc3cd77ed348bb955fc98d8636ab76','0','2','0'),
('42833','5','','10518','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'960','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fcbcc100655d478bbf868ffc2a0302d8','0','2','0'),
('42877','3','','10175','Get sensors','vmware.hv.sensors.get[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Master item for sensor data.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c9d6ffb53624758ad888bf70f69218c','0','2','0'),
('42880','0','','10329','Get queries','pgsql.queries["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics by query execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01123126fcd54adc84c3bbfa227d9c0c','0','2','0'),
('42930','3','','10519','Service ping','net.tcp.service["{$COCKROACHDB.API.SCHEME}","{$COCKROACHDB.API.HOST}","{$COCKROACHDB.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'963','','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00afa7b32af9499c89e939c96e0e29d1','0','2','0'),
('42931','19','','10519','Get health','cockroachdb.get_health','1m','31d','365d','0','3','','','','',NULL,'961','','','0','','','','','0',NULL,'Get node /health endpoint','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/health','','','200,500','1','0','','','1','0','0','0','0','0','0','a8cd030e869b4d788126ee5fa35d3403','0','2','0'),
('42932','19','','10519','Get readiness','cockroachdb.get_readiness','1m','31d','365d','0','3','','','','',NULL,'962','','','0','','','','','0',NULL,'Get node /health?ready=1 endpoint','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/health?ready=1','','','200,503','1','0','','','1','0','0','0','0','0','0','3e5e18e02b1b4f8d8f17c2e7d993169c','0','2','0'),
('42933','19','','10519','Get metrics','cockroachdb.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from the Prometheus endpoint.','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/_status/vars','','','200','1','0','','','0','0','0','0','0','0','0','926415babea74e2f951a0420bbdf1d8d','0','2','0'),
('43018','19','','10520','Get node metrics','envoy.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get server metrics.','0','30d','0','',NULL,'','{$ENVOY.URL}{$ENVOY.METRICS.PATH}','','','200','1','0','','','0','0','0','0','0','0','0','c6baf4c4e99f4516a23f87c089252a82','0','2','0'),
('43077','5','','10361','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'967','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - unknown
1 - available
2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b20b5df8198e4cdc8b584061f6815d5d','0','2','0'),
('43078','5','','10326','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'968','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - unknown
1 - available
2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bfe53ca77e2046d6bb9ece5250e227f1','0','2','0'),
('43079','5','','10343','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'969','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - unknown
1 - available
2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','090fb1a5698e4e7080abf379b377b6f5','0','2','0'),
('43080','5','','10351','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'970','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - unknown
1 - available
2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ac6ebdb5c98415b94cb44da5feeac7f','0','2','0'),
('43081','21','','10521','Get local services','consul.get_local_services','1m','0','0','0','4','','','','',NULL,NULL,'var Consul = {
setParams: function (params) {
[''api_endpoint'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Consul.params = params;
if (typeof Consul.params.api_endpoint === ''string'' && !Consul.params.api_endpoint.endsWith(''/'')) {
Consul.params.api_endpoint += ''/'';
}
},
request: function (query) {
var response,
request = new HttpRequest(),
url = Consul.params.api_endpoint + query;
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Consul-Token: '' + Consul.params.token);
Zabbix.log(4, ''[ Consul ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Consul ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Consul Agent API.'';
}
}
return {
status: request.getStatus(),
response: response
};
},
getServices: function () {
var result = Consul.request(''v1/agent/services''),
services = [];
if (typeof result.response !== ''object'' || result.status != 200) {
throw ''Cannot get service list from Consul Agent API.'';
}
Object.keys(result.response).forEach(function (service) {
services.push(result.response[service][''ID'']);
});
return services;
},
getServiceStats: function (service_id) {
var result = Consul.request(''v1/agent/health/service/id/'' + service_id);
if (typeof result.response !== ''object'' || [200, 429, 503].indexOf(result.status) === -1) {
throw ''Cannot get service info from Consul Agent API.'';
}
return result.response;
}
}
try {
Consul.setParams(JSON.parse(value));
var services = Consul.getServices(),
result = [];
services.forEach(function (service) {
var service_stats = Consul.getServiceStats(service);
result.push({
''id'': service,
''name'': service_stats[''Service''][''Service''],
''status'': service_stats[''AggregatedStatus''],
''checks'': service_stats[''Checks''],
''namespace'': typeof service_stats[''Service''][''Namespace''] === ''undefined'' ? ''None'' : service_stats[''Service''][''Namespace'']
});
});
return JSON.stringify(result);
}
catch (error) {
error += ((String(error).endsWith(''.'')) ? '''' : ''.'');
Zabbix.log(3, ''[ Consul ] ERROR: '' + error);
return JSON.stringify({error: error + '' Check debug log for more information.''});
}','','0','','','','','0',NULL,'Get all the services that are registered with the local agent and their status.','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','2b3cbe778f1c4d858e43320b8c25960d','0','2','0'),
('43082','19','','10521','Get node info','consul.get_node_info','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get configuration and member information of the local agent.','0','30d','0','',NULL,'15s','{$CONSUL.NODE.API.URL}/v1/agent/self','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','7e2689de8d78499fb52d718989b7ec8b','0','2','0'),
('43083','19','','10521','Get instance metrics','consul.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from Consul instance /metrics endpoint.','0','30d','0','',NULL,'15s','{$CONSUL.NODE.API.URL}/v1/agent/metrics?format=prometheus','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','c0e199969c19444fb68fd8497fcab047','0','2','0'),
('43156','19','','10522','Get services','consul.get_catalog_services','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Catalog of services registered in a given datacenter.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/catalog/services','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}
X-Consul-Namespace: {$CONSUL.NAMESPACE}','0','0','0','0','0','0','0','fd087c72bb7842c6b84b0b70788506b0','0','2','0'),
('43157','19','','10522','Get nodes Serf health status','consul.get_cluster_serf','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get Serf Health Status for all agents in cluster.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/health/state/any?filter=CheckID==serfHealth','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}
X-Consul-Namespace: {$CONSUL.NAMESPACE}','0','0','0','0','0','0','0','cad23435cc454f01b47034bd8427931d','0','2','0'),
('43158','19','','10522','Cluster leader','consul.get_leader','1m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Current leader address.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/status/leader','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','e52fcc1af52e4df5b18118355260a8d6','0','2','0'),
('43159','19','','10522','Get nodes','consul.get_nodes','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Catalog of nodes registered in a given datacenter.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/catalog/nodes','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','859451004516499e9636d96cde023d21','0','2','0'),
('43160','19','','10522','Nodes: peers','consul.get_peers','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of Raft peers for the datacenter in which the agent is running.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/status/peers','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','2400f78a5ada4a59b63fc049b6e3b3bf','0','2','0'),
('43174','21','','10524','Get data','hpe.msa.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
fields = [''username'', ''password'', ''base_url''],
methods = [
''system'',
''controllers'',
''controller-statistics'',
''frus'',
''disk-groups'',
''disk-group-statistics'',
''disks'',
''enclosures'',
''fans'',
''pools'',
''ports'',
''power-supplies'',
''volumes'',
''volume-statistics''
],
data_tmp = {},
result_tmp = {},
session_key,
data = {};
fields.forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
if (!params.base_url.endsWith(''/'')) {
params.base_url += ''/'';
}
var response, request = new HttpRequest();
request.addHeader(''datatype: xml'');
auth_string = md5(params.username + ''_'' + params.password);
response = request.get(params.base_url + ''api/login/'' + auth_string);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Authentication request has failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
session_key = XML.query(response, ''/RESPONSE/OBJECT/PROPERTY[@name="response"]/text()'');
return_code = XML.query(response, ''/RESPONSE/OBJECT/PROPERTY[@name="return-code"]/text()'');
}
catch (error) {
throw ''Failed to parse authentication response received from device API.'';
}
}
if (return_code != ''1'') {
throw ''Authentication failed.'';
}
else if (session_key === '''') {
throw ''Failed to retrieve session key from authentication response.'';
}
request.clearHeader();
request.addHeader(''sessionKey: '' + session_key);
request.addHeader(''datatype: api-embed'');
data.errors = [];
methods.forEach(function (method) {
response = request.get(params.base_url + ''api/show/'' + method);
method_error = '''';
if (request.getStatus() < 200 || request.getStatus() >= 300) {
method_error = ''Method: '' + method + ''. Request has failed with status code '' + request.getStatus() + '': '' + response;
data.errors.push(method_error);
return;
}
if (response !== null) {
try {
result_tmp = JSON.parse(XML.toJson(response));
data[method] = [];
result_tmp.RESPONSE.OBJECT.forEach(function (object) {
var data_tmp = {};
if (object[''@basetype''] !== ''status'' && object[''@basetype''] !== ''enclosure-sku'') {
object.PROPERTY.forEach(function (property) {
name = property[''@name''];
value = property[''#text''] || '''';
data_tmp[name] = value;
});
if (method == ''controller-statistics'') {
data_tmp[''durable-id''] = data_tmp[''durable-id''].toLowerCase();
}
data[method].push(data_tmp);
}
});
}
catch (error) {
method_error = ''Method: '' + method + ''. Failed to parse response received from device API.'';
}
}
else {
method_error = ''Method: '' + method + ''. No data received by request.'';
}
if (method_error.length > 0) {
data.errors.push(method_error);
}
});
if (data.errors.length == 0) {
data.errors = '''';
}
response = request.get(params.base_url + ''api/exit'');
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Logout request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with result of API requests.','0','30d','0','',NULL,'{$HPE.MSA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','e07e09dbcdd44f509a06343c9a53a455','0','2','0'),
('43175','3','','10524','Service ping','net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1242f5aede14008ae6896123bb944a5','0','2','0'),
('43281','21','','10525','Get data','hpe.msa.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
fields = [''username'', ''password'', ''base_url''],
methods = [
''system'',
''controllers'',
''controller-statistics'',
''frus'',
''disk-groups'',
''disk-group-statistics'',
''disks'',
''enclosures'',
''fans'',
''pools'',
''ports'',
''power-supplies'',
''volumes'',
''volume-statistics''
],
result = {},
data = {};
fields.forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
if (!params.base_url.endsWith(''/'')) {
params.base_url += ''/'';
}
var response, request = new HttpRequest();
request.addHeader(''datatype: json'');
auth_string = sha256(params.username + ''_'' + params.password);
response = request.get(params.base_url + ''api/login/'' + auth_string);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Authentication request has failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
auth_data = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse authentication response received from device API.'';
}
}
session_key = auth_data[''status''][0][''response''];
request.addHeader(''sessionKey: '' + session_key);
data.errors = [];
methods.forEach(function (method) {
response = request.get(params.base_url + ''api/show/'' + method);
method_error = '''';
if (request.getStatus() < 200 || request.getStatus() >= 300) {
method_error = ''Method: '' + method + ''. Request has failed with status code '' + request.getStatus() + '': '' + response;
data.errors.push(method_error);
return;
}
if (response !== null) {
try {
result = JSON.parse(response);
switch (method) {
case ''controller-statistics'':
var stats_array = result[''controller-statistics''] || [];
for (var i = 0; i < stats_array.length; i++) {
result[''controller-statistics''][i][''durable-id''] = result[''controller-statistics''][i][''durable-id''].toLowerCase();
}
data[method] = result[method];
break;
case ''frus'':
data[method] = result[''enclosure-fru''];
break;
case ''disks'':
data[method] = result[''drives''];
break;
case ''fans'':
data[method] = result[''fan''];
break;
case ''ports'':
data[method] = result[''port''];
break;
default:
data[method] = result[method];
}
}
catch (error) {
method_error = ''Method: '' + method + ''. Failed to parse response received from device API.'';
}
}
else {
method_error = ''Method: '' + method + ''. No data received by request.'';
}
if (method_error.length > 0) {
data.errors.push(method_error);
}
});
if (data.errors.length == 0) {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with result of API requests.','0','30d','0','',NULL,'{$HPE.MSA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','bafec666b170480f941fe25cb3cf903d','0','2','0'),
('43282','3','','10525','Service ping','net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3831060089ff497993088472e922df38','0','2','0'),
('43398','3','','10526','Service ping','net.tcp.service["{$HPE.PRIMERA.API.SCHEME}","{$HPE.PRIMERA.API.HOST}","{$HPE.PRIMERA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1005','','','0','','','','','0',NULL,'Checks if the service is running and accepting TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0b4fdee38a64c5f82fd051ea74a7b2d','0','2','0'),
('43399','21','','10526','Get data','hpe.primera.get.data','1m','0','0','0','4','','','','',NULL,NULL,E'var Primera = {
params: {},
session_key: null,
setParams: function (params) {
[''username'', ''password'', ''base_url''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Primera.params = params;
if (typeof Primera.params.base_url === ''string'' && !Primera.params.base_url.endsWith(''/'')) {
Primera.params.base_url += ''/'';
}
},
login: function () {
if (Primera.session_key !== null) {
return;
}
var response, request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
response = request.post(Primera.params.base_url + ''api/v1/credentials'', JSON.stringify({
''user'': Primera.params.username,
''password'': Primera.params.password
}));
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Auth request failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
auth_data = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse auth response received from device API.'';
}
}
else {
throw ''No data received by auth request.''
}
if (''key'' in auth_data) {
Primera.session_key = auth_data[''key''];
} else {
throw ''Auth response does not contain session key.''
}
},
logout: function () {
if (Primera.session_key !== null) {
(new HttpRequest()).delete(Primera.params.base_url + ''api/v1/credentials/'' + Primera.session_key);
}
},
requestData: function (method) {
if (Primera.session_key === null) {
return;
}
request = new HttpRequest();
request.addHeader(''X-HP3PAR-WSAPI-SessionKey: '' + Primera.session_key);
raw_data = request.get(Primera.params.base_url + ''api/v1/'' + method);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
if (raw_data !== null) {
try {
return JSON.parse(raw_data);
}
catch (error) {
throw ''Failed to parse response received from device API.'';
}
}
else {
throw ''No data received by '' + method + '' request.'';
}
}
};
var methods = [''disks'', ''cpgs'', ''hosts'', ''ports'', ''system'', ''tasks'', ''volumes''],
data = {};
data[''errors''] = {};
try {
Primera.setParams(JSON.parse(value));
try {
Primera.login();
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
for (var i in methods) {
try {
if (methods[i] === ''tasks'') {
var result = [],
tmp_tasks = {};
tasks = Primera.requestData(methods[i]);
tasks.members.forEach(function (task) {
tmp_tasks[task.name] = task;
});
for (var task in tmp_tasks) {
result.push(tmp_tasks[task]);
}
data[methods[i]] = result;
}
else {
data[methods[i]] = Primera.requestData(methods[i]);
}
}
catch (error) {
data.errors[methods[i]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
try {
Primera.logout();
}
catch (error) {
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with result of WSAPI requests.','0','30d','0','',NULL,'{$HPE.PRIMERA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','530e20083da8423e9d30c8342f1b7da3','0','2','0'),
('43497','21','','10527','Get metrics data','aws.ec2.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareRecursive: function (prefix, param) {
var result = {};
if (typeof param === ''object'') {
if (Array.isArray(param)) {
param.forEach(function (value, index) {
var nested = AWS.prepareRecursive(prefix + ''.member.'' + (index + 1), value);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
else {
Object.keys(param).forEach(function (k) {
var nested = AWS.prepareRecursive(prefix + ''.'' + k, param[k]);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
}
else {
result[prefix] = param;
}
return result;
},
renderPayload: function (period, instance_id) {
var metrics_list = [
''StatusCheckFailed:Count'',
''StatusCheckFailed_Instance:Count'',
''StatusCheckFailed_System:Count'',
''CPUUtilization:Percent'',
''NetworkIn:Bytes'',
''NetworkOut:Bytes'',
''NetworkPacketsIn:Count'',
''NetworkPacketsOut:Count'',
''DiskReadOps:Count'',
''DiskWriteOps:Count'',
''DiskReadBytes:Bytes'',
''DiskWriteBytes:Bytes'',
''MetadataNoToken:Count'',
''CPUCreditUsage:Count'',
''CPUCreditBalance:Count'',
''CPUSurplusCreditBalance:Count'',
''CPUSurplusCreditsCharged:Count'',
''EBSReadOps:Count'',
''EBSWriteOps:Count'',
''EBSReadBytes:Bytes'',
''EBSWriteBytes:Bytes'',
''EBSIOBalance %:Percent'',
''EBSByteBalance %:Percent''
];
var metric_payload = [];
metrics_list.forEach(function (metric) {
var parts = metric.split('':'', 2);
var name = parts[0].replace(/[^a-zA-Z0-9]/g, '''');
metric_payload.push({
''Id'': name.charAt(0).toLowerCase() + name.slice(1),
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/EC2'',
''Dimensions'': [
{
''Name'': ''InstanceId'',
''Value'': instance_id
}
]
},
''Period'': period,
''Stat'': ''Average'',
''Unit'': parts[1]
}
});
});
return metric_payload;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS EC2 ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS EC2 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getMetricsData: function () {
var timestamp = new Date().getTime(),
end_time = new Date(timestamp).toISOString().replace(/\\.\\d+Z/, ''Z''),
start_time = new Date(timestamp - AWS.request_period * 1000).toISOString().replace(/\\.\\d+Z/, ''Z''),
payload = AWS.prepareRecursive(''MetricDataQueries'', AWS.renderPayload(AWS.request_period, AWS.params.instance_id));
payload[''Action''] = ''GetMetricData'';
payload[''Version''] = ''2010-08-01'';
payload[''StartTime''] = start_time;
payload[''EndTime''] = end_time;
payload[''ScanBy''] = ''TimestampDescending'';
result = AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload));
if (typeof result !== ''object''
|| typeof result.GetMetricDataResponse !== ''object''
|| typeof result.GetMetricDataResponse.GetMetricDataResult !== ''object''
|| typeof result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults !== ''object'') {
throw ''Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.'';
}
return result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS EC2 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get instance metrics.
Full metrics list related to EC2: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','63ab011505f24885b843a9ac48b36a84','0','2','0'),
('43498','21','','10527','Get volumes data','aws.ec2.get_volumes','5m','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path, val) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || data === null || typeof data[step] === ''undefined'') {
if (typeof val === ''undefined'') {
throw ''Required field was not found: '' + path;
}
return val
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS EBS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS EBS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getVolumesData: function () {
var payload = {
''Action'': ''DescribeVolumes'',
''Version'': ''2016-11-15'',
''Filter.1.Name'': ''attachment.instance-id'',
''Filter.1.Value'': AWS.params.instance_id,
''MaxResults'': 100
},
value = [],
volumes_list = [];
while (payload.NextToken !== '''') {
var result = AWS.getField(AWS.request(''GET'', AWS.params.region, ''ec2'', AWS.prepareParams(payload)), ''DescribeVolumesResponse''),
volumes_set = AWS.getField(result, ''volumeSet''),
volumes = AWS.getField(volumes_set, ''item'', value);
volumes_list.push(Array.isArray(volumes) ? volumes : [volumes]);
payload.NextToken = result.nextToken || '''';
}
var flattenedData = volumes_list.reduce(function (acc, val) {
return acc.concat(val);
}, []);
return flattenedData;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getVolumesData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS EBS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get volumes attached to instance.
DescribeVolumes API method: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','9ec4650b564c41bca9893eca279a8cc7','0','2','0'),
('43499','21','','10527','Get instance alarms data','aws.ec2.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path, val) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || data === null || typeof data[step] === ''undefined'') {
if (typeof val === ''undefined'') {
throw ''Required field was not found: '' + path;
}
return val
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS EC2 ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS EC2 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getVolumes: function () {
var payload = {
''Action'': ''DescribeVolumes'',
''Version'': ''2016-11-15'',
''MaxResults'': 100,
''Filter.1.Name'': ''attachment.instance-id'',
''Filter.1.Value'': AWS.params.instance_id
},
value = [],
volumes = [],
volumes_list = [];
while (payload.NextToken !== '''') {
var result = AWS.getField(AWS.request(''GET'', AWS.params.region, ''ec2'', AWS.prepareParams(payload)), ''DescribeVolumesResponse'');
payload.NextToken = result.nextToken || '''';
volumes = AWS.getField(result, ''volumeSet.item'', value);
volumes_list.push(Array.isArray(volumes) ? volumes : [volumes])
}
var flattenedData = volumes_list.reduce(function (acc, val) {
return acc.concat(val);
}, []);
return flattenedData;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [],
volumes = AWS.getVolumes()
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''InstanceId'' && dimensions[i].Value === AWS.params.instance_id) {
result.push(alarm);
break;
}
if (dimensions[i].Name === ''VolumeId'' && volumes.indexOf(dimensions[i].Value)) {
result.push(alarm);
break;
}
}
});
}
return result;
}
}
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS EC2 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','4e0b2ed29500487092148b14245839d4','0','2','0'),
('43548','20','get[1.3.6.1.4.1.12325.1.200.1.11.1.0]','10528','Firewall rules count','opnsense.rules.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
The number of labeled filter rules on this system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','289cece23b5d4f17ba50d0373db4ed33','0','2','0'),
('43549','15','','10528','States table utilization in %','opnsense.state.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//opnsense.state.table.count) * 100 / last(//opnsense.state.table.limit)','','0','','','','','0',NULL,'Utilization of state table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17a0f633e2a14e63b0282b785a66c62a','0','2','0'),
('43550','20','get[1.3.6.1.4.1.12325.1.200.1.5.1.0]','10528','States table limit','opnsense.state.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Maximum number of ''keep state'' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bd8ea1e2cb44b4cb0f7d16a9339b9e4','0','2','0'),
('43551','20','get[1.3.6.1.4.1.12325.1.200.1.3.1.0]','10528','States table current','opnsense.state.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Number of entries in the state table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c399a2204bc44d4a9b1a4017840fd75','0','2','0'),
('43552','15','','10528','Source tracking table utilization in %','opnsense.source.tracking.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//opnsense.source.tracking.table.count) * 100 / last(//opnsense.source.tracking.table.limit)','','0','','','','','0',NULL,'Utilization of source tracking table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1452fc4e67564233b12dc892fde1959a','0','2','0'),
('43553','20','get[1.3.6.1.4.1.12325.1.200.1.5.2.0]','10528','Source tracking table limit','opnsense.source.tracking.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Maximum number of ''sticky-address'' or ''source-track'' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9b848d5c2254efdaf74ff48ce4003c4','0','2','0'),
('43554','20','get[1.3.6.1.4.1.12325.1.200.1.4.1.0]','10528','Source tracking table current','opnsense.source.tracking.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
Number of entries in the source tracking table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e40ddbf15a54b0e8ae2d1c52d5c2eba','0','2','0'),
('43555','20','get[1.3.6.1.4.1.12325.1.200.1.1.1.0]','10528','Packet filter running status','opnsense.pf.status','1m','31d','365d','0','3','','','','',NULL,'1019','','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB
True if packet filter is currently enabled.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2b82b136ea943909a7b6317bf8b7785','0','2','0'),
('43564','5','','10528','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1020','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00f2e8aa55754a7b9063afc1d7749d85','0','2','0'),
('43592','21','','10529','Get metrics data','aws.rds.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''db_instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
renderMetricQuery: function (period, db_instance_id) {
var metrics_list = [
''AbortedClients:Count'',
''ActiveTransactions:Count/Second'',
''AuroraBinlogReplicaLag:Seconds'',
''AuroraReplicaLag:Milliseconds'',
''AuroraReplicaLagMaximum:Milliseconds'',
''AuroraReplicaLagMinimum:Milliseconds'',
''BacktrackWindowActual:Count'',
''BacktrackWindowAlert:Count'',
''BinLogDiskUsage:Bytes'',
''BlockedTransactions:Count/Second'',
''BufferCacheHitRatio:Percent'',
''CheckpointLag:Seconds'',
''CommitLatency:Milliseconds'',
''CommitThroughput:Count/Second'',
''CPUCreditBalance:Count'',
''CPUCreditUsage:Count'',
''CPUUtilization:Percent'',
''DatabaseConnections:Count'',
''DDLLatency:Milliseconds'',
''DDLThroughput:Count/Second'',
''Deadlocks:Count/Second'',
''DeleteLatency:Milliseconds'',
''DeleteThroughput:Count/Second'',
''DiskQueueDepth:Count'',
''DMLLatency:Milliseconds'',
''DMLThroughput:Count/Second'',
''EBSByteBalance%:Percent'',
''EBSIOBalance%:Percent'',
''EngineUptime:Seconds'',
''FailedSQLServerAgentJobsCount:Count/Second'',
''FreeableMemory:Bytes'',
''FreeLocalStorage:Bytes'',
''InsertLatency:Milliseconds'',
''InsertThroughput:Count/Second'',
''LoginFailures:Count/Second'',
''MaximumUsedTransactionIDs:Count'',
''NetworkReceiveThroughput:Bytes/Second'',
''NetworkThroughput:Bytes/Second'',
''NetworkTransmitThroughput:Bytes/Second'',
''NumBinaryLogFiles:Count'',
''Queries:Count/Second'',
''RDSToAuroraPostgreSQLReplicaLag:Seconds'',
''ReadIOPS:Count/Second'',
''ReadLatency:Seconds'',
''ReadLatencyLocalStorage:Seconds'',
''ReadThroughput:Bytes/Second'',
''ReadThroughputLocalStorage:Bytes/Second'',
''ReplicationSlotDiskUsage:Bytes'',
''ResultSetCacheHitRatio:Percent'',
''RollbackSegmentHistoryListLength:Count'',
''RowLockTime:Milliseconds'',
''SelectLatency:Milliseconds'',
''SelectThroughput:Count/Second'',
''StorageNetworkReceiveThroughput:Bytes/Second'',
''StorageNetworkThroughput:Bytes/Second'',
''StorageNetworkTransmitThroughput:Bytes/Second'',
''SumBinaryLogSize:Bytes'',
''SwapUsage:Bytes'',
''TransactionLogsDiskUsage:Bytes'',
''UpdateLatency:Milliseconds'',
''UpdateThroughput:Count/Second'',
''WriteIOPS:Count/Second'',
''WriteLatency:Seconds'',
''WriteThroughput:Bytes/Second'',
''BurstBalance:Percent'',
''FreeStorageSpace:Bytes'',
''OldestReplicationSlotLag:Bytes'',
''ReplicaLag:Seconds'',
''TransactionLogsGeneration:Bytes/Second''
];
var metric_payload = [];
metrics_list.forEach(function (metric) {
var parts = metric.split('':'', 2);
var name = parts[0].replace(/[^a-zA-Z0-9]/g, '''');
metric_payload.push({
''Id'': name.charAt(0).toLowerCase() + name.slice(1),
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/RDS'',
''Dimensions'': [
{
''Name'': ''DBInstanceIdentifier'',
''Value'': db_instance_id
}
]
},
''Period'': period,
''Stat'': ''Average'',
''Unit'': parts[1]
}
});
});
return metric_payload;
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
else {
data = JSON.stringify(data);
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''X-Amz-Target: GraniteServiceVersion20100801.GetMetricData'');
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS RDS ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS RDS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getMetricsData: function () {
var payload = {},
end_time = Math.floor((new Date().getTime()) / 1000),
start_time = end_time - AWS.request_period;
payload[''StartTime''] = start_time;
payload[''EndTime''] = end_time;
payload[''ScanBy''] = ''TimestampDescending'';
payload[''MetricDataQueries''] = AWS.renderMetricQuery(AWS.request_period, AWS.params.db_instance_id);
result = AWS.request(''POST'', AWS.params.region, ''monitoring'', '''', payload);
if (typeof result !== ''object'' || typeof result.MetricDataResults !== ''object'') {
throw ''Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.'';
}
return result.MetricDataResults;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS RDS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get instance metrics.
Full metrics list related to RDS: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html
Full metrics list related to Amazon Aurora: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html#Aurora.AuroraMySQL.Monitoring.Metrics.instances','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','b22171fe7de44ac3952468ceb0c1a9b0','0','2','0'),
('43593','21','','10529','Get instance info','aws.rds.get_instance_info','5m','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''db_instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS RDS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS RDS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS RDS API. Check debug log for more information.'';
}
}
return response;
},
getInstanceData: function () {
var payload = {};
payload[''Action''] = ''DescribeDBInstances'',
payload[''Version''] = ''2014-10-31'',
payload[''DBInstanceIdentifier''] = AWS.params.db_instance_id;
result = AWS.request(''GET'', AWS.params.region, ''rds'', AWS.prepareParams(payload));
if (typeof result !== ''object''
|| typeof result.DescribeDBInstancesResponse !== ''object''
|| typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult !== ''object''
|| typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances !== ''object'') {
throw ''Cannot get metrics data from AWS RDS API. Check debug log for more information.'';
}
return result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getInstanceData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS RDS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get instance info.
DescribeDBInstances API method: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','85ac4a5313994e0f94fe6480d3c85193','0','2','0'),
('43594','21','','10529','Get instance events data','aws.rds.get_events','0s;m/10','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''db_instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS RDS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS RDS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS RDS API. Check debug log for more information.'';
}
}
return response;
},
getEvents: function () {
var payload = {
''Action'': ''DescribeEvents'',
''Version'': ''2014-09-01'',
''MaxRecords'': 100,
''Duration'': 30,
''SourceType'': ''db-instance'',
''SourceIdentifier'': AWS.params.db_instance_id
},
result = [];
while (payload.nextToken !== '''') {
var events = AWS.getField(AWS.request(''GET'', AWS.params.region, ''rds'', AWS.prepareParams(payload)), ''DescribeEventsResponse.DescribeEventsResult'');
events_list = AWS.getField(events, ''Events'');
if (!Array.isArray(events_list))
events_list = [events_list];
events_list.forEach(function (event) {
event.EventCategories = event.EventCategories.toString();
result.push(event);
});
payload.nextToken = events.nextToken || '''';
};
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getEvents());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS RDS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'DescribeEvents API method: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','f0d1041fa09d4ba38c9d0b39c4b76b0b','0','2','0'),
('43595','21','','10529','Get instance alarms data','aws.rds.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''db_instance_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS RDS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS RDS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''DBInstanceIdentifier'' && dimensions[i].Value === AWS.params.db_instance_id) {
result.push(alarm);
break;
}
}
});
}
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS RDS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','a2f85e777eae4fe789446de21136c510','0','2','0'),
('43684','21','','10530','Get metrics data','aws.s3.get_metrics','0s;h/8','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 2 * 86400,
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''credentials'', ''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload)), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''bucket_name'', ''request_region''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
renderMetricQuery: function (period, bucket_name) {
var metrics_list = [
''BucketSizeBytes:Bytes:Average:StandardStorage'',
''NumberOfObjects:Count:Average:AllStorageTypes'',
];
var metric_payload = [];
metrics_list.forEach(function (metric, index) {
var parts = metric.split('':'', 4);
metric_payload.push({
''Id'': ''m'' + index,
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/S3'',
''Dimensions'': [
{
''Name'': ''BucketName'',
''Value'': bucket_name
},
{
''Name'': ''StorageType'',
''Value'': parts[3]
}
]
},
''Period'': period,
''Stat'': parts[2],
''Unit'': parts[1]
}
});
});
return metric_payload;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (get, method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
else {
data = JSON.stringify(data)
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, '''');
if (get === ''metrics'' || get === ''credentials'') {
host = service + ''.'' + region + ''.amazonaws.com'';
} else {
host = AWS.params.bucket_name + ''.'' + service + ''.'' + region + ''.amazonaws.com'';
}
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
token = AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken;
var canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'' + ''x-amz-security-token:'' + token + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date;x-amz-security-token'';
}
else {
var canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'';
}
var canonical_uri = ''/'';
switch (get) {
case ''location'':
canonical_uri = ''/'' + AWS.params.bucket_name;
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data);
break;
case ''metrics'':
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data);
break;
case ''filter_id'':
case ''credentials'':
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data);
break;
default:
throw ''Error: Invalid option "get" for request function'';
}
var credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + token);
}
switch (get) {
case ''location'':
case ''filter_id'':
case ''credentials'':
url = ''https://'' + host + canonical_uri + ''?'' + params;
Zabbix.log(4, ''[ AWS S3 ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS S3 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
break;
case ''metrics'':
url = ''https://'' + host + ''/'';
Zabbix.log(4, ''[ AWS S3 ] Sending request: '' + url);
request.addHeader(''X-Amz-Target: GraniteServiceVersion20100801.GetMetricData'');
response = request.post(url, data);
Zabbix.log(4, ''[ AWS S3 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
break;
default:
throw ''Error: Invalid option "get" for request function'';
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getBucketLocation: function (bucket_name) {
var payload = {};
payload[''location''] = '''';
result = AWS.request(''location'', ''GET'', AWS.params.request_region, ''s3'', AWS.prepareParams(payload), '''', bucket_name);
if (typeof result !== ''object''
|| result.hasOwnProperty(''LocationConstraint'') === false
) {
throw ''Cannot get buckets region location data from AWS S3 API. Check debug log for more information.'';
}
return result.LocationConstraint !== null ? result.LocationConstraint : ''us-east-1'';
},
getBucketFilterId: function (region) {
var payload = {};
payload[''metrics''] = '''';
data = AWS.getField(AWS.request(''filter_id'', ''GET'', region, ''s3'', AWS.prepareParams(payload), ''''), ''ListMetricsConfigurationsResult'');
if (typeof data === ''object'' && data.hasOwnProperty(''MetricsConfiguration'') === true) {
if (!Array.isArray(data.MetricsConfiguration))
data.MetricsConfiguration = [data.MetricsConfiguration]
data.MetricsConfiguration.forEach(function (item) {
item.region = region;
});
} else { data.MetricsConfiguration = [''To view request metrics, create a filter''] }
return data.MetricsConfiguration;
},
getMetricsData: function (region) {
var payload = {},
end_time = Math.floor((new Date().getTime()) / 1000),
start_time = end_time - AWS.request_period;
payload[''StartTime''] = start_time;
payload[''EndTime''] = end_time;
payload[''ScanBy''] = ''TimestampDescending'';
payload[''MetricDataQueries''] = AWS.renderMetricQuery(43200, AWS.params.bucket_name);
return AWS.getField(AWS.request(''metrics'', ''POST'', region, ''monitoring'', '''', payload), ''MetricDataResults'');
}
};
try {
AWS.setParams(JSON.parse(value));
var region = AWS.getBucketLocation(AWS.params.bucket_name),
metrics = AWS.getMetricsData(region),
filter_id = AWS.getBucketFilterId(region);
return JSON.stringify({ metrics, filter_id });
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS S3 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get bucket metrics.
Full metrics list related to S3: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','598e9dc563334ad6b1d72245a6f8679f','0','2','0'),
('43685','21','','10530','Get alarms data','aws.s3.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''alarms'', ''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload)), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''bucket_name'', ''request_region''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (get, method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, '''');
if (get === ''alarms'') {
host = service + ''.'' + region + ''.amazonaws.com'';
} else {
host = AWS.params.bucket_name + ''.'' + service + ''.'' + region + ''.amazonaws.com'';
}
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
token = AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken;
var canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'' + ''x-amz-security-token:'' + token + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date;x-amz-security-token'';
}
else {
var canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'';
}
if (get === ''location'') {
canonical_uri = ''/'' + AWS.params.bucket_name;
} else {
canonical_uri = ''/'';
}
var canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + token);
}
Zabbix.log(4, ''[ AWS S3 ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS S3 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getBucketLocation: function () {
var payload = {};
payload[''location''] = '''';
result = AWS.request(''location'', ''GET'', AWS.params.request_region, ''s3'', AWS.prepareParams(payload));
if (typeof result !== ''object''
|| result.hasOwnProperty(''LocationConstraint'') === false
) {
throw ''Cannot get buckets region location data from AWS S3 API. Check debug log for more information.'';
}
return result.LocationConstraint !== null ? result.LocationConstraint : ''us-east-1'';
},
getAlarms: function (region) {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''alarms'', ''GET'', region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''BucketName'' && dimensions[i].Value === AWS.params.bucket_name) {
result.push(alarm);
break;
}
}
});
}
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
var region = AWS.getBucketLocation();
return JSON.stringify(AWS.getAlarms(region));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS S3 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get alarms data.
DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','6da0ea7130e64a7fb8ae32ee02290cbf','0','2','0'),
('43714','21','','10531','Get resources','azure.get.resources','10m','0','0','0','4','','','','',NULL,NULL,E'var Azure = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Azure.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
request.setProxy(Azure.params.proxy);
}
if (Azure.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + Azure.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
nextlink: function (data) {
next_data = data;
while (''nextLink'' in next_data) {
next_data = Azure.request(next_data.nextLink);
next_data.value.forEach(function (value) {
data.value.push(value);
});
}
return data;
}
};
var result,
data = {},
types = [
{"method": "Microsoft.Compute/virtualMachines", "version": "2022-03-01"},
{"method": "Microsoft.DBforMySQL/flexibleServers", "version": "2021-05-01"},
{"method": "Microsoft.DBforMySQL/servers", "version": "2017-12-01"},
{"method": "Microsoft.DBforPostgreSQL/flexibleServers", "version": "2021-06-01"},
{"method": "Microsoft.DBforPostgreSQL/servers", "version": "2017-12-01"},
{"method": "Microsoft.Sql/servers", "version": "2022-05-01-preview"},
{"method": "Microsoft.DocumentDB/databaseAccounts", "version": "2022-11-15-preview"},
{"method": "Microsoft.Compute/virtualMachineScaleSets", "version": "2024-03-01"},
{"method": "Microsoft.Sql/managedInstances", "version": "2024-05-01-preview"},
{"method": "Microsoft.DataProtection/backupVaults", "version": "2025-01-01"},
{"method": "Microsoft.RecoveryServices/vaults", "version": "2025-02-28-preview"}
];
data[''errors''] = {},
data[''resources''] = {};
data.resources.value = [];
try {
Azure.setParams(JSON.parse(value));
try {
result = Azure.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(Azure.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(Azure.params.app_id) + ''&client_secret='' + encodeURIComponent(Azure.params.password)
);
if (''access_token'' in result) {
Azure.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
for (var i in types) {
if (types[i].method === "Microsoft.Sql/servers") {
mssql_servers = Azure.request(''https://management.azure.com/subscriptions/'' + encodeURIComponent(Azure.params.subscription_id) + ''/providers/'' + types[i].method + ''?api-version='' + types[i].version);
if (''nextLink'' in mssql_servers) {
mssql_servers = Azure.nextlink(mssql_servers);
}
if (''value'' in mssql_servers && mssql_servers.value.length > 0) {
for (j in mssql_servers.value) {
mssql_dbs = Azure.request(''https://management.azure.com'' + mssql_servers.value[j].id + ''/databases?api-version='' + types[i].version);
if (''nextLink'' in mssql_dbs) {
mssql_dbs = Azure.nextlink(mssql_dbs);
}
mssql_dbs.value.forEach(function (value) {
raw_data.value.push(value);
});
}
}
}
else {
raw_data = Azure.request(''https://management.azure.com/subscriptions/'' + encodeURIComponent(Azure.params.subscription_id) + ''/providers/'' + types[i].method + ''?api-version='' + types[i].version);
if (''nextLink'' in raw_data) {
raw_data = Azure.nextlink(raw_data);
}
}
raw_data.value.forEach(function (value) {
value.resourceGroup = value.id.split("/")[4];
data.resources.value.push(value);
});
}
}
catch (error) {
data.errors.resources = error.toString();
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','fb6abf3631b240b08357ea9ce9ba89a4','0','2','0'),
('43715','21','','10532','Get data','azure.vm.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var Azure = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Azure.params = params;
},
login: function () {
var response, login = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
login.setProxy(Azure.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(Azure.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(Azure.params.app_id) + ''&client_secret='' + encodeURIComponent(Azure.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
Azure.token = response[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
request.setProxy(Azure.params.proxy);
}
if (!Azure.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Azure.token);
Zabbix.log(4, ''[ AzureVM ] request url: '' + url);
response = request.get(url);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getMetricsData: function () {
var data = {},
metric_endpoints = {
''main_and_premium_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''Percentage CPU,CPU Credits Remaining,CPU Credits Consumed,VmAvailabilityMetric,Available Memory Bytes,Network In Total,Network Out Total,Inbound Flows,Outbound Flows,Inbound Flows Maximum Creation Rate,Outbound Flows Maximum Creation Rate,Premium Data Disk Cache Read Hit,Premium Data Disk Cache Read Miss,Premium OS Disk Cache Read Hit,Premium OS Disk Cache Read Miss,VM Cached Bandwidth Consumed Percentage,VM Cached IOPS Consumed Percentage,VM Uncached Bandwidth Consumed Percentage,VM Uncached IOPS Consumed Percentage'') + ''&api-version=2024-02-01×pan=PT1M'',
''disks_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''Disk Read Bytes,Disk Write Bytes,Disk Read Operations/Sec,Disk Write Operations/Sec,Data Disk Latency,Data Disk Read Bytes/sec,Data Disk Write Bytes/sec,Data Disk Read Operations/Sec,Data Disk Write Operations/Sec,Data Disk Queue Depth,Data Disk Bandwidth Consumed Percentage,Data Disk IOPS Consumed Percentage,Data Disk Target Bandwidth,Data Disk Target IOPS,Data Disk Max Burst Bandwidth,Data Disk Max Burst IOPS,Data Disk Used Burst BPS Credits Percentage,Data Disk Used Burst IO Credits Percentage'') + ''&api-version=2024-02-01×pan=PT1M'',
''os_disk_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''OS Disk Latency,OS Disk Read Bytes/sec,OS Disk Write Bytes/sec,OS Disk Read Operations/Sec,OS Disk Write Operations/Sec,OS Disk Queue Depth,OS Disk Bandwidth Consumed Percentage,OS Disk IOPS Consumed Percentage,OS Disk Target Bandwidth,OS Disk Target IOPS,OS Disk Max Burst Bandwidth,OS Disk Max Burst IOPS,OS Disk Used Burst BPS Credits Percentage,OS Disk Used Burst IO Credits Percentage,Temp Disk Latency,Temp Disk Read Bytes/sec,Temp Disk Write Bytes/sec,Temp Disk Read Operations/Sec,Temp Disk Write Operations/Sec,Temp Disk Queue Depth'') + ''&api-version=2024-02-01×pan=PT1M''
};
data.metrics = {};
Object.keys(metric_endpoints).forEach(function (field) {
metrics = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + metric_endpoints[field]), ''value'');
for (k in metrics) {
key = Azure.getField(metrics[k], ''name.value'').replace(/(\\s|\\/)+/g, '''');
if (metrics[k].timeseries.length === 0) {
metrics[k].timeseries.push({ ''data'': [''nodata''] })
}
data.metrics[key] = Azure.getField(metrics[k], ''timeseries.0.data.0'');
}
});
data.health = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01''), ''value.0.properties'');
return data
}
};
try {
Azure.setParams(JSON.parse(value));
Azure.login();
return JSON.stringify(Azure.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AzureVM ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','cff54514d795495da8bc1152e02631aa','0','2','0'),
('43770','20','get[1.3.6.1.2.1.25.1.1.0]','10207','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ea3106277c64428950b4a5b6c4aedd0','0','2','0'),
('43771','20','get[1.3.6.1.2.1.25.1.1.0]','10254','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bf4c90019ae41688336f83bcbb481bb','0','2','0'),
('43772','20','get[1.3.6.1.2.1.25.1.1.0]','10208','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a988240abba8442da83fdbcb789d0138','0','2','0'),
('43773','20','get[1.3.6.1.2.1.25.1.1.0]','10210','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78b57ca2787948cb8b92604f2a0fdccc','0','2','0'),
('43774','20','get[1.3.6.1.2.1.25.1.1.0]','10211','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09265047c03b4c7397d0b526d47e5a8e','0','2','0'),
('43775','20','get[1.3.6.1.2.1.25.1.1.0]','10390','Uptime (hardware)','system.hw.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64e59aaf9a4c4dd28e591c96075c183b','0','2','0'),
('43776','20','get[1.3.6.1.2.1.25.1.1.0]','10391','Uptime (hardware)','system.hw.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24df0110b0d541118d6609c3f3922fe5','0','2','0'),
('43777','20','get[1.3.6.1.2.1.25.1.1.0]','10392','Uptime (hardware)','system.hw.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fd05b29760a4b10bf9b1125e8747cd1','0','2','0'),
('43778','20','get[1.3.6.1.2.1.25.1.1.0]','10393','Uptime (hardware)','system.hw.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b81c8fccadb94cd4bd7c798906d881ef','0','2','0'),
('43779','20','get[1.3.6.1.2.1.25.1.1.0]','10394','Uptime (hardware)','system.hw.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f00b81685e5d41f49561b62d710e247f','0','2','0'),
('43780','20','get[1.3.6.1.2.1.25.1.1.0]','10220','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','732ccfd809b44d7fa923c54e6577851d','0','2','0'),
('43781','20','get[1.3.6.1.2.1.25.1.1.0]','10218','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2173cd0262d4a60b5e134e00fed78e6','0','2','0'),
('43782','20','get[1.3.6.1.2.1.25.1.1.0]','10253','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','927d85dbb82f4b9a9edf4fb6194e7427','0','2','0'),
('43783','20','get[1.3.6.1.2.1.25.1.1.0]','10221','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5297253edb09463e8fdb6f1905e4f494','0','2','0'),
('43784','20','get[1.3.6.1.2.1.25.1.1.0]','10222','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','68631d04f4a94b83901bad116fe68198','0','2','0'),
('43785','20','get[1.3.6.1.2.1.25.1.1.0]','10223','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4706d07b0824ccb8f4ee7ccec10a388','0','2','0'),
('43786','20','get[1.3.6.1.2.1.25.1.1.0]','10224','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e9db5d7fe5f4f4e8fc6581813699c1e','0','2','0'),
('43787','20','get[1.3.6.1.2.1.25.1.1.0]','10226','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76f954f8d7fd41109919ccbbb6151164','0','2','0'),
('43788','20','get[1.3.6.1.2.1.25.1.1.0]','10227','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b476c099f8f64aa89cd5f61fc8b47dfa','0','2','0'),
('43789','20','get[1.3.6.1.2.1.25.1.1.0]','10250','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0659dadbef14fb1ac9be45d47388aa2','0','2','0'),
('43790','20','get[1.3.6.1.2.1.25.1.1.0]','10229','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','202c91a61d644285a0d74d88ae1b1a79','0','2','0'),
('43791','20','get[1.3.6.1.2.1.25.1.1.0]','10230','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0fece305afd4ef9b7e9e6e9dd297e21','0','2','0'),
('43792','20','get[1.3.6.1.2.1.25.1.1.0]','10231','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','833dd7b3b4e94dc89b4e7098cec3fce2','0','2','0'),
('43793','20','get[1.3.6.1.2.1.25.1.1.0]','10251','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f867fb976e0b49a895129865e95096c2','0','2','0'),
('43794','20','get[1.3.6.1.2.1.25.1.1.0]','10449','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da2967c30d774681af4b7007bfbd01c5','0','2','0'),
('43795','20','get[1.3.6.1.2.1.25.1.1.0]','10450','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87ed039a5c7d4d5f8e6459ad8f5bfa0f','0','2','0'),
('43796','20','get[1.3.6.1.2.1.25.1.1.0]','10451','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','466b42bafcaf4a9a891a1d554cfd688c','0','2','0'),
('43797','20','get[1.3.6.1.2.1.25.1.1.0]','10452','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6625f426dcc949559a35ddfb3aed43d3','0','2','0'),
('43798','20','get[1.3.6.1.2.1.25.1.1.0]','10453','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','094dba661554421087ef6454e6e899f6','0','2','0'),
('43799','20','get[1.3.6.1.2.1.25.1.1.0]','10454','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f1bc41c42fc410881b45972129ccf15','0','2','0'),
('43800','20','get[1.3.6.1.2.1.25.1.1.0]','10455','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8aeeb3ddfe6405ba5c02cbcf50681f4','0','2','0'),
('43801','20','get[1.3.6.1.2.1.25.1.1.0]','10456','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ba9b468dd2143a4a816c4bec1cee079','0','2','0'),
('43802','20','get[1.3.6.1.2.1.25.1.1.0]','10457','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af308a3e3ff14620a683f09d935887a7','0','2','0'),
('43803','20','get[1.3.6.1.2.1.25.1.1.0]','10458','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c86226f9db8e4eda9216c0e5f96bf826','0','2','0'),
('43804','20','get[1.3.6.1.2.1.25.1.1.0]','10459','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b849a56812d4ceda43c4c3c96c09911','0','2','0'),
('43805','20','get[1.3.6.1.2.1.25.1.1.0]','10460','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4d7b0ae4b874f41afc1d2bb18444f59','0','2','0'),
('43806','20','get[1.3.6.1.2.1.25.1.1.0]','10461','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb05d9fcd5f04045b38b2653aa3f054f','0','2','0'),
('43807','20','get[1.3.6.1.2.1.25.1.1.0]','10462','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2825ec79526468bae315bcf4271c3bf','0','2','0'),
('43808','20','get[1.3.6.1.2.1.25.1.1.0]','10463','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','730caedb1aba4e2bb914a9ac5e45bee0','0','2','0'),
('43809','20','get[1.3.6.1.2.1.25.1.1.0]','10464','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41c7402ad2354e5e8e5395b3e86d291c','0','2','0'),
('43810','20','get[1.3.6.1.2.1.25.1.1.0]','10465','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d226673194c84ee7968632b06060d905','0','2','0'),
('43811','20','get[1.3.6.1.2.1.25.1.1.0]','10466','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76f9415c139b4c78bb5e77e094ced5e4','0','2','0'),
('43812','20','get[1.3.6.1.2.1.25.1.1.0]','10467','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','43da9de2e9b949ea9844ac7e8991aa51','0','2','0'),
('43813','20','get[1.3.6.1.2.1.25.1.1.0]','10468','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e5f3a092d7f44f98f9f72ec7b65a412','0','2','0'),
('43814','20','get[1.3.6.1.2.1.25.1.1.0]','10469','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59bd59afea7c430ab9b87036d6f68d80','0','2','0'),
('43815','20','get[1.3.6.1.2.1.25.1.1.0]','10470','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c36c9dba589944d4bc4253019663831e','0','2','0'),
('43816','20','get[1.3.6.1.2.1.25.1.1.0]','10471','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a3c0d8062f9470faeb350b3f025dc93','0','2','0'),
('43817','20','get[1.3.6.1.2.1.25.1.1.0]','10472','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bccedf8a6d434ee19ef03ae4b15db6e6','0','2','0'),
('43818','20','get[1.3.6.1.2.1.25.1.1.0]','10473','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7052c7bbeffe4dbbbbc08f70c8d2679f','0','2','0'),
('43819','20','get[1.3.6.1.2.1.25.1.1.0]','10474','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','093f8cdde4514b3cb81233a59eec8277','0','2','0'),
('43820','20','get[1.3.6.1.2.1.25.1.1.0]','10475','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2521a17fcdb048c3ac5b3e425eb48ad6','0','2','0'),
('43821','20','get[1.3.6.1.2.1.25.1.1.0]','10476','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2fa99d8602342358690da734fc553a5','0','2','0'),
('43822','20','get[1.3.6.1.2.1.25.1.1.0]','10477','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b93e987a3e442e39e2f822a0c271678','0','2','0'),
('43823','20','get[1.3.6.1.2.1.25.1.1.0]','10478','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90e82de3b7b043269947a13acaf0eae3','0','2','0'),
('43824','20','get[1.3.6.1.2.1.25.1.1.0]','10479','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96f11f9c23434a68b82d075f85af3c31','0','2','0'),
('43825','20','get[1.3.6.1.2.1.25.1.1.0]','10480','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1634bc47137b4de9942b33ca99eb4541','0','2','0'),
('43826','20','get[1.3.6.1.2.1.25.1.1.0]','10481','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e589fb99827e4e8197f6ecb8872b4f10','0','2','0'),
('43827','20','get[1.3.6.1.2.1.25.1.1.0]','10482','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','218903c6b9c04999ab58583dfc22d42d','0','2','0'),
('43828','20','get[1.3.6.1.2.1.25.1.1.0]','10483','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','424081b2ac3f453f84c7c0cf0d6270e5','0','2','0'),
('43829','20','get[1.3.6.1.2.1.25.1.1.0]','10484','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31874dc23f0046f98c978300e74ced72','0','2','0'),
('43830','20','get[1.3.6.1.2.1.25.1.1.0]','10485','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d88eae8b609e42d68219e2b6d68422d1','0','2','0'),
('43831','20','get[1.3.6.1.2.1.25.1.1.0]','10486','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8f1e09b30a84047ac6a98bcc70b15a7','0','2','0'),
('43832','20','get[1.3.6.1.2.1.25.1.1.0]','10487','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96372468281d4b0e866a3aa4db1839be','0','2','0'),
('43833','20','get[1.3.6.1.2.1.25.1.1.0]','10488','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','68f23663d1da4e12b259bc6f2689de9b','0','2','0'),
('43834','20','get[1.3.6.1.2.1.25.1.1.0]','10489','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','806003915aa24c368a822a424f123d45','0','2','0'),
('43835','20','get[1.3.6.1.2.1.25.1.1.0]','10490','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cb64b20e3c84697b744db08b605c5b0','0','2','0'),
('43836','20','get[1.3.6.1.2.1.25.1.1.0]','10491','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','012230315f3548d9948d1ad7ddc8d005','0','2','0'),
('43837','20','get[1.3.6.1.2.1.25.1.1.0]','10492','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','074b83202e714d7d9bf63bf331f4f284','0','2','0'),
('43838','20','get[1.3.6.1.2.1.25.1.1.0]','10493','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','437fe5b12b2d478fb69c1047b6421d96','0','2','0'),
('43839','20','get[1.3.6.1.2.1.25.1.1.0]','10494','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5f8ed93998a4b5799d1f6b2e1984006','0','2','0'),
('43840','20','get[1.3.6.1.2.1.25.1.1.0]','10495','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2fb7a55ee1b4030b4f621e73a730749','0','2','0'),
('43841','20','get[1.3.6.1.2.1.25.1.1.0]','10496','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','971d14b46bad442499d7aea95c067dc7','0','2','0'),
('43842','20','get[1.3.6.1.2.1.25.1.1.0]','10497','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42eee310a68844deb422d5ff3a715efa','0','2','0'),
('43843','20','get[1.3.6.1.2.1.25.1.1.0]','10498','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','691b2eadbe314570841aafbe2ad2afb1','0','2','0'),
('43844','20','get[1.3.6.1.2.1.25.1.1.0]','10499','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32d6b1147607490287da049b08140f0b','0','2','0'),
('43845','20','get[1.3.6.1.2.1.25.1.1.0]','10500','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c30a010e7f134bc88fc47708d02a0a31','0','2','0'),
('43846','20','get[1.3.6.1.2.1.25.1.1.0]','10501','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0ff722acc544222bac0a51456515570','0','2','0'),
('43847','20','get[1.3.6.1.2.1.25.1.1.0]','10502','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','850f16c89c1a44c585852784dc32bb1b','0','2','0'),
('43848','20','get[1.3.6.1.2.1.25.1.1.0]','10233','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94f4af679dba4d3e9047ebcf8c1bc419','0','2','0'),
('43849','20','get[1.3.6.1.2.1.25.1.1.0]','10371','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','712a9b442bec4e89acf4ee5d5bf26fb8','0','2','0'),
('43850','20','get[1.3.6.1.2.1.25.1.1.0]','10372','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c9f864ac33b4c2d992459c6519d045a','0','2','0'),
('43851','20','get[1.3.6.1.2.1.25.1.1.0]','10373','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76a660b88bb74e90971bdaec703d3c17','0','2','0'),
('43852','20','get[1.3.6.1.2.1.25.1.1.0]','10374','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1e50f16fab54a8e97372b52cebae18d','0','2','0'),
('43853','20','get[1.3.6.1.2.1.25.1.1.0]','10375','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d61bd2d5717740518867bfbf734914c9','0','2','0'),
('43854','20','get[1.3.6.1.2.1.25.1.1.0]','10376','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e2aebe0ce2044588636be62cde6b6a3','0','2','0'),
('43855','20','get[1.3.6.1.2.1.25.1.1.0]','10377','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6903297e21e14aa8b5eed4eb0f7e1e01','0','2','0'),
('43856','20','get[1.3.6.1.2.1.25.1.1.0]','10234','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0e66c64c0b2449a9c5ffbbdaf176963','0','2','0'),
('43857','20','get[1.3.6.1.2.1.25.1.1.0]','10235','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94671639676f476f8b7c37a884d32ed0','0','2','0'),
('43858','20','get[1.3.6.1.2.1.25.1.1.0]','10236','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','964e73aa4e534b50bd1d93e137ca41f1','0','2','0'),
('43859','20','get[1.3.6.1.2.1.25.1.1.0]','10237','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d47c914219e4da0a7d67631d8171244','0','2','0'),
('43860','20','get[1.3.6.1.2.1.25.1.1.0]','10420','Uptime (hardware)','zyxel.aam1212.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5197238bef51468c80e6a4180babee5b','0','2','0'),
('43861','20','get[1.3.6.1.2.1.25.1.1.0]','10421','Uptime (hardware)','zyxel.3500_8pd.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef45d91672ea43c3aa24cbc21f37d391','0','2','0'),
('43862','20','get[1.3.6.1.2.1.25.1.1.0]','10422','Uptime (hardware)','zyxel.4012f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f979fc1f31c4766949cfc343d3c231a','0','2','0'),
('43863','20','get[1.3.6.1.2.1.25.1.1.0]','10423','Uptime (hardware)','zyxel.ies500x.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5fa56229a8854d62bb6c516da873d63b','0','2','0'),
('43864','20','get[1.3.6.1.2.1.25.1.1.0]','10424','Uptime (hardware)','zyxel.ies6000.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','006a65489cfc4231acad12cdb501a55c','0','2','0'),
('43865','20','get[1.3.6.1.2.1.25.1.1.0]','10425','Uptime (hardware)','zyxel.ies1248.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b55d1aaee3b441bab6edaaf738065e4','0','2','0'),
('43866','20','get[1.3.6.1.2.1.25.1.1.0]','10426','Uptime (hardware)','zyxel.3528.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9293989c2bd14bc4a12cdd40a9c7f229','0','2','0'),
('43867','20','get[1.3.6.1.2.1.25.1.1.0]','10427','Uptime (hardware)','zyxel.3500_10.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0d33209ea1249e588f2e81807ae6403','0','2','0'),
('43868','20','get[1.3.6.1.2.1.25.1.1.0]','10428','Uptime (hardware)','zyxel.3500_24.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb480642cad3440a8637d871add07b8f','0','2','0'),
('43869','20','get[1.3.6.1.2.1.25.1.1.0]','10429','Uptime (hardware)','zyxel.3712.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','801ba0a2d20f440d822eb042146b8d16','0','2','0'),
('43870','20','get[1.3.6.1.2.1.25.1.1.0]','10430','Uptime (hardware)','zyxel.3712f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29bc66a7a2c949549fc2e4c6fa841ab0','0','2','0'),
('43871','20','get[1.3.6.1.2.1.25.1.1.0]','10431','Uptime (hardware)','zyxel.3500_24s.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','feff31efc5b04b14bf19ec256a6660fb','0','2','0'),
('43872','20','get[1.3.6.1.2.1.25.1.1.0]','10432','Uptime (hardware)','zyxel.3520_28.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f050b29d1eb43e4a150383c9edd2467','0','2','0'),
('43873','20','get[1.3.6.1.2.1.25.1.1.0]','10433','Uptime (hardware)','zyxel.4728f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17bdc70663744ede94d7b94602eb881c','0','2','0'),
('43874','20','get[1.3.6.1.2.1.25.1.1.0]','10248','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1a9af129dbb4fed8e67efcca383aeae','0','2','0'),
('43875','20','get[1.3.6.1.2.1.25.1.1.0]','10249','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','422d9e4a985347959d5ef07278a6a12c','0','2','0'),
('43876','20','get[1.3.6.1.2.1.25.1.1.0]','10400','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b73fb48b4da84a53b7a4b7e81d6037aa','0','2','0'),
('43877','20','get[1.3.6.1.2.1.25.1.1.0]','10401','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4dbad4f0de7f47fd996fd4b8de048d46','0','2','0'),
('43878','20','get[1.3.6.1.2.1.25.1.1.0]','10402','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed6ad4e7036548c09b9a61d875aca9e1','0','2','0'),
('43879','20','get[1.3.6.1.2.1.25.1.1.0]','10403','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','60bef30ff568425eb5e4c5e6dc861e79','0','2','0'),
('43880','20','get[1.3.6.1.2.1.25.1.1.0]','10404','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4def354a520e42d78d67b2e8b1cd8eb4','0','2','0'),
('43881','20','get[1.3.6.1.2.1.25.1.1.0]','10412','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d1f4a038ee447639a07f3549ad68840','0','2','0'),
('43882','20','get[1.3.6.1.2.1.25.1.1.0]','10406','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e8b6d6a5aa24159b048d1cf28e9418a','0','2','0'),
('43883','20','get[1.3.6.1.2.1.25.1.1.0]','10395','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3d5eea37f934efdac4885bcadc73b9b','0','2','0'),
('43884','20','get[1.3.6.1.2.1.25.1.1.0]','10407','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5a92d45430b4bd6bdef42870141d141','0','2','0'),
('43885','20','get[1.3.6.1.2.1.25.1.1.0]','10408','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3021bc8a0324d4d9683f676131bf136','0','2','0'),
('43886','20','get[1.3.6.1.2.1.25.1.1.0]','10409','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7522be948bd4f97a47d59cf1e281c56','0','2','0'),
('43887','20','get[1.3.6.1.2.1.25.1.1.0]','10385','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f54aca2b926e4d4d980f980acb0aefac','0','2','0'),
('43888','20','get[1.3.6.1.2.1.25.1.1.0]','10378','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76483f37faf8485b922640a6ef8bb672','0','2','0'),
('43889','20','get[1.3.6.1.2.1.25.1.1.0]','10434','Uptime (hardware)','cisco.ucs.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized.
Note that this is different from sysUpTime in the SNMPv2-MIB
[RFC1907] because sysUpTime is the uptime of the
network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5af56ed99d09489aafc2d08d4bd4903a','0','2','0'),
('43890','20','get[1.3.6.1.2.1.25.1.1.0]','10304','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a6d61b21f9f044a6912759e02787cb3f','0','2','0'),
('43896','20','get[1.3.6.1.2.1.25.1.1.0]','10443','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22f0b65d03d44ae0be7133eb19ecc920','0','2','0'),
('43897','20','get[1.3.6.1.2.1.25.1.1.0]','10444','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5cd1e01b10f3482e9ec5907bd2e55c26','0','2','0'),
('43898','20','get[1.3.6.1.2.1.25.1.1.0]','10445','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8026a919077f4373adf774a18beb95eb','0','2','0'),
('43899','20','get[1.3.6.1.2.1.25.1.1.0]','10446','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','437a251079a44869ba9b11b2184d85e7','0','2','0'),
('43900','20','get[1.3.6.1.2.1.25.1.1.0]','10256','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02e21fa19e814d529ae24f89e3bbf947','0','2','0'),
('43901','21','','10534','Get data','hpe.synergy.get.data','1m','0','0','0','4','','','','',NULL,NULL,E'var Synergy = {
params: {},
session_id: null,
api_version: null,
setParams: function (params) {
[''username'', ''password'', ''base_url''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Synergy.params = params;
if (typeof Synergy.params.base_url === ''string'' && !Synergy.params.base_url.endsWith(''/'')) {
Synergy.params.base_url += ''/'';
}
},
checkVersion: function () {
if (Synergy.api_version !== null) {
return;
}
var response, request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
response = request.post(Synergy.params.base_url + ''rest/version'');
if (request.getStatus() !== 200) {
throw ''Get version request failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
version_data = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse get version response received from device API.'';
}
}
else {
throw ''No data received by get version request.'';
}
if (''currentVersion'' in version_data && ''minimumVersion'' in version_data) {
if (version_data[''minimumVersion''] <= 1200 && version_data[''currentVersion''] >= 1200) {
Synergy.api_version = 1200;
} else {
throw ''API version is not supported.'';
}
} else {
throw ''Get version response does not contain version.'';
}
},
login: function () {
if (Synergy.session_id !== null || Synergy.api_version === null) {
return;
}
var response, request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-API-Version: '' + Synergy.api_version);
response = request.post(Synergy.params.base_url + ''rest/login-sessions'', JSON.stringify({
''userName'': Synergy.params.username,
''password'': Synergy.params.password
}));
if (request.getStatus() !== 200) {
throw ''Auth request failed with status code '' + request.getStatus() + '': '' + response;
}
if (response !== null) {
try {
auth_data = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse auth response received from device API.'';
}
}
else {
throw ''No data received by auth request.'';
}
if (''sessionID'' in auth_data) {
Synergy.session_id = auth_data[''sessionID''];
} else {
throw ''Auth response does not contain session ID.'';
}
},
logout: function () {
if (Synergy.session_id !== null && Synergy.api_version !== null) {
var response, request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-API-Version: '' + Synergy.api_version);
response = request.delete(Synergy.params.base_url + ''rest/login-sessions'');
}
},
requestData: function (method) {
if (Synergy.session_id === null || Synergy.api_version === null) {
return;
}
request = new HttpRequest();
request.addHeader(''Auth: '' + Synergy.session_id);
request.addHeader(''X-API-Version: '' + Synergy.api_version);
raw_data = request.get(Synergy.params.base_url + ''rest/'' + method);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + raw_data;
}
if (raw_data !== null) {
try {
return JSON.parse(raw_data);
}
catch (error) {
throw ''Failed to parse response received from device API.'';
}
}
else {
throw ''No data received by '' + method + '' request.'';
}
}
};
var methods = [''datacenters'', ''enclosures'', ''ethernet-networks'', ''fabrics'', ''fc-networks'', ''hypervisor-managers'', ''interconnects'', ''logical-enclosures'', ''racks'', ''server-hardware'', ''storage-pools'', ''storage-systems'', ''storage-volumes'', ''uplink-sets''],
data = {};
data[''errors''] = {};
try {
Synergy.setParams(JSON.parse(value));
try {
Synergy.checkVersion();
}
catch (error) {
data.errors.version = error.toString();
}
try {
Synergy.login();
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors) && !(''version'' in data.errors)) {
for (var i in methods) {
try {
if (methods[i] === ''enclosures'') {
var bays = [''applianceBays'', ''crossBars'', ''deviceBays'', ''fanBays'', ''partitions'', ''powerSupplyBays'', ''managerBays''];
enclosures = Synergy.requestData(methods[i]);
enclosures.members.forEach(function (enclosure) {
enclosure_name = enclosure.name;
for (var j in bays) {
bay = enclosure[bays[j]];
bay.forEach(function (b) {
b.enclosureName = enclosure_name;
enclosures.members[bays[j[b]]] = b;
});
}
});
data[methods[i]] = enclosures;
}
else {
data[methods[i]] = Synergy.requestData(methods[i]);
}
}
catch (error) {
data.errors[methods[i]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
try {
Synergy.logout();
}
catch (error) {
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with the result from requests to API.','0','30d','0','',NULL,'{$HPE.SYNERGY.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','2f9816e8a60149f4aafdf7ffb0632224','0','2','0'),
('43902','3','','10534','Service ping','net.tcp.service["{$HPE.SYNERGY.API.SCHEME}","{$HPE.SYNERGY.API.HOST}","{$HPE.SYNERGY.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1042','','','0','','','','','0',NULL,'Checks if the service is running and accepting the TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86da94cecaa1424e9a22479d556d7b12','0','2','0'),
('44050','20','get[1.3.6.1.2.1.25.1.1.0]','10258','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','81e5ed7d945d40f780eb9bd872ea1832','0','2','0'),
('44051','20','get[1.3.6.1.2.1.25.1.1.0]','10259','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b0320157a0144a0b2f1d7df7cbbe08a','0','2','0'),
('44055','5','','10047','Zabbix proxies stats','zabbix[proxy,discovery]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The master item of Zabbix proxies'' statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fb9d6a8d3f84c679e7af4b9ef437239','0','2','0'),
('44161','21','','10539','Get data','azure.db.mysql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''memory_percent'',
''network_bytes_egress'',
''network_bytes_ingress'',
''active_connections'',
''total_connections'',
''aborted_connections'',
''Queries'',
''io_consumption_percent'',
''storage_percent'',
''storage_used'',
''storage_limit'',
''backup_storage_used'',
''replication_lag'',
''cpu_credits_remaining'',
''cpu_credits_consumed''
],
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','de712334db1440309fa68f9252d4f9bc','0','2','0'),
('44162','21','','10540','Get data','azure.db.mysql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''memory_percent'',
''io_consumption_percent'',
''storage_percent'',
''storage_used'',
''storage_limit'',
''serverlog_storage_percent'',
''serverlog_storage_usage'',
''serverlog_storage_limit'',
''active_connections'',
''connections_failed'',
''seconds_behind_master'',
''backup_storage_used'',
''network_bytes_egress'',
''network_bytes_ingress''
],
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','cd62d92ef0384ea9acf0cae71c88ebc6','0','2','0'),
('44248','21','','10543','Get data','azure.db.pgsql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''memory_percent'',
''iops'',
''disk_queue_depth'',
''read_throughput'',
''write_throughput'',
''read_iops'',
''write_iops'',
''network_bytes_egress'',
''network_bytes_ingress'',
''active_connections'',
''connections_failed'',
''connections_succeeded'',
''storage_percent'',
''storage_used'',
''storage_free'',
''txlogs_storage_used'',
''backup_storage_used'',
''maximum_used_transactionIDs'',
''cpu_credits_remaining'',
''cpu_credits_consumed''
],
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 600000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
if (metrics_data.value[k].name.value === ''disk_queue_depth'' ||
metrics_data.value[k].name.value === ''read_throughput'' ||
metrics_data.value[k].name.value === ''write_throughput'' ||
metrics_data.value[k].name.value === ''read_iops'' ||
metrics_data.value[k].name.value === ''write_iops'') {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 6];
} else {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','1792c0566e8a438dad5e299d8f5b9094','0','2','0'),
('44249','21','','10544','Get data','azure.db.pgsql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''memory_percent'',
''io_consumption_percent'',
''storage_percent'',
''storage_used'',
''storage_limit'',
''serverlog_storage_percent'',
''serverlog_storage_usage'',
''serverlog_storage_limit'',
''active_connections'',
''connections_failed'',
''backup_storage_used'',
''network_bytes_egress'',
''network_bytes_ingress'',
''pg_replica_log_delay_in_seconds'',
''pg_replica_log_delay_in_bytes''
],
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','e47d863822e64e6292bfa3e684bc2839','0','2','0'),
('44294','21','','10546','Get data','meraki.get.data','1h','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value);
var r_match = ''{$MERAKI.ORGANIZATION.NAME.MATCHES}'';
var r_not_match = ''{$MERAKI.ORGANIZATION.NAME.NOT_MATCHES}'';
var request = new HttpRequest();
request.addHeader(''X-Cisco-Meraki-API-Key:'' + params.token);
request.addHeader(''User-Agent: ZabbixServer/1.1 Zabbix'');
var response,
error_msg = '''',
organizations = [],
devices = [];
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ Meraki API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
} catch (error) {
throw ''Failed to parse response received from Meraki API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.errors) {
throw response.errors.join('', '');
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
}
try {
if (params.token === ''{'' + ''$MERAKI.TOKEN}'') {
throw ''Please change {'' + ''$MERAKI.TOKEN} macro to the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.httpproxy !== ''undefined'' && params.httpproxy !== '''') {
request.setProxy(params.httpproxy);
}
organizations = getHttpData(params.url + ''organizations'');
organizations = organizations.filter(function (x) {
return new RegExp(r_match).test(x.name) & !new RegExp(r_not_match).test(x.name);
});
if (Array.isArray(organizations) && organizations.length > 0) {
for (i in organizations) {
if (''id'' in organizations[i] && ''name'' in organizations[i]) {
try {
organization_devices = getHttpData(params.url + ''organizations/'' + encodeURIComponent(organizations[i].id) + ''/devices/statuses'');
if (Array.isArray(organization_devices) && organization_devices.length > 0) {
for (j in organization_devices) {
organization_devices[j].organizationId = organizations[i].id;
organization_devices[j].organizationName = organizations[i].name;
if (!organization_devices[j].name) {
organization_devices[j].name = organization_devices[j].serial;
}
devices.push(organization_devices[j]);
}
}
} catch (error) {
error_msg += organizations[i].name + " organization''s devices retrieval error: " + error + ''\\n'';
}
} else {
error_msg += ''There is no ID or organization name in the API response.'';
}
}
}
} catch (error) {
error_msg += ''Organizations data retrieval error: '' + error;
}
return JSON.stringify({
organizations: organizations,
devices: devices,
error: error_msg.toString()
});','','0','','','','','0',NULL,'Item for gathering all the organizations and devices from Meraki API.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','d1a5f3c79a604bae98c314d2aed64ff4','0','2','0'),
('44295','21','','10547','Get device data','meraki.get.device','{$MERAKI.UPLINK.LL.TIMESPAN}','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader(''X-Cisco-Meraki-API-Key:'' + params.token);
request.addHeader(''User-Agent: ZabbixServer/1.1 Zabbix'');
var response,
error_msg = '''',
device = [],
uplinksLL = [];
function isFloat(n) {
n = parseFloat(n);
return Number(n) === n && n % 1 !== 0;
};
function checkNumber(string) {
if (typeof string !== "string" || isNaN(string) || isFloat(string)) {
throw ''Incorrect "timespan" parameter given: '' + string + '' Must be an unsigned number'';
}
return string;
};
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ Meraki API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Meraki API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.errors) {
throw response.errors.join('', '');
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
if (params.token === ''{'' + ''$MERAKI.TOKEN}'') {
throw ''Please change {'' + ''$MERAKI.TOKEN} macro to the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.httpproxy !== ''undefined'' && params.httpproxy !== '''') {
request.setProxy(params.httpproxy);
}
timespan = checkNumber(''{$MERAKI.UPLINK.LL.TIMESPAN}'');
if (timespan > 86400 || timespan < 1) {
throw ''Incorrect "timespan" parameter given: '' + timespan + '' Must be between 1 and 86400 seconds.'';
}
uplinksLL = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/devices/uplinksLossAndLatency?timespan='' + timespan);
if (uplinksLL.length > 0) {
uplinksLL = uplinksLL.filter(function (device) {
return device.serial == params.serial;
});
}
} catch (error) {
error_msg = error;
};
return JSON.stringify({
''uplinksLL'': uplinksLL,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'Item for gathering device data from Meraki API.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','e4963b68cdde453f91767ff9e3a31d16','0','2','0'),
('44296','19','','10548','Get list of adaptive policy aggregate statistics','meraki.get.adaptive.policy','20m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for adaptive policy aggregate statistics for the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/adaptivePolicy/overview','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','25f8f61ddf964f39b39cc38b23b017b9','0','2','0'),
('44297','19','','10548','Get list of configuration changes','meraki.get.configuration.changes','{$MERAKI.CONFIG.CHANGE.TIMESPAN}','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for viewing the change log for your organization. Gathering once per 20m by default.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/configurationChanges?timespan={$MERAKI.CONFIG.CHANGE.TIMESPAN}','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','f2a65bce3adf4511a3f37ed4caa66b3d','0','2','0'),
('44298','19','','10548','Get licenses overview','meraki.get.licenses','12h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Return overview of the license state for the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/licenses/overview','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','3306da0ec0d749829db2f5f42e4e7876','0','2','0'),
('44299','21','','10548','Get list of the networks','meraki.get.networks','3m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader(''X-Cisco-Meraki-API-Key:'' + params.token);
request.addHeader(''User-Agent: ZabbixServer/1.1 Zabbix'');
var response,
error_msg = '''',
networks = [],
uplinks = [];
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ Meraki API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Meraki API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.errors) {
throw response.errors.join('', '');
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
if (params.token === ''{'' + ''$MERAKI.TOKEN}'') {
throw ''Please change {'' + ''$MERAKI.TOKEN} macro to the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.httpproxy !== ''undefined'' && params.httpproxy !== '''') {
request.setProxy(params.httpproxy);
}
networks = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/networks'');
responseUplinks = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/appliance/uplink/statuses'');
if (typeof responseUplinks !== ''undefined'' && Array.isArray(responseUplinks)) {
for (var i in responseUplinks) {
if (''networkId'' in responseUplinks[i] && typeof networks !== ''undefined'' && Array.isArray(networks)) {
network = networks.filter(function (x) { return x.id == responseUplinks[i].networkId; });
}
if (typeof responseUplinks[i].uplinks !== ''undefined'' && Array.isArray(responseUplinks[i].uplinks)) {
for (var p in responseUplinks[i].uplinks) {
if (typeof network[0].name !== ''undefined'') {
responseUplinks[i].uplinks[p].networkName = network[0].name;
}
if (typeof network[0].timeZone !== ''undefined'') {
responseUplinks[i].uplinks[p].timeZone = network[0].timeZone;
}
if (''highAvailability'' in responseUplinks[i] && ''role'' in responseUplinks[i].highAvailability) {
responseUplinks[i].uplinks[p].role = responseUplinks[i].highAvailability.role;
}
if (''serial'' in responseUplinks[i]) {
responseUplinks[i].uplinks[p].serial = responseUplinks[i].serial;
}
uplinks.push(responseUplinks[i].uplinks[p]);
}
}
}
}
} catch (error) {
error_msg = error;
};
return JSON.stringify({
''uplinks'': uplinks,
''networks'': networks,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'Item for gathering all the networks of organization from Meraki API.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','efe8853443d44eed8daeecee5ab9e481','0','2','0'),
('44300','21','','10548','Get list of the VPN stats','meraki.get.vpn.stats','{$MERAKI.VPN.STATS.TIMESPAN}','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader(''X-Cisco-Meraki-API-Key:'' + params.token);
request.addHeader(''User-Agent: ZabbixServer/1.1 Zabbix'');
var response,
error_msg = '''',
vpnStats = [],
vpnStatuses = [],
result = [];
function isFloat(n) {
n = parseFloat(n);
return Number(n) === n && n % 1 !== 0;
};
function checkNumber(string) {
if (typeof string !== "string" || isNaN(string) || isFloat(string)) {
throw ''Incorrect "timespan" parameter given: '' + string + '' Must be an unsigned number'';
}
return string;
};
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ Meraki API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Meraki API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.errors) {
throw response.errors.join('', '');
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
if (params.token === ''{'' + ''$MERAKI.TOKEN}'') {
throw ''Please change {'' + ''$MERAKI.TOKEN} macro to the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.httpproxy !== ''undefined'' && params.httpproxy !== '''') {
request.setProxy(params.httpproxy);
}
timespan = checkNumber(''{$MERAKI.VPN.STATS.TIMESPAN}'');
if (timespan > 86400 || timespan < 1) {
throw ''Incorrect "timespan" parameter given: '' + timespan + '' Must be between 1 and 86400 seconds.'';
}
vpnStats = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/appliance/vpn/stats?timespan='' + timespan);
for (i in vpnStats) {
if (typeof vpnStats[i].merakiVpnPeers !== ''undefined'' && Array.isArray(vpnStats[i].merakiVpnPeers)) {
for (u in vpnStats[i].merakiVpnPeers) {
if (typeof vpnStats[i].merakiVpnPeers[u].latencySummaries !== ''undefined'' && Array.isArray(vpnStats[i].merakiVpnPeers[u].latencySummaries)) {
vpn_stats = vpnStats[i].merakiVpnPeers[u].latencySummaries.map(function (x) {
lps = vpnStats[i].merakiVpnPeers[u].lossPercentageSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });
js = vpnStats[i].merakiVpnPeers[u].jitterSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });
ms = vpnStats[i].merakiVpnPeers[u].mosSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });
Object.assign(x, lps[0], js[0], ms[0]);
if (''networkId'' in vpnStats[i]) {
x.networkId = vpnStats[i].networkId;
}
if (''networkName'' in vpnStats[i]) {
x.networkName = vpnStats[i].networkName;
}
if (''networkId'' in vpnStats[i].merakiVpnPeers[u]) {
x.peerNetworkId = vpnStats[i].merakiVpnPeers[u].networkId;
}
if (''networkName'' in vpnStats[i].merakiVpnPeers[u]) {
x.peerNetworkName = vpnStats[i].merakiVpnPeers[u].networkName;
}
return x;
});
result = result.concat(vpn_stats);
}
}
}
}
vpnStatuses = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/appliance/vpn/statuses'');
} catch (error) {
error_msg = error;
};
return JSON.stringify({
''vpnStats'': result,
''vpnStatuses'': vpnStatuses,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'Item for gathering all the VPN stats of the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','bb653e6dba3f489494a7143b74fe8f4f','0','2','0'),
('44335','0','','10264','Get processes summary','proc.get[{$APACHE.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99b1a38ed45b4212974b0bea72b076d2','0','2','0'),
('44343','0','','10266','Get processes summary','proc.get[{$NGINX.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d43b4b99b6084076a4feb1fde51ecc40','0','2','0'),
('44351','0','','10330','Get processes summary','proc.get[{$PHP_FPM.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71ea0957d99a4d48b18e73a21494c849','0','2','0'),
('44359','0','','10301','Get processes summary','proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8201cc537b124d9292fcf692922ee0ad','0','2','0'),
('44381','3','','10551','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1066','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8eff7e6fc12c45f6b98a4fb89c44f03d','0','2','0'),
('44382','3','','10551','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb04f67d7ea04894a9f143a7d27db09a','0','2','0'),
('44383','3','','10551','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be862a0f8625484ebccb8a4e5255b683','0','2','0'),
('44384','17','','10551','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all the SNMP traps unmatched by the other snmptrap items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','027bb218006e46238392afbb12d96ec6','0','2','0'),
('44385','20','get[1.3.6.1.2.1.1.4.0]','10551','System contact details','system.contact','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.
The textual identification of the contact person for the managed node (or: this node), together with the contact information of this person. If no contact information is known, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','566c78f548bc4d1c9157b4a3f41f083b','0','2','0'),
('44386','20','get[1.3.6.1.2.1.1.1.0]','10551','System description','system.descr','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.
The textual description of the entity. This value should include the full name and version identification number of the system''s hardware type, software operating-system, and the networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc245084de0047aaa7bc62234970e827','0','2','0'),
('44387','20','get[1.3.6.1.2.1.47.1.1.1.1.13.149]','10551','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','34022f907faa4a3e8a02c5e5f5c8c43a','0','2','0'),
('44388','20','get[1.3.6.1.2.1.47.1.1.1.1.11.149]','10551','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d42a842c591489bb984faad26cd7e63','0','2','0'),
('44389','20','get[1.3.6.1.2.1.1.6.0]','10551','System location','system.location','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.
The physical location of this node (e.g., telephone closet, the third floor).
If the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f109dce62c942f794fecaf7038d691e','0','2','0'),
('44390','20','get[1.3.6.1.2.1.1.5.0]','10551','System name','system.name','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.
The administratively-assigned name for this node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31ff1ef55d69461bbc5b4416c7a040be','0','2','0'),
('44391','20','get[1.3.6.1.2.1.1.2.0]','10551','System object ID','system.objectid','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprise''s subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining "what kind of box" is being managed.
For example, if the vendor "Flintstones, Inc." was assigned the subtree 1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its "Fred Router".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a60cce9cf0464d6292d6b7934e9cfcd6','0','2','0'),
('44392','20','get[1.3.6.1.4.1.9.9.25.1.1.1.2.5]','10551','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CISCO-IMAGE-MIB','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e02a0a8de70547e4895b395b616919dd','0','2','0'),
('44393','20','get[1.3.6.1.6.3.10.2.1.3.0]','10551','Uptime (snmp)','system.uptime','1m','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMP-FRAMEWORK-MIB::snmpEngineTime.
The number of seconds since the value of the `snmpEngineBoots` object has had a last change.
When incrementing this object''s value would cause it to exceed its maximum, the `snmpEngineBoots` is incremented as if a re-initialization had occurred,
and this object''s value consequently reverts to zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83405503b84d4af292e6846ccbd8a877','0','2','0'),
('44394','5','','10551','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1067','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edb1d93d5fda47928dcb62223ada8b16','0','2','0'),
('44427','0','','10076','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','95e14453e9ee4b6ea036fab09bf2b194','0','2','0'),
('44430','0','','10075','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9695b40b38f74bb3bb5d127af1ba13ce','0','2','0'),
('44433','0','','10077','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05adecd1fb3e4c85b826dfdd601fa444','0','2','0'),
('44436','0','','10001','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','868440292732425c8f9df52882822c82','0','2','0'),
('44442','7','','10343','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c1de983421846c9acef8f465ff2f196','0','2','0'),
('44445','0','','10079','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf99f88e47a64ecab98de4f3cfe6592f','0','2','0'),
('44447','0','','10074','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5de01cf628b48cb899a8ad2a02a3b62','0','2','0'),
('44450','0','','10078','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','897f991e6f8f433bbd52a958f4f54c08','0','2','0'),
('44453','0','','10081','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f59d6794a6b94e93aced78a688507677','0','2','0'),
('44455','7','','10351','Get filesystems','vfs.fs.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','60a17a94a9ad4e4192547d0a6a1e1d25','0','2','0'),
('44457','19','','10552','Get Control-M servers','controlm.servers','10m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of servers.','0','30d','0','',NULL,'','{$API.URI.ENDPOINT}/config/servers','','','200','1','0','','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','7d9ed576aeb045798b78414c89f3e597','0','2','0'),
('44458','19','','10552','Get SLA services','controlm.services','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets all the SLA active services.','0','30d','0','',NULL,'','{$API.URI.ENDPOINT}/run/services/sla','','','200','1','0','','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','2bd2c27b8dc74656a00f6d2006399388','0','2','0'),
('44459','19','','10553','Get agents','controlm.agents','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets agents for the server.','0','30d','0','',NULL,'','{$API.URI.ENDPOINT}/config/server/{$SERVER.NAME}/agents','','','200','1','0','','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','94e45567531543119d6e36b4463684c7','0','2','0'),
('44460','19','','10553','Get jobs','controlm.jobs','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the status of jobs.','0','30d','0','',NULL,'','{$API.URI.ENDPOINT}/run/jobs/status','[{"ctm":"{$SERVER.NAME}"}]','','200','1','0','','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','1f60be3e3fe543d697047ffcad7b0a7f','0','2','0'),
('44461','19','','10553','Get Control-M server stats','controlm.server.stats','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the statistics of the server.','0','30d','0','',NULL,'','{$API.URI.ENDPOINT}/config/servers','','','200','1','0','','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','67ca527f452b43aab2e3171e49f96194','0','2','0'),
('44494','21','','10555','Get metrics','veeam.get.metrics','5m','0','0','0','4','','','','',NULL,NULL,E'var Veeam = {
params: {},
token: '''',
setParams: function (params) {
[''api_endpoint'', ''user'', ''password'', ''created_after''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Veeam.params = params;
if (typeof Veeam.params.api_endpoint === ''string'' && !Veeam.params.api_endpoint.endsWith(''/'')) {
Veeam.params.api_endpoint += ''/'';
}
if (Veeam.params.created_after >= 365 || Veeam.params.created_after <= 1) {
throw ''Incorrect "created_after" parameter given: '' + Veeam.params.created_after + ''\\nMust be between 1 and 365 days.'';
}
},
login: function () {
var resp, login = new HttpRequest();
if (typeof Veeam.params.http_proxy !== ''undefined'' && Veeam.params.http_proxy !== '''') {
login.setProxy(Veeam.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
login.addHeader(''x-api-version: 1.0-rev2'');
resp = login.post(Veeam.params.api_endpoint + ''api/oauth2/token'',
''grant_type=password&username='' + encodeURIComponent(Veeam.params.user) + ''&password='' + encodeURIComponent(Veeam.params.password));
if (login.getStatus() !== 200 || resp === null) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + resp;
}
try {
resp = JSON.parse(resp);
}
catch (error) {
throw ''Failed to parse authentication token for the logon session.'';
}
if (!resp.hasOwnProperty(''access_token'')) {
throw ''Auth response does not contain access token.'';
}
Veeam.token = resp[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Veeam.params.http_proxy !== ''undefined'' && Veeam.params.http_proxy !== '''') {
request.setProxy(Veeam.params.http_proxy);
}
if (Veeam.token) {
request.addHeader(''Authorization: Bearer '' + Veeam.token);
request.addHeader(''x-api-version: 1.0-rev2'');
response = request.get(url);
}
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getMetricsData: function () {
var data = {};
ms = 86400000;
start_date = new Date((new Date().getTime()) - ms * Veeam.params.created_after).toISOString().replace(/\\.\\d+/, '''');
endpoints = {
''proxies'': ''api/v1/backupInfrastructure/proxies'',
''managedServers'': ''api/v1/backupInfrastructure/managedServers'',
''repositories_states'': ''api/v1/backupInfrastructure/repositories/states'',
''jobs_states'': ''api/v1/jobs/states'',
''sessions'': ''api/v1/sessions?createdAfterFilter='' + encodeURIComponent(start_date)
};
Object.keys(endpoints).forEach(function (key) {
data[key] = Veeam.request(Veeam.params.api_endpoint + endpoints[key]);
});
return data;
}
};
try {
Veeam.setParams(JSON.parse(value));
Veeam.login();
return JSON.stringify(Veeam.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ VEEAM ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$VEEAM.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','f8ef587e6d204e7da6e27e56b1131ca4','0','2','0'),
('44516','21','','10556','Get metrics','veeam.manager.get.metrics','5m','0','0','0','4','','','','',NULL,NULL,'var Veeam = {
params: {},
setParams: function (params) {
[''api_endpoint'', ''user'', ''password''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Veeam.params = params;
if (typeof Veeam.params.api_endpoint === ''string'' && !Veeam.params.api_endpoint.endsWith(''/'')) {
Veeam.params.api_endpoint += ''/'';
}
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Veeam.params.http_proxy !== ''undefined'' && Veeam.params.http_proxy !== '''') {
request.setProxy(Veeam.params.http_proxy);
}
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Basic '' + btoa(Veeam.params.user + '':'' + Veeam.params.password));
request.post(Veeam.params.api_endpoint + ''api/sessionMngr'');
response = request.get(url);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getMetricsData: function() {
var data = {};
endpoints = {
''backupFiles'': ''api/backupFiles'',
};
reports_summary = Veeam.request(Veeam.params.api_endpoint + ''api/reports/summary'')
if (typeof reports_summary !== ''object'' || reports_summary.hasOwnProperty(''Links'') === false)
throw ''Failed response parse. Check debug log for more information.'';
reports_summary.Links.forEach(function (field) {
data[field.Name] = Veeam.request(field.Href)
})
Object.keys(endpoints).forEach(function (key) {
data[key] = Veeam.request(Veeam.params.api_endpoint + endpoints[key]);
if (typeof data[key] !== ''object'' || data[key].hasOwnProperty(''Refs'') === false)
throw ''Failed response parse. Check debug log for more information.'';
data[key].Refs.forEach(function (field) {
data[field.Name] = Veeam.request(field.Href)
})
})
return data;
}
};
try {
Veeam.setParams(JSON.parse(value));
return JSON.stringify(Veeam.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ VEEAM MANAGER ] ERROR: '' + error);
return JSON.stringify({''error'': error});
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$VEEAM.MANAGER.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','525a61ff4fb747efab6ac58d1ac8b7c4','0','2','0'),
('44530','21','','10557','Get data','azure.db.mssql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''physical_data_read_percent'',
''log_write_percent'',
''storage'',
''connection_successful'',
''connection_failed'',
''blocked_by_firewall'',
''deadlock'',
''storage_percent'',
''xtp_storage_percent'',
''workers_percent'',
''sessions_percent'',
''sessions_count'',
''cpu_limit'',
''cpu_used'',
''sqlserver_process_core_percent'',
''sqlserver_process_memory_percent'',
''tempdb_data_size'',
''tempdb_log_size'',
''tempdb_log_used_percent'',
''allocated_data_storage''
],
day_metrics = ''full_backup_size_bytes,diff_backup_size_bytes,log_backup_size_bytes'',
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
start_date = new Date((new Date().getTime()) - 86400000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + day_metrics + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (l in metrics_data.value) {
if (''name'' in metrics_data.value[l] && typeof metrics_data.value[l].name === ''object'' && ''value'' in metrics_data.value[l].name && typeof metrics_data.value[l].name.value === ''string'' && ''timeseries'' in metrics_data.value[l] && Array.isArray(metrics_data.value[l].timeseries) && metrics_data.value[l].timeseries.length > 0 && ''data'' in metrics_data.value[l].timeseries[0] && Array.isArray(metrics_data.value[l].timeseries[0].data) && metrics_data.value[l].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[l].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[l].timeseries[0].data[metrics_data.value[l].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[day_metrics] = error.toString();
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','741cc1ec6a824e429f06b3d12a8a7082','0','2','0'),
('44531','21','','10558','Get data','azure.db.mssql.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof AzureDB.params.proxy !== ''undefined'' && AzureDB.params.proxy !== '''') {
request.setProxy(AzureDB.params.proxy);
}
if (AzureDB.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureDB.token);
}
Zabbix.log(4, ''[ Azure ] Sending request: '' + url);
if (data !== '''') {
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = request.post(url, data);
}
else {
response = request.get(url);
}
Zabbix.log(4, ''[ Azure ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
}
};
var metrics = [
''cpu_percent'',
''physical_data_read_percent'',
''log_write_percent'',
''storage'',
''connection_successful'',
''connection_failed'',
''blocked_by_firewall'',
''deadlock'',
''storage_percent'',
''xtp_storage_percent'',
''workers_percent'',
''sessions_percent'',
''cpu_limit'',
''cpu_used'',
''sqlserver_process_core_percent'',
''sqlserver_process_memory_percent'',
''tempdb_data_size'',
''tempdb_log_size'',
''tempdb_log_used_percent'',
''app_cpu_billed'',
''app_cpu_percent'',
''app_memory_percent'',
''allocated_data_storage''
],
prepared_metrics = [],
data = {};
data[''errors''] = {};
data[''metrics''] = {};
try {
AzureDB.setParams(JSON.parse(value));
try {
result = AzureDB.request(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureDB.params.password)
);
if (''access_token'' in result) {
AzureDB.token = result[''access_token''];
} else {
throw ''Auth response does not contain access token.'';
}
}
catch (error) {
data.errors.auth = error.toString();
}
if (!(''auth'' in data.errors)) {
try {
health = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01'');
if (''value'' in health && Array.isArray(health.value) && health.value.length > 0 && ''properties'' in health.value[0] && typeof health.value[0].properties === ''object'') {
data.health = health.value[0].properties;
}
}
catch (error) {
data.errors.health = error.toString();
}
for (var i = 0; i < metrics.length; i += 20) {
var chunk = metrics.slice(i, i + 20);
prepared_metrics.push(
chunk.map(function (element) {
return encodeURIComponent(element);
}).join('','')
);
}
start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date().toISOString().replace(/\\.\\d+/, '''');
for (var j in prepared_metrics) {
try {
metrics_data = AzureDB.request(''https://management.azure.com'' + AzureDB.params.resource_id + ''/providers/Microsoft.Insights/metrics?metricnames='' + prepared_metrics[j] + ''×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date) + ''&api-version=2021-05-01'');
if (''value'' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {
for (k in metrics_data.value) {
if (''name'' in metrics_data.value[k] && typeof metrics_data.value[k].name === ''object'' && ''value'' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === ''string'' && ''timeseries'' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && ''data'' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {
data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, '''')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];
}
}
}
}
catch (error) {
data.errors[prepared_metrics[j]] = error.toString();
}
}
}
}
catch (error) {
data.errors.params = error.toString();
}
if (Object.keys(data.errors).length !== 0) {
errors = ''Failed to receive data:'';
for (var error in data.errors) {
errors += ''\\n'' + error + '' : '' + data.errors[error];
}
data.errors = errors;
}
else {
data.errors = '''';
}
return JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','e1c668773b974deeaf64c0d51d1cb02d','0','2','0'),
('44634','0','','10081','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c86dd0a8dbba468696cc09a9f9575769','0','2','0'),
('44635','7','','10351','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5159e7263d7a42e499380b70e9d6490a','0','2','0'),
('44642','0','','10560','Get process summary','proc.get[,,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The summary of data metrics for all processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','803390429cf949d3b8439dd5dd71c706','0','2','0'),
('44653','0','','10561','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f46c6142cf434df1b6abe9334bf6c84c','0','2','0'),
('44654','0','','10561','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'1077','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37a952edc12f47d6ac6f3ca04eb41326','0','2','0'),
('44655','0','','10561','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a6af03a083b4366bd1d4c6ccf06ca88','0','2','0'),
('44656','5','','10561','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'1076','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','49708b126e3844b898d2625f77c0030c','0','2','0'),
('44657','7','','10562','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca27c17d8ca34643a7db8b99d2cc3025','0','2','0'),
('44658','7','','10562','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'1079','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f86ec6cde2249f7946c678f9fd2665a','0','2','0'),
('44659','7','','10562','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41fb0f76fa1d464f8ab67f744fc29e8b','0','2','0'),
('44660','5','','10562','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'1078','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - unknown
1 - available
2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0fd83c56dce244738607cd6585a6acb3','0','2','0'),
('44661','3','','10563','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1080','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0db3c804c6174c018071e15cbc8c56ae','0','2','0'),
('44662','3','','10563','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d306c51188e496ba19b75b99e28cc7b','0','2','0'),
('44663','3','','10563','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ad39c8c6ede46e6953aa6f9466eaf69','0','2','0'),
('44664','17','','10563','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2cda26906f254e13985cecdbb7901d1a','0','2','0'),
('44665','20','get[1.3.6.1.2.1.1.4.0]','10563','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62da59c7aae54df7976f327119fe7cc2','0','2','0'),
('44666','20','get[1.3.6.1.2.1.1.1.0]','10563','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29a3e5277de94386a5985fcf38a09364','0','2','0'),
('44667','20','get[1.3.6.1.2.1.25.1.1.0]','10563','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b12afb0277494024b1638ce620c4f2d4','0','2','0'),
('44668','20','get[1.3.6.1.2.1.1.6.0]','10563','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02b453f44c014f2bb1054e801058b381','0','2','0'),
('44669','20','get[1.3.6.1.2.1.1.5.0]','10563','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3996a3a8d927473aa07c47e63a09b865','0','2','0'),
('44670','20','get[1.3.6.1.2.1.1.3.0]','10563','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','000b97abddcd44bfb57e0eeb1b77f69e','0','2','0'),
('44671','20','get[1.3.6.1.2.1.1.2.0]','10563','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9dbcc5a1cd7240c896e2ea718f9ccb35','0','2','0'),
('44672','5','','10563','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1081','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e8c2d440441416b9ccec7dd90e21503','0','2','0'),
('44673','3','','10564','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1082','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db5a94f6cea14deba957202b2f014469','0','2','0'),
('44674','3','','10564','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04b21adaf422473a88df2c52786474ed','0','2','0'),
('44675','3','','10564','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a79e33e5fd264725b934f603fa071555','0','2','0'),
('44785','5','','10047','Connector queue','zabbix[connector_queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The count of values enqueued in the connector queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a185ce77d4e4dd49be5b9ded51c1460','0','2','0'),
('44786','5','','10047','Utilization of connector manager internal processes, in %','zabbix[process,connector manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the connector manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fcfd911ae8647149bad91c883abf41d','0','2','0'),
('44787','5','','10047','Utilization of connector worker internal processes, in %','zabbix[process,connector worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the connector worker processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c8c3b3045384a39af8baa9e40f2b487','0','2','0'),
('44795','21','','10531','Get storage accounts','azure.get.storage.acc','10m','0','0','0','4','','','','',NULL,NULL,'var Azure = {
params: {},
token: '''',
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Azure.params = params;
},
login: function () {
var response, login = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
login.setProxy(Azure.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(Azure.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(Azure.params.app_id) + ''&client_secret='' + encodeURIComponent(Azure.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
if (!response.hasOwnProperty(''access_token'')) {
throw null;
}
}
catch (error) {
throw ''Authentication response does not contain access token.'';
}
Azure.token = response[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
request.setProxy(Azure.params.proxy);
}
if (!Azure.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + Azure.token);
response = request.get(url);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getMetricsData: function () {
var metric = Azure.request(''https://management.azure.com/subscriptions/'' + encodeURIComponent(Azure.params.subscription_id) + ''/providers/Microsoft.Storage/storageAccounts?api-version=2021-05-01''),
data = [];
if (!metric.hasOwnProperty(''value'')) {
throw ''Failed getting required field. Check debug log for more information.'';
}
for (k in metric.value) {
id = Azure.getField(metric.value[k], ''id'');
json = {};
input = id.split(''/'');
for (var i = 1; i < input.length; i += 2) {
json[input[i]] = input[i + 1];
}
data.push({
''name'': Azure.getField(metric.value[k], ''name''),
''id'': id,
''resourceGroup'': Azure.getField(json, ''resourceGroups''),
''location'': Azure.getField(metric.value[k], ''location''),
''token'': Azure.token
});
}
return data;
}
};
try {
Azure.setParams(JSON.parse(value));
Azure.login();
return JSON.stringify(Azure.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Azure ] ERROR: '' + error);
return JSON.stringify({''error'': error});
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','91b2290d65b949ad9ea801763c35cf40','0','2','0'),
('44796','21','','10568','Get data','azure.cosmosdb.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var AzureCosmosDB = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureCosmosDB.params = params;
},
login: function () {
var response, login = new HttpRequest();
if (typeof AzureCosmosDB.params.proxy !== ''undefined'' && AzureCosmosDB.params.proxy !== '''') {
login.setProxy(AzureCosmosDB.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureCosmosDB.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureCosmosDB.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureCosmosDB.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
AzureCosmosDB.token = response[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof AzureCosmosDB.params.proxy !== ''undefined'' && AzureCosmosDB.params.proxy !== '''') {
request.setProxy(AzureCosmosDB.params.proxy);
}
if (!AzureCosmosDB.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureCosmosDB.token);
Zabbix.log(4, ''[ AzureCosmosDB ] request url: '' + url);
response = request.get(url);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getMetricsData: function () {
var data = {};
start_date = new Date((new Date().getTime()) - 600000).toISOString().replace(/\\.\\d+/, '''');
end_date = new Date(new Date().getTime()).toISOString().replace(/\\.\\d+/, '''');
endpoints = {
''availability'': ''/providers/Microsoft.Insights/metrics?metricnames=ServiceAvailability&api-version=2021-05-01&interval=PT1H×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date),
''requests'': ''/providers/Microsoft.Insights/metrics?metricnames=DataUsage,IndexUsage,DocumentQuota,AvailableStorage,DocumentCount,NormalizedRUConsumption,PhysicalPartitionThroughputInfo,PhysicalPartitionSizeInfo,AutoscaleMaxThroughput,ProvisionedThroughput,TotalRequests,TotalRequestUnits,MetadataRequests,MongoRequests,MongoRequestCharge,ServerSideLatency,ServerSideLatencyGateway,ServerSideLatencyDirect,ReplicationLatency&api-version=2021-05-01×pan='' + encodeURIComponent(start_date) + ''/'' + encodeURIComponent(end_date),
};
Object.keys(endpoints).forEach(function (field) {
data[field] = {};
try {
metrics = AzureCosmosDB.request(''https://management.azure.com'' + AzureCosmosDB.params.resource_id + endpoints[field]);
if (!metrics.hasOwnProperty(''value'')) {
throw ''Failed getting required field. Check debug log for more information.'';
}
for (k in metrics.value) {
key = AzureCosmosDB.getField(metrics.value[k], ''name.value'')
if (metrics.value[k].timeseries.length === 0) {
metrics.value[k].timeseries.push({ ''data'': [''nodata''] })
}
data[field][key] = AzureCosmosDB.getField(metrics.value[k], ''timeseries.0.data.0'');
}
}
catch (error) {
data.error = error.toString();
}
});
return data
}
};
try {
AzureCosmosDB.setParams(JSON.parse(value));
AzureCosmosDB.login();
return JSON.stringify(AzureCosmosDB.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AzureCosmosDB ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','647faea1597c4da6a3cd78694be8e77e','0','2','0'),
('44866','21','','10570','Authorization','gcp.authorization','{$GCP.AUTH.FREQUENCY}','0','0','0','4','','','','',NULL,NULL,E'var auth_url = ''https://oauth2.googleapis.com/token'',
issued = Math.floor(new Date().getTime() / 1000),
expires = issued + 3600,
endpoint = ''https://www.googleapis.com/auth/'',
scopes = [''cloud-platform.read-only'', ''monitoring'', ''compute.readonly'', ''sqlservice.admin''],
scope = scopes.map(function (path) { return endpoint + path; }).join('' '');
function base64url(source) {
encodedSource = btoa(source);
encodedSource = encodedSource.replace(/=+$/, '''');
encodedSource = encodedSource.replace(/\\+/g, ''-'');
encodedSource = encodedSource.replace(/\\//g, ''_'');
return encodedSource;
}
function fromHex(hex) {
var utf8array = [];
if (hex.length % 2)
throw ''Invalid length of a hex string!'';
for (var i = 0; i < hex.length; i += 2) {
utf8array.push(parseInt(hex.substr(i, 2), 16));
}
return new Uint8Array(utf8array);
}
function encodeJWT(headers, payload, secret) {
unsignedToken = base64url(JSON.stringify(headers)) + ''.'' + base64url(JSON.stringify(payload));
jwt = unsignedToken + ''.'' + base64url(fromHex(sign(''sha256'', secret, unsignedToken)));
return jwt;
}
function exchangeJwtForAccessToken(signed_jwt) {
var request = new HttpRequest(),
params = {
grant_type: ''urn:ietf:params:oauth:grant-type:jwt-bearer'',
assertion: signed_jwt
}
if (typeof script_params.proxy !== ''undefined'' && script_params.proxy !== '''') {
request.setProxy(script_params.proxy);
};
var response = request.post(auth_url, JSON.stringify(params));
Zabbix.log(4, ''[ GCP API ] [ '' + auth_url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
if (typeof response.access_token !== ''undefined'') {
return response.access_token;
}
else {
throw ''No access token in the JWT exchange request.'';
}
}
function checkParams(params) {
[''pkey_id'', ''private_key'', ''email''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
return params;
}
var script_params = checkParams(JSON.parse(value)),
headers = {
alg: ''RS256'',
kid: script_params.pkey_id,
typ: ''JWT''
},
payload = {
iss: script_params.email,
sub: script_params.email,
aud: auth_url,
iat: issued,
exp: expires,
scope: scope
};
try {
jwt = encodeJWT(headers, payload, script_params.private_key);
token = exchangeJwtForAccessToken(jwt);
return token;
}
catch (err) {
return JSON.stringify({ error: err });
}','','0','','','','','0',NULL,'Google Cloud Platform REST authorization with service account authentication parameters and temporary-generated RSA-based JWT-token usage.
The necessary scopes are pre-defined.
Returns a signed authorization token with 1 hour lifetime; it is required only once, and is used for all the dependent script items.
Check the template documentation for the details.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','5cc3faa82f404b38b513958f323f3d7d','0','2','0'),
('44867','19','','10571','Instance state','gcp.cloudsql.mssql.inst.state','1m','31d','365d','0','3','','','','',NULL,'1087','','','0','','','','','0',NULL,'GCP Cloud SQL MSSQL Current instance state.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/state | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','556c96cf1bf342f99c69dc47813f221e','0','2','0'),
('44868','21','','10571','Resources get','gcp.cloudsql.mssql.resources.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/sqlserver/transactions/'',
arr = [],
base_paths = [
''deadlock_count'',
''lock_wait_count'',
''lock_wait_time''
];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
j_filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''" + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
metrics = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
time_series = getField(raw, ''timeSeriesData'');
for (t in time_series) {
data = {
resource: getField(time_series[t], ''labelValues.3.stringValue''),
metrics: {}
};
for (i in metrics) {
re = /(^t_\\d+\\.value(_|\\.))/g;
data[''metrics''][getField(metrics[i], ''key'').replace(re, '''')] = getField(time_series[t], ''pointData.0.values.'' + i + ''.int64Value'');
}
arr.push(data);
}
return JSON.stringify(arr);','','0','','','','','0',NULL,'MSSQL resources data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','7ee117702e1f40faadd901faa9d333ff','0','2','0'),
('44869','21','','10571','Metrics get','gcp.cloudsql.mssql.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/'',
mssql_path = ''cloudsql.googleapis.com/database/sqlserver/'',
obj = {},
base_paths = [
''cpu/reserved_cores'',
''cpu/usage_time'',
''cpu/utilization'',
''disk/read_ops_count'',
''disk/write_ops_count'',
''memory/quota'',
''memory/total_usage'',
''memory/usage'',
''network/connections'',
''network/received_bytes_count'',
''network/sent_bytes_count | map ignore [destination]''
].map(function (path) { return base_path + path; }),
mssql_paths = [
''connections/connection_reset_count'',
''connections/login_attempt_count'',
''connections/logout_count'',
''connections/processes_blocked'',
''memory/buffer_cache_hit_ratio'',
''memory/checkpoint_page_count'',
''memory/lazy_write_count'',
''memory/memory_grants_pending'',
''memory/page_life_expectancy'',
''memory/free_list_stall_count'',
''transactions/batch_request_count'',
''transactions/forwarded_record_count'',
''transactions/full_scan_count'',
''transactions/page_split_count'',
''transactions/probe_scan_count'',
''transactions/sql_compilation_count'',
''transactions/sql_recompilation_count''
].map(function (path) { return mssql_path + path; }).concat(
[''disk/bytes_used'', ''disk/utilization'', ''disk/quota''].map(function (path) { return base_path + path; })),
value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function getFieldBool(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
return false;
}
data = data[step];
}
return true;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token'', ''audited''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
if (params.audited !== ''true'' && params.audited !== ''false'') {
throw ''Incorrect audit definition type. Valid definitions: true/false'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
function rawMap(raw, prefix) {
var keys = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
values = getField(raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value\\.)/g;
for (i in keys) {
var key = getField(keys[i], ''key'').replace(re, '''');
for (v in value_types) {
if (typeof values[i][value_types[v]] !== ''undefined'') {
if (prefix) {
obj[prefix + key] = values[i][value_types[v]];
}
else {
obj[key] = values[i][value_types[v]];
}
}
}
}
return obj;
}
function singleMetrics(tsd) {
var result = {};
for (t in tsd) {
for (v in value_types) {
if (getFieldBool(tsd[t], ''pointData.0.values.0.'' + [value_types[v]])) {
result[''mssql_'' + getField(tsd[t], ''labelValues.3.stringValue'').toLowerCase()] = tsd[t].pointData[0].values[0][value_types[v]];
break;
}
}
}
return result;
}
var params = checkParams(JSON.parse(value));
if (params.audited === ''true'') {
base_paths.push(mssql_path + ''audits_size'');
};
var filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
queries = [
{ name: ''base_'', data: { query: ''{'' + base_paths.join('';'') + ''}'' + j_filter } },
{ name: ''mssql_'', data: { query: ''{'' + mssql_paths.join('';'') + ''}'' + j_filter } }
];
for (q in queries) {
raw = getHttpData(url, params.token, queries[q].data);
obj = Object.assign(obj, rawMap(raw, queries[q].name));
}
obj.base_ram_pused = Math.floor(getField(obj, ''base_usage'') / getField(obj, ''base_quota'') * 100);
var single_queries = [
{ query: mssql_path + ''memory/page_operation_count'' + filter }
];
if (params.audited === ''true'') {
single_queries.push({ query: mssql_path + ''audits_upload_count'' + filter });
}
for (q in single_queries) {
raw = getHttpData(url, params.token, single_queries[q]);
Object.assign(obj, singleMetrics(getField(raw, ''timeSeriesData'')));
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'MSSQL metrics data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','6de08b07cecc47a88bde22de5d1b4e5a','0','2','0'),
('44870','21','','10571','Schedulers get','gcp.cloudsql.mssql.schedulers.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/sqlserver/schedulers/'',
arr = [],
base_paths = [''active_workers'', ''current_tasks'', ''current_workers'', ''pending_disk_io'', ''runnable_tasks'', ''work_queue''];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
j_filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''" + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
metrics = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
time_series = getField(raw, ''timeSeriesData'');
for (t in time_series) {
data = {
scheduler: getField(time_series[t], ''labelValues.3.stringValue''),
metrics: {}
};
for (i in metrics) {
re = /(^t_\\d+\\.value(_|\\.))/g;
data[''metrics''][getField(metrics[i], ''key'').replace(re, '''')] = getField(time_series[t], ''pointData.0.values.'' + i + ''.int64Value'');
}
arr.push(data);
}
return JSON.stringify(arr);','','0','','','','','0',NULL,'MSSQL schedulers data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','3c14882329b94b8e88ca5d85e21bb7c8','0','2','0'),
('44871','21','','10571','Databases get','gcp.cloudsql.mssql.db.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/sqlserver/transactions/'',
arr = [],
base_paths = [
''log_bytes_flushed_count'',
''transaction_count''
];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
j_filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''" + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
metrics = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
time_series = getField(raw, ''timeSeriesData'');
for (t in time_series) {
data = {
database: getField(time_series[t], ''labelValues.3.stringValue''),
metrics: {}
};
for (i in metrics) {
re = /(^t_\\d+\\.value(_|\\.))/g;
data[''metrics''][getField(metrics[i], ''key'').replace(re, '''')] = getField(time_series[t], ''pointData.0.values.'' + i + ''.int64Value'');
}
arr.push(data);
}
return JSON.stringify(arr);','','0','','','','','0',NULL,'MSSQL databases data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','ecdd1774ef744bcb93e8e4094e29772f','0','2','0'),
('44872','19','','10571','DB engine state','gcp.cloudsql.mssql.db.state','1m','31d','365d','0','3','','','','',NULL,'1086','','','0','','','','','0',NULL,'GCP Cloud SQL MSSQL DB Engine State.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/up | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','9806c645a10a4e1d8fbb39eb1d3ac993','0','2','0'),
('44873','21','','10572','Replica metrics get','gcp.cloudsql.mssql.repl.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/sqlserver/replication/'',
obj = {},
base_paths = [
''bytes_sent_to_replica_count | map ignore [replica_name]'',
''resent_message_count | map ignore [replica_name]'',
''log_apply_pending_queue'',
''log_bytes_received_count'',
''recovery_queue'',
''redone_bytes_count''
];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
base_raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
keys = getField(base_raw, ''timeSeriesDescriptor.pointDescriptors''),
values = getField(base_raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value\\.)/g;
for (i in keys) {
var value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
for (v in value_types) {
if (typeof values[i][value_types[v]] !== ''undefined'') {
obj[getField(keys[i], ''key'').replace(re, '''')] = values[i][value_types[v]];
}
}
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'MSSQL replica metrics data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','f0d4c711863f4ca9ad76b0099a66a86d','0','2','0'),
('44874','19','','10573','Instance state','gcp.cloudsql.mysql.inst.state','1m','31d','365d','0','3','','','','',NULL,'1089','','','0','','','','','0',NULL,'GCP Cloud SQL MySQL Current instance state.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/state | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','71559008ad444772b0b1212f715980ed','0','2','0'),
('44875','19','','10573','DB engine state','gcp.cloudsql.mysql.db.state','1m','31d','365d','0','3','','','','',NULL,'1088','','','0','','','','','0',NULL,'GCP Cloud SQL MySQL DB Engine State.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/up | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','948dac37023c4efcaf5f830ba5d4fafe','0','2','0'),
('44876','21','','10573','Metrics get','gcp.cloudsql.mysql.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/'',
mysql_path = ''cloudsql.googleapis.com/database/mysql/'',
obj = {},
base_paths = [
''cpu/reserved_cores'',
''cpu/usage_time'',
''cpu/utilization'',
''disk/read_ops_count'',
''disk/write_ops_count'',
''memory/quota'',
''memory/total_usage'',
''memory/usage'',
''network/connections'',
''network/received_bytes_count'',
''network/sent_bytes_count | map ignore [destination]''
].map(function (path) { return base_path + path; }),
mysql_paths = [
''innodb_buffer_pool_pages_dirty'',
''innodb_buffer_pool_pages_free'',
''innodb_buffer_pool_pages_total'',
''innodb_data_fsyncs'',
''innodb_os_log_fsyncs'',
''innodb_pages_read'',
''innodb_pages_written'',
''queries'',
''questions'',
''received_bytes_count'',
''sent_bytes_count'',
''open_tables'',
''open_table_definitions''
].map(function (path) { return mysql_path + path; }).concat(
[''disk/bytes_used'', ''disk/utilization'', ''disk/quota''].map(function (path) { return base_path + path; }));
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
function rawMap(raw, prefix) {
var keys = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
values = getField(raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value\\.)/g;
for (i in keys) {
var key = getField(keys[i], ''key'').replace(re, ''''),
value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
for (v in value_types) {
if (typeof values[i][value_types[v]] !== ''undefined'') {
if (prefix) {
obj[prefix + key] = values[i][value_types[v]];
}
else {
obj[key] = values[i][value_types[v]];
}
}
}
}
return obj;
}
var params = checkParams(JSON.parse(value)),
j_filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''" + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
queries = [
{ name: ''base_'', data: { query: ''{'' + base_paths.join('';'') + ''}'' + j_filter } },
{ name: ''mysql_'', data: { query: ''{'' + mysql_paths.join('';'') + ''}'' + j_filter } }
];
for (q in queries) {
raw = getHttpData(url, params.token, queries[q].data);
obj = Object.assign(obj, rawMap(raw, queries[q].name));
}
obj.base_ram_pused = Math.floor(getField(obj, ''base_usage'') / getField(obj, ''base_quota'') * 100);
return JSON.stringify(obj);','','0','','','','','0',NULL,'MySQL metrics in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','682484eaf1db4a239c69566a5cd492e2','0','2','0'),
('44877','21','','10574','Replica metrics get','gcp.cloudsql.mysql.repl.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/replication/'',
mysql_path = ''cloudsql.googleapis.com/database/mysql/replication/'',
raw_metrics,
obj = {},
base_paths = [''network_lag'', ''replica_lag''].map(function (path) { return base_path + path; }),
mysql_paths = [
''last_io_errno'',
''last_sql_errno'',
''slave_io_running'',
''slave_sql_running''].map(function (path) { return mysql_path + path; }).concat(
[''network_lag'', ''replica_lag''].map(function (path) { return base_path + path; }));
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
metric_raw = getHttpData(url, params.token, { query: ''{'' + mysql_paths.join('';'') + ''}'' + j_filter }),
metric_keys = getField(metric_raw, ''timeSeriesDescriptor.pointDescriptors''),
metric_values = getField(metric_raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value\\.)/g;
for (i in metric_keys) {
var value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
for (v in value_types) {
if (typeof metric_values[i][value_types[v]] !== ''undefined'') {
obj[getField(metric_keys[i], ''key'').replace(re, "")] = metric_values[i][value_types[v]];
}
}
}
var state_raw = getHttpData(url, params.token, { query: base_path + ''state'' + filter }),
state_keys = getField(state_raw, ''timeSeriesDescriptor.pointDescriptors''),
state_tsd = getField(state_raw, ''timeSeriesData'');
for (i in state_keys) {
var state_key = getField(state_keys[i], ''key'').replace(/value\\./g, '''');
obj[state_key] = ''undefined'';
for (t in state_tsd) {
if (getField(state_tsd[t], ''pointData.0.values.'' + i + ''.boolValue'') == true) {
obj[state_key] = getField(state_tsd[t], ''labelValues.3.stringValue'');
break;
}
}
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'MySQL replication metrics data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','470200d2cca348bb8a670a2be3a270e3','0','2','0'),
('44878','21','','10575','Metrics get','gcp.cloudsql.pgsql.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/'',
pgsql_path = ''cloudsql.googleapis.com/database/postgresql/'',
obj = {},
value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
function rawMap(raw, prefix) {
var keys = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
values = getField(raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value(_|\\.)|_sum$)/g;
for (i in keys) {
var key = getField(keys[i], ''key'').replace(re, '''');
for (v in value_types) {
if (typeof values[i][value_types[v]] !== ''undefined'') {
if (prefix) {
obj[prefix + key] = values[i][value_types[v]];
} else {
obj[key] = values[i][value_types[v]];
}
}
}
}
return obj;
}
function singleMetrics(tsd) {
result = {};
for (t in tsd) {
for (v in value_types) {
if (typeof tsd[t].pointData[0].values[0][value_types[v]] !== ''undefined'') {
result[''pgsql_'' + getField(tsd[t], ''labelValues.3.stringValue'').toLowerCase()] = tsd[t].pointData[0].values[0][value_types[v]];
}
}
}
return result;
}
var params = checkParams(JSON.parse(value)),
filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
base_paths = [
''cpu/reserved_cores'',
''cpu/usage_time'',
''cpu/utilization'',
''disk/read_ops_count'',
''disk/write_ops_count'',
''memory/quota'',
''memory/total_usage'',
''memory/usage'',
''network/received_bytes_count'',
''network/sent_bytes_count | map ignore [destination]''
].map(function (path) { return base_path + path; }),
pgsql_paths = [
''transaction_id_utilization '' + filter,
''temp_bytes_written_count'' + filter + '' | sum'',
''temp_files_written_count'' + filter + '' | sum'',
''num_backends'' + filter + '' | sum''
].map(function (path) { return pgsql_path + path; }).concat(
[''disk/bytes_used'', ''disk/utilization'', ''disk/quota''].map(function (path) { return base_path + path; })),
queries = [
{ name: ''base_'', data: { query: ''{'' + base_paths.join('';'') + ''}'' + j_filter } },
{ name: ''pgsql_'', data: { query: ''{'' + pgsql_paths.join('';'') + ''}'' + ''| within '' + params.time_window + ''| join'' } }
];
for (q in queries) {
raw = getHttpData(url, params.token, queries[q].data);
obj = Object.assign(obj, rawMap(raw, queries[q].name));
}
obj.base_ram_pused = Math.floor((getField(obj, ''base_usage'') / getField(obj, ''base_quota'')) * 100);
var single_paths = [''transaction_id_count'', ''vacuum/oldest_transaction_age''],
single_queries = single_paths.map(function (path) { return { query: pgsql_path + path + filter }; });
for (q in single_queries) {
raw = getHttpData(url, params.token, single_queries[q]);
Object.assign(obj, singleMetrics(getField(raw, ''timeSeriesData'')));
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'PostgreSQL metrics data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','9bf09a42ddd64f7eabf6bbc011eda689','0','2','0'),
('44879','19','','10575','DB engine state','gcp.cloudsql.pgsql.db.state','1m','31d','365d','0','3','','','','',NULL,'1092','','','0','','','','','0',NULL,'GCP Cloud SQL PostgreSQL DB Engine State.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/up | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','27ad9640bf734dd49548c19241cc4838','0','2','0'),
('44880','19','','10575','Instance state','gcp.cloudsql.pgsql.inst.state','1m','31d','365d','0','3','','','','',NULL,'1093','','','0','','','','','0',NULL,'GCP Cloud SQL PostgreSQL Current instance state.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://monitoring.googleapis.com/v3/projects/{$GCP.PROJECT.ID}/timeSeries:query','','{"query":"cloudsql.googleapis.com/database/state | within 5m | filter database_id = ''{$GCP.PROJECT.ID}:{HOST.NAME}''"}','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','1','0','0','0','0','0','88fd41960538460ebfd2ed9194677cd1','0','2','0'),
('44881','21','','10576','Replica metrics get','gcp.cloudsql.pgsql.repl.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''cloudsql.googleapis.com/database/replication/'',
pgsql_path = ''cloudsql.googleapis.com/database/postgresql/replication/'',
obj = {},
base_paths = [''network_lag'', ''replica_lag'', ''log_archive_failure_count'', ''log_archive_success_count''];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function checkParams(params) {
[''project_id'', ''time_window'', ''database_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
filter = '' | within '' + params.time_window + " | filter database_id = ''" + params.database_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
metric_raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
metric_keys = getField(metric_raw, ''timeSeriesDescriptor.pointDescriptors''),
metric_values = getField(metric_raw, ''timeSeriesData.0.pointData.0.values''),
re = /(^t_\\d+\\.value\\.)/g;
for (i in metric_keys) {
var value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''];
for (v in value_types) {
if (typeof metric_values[i][value_types[v]] !== ''undefined'') {
obj[getField(metric_keys[i], ''key'').replace(re, '''')] = metric_values[i][value_types[v]];
}
}
}
var state_raw = getHttpData(url, params.token, { query: base_path + ''state'' + filter }),
state_keys = getField(state_raw, ''timeSeriesDescriptor.pointDescriptors''),
state_tsd = getField(state_raw, ''timeSeriesData'');
for (i in state_keys) {
var state_key = getField(state_keys[i], ''key'').replace(/value\\./g, '''');
obj[state_key] = ''undefined'';
for (t in state_tsd) {
if (getField(state_tsd[t], ''pointData.0.values.'' + i + ''.boolValue'') == true) {
obj[state_key] = getField(state_tsd[t], ''labelValues.3.stringValue'');
break;
}
}
}
var lag_raw = getHttpData(url, params.token, { query: pgsql_path + ''replica_byte_lag'' + ''| within '' + params.time_window + " | filter replica_name = ''" + params.database_id + "''" }),
lag_tsd = getField(lag_raw, ''timeSeriesData'');
for (t in lag_tsd) {
obj[getField(lag_tsd[t], ''labelValues.3.stringValue'')] = getField(lag_tsd[t], ''pointData.0.values.0.int64Value'');
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'PostgreSQL replica metrics data in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','cb9c5aff913e4deeb29dfa1a20b5ff04','0','2','0'),
('44882','21','','10577','Metrics get','gcp.gce.metrics.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''compute.googleapis.com/'',
value_types = [''int64Value'', ''doubleValue'', ''stringValue'', ''boolValue''],
re = /(^t_\\d+\\.value\\.)/g,
obj = {},
base_paths = [
''instance/uptime_total'',
''firewall/dropped_packets_count'',
''firewall/dropped_bytes_count'',
''instance/cpu/guest_visible_vcpus'',
''instance/cpu/reserved_cores'',
''instance/cpu/usage_time'',
''instance/cpu/utilization'',
''mirroring/mirrored_bytes_count'',
''mirroring/mirrored_packets_count''
],
e2_paths = [
''instance/cpu/scheduler_wait_time'',
''instance/memory/balloon/ram_size'',
''instance/memory/balloon/ram_used'',
''instance/memory/balloon/swap_in_bytes_count'',
''instance/memory/balloon/swap_out_bytes_count'',
],
net_paths = [
''instance/network/received_packets_count'',
''instance/network/received_bytes_count'',
''instance/network/sent_bytes_count'',
''instance/network/sent_packets_count''
],
integrity_paths = [
''instance/integrity/late_boot_validation_status'',
''instance/integrity/early_boot_validation_status''
];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function getFieldBool(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
return false;
}
data = data[step];
}
return true;
}
function queryMap(array, path, filter) {
var query_params = ''{'' + array.map(function (element) { return path + element; }).join('';'') + ''}'';
return { query: query_params + filter }
}
function checkParams(params) {
[''project_id'', ''time_window'', ''instance_id'', ''token'', ''machine_type'', ''integrity''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''' || params[field].match(/^\\{\\$.*\\}$/)) {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
if (params.integrity !== ''true'' && params.integrity !== ''false'') {
throw ''Incorrect integrity state definition type. Valid definitions: true/false'';
}
return params;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
function nestedMap(raw) {
var ids = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
ltsd = getField(raw, ''timeSeriesData''),
result = {};
for (i in ids) {
var id = getField(ids[i], ''key'').replace(re, '''');
result[id] = {};
for (t in ltsd) {
for (v in value_types) {
if (getFieldBool(ltsd[t], ''pointData.0.values.'' + [i] + ''.'' + [value_types[v]])) {
[''stringValue'', ''boolValue''].forEach(function (type) {
if (getFieldBool(ltsd[t], ''labelValues.4.'' + [type])) {
result[id][ltsd[t].labelValues[4][type]] = ltsd[t].pointData[0].values[i][value_types[v]];
}
});
}
}
}
}
return result;
}
var params = checkParams(JSON.parse(value));
if (params.machine_type.match(/e2.*/)) {
base_paths = base_paths.concat(e2_paths);
}
var filter = '' | within '' + params.time_window + " | filter instance_id = ''" + params.instance_id + "''",
j_filter = filter + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
raw = getHttpData(url, params.token, queryMap(base_paths, base_path, j_filter)),
keys = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
values = getField(raw, ''timeSeriesData.0.pointData.0.values'');
for (i in keys) {
for (v in value_types) {
if (typeof values[i][value_types[v]] !== ''undefined'') {
obj[getField(keys[i], ''key'').replace(re, '''')] = values[i][value_types[v]];
}
}
}
if (params.machine_type.match(/e2.*/)) {
obj.ram_pused = Math.floor((getField(obj, ''ram_used'') / getField(obj, ''ram_size'')) * 100);
}
var mirr_raw = getHttpData(url, params.token, { query: base_path + ''mirroring/dropped_packets_count'' + filter }),
tsd = getField(mirr_raw, ''timeSeriesData'');
for (t in tsd) {
for (v in value_types) {
if (getFieldBool(tsd[t], ''pointData.0.values.0.'' + [value_types[v]])) {
obj[getField(tsd[t], ''labelValues.3.stringValue'')] = getField(tsd[t], ''pointData.0.values.0.'' + [value_types[v]]);
}
}
}
var net_metrics = getHttpData(url, params.token, queryMap(net_paths, base_path, j_filter));
Object.assign(obj, nestedMap(net_metrics));
if (params.integrity === ''true'') {
integrity_metrics = getHttpData(url, params.token, queryMap(integrity_paths, base_path, j_filter));
var keys = getField(integrity_metrics, ''timeSeriesDescriptor.pointDescriptors''),
tsd = getField(integrity_metrics, ''timeSeriesData'');
for (i in keys) {
var key = getField(keys[i], ''key'').replace(re, '''');
obj[key] = ''undefined'';
for (t in tsd) {
if (getField(tsd[t], ''pointData.0.values.'' + i + ''.int64Value'') == 1) {
obj[key] = getField(tsd[t], ''labelValues.4.stringValue'');
break;
}
}
}
}
return JSON.stringify(obj);','','0','','','','','0',NULL,'GCP Compute Engine metrics get in raw format.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','723fbff060ab41a39322bc0d6d8b1f84','0','2','0'),
('44883','21','','10577','Disks get','gcp.gce.disks.get','{$GCP.TIME.WINDOW}','0','0','0','4','','','','',NULL,NULL,E'var base_path = ''compute.googleapis.com/instance/disk/'',
base_paths = [''read_ops_count'', ''read_bytes_count'', ''write_bytes_count'', ''write_ops_count''];
function checkParams(params) {
[''project_id'', ''time_window'', ''instance_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (!params.time_window.match(/^[0-9]+(m|h)$/)) {
throw ''Incorrect update interval for parameter time_window. Valid ranges 1m-23h.'';
}
return params;
}
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field "'' + path + ''" is not present in data received.'';
}
data = data[step];
}
return data;
}
function getHttpData(url, token, body) {
var request = new HttpRequest();
if (typeof params.proxy !== ''undefined'' && params.proxy !== '''') {
request.setProxy(params.proxy);
};
request.addHeader(''Authorization: Bearer '' + token);
request.addHeader(''Content-Type: application/json'');
var response = request.post(url, JSON.stringify(body));
Zabbix.log(4, ''[ GCP API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from GCP API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
}
else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
};
var params = checkParams(JSON.parse(value)),
j_filter = '' | within '' + params.time_window + " | filter instance_id = ''" + params.instance_id + "''" + '' | join'',
url = ''https://monitoring.googleapis.com/v3/projects/'' + params.project_id + ''/timeSeries:query'',
raw = getHttpData(url, params.token, { query: ''{'' + base_paths.map(function (path) { return base_path + path; }).join('';'') + ''}'' + j_filter }),
metrics = getField(raw, ''timeSeriesDescriptor.pointDescriptors''),
time_series = getField(raw, ''timeSeriesData''),
arr = [];
for (t in time_series) {
data = {
disk_name: getField(time_series[t], ''labelValues.3.stringValue''),
device_type: getField(time_series[t], ''labelValues.4.stringValue''),
storage_type: getField(time_series[t], ''labelValues.6.stringValue''),
metrics: {}
};
for (i in metrics) {
re = /(^t_\\d+\\.value(_|\\.))/g;
data[''metrics''][getField(metrics[i], ''key'').replace(re, '''')] = getField(time_series[t], ''pointData.0.values.'' + i + ''.int64Value'');
}
arr.push(data);
}
return JSON.stringify(arr);','','0','','','','','0',NULL,'Disk entities and metrics related to a particular instance.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','4bdd3662247749a69bb59e6643ba7b9a','0','2','0'),
('44884','19','','10577','Instance state','gcp.gce.instance.state','1m','31d','365d','0','3','','','','',NULL,'1095','','','0','','','','','0',NULL,'GCP Compute Engine instance state.','0','30d','0','',NULL,'{$GCP.DATA.TIMEOUT}','https://compute.googleapis.com/compute/v1/projects/{$GCP.PROJECT.ID}/zones/{$GCE.INSTANCE.ZONE}/instances/{HOST.NAME}','','','','1','0','','Content-Type: application/json
Authorization: Bearer {$GCP.AUTH.TOKEN}','0','0','0','0','0','0','0','3f82955d43694b25b1e96c9b8f4f6ffb','0','2','0'),
('45080','19','','10323','Get databases info','clickhouse.databases','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get information about databases.','0','30d','0','',NULL,'','{$CLICKHOUSE.SCHEME}://{$CLICKHOUSE.HOST}:{$CLICKHOUSE.PORT}/','[{"query":"select database, sum(bytes) as bytes, count(distinct table) as tables, sum(rows) as rows from system.parts where active = 1 group by database format JSON"}]','','200','1','0','','X-ClickHouse-User: {$CLICKHOUSE.USER}
X-ClickHouse-Key: {$CLICKHOUSE.PASSWORD}','0','0','0','0','0','0','0','b2341064c7624848bfcac198d3b5ffa9','0','2','0'),
('45128','20','walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]','10218','Cisco IOS: SNMP walk memory','vm.memory.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CISCO-MEMORY-POOL-MIB
Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed5f0ebd013644adbad71e8b93d481de','0','2','0'),
('45129','20','walk[1.3.6.1.2.1.47.1.1.1.1.5,1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.2.1.47.1.1.1.1.11]','10218','Cisco IOS: SNMP walk entity serial numbers','system.hw.serialnumber.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB
Entity Serial Numbers Discovery.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c8c82e3502c46d9b7603812d02ce27b','0','2','0'),
('45130','20','walk[1.3.6.1.4.1.9.9.109.1.1.1.1.5,1.3.6.1.4.1.9.9.109.1.1.1.1.8]','10218','Cisco IOS: SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable,
indexed with cpmCPUTotalIndex.
This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,
like different CPU chips, group of CPUs, or CPUs in different modules/cards.
In case of a single CPU, cpmCPUTotalTable has only one entry.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3208aa4fb7c14623bc5129018172e3b9','0','2','0'),
('45131','20','walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]','10218','Cisco IOS: SNMP walk temperature sensors','sensor.temp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e64d32fe956f481eb6a3899f8c1e09d9','0','2','0'),
('45132','20','walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]','10218','Cisco IOS: SNMP walk PSUs','sensor.psu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The table of power supply status maintained by the environmental monitor card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a44183c252e4160837cfd960f755097','0','2','0'),
('45133','20','walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]','10218','Cisco IOS: SNMP walk fans','sensor.fans.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering system fans.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7eb9bdaf14274e1a99c0ff2ac17f0723','0','2','0'),
('45134','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10218','Cisco IOS: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58168a9cd5464229a9cbb3fb0c978e85','0','2','0'),
('45135','20','walk[1.3.6.1.2.1.10.7.2.1.19,1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2]','10218','Cisco IOS: SNMP walk EtherLike-MIB interfaces','net.if.duplex.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8734672a10d41c2ba7c1f00171bb93e','0','2','0'),
('45136','20','walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]','10220','Cisco IOS: SNMP walk memory','vm.memory.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CISCO-MEMORY-POOL-MIB
Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','011212452fb0421aa913ceee4f59d17b','0','2','0'),
('45137','20','walk[1.3.6.1.2.1.47.1.1.1.1.5,1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.2.1.47.1.1.1.1.11]','10220','Cisco IOS: SNMP walk entity serial numbers','system.hw.serialnumber.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB
Entity Serial Numbers Discovery.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b92777596e2442991618e5feb47567c','0','2','0'),
('45138','20','walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]','10220','Cisco IOS: SNMP walk temperature sensors','sensor.temp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9620c1de761246e1806fda680ede7bba','0','2','0'),
('45139','20','walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]','10220','Cisco IOS: SNMP walk PSUs','sensor.psu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The table of power supply status maintained by the environmental monitor card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cdb1b03725624ea18071a197b7e7f21e','0','2','0'),
('45140','20','walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]','10220','Cisco IOS: SNMP walk fans','sensor.fans.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering system fans.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5cabdb91f004235b481de453db637c6','0','2','0'),
('45141','20','walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]','10253','Cisco IOS: SNMP walk memory','vm.memory.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CISCO-MEMORY-POOL-MIB
Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe26641865204720a592be13d4793c99','0','2','0'),
('45142','20','walk[1.3.6.1.2.1.47.1.1.1.1.5,1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.2.1.47.1.1.1.1.11]','10253','Cisco IOS: SNMP walk entity serial numbers','system.hw.serialnumber.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB
Entity Serial Numbers Discovery.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','79968a2e878c45c290f79902e9e1cf37','0','2','0'),
('45143','20','walk[1.3.6.1.4.1.9.9.109.1.1.1.1.5]','10253','Cisco IOS: SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable,
indexed with cpmCPUTotalIndex.
This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,
like different CPU chips, group of CPUs, or CPUs in different modules/cards.
In case of a single CPU, cpmCPUTotalTable has only one entry.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d188b4d086734f438c3752bb3d9b1971','0','2','0'),
('45144','20','walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]','10253','Cisco IOS: SNMP walk temperature sensors','sensor.temp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7568839f76854edca01234fb707e1558','0','2','0'),
('45145','20','walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]','10253','Cisco IOS: SNMP walk PSUs','sensor.psu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The table of power supply status maintained by the environmental monitor card.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c7987c8fb2748978fd9f3f84b5c96d5','0','2','0'),
('45146','20','walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]','10253','Cisco IOS: SNMP walk fans','sensor.fans.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering system fans.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa5166db7ce14744817cf098c4be46f7','0','2','0'),
('45147','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10253','Cisco IOS: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb44245cd4224bbdaa8c5546ad483848','0','2','0'),
('45148','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10449','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f40d0ccfccd748128775c7bb3f4d9177','0','2','0'),
('45149','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10449','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe052ca02fe84ec99dfe01443be4ddf0','0','2','0'),
('45152','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10449','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3790b7f9524491ea12c8fae01ec0121','0','2','0'),
('45153','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10449','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f553b00ae11b448cb29889e1efc171f0','0','2','0'),
('45154','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10450','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b1edf5ca04f4a409ac64670e9cc47d5','0','2','0'),
('45155','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10450','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9499128c1774463bab250708d911a318','0','2','0'),
('45158','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10450','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0609a92c671e4d23a17cda1c2f61999d','0','2','0'),
('45159','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10450','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','026dd9264a97421f91194ddc2cea5d6c','0','2','0'),
('45160','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10451','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','263db67af47d40bc9d63639383284fff','0','2','0'),
('45161','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10451','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ea40037cf5048cbbbd791ebf754c473','0','2','0'),
('45164','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10451','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8450323925164aa8a98411b526de8178','0','2','0'),
('45165','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10451','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5e69b0ccb2a498ba287245bf8914985','0','2','0'),
('45166','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10452','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89c237c439e146af9ff1e84f70330b6c','0','2','0'),
('45167','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10452','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00bc8fe0f076428bb92c8c5cbe2de8b1','0','2','0'),
('45170','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10452','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3da4c495d5d0420abeb9612840241097','0','2','0'),
('45171','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10452','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d00e09c5cf7145b59c0c3ee462b5ec10','0','2','0'),
('45172','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10453','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3db6fc2fa544ee8b7603024016784f3','0','2','0'),
('45173','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10453','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','601c6b5e9f224b8f861bf05a3e2ac0dd','0','2','0'),
('45176','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10453','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba6810f58e114c5abcb0ff9c1e105d53','0','2','0'),
('45177','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10453','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c2738cd8cde4634bf406c3fd3da5181','0','2','0'),
('45178','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10454','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae6075aa924446c8a73be7af098aed96','0','2','0'),
('45179','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10454','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0371d3a8d3ba4977b118a1d2c8a37c71','0','2','0'),
('45182','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10454','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f7af549a539443eb2ea18383157e818','0','2','0'),
('45183','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10454','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','940603fe2a43458584566823954d7106','0','2','0'),
('45184','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10455','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','757ab436c2aa4500a6800ec367cdd109','0','2','0'),
('45185','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10455','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9dff6be2d3694e84aacf544f3e859790','0','2','0'),
('45188','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10455','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','409c178fb90841ffb1f2825c4eb01140','0','2','0'),
('45189','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10455','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2848d2045f9c4a76ac49bee199f622d7','0','2','0'),
('45190','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10456','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1fcdd40fa482412bbd5045c0b453c662','0','2','0'),
('45191','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10456','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53bc8450cca74b67bde3405684dd26a9','0','2','0'),
('45194','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10456','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2e6607f1e83434bb1ae4d14727613f1','0','2','0'),
('45195','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10456','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9838b7f90f4242c9abf16e39b7a7da81','0','2','0'),
('45196','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10457','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be26aef4d3d54c5289ecbddd5cf65d49','0','2','0'),
('45197','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10457','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cd91800dd174e29a159df144a897586','0','2','0'),
('45200','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10457','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3cda334d0ed432781c81d0330f6c449','0','2','0'),
('45201','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10457','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','462a235c5c604d689f2d50bf880d5dee','0','2','0'),
('45202','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10458','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d35b717a39b44521b4cf3c9f66d090cc','0','2','0'),
('45203','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10458','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84ba58953f8e4ee7ad5c8a3278253136','0','2','0'),
('45206','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10458','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d2521940a8b421496c046de602748ad','0','2','0'),
('45207','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10458','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4642df48e6e46ae878f8bbee74bfe1d','0','2','0'),
('45208','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10459','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d427efe6eda4905a4ea8838807a3aec','0','2','0'),
('45209','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10459','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a83fbe37f80430f986267edf2a52d4f','0','2','0'),
('45212','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10459','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d11712ab5740403f8ce5172310ce6f46','0','2','0'),
('45213','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10459','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c94d1e5e789f4521bca649ff8106b4ab','0','2','0'),
('45214','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10460','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','040616eaf53849ecbc02a4c7dea5ebd1','0','2','0'),
('45215','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10460','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bfb0d94318e1416ba02a6d691a72e5a9','0','2','0'),
('45218','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10460','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6704e6cb375f4c1fa6ba5dd0d7cc48b7','0','2','0'),
('45219','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10460','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7eea07e69bb74773b4741a220560dc21','0','2','0'),
('45220','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10461','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fa0703e764af4de88dd966d296da4cea','0','2','0'),
('45221','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10461','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2572809e413471fa91f33189f575dc4','0','2','0'),
('45224','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10461','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20bfa7ce2793454a9c6215dc31c1c3a2','0','2','0'),
('45225','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10461','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bdb027dba5ee41ad9213b392a20b42f2','0','2','0'),
('45226','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10462','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ae38813c9984ddd8aae451c727200b3','0','2','0'),
('45227','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10462','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8edfe1c42b048e69048164c04f24c99','0','2','0'),
('45230','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10462','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6cf5e50c19624d41bf53759f0dc10b4b','0','2','0'),
('45231','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10462','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d99f44d8cd946c080edf97cdd666c4e','0','2','0'),
('45232','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10463','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d10f1085341451cba47f63b06a4a06f','0','2','0'),
('45233','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10463','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d012ab84c8d6422cb087607c6d840358','0','2','0'),
('45236','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10463','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b78240b0045d4816a6df23d650063d5e','0','2','0'),
('45237','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10463','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a119a4a9a8c4da0972b5ce82723d645','0','2','0'),
('45238','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10464','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e70529cb6c5745a688ab44cf3bf4fd79','0','2','0'),
('45239','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10464','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d449d74135b2411bada1c4f861fc471c','0','2','0'),
('45242','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10464','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4776694f7d35412e9269dcda24a9a884','0','2','0'),
('45243','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10464','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6eea8e195ed24eefa9cb2c11df07683b','0','2','0'),
('45244','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10465','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4aa12d55f344d8e8a2f78ebb2242db8','0','2','0'),
('45245','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10465','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b448f8cfabf640ae9f61470baf2dbab1','0','2','0'),
('45248','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10465','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0063fa878ba4844b1a81eec31be3a8e','0','2','0'),
('45249','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10465','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ec4870e9f7c43c3878cf05e1f4dbf09','0','2','0'),
('45250','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10466','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37778f9029cd486fbeedd2db776d7d8f','0','2','0'),
('45251','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10466','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cd348b7d795641c8ba04fa4eab0f312d','0','2','0'),
('45254','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10466','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','633c28cb77e345edb42366280afe8b03','0','2','0'),
('45255','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10466','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','beda6c376a0e46ee8558a0084690eeb4','0','2','0'),
('45256','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10467','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ad2255031b94fd8a344a9436f2154af','0','2','0'),
('45257','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10467','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b555f355a97e4a1998ebb08df62c380e','0','2','0'),
('45260','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10467','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8c82a88fd1e84ebc8b364e25cd454b43','0','2','0'),
('45261','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10467','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5e5336f6421402b8c5b2ea6df651c21','0','2','0'),
('45262','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10468','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf66ea54f8874cc89bb11a4a3c325d1f','0','2','0'),
('45263','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10468','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be3ad72bd2164a5cba49bc9423c97595','0','2','0'),
('45266','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10468','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5776492fa6f4d71a1897a7cfa6b6917','0','2','0'),
('45267','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10468','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','150711267ef340699fe081bb23e7331f','0','2','0'),
('45268','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10469','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b74f8ee93c742649c4b0b663338befa','0','2','0'),
('45269','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10469','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3a059306c60489dbf7a7417f3a1e072','0','2','0'),
('45272','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10469','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f509a71c40348ba9502fd6eeb795589','0','2','0'),
('45273','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10469','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b6cbc7e31c0454c901e424757751474','0','2','0'),
('45274','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10470','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27b2bb60cd234327bd82b0016d723e32','0','2','0'),
('45275','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10470','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c56b7dd474b64fb59d5088340e0de6c0','0','2','0'),
('45278','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10470','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4110ec0e7474808a9d0111fe64a9bc8','0','2','0'),
('45279','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10470','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b36357da06d4185815f5cd6f62bac4a','0','2','0'),
('45280','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10471','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2529412985f84e19a5516eff963a8498','0','2','0'),
('45281','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10471','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3760283279a4405fa74cd33f352731e6','0','2','0'),
('45284','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10471','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3fb9a05330114b8bacbe7f172a782063','0','2','0'),
('45285','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10471','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fddaf4522c1f4d18af49e3bccbc63ee3','0','2','0'),
('45286','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10472','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ec72049975a4c9d8597414e898055ab','0','2','0'),
('45287','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10472','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b4fcab963ff43adb954043ac7e310a0','0','2','0'),
('45290','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10472','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a352e9a765d441a1ab10e6966fb27dfd','0','2','0'),
('45291','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10472','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','124fa909031144c5b26c91c2f5cb71a1','0','2','0'),
('45292','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10473','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','31743a0c3cb14763a68b81cc715f6658','0','2','0'),
('45293','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10473','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d26a15dbe3bf4358adbc8c423c4387fc','0','2','0'),
('45296','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10473','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac29915d449346a48c951d4b784e3c5f','0','2','0'),
('45297','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10473','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27e581ee8e544c2598c03060bb77c087','0','2','0'),
('45298','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10474','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','93c10a76cad8418b874104acf355874c','0','2','0'),
('45299','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10474','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a818c4ca96d4de5ae22a08f05005619','0','2','0'),
('45302','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10474','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0701e676a22f4ef894e4180f4ef3e2e4','0','2','0'),
('45303','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10474','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','352106c95d3f42b39c90b3eb69832ec0','0','2','0'),
('45304','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10475','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d9dad10e76a949bd8447e97f6b566ba8','0','2','0'),
('45305','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10475','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e69894166ce430f8a7bf30e51948684','0','2','0'),
('45308','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10475','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e02843c30d241f8bcf0dd63715fda44','0','2','0'),
('45309','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10475','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c6d299419b845b99644d879daa6b0e1','0','2','0'),
('45310','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10476','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85468f79d320417ea0f0e28087c75565','0','2','0'),
('45311','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10476','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','778d3453ddb84b53ac3598bf8ae78286','0','2','0'),
('45314','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10476','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ca8eb8ed89a4e1eb5f4b40050a3fa7a','0','2','0'),
('45315','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10476','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ef56761ca344a9a8774ad109bc00834','0','2','0'),
('45316','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10477','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e1fc1f83c9754629ba9c77af9edcaabe','0','2','0'),
('45317','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10477','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eae8e0a3cf144efc8decc672413bf511','0','2','0'),
('45320','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10477','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5ff7db372af4f2b92dfe19d45ee1b9d','0','2','0'),
('45321','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10477','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9aa7461f98fa4a5db662b35466b0b102','0','2','0'),
('45322','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10478','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a7e39d9bd554b578f41eb1c03b14523','0','2','0'),
('45323','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10478','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56d7791a6ba84e47b5042a035cf9a1ee','0','2','0'),
('45326','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10478','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b5526a8b35c4733bbb79606d7818749','0','2','0'),
('45327','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10478','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','afec8f57e23f42b2837fb036952f649c','0','2','0'),
('45328','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10479','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1e35414044f415fae94d45754fb5c8f','0','2','0'),
('45329','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10479','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42b758a3d32b46499e2242fb083896f5','0','2','0'),
('45332','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10479','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d09dfb0d4a7141d797d8f48b97564953','0','2','0'),
('45333','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10479','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65e7c0f418a94507a124ae74e9ba302b','0','2','0'),
('45334','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10480','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0efa7e7c390457b860529cd06839d09','0','2','0'),
('45335','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10480','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eace29d74902498794e0b471d478e42b','0','2','0'),
('45338','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10480','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c2f6f54f1b7498fa4c038a6cd8e1f26','0','2','0'),
('45339','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10480','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc31d87a9f76429d9063aa89c1e99229','0','2','0'),
('45340','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10481','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32ee0bad03f64031b06626fd4ad22991','0','2','0'),
('45341','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10481','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf0b87d2fca34aa0b99d58251f438c27','0','2','0'),
('45344','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10481','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f44c6ec36f442b490cac1231bbad884','0','2','0'),
('45345','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10481','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3416ecf2fd304658b724b3c0f5de202e','0','2','0'),
('45346','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10482','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d86496cfc8444af2aabc000e6a80b689','0','2','0'),
('45347','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10482','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cd88ad46ac74b3cb6da7702f7eade1b','0','2','0'),
('45350','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10482','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0ae9aa61be043309a13e2675ba8fc3d','0','2','0'),
('45351','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10482','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','315cf9b2115041108a9c509650b4934d','0','2','0'),
('45352','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10483','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c0b8af43957d41bd8b69e6512f6b6a6a','0','2','0'),
('45353','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10483','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f7865bcd7ec419bbf6598b2e8e41c39','0','2','0'),
('45356','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10483','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0402d2260bea47fba074bd90e441dd88','0','2','0'),
('45357','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10483','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63022c75670f4965bf5f9ffe2ae5ce98','0','2','0'),
('45358','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10484','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37a9d23461a8465a848d0adebbb5e5e1','0','2','0'),
('45359','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10484','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09408704f52d4a8abd39fc674319a385','0','2','0'),
('45362','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10484','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fabcdd6078443f1b27add9103ac8e73','0','2','0'),
('45363','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10484','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','392f67c076ea43bd8fb2e356e0b11ebb','0','2','0'),
('45364','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10485','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c92b96aea704a1f9d2140e1a69a6e52','0','2','0'),
('45365','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10485','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff529ff6cb624b9092ab5d06ddfeb6a9','0','2','0'),
('45368','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10485','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','22988243945244b0a8170aa3e50f904e','0','2','0'),
('45369','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10485','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee7ed053257048ffa7edae3b2b0a100f','0','2','0'),
('45370','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10486','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ff6648e94ea41198a454e9fe2c95c83','0','2','0'),
('45371','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10486','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29d5c318ee4b4a76bed39f0caa1a4ed1','0','2','0'),
('45374','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10486','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05b58973c1d446fb9093253f30c3478e','0','2','0'),
('45375','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10486','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e4c6db52cf54c12afcc627a746c56c1','0','2','0'),
('45376','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10487','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d170f05138c34010b66e2bf13a40685d','0','2','0'),
('45377','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10487','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6f7e1d9451304f0788a95297eca8c5a5','0','2','0'),
('45380','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10487','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f06a59ecc054d609afee34922983993','0','2','0'),
('45381','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10487','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90beada4eaac4ebe87cceb3b07e4ef54','0','2','0'),
('45382','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10488','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f55f9ec7c2c1456295be98b7e47b3b02','0','2','0'),
('45383','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10488','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','150579efc2dd48c28f7cbc1d2186fa8b','0','2','0'),
('45386','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10488','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77f78108b48c4d81a922bd23f233466f','0','2','0'),
('45387','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10488','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77509cb42fce4c169c6057f146a8b79a','0','2','0'),
('45388','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10489','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c654378ae0234392b1526df325125b0a','0','2','0'),
('45389','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10489','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd634cc1e804449b90693bf1925dc3d4','0','2','0'),
('45392','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10489','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d2748be91c24dc69202b9fed8ecd8b8','0','2','0'),
('45393','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10489','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aec4de5980224cb8b4f7e573866ea86d','0','2','0'),
('45394','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10490','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad95f1d123f54de3a2b06dfa32e25eed','0','2','0'),
('45395','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10490','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed241d40ab044cb3ade0c7b4b504cade','0','2','0'),
('45398','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10490','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','44d98891c0a04a8680fe30331f0e44ac','0','2','0'),
('45399','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10490','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2999403c64bb45cfb237d11fa8392562','0','2','0'),
('45400','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10491','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','376db50b5a4e41cc9e6a2d6e0034639c','0','2','0'),
('45401','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10491','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50b5f8dc5e3042cdac11d97d7cce14bd','0','2','0'),
('45404','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10491','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','debb90a64e164da098f27fe0a44fd18e','0','2','0'),
('45405','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10491','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f59fcb385c5452f93b3d893522a9917','0','2','0'),
('45406','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10492','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d3a2f07ab8643668864e90203bdaaa1','0','2','0'),
('45407','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10492','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ee3bbf180a749d6ab35bed974677b8d','0','2','0'),
('45410','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10492','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3724f2b9d41d4cb7952734a3f96393a8','0','2','0'),
('45411','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10492','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d86b3b5ece7456fb4baa3b557bed1c1','0','2','0'),
('45412','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10493','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1747b98b45d40d8beb2be1806180a86','0','2','0'),
('45413','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10493','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d95cb59429ac4d50845abefc5b0d4a6b','0','2','0'),
('45416','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10493','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ac6276902234fe085ae6fa3afe94c16','0','2','0'),
('45417','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10493','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bcbea364e6264d6a81052e19fb308de9','0','2','0'),
('45418','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10494','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5350a6c911424c839afe59812e0be1e0','0','2','0'),
('45419','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10494','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b4efaf2db754ab3a228fa8eaae62c82','0','2','0'),
('45422','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10494','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7960fa31620c466b83b333a2045b5763','0','2','0'),
('45423','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10494','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82e17ef7dc8e4a0eab8cbd22a5debb8b','0','2','0'),
('45424','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10495','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a40f18da3905480aa83619354feb63d3','0','2','0'),
('45425','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10495','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','78849e4286984e72ab462795c2f29b03','0','2','0'),
('45428','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10495','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','02b9eb47a0a646ea88c4d8afaa24afd7','0','2','0'),
('45429','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10495','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15263d03b5bc40eda79495ba51042d7f','0','2','0'),
('45430','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10496','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8756dffb1a514c7c8395783689c774e7','0','2','0'),
('45431','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10496','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9244bd8596854d6eb586cd7686ec25e6','0','2','0'),
('45434','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10496','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b22814a8b02449391c1aae1d1f25ceb','0','2','0'),
('45435','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10496','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5abe1d4af994d86a2aeebf97ebca324','0','2','0'),
('45436','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10497','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','64d260bc3e5240309575d88c93ea8cdf','0','2','0'),
('45437','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10497','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2d1ab4e84554749ae28567b4031e6fd','0','2','0'),
('45440','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10497','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c08c6737b99140caa73d2a81cc86f9e9','0','2','0'),
('45441','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10497','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75214946ec7b4b0bbc8e86f9e83b7f7c','0','2','0'),
('45442','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10498','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d66a2c3f54543908039c46cdd3e4f76','0','2','0'),
('45443','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10498','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e1120e04fc1344bebf89ec883fdd0e00','0','2','0'),
('45446','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10498','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3383829ce684182b78dabfa908c00c2','0','2','0'),
('45447','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10498','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','934a7b99f99844ea8fac5c4c3b799898','0','2','0'),
('45448','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10499','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f65b50872b6c4ad59943002667e2fadf','0','2','0'),
('45449','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10499','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','92ff237e1b074d35b47e029168cd9f14','0','2','0'),
('45452','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10499','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e470f22a8f114567a98d50b0b440dfcd','0','2','0'),
('45453','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10499','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3667df2f5684e479c579c48f84c8015','0','2','0'),
('45454','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10500','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf99345bee674cd3bced77141bb267c3','0','2','0'),
('45455','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10500','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d8544ddbb6947bbb005cec3304317a1','0','2','0'),
('45458','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10500','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','616f1ecdc8fa4f9fbdb4a967ef3148d5','0','2','0'),
('45459','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10500','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94e1ebf58d8d43ba95ab7e6264887dfb','0','2','0'),
('45460','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10501','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','731f08c5f7004052a54842a51b04da2f','0','2','0'),
('45461','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10501','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2eb45102f7ef4abc9ee58548ea98c774','0','2','0'),
('45464','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10501','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c300402ec1054fea9d51f561ed0a9540','0','2','0'),
('45465','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10501','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2fbbb3ab2ea24c79b2d17d626eb9d9e4','0','2','0'),
('45466','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10502','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b4cbeded8984cb881e5502258af4fe4','0','2','0'),
('45467','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10502','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc274078fc4f4a70b85572e1ebabb681','0','2','0'),
('45470','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10502','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1acc89ec5a44933aee32f7fce4bef74','0','2','0'),
('45471','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10502','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7a673b6f0cd4d588828028caba5d8c7','0','2','0'),
('45472','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10233','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering mounted filesystems.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2af6a2f85926468ab8242e4f5c6fb096','0','2','0'),
('45473','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]','10233','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f9bb0334ae74e22b3ff917dec5fa924','0','2','0'),
('45476','20','walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]','10233','SNMP walk wireless interfaces','net.if.wireless.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a23fdffc346b4adb833924d9975542c2','0','2','0'),
('45477','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10233','Mikrotik: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3eaa90d933914ba18663ebf21c4675bb','0','2','0'),
('45478','20','walk[1.3.6.1.4.1.11863.6.4.1.2.1.1.1,1.3.6.1.4.1.11863.6.4.1.2.1.1.2]','10236','SNMP walk memory','vm.memory.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering TPLINK-SYSMONITOR-MIB::tpSysMonitorMemoryTable, displays the memory utilization of all UNITs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ac2fe58877e4a8ab1dedb38fe41ef3e','0','2','0'),
('45479','20','walk[1.3.6.1.4.1.11863.6.4.1.1.1.1.1,1.3.6.1.4.1.11863.6.4.1.1.1.1.3]','10236','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering TPLINK-SYSMONITOR-MIB::tpSysMonitorCpuTable, displays the CPU utilization of all UNITs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae66a99ae15d4fe98e513745978c2ce4','0','2','0'),
('45480','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.10,1.3.6.1.2.1.2.2.1.16,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.2.2.1.5]','10236','TP-LINK: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cf11e0dfd3b47f1a0a5d8f011e6517b','0','2','0'),
('45481','20','walk[1.3.6.1.4.1.2021.9.1.1,1.3.6.1.4.1.2021.9.1.2,1.3.6.1.4.1.2021.9.1.3,1.3.6.1.4.1.2021.9.1.10,1.3.6.1.4.1.2021.9.1.11,1.3.6.1.4.1.2021.9.1.12,1.3.6.1.4.1.2021.9.1.13,1.3.6.1.4.1.2021.9.1.14,1.3.6.1.4.1.2021.9.1.15,1.3.6.1.4.1.2021.9.1.16]','10248','SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Snmp walk through dskEntry table. Collected data used in filesystem lld and dependent item prototypes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ad72047f03a452f9698254fe6b4ffd2','0','2','0'),
('45482','20','walk[1.3.6.1.4.1.2021.13.15.1.1.2,1.3.6.1.4.1.2021.13.15.1.1.5,1.3.6.1.4.1.2021.13.15.1.1.6,1.3.6.1.4.1.2021.13.15.1.1.9]','10248','SNMP walk block devices','vfs.dev.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94c5ede90a50467989a4559e51c0bcef','0','2','0'),
('45483','20','walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.4.1.2021.11.53.0,1.3.6.1.4.1.2021.11.52.0,1.3.6.1.4.1.2021.11.50.0,1.3.6.1.4.1.2021.11.64.0,1.3.6.1.4.1.2021.11.61.0,1.3.6.1.4.1.2021.11.51.0,1.3.6.1.4.1.2021.11.54.0,1.3.6.1.4.1.2021.11.56.0,1.3.6.1.4.1.2021.11.65.0,1.3.6.1.4.1.2021.11.66.0]','10248','SNMP walk system CPUs','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
Discovering system CPUs.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb2a968ed48f4c6287da2b06bc3b95f3','0','2','0'),
('45484','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10248','Linux: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','661b9bbeb1f146da9c0d9bfa8e5f26d5','0','2','0'),
('45485','20','walk[1.3.6.1.2.1.10.7.2.1.19,1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2]','10248','Linux: SNMP walk EtherLike-MIB interfaces','net.if.duplex.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da392895de1c447eb5d3f1f950360639','0','2','0'),
('45486','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.10,1.3.6.1.2.1.2.2.1.16,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.31.1.1.1.15,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20]','10249','Windows: SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','649fb89829c04fe9bec44e942aeb2b42','0','2','0'),
('45487','20','walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]','10249','Windows: SNMP walk mounted filesystems','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'HOST-RESOURCES-MIB::hrStorage discovery.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bab2a178a60c4dddae8f11f8be344339','0','2','0'),
('45488','5','','10048','Discovery queue','zabbix[discovery_queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The count of values enqueued in the discovery queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca8a1cafec6e44a4b31f9ec5a6ed00cb','0','2','0'),
('45489','5','','10048','Utilization of discovery manager internal processes, in %','zabbix[process,discovery manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the discovery manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','930bf9db6c754a17ab5026961d6369ba','0','2','0'),
('45490','5','','10048','Utilization of discovery worker internal processes, in %','zabbix[process,discovery worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the discovery worker processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eeee7e927a854b61b166a13b8eb98f28','0','2','0'),
('45494','5','','10047','Discovery queue','zabbix[discovery_queue]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The count of values enqueued in the discovery queue.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e02b4a9afbb4ae994f2210aac8aab83','0','2','0'),
('45495','5','','10047','Utilization of discovery manager internal processes, in %','zabbix[process,discovery manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the discovery manager processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a06a1b172c14e068cfc4ecee1511ffc','0','2','0'),
('45496','5','','10047','Utilization of discovery worker internal processes, in %','zabbix[process,discovery worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the discovery worker processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a88bad7225d3417da697220615252226','0','2','0'),
('45511','5','','10048','Utilization of agent poller data collector processes, in %','zabbix[process,agent poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the agent poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','998df832cf58436ea7707331338d5f3b','0','2','0'),
('45512','5','','10048','Utilization of http agent poller data collector processes, in %','zabbix[process,http agent poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the http agent poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','584c5ee90cff40e2befc38061ce8e7e7','0','2','0'),
('45515','5','','10047','Utilization of agent poller data collector processes, in %','zabbix[process,agent poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the agent poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47f983079b064558976fb3cf5d50d742','0','2','0'),
('45516','5','','10047','Utilization of http agent poller data collector processes, in %','zabbix[process,http agent poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the http agent poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71934ae835034df5b9ce97eeb859b96b','0','2','0'),
('45521','21','','10582','Get daily costs','aws.get.daily.costs','0s;h/6','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
today = new Date();
AWS.params.end_date = today.toDateString();
today.setDate(today.getDate() - 1);
AWS.params.start_time = today.toDateString();
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
request: function (method, region, service, params, data, target) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
else {
data = JSON.stringify(data);
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/x-amz-json-1.1'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''X-Amz-Target: '' + target);
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS Billing ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS Billing ] Received response with the status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with the status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse the response received from AWS API. Check debug log for more information.'';
}
return response;
},
getCostAndUsage: function () {
var body_raw_cost = {
''TimePeriod'': {
''Start'': AWS.params.start_time,
''End'': AWS.params.end_date
},
''Granularity'': ''DAILY'',
''GroupBy'': [
{
''Type'': ''DIMENSION'',
''Key'': ''SERVICE''
}
],
''Metrics'': [''BlendedCost'']
};
return AWS.getField(AWS.request(''POST'', AWS.params.region, ''ce'', '''', body_raw_cost, ''AWSInsightsIndexService.GetCostAndUsage''), ''ResultsByTime'');
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getCostAndUsage());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS Billing ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get raw data on the daily costs by service.','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','5bfda2617dfc43edbe524a5c44b39f18','0','2','0'),
('45522','21','','10582','Get monthly costs','aws.get.monthly.costs','0s;h9','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''month''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
today = new Date();
AWS.params.end_date = today.toDateString();
month = today.getMonth();
today.setMonth(month - params.month);
AWS.params.start_time = new Date(today.getFullYear(), today.getMonth()).toDateString();
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
request: function (method, region, service, params, data, target) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
else {
data = JSON.stringify(data);
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/x-amz-json-1.1'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''X-Amz-Target: '' + target);
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS Billing ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS Billing ] Received response with the status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with the status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse the response received from AWS API. Check debug log for more information.'';
}
return response;
},
getCostMonth: function () {
var body_raw_cost = {
''TimePeriod'': {
''Start'': AWS.params.start_time,
''End'': AWS.params.end_date
},
''Granularity'': ''MONTHLY'',
''Metrics'': [''BlendedCost'']
};
result = AWS.getField(AWS.request(''POST'', AWS.params.region, ''ce'', '''', body_raw_cost, ''AWSInsightsIndexService.GetCostAndUsage''), ''ResultsByTime'');
return result.map(function (data) {
return {
''amount'': AWS.getField(data, ''Total.BlendedCost.Amount''),
''unit'': AWS.getField(data, ''Total.BlendedCost.Unit''),
''month'': AWS.getField(data, ''TimePeriod.Start'').slice(0, 7)
};
});
},
getCostMonthService: function () {
var body_raw_cost = {
''TimePeriod'': {
''Start'': AWS.params.start_time,
''End'': AWS.params.end_date
},
''GroupBy'': [
{
''Type'': ''DIMENSION'',
''Key'': ''SERVICE''
}
],
''Granularity'': ''MONTHLY'',
''Metrics'': [''BlendedCost'']
};
MetricData = AWS.getField(AWS.request(''POST'', AWS.params.region, ''ce'', '''', body_raw_cost, ''AWSInsightsIndexService.GetCostAndUsage''), ''ResultsByTime'');
var services = [];
MetricData.forEach(function (data) {
month = AWS.getField(data, ''TimePeriod.Start'').slice(0, 7);
groups = AWS.getField(data, ''Groups'');
groups.forEach(function (group) {
group.month = month;
services.push(group);
})
});
return services;
}
};
try {
AWS.setParams(JSON.parse(value));
monthly_costs = AWS.getCostMonth();
monthly_service_costs = AWS.getCostMonthService();
return JSON.stringify({ monthly_costs, monthly_service_costs });
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS Billing ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get raw data on the monthly costs by service.','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','7139ce562d3c439e9686ad5b17ed0f1c','0','2','0'),
('45529','21','','10583','Get alarms data','aws.ecs.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
Zabbix.log(4, ''[ AWS ECS ] dimensions: '' + JSON.stringify(dimensions));
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''ClusterName'' && dimensions[i].Value === AWS.params.cluster_name) {
result.push(alarm);
break;
}
}
});
}
return result;
}
}
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get alarms data.
DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','9aefed8b23ee41a7941e41f33fc95ebe','0','2','0'),
('45530','21','','10583','Get cluster services','aws.ecs.get_cluster_services','5m','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload)), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
listServices: function () {
var payload = {
''Action'': ''ListServices'',
''Version'': ''2014-11-13'',
''maxResults'': 100,
''cluster'': AWS.params.cluster_name
},
services = [];
while (payload.nextToken !== '''') {
var services_list = AWS.getField(AWS.request(''GET'', AWS.params.region, ''ecs'', AWS.prepareParams(payload)), ''ListServicesResponse.ListServicesResult'');
payload.nextToken = services_list.nextToken || '''';
services_arns = AWS.getField(services_list, ''serviceArns'');
for (k in services_arns) {
id = services_arns[k];
json = {};
input = id.split(AWS.params.cluster_name + ''/'');
for (var i = 1; i < input.length; i += 2) {
json[input[i]] = input[i + 1];
}
services.push({
''service_name'': input[1],
});
}
};
if (Array.isArray(services))
return services;
else
return [services];
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.listServices());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get cluster services.
Full metrics list related to ECS: https://docs.aws.amazon.com/AmazonECS/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','fa8f1dc24615438e98cbad686d40eaf7','0','2','0'),
('45531','21','','10583','Get cluster metrics','aws.ecs.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareRecursive: function (prefix, param) {
var result = {};
if (typeof param === ''object'') {
if (Array.isArray(param)) {
param.forEach(function (value, index) {
var nested = AWS.prepareRecursive(prefix + ''.member.'' + (index + 1), value);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
else {
Object.keys(param).forEach(function (k) {
var nested = AWS.prepareRecursive(prefix + ''.'' + k, param[k]);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
}
else {
result[prefix] = param;
}
return result;
},
renderPayload: function (period, cluster_name) {
var metrics_list = [
''ContainerInstanceCount:Count'',
''ServiceCount:Count'',
''CpuReserved:None'',
''CpuUtilized:None'',
''MemoryReserved:Megabytes'',
''MemoryUtilized:Megabytes'',
''NetworkRxBytes:Bytes/Second'',
''NetworkTxBytes:Bytes/Second'',
''StorageReadBytes:Bytes'',
''StorageWriteBytes:Bytes'',
''TaskCount:Count''
];
var metric_payload = [];
metrics_list.forEach(function (metric) {
var parts = metric.split('':'', 2);
var name = parts[0].replace(/[^a-zA-Z0-9]/g, '''');
metric_payload.push({
''Id'': name.charAt(0).toLowerCase() + name.slice(1),
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''ECS/ContainerInsights'',
''Dimensions'': [
{
''Name'': ''ClusterName'',
''Value'': cluster_name
}
]
},
''Period'': period,
''Stat'': ''Average'',
''Unit'': parts[1]
}
});
});
return metric_payload;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getMetricsData: function () {
var timestamp = new Date().getTime(),
MetricData = [],
CPUUtilization,
MemoryUtilization,
DiskUtilization,
obj = {},
metrics = [''CpuReserved'', ''CpuUtilized'', ''MemoryReserved'', ''MemoryUtilized''],
end_time = new Date(timestamp).toISOString().replace(/\\.\\d+Z/, ''Z''),
start_time = new Date(timestamp - AWS.request_period * 1000).toISOString().replace(/\\.\\d+Z/, ''Z''),
payload = AWS.prepareRecursive(''MetricDataQueries'', AWS.renderPayload(AWS.request_period, AWS.params.cluster_name));
payload[''Action''] = ''GetMetricData'';
payload[''Version''] = ''2010-08-01'';
payload[''StartTime''] = start_time;
payload[''EndTime''] = end_time;
payload[''ScanBy''] = ''TimestampDescending'';
result = AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload));
MetricData = AWS.getField(result, ''GetMetricDataResponse.GetMetricDataResult.MetricDataResults'')
MetricData.forEach(function (id) {
for (i in metrics) {
if (AWS.getField(id, ''Label'') === metrics[i]) {
obj[metrics[i]] = AWS.getField(id, ''Values'');
}
}
});
CPUUtilization = Math.abs(obj.CpuUtilized * 100 / obj.CpuReserved);
MemoryUtilization = Math.abs(obj.MemoryUtilized * 100 / obj.MemoryReserved);
return ({ MetricData, MemoryUtilization, CPUUtilization, DiskUtilization });
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get cluster metrics.
Full metrics list related to ECS: https://docs.aws.amazon.com/AmazonECS/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','f45389a638c645f8905dc69d6cafb8b3','0','2','0'),
('45559','21','','10584','Get alarms data','aws.ecs.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
Zabbix.log(4, ''[ AWS ECS ] dimensions: '' + JSON.stringify(dimensions));
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''ClusterName'' && dimensions[i].Value === AWS.params.cluster_name) {
result.push(alarm);
break;
}
}
});
}
return result;
}
}
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get alarms data.
DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','ee28426c92874a99b998198a5539599d','0','2','0'),
('45560','21','','10584','Get cluster services','aws.ecs.get_cluster_services','5m','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload)), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/x-www-form-urlencoded'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
listServices: function () {
var payload = {
''Action'': ''ListServices'',
''Version'': ''2014-11-13'',
''maxResults'': 100,
''cluster'': AWS.params.cluster_name
},
services = [];
while (payload.nextToken !== '''') {
var services_list = AWS.getField(AWS.request(''GET'', AWS.params.region, ''ecs'', AWS.prepareParams(payload)), ''ListServicesResponse.ListServicesResult'');
payload.nextToken = services_list.nextToken || '''';
services_arns = AWS.getField(services_list, ''serviceArns'');
for (k in services_arns) {
id = services_arns[k];
json = {};
input = id.split(AWS.params.cluster_name + ''/'');
for (var i = 1; i < input.length; i += 2) {
json[input[i]] = input[i + 1];
}
services.push({
''service_name'': input[1],
});
}
};
if (Array.isArray(services))
return services;
else
return [services];
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.listServices());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get cluster services.
Full metrics list related to ECS: https://docs.aws.amazon.com/AmazonECS/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','9818272bc51e4848bba7b2863dda9424','0','2','0'),
('45561','21','','10584','Get cluster metrics','aws.ecs.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
request_period: 600,
metadata: ''http://169.254.169.254/latest/'',
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''cluster_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareRecursive: function (prefix, param) {
var result = {};
if (typeof param === ''object'') {
if (Array.isArray(param)) {
param.forEach(function (value, index) {
var nested = AWS.prepareRecursive(prefix + ''.member.'' + (index + 1), value);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
else {
Object.keys(param).forEach(function (k) {
var nested = AWS.prepareRecursive(prefix + ''.'' + k, param[k]);
Object.keys(nested).forEach(function (key) {
result[key] = nested[key];
});
});
}
}
else {
result[prefix] = param;
}
return result;
},
renderPayload: function (period, cluster_name) {
var metrics_list = [
''ContainerInstanceCount:Count'',
''ServiceCount:Count'',
''CpuReserved:None'',
''CpuUtilized:None'',
''MemoryReserved:Megabytes'',
''MemoryUtilized:Megabytes'',
''NetworkRxBytes:Bytes/Second'',
''NetworkTxBytes:Bytes/Second'',
''StorageReadBytes:Bytes'',
''StorageWriteBytes:Bytes'',
''TaskCount:Count'',
''EphemeralStorageReserved:Gigabytes'',
''EphemeralStorageUtilized:Gigabytes''
];
var metric_payload = [];
metrics_list.forEach(function (metric) {
var parts = metric.split('':'', 2);
var name = parts[0].replace(/[^a-zA-Z0-9]/g, '''');
metric_payload.push({
''Id'': name.charAt(0).toLowerCase() + name.slice(1),
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''ECS/ContainerInsights'',
''Dimensions'': [
{
''Name'': ''ClusterName'',
''Value'': cluster_name
}
]
},
''Period'': period,
''Stat'': ''Average'',
''Unit'': parts[1]
}
});
});
return metric_payload;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ECS ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ECS ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getMetricsData: function () {
var timestamp = new Date().getTime(),
MetricData = [],
CPUUtilization,
MemoryUtilization,
DiskUtilization,
obj = {},
metrics = [''CpuReserved'', ''CpuUtilized'', ''MemoryReserved'', ''MemoryUtilized'', ''EphemeralStorageReserved'', ''EphemeralStorageUtilized''],
end_time = new Date(timestamp).toISOString().replace(/\\.\\d+Z/, ''Z''),
start_time = new Date(timestamp - AWS.request_period * 1000).toISOString().replace(/\\.\\d+Z/, ''Z''),
payload = AWS.prepareRecursive(''MetricDataQueries'', AWS.renderPayload(AWS.request_period, AWS.params.cluster_name));
payload[''Action''] = ''GetMetricData'';
payload[''Version''] = ''2010-08-01'';
payload[''StartTime''] = start_time;
payload[''EndTime''] = end_time;
payload[''ScanBy''] = ''TimestampDescending'';
result = AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload));
MetricData = AWS.getField(result, ''GetMetricDataResponse.GetMetricDataResult.MetricDataResults'')
MetricData.forEach(function (id) {
for (i in metrics) {
if (AWS.getField(id, ''Label'') === metrics[i]) {
obj[metrics[i]] = AWS.getField(id, ''Values'');
}
}
});
CPUUtilization = Math.abs(obj.CpuUtilized * 100 / obj.CpuReserved);
MemoryUtilization = Math.abs(obj.MemoryUtilized * 100 / obj.MemoryReserved);
DiskUtilization = Math.abs(obj.EphemeralStorageUtilized * 100 / obj.EphemeralStorageReserved);
return ({ MetricData, MemoryUtilization, CPUUtilization, DiskUtilization });
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ECS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get cluster metrics.
Full metrics list related to ECS: https://docs.aws.amazon.com/AmazonECS/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','01f1a371b56e4945b604cd8b396c85f5','0','2','0'),
('45596','21','','10586','Get access token and service catalog','openstack.identity.auth','{$OPENSTACK.AUTH.INTERVAL}','0','0','0','4','','','','',NULL,NULL,'
const request_path = ''/v3/auth/tokens'';
function checkParams(params) {
[''api_url'', ''app_cred_id'', ''app_cred_secret''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
return params;
}
function getHttpData(url, params, app_cred_id, app_cred_secret) {
const request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
const request_body = {
"auth": {
"identity": {
"methods": [
"application_credential"
],
"application_credential": {
"id": app_cred_id,
"secret": app_cred_secret
}
}
}
};
if (params[''http_proxy'']) {
request.setProxy(params[''http_proxy''])
Zabbix.log(4, ''[ Openstack Nova API ] Using http proxy: '' + params[''http_proxy'']);
}
const response = request.post(url, JSON.stringify(request_body));
Zabbix.log(4, ''[ Openstack Identity API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 201) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
} else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return {''request'': request, ''response'': response};
}
function parseHttpData(http_data) {
var token;
const headers = http_data[''request''].getHeaders(true);
if (typeof headers === "object") {
if (headers !== null) {
try {
token = headers["X-Subject-Token"][0];
} catch (error) {
throw ''Failed to parse response received from OpenStack Identity API. Check debug log for more information.'';
}
} else {
throw ''Response object is empty. Check debug log for more information.'';
}
} else {
throw ''Cannot process response data: received data is not an object. Check debug log for more information.'';
}
const supported_services = [''nova''];
var ret = [];
const data = JSON.parse(http_data[''response'']);
if (data[''token''][''catalog'']) {
const service_catalog = data[''token''][''catalog''];
} else {
throw ''Cannot find service catalog in HTTP response.''
}
service_catalog.forEach(function (service) {
if (supported_services.indexOf(service.name) > -1) {
service.endpoints.forEach(function (endpoint) {
if (endpoint.interface === ''public'') {
ret.push({
''service_name'': service.name[0].toUpperCase() + service.name.slice(1),
''service_url'': endpoint.url,
''token'': token
});
}
})
}
});
return JSON.stringify(ret);
}
const params = checkParams(JSON.parse(value)),
url = params.api_url,
auth_cred_id = params.app_cred_id,
auth_cred_secret = params.app_cred_secret;
const httpData = getHttpData(url + request_path, params, auth_cred_id, auth_cred_secret);
return parseHttpData(httpData);','','0','','','','','0',NULL,'Authorizes user on the OpenStack Identity service and gets the service catalog.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','0518d08edbf2480abf15f4ef0e7a251a','0','2','0'),
('45597','19','','10587','Get availability zones','openstack.nova.availability_zone.get','{$OPENSTACK.NOVA.INTERVAL.AVAILABILITY_ZONE}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of availability zones and its data.','0','30d','0','',NULL,'10s','{$OPENSTACK.NOVA.SERVICE.URL}/os-availability-zone/detail','','','200','1','0','{$OPENSTACK.HTTP.PROXY}','X-Auth-Token: {$OPENSTACK.TOKEN}','0','0','0','0','0','0','0','87d263a6f797439c8c7699d96f4305fb','0','2','0'),
('45598','19','','10587','Get hypervisors','openstack.nova.hypervisors.get','{$OPENSTACK.NOVA.INTERVAL.HYPERVISOR}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of hypervisors and its data.','0','30d','0','',NULL,'10s','{$OPENSTACK.NOVA.SERVICE.URL}/os-hypervisors/detail','','','200','1','0','{$OPENSTACK.HTTP.PROXY}','X-Auth-Token: {$OPENSTACK.TOKEN}','0','0','0','0','0','0','0','c4297b412ad54bae85a1219e2d988bcb','0','2','0'),
('45599','19','','10587','Get absolute limits','openstack.nova.limits.get','{$OPENSTACK.NOVA.INTERVAL.LIMITS}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets absolute limits for the project.','0','30d','0','',NULL,'10s','{$OPENSTACK.NOVA.SERVICE.URL}/limits','','','200','1','0','{$OPENSTACK.HTTP.PROXY}','X-Auth-Token: {$OPENSTACK.TOKEN}','0','0','0','0','0','0','0','02698d2fcd2949868013dedb311b8db3','0','2','0'),
('45600','15','','10587','Instances count, free','openstack.nova.limits.instances.free','{$OPENSTACK.NOVA.INTERVAL.LIMITS}','31d','365d','0','3','','','','',NULL,NULL,'last(//openstack.nova.limits.instances.max)-last(//openstack.nova.limits.instances.current)','','0','','','','','0',NULL,'Number of available servers for each tenant.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29898c0cb13d4ccebc3da95c082da29b','0','2','0'),
('45601','15','','10587','RAM usage, free','openstack.nova.limits.ram.free','{$OPENSTACK.NOVA.INTERVAL.LIMITS}','31d','365d','0','3','','b','','',NULL,NULL,'last(//openstack.nova.limits.ram.max)-last(//openstack.nova.limits.ram.current)','','0','','','','','0',NULL,'Amount of available server RAM.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bdc1492bbb5c4bcd844eaa6f6e76c1ff','0','2','0'),
('45602','15','','10587','vCPUs usage, free','openstack.nova.limits.vcpu.free','{$OPENSTACK.NOVA.INTERVAL.LIMITS}','31d','365d','0','3','','','','',NULL,NULL,'last(//openstack.nova.limits.vcpu.max)-last(//openstack.nova.limits.vcpu.current)','','0','','','','','0',NULL,'Number of available server cores for each tenant.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97d3b897722d4910aea8e4c3c5f6c9a9','0','2','0'),
('45603','19','','10587','Get servers','openstack.nova.servers.get','{$OPENSTACK.NOVA.INTERVAL.SERVERS}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of servers.','0','30d','0','',NULL,'10s','{$OPENSTACK.NOVA.SERVICE.URL}/servers','','','200','1','0','{$OPENSTACK.HTTP.PROXY}','X-Auth-Token: {$OPENSTACK.TOKEN}','0','0','0','0','0','0','0','85d746d8b6cf404f95eeb7903c2e66e0','0','2','0'),
('45604','19','','10587','Get compute services','openstack.nova.services.get','{$OPENSTACK.NOVA.INTERVAL.SERVICES}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of compute services and its data.','0','30d','0','',NULL,'10s','{$OPENSTACK.NOVA.SERVICE.URL}/os-services','','','200','1','0','{$OPENSTACK.HTTP.PROXY}','X-Auth-Token: {$OPENSTACK.TOKEN}','0','0','0','0','0','0','0','3db93b6116ad416eb10da851cce385a1','0','2','0'),
('45605','21','','10587','Get tenants','openstack.nova.tenant.get','{$OPENSTACK.NOVA.INTERVAL.TENANTS}','0','0','0','4','','','','',NULL,NULL,'
const request_path = ''/os-simple-tenant-usage'';
function checkParams(params) {
[''api_url'', ''api_token'', ''period''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
if (field === ''period'') {
const supported_values = [''y'', ''m'', ''w'', ''d'']
if (supported_values.indexOf(params[field]) === -1) {
throw ''Tenant period not correctly set. Expected one of "y", "m", "w", "d"; received: '' + field + ''.'';
}
}
});
return params;
}
function buildUrl(url, period) {
const current_date = new Date();
var datetime_formatted = ''''
switch (period) {
case ''y'':
datetime_formatted =
current_date.getFullYear() + ''-'' +
''1-'' +
''1T'' +
''00:00:00''
break;
case ''m'':
datetime_formatted =
current_date.getFullYear() + ''-'' +
(current_date.getMonth() + 1) + ''-'' +
''1T'' +
''00:00:00''
break;
case ''w'':
const first_date_of_week = current_date.getDate() - current_date.getDay() + 1
datetime_formatted =
current_date.getFullYear() + ''-'' +
(current_date.getMonth() + 1) + ''-'' +
first_date_of_week + ''T'' +
''00:00:00''
break;
case ''d'':
datetime_formatted =
current_date.getFullYear() + ''-'' +
(current_date.getMonth() + 1) + ''-'' +
current_date.getDate() + ''T'' +
''00:00:00''
break;
}
return url + request_path + ''?'' +
''start='' + encodeURIComponent(datetime_formatted)
}
function getHttpData(url, params, api_token) {
const request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Auth-Token: '' + api_token);
if (params[''http_proxy'']) {
request.setProxy(params[''http_proxy''])
Zabbix.log(4, ''[ Openstack Nova API ] Using http proxy: '' + params[''http_proxy'']);
}
const response = request.get(url, JSON.stringify(params));
Zabbix.log(4, ''[ Openstack Nova API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
} else {
throw ''Failed to receive data: invalid response status code ( '' + request.getStatus() + '' ). Check debug log for more information.'';
}
}
return response;
}
const params = checkParams(JSON.parse(value)),
url = params.api_url,
token = params.api_token,
period = params.period;
return getHttpData(buildUrl(url, period), params, token);','','0','','','','','0',NULL,'Gets a list of tenants and its data.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','c258e567922c4f71a4dee9c0d6b88b1e','0','2','0'),
('45635','11','','10589','Get archive','db.odbc.select[pgsql.archive,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'WITH values AS (
SELECT
4096/(ceil(pg_settings.setting::numeric/1024/1024))::int AS segment_parts_count,
setting::bigint AS segment_size,
(''x'' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
(''x'' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
CASE WHEN pg_is_in_recovery() THEN NULL
ELSE (''x'' || substring(pg_walfile_name(pg_current_wal_lsn()) from 9 for 8))::bit(32)::int END AS current_wal_div,
CASE WHEN pg_is_in_recovery() THEN NULL
ELSE (''x'' || substring(pg_walfile_name(pg_current_wal_lsn()) from 17 for 8))::bit(32)::int END AS current_wal_mod
FROM pg_settings, pg_stat_archiver
WHERE pg_settings.name = ''wal_segment_size'')
SELECT json_build_object(
''archived_count'', (SELECT archived_count FROM pg_stat_archiver),
''failed_count'', (SELECT failed_count FROM pg_stat_archiver),
''count_files'', (SELECT greatest(coalesce((segment_parts_count - last_wal_mod) + ((current_wal_div - last_wal_div - 1) * segment_parts_count) + current_wal_mod - 1, 0), 0) FROM values),
''size_files'', (SELECT greatest(coalesce(((segment_parts_count - last_wal_mod) + ((current_wal_div - last_wal_div - 1) * segment_parts_count) + current_wal_mod - 1) * segment_size, 0), 0) FROM values)
) AS result','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect archive status metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9440208c49134347809eff39109c644f','0','2','0'),
('45636','11','','10589','Replication: Lag in bytes','db.odbc.select[pgsql.replication.lag.b,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'SELECT
CASE
WHEN NOT pg_is_in_recovery() OR pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() THEN 0
ELSE COALESCE(EXTRACT(EPOCH FROM now() - pg_last_xact_replay_timestamp())::integer, 0)
END AS lag','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Replication lag with master, in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','669d87ebf9324d6eaa26c3cb44efc850','0','2','0'),
('45637','11','','10589','Count of autovacuum workers','db.odbc.select[pgsql.autovacuum.count,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'SELECT count(*)
FROM pg_catalog.pg_stat_activity
WHERE backend_type = ''autovacuum worker''
AND state <> ''idle''
AND pid <> pg_catalog.pg_backend_pid()','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Number of autovacuum workers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd79edeb2d65420fb58d587e411c440f','0','2','0'),
('45638','15','','10589','Cache hit ratio, %','pgsql.cache.hit','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//pgsql.dbstat.sum.blks_hit.rate) * 100 / (last(//pgsql.dbstat.sum.blks_hit.rate) + last(//pgsql.dbstat.sum.blks_read.rate))','','0','','','','','0',NULL,'Cache hit ratio.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6444043a810b4b2f89740c1c794a47c0','0','2','0'),
('45639','11','','10589','Get WAL','db.odbc.select[pgsql.wal.stat,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','5m','0','0','0','4','','','','',NULL,NULL,'SELECT row_to_json(T)
FROM (
SELECT
CASE
WHEN pg_is_in_recovery() THEN 0
ELSE pg_wal_lsn_diff(pg_current_wal_lsn(),''0/00000000'')
END AS WRITE,
CASE
WHEN NOT pg_is_in_recovery() THEN 0
ELSE pg_wal_lsn_diff(pg_last_wal_receive_lsn(),''0/00000000'')
END AS RECEIVE,
count(*)
FROM pg_ls_waldir() AS COUNT
) T','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect write-ahead log (WAL) metrics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8af13c6154744e9596a0f96dfbf09d8b','0','2','0'),
('45640','11','','10589','Uptime','db.odbc.select[pgsql.uptime,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','0','','uptime','','',NULL,NULL,'SELECT date_part(''epoch'', now() - pg_postmaster_start_time())','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Time since the server started.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','817c494132044fff88ea4c9fcaacb60a','0','2','0'),
('45641','11','','10589','Replication: Status','db.odbc.select[pgsql.replication.status,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','','','',NULL,'1109','SELECT
CASE
WHEN NOT pg_is_in_recovery() THEN 2
ELSE (SELECT count(*) FROM pg_stat_wal_receiver)
END AS repl_status','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6cc8c748f6174d3dba9aa9b39570b006','0','2','0'),
('45642','11','','10589','Replication: Recovery role','db.odbc.select[pgsql.replication.recovery_role,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','','','',NULL,'1108','SELECT pg_is_in_recovery()::int','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8205cdd902a4a688b5bcb7f65d8e41d','0','2','0'),
('45643','11','','10589','Replication: Lag in seconds','db.odbc.select[pgsql.replication.lag.sec,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'SELECT
CASE
WHEN NOT pg_is_in_recovery() OR pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() THEN 0
ELSE COALESCE(EXTRACT(EPOCH FROM now() - pg_last_xact_replay_timestamp())::integer, 0)
END AS lag','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Replication lag with master, in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb87b83d35784d3ea5be2263fa3722b0','0','2','0'),
('45644','11','','10589','Get replication','db.odbc.select[pgsql.replication.process,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT json_object_agg(application_name, row_to_json(T))
FROM (
SELECT
application_name,
EXTRACT(epoch FROM COALESCE(flush_lag,''0''::interval)) AS flush_lag,
EXTRACT(epoch FROM COALESCE(replay_lag,''0''::interval)) AS replay_lag,
EXTRACT(epoch FROM COALESCE(write_lag, ''0''::interval)) AS write_lag
FROM pg_stat_replication
) T','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect metrics from the pg_stat_replication, which contains information about the WAL sender process, showing statistics about replication to that sender''s connected standby server.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f2b5c02a6be40d4837205f68aaacabb','0','2','0'),
('45645','11','','10589','Replication: Standby count','db.odbc.select[pgsql.replication.count,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'SELECT count(*) FROM pg_stat_replication','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Number of standby servers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d156db3cb35049a88179060583961156','0','2','0'),
('45646','11','','10589','Ping','db.odbc.select[pgsql.ping,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','3','','','','',NULL,'1110','SELECT 1','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Used to test a connection to see if it is alive. It is set to 0 if the query is unsuccessful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c16a3c2db7641c2b6958649d7b4809e','0','2','0'),
('45647','11','','10589','Age of oldest xid','db.odbc.select[pgsql.oldest.xid,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'SELECT greatest(max(age(backend_xmin)), max(age(backend_xid)))
FROM pg_catalog.pg_stat_activity','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Age of oldest xid.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','266a9b5c1e604d97ac5a74ccdb598c97','0','2','0'),
('45648','11','','10589','Get locks','db.odbc.select[pgsql.locks,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'WITH T AS
(SELECT db.datname dbname,
lower(replace(Q.mode, ''Lock'', '''')) AS MODE,
coalesce(T.qty, 0) val
FROM pg_database db
JOIN (
VALUES (''AccessShareLock'') ,(''RowShareLock'') ,(''RowExclusiveLock'') ,(''ShareUpdateExclusiveLock'') ,(''ShareLock'') ,(''ShareRowExclusiveLock'') ,(''ExclusiveLock'') ,(''AccessExclusiveLock'')) Q(MODE) ON TRUE NATURAL
LEFT JOIN
(SELECT datname,
MODE,
count(MODE) qty
FROM pg_locks lc
RIGHT JOIN pg_database db ON db.oid = lc.database
GROUP BY 1, 2) T
WHERE NOT db.datistemplate
ORDER BY 1, 2)
SELECT json_object_agg(dbname, row_to_json(T2))
FROM
(SELECT dbname,
sum(val) AS total,
sum(CASE
WHEN MODE = ''accessexclusive'' THEN val
END) AS accessexclusive,
sum(CASE
WHEN MODE = ''accessshare'' THEN val
END) AS accessshare,
sum(CASE
WHEN MODE = ''exclusive'' THEN val
END) AS EXCLUSIVE,
sum(CASE
WHEN MODE = ''rowexclusive'' THEN val
END) AS rowexclusive,
sum(CASE
WHEN MODE = ''rowshare'' THEN val
END) AS rowshare,
sum(CASE
WHEN MODE = ''share'' THEN val
END) AS SHARE,
sum(CASE
WHEN MODE = ''sharerowexclusive'' THEN val
END) AS sharerowexclusive,
sum(CASE
WHEN MODE = ''shareupdateexclusive'' THEN val
END) AS shareupdateexclusive
FROM T
GROUP BY dbname) T2','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efa015e294684fdeb711a0fde1256cf9','0','2','0'),
('45649','11','','10589','Get dbstat sum','db.odbc.select[pgsql.dbstat.sum,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT row_to_json(T) FROM (
SELECT sum(numbackends) AS numbackends,
sum(xact_commit) AS xact_commit,
sum(xact_rollback) AS xact_rollback,
sum(blks_read) AS blks_read,
sum(blks_hit) AS blks_hit,
sum(tup_returned) AS tup_returned,
sum(tup_fetched) AS tup_fetched,
sum(tup_inserted) AS tup_inserted,
sum(tup_updated) AS tup_updated,
sum(tup_deleted) AS tup_deleted,
sum(conflicts) AS conflicts,
sum(temp_files) AS temp_files,
sum(temp_bytes) AS temp_bytes,
sum(deadlocks) AS deadlocks,
sum(blk_read_time) AS blk_read_time,
sum(blk_write_time) AS blk_write_time
FROM pg_stat_database) T','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect all metrics from pg_stat_database as sums for all databases:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ea1a17fad8b4ef3aba8b49a0922a77d','0','2','0'),
('45650','11','','10589','Get dbstat','db.odbc.select[pgsql.dbstat,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT json_object_agg(coalesce (datname,''null''), row_to_json(T)) FROM (
SELECT datname,
numbackends AS numbackends,
xact_commit AS xact_commit,
xact_rollback AS xact_rollback,
blks_read AS blks_read,
blks_hit AS blks_hit,
tup_returned AS tup_returned,
tup_fetched AS tup_fetched,
tup_inserted AS tup_inserted,
tup_updated AS tup_updated,
tup_deleted AS tup_deleted,
conflicts AS conflicts,
temp_files AS temp_files,
temp_bytes AS temp_bytes,
deadlocks AS deadlocks,
blk_read_time AS blk_read_time,
blk_write_time AS blk_write_time
FROM pg_catalog.pg_stat_database WHERE datname IS NOT NULL) T;','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f93764d56574a288467ad16dce11a17','0','2','0'),
('45651','11','','10589','Get queries','db.odbc.select[pgsql.queries,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,E'WITH T AS
(SELECT db.datname,
coalesce(T.query_time_max, 0) query_time_max,
coalesce(T.tx_time_max, 0) tx_time_max,
coalesce(T.mro_time_max, 0) mro_time_max,
coalesce(T.query_time_sum, 0) query_time_sum,
coalesce(T.tx_time_sum, 0) tx_time_sum,
coalesce(T.mro_time_sum, 0) mro_time_sum,
coalesce(T.query_slow_count, 0) query_slow_count,
coalesce(T.tx_slow_count, 0) tx_slow_count,
coalesce(T.mro_slow_count, 0) mro_slow_count
FROM pg_database db NATURAL
LEFT JOIN (
SELECT datname,
extract(epoch FROM now())::integer ts,
coalesce(max(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'', ''idle in transaction'', ''idle in transaction (aborted)'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) query_time_max,
coalesce(max(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) tx_time_max,
coalesce(max(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'') AND query ~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) mro_time_max,
coalesce(sum(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'', ''idle in transaction'', ''idle in transaction (aborted)'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) query_time_sum,
coalesce(sum(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) tx_time_sum,
coalesce(sum(extract(''epoch'' FROM (clock_timestamp() - query_start))::integer * (state NOT IN (''idle'') AND query ~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) mro_time_sum,
coalesce(sum((extract(''epoch'' FROM (clock_timestamp() - query_start)) > {$PG.QUERY_ETIME.MAX.WARN})::integer * (state NOT IN (''idle'', ''idle in transaction'', ''idle in transaction (aborted)'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) query_slow_count,
coalesce(sum((extract(''epoch'' FROM (clock_timestamp() - query_start)) > {$PG.QUERY_ETIME.MAX.WARN})::integer * (state NOT IN (''idle'') AND query !~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) tx_slow_count,
coalesce(sum((extract(''epoch'' FROM (clock_timestamp() - query_start)) > {$PG.QUERY_ETIME.MAX.WARN})::integer * (state NOT IN (''idle'') AND query ~* E''^(\\\\s*(--[^\\\\n]*\\\\n|/\\\\*.*\\\\*/|\\\\n))*(autovacuum|VACUUM|ANALYZE|REINDEX|CLUSTER|CREATE|ALTER|TRUNCATE|DROP)'')::integer), 0) mro_slow_count
FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
GROUP BY 1) T
WHERE NOT db.datistemplate )
SELECT json_object_agg(datname, row_to_json(T))
FROM T','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect all metrics by query execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee6b3f64e07d4acd875dbd83dccd51d0','0','2','0'),
('45653','11','','10589','Get connections sum','db.odbc.select[pgsql.connections.sum,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT row_to_json(T)
FROM (
SELECT
sum(CASE WHEN state = ''active'' THEN 1 ELSE 0 END) AS active,
sum(CASE WHEN state = ''idle'' THEN 1 ELSE 0 END) AS idle,
sum(CASE WHEN state = ''idle in transaction'' THEN 1 ELSE 0 END) AS idle_in_transaction,
sum(CASE WHEN state = ''idle in transaction (aborted)'' THEN 1 ELSE 0 END) AS idle_in_transaction_aborted,
sum(CASE WHEN state = ''fastpath function call'' THEN 1 ELSE 0 END) AS fastpath_function_call,
sum(CASE WHEN state = ''disabled'' THEN 1 ELSE 0 END) AS disabled,
count(*) AS total,
count(*)*100/(SELECT current_setting(''max_connections'')::int) AS total_pct,
sum(CASE WHEN wait_event IS NOT NULL THEN 1 ELSE 0 END) AS waiting,
(SELECT count(*) FROM pg_prepared_xacts) AS prepared
FROM pg_stat_activity WHERE datid IS NOT NULL AND state IS NOT NULL) T','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1d267b6aed064d03b4f464b27c1e897e','0','2','0'),
('45743','21','','10590','Authentication','sd_wan.authentication','{$SDWAN.AUTH.FREQUENCY}','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value),
request = new HttpRequest(),
cookies = [],
token = "",
error_msg = "";
function authenticate(url) {
var payload = ''j_username='' + encodeURIComponent(params.username)
+ ''&j_password='' + encodeURIComponent(params.password);
request.addHeader(''Content-Type'', ''application/x-www-form-urlencoded'');
response = request.post(url, payload);
Zabbix.log(4, ''[ SD-WAN API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code.'';
}
if (response !== null && response != "") {
throw ''Authentication failed.'';
}
var headers = request.getHeaders();
for (key in headers) {
if (key.toLowerCase() == ''set-cookie'') {
var entries = headers[key].split('','');
for (idx in entries) {
var value = entries[idx].split('';'')[0];
cookies.push(value);
}
}
}
};
function getToken(url) {
response = request.get(url);
Zabbix.log(4, ''[ SD-WAN API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code.'';
}
var headers = request.getHeaders();
for (key in headers) {
if (key.toLowerCase() == ''content-type'' && headers[key] != ''application/json'') {
throw ''Something went wrong while getting the authentication token. Check debug log for more information.'';
}
}
return response;
};
try {
[''username'', ''password'', ''url''].forEach(function (field) {
var macro = ''{$SDWAN.API.'' + field.toUpperCase() + ''}'';
if (params[field] === macro || params[field] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[field] === ''undefined'') {
throw ''Please set \\'''' + field + ''\\'' script input parameter to '' + macro + '' macro value.'';
}
});
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$SDWAN.HTTP_PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
authenticate(params.url + ''j_security_check'');
token = getToken(params.url + ''dataservice/client/token'');
} catch (err) {
error_msg = err;
};
return JSON.stringify({
''cookie'': cookies.join(''; ''),
''token'': token,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'Cisco SD-WAN authentication with service account parameters and temporary-generated token usage.
Returns an authentication token and session id; it is required only once and is used for all dependent script items.
A session will expire after 30 minutes of inactivity or after 24 hours, which is the total lifespan of a session.
Check the template documentation for the details.','0','30d','0','',NULL,'{$SDWAN.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','5aa5a643a3cf42148454507da22aeb17','0','2','0'),
('45744','15','','10591','Memory utilization','sd_wan.device.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//sd_wan.device.memory.used)/last(//sd_wan.device.memory.total)*100','','0','','','','','0',NULL,'Calculated percentage of the memory used, in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b8551ab8a8c4586b2a1bc02bcc7ca60','0','2','0'),
('45745','21','','10591','Get routes data','sd_wan.get.routes','{$SDWAN.ROUTES.FREQUENCY}','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value),
request = new HttpRequest(),
result = { "data": [], "error": "" },
error_msg = "";
function getHttpData(url, data, token, cookie) {
request.addHeader(''Cookie: '' + cookie);
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-XSRF-TOKEN: '' + token);
if (typeof data !== ''undefined'') {
data = JSON.stringify(data);
}
response = request.post(url, data);
Zabbix.log(4, ''[ Cisco SD-WAN ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
[''auth.token'', ''auth.cookie'', ''api.url'', ''device_id''].forEach(function (field) {
var macro = ''{$SDWAN.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').slice(-1);
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set \\'''' + key + ''\\'' script input parameter to '' + macro + '' macro value.'';
}
});
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$SDWAN.HTTP_PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
if (!params.interval.endsWith(''h'')) {
throw ''The value of {'' + ''$SDWAN.ROUTES.INTERVAL} must be expressed in hours.'';
}
else {
try {
params.interval = Number(params.interval.replace(''h'', ''''));
}
catch (error) {
throw ''Please change {'' + ''$SDWAN.ROUTES.INTERVAL} macro to the proper value.'';
}
}
var req_data = {
"query": {
"condition": "AND",
"rules": [
{
"value": [
String(params.interval)
],
"field": "entry_time",
"type": "date",
"operator": "last_n_hours"
},
{
"value": [
params.device_id
],
"field": "vdevice_name",
"type": "string",
"operator": "in"
}
]
},
"aggregation": {
"field": [
{
"property": "local_color",
"order": "asc",
"sequence": 1
},
{
"property": "remote_color",
"order": "asc",
"sequence": 1
}
],
"metrics": [
{
"property": "loss_percentage",
"type": "avg"
},
{
"property": "latency",
"type": "avg"
},
{
"property": "jitter",
"type": "avg"
}
]
}
};
var routes = getHttpData(
params.url + ''dataservice/statistics/approute/aggregation'',
req_data,
params.token,
params.cookie
);
if (Array.isArray(routes.data)) {
result["data"] = routes.data;
}
else {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
} catch (error) {
error_msg = error.toString();
error_msg += (error_msg.endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Cisco SD-WAN ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering device routes from Cisco SD-WAN API.','0','30d','0','',NULL,'{$SDWAN.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','d9ae4a103ae74932a57ad495f2829b62','0','2','0'),
('45746','21','','10591','Get interfaces data','sd_wan.get.interfaces','1m','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value),
request = new HttpRequest(),
result = { "data": [], "error": "" },
error_msg = "";
function getHttpData(url, token, cookie) {
request.addHeader(''Cookie: '' + cookie);
request.addHeader(''X-XSRF-TOKEN: '' + token);
response = request.get(url);
Zabbix.log(4, ''[ Cisco SD-WAN ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
[''auth.token'', ''auth.cookie'', ''api.url'', ''device_id''].forEach(function (field) {
var macro = ''{$SDWAN.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').slice(-1);
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set \\'''' + key + ''\\'' script input parameter to '' + macro + '' macro value.'';
}
});
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$SDWAN.HTTP_PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
var interface_list = getHttpData(
params.url + ''dataservice/device/interface?deviceId='' + encodeURIComponent(params.device_id),
params.token,
params.cookie
);
if (Array.isArray(interface_list.data) && interface_list.data.length > 0) {
var interfaces = {};
interface_list.data.forEach(function (if_item) {
var if_key = if_item[''vdevice-name''] + ''_'' + if_item.ifname + ''_'' + if_item.ifindex;
interfaces[if_key] = (typeof interfaces[if_key] !== ''undefined'') ? interfaces[if_key] : {};
if (typeof if_item[''af-type''] !== ''undefined'') {
if (if_item[''af-type''].includes(''ipv6'')) {
Object.keys(if_item).sort().forEach(function (key) {
if (key.match(/([tr]x-)/g)) {
interfaces[if_key][''ipv6-'' + key] = if_item[key];
}
});
}
else {
interfaces[if_key] = if_item;
}
}
else {
interfaces[if_key] = if_item;
}
});
Object.keys(interfaces).forEach(function (key) {
result.data.push(interfaces[key]);
});
}
else {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
} catch (error) {
error_msg = error.toString();
error_msg += (error_msg.endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Cisco SD-WAN ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering device interfaces from Cisco SD-WAN API.','0','30d','0','',NULL,'{$SDWAN.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','694fb02640314fcab6cb2352fe4378ea','0','2','0'),
('45747','21','','10591','Get device data','sd_wan.get.device','1m','0','0','0','4','','','','',NULL,NULL,E'var params = JSON.parse(value),
request = new HttpRequest(),
device_info = {},
error_msg = "";
function getHttpData(url, token, cookie) {
request.addHeader(''Cookie: '' + cookie);
request.addHeader(''X-XSRF-TOKEN: '' + token);
response = request.get(url);
Zabbix.log(4, ''[ Cisco SD-WAN ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
[''auth.token'', ''auth.cookie'', ''api.url'', ''device_id''].forEach(function (field) {
var macro = ''{$SDWAN.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').slice(-1);
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set \\'''' + key + ''\\'' script input parameter to '' + macro + '' macro value.'';
}
});
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$SDWAN.HTTP_PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
device_info = getHttpData(
params.url + ''dataservice/device?deviceId='' + encodeURIComponent(params.device_id),
params.token,
params.cookie
);
if (Array.isArray(device_info.data) && device_info.data.length > 0) {
device_info = device_info.data[0];
}
else {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
var system_info = getHttpData(
params.url + ''dataservice/device/system/status?deviceId='' + params.device_id,
params.token,
params.cookie
);
if (Array.isArray(system_info.data) && system_info.data.length > 0) {
device_info = Object.assign(device_info, system_info.data[0]);
}
else {
throw ''Failed to parse response received from Cisco SD-WAN API. Check debug log for more information.'';
}
} catch (error) {
error_msg = error.toString();
error_msg += (error_msg.endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Cisco SD-WAN ] ERROR: '' + error_msg);
};
device_info.error = error_msg;
return JSON.stringify(device_info);','','0','','','','','0',NULL,'Item for gathering device data from Cisco SD-WAN API.','0','30d','0','',NULL,'{$SDWAN.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','7a4cc11f131e4f7f9511ac19dbfb82f4','0','2','0'),
('45818','19','','10593','Get projects','mantisbt.get.projects','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get projects from Mantis BT.','0','30d','0','',NULL,'30s','{$MANTIS.URL}/api/rest/projects/','','','200','1','0','{$MANTIS.HTTP.PROXY}','Authorization: {$MANTIS.TOKEN}','0','0','0','0','0','0','0','bf1b74b98d5b4311afeb721059c01da9','0','2','0'),
('45852','19','','10594','Nomad clients get','nomad.client.nodes.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Nomad clients data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.ENDPOINT.API.URL}/v1/nodes','[{"os":"true"}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','99d8cd0768094bef93995e4baa475186','0','2','0'),
('45853','21','','10594','Nomad servers get','nomad.server.nodes.get','1h','0','0','0','4','','','','',NULL,NULL,'var Nomad = {
setParams: function (params) {
[''api_endpoint''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
});
Nomad.params = params;
if (typeof Nomad.params.api_endpoint === ''string'' && !Nomad.params.api_endpoint.endsWith(''/'')) {
Nomad.params.api_endpoint += ''/'';
}
},
request: function (query) {
var response,
request = new HttpRequest(),
url = Nomad.params.api_endpoint + query;
request.addHeader(''Content-Type: application/json'');
request.addHeader(''X-Nomad-Token: '' + Nomad.params.token);
if (Nomad.params.http_proxy) {
request.setProxy(Nomad.params.http_proxy)
Zabbix.log(4, ''[ Nomad ] Using http proxy: '' + Nomad.params.http_proxy);
}
Zabbix.log(4, ''[ Nomad ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Nomad ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nomad agent API.'';
}
}
return {
status: request.getStatus(),
response: response
};
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getIds: function () {
var result = this.request(''v1/operator/raft/configuration'');
if (typeof result.response !== ''object'' || result.status != 200) {
throw ''Cannot get servers list from Nomad agent API.'';
}
return this.getField(result, ''response.Servers'')
.map(function (srv) {
return srv[''ID''];
});
},
getServers: function () {
var ids = this.getIds();
result = Nomad.request(''v1/agent/members'');
if (typeof result.response !== ''object'' || result.status != 200) {
throw ''Cannot get servers list from Nomad agent API.'';
}
return this.getField(result,''response.Members'').filter(function (s) {
return ids.indexOf(s.Tags.id) >= 0;
});
},
};
try {
Nomad.setParams(JSON.parse(value));
var servers = Nomad.getServers();
return JSON.stringify(servers);
}
catch (error) {
error += ((String(error).endsWith(''.'')) ? '''' : ''.'');
Zabbix.log(3, ''[ Nomad ] ERROR: '' + error);
return JSON.stringify({ error: error + '' Check debug log for more information.'' });
}','','0','','','','','0',NULL,'Nomad servers data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','254354aa21764751bf7e1961e37de7ae','0','2','0'),
('45854','3','','10595','Service [rpc] state','net.tcp.service[tcp,,{$NOMAD.CLIENT.RPC.PORT}]','1m','31d','365d','0','3','','','','',NULL,'1120','','','0','','','','','0',NULL,'Current [rpc] service state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f98bd789c9f7409aac2e1902776ddc21','0','2','0'),
('45855','3','','10595','Service [serf] state','net.tcp.service[tcp,,{$NOMAD.CLIENT.SERF.PORT}]','1m','31d','365d','0','3','','','','',NULL,'1120','','','0','','','','','0',NULL,'Current [serf] service state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00b39edd70cc42daa565879494f15f38','0','2','0'),
('45856','19','','10595','Node info get','nomad.client.node.info.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Node info data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/nodes',E'[{"filter":"ID == \\"{HOST.HOST}\\""}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','36eb68c80b194a4591208cf210fb6d6e','0','2','0'),
('45857','19','','10595','Allocated jobs get','nomad.client.job.allocs.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Allocated jobs data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/allocations',E'[{"reverse":"true"},{"task_states":"false"},{"filter":"NodeID == \\"{HOST.HOST}\\" and DesiredStatus == \\"run\\" and ClientStatus == \\"running\\""}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','9948608c5b3a4dad9d1b433483296427','0','2','0'),
('45858','19','','10595','Telemetry get','nomad.client.data.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Telemetry data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/metrics','[{"format":"prometheus"}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','fe07fd88f3e14273b3f0b135aab26236','0','2','0'),
('45859','3','','10596','Service [rpc] state','net.tcp.service[tcp,,{$NOMAD.SERVER.RPC.PORT}]','1m','31d','365d','0','3','','','','',NULL,'1123','','','0','','','','','0',NULL,'Current [rpc] service state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5903e91262b4877be8c7e8f304b2862','0','2','0'),
('45860','19','','10596','Telemetry get','nomad.server.data.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Telemetry data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.SERVER.API.SCHEME}://{HOST.IP}:{$NOMAD.SERVER.API.PORT}/v1/metrics','[{"format":"prometheus"}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','b7ba2f4a56b04de298fde77cbf5afb6a','0','2','0'),
('45861','3','','10596','Service [serf] state','net.tcp.service[tcp,,{$NOMAD.SERVER.SERF.PORT}]','1m','31d','365d','0','3','','','','',NULL,'1123','','','0','','','','','0',NULL,'Current [serf] service state.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9eecc3ee79f04448991c83ac93459597','0','2','0'),
('45862','19','','10596','Internal stats get','nomad.server.stats.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Internal stats data in raw format.','0','30d','0','',NULL,'{$NOMAD.DATA.TIMEOUT}','{$NOMAD.SERVER.API.SCHEME}://{HOST.IP}:{$NOMAD.SERVER.API.PORT}/v1/agent/self',E'[{"filter":"ID == \\"{HOST.HOST}\\""}]','','','1','0','{$NOMAD.HTTP.PROXY}','X-Nomad-Token: {$NOMAD.TOKEN}','2','0','1','0','0','0','0','f8d3a680e6f94250ab0a1ef8169889e3','0','2','0'),
('46045','5','','10048','Utilization of snmp poller data collector processes, in %','zabbix[process,snmp poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the snmp poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96b04e9605e04b26a280bc62da92879b','0','2','0'),
('46047','5','','10047','Utilization of snmp poller data collector processes, in %','zabbix[process,snmp poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the snmp poller processes have been busy for the last minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa5db45e74834355a80566316017d6d4','0','2','0'),
('46050','19','','10599','Get access token','acronis.cpc.account_manager.get_token','{$ACRONIS.CPC.AUTH.INTERVAL}','0','0','0','4','','','','',NULL,NULL,'','','1','{$ACRONIS.CPC.AUTH.CLIENT.ID}','{$ACRONIS.CPC.AUTH.SECRET}','','','0',NULL,'Authorizes API user and receives access token.','0','30d','0','',NULL,'15s','{$ACRONIS.CPC.DATACENTER.URL}{$ACRONIS.CPC.PATH.ACCOUNT.MANAGEMENT}/idp/token','','grant_type=client_credentials','','1','0','{$ACRONIS.CPC.HTTP.PROXY}','Content-Type: application/x-www-form-urlencoded
X-Application-Secret: 5619386d-de56-49ec-8508-f5c399d3b9bd','0','1','0','0','0','0','0','bce642c2c6e743ccb618c96f6ca533da','0','2','0'),
('46051','19','','10600','Get customers','acronis.cpc.customers.get','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Fetches all customers.','0','30d','0','',NULL,'15s','{$ACRONIS.CPC.DATACENTER.URL}{$ACRONIS.CPC.PATH.ACCOUNT.MANAGEMENT}/tenants','[{"subtree_root_id":"{$ACRONIS.CPC.MSP.TENANT.UUID}"}]','','','1','0','{$ACRONIS.CPC.HTTP.PROXY}','Accept: application/json
Authorization: Bearer {$ACRONIS.CPC.ACCESS_TOKEN}
X-Application-Secret: 5619386d-de56-49ec-8508-f5c399d3b9bd','0','0','0','0','0','0','0','77f25dbbd477458a88f1850701dccc69','0','2','0'),
('46052','19','','10600','Get alerts','acronis.cpc.alerts.get','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Fetches all alerts.','0','30d','0','',NULL,'15s','{$ACRONIS.CPC.DATACENTER.URL}{$ACRONIS.CPC.PATH.ALERTS}/alerts','','','','1','0','{$ACRONIS.CPC.HTTP.PROXY}','Accept: application/json
Authorization: Bearer {$ACRONIS.CPC.ACCESS_TOKEN}
X-Application-Secret: 5619386d-de56-49ec-8508-f5c399d3b9bd','0','0','0','0','0','0','0','dba9a02767be47819f7012f316723fff','0','2','0'),
('46053','19','','10600','Get devices','acronis.cpc.devices.get','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Fetches all devices.','0','30d','0','',NULL,'15s','{$ACRONIS.CPC.DATACENTER.URL}{$ACRONIS.CPC.PATH.RESOURCE.MANAGEMENT}/resources','[{"type":"{$ACRONIS.CPC.DEVICE.RESOURCE.TYPE}"}]','','','1','0','{$ACRONIS.CPC.HTTP.PROXY}','Accept: application/json
Authorization: Bearer {$ACRONIS.CPC.ACCESS_TOKEN}
X-Application-Secret: 5619386d-de56-49ec-8508-f5c399d3b9bd','0','0','0','0','0','0','0','81b3d23d30964b88aeb3a0911ba0e487','0','2','0'),
('46054','21','','10600','Register integration','acronis.cpc.register.integration','24h','0','0','0','3','','','','',NULL,NULL,'
const request_path = ''/api/integration_management/v2/status'';
const app_id = ''5619386d-de56-49ec-8508-f5c399d3b9bd'';
function checkParams(params) {
[''api_url'', ''api_token'', ''tenant_uuid''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
return params;
}
function getHttpData(url, register, params, api_token, tenant_uuid) {
const request = new HttpRequest();
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + api_token);
request.addHeader(''X-Application-Secret: '' + app_id);
if (params[''http_proxy'']) {
request.setProxy(params[''http_proxy'']);
Zabbix.log(4, ''[ ACRONIS CYBER PROTECT CLOUD API ] Using http proxy: '' + params[''http_proxy'']);
}
if (!register) {
const response = request.get(url + ''?tenantID='' + encodeURIComponent(tenant_uuid));
Zabbix.log(4, ''[ ACRONIS CYBER PROTECT CLOUD API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
} else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return response;
} else {
const request_body = {
"application_id": app_id,
"module": {
"name": "Zabbix integration with Acronis Cyber Protect Cloud",
"version": "1.0.0"
},
"vendor_system": {
"name": "Product integrated with Acronis",
"version": "23.07"
},
"events": [
{
"category": "activation",
"action": "activated integration",
"activation_event": true
}
]
};
const response = request.post(url + ''?tenantID='' + encodeURIComponent(tenant_uuid), JSON.stringify(request_body));
Zabbix.log(4, ''[ ACRONIS CYBER PROTECT CLOUD API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 204) {
if (typeof (response.error && response.error.message) !== ''undefined'') {
throw response.error.message;
} else {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
}
return 1;
}
}
function parseGetStatusData(http_response) {
const data = JSON.parse(http_response);
if (data[''items'']) {
data[''items''].forEach(function (app) {
if (app[''application_id''] && app[''application_id''] === app_id) {
return app[''active''];
}
});
return false;
} else {
throw ''Unexpected data structure in HTTP response.'';
}
}
const params = checkParams(JSON.parse(value)),
url = params.api_url,
api_token = params.api_token,
tenant_uuid = params.tenant_uuid;
const current_activation_status = parseGetStatusData(getHttpData(url + request_path, false, params, api_token, tenant_uuid));
if (!current_activation_status) {
return getHttpData(url + request_path, true, params, api_token, tenant_uuid);
} else {
return 0;
}','','0','','','','','0',NULL,'Registers integration on Acronis services.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','3697d34ebbb74b90aa7318321ecc27e5','0','2','0'),
('46085','19','','10602','Get server information','nextcloud.serverinfo.get_data','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$NEXTCLOUD.USER.NAME}','{$NEXTCLOUD.USER.PASSWORD}','','','0',NULL,'This item provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc.
https://github.com/nextcloud/serverinfo','0','30d','0','',NULL,'10s','{$NEXTCLOUD.SCHEMA}://{$NEXTCLOUD.ADDRESS}/ocs/v2.php/apps/serverinfo/api/v1/info','','','200,401','1','0','{$NEXTCLOUD.PROXY}','OCS-APIRequest: true','0','0','0','0','0','0','0','8a7fb4062f484de4a8579ebb83b297a2','0','2','0'),
('46129','17','','10518','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12720ac373444e33961d97f9903eac0e','0','2','0'),
('46130','0','','10329','Version','pgsql.version["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','523528aad175455fbd1daba161365651','0','2','0'),
('46131','11','','10589','Version','db.odbc.select[pgsql.version,,"Database={$PG.DATABASE};{$PG.CONNSTRING.ODBC}"]','15m','31d','0','0','1','','','','',NULL,NULL,'SELECT version()','','0','{$PG.USER}','{$PG.PASSWORD}','','','0',NULL,'PostgreSQL version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4bfb0c1697f043d9acf640b84cc8d945','0','2','0'),
('46132','3','','10603','Check port availability','net.tcp.service["{$FGATE.SCHEME}","{$FGATE.API.FQDN}","{$FGATE.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1136','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27d30f93ff7c49d89537c43bad5f9453','0','2','0'),
('46133','19','','10603','Get firmware info','fgate.firmware.get_data','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for gathering device firmware info from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','{$FGATE.SCHEME}://{$FGATE.API.FQDN}:{$FGATE.API.PORT}/api/v2/monitor/system/firmware','[{"access_token":"{$FGATE.API.TOKEN}"}]','','200','1','0','{$FGATE.HTTP.PROXY}','','0','0','0','0','0','0','0','bc2ac899ea284703a6a8753ac5abc7c6','0','2','0'),
('46134','19','','10603','Get system info','fgate.system.get_data','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for gathering device system info from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','{$FGATE.SCHEME}://{$FGATE.API.FQDN}:{$FGATE.API.PORT}/api/v2/monitor/web-ui/state','[{"access_token":"{$FGATE.API.TOKEN}"}]','','200','1','0','{$FGATE.HTTP.PROXY}','','0','0','0','0','0','0','0','a6b831300e7048fbad4502973d0318e7','0','2','0'),
('46135','21','','10603','Get service licenses','fgate.service.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
request = new HttpRequest(),
result = {"data": {}, "lld": [], "error": ""},
api_url = "",
error_msg = "";
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ FortiGate ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
if ((typeof response.status !== ''undefined'' && response.status != ''success'') || typeof response.results === ''undefined'') {
var uri = ''/'' + response.path + ''/'' + response.name + ((typeof response.action !== ''undefined'') ? ''?action='' + response.action : "");
throw ''Failed to parse response received from '' + uri + ''. Check debug log for more information.'';
}
return response;
};
function capitalize(word, idx) {
return upAcronymCase(word.charAt(idx).toUpperCase() + word.slice(idx+1));
}
function upAcronymCase(word) {
if (word.length < 4) {
return word.toUpperCase()
}
return word;
}
function prepareServiceName(key) {
var result = [];
key.split(''_'').forEach(function (w) {
var forti_idx = w.indexOf(''forti'');
w = upAcronymCase(w);
if (forti_idx !== -1)
w = ''Forti'' + capitalize(w, forti_idx + 5);
else
w = capitalize(w, 0)
result.push(w);
});
return result.join('' '');
};
try {
[''scheme'', ''api.token'', ''api.fqdn'', ''api.port''].forEach(function (field) {
var macro = ''{$FGATE.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').pop();
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set "'' + key + ''" script input parameter to '' + macro + '' macro value.'';
}
});
api_url = params.scheme + ''://'' + params.fqdn + '':'' + params.port;
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$FGATE.HTTP.PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
var licence_list = getHttpData(
api_url + ''/api/v2/monitor/license/status?access_token='' + encodeURIComponent(params.token)
);
result.data = licence_list.results;
Object.keys(licence_list.results).forEach(function (key) {
var resource = licence_list.results[key];
if (typeof resource.status !== ''undefined'' && typeof resource.type !== ''undefined'') {
result.lld.push({
"key": key,
"name": prepareServiceName(key),
"status": resource.status,
"type": resource.type,
});
}
});
} catch (error) {
error_msg = error.toString();
error_msg += error_msg.endsWith(''.'') ? '''' : ''.'';
Zabbix.log(3, ''[ FortiGate ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering information about service licenses from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','90a78cff28d54a1b9b955e9dc94d48c7','0','2','0'),
('46136','21','','10603','Get SD-WAN data','fgate.sdwan.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
request = new HttpRequest(),
result = {"data": {}, "error": ""},
api_url = "",
health_members = [],
health_checks = [],
members = {},
error_msg = "";
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ FortiGate ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
if ((typeof response.status !== ''undefined'' && response.status != ''success'') || typeof response.results === ''undefined'') {
var uri = ''/'' + response.path + ''/'' + response.name + ((typeof response.action !== ''undefined'') ? ''?action='' + response.action : "");
throw ''Failed to parse response received from '' + uri + ''. Check debug log for more information.'';
}
return response;
};
try {
[''scheme'', ''api.token'', ''api.fqdn'', ''api.port''].forEach(function (field) {
var macro = ''{$FGATE.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').pop();
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set "'' + key + ''" script input parameter to '' + macro + '' macro value.'';
}
});
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$FGATE.HTTP.PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
api_url = params.scheme + ''://'' + params.fqdn + '':'' + params.port;
var sdwan_member_data = getHttpData(
api_url + ''/api/v2/monitor/virtual-wan/members?access_token='' + encodeURIComponent(params.token)
);
var sdwan_health_data = getHttpData(
api_url + ''/api/v2/monitor/virtual-wan/health-check?access_token='' + encodeURIComponent(params.token)
);
var sdwan_list = getHttpData(
api_url + ''/api/v2/cmdb/system/sdwan?access_token='' + encodeURIComponent(params.token)
);
sdwan_list.results[''health-check''].forEach(function (item) {
health_checks[item.q_origin_key] = item.members.length;
item.members.forEach(function (m) {
health_members.push({
''member_id'': m.q_origin_key,
''health_id'': item.q_origin_key,
''health_name'': item.name,
});
});
});
sdwan_list.results.members.forEach(function (item) {
members[item.q_origin_key] = item;
});
result.data = {
''member_lld'': sdwan_list.results.members.filter(function (v) {
if (v.interface.length > 0) {
return v;
}
}).map(function (v) {
if (typeof v.interface !== ''undefined'' && typeof sdwan_member_data.results[v.interface] !== ''undefined'') {
Object.assign(v, sdwan_member_data.results[v.interface]);
}
return v;
}),
''health_lld'': health_members.map(function (m) {
var item = {};
if (typeof members[String(m.member_id)] !== ''undefined'') {
[''interface'', ''status''].forEach(function (k) {
item[k] = members[String(m.member_id)][k];
});
Object.assign(item, m);
};
return item;
}).filter(function (v) {
if (v.interface.length > 0) {
return v;
}
}),
''health_data'': sdwan_list.results[''health-check''].filter(function (v) {
if (typeof health_checks[String(v.q_origin_key)] !== ''undefined'' && health_checks[String(v.q_origin_key)] > 0) {
return v;
}
}).map(function (v) {
delete v.members;
if (typeof v.name !== ''undefined'' && typeof sdwan_health_data.results[v.name] !== ''undefined'') {
Object.assign(v, sdwan_health_data.results[v.name]);
}
return v;
})
}
} catch (error) {
error_msg = error.toString();
error_msg += error_msg.endsWith(''.'') ? '''' : ''.'';
Zabbix.log(3, ''[ FortiGate ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering SD-WAN information from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','01814568a3bc4774a37957ff3d8c5e09','0','2','0'),
('46137','21','','10603','Get resources data','fgate.resources.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
request = new HttpRequest(),
result = {"data": {}, "error": ""},
api_url = "",
error_msg = "";
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ FortiGate ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
if ((typeof response.status !== ''undefined'' && response.status != ''success'') || typeof response.results === ''undefined'') {
var uri = ''/'' + response.path + ''/'' + response.name + ((typeof response.action !== ''undefined'') ? ''?action='' + response.action : "");
throw ''Failed to parse response received from '' + uri + ''. Check debug log for more information.'';
}
return response;
};
try {
[''scheme'', ''api.token'', ''api.fqdn'', ''api.port''].forEach(function (field) {
var macro = ''{$FGATE.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').pop();
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set "'' + key + ''" script input parameter to '' + macro + '' macro value.'';
}
});
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$FGATE.HTTP.PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
api_url = params.scheme + ''://'' + params.fqdn + '':'' + params.port;
var resource_list = getHttpData(
api_url + ''/api/v2/monitor/system/resource/usage?access_token='' + encodeURIComponent(params.token) + ''&interval=1-min''
);
var disk_info = getHttpData(
api_url + ''/api/v2/monitor/log/current-disk-usage?access_token='' + encodeURIComponent(params.token)
);
if (typeof resource_list.results !== ''undefined'' && typeof resource_list.results === ''object'') {
Object.keys(resource_list.results).forEach(function (key) {
var resource = resource_list.results[key];
if (resource.length > 0) {
result.data[key] = resource[0].current;
}
});
}
else {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
Object.keys(disk_info.results).forEach(function (key) {
result.data[''disk_'' + key.split(''_'')[0]] = disk_info.results[key];
});
} catch (error) {
error_msg = error.toString();
error_msg += error_msg.endsWith(''.'') ? '''' : ''.'';
Zabbix.log(3, ''[ FortiGate ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering device resource data from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','06199d6a96f2414b976d357cd2c95cb6','0','2','0'),
('46138','21','','10603','Get interfaces data','fgate.netif.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
request = new HttpRequest(),
result = {"data": {}, "error": ""},
api_url = "",
interfaces = {},
error_msg = "";
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ FortiGate ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
if ((typeof response.status !== ''undefined'' && response.status != ''success'') || typeof response.results === ''undefined'') {
var uri = ''/'' + response.path + ''/'' + response.name + ((typeof response.action !== ''undefined'') ? ''?action='' + response.action : "");
throw ''Failed to parse response received from '' + uri + ''. Check debug log for more information.'';
}
return response;
};
try {
[''scheme'', ''api.token'', ''api.fqdn'', ''api.port''].forEach(function (field) {
var macro = ''{$FGATE.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').pop();
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set "'' + key + ''" script input parameter to '' + macro + '' macro value.'';
}
});
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$FGATE.HTTP.PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
api_url = params.scheme + ''://'' + params.fqdn + '':'' + params.port;
var netif_data = getHttpData(
api_url + ''/api/v2/monitor/system/interface?access_token='' + encodeURIComponent(params.token)
);
var netif_list = getHttpData(
api_url + ''/api/v2/cmdb/system/interface?access_token='' + encodeURIComponent(params.token)
);
result.data = netif_list.results.map(function (v) {
var item = {};
[''q_origin_key'', ''name'', ''mode'', ''type'', ''description''].forEach(function (k) {
item[k] = v[k];
});
if (typeof item.q_origin_key !== ''undefined'' && typeof netif_data.results[String(item.q_origin_key)] !== ''undefined'') {
Object.assign(item, netif_data.results[String(item.q_origin_key)]);
}
if (typeof item.alias !== ''undefined'') {
item.alias = item.alias.slice(1,-1);
}
else {
item.alias = '''';
}
if (typeof item.link === ''undefined'') {
item.link = false;
}
if (typeof item.id === ''undefined'') {
item.id = item.q_origin_key;
}
return item;
});
} catch (error) {
error_msg = error.toString();
error_msg += error_msg.endsWith(''.'') ? '''' : ''.'';
Zabbix.log(3, ''[ FortiGate ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering network interfaces info from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','3bf84b70672d4fbca282ce1bf970581d','0','2','0'),
('46139','21','','10603','Get firewall data','fgate.fwp.get_data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),
request = new HttpRequest(),
result = {"data": {}, "error": ""},
api_url = "",
policies = {},
error_msg = "";
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ FortiGate ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Failed to receive data: invalid response status code. Check debug log for more information.'';
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from FortiGate API. Check debug log for more information.'';
}
}
if (typeof response !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
if ((typeof response.status !== ''undefined'' && response.status != ''success'') || typeof response.results === ''undefined'') {
var uri = ''/'' + response.path + ''/'' + response.name + ((typeof response.action !== ''undefined'') ? ''?action='' + response.action : "");
throw ''Failed to parse response received from '' + uri + ''. Check debug log for more information.'';
}
return response;
};
try {
[''scheme'', ''api.token'', ''api.fqdn'', ''api.port''].forEach(function (field) {
var macro = ''{$FGATE.'' + field.toUpperCase() + ''}'';
var key = field.split(''.'').pop();
if (params[key] === macro || params[key] === '''') {
throw ''Please change '' + macro + '' macro to the proper value.'';
}
if (typeof params[key] === ''undefined'') {
throw ''Please set "'' + key + ''" script input parameter to '' + macro + '' macro value.'';
}
});
if (typeof params.http_proxy !== ''undefined'' && params.http_proxy !== ''{'' + ''$FGATE.HTTP.PROXY}'' && params.http_proxy !== '''') {
request.setProxy(params.http_proxy);
}
api_url = params.scheme + ''://'' + params.fqdn + '':'' + params.port;
var firewall_data = getHttpData(
api_url + ''/api/v2/monitor/firewall/policy?access_token='' + encodeURIComponent(params.token)
);
var firewall_list = getHttpData(
api_url + ''/api/v2/cmdb/firewall/policy?access_token='' + encodeURIComponent(params.token)
);
firewall_list.results.forEach(function (v) {
var item = {};
[''q_origin_key'', ''status'', ''name'', ''uuid'', ''action'', ''ip-version-type'', ''label''].forEach(function (k) {
item[k] = v[k];
});
policies[v.policyid] = item;
});
result.data = firewall_data.results.map(function (v) {
if (typeof v.policyid !== ''undefined'' && typeof policies[String(v.policyid)] !== ''undefined'') {
Object.assign(v, policies[String(v.policyid)]);
}
return v;
}).filter(function (v) {
if (typeof v.name !== ''undefined'') {
return v;
}
});
} catch (error) {
error_msg = error.toString();
error_msg += error_msg.endsWith(''.'') ? '''' : ''.'';
Zabbix.log(3, ''[ FortiGate ] ERROR: '' + error_msg);
};
result.error = error_msg;
return JSON.stringify(result);','','0','','','','','0',NULL,'Item for gathering firewall policies info from FortiGate API.','0','30d','0','',NULL,'{$FGATE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','a7f8a7da176040ab8a43618e14944e42','0','2','0'),
('46212','3','','10604','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1140','','','0','','','','','0',NULL,'Host accessibility by ICMP.
0 - ICMP ping failed.
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5686859d4317437c9c23160b987a3468','0','2','0'),
('46213','20','get[1.3.6.1.2.1.1.5.0]','10604','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for the node (the node''s fully-qualified domain name). If not provided, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07256dfb73794eaea91c9c622e617200','0','2','0'),
('46214','20','get[1.3.6.1.4.1.12356.101.4.1.4.0]','10604','Memory utilization','vm.memory.util[memoryUsedPercentage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Current memory utilization (percentage).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29a7ec8007ef44b0b473f1c16be11059','0','2','0'),
('46215','15','','10604','Used memory','vm.memory.used[fgSysMemUsage.0]','1m','31d','365d','0','0','','B','','',NULL,NULL,'(last(//vm.memory.total[fgSysMemCapacity.0])*last(//vm.memory.util[memoryUsedPercentage.0]))/100','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Physical memory (RAM) used calculated based on memory utilization percentage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','15fb0d4185f04b4fb8e2efc6d0ef514c','0','2','0'),
('46216','20','get[1.3.6.1.4.1.12356.101.4.1.5.0]','10604','Total memory','vm.memory.total[fgSysMemCapacity.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Total physical memory (RAM) installed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ccef71de6944c91bf7d1e330782b542','0','2','0'),
('46217','15','','10604','Available memory','vm.memory.available[fgSysMemFree.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.total[fgSysMemCapacity.0])-last(//vm.memory.used[fgSysMemUsage.0])','','0','','','','','0',NULL,'Total memory available for utilization.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bbc42709b2d2467e8fd7963309c6090a','0','2','0'),
('46218','20','get[1.3.6.1.4.1.12356.101.4.1.6.0]','10604','Used disk space','vfs.fs.used[fgSysDiskUsage.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Current hard disk usage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a96f25d233e49039eb03b78fc8fd509','0','2','0'),
('46219','20','get[1.3.6.1.4.1.12356.101.4.1.7.0]','10604','Total disk space','vfs.fs.total[fgSysDiskCapacity.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total hard disk capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84318818c417403bbfadff759f87e4f4','0','2','0'),
('46220','15','','10604','Free disk percentage','vfs.fs.pfree','1m','31d','365d','0','0','','%','','',NULL,NULL,'100-(last(//vfs.fs.used[fgSysDiskUsage.0])/last(//vfs.fs.total[fgSysDiskCapacity.0])*100)','','0','','','','','0',NULL,'Free disk space, expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b7001a7fd88040fe8a11512df1d9ec07','0','2','0'),
('46221','15','','10604','Free disk space','vfs.fs.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vfs.fs.total[fgSysDiskCapacity.0])-last(//vfs.fs.used[fgSysDiskUsage.0])','','0','','','','','0',NULL,'Free hard disk capacity.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c702bedf91d74cd8b2346ea0abca37c5','0','2','0'),
('46222','20','get[1.3.6.1.4.1.12356.101.4.1.20.0]','10604','System uptime','system.uptime[fgSysUpTime.0]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Time since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6b85f5f1738b46acb17157d8fbf60ecf','0','2','0'),
('46223','20','get[1.3.6.1.2.1.1.2.0]','10604','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','53aee5ecb43b4fe29a2e172f48577fa5','0','2','0'),
('46224','20','get[1.3.6.1.2.1.1.6.0]','10604','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8adf6927a2ba4c26b31a1a527cfd33f7','0','2','0'),
('46225','3','','10604','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','60ba9ecc198840a3a92ef3221e21a97e','0','2','0'),
('46226','20','get[1.3.6.1.2.1.47.1.1.1.1.11.1]','10604','Hardware serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB
Serial number of the device.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ad23a8963e64a7da8b064463631a2f9','0','2','0'),
('46227','20','get[1.3.6.1.2.1.47.1.2.1.1.2.1]','10604','Hardware model name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB
Model of the device.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1cde0e8780a455db0f7aec7b6b3bc7a','0','2','0'),
('46228','20','get[1.3.6.1.4.1.12356.101.4.1.1.0]','10604','Firmware version','system.hw.firmware','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Firmware version of the device.','16','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','277fdc82a6d04e53a0da7bb29d087de7','0','2','0'),
('46229','20','get[1.3.6.1.2.1.1.1.0]','10604','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2a2247eaddf4908b731ef0c42627d47','0','2','0'),
('46230','20','get[1.3.6.1.4.1.12356.101.4.1.3.0]','10604','CPU utilization','system.cpu.util[fgSysCpuUsage.0]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
CPU utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6c36e1b4fac4242a3c3ddd4a5483dde','0','2','0'),
('46231','20','get[1.3.6.1.4.1.12356.101.4.4.1.0]','10604','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of processors.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c728a8f64cff450ebc445d9abc03486d','0','2','0'),
('46232','20','get[1.3.6.1.2.1.1.4.0]','10604','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc57314e0cd143c79654e53d16f341ca','0','2','0'),
('46233','17','','10604','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Used for collecting all SNMP traps unmatched by other `snmptrap` items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b00ecb6f04a04f579ce0a8e6a1c0984e','0','2','0'),
('46234','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10604','SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abd3f407b66946dab2b05f7ec8a2daf2','0','2','0'),
('46235','3','','10604','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c5c3cde736544304a76c5fe1774c1fc7','0','2','0'),
('46236','5','','10604','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1141','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e37679441344327bf86ae38cd62f580','0','2','0'),
('46247','19','','10548','Get SAML SSO','meraki.get.saml','12h','31d','365d','0','3','','','','',NULL,'1142','','','0','','','','','0',NULL,'Return the enabled SAML SSO settings for the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/saml','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','b33608b4c24d4c7bbf1f76f639890715','0','2','0'),
('46248','19','','10548','Get admin''s account','meraki.get.admins','12h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get list of the dashboard administrators in this organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/admins','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','75c09cebedc7436cb4304acc3652955c','0','2','0'),
('46249','21','','10548','Get list licenses','meraki.get.list.licenses','12h','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader(''X-Cisco-Meraki-API-Key:'' + params.token);
request.addHeader(''User-Agent: ZabbixServer/1.1 Zabbix'');
var response,
error_msg = '''',
organization_devices = [],
licenses = [];
function getField(data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
};
function getHttpData(url) {
response = request.get(url);
Zabbix.log(4, ''[ Meraki API ] [ '' + url + '' ] Received response with status code '' + request.getStatus() + '': '' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Meraki API. Check debug log for more information.'';
}
}
if (request.getStatus() !== 200) {
if (response.errors) {
throw response.errors.join('', '');
} else {
throw ''Failed to receive data: invalid response status code.'';
}
}
if (typeof (response) !== ''object'' || response === null) {
throw ''Cannot process response data: received data is not an object.'';
}
return response;
};
try {
if (params.token === ''{'' + ''$MERAKI.TOKEN}'') {
throw ''Please change {'' + ''$MERAKI.TOKEN} macro to the proper value.'';
}
if (params.url.indexOf(''http://'') === -1 && params.url.indexOf(''https://'') === -1) {
params.url = ''https://'' + params.url;
}
if (!params.url.endsWith(''/'')) {
params.url += ''/'';
}
if (typeof params.httpproxy !== ''undefined'' && params.httpproxy !== '''') {
request.setProxy(params.httpproxy);
}
licenses = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/licenses'');
organization_devices = getHttpData(params.url + ''organizations/'' + encodeURIComponent(params.organizationId) + ''/devices/statuses'');
licenses.forEach(function (license) {
license.deviceName = getField(license, ''deviceSerial'');
for (i in organization_devices) {
if (getField(license, ''deviceSerial'') === getField(organization_devices[i], ''serial'')) {
device_name = getField(organization_devices[i], ''name'');
if (!device_name) {
device_name = getField(organization_devices[i], ''serial'');
}
license.deviceName = device_name;
}
}
});
} catch (error) {
error_msg = error;
};
return JSON.stringify({
''licenses'': licenses,
''error'': error_msg.toString()
});','','0','','','','','0',NULL,'Return list of the licenses for the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','8ea56a7338f040fcbb9016da892dec90','0','2','0'),
('46250','19','','10548','Get login security','meraki.get.login.security','12h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Return the login security settings for the organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/loginSecurity','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','ac5da80c1e9b46a2ac31809e16fe1bfc','0','2','0'),
('46251','19','','10548','Get SAML roles','meraki.get.saml.roles','12h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get list of the SAML roles for this organization.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ID}/samlRoles','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','055cc5b5b49b4f398e06832091f66544','0','2','0'),
('46308','5','','10048','Proxy memory buffer, % used','zabbix[proxy_buffer,buffer,pused]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix proxy memory buffer usage statistics. Percentage of used proxy memory buffer.
Proxy memory buffer is used to store the new historical data and upload from it without accessing database.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e60cdba498a94c19955696f40d5e1b32','0','2','0'),
('46309','5','','10048','Proxy buffer, state changes','zabbix[proxy_buffer,state,changes]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of state changes between disk/memory buffer modes since proxy start.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f5fbc277a574ce7a418439695f124ca','0','2','0'),
('46310','5','','10048','Proxy buffer, state','zabbix[proxy_buffer,state,current]','1m','31d','365d','0','3','','','','',NULL,'1145','','','0','','','','','0',NULL,'The current working state of proxy buffer where the new data is being stored. Possible values:
0 - disk (also returned when memory buffer is disabled);
1 - memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c970e56eda504a4d89b051439dda9787','0','2','0'),
('46314','5','','10047','Number of values synchronized with the database per second','zabbix[vps,written]','1m','31d','365d','0','0','','!vps','','',NULL,NULL,'','','0','','','','','0',NULL,'Average quantity of values written to the database, recalculated once per minute.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f61de4dcc1b469a94dd024e1b932936','0','2','0'),
('46319','21','','10605','Get data','hpe.ilo.get_data','{$ILO.INTERVAL}','0','0','0','4','','','','',NULL,NULL,'var ilo = {
params: {},
session_token: "",
session_url: "",
setParams: function (params) {
[''ilo_url'', ''user'', ''password''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
ilo.params = params;
if (typeof ilo.params.ilo_url === ''string'' && !ilo.params.ilo_url.endsWith(''/'')) {
ilo.params.ilo_url += ''/'';
}
},
apiAuth: function () {
var request = new HttpRequest(),
response,
headers,
url = encodeURI(ilo.params.ilo_url + ''redfish/v1/SessionService/Sessions/''),
auth_data = {
UserName: ilo.params.user,
Password: ilo.params.password
};
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Basic '' + btoa(ilo.params.user + '':'' + ilo.params.password));
if (typeof ilo.params.http_proxy !== ''undefined'' && ilo.params.http_proxy !== '''') {
request.setProxy(ilo.params.http_proxy);
Zabbix.log(4, ''[ HPE iLO ] Using HTTP proxy: '' + ilo.params.http_proxy);
}
Zabbix.log(4, ''[ HPE iLO ] Sending request: '' + url);
response = request.post(url, JSON.stringify(auth_data));
Zabbix.log(4, ''[ HPE iLO ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() != 201) {
throw ''Authentication failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse auth response received from API. Check debug log for more information.'';
}
try {
headers = request.getHeaders();
}
catch (error) {
throw ''Failed to parse auth headers received from API. Check debug log for more information.'';
}
try {
ilo.session_token = headers[''X-Auth-Token''];
ilo.session_url = headers[''Location''];
}
catch (error) {
throw ''Failed to retrieve auth token or session URL from API. Check debug log for more information.'';
}
delete request;
},
apiLogout: function () {
var request = new HttpRequest(),
response,
url = encodeURI(ilo.session_url);
request.addHeader(''X-Auth-Token: '' + ilo.session_token);
if (typeof ilo.params.http_proxy !== ''undefined'' && ilo.params.http_proxy !== '''') {
request.setProxy(ilo.params.http_proxy);
Zabbix.log(4, ''[ HPE iLO ] Using HTTP proxy: '' + ilo.params.http_proxy);
}
Zabbix.log(4, ''[ HPE iLO ] Sending request: '' + url);
response = request.delete(url);
Zabbix.log(4, ''[ HPE iLO ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() != 200) {
throw ''Deleting of session failed with status code '' + request.getStatus() + '': '' + response;
}
delete request;
},
apiRequest: function (query) {
var request = new HttpRequest(),
response,
url = encodeURI(ilo.params.ilo_url + query);
if (typeof ilo.params.http_proxy !== ''undefined'' && ilo.params.http_proxy !== '''') {
request.setProxy(ilo.params.http_proxy);
Zabbix.log(4, ''[ HPE iLO ] Using HTTP proxy: '' + ilo.params.http_proxy);
}
request.addHeader(''X-Auth-Token: '' + ilo.session_token);
Zabbix.log(4, ''[ HPE iLO ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ HPE iLO ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
delete request;
return response;
},
checkArray: function (array) {
return typeof array !== ''undefined'' && Array.isArray(array) && array.length > 0 ? true : false;
}
};
try {
ilo.setParams(JSON.parse(value));
ilo.apiAuth();
var systems = [],
storages = [],
controllers = [],
drives = [],
volumes = [],
chassis = [],
fans = [],
sensors = [],
psu = [],
managers = [];
var get_systems = ilo.apiRequest(''redfish/v1/Systems?$expand=.'');
if (ilo.checkArray(get_systems.Members)) {
for (i in get_systems.Members) {
if (''Id'' in get_systems.Members[i]) {
if (get_systems.Members[i].HostName === null) {
get_systems.Members[i].HostName = get_systems.Members[i].Id;
}
systems.push(get_systems.Members[i]);
var system_storages = ilo.apiRequest(''redfish/v1/Systems/'' + get_systems.Members[i].Id + ''/Storage?$expand=.'');
if (ilo.checkArray(system_storages.Members)) {
for (j in system_storages.Members) {
system_storages.Members[j].systemHostname = get_systems.Members[i].HostName;
system_storages.Members[j].systemType = get_systems.Members[i].SystemType;
system_storages.Members[j].systemId = get_systems.Members[i].Id;
storages.push(system_storages.Members[j]);
if (''Id'' in system_storages.Members[j]) {
var storage_controllers = ilo.apiRequest(''redfish/v1/Systems/'' + get_systems.Members[i].Id + ''/Storage/'' + system_storages.Members[j].Id + ''/Controllers?$expand=.'');
if (ilo.checkArray(storage_controllers.Members)) {
for (k in storage_controllers.Members) {
storage_controllers.Members[k].systemHostname = get_systems.Members[i].HostName;
storage_controllers.Members[k].systemType = get_systems.Members[i].SystemType;
storage_controllers.Members[k].systemId = get_systems.Members[i].Id;
storage_controllers.Members[k].storageId = system_storages.Members[j].Id;
controllers.push(storage_controllers.Members[k]);
}
}
var storage_drives = ilo.apiRequest(''redfish/v1/Systems/'' + get_systems.Members[i].Id + ''/Storage/'' + system_storages.Members[j].Id + ''?$expand=.'');
if (ilo.checkArray(storage_drives.Drives)) {
for (k in storage_drives.Drives) {
storage_drives.Drives[k].systemHostname = get_systems.Members[i].HostName;
storage_drives.Drives[k].systemType = get_systems.Members[i].SystemType;
storage_drives.Drives[k].systemId = get_systems.Members[i].Id;
storage_drives.Drives[k].storageId = system_storages.Members[j].Id;
drives.push(storage_drives.Drives[k]);
}
}
if (''Volumes'' in system_storages.Members[j]) {
var storage_volumes = ilo.apiRequest(''redfish/v1/Systems/'' + get_systems.Members[i].Id + ''/Storage/'' + system_storages.Members[j].Id + ''/Volumes?$expand=.'');
if (ilo.checkArray(storage_volumes.Members)) {
for (k in storage_volumes.Members) {
storage_volumes.Members[k].systemHostname = get_systems.Members[i].HostName;
storage_volumes.Members[k].systemType = get_systems.Members[i].SystemType;
storage_volumes.Members[k].systemId = get_systems.Members[i].Id;
storage_volumes.Members[k].storageId = system_storages.Members[j].Id;
volumes.push(storage_volumes.Members[k]);
}
}
}
}
}
}
}
}
}
var get_chassis = ilo.apiRequest(''redfish/v1/Chassis?$expand=.'');
if (ilo.checkArray(get_chassis.Members)) {
for (i in get_chassis.Members) {
if (''Id'' in get_chassis.Members[i]) {
chassis.push(get_chassis.Members[i]);
chassis_thermal = ilo.apiRequest(''redfish/v1/Chassis/'' + get_chassis.Members[i].Id + ''/Thermal/'');
if (ilo.checkArray(chassis_thermal.Fans)) {
for (j in chassis_thermal.Fans) {
chassis_thermal.Fans[j].chassisId = get_chassis.Members[i].Id;
fans.push(chassis_thermal.Fans[j]);
}
}
if (ilo.checkArray(chassis_thermal.Temperatures)) {
for (j in chassis_thermal.Temperatures) {
chassis_thermal.Temperatures[j].chassisId = get_chassis.Members[i].Id;
sensors.push(chassis_thermal.Temperatures[j]);
}
}
chassis_power = ilo.apiRequest(''redfish/v1/Chassis/'' + get_chassis.Members[i].Id + ''/Power/'');
if (ilo.checkArray(chassis_power.PowerSupplies)) {
for (j in chassis_power.PowerSupplies) {
chassis_power.PowerSupplies[j].chassisId = get_chassis.Members[i].Id;
psu.push(chassis_power.PowerSupplies[j]);
}
}
}
}
}
var get_managers = ilo.apiRequest(''redfish/v1/Managers?$expand=.'');
if (ilo.checkArray(get_managers.Members)) {
for (i in get_managers.Members) {
if (''Id'' in get_managers.Members[i]) {
managers.push(get_managers.Members[i]);
}
}
}
ilo.apiLogout();
return JSON.stringify({
''systems'': systems,
''storages'': storages,
''controllers'': controllers,
''drives'': drives,
''volumes'': volumes,
''chassis'': chassis,
''fans'': fans,
''sensors'': sensors,
''psu'': psu,
''managers'': managers
});
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ HPE iLO ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'The JSON with the result of API requests.','0','30d','0','',NULL,'{$ILO.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','3c2d368291294faa98c01a27f36ad805','0','2','0'),
('46396','21','','10606','Get daily costs','azure.get.daily.costs','0s;h/5m/30','0','0','0','4','','','','',NULL,NULL,E'var AzureCost = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureCost.params = params;
},
login: function () {
var response,
login = new HttpRequest();
if (typeof AzureCost.params.proxy !== ''undefined'' && AzureCost.params.proxy !== '''') {
login.setProxy(AzureCost.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureCost.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureCost.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureCost.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
AzureCost.token = response[''access_token''];
},
request: function (url, body) {
if (typeof body === ''undefined'' || body === null) {
body = '''';
}
var response,
headers,
regex = /-retry-after":"(\\d+)"/,
ratelimit,
request = new HttpRequest();
if (typeof AzureCost.params.proxy !== ''undefined'' && AzureCost.params.proxy !== '''') {
request.setProxy(AzureCost.params.proxy);
}
if (!AzureCost.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureCost.token);
Zabbix.log(4, ''[ AzureCost ] request url: '' + url);
response = request.post(url, body);
headers = JSON.stringify(request.getHeaders());
if (headers.match(regex) !== null && request.getStatus() === 429) {
ratelimit = headers.match(regex)[1];
Zabbix.log(4, ''[ AzureCost ] Microsoft Cost Management have rate limit requests per 1 minute, retrying after '' + ratelimit + '' seconds'');
Zabbix.sleep(ratelimit * 1010);
response = request.post(url, body);
}
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getCost: function () {
var metricData = {},
today = new Date(),
start_date = new Date(today);
start_date.setDate(today.getDate() - 1);
bodyRawCost = {
type: ''Usage'',
''timeframe'': ''Custom'',
''timePeriod'': {
''from'': start_date,
''to'': start_date
},
dataset: {
granularity: ''Daily'',
aggregation: {
totalCost: {
name: ''PreTaxCost'',
function: ''Sum''
}
},
grouping: [
{
type: ''Dimension'',
name: ''Meter'',
},
{
type: ''Dimension'',
name: ''MeterSubcategory'',
},
{
type: ''Dimension'',
name: ''ResourceGroup'',
},
{
type: ''Dimension'',
name: ''ServiceName'',
},
{
type: ''Dimension'',
name: ''ResourceLocation'',
}
]
}
};
metricData = AzureCost.request(''https://management.azure.com/subscriptions/'' + AzureCost.params.subscription_id + ''/providers/Microsoft.CostManagement/query?api-version=2023-11-01'', JSON.stringify(bodyRawCost));
var columns = AzureCost.getField(metricData, ''properties.columns'');
return transformedData = {
data: AzureCost.getField(metricData, ''properties.rows'').map(function (row) {
rowData = {};
columns.forEach(function (column, i) {
columnName = columns[i].name;
columnType = columns[i].type;
cellValue = row[i];
rowData[columnName] = column.type === "Number" ? cellValue.toString() : cellValue;
});
rowData.UsageDate = rowData.UsageDate.replace(/(\\d{4})(\\d{2})(\\d{2})/, "$1-$2-$3");
return rowData;
})
};
}
};
try {
AzureCost.setParams(JSON.parse(value));
AzureCost.login();
return JSON.stringify(AzureCost.getCost());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AzureCost ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','f50c96da86654a25b937756cc7f7010e','0','2','0'),
('46397','21','','10606','Get monthly costs','azure.get.monthly.costs','0s;h/12','0','0','0','4','','','','',NULL,NULL,E'var AzureCost = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''month''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
AzureCost.params = params;
today = new Date();
AzureCost.params.end_date = today.toISOString();
month = today.getMonth();
today.setMonth(month - params.month);
AzureCost.params.start_time = new Date(today.getFullYear(), today.getMonth()).toISOString();
},
login: function () {
var response,
login = new HttpRequest();
if (typeof AzureCost.params.proxy !== ''undefined'' && AzureCost.params.proxy !== '''') {
login.setProxy(AzureCost.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(AzureCost.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(AzureCost.params.app_id) + ''&client_secret='' + encodeURIComponent(AzureCost.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
AzureCost.token = response[''access_token''];
},
request: function (url, body) {
if (typeof body === ''undefined'' || body === null) {
body = '''';
}
var response,
headers,
regex = /-retry-after":"(\\d+)"/,
ratelimit,
request = new HttpRequest();
if (typeof AzureCost.params.proxy !== ''undefined'' && AzureCost.params.proxy !== '''') {
request.setProxy(AzureCost.params.proxy);
}
if (!AzureCost.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + AzureCost.token);
Zabbix.log(4, ''[ AzureCost ] request url: '' + url);
response = request.post(url, body);
headers = JSON.stringify(request.getHeaders());
if (headers.match(regex) !== null && request.getStatus() === 429) {
ratelimit = headers.match(regex)[1];
Zabbix.log(4, ''[ AzureCost ] Microsoft Cost Management have rate limit requests per 1 minute, retrying after '' + ratelimit + '' seconds'');
Zabbix.sleep(ratelimit * 1010);
response = request.post(url, body);
}
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getCost: function (grouping) {
var metricData = {},
bodyRawCost = {
type: ''Usage'',
timeframe: ''Custom'',
timePeriod: {
from: AzureCost.params.start_time,
to: AzureCost.params.end_date
},
dataset: {
aggregation: {
totalCost: {
name: ''PreTaxCost'',
function: ''Sum''
}
},
grouping: [
{
type: ''Dimension'',
name: ''BillingMonth''
},
{
type: ''Dimension'',
name: grouping
},
]
}
};
metricData = AzureCost.request(''https://management.azure.com/subscriptions/'' + AzureCost.params.subscription_id + ''/providers/Microsoft.CostManagement/query?api-version=2023-11-01'', JSON.stringify(bodyRawCost));
var columns = AzureCost.getField(metricData, ''properties.columns'');
return transformedData = {
data: AzureCost.getField(metricData, ''properties.rows'').map(function (row) {
rowData = {};
columns.forEach(function (column, i) {
columnName = columns[i].name;
cellValue = row[i];
rowData[columnName] = column.type === "Number" ? cellValue.toString() : cellValue;
});
rowData.BillingMonth = rowData.BillingMonth.slice(0, 7);
return rowData;
})
};
}
};
try {
AzureCost.setParams(JSON.parse(value));
AzureCost.login();
serviceCost = AzureCost.getCost(''ServiceName'');
resourceGroupCost = AzureCost.getCost(''ResourceGroup'');
resourceLocationCost = AzureCost.getCost(''ResourceLocation'');
monthCost = AzureCost.getCost(''SubscriptionId'');
return JSON.stringify({ resourceGroupCost, resourceLocationCost, serviceCost, monthCost });
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AzureCost ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','bbf6a0b136464d76a535ca016dcb8ae1','0','2','0'),
('46408','11','','10327','Get availability groups','db.odbc.get[get_availability_group,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT
ag.name as group_name,
ISNULL(ags.primary_recovery_health, 2) as primary_recovery_health,
ISNULL(ags.primary_replica, ''Unknown'') as primary_replica,
ISNULL(
ags.secondary_recovery_health, 2
) as secondary_recovery_health,
ags.synchronization_health as synchronization_health
FROM
sys.dm_hadr_availability_group_states ags
JOIN sys.availability_groups ag ON ag.group_id = ags.group_id','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'The item gets availability group states - name, primary and secondary health, synchronization health.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','f495898e37c94bfda4ce387f7129b996','0','2','0'),
('46409','11','','10327','Get database','db.odbc.get[get_database,"{$MSSQL.DSN}"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT name as dbname, recovery_model
FROM sys.databases','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting databases - database name and recovery model.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','9c902b33ed254e1892e44218a67876d3','0','2','0'),
('46410','11','','10327','Get DB mirroring','db.odbc.get[get_db_mirroring,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT
ISNULL(m.mirroring_role, 0) as mirroring_role,
ISNULL(m.mirroring_role_sequence, 0) as mirroring_role_sequence,
ISNULL(m.mirroring_state, 7) as mirroring_state,
ISNULL(m.mirroring_witness_state, 3) as mirroring_witness_state,
ISNULL(m.mirroring_safety_level, 3) as mirroring_safety_level,
db_name(m.database_id) as dbname
FROM
sys.database_mirroring as m
WHERE
m.mirroring_state_desc IS NOT NULL','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting DB mirroring.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','9948ac27a2f84ba5a74ee0860d934f4e','0','2','0'),
('46411','11','','10327','Get local DB','db.odbc.get[get_local_db,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT ag.name AS group_name,
drs.database_state as database_state,
drs.is_suspended as is_suspended,
drs.synchronization_health as synchronization_health,
arcs.replica_server_name AS replica_name,
db_name(drs.database_id) AS dbname,
drs.is_local
FROM sys.dm_hadr_database_replica_states drs
JOIN sys.dm_hadr_availability_replica_cluster_states arcs
ON arcs.replica_id = drs.replica_id
JOIN sys.availability_groups ag
ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars
ON ars.replica_id = arcs.replica_id
WHERE drs.is_local = 1','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting the states of the local availability database.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','3960ea4dc0054ee099d5bca005535e6b','0','2','0'),
('46412','11','','10327','Get non-local DB','db.odbc.get[get_non_local_db,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT ag.name AS group_name,
ISNULL(drs.log_send_queue_size, 0) as log_send_queue_size,
ISNULL(drs.redo_queue_size, 0) as redo_queue_size,
arcs.replica_server_name AS replica_name,
db_name(drs.database_id) AS dbname,
drs.is_local
FROM sys.dm_hadr_database_replica_states drs
JOIN sys.dm_hadr_availability_replica_cluster_states arcs
ON arcs.replica_id = drs.replica_id
JOIN sys.availability_groups ag
ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars
ON ars.replica_id = arcs.replica_id
WHERE drs.is_local = 0','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting the non-local availability database.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','e4480bba876d472294920020734eadf5','0','2','0'),
('46413','11','','10327','Get quorum','db.odbc.get[get_quorum,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT quorum_type, quorum_state, cluster_name
FROM sys.dm_hadr_cluster','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting quorum - cluster name, type, and state.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','3fcb3b84bdee42428bedc39fcc582c9e','0','2','0'),
('46414','11','','10327','Get quorum member','db.odbc.get[get_quorum_member,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT a.member_name, a.member_type, a.member_state, a.number_of_quorum_votes, b.cluster_name
FROM sys.dm_hadr_cluster_members a
CROSS JOIN sys.dm_hadr_cluster b','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting quorum members - member name, type, state, and number of quorum votes.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','69a31cdfbf9b4099bf89adb26e8b9f06','0','2','0'),
('46415','11','','10327','Get replica','db.odbc.get[get_replica,"{$MSSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT
ars.connected_state as connected_state,
ars.is_local as is_local,
arcs.join_state as join_state,
ISNULL(ars.operational_state, 6) as operational_state,
ISNULL(ars.recovery_health, 2) as recovery_health,
ars.role as role,
ars.synchronization_health as synchronization_health,
ag.name as group_name,
arcs.replica_server_name as replica_name
FROM
sys.dm_hadr_availability_replica_cluster_states as arcs
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id','','0','{$MSSQL.USER}','{$MSSQL.PASSWORD}','','','0',NULL,'Getting the database replica.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','7a82483c605d4e8eb67c2576069cf8a9','0','2','0'),
('46450','19','','10547','Get status','meraki.device.get.status','{$MERAKI.GET.STATUS.INTERVAL}','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for gathering device status from Meraki API.','0','30d','0','',NULL,'{$MERAKI.DATA.TIMEOUT}','https://{$MERAKI.API.URL}/organizations/{$ORGANIZATION_ID}/devices/statuses?serials[]={$SERIAL}','','','200','1','0','{$MERAKI.HTTP_PROXY}','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}
User-Agent: ZabbixServer/1.1 Zabbix','0','0','0','0','0','0','0','0c97a8fcad764133b4e7c35d0134665c','0','2','0'),
('46451','21','','10607','Get ELB ALB alarms data','aws.elb.alb.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn'', ''loadbalancer_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
regex = /loadbalancer\\/(.+)$/;
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if ((dimensions[i].Name === ''LoadBalancer'' && dimensions[i].Value === AWS.params.arn.match(regex)[1])
|| (dimensions[i].Name === ''LoadBalancerName'' && dimensions[i].Value === AWS.params.loadbalancer_name)) {
result.push(alarm);
break;
}
}
});
}
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Alarms ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'`DescribeAlarms` API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','059b7697baba46b2a7f138a1011a0e0c','0','2','0'),
('46452','21','','10607','Get metrics data','aws.elb.alb.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
request_period: 60,
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
renderMetricQuery: function (period, arn) {
var metrics_list = [
''ActiveConnectionCount:Sum'',
''ClientTLSNegotiationErrorCount:Sum'',
''ConsumedLCUs:Sum'',
''DesyncMitigationMode_NonCompliant_Request_Count:Sum'',
''HTTP_Fixed_Response_Count:Sum'',
''HTTP_Redirect_Count:Sum'',
''HTTP_Redirect_Url_Limit_Exceeded_Count:Sum'',
''HTTPCode_ELB_3XX_Count:Sum'',
''HTTPCode_ELB_4XX_Count:Sum'',
''HTTPCode_ELB_5XX_Count:Sum'',
''HTTPCode_ELB_500_Count:Sum'',
''HTTPCode_ELB_502_Count:Sum'',
''HTTPCode_ELB_503_Count:Sum'',
''HTTPCode_ELB_504_Count:Sum'',
''NewConnectionCount:Sum'',
''ProcessedBytes:Sum'',
''RejectedConnectionCount:Sum'',
''RequestCount:Sum'',
''RuleEvaluations:Sum'',
''TargetResponseTime:Average'',
''TargetTLSNegotiationErrorCount:Sum'',
''TargetConnectionErrorCount:Sum'',
''ELBAuthError:Sum'',
''ELBAuthFailure:Sum'',
''ELBAuthLatency:Sum'',
''ELBAuthSuccess:Sum'',
''ELBAuthUserClaimsSizeExceeded:Sum'',
],
regex = /loadbalancer\\/(.+)$/;
var metric_payload = [];
metrics_list.forEach(function (metric, index) {
var parts = metric.split('':'', 2);
metric_payload.push({
''Id'': ''m'' + index,
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/ApplicationELB'',
''Dimensions'': [
{
''Name'': ''LoadBalancer'',
''Value'': arn.match(regex)[1],
}
]
},
''Period'': period,
''Stat'': parts[1],
}
});
});
return metric_payload;
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = JSON.stringify([]);
}
else {
data = JSON.stringify(data)
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''X-Amz-Target: GraniteServiceVersion20100801.GetMetricData'')
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.parse(response);
},
getMetricsData: function () {
var end_time = Math.floor((new Date().getTime()) / 1000),
start_time = end_time - AWS.request_period * 60;
payload = {
''StartTime'': start_time,
''EndTime'': end_time,
''ScanBy'': ''TimestampDescending'',
''MetricDataQueries'': AWS.renderMetricQuery(AWS.request_period, AWS.params.arn)
};
return AWS.getField(AWS.request(''POST'', AWS.params.region, ''monitoring'', '''', payload), ''MetricDataResults'');
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Get metrics] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get ELB Application Load Balancer metrics.
Full metrics list related to Application Load Balancer: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html','0','30d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c7b4e867ff8246058d931ca76d18d4e7','0','2','0'),
('46453','21','','10607','Get target groups','aws.elb.alb.get_target_groups','0s;m/30','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = JSON.stringify([]);
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.parse(response);
},
listTargetGroups: function () {
var lld_array = [],
regex = /targetgroup\\/(.+)$/,
payload = {
''Action'': ''DescribeTargetGroups'',
''LoadBalancerArn'': AWS.params.arn,
''Version'': ''2015-12-01''
};
targets = AWS.getField(AWS.request(''GET'', AWS.params.region, ''elasticloadbalancing'', AWS.prepareParams(payload), ''''), ''DescribeTargetGroupsResponse.DescribeTargetGroupsResult.TargetGroups'');
if (!Array.isArray(targets))
targets = [targets]
targets.forEach(function (targets) {
lld_array.push(
{
target_name: AWS.getField(targets, ''TargetGroupName''),
target_arn: AWS.getField(targets, ''TargetGroupArn'').match(regex)[0],
type: AWS.getField(targets, ''TargetType''),
protocol: AWS.getField(targets, ''Protocol'')
}
)
});
return lld_array;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.listTargetGroups());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Target groups ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get ELB target group.
`DescribeTargetGroups` API method: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html','0','30d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','9b118d348b934146bab54e2df582e2b0','0','2','0'),
('46504','0','','10609','Get availability groups','mssql.availability.group.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The item gets availability group states - name, primary and secondary health, synchronization health.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','71ade3c11bcd4f4691c5fa1c3fa6ded1','0','2','0'),
('46505','15','','10609','Average latch wait time','mssql.average_latch_wait_time','0;m0-59s3','31d','365d','0','0','','ms','','',NULL,NULL,'(last(//mssql.average_latch_wait_time_raw) - last(//mssql.average_latch_wait_time_raw,#2)) /
(last(//mssql.average_latch_wait_time_base) - last(//mssql.average_latch_wait_time_base,#2) +
(last(//mssql.average_latch_wait_time_base) - last(//mssql.average_latch_wait_time_base,#2)=0))','','0','','','','','0',NULL,'Average latch wait time (in milliseconds) for latch requests that had to wait.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8c5e2250dcc4405d95cc33167be33bb2','0','2','0'),
('46506','15','','10609','Total average wait time','mssql.average_wait_time','0;m0-59s3','31d','365d','0','0','','ms','','',NULL,NULL,'(last(//mssql.average_wait_time_raw) - last(//mssql.average_wait_time_raw,#2)) /
(last(//mssql.average_wait_time_base) - last(//mssql.average_wait_time_base,#2) +
(last(//mssql.average_wait_time_base) - last(//mssql.average_wait_time_base,#2)=0))','','0','','','','','0',NULL,'The average wait time, in milliseconds, for each lock request that had to wait.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ba031d33d9147f786ee6fb6fddafaed','0','2','0'),
('46507','0','','10609','Get database','mssql.db.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting databases - database name and recovery model.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','6c942840048b463e9439f327adceb767','0','2','0'),
('46508','0','','10609','Get job status','mssql.job.status.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','10m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The item gets the SQL agent job status.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','e36f8695b4f74178a19bb88afad586b8','0','2','0'),
('46509','0','','10609','Get last backup','mssql.last.backup.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','10m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The item gets information about backup processes.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','a394835aeddd46a18327f25747e3564d','0','2','0'),
('46510','0','','10609','Get local DB','mssql.local.db.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting the states of the local availability database.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','f049c16678ad4daa83e55ab6c3a99fbc','0','2','0'),
('46511','0','','10609','Get DB mirroring','mssql.mirroring.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting DB mirroring.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','fb51801472fc4ca7beed49c2586ba1cb','0','2','0'),
('46512','0','','10609','Get non-local DB','mssql.nonlocal.db.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting the non-local availability database.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','8730198507594f4aa38d45bf00e65a38','0','2','0'),
('46513','15','','10609','Percent of ad hoc queries running','mssql.percent_of_adhoc_queries','0;m0-59s3','31d','365d','0','0','','%','','',NULL,NULL,'last(//mssql.sql_compilations_sec.rate) * 100 /
(last(//mssql.batch_requests_sec.rate) + (last(//mssql.batch_requests_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of SQL compilations per second to batch requests per second, in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2064cd9f8e7646fa8fb329ca287fedd2','0','2','0'),
('46514','15','','10609','Percent of Recompiled Transact-SQL Objects','mssql.percent_recompilations_to_compilations','0;m0-59s3','31d','365d','0','0','','%','','',NULL,NULL,'last(//mssql.sql_recompilations_sec.rate) * 100 /
(last(//mssql.sql_compilations_sec.rate) + (last(//mssql.sql_compilations_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of SQL re-compilations per second to SQL compilations per second, in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98b0754f231c4160bcd2daafeef64fe0','0','2','0'),
('46515','0','','10609','Get performance counters','mssql.perfcounter.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','0;m0-59','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The item gets server global status information.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','2128f1e7d0fa46e2bdb8b06f5c07c436','0','2','0'),
('46516','0','','10609','Get quorum','mssql.quorum.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting quorum - cluster name, type, and state.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','432178b4071e46758c421f6d9b75f4cd','0','2','0'),
('46517','0','','10609','Get quorum member','mssql.quorum.member.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting quorum members - member name, type, state, and number of quorum votes.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','7343a6e34956475db3e79f7cfa905baa','0','2','0'),
('46518','0','','10609','Get replica','mssql.replica.get["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting the database replica.','0','30d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','77deceae02df4e2280f42ae7b7b16f76','0','2','0'),
('46519','15','','10609','Full scans to Index searches ratio','mssql.scan_to_search','0;m0-59s3','31d','365d','0','0','','','','',NULL,NULL,'last(//mssql.full_scans_sec.rate) / (last(//mssql.index_searches_sec.rate) + (last(//mssql.index_searches_sec.rate)=0))','','0','','','','','0',NULL,'The ratio of full scans per second to index searches per second. The threshold recommendation is strictly for OLTP workloads.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5dda9c1a17fa43ada4a6857e62148f1a','0','2','0'),
('46520','0','','10609','Version','mssql.version["{$MSSQL.URI}","{$MSSQL.USER}","{$MSSQL.PASSWORD}"]','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MSSQL Server version.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','624ea81f4a7c43659f291a2fc7913778','0','2','0'),
('46521','3','','10609','Service''s TCP port state','net.tcp.service[tcp,{$MSSQL.HOST},{$MSSQL.PORT}]','30s','31d','365d','0','3','','','','',NULL,'1177','','','0','','','','','0',NULL,'Test the availability of MSSQL Server on a TCP port.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fc4f1f9c3df45269972e617ce81f4b2','0','2','0'),
('46659','21','','10610','Get cluster','yugabytedb.clusters.get','1h','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
clusters: [],
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
}
};
try {
YugabyteDB.setParams(JSON.parse(value));
clusters = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters''
)
YugabyteDB.clusters = clusters.data;
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
YugabyteDB.error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''clusters'': YugabyteDB.clusters, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Get raw data about clusters.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','25196b29de6c45c18485f2aefe306818','0','2','0'),
('46660','15','','10611','YSQL connections utilization','yugabytedb.cluster.connection.utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//yugabytedb.cluster.connection.count)/last(//yugabytedb.cluster.connection.limit))*100','','0','','','','','0',NULL,'Cumulative number of connections to the YSQL backend for all nodes, expressed in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7c388d2e66b48469e47a55cbb6ec614','0','2','0'),
('46661','15','','10611','Disk space utilization','yugabytedb.cluster.disk.utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//yugabytedb.cluster.disk.usage)/last(//yugabytedb.cluster.disk.provisioned))*100','','0','','','','','0',NULL,'Shows the percentage of disk space used by the cluster.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2de999838914ca2bfc2c4fdfd22db74','0','2','0'),
('46662','21','','10611','Get cluster','yugabytedb.cluster.get','10m','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
clusters: [],
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token'', ''cluster_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
}
};
try {
YugabyteDB.setParams(JSON.parse(value));
cluster = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters/'' + YugabyteDB.params.cluster_id
)
YugabyteDB.clusters = cluster.data;
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
YugabyteDB.error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''data'': YugabyteDB.clusters, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Get raw data about clusters.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','d8f71197e0e147fea4de2a17d4b1ad81','0','2','0'),
('46663','15','','10611','Memory utilization','yugabytedb.cluster.memory.utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//yugabytedb.cluster.memory.usage)/last(//yugabytedb.cluster.memory.total))*100','','0','','','','','0',NULL,'Shows the amount of RAM used on the cluster, expressed in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18e6de024a7a4ae48901f455dbd0a373','0','2','0'),
('46664','21','','10611','Get cluster metrics','yugabytedb.cluster.metric.get','1m','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
metrics: {},
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token'', ''cluster_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
},
get_last_values: function (values) {
var max_timestamp = 0;
var last_value = 0;
for (e in values) {
if (values[e][0] > max_timestamp) {
max_timestamp = values[e][0];
last_value = values[e][1];
};
};
return last_value;
},
get_start_time: function() {
return Math.floor(Date.now() / 1000 - 300);
}
};
metrics = [
"CPU_USAGE",
"DISK_USAGE_GB",
"PROVISIONED_DISK_SPACE_GB",
"READ_OPS_PER_SEC",
"WRITE_OPS_PER_SEC",
"AVERAGE_READ_LATENCY_MS",
"AVERAGE_WRITE_LATENCY_MS",
"YSQL_CONNECTION_LIMIT",
"AVERAGE_YSQL_CONNECTION_COUNT",
"NODE_CLOCK_SKEW",
"DISK_BYTES_READ_MB_PER_SEC",
"DISK_BYTES_WRITTEN_MB_PER_SEC",
"FOLLOWER_LAG_MS",
"MEMORY_TOTAL_GB",
"MEMORY_USAGE_GB",
"NETWORK_RECEIVE_BYTES_MB_PER_SEC",
"NETWORK_TRANSMIT_BYTES_MB_PER_SEC",
"NETWORK_RECEIVE_ERRORS_PER_SEC",
"NETWORK_TRANSMIT_ERRORS_PER_SEC",
"MASTER_UP_STATUS",
"TSERVER_UP_STATUS",
"YSQL_MAX_CONNECTION_COUNT"
]
try {
YugabyteDB.setParams(JSON.parse(value));
var size = 6
for (var i = 0; i < Math.ceil(metrics.length/size); i++) {
var values = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters/'' + YugabyteDB.params.cluster_id + ''/metrics?metrics='' + metrics.slice((i * size), (i * size) + size).join(''%2C'') + ''&start_time='' + YugabyteDB.get_start_time()
);
values.data.forEach(function (e) {
YugabyteDB.metrics[e.name] = YugabyteDB.get_last_values(e.values)
});
};
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''metrics'': YugabyteDB.metrics, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Getting metrics for the cluster.','0','30d','0','',NULL,'5s','','','','200','1','0','','','0','0','0','0','0','0','0','9c51b3d15ac448388e23c74d4e5bba3a','0','2','0'),
('46665','21','','10611','Get cluster query statistic','yugabytedb.cluster.query.statistic.get','1m','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
metrics: {},
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token'', ''cluster_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
},
get_last_values: function (values) {
var max_timestamp = 0;
var last_value = 0;
for (e in values) {
if (values[e][0] > max_timestamp) {
max_timestamp = values[e][0];
last_value = values[e][1];
};
};
return last_value;
},
get_start_time: function() {
return Math.floor(Date.now() / 1000 - 300);
}
};
metrics = [
"YSQL_SELECT_OPS_PER_SEC",
"YSQL_DELETE_OPS_PER_SEC",
"YSQL_INSERT_OPS_PER_SEC",
"YSQL_UPDATE_OPS_PER_SEC",
"YSQL_OTHER_OPS_PER_SEC",
"YSQL_TRANSACTION_OPS_PER_SEC",
"YSQL_SELECT_LATENCY_MS",
"YSQL_DELETE_LATENCY_MS",
"YSQL_INSERT_LATENCY_MS",
"YSQL_UPDATE_LATENCY_MS",
"YSQL_OTHER_LATENCY_MS",
"YSQL_TRANSACTION_LATENCY_MS",
"YCQL_SELECT_OPS_PER_SEC",
"YCQL_DELETE_OPS_PER_SEC",
"YCQL_INSERT_OPS_PER_SEC",
"YCQL_OTHER_OPS_PER_SEC",
"YCQL_UPDATE_OPS_PER_SEC",
"YCQL_TRANSACTION_OPS_PER_SEC",
"YCQL_SELECT_LATENCY_MS",
"YCQL_DELETE_LATENCY_MS",
"YCQL_INSERT_LATENCY_MS",
"YCQL_OTHER_LATENCY_MS",
"YCQL_UPDATE_LATENCY_MS",
"YCQL_TRANSACTION_LATENCY_MS"
]
try {
YugabyteDB.setParams(JSON.parse(value));
var size = 6
for (var i = 0; i < Math.ceil(metrics.length/size); i++) {
var values = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters/'' + YugabyteDB.params.cluster_id + ''/metrics?metrics='' + metrics.slice((i * size), (i * size) + size).join(''%2C'') + ''&start_time='' + YugabyteDB.get_start_time()
);
values.data.forEach(function (e) {
YugabyteDB.metrics[e.name] = YugabyteDB.get_last_values(e.values)
});
};
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
error_msg = ''Failed to get data from API:'' + error;
return JSON.stringify({''error'': error_msg});
}
return JSON.stringify({''metrics'': YugabyteDB.metrics, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Getting SQL statistics for the cluster.','0','30d','0','',NULL,'5s','','','','200','1','0','','','0','0','0','0','0','0','0','5497290f85d44d2c95ca0be3d2b030a3','0','2','0'),
('46666','21','','10611','Get keyspace','yugabytedb.keyspace.get','10m','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
keyspaces: {},
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
},
get_keyspace: function (tables) {
var table_info = {};
var result = [];
for (var table in tables[''data'']) {
var table_name = tables[''data''][table][''keyspace''];
if (typeof table_info[table_name] !== ''undefined'') {
table_info[table_name][''size_bytes''] += tables[''data''][table][''size_bytes'']
table_info[table_name][''wal_size_bytes''] += tables[''data''][table][''wal_size_bytes'']
}
else {
table_info[table_name] = {
''keyspace_name'': table_name,
''size_bytes'': tables[''data''][table][''size_bytes''],
''wal_size_bytes'': tables[''data''][table][''wal_size_bytes''],
''type'': tables[''data''][table][''type'']}
}
}
for (keyspace in table_info) {
result.push(table_info[keyspace])
}
return result;
}
};
try {
YugabyteDB.setParams(JSON.parse(value));
var tables = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters/'' + YugabyteDB.params.cluster_id + ''/tables''
)
YugabyteDB.keyspaces = YugabyteDB.get_keyspace(tables);
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''keyspaces'': YugabyteDB.keyspaces, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Get raw data about keyspaces.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','88c3b743cbe24ea9a0046dc0854a36be','0','2','0'),
('46667','21','','10611','Get node','yugabytedb.node.get','10m','0','0','0','4','','','','',NULL,NULL,'var YugabyteDB = {
params: {},
nodes: {},
error_msg: '''',
setParams: function (params) {
[''account_id'', ''project_id'', ''token''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
YugabyteDB.params = params;
},
request: function (url, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var response, request = new HttpRequest();
if (typeof YugabyteDB.params.proxy !== ''undefined'' && YugabyteDB.params.proxy !== '''') {
request.setProxy(YugabyteDB.params.proxy);
}
if (YugabyteDB.params.token) {
request.addHeader(''Accept: application/json'');
request.addHeader(''Authorization: Bearer '' + YugabyteDB.params.token);
}
Zabbix.log(4, ''[ YugabyteDB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ YugabyteDB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200 || response === null) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API:'' + error;
}
}
};
try {
YugabyteDB.setParams(JSON.parse(value));
var node = YugabyteDB.request(
''https://cloud.yugabyte.com/api/public/v1/accounts/'' + YugabyteDB.params.account_id + ''/projects/'' + YugabyteDB.params.project_id + ''/clusters/'' + YugabyteDB.params.cluster_id + ''/nodes''
)
YugabyteDB.nodes = node.data;
}
catch (error) {
Zabbix.log(3, ''[ YugabyteDB ] ERROR: '' + error);
error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''nodes'': YugabyteDB.nodes, ''error'': YugabyteDB.error_msg});','','0','','','','','0',NULL,'Get raw data about nodes.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','734486b27ba64138bae356c7b14c8dbc','0','2','0'),
('46746','3','','10613','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1189','','','0','','','','','0',NULL,'Host accessibility by ICMP.
0 - ICMP ping fails.
1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','737cc32022044218bd0599bc9be1c6cf','0','2','0'),
('46747','3','','10613','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','584837895d324e5bbcbce686ec894fb4','0','2','0'),
('46748','3','','10613','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85013b32538f445d87955582857f2942','0','2','0'),
('46749','20','walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]','10613','SNMP walk network interfaces','net.if.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering interfaces from IF-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a81c01a9acfe49eabea71a3106bf43b8','0','2','0'),
('46750','20','discovery[{#SNMPVALUE},1.3.6.1.4.1.2620.500.9000.1.2]','10613','Remote Access users','remote.users.number','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Number of remote access users.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d50cbc1930c24647b1f5a7921c9c3b06','0','2','0'),
('46751','20','walk[1.3.6.1.4.1.2620.1.6.7.8.2.1.2,1.3.6.1.4.1.2620.1.6.7.8.2.1.3,1.3.6.1.4.1.2620.1.6.7.8.2.1.4,1.3.6.1.4.1.2620.1.6.7.8.2.1.6]','10613','SNMP walk fan sensors','sensor.fan.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering fan sensors from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b943e400640e46498ba7ecf2ea3510dd','0','2','0'),
('46752','20','walk[1.3.6.1.4.1.2620.1.6.7.9.1.1.1,1.3.6.1.4.1.2620.1.6.7.9.1.1.2]','10613','SNMP walk PSU sensors','sensor.psu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering power supply sensors from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76167bb41de149d6a4b4af4ba68e1460','0','2','0'),
('46753','20','walk[1.3.6.1.4.1.2620.1.6.7.8.1.1.2,1.3.6.1.4.1.2620.1.6.7.8.1.1.3]','10613','SNMP walk temperature sensors','sensor.temp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering temperature sensors from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5122dad11df4f6790d49d46614c3ea2','0','2','0'),
('46754','20','walk[1.3.6.1.4.1.2620.1.6.7.8.3.1.2,1.3.6.1.4.1.2620.1.6.7.8.3.1.3]','10613','SNMP walk voltage sensors','sensor.volt.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering voltage sensors from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','620126ff805d48aea5b7cac6d5ab4084','0','2','0'),
('46755','17','','10613','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'Used to collect all SNMP traps unmatched by other `snmptrap` items.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e04735bdbc4f453692902c0bc6596f3b','0','2','0'),
('46756','20','walk[1.3.6.1.4.1.2620.1.6.18.1.1.4,1.3.6.1.4.1.2620.1.6.18.1.1.5,1.3.6.1.4.1.2620.1.6.18.1.1.6,1.3.6.1.4.1.2620.1.6.18.1.1.8,1.3.6.1.4.1.2620.1.6.18.1.1.9,1.3.6.1.4.1.2620.1.6.18.1.1.10]','10613','SNMP walk svn features','svn.feature.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering software blades and features from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','847084d2b72a4c9688a4375a12fd7ea0','0','2','0'),
('46757','20','get[1.3.6.1.2.1.1.4.0]','10613','System contact details','system.contact','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','499ee4e8eb2f481295625592ee215610','0','2','0'),
('46758','20','get[1.3.6.1.4.1.2620.1.6.7.2.3.0]','10613','CPU idle time','system.cpu.idle','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Average time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07162e1ca0c44dc5979b17c258b34052','0','2','0'),
('46759','20','get[1.3.6.1.4.1.2620.1.6.7.2.6.0]','10613','CPU interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Number of interrupts processed per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5acef2ff22464f2c816bf1ab5ed8c66f','0','2','0'),
('46763','20','get[1.3.6.1.4.1.2620.1.6.7.2.7.0]','10613','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Number of processors.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b42cc71d0b5143108b2314ab1fb1ceff','0','2','0'),
('46764','20','get[1.3.6.1.4.1.2021.11.60.0]','10613','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB
Number of context switches per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ada3e8eb30bc4c4f863fca6e46dc1cd5','0','2','0'),
('46765','20','get[1.3.6.1.4.1.2620.1.6.7.2.2.0]','10613','CPU system time','system.cpu.system','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Average time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf0a80a981d248bdb2e4567ee8c084b3','0','2','0'),
('46766','20','get[1.3.6.1.4.1.2620.1.6.7.2.1.0]','10613','CPU user time','system.cpu.user','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Average time the CPU has spent running user processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a8a46d486404a5184a7fdba0832c50f','0','2','0'),
('46767','20','get[1.3.6.1.4.1.2620.1.6.7.2.4.0]','10613','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
CPU utilization per core in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db554f92ee6a4ab297b75839c019a7fe','0','2','0'),
('46768','20','walk[1.3.6.1.4.1.2620.1.6.7.5.1.1,1.3.6.1.4.1.2620.1.6.7.5.1.2,1.3.6.1.4.1.2620.1.6.7.5.1.3,1.3.6.1.4.1.2620.1.6.7.5.1.4,1.3.6.1.4.1.2620.1.6.7.5.1.5]','10613','SNMP walk CPU','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering CPU from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3628aac1e934408489153062d078e2e7','0','2','0'),
('46769','20','get[1.3.6.1.2.1.1.1.0]','10613','System description','system.descr','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Full name and version identification of the system''s hardware type, software operating system, and networking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7ad79b572ab4e678011aa8ee810cd75','0','2','0'),
('46770','20','get[1.3.6.1.4.1.2620.1.6.16.9.0]','10613','Appliance manufacturer','system.hw.manufacturer','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Appliance manufacturer.','31','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8385b6ee11b340f888676d013531a4d5','0','2','0'),
('46771','20','get[1.3.6.1.4.1.2620.1.6.16.7.0]','10613','Appliance product name','system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Appliance product name.','29','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b461939fa04348f19c4f03ce3fd211b8','0','2','0'),
('46772','20','get[1.3.6.1.4.1.2620.1.6.16.3.0]','10613','Appliance serial number','system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Appliance serial number.','8','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','adb0bce1162a4e8990f4d299d8554d29','0','2','0'),
('46773','20','get[1.3.6.1.2.1.1.6.0]','10613','System location','system.location','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df1681db47dc40b987f7be51e640974e','0','2','0'),
('46774','20','get[1.3.6.1.2.1.1.5.0]','10613','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for the node (the node''s fully-qualified domain name). If not provided, the value is a zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a18c50a7b53e49c09de5fa39d9a70a14','0','2','0'),
('46775','20','get[1.3.6.1.2.1.1.2.0]','10613','System object ID','system.objectid','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd2f23c23fff46b5b43e8283f1683927','0','2','0'),
('46776','20','get[1.3.6.1.2.1.25.1.1.0]','10613','System uptime','system.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-V2-MIB
Time since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b05995de7faf4d408b467c1024f2a438','0','2','0'),
('46777','20','walk[1.3.6.1.4.1.2620.1.6.7.6.1.2,1.3.6.1.4.1.2620.1.6.7.6.1.3,1.3.6.1.4.1.2620.1.6.7.6.1.4,1.3.6.1.4.1.2620.1.6.7.6.1.5,1.3.6.1.4.1.2620.1.6.7.6.1.6,1.3.6.1.4.1.2620.1.6.7.6.1.7]','10613','SNMP walk disks','vfs.fs.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering storage disks from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d66ff3625ea74b5493a37d7b5e231c66','0','2','0'),
('46778','20','get[1.3.6.1.4.1.2620.1.6.7.4.4.0]','10613','Active memory','vm.memory.active','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Active real memory (memory used by applications that is not cached to the disk) in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9c5fbaca93854ad3941cb95e159b0ee1','0','2','0'),
('46779','20','get[1.3.6.1.4.1.2620.1.6.7.4.5.0]','10613','Free memory','vm.memory.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Free memory available for applications in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a55ee1b84cb490494e27a4543db7691','0','2','0'),
('46780','20','get[1.3.6.1.4.1.2620.1.6.7.4.3.0]','10613','Total memory','vm.memory.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Total real memory in bytes. Memory used by applications.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','517445d996d148bcb34d7898dca55df6','0','2','0'),
('46781','15','','10613','Used memory','vm.memory.used','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.total) - last(//vm.memory.free)','','0','','','','','0',NULL,'Used real memory calculated by total real memory and free real memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8846be280ae14ee8a1af1be65bef1996','0','2','0'),
('46782','15','','10613','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used)/last(//vm.memory.total)*100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6bb39f4c24f14cc6a90db2ce1492dbea','0','2','0'),
('46783','20','get[1.3.6.1.4.1.2620.1.2.5.4.6.0]','10613','Decrypted packets per second','vpn.packets.decrypted','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Number of decrypted packets per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0eac75ac03af43d596b84cee15a8ddb4','0','2','0'),
('46784','20','get[1.3.6.1.4.1.2620.1.2.5.4.5.0]','10613','Encrypted packets per second','vpn.packets.encrypted','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CHECKPOINT-MIB
Number of encrypted packets per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d2b872c90774b868d5ce086fabe5cb2','0','2','0'),
('46785','20','walk[1.3.6.1.4.1.2620.500.9002.1.1,1.3.6.1.4.1.2620.500.9002.1.2,1.3.6.1.4.1.2620.500.9002.1.3,1.3.6.1.4.1.2620.500.9002.1.4,1.3.6.1.4.1.2620.500.9002.1.6,1.3.6.1.4.1.2620.500.9002.1.7,1.3.6.1.4.1.2620.500.9002.1.8,1.3.6.1.4.1.2620.500.9002.1.9,1.3.6.1.4.1.2620.500.9002.1.10,1.3.6.1.4.1.2620.500.9002.1.11]','10613','SNMP walk VPN tunnels','vpn.tunnel.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering VPN tunnels from CHECKPOINT-MIB.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb15e618aff347b3ba986a2c02deb6bd','0','2','0'),
('46786','5','','10613','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1195','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to the availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','843f5f01701e4d79b3e899134f87632d','0','2','0'),
('46845','21','','10614','Get frequent metrics','oci.aut.db.metrics.frequent.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''db_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Autonomous DB'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const metrics = [
[''CpuTime'', ''mean''],
[''CpuUtilization'', ''mean''],
[''CurrentLogons'', ''count''],
''DBBlockChanges'',
[''DBTime'', ''mean''],
''ExecuteCount'',
''FailedConnections'',
[''FailedLogons'', ''mean''],
''HardParseCount'',
''LogicalReads'',
''ParseCount'',
''ParseFailureCount'',
''PhysicalReads'',
''PhysicalReadTotalBytes'',
''PhysicalWrites'',
''PhysicalWriteTotalBytes'',
''QueuedStatements'',
''RedoGenerated'',
[''RunningStatements'', ''mean''],
''Sessions'',
''SQLNetBytesFromClient'',
''SQLNetBytesFromDBLink'',
''SQLNetBytesToClient'',
''SQLNetBytesToDBLink'',
''TransactionCount'',
''UserCalls'',
''UserCommits'',
''UserRollbacks'',
[''WaitTime'', ''mean'']
];
buildMql(params[''db_id''], metrics, ''sum'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_autonomous_database''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets all metrics related to the database that have a collection frequency of 1 minute.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','6104537179324cb48d82e05d64f3a19f','0','2','0'),
('46846','21','','10614','Get database stats','oci.aut.db.metrics.stats','5m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''db_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Autonomous DB'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const metrics = [
[''DatabaseAvailability'', ''last''],
''ConnectionLatency'',
''QueryLatency''
];
buildMql(params[''db_id''], metrics, ''max'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_autonomous_database''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets all metrics related to specific database that have a collection frequency of 5 minutes.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','87a25240776a4b8a9a17ac053b69fd99','0','2','0'),
('46847','21','','10614','Get storage stats','oci.aut.db.metrics.storage.stats','60m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''db_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Autonomous DB'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const metrics = [
''StorageAllocated'',
''StorageMax'',
''StorageUsed'',
[''StorageUtilization'', ''mean'']
];
buildMql(params[''db_id''], metrics, ''max'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_autonomous_database''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets all storage metrics related to a specific database that have a collection frequency of 60 minutes.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','cb2936c594e4450096559b3023f6aa4f','0','2','0'),
('46848','21','','10614','State','oci.aut.db.state','1m','31d','365d','0','3','','','','',NULL,'1196',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''db_id'', ''http_status_code''], params);
var oci = new OCI(''Autonomous DB'', ''Get state'', params);
return oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/autonomousDatabases/'' + encodeURIComponent(params[''db_id'']), ''''), ''lifecycleState'');','','0','','','','','0',NULL,'Gets the autonomous database state.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','48d69be6970c41fcb110f18e18ff6387','0','2','0'),
('46849','21','','10615','Get metrics','oci.block.volume.metrics.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''volume_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Block volume'', ''Get metrics'', params);
const metrics = [
''VolumeReadThroughput'',
''VolumeWriteThroughput'',
''VolumeReadOps'',
''VolumeWriteOps'',
[''VolumeThrottledIOs'', ''sum''],
''VolumeGuaranteedVPUsPerGB'',
''VolumeGuaranteedIOPS'',
''VolumeGuaranteedThroughput''
];
buildMql(params[''volume_id''], metrics, ''mean'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_blockstore''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets block volume metrics.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','5c1d0fd1686e4c74b33dbe12956d7b7c','0','2','0'),
('46850','21','','10615','State','oci.block.volume.state','1m','31d','365d','0','3','','','','',NULL,'1198',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''volume_id'', ''http_status_code''], params);
var oci = new OCI(''Block volume'', ''Get volume state'', params);
return oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/volumes/'' + encodeURIComponent(params[''volume_id'']), ''''), ''lifecycleState'');','','0','','','','','0',NULL,'Gets the block volume state.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','4fdab3067ada41219c8208862e7c8b14','0','2','0'),
('46851','21','','10616','Get metrics','oci.boot.volume.metrics.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''volume_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Boot volume'', ''Get metrics'', params);
const metrics = [
''VolumeReadThroughput'',
''VolumeWriteThroughput'',
''VolumeReadOps'',
''VolumeWriteOps'',
[''VolumeThrottledIOs'', ''sum''],
''VolumeGuaranteedVPUsPerGB'',
''VolumeGuaranteedIOPS'',
''VolumeGuaranteedThroughput''
];
buildMql(params[''volume_id''], metrics, ''mean'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_blockstore''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets boot volume metrics.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','388e89b8e68149438d714237e785ccde','0','2','0'),
('46852','21','','10616','State','oci.boot.volume.state','1m','31d','365d','0','3','','','','',NULL,'1199',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''volume_id'', ''http_status_code''], params);
var oci = new OCI(''Boot volume'', ''Get volume state'', params);
return oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/bootVolumes/'' + encodeURIComponent(params[''volume_id'']), ''''), ''lifecycleState'');','','0','','','','','0',NULL,'Gets the boot volume state.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','3f0e4bed1fd14293b40b23595f01ebb1','0','2','0'),
('46853','21','','10618','Get instance availability','oci.compute.availability.get','5m','31d','365d','0','3','','','','',NULL,'1200',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''instance_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Compute'', ''Get health'', params);
const mql = ''InstanceAccessibilityStatus['' + params[''req_interval''] + ''m]{resourceId='' + params[''instance_id''] + ''}.max()'';
return JSON.stringify(oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), mql, ''oci_compute_instance_health''), ''aggregatedDatapoints''));','','0','','','','','0',NULL,'The accessibility status of a virtual machine instance.
A value of "1" indicates that the instance is unresponsive due to an issue with
the infrastructure or the instance itself.
A value of "0" indicates that an accessibility issue has not been detected.
If the instance is stopped, then the metric does not have a value.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','657ad1d54de4454696573418f5f17f11','0','2','0'),
('46854','21','','10618','Get compute metrics','oci.compute.metrics.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''instance_id'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Compute'', ''Get metrics'', params);
const metrics = [
[''CpuUtilization'', ''mean''],
[''MemoryUtilization'', ''mean''],
[''LoadAverage'', ''mean''],
[''MemoryAllocationStalls'', ''mean''],
''DiskBytesRead'',
''DiskBytesWritten'',
''DiskIopsRead'',
''DiskIopsWritten'',
''NetworksBytesIn'',
''NetworksBytesOut''
];
buildMql(params[''instance_id''], metrics, ''rate'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_computeagent''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets compute instance metrics.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','65ff665a67374bb082f260ca473dfb1b','0','2','0'),
('46855','21','','10618','State','oci.compute.state.get','1m','31d','365d','0','3','','','','',NULL,'1201',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''instance_id'', ''http_status_code''], params);
var oci = new OCI(''Compute'', ''Get state'', params);
return oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/instances/'' + encodeURIComponent(params[''instance_id'']), ''''), ''lifecycleState'');','','0','','','','','0',NULL,'The current state of the instance.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','3c4a11c3c8fe40fca36635e2a6882816','0','2','0'),
('46856','21','','10618','Get VNICs','oci.compute.vnic.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''instance_id'', ''availability_domain'', ''http_status_code'', ''compartment_id''], params);
var oci = new OCI(''Compute'', ''Get VNICs'', params);
return JSON.stringify(oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/vnicAttachments'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']) + ''&availabilityDomain='' + encodeURIComponent(params[''availability_domain'']) + ''&instanceId='' + encodeURIComponent(params[''instance_id''])), [''vnicId'', ''displayName'', ''lifecycleState'']));','','0','','','','','0',NULL,'Gets information about all virtual network interface cards attached to the instance.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','c0e74098afb14984af6355ac0711662e','0','2','0'),
('46857','21','','10619','Get VCN state','oci.vcn.state.get','5m','31d','365d','0','3','','','','',NULL,'1204',E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''vcn_id'', ''http_status_code''], params);
var oci = new OCI(''VCN'', ''Get VCN status'', params);
return JSON.stringify(oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/vcns/'' + encodeURIComponent(params[''vcn_id'']), ''''), ''lifecycleState''));','','0','','','','','0',NULL,'State of the virtual cloud network.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','7b2fdfb034ba4657a731ab11ffa175f6','0','2','0'),
('46858','21','','10619','Get subnets','oci.vcn.subnets.get','5m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''vcn_id'', ''http_status_code'', ''compartment_id''], params);
var oci = new OCI(''VCN'', ''Get subnets'', params);
return JSON.stringify(oci.extractData(''get'', oci.executeRequest(''get'', ''/20160918/subnets'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']) + ''&vcnId='' + encodeURIComponent(params[''vcn_id''])), [''id'', ''displayName'', ''lifecycleState'', ''freeformTags'']));','','0','','','','','0',NULL,'Get data about subnets linked to the particular VCN.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','83236aeedf5e4ba39f0425c21f745690','0','2','0'),
('46859','21','','10620','Get frequent metrics','oci.obj.storage.metrics.frequent.get','1m','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''bucket_name'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Object storage'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const metrics = [
''AllRequests'',
''ClientErrors'',
''FirstByteLatency'',
''PostRequests'',
''PutRequests'',
''TotalRequestLatency''
];
buildMql(params[''bucket_name''], metrics, ''mean'', ''resourceDisplayName'');
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_objectstorage''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets all metrics related to a specific bucket that have frequent update time (100 milliseconds).','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','5463c35f2c48408997532001025989fa','0','2','0'),
('46860','21','','10620','Get hourly metrics','oci.obj.storage.metrics.hourly.get','1h','0','0','0','4','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
function buildMql(id, metrics, defaultStatistic, resourceType) {
resourceType = resourceType === '''' || resourceType === undefined ? ''resourceId'' : resourceType;
this.query = ''['' + params[''req_interval''] + ''m]{'' + resourceType + ''='' + id + ''}.'';
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
const metric = ((Array.isArray(metrics[i]) ? metrics[i] : [metrics[i], defaultStatistic]));
metrics[i] = [metric[0], this.query + metric[1]];
}
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''bucket_name'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Object storage'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const metrics = [
''ObjectCount'',
''StoredBytes'',
''UncommittedParts''
];
buildMql(params[''bucket_name''], metrics, ''mean'', ''resourceDisplayName'')
var result = {};
for (var i = 0, metricsLength = metrics.length; i < metricsLength; i++) {
result[metrics[i][0]] = oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), metrics[i][0] + metrics[i][1] + ''()'', ''oci_objectstorage''), ''aggregatedDatapoints'');
}
return JSON.stringify(result);','','0','','','','','0',NULL,'Gets all metrics related to specific bucket that have update time of 1 hour.','0','7d','0','',NULL,'30s','','','','200','1','0','','','0','0','0','0','0','0','0','4a12f1c73e8f40be9136a095ad147775','0','2','0'),
('46861','21','','10620','Get enabled object lifecycle management','oci.obj.storage.metrics.olm.get','3h','31d','365d','0','3','','','','',NULL,NULL,E'function validateZabbixParams(requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
}
function OCI(service, action, params) {
this.zabbixLogPrefix = ''[ OCI ] [ '' + service + '' ] [ '' + action + '' ]'';
this.request = new HttpRequest();
this.hash = function (string) {
return sha256(string);
};
this.sign = function (string) {
return sign(''sha256'', params[''private_key''], string);
};
this.encode = function (hash) {
const hexArr = hash.match(/.{1,2}/g);
var uInt8Array = new Uint8Array(hexArr.length);
hexArr.forEach(function (hex, idx) {
uInt8Array[idx] = parseInt(hex, 16);
});
return btoa(uInt8Array);
};
this.getDate = function () {
const weekdayShortList = [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thu'', ''Fri'', ''Sat''];
const monthShortList = [''jan'', ''feb'', ''mar'', ''apr'', ''may'', ''jun'', ''jul'', ''aug'', ''sep'', ''oct'', ''nov'', ''dec''];
const today = new Date();
return weekdayShortList[today.getUTCDay()] + '', '' + today.getUTCDate() + '' '' + monthShortList[today.getUTCMonth()] + '' '' + today.getUTCFullYear() + '' '' + today.getUTCHours() + '':'' + today.getUTCMinutes() + '':'' + today.getUTCSeconds() + '' GMT'';
};
this.executeRequest = function (httpMethod, apiPath, apiParams, mql, namespace) {
var headers = ''(request-target) date host'';
const contentTypeHeader = ''content-type: application/json'';
const dateHeader = ''date: '' + this.getDate();
const hostHeader = ''host: '' + params[''api_host''];
const requestTarget = ''(request-target): '' + httpMethod + '' '' + apiPath + apiParams;
var signingString = requestTarget + ''\\n'' + dateHeader + ''\\n'' + hostHeader;
var reqHeaders = [contentTypeHeader, dateHeader];
if (httpMethod === ''post'') {
var body = JSON.stringify({
''namespace'': namespace,
''query'': mql
});
headers = headers + '' x-content-sha256 content-type content-length'';
const bodyHeader = ''x-content-sha256: '' + this.encode(this.hash(body));
const bodyLengthHeader = ''content-length: '' + body.length;
signingString = signingString + ''\\n'' + bodyHeader + ''\\n'' + contentTypeHeader + ''\\n'' + bodyLengthHeader;
reqHeaders.push(bodyHeader, bodyLengthHeader);
}
const signature = this.encode(this.sign(signingString));
reqHeaders.push(''Authorization: Signature version="1",keyId="'' + params[''tenancy_ocid''] + ''/'' + params[''user_ocid''] + ''/'' + params[''fingerprint''] + ''",algorithm="rsa-sha256",headers="'' + headers + ''",signature="'' + signature + ''"'');
for (var header = 0, headerLength = reqHeaders.length; header < headerLength; header++) {
this.request.addHeader(reqHeaders[header]);
}
if (params[''http_proxy'']) {
this.request.setProxy(params[''http_proxy'']);
Zabbix.log(4, this.zabbixLogPrefix + '' Using http proxy: '' + params[''http_proxy'']);
}
if (httpMethod === ''post'') {
var apiRateLimitExceeded = false;
do {
const response = this.request.post(''https://'' + params[''api_host''] + apiPath + apiParams, body);
try {
if (JSON.parse(response)[''code''] === ''TooManyRequests'') {
apiRateLimitExceeded = true;
Zabbix.sleep(1000);
} else {
apiRateLimitExceeded = false;
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the response: '' + JSON.stringify(response));
throw ''Could not parse the response. See logs for more information.'';
}
} while (apiRateLimitExceeded);
} else {
const response = this.request.get(''https://'' + params[''api_host''] + apiPath + apiParams);
}
this.request.clearHeader();
if (this.request.getStatus() === parseInt(params[''http_status_code''])) {
return response;
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Unexpected HTTP response code: '' + this.request.getStatus());
throw ''Unexpected HTTP response code: '' + this.request.getStatus();
}
};
this.extractData = function (httpMethod, data, keys, compartment) {
try {
data = JSON.parse(data);
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not parse the received JSON object: '' + data);
throw ''Could not parse received JSON object. See logs for more information.'';
}
if (typeof keys == ''object'') {
var returnBuffer = [];
for (var dataObj = 0, dataLength = data.length; dataObj < dataLength; dataObj++) {
var objectBuffer = {};
for (var key = 0, keysLength = keys.length; key < keysLength; key++) {
if (data[dataObj][keys[key]] || data[dataObj][keys[key]] == null) {
objectBuffer[keys[key].match(/^[a-z]+$|[A-Z][a-z]+$/)[0].toLowerCase()] = data[dataObj][keys[key]];
} else {
Zabbix.log(3, this.zabbixLogPrefix + '' Received an unexpected JSON object. Could not get value for key "'' + keys[key] + ''" in JSON: '' + JSON.stringify(data[dataObj]));
throw ''Received an unexpected JSON object. See logs for more information.'';
}
}
if (typeof compartment != ''undefined'' && compartment != '''') objectBuffer[''compartment''] = compartment;
returnBuffer.push(objectBuffer);
}
return returnBuffer;
}
try {
if (httpMethod === ''get'') {
return data[keys];
} else {
if (data.length === 0) {
return 0;
}
data = data[0][keys];
return data[data.length - 1][''value''];
}
} catch (error) {
Zabbix.log(3, this.zabbixLogPrefix + '' Could not find key "'' + keys + ''" in JSON: '' + JSON.stringify(data));
throw ''Could not find required key in JSON object. See logs for more information.'';
}
};
}
const params = JSON.parse(value);
validateZabbixParams([''tenancy_ocid'', ''user_ocid'', ''private_key'', ''fingerprint'', ''api_host'', ''bucket_name'', ''http_status_code'', ''req_interval'', ''compartment_id''], params);
var oci = new OCI(''Object storage'', ''Get metrics '' + params[''req_interval''] + ''m'', params);
const mql = ''EnabledOLM['' + params[''req_interval''] + ''m]{resourceDisplayName='' + params[''bucket_name''] + ''}.mean()'';
return JSON.stringify(oci.extractData(''post'', oci.executeRequest(''post'', ''/20180401/metrics/actions/summarizeMetricsData'', ''?compartmentId='' + encodeURIComponent(params[''compartment_id'']), mql, ''oci_objectstorage''), ''aggregatedDatapoints''));','','0','','','','','0',NULL,'Indicates whether a bucket has any executable Object Lifecycle Management policies configured. `EnabledOLM` emits:
1 - if policies are configured
0 - if no policies are configured','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','5bb5ba3011e94e43bb1fdc79668c9537','0','2','0'),
('46958','11','','10317','Get database','db.odbc.get[get_database,"{$MYSQL.DSN}"]','1h','0','0','0','4','','','','',NULL,NULL,'show databases','','0','{$MYSQL.USER}','{$MYSQL.PASSWORD}','','','0',NULL,'Used for scanning databases in DBMS.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70491bf6b6af401c9dfb10c0cbfddee1','0','2','0'),
('46959','11','','10317','Get replication','db.odbc.get[get_replication,"{$MYSQL.DSN}"]','1m','0','0','0','4','','','','',NULL,NULL,'show slave status','','0','{$MYSQL.USER}','{$MYSQL.PASSWORD}','','','0',NULL,'Gets replication status information.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e389af9f1d134e028e3b637544c8a265','0','2','0'),
('46960','11','','10328','Get archive log','db.odbc.get[get_archivelog,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT d.dest_name
FROM v$archive_dest d , v$database db WHERE d.status != ''INACTIVE'' AND db.log_mode = ''ARCHIVELOG'';','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the destinations of the log archive.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76591a03cf684d30ae15eca8519ce1dd','0','2','0'),
('46961','11','','10328','Get ASM disk groups','db.odbc.get[get_asm,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT name AS dgname FROM v$asm_diskgroup;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the ASM disk groups.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','10f3da9afb674ff18956aa99229de8dd','0','2','0'),
('46962','11','','10328','Get database','db.odbc.get[get_db,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT name as DBNAME, DECODE(CDB, ''YES'', ''CDB'', ''No-CDB'') AS TYPE FROM V$DATABASE;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the databases in the database management system (DBMS).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ca479f46bb2435f9f9cb62d404fa37c','0','2','0'),
('46963','11','','10328','Get PDB','db.odbc.get[get_pdb,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT CON_ID, name as DBNAME FROM V$PDBS;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets the pluggable database (PDB) in DBMS.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de5aa291b7da4733ad26d517e8ff55cf','0','2','0'),
('46964','11','','10328','Get tablespace','db.odbc.get[get_tablespace,,"Driver={$ORACLE.DRIVER};DBQ=//{$ORACLE.HOST}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1h','0','0','0','4','','','','',NULL,NULL,'SELECT
CON_ID,
NVL(CON$NAME, ''DB'') CON_NAME,
TABLESPACE_NAME TABLESPACE,
CONTENTS
FROM
CDB_TABLESPACES;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','0',NULL,'Gets tablespaces in DBMS.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2310462a8936465c8a62d8586ab0ba65','0','2','0'),
('46965','20','get[1.3.6.1.4.1.12356.101.13.1.5.0]','10604','HA config sync','ha.auto.sync[fgHaAutoSync.0]','1h','31d','365d','0','3','','','','',NULL,'1206','','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Configuration of an automatic configuration synchronization (enabled or disabled).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ea59bff13fd44c37aa5bd711146fe3d9','0','2','0'),
('46966','20','get[1.3.6.1.4.1.12356.101.13.1.2.0]','10604','HA cluster group ID','ha.cluster.group_id[fgHaGroupId.0]','1h','31d','0','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
HA cluster group ID device is configured for.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dbc47cff3e60401d9a52f590e1ed6281','0','2','0'),
('46967','20','get[1.3.6.1.4.1.12356.101.13.1.7.0]','10604','HA cluster group name','ha.cluster.group_name[fgHaGroupName.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
HA cluster group name.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e2b57a68243445e87ca0e23277bafd6','0','2','0'),
('46968','20','get[1.3.6.1.4.1.12356.101.13.1.4.0]','10604','HA cluster primary override','ha.cluster.override[fgHaOverride.0]','1h','31d','365d','0','3','','','','',NULL,'1206','','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Status of the primary override flag.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6bdf8c8d09140ffa4087d0204a0711d','0','2','0'),
('46969','20','get[1.3.6.1.4.1.12356.101.13.1.3.0]','10604','HA cluster priority','ha.cluster.priority[fgHaPriority.0]','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
HA clustering priority of the device (default = 128).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f1d2dfb8fd74e80aedb6fa0b7ff7215','0','2','0'),
('46970','20','walk[1.3.6.1.4.1.12356.101.13.2.1.1]','10604','SNMP walk HA members','ha.members.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering HA members from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff27aa75a1d84aa5a472fbf114f8dec0','0','2','0'),
('46971','20','get[1.3.6.1.4.1.12356.101.13.1.1.0]','10604','HA mode','ha.mode[fgHaSystemMode.0]','1h','31d','0','0','3','','','','',NULL,'1208','','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
High-availability mode (Standalone, A-A or A-P).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d9bb1ddb4924d5ba4dc75fb4103cc10','0','2','0'),
('46972','20','get[1.3.6.1.4.1.12356.101.13.1.6.0]','10604','HA load-balancing schedule','ha.schedule[fgHaSchedule.0]','1h','31d','365d','0','3','','','','',NULL,'1205','','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Load-balancing schedule of cluster (in A-A mode).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd3dc8fdcb8e41569f1f81b2624e1462','0','2','0'),
('46973','20','walk[1.3.6.1.4.1.12356.101.4.3.2.1]','10604','SNMP walk hardware sensors','hw.sensor.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering hardware sensors from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb422f92e3ad4eafb9f43f0167a250ee','0','2','0'),
('46974','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.2.1]','10604','Blocked intrusions','ips.blocked[fgIpsIntrusionsBlocked.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of intrusions blocked per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04f58b6b63b945a08a27799bee741702','0','2','0'),
('46975','20','get[1.3.6.1.4.1.12356.101.4.2.2.0]','10604','IPS database version','ips.database.version[fgSysVersionIps.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
IPS signature database version installed on the device.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a42006208224b94a64ecc13437516b6','0','2','0'),
('46976','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.9.1]','10604','Detected anomaly based intrusions','ips.detected.anomaly[fgIpsAnomalyDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of intrusions detected as anomalies per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','afa9709de4c34d0c82aaf87c5b4f4572','0','2','0'),
('46977','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.3.1]','10604','Detected critical intrusions','ips.detected.crit[fgIpsCritSevDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of critical severity intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20ceeb0c520d454bba3d032d10a5db11','0','2','0'),
('46978','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.4.1]','10604','Detected high intrusions','ips.detected.high[fgIpsHighSevDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of high severity intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','badcc4a4fe3d4b219a2c67cda182ff4c','0','2','0'),
('46979','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.7.1]','10604','Detected info intrusions','ips.detected.info[fgIpsInfoSevDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of info severity intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f570cf723b904be593a99a8338e577de','0','2','0'),
('46980','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.6.1]','10604','Detected low intrusions','ips.detected.low[fgIpsLowSevDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of low severity intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5edd46eba610442888acf0c8bdcde2c1','0','2','0'),
('46981','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.5.1]','10604','Detected medium intrusions','ips.detected.med[fgIpsMedSevDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of medium severity intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e4f211aa2b6492fa461e2bc5af1723f','0','2','0'),
('46982','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.8.1]','10604','Detected signature based intrusions','ips.detected.sign[fgIpsSignatureDetections.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of intrusions detected by signature per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf7ab7c7fdfd42a28e15545904baa6dc','0','2','0'),
('46983','20','get[1.3.6.1.4.1.12356.101.9.2.1.1.1.1]','10604','Total detected intrusions','ips.detected.total[fgIpsIntrusionsDetected.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Total number of intrusions detected per second.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f35dea442cbe4578a221571b2dbd676f','0','2','0'),
('46984','20','get[1.3.6.1.4.1.12356.101.4.1.8.0]','10604','IPv4 Active sessions','net.ipv4.sessions[fgSysSesCount.0]','5m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of active sessions on the device.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba89be1a4a01484f955fc6d740d1c736','0','2','0'),
('46985','20','walk[1.3.6.1.4.1.12356.101.4.9.2.1]','10604','SNMP walk SD-WAN health-checks','sdwan_health.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering SD-WAN health-checks from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de401c1befce453bb9de93cb154026d4','0','2','0'),
('46986','20','walk[1.3.6.1.4.1.12356.101.4.4.2.1]','10604','SNMP walk CPU','system.cpu.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering CPU from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47d06309bad546b0b303c0c602c76415','0','2','0'),
('46987','20','walk[1.3.6.1.4.1.12356.101.3.2.1.1]','10604','SNMP walk virtual domain','vdom.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering virtual domains from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','14d4584977a74e0791bf063652bf4c39','0','2','0'),
('46988','20','get[1.3.6.1.4.1.12356.101.12.2.3.1.1.1]','10604','SSL VPN state','vpn.ssl.state[fgVpnSslState.0]','1m','31d','365d','0','3','','','','',NULL,'1211','','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Used to determine whether SSL-VPN is enabled on this virtual domain.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','08bf282b9b3c4e78b139f3f6fe3bcd97','0','2','0'),
('46989','20','get[1.3.6.1.4.1.12356.101.12.1.1.0]','10604','Active IPsec VPN tunnels','vpn.tunnel.active[fgVpnTunnelUpCount.0]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Number of IPsec VPN tunnels with at least one SA.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1699dd171a1f41d5896ac766477033ca','0','2','0'),
('46990','20','walk[1.3.6.1.4.1.12356.101.12.2.2.1.3,1.3.6.1.4.1.12356.101.12.2.2.1.20]','10604','SNMP walk VPN tunnels','vpn.tunnel.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering VPN tunnels from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','349a383498cd42729940d1b9e5176e3e','0','2','0'),
('46991','20','get[1.3.6.1.4.1.12356.101.12.2.3.1.2.1]','10604','Active SSL VPN users','vpn.users.count[fgVpnSslStatsLoginUsers.0]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FORTINET-FORTIGATE-MIB
Current number of users logged in through SSL-VPN tunnels in the virtual domain.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9a78b70b0f54fdc92d5efbfd38a32c5','0','2','0'),
('46992','20','walk[1.3.6.1.4.1.12356.101.14.4.3.1]','10604','SNMP walk wireless AP','wireless.ap.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Used for discovering wireless access points from FORTINET-FORTIGATE-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5135b14791f844e4b1e1cdef4817a5d2','0','2','0'),
('47069','21','','10627','Get ELB NLB alarms data','aws.elb.nlb.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn'', ''loadbalancer_name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
regex = /loadbalancer\\/(.+)$/;
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if ((dimensions[i].Name === ''LoadBalancer'' && dimensions[i].Value === AWS.params.arn.match(regex)[1])
|| (dimensions[i].Name === ''LoadBalancerName'' && dimensions[i].Value === AWS.params.loadbalancer_name)) {
result.push(alarm);
break;
}
}
});
}
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Alarms ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'`DescribeAlarms` API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','7d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','6d74c1a68ea9476dadc39b785f333d5d','0','2','0'),
('47070','21','','10627','Get metrics data','aws.elb.nlb.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
request_period: 60,
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
renderMetricQuery: function (period, arn) {
var metrics_list = [
''ActiveFlowCount:Average'',
''ActiveFlowCount_TCP:Average'',
''ActiveFlowCount_TLS:Average'',
''ActiveFlowCount_UDP:Average'',
''ClientTLSNegotiationErrorCount:Sum'',
''ConsumedLCUs:Sum'',
''ConsumedLCUs_TCP:Sum'',
''ConsumedLCUs_TLS:Sum'',
''ConsumedLCUs_UDP:Sum'',
''NewFlowCount:Sum'',
''NewFlowCount_TCP:Sum'',
''NewFlowCount_TLS:Sum'',
''NewFlowCount_UDP:Sum'',
''PeakPacketsPerSecond:Maximum'',
''PortAllocationErrorCount:Sum'',
''SecurityGroupBlockedFlowCount_Inbound_ICMP:Sum'',
''SecurityGroupBlockedFlowCount_Inbound_TCP:Sum'',
''SecurityGroupBlockedFlowCount_Inbound_UDP:Sum'',
''SecurityGroupBlockedFlowCount_Outbound_ICMP:Sum'',
''SecurityGroupBlockedFlowCount_Outbound_TCP:Sum'',
''SecurityGroupBlockedFlowCount_Outbound_UDP:Sum'',
''ProcessedBytes:Sum'',
''ProcessedBytes_TCP:Sum'',
''ProcessedBytes_TLS:Sum'',
''ProcessedBytes_UDP:Sum'',
''ProcessedPackets:Sum'',
''TargetTLSNegotiationErrorCount:Sum'',
''TCP_Client_Reset_Count:Sum'',
''TCP_ELB_Reset_Count:Sum'',
''TCP_Target_Reset_Count:Sum'',
''UnhealthyRoutingFlowCount:Sum''
],
regex = /loadbalancer\\/(.+)$/;
var metric_payload = [];
metrics_list.forEach(function (metric, index) {
var parts = metric.split('':'', 2);
metric_payload.push({
''Id'': ''m'' + index,
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/NetworkELB'',
''Dimensions'': [
{
''Name'': ''LoadBalancer'',
''Value'': arn.match(regex)[1],
}
]
},
''Period'': period,
''Stat'': parts[1],
}
});
});
return metric_payload;
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = JSON.stringify([]);
}
else {
data = JSON.stringify(data)
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''X-Amz-Target: GraniteServiceVersion20100801.GetMetricData'')
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.parse(response);
},
getMetricsData: function () {
var end_time = Math.floor((new Date().getTime()) / 1000),
start_time = end_time - AWS.request_period * 60;
payload = {
''StartTime'': start_time,
''EndTime'': end_time,
''ScanBy'': ''TimestampDescending'',
''MetricDataQueries'': AWS.renderMetricQuery(AWS.request_period, AWS.params.arn)
};
return AWS.getField(AWS.request(''POST'', AWS.params.region, ''monitoring'', '''', payload), ''MetricDataResults'');
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Get metrics] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get ELB Network Load Balancer metrics.
Full metrics list related to Network Load Balancer: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html','0','7d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','76d374302b29430c8fe5813656ffd928','0','2','0'),
('47071','21','','10627','Get target groups','aws.elb.nlb.get_target_groups','0s;m/30','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = JSON.stringify([]);
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS ELB ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS ELB ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.parse(response);
},
listTargetGroups: function () {
var lld_array = [],
regex = /targetgroup\\/(.+)$/,
payload = {
''Action'': ''DescribeTargetGroups'',
''LoadBalancerArn'': AWS.params.arn,
''Version'': ''2015-12-01''
};
targets = AWS.getField(AWS.request(''GET'', AWS.params.region, ''elasticloadbalancing'', AWS.prepareParams(payload), ''''), ''DescribeTargetGroupsResponse.DescribeTargetGroupsResult.TargetGroups'');
if (!Array.isArray(targets))
targets = [targets]
targets.forEach(function (targets) {
lld_array.push(
{
target_name: AWS.getField(targets, ''TargetGroupName''),
target_arn: AWS.getField(targets, ''TargetGroupArn'').match(regex)[0],
type: AWS.getField(targets, ''TargetType''),
protocol: AWS.getField(targets, ''Protocol'')
}
)
});
return lld_array;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.listTargetGroups());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS ELB Target groups ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get ELB target group.
`DescribeTargetGroups` API method: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html','0','7d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','d80c238267744bc9b46de217acd93842','0','2','0'),
('47131','22','','10628','Website {$WEBSITE.DOMAIN} Get data','website.get.data','{$WEBSITE.GET.DATA.INTERVAL}','0','0','0','4','','','','',NULL,NULL,'const Website = {
params: {},
setParams(params) {
[''scheme'', ''domain'',''width'', ''height''].forEach(function (field) {
if (typeof params !== ''object'' || !params[field]) {
throw new Error(''Required param is not set: '' + field + ''.'');
}
});
this.params = params;
},
getOptions(browser) {
switch ((browser || '''').trim().toLowerCase()) {
case ''firefox'':
return Browser.firefoxOptions();
case ''safari'':
return Browser.safariOptions();
case ''edge'':
return Browser.edgeOptions();
default:
return Browser.chromeOptions();
}
},
getPerformance() {
const browser = new Browser(Website.getOptions(Website.params.browser));
const url = Website.params.scheme + ''://'' + Website.params.domain + ''/'' + Website.params.path
const screenshot = '''';
browser.setScreenSize(Number(Website.params.width), Number(Website.params.height))
browser.navigate(url);
browser.collectPerfEntries();
screenshot = browser.getScreenshot();
const result = browser.getResult();
result.screenshot = screenshot;
return JSON.stringify(result);
}
};
try {
Website.setParams(JSON.parse(value));
return Website.getPerformance();
} catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Website get metrics] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Returns the JSON with performance counters of the requested website.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5d5b396dfdc4fc99e4c2d0216728027','0','2','0'),
('47158','21','','10629','Get branches','github.repo.branches.get','{$GITHUB.INTERVAL:"get_branches"}','0','0','0','4','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var result = github.apiRequest(github.params.api_url + github.params.api_query + ''?'' + github.params.query_params || '''', github.params.pagination_required);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Get the repository branches.
Information about endpoint:
https://docs.github.com/en/rest/branches/branches?apiVersion=2022-11-28#list-branches','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_branches"}','','','','200','1','0','','','0','0','0','0','0','0','0','e348ae4bd2c04b5c88df2f5cb422eb61','0','2','0'),
('47159','21','','10629','Get issue count','github.repo.issues.get','{$GITHUB.INTERVAL:"get_issues_count"}','0','0','0','4','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value));
var issues_count,
issues_count_result = {
issues: {
total: 0,
open: 0,
closed: 0
},
pr: {
total: 0,
open: 0,
closed: 0
}
};
issues_count = github.apiRequest(github.params.api_url + ''repos/'' + github.params.repo_owner + ''/'' + github.params.repo_name + ''/pulls?state=all&per_page=1'', github.params.pagination_required);
issues_count_result.pr.total = github.itemsCount(issues_count);
issues_count = github.apiRequest(github.params.api_url + ''repos/'' + github.params.repo_owner + ''/'' + github.params.repo_name + ''/pulls?state=open&per_page=1'', github.params.pagination_required);
issues_count_result.pr.open = github.itemsCount(issues_count);
issues_count_result.pr.closed = issues_count_result.pr.total - issues_count_result.pr.open;
issues_count = github.apiRequest(github.params.api_url + ''repos/'' + github.params.repo_owner + ''/'' + github.params.repo_name + ''/issues?state=all&per_page=1'', github.params.pagination_required);
issues_count_result.issues.total = github.itemsCount(issues_count) - issues_count_result.pr.total;
issues_count = github.apiRequest(github.params.api_url + ''repos/'' + github.params.repo_owner + ''/'' + github.params.repo_name + ''/issues?state=open&per_page=1'', github.params.pagination_required);
issues_count_result.issues.open = github.itemsCount(issues_count) - issues_count_result.pr.open;
issues_count_result.issues.closed = issues_count_result.issues.total - issues_count_result.issues.open;
return JSON.stringify(issues_count_result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Get the count of issues and pull requests in the repository (total, open, closed).
Information about endpoint for issues:
https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#list-repository-issues
Information about endpoint for pull requests:
https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-pull-requests','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_issues_count"}','','','','200','1','0','','','0','0','0','0','0','0','0','f88f02dc593844a89eb601e833a1a19c','0','2','0'),
('47160','21','','10629','Number of releases','github.repo.releases.count','{$GITHUB.INTERVAL:"get_releases_count"}','31d','365d','0','3','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var result = github.apiRequest(github.params.api_url + github.params.api_query + ''?'' + github.params.query_params || '''', github.params.pagination_required);
return github.itemsCount(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'The number of releases in the repository. Note that this number also includes draft releases.
Information about endpoint:
https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#list-releases','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_releases_count"}','','','','200','1','0','','','0','0','0','0','0','0','0','0098bfc3ed5c4181a7dcd1eceb8e7251','0','2','0'),
('47161','21','','10629','Get repository','github.repo.repository.get','{$GITHUB.INTERVAL:"get_repo"}','0','0','0','4','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var repo_data = github.apiRequest(github.params.api_url + github.params.api_query);
if (repo_data.data[0].fork === false) {
var repo_community_profile = github.apiRequest(github.params.api_url + github.params.api_query + ''/community/profile'');
repo_data.data[0].zbx_community_profile = repo_community_profile.data[0];
}
return JSON.stringify(repo_data);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Get the general repository information. If the repository is not a fork, the community profile metrics are also retrieved.
Information about endpoint:
https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#get-a-repository
Information about community profile metrics:
https://docs.github.com/en/rest/metrics/community?apiVersion=2022-11-28#get-community-profile-metrics','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_repo"}','','','','200','1','0','','','0','0','0','0','0','0','0','37e94a93bf924d84bb6609eec47ff081','0','2','0'),
('47162','21','','10629','Get self-hosted runners','github.repo.runners.get','{$GITHUB.INTERVAL:"get_runners"}','0','0','0','4','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var result = github.apiRequest(github.params.api_url + github.params.api_query + ''?'' + github.params.query_params || '''', github.params.pagination_required);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Get the self-hosted runners of the repository.
Note that admin access to the repository is required to use this endpoint:
https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#list-self-hosted-runners-for-a-repository','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_runners"}','','','','200','1','0','','','0','0','0','0','0','0','0','a0ca909d3c734d859594771985a5c302','0','2','0'),
('47163','21','','10629','Number of tags','github.repo.tags.count','{$GITHUB.INTERVAL:"get_tags_count"}','31d','365d','0','3','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var result = github.apiRequest(github.params.api_url + github.params.api_query + ''?'' + github.params.query_params || '''', github.params.pagination_required);
return github.itemsCount(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'The number of tags in the repository.
Information about endpoint:
https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-repository-tags','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_tags_count"}','','','','200','1','0','','','0','0','0','0','0','0','0','49d81fc72a6a455ebee7304592056930','0','2','0'),
('47164','21','','10629','Get workflows','github.repo.workflows.get','{$GITHUB.INTERVAL:"get_workflows"}','0','0','0','4','','','','',NULL,NULL,E'var github = {
params: {},
setParams: function (params, required) {
required = required || [];
required.concat([''api_url'', ''user_agent'', ''api_version'', ''repo_owner'', ''repo_name'', ''pagination_required'', ''api_token'']).forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined''
|| params[field] === '''') {
throw ''Required parameter is not set: "'' + field + ''".'';
}
});
github.params = params;
if (typeof github.params.api_url === ''string'' && !github.params.api_url.endsWith(''/'')) {
github.params.api_url += ''/'';
}
},
apiRequest: function (url, pagination_required) {
const next_pattern = /<([^>]+)>;\\s*rel="next"/i;
var request = new HttpRequest(),
response,
headers,
final_data = {
headers: {},
data: []
};
pagination_required = (typeof pagination_required !== ''undefined'') ? pagination_required : ''true'';
request.addHeader(''User-Agent: '' + github.params.user_agent);
request.addHeader(''Accept: application/vnd.github+json'');
request.addHeader(''X-GitHub-Api-Version: '' + github.params.api_version);
request.addHeader(''Authorization: Bearer '' + github.params.api_token);
if (typeof github.params.http_proxy !== ''undefined'' && github.params.http_proxy !== '''') {
request.setProxy(github.params.http_proxy);
Zabbix.log(4, ''[ GitHub Repo ] Using HTTP proxy: '' + github.params.http_proxy);
}
while (url) {
Zabbix.log(4, ''[ GitHub Repo ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ GitHub Repo ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API. Check debug log for more information.'';
}
var parsed_data = github.parseData(response);
final_data.data = final_data.data.concat(parsed_data);
headers = request.getHeaders();
url = ((headers.link || '''').match(next_pattern) || [])[1];
if (pagination_required === ''false'') {
url = '''';
}
}
final_data.headers = request.getHeaders();
delete request;
return final_data;
},
parseData: function (response_data) {
if (!response_data) {
return [];
}
const normalization_required = "total_count" in response_data && !("url" in response_data);
if (!normalization_required) return response_data;
delete response_data.incomplete_results;
delete response_data.repository_selection;
delete response_data.total_count;
const namespaceKey = Object.keys(response_data)[0];
response_data = response_data[namespaceKey];
return response_data;
},
itemsCount: function (response_data) {
const last_page_number = /<[^>]+page=(\\d+)>;\\s*rel="last"/i;
if (response_data.headers.link){
return response_data.headers.link.match(last_page_number)[1];
}
return response_data.data.length;
}
}
try {
github.setParams(JSON.parse(value), [''api_query'']);
var repo_data = github.apiRequest(github.params.api_url + github.params.api_query);
if (repo_data.data[0].fork === false) {
var repo_community_profile = github.apiRequest(github.params.api_url + github.params.api_query + ''/community/profile'');
repo_data.data[0].zbx_community_profile = repo_community_profile.data[0];
}
return JSON.stringify(repo_data);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ GitHub Repo ] ERROR: '' + error);
return JSON.stringify({ error: error });
}','','0','','','','','0',NULL,'Get the repository workflows.
Information about endpoint:
https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#list-repository-workflows','0','7d','0','',NULL,'{$GITHUB.TIMEOUT:"get_workflows"}','','','','200','1','0','','','0','0','0','0','0','0','0','d45dbcb0493d4258ac2cdba10648b3b3','0','2','0'),
('47195','16','','10630','License: Users: Get','jmx.discovery[attributes,"com.atlassian.jira:type=jira.license"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'License data for the discovery rule.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27334384618d4b2f91d700b188463a56','0','2','0'),
('47196','16','','10630','DB: Connections: Limit','jmx["com.atlassian.jira:name=BasicDataSource,connectionpool=connections",MaxTotal]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Total allowed database connection count.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11a89b91831b4b5d899bff63ba935cbb','0','2','0'),
('47197','16','','10630','DB: Connections: Active','jmx["com.atlassian.jira:name=BasicDataSource,connectionpool=connections",NumActive]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Active database connection count.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f064dbd8781848c09184fb83a3a46097','0','2','0'),
('47198','16','','10630','DB: Reads',E'jmx["com.atlassian.jira:type=db.reads",invocation\\.count]','1m','31d','365d','0','0','','rps','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Database read operations from Jira per second.
Units: rps - read operations per second.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2928e1e3b68940938a0b107eb5d72b95','0','2','0'),
('47199','16','','10630','DB: Writes',E'jmx["com.atlassian.jira:type=db.writes",invocation\\.count]','1m','31d','365d','0','0','','wps','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Database write operations from Jira per second.
Units: wps - write operations per second.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad5c16fa48864dc6b625a23f95ecf07a','0','2','0'),
('47200','16','','10630','Entity: Attachments','jmx["com.atlassian.jira:type=entity.attachments.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of attachments.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','942556b043734986a2c5e261e97d5b1c','0','2','0'),
('47201','16','','10630','Entity: Components','jmx["com.atlassian.jira:type=entity.components.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of components.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7aa003c53cb14555a88ee02e804ca45f','0','2','0'),
('47202','16','','10630','Entity: Custom fields','jmx["com.atlassian.jira:type=entity.customfields.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of custom fields.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ddf2cb59bb44d8a8fe7f2ca9e44ad20','0','2','0'),
('47203','16','','10630','Entity: Filters','jmx["com.atlassian.jira:type=entity.filters.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of filters.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c8d303953ed44b6815129a6a77ee5c6','0','2','0'),
('47204','16','','10630','Entity: Issues','jmx["com.atlassian.jira:type=entity.issues.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of issues.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d9a669481ab448eb5c9e0b64f3517b0','0','2','0'),
('47205','16','','10630','Entity: Versions created','jmx["com.atlassian.jira:type=entity.versions.total",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of versions created.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b6a8a8ed8a9242858560b0743cc955aa','0','2','0'),
('47206','16','','10630','Issue: Created per minute','jmx["com.atlassian.jira:type=issue.created.count",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Issues created per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2152f7eb0bff4c9888e131634b770673','0','2','0'),
('47207','16','','10630','Issue: Search per minute','jmx["com.atlassian.jira:type=issue.search.count",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Issue searches performed per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25fdfd0e3dce4d95ac2cdaed41ba5fb6','0','2','0'),
('47208','16','','10630','Issue: Updates per minute','jmx["com.atlassian.jira:type=issue.updated.count",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Issue updates performed per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','060d5f5ccf3a4ab197e4b95d9eb88b17','0','2','0'),
('47209','16','','10630','DB: Connections: Failed per minute','jmx["com.atlassian.jira:type=metrics,category00=db,category01=connection,category02=failures,name=counter",Count]','0;m0-59','31d','365d','0','0','','fpm','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The count of database connection failures registered in one minute.
Units: fpm - fails per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb565c20d5ad4cf1a94aea5966ec12fa','0','2','0'),
('47210','16','','10630','DB: Connections: Latency','jmx["com.atlassian.jira:type=metrics,category00=db,category01=connection,category02=latency,name=value",Value]','1m','31d','365d','0','0','','ms','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of latency when querying the database.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fb52b3e150a4f5fb84e8b527aaaf5a5','0','2','0'),
('47211','16','','10630','DB: Pool: Connections: Active','jmx["com.atlassian.jira:type=metrics,category00=db,category01=connection,category02=pool,category03=numActive,name=value",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Active connection count of the database pool.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d22d7c78abe40b8a82fb70a8d1091d1','0','2','0'),
('47212','16','','10630','DB: Pool: Connections: Idle','jmx["com.atlassian.jira:type=metrics,category00=db,category01=connection,category02=pool,category03=numIdle,name=value",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'Idle connection count of the database pool.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c18d258cdb8f420e8cb18a9e6e7c2bf8','0','2','0'),
('47213','16','','10630','DB: Connections: State','jmx["com.atlassian.jira:type=metrics,category00=db,category01=connection,category02=state,name=value",Value]','1m','31d','365d','0','3','','','','',NULL,'1224','','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The state of the database connection.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc7870021dc04bf499db8834be67987e','0','2','0'),
('47214','16','','10630','HTTP: Pool: Connections: Active','jmx["com.atlassian.jira:type=metrics,category00=http,category01=connection,category02=pool,category03=numActive,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of active connections in the HTTP connection pool.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','25d810c7fd5e4116a8e2323b7a2537a0','0','2','0'),
('47215','16','','10630','HTTP: Pool: Connections: Idle','jmx["com.atlassian.jira:type=metrics,category00=http,category01=connection,category02=pool,category03=numIdle,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of idle connections in the HTTP connection pool.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b244d220b7e24d48913f4e8e1b490732','0','2','0'),
('47216','16','','10630','HTTP: Sessions: Active','jmx["com.atlassian.jira:type=metrics,category00=http,category01=connection,category02=sessions,category03=active,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of active user sessions.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','195bc0648f6445bbbe205a5869383c68','0','2','0'),
('47217','16','','10630','HTTP: Requests per minute','jmx["com.atlassian.jira:type=metrics,category00=http,category01=requests,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the total number of HTTP requests per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d5a76f579284baf9eaa47180ed2c3fa','0','2','0'),
('47218','16','','10630','Mail: Queue: Processing state','jmx["com.atlassian.jira:type=metrics,category00=mail,category01=queue,category02=jobRunning,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,'1226','','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest indicator of the state of a mail queue job.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7029cc0f375740c79790b410b92579a1','0','2','0'),
('47219','16','','10630','Mail: Sent per minute','jmx["com.atlassian.jira:type=metrics,category00=mail,category01=queue,category02=numEmailsSentPerMin,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of emails sent by the SMTP server per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27f65a6cc7a147c2a95d3348db0cc9eb','0','2','0'),
('47220','16','','10630','Mail: Queue: Error','jmx["com.atlassian.jira:type=metrics,category00=mail,category01=queue,category02=numErrors,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of items in an error mail queue.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec7e12f99490496c814e9000108ec8c9','0','2','0'),
('47221','16','','10630','Mail: Queue','jmx["com.atlassian.jira:type=metrics,category00=mail,category01=queue,category02=numItems,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of items in a mail queue.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','67789113243b4689af58e42d0a127878','0','2','0'),
('47222','16','','10630','Mail: Processed per minute','jmx["com.atlassian.jira:type=metrics,category00=mail,category01=queue,category02=numItemsProcessedPerMin,name=value",Value]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The latest measure of the number of items processed by a mail queue per minute.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3d311c2e46af4c98b11f5f1a50b5318e','0','2','0'),
('47223','16','','10630','Quicksearch: Concurrent searches','jmx["com.atlassian.jira:type=quicksearch.concurrent.search",Value]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','0',NULL,'The number of concurrent searches that are being performed in real-time by using the quick search.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a81cf33cc834115b352324a18355368','0','2','0'),
('47237','21','','10631','Apps: Get reports','ms365.apps.reports.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
endpoints = [
''getOffice365ActiveUserCounts'',
''getOffice365ServicesUserCounts'',
''getM365AppUserCounts'',
''getM365AppPlatformUserCounts''
];
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getMetricsData(endpoints));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Accumulated data from the Microsoft Graph API "reports" endpoints.
More information:
https://learn.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-beta','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','f694dc8e49084d3a961c7124cb712c43','0','2','0'),
('47238','21','','10631','OneDrive: Get reports','ms365.onedrive.reports.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
const endpoints = [
''getOneDriveActivityUserCounts'',
''getOneDriveActivityFileCounts'',
''getOneDriveUsageAccountCounts'',
''getOneDriveUsageFileCounts'',
''getOneDriveUsageStorage''
];
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getMetricsData(endpoints));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Accumulated data from the Microsoft Graph API "reports" endpoints.
More information:
https://learn.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-beta','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','31b78185119446f397404ae7abf05684','0','2','0'),
('47239','21','','10631','Outlook: Get reports','ms365.outlook.reports.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
endpoints = [
''getEmailActivityCounts'',
''getEmailActivityUserCounts'',
''getEmailAppUsageUserCounts'',
''getMailboxUsageMailboxCounts'',
''getMailboxUsageStorage''
];
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getMetricsData(endpoints));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Accumulated data from the Microsoft Graph API "reports" endpoints.
More information:
https://learn.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-beta','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','4e4d78bd44db421a908288031489c3d4','0','2','0'),
('47240','21','','10631','Services: Get services','ms365.services.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getServiceData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'The list of Microsoft cloud services and their health statuses subscribed by a tenant.
More information:
https://learn.microsoft.com/en-us/graph/api/servicehealth-get?view=graph-rest-beta&tabs=http','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','53c72fa948454b998f612c4d099dd440','0','2','0'),
('47241','21','','10631','SharePoint: Get reports','ms365.sharepoint.reports.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
endpoints = [
''getSharePointActivityFileCounts'',
''getSharePointActivityUserCounts'',
''getSharePointActivityPages'',
''getSharePointSiteUsageFileCounts'',
''getSharePointSiteUsageSiteCounts'',
''getSharePointSiteUsageStorage'',
''getSharePointSiteUsagePages''
];
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getMetricsData(endpoints));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Accumulated data from the Microsoft Graph API "reports" endpoints.
More information:
https://learn.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-beta','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','fd2cb544cfd744c1a94a1d32243978e6','0','2','0'),
('47242','21','','10631','Teams: Get reports','ms365.teams.reports.get','6h','0','0','0','4','','','','',NULL,NULL,E'const ms365 = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
ms365.params = params;
},
login: function () {
const response = new HttpRequest(),
login = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
login.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(ms365.params.tenant_id) + ''/oauth2/v2.0/token'',
''grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id='' + encodeURIComponent(ms365.params.app_id) + ''&client_secret='' + encodeURIComponent(ms365.params.password)
);
if (login.getStatus() < 200 || login.getStatus() >= 300) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
ms365.token = response[''access_token''];
},
request: function (url) {
const response = new HttpRequest(),
request = new HttpRequest();
if (typeof ms365.params.http_proxy !== ''undefined'' && ms365.params.http_proxy !== '''') {
request.setProxy(ms365.params.http_proxy);
Zabbix.log(4, ''[ Microsoft 365 ] Using HTTP proxy: '' + ms365.params.http_proxy);
}
if (!ms365.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + ms365.token);
Zabbix.log(4, ''[ Microsoft 365 ] Request url: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ Microsoft 365 ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
const steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return ms365.nullToZero(data);
},
nullToZero: function (data) {
Object.keys(data).forEach(function (key) {
if (data[key] === null) {
data[key] = 0;
} else if (typeof data[key] === ''object'') {
ms365.nullToZero(data[key]);
}
});
return data;
},
getMetricsData: function (endpoints) {
const data = {};
data.metrics = {};
endpoints.forEach(function (field) {
link = ''https://graph.microsoft.com/beta/reports/'' + field + ''(period=\\''D7\\'')?$format=application/json'';
answer = ms365.getField(ms365.request(link), ''value'');
data.metrics[field] = answer;
});
return data;
},
getServiceData: function () {
var data = {},
link = ''https://graph.microsoft.com/beta/admin/serviceAnnouncement/healthOverviews/'';
data.services = ms365.request(link);
return data;
}
};
endpoints = [
''getTeamsDeviceUsageDistributionUserCounts'',
''getTeamsDeviceUsageDistributionTotalUserCounts'',
''getTeamsUserActivityTotalDistributionCounts'',
''getTeamsUserActivityDistributionUserCounts'',
''getTeamsUserActivityDistributionTotalUserCounts'',
''getTeamsTeamActivityDistributionCounts''
];
try {
ms365.setParams(JSON.parse(value));
ms365.login();
return JSON.stringify(ms365.getMetricsData(endpoints));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Microsoft 365 ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Accumulated data from the Microsoft Graph API "reports" endpoints.
More information:
https://learn.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-beta','0','7d','0','',NULL,'{$MS365.API.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','a77e654c05ec44ed991a36c6b1df472f','0','2','0'),
('47414','3','','10173','Get alarms','vmware.alarms.get[{$VMWARE.URL}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Get alarm status.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5a0c711cae454f0e92a492dd1718101f','0','2','0'),
('47415','21','','10173','Get Overall Health VC State','vmware.health.get','1m','0','0','0','4','','','','',NULL,NULL,'var Vcenter = {
params: {},
vmware_api_session_id: '''',
health_status: '''',
error_msg: '''',
setParams: function (params) {
[''url'', ''username'', ''password''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (params[''url''].endsWith(''/'')) {
params[''url''] = params[''url''].slice(0,-1);
}
params[''url''] = params[''url''].replace(''/sdk'','''');
Vcenter.params = params;
},
isGtOrEqVersion: function (first_version, second_version) {
var first = first_version.split(''.'').map(Number),
second = second_version.split(''.'').map(Number);
if (first.length > second.length) {
const max_componens_length = first.length
}
else {
const max_componens_length = second.length
}
var num_components = first.length;
while (num_components < max_componens_length) {
first.push(0);
num_components = num_components +1;
}
var num_components = second.length;
while (num_components < max_componens_length) {
second.push(0);
num_components = num_components +1;
}
if (first[0] > second[0] ||
(first[0] === second[0] && first[1] > second[1]) ||
(first[0] === second[0] && first[1] === second[1] && first[2] >= second[2])) {
return true;
}
return false;
},
login: function () {
var response, request = new HttpRequest();
request.setHttpAuth(HTTPAUTH_BASIC, Vcenter.params.username, Vcenter.params.password);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
response = request.post(Vcenter.params.url + ''/api/session'', '''');
if (request.getStatus() >= 200 && request.getStatus() < 300 && (!JSON.parse(response).error)) {
Vcenter.vmware_api_session_id = Vcenter.removeQuotes(response);
return true;
}
response = request.post(Vcenter.params.url + ''/rest/com/vmware/cis/session'', '''');
if (request.getStatus() >= 200 && request.getStatus() < 300) {
Vcenter.vmware_api_session_id = JSON.parse(response).value;
return true;
}
return false;
},
logout: function () {
path = ''/rest/com/vmware/cis/session'';
if (Vcenter.vmware_api_version && Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''7.0.2'')) {
path = ''/api/session'';
}
Vcenter.request(Vcenter.params.url + path, ''delete'');
},
get_version: function () {
path = ''/rest/appliance/system/version'';
try {
Vcenter.vmware_api_version = Vcenter.request(Vcenter.params.url + path, ''get'').version;
return true;
}
catch (error) {
return false;
}
},
removeQuotes: function (str){
if (str.startsWith(''"'') && str.endsWith(''"'')) {
return str.slice(1, -1);
}
return str;
},
getHealthStatus: function () {
path = ''/api/appliance/health/system'';
if (!Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''7.0.2'')) {
path = ''/rest/appliance/health/system'';
}
result = Vcenter.removeQuotes(Vcenter.request(Vcenter.params.url + path, ''get''));
const idx = [
''green'',
''yellow'',
''orange'',
''red'',
''gray''
].indexOf(result.toLowerCase());
Vcenter.health_status = idx !== -1 ? idx : 5;
},
request: function (url, method) {
var response, request = new HttpRequest();
if (typeof Vcenter.params.proxy !== ''undefined'' && Vcenter.params.proxy !== '''') {
request.setProxy(Vcenter.params.proxy);
}
request.setHttpAuth(HTTPAUTH_NONE);
request.addHeader("Cookie: vmware-api-session-id=" + Vcenter.vmware_api_session_id);
Zabbix.log(4, ''[ VMware vCenter ] Sending request: '' + url);
switch (method) {
case ''get'':
response = request.get(url);
break;
case ''post'':
response = request.post(url);
break;
case ''delete'':
response = request.delete(url);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ VMware vCenter ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Cannot connect to VMware vCenter. Check debug log for more information.'';
}
if (method !== ''delete'' && JSON.parse(response).value) {
return JSON.parse(response).value;
}
else {
return response;
}
}
};
try {
Vcenter.setParams(JSON.parse(value));
if (Vcenter.login() && Vcenter.get_version() && Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''6.5.0'')) {
Vcenter.getHealthStatus();
}
else {
Vcenter.health_status = 6;
}
if (Vcenter.vmware_api_session_id) {
Vcenter.logout();
}
}
catch (error) {
Zabbix.log(3, ''[ VMware vCenter ] ERROR: '' + error);
Vcenter.error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''health'': Vcenter.health_status, ''error'': Vcenter.error_msg});','','0','','','','','0',NULL,'Gets overall health of the system. This item works only with VMware vCenter versions above 6.5.','0','7d','0','',NULL,'10','','','','200','1','0','','','0','0','0','0','0','0','0','889333d3225147e1b1604119050a121f','0','2','0'),
('47416','3','','10174','Snapshot consolidation needed','vmware.vm.consolidationneeded[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','','','',NULL,'1229','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Displays whether snapshot consolidation is needed or not. One of the following:
- True;
- False.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20332e3c1ea54266a02ad500bc9ec1ca','0','2','0'),
('47417','3','','10174','Hypervisor maintenance mode','vmware.vm.hv.maintenance[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','','','',NULL,'1230','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Hypervisor maintenance mode. One of the following:
- Normal mode;
- Maintenance mode.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b794d9df3e764df8b04239d5779269cd','0','2','0'),
('47418','3','','10174','Get snapshots','vmware.vm.snapshot.get[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1h','0','0','0','4','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Snapshots of the guest VM.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','550350d76aa346c49ef828418ebc53be','0','2','0'),
('47419','3','','10174','VM state','vmware.vm.state[{$VMWARE.URL},{$VMWARE.VM.UUID}]','1m','31d','365d','0','3','','','','',NULL,'1232','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware virtual machine state. One of the following:
- Not running;
- Resetting;
- Running;
- Shutting down;
- Standby;
- Unknown.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e68d5709d4f46b49b62d37a890e4193','0','2','0'),
('47420','3','','10174','VMware Tools status','vmware.vm.tools[{$VMWARE.URL},{$VMWARE.VM.UUID},status]','1m','31d','365d','0','3','','','','',NULL,'1231','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Monitoring of VMware Tools. One of the following:
- Guest tools executing scripts: VMware Tools is starting.
- Guest tools not running: VMware Tools is not running.
- Guest tools running: VMware Tools is running.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6089b7822620423aa2b2e66066d33217','0','2','0'),
('47421','3','','10174','VMware Tools version','vmware.vm.tools[{$VMWARE.URL},{$VMWARE.VM.UUID},version]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Monitoring of the VMware Tools version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3870a0d8bfd1474db6e096a1a9a246b3','0','2','0'),
('47422','3','','10175','Connection state','vmware.hv.connectionstate[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','31d','365d','0','3','','','','',NULL,'1233','','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor connection state. One of the following:
- Connected;
- Disconnected;
- Not responding.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e9fd4e6d6e446f08afe7b4b9431bc62','0','2','0'),
('47423','3','','10175','Number of broadcasts received','vmware.hv.network.in[{$VMWARE.URL},{$VMWARE.HV.UUID},broadcast]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network input statistics (broadcasts).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f935e9718294cd4a67d02f4723a1713','0','2','0'),
('47424','3','','10175','Number of dropped received packets','vmware.hv.network.in[{$VMWARE.URL},{$VMWARE.HV.UUID},dropped]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network input statistics (packets dropped).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','720c58685828440bacda845bfd848d6a','0','2','0'),
('47425','3','','10175','Number of errors received','vmware.hv.network.in[{$VMWARE.URL},{$VMWARE.HV.UUID},errors]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network input statistics (errors).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0084eb8fd76241b8938bb1dad5a3f160','0','2','0'),
('47426','3','','10175','Number of broadcasts transmitted','vmware.hv.network.out[{$VMWARE.URL},{$VMWARE.HV.UUID},broadcast]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network output statistics (broadcasts).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16496c407daa43b9863c05416b294992','0','2','0'),
('47427','3','','10175','Number of dropped transmitted packets','vmware.hv.network.out[{$VMWARE.URL},{$VMWARE.HV.UUID},dropped]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network output statistics (packets dropped).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f001256bbfc34cc0898c5eaef422973e','0','2','0'),
('47428','3','','10175','Number of errors transmitted','vmware.hv.network.out[{$VMWARE.URL},{$VMWARE.HV.UUID},errors]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'VMware hypervisor network output statistics (errors).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f549d8708f24160b04a4a74db29042a','0','2','0'),
('47443','3','','10366','Get alarms','vmware.alarms.get[{$VMWARE.URL}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Get alarm status.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9e3684632314721aed3119df6a06976','0','2','0'),
('47444','21','','10366','Get Overall Health VC State','vmware.health.get','1m','0','0','0','4','','','','',NULL,NULL,'var Vcenter = {
params: {},
vmware_api_session_id: '''',
health_status: '''',
error_msg: '''',
setParams: function (params) {
[''url'', ''username'', ''password''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
if (params[''url''].endsWith(''/'')) {
params[''url''] = params[''url''].slice(0,-1);
}
params[''url''] = params[''url''].replace(''/sdk'','''');
Vcenter.params = params;
},
isGtOrEqVersion: function (first_version, second_version) {
var first = first_version.split(''.'').map(Number),
second = second_version.split(''.'').map(Number);
if (first.length > second.length) {
const max_componens_length = first.length
}
else {
const max_componens_length = second.length
}
var num_components = first.length;
while (num_components < max_componens_length) {
first.push(0);
num_components = num_components +1;
}
var num_components = second.length;
while (num_components < max_componens_length) {
second.push(0);
num_components = num_components +1;
}
if (first[0] > second[0] ||
(first[0] === second[0] && first[1] > second[1]) ||
(first[0] === second[0] && first[1] === second[1] && first[2] >= second[2])) {
return true;
}
return false;
},
login: function () {
var response, request = new HttpRequest();
request.setHttpAuth(HTTPAUTH_BASIC, Vcenter.params.username, Vcenter.params.password);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
response = request.post(Vcenter.params.url + ''/api/session'', '''');
if (request.getStatus() >= 200 && request.getStatus() < 300 && (!JSON.parse(response).error)) {
Vcenter.vmware_api_session_id = Vcenter.removeQuotes(response);
return true;
}
response = request.post(Vcenter.params.url + ''/rest/com/vmware/cis/session'', '''');
if (request.getStatus() >= 200 && request.getStatus() < 300) {
Vcenter.vmware_api_session_id = JSON.parse(response).value;
return true;
}
return false;
},
logout: function () {
path = ''/rest/com/vmware/cis/session'';
if (Vcenter.vmware_api_version && Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''7.0.2'')) {
path = ''/api/session'';
}
Vcenter.request(Vcenter.params.url + path, ''delete'');
},
get_version: function () {
path = ''/rest/appliance/system/version'';
try {
Vcenter.vmware_api_version = Vcenter.request(Vcenter.params.url + path, ''get'').version;
return true;
}
catch (error) {
return false;
}
},
removeQuotes: function (str){
if (str.startsWith(''"'') && str.endsWith(''"'')) {
return str.slice(1, -1);
}
return str;
},
getHealthStatus: function () {
path = ''/api/appliance/health/system'';
if (!Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''7.0.2'')) {
path = ''/rest/appliance/health/system'';
}
result = Vcenter.removeQuotes(Vcenter.request(Vcenter.params.url + path, ''get''));
const idx = [
''green'',
''yellow'',
''orange'',
''red'',
''gray''
].indexOf(result.toLowerCase());
Vcenter.health_status = idx !== -1 ? idx : 5;
},
request: function (url, method) {
var response, request = new HttpRequest();
if (typeof Vcenter.params.proxy !== ''undefined'' && Vcenter.params.proxy !== '''') {
request.setProxy(Vcenter.params.proxy);
}
request.setHttpAuth(HTTPAUTH_NONE);
request.addHeader("Cookie: vmware-api-session-id=" + Vcenter.vmware_api_session_id);
Zabbix.log(4, ''[ VMware vCenter ] Sending request: '' + url);
switch (method) {
case ''get'':
response = request.get(url);
break;
case ''post'':
response = request.post(url);
break;
case ''delete'':
response = request.delete(url);
break;
default:
throw ''Unsupported HTTP request method: '' + method;
}
Zabbix.log(4, ''[ VMware vCenter ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Cannot connect to VMware vCenter. Check debug log for more information.'';
}
if (method !== ''delete'' && JSON.parse(response).value) {
return JSON.parse(response).value;
}
else {
return response;
}
}
};
try {
Vcenter.setParams(JSON.parse(value));
if (Vcenter.login() && Vcenter.get_version() && Vcenter.isGtOrEqVersion(Vcenter.vmware_api_version, ''6.5.0'')) {
Vcenter.getHealthStatus();
}
else {
Vcenter.health_status = 6;
}
if (Vcenter.vmware_api_session_id) {
Vcenter.logout();
}
}
catch (error) {
Zabbix.log(3, ''[ VMware vCenter ] ERROR: '' + error);
Vcenter.error_msg = ''Failed to get data from API:'' + error;
}
return JSON.stringify({''health'': Vcenter.health_status, ''error'': Vcenter.error_msg});','','0','','','','','0',NULL,'Gets overall health of the system. This item works only with VMware vCenter versions above 6.5.','0','7d','0','',NULL,'10','','','','200','1','0','','','0','0','0','0','0','0','0','7445c01436234092ad5d093d872b0682','0','2','0'),
('47451','5','','10048','Utilization of browser poller data collector processes, in %','zabbix[process,browser poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the browser poller processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ec67d79691b432c8a357fedfec77e6d','0','2','0'),
('47452','5','','10048','Utilization of internal poller data collector processes, in %','zabbix[process,internal poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the internal poller processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a1278ad64af9401a834cd09b0c2f5766','0','2','0'),
('47455','5','','10047','Utilization of browser poller data collector processes, in %','zabbix[process,browser poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the browser poller processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd20332db0c64a63a82378c1e8b2685c','0','2','0'),
('47456','5','','10047','Utilization of configuration syncer worker internal processes, in %','zabbix[process,configuration syncer worker,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the configuration syncer worker processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dfb04028770e4e3e8a154304b82284ba','0','2','0'),
('47457','5','','10047','Utilization of internal poller data collector processes, in %','zabbix[process,internal poller,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the internal poller processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','912dd7b55d244aa9bbc3af17ba168b13','0','2','0'),
('47458','5','','10047','Utilization of proxy group manager internal processes, in %','zabbix[process,proxy group manager,avg,busy]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the proxy group manager processes have been busy for the last minute.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','306334d48ce6427d93ca8fbe292b8a11','0','2','0'),
('47459','5','','10047','Zabbix proxy groups stats','zabbix[proxy group,discovery]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The master item of Zabbix proxy groups'' statistics.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efba7193b9aa48c385e98c9babfaa689','0','2','0'),
('47485','21','','10632','Get Lambda alarms data','aws.lambda.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''GET'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = '''';
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_uri = ''/'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS Lambda Alarms ] Sending request: '' + url);
response = request.get(url);
Zabbix.log(4, ''[ AWS Lambda Alarms ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
try {
response = JSON.parse(XML.toJson(response));
}
catch (error) {
throw ''Failed to parse response received from AWS CloudWatch API. Check debug log for more information.'';
}
}
return response;
},
getAlarms: function () {
var payload = {
''Action'': ''DescribeAlarms'',
''Version'': ''2010-08-01'',
''MaxRecords'': 100
},
result = [];
while (payload.NextToken !== '''') {
var alarms = AWS.getField(AWS.request(''GET'', AWS.params.region, ''monitoring'', AWS.prepareParams(payload)), ''DescribeAlarmsResponse.DescribeAlarmsResult'');
payload.NextToken = alarms.NextToken || '''';
alarms_list = AWS.getField(alarms, ''MetricAlarms'');
if (!Array.isArray(alarms_list))
alarms_list = [alarms_list];
alarms_list.forEach(function (alarm) {
var dimensions = alarm.Dimensions;
if (Array.isArray(alarm.Metrics)) {
alarm.Metrics.forEach(function (metric) {
if (typeof metric.MetricStat === ''object'' && metric.MetricStat !== null
&& typeof metric.MetricStat.Metric === ''object'' && metric.MetricStat.Metric !== null
&& Array.isArray(metric.MetricStat.Metric.Dimensions)) {
dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);
}
});
}
for (var i in dimensions) {
if (dimensions[i].Name === ''FunctionName'' && dimensions[i].Value === AWS.params.name) {
result.push(alarm);
break;
}
}
});
}
return result;
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getAlarms());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS Lambda Alarms ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'`DescribeAlarms` API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','7d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c80b25e889004287b6131c00000a3ad7','0','2','0'),
('47486','21','','10632','Get metrics data','aws.lambda.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,E'var AWS = {
params: {},
metadata: ''http://169.254.169.254/latest/'',
request_period: 60,
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getRoleBaseCredentials: function () {
AWS.params[''auth_type''] = ''role_base'';
var request = new HttpRequest();
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''X-aws-ec2-metadata-token-ttl-seconds: 21600'');
var token = request.put(AWS.metadata + ''api/token'');
if (request.getStatus() !== 200 || token === null || token === '''') {
throw ''Error getting IMDSv2 session token.'';
}
request.addHeader(''X-aws-ec2-metadata-token: '' + token);
var IamRoleName = request.get(AWS.metadata + ''meta-data/iam/security-credentials'');
if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === '''') {
throw ''Error getting security credentials from instance metadata. Role not found.'';
}
credentials = request.get(AWS.metadata + ''meta-data/iam/security-credentials/'' + encodeURI(IamRoleName));
if (request.getStatus() !== 200 || credentials === null || credentials === '''') {
throw ''Error getting security credentials from instance metadata.'';
}
try {
credentials = JSON.parse(credentials);
}
catch (error) {
throw ''Failed to parse response received from instance metadata. Check debug log for more information.'';
}
[''AccessKeyId'', ''SecretAccessKey'', ''Token''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
},
setParams: function (params) {
AWS.params[''proxy''] = params.proxy;
switch (AWS.getField(params, ''auth_type'')) {
case ''role_base'':
AWS.getRoleBaseCredentials();
break;
case ''assume_role'':
if (typeof params.metadata_auth === ''undefined'' || params.metadata_auth === '''' || (params.metadata_auth !== ''true'' && params.metadata_auth !== ''false'')) {
throw ''Required param metadata_auth for assume_role is not set or has invalid value: "'' + params.metadata_auth + ''". Expected "true" or "false".'';
}
if (params.metadata_auth === ''true'') {
AWS.getRoleBaseCredentials();
AWS.params[''SessionToken''] = AWS.params[''Token''];
AWS.params[''auth_type''] = ''assume_role_metadata'';
[''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
if (params.metadata_auth === ''false'') {
AWS.params[''auth_type''] = ''assume_role'';
[''AccessKeyId'', ''SecretAccessKey'', ''sts_region'', ''role_arn''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
const role_arn_regex = /role\\/(.+)$/;
const match = AWS.params.role_arn.match(role_arn_regex);
if (!match) {
throw ''Invalid role ARN format.'';
}
const payload = {
''Action'': ''AssumeRole'',
''Version'': ''2011-06-15'',
''RoleArn'': AWS.params.role_arn,
''RoleSessionName'': match[1] + ''Session'',
};
credentials = AWS.getField(AWS.request(''POST'', AWS.params.sts_region, ''sts'', AWS.prepareParams(payload), ''''), ''AssumeRoleResponse.AssumeRoleResult.Credentials'');
[''AccessKeyId'', ''SecretAccessKey'', ''SessionToken''].forEach(function (field) {
if (typeof credentials !== ''object'' || typeof credentials[field] === ''undefined'' || credentials[field] === '''') {
throw ''Required credentials are not set: "'' + field + ''".'';
};
AWS.params[field] = credentials[field];
});
break;
default:
AWS.params[''auth_type''] = ''access_key'';
[''AccessKeyId'', ''SecretAccessKey''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
}
[''region'', ''name''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: "'' + field + ''".'';
}
AWS.params[field] = params[field];
});
},
sign: function (key, message) {
var hex = hmac(''sha256'', key, message);
if ((hex.length % 2) === 1) {
throw ''Invalid length of a hex string!'';
}
var result = new Int8Array(hex.length / 2);
for (var i = 0, b = 0; i < hex.length; i += 2, b++) {
result[b] = parseInt(hex.substring(i, i + 2), 16);
}
return result;
},
prepareParams: function (params) {
var result = [];
Object.keys(params).sort().forEach(function (key) {
if (typeof params[key] !== ''object'') {
result.push(key + ''='' + encodeURIComponent(params[key]));
}
else {
result.push(prepareObject(key, params[key]));
}
});
return result.join(''&'');
},
renderMetricQuery: function (period, name) {
var metrics_list = [
''AsyncEventsReceived:Average'',
''AsyncEventAge:Average'',
''AsyncEventsDropped:Average'',
''ConcurrentExecutions:Average'',
''UnreservedConcurrentExecutions:Sum'',
''Invocations:Sum'',
''Errors:Sum'',
''Throttles:Sum'',
''Duration:Average''
];
var metric_payload = [];
metrics_list.forEach(function (metric, index) {
var parts = metric.split('':'', 2);
metric_payload.push({
''Id'': ''m'' + index,
''MetricStat'': {
''Metric'': {
''MetricName'': parts[0],
''Namespace'': ''AWS/Lambda'',
''Dimensions'': [
{
''Name'': ''FunctionName'',
''Value'': name,
}
]
},
''Period'': period,
''Stat'': parts[1],
}
});
});
return metric_payload;
},
request: function (method, region, service, params, data) {
if (typeof data === ''undefined'' || data === null) {
data = JSON.stringify([]);
}
else {
data = JSON.stringify(data)
}
var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, ''Z'').replace(/[-:]/g, ''''),
date = amzdate.replace(/T\\d+Z/, ''''),
canonical_uri = ''/'',
host = service + ''.'' + region + ''.amazonaws.com'',
canonical_headers = ''content-encoding:amz-1.0\\n'' + ''host:'' + host + ''\\n'' + ''x-amz-date:'' + amzdate + ''\\n'',
signed_headers = ''content-encoding;host;x-amz-date'',
canonical_request = method + ''\\n'' + canonical_uri + ''\\n'' + params + ''\\n'' + canonical_headers + ''\\n'' + signed_headers + ''\\n'' + sha256(data),
credential_scope = date + ''/'' + region + ''/'' + service + ''/'' + ''aws4_request'',
request_string = ''AWS4-HMAC-SHA256'' + ''\\n'' + amzdate + ''\\n'' + credential_scope + ''\\n'' + sha256(canonical_request),
key = AWS.sign(''AWS4'' + AWS.params.SecretAccessKey, date),
key = AWS.sign(key, region),
key = AWS.sign(key, service),
key = AWS.sign(key, ''aws4_request''),
request = new HttpRequest(),
url = ''https://'' + host + canonical_uri + ''?'' + params;
if (typeof AWS.params.proxy !== ''undefined'' && AWS.params.proxy !== '''') {
request.setProxy(AWS.params.proxy);
}
request.addHeader(''x-amz-date: '' + amzdate);
request.addHeader(''x-amz-content-sha256:'' + sha256(data));
request.addHeader(''X-Amz-Target: GraniteServiceVersion20100801.GetMetricData'')
request.addHeader(''Accept: application/json'');
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Content-Encoding: amz-1.0'');
request.addHeader(''Authorization: '' + ''AWS4-HMAC-SHA256 Credential='' + AWS.params.AccessKeyId + ''/'' + credential_scope + '', '' + ''SignedHeaders='' + signed_headers + '', '' + ''Signature='' + hmac(''sha256'', key, request_string));
if (AWS.params.auth_type === ''role_base'' || AWS.params.auth_type === ''assume_role_metadata'' || (AWS.params.auth_type === ''assume_role'' & !params.includes(''AssumeRole''))) {
request.addHeader(''X-Amz-Security-Token: '' + (AWS.params.auth_type === ''role_base'' ? AWS.params.Token : AWS.params.SessionToken));
}
Zabbix.log(4, ''[ AWS Lambda Get metrics ] Sending request: '' + url);
response = request.post(url, data);
Zabbix.log(4, ''[ AWS Lambda Get metrics ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
return JSON.parse(response);
},
getMetricsData: function () {
var end_time = Math.floor((new Date().getTime()) / 1000),
start_time = end_time - AWS.request_period * 60;
payload = {
''StartTime'': start_time,
''EndTime'': end_time,
''ScanBy'': ''TimestampDescending'',
''MetricDataQueries'': AWS.renderMetricQuery(AWS.request_period, AWS.params.name)
};
return AWS.getField(AWS.request(''POST'', AWS.params.region, ''monitoring'', '''', payload), ''MetricDataResults'');
}
};
try {
AWS.setParams(JSON.parse(value));
return JSON.stringify(AWS.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AWS Lambda Get metrics ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get Lambda function metrics.
Full metrics list related to the Lambda function: https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html','0','7d','0','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','24c4972d090f4e72abc473752aac27d8','0','2','0'),
('47504','21','','10634','Get data','azure.scaleset.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var Azure = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Azure.params = params;
},
login: function () {
var response, login = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
login.setProxy(Azure.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(Azure.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(Azure.params.app_id) + ''&client_secret='' + encodeURIComponent(Azure.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
Azure.token = response[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
request.setProxy(Azure.params.proxy);
}
if (!Azure.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Azure.token);
Zabbix.log(4, ''[ AzureVMSS ] request url: '' + url);
response = request.get(url);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getMetricsData: function () {
var data = {},
metric_endpoints = {
''main_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''Available Memory Bytes,CPU Credits Consumed,CPU Credits Remaining,Percentage CPU,Inbound Flows,Inbound Flows Maximum Creation Rate,Network In,Network In Total,Network Out,Network Out Total,Outbound Flows,Outbound Flows Maximum Creation Rate,VmAvailabilityMetric'') + ''&api-version=2021-05-01×pan=PT1M'',
''disks_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''Data Disk Bandwidth Consumed Percentage,Data Disk IOPS Consumed Percentage,Data Disk Max Burst Bandwidth,Data Disk Max Burst IOPS,Data Disk Queue Depth,Data Disk Read Bytes/sec,Data Disk Read Operations/Sec,Data Disk Target Bandwidth,Data Disk Target IOPS,Data Disk Used Burst BPS Credits Percentage,Data Disk Used Burst IO Credits Percentage,Data Disk Write Bytes/sec,Data Disk Write Operations/Sec,Disk Read Bytes,Disk Read Operations/Sec,Disk Write Bytes,Disk Write Operations/Sec'') + ''&api-version=2021-05-01×pan=PT1M'',
''os_disk_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''OS Disk Bandwidth Consumed Percentage,OS Disk IOPS Consumed Percentage,OS Disk Max Burst Bandwidth,OS Disk Max Burst IOPS,OS Disk Queue Depth,OS Disk Read Bytes/sec,OS Disk Read Operations/Sec,OS Disk Target Bandwidth,OS Disk Target IOPS,OS Disk Used Burst BPS Credits Percentage,OS Disk Used Burst IO Credits Percentage,OS Disk Write Bytes/sec,OS Disk Write Operations/Sec'') + ''&api-version=2021-05-01×pan=PT1M'',
''premium_and_vm_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''Premium Data Disk Cache Read Hit,Premium Data Disk Cache Read Miss,Premium OS Disk Cache Read Hit,Premium OS Disk Cache Read Miss,VM Cached Bandwidth Consumed Percentage,VM Cached IOPS Consumed Percentage,VM Local Used Burst BPS Credits Percentage,VM Local Used Burst IO Credits Percentage,VM Remote Used Burst BPS Credits Percentage,VM Remote Used Burst IO Credits Percentage,VM Uncached Bandwidth Consumed Percentage,VM Uncached IOPS Consumed Percentage'') + ''&api-version=2021-05-01×pan=PT1M''
};
data.metrics = {};
Object.keys(metric_endpoints).forEach(function (field) {
metrics = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + metric_endpoints[field]), ''value'');
for (k in metrics) {
key = Azure.getField(metrics[k], ''name.value'').replace(/(\\s|\\/)+/g, '''');
if (metrics[k].timeseries.length === 0) {
metrics[k].timeseries.push({ ''data'': [''nodata''] })
}
data.metrics[key] = Azure.getField(metrics[k], ''timeseries.0.data.0'');
}
});
data.capacity = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + ''?api-version=2024-03-01''), ''sku.capacity'');
data.health = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01''), ''value.0.properties'');
return data
}
};
try {
Azure.setParams(JSON.parse(value));
Azure.login();
return JSON.stringify(Azure.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ AzureVMSS ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Gathers data of the virtual machine scale set.','0','7d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','f783d047862144f2baed76bb281cec5b','0','2','0'),
('47570','20','walk[1.3.6.1.4.1.34774.4.1.23.5.5.1.1,1.3.6.1.4.1.34774.4.1.23.5.5.1.2,1.3.6.1.4.1.34774.4.1.23.5.5.1.3,1.3.6.1.4.1.34774.4.1.23.5.5.1.4]','10636','BBU SNMP walk','huawei.oceanstor.v6.bbu.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device backup battery units.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1b27fc308a643c080ca461aa43ac155','0','2','0'),
('47571','20','get[1.3.6.1.4.1.34774.4.1.1.5.0]','10636','Capacity total','huawei.oceanstor.v6.capacity.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total capacity of a device.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5966b59ae96c4044a2c53d84728aa385','0','2','0'),
('47572','20','get[1.3.6.1.4.1.34774.4.1.1.4.0]','10636','Capacity used','huawei.oceanstor.v6.capacity.used','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used capacity of a device.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0bb56fda578e44b28dfaca63e37c6026','0','2','0'),
('47573','20','walk[1.3.6.1.4.1.34774.4.1.23.5.2.1.1,1.3.6.1.4.1.34774.4.1.23.5.2.1.8,1.3.6.1.4.1.34774.4.1.23.5.2.1.9,1.3.6.1.4.1.34774.4.1.23.5.2.1.2,1.3.6.1.4.1.34774.4.1.23.5.2.1.3,1.3.6.1.4.1.34774.4.1.23.5.2.1.6]','10636','Controller SNMP walk','huawei.oceanstor.v6.controller.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device controllers.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','251875b1bf7f4aea800eebdf826c92cc','0','2','0'),
('47574','20','walk[1.3.6.1.4.1.34774.4.1.23.5.1.1.1,1.3.6.1.4.1.34774.4.1.23.5.1.1.12,1.3.6.1.4.1.34774.4.1.23.5.1.1.4,1.3.6.1.4.1.34774.4.1.23.5.1.1.2,1.3.6.1.4.1.34774.4.1.23.5.1.1.3,1.3.6.1.4.1.34774.4.1.23.5.1.1.11]','10636','Disk SNMP walk','huawei.oceanstor.v6.disk.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device disks.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','502c0446b3ac4c7c91fb81076e8fded0','0','2','0'),
('47575','20','walk[1.3.6.1.4.1.34774.4.1.23.5.6.1.2,1.3.6.1.4.1.34774.4.1.23.5.6.1.4,1.3.6.1.4.1.34774.4.1.23.5.6.1.5,1.3.6.1.4.1.34774.4.1.23.5.6.1.8]','10636','Enclosure SNMP walk','huawei.oceanstor.v6.enclosure.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device enclosures.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dc3f094725ff4794844687d4037ea2c2','0','2','0'),
('47576','20','walk[1.3.6.1.4.1.34774.4.1.23.5.4.1.1,1.3.6.1.4.1.34774.4.1.23.5.4.1.2,1.3.6.1.4.1.34774.4.1.23.5.4.1.3,1.3.6.1.4.1.34774.4.1.23.5.4.1.4]','10636','Fan SNMP walk','huawei.oceanstor.v6.fan.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device fans.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe922a88992f49f9a6bf4ed080c880d7','0','2','0'),
('47577','20','walk[1.3.6.1.4.1.34774.4.1.19.9.4.1.2,1.3.6.1.4.1.34774.4.1.19.9.4.1.11,1.3.6.1.4.1.34774.4.1.21.4.1.13,1.3.6.1.4.1.34774.4.1.21.4.1.15,1.3.6.1.4.1.34774.4.1.21.4.1.16,1.3.6.1.4.1.34774.4.1.21.4.1.3,1.3.6.1.4.1.34774.4.1.21.4.1.4,1.3.6.1.4.1.34774.4.1.21.4.1.5,1.3.6.1.4.1.34774.4.1.21.4.1.6,1.3.6.1.4.1.34774.4.1.21.4.1.7,1.3.6.1.4.1.34774.4.1.21.4.1.8,1.3.6.1.4.1.34774.4.1.19.9.4.1.5]','10636','LUN SNMP walk','huawei.oceanstor.v6.lun.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device logical unit numbers.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','269a95fbb3ce4f1eb9dc684777875d87','0','2','0'),
('47578','20','walk[1.3.6.1.4.1.34774.4.1.21.3.1.1,1.3.6.1.4.1.34774.4.1.21.3.1.2,1.3.6.1.4.1.34774.4.1.21.3.1.5,1.3.6.1.4.1.34774.4.1.21.3.1.6,1.3.6.1.4.1.34774.4.1.21.3.1.7,1.3.6.1.4.1.34774.4.1.21.3.1.8,1.3.6.1.4.1.34774.4.1.21.3.1.9,1.3.6.1.4.1.34774.4.1.21.3.1.10]','10636','Node SNMP walk','huawei.oceanstor.v6.node.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device nodes.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2170d4e5ca684e579dd511e59e5e9828','0','2','0'),
('47579','20','walk[1.3.6.1.4.1.34774.4.1.23.4.2.1.2,1.3.6.1.4.1.34774.4.1.23.4.2.1.14,1.3.6.1.4.1.34774.4.1.23.4.2.1.5,1.3.6.1.4.1.34774.4.1.23.4.2.1.6,1.3.6.1.4.1.34774.4.1.23.4.2.1.7,1.3.6.1.4.1.34774.4.1.23.4.2.1.9]','10636','Storage pool SNMP walk','huawei.oceanstor.v6.pool.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of device storage pools.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5daf9372f493406c818b27f5149dcff3','0','2','0'),
('47580','20','get[1.3.6.1.4.1.34774.4.1.1.3.0]','10636','Status','huawei.oceanstor.v6.status','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System status.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ad5a10227d74eaaaaf3678a6884b67d','0','2','0'),
('47581','20','get[1.3.6.1.4.1.34774.4.1.1.6.0]','10636','Version','huawei.oceanstor.v6.version','1m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The device version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ed972a612394bf285f816debcd8e89a','0','2','0'),
('47582','3','','10636','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1243','','','0','','','','','0',NULL,'The host accessibility by ICMP ping.
0 - ICMP ping fails;
1 - ICMP ping successful.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','590714e7fb3f4d468c19385146f76433','0','2','0'),
('47583','3','','10636','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The percentage of lost packets.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bcc87c0fee74e64be9b66cc9080008e','0','2','0'),
('47584','3','','10636','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'The ICMP ping response time (in seconds).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','137b8177ba0b4949a895be9dde23400c','0','2','0'),
('47585','17','','10636','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2959893b639d457abb18a2b7e9abda23','0','2','0'),
('47586','20','get[1.3.6.1.2.1.1.4.0]','10636','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f80391019ebb4b18beb7a987c3a20830','0','2','0'),
('47587','20','get[1.3.6.1.2.1.1.1.0]','10636','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system''s hardware type, software operating-system, and
networking software.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e7ddfe4774ad4ed7959d2e2200b50e8f','0','2','0'),
('47588','20','get[1.3.6.1.2.1.25.1.1.0]','10636','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35b225e3dff343b0a0b82b8239d6bea3','0','2','0'),
('47589','20','get[1.3.6.1.2.1.1.6.0]','10636','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0fa4b45ea2b41d0b0f40630680fb532','0','2','0'),
('47590','20','get[1.3.6.1.2.1.1.5.0]','10636','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is the zero-length string.','3','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','494d880ba7be4d9fb641b148597f805d','0','2','0'),
('47591','20','get[1.3.6.1.2.1.1.3.0]','10636','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4371c836612f4456a6ce191af79a23a2','0','2','0'),
('47592','20','get[1.3.6.1.2.1.1.2.0]','10636','System object ID','system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box'' is being managed. For example, if vendor`Flintstones, Inc.'' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router''.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','634f6b6a4e724c158ba4726f063a1684','0','2','0'),
('47593','5','','10636','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1244','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6816cad193a64edcbcf3f09d736eab9b','0','2','0'),
('47639','7','','10637','Service response time','net.tcp.service.perf[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ac09d338f0847288eda20732bf5aa10','0','2','0'),
('47640','7','','10637','Service ping','net.tcp.service[http,"{$APACHE.STATUS.HOST}","{$APACHE.STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1245','','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4252071d0864fd5bf7c60c4d6e4915d','0','2','0'),
('47641','7','','10637','Get processes summary','proc.get[{$APACHE.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37f15f5a28364399aa66aad31d0acc08','0','2','0'),
('47642','7','','10637','Get status','web.page.get["{$APACHE.STATUS.SCHEME}://{$APACHE.STATUS.HOST}:{$APACHE.STATUS.PORT}/{$APACHE.STATUS.PATH}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Getting data from a machine-readable version of the Apache status page.
For more information see Apache Module [mod_status](https://httpd.apache.org/docs/current/mod/mod_status.html).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d103e519e5044dfd982d535a0981bc84','0','2','0'),
('47689','7','','10639','Service response time','net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09762f260f544f57afa5157c6bc632a3','0','2','0'),
('47690','7','','10639','Service status','net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1246','','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b68e4123d7c9483c9f77bc9c27fd0e7c','0','2','0'),
('47691','7','','10639','Get processes summary','proc.get[{$NGINX.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94bb17445cf14e909fede8b7060c0211','0','2','0'),
('47692','7','','10639','Get stub status page','web.page.get["{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PATH}","{$NGINX.STUB_STATUS.PORT}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The following status information is provided:
`Active connections` - the current number of active client connections including waiting connections.
`Accepted` - the total number of accepted client connections.
`Handled` - the total number of handled connections. Generally, the parameter value is the same as for the accepted connections, unless some resource limits have been reached (for example, the `worker_connections` limit).
`Requests` - the total number of client requests.
`Reading` - the current number of connections where Nginx is reading the request header.
`Writing` - the current number of connections where Nginx is writing a response back to the client.
`Waiting` - the current number of idle client connections waiting for a request.
See also [Module ngx_http_stub_status_module](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','04ed4f82a84b4a81aa8d1682e7a70b5f','0','2','0'),
('47710','21','','10640','Get alert','nutanix.cluster.alert.get','1m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method'', ''target_uuid''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method + ''/'' + Nutanix.params.target_uuid + ''/alerts'',
result = Nutanix.request(url);
return JSON.stringify(Nutanix.deduplicateAlerts(result));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get data about alerts.','0','7d','0','',NULL,'{$NUTANIX.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','3761d4da912749c7a84f11a5cfbcf761','0','2','0'),
('47711','21','','10640','Get metric','nutanix.cluster.metric.get','1m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method'', ''target_uuid''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method + ''/'' + Nutanix.params.target_uuid;
var result = Nutanix.request(url);
result.stats = Nutanix.cleanUnsupported(result.stats);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get data about basic metrics.','0','7d','0','',NULL,'{$NUTANIX.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','95a5fd893da84a7098cba12ffa1743ca','0','2','0'),
('47712','21','','10641','Get alert','nutanix.host.alert.get','1m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method'', ''target_uuid''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method + ''/'' + Nutanix.params.target_uuid + ''/alerts'',
result = Nutanix.request(url);
return JSON.stringify(Nutanix.deduplicateAlerts(result));
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get data about alerts.','0','7d','0','',NULL,'{$NUTANIX.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','48c5f1f6ea454fd69756268cd613129e','0','2','0'),
('47713','21','','10641','Get disk','nutanix.host.disk.get','1m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method'', ''target_uuid''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method + ''?search_attribute_list=node_uuid&search_string='' + Nutanix.params.target_uuid,
result = Nutanix.request(url);
var output_data = {};
for (var entity in result.entities) {
output_data[result.entities[entity].id] = result.entities[entity]
}
return JSON.stringify(output_data);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get data about installed disks.','0','7d','0','',NULL,'{$NUTANIX.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','a3a11c42c9da4eecb0aefa20792d4514','0','2','0'),
('47714','21','','10641','Get metric','nutanix.host.metric.get','1m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method'', ''target_uuid''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method + ''/'' + Nutanix.params.target_uuid;
var result = Nutanix.request(url);
result.stats = Nutanix.cleanUnsupported(result.stats);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get data about basic metrics.','0','7d','0','',NULL,'{$NUTANIX.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','30b4da75a8f54b5385310b43fa6a2a7a','0','2','0'),
('47715','21','','10642','Get cluster','nutanix.cluster.get','10m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method,
result = Nutanix.request(url);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get the available clusters.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','0c073836f90a4072be7acfc5d1a96b9e','0','2','0'),
('47716','21','','10642','Get host','nutanix.host.get','10m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method,
result = Nutanix.request(url);
return JSON.stringify(result);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get the available hosts.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','06ce8fe78e9642cfb2064ad2aa25b50e','0','2','0'),
('47717','21','','10642','Get storage container','nutanix.storage.container.get','10m','0','0','0','4','','','','',NULL,NULL,'var Nutanix = {
params: {},
setParams: function (requiredParams, allParams) {
requiredParams.forEach(function (field) {
if (typeof allParams !== ''object'' || typeof allParams[field] === ''undefined'' || allParams[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Nutanix.params = allParams;
},
request: function (url) {
var request = new HttpRequest();
if (typeof Nutanix.params.proxy !== ''undefined'' && Nutanix.params.proxy !== '''') {
request.setProxy(Nutanix.params.proxy);
}
request.setHttpAuth(HTTPAUTH_BASIC, Nutanix.params.username, Nutanix.params.password);
Zabbix.log(4, ''[ Nutanix ] Sending request: '' + url);
const response = request.get(url);
Zabbix.log(4, ''[ Nutanix ] Received response with status code '' + request.getStatus() + '': '' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from Nutanix PRISM API. Check debug log for more information.'';
}
return response;
},
deduplicateAlerts: function (full_data) {
const severity_mapping = [
''kinfo'',
''kwarning'',
''kcritical''
]
var output_data = {};
for (var entity in full_data.entities) {
if (Nutanix.params.api_method === ''clusters'') {
if (result.entities[entity].node_uuid.split(''-'').length == 5) continue;
}
var severity = severity_mapping.indexOf(full_data.entities[entity].severity.toLowerCase()),
message = full_data.entities[entity].message,
title = full_data.entities[entity].alert_title;
full_data.entities[entity].context_types.forEach(function(context, index) {
message = message.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
title = title.replace(''{'' + context + ''}'', full_data.entities[entity].context_values[index]);
});
key = md5(title + message);
if (key in output_data) {
if (full_data.entities[entity].created_time_stamp_in_usecs > output_data[key].created) {
output_data[key].created = full_data.entities[entity].created_time_stamp_in_usecs;
output_data[key].severity = severity !== -1 ? severity : 3;
output_data[key].state = full_data.entities[entity].resolved ? 0 : 1;
output_data[key].message = full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message;
output_data[key].last_id = full_data.entities[entity].id;
}
output_data[key].count += 1;
} else {
output_data[key] = {
"name": title + '' - '' + message,
"title": title != '''' ? title : message,
"created": full_data.entities[entity].created_time_stamp_in_usecs,
"severity": severity !== -1 ? severity : 3,
"state": full_data.entities[entity].resolved ? 0 : 1,
"message": full_data.entities[entity].detailed_message != '''' ? full_data.entities[entity].detailed_message : message,
"last_id": full_data.entities[entity].id,
"count": 1
}
}
}
return output_data;
},
cleanUnsupported: function (full_stat) {
var output_stat = {};
for (var element in full_stat) {
if (full_stat[element] !== ''-1'') {
output_stat[element] = full_stat[element];
}
};
return output_stat;
}
};
try {
const params = JSON.parse(value);
Nutanix.setParams([''endpoint_host'', ''endpoint_port'', ''username'', ''password'', ''auth_type'', ''api_method''], params);
const url = ''https://'' + Nutanix.params.endpoint_host + '':'' + Nutanix.params.endpoint_port + ''/PrismGateway/services/rest/v2.0/'' + Nutanix.params.api_method,
result = Nutanix.request(url);
var output_data = {};
for (var entity in result.entities) {
output_data[result.entities[entity].storage_container_uuid] = result.entities[entity]
}
return JSON.stringify(output_data);
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(4, ''[ Nutanix ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Get the available storage containers.','0','7d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','10cd43e73f1146cf8eb4bffd33978344','0','2','0'),
('47959','15','','10645','Queue usage','php-fpm.listen_queue_usage','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//php-fpm.listen_queue)/(last(//php-fpm.listen_queue_len)+(last(//php-fpm.listen_queue_len)=0))*100','','0','','','','','0',NULL,'The utilization of the queue.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bea3630fd88448228cd3e6b5808bac5f','0','2','0'),
('47960','7','','10645','Get processes summary','proc.get[{$PHP_FPM.PROCESS.NAME.PARAMETER},,,summary]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The aggregated data of summary metrics for all processes.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e72b191ec3b481f800e100e69a85691','0','2','0'),
('47961','7','','10645','php-fpm_ping','web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.PING.PAGE}","{$PHP_FPM.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca300d24e4434dd8bc5e86ea859eb9f6','0','2','0'),
('47962','7','','10645','Get status page','web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de356fd730494b27a701cb900cd5c9b1','0','2','0'),
('47988','15','','10646','Buffer pool efficiency','mysql.buffer_pool_efficiency','1m','31d','365d','0','0','','%','','',NULL,NULL,'100 - (last(//mysql.innodb_buffer_pool_reads) /
( last(//mysql.innodb_buffer_pool_read_requests) +
( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_read_requests) > 0 ))','','0','','','','','0',NULL,'The item shows how effectively the buffer pool is serving reads.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82d31eef03914d4abde2448691d89a7a','0','2','0'),
('47989','15','','10646','Buffer pool utilization','mysql.buffer_pool_utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'( last(//mysql.innodb_buffer_pool_pages_total) -
last(//mysql.innodb_buffer_pool_pages_free) ) /
( last(//mysql.innodb_buffer_pool_pages_total) +
( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_pages_total) > 0 )','','0','','','','','0',NULL,'Ratio of used to total pages in the buffer pool.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9fa2d2ebecaa4ff4bf2ec01a68cdf2a2','0','2','0'),
('47990','7','','10646','Get status variables','mysql.get_status_variables["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets server global status information.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b942938fd6564e3cbcc37c11f59b2bed','0','2','0'),
('47991','15','','10646','Calculated value of innodb_log_file_size','mysql.innodb_log_file_size','1m','31d','365d','0','0','','','','',NULL,NULL,'(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}','','0','','','','','0',NULL,'`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9e2183fde7d4fff96bd837c362c43e6','0','2','0'),
('47992','7','','10646','Status','mysql.ping["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','1m','31d','365d','0','3','','','','',NULL,'1260','','','0','','','','','0',NULL,'MySQL server status.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','338507e500574423915f798234c7f239','0','2','0'),
('47993','7','','10646','Version','mysql.version["{$MYSQL.DSN}","{$MYSQL.USER}","{$MYSQL.PASSWORD}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MySQL server version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','674df57b5295448c89a7265902cc94ec','0','2','0'),
('48050','15','','10647','Buffer pool efficiency','mysql.buffer_pool_efficiency','1m','31d','365d','0','0','','%','','',NULL,NULL,'100 - (last(//mysql.innodb_buffer_pool_reads) /
( last(//mysql.innodb_buffer_pool_read_requests) +
( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_read_requests) > 0 ))','','0','','','','','0',NULL,'The item shows how effectively the buffer pool is serving reads.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6179105b341e41e892398649eec227bb','0','2','0'),
('48051','15','','10647','Buffer pool utilization','mysql.buffer_pool_utilization','1m','31d','365d','0','0','','%','','',NULL,NULL,'( last(//mysql.innodb_buffer_pool_pages_total) -
last(//mysql.innodb_buffer_pool_pages_free) ) /
( last(//mysql.innodb_buffer_pool_pages_total) +
( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *
( last(//mysql.innodb_buffer_pool_pages_total) > 0 )','','0','','','','','0',NULL,'Ratio of used to total pages in the buffer pool.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','427ee34312ca4fb595b71db9a350b1fc','0','2','0'),
('48052','7','','10647','Get status variables','mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets server global status information.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','202cc1174b7f4b63a8c90bdc54ec2bb2','0','2','0'),
('48053','15','','10647','Calculated value of innodb_log_file_size','mysql.innodb_log_file_size','1m','31d','365d','0','0','','','','',NULL,NULL,'(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}','','0','','','','','0',NULL,'`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ce62d571e854df187d201bd4a7ccce1','0','2','0'),
('48054','7','','10647','Status','mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1261','','','0','','','','','0',NULL,'MySQL server status.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca43acd282a8435884b33af454b207fb','0','2','0'),
('48055','7','','10647','Version','mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MySQL server version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2071500ce5ac486fa322fbab8acac046','0','2','0'),
('48112','7','','10648','Get archive','pgsql.archive["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect archive status metrics.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','218b03c8bfb84b07ae0ec9ba0932fff3','0','2','0'),
('48113','7','','10648','Count of autovacuum workers','pgsql.autovacuum.count["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of autovacuum workers.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc14c8544eed47ce9510a803be5708d7','0','2','0'),
('48114','7','','10648','Get bgwriter','pgsql.bgwriter["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_bgwriter:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-BGWRITER-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d0dd45f06974d6b8be9cc11404ac1c3','0','2','0'),
('48115','15','','10648','Cache hit ratio, %','pgsql.cache.hit','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//pgsql.dbstat.sum.blks_hit.rate) * 100 / (last(//pgsql.dbstat.sum.blks_hit.rate) + last(//pgsql.dbstat.sum.blks_read.rate))','','0','','','','','0',NULL,'Cache hit ratio.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b701ad8f20a44958956a6cbfd4e5da2','0','2','0'),
('48116','7','','10648','Get connections sum','pgsql.connections["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52d9d2342b9c40a2b279dcbe4bcff023','0','2','0'),
('48117','7','','10648','Custom queries','pgsql.custom.query["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}",""]','1m','1h','0','1','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Execute custom queries from file *.sql (check for option Plugins.Postgres.CustomQueriesPath at agent configuration).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','defcba230619484db1a7d6faace8b33d','0','2','0'),
('48118','7','','10648','Get dbstat sum','pgsql.dbstat.sum["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database as sums for all databases:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8d84c4ec8d05427f9da4b9a1904a0af4','0','2','0'),
('48119','7','','10648','Get dbstat','pgsql.dbstat["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e36f2b3e33e2435d9b95472a7844a1a4','0','2','0'),
('48120','7','','10648','Get locks','pgsql.locks["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df19db910015411996e25ea5b48f0742','0','2','0'),
('48121','7','','10648','Age of oldest xid','pgsql.oldest.xid["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Age of oldest xid.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a32b0308496460b83ad2698edb21420','0','2','0'),
('48122','7','','10648','Ping','pgsql.ping["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1265','','','0','','','','','0',NULL,'Used to test a connection to see if it is alive. It is set to 0 if the query is unsuccessful.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52edd592df6f49df9bf46b5e93689a1a','0','2','0'),
('48123','7','','10648','Get queries','pgsql.queries["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics by query execution time.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','060c0efaf60944538bf5fb6ca2828dc6','0','2','0'),
('48124','7','','10648','Replication: Standby count','pgsql.replication.count["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of standby servers.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f15d0758764c4bd6b607335d9d57b76b','0','2','0'),
('48125','7','','10648','Replication: Lag in bytes','pgsql.replication.lag.b["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in bytes.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a3297ef8198145848d4e3b16b7b8eb8b','0','2','0'),
('48126','7','','10648','Replication: Lag in seconds','pgsql.replication.lag.sec["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in seconds.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','142e93b332e24ecfbd50465bb4af91e7','0','2','0'),
('48127','7','','10648','Get replication','pgsql.replication.process["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect metrics from the pg_stat_replication, which contains information about the WAL sender process, showing statistics about replication to that sender''s connected standby server.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','aa03fb9cabd8459ea5f5efb90c9e1051','0','2','0'),
('48128','7','','10648','Replication: Recovery role','pgsql.replication.recovery_role["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1263','','','0','','','','','0',NULL,'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','226bcc226ffc487ba90d998a03692404','0','2','0'),
('48129','7','','10648','Replication: Status','pgsql.replication.status["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1264','','','0','','','','','0',NULL,'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef2ac5eaf73c40e09af41bba03b4fac8','0','2','0'),
('48130','7','','10648','Uptime','pgsql.uptime["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Time since the server started.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46b53fcf97a74619a03c2490fe9b71ea','0','2','0'),
('48131','7','','10648','Version','pgsql.version["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7a96feee8118450e83e994be87bc5eea','0','2','0'),
('48132','7','','10648','Get WAL','pgsql.wal.stat["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect write-ahead log (WAL) metrics.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb2a0f990a39411e9d3c7d95cc7504ee','0','2','0'),
('48224','7','','10649','Get bgwriter','pgsql.bgwriter["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','1h','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_bgwriter:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-BGWRITER-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','08043026cea14053a0addd4bdb7b7b8d','0','2','0'),
('48225','7','','10649','Cache hit ratio, %','pgsql.cache.hit["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache hit ratio.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','934e6647557f41cba46532a5a5c5d2ea','0','2','0'),
('48226','7','','10649','Config hash','pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL configuration hash.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d028578428949da8fa05d1f62f9f615','0','2','0'),
('48227','7','','10649','Get connections sum','pgsql.connections.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','13cce1cb170f4c9db977cb49fc603f79','0','2','0'),
('48228','7','','10649','Get dbstat','pgsql.dbstat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bea2e947b16b4a3dac660e664a505904','0','2','0'),
('48229','7','','10649','Get locks','pgsql.locks["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5adbe1c2fc74943926cf45ff5efbff3','0','2','0'),
('48230','7','','10649','Ping time','pgsql.ping.time["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Used to get the `SELECT 1` query execution time.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ab77e9548014233b0945bdeb9c134bd','0','2','0'),
('48231','7','','10649','Ping','pgsql.ping["{$PG.HOST}","{$PG.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1268','','','0','','','','','0',NULL,'Used to test a connection to see if it is alive. It is set to 0 if the instance doesn''t accept the connections.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','058b3cd8308b4692a5cb3e89a47886bd','0','2','0'),
('48232','7','','10649','Get queries','pgsql.queries["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics by query execution time.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a4de36d7b434260b264a63ab444a430','0','2','0'),
('48233','7','','10649','Replication: Standby count','pgsql.replication.count["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of standby servers.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','401331b4eab0439ca954551bce2f0c2e','0','2','0'),
('48234','7','','10649','Replication: Lag in seconds','pgsql.replication.lag.sec["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'Replication lag with master, in seconds.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2005dff88ab64458b3970a40e5bf0aff','0','2','0'),
('48235','7','','10649','Replication: Recovery role','pgsql.replication.recovery_role["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1266','','','0','','','','','0',NULL,'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','808f71865b934ac68512a3d6fa8b4aab','0','2','0'),
('48236','7','','10649','Replication: Status','pgsql.replication.status["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','','','',NULL,'1267','','','0','','','','','0',NULL,'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5c4061c4081d41fa86741a296378d031','0','2','0'),
('48237','7','','10649','Get transactions','pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect metrics by transaction execution time.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b22ed1707bd84c4faa010803b2c594fa','0','2','0'),
('48238','7','','10649','Uptime','pgsql.uptime["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Time since the server started.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d310b47d3e38466a980494fb0f9dfb01','0','2','0'),
('48239','7','','10649','Version','pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'PostgreSQL version.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9798496e21914a8cbdee1cd85decf3e8','0','2','0'),
('48240','7','','10649','Get WAL','pgsql.wal.stat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect write-ahead log (WAL) metrics.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ca8653ea8304b5392d1c39111381751','0','2','0'),
('48297','0','','10074','CPU spin time','system.cpu.util[,spin]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent spinning on a lock.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','636b16908e3746039cf0bc5edf5ef3c6','0','2','0'),
('48298','7','','10650','Number of devices','nvml.device.count','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the number of compute devices in the system. A compute device is a single GPU.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','efdffab0b401430388a5cb21a789978d','0','2','0'),
('48299','7','','10650','Get devices','nvml.device.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves a list of Nvidia devices in the system.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ea9f80195af4c7b89c1f7220fc71df7','0','2','0'),
('48300','7','','10650','Driver version','nvml.system.driver.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the version of the system''s graphics driver.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','424bce7a262144d0a2bc33bc0b5ee98a','0','2','0'),
('48301','7','','10650','NVML library version','nvml.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the version of the NVML library.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1566ad71d26a474a858c12ff1cf438fb','0','2','0'),
('48341','0','','10651','Number of devices','nvml.device.count','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the number of compute devices in the system. A compute device is a single GPU.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ac18129f78a54a2e95d1d48630e0eab2','0','2','0'),
('48342','0','','10651','Get devices','nvml.device.get','1h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves a list of Nvidia devices in the system.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','afe2ea47c42f4992851f02b31efd8225','0','2','0'),
('48343','0','','10651','Driver version','nvml.system.driver.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the version of the system''s graphics driver.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','824a7555809f4e23b2f7fa72aff28a0c','0','2','0'),
('48344','0','','10651','NVML library version','nvml.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Retrieves the version of the NVML library.
For all Nvidia products.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e54cc700a9147baa5f18aa286c47205','0','2','0'),
('48384','21','','10652','Get data','azure.sql_inst.data.get','1m','0','0','0','4','','','','',NULL,NULL,E'var Azure = {
params: {},
token: null,
setParams: function (params) {
[''app_id'', ''password'', ''tenant_id'', ''subscription_id'', ''resource_id''].forEach(function (field) {
if (typeof params !== ''object'' || typeof params[field] === ''undefined'' || params[field] === '''') {
throw ''Required param is not set: '' + field + ''.'';
}
});
Azure.params = params;
},
login: function () {
var response, login = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
login.setProxy(Azure.params.proxy);
}
login.addHeader(''Content-Type: application/x-www-form-urlencoded'');
response = login.post(
''https://login.microsoftonline.com/'' + encodeURIComponent(Azure.params.tenant_id) + ''/oauth2/token'',
''grant_type=client_credentials&resource='' + encodeURIComponent(''https://management.azure.com/'') + ''&client_id='' + encodeURIComponent(Azure.params.app_id) + ''&client_secret='' + encodeURIComponent(Azure.params.password)
);
if (login.getStatus() !== 200) {
throw ''Login failed with status code '' + login.getStatus() + '': '' + response;
}
try {
response = JSON.parse(response);
}
catch (error) {
throw ''Failed to parse login session response.'';
}
if (!response.hasOwnProperty(''access_token'')) {
throw ''Authentication response does not contain access token.'';
}
Azure.token = response[''access_token''];
},
request: function (url) {
var response, request = new HttpRequest();
if (typeof Azure.params.proxy !== ''undefined'' && Azure.params.proxy !== '''') {
request.setProxy(Azure.params.proxy);
}
if (!Azure.token) {
throw ''Request does not contain access token.'';
}
request.addHeader(''Content-Type: application/json'');
request.addHeader(''Authorization: Bearer '' + Azure.token);
Zabbix.log(4, ''[ Azure SQL instance ] request url: '' + url);
response = request.get(url);
if (request.getStatus() !== 200) {
throw ''Request failed with status code '' + request.getStatus() + '': '' + response;
}
try {
return JSON.parse(response);
}
catch (error) {
throw ''Failed to parse response received from API.'';
}
},
getField: function (data, path) {
var steps = path.split(''.'');
for (var i = 0; i < steps.length; i++) {
var step = steps[i];
if (typeof data !== ''object'' || typeof data[step] === ''undefined'') {
throw ''Required field was not found: '' + path;
}
data = data[step];
}
return data;
},
getMetricsData: function () {
var data = {},
metric_endpoints = {
''main_metrics'': ''/providers/Microsoft.Insights/metrics?metricnames='' + encodeURIComponent(''virtual_core_count,avg_cpu_percent,reserved_storage_mb,storage_space_used_mb,io_requests,io_bytes_read,io_bytes_written'') + ''&api-version=2021-05-01×pan=PT5M'',
};
data.metrics = {};
Object.keys(metric_endpoints).forEach(function (field) {
metrics = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + metric_endpoints[field]), ''value'');
for (k in metrics) {
key = Azure.getField(metrics[k], ''name.value'').replace(/(\\s|\\/)+/g, '''');
if (metrics[k].timeseries.length === 0) {
metrics[k].timeseries.push({ ''data'': [''nodata''] })
}
values = Azure.getField(metrics[k], ''timeseries.0.data'');
for (var i = values.length - 1; i >= 0; i--) {
if (typeof (values[i].average) !== ''undefined'') {
data.metrics[key] = values[i];
break;
}
}
}
});
data.health = Azure.getField(Azure.request(''https://management.azure.com'' + Azure.params.resource_id + ''/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01''), ''value.0.properties'');
data.instance = Azure.request(''https://management.azure.com'' + Azure.params.resource_id + ''?api-version=2024-05-01-preview'');
return data
}
};
try {
Azure.setParams(JSON.parse(value));
Azure.login();
return JSON.stringify(Azure.getMetricsData());
}
catch (error) {
error += (String(error).endsWith(''.'')) ? '''' : ''.'';
Zabbix.log(3, ''[ Azure SQL instance ] ERROR: '' + error);
return JSON.stringify({ ''error'': error });
}','','0','','','','','0',NULL,'Gathers data of the Azure SQL managed instance.','0','7d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','4dc91ae07bd048128a34da5b7ba090e8','0','2','0'),
('48385','15','','10652','Storage space utilization','azure.sql_inst.storage.utilization','1m','31d','365d','0','3','','%','','',NULL,NULL,'last(//azure.sql_inst.storage.used) * 100 / last(//azure.sql_inst.storage.reserved)','','0','','','','','0',NULL,'Managed instance storage space utilization, in percent.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3ea1180eb174fb38656c9696fa9d9a7','0','2','0'),
('48400','3','','10654','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'1283','','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2af50dac1b3245a9b6c350c1096209b6','0','2','0'),
('48401','3','','10654','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','250e30e7298444df8208e15c6a32a1c5','0','2','0'),
('48402','3','','10654','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b40a9b8da8546e2a0b593e7dbb72537','0','2','0'),
('48403','20','walk[ 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3, 1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10, 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2, 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.11, 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14, 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13]','10654','SNMP walk BGP Peer','juniper.mx.bgp.peer.data.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `BGP4-V2-MIB-JUNIPER::jnxBgpM2PeerData` for BGP Peer Data.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0335221808684100bd1e062a730a909d','0','2','0'),
('48404','20','walk[ 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10, 1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11]','10654','SNMP walk BGP Prefix Counters','juniper.mx.bgp.prefix.counters.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `BGP4-V2-MIB-JUNIPER::jnxBgpM2PrefixCountersTable` for Prefix Counters.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a6bab1f7b7bd45cf9dcfbb309957cf91','0','2','0'),
('48405','20','walk[1.3.6.1.4.1.2636.3.60.1.2.1.1.1, 1.3.6.1.4.1.2636.3.60.1.2.1.1.2, 1.3.6.1.4.1.2636.3.60.1.2.1.1.4, 1.3.6.1.4.1.2636.3.60.1.2.1.1.6, 1.3.6.1.4.1.2636.3.60.1.2.1.1.8, 1.3.6.1.4.1.2636.3.60.1.2.1.1.9, 1.3.6.1.4.1.2636.3.60.1.1.1.1.8, 1.3.6.1.4.1.2636.3.60.1.1.1.1.30, 1.3.6.1.2.1.2.2.1.8, 1.3.6.1.2.1.2.2.1.7, 1.3.6.1.2.1.31.1.1.1.18, 1.3.6.1.2.1.31.1.1.1.1, 1.3.6.1.2.1.2.2.1.2, 1.3.6.1.2.1.2.2.1.3]','10654','SNMP walk Multi-lane digital optical monitoring','juniper.mx.dom.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `JUNIPER-DOM-MIB::jnxDomModuleLaneTable` for multi-lane digital optical monitoring.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d7d94b8c0d046d2a1a6426e89128719','0','2','0'),
('48406','20','walk[1.3.6.1.2.1.10.7.2.1.19,1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2]','10654','SNMP walk EtherLike-MIB interfaces','juniper.mx.net.if.duplex.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of interfaces from IF-MIB and EtherLike-MIB. Interfaces with operational status `up(1)` are discovered.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ddc368f670e40d1b5770e0a4428ce45','0','2','0'),
('48407','20','walk[1.3.6.1.2.1.2.2.1.8, 1.3.6.1.2.1.2.2.1.2, 1.3.6.1.2.1.2.2.1.3, 1.3.6.1.2.1.2.2.1.7, 1.3.6.1.2.1.2.2.1.13, 1.3.6.1.2.1.2.2.1.14, 1.3.6.1.2.1.2.2.1.19, 1.3.6.1.2.1.2.2.1.20, 1.3.6.1.2.1.31.1.1.1.1, 1.3.6.1.2.1.31.1.1.1.6, 1.3.6.1.2.1.31.1.1.1.10, 1.3.6.1.2.1.31.1.1.1.15, 1.3.6.1.2.1.31.1.1.1.18]','10654','SNMP walk Network interfaces','juniper.mx.net.if.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Discovery of interfaces from IF-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b11839f1bddd4781b23111511db1615a','0','2','0'),
('48408','20','walk[1.3.6.1.4.1.2636.3.1.13.1.5, 1.3.6.1.4.1.2636.3.1.13.1.7, 1.3.6.1.4.1.2636.3.1.13.1.8, 1.3.6.1.4.1.2636.3.1.13.1.5.2, 1.3.6.1.4.1.2636.3.1.13.1.5.4, 1.3.6.1.4.1.2636.3.1.13.1.6.4, 1.3.6.1.4.1.2636.3.1.13.1.6.2, 1.3.6.1.4.1.2636.3.1.13.1.11]','10654','SNMP walk Operating Table','juniper.mx.operating.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `JUNIPER-MIB::jnxOperatingTable` for CPU, Memory, Temperature, and Fans.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f42152e7c0504aa4bfa611725f365afc','0','2','0'),
('48409','20','walk[ 1.3.6.1.2.1.14.10.1.1, 1.3.6.1.2.1.14.10.1.3, 1.3.6.1.2.1.14.10.1.5, 1.3.6.1.2.1.14.10.1.6, 1.3.6.1.2.1.14.10.1.7, 1.3.6.1.2.1.14.10.1.11]','10654','SNMP walk OSPF Neighbors','juniper.mx.ospf.nbr.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `OSPF-MIB::ospfNbrTable` for OSPF Neighbors.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','80f06a9c2725450e9b5a16377b2cf7af','0','2','0'),
('48410','20','walk[ 1.3.6.1.4.1.2636.5.4.1.1.9.1.5, 1.3.6.1.4.1.2636.5.4.1.1.9.1.7, 1.3.6.1.4.1.2636.5.4.1.1.9.1.8, 1.3.6.1.4.1.2636.5.4.1.1.9.1.9, 1.3.6.1.4.1.2636.5.4.1.1.9.1.11]','10654','SNMP walk OSPFv3 Neighbors','juniper.mx.ospfv3.nbr.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `OSPFV3-MIB-JUNIPER::jnxOspfv3NbrTable` for OSPFv3 Neighbors.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f3115a33a6a43b6bf0ab2be3eeec995','0','2','0'),
('48411','20','walk[1.3.6.1.4.1.2636.3.1.14.1.5, 1.3.6.1.4.1.2636.3.1.14.1.6, 1.3.6.1.4.1.2636.3.1.14.1.10, 1.3.6.1.4.1.2636.3.1.14.1.16, 1.3.6.1.4.1.2636.3.1.14.1.7]','10654','SNMP walk Redundancy Table','juniper.mx.redundancy.table.snmp.walk','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Scanning `JUNIPER-MIB::jnxRedundancyTable` for Router Redundancy.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d72814c5b9c64f4e843a04137b99dad6','0','2','0'),
('48412','20','get[1.3.6.1.2.1.1.4.0]','10654','System contact details','juniper.mx.system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Name and contact information of the contact person for the node. If not provided, the value is a zero-length string.','23','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9b7da53c32a4b48958c313ed45870b1','0','2','0'),
('48413','20','get[1.3.6.1.2.1.1.1.0]','10654','System description','juniper.mx.system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
A textual description of the entity. This value should include the full name and version identification of the system''s hardware type, software operating system, and networking software.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','092dbc3c0da648449e69047d3f83b2ba','0','2','0'),
('48414','20','get[1.3.6.1.4.1.2636.3.1.2.0]','10654','Hardware model name','juniper.mx.system.hw.model','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: JUNIPER-MIB
The name, model, or detailed description of the device, indicating which product it represents, for example, `M40`.','29','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e101a0bd30ae45f6bff0b2b8c914f95b','0','2','0'),
('48415','20','get[1.3.6.1.4.1.2636.3.1.3.0]','10654','Hardware serial number','juniper.mx.system.hw.serialnumber','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: JUNIPER-MIB
The serial number of this subject, blank if unknown or unavailable.','8','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7fbc5fa8ef084cf585d5a617812b2d70','0','2','0'),
('48416','20','get[1.3.6.1.2.1.25.1.1.0]','10654','Uptime (hardware)','juniper.mx.system.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from `sysUpTime` in the SNMPv2-MIB [RFC1907] because `sysUpTime` is the uptime of the network management portion of the system.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2bcb74f5afe4659af6a614ea98dbf51','0','2','0'),
('48417','20','get[1.3.6.1.2.1.1.6.0]','10654','System location','juniper.mx.system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef6895d078204d17b7f3ba142c2075bf','0','2','0'),
('48418','20','get[1.3.6.1.2.1.1.5.0]','10654','System name','juniper.mx.system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
An administratively-assigned name for this managed node. By convention, this is the node''s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a80dba9043e43edb4c073f397e471c9','0','2','0'),
('48419','20','get[1.3.6.1.2.1.1.3.0]','10654','Uptime (network)','juniper.mx.system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
Time (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','33b048b47db542d6bc304a0048e4b743','0','2','0'),
('48420','20','get[1.3.6.1.2.1.1.2.0]','10654','System object ID','juniper.mx.system.objectid[sysObjectID.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB
The vendor''s authoritative identification of the entity as part of the vendor''s SMI enterprises subtree with the prefix 1.3.6.1.4.1 (e.g., a vendor with the identifier 1.3.6.1.4.1.4242 might assign a system object with the OID 1.3.6.1.4.1.4242.1.1).','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','832ad6d2465e4c20813c194114d2655b','0','2','0'),
('48421','20','get[1.3.6.1.2.1.1.1.0]','10654','Operating system','juniper.mx.system.sw.os[sysDescr.0]','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB','5','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f743934b3364cadbef2f178cc5aabb1','0','2','0'),
('48422','17','','10654','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2d0f8b19fc3474880ce2decd2880ce8','0','2','0'),
('48423','5','','10654','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1284','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 - not available
1 - available
2 - unknown','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8223b49a0d1f4467a5f79e423a4bf862','0','2','0'),
('48472','19','','10655','Get device certificate','pan.pa440.certificate.device.get','1h','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the information about the device certificate. Note that superuser privileges are required to obtain the device certificate data.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/status><\\/device-certificate><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','4bdcedebb6dd4fd4951a13c52749b89d','0','2','0'),
('48473','19','','10655','Get certificates','pan.pa440.certificate.get','1h','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the information about the certificates on the device.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"config"},{"action":"get"},{"xpath":"\\/config\\/shared\\/certificate"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','0d8d933aff9a4523aa784722616aa40f','0','2','0'),
('48474','19','','10655','Get system environmentals','pan.pa440.environmentals.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the system environment state information.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/environmentals><\\/system><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','d971daee3e2340a981b0c079adf3abdc','0','2','0'),
('48475','19','','10655','Get HA info','pan.pa440.ha.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the high availability information.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/all><\\/high-availability><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','81e26d3d45fb4cf9a085ecaf980dfc76','0','2','0'),
('48476','19','','10655','Get licenses','pan.pa440.licenses.get','1h','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the information about installed licenses.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/info><\\/license><\\/request>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','296fb66ceb8d45e0aa923bf7227711b5','0','2','0'),
('48477','19','','10655','Get OSPF neighbors','pan.pa440.ospf.neighbors.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the OSPF neighbor information.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/neighbor><\\/ospf><\\/protocol><\\/routing><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','2c88e39db8634c5baa03e9e6bd974e52','0','2','0'),
('48478','19','','10655','Get OSPFv3 neighbors','pan.pa440.ospfv3.neighbors.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the OSPFv3 neighbor information.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/neighbor><\\/ospfv3><\\/protocol><\\/routing><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','b4dda8f48f734b9bae0a1c55bd2faf45','0','2','0'),
('48479','19','','10655','Get session info','pan.pa440.session_info.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the information about sessions.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/info><\\/session><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','f3defb28d70a4a0f9ebd036d65e1fda2','0','2','0'),
('48480','19','','10655','Get system info','pan.pa440.system_info.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the general system information.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"<\\/info><\\/system><\\/show>"}]','','','1','0','{$PAN.PA440.HTTP_PROXY}','','0','0','0','0','0','0','0','5133c9b5e7284141ba1da1d1d1c726f8','0','2','0'),
('48481','19','','10655','Get system state','pan.pa440.system_state.get','1m','0','0','0','4','','','','',NULL,NULL,'','','1','{$PAN.PA440.USER}','{$PAN.PA440.PASSWORD}','','','0',NULL,'Get the system state information. Used with a filter to retrieve CPU utilization metrics.','0','7d','0','',NULL,'{$PAN.PA440.TIMEOUT}','{$PAN.PA440.API.URL}',E'[{"type":"op"},{"cmd":"