• 99090739
  • info@ganara.mn

Scheduled Report: Executive Weekly Summary Report

Scheduled Report: Executive Weekly Summary Report

——=_Part_1754_1026456947.1556158821136
Content-Type: text/plain;charset=UTF-8
Content-Transfer-Encoding: 7bit

Report scheduled by: admin.
Server name: GT.
IP address: fd5f:3332:687f:0:e96a:e4fe:1f4:d2dd,fd5f:3332:687f:0:3554:5058:d7f7:954.
Report generated on: Apr 25, 2019 10:20:20 AM.
Report type: Risk Report.
Report description: Created automatically during product installation..

See attached report.
——=_Part_1754_1026456947.1556158821136
Content-Type: text/html; charset=Cp1252;
name=”Executive Weekly Summary Report_Apr 25_ 2019 10-20-16 AM
026.html”
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename=”Executive Weekly Summary Report_Apr 25_ 2019 10-20-16 AM
026.html”
Content-ID: Executive Weekly Summary Report_Apr 25_ 2019 10-20-16 AM 026.html

/*************************************************************=
*******************************************
* SYMANTEC: Copyright (c) 2018 Symantec Corporation. All rights reserv=
ed.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SYM=
ANTEC CORPORATION. USE,
* DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITT=
EN PERMISSION OF SYMANTEC
* CORPORATION.
*
* The Licensed Software and Documentation are deemed to be commercial comp=
uter software as defined in
* FAR 12.212 and subject to restricted rights as defined in FAR Section 52=
.227-19 “Commercial Computer
* Software – Restricted Rights” and DFARS 227.7202, Rights in “Commercial =
Computer Software or Commercial
* Computer Software Documentation,” as applicable, and any successor regul=
ations, whether delivered by
* Symantec as on premises or hosted services. Any use, modification, repr=
oduction release, performance,
* display or disclosure of the Licensed Software and Documentation by the =
U.S. Government shall be solely
* in accordance with the terms of this Agreement.
**************************************************************************=
******************************/
html {
padding: 0;
margin: 0;
height: 100%;
overflow-y:auto;
}
body {
padding: 0;
margin: 0;
height: 100%;
overflow:auto;
}

/* Menu layers …
*********************************************************************
*/
.subMenu a, .subMenu a:visited {
display: block;
padding: 1px 8px 1px 12px;
background-color: #FFFFFF;
color: #000000;
text-decoration: none;
border-top: 1px solid #E1E1E1;
border-right: 1px solid #E1E1E1;
border-bottom: 1px solid #E1E1E1;
border-left: 1px solid #E1E1E1;
}
.subMenu a:hover, .subMenu a:active, .subMenu a:focus {
background-color: #FDEEBB;
color: #999999;
text-decoration: none;
}

.subMenu p {margin: 0;}

#M1, #M2, #M3, #M4, #M5, #M6 {
position: absolute;
width: 120px;
top: 42px;
font-size: 11px;
text-decoration: none;
visibility: hidden;
background-color: #FFFFFF;
z-index:10
}
#M1 { left: 100px; }
#M2 { left: 190px; }
#M3 { left: 275px; }
#M4 { left: 365px; }
#M5 { left: 450px; }
#M6 { left: 540px; }

a.options {
color: #000000;
text-decoration: none;
}

.quickAdvanced a {
color: #0076a3;
text-decoration: none;
}

.quickAdvanced a:hover, .quickAdvanced a:active, .quickAdvanced a:focus {
color: #00aeef;
text-decoration: none;
}

#back_link {
color: #0076a3;
}
#back_link:hover{
color: #00aeef;
}
.back_link {
color: #0076a3;
}
/*
*********************************************************************
*/

.Menue {
font-family: Arial, Helvetica, sans-serif;
/*FONT-FAMILY: Verdana, arial, Tahoma, times; */

font-size: 11px;
}

.bottomControl{float:left; margin: 0.3em .75em 0 0;}

@-moz-document url-prefix()
{
.bottomControlFF{
float:left !important;=20
margin: 16.5px 3px 0 0 !important;}
}
.reportname {
font-family: Arial, Helvetica, sans-serif;
/*FONT-FAMILY: Verdana, arial, Tahoma, times; */

font-size: 14px;
}

.scheduledreportsubtitle {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 13px;
}

.scheduledreporttable {
width: 630px;
border-collapse: collapse;
border:0;
}

.scheduledreporttable tr {
padding: 5px 0;
}

p.Menue {
color: #000000;
}

.Header { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font=
-weight: bold; color: #000000;padding-left:5px;}
.Header2 { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font=
-weight: bold; color: #000000}
.SubHeader { font-family: Arial, Helvetica, sans-serif; font-size: 12px; fo=
nt-weight: bold; color: #000000;padding-left:5px;}
.HeaderPassword { font-family: Arial, Helvetica, sans-serif; font-size: 24p=
x; font-weight: bold; color: #1c4477}

h2 {font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight=
: bold; color: #000000}
h4 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight=
: bold; color: #000000}

.Product { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font=
-weight: bold; color: #000000}
.Version { font-family: Arial, Helvetica, sans-serif; font-size: 16px; fon=
t-weight: bold; color: #000000}

/* As per UCD, do not alter */
.TableHeader {
background-color: #E2E3E1;
font-weight:bold
}

.ButtonImage{ background-image:url(“../Images/ButtonBlank.gif”)}
.HRlogs {color:#E1E1E1}
.UCDCell {
padding-bottom:6px;
padding-right:8px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
word-wrap:break-word;

}

input { border:1px solid #E1E1E1}
p { font-family: Arial, Helvetica, sans-serif; font-size: 11px; margin-top=
: 0px; margin-bottom: 0px}
td { font-family: Arial, Helvetica, sans-serif; font-size: 11px}
.NoText {
font-family: Arial, Helvetica, sans-serif;=20
font-size: 0px;
}
#SG a:hover { background-color: #FFFF00}
#CG a:hover { background-color: #FFFF00}
tr {
color: #000000;
}

.UCDTableHeader {
text-align: left;
border-top:none;
padding-right:25px;
border-bottom:1px solid #E1E1E1;
font-family: Arial, Helvetica, sans-serif;
font-size:11px;
}

.AltRow {
background-color: #F0F0F0;
height: 18px;
border-left: 1px solid #E1E1E1;
}

.RegRow {
background-color: #FFFFFF;
height: 18px;
border-left: 1px solid #E1E1E1;
}

.PullDownMenu {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #333333;
text-decoration: none;
font-weight: bold;
}
.PullDownMenuText {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #A42211;
text-decoration: none;

}

.PopupHeader {
background-color: #3F7FBE;
color: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}

a:link {
color: #0076a3;
text-decoration: none;
}
a:visited {
color: #0076a3;
text-decoration: none;
}

a:hover {
color: #00aeef;
text-decoration: underline;
}

a.eps:link { border:none; color: #000000;text-decoration: none;}
a.eps:visited {border:none;color: #000000;text-decoration: none;}
a.eps:hover {border:none;color: #000000;text-decoration: none;}

table.confirm_delete_popup {
background-color: #DDDDDD;
border-color: #666666;
}

/**********************/
/* default link color */
/**********************/
body.color {color:#F7F7F7;}
/*body.color_link a:link {color: #000000;}
body.color_link a:visited {color: #000000;}
body.color_link a:active {color: #000000;}

body.color_link2 a:link {color: #000000;}
body.color_link2 a:visited {color: #000000;}
body.color_link2 a:active {color: #000000;}
*/
/* we need to override the default link color for these specific links */
body.color_link a:link.Menue {color: #000000;}
body.color_link .subMenu a, .subMenu a:visited {color: #000000;}
body.color_link .subMenu a:hover, .subMenu a:active, .subMenu a:focus {colo=
r: #999999;}
body.color_link a.options {
color: #000000;
text-decoration: underline;
}
body.color_link a.quickAdvanced {
color: #0076a3;
text-decoration: none;
}

body.color_link a.quickAdvanced:hover {
color: #00aeef;
text-decoration: underline;
}

body.color_link2 a:link.Menue {color: #000000;}
body.color_link2 .subMenu a, .subMenu a:visited {color: #000000;}
body.color_link2 .subMenu a:hover, .subMenu a:active, .subMenu a:focus {col=
or: #999999;}
body.color_link2 a.options {
color: #000000;
text-decoration: underline;
}
body.color_link2 a.quickAdvanced {
color: #0076a3;
text-decoration: none;
}

/***************/
/* admin pages */
/***************/
td.color_example {background-color: #FFFFFF;}

div.color_example {
width: 50px;
height: 10px;
border: 1px solid #E1E1E1;
}

/*******************/
/* dashboard pages */
/*******************/
table.dashboard {
background-color: #F7F7F7;
border:1px solid #F7F7F7;
}
td.dashboard {background-color: #F7F7F7;}

div.dashboard {
width: 10px;
height: 10px;
border: 1px none #E1E1E1;
}

font.new_virus {color: #0000FF;}
font.pie_chart {color: #0000FF;}

/*******************/
/* inventory pages */
/*******************/
body.inventory tr.alternating {color: #000000;}
body.inventory font.alternating {color: #FFFFFF;}

div.history {
width:45px;
height:10px;
border: 1px none #E1E1E1;
}

div.inventory_report {
width:45px;
height:10px;
border: 1px none #E1E1E1;
}
div.system_report {
width:45px;
height:10px;
border: 1px none #E1E1E1;
}

div.inventory_report_2 {
width:30px;
height:10px;
border: 1px none #E1E1E1;
}

font.inventory_report {color: #FFFFFF;}

div.inventory_report5 {
height:10px;
border: 1px none #E1E1E1;
}

/****************/
/* report pages */
/****************/
body.report_link2 a:link {color: #000000;}
body.report_link2 a:visited {color: #000000;}
body.report_link2 a:active {color: #000000;}

body.report_link2 a:link.Menue {color: #000000;}

font.include_action {color: #FFFFFF;}

div.include_ {
height:10px;
border: 1px none #E1E1E1;
}

tr.include_newvirus {color: #FFFFFF; background-color: #000000;}
font.include_virus {color: #FFFFFF;}

/**************/
/* scan pages */
/**************/
div.scanreport {
height:10px;
border: 1px none #E1E1E1;
}

/***** UCD STARTS HERE ******/

/**************/
/* homepage */
/**************/

td.homepage,td.homepage2 {
border-right: 1px solid #E1E1E1;
border-bottom: 1px solid #E1E1E1;
border-left: 1px solid #E1E1E1;

}
p.homepage{color: #FF0000;}

.homepagepane {background-color:#FFFFFF;}

.homepage a, .homepage a:visited {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
color: #000000;

text-decoration: none;
}

.yellowtag {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
color: #000000;
border-right: 0px solid #E1E1E1;
border-top: 0px solid #E1E1E1;
border-left: 0px solid #E1E1E1;
text-decoration: none;
background-color: #F4DC80;
}

.homepage a:hover, .homepage a:active, .homepage a:focus {

color: #000000;
}

td.homepagelinks {
border: 1px solid #E1E1E1;
background-color: #FFFFFF;
}

td.invisibletd {
border: 0px solid white;
}

.logas {
font-family: Arial, Helvetica, sans-serif;
font-size:16px;
color: #1C4477;
}

.action_summary {
font-family: Arial, Helvetica, sans-serif;
font-size:11px;
font-weight:bold;
color: #1C4477;
}

.logas a, .logas a:visited {
color: #1C4477;
text-decoration:none;
}

.logas a:hover, .logas a:active, .logas a:focus {
color: #1C4477;

text-decoration:underline;
}

.homepagelinks a, .homepagelinks a:visited {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;

color: #000000;
text-decoration: none;

}

.homepagelinks a {
color: #000000;
text-decoration:none;
}

.homepagelinks a:hover, .homepagelinks a:active, .homepagelinks a:focus {
color: #000000;
text-decoration:underline;
}

.topborder {
border-top: 1px solid #E1E1E1;
}

/** For buttons **/
input.UCD {
padding: 1px 5px 1px 5px;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;

}

/** set the buttons on Homepage Configuration **/
input.UCDHomepageConfig {
padding: 1px 5px 1px 5px;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
width: 7em;
}

/** set the buttons on tuning.php **/
input.UCDtuning {
padding: 1px 5px 1px 5px;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
width: 10em;
}

/** set the buttons on popups for save/cancel **/
input.UCDpopup {
padding: 1px 5px 1px 5px;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
width: 7em;
}

/** set the buttons on useradmin.php **/
input.UCDuseradmin {
padding: 1px 5px 1px 5px;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
width: 7em;
}

/* Style for XP theme buttons */
.xpbutton a
{
background-image:url(“../Images/buttonPlain.png”);
color:#000000;
background-color:Transparent;
background-position: center;
height: 25px;
width: 95px;
padding-top:5px;
background-repeat: no-repeat;
text-align: center;
vertical-align:bottom;
text-decoration: none;
display: block;
line-height: 25px;
}

.xpbutton a:link
{
background-image:url(“../Images/buttonPlain.png”);
}

.xpbutton a:visited
{
background-image:url(“../Images/buttonPlain.png”);
}

.xpbutton a:hover
{
background-image:url(“../Images/buttonGold.png”);
}

.xpbutton a:active
{
background-image:url(“../Images/buttonPlain.png”);
}

.alloybutton
{
white-space:nowrap;
}

.alloybutton a
{
color:black;
background-color:#E1E1E1;
height: 25px;
padding:0 6px;
text-align: center;
vertical-align:bottom;
text-decoration: none;
border:none;
position:relative;
float:left;
margin-right:1em;
line-height:25px;
display:block;
cursor:hand !important;
}
.alloybutton a:hover
{
color:black;
background-color:#FFDB8F;
height: 25px;
padding:0 6px;
text-align: center;
vertical-align:bottom;
text-decoration: none;
border:none;
position:relative;
float:left;
margin-right:1em;
line-height:25px;
display:block;
cursor:hand !important;
}
.defaultbutton a
{
color:black;
background-color:#fdbb30;
height: 25px;
padding:0 6px;
text-align: center;
vertical-align:bottom;
text-decoration: none;
border:none;
position:relative;
float:left;
margin-right:1em;
line-height:25px;
display:block;
cursor:hand !important;
}
.defaultbutton a:hover
{
color:black;
background-color:#FFDB8F;
height: 25px;
padding:0 6px;
text-align: center;
vertical-align:bottom;
text-decoration: none;
border:none;
position:relative;
float:left;
margin-right:1em;
line-height:25px;
display:block;
cursor:hand !important;
}

.buttonlft
{
padding-left:10px;
padding-top:5px;
height: 25px;
border:none;
position:absolute;
left:-4px;
top:0px;
width:4px;
}

.buttonrght
{
padding-right:10px;
height: 25px;
border:none;
position:absolute;
right:-3px;
top:0px;
width:3px;
}

.alloybuttondisabled
{
white-space:nowrap;
}
.alloybuttondisabled a,
.alloybuttondisabled a:link,
.alloybuttondisabled a:visited,
.alloybuttondisabled a:hover,
.alloybuttondisabled a:active,
.alloybuttondisabled a:focus
{
color:#636363;
background-color:#E1E1E1;
height: 25px;
padding:0 6px;
text-align: center;
vertical-align:bottom;
text-decoration: none;
border:none;
position:relative;
float:left;
margin-right:1em;
line-height:25px;
display:block;
cursor:default !important
}

@media print {
.alloybutton {
display: none;
}
.alloybutton a
{
display:none;
}
}

.xphintbutton a
{
=09
background-color:#E1E1E1;
background-position: center;
height: 18px;
width: 20px;
color:#000000;
padding-top:3px;
background-repeat: no-repeat;
text-align: center;
vertical-align:bottom;
text-decoration: none;
float:left;
margin:-2px 0 0 -4px;
=09
}

.xphintbutton a:link
{
background-color:#E1E1E1;
height: 18px;
width: 20px;
padding-top: 3px;
background-repeat: no-repeat;
background-position: bottom;
text-align: center;
vertical-align:bottom;
text-decoration: none;
}

.password {
font-size: 11px;

color: #0000FF;
}

.blacklink {
color: #000000;
}

.greybanner {
background-color: #FFFFCC;

}

.header_list {
background-color: #E9E8E7;
border-style: solid;
border-width: 1px;
border-color: #C2C3C1;
padding: 3px;
}

.body_list {
padding-left: 5px;
}

.logheader {
background-color: #E2E3E1;
font-size: 11px;
font-family: Arial, Helvetica, sans-serif;
color: #000000;
font-weight: bold;

}

TABLE.summaryLines TR TD P {
white-space: nowrap;
}

div.ajaxDiv {
width: 800px;
height: 400px;
margin: 0 auto;
}

div.tableContainer {
width: 841px; /* table width will be 99% of this*/
height: 430px; /* must be greater than tbody*/
overflow-y: auto;
overflow-x: auto;
margin: 0 auto;
padding-bottom: 5em;
}
div.tableContainerCommand {
overflow-y: auto;
overflow-x: auto;
margin: 0 auto;
}
=09
div.tableContainerScheduledReports {
width: 750px; /* table width will be 99% of this*/
height: 500px; /* must be greater than tbody*/
overflow-y: hidden;
overflow-x:hidden;
margin: 0 auto;
}

div.tableContainerOuter {
width: 841px;
height: 430px;
overflow-y: hidden;
overflow-x: auto;
margin: 0 auto;
padding-bottom: 5em;
padding-top:0;
}
div.tableHeaderPadding{
padding-right:17px;
}
div.tableHeaderNoPadding{
}
div.tableContainerInner{
width: 100%;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
margin: 0 auto;
}

.risktbl {
width: 1000px;
border: 1px solid #999999;
font-family: arial, sans-serif;
font-size: small;
}

risktbl>tbody { /* child selector syntax which IE6 and older do not suppor=
t*/
overflow: auto;
height: 425px;
overflow-x: scroll;
}

thead td {
font-size: 11px;
font-weight: bold;
text-align: center;
background-color: #e2e3e1;
color: #000000;
border-top:1px solid #999999;
position:relative;
top: expression(document.getElementById(“data”).scrollTop-1); /*IE5+ only*/
}

tfoot td {
text-align: center;
font-size: 11px;
font-weight: bold;
background-color: papayawhip;
color: steelblue;
border-top: solid 2px #E1E1E1;

}
td:last-child {

}

.risktbl thead td{
border: 1px solid #999999 !important;
background:#efefef;
height:50px;
}

.risktbl .off {
background-color: #FFFFFF;
}
.risktbl .click {
background-color: #C5CEE2;

}

.risktbl td, .risktbl th {
text-align: left;
border: 1px solid #999999;
}
.risktbl th {
background-color: #E2E3E1;
}

.tbl {
font-family: arial, sans-serif;
font-size: small;
width:100%;
}

.tbl tbody td{
white-space: normal;
text-wrap: normal;
word-wrap: break-word;
}

.tbl thead td{
background:#FFFFFF;
height:50px;
}
.tblsva {
width: auto;
}

.scheduledreportstbl {
width: 800px;
border: none;
border-collapse: collapse;
font-family: arial, sans-serif;
font-size: small;
}

tbl>tbody { /* child selector syntax which IE6 and older do not support*/
overflow: auto;
height: 425px;
overflow-x: scroll;
}

thead td {
font-size: 11px;
font-weight: bold;
text-align: center;
background-color: #e2e3e1;
color: #000000;
border-top:1px solid #999999;
position:relative;
top: expression(document.getElementById(“data”).scrollTop-1); /*IE5+ only*/
}

tfoot td {
text-align: center;
font-size: 11px;
font-weight: bold;
background-color: papayawhip;
color: steelblue;
border-top: solid 2px slategray;

}
td:last-child {

}

.tbl td, .tbl th {
text-align: left;
}
.tbl th {
background-color: #E2E3E1;
}
.tbl .on {
background-color: #FFFFFF;
}
.tbl .off {
background-color: #FFFFFF;
}
.tbl .hover {
background-color: #96a0a9;

}
.tbl .click {
background-color: #ffd77b;
padding-bottom:15px;
padding-right:8px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
}

.tbl a:link, a:active, a:hover, a:visited {
color: #000000;

}

/* this is for the dynamic replacement of selects */

.trigger a {
border: 1px solid #E1E1E1;
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
text-decoration: none;
width: auto;
height: 20px;
background: url(‘../Images/select_arrow_down.png’) right no-repeat #ff=
f;
background-position:98% 50%;
display: block;
overflow: hidden;
padding-right: 20px;
cursor:default;
line-height:20px;
=09=20
}

.triggerDisabled a{
border: 1px solid #E1E1E1;
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #C0C0C0;
text-decoration: none;
width: auto;
height: 20px;
background: url(‘../Images/select_arrow_down_disabled.png’) right no-=
repeat #fff;
display: block;
overflow: hidden;
padding-right: 20px;
cursor:default;
line-height:20px;
}
.triggerDisabled a:hover{
border: 1px solid #E1E1E1;
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #C0C0C0;
text-decoration: none;
width: auto;
height: 20px;
background: url(‘../Images/select_arrow_down_disabled.png’) right no-r=
epeat #fff;
display: block;
overflow: hidden;
padding-right: 20px;
cursor:default;
line-height:20px;
}

=20=20
.activetrigger a {
border: 1px solid #E1E1E1;
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
text-decoration: none;
width: auto;
height: 20px;
display: block;
background: url(‘../Images/select_arrow_up.png’) right no-repeat #ff=
f;
background-position:98% 50%;
overflow: hidden;
padding-right:20px;
cursor:default;
line-height:20px;
}

=20=20

/* style of the UL */

.dropcontainer ul {
background: #ffffff;
border: 1px solid #E1E1E1;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
width: 100%;
list-style-type: none;
padding: 0;
margin:0 -5px 0 0;
position:absolute;
overflow:hidden;
cursor:default;
}

.dropcontainerscroller ul
{
background: #ffffff;
border: 1px solid #E1E1E1;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
width: 100%;
list-style-type: none;
padding: 0;
margin:0 -5px 0 0;
position:absolute;
overflow:auto;
height:75px;
cursor:default;
}

.dropdownhidden {
top:0;
left:-999em;
cursor:default;
}

.dropdownvisible {
top:0;
left:0;
cursor:default;
}

.dropcontainer ul a {
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
display:block;
text-decoration:none;
cursor:default;
}

.dropcontainer ul a:hover {
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainer ul a:focus {
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainer ul a:active {
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainerscroller ul a
{
padding: 0 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
display:block;
text-decoration:none;
cursor:default;
}

.dropcontainerscroller ul a:hover
{
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainerscroller ul a:focus
{
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainerscroller ul a:active
{
background:#ffdd66;
width: auto;
text-decoration: none;
cursor:default;
}

.dropcontainer {
position:relative;
width: auto;
z-index: 50;
cursor:default;
}

.dropcontainerscroller {
position:relative;
width: auto;
z-index: 50;
cursor:default;
}

/* Styles for notification selector */
.listdrop ul
{
list-style-type: none;
padding: 0;
margin:0 0 0 0;
width:auto;
color:Black;
position:absolute;
z-index:100;
background-color:#ffffff;
border: 1px solid #E1E1E1;
}
.listdropitem
{
white-space: nowrap; /* defect 4002851 add this class to display each a=
ction in single line */
}
.listdrop a
{
text-decoration:none;
width:300px;
color:Black;
}

.listdrop a:hover
{
background:#ffdd66;
width:300px;
text-decoration: none;
}

.listdrop a:focus
{
background:#ffdd66;
width:300px;
text-decoration: none;
}
.listdrop a:active
{
background:#ffdd66;
width:300px;
text-decoration: none;
}

/* Styles for tabs */

#menu{padding-left:9px;}

.tab_table_main
{
border-collapse:collapse;
padding:0px;
border-style:none;
height:23px;
}
.tab_table
{
border-collapse:collapse;
border-style:none;
padding:0px;
}
.tab_menu_left
{
width:1px;
}
.tab_menu_right
{
width:1px;
}

.tab_menu_between
{
width:1px;
}
.tab_menu
{
text-decoration: none;
height:23px;
}

.tab_menu a
{
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight:bold;
color: #000000;
text-decoration: none;
background-color:#E1E1E1;
height:23px;
width:auto;
margin-top:8px;
padding-top:3px;
padding-left:5px;
padding-right:5px;
display:block;
line-height:23px;
cursor:hand !important;
vertical-align:middle;
text-align:center;
}
td.tab_menu a:link
{
text-decoration: none;
border-style:none;
}
td.tab_menu a:visited
{
text-decoration: none;
border-style:none;
}

.tab_menu a:hover
{
text-decoration: none;
border-style:none;
}

td.tab_menu a:active
{
text-decoration: none;
border-style:none;
}

td.tab_menu a:focus
{
text-decoration: none;
border-style:none;
}

.tab_menu_active_left
{
width:1px;
}
.tab_menu_active_right
{
width:1px;
}
.tab_menu_active_between
{
width:1px;
}

.tab_menu_active a
{
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight:bold;
color: #000000;
text-decoration: none;
background-color:#FFFFFF;
height:23px;
width:auto;
margin-top:8px;
padding-top:3px;
padding-left:5px;
padding-right:5px;
display:block;
line-height:23px;
cursor:hand !important;
vertical-align:middle;
border-top:1px solid #E1E1E1;
border-left:1px solid #E1E1E1;
border-right:1px solid #E1E1E1;
text-align:center;
}

.tab_menu_active a:hover
{
text-decoration: none;
}

/* Styles for print button */
@media print {
.printButton {
display: none;
}
.printButton a
{
display:none;
}
}

.printButton a
{
font-family: sans-serif;
font-size: 11px;
text-align:center;
color: #000000;
background: url(‘../Images/buttonBlue.png’) center center no-repeat;
padding-top:5px;
text-decoration: none;
height:24px;
width:77px;
border-style:none;
}

.printButton a:link
{
font-family: sans-serif;
font-size: 11px;
text-align:center;
background: url(‘../Images/buttonBlue.png’) center center no-repeat;
padding-top:5px;
text-decoration: none;
height:24px;
width:77px;
border-style:none;
}

.printButton a:visited
{
font-family: sans-serif;
font-size: 11px;
text-align:center;
background: url(‘../Images/buttonBlue.png’) center center no-repeat;
padding-top:5px;
text-decoration: none;
height:24px;
width:77px;
border-style:none;
}

.printButton a:hover
{
font-family: sans-serif;
font-size: 11px;
text-align:center;
background: url(‘../Images/buttonGold.png’) center center no-repeat;
padding-top:5px;
text-decoration: none;
height:24px;
width:77px;
border-style:none;
}

.printButton a:active
{
font-family: sans-serif;
font-size: 11px;
text-align:center;
background: url(‘../Images/buttonBlue.png’) center center no-repeat;
padding-top:5px;
text-decoration: none;
height:24px;
width:77px;
border-style:none;
}

a.bluelink:link{
color: #0076a3;
text-decoration: none;
font-size:10.5px;
}
a.bluelink:visited{
color: #0076a3;
text-decoration: none;
font-size:10.5px;
}
a.bluelink:hover{
color: #00aeef;
text-decoration: underline;
font-size:10.5px;
}

a.blacknotlink:link{
color: #000000;
font-weight: bold;
text-decoration: none;
cursor: default;
}
a.blacknotlink:visited{
color: #000000;
font-weight: bold;
text-decoration: none;
cursor: default;
}
a.blacknotlink:hover{
color: #000000;
font-weight: bold;
text-decoration: none;
cursor: default;
}

a.bluelink2:link{
color: #0076a3;
text-decoration: none;
font-size:10.5px;
}
a.bluelink2:visited{
color: #0076a3;
text-decoration: none;
font-size:10.5px;
}
a.bluelink2:hover{
color: #00aeef;
text-decoration: underline;
font-size:10.5px;
}

form{
margin-bottom: 0px;
margin-top: 0px;
}

table.right_col_filter_table {
margin-left: 30px;
}

input.borderless { border:none }

.scheduledLink { visibility: hidden; }
.liveLink { visibility: visible; }
.scheduledLinkText { visibility: visible; }
.liveLinkText { visibility: hidden; }

.loginalloybutton{white-space:nowrap;}
.loginalloybutton a
{
background-image:url(“../Images/buttonPlainMid.png”);
width:60px;
background-repeat: repeat-x;
text-decoration: none;
cursor: default;
display: table-row-group;
}
.loginalloybutton a:visited{background-image:url(“../Images/buttonPlainMid.=
png”);background-position: bottom;}
.loginalloybutton a:hover{background-image:url(“../Images/buttonGoldMid.png=
“);text-decoration: none;}
.loginbutton{
padding-left:10px;
padding-right:10px;
height: 25px;
border:none;
display: block;
}
.imgmapper{
text-decoration: none;
border:0;
border:none;
}
.align_right a{
float:right;
}

/* this is for the dynamic replacement of selects */

.triggerbold a {
border: 1px solid #E1E1E1;
padding: 2 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
text-decoration: none;
font-weight: bold;
width: auto;
height: 16px;
background: url(‘../Images/select_arrow_down.png’) right no-repeat #f=
ff;
background-position:98% 50%;
display: block;=20=20
padding-right: 20px;
cursor:default;
padding-top: 2px;
}

=20=20

.activetriggerbold a {
border: 1px solid #E1E1E1;
padding: 2 0 0 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
text-decoration: none;
font-weight: bold;
width: auto;
height: 16px;
display: block;
background: url(‘../Images/select_arrow_up.png’) right no-repeat #ff=
f;
background-position:98% 50%;
overflow: hidden;
padding-right:20px;
cursor:default;
padding-top: 2px;
}

=20
a.redlink:link{
color: #FF0000;
text-decoration: none;
}
a.redlink:visited{
color: #FF0000;
text-decoration: none;
}
a.redlink:hover{
color: #FF0000;
text-decoration: underline;
}

/*
Styles for Daily and Weekly reports
*/
td.subreport_title {
background: #ffcb00;
border: 1px solid #ffcb00;
padding: 2px;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
}
td.subreport_chart {
border: 1px solid #ffcb00;
}
td.subreport_rows {
border: 1px solid #ffcb00;
}
th.subreport_tbl_header {
text-align: left !important;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
border-bottom: 1px solid #E1E1E1;
border-top:none;
width: 132px;
max-width: 400px;
}
td.subreport_tbl_col_blue {
background: #F3F3F3;
padding:4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
=09
=09
}
td.subreport_tbl_col_white, td.subreport_tbl_col_white_left {
background: #ffffff;
padding:4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
}
td.subreport_tbl_col_white_left {
text-align: left;
}
table.wb_subreport_tbl{
border-top:1px solid #E1E1E1;
border-left:1px solid #E1E1E1;
border-right:1px solid #E1E1E1;
border-bottom:1px solid #E1E1E1;
border-collapse: collapse;
}
th.wb_subreport_tbl_header_ds {
background: #E1E6EA;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
border-left: 1px solid #E1E1E1;
border-right: 1px solid #E1E1E1;
word-wrap:break-word;
width: 132px;
max-width: 400px;
}
th.wb_subreport_tbl_header {
text-align: left !important;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
border-bottom: 1px solid #E1E1E1;
border-top:none;
width: 132px;
max-width: 400px;
}
td.wb_subreport_tbl_header_expand {
background: #BFC9DF;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
border: 1px solid #E1E1E1;
}
td.wb_subreport_tbl_header_collapse {
background: #C3DDFE;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
border: 1px solid #E1E1E1;
}
td.wb_subreport_tbl_col_blue {
background: #F1F4FA;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align: center;
}
td.wb_subreport_tbl_col_blue_ds {
background: #F1F4FA;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
border-left: 1px solid #E1E1E1;
border-right: 1px solid #E1E1E1;
word-wrap:break-word;
text-align: center;
}
td.wb_subreport_tbl_col_white {
background: #FFFFFF;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align: center;
}
td.wb_subreport_tbl_col_white_ds {
background: #FFFFFF;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
border-left: 1px solid #E1E1E1;
border-right: 1px solid #E1E1E1;
word-wrap:break-word;
text-align: center;
}
table.wb_subreport_tbl_border {
background: #F1F4FA;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
border: 1px solid #E1E1E1;
}

td.subreport_tbl_col_fname {
background: #E1E1E1;
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
max-width: 400px;
border: 1px solid #E1E1E1;
}
td.subreport_tbl_main_header {
background: #FFFFFF;
padding: 2px;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}

td.subreport_tbl_header {
padding: 4px;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
}

td.license_tbl_col_white {
background: #ffffff;
padding-left: 23px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
}

td.license_tbl_col_not_bold {
background: #ffffff;
padding-left: 23px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}

td.license_tbl_col_thrid_level {
background: #ffffff;
padding-left: 47px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
td.license_tbl_col_thrid_level_bold {
background: #ffffff;
padding-left: 47px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
}

td.license_tbl_col_fourth_level {
background: #ffffff;
padding-left: 98px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}

.license_button{
cursor: hand;
width: 132px;
height: 30px;
float: left;
padding-left:8px;
padding-right:8px;
}

.purchase_license_button
{
background: url(“../Images/license_Production.gif”) no-repeat;
padding-left:22px;
padding-top:0px;
width: 140px;
height: 25px;
cursor:default;
border:none;
}

.scheduledLink { visibility: hidden; }
.liveLink { visibility: visible; }
.scheduledLinkText { visibility: visible; }
.liveLinkText { visibility: hidden; }

tr.eps_tbl_row td {
background-color: #FCF8C5;
cursor: pointer;
}

.purchase_license_button

{
background: url(“../Images/license_Production.gif”) no-repeat;
padding-left:22px;
padding-top:0px;
width: 140px;
height: 25px;
cursor:default;
border:none;
}

legend {
color:#000000;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight:bold;
padding-bottom:10px;
}

/** ui refresh changes **/
table.cell_settings{
padding:0;
border-spacing:0;
border:none;
width:100%;
}
table.main_table_padding{
padding: 0px 0px 0px 0px;
}
table.padding_around_widgets{
border-spacing: 5px 10px;
}
td.padding_within_widget{
padding:2px;
}
td.padding_within_widget_right{
padding-right:5px;
}
td.padding_within_widget_bottom{
padding-bottom:2px;
}
td.background_color{
background-color:#FFFFFF;
}
.widget_title{
font-size:13px;
}
td.sub_table_width_Settings{
width:500px;
min-width:425px;
max-width:600px;
}
.tab_background_active{
background-color:#FFFFFF;
height:30px;
font-weight:bold;
width:30%;
}
.tab_background{
background-color:#E1E1E1;
height:30px;
width:70%;
}
.dropdown_styling{
font-weight:bold;
border:1px solid #E1E1E1;
border-width:0;
=20
}

.hidden {
display : none;
}

table.background_color {
background:#FFFFFF;
}=20

.fontlarge {
font-size : 18px;
}

.default_border{
border:1px solid #E1E1E1 !important;
}
.border_bottom{
border-bottom:1px solid #E1E1E1;
}
.border_top{
border-top:1px solid #E1E1E1;
}
.border_left{
border-left:1px solid #E1E1E1;
}.border_right{
border-right:1px solid #E1E1E1;
}

td.extra_padding_within_widget_bottom{
padding-bottom:15px;
}

.left_margin{
margin-left:12px;
}
hr {
display: block;
height: 1px;
border: 0 !important;
background-color:#E1E1E1;
margin: 1em 0;
padding: 0;=20
}
.custom_input_height{
height:22px!important;
}
div.command_container {
width: 841px;=09=09
height: 430px;=20
overflow-y: auto;
overflow-x: auto;
margin: 0 auto;
padding-bottom: 3em;
}
td.view_logs_settings{
padding-bottom:15px;
padding-right:8px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
}
td.view_logs_header_settings{
text-align: left;
border-top:none;
padding-right:25px;
border-bottom:1px solid #E1E1E1;
font-family: Arial, Helvetica, sans-serif;
font-weight:normal;
}
td.view_reports_settings{
padding-bottom:8px;
padding-top:6px;
padding-right:8px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-align:left;
vertical-align:middle;
}
td.view_reports_header_settings{
padding-bottom:7px;
padding-top:6px;
text-align: left;
border-top:none;
padding-right:25px;
border-bottom:1px solid #E1E1E1;
font-weight:bold;
font-family: Arial, Helvetica, sans-serif;
}
.reports_left_margin{
margin-left:0.5px;
}
.filter_item_cell_1{
width:20%;
}

.filter_item_cell_2{
width:65%;
}

.filter_item_cell_2 input{
padding-left:0px;width:100%
}

.filter_item_cell_3{
width:15%;
padding-left:10px;
}
.default_yellow{
background:#fdbb30;
}
.depolyment_title {
padding: 2px;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
}
.reports_left_padding{
padding-left:5px;
}

td.UCDFirstCell {
width : 33%;
}

/*Defines the padding between the two tables/ padding between headers and t=
he start of the table*/
.pepReports_padding_bottom{
padding-bottom:20px;
}

.bottomalign {
vertical-align: bottom;
}
fieldset {
border:0px;
margin-left:5px;
}

.legend_box {
width: 20px;
height: 15px;
}

.cia_psk_usage_report {
padding: 2px;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
padding-bottom:10px;
}

.wss_cia_report_filter tr td:nth-of-type(1){
width:27%;
}

/*********************************=
***********************************************************************
* SYMANTEC: Copyright (c) 2010-2017 Symantec Corporation. All rights r=
eserved.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SYM=
ANTEC CORPORATION. USE,
* DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITT=
EN PERMISSION OF SYMANTEC
* CORPORATION.
*
* The Licensed Software and Documentation are deemed to be commercial comp=
uter software as defined in
* FAR 12.212 and subject to restricted rights as defined in FAR Section 52=
.227-19 “Commercial Computer
* Software – Restricted Rights” and DFARS 227.7202, Rights in “Commercial =
Computer Software or Commercial
* Computer Software Documentation,” as applicable, and any successor regul=
ations, whether delivered by
* Symantec as on premises or hosted services. Any use, modification, repr=
oduction release, performance,
* display or disclosure of the Licensed Software and Documentation by the =
U.S. Government shall be solely
* in accordance with the terms of this Agreement.
**************************************************************************=
******************************/
/* get byte count of a string in UTF-8 */
function getUTF8ByteCount(strText) {
var strEncoded =3D encodeURI(strText);
if (strEncoded.indexOf(‘%’) !=3D -1) {
var nEncodedCount =3D strEncoded.split(‘%’).length – 1;
var nEncodedLength =3D nEncodedCount*3;
var nRegularLength =3D strEncoded.length – nEncodedLength;
return nRegularLength + nEncodedCount;
} else {
return strText.length;
}
}

//For IE display:block is needed
// For Firefox & Safari, display:table-row is needed
function toggle(totoggle, arrow_image_id) {
var rows =3D document.getElementsByTagName(“tr”);
var arrow_img =3D document.getElementById(arrow_image_id);

// Change the arrow
var changeToExpand =3D 0;
if(arrow_img && arrow_img.alt =3D=3D document.getElementById(‘expand_imag=
e_res’).alt) {
arrow_img.src =3D document.getElementById(‘collapse_image_res’).src;
arrow_img.alt =3D document.getElementById(‘collapse_image_res’).alt;
arrow_img.title =3D document.getElementById(‘collapse_image_res’).title;
changeToExpand =3D 0;
} else {
arrow_img.src =3D document.getElementById(‘expand_image_res’).src;
arrow_img.alt =3D document.getElementById(‘expand_image_res’).alt;
arrow_img.title =3D document.getElementById(‘expand_image_res’).title;
changeToExpand =3D 1;
}

for(var i =3D 0 ; i 0 || (!!navigator.user=
Agent.match(/Trident\/7\./))) {
newstyle =3D ‘block’;
}
if(changeToExpand =3D=3D 1){
elementstyle.display =3D newstyle;
}else{
elementstyle.display =3D ‘none’;
}
}
}
}

function toggleViz() {
var myul =3D document.getElementById(‘divClosed’);
if (myul.style.visibility=3D=3D’hidden’) {

myul.style.visibility=3D’visible’;
} else {

myul.style.visibility=3D’hidden’;
}
}

function toggleVisibility(id) {
var myul =3D document.getElementById(id);
if (myul.style.visibility=3D=3D’hidden’) {

myul.style.visibility=3D’visible’;
} else {

myul.style.visibility=3D’hidden’;
}
}

function makeInvisible(tag) {
document.getElementById(tag).style.visibility=3D’hidden’;

}

function byteTruncate(strText, nMaxByteLength) {
var strOkay =3D “”;
var Char;
var nByteLength =3D 0;

for (i =3D 0; i nMaxByteLength) {
break;
}
strOkay +=3D Char;
}

return strOkay;
}

function lengthTruncate(strText, nMaxLength) {
var strOkay =3D “”;
var Char;
var nLength =3D 0;

for (i =3D 0; i nMaxLength) {
break;
}
strOkay +=3D Char;
}

return strOkay;
}
/*This function checks if the title being passed on to the alert window is =
null and sets the appropriate title*/
function validate_Title_For_Alert_Window(title, type){
if(type =3D=3D ‘error’ && title =3D=3D ”){
title =3D I18n.ERROR_TITLE;
}
else if(type =3D=3D ‘info’ && title =3D=3D ” ){
title =3D I18n.INFORMATION_TITLE;
}
else if((type =3D=3D ‘question’ || type =3D=3D’okcancel’) && title =3D=3D =
”){
title =3D I18n.QUESTION_TITLE;
}
else if(type =3D=3D ‘warning’ && title =3D=3D ” ){
title =3D I18n.WARNING_TITLE;
}
return title;
}

/* this extends the base msgbox command */
function msgboxEx (msgObject) {
if (!window.jfx){
if(msgObject.type =3D=3D ‘question’ || msgObject.type =3D=3D ‘okcancel’){
var msg =3D msgObject.msg.replace(/&#0*39;/g, “‘”);
if(window.confirm(msg,”unadorned:yes;help:no;status:no;dialogHeight:200p=
x;dialogWidth:250px;center=3Dyes;scroll:no;resizable:yes”)){
return true;
}
return false;
}
else{
var msg =3D msgObject.msg.replace(/>/g,’>’).replace(/&#0*39;/g, “‘”);
window.alert(msg,”unadorned:yes;help:no;status:no;dialogHeight:200px;dia=
logWidth:250px;center=3Dyes;scroll:no;resizable:yes”);
}
}
else{
return window.jfx.modalAlert(msgObject.title, msgObject.msg, msgObj=
ect.type);
}
}

function dontremindboxEx (msgObject) {
return window.showModalDialog(“../Util/mbox.php”, msgObject, “unadorned:ye=
s;help:no;status:no;dialogHeight:200px;dialogWidth:350px;center=3Dyes;scrol=
l:no;resizable:yes”);
}

/* type can be “error” or “info” or “warning” */
function msgbox(title, msg, type) {
var msgObject =3D new Object();
msgObject.title =3D validate_Title_For_Alert_Window(title, type);
msgObject.msg =3D msg;
msgObject.type =3D type;

msgboxEx(msgObject);
}

function msgboxParent(title, msg, type, parent) {
var msgObject =3D new Object();
msgObject.title =3D validate_Title_For_Alert_Window(title, type);
msgObject.msg =3D msg;
msgObject.type =3D type;
=20=20=20
if(msgObject.type =3D=3D ‘question’ || msgObject.type =3D=3D ‘okcancel’){
=09=09
var msg =3D msgObject.msg.replace(/&#0*39;/g, “‘”);
=09=09
if(parent.confirm(msg,”unadorned:yes;help:no;status:no;dialogHeight:200px=
;dialogWidth:250px;center=3Dyes;scroll:no;resizable:yes”)){
return true;
}
=09=09
return false;
}
else{
var msg =3D msgObject.msg.replace(/>/g,’>’).replace(/&#0*39;/g, “‘”);
parent.alert(msg,”unadorned:yes;help:no;status:no;dialogHeight:200px;dial=
ogWidth:250px;center=3Dyes;scroll:no;resizable:yes”);
}
=09
}

/* type “question” */
function questionbox(title, msg) {
var msgObject =3D new Object();
msgObject.title =3D validate_Title_For_Alert_Window(title, “question”);
msgObject.msg =3D msg;
msgObject.type =3D “question”;

return msgboxEx(msgObject);
}

/* type “okcancel” */
function okcancelbox(title, msg) {
var msgObject =3D new Object();
msgObject.title =3D validate_Title_For_Alert_Window(title, “okcancel”);
msgObject.msg =3D msg;
msgObject.type =3D “okcancel”;

return msgboxEx(msgObject);
}

/* type “dontremind” */
function dontremindbox(title, msg) {
var msgObject =3D new Object();
msgObject.title =3D validate_Title_For_Alert_Window(title, “question”);
msgObject.msg =3D msg;
msgObject.type =3D “question”;

return msgboxEx(msgObject);
}

function changeLogType(value) {

if (value=3D=3D”FIREWALL”) {
document.FirewallForm.submit();

} else if (value=3D=3D”SCANS”) {
document.ScanForm.submit();

} else if (value=3D=3D”RISKS”) {
document.RiskForm.submit();
} else if (value=3D=3D”INVENTORY”) {
document.InventoryForm.submit();
} else if (value=3D=3D”COMPLIANCE”) {
document.ComplianceForm.submit();
} else if (value=3D=3D”AUDIT”) {
document.AuditForm.submit();
} else if (value=3D=3D”SYSTEM”) {
document.SystemForm.submit();
} else if (value=3D=3D”BEHAVIOR”) {
document.BehaviorForm.submit();
} else if (value=3D=3D”DECEPTION”) {
document.DeceptionForm.submit();

} else if (value=3D=3D”PROACTIVEDETECTIONS”){
document.ProactiveForm.submit();
}
}

function trim(text) {
var trimmed =3D text;
while (trimmed.substring(0,1) =3D=3D ‘ ‘ || trimmed.substring(0,1) =3D=
=3D ‘\t’) trimmed =3D trimmed.substring(1);
while (
trimmed.substring(trimmed.length-1,trimmed.length) =3D=3D ‘ ‘ ||
trimmed.substring(trimmed.length-1,trimmed.length) =3D=3D ‘\t’) tri=
mmed =3D trimmed.substring(0,trimmed.length-1);
return trimmed;
}

function PageCancelEdits() {

document.FilterForm.reset();

}
function isGoodPath(path) {
var invalidChars =3D “\”?*|”;
var Char;

for (i =3D 0; i < path.length; i++) {
Char =3D path.charAt(i);
if (invalidChars.indexOf(Char) !=3D -1) {
return false;
}

if (Char =3D=3D ':' && i !=3D 1) {
return false;
}
}

return true;
}

function isNumeric(widget, defaultWidget) {
sText =3D widget.value;

var ValidChars =3D "0123456789";
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D "") IsNumber =3D false;

for (i =3D 0; i < sText.length && IsNumber =3D=3D true; i++) {
Char =3D sText.charAt(i);
if (ValidChars.indexOf(Char) =3D=3D -1) {
IsNumber =3D false;
break;
}
}

if(!IsNumber) {
msgbox("", I18n.MUST_BE_NUMERIC, "error");
// restore the value from the default widget
if(defaultWidget)
widget.value=3Ddocument.getElementById(defaultWidget).value;
else
widget.value=3D'0';
widget.focus();

return false;
}

// save the value to the default widget
if(defaultWidget && widget.value !=3D '')
document.getElementById(defaultWidget).value =3D widget.value;

return true;
}

function isGoodDate(widget, dateSeparator, dateFormat, idx, postfix) {

sText =3D widget.value;
var ValidChars =3D "0123456789" + dateSeparator;

var IsNumber=3Dtrue;
var Char;

for (i =3D 0; i < sText.length && IsNumber =3D=3D true; i++) {
Char =3D sText.charAt(i);
if (IsNumber=3D=3Dfalse) {
break;
}
if (ValidChars.indexOf(Char) =3D=3D -1) {
IsNumber =3D false;
break;
}

if (dateFormat =3D=3D "DMY" || dateFormat=3D=3D"MDY") {
if (i=3D=3D2 || i=3D=3D5) {
if (dateSeparator.indexOf(Char)=3D=3D-1) {
IsNumber=3Dfalse;
break;
}
}
} else if (dateFormat=3D=3D"YMD") {
if (i=3D=3D4 || i =3D=3D7 ){
if (dateSeparator.indexOf(Char)=3D=3D-1) {
IsNumber=3Dfalse;
break;
}
}
}
}

// Following RegEx addresses a need lacking in previous version of isGoo=
dDate function:
if (dateFormat =3D=3D 'DMY' || dateFormat =3D=3D 'MDY') {

var objRegExp =3D /^\d{1,2}(\-|\/|\.|,)\d{1,2}\1\d{4}$/;

//check to see if in correct format
if(!objRegExp.test(sText)) {
IsNumber =3D false; //doesn't match pattern, bad date
} else {
IsNumber =3D true;
formatted_date =3D '';
for (var i =3D 0; i < sText.length; i++) {
c =3D sText.charAt(i);
if (isNaN(c)) {
formatted_date +=3D dateSeparator;
} else {
formatted_date +=3D c + ''; // do not delete the empty s=
tring. Needed for casting to a string in case we have a leading zero!
}
}
var monthLeadingZeroRegExp =3D /^\d{1}(\-|\/|\.|,)\d{1,2}\1\d{4=
}$/;
if (monthLeadingZeroRegExp.test(formatted_date)) {
formatted_date =3D "0" + formatted_date;
}
var dateLeadingZeroRegExp =3D /^\d{1,2}(\-|\/|\.|,)\d{1}\1\d{4}$=
/;
if (dateLeadingZeroRegExp.test(formatted_date)) {
arr =3D formatted_date.split(dateSeparator);
m =3D arr[0];
d =3D '0' + arr[1];
y =3D arr[2];
formatted_date =3D m + dateSeparator + d + dateSeparator + y=
+ ''; // do not delete the empty string. Needed for casting to a string!
}
sText =3D formatted_date;
widget.value =3D sText;
}
}

if (!IsNumber) {
msgbox("", I18n.MUST_BE_VALID_DATE_FORMAT, "error");
}

// update no matter what — must fix date otherwise user cannot click on=
calendar widget to pick a new date
updateDate(idx, postfix, dateFormat, dateSeparator);

// give user a chance to pick new date
if (!IsNumber) {
widget.focus();
return false;
}

return true;
}

function isNumericRange(widget,minval,maxval,defaultvalue){
sText =3D widget.value;
=20=20=20
//defect 3380688
//Judge if the "Backspace" key is clicked
if (event !=3D null) {
if (event.keyCode =3D=3D 8) {
return true;
}
}
=20=20=20
var ValidChars =3D "0123456789";
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D "") IsNumber =3D false;

for (i =3D 0; i < sText.length && IsNumber =3D=3D true; i++) {
Char =3D sText.charAt(i);
if (ValidChars.indexOf(Char) =3D=3D -1) {
IsNumber =3D false;
break;
}
}

if(!IsNumber) {
msgbox("", I18n.MUST_BE_NUMERIC, "error");
// restore the value from the default widget
widget.value=3Ddefaultvalue;
widget.focus();
return false;
}

if(widget.value !=3D'' && (widget.valuemaxval)){
msgbox(”, I18n.MUST_BE_BETWEEN_0_AND_999, ‘error’);
widget.value=3Ddefaultvalue;
widget.focus();
return false;
}

return true;
}

function isNumericNotZero(widget, defaultWidget) {
sText =3D widget.value;

var ValidChars =3D “0123456789”;
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D “”) IsNumber =3D false;

for (i =3D 0; i 0) {
IsNumber =3D false;
break;
}
if (i =3D=3D 0) {
if ( (Char =3D=3D ‘0’) && (sText.length >=3D 1) ) {
IsNumber =3D false;
break;
}
}

}

if(!IsNumber) {
msgbox(“”, I18n.MUST_BE_POSITIVE_NUMERIC_GREATER_ZERO, “error”);
// restore the value from the default widget
if(defaultWidget)
widget.value=3Ddocument.getElementById(defaultWidget).value;
else
widget.value=3D’1′;
widget.focus();

return false;
}

// save the value to the default widget
if(defaultWidget && widget.value !=3D ”)
document.getElementById(defaultWidget).value =3D widget.value;

return true;
}

function isPositiveNumeric(widget, defaultWidget) {
sText =3D widget.value;

var ValidChars =3D “0123456789”;
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D “”) IsNumber =3D false;

for (i =3D 0; i 0) {
IsNumber =3D false;
break;
}
if (i =3D=3D 0) {
if ( (Char =3D=3D ‘0’) && (sText.length >=3D 1) ) {
IsNumber =3D false;
break;
}
}
}

if(!IsNumber) {
msgbox(“”, I18n.MUST_BE_POSITIVE_NUMERIC_GREATER_ZERO, “error”);

// restore the value from the default widget
if(defaultWidget)
widget.value=3Ddocument.getElementById(defaultWidget).value;
else
widget.value=3D’1′;
widget.focus();

return false;
}

// save the value to the default widget
if(defaultWidget && widget.value !=3D ”)
document.getElementById(defaultWidget).value =3D widget.value;

return true;
}
function isPositiveNumericOrAsterisk(widget, defaultWidget) {
sText =3D widget.value;

var ValidChars =3D “0123456789*”;
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D “”) IsNumber =3D false;

for (i =3D 0; i 0) {
IsNumber =3D false;
break;
}
if (i =3D=3D 0) {
if ( (Char =3D=3D ‘0’) && (sText.length >=3D 1) ) {
IsNumber =3D false;
break;
}
}
if (sText.length > 1 && sText.indexOf(‘*’) >=3D 0) {
IsNumber =3D false;
break;
}
}

if(!IsNumber) {
msgbox(“”, I18n.MUST_BE_POSITIVE_NUMERIC_GREATER_ZERO_OR_ASTERISK, “e=
rror”);

// restore the value from the default widget
if(defaultWidget)
widget.value=3Ddocument.getElementById(defaultWidget).value;
else
widget.value=3D’*’;
widget.focus();

return false;
}

// save the value to the default widget
if(defaultWidget && widget.value !=3D ”)
document.getElementById(defaultWidget).value =3D widget.value;

return true;
}
// special case for integer fields of Firewall Reports
function isPositiveSpecialCharacter(widget, defaultWidget) {
sText =3D widget.value;

var ValidChars =3D “0123456789* “;
var IsNumber=3Dtrue;
var Char;
=20=20=20
if(sText =3D=3D “”) IsNumber =3D false;

for (i =3D 0; i 1) ) {
IsNumber =3D false;
break;
}
}

if (sText.length > 1 && sText.indexOf(‘*’) >=3D 0) {
IsNumber =3D false;
break;
}
}

if(IsNumber && sText > 65535) {
IsNumber =3D false;
}

if(!IsNumber) {
msgbox(“”, I18n.MUST_BE_POSITIVE_SPECIALCHAR, “error”);
// restore the value from the default widget
if(defaultWidget)
widget.value=3Ddocument.getElementById(defaultWidget).value;
else
widget.value=3D’*’;
widget.focus();

return false;
}

// save the value to the default widget
if(defaultWidget && widget.value !=3D ”)
document.getElementById(defaultWidget).value =3D widget.value;

return true;
}

function isValidInputCustom(widget, validChars, errorMsg, nMaxByteLength) {
var inText =3D widget.value;
var outText =3D “”;

if (validChars=3D=3D”PASS_ALL”) {
return true;
}

var bCharsRemoved =3D false;

for (i =3D 0; i < inText.length; i++) {
Char =3D inText.charAt(i);
if (validChars.indexOf(Char) !=3D -1) {
outText +=3D Char;
} else {
bCharsRemoved =3D true;
}
}

if(bCharsRemoved) {
msgbox("", errorMsg, "warning");
}

// set new value
widget.value =3D outText;

// DO NOT VALIDATE WILDCARD IP FILTER FIELDS HERE UNLESS YOU CAN HANDLE =
INPUT LIKE 1??.2* or 1*2*0

checkMaxBytes(widget, nMaxByteLength);

return true;
}

/////////////////////////////////
// Validates the email address)es) //
/////////////////////////////////
function validateEmail(element,bValidateEmail) {
var bIsInvalidChar =3D validateEmailChars(element);
var emailstr =3D element.value;
if(bValidateEmail){
//no email available
if( emailstr.length 1 ) {
strErr =3D I18n.SR_VALID_MULTI_EMAIL;
}
if(bValidateEmail){
var emailPattern =3D /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]+$/;
=09
for (i =3D 0; i < myemail_array.length;i++) {
testEmail =3D TrimUsingRecursion(myemail_array[i]);
=20=20=20=20=20=20=20
bIsValidEmail =3D emailPattern.test(testEmail);
if(!bIsValidEmail) {
break;
}
}
}
//either invalid email or invaild character
if(!bIsValidEmail || bIsInvalidChar){
//contain both invalid email and characters
if(!bIsValidEmail && bIsInvalidChar){
msgbox(I18n.INVALID_EMAIL_TITLE, I18n.SR_VALID_MULTI_EMAIL_CHARACTER, =
'error');
}else if(bIsInvalidChar){
//Only invalid characters
msgbox(I18n.INVALID_EMAIL_TITLE, I18n.INVALID_CHARACTERS_HAVE_BEEN_REMO=
VED, 'error');
}else {
//only in vlaid email
msgbox(I18n.INVALID_EMAIL_TITLE, strErr, 'error');
}
return false;
}
return true;
}

function validateEmailChars(element) {
var text =3D element.value;
var newText =3D "";
var bInvalidChars =3D false;

var ValidChars =3D "-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO=
PQRSTUVWXYZ_@.\n\r,;";

for (i =3D 0; i < text.length; i++) {
Char =3D text.charAt(i);
if (ValidChars.indexOf(Char) !=3D -1) {
newText +=3D Char;
} else {
bInvalidChars =3D true;
}
}

// Remove the , or ; from the start of the line
newText =3D newText.replace(/^(,|;)+/,'');
// Remove the , or ; from the end of the line
newText =3D newText.replace(/(,|;)+$/,'');
// Remove the repeated , or ; from the string
newText =3D newText.replace(/(,|;)(,|;)+/,',');

element.value =3D newText;
return bInvalidChars;
}

// This function uses recursion
function TrimUsingRecursion(str)
{ if(str.charAt(0) =3D=3D " ")
{ str =3D TrimUsingRecursion(str.substring(1));
}
if (str.charAt(str.length-1) =3D=3D " ")
{ str =3D TrimUsingRecursion(str.substring(0,str.length-1));
}
return str;
}

// the validation rule is the same with policy creation in policy tab.
function validatePolicyName(obj) {
obj.value =3D obj.value.replace(/[/\\*?|:\”]/g,”);
}

// Use this function if window.showModalDialog does not work. This function=
opens a popup window using the url and places it in the center of screen.
function OpenWindow(url,width,height){
var left =3D window.screenX + (window.outerWidth / 2) – (width / 2);
var top =3D window.screenY + (window.outerHeight / 2) – (height / 2);
var targetWin;
if( !window.jfx )
{
targetWin =3D window.open(url,”, ‘status=3Dno,width=3D’+ width +’,height=
=3D’+ height +’,center=3Dyes,scrollbars=3Dno,resizable=3Dno, top=3D’ + top =
+ ‘, left=3D’ + left);
}
else
{
targetWin =3D window.jfx.dialog(url, “”, width, height, -1, -1, null, win=
dow, true);
}
targetWin.focus();
return targetWin;
}

// Fix for Etrack 3956480 (IP address validation not proper)
// Use this function to validate IPV4 or IPV6 IP Address
function validate_IPV4_V6_Address(ip, errmsg) {

//defect 4131603: trim() not supported in some IE
//ip =3D ip.trim();
ip =3D trim(ip);

// This will just skips IP filter
if (ip =3D=3D=3D ‘*’ || ip =3D=3D=3D ”)
return true;
if (ip.indexOf(‘.’) > -1 || ip.indexOf(‘:’) > -1) {
// IPV4 and V6 regular expresssion checker.
matchIP =3D ip
.match(/^(([0-9\*]|[1-9\*][0-9\*]|[1\*][0-9\*]{2}|2[0-4\*][0-9\*]|25[0-=
5\*])\.){3}([0-9\*]|[1-9\*][0-9\*]|[1\*][0-9\*]{2}|2[0-4\*][0-9\*]|25[0-5\*=
])$|^((([0-9A-Fa-f\*]{1,4}:){7}([0-9A-Fa-f\*]{1,4}|:))|(([0-9A-Fa-f\*]{1,4}=
:){6}(:[0-9A-Fa-f\*]{1,4}|((25[0-5\*]|2[0-4\*][0-9\*]|[1\*][\d\*][\d\*]|[1-=
9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\*]))=
{3})|:))|(([0-9A-Fa-f\*]{1,4}:){5}(((:[0-9A-Fa-f\*]{1,4}){1,2})|:((25[0-5\*=
]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d=
\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\*])){3})|:))|(([0-9A-Fa-f\*]{1,4}:){4}(((=
:[0-9A-Fa-f\*]{1,4}){1,3})|((:[0-9A-Fa-f\*]{1,4})?:((25[0-5\*]|2[0-4\*][\d\=
*]|1[\d\*][\d\*]|[1-9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*[\d\=
*]|[1-9\*]?[\d\*])){3}))|:))|(([0-9A-Fa-f\*]{1,4}:){3}(((:[0-9A-Fa-f\*]{1,4=
}){1,4})|((:[0-9A-Fa-f\*]{1,4}){0,2}:((25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*[=
\d\*]|[1-9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]=
?[\d\*])){3}))|:))|(([0-9A-Fa-f\*]{1,4}:){2}(((:[0-9A-Fa-f\*]{1,4}){1,5})|(=
(:[0-9A-Fa-f\*]{1,4}){0,3}:((25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-=
9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\*]))=
{3}))|:))|(([0-9A-Fa-f\*]{1,4}:){1}(((:[0-9A-Fa-f\*]{1,4}){1,6})|((:[0-9A-F=
a-f\*]{1,4}){0,4}:((25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\=
*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[1\*][\d\*[\d\*]|[1-9\*]?[\d\*])){3}))|:))|=
(:(((:[0-9A-Fa-f\*]{1,4}){1,7})|((:[0-9A-Fa-f\*]{1,4}){0,5}:((25[0-5\*]|2[0=
-4\*][\d\*]|[1\*][\d\*][\d\*]|[1-9\*]?[\d\*])(\.(25[0-5\*]|2[0-4\*][\d\*]|[=
1\*][\d\*][\d\*]|[1-9\*]?[\d\*])){3}))|:)))$/)
if (matchIP) {
return true;
}
}
msgbox(“”, errmsg, “warning”);
return false;
}
// https://d3js.org Version 4.11.0. Copyright 2017 Mike Bostock.
(function(t,n){“object”=3D=3Dtypeof exports&&”undefined”!=3Dtypeof module?n=
(exports):”function”=3D=3Dtypeof define&&define.amd?define([“exports”],n):n=
(t.d3=3Dt.d3||{})})(this,function(t){“use strict”;function n(t){return func=
tion(n,e){return ls(t(n),e)}}function e(t,n){return[t,n]}function r(t,n,e){=
var r=3D(n-t)/Math.max(0,e),i=3DMath.floor(Math.log(r)/Math.LN10),o=3Dr/Mat=
h.pow(10,i);return i>=3D0?(o>=3Dks?10:o>=3DSs?5:o>=3DEs?2:1)*Math.pow(10,i)=
:-Math.pow(10,-i)/(o>=3Dks?10:o>=3DSs?5:o>=3DEs?2:1)}function i(t,n,e){var =
r=3DMath.abs(n-t)/Math.max(0,e),i=3DMath.pow(10,Math.floor(Math.log(r)/Math=
.LN10)),o=3Dr/i;return o>=3Dks?i*=3D10:o>=3DSs?i*=3D5:o>=3DEs&&(i*=3D2),n<t=
?-i:i}function o(t){return t.length}function u(t){return"translate("+(t+.5)=
+",0)"}function a(t){return"translate(0,"+(t+.5)+")"}function c(t){return f=
unction(n){return+t(n)}}function s(t){var n=3DMath.max(0,t.bandwidth()-1)/2=
;return t.round()&&(n=3DMath.round(n)),function(e){return+t(e)+n}}function =
f(){return!this.__axis}function l(t,n){function e(e){var u=3Dnull=3D=3Di?n.=
ticks?n.ticks.apply(n,r):n.domain():i,a=3Dnull=3D=3Do?n.tickFormat?n.tickFo=
rmat.apply(n,r):Us:o,g=3DMath.max(l,0)+p,y=3Dn.range(),m=3D+y[0]+.5,x=3D+y[=
y.length-1]+.5,b=3D(n.bandwidth?s:c)(n.copy()),w=3De.selection?e.selection(=
):e,M=3Dw.selectAll(".domain").data([null]),T=3Dw.selectAll(".tick").data(u=
,n).order(),N=3DT.exit(),k=3DT.enter().append("g").attr("class","tick"),S=
=3DT.select("line"),E=3DT.select("text");M=3DM.merge(M.enter().insert("path=
",".tick").attr("class","domain").attr("stroke","#000")),T=3DT.merge(k),S=
=3DS.merge(k.append("line").attr("stroke","#000").attr(v+"2",d*l)),E=3DE.me=
rge(k.append("text").attr("fill","#000").attr(v,d*g).attr("dy",t=3D=3D=3DDs=
?"0em":t=3D=3D=3DFs?"0.71em":"0.32em")),e!=3D=3Dw&&(M=3DM.transition(e),T=
=3DT.transition(e),S=3DS.transition(e),E=3DE.transition(e),N=3DN.transition=
(e).attr("opacity",Ys).attr("transform",function(t){return isFinite(t=3Db(t=
))?_(t):this.getAttribute("transform")}),k.attr("opacity",Ys).attr("transfo=
rm",function(t){var n=3Dthis.parentNode.__axis;return _(n&&isFinite(n=3Dn(t=
))?n:b(t))})),N.remove(),M.attr("d",t=3D=3D=3DIs||t=3D=3DOs?"M"+d*h+","+m+"=
H0.5V"+x+"H"+d*h:"M"+m+","+d*h+"V0.5H"+x+"V"+d*h),T.attr("opacity",1).attr(=
"transform",function(t){return _(b(t))}),S.attr(v+"2",d*l),E.attr(v,d*g).te=
xt(a),w.filter(f).attr("fill","none").attr("font-size",10).attr("font-famil=
y","sans-serif").attr("text-anchor",t=3D=3D=3DOs?"start":t=3D=3D=3DIs?"end"=
:"middle"),w.each(function(){this.__axis=3Db})}var r=3D[],i=3Dnull,o=3Dnull=
,l=3D6,h=3D6,p=3D3,d=3Dt=3D=3D=3DDs||t=3D=3D=3DIs?-1:1,v=3Dt=3D=3D=3DIs||t=
=3D=3D=3DOs?"x":"y",_=3Dt=3D=3D=3DDs||t=3D=3D=3DFs?u:a;return e.scale=3Dfun=
ction(t){return arguments.length?(n=3Dt,e):n},e.ticks=3Dfunction(){return r=
=3Dqs.call(arguments),e},e.tickArguments=3Dfunction(t){return arguments.len=
gth?(r=3Dnull=3D=3Dt?[]:qs.call(t),e):r.slice()},e.tickValues=3Dfunction(t)=
{return arguments.length?(i=3Dnull=3D=3Dt?null:qs.call(t),e):i&&i.slice()},=
e.tickFormat=3Dfunction(t){return arguments.length?(o=3Dt,e):o},e.tickSize=
=3Dfunction(t){return arguments.length?(l=3Dh=3D+t,e):l},e.tickSizeInner=3D=
function(t){return arguments.length?(l=3D+t,e):l},e.tickSizeOuter=3Dfunctio=
n(t){return arguments.length?(h=3D+t,e):h},e.tickPadding=3Dfunction(t){retu=
rn arguments.length?(p=3D+t,e):p},e}function h(){for(var t,n=3D0,e=3Dargume=
nts.length,r=3D{};n=3D0&&(e=3Dt.slice(r+1),t=3Dt.slice(0,r)),t&&!n.hasO=
wnProperty(t))throw new Error(“unknown type: “+t);return{type:t,name:e}})}f=
unction v(t,n){for(var e,r=3D0,i=3Dt.length;r<i;++r)if((e=3Dt[r]).name=3D=
=3D=3Dn)return e.value}function _(t,n,e){for(var r=3D0,i=3Dt.length;r=3D0&&(n=3Dt.slice(e+1),t=3Dt.slice(0,e)),{type:t,name:=
n}})}function T(t){return function(){var n=3Dthis.__on;if(n){for(var e,r=3D=
0,i=3D-1,o=3Dn.length;r<o;++r)e=3Dn[r],t.type&&e.type!=3D=3Dt.type||e.name!=
=3D=3Dt.name?n[++i]=3De:this.removeEventListener(e.type,e.listener,e.captur=
e);++i?n.length=3Di:delete this.__on}}}function N(t,n,e){var r=3DQs.hasOwnP=
roperty(t.type)?b:w;return function(i,o,u){var a,c=3Dthis.__on,s=3Dr(n,o,u)=
;if(c)for(var f=3D0,l=3Dc.length;f<l;++f)if((a=3Dc[f]).type=3D=3D=3Dt.type&=
&a.name=3D=3D=3Dt.name)return this.removeEventListener(a.type,a.listener,a.=
capture),this.addEventListener(a.type,a.listener=3Ds,a.capture=3De),void(a.=
value=3Dn);this.addEventListener(t.type,s,e),a=3D{type:t.type,name:t.name,v=
alue:n,listener:s,capture:e},c?c.push(a):this.__on=3D[a]}}function k(n,e,r,=
i){var o=3Dt.event;n.sourceEvent=3Dt.event,t.event=3Dn;try{return e.apply(r=
,i)}finally{t.event=3Do}}function S(){}function E(){return[]}function A(t,n=
){this.ownerDocument=3Dt.ownerDocument,this.namespaceURI=3Dt.namespaceURI,t=
his._next=3Dnull,this._parent=3Dt,this.__data__=3Dn}function C(t,n,e,r,i,o)=
{for(var u,a=3D0,c=3Dn.length,s=3Do.length;a<s;++a)(u=3Dn[a])?(u.__data__=
=3Do[a],r[a]=3Du):e[a]=3Dnew A(t,o[a]);for(;a<c;++a)(u=3Dn[a])&&(i[a]=3Du)}=
function z(t,n,e,r,i,o,u){var a,c,s,f=3D{},l=3Dn.length,h=3Do.length,p=3Dne=
w Array(l);for(a=3D0;a<l;++a)(c=3Dn[a])&&(p[a]=3Ds=3Daf+u.call(c,c.__data__=
,a,n),s in f?i[a]=3Dc:f[s]=3Dc);for(a=3D0;a<h;++a)(c=3Df[s=3Daf+u.call(t,o[=
a],a,o)])?(r[a]=3Dc,c.__data__=3Do[a],f[s]=3Dnull):e[a]=3Dnew A(t,o[a]);for=
(a=3D0;a<l;++a)(c=3Dn[a])&&f[p[a]]=3D=3D=3Dc&&(i[a]=3Dc)}function P(t,n){re=
turn tn?1:t>=3Dn?0:NaN}function R(t){return function(){this.removeA=
ttribute(t)}}function L(t){return function(){this.removeAttributeNS(t.space=
,t.local)}}function q(t,n){return function(){this.setAttribute(t,n)}}functi=
on U(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}functio=
n D(t,n){return function(){var e=3Dn.apply(this,arguments);null=3D=3De?this=
.removeAttribute(t):this.setAttribute(t,e)}}function O(t,n){return function=
(){var e=3Dn.apply(this,arguments);null=3D=3De?this.removeAttributeNS(t.spa=
ce,t.local):this.setAttributeNS(t.space,t.local,e)}}function F(t){return fu=
nction(){this.style.removeProperty(t)}}function I(t,n,e){return function(){=
this.style.setProperty(t,n,e)}}function Y(t,n,e){return function(){var r=3D=
n.apply(this,arguments);null=3D=3Dr?this.style.removeProperty(t):this.style=
.setProperty(t,r,e)}}function B(t,n){return t.style.getPropertyValue(n)||cf=
(t).getComputedStyle(t,null).getPropertyValue(n)}function j(t){return funct=
ion(){delete this[t]}}function H(t,n){return function(){this[t]=3Dn}}functi=
on X(t,n){return function(){var e=3Dn.apply(this,arguments);null=3D=3De?del=
ete this[t]:this[t]=3De}}function $(t){return t.trim().split(/^|\s+/)}funct=
ion V(t){return t.classList||new W(t)}function W(t){this._node=3Dt,this._na=
mes=3D$(t.getAttribute(“class”)||””)}function Z(t,n){for(var e=3DV(t),r=3D-=
1,i=3Dn.length;++r<i;)e.add(n[r])}function G(t,n){for(var e=3DV(t),r=3D-1,i=
=3Dn.length;++r>8&15|n>>4&240,n>>4&15|240&n,(15&n)<>16&255,t>>8&255,255&t,1)}function kt(t,n,e,r){return r<=3D0&&(t=3Dn=3De=
=3DNaN),new At(t,n,e,r)}function St(t){return t instanceof Mt||(t=3DTt(t)),=
t?(t=3Dt.rgb(),new At(t.r,t.g,t.b,t.opacity)):new At}function Et(t,n,e,r){r=
eturn 1=3D=3D=3Darguments.length?St(t):new At(t,n,e,null=3D=3Dr?1:r)}functi=
on At(t,n,e,r){this.r=3D+t,this.g=3D+n,this.b=3D+e,this.opacity=3D+r}functi=
on Ct(t,n,e,r){return r<=3D0?t=3Dn=3De=3DNaN:e=3D1?t=3Dn=3DNaN:n<=
=3D0&&(t=3DNaN),new Rt(t,n,e,r)}function zt(t){if(t instanceof Rt)return ne=
w Rt(t.h,t.s,t.l,t.opacity);if(t instanceof Mt||(t=3DTt(t)),!t)return new R=
t;if(t instanceof Rt)return t;var n=3D(t=3Dt.rgb()).r/255,e=3Dt.g/255,r=3Dt=
.b/255,i=3DMath.min(n,e,r),o=3DMath.max(n,e,r),u=3DNaN,a=3Do-i,c=3D(o+i)/2;=
return a?(u=3Dn=3D=3D=3Do?(e-r)/a+6*(e<r):e=3D=3D=3Do?(r-n)/a+2:(n-e)/a+4,a=
/=3Dc0&&c<1?0:u,new Rt(u,a,c,t.opacity)}functi=
on Pt(t,n,e,r){return 1=3D=3D=3Darguments.length?zt(t):new Rt(t,n,e,null=3D=
=3Dr?1:r)}function Rt(t,n,e,r){this.h=3D+t,this.s=3D+n,this.l=3D+e,this.opa=
city=3D+r}function Lt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:tUf?Math.pow(t,1/3):t/qf+Rf}function Ft(t){ret=
urn t>Lf?t*t*t:qf*(t-Rf)}function It(t){return 255*(t<=3D.0031308?12.92*t:1=
.055*Math.pow(t,1/2.4)-.055)}function Yt(t){return(t/=3D255)<=3D.04045?t/12=
.92:Math.pow((t+.055)/1.055,2.4)}function Bt(t){if(t instanceof Ht)return n=
ew Ht(t.h,t.c,t.l,t.opacity);t instanceof Dt||(t=3Dqt(t));var n=3DMath.atan=
2(t.b,t.a)*Af;return new Ht(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.op=
acity)}function jt(t,n,e,r){return 1=3D=3D=3Darguments.length?Bt(t):new Ht(=
t,n,e,null=3D=3Dr?1:r)}function Ht(t,n,e,r){this.h=3D+t,this.c=3D+n,this.l=
=3D+e,this.opacity=3D+r}function Xt(t){if(t instanceof Vt)return new Vt(t.h=
,t.s,t.l,t.opacity);t instanceof At||(t=3DSt(t));var n=3Dt.r/255,e=3Dt.g/25=
5,r=3Dt.b/255,i=3D(Hf*r+Bf*n-jf*e)/(Hf+Bf-jf),o=3Dr-i,u=3D(Yf*(e-i)-Ff*o)/I=
f,a=3DMath.sqrt(u*u+o*o)/(Yf*i*(1-i)),c=3Da?Math.atan2(u,o)*Af-120:NaN;retu=
rn new Vt(c180||e<-180?=
e-360*Math.round(e/360):e):Kf(isNaN(t)?n:t)}function Qt(t){return 1=3D=3D(t=
=3D+t)?Kt:function(n,e){return e-n?Gt(n,e,t):Kf(isNaN(n)?e:n)}}function Kt(=
t,n){var e=3Dn-t;return e?Zt(t,e):Kf(isNaN(t)?n:t)}function tn(t){return fu=
nction(n){var e,r,i=3Dn.length,o=3Dnew Array(i),u=3Dnew Array(i),a=3Dnew Ar=
ray(i);for(e=3D0;e180?n+=3D360:n-t>180&&(t+=3D360),o.push({i=
:e.push(i(e)+”rotate(“,null,r)-2,x:ol(t,n)})):n&&e.push(i(e)+”rotate(“+n+r)=
}function a(t,n,e,o){t!=3D=3Dn?o.push({i:e.push(i(e)+”skewX(“,null,r)-2,x:o=
l(t,n)}):n&&e.push(i(e)+”skewX(“+n+r)}function c(t,n,e,r,o,u){if(t!=3D=3De|=
|n!=3D=3Dr){var a=3Do.push(i(o)+”scale(“,null,”,”,null,”)”);u.push({i:a-4,x=
:ol(t,e)},{i:a-2,x:ol(n,r)})}else 1=3D=3D=3De&&1=3D=3D=3Dr||o.push(i(o)+”sc=
ale(“+e+”,”+r+”)”)}return function(n,e){var r=3D[],i=3D[];return n=3Dt(n),e=
=3Dt(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),u(n.rota=
te,e.rotate,r,i),a(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scal=
eY,r,i),n=3De=3Dnull,function(t){for(var n,e=3D-1,o=3Di.length;++e=3D0&&n._call.call(null,t),n=3Dn._next;–Nl}funct=
ion _n(){Cl=3D(Al=3DPl.now())+zl,Nl=3Dkl=3D0;try{vn()}finally{Nl=3D0,yn(),C=
l=3D0}}function gn(){var t=3DPl.now(),n=3Dt-Al;n>El&&(zl-=3Dn,Al=3Dt)}funct=
ion yn(){for(var t,n,e=3DZf,r=3D1/0;e;)e._call?(r>e._time&&(r=3De._time),t=
=3De,e=3De._next):(n=3De._next,e._next=3Dnull,e=3Dt?t._next=3Dn:Zf=3Dn);Gf=
=3Dt,mn(r)}function mn(t){Nl||(kl&&(kl=3DclearTimeout(kl)),t-Cl>24?(tDl)throw new Error(“too late”=
);return e}function bn(t,n){var e=3Dt.__transition;if(!e||!(e=3De[n])||e.st=
ate>Fl)throw new Error(“too late”);return e}function wn(t,n){var e=3Dt.__tr=
ansition;if(!e||!(e=3De[n]))throw new Error(“too late”);return e}function M=
n(t,n,e){function r(c){var s,f,l,h;if(e.state!=3D=3DOl)return o();for(s in =
a)if((h=3Da[s]).name=3D=3D=3De.name){if(h.state=3D=3D=3DIl)return Ll(r);h.s=
tate=3D=3D=3DYl?(h.state=3Djl,h.timer.stop(),h.on.call(“interrupt”,t,t.__da=
ta__,h.index,h.group),delete a[s]):+s<n&&(h.state=3Djl,h.timer.stop(),delet=
e a[s])}if(Ll(function(){e.state=3D=3D=3DIl&&(e.state=3DYl,e.timer.restart(=
i,e.delay,e.time),i(c))}),e.state=3DFl,e.on.call("start",t,t.__data__,e.ind=
ex,e.group),e.state=3D=3D=3DFl){for(e.state=3DIl,u=3Dnew Array(l=3De.tween.=
length),s=3D0,f=3D-1;s<l;++s)(h=3De.tween[s].value.call(t,t.__data__,e.inde=
x,e.group))&&(u[++f]=3Dh);u.length=3Df+1}}function i(n){for(var r=3Dn<e.dur=
ation?e.ease.call(null,n/e.duration):(e.timer.restart(o),e.state=3DBl,1),i=
=3D-1,a=3Du.length;++i<a;)u[i].call(null,r);e.state=3D=3D=3DBl&&(e.on.call(=
"end",t,t.__data__,e.index,e.group),o())}function o(){e.state=3Djl,e.timer.=
stop(),delete a[n];for(var r in a)return;delete t.__transition}var u,a=3Dt.=
__transition;a[n]=3De,e.timer=3Ddn(function(t){e.state=3DOl,e.timer.restart=
(r,e.delay,e.time),e.delay<=3Dt&&r(t-e.delay)},0,e.time)}function Tn(t,n){v=
ar e,r;return function(){var i=3Dbn(this,t),o=3Di.tween;if(o!=3D=3De)for(va=
r u=3D0,a=3D(r=3De=3Do).length;u<a;++u)if(r[u].name=3D=3D=3Dn){(r=3Dr.slice=
()).splice(u,1);break}i.tween=3Dr}}function Nn(t,n,e){var r,i;if("function"=
!=3Dtypeof e)throw new Error;return function(){var o=3Dbn(this,t),u=3Do.twe=
en;if(u!=3D=3Dr){i=3D(r=3Du).slice();for(var a=3D{name:n,value:e},c=3D0,s=
=3Di.length;c=3D0&&(t=3Dt.slice(0,n)),!t||”start”=3D=3D=3Dt})}function Yn(t,n,e=
){var r,i,o=3DIn(n)?xn:bn;return function(){var u=3Do(this,t),a=3Du.on;a!=
=3D=3Dr&&(i=3D(r=3Da).copy()).on(n,e),u.on=3Di}}function Bn(t){return funct=
ion(){var n=3Dthis.parentNode;for(var e in this.__transition)if(+e!=3D=3Dt)=
return;n&&n.removeChild(this)}}function jn(t,n){var e,r,i;return function()=
{var o=3DB(this,t),u=3D(this.style.removeProperty(t),B(this,t));return o=3D=
=3D=3Du?null:o=3D=3D=3De&&u=3D=3D=3Dr?i:i=3Dn(e=3Do,r=3Du)}}function Hn(t){=
return function(){this.style.removeProperty(t)}}function Xn(t,n,e){var r,i;=
return function(){var o=3DB(this,t);return o=3D=3D=3De?null:o=3D=3D=3Dr?i:i=
=3Dn(r=3Do,e)}}function $n(t,n,e){var r,i,o;return function(){var u=3DB(thi=
s,t),a=3De(this);return null=3D=3Da&&(this.style.removeProperty(t),a=3DB(th=
is,t)),u=3D=3D=3Da?null:u=3D=3D=3Dr&&a=3D=3D=3Di?o:o=3Dn(r=3Du,i=3Da)}}func=
tion Vn(t,n,e){function r(){var r=3Dthis,i=3Dn.apply(r,arguments);return i&=
&function(n){r.style.setProperty(t,i(n),e)}}return r._value=3Dn,r}function =
Wn(t){return function(){this.textContent=3Dt}}function Zn(t){return functio=
n(){var n=3Dt(this);this.textContent=3Dnull=3D=3Dn?””:n}}function Gn(t,n,e,=
r){this._groups=3Dt,this._parents=3Dn,this._name=3De,this._id=3Dr}function =
Jn(t){return dt().transition(t)}function Qn(){return++Wl}function Kn(t){ret=
urn((t*=3D2)<=3D1?t*t:–t*(2-t)+1)/2}function te(t){return((t*=3D2)<=3D1?t*=
t*t:(t-=3D2)*t*t+2)/2}function ne(t){return(1-Math.cos(Kl*t))/2}function ee=
(t){return((t*=3D2)<=3D1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}funct=
ion re(t){return((t*=3D2)<=3D1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=3D2)*t)+1=
)/2}function ie(t){return(t=3D+t)<nh?fh*t*t:t<rh?fh*(t-=3Deh)*t+ih:tMath.abs(t[1]-U[1])?b=3D!0:x=3D!0),U=3Dt,m=3D=
!0,wh(),o()}function o(){var t;switch(g=3DU[0]-q[0],y=3DU[1]-q[1],T){case T=
h:case Mh:N&&(g=3DMath.max(C-a,Math.min(P-p,g)),s=3Da+g,d=3Dp+g),k&&(y=3DMa=
th.max(z-l,Math.min(R-v,y)),h=3Dl+y,_=3Dv+y);break;case Nh:N0&&(g=3DMath.max(C-p,Math.min(P-p,g=
)),s=3Da,d=3Dp+g),k0=
&&(y=3DMath.max(z-v,Math.min(R-v,y)),h=3Dl,_=3Dv+y);break;case kh:N&&(s=3DM=
ath.max(C,Math.min(P,a-g*N)),d=3DMath.max(C,Math.min(P,p+g*N))),k&&(h=3DMat=
h.max(z,Math.min(R,l-y*k)),_=3DMath.max(z,Math.min(R,v+y*k)))}d<s&&(N*=3D-1=
,t=3Da,a=3Dp,p=3Dt,t=3Ds,s=3Dd,d=3Dt,M in zh&&F.attr("cursor",Ch[M=3Dzh[M]]=
)),_<h&&(k*=3D-1,t=3Dl,l=3Dv,v=3Dt,t=3Dh,h=3D_,_=3Dt,M in Ph&&F.attr("curso=
r",Ch[M=3DPh[M]])),S.selection&&(A=3DS.selection),x&&(s=3DA[0][0],d=3DA[1][=
0]),b&&(h=3DA[0][1],_=3DA[1][1]),A[0][0]=3D=3D=3Ds&&A[0][1]=3D=3D=3Dh&&A[1]=
[0]=3D=3D=3Dd&&A[1][1]=3D=3D=3D_||(S.selection=3D[[s,h],[d,_]],r.call(w),D.=
brush())}function u(){if(ue(),t.event.touches){if(t.event.touches.length)re=
turn;c&&clearTimeout(c),c=3DsetTimeout(function(){c=3Dnull},500),O.on("touc=
hmove.brush touchend.brush touchcancel.brush",null)}else _t(t.event.view,m)=
,I.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.att=
r("pointer-events","all"),F.attr("cursor",Ch.overlay),S.selection&&(A=3DS.s=
election),le(A)&&(S.selection=3Dnull,r.call(w)),D.end()}if(t.event.touches)=
{if(t.event.changedTouches.length<t.event.touches.length)return wh()}else i=
f(c)return;if(f.apply(this,arguments)){var a,s,l,h,p,d,v,_,g,y,m,x,b,w=3Dth=
is,M=3Dt.event.target.__data__.type,T=3D"selection"=3D=3D=3D(t.event.metaKe=
y?M=3D"overlay":M)?Mh:t.event.altKey?kh:Nh,N=3Dn=3D=3D=3DEh?null:Rh[M],k=3D=
n=3D=3D=3DSh?null:Lh[M],S=3Dfe(w),E=3DS.extent,A=3DS.selection,C=3DE[0][0],=
z=3DE[0][1],P=3DE[1][0],R=3DE[1][1],L=3DN&&k&&t.event.shiftKey,q=3Dnf(w),U=
=3Dq,D=3Di(w,arguments).beforestart();"overlay"=3D=3D=3DM?S.selection=3DA=
=3D[[a=3Dn=3D=3D=3DEh?C:q[0],l=3Dn=3D=3D=3DSh?z:q[1]],[p=3Dn=3D=3D=3DEh?P:a=
,v=3Dn=3D=3D=3DSh?R:l]]:(a=3DA[0][0],l=3DA[0][1],p=3DA[1][0],v=3DA[1][1]),s=
=3Da,h=3Dl,d=3Dp,_=3Dv;var O=3Dff(w).attr("pointer-events","none"),F=3DO.se=
lectAll(".overlay").attr("cursor",Ch[M]);if(t.event.touches)O.on("touchmove=
.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var I=3Dff(t=
.event.view).on("keydown.brush",function(){switch(t.event.keyCode){case 16:=
L=3DN&&k;break;case 18:T=3D=3D=3DNh&&(N&&(p=3Dd-g*N,a=3Ds+g*N),k&&(v=3D_-y*=
k,l=3Dh+y*k),T=3Dkh,o());break;case 32:T!=3D=3DNh&&T!=3D=3Dkh||(N0&&(a=3Ds-g),k0&&(l=3Dh-y),T=3DTh,F.attr(“cursor”,Ch.select=
ion),o());break;default:return}wh()},!0).on(“keyup.brush”,function(){switch=
(t.event.keyCode){case 16:L&&(x=3Db=3DL=3D!1,o());break;case 18:T=3D=3D=3Dk=
h&&(N0&&(a=3Ds),k0&&(l=3Dh),T=3DNh,o());break;case 32=
:T=3D=3D=3DTh&&(t.event.altKey?(N&&(p=3Dd-g*N,a=3Ds+g*N),k&&(v=3D_-y*k,l=3D=
h+y*k),T=3Dkh):(N0&&(a=3Ds),k0&&(l=3Dh),T=3DNh),F.att=
r(“cursor”,Ch[M]),o());break;default:return}wh()},!0).on(“mousemove.brush”,=
e,!0).on(“mouseup.brush”,u,!0);pf(t.event.view)}ue(),Xl(w),r.call(w),D.star=
t()}}function a(){var t=3Dthis.__brush||{selection:null};return t.extent=3D=
s.apply(this,arguments),t.dim=3Dn,t}var c,s=3Dse,f=3Dce,l=3Dh(e,”start”,”br=
ush”,”end”),p=3D6;return e.move=3Dfunction(t,e){t.selection?t.on(“start.bru=
sh”,function(){i(this,arguments).beforestart().start()}).on(“interrupt.brus=
h end.brush”,function(){i(this,arguments).end()}).tween(“brush”,function(){=
function t(t){u.selection=3D1=3D=3D=3Dt&&le(s)?null:f(t),r.call(o),a.brush(=
)}var o=3Dthis,u=3Do.__brush,a=3Di(o,arguments),c=3Du.selection,s=3Dn.input=
(“function”=3D=3Dtypeof e?e.apply(this,arguments):e,u.extent),f=3Dfl(c,s);r=
eturn c&&s?t:t(1)}):t.each(function(){var t=3Dthis,o=3Darguments,u=3Dt.__br=
ush,a=3Dn.input(“function”=3D=3Dtypeof e?e.apply(t,o):e,u.extent),c=3Di(t,o=
).beforestart();Xl(t),u.selection=3Dnull=3D=3Da||le(a)?null:a,r.call(t),c.s=
tart().brush().end()})},o.prototype=3D{beforestart:function(){return 1=3D=
=3D++this.active&&(this.state.emitter=3Dthis,this.starting=3D!0),this},star=
t:function(){return this.starting&&(this.starting=3D!1,this.emit(“start”)),=
this},brush:function(){return this.emit(“brush”),this},end:function(){retur=
n 0=3D=3D–this.active&&(delete this.state.emitter,this.emit(“end”)),this},=
emit:function(t){k(new bh(e,t,n.output(this.state.selection)),l.apply,l,[t,=
this.that,this.args])}},e.extent=3Dfunction(t){return arguments.length?(s=
=3D”function”=3D=3Dtypeof t?t:xh([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]])=
,e):s},e.filter=3Dfunction(t){return arguments.length?(f=3D”function”=3D=3D=
typeof t?t:xh(!!t),e):f},e.handleSize=3Dfunction(t){return arguments.length=
?(p=3D+t,e):p},e.on=3Dfunction(){var t=3Dl.on.apply(l,arguments);return t=
=3D=3D=3Dl?e:t},e}function pe(t){return function(n,e){return t(n.source.val=
ue+n.target.value,e.source.value+e.target.value)}}function de(){this._x0=3D=
this._y0=3Dthis._x1=3Dthis._y1=3Dnull,this._=3D””}function ve(){return new =
de}function _e(t){return t.source}function ge(t){return t.target}function y=
e(t){return t.radius}function me(t){return t.startAngle}function xe(t){retu=
rn t.endAngle}function be(){}function we(t,n){var e=3Dnew be;if(t instanceo=
f be)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=3D=
-1,o=3Dt.length;if(null=3D=3Dn)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e=
.set(n(r=3Dt[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}fun=
ction Me(){return{}}function Te(t,n,e){t[n]=3De}function Ne(){return we()}f=
unction ke(t,n,e){t.set(n,e)}function Se(){}function Ee(t,n){var e=3Dnew Se=
;if(t instanceof Se)t.each(function(t){e.add(t)});else if(t){var r=3D-1,i=
=3Dt.length;if(null=3D=3Dn)for(;++r<i;)e.add(t[r]);else for(;++r=3D(o=3D(v+g)/2))?v=3Do:g=3Do,(f=3De>=3D(u=3D(_+y)/2))?_=3Du:y=3Du,i=
=3Dp,!(p=3Dp[l=3Df<=3D(o=3D(v+g)/2))?v=3Do:g=3Do,(f=3De>=3D(u=3D(_+y)/2))?_=3Du:y=3Du}whi=
le((l=3Df<=3Du)<=3Do));return i[h]=3Dp,i[l]=3Dd,t}f=
unction Re(t){return t[0]}function Le(t){return t[1]}function qe(t,n,e){var=
r=3Dnew Ue(null=3D=3Dn?Re:n,null=3D=3De?Le:e,NaN,NaN,NaN,NaN);return null=
=3D=3Dt?r:r.addAll(t)}function Ue(t,n,e,r,i,o){this._x=3Dt,this._y=3Dn,this=
._x0=3De,this._y0=3Dr,this._x1=3Di,this._y1=3Do,this._root=3Dvoid 0}functio=
n De(t){for(var n=3D{data:t.data},e=3Dn;t=3Dt.next;)e=3De.next=3D{data:t.da=
ta};return n}function Oe(t){return t.x+t.vx}function Fe(t){return t.y+t.vy}=
function Ie(t){return t.index}function Ye(t,n){var e=3Dt.get(n);if(!e)throw=
new Error(“missing: “+n);return e}function Be(t){return t.x}function je(t)=
{return t.y}function He(t){return new Xe(t)}function Xe(t){if(!(n=3Dwp.exec=
(t)))throw new Error(“invalid format: “+t);var n,e=3Dn[1]||” “,r=3Dn[2]||”>=
“,i=3Dn[3]||”-“,o=3Dn[4]||””,u=3D!!n[5],a=3Dn[6]&&+n[6],c=3D!!n[7],s=3Dn[8]=
&&+n[8].slice(1),f=3Dn[9]||””;”n”=3D=3D=3Df?(c=3D!0,f=3D”g”):bp[f]||(f=3D””=
),(u||”0″=3D=3D=3De&&”=3D”=3D=3D=3Dr)&&(u=3D!0,e=3D”0″,r=3D”=3D”),this.fill=
=3De,this.align=3Dr,this.sign=3Di,this.symbol=3Do,this.zero=3Du,this.width=
=3Da,this.comma=3Dc,this.precision=3Ds,this.type=3Df}function $e(n){return =
Mp=3Dkp(n),t.format=3DMp.format,t.formatPrefix=3DMp.formatPrefix,Mp}functio=
n Ve(){this.reset()}function We(t,n,e){var r=3Dt.s=3Dn+e,i=3Dr-n,o=3Dr-i;t.=
t=3Dn-o+(e-i)}function Ze(t){return t>1?0:t1?ld:t<-1?-ld:Math.asin(t)}function Je(t){return(t=3DTd(t/2))*t=
}function Qe(){}function Ke(t,n){t&&Ad.hasOwnProperty(t.type)&&Ad[t.type](t=
,n)}function tr(t,n,e){var r,i=3D-1,o=3Dt.length-e;for(n.lineStart();++i<o;=
)r=3Dt[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function nr(t,n){var e=3D-1,r=
=3Dt.length;for(n.polygonStart();++e=3D0?1:-1,i=3Dr*e,o=
=3Dmd(n),u=3DTd(n),a=3Dqp*u,c=3DLp*o+a*md(i),s=3Da*r*Td(i);zd.add(yd(s,c)),=
Rp=3Dt,Lp=3Do,qp=3Du}function ur(t){return[yd(t[1],t[0]),Ge(t[2])]}function=
ar(t){var n=3Dt[0],e=3Dt[1],r=3Dmd(e);return[r*md(n),r*Td(n),Td(e)]}functi=
on cr(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function sr(t,n){return[t[1=
]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function fr(t,n){=
t[0]+=3Dn[0],t[1]+=3Dn[1],t[2]+=3Dn[2]}function lr(t,n){return[t[0]*n,t[1]*=
n,t[2]*n]}function hr(t){var n=3Dkd(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=3D=
n,t[1]/=3Dn,t[2]/=3Dn}function pr(t,n){Hp.push(Xp=3D[Up=3Dt,Op=3Dt]),nFp&&(Fp=3Dn)}function dr(t,n){var e=3Dar([t*vd,n*vd]);if(jp){var=
r=3Dsr(jp,e),i=3Dsr([r[1],-r[0],0],r);hr(i),i=3Dur(i);var o,u=3Dt-Ip,a=3Du=
>0?1:-1,c=3Di[0]*dd*a,s=3D_d(u)>180;s^(a*Ip<c&&cFp&&(Fp=
=3Do):(c=3D(c+360)%360-180,s^(a*Ip<c&&c<a*t)?(o=3D-i[1]*dd)<Dp&&(Dp=3Do):(n=
Fp&&(Fp=3Dn))),s?txr(Up,Op)&&(Op=3Dt):xr(t,Op)=
>xr(Up,Op)&&(Up=3Dt):Op>=3DUp?(tOp&&(Op=3Dt)):t>Ip?xr(Up,t)=
>xr(Up,Op)&&(Op=3Dt):xr(t,Op)>xr(Up,Op)&&(Up=3Dt)}else Hp.push(Xp=3D[Up=3Dt=
,Op=3Dt]);nFp&&(Fp=3Dn),jp=3De,Ip=3Dt}function vr(){qd.poin=
t=3Ddr}function _r(){Xp[0]=3DUp,Xp[1]=3DOp,qd.point=3Dpr,jp=3Dnull}function=
gr(t,n){if(jp){var e=3Dt-Ip;Ld.add(_d(e)>180?e+(e>0?360:-360):e)}else Yp=
=3Dt,Bp=3Dn;Rd.point(t,n),dr(t,n)}function yr(){Rd.lineStart()}function mr(=
){gr(Yp,Bp),Rd.lineEnd(),_d(Ld)>sd&&(Up=3D-(Op=3D180)),Xp[0]=3DUp,Xp[1]=3DO=
p,jp=3Dnull}function xr(t,n){return(n-=3Dt)<0?n+360:n}function br(t,n){retu=
rn t[0]-n[0]}function wr(t,n){return t[0]<=3Dt[1]?t[0]<=3Dn&&n<=3Dt[1]:n<t[=
0]||t[1]fd?t-pd:tfd?n-pd:n0?io)&&(i+=3Dr*pd));for(var s,f=3Di;r>0?f>o:f<o;f-=3Dc)s=
=3Dur([u,-a*md(f),-a*Td(f)]),t.point(s[0],s[1])}}function Fr(t,n){(n=3Dar(n=
))[0]-=3Dt,hr(n);var e=3DZe(-n[1]);return((-n[2]<0?-e:e)+pd-sd)%pd}function=
Ir(t,n,e,r){this.x=3Dt,this.z=3Dn,this.o=3De,this.e=3Dr,this.v=3D!1,this.n=
=3Dthis.p=3Dnull}function Yr(t){if(n=3Dt.length){for(var n,e,r=3D0,i=3Dt[0]=
;++r1}function jr(t,n){return((t=3Dt.x)[0]<0?t[1]-ld-sd:ld-t[1=
])-((n=3Dn.x)[0]sd?gd((Td(n)*(o=3Dmd(r))*Td(e)-Td(r)*(i=3Dmd(n))*Td(t))/(=
i*o*u)):(n+r)/2}function Xr(t,n,e,r){function i(i,o){return t<=3Di&&i<=3De&=
&n<=3Do&&o<=3Dr}function o(i,o,a,s){var f=3D0,l=3D0;if(null=3D=3Di||(f=3Du(=
i,a))!=3D=3D(l=3Du(o,a))||c(i,o)0)do{s.point(0=3D=3D=3Df||3=3D=3D=3Df?=
t:e,f>1?r:n)}while((f=3D(f+a+4)%4)!=3D=3Dl);else s.point(o[0],o[1])}functio=
n u(r,i){return _d(r[0]-t)0?0:3:_d(r[0]-e)0?2:1:_d(r[1]-n)0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=3Du(=
t,1),r=3Du(n,1);return e!=3D=3Dr?e-r:0=3D=3D=3De?n[1]-t[1]:1=3D=3D=3De?t[0]=
-n[0]:2=3D=3D=3De?t[1]-n[1]:n[0]-t[0]}return function(u){function c(t,n){i(=
t,n)&&w.point(t,n)}function s(){for(var n=3D0,e=3D0,i=3Dh.length;e<i;++e)fo=
r(var o,u,a=3Dh[e],c=3D1,s=3Da.length,f=3Da[0],l=3Df[0],p=3Df[1];c<s;++c)o=
=3Dl,u=3Dp,l=3D(f=3Da[c])[0],p=3Df[1],ur&&(l-o)*(r-u)>(p-u)*(t-o)&&=
++n:p<=3Dr&&(l-o)*(r-u)<(p-u)*(t-o)&&–n;return n}function f(o,u){var a=3Di=
(o,u);if(h&&p.push([o,u]),x)d=3Do,v=3Du,_=3Da,x=3D!1,a&&(w.lineStart(),w.po=
int(o,u));else if(a&&m)w.point(o,u);else{var c=3D[g=3DMath.max(av,Math.min(=
uv,g)),y=3DMath.max(av,Math.min(uv,y))],s=3D[o=3DMath.max(av,Math.min(uv,o)=
),u=3DMath.max(av,Math.min(uv,u))];ov(c,s,t,n,e,r)?(m||(w.lineStart(),w.poi=
nt(c[0],c[1])),w.point(s[0],s[1]),a||w.lineEnd(),b=3D!1):a&&(w.lineStart(),=
w.point(o,u),b=3D!1)}g=3Do,y=3Du,m=3Da}var l,h,p,d,v,_,g,y,m,x,b,w=3Du,M=3D=
Jd(),T=3D{point:c,lineStart:function(){T.point=3Df,h&&h.push(p=3D[]),x=3D!0=
,m=3D!1,g=3Dy=3DNaN},lineEnd:function(){l&&(f(d,v),_&&m&&M.rejoin(),l.push(=
M.result())),T.point=3Dc,m&&w.lineEnd()},polygonStart:function(){w=3DM,l=3D=
[],h=3D[],b=3D!0},polygonEnd:function(){var t=3Ds(),n=3Db&&t,e=3D(l=3DPs(l)=
).length;(n||e)&&(u.polygonStart(),n&&(u.lineStart(),o(null,null,1,u),u.lin=
eEnd()),e&&Kd(l,a,t,o,u),u.polygonEnd()),w=3Du,l=3Dh=3Dp=3Dnull}};return T}=
}function $r(){sv.point=3Dsv.lineEnd=3DQe}function Vr(t,n){Fd=3Dt*=3Dvd,Id=
=3DTd(n*=3Dvd),Yd=3Dmd(n),sv.point=3DWr}function Wr(t,n){t*=3Dvd;var e=3DTd=
(n*=3Dvd),r=3Dmd(n),i=3D_d(t-Fd),o=3Dmd(i),u=3Dr*Td(i),a=3DYd*e-Id*r*o,c=3D=
Id*e+Yd*r*o;cv.add(yd(kd(u*u+a*a),c)),Fd=3Dt,Id=3De,Yd=3Dr}function Zr(t,n)=
{return!(!t||!vv.hasOwnProperty(t.type))&&vv[t.type](t,n)}function Gr(t,n){=
return 0=3D=3D=3Dpv(t,n)}function Jr(t,n){var e=3Dpv(t[0],t[1]);return pv(t=
[0],n)+pv(n,t[1])sd}).map(f)).con=
cat(Ns(xd(a/v)*v,u,v).filter(function(t){return _d(t%g)>sd}).map(l))}var e,=
r,i,o,u,a,c,s,f,l,h,p,d=3D10,v=3Dd,_=3D90,g=3D360,y=3D2.5;return t.lines=3D=
function(){return n().map(function(t){return{type:”LineString”,coordinates:=
t}})},t.outline=3Dfunction(){return{type:”Polygon”,coordinates:[h(o).concat=
(p(c).slice(1),h(i).reverse().slice(1),p(s).reverse().slice(1))]}},t.extent=
=3Dfunction(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.ex=
tentMinor()},t.extentMajor=3Dfunction(n){return arguments.length?(o=3D+n[0]=
[0],i=3D+n[1][0],s=3D+n[0][1],c=3D+n[1][1],o>i&&(n=3Do,o=3Di,i=3Dn),s>c&&(n=
=3Ds,s=3Dc,c=3Dn),t.precision(y)):[[o,s],[i,c]]},t.extentMinor=3Dfunction(n=
){return arguments.length?(r=3D+n[0][0],e=3D+n[1][0],a=3D+n[0][1],u=3D+n[1]=
[1],r>e&&(n=3Dr,r=3De,e=3Dn),a>u&&(n=3Da,a=3Du,u=3Dn),t.precision(y)):[[r,a=
],[e,u]]},t.step=3Dfunction(n){return arguments.length?t.stepMajor(n).stepM=
inor(n):t.stepMinor()},t.stepMajor=3Dfunction(n){return arguments.length?(_=
=3D+n[0],g=3D+n[1],t):[_,g]},t.stepMinor=3Dfunction(n){return arguments.len=
gth?(d=3D+n[0],v=3D+n[1],t):[d,v]},t.precision=3Dfunction(n){return argumen=
ts.length?(y=3D+n,f=3Dni(a,u,90),l=3Dei(r,e,y),h=3Dni(s,c,90),p=3Dei(o,i,y)=
,t):y},t.extentMajor([[-180,-90+sd],[180,90-sd]]).extentMinor([[-180,-80-sd=
],[180,80+sd]])}function ii(){mv.point=3Doi}function oi(t,n){mv.point=3Dui,=
Bd=3DHd=3Dt,jd=3DXd=3Dn}function ui(t,n){yv.add(Xd*t-Hd*n),Hd=3Dt,Xd=3Dn}fu=
nction ai(){ui(Bd,jd)}function ci(t,n){Nv+=3Dt,kv+=3Dn,++Sv}function si(){L=
v.point=3Dfi}function fi(t,n){Lv.point=3Dli,ci(Wd=3Dt,Zd=3Dn)}function li(t=
,n){var e=3Dt-Wd,r=3Dn-Zd,i=3Dkd(e*e+r*r);Ev+=3Di*(Wd+t)/2,Av+=3Di*(Zd+n)/2=
,Cv+=3Di,ci(Wd=3Dt,Zd=3Dn)}function hi(){Lv.point=3Dci}function pi(){Lv.poi=
nt=3Dvi}function di(){_i($d,Vd)}function vi(t,n){Lv.point=3D_i,ci($d=3DWd=
=3Dt,Vd=3DZd=3Dn)}function _i(t,n){var e=3Dt-Wd,r=3Dn-Zd,i=3Dkd(e*e+r*r);Ev=
+=3Di*(Wd+t)/2,Av+=3Di*(Zd+n)/2,Cv+=3Di,zv+=3D(i=3DZd*t-Wd*n)*(Wd+t),Pv+=3D=
i*(Zd+n),Rv+=3D3*i,ci(Wd=3Dt,Zd=3Dn)}function gi(t){this._context=3Dt}funct=
ion yi(t,n){Yv.point=3Dmi,Uv=3DOv=3Dt,Dv=3DFv=3Dn}function mi(t,n){Ov-=3Dt,=
Fv-=3Dn,Iv.add(kd(Ov*Ov+Fv*Fv)),Ov=3Dt,Fv=3Dn}function xi(){this._string=3D=
[]}function bi(t){return”m0,”+t+”a”+t+”,”+t+” 0 1,1 0,”+-2*t+”a”+t+”,”+t+” =
0 1,1 0,”+2*t+”z”}function wi(t){return function(n){var e=3Dnew Mi;for(var =
r in t)e[r]=3Dt[r];return e.stream=3Dn,e}}function Mi(){}function Ti(t,n,e)=
{var r=3Dn[1][0]-n[0][0],i=3Dn[1][1]-n[0][1],o=3Dt.clipExtent&&t.clipExtent=
();t.scale(150).translate([0,0]),null!=3Do&&t.clipExtent(null),Cd(e,t.strea=
m(Tv));var u=3DTv.result(),a=3DMath.min(r/(u[1][0]-u[0][0]),i/(u[1][1]-u[0]=
[1])),c=3D+n[0][0]+(r-a*(u[1][0]+u[0][0]))/2,s=3D+n[0][1]+(i-a*(u[1][1]+u[0=
][1]))/2;return null!=3Do&&t.clipExtent(o),t.scale(150*a).translate([c,s])}=
function Ni(t,n,e){return Ti(t,[[0,0],n],e)}function ki(t){return wi({point=
:function(n,e){n=3Dt(n,e),this.stream.point(n[0],n[1])}})}function Si(t,n){=
function e(r,i,o,u,a,c,s,f,l,h,p,d,v,_){var g=3Ds-r,y=3Df-i,m=3Dg*g+y*y;if(=
m>4*n&&v–){var x=3Du+h,b=3Da+p,w=3Dc+d,M=3Dkd(x*x+b*b+w*w),T=3DGe(w/=3DM),=
N=3D_d(_d(w)-1)<sd||_d(o-l)n||_d((g*A+y*C)/m-.5)>.3||u*h+a*p+c*d2?t[2]%360*vd:0,i()):[b*dd,w*dd,M*dd]},n.p=
recision=3Dfunction(t){return arguments.length?(A=3DHv(r,E=3Dt*t),o()):kd(E=
)},n.fitExtent=3Dfunction(t,e){return Ti(n,t,e)},n.fitSize=3Dfunction(t,e){=
return Ni(n,t,e)},function(){return u=3Dt.apply(this,arguments),n.invert=3D=
u.invert&&e,i()}}function zi(t){var n=3D0,e=3Dfd/3,r=3DCi(t),i=3Dr(n,e);ret=
urn i.parallels=3Dfunction(t){return arguments.length?r(n=3Dt[0]*vd,e=3Dt[1=
]*vd):[n*dd,e*dd]},i}function Pi(t){function n(t,n){return[t*e,Td(n)/e]}var=
e=3Dmd(t);return n.invert=3Dfunction(t,n){return[t/e,Ge(n*e)]},n}function =
Ri(t,n){function e(t,n){var e=3Dkd(o-2*i*Td(n))/i;return[e*Td(t*=3Di),u-e*m=
d(t)]}var r=3DTd(t),i=3D(r+Td(n))/2;if(_d(i)<sd)return Pi(t);var o=3D1+r*(2=
*i-r),u=3Dkd(o)/i;return e.invert=3Dfunction(t,n){var e=3Du-n;return[yd(t,_=
d(e))/i*Nd(e),Ge((o-(t*t+e*e)*i*i)/(2*i))]},e}function Li(t){var n=3Dt.leng=
th;return{point:function(e,r){for(var i=3D-1;++i<n;)t[i].point(e,r)},sphere=
:function(){for(var e=3D-1;++e<n;)t[e].sphere()},lineStart:function(){for(v=
ar e=3D-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=3D-1;++e<n;=
)t[e].lineEnd()},polygonStart:function(){for(var e=3D-1;++e<n;)t[e].polygon=
Start()},polygonEnd:function(){for(var e=3D-1;++e0?nld-sd&&(n=3Dld-sd);var e=3Do/Md(Fi(n),i);return[e*Td(i*t),o=
-e*md(i*t)]}var r=3Dmd(t),i=3Dt=3D=3D=3Dn?Td(t):wd(r/md(n))/wd(Fi(n)/Fi(t))=
,o=3Dr*Md(Fi(t),i)/i;return i?(e.invert=3Dfunction(t,n){var e=3Do-n,r=3DNd(=
i)*kd(t*t+e*e);return[yd(t,_d(e))/i*Nd(e),2*gd(Md(o/r,1/i))-ld]},e):Di}func=
tion Yi(t,n){return[t,n]}function Bi(t,n){function e(t,n){var e=3Do-n,r=3Di=
*t;return[e*Td(r),o-e*md(r)]}var r=3Dmd(t),i=3Dt=3D=3D=3Dn?Td(t):(r-md(n))/=
(n-t),o=3Dr/i+t;return _d(i)=3D0;)n+=3De[r].value;else n=3D1;t.value=3Dn}function ro(t,n){if(t=
=3D=3D=3Dn)return t;var e=3Dt.ancestors(),r=3Dn.ancestors(),i=3Dnull;for(t=
=3De.pop(),n=3Dr.pop();t=3D=3D=3Dn;)i=3Dt,t=3De.pop(),n=3Dr.pop();return i}=
function io(t,n){var e,r,i,o,u,a=3Dnew co(t),c=3D+t.value&&(a.value=3Dt.val=
ue),s=3D[a];for(null=3D=3Dn&&(n=3Doo);e=3Ds.pop();)if(c&&(e.value=3D+e.data=
.value),(i=3Dn(e.data))&&(u=3Di.length))for(e.children=3Dnew Array(u),o=3Du=
-1;o>=3D0;–o)s.push(r=3De.children[o]=3Dnew co(i[o])),r.parent=3De,r.depth=
=3De.depth+1;return a.eachBefore(ao)}function oo(t){return t.children}funct=
ion uo(t){t.data=3Dt.data.data}function ao(t){var n=3D0;do{t.height=3Dn}whi=
le((t=3Dt.parent)&&t.height<++n)}function co(t){this.data=3Dt,this.depth=3D=
this.height=3D0,this.parent=3Dnull}function so(t){for(var n,e,r=3Dt.length;=
r;)e=3DMath.random()*r–|0,n=3Dt[r],t[r]=3Dt[e],t[e]=3Dn;return t}function =
fo(t,n){var e,r;if(po(n,t))return[n];for(e=3D0;e<t.length;++e)if(lo(n,t[e])=
&&po(go(t[e],n),t))return[t[e],n];for(e=3D0;e<t.length-1;++e)for(r=3De+1;r<=
t.length;++r)if(lo(go(t[e],t[r]),n)&&lo(go(t[e],n),t[r])&&lo(go(t[r],n),t[e=
])&&po(yo(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function lo(t=
,n){var e=3Dt.r-n.r,r=3Dn.x-t.x,i=3Dn.y-t.y;return e<0||e*e0&&e*e>r*r+=
i*i}function po(t,n){for(var e=3D0;ee*e+r*r}function bo(t){var n=3Dt._,e=3Dt.next._,r=3Dn.r+e.r=
,i=3D(n.x*e.r+e.x*n.r)/r,o=3D(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function wo=
(t){this._=3Dt,this.next=3Dnull,this.previous=3Dnull}function Mo(t){if(!(i=
=3Dt.length))return 0;var n,e,r,i,o,u,a,c,s,f,l;if(n=3Dt[0],n.x=3D0,n.y=3D0=
,!(i>1))return n.r;if(e=3Dt[1],n.x=3D-e.r,e.x=3Dn.r,e.y=3D0,!(i>2))return n=
.r+e.r;mo(e,n,r=3Dt[2]),n=3Dnew wo(n),e=3Dnew wo(e),r=3Dnew wo(r),n.next=3D=
r.previous=3De,e.next=3Dn.previous=3Dr,r.next=3De.previous=3Dn;t:for(a=3D3;=
a<i;++a){mo(n._,e._,r=3Dt[a]),r=3Dnew wo(r),c=3De.next,s=3Dn.previous,f=3De=
._.r,l=3Dn._.r;do{if(f<=3Dl){if(xo(c._,r._)){e=3Dc,n.next=3De,e.previous=3D=
n,–a;continue t}f+=3Dc._.r,c=3Dc.next}else{if(xo(s._,r._)){(n=3Ds).next=3D=
e,e.previous=3Dn,–a;continue t}l+=3Ds._.r,s=3Ds.previous}}while(c!=3D=3Ds.=
next);for(r.previous=3Dn,r.next=3De,n.next=3De.previous=3De=3Dr,o=3Dbo(n);(=
r=3Dr.next)!=3D=3De;)(u=3Dbo(r))<o&&(n=3Dr,o=3Du);e=3Dn.next}for(n=3D[e._],=
r=3De;(r=3Dr.next)!=3D=3De;)n.push(r._);for(r=3DJv(n),a=3D0;a<i;++a)n=3Dt[a=
],n.x-=3Dr.x,n.y-=3Dr.y;return r.r}function To(t){return null=3D=3Dt?null:N=
o(t)}function No(t){if("function"!=3Dtypeof t)throw new Error;return t}func=
tion ko(){return 0}function So(t){return Math.sqrt(t.value)}function Eo(t){=
return function(n){n.children||(n.r=3DMath.max(0,+t(n)||0))}}function Ao(t,=
n){return function(e){if(r=3De.children){var r,i,o,u=3Dr.length,a=3Dt(e)*n|=
|0;if(a)for(i=3D0;i<u;++i)r[i].r+=3Da;if(o=3DMo(r),a)for(i=3D0;i=3D0;)(n=3Di[o]).z+=3De,n.m=
+=3De,e+=3Dn.s+(r+=3Dn.c)}function Oo(t,n,e){return t.a.parent=3D=3D=3Dn.pa=
rent?t.a:e}function Fo(t,n){this._=3Dt,this.parent=3Dnull,this.children=3Dn=
ull,this.A=3Dnull,this.a=3Dthis,this.z=3D0,this.m=3D0,this.c=3D0,this.s=3D0=
,this.t=3Dnull,this.i=3Dn}function Io(t){for(var n,e,r,i,o,u=3Dnew Fo(t,0),=
a=3D[u];n=3Da.pop();)if(r=3Dn._.children)for(n.children=3Dnew Array(o=3Dr.l=
ength),i=3Do-1;i>=3D0;–i)a.push(e=3Dn.children[i]=3Dnew Fo(r[i],i)),e.pare=
nt=3Dn;return(u.parent=3Dnew Fo(null,0)).children=3D[u],u}function Yo(t,n,e=
,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,_,g=3D[],y=3Dn.children,m=3D0,x=3D0,b=
=3Dy.length,w=3Dn.value;m<b;){c=3Di-e,s=3Do-r;do{f=3Dy[x++].value}while(!f&=
&x<b);for(l=3Dh=3Df,_=3Df*f*(v=3DMath.max(s/c,c/s)/(w*t)),d=3DMath.max(h/_,=
_/l);x<b;++x){if(f+=3Da=3Dy[x].value,ah&&(h=3Da),_=3Df*f*v,(p=
=3DMath.max(h/_,_/l))>d){f-=3Da;break}d=3Dp}g.push(u=3D{value:f,dice:c<s,ch=
ildren:y.slice(m,x)}),u.dice?t_(u,e,r,i,w?r+=3Ds*f/w:o):i_(u,e,r,w?e+=3Dc*f=
/w:i,o),w-=3Df,m=3Dx}return g}function Bo(t,n){return t[0]-n[0]||t[1]-n[1]}=
function jo(t){for(var n=3Dt.length,e=3D[0,1],r=3D2,i=3D2;i1=
&&c_(t[e[r-2]],t[e[r-1]],t[i])<=3D0;)–r;e[r++]=3Di}return e.slice(0,r)}fun=
ction Ho(t){this._size=3Dt,this._call=3Dthis._error=3Dnull,this._tasks=3D[]=
,this._data=3D[],this._waiting=3Dthis._active=3Dthis._ended=3Dthis._start=
=3D0}function Xo(t){if(!t._start)try{$o(t)}catch(n){if(t._tasks[t._ended+t.=
_active-1])Wo(t,n);else if(!t._data)throw n}}function $o(t){for(;t._start=
=3Dt._waiting&&t._active=3D0;)if((e=3Dt._tasks[r])&&(t._tasks[r]=3Dnull,e.ab=
ort))try{e.abort()}catch(n){}t._active=3DNaN,Zo(t)}function Zo(t){if(!t._ac=
tive&&t._call){var n=3Dt._data;t._data=3Dvoid 0,t._call(t._error,n)}}functi=
on Go(t){if(null=3D=3Dt)t=3D1/0;else if(!((t=3D+t)>=3D1))throw new Error(“i=
nvalid concurrency”);return new Ho(t)}function Jo(t){return function(n,e){t=
(null=3D=3Dn?e:null)}}function Qo(t){var n=3Dt.responseType;return n&&”text=
“!=3D=3Dn?t.response:t.responseText}function Ko(t,n){return function(e){ret=
urn t(e.responseText,n)}}function tu(t){function n(n){var o=3Dn+””,u=3De.ge=
t(o);if(!u){if(i!=3D=3DC_)return i;e.set(o,u=3Dr.push(n))}return t[(u-1)%t.=
length]}var e=3Dwe(),r=3D[],i=3DC_;return t=3Dnull=3D=3Dt?[]:A_.call(t),n.d=
omain=3Dfunction(t){if(!arguments.length)return r.slice();r=3D[],e=3Dwe();f=
or(var i,o,u=3D-1,a=3Dt.length;++u<a;)e.has(o=3D(i=3Dt[u])+"")||e.set(o,r.p=
ush(i));return n},n.range=3Dfunction(e){return arguments.length?(t=3DA_.cal=
l(e),n):t.slice()},n.unknown=3Dfunction(t){return arguments.length?(i=3Dt,n=
):i},n.copy=3Dfunction(){return tu().domain(r).range(t).unknown(i)},n}funct=
ion nu(){function t(){var t=3Di().length,r=3Du[1]<u[0],l=3Du[r-0],h=3Du[1-r=
];n=3D(h-l)/Math.max(1,t-c+2*s),a&&(n=3DMath.floor(n)),l+=3D(h-l-n*(t-c))*f=
,e=3Dn*(1-c),a&&(l=3DMath.round(l),e=3DMath.round(e));var p=3DNs(t).map(fun=
ction(t){return l+n*t});return o(r?p.reverse():p)}var n,e,r=3Dtu().unknown(=
void 0),i=3Dr.domain,o=3Dr.range,u=3D[0,1],a=3D!1,c=3D0,s=3D0,f=3D.5;return=
delete r.unknown,r.domain=3Dfunction(n){return arguments.length?(i(n),t())=
:i()},r.range=3Dfunction(n){return arguments.length?(u=3D[+n[0],+n[1]],t())=
:u.slice()},r.rangeRound=3Dfunction(n){return u=3D[+n[0],+n[1]],a=3D!0,t()}=
,r.bandwidth=3Dfunction(){return e},r.step=3Dfunction(){return n},r.round=
=3Dfunction(n){return arguments.length?(a=3D!!n,t()):a},r.padding=3Dfunctio=
n(n){return arguments.length?(c=3Ds=3DMath.max(0,Math.min(1,n)),t()):c},r.p=
addingInner=3Dfunction(n){return arguments.length?(c=3DMath.max(0,Math.min(=
1,n)),t()):c},r.paddingOuter=3Dfunction(n){return arguments.length?(s=3DMat=
h.max(0,Math.min(1,n)),t()):s},r.align=3Dfunction(n){return arguments.lengt=
h?(f=3DMath.max(0,Math.min(1,n)),t()):f},r.copy=3Dfunction(){return nu().do=
main(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f)},t()}f=
unction eu(t){var n=3Dt.copy;return t.padding=3Dt.paddingOuter,delete t.pad=
dingInner,delete t.paddingOuter,t.copy=3Dfunction(){return eu(n())},t}funct=
ion ru(t,n){return(n-=3Dt=3D+t)?function(e){return(e-t)/n}:z_(n)}function i=
u(t){return function(n,e){var r=3Dt(n=3D+n,e=3D+e);return function(t){retur=
n t=3De?1:r(t)}}}function ou(t){return function(n,e){var r=3Dt(n=
=3D+n,e=3D+e);return function(t){return t=3D1?e:r(t)}}}function u=
u(t,n,e,r){var i=3Dt[0],o=3Dt[1],u=3Dn[0],a=3Dn[1];return o<i?(i=3De(o,i),u=
=3Dr(a,u)):(i=3De(i,o),u=3Dr(u,a)),function(t){return u(i(t))}}function au(=
t,n,e,r){var i=3DMath.min(t.length,n.length)-1,o=3Dnew Array(i),u=3Dnew Arr=
ay(i),a=3D-1;for(t[i]<t[0]&&(t=3Dt.slice().reverse(),n=3Dn.slice().reverse(=
));++a2?au:u=
u,o=3Du=3Dnull,r}function r(n){return(o||(o=3Di(a,c,f?iu(t):t,s)))(+n)}var =
i,o,u,a=3DR_,c=3DR_,s=3Dfl,f=3D!1;return r.invert=3Dfunction(t){return(u||(=
u=3Di(c,a,ru,f?ou(n):n)))(+t)},r.domain=3Dfunction(t){return arguments.leng=
th?(a=3DE_.call(t,P_),e()):a.slice()},r.range=3Dfunction(t){return argument=
s.length?(c=3DA_.call(t),e()):c.slice()},r.rangeRound=3Dfunction(t){return =
c=3DA_.call(t),s=3Dll,e()},r.clamp=3Dfunction(t){return arguments.length?(f=
=3D!!t,e()):f},r.interpolate=3Dfunction(t){return arguments.length?(s=3Dt,e=
()):s},e()}function fu(t){var n=3Dt.domain;return t.ticks=3Dfunction(t){var=
e=3Dn();return As(e[0],e[e.length-1],null=3D=3Dt?10:t)},t.tickFormat=3Dfun=
ction(t,e){return L_(n(),t,e)},t.nice=3Dfunction(e){null=3D=3De&&(e=3D10);v=
ar i,o=3Dn(),u=3D0,a=3Do.length-1,c=3Do[u],s=3Do[a];return s0?i=3Dr(c=3DMath.floor(c/i)*i,s=
=3DMath.ceil(s/i)*i,e):i0?(o[u]=3DMath.floor(c/i)*i,o[a]=3DMath.ceil(s/i)*i,n(o)):i<0&&(o[=
u]=3DMath.ceil(c*i)/i,o[a]=3DMath.floor(s*i)/i,n(o)),t},t}function lu(){var=
t=3Dsu(ru,ol);return t.copy=3Dfunction(){return cu(t,lu())},fu(t)}function=
hu(){function t(t){return+t}var n=3D[0,1];return t.invert=3Dt,t.domain=3Dt=
.range=3Dfunction(e){return arguments.length?(n=3DE_.call(e,P_),t):n.slice(=
)},t.copy=3Dfunction(){return hu().domain(n)},fu(t)}function pu(t,n){return=
(n=3DMath.log(n/t))?function(e){return Math.log(e/t)/n}:z_(n)}function du(t=
,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function=
(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function vu(t){return isFinite(t)=
?+("1e"+t):t<0?0:t}function _u(t){return 10=3D=3D=3Dt?vu:t=3D=3D=3DMath.E?M=
ath.exp:function(n){return Math.pow(t,n)}}function gu(t){return t=3D=3D=3DM=
ath.E?Math.log:10=3D=3D=3Dt&&Math.log10||2=3D=3D=3Dt&&Math.log2||(t=3DMath.=
log(t),function(n){return Math.log(n)/t})}function yu(t){return function(n)=
{return-t(-n)}}function mu(){function n(){return o=3Dgu(i),u=3D_u(i),r()[0]=
<0&&(o=3Dyu(o),u=3Dyu(u)),e}var e=3Dsu(pu,du).domain([1,10]),r=3De.domain,i=
=3D10,o=3Dgu(10),u=3D_u(10);return e.base=3Dfunction(t){return arguments.le=
ngth?(i=3D+t,n()):i},e.domain=3Dfunction(t){return arguments.length?(r(t),n=
()):r()},e.ticks=3Dfunction(t){var n,e=3Dr(),a=3De[0],c=3De[e.length-1];(n=
=3Dc<a)&&(h=3Da,a=3Dc,c=3Dh);var s,f,l,h=3Do(a),p=3Do(c),d=3Dnull=3D=3Dt?10=
:+t,v=3D[];if(!(i%1)&&p-h0=
){for(;h<p;++h)for(f=3D1,s=3Du(h);f<i;++f)if(!((l=3Ds*f)
c)break;v=
.push(l)}}else for(;h

=3D1;–f)if(!((l=3Ds*f)c)break;v.push(l)}}else v=3DAs(h,p,Math.min(p-h,d)).map(u);return =
n?v.reverse():v},e.tickFormat=3Dfunction(n,r){if(null=3D=3Dr&&(r=3D10=3D=3D=
=3Di?”.0e”:”,”),”function”!=3Dtypeof r&&(r=3Dt.format(r)),n=3D=3D=3D1/0)ret=
urn r;null=3D=3Dn&&(n=3D10);var a=3DMath.max(1,i*n/e.ticks().length);return=
function(t){var n=3Dt/u(Math.round(o(t)));return n*i<i-.5&&(n*=3Di),n<=3Da=
?r(t):""}},e.nice=3Dfunction(){return r(q_(r(),{floor:function(t){return u(=
Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=
=3Dfunction(){return cu(e,mu().base(i))},e}function xu(t,n){return t<0?-Mat=
h.pow(-t,n):Math.pow(t,n)}function bu(){var t=3D1,n=3Dsu(function(n,e){retu=
rn(e=3Dxu(e,t)-(n=3Dxu(n,t)))?function(r){return(xu(r,t)-n)/e}:z_(e)},funct=
ion(n,e){return e=3Dxu(e,t)-(n=3Dxu(n,t)),function(r){return xu(n+e*r,1/t)}=
}),e=3Dn.domain;return n.exponent=3Dfunction(n){return arguments.length?(t=
=3D+n,e(e())):t},n.copy=3Dfunction(){return cu(n,bu().exponent(t))},fu(n)}f=
unction wu(){function t(){var t=3D0,o=3DMath.max(1,r.length);for(i=3Dnew Ar=
ray(o-1);++t<o;)i[t-1]=3Dzs(e,t/o);return n}function n(t){if(!isNaN(t=3D+t)=
)return r[ds(i,t)]}var e=3D[],r=3D[],i=3D[];return n.invertExtent=3Dfunctio=
n(t){var n=3Dr.indexOf(t);return n0?i[n-1]:e[0],n<i.length?=
i[n]:e[e.length-1]]},n.domain=3Dfunction(n){if(!arguments.length)return e.s=
lice();e=3D[];for(var r,i=3D0,o=3Dn.length;i<o;++i)null=3D=3D(r=3Dn[i])||is=
NaN(r=3D+r)||e.push(r);return e.sort(ls),t()},n.range=3Dfunction(n){return =
arguments.length?(r=3DA_.call(n),t()):r.slice()},n.quantiles=3Dfunction(){r=
eturn i.slice()},n.copy=3Dfunction(){return wu().domain(e).range(r)},n}func=
tion Mu(){function t(t){if(t<=3Dt)return u[ds(o,t,0,i)]}function n(){var n=
=3D-1;for(o=3Dnew Array(i);++n<i;)o[n]=3D((n+1)*r-(n-i)*e)/(i+1);return t}v=
ar e=3D0,r=3D1,i=3D1,o=3D[.5],u=3D[0,1];return t.domain=3Dfunction(t){retur=
n arguments.length?(e=3D+t[0],r=3D+t[1],n()):[e,r]},t.range=3Dfunction(t){r=
eturn arguments.length?(i=3D(u=3DA_.call(t)).length-1,n()):u.slice()},t.inv=
ertExtent=3Dfunction(t){var n=3Du.indexOf(t);return n<0?[NaN,NaN]:n=3Di?[o[i-1],r]:[o[n-1],o[n]]},t.copy=3Dfunction(){return Mu().domain=
([e,r]).range(u)},fu(t)}function Tu(){function t(t){if(t<=3Dt)return e[ds(n=
,t,0,r)]}var n=3D[.5],e=3D[0,1],r=3D1;return t.domain=3Dfunction(i){return =
arguments.length?(n=3DA_.call(i),r=3DMath.min(n.length,e.length-1),t):n.sli=
ce()},t.range=3Dfunction(i){return arguments.length?(e=3DA_.call(i),r=3DMat=
h.min(n.length,e.length-1),t):e.slice()},t.invertExtent=3Dfunction(t){var r=
=3De.indexOf(t);return[n[r-1],n[r]]},t.copy=3Dfunction(){return Tu().domain=
(n).range(e)},t}function Nu(t,n,e,r){function i(n){return t(n=3Dnew Date(+n=
)),n}return i.floor=3Di,i.ceil=3Dfunction(e){return t(e=3Dnew Date(e-1)),n(=
e,1),t(e),e},i.round=3Dfunction(t){var n=3Di(t),e=3Di.ceil(t);return t-n<e-=
t?n:e},i.offset=3Dfunction(t,e){return n(t=3Dnew Date(+t),null=3D=3De?1:Mat=
h.floor(e)),t},i.range=3Dfunction(e,r,o){var u=3D[];if(e=3Di.ceil(e),o=3Dnu=
ll=3D=3Do?1:Math.floor(o),!(e0))return u;do{u.push(new Date(+e))}whil=
e(n(e,o),t(e),e=3Dn)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=3Dt)if(r<0)fo=
r(;++r=3D0;)for(;n(t,1),!e(t););}=
)},e&&(i.count=3Dfunction(n,r){return U_.setTime(+n),D_.setTime(+r),t(U_),t=
(D_),Math.floor(e(U_,D_))},i.every=3Dfunction(t){return t=3DMath.floor(t),i=
sFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t=3D=3D0}:function(n=
){return i.count(0,n)%t=3D=3D0}):i:null}),i}function ku(t){return Nu(functi=
on(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},functi=
on(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezone=
Offset()-t.getTimezoneOffset())*I_)/Y_})}function Su(t){return Nu(function(=
n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0=
)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t=
)/Y_})}function Eu(t){if(0<=3Dt.y&&t.y<100){var n=3Dnew Date(-1,t.m,t.d,t.H=
,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t=
.M,t.S,t.L)}function Au(t){if(0<=3Dt.y&&t.y<100){var n=3Dnew Date(Date.UTC(=
-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date=
(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Cu(t){return{y:t,m:0,d:1,H=
:0,M:0,S:0,L:0}}function zu(t){function n(t,n){return function(e){var r,i,o=
,u=3D[],a=3D-1,c=3D0,s=3Dt.length;for(e instanceof Date||(e=3Dnew Date(+e))=
;++a<s;)37=3D=3D=3Dt.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=3D(i=3DFg[r=
=3Dt.charAt(++a)])?r=3Dt.charAt(++a):i=3D"e"=3D=3D=3Dr?" ":"0",(o=3Dn[r])&&=
(r=3Do(e,i)),u.push(r),c=3Da+1);return u.push(t.slice(c,a)),u.join("")}}fun=
ction e(t,n){return function(e){var i=3DCu(1900);if(r(i,t,e+=3D"",0)!=3De.l=
ength)return null;if("p"in i&&(i.H=3Di.H%12+12*i.p),"W"in i||"U"in i){"w"in=
i||(i.w=3D"W"in i?1:0);var o=3D"Z"in i?Au(Cu(i.y)).getUTCDay():n(Cu(i.y)).=
getDay();i.m=3D0,i.d=3D"W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7}re=
turn"Z"in i?(i.H+=3Di.Z/100|0,i.M+=3Di.Z%100,Au(i)):n(i)}}function r(t,n,e,=
r){for(var i,o,u=3D0,a=3Dn.length,c=3De.length;u
=3Dc)return-1;if(=
37=3D=3D=3D(i=3Dn.charCodeAt(u++))){if(i=3Dn.charAt(u++),!(o=3DT[i in Fg?n.=
charAt(u++):i])||(r=3Do(t,e,r))=3D12)]},S:ra,U:ia,w:oa,W:ua,x:null,X:null,y:aa,Y:ca,=
Z:sa,”%”:Ta},M=3D{a:function(t){return s[t.getUTCDay()]},A:function(t){retu=
rn c[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t)=
{return f[t.getUTCMonth()]},c:null,d:fa,e:fa,H:la,I:ha,j:pa,L:da,m:va,M:_a,=
p:function(t){return a[+(t.getUTCHours()>=3D12)]},S:ga,U:ya,w:ma,W:xa,x:nul=
l,X:null,y:ba,Y:wa,Z:Ma,”%”:Ta},T=3D{a:function(t,n,e){var r=3D_.exec(n.sli=
ce(e));return r?(t.w=3Dg[r[0].toLowerCase()],e+r[0].length):-1},A:function(=
t,n,e){var r=3Dd.exec(n.slice(e));return r?(t.w=3Dv[r[0].toLowerCase()],e+r=
[0].length):-1},b:function(t,n,e){var r=3Dx.exec(n.slice(e));return r?(t.m=
=3Db[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=3Dy.exe=
c(n.slice(e));return r?(t.m=3Dm[r[0].toLowerCase()],e+r[0].length):-1},c:fu=
nction(t,n,e){return r(t,i,n,e)},d:ju,e:ju,H:Xu,I:Xu,j:Hu,L:Wu,m:Bu,M:$u,p:=
function(t,n,e){var r=3Dh.exec(n.slice(e));return r?(t.p=3Dp[r[0].toLowerCa=
se()],e+r[0].length):-1},S:Vu,U:Du,w:Uu,W:Ou,x:function(t,n,e){return r(t,o=
,n,e)},X:function(t,n,e){return r(t,u,n,e)},y:Iu,Y:Fu,Z:Yu,”%”:Zu};return w=
.x=3Dn(o,w),w.X=3Dn(u,w),w.c=3Dn(i,w),M.x=3Dn(o,M),M.X=3Dn(u,M),M.c=3Dn(i,M=
),{format:function(t){var e=3Dn(t+=3D””,w);return e.toString=3Dfunction(){r=
eturn t},e},parse:function(t){var n=3De(t+=3D””,Eu);return n.toString=3Dfun=
ction(){return t},n},utcFormat:function(t){var e=3Dn(t+=3D””,M);return e.to=
String=3Dfunction(){return t},e},utcParse:function(t){var n=3De(t,Au);retur=
n n.toString=3Dfunction(){return t},n}}}function Pu(t,n,e){var r=3Dt<0?"-":=
"",i=3D(r?-t:t)+"",o=3Di.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)=
}function Ru(t){return t.replace(Bg,"\\$&")}function Lu(t){return new RegEx=
p("^(?:"+t.map(Ru).join("|")+")","i")}function qu(t){for(var n=3D{},e=3D-1,=
r=3Dt.length;++e68?1900:2e3),e+r[0].length):-1}fun=
ction Yu(t,n,e){var r=3D/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e,e+6)=
);return r?(t.Z=3Dr[1]?0:-(r[2]+(r[3]||”00″)),e+r[0].length):-1}function Bu=
(t,n,e){var r=3DIg.exec(n.slice(e,e+2));return r?(t.m=3Dr[0]-1,e+r[0].lengt=
h):-1}function ju(t,n,e){var r=3DIg.exec(n.slice(e,e+2));return r?(t.d=3D+r=
[0],e+r[0].length):-1}function Hu(t,n,e){var r=3DIg.exec(n.slice(e,e+3));re=
turn r?(t.m=3D0,t.d=3D+r[0],e+r[0].length):-1}function Xu(t,n,e){var r=3DIg=
.exec(n.slice(e,e+2));return r?(t.H=3D+r[0],e+r[0].length):-1}function $u(t=
,n,e){var r=3DIg.exec(n.slice(e,e+2));return r?(t.M=3D+r[0],e+r[0].length):=
-1}function Vu(t,n,e){var r=3DIg.exec(n.slice(e,e+2));return r?(t.S=3D+r[0]=
,e+r[0].length):-1}function Wu(t,n,e){var r=3DIg.exec(n.slice(e,e+3));retur=
n r?(t.L=3D+r[0],e+r[0].length):-1}function Zu(t,n,e){var r=3DYg.exec(n.sli=
ce(e,e+1));return r?e+r[0].length:-1}function Gu(t,n){return Pu(t.getDate()=
,n,2)}function Ju(t,n){return Pu(t.getHours(),n,2)}function Qu(t,n){return =
Pu(t.getHours()%12||12,n,2)}function Ku(t,n){return Pu(1+W_.count(hg(t),t),=
n,3)}function ta(t,n){return Pu(t.getMilliseconds(),n,3)}function na(t,n){r=
eturn Pu(t.getMonth()+1,n,2)}function ea(t,n){return Pu(t.getMinutes(),n,2)=
}function ra(t,n){return Pu(t.getSeconds(),n,2)}function ia(t,n){return Pu(=
G_.count(hg(t),t),n,2)}function oa(t){return t.getDay()}function ua(t,n){re=
turn Pu(J_.count(hg(t),t),n,2)}function aa(t,n){return Pu(t.getFullYear()%1=
00,n,2)}function ca(t,n){return Pu(t.getFullYear()%1e4,n,4)}function sa(t){=
var n=3Dt.getTimezoneOffset();return(n>0?”-“:(n*=3D-1,”+”))+Pu(n/60|0,”0″,2=
)+Pu(n%60,”0″,2)}function fa(t,n){return Pu(t.getUTCDate(),n,2)}function la=
(t,n){return Pu(t.getUTCHours(),n,2)}function ha(t,n){return Pu(t.getUTCHou=
rs()%12||12,n,2)}function pa(t,n){return Pu(1+yg.count(Ug(t),t),n,3)}functi=
on da(t,n){return Pu(t.getUTCMilliseconds(),n,3)}function va(t,n){return Pu=
(t.getUTCMonth()+1,n,2)}function _a(t,n){return Pu(t.getUTCMinutes(),n,2)}f=
unction ga(t,n){return Pu(t.getUTCSeconds(),n,2)}function ya(t,n){return Pu=
(xg.count(Ug(t),t),n,2)}function ma(t){return t.getUTCDay()}function xa(t,n=
){return Pu(bg.count(Ug(t),t),n,2)}function ba(t,n){return Pu(t.getUTCFullY=
ear()%100,n,2)}function wa(t,n){return Pu(t.getUTCFullYear()%1e4,n,4)}funct=
ion Ma(){return”+0000″}function Ta(){return”%”}function Na(n){return Dg=3Dz=
u(n),t.timeFormat=3DDg.format,t.timeParse=3DDg.parse,t.utcFormat=3DDg.utcFo=
rmat,t.utcParse=3DDg.utcParse,Dg}function ka(t){return new Date(t)}function=
Sa(t){return t instanceof Date?+t:+new Date(+t)}function Ea(t,n,e,r,o,u,a,=
c,s){function f(i){return(a(i)<i?v:u(i)<i?_:o(i)<i?g:r(i)<i?y:n(i)<i?e(i)<i=
?m:x:t(i)<i?b:w)(i)}function l(n,e,r,o){if(null=3D=3Dn&&(n=3D10),"number"=
=3D=3Dtypeof n){var u=3DMath.abs(r-e)/n,a=3Dhs(function(t){return t[2]}).ri=
ght(M,u);a=3D=3D=3DM.length?(o=3Di(e/Jg,r/Jg,n),n=3Dt):a?(o=3D(a=3DM[u/M[a-=
1][2]<M[a][2]/u?a-1:a])[1],n=3Da[0]):(o=3Di(e,r,n),n=3Dc)}return null=3D=3D=
o?n:n.every(o)}var h=3Dsu(ru,ol),p=3Dh.invert,d=3Dh.domain,v=3Ds(".%L"),_=
=3Ds(":%S"),g=3Ds("%I:%M"),y=3Ds("%I %p"),m=3Ds("%a %d"),x=3Ds("%b %d"),b=
=3Ds("%B"),w=3Ds("%Y"),M=3D[[a,1,Xg],[a,5,5*Xg],[a,15,15*Xg],[a,30,30*Xg],[=
u,1,$g],[u,5,5*$g],[u,15,15*$g],[u,30,30*$g],[o,1,Vg],[o,3,3*Vg],[o,6,6*Vg]=
,[o,12,12*Vg],[r,1,Wg],[r,2,2*Wg],[e,1,Zg],[n,1,Gg],[n,3,3*Gg],[t,1,Jg]];re=
turn h.invert=3Dfunction(t){return new Date(p(t))},h.domain=3Dfunction(t){r=
eturn arguments.length?d(E_.call(t,Sa)):d().map(ka)},h.ticks=3Dfunction(t,n=
){var e,r=3Dd(),i=3Dr[0],o=3Dr[r.length-1],u=3Do1?0:t=3D1?by:t<=3D-1?-by:Math.asin(t)}function Ra(t){return t.innerRadius}fun=
ction La(t){return t.outerRadius}function qa(t){return t.startAngle}functio=
n Ua(t){return t.endAngle}function Da(t){return t&&t.padAngle}function Oa(t=
,n,e,r,i,o,u,a){var c=3De-t,s=3Dr-n,f=3Du-i,l=3Da-o,h=3D(f*(n-o)-l*(t-i))/(=
l*c-f*s);return[t+h*c,n+h*s]}function Fa(t,n,e,r,i,o,u){var a=3Dt-e,c=3Dn-r=
,s=3D(u?o:-o)/yy(a*a+c*c),f=3Ds*c,l=3D-s*a,h=3Dt+f,p=3Dn+l,d=3De+f,v=3Dr+l,=
_=3D(h+d)/2,g=3D(p+v)/2,y=3Dd-h,m=3Dv-p,x=3Dy*y+m*m,b=3Di-o,w=3Dh*v-d*p,M=
=3D(mC*C=
+z*z&&(T=3Dk,N=3DS),{cx:T,cy:N,x01:-f,y01:-l,x11:T*(i/b-1),y11:N*(i/b-1)}}f=
unction Ia(t){this._context=3Dt}function Ya(t){return t[0]}function Ba(t){r=
eturn t[1]}function ja(t){this._curve=3Dt}function Ha(t){function n(n){retu=
rn new ja(t(n))}return n._curve=3Dt,n}function Xa(t){var n=3Dt.curve;return=
t.angle=3Dt.x,delete t.x,t.radius=3Dt.y,delete t.y,t.curve=3Dfunction(t){r=
eturn arguments.length?n(Ha(t)):n()._curve},t}function $a(t){return t.sourc=
e}function Va(t){return t.target}function Wa(t){function n(){var n,a=3DPy.c=
all(arguments),c=3De.apply(this,a),s=3Dr.apply(this,a);if(u||(u=3Dn=3Dve())=
,t(u,+i.apply(this,(a[0]=3Dc,a)),+o.apply(this,a),+i.apply(this,(a[0]=3Ds,a=
)),+o.apply(this,a)),n)return u=3Dnull,n+””||null}var e=3D$a,r=3DVa,i=3DYa,=
o=3DBa,u=3Dnull;return n.source=3Dfunction(t){return arguments.length?(e=3D=
t,n):e},n.target=3Dfunction(t){return arguments.length?(r=3Dt,n):r},n.x=3Df=
unction(t){return arguments.length?(i=3D”function”=3D=3Dtypeof t?t:ly(+t),n=
):i},n.y=3Dfunction(t){return arguments.length?(o=3D”function”=3D=3Dtypeof =
t?t:ly(+t),n):o},n.context=3Dfunction(t){return arguments.length?(u=3Dnull=
=3D=3Dt?null:t,n):u},n}function Za(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo=
(n=3D(n+r)/2,e,n,i,r,i)}function Ga(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveT=
o(n,e=3D(e+i)/2,r,e,r,i)}function Ja(t,n,e,r,i){var o=3Dzy(n,e),u=3Dzy(n,e=
=3D(e+i)/2),a=3Dzy(r,e),c=3Dzy(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(u[0=
],u[1],a[0],a[1],c[0],c[1])}function Qa(t,n,e){t._context.bezierCurveTo((2*=
t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0=
+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Ka(t){this._context=3Dt}functio=
n tc(t){this._context=3Dt}function nc(t){this._context=3Dt}function ec(t,n)=
{this._basis=3Dnew Ka(t),this._beta=3Dn}function rc(t,n,e){t._context.bezie=
rCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x=
1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ic(t,n){this._context=3Dt,t=
his._k=3D(1-n)/6}function oc(t,n){this._context=3Dt,this._k=3D(1-n)/6}funct=
ion uc(t,n){this._context=3Dt,this._k=3D(1-n)/6}function ac(t,n,e){var r=3D=
t._x1,i=3Dt._y1,o=3Dt._x2,u=3Dt._y2;if(t._l01_a>my){var a=3D2*t._l01_2a+3*t=
._l01_a*t._l12_a+t._l12_2a,c=3D3*t._l01_a*(t._l01_a+t._l12_a);r=3D(r*a-t._x=
0*t._l12_2a+t._x2*t._l01_2a)/c,i=3D(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}=
if(t._l23_a>my){var s=3D2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3D3*t._=
l23_a*(t._l23_a+t._l12_a);o=3D(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=3D(u*s+=
t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2=
)}function cc(t,n){this._context=3Dt,this._alpha=3Dn}function sc(t,n){this.=
_context=3Dt,this._alpha=3Dn}function fc(t,n){this._context=3Dt,this._alpha=
=3Dn}function lc(t){this._context=3Dt}function hc(t){return t<0?-1:1}functi=
on pc(t,n,e){var r=3Dt._x1-t._x0,i=3Dn-t._x1,o=3D(t._y1-t._y0)/(r||i<0&&-0)=
,u=3D(e-t._y1)/(i||r<0&&-0),a=3D(o*i+u*r)/(r+i);return(hc(o)+hc(u))*Math.mi=
n(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function dc(t,n){var e=3Dt._x1=
-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function vc(t,n,e){var r=3Dt._x0,=
i=3Dt._y0,o=3Dt._x1,u=3Dt._y1,a=3D(o-r)/3;t._context.bezierCurveTo(r+a,i+a*=
n,o-a,u-a*e,o,u)}function _c(t){this._context=3Dt}function gc(t){this._cont=
ext=3Dnew yc(t)}function yc(t){this._context=3Dt}function mc(t){this._conte=
xt=3Dt}function xc(t){var n,e,r=3Dt.length-1,i=3Dnew Array(r),o=3Dnew Array=
(r),u=3Dnew Array(r);for(i[0]=3D0,o[0]=3D2,u[0]=3Dt[0]+2*t[1],n=3D1;n<r-1;+=
+n)i[n]=3D1,o[n]=3D4,u[n]=3D4*t[n]+2*t[n+1];for(i[r-1]=3D2,o[r-1]=3D7,u[r-1=
]=3D8*t[r-1]+t[r],n=3D1;n=3D0;–n)i[n]=3D(u[n]-i[n+1])/o[n];for=
(o[r-1]=3D(t[r]+i[r-1])/2,n=3D0;n<r-1;++n)o[n]=3D2*t[n+1]-i[n+1];return[i,o=
]}function bc(t,n){this._context=3Dt,this._t=3Dn}function wc(t,n){return t[=
n]}function Mc(t){for(var n,e=3D0,r=3D-1,i=3Dt.length;++r0)){if(o/=3Dh,h<0){if(o<f)return;o=
0){if(o>l)return;o>f&&(f=3Do)}if(o=3Dr-c,h||!(o<0)){if(o/=3Dh,hl)r=
eturn;o>f&&(f=3Do)}else if(h>0){if(o<f)return;o0)){if(o/=3Dp,p<0){if(o<f)return;o0){if(o>l)return;=
o>f&&(f=3Do)}if(o=3Di-s,p||!(o<0)){if(o/=3Dp,pl)return;o>f&&(f=3Do=
)}else if(p>0){if(o<f)return;o0||l0&&(t[0]=3D=
[c+f*h,s+f*p]),l<1&&(t[1]=3D[c+l*h,s+l*p]),!0)}}}}}function qc(t,n,e,r,i){v=
ar o=3Dt[1];if(o)return!0;var u,a,c=3Dt[0],s=3Dt.left,f=3Dt.right,l=3Ds[0],=
h=3Ds[1],p=3Df[0],d=3Df[1],v=3D(l+p)/2,_=3D(h+d)/2;if(d=3D=3D=3Dh){if(v=3Dr)return;if(l>p){if(c){if(c[1]>=3Di)return}else c=3D[v,e];o=3D[v,i]}el=
se{if(c){if(c[1]<e)return}else c=3D[v,i];o=3D[v,e]}}else if(u=3D(l-p)/(d-h)=
,a=3D_-u*v,u1)if(l>p){if(c){if(c[1]>=3Di)return}else c=3D[(e-a)/u,e]=
;o=3D[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=3D[(i-a)/u,i];o=3D[(e-a=
)/u,e]}else if(h=3Dr)return}else c=3D[n,u*n+a];o=3D[r,u*r=
+a]}else{if(c){if(c[0]_m||Math.abs(i[0]=
[1]-i[1][1])>_m)||delete pm[o]}function Dc(t){return lm[t.index]=3D{site:t,=
halfedges:[]}}function Oc(t,n){var e=3Dt.site,r=3Dn.left,i=3Dn.right;return=
e=3D=3D=3Di&&(i=3Dr,r=3De),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e=3D=3D=3Dr?=
(r=3Dn[1],i=3Dn[0]):(r=3Dn[0],i=3Dn[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}fu=
nction Fc(t,n){return n[+(n.left!=3D=3Dt.site)]}function Ic(t,n){return n[+=
(n.left=3D=3D=3Dt.site)]}function Yc(){for(var t,n,e,r,i=3D0,o=3Dlm.length;=
i<o;++i)if((t=3Dlm[i])&&(r=3D(n=3Dt.halfedges).length)){var u=3Dnew Array(r=
),a=3Dnew Array(r);for(e=3D0;e<r;++e)u[e]=3De,a[e]=3DOc(t,pm[n[e]]);for(u.s=
ort(function(t,n){return a[n]-a[t]}),e=3D0;e<r;++e)a[e]=3Dn[u[e]];for(e=3D0=
;e<r;++e)n[e]=3Da[e]}}function Bc(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,_=3D=
lm.length,g=3D!0;for(i=3D0;i<_;++i)if(o=3Dlm[i]){for(u=3Do.site,a=3D(c=3Do.=
halfedges).length;a–;)pm[c[a]]||c.splice(a,1);for(a=3D0,s=3Dc.length;a_m||Math.abs(v-h)>_m)&&(c.splice(a,0,pm.push(Pc(u,p,Math.=
abs(d-t)_m?[t,Math.abs(l-t)<_m?h:r]:Math.abs(v-r)_m?[Math=
.abs(h-r)<_m?l:e,r]:Math.abs(d-e)_m?[e,Math.abs(l-e)<_m?h:n]:Math.=
abs(v-n)_m?[Math.abs(h-n)<_m?l:t,n]:null))-1),++s);s&&(g=3D!1)}if(=
g){var y,m,x,b=3D1/0;for(i=3D0,g=3Dnull;i<_;++i)(o=3Dlm[i])&&(x=3D(y=3D(u=
=3Do.site)[0]-t)*y+(m=3Du[1]-n)*m)<b&&(b=3Dx,g=3Do);if(g){var w=3D[t,n],M=
=3D[t,r],T=3D[e,r],N=3D[e,n];g.halfedges.push(pm.push(Pc(u=3Dg.site,w,M))-1=
,pm.push(Pc(u,M,T))-1,pm.push(Pc(u,T,N))-1,pm.push(Pc(u,N,w))-1)}}for(i=3D0=
;i=3D-gm)){var p=3Dc*c+s*s,d=3Df*f+l*l,v=3D(l*p-s*d)/h,=
_=3D(c*d-f*p)/h,g=3Ddm.pop()||new jc;g.arc=3Dt,g.site=3Di,g.x=3Dv+u,g.y=3D(=
g.cy=3D_+a)+Math.sqrt(v*v+_*_),t.circle=3Dg;for(var y=3Dnull,m=3Dhm._;m;)if=
(g.y<m.y||g.y=3D=3D=3Dm.y&&g.x<=3Dm.x){if(!m.L){y=3Dm.P;break}m=3Dm.L}else{=
if(!m.R){y=3Dm;break}m=3Dm.R}hm.insert(y,g),y||(sm=3Dg)}}}}function Xc(t){v=
ar n=3Dt.circle;n&&(n.P||(sm=3Dn.N),hm.remove(n),dm.push(n),Sc(n),t.circle=
=3Dnull)}function $c(){Sc(this),this.edge=3Dthis.site=3Dthis.circle=3Dnull}=
function Vc(t){var n=3Dvm.pop()||new $c;return n.site=3Dt,n}function Wc(t){=
Xc(t),fm.remove(t),vm.push(t),Sc(t)}function Zc(t){var n=3Dt.circle,e=3Dn.x=
,r=3Dn.cy,i=3D[e,r],o=3Dt.P,u=3Dt.N,a=3D[t];Wc(t);for(var c=3Do;c.circle&&M=
ath.abs(e-c.circle.x)<_m&&Math.abs(r-c.circle.cy)<_m;)o=3Dc.P,a.unshift(c),=
Wc(c),c=3Do;a.unshift(c),Xc(c);for(var s=3Du;s.circle&&Math.abs(e-s.circle.=
x)<_m&&Math.abs(r-s.circle.cy)<_m;)u=3Ds.N,a.push(s),Wc(s),s=3Du;a.push(s),=
Xc(s);var f,l=3Da.length;for(f=3D1;f_m)a=3Da.L;else{if(!((i=3Do-Qc(a,u))>_m)){r>-_m?(n=3Da.P,e=3Da):=
i>-_m?(n=3Da,e=3Da.N):n=3De=3Da;break}if(!a.R){n=3Da;break}a=3Da.R}Dc(t);va=
r c=3DVc(t);if(fm.insert(n,c),n||e){if(n=3D=3D=3De)return Xc(n),e=3DVc(n.si=
te),fm.insert(c,e),c.edge=3De.edge=3Dzc(n.site,c.site),Hc(n),void Hc(e);if(=
e){Xc(n),Xc(e);var s=3Dn.site,f=3Ds[0],l=3Ds[1],h=3Dt[0]-f,p=3Dt[1]-l,d=3De=
.site,v=3Dd[0]-f,_=3Dd[1]-l,g=3D2*(h*_-p*v),y=3Dh*h+p*p,m=3Dv*v+_*_,x=3D[(_=
*y-p*m)/g+f,(h*m-v*y)/g+l];Rc(e.edge,s,d,x),c.edge=3Dzc(s,t,null,x),e.edge=
=3Dzc(t,d,null,x),Hc(n),Hc(e)}else c.edge=3Dzc(n.site,c.site)}}function Jc(=
t,n){var e=3Dt.site,r=3De[0],i=3De[1],o=3Di-n;if(!o)return r;var u=3Dt.P;if=
(!u)return-1/0;var a=3D(e=3Du.site)[0],c=3De[1],s=3Dc-n;if(!s)return a;var =
f=3Da-r,l=3D1/o-1/s,h=3Df/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/=
2+i-o/2)))/l+r:(r+a)/2}function Qc(t,n){var e=3Dt.N;if(e)return Jc(e,n);var=
r=3Dt.site;return r[1]=3D=3D=3Dn?r[0]:1/0}function Kc(t,n,e){return(t[0]-e=
[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function ts(t,n){return n[1]-t[1]|=
|n[0]-t[0]}function ns(t,n){var e,r,i,o=3Dt.sort(ts).pop();for(pm=3D[],lm=
=3Dnew Array(t.length),fm=3Dnew kc,hm=3Dnew kc;;)if(i=3Dsm,o&&(!i||o[1]<i.y=
||o[1]=3D=3D=3Di.y&&o[0]<i.x))o[0]=3D=3D=3De&&o[1]=3D=3D=3Dr||(Gc(o),e=3Do[=
0],r=3Do[1]),o=3Dt.pop();else{if(!i)break;Zc(i.arc)}if(Yc(),n){var u=3D+n[0=
][0],a=3D+n[0][1],c=3D+n[1][0],s=3D+n[1][1];Uc(u,a,c,s),Bc(u,a,c,s)}this.ed=
ges=3Dpm,this.cells=3Dlm,fm=3Dhm=3Dpm=3Dlm=3Dnull}function es(t,n,e){this.t=
arget=3Dt,this.type=3Dn,this.transform=3De}function rs(t,n,e){this.k=3Dt,th=
is.x=3Dn,this.y=3De}function is(t){return t.__zoom||mm}function os(){t.even=
t.stopImmediatePropagation()}function us(){return!t.event.button}function a=
s(){var t,n,e=3Dthis;return e instanceof SVGElement?(t=3D(e=3De.ownerSVGEle=
ment||e).width.baseVal.value,n=3De.height.baseVal.value):(t=3De.clientWidth=
,n=3De.clientHeight),[[0,0],[t,n]]}function cs(){return this.__zoom||mm}fun=
ction ss(){return-t.event.deltaY*(t.event.deltaMode?120:1)/500}function fs(=
){return"ontouchstart"in this}var ls=3Dfunction(t,n){return tn?1:t>=
=3Dn?0:NaN},hs=3Dfunction(t){return 1=3D=3D=3Dt.length&&(t=3Dn(t)),{left:fu=
nction(n,e,r,i){for(null=3D=3Dr&&(r=3D0),null=3D=3Di&&(i=3Dn.length);r>>1;t(n[o],e)<0?r=3Do+1:i=3Do}return r},right:function(n,e,r,i)=
{for(null=3D=3Dr&&(r=3D0),null=3D=3Di&&(i=3Dn.length);r>>1=
;t(n[o],e)>0?i=3Do:r=3Do+1}return r}}},ps=3Dhs(ls),ds=3Dps.right,vs=3Dps.le=
ft,_s=3Dfunction(t){return null=3D=3D=3Dt?NaN:+t},gs=3Dfunction(t,n){var e,=
r,i=3Dt.length,o=3D0,u=3D-1,a=3D0,c=3D0;if(null=3D=3Dn)for(;++u<i;)isNaN(e=
=3D_s(t[u]))||(c+=3D(r=3De-a)*(e-(a+=3Dr/++o)));else for(;++u1)return c/(o-1)},=
ys=3Dfunction(t,n){var e=3Dgs(t,n);return e?Math.sqrt(e):e},ms=3Dfunction(t=
,n){var e,r,i,o=3Dt.length,u=3D-1;if(null=3D=3Dn){for(;++u=3De)for(r=3Di=3De;++ue&&(r=3De),i<e=
&&(i=3De))}else for(;++u=3De)for(r=3Di=
=3De;++ue&&(r=3De),i<e&&(i=3De));return[r=
,i]},xs=3DArray.prototype,bs=3Dxs.slice,ws=3Dxs.map,Ms=3Dfunction(t){return=
function(){return t}},Ts=3Dfunction(t){return t},Ns=3Dfunction(t,n,e){t=3D=
+t,n=3D+n,e=3D(i=3Darguments.length)<2?(n=3Dt,t=3D0,1):i<3?1:+e;for(var r=
=3D-1,i=3D0|Math.max(0,Math.ceil((n-t)/e)),o=3Dnew Array(i);++r0)return[t];if((i=3Dn0)for(t=3DMath.ceil(t/a),n=3DMath.floor(n/a),u=3D=
new Array(o=3DMath.ceil(n-t+1));++c<o;)u[c]=3D(t+c)*a;else for(t=3DMath.flo=
or(t*a),n=3DMath.ceil(n*a),u=3Dnew Array(o=3DMath.ceil(t-n+1));++c<o;)u[c]=
=3D(t-c)/a;return i&&u.reverse(),u},Cs=3Dfunction(t){return Math.ceil(Math.=
log(t.length)/Math.LN2)+1},zs=3Dfunction(t,n,e){if(null=3D=3De&&(e=3D_s),r=
=3Dt.length){if((n=3D+n)<=3D0||r=3D1)return+e(t[=
r-1],r-1,t);var r,i=3D(r-1)*n,o=3DMath.floor(i),u=3D+e(t[o],o,t);return u+(=
+e(t[o+1],o+1,t)-u)*(i-o)}},Ps=3Dfunction(t){for(var n,e,r,i=3Dt.length,o=
=3D-1,u=3D0;++o=3D0;)for(n=3D=
(r=3Dt[i]).length;–n>=3D0;)e[–u]=3Dr[n];return e},Rs=3Dfunction(t,n){var =
e,r,i=3Dt.length,o=3D-1;if(null=3D=3Dn){for(;++o=3De)for(r=3De;++oe&&(r=3De)}else for(;++o=3De)for(r=3De;++oe&&(r=3De);return r},Ls=3Dfunction(t){if(!(i=3Dt.length))return[];fo=
r(var n=3D-1,e=3DRs(t,o),r=3Dnew Array(e);++n<e;)for(var i,u=3D-1,a=3Dr[n]=
=3Dnew Array(i);++u<i;)a[u]=3Dt[u][n];return r},qs=3DArray.prototype.slice,=
Us=3Dfunction(t){return t},Ds=3D1,Os=3D2,Fs=3D3,Is=3D4,Ys=3D1e-6,Bs=3D{valu=
e:function(){}};p.prototype=3Dh.prototype=3D{constructor:p,on:function(t,n)=
{var e,r=3Dthis._,i=3Dd(t+"",r),o=3D-1,u=3Di.length;{if(!(arguments.length<=
2)){if(null!=3Dn&&"function"!=3Dtypeof n)throw new Error("invalid callback:=
"+n);for(;++o<u;)if(e=3D(t=3Di[o]).type)r[e]=3D_(r[e],t.name,n);else if(nu=
ll=3D=3Dn)for(e in r)r[e]=3D_(r[e],t.name,null);return this}for(;++o0)for(var e,r,i=3Dnew Array(e),o=
=3D0;o<e;++o)i[o]=3Darguments[o+2];if(!this._.hasOwnProperty(t))throw new E=
rror("unknown type: "+t);for(o=3D0,e=3D(r=3Dthis._[t]).length;o<e;++o)r[o].=
value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw =
new Error("unknown type: "+t);for(var r=3Dthis._[t],i=3D0,o=3Dr.length;i=3D0=
&&”xmlns”!=3D=3D(n=3Dt.slice(0,e))&&(t=3Dt.slice(e+1)),Hs.hasOwnProperty(n)=
?{space:Hs[n],local:t}:t},$s=3Dfunction(t){var n=3DXs(t);return(n.local?y:g=
)(n)},Vs=3D0;x.prototype=3Dm.prototype=3D{constructor:x,get:function(t){for=
(var n=3Dthis._;!(n in t);)if(!(t=3Dt.parentNode))return;return t[n]},set:f=
unction(t,n){return t[this._]=3Dn},remove:function(t){return this._ in t&&d=
elete t[this._]},toString:function(){return this._}};var Ws=3Dfunction(t){r=
eturn function(){return this.matches(t)}};if(“undefined”!=3Dtypeof document=
){var Zs=3Ddocument.documentElement;if(!Zs.matches){var Gs=3DZs.webkitMatch=
esSelector||Zs.msMatchesSelector||Zs.mozMatchesSelector||Zs.oMatchesSelecto=
r;Ws=3Dfunction(t){return function(){return Gs.call(this,t)}}}}var Js=3DWs,=
Qs=3D{};t.event=3Dnull,”undefined”!=3Dtypeof document&&(“onmouseenter”in do=
cument.documentElement||(Qs=3D{mouseenter:”mouseover”,mouseleave:”mouseout”=
}));var Ks=3Dfunction(){for(var n,e=3Dt.event;n=3De.sourceEvent;)e=3Dn;retu=
rn e},tf=3Dfunction(t,n){var e=3Dt.ownerSVGElement||t;if(e.createSVGPoint){=
var r=3De.createSVGPoint();return r.x=3Dn.clientX,r.y=3Dn.clientY,r=3Dr.mat=
rixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=3Dt.getBoundingCli=
entRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]=
},nf=3Dfunction(t){var n=3DKs();return n.changedTouches&&(n=3Dn.changedTouc=
hes[0]),tf(t,n)},ef=3Dfunction(t){return null=3D=3Dt?S:function(){return th=
is.querySelector(t)}},rf=3Dfunction(t){return null=3D=3Dt?E:function(){retu=
rn this.querySelectorAll(t)}},of=3Dfunction(t){return new Array(t.length)};=
A.prototype=3D{constructor:A,appendChild:function(t){return this._parent.in=
sertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.in=
sertBefore(t,n)},querySelector:function(t){return this._parent.querySelecto=
r(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}=
};var uf=3Dfunction(t){return function(){return t}},af=3D”$”,cf=3Dfunction(=
t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.de=
faultView};W.prototype=3D{add:function(t){this._names.indexOf(t)=3D0&&(this._names.splice(n=
,1),this._node.setAttribute(“class”,this._names.join(” “)))},contains:funct=
ion(t){return this._names.indexOf(t)>=3D0}};var sf=3D[null];pt.prototype=3D=
dt.prototype=3D{constructor:pt,select:function(t){“function”!=3Dtypeof t&&(=
t=3Def(t));for(var n=3Dthis._groups,e=3Dn.length,r=3Dnew Array(e),i=3D0;i<e=
;++i)for(var o,u,a=3Dn[i],c=3Da.length,s=3Dr[i]=3Dnew Array(c),f=3D0;f<c;++=
f)(o=3Da[f])&&(u=3Dt.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=
=3Do.__data__),s[f]=3Du);return new pt(r,this._parents)},selectAll:function=
(t){"function"!=3Dtypeof t&&(t=3Drf(t));for(var n=3Dthis._groups,e=3Dn.leng=
th,r=3D[],i=3D[],o=3D0;o<e;++o)for(var u,a=3Dn[o],c=3Da.length,s=3D0;s<c;++=
s)(u=3Da[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new pt(r,=
i)},filter:function(t){"function"!=3Dtypeof t&&(t=3DJs(t));for(var n=3Dthis=
._groups,e=3Dn.length,r=3Dnew Array(e),i=3D0;i<e;++i)for(var o,u=3Dn[i],a=
=3Du.length,c=3Dr[i]=3D[],s=3D0;s<a;++s)(o=3Du[s])&&t.call(o,o.__data__,s,u=
)&&c.push(o);return new pt(r,this._parents)},data:function(t,n){if(!t)retur=
n p=3Dnew Array(this.size()),s=3D-1,this.each(function(t){p[++s]=3Dt}),p;va=
r e=3Dn?z:C,r=3Dthis._parents,i=3Dthis._groups;"function"!=3Dtypeof t&&(t=
=3Duf(t));for(var o=3Di.length,u=3Dnew Array(o),a=3Dnew Array(o),c=3Dnew Ar=
ray(o),s=3D0;s<o;++s){var f=3Dr[s],l=3Di[s],h=3Dl.length,p=3Dt.call(f,f&&f.=
__data__,s,r),d=3Dp.length,v=3Da[s]=3Dnew Array(d),_=3Du[s]=3Dnew Array(d);=
e(f,l,v,_,c[s]=3Dnew Array(h),p,n);for(var g,y,m=3D0,x=3D0;m=3Dx&&(x=3Dm+1);!(y=3D_[x])&&++x<d;);g._next=3Dy||null}}return u=
=3Dnew pt(u,r),u._enter=3Da,u._exit=3Dc,u},enter:function(){return new pt(t=
his._enter||this._groups.map(of),this._parents)},exit:function(){return new=
pt(this._exit||this._groups.map(of),this._parents)},merge:function(t){for(=
var n=3Dthis._groups,e=3Dt._groups,r=3Dn.length,i=3De.length,o=3DMath.min(r=
,i),u=3Dnew Array(r),a=3D0;a<o;++a)for(var c,s=3Dn[a],f=3De[a],l=3Ds.length=
,h=3Du[a]=3Dnew Array(l),p=3D0;p<l;++p)(c=3Ds[p]||f[p])&&(h[p]=3Dc);for(;a<=
r;++a)u[a]=3Dn[a];return new pt(u,this._parents)},order:function(){for(var =
t=3Dthis._groups,n=3D-1,e=3Dt.length;++n=3D0;)(r=3Di[o])&&(u&&u!=3D=3Dr.nextSibling&&u.parentNode.i=
nsertBefore(r,u),u=3Dr);return this},sort:function(t){t||(t=3DP);for(var n=
=3Dthis._groups,e=3Dn.length,r=3Dnew Array(e),i=3D0;i<e;++i){for(var o,u=3D=
n[i],a=3Du.length,c=3Dr[i]=3Dnew Array(a),s=3D0;s<a;++s)(o=3Du[s])&&(c[s]=
=3Do);c.sort(function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e})}ret=
urn new pt(r,this._parents).order()},call:function(){var t=3Darguments[0];r=
eturn arguments[0]=3Dthis,t.apply(null,arguments),this},nodes:function(){va=
r t=3Dnew Array(this.size()),n=3D-1;return this.each(function(){t[++n]=3Dth=
is}),t},node:function(){for(var t=3Dthis._groups,n=3D0,e=3Dt.length;n<e;++n=
)for(var r=3Dt[n],i=3D0,o=3Dr.length;i<o;++i){var u=3Dr[i];if(u)return u}re=
turn null},size:function(){var t=3D0;return this.each(function(){++t}),t},e=
mpty:function(){return!this.node()},each:function(t){for(var n=3Dthis._grou=
ps,e=3D0,r=3Dn.length;e<r;++e)for(var i,o=3Dn[e],u=3D0,a=3Do.length;u<a;++u=
)(i=3Do[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=
=3DXs(t);if(arguments.length1?this.each((null=3D=3Dn?F:”function=
“=3D=3Dtypeof n?Y:I)(t,n,null=3D=3De?””:e)):B(this.node(),t)},property:func=
tion(t,n){return arguments.length>1?this.each((null=3D=3Dn?j:”function”=3D=
=3Dtypeof n?X:H)(t,n)):this.node()[t]},classed:function(t,n){var e=3D$(t+””=
);if(arguments.length<2){for(var r=3DV(this.node()),i=3D-1,o=3De.length;++i=
<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"=3D=
=3Dtypeof n?K:n?J:Q)(e,n))},text:function(t){return arguments.length?this.e=
ach(null=3D=3Dt?tt:("function"=3D=3Dtypeof t?et:nt)(t)):this.node().textCon=
tent},html:function(t){return arguments.length?this.each(null=3D=3Dt?rt:("f=
unction"=3D=3Dtypeof t?ot:it)(t)):this.node().innerHTML},raise:function(){r=
eturn this.each(ut)},lower:function(){return this.each(at)},append:function=
(t){var n=3D"function"=3D=3Dtypeof t?t:$s(t);return this.select(function(){=
return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){va=
r e=3D"function"=3D=3Dtypeof t?t:$s(t),r=3Dnull=3D=3Dn?ct:"function"=3D=3Dt=
ypeof n?n:ef(n);return this.select(function(){return this.insertBefore(e.ap=
ply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){ret=
urn this.each(st)},datum:function(t){return arguments.length?this.property(=
"__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=3DM(t+""),=
u=3Do.length;{if(!(arguments.length<2)){for(a=3Dn?N:T,null=3D=3De&&(e=3D!1)=
,r=3D0;r<u;++r)this.each(a(o[r],n,e));return this}var a=3Dthis.node().__on;=
if(a)for(var c,s=3D0,f=3Da.length;s<f;++s)for(r=3D0,c=3Da[s];r<u;++r)if((i=
=3Do[r]).type=3D=3D=3Dc.type&&i.name=3D=3D=3Dc.name)return c.value}},dispat=
ch:function(t,n){return this.each(("function"=3D=3Dtypeof n?ht:lt)(t,n))}};=
var ff=3Dfunction(t){return"string"=3D=3Dtypeof t?new pt([[document.querySe=
lector(t)]],[document.documentElement]):new pt([[t]],sf)},lf=3Dfunction(t,n=
,e){arguments.length<3&&(e=3Dn,n=3DKs().changedTouches);for(var r,i=3D0,o=
=3Dn?n.length:0;i<o;++i)if((r=3Dn[i]).identifier=3D=3D=3De)return tf(t,r);r=
eturn null},hf=3Dfunction(){t.event.preventDefault(),t.event.stopImmediateP=
ropagation()},pf=3Dfunction(t){var n=3Dt.document.documentElement,e=3Dff(t)=
.on("dragstart.drag",hf,!0);"onselectstart"in n?e.on("selectstart.drag",hf,=
!0):(n.__noselect=3Dn.style.MozUserSelect,n.style.MozUserSelect=3D"none")},=
df=3Dfunction(t){return function(){return t}};gt.prototype.on=3Dfunction(){=
var t=3Dthis._.on.apply(this._,arguments);return t=3D=3D=3Dthis._?this:t};v=
ar vf=3Dfunction(t,n,e){t.prototype=3Dn.prototype=3De,e.constructor=3Dt},_f=
=3D"\\s*([+-]?\\d+)\\s*",gf=3D"\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s=
*",yf=3D"\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mf=3D/^#([0-9a-f]{=
3})$/,xf=3D/^#([0-9a-f]{6})$/,bf=3Dnew RegExp("^rgb\\("+[_f,_f,_f]+"\\)$"),=
wf=3Dnew RegExp("^rgb\\("+[yf,yf,yf]+"\\)$"),Mf=3Dnew RegExp("^rgba\\("+[_f=
,_f,_f,gf]+"\\)$"),Tf=3Dnew RegExp("^rgba\\("+[yf,yf,yf,gf]+"\\)$"),Nf=3Dne=
w RegExp("^hsl\\("+[gf,yf,yf]+"\\)$"),kf=3Dnew RegExp("^hsla\\("+[gf,yf,yf,=
gf]+"\\)$"),Sf=3D{aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquam=
arine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanche=
dalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596=
231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,=
cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkbl=
ue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25=
600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen=
:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon=
:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,=
darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716=
947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,fi=
rebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,=
gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gra=
y:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,h=
otpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:1578=
7660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffo=
n:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightg=
oldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:138=
82323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightsk=
yblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:=
11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,m=
agenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,medi=
umorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslatebl=
ue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:=
13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasi=
n:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,oli=
vedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegolde=
nrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381=
203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum=
:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:1671=
1680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:164168=
82,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,s=
ilver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategre=
y:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,te=
al:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086=
,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgr=
een:10145074};vf(Mt,Tt,{displayable:function(){return this.rgb().displayabl=
e()},toString:function(){return this.rgb()+""}}),vf(At,Et,wt(Mt,{brighter:f=
unction(t){return t=3Dnull=3D=3Dt?1/.7:Math.pow(1/.7,t),new At(this.r*t,thi=
s.g*t,this.b*t,this.opacity)},darker:function(t){return t=3Dnull=3D=3Dt?.7:=
Math.pow(.7,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:functio=
n(){return this},displayable:function(){return 0<=3Dthis.r&&this.r<=3D255&&=
0<=3Dthis.g&&this.g<=3D255&&0<=3Dthis.b&&this.b<=3D255&&0<=3Dthis.opacity&&=
this.opacity<=3D1},toString:function(){var t=3Dthis.opacity;return(1=3D=3D=
=3D(t=3DisNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Ma=
th.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(=
this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1=3D=3D=
=3Dt?")":", "+t+")")}})),vf(Rt,Pt,wt(Mt,{brighter:function(t){return t=3Dnu=
ll=3D=3Dt?1/.7:Math.pow(1/.7,t),new Rt(this.h,this.s,this.l*t,this.opacity)=
},darker:function(t){return t=3Dnull=3D=3Dt?.7:Math.pow(.7,t),new Rt(this.h=
,this.s,this.l*t,this.opacity)},rgb:function(){var t=3Dthis.h%360+360*(this=
.h<0),n=3DisNaN(t)||isNaN(this.s)?0:this.s,e=3Dthis.l,r=3De+(e=3D240?t-240:t+120,i,r),Lt(t,i,r),Lt(t<120?t+2=
40:t-120,i,r),this.opacity)},displayable:function(){return(0<=3Dthis.s&&thi=
s.s<=3D1||isNaN(this.s))&&0<=3Dthis.l&&this.l<=3D1&&0<=3Dthis.opacity&&this=
.opacity<=3D1}}));var Ef=3DMath.PI/180,Af=3D180/Math.PI,Cf=3D.95047,zf=3D1,=
Pf=3D1.08883,Rf=3D4/29,Lf=3D6/29,qf=3D3*Lf*Lf,Uf=3DLf*Lf*Lf;vf(Dt,Ut,wt(Mt,=
{brighter:function(t){return new Dt(this.l+18*(null=3D=3Dt?1:t),this.a,this=
.b,this.opacity)},darker:function(t){return new Dt(this.l-18*(null=3D=3Dt?1=
:t),this.a,this.b,this.opacity)},rgb:function(){var t=3D(this.l+16)/116,n=
=3DisNaN(this.a)?t:t+this.a/500,e=3DisNaN(this.b)?t:t-this.b/200;return t=
=3Dzf*Ft(t),n=3DCf*Ft(n),e=3DPf*Ft(e),new At(It(3.2404542*n-1.5371385*t-.49=
85314*e),It(-.969266*n+1.8760108*t+.041556*e),It(.0556434*n-.2040259*t+1.05=
72252*e),this.opacity)}})),vf(Ht,jt,wt(Mt,{brighter:function(t){return new =
Ht(this.h,this.c,this.l+18*(null=3D=3Dt?1:t),this.opacity)},darker:function=
(t){return new Ht(this.h,this.c,this.l-18*(null=3D=3Dt?1:t),this.opacity)},=
rgb:function(){return qt(this).rgb()}}));var Df=3D-.14861,Of=3D1.78277,Ff=
=3D-.29227,If=3D-.90649,Yf=3D1.97294,Bf=3DYf*If,jf=3DYf*Of,Hf=3DOf*Ff-If*Df=
;vf(Vt,$t,wt(Mt,{brighter:function(t){return t=3Dnull=3D=3Dt?1/.7:Math.pow(=
1/.7,t),new Vt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){ret=
urn t=3Dnull=3D=3Dt?.7:Math.pow(.7,t),new Vt(this.h,this.s,this.l*t,this.op=
acity)},rgb:function(){var t=3DisNaN(this.h)?0:(this.h+120)*Ef,n=3D+this.l,=
e=3DisNaN(this.s)?0:this.s*n*(1-n),r=3DMath.cos(t),i=3DMath.sin(t);return n=
ew At(255*(n+e*(Df*r+Of*i)),255*(n+e*(Ff*r+If*i)),255*(n+e*(Yf*r)),this.opa=
city)}}));var Xf,$f,Vf,Wf,Zf,Gf,Jf=3Dfunction(t){var n=3Dt.length-1;return =
function(e){var r=3De=3D1?(e=3D1,n-1):Math.floor(e*n),i=3Dt[r=
],o=3Dt[r+1],u=3Dr>0?t[r-1]:2*i-o,a=3Dr<n-1?t[r+2]:2*o-i;return Wt((e-r/n)*=
n,u,i,o,a)}},Qf=3Dfunction(t){var n=3Dt.length;return function(e){var r=3DM=
ath.floor(((e%=3D1)<0?++e:e)*n),i=3Dt[(r+n-1)%n],o=3Dt[r%n],u=3Dt[(r+1)%n],=
a=3Dt[(r+2)%n];return Wt((e-r/n)*n,i,o,u,a)}},Kf=3Dfunction(t){return funct=
ion(){return t}},tl=3Dfunction t(n){function e(t,n){var e=3Dr((t=3DEt(t)).r=
,(n=3DEt(n)).r),i=3Dr(t.g,n.g),o=3Dr(t.b,n.b),u=3DKt(t.opacity,n.opacity);r=
eturn function(n){return t.r=3De(n),t.g=3Di(n),t.b=3Do(n),t.opacity=3Du(n),=
t+""}}var r=3DQt(n);return e.gamma=3Dt,e}(1),nl=3Dtn(Jf),el=3Dtn(Qf),rl=3Df=
unction(t,n){var e,r=3Dn?n.length:0,i=3Dt?Math.min(r,t.length):0,o=3Dnew Ar=
ray(r),u=3Dnew Array(r);for(e=3D0;e<i;++e)o[e]=3Dfl(t[e],n[e]);for(;e<r;++e=
)u[e]=3Dn[e];return function(t){for(e=3D0;eo&&(i=3Dn.slice(o,i),a[u]?a[u]+=
=3Di:a[++u]=3Di),(e=3De[0])=3D=3D=3D(r=3Dr[0])?a[u]?a[u]+=3Dr:a[++u]=3Dr:(a=
[++u]=3Dnull,c.push({i:u,x:ol(e,r)})),o=3Dcl.lastIndex;return o<n.length&&(=
i=3Dn.slice(o),a[u]?a[u]+=3Di:a[++u]=3Di),a.length<2?c[0]?en(c[0].x):nn(n):=
(n=3Dc.length,function(t){for(var e,r=3D0;r<n;++r)a[(e=3Dc[r]).i]=3De.x(t);=
return a.join("")})},fl=3Dfunction(t,n){var e,r=3Dtypeof n;return null=3D=
=3Dn||"boolean"=3D=3D=3Dr?Kf(n):("number"=3D=3D=3Dr?ol:"string"=3D=3D=3Dr?(=
e=3DTt(n))?(n=3De,tl):sl:n instanceof Tt?tl:n instanceof Date?il:Array.isAr=
ray(n)?rl:"function"!=3Dtypeof n.valueOf&&"function"!=3Dtypeof n.toString||=
isNaN(n)?ul:ol)(t,n)},ll=3Dfunction(t,n){return t=3D+t,n-=3Dt,function(e){r=
eturn Math.round(t+n*e)}},hl=3D180/Math.PI,pl=3D{translateX:0,translateY:0,=
rotate:0,skewX:0,scaleX:1,scaleY:1},dl=3Dfunction(t,n,e,r,i,o){var u,a,c;re=
turn(u=3DMath.sqrt(t*t+n*n))&&(t/=3Du,n/=3Du),(c=3Dt*e+n*r)&&(e-=3Dt*c,r-=
=3Dn*c),(a=3DMath.sqrt(e*e+r*r))&&(e/=3Da,r/=3Da,c/=3Da),t*r<n*e&&(t=3D-t,n=
=3D-n,c=3D-c,u=3D-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*hl,s=
kewX:Math.atan(c)*hl,scaleX:u,scaleY:a}},vl=3Drn(function(t){return"none"=
=3D=3D=3Dt?pl:(Xf||(Xf=3Ddocument.createElement("DIV"),$f=3Ddocument.docume=
ntElement,Vf=3Ddocument.defaultView),Xf.style.transform=3Dt,t=3DVf.getCompu=
tedStyle($f.appendChild(Xf),null).getPropertyValue("transform"),$f.removeCh=
ild(Xf),t=3Dt.slice(7,-1).split(","),dl(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]=
))},"px, ","px)","deg)"),_l=3Drn(function(t){return null=3D=3Dt?pl:(Wf||(Wf=
=3Ddocument.createElementNS("http://www.w3.org/2000/svg","g")),Wf.setAttrib=
ute("transform",t),(t=3DWf.transform.baseVal.consolidate())?(t=3Dt.matrix,d=
l(t.a,t.b,t.c,t.d,t.e,t.f)):pl)},", ",")",")"),gl=3DMath.SQRT2,yl=3Dfunctio=
n(t,n){var e,r,i=3Dt[0],o=3Dt[1],u=3Dt[2],a=3Dn[0],c=3Dn[1],s=3Dn[2],f=3Da-=
i,l=3Dc-o,h=3Df*f+l*l;if(hFl&&e.state<Bl,e.state=3Djl,e.timer.stop(),r&&e.=
on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=3D!1;u&&de=
lete t.__transition}},$l=3Dfunction(t,n){var e;return("number"=3D=3Dtypeof =
n?ol:n instanceof Tt?tl:(e=3DTt(n))?(n=3De,tl):sl)(t,n)},Vl=3Ddt.prototype.=
constructor,Wl=3D0,Zl=3Ddt.prototype;Gn.prototype=3DJn.prototype=3D{constru=
ctor:Gn,select:function(t){var n=3Dthis._name,e=3Dthis._id;"function"!=3Dty=
peof t&&(t=3Def(t));for(var r=3Dthis._groups,i=3Dr.length,o=3Dnew Array(i),=
u=3D0;u<i;++u)for(var a,c,s=3Dr[u],f=3Ds.length,l=3Do[u]=3Dnew Array(f),h=
=3D0;h<f;++h)(a=3Ds[h])&&(c=3Dt.call(a,a.__data__,h,s))&&("__data__"in a&&(=
c.__data__=3Da.__data__),l[h]=3Dc,Hl(l[h],n,e,h,l,wn(a,e)));return new Gn(o=
,this._parents,n,e)},selectAll:function(t){var n=3Dthis._name,e=3Dthis._id;=
"function"!=3Dtypeof t&&(t=3Drf(t));for(var r=3Dthis._groups,i=3Dr.length,o=
=3D[],u=3D[],a=3D0;a<i;++a)for(var c,s=3Dr[a],f=3Ds.length,l=3D0;l<f;++l)if=
(c=3Ds[l]){for(var h,p=3Dt.call(c,c.__data__,l,s),d=3Dwn(c,e),v=3D0,_=3Dp.l=
ength;v<_;++v)(h=3Dp[v])&&Hl(h,n,e,v,p,d);o.push(p),u.push(c)}return new Gn=
(o,u,n,e)},filter:function(t){"function"!=3Dtypeof t&&(t=3DJs(t));for(var n=
=3Dthis._groups,e=3Dn.length,r=3Dnew Array(e),i=3D0;i<e;++i)for(var o,u=3Dn=
[i],a=3Du.length,c=3Dr[i]=3D[],s=3D0;s<a;++s)(o=3Du[s])&&t.call(o,o.__data_=
_,s,u)&&c.push(o);return new Gn(r,this._parents,this._name,this._id)},merge=
:function(t){if(t._id!=3D=3Dthis._id)throw new Error;for(var n=3Dthis._grou=
ps,e=3Dt._groups,r=3Dn.length,i=3De.length,o=3DMath.min(r,i),u=3Dnew Array(=
r),a=3D0;a<o;++a)for(var c,s=3Dn[a],f=3De[a],l=3Ds.length,h=3Du[a]=3Dnew Ar=
ray(l),p=3D0;p<l;++p)(c=3Ds[p]||f[p])&&(h[p]=3Dc);for(;a<r;++a)u[a]=3Dn[a];=
return new Gn(u,this._parents,this._name,this._id)},selection:function(){re=
turn new Vl(this._groups,this._parents)},transition:function(){for(var t=3D=
this._name,n=3Dthis._id,e=3DQn(),r=3Dthis._groups,i=3Dr.length,o=3D0;o<i;++=
o)for(var u,a=3Dr[o],c=3Da.length,s=3D0;s<c;++s)if(u=3Da[s]){var f=3Dwn(u,n=
);Hl(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,=
ease:f.ease})}return new Gn(r,this._parents,t,e)},call:Zl.call,nodes:Zl.nod=
es,node:Zl.node,size:Zl.size,empty:Zl.empty,each:Zl.each,on:function(t,n){v=
ar e=3Dthis._id;return arguments.length<2?wn(this.node(),e).on.on(t):this.e=
ach(Yn(e,t,n))},attr:function(t,n){var e=3DXs(t),r=3D"transform"=3D=3D=3De?=
_l:$l;return this.attrTween(t,"function"=3D=3Dtypeof n?(e.local?Pn:zn)(e,r,=
kn(this,"attr."+t,n)):null=3D=3Dn?(e.local?En:Sn)(e):(e.local?Cn:An)(e,r,n+=
""))},attrTween:function(t,n){var e=3D"attr."+t;if(arguments.length<2)retur=
n(e=3Dthis.tween(e))&&e._value;if(null=3D=3Dn)return this.tween(e,null);if(=
"function"!=3Dtypeof n)throw new Error;var r=3DXs(t);return this.tween(e,(r=
.local?Rn:Ln)(r,n))},style:function(t,n,e){var r=3D"transform"=3D=3D(t+=3D"=
")?vl:$l;return null=3D=3Dn?this.styleTween(t,jn(t,r)).on("end.style."+t,Hn=
(t)):this.styleTween(t,"function"=3D=3Dtypeof n?$n(t,r,kn(this,"style."+t,n=
)):Xn(t,r,n+""),e)},styleTween:function(t,n,e){var r=3D"style."+(t+=3D"");i=
f(arguments.length<2)return(r=3Dthis.tween(r))&&r._value;if(null=3D=3Dn)ret=
urn this.tween(r,null);if("function"!=3Dtypeof n)throw new Error;return thi=
s.tween(r,Vn(t,n,null=3D=3De?"":e))},text:function(t){return this.tween("te=
xt","function"=3D=3Dtypeof t?Zn(kn(this,"text",t)):Wn(null=3D=3Dt?"":t+""))=
},remove:function(){return this.on("end.remove",Bn(this._id))},tween:functi=
on(t,n){var e=3Dthis._id;if(t+=3D"",arguments.length<2){for(var r,i=3Dwn(th=
is.node(),e).tween,o=3D0,u=3Di.length;o<u;++o)if((r=3Di[o]).name=3D=3D=3Dt)=
return r.value;return null}return this.each((null=3D=3Dn?Tn:Nn)(e,t,n))},de=
lay:function(t){var n=3Dthis._id;return arguments.length?this.each(("functi=
on"=3D=3Dtypeof t?qn:Un)(n,t)):wn(this.node(),n).delay},duration:function(t=
){var n=3Dthis._id;return arguments.length?this.each(("function"=3D=3Dtypeo=
f t?Dn:On)(n,t)):wn(this.node(),n).duration},ease:function(t){var n=3Dthis.=
_id;return arguments.length?this.each(Fn(n,t)):wn(this.node(),n).ease}};var=
Gl=3Dfunction t(n){function e(t){return Math.pow(t,n)}return n=3D+n,e.expo=
nent=3Dt,e}(3),Jl=3Dfunction t(n){function e(t){return 1-Math.pow(1-t,n)}re=
turn n=3D+n,e.exponent=3Dt,e}(3),Ql=3Dfunction t(n){function e(t){return((t=
*=3D2)<=3D1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=3D+n,e.exponent=3Dt=
,e}(3),Kl=3DMath.PI,th=3DKl/2,nh=3D4/11,eh=3D6/11,rh=3D8/11,ih=3D.75,oh=3D9=
/11,uh=3D10/11,ah=3D.9375,ch=3D21/22,sh=3D63/64,fh=3D1/nh/nh,lh=3Dfunction =
t(n){function e(t){return t*t*((n+1)*t-n)}return n=3D+n,e.overshoot=3Dt,e}(=
1.70158),hh=3Dfunction t(n){function e(t){return–t*t*((n+1)*t+n)+1}return =
n=3D+n,e.overshoot=3Dt,e}(1.70158),ph=3Dfunction t(n){function e(t){return(=
(t*=3D2)<1?t*t*((n+1)*t-n):(t-=3D2)*t*((n+1)*t+n)+2)/2}return n=3D+n,e.over=
shoot=3Dt,e}(1.70158),dh=3D2*Math.PI,vh=3Dfunction t(n,e){function r(t){ret=
urn n*Math.pow(2,10*–t)*Math.sin((i-t)/e)}var i=3DMath.asin(1/(n=3DMath.ma=
x(1,n)))*(e/=3Ddh);return r.amplitude=3Dfunction(n){return t(n,e*dh)},r.per=
iod=3Dfunction(e){return t(n,e)},r}(1,.3),_h=3Dfunction t(n,e){function r(t=
){return 1-n*Math.pow(2,-10*(t=3D+t))*Math.sin((t+i)/e)}var i=3DMath.asin(1=
/(n=3DMath.max(1,n)))*(e/=3Ddh);return r.amplitude=3Dfunction(n){return t(n=
,e*dh)},r.period=3Dfunction(e){return t(n,e)},r}(1,.3),gh=3Dfunction t(n,e)=
{function r(t){return((t=3D2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((i-t)/e):2-=
n*Math.pow(2,-10*t)*Math.sin((i+t)/e))/2}var i=3DMath.asin(1/(n=3DMath.max(=
1,n)))*(e/=3Ddh);return r.amplitude=3Dfunction(n){return t(n,e*dh)},r.perio=
d=3Dfunction(e){return t(n,e)},r}(1,.3),yh=3D{time:null,delay:0,duration:25=
0,ease:te};dt.prototype.interrupt=3Dfunction(t){return this.each(function()=
{Xl(this,t)})},dt.prototype.transition=3Dfunction(t){var n,e;t instanceof G=
n?(n=3Dt._id,t=3Dt._name):(n=3DQn(),(e=3Dyh).time=3Dln(),t=3Dnull=3D=3Dt?nu=
ll:t+"");for(var r=3Dthis._groups,i=3Dr.length,o=3D0;o<i;++o)for(var u,a=3D=
r[o],c=3Da.length,s=3D0;s<c;++s)(u=3Da[s])&&Hl(u,t,n,s,a,e||oe(u,n));return=
new Gn(r,this._parents,t,n)};var mh=3D[null],xh=3Dfunction(t){return funct=
ion(){return t}},bh=3Dfunction(t,n,e){this.target=3Dt,this.type=3Dn,this.se=
lection=3De},wh=3Dfunction(){t.event.preventDefault(),t.event.stopImmediate=
Propagation()},Mh=3D{name:"drag"},Th=3D{name:"space"},Nh=3D{name:"handle"},=
kh=3D{name:"center"},Sh=3D{name:"x",handles:["e","w"].map(ae),input:functio=
n(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return=
t&&[t[0][0],t[1][0]]}},Eh=3D{name:"y",handles:["n","s"].map(ae),input:func=
tion(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){ret=
urn t&&[t[0][1],t[1][1]]}},Ah=3D{name:"xy",handles:["n","e","s","w","nw","n=
e","se","sw"].map(ae),input:function(t){return t},output:function(t){return=
t}},Ch=3D{overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize"=
,s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-res=
ize",sw:"nesw-resize"},zh=3D{e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},P=
h=3D{n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Rh=3D{overlay:1,selection=
:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Lh=3D{overlay:1,selection:=
1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1},qh=3DMath.cos,Uh=3DMath.sin=
,Dh=3DMath.PI,Oh=3DDh/2,Fh=3D2*Dh,Ih=3DMath.max,Yh=3DArray.prototype.slice,=
Bh=3Dfunction(t){return function(){return t}},jh=3DMath.PI,Hh=3D2*jh,Xh=3DH=
h-1e-6;de.prototype=3Dve.prototype=3D{constructor:de,moveTo:function(t,n){t=
his._+=3D"M"+(this._x0=3Dthis._x1=3D+t)+","+(this._y0=3Dthis._y1=3D+n)},clo=
sePath:function(){null!=3D=3Dthis._x1&&(this._x1=3Dthis._x0,this._y1=3Dthis=
._y0,this._+=3D"Z")},lineTo:function(t,n){this._+=3D"L"+(this._x1=3D+t)+","=
+(this._y1=3D+n)},quadraticCurveTo:function(t,n,e,r){this._+=3D"Q"+ +t+","+=
+n+","+(this._x1=3D+e)+","+(this._y1=3D+r)},bezierCurveTo:function(t,n,e,r=
,i,o){this._+=3D"C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=3D+i)+","+(th=
is._y1=3D+o)},arcTo:function(t,n,e,r,i){t=3D+t,n=3D+n,e=3D+e,r=3D+r,i=3D+i;=
var o=3Dthis._x1,u=3Dthis._y1,a=3De-t,c=3Dr-n,s=3Do-t,f=3Du-n,l=3Ds*s+f*f;i=
f(i1e-6)if(Math.abs(f*a-c=
*s)>1e-6&&i){var h=3De-o,p=3Dr-u,d=3Da*a+c*c,v=3Dh*h+p*p,_=3DMath.sqrt(d),g=
=3DMath.sqrt(l),y=3Di*Math.tan((jh-Math.acos((d+l-v)/(2*_*g)))/2),m=3Dy/g,x=
=3Dy/_;Math.abs(m-1)>1e-6&&(this._+=3D”L”+(t+m*s)+”,”+(n+m*f)),this._+=3D”A=
“+i+”,”+i+”,0,0,”+ +(f*h>s*p)+”,”+(this._x1=3Dt+x*a)+”,”+(this._y1=3Dn+x*c)=
}else this._+=3D”L”+(this._x1=3Dt)+”,”+(this._y1=3Dn);else;},arc:function(t=
,n,e,r,i,o){t=3D+t,n=3D+n;var u=3D(e=3D+e)*Math.cos(r),a=3De*Math.sin(r),c=
=3Dt+u,s=3Dn+a,f=3D1^o,l=3Do?r-i:i-r;if(e1=
e-6||Math.abs(this._y1-s)>1e-6)&&(this._+=3D”L”+c+”,”+s),e&&(lXh?this._+=3D”A”+e+”,”+e+”,0,1,”+f+”,”+(t-u)+”,”+(n-a)+”A”+e+”,”+e+”=
,0,1,”+f+”,”+(this._x1=3Dc)+”,”+(this._y1=3Ds):l>1e-6&&(this._+=3D”A”+e+”,”=
+e+”,0,”+ +(l>=3Djh)+”,”+f+”,”+(this._x1=3Dt+e*Math.cos(i))+”,”+(this._y1=
=3Dn+e*Math.sin(i))))},rect:function(t,n,e,r){this._+=3D”M”+(this._x0=3Dthi=
s._x1=3D+t)+”,”+(this._y0=3Dthis._y1=3D+n)+”h”+ +e+”v”+ +r+”h”+-e+”Z”},toSt=
ring:function(){return this._}};be.prototype=3Dwe.prototype=3D{constructor:=
be,has:function(t){return”$”+t in this},get:function(t){return this[“$”+t]}=
,set:function(t,n){return this[“$”+t]=3Dn,this},remove:function(t){var n=3D=
“$”+t;return n in this&&delete this[n]},clear:function(){for(var t in this)=
“$”=3D=3D=3Dt[0]&&delete this[t]},keys:function(){var t=3D[];for(var n in t=
his)”$”=3D=3D=3Dn[0]&&t.push(n.slice(1));return t},values:function(){var t=
=3D[];for(var n in this)”$”=3D=3D=3Dn[0]&&t.push(this[n]);return t},entries=
:function(){var t=3D[];for(var n in this)”$”=3D=3D=3Dn[0]&&t.push({key:n.sl=
ice(1),value:this[n]});return t},size:function(){var t=3D0;for(var n in thi=
s)”$”=3D=3D=3Dn[0]&&++t;return t},empty:function(){for(var t in this)if(“$”=
=3D=3D=3Dt[0])return!1;return!0},each:function(t){for(var n in this)”$”=3D=
=3D=3Dn[0]&&t(this[n],n.slice(1),this)}};var $h=3Dwe.prototype;Se.prototype=
=3DEe.prototype=3D{constructor:Se,has:$h.has,add:function(t){return t+=3D””=
,this[“$”+t]=3Dt,this},remove:$h.remove,clear:$h.clear,values:$h.keys,size:=
$h.size,empty:$h.empty,each:$h.each};var Vh=3D{},Wh=3D{},Zh=3D34,Gh=3D10,Jh=
=3D13,Qh=3Dfunction(t){function n(t,n){function e(){if(s)return Wh;if(f)ret=
urn f=3D!1,Vh;var n,e,r=3Da;if(t.charCodeAt(r)=3D=3D=3DZh){for(;a++=3Du?s=
=3D!0:(e=3Dt.charCodeAt(a++))=3D=3D=3DGh?f=3D!0:e=3D=3D=3DJh&&(f=3D!0,t.cha=
rCodeAt(a)=3D=3D=3DGh&&++a),t.slice(r+1,n-1).replace(/””/g,'”‘)}for(;a<u;){=
if((e=3Dt.charCodeAt(n=3Da++))=3D=3D=3DGh)f=3D!0;else if(e=3D=3D=3DJh)f=3D!=
0,t.charCodeAt(a)=3D=3D=3DGh&&++a;else if(e!=3D=3Do)continue;return t.slice=
(r,n)}return s=3D!0,t.slice(r,u)}var r,i=3D[],u=3Dt.length,a=3D0,c=3D0,s=3D=
u<=3D0,f=3D!1;for(t.charCodeAt(u-1)=3D=3D=3DGh&&–u,t.charCodeAt(u-1)=3D=3D=
=3DJh&&–u;(r=3De())!=3D=3DWh;){for(var l=3D[];r!=3D=3DVh&&r!=3D=3DWh;)l.pu=
sh(r),r=3De();n&&null=3D=3D(l=3Dn(l,c++))||i.push(l)}return i}function e(n)=
{return n.map(r).join(t)}function r(t){return null=3D=3Dt?"":i.test(t+=3D""=
)?'"'+t.replace(/"/g,'""')+'"':t}var i=3Dnew RegExp('["'+t+"\n\r]"),o=3Dt.c=
harCodeAt(0);return{parse:function(t,e){var r,i,o=3Dn(t,function(t,n){if(r)=
return r(t,n-1);i=3Dt,r=3De?Ce(t,e):Ae(t)});return o.columns=3Di,o},parseRo=
ws:n,format:function(n,e){return null=3D=3De&&(e=3Dze(n)),[e.map(r).join(t)=
].concat(n.map(function(n){return e.map(function(t){return r(n[t])}).join(t=
)})).join("\n")},formatRows:function(t){return t.map(e).join("\n")}}},Kh=3D=
Qh(","),tp=3DKh.parse,np=3DKh.parseRows,ep=3DKh.format,rp=3DKh.formatRows,i=
p=3DQh("\t"),op=3Dip.parse,up=3Dip.parseRows,ap=3Dip.format,cp=3Dip.formatR=
ows,sp=3Dfunction(t){return function(){return t}},fp=3Dfunction(){return 1e=
-6*(Math.random()-.5)},lp=3Dfunction(t,n,e,r,i){this.node=3Dt,this.x0=3Dn,t=
his.y0=3De,this.x1=3Dr,this.y1=3Di},hp=3Dqe.prototype=3DUe.prototype;hp.cop=
y=3Dfunction(){var t,n,e=3Dnew Ue(this._x,this._y,this._x0,this._y0,this._x=
1,this._y1),r=3Dthis._root;if(!r)return e;if(!r.length)return e._root=3DDe(=
r),e;for(t=3D[{source:r,target:e._root=3Dnew Array(4)}];r=3Dt.pop();)for(va=
r i=3D0;i<4;++i)(n=3Dr.source[i])&&(n.length?t.push({source:n,target:r.targ=
et[i]=3Dnew Array(4)}):r.target[i]=3DDe(n));return e},hp.add=3Dfunction(t){=
var n=3D+this._x.call(null,t),e=3D+this._y.call(null,t);return Pe(this.cove=
r(n,e),n,e,t)},hp.addAll=3Dfunction(t){var n,e,r,i,o=3Dt.length,u=3Dnew Arr=
ay(o),a=3Dnew Array(o),c=3D1/0,s=3D1/0,f=3D-1/0,l=3D-1/0;for(e=3D0;e<o;++e)=
isNaN(r=3D+this._x.call(null,n=3Dt[e]))||isNaN(i=3D+this._y.call(null,n))||=
(u[e]=3Dr,a[e]=3Di,rf&&(f=3Dr),il&&(l=3Di));for=
(f<c&&(c=3Dthis._x0,f=3Dthis._x1),l<s&&(s=3Dthis._y0,l=3Dthis._y1),this.cov=
er(c,s).cover(f,l),e=3D0;et||t>i||r>n||n>o))return this=
;var u,a,c=3Di-e,s=3Dthis._root;switch(a=3D(n<(r+o)/2)<<1|ti||n>o);=
break;case 1:do{u=3Dnew Array(4),u[a]=3Ds,s=3Du}while(c*=3D2,e=3Di-c,o=3Dr+=
c,e>t||n>o);break;case 2:do{u=3Dnew Array(4),u[a]=3Ds,s=3Du}while(c*=3D2,i=
=3De+c,r=3Do-c,t>i||r>n);break;case 3:do{u=3Dnew Array(4),u[a]=3Ds,s=3Du}wh=
ile(c*=3D2,e=3Di-c,r=3Do-c,e>t||r>n)}this._root&&this._root.length&&(this._=
root=3Ds)}return this._x0=3De,this._y0=3Dr,this._x1=3Di,this._y1=3Do,this},=
hp.data=3Dfunction(){var t=3D[];return this.visit(function(n){if(!n.length)=
do{t.push(n.data)}while(n=3Dn.next)}),t},hp.extent=3Dfunction(t){return arg=
uments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(=
this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},hp.find=3Dfunct=
ion(t,n,e){var r,i,o,u,a,c,s,f=3Dthis._x0,l=3Dthis._y0,h=3Dthis._x1,p=3Dthi=
s._y1,d=3D[],v=3Dthis._root;for(v&&d.push(new lp(v,f,l,h,p)),null=3D=3De?e=
=3D1/0:(f=3Dt-e,l=3Dn-e,h=3Dt+e,p=3Dn+e,e*=3De);c=3Dd.pop();)if(!(!(v=3Dc.n=
ode)||(i=3Dc.x0)>h||(o=3Dc.y0)>p||(u=3Dc.x1)<f||(a=3Dc.y1)=3Dg)<=3D_)&&(c=
=3Dd[d.length-1],d[d.length-1]=3Dd[d.length-1-s],d[d.length-1-s]=3Dc)}else{=
var y=3Dt-+this._x.call(null,v.data),m=3Dn-+this._y.call(null,v.data),x=3Dy=
*y+m*m;if(x=3D(a=3D(d+_)/2))?d=3Da:_=3Da,=
(f=3Du>=3D(c=3D(v+g)/2))?v=3Dc:g=3Dc,n=3Dp,!(p=3Dp[l=3Df<<1|s]))return this=
;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=3Dn,h=3Dl)}for(;p.da=
ta!=3D=3Dt;)if(r=3Dp,!(p=3Dp.next))return this;return(i=3Dp.next)&&delete p=
.next,r?(i?r.next=3Di:delete r.next,this):n?(i?n[l]=3Di:delete n[l],(p=3Dn[=
0]||n[1]||n[2]||n[3])&&p=3D=3D=3D(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[=
h]=3Dp:this._root=3Dp),this):(this._root=3Di,this)},hp.removeAll=3Dfunction=
(t){for(var n=3D0,e=3Dt.length;n<e;++n)this.remove(t[n]);return this},hp.ro=
ot=3Dfunction(){return this._root},hp.size=3Dfunction(){var t=3D0;return th=
is.visit(function(n){if(!n.length)do{++t}while(n=3Dn.next)}),t},hp.visit=3D=
function(t){var n,e,r,i,o,u,a=3D[],c=3Dthis._root;for(c&&a.push(new lp(c,th=
is._x0,this._y0,this._x1,this._y1));n=3Da.pop();)if(!t(c=3Dn.node,r=3Dn.x0,=
i=3Dn.y0,o=3Dn.x1,u=3Dn.y1)&&c.length){var s=3D(r+o)/2,f=3D(i+u)/2;(e=3Dc[3=
])&&a.push(new lp(e,s,f,o,u)),(e=3Dc[2])&&a.push(new lp(e,r,f,s,u)),(e=3Dc[=
1])&&a.push(new lp(e,s,i,o,f)),(e=3Dc[0])&&a.push(new lp(e,r,i,s,f))}return=
this},hp.visitAfter=3Dfunction(t){var n,e=3D[],r=3D[];for(this._root&&e.pu=
sh(new lp(this._root,this._x0,this._y0,this._x1,this._y1));n=3De.pop();){va=
r i=3Dn.node;if(i.length){var o,u=3Dn.x0,a=3Dn.y0,c=3Dn.x1,s=3Dn.y1,f=3D(u+=
c)/2,l=3D(a+s)/2;(o=3Di[0])&&e.push(new lp(o,u,a,f,l)),(o=3Di[1])&&e.push(n=
ew lp(o,f,a,c,l)),(o=3Di[2])&&e.push(new lp(o,u,l,f,s)),(o=3Di[3])&&e.push(=
new lp(o,f,l,c,s))}r.push(n)}for(;n=3Dr.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1=
);return this},hp.x=3Dfunction(t){return arguments.length?(this._x=3Dt,this=
):this._x},hp.y=3Dfunction(t){return arguments.length?(this._y=3Dt,this):th=
is._y};var pp,dp=3D10,vp=3DMath.PI*(3-Math.sqrt(5)),_p=3Dfunction(t,n){if((=
e=3D(t=3Dn?t.toExponential(n-1):t.toExponential()).indexOf("e"))1?r[0]+r.slice(2):r,+t.slice(e+1=
)]},gp=3Dfunction(t){return(t=3D_p(Math.abs(t)))?t[1]:NaN},yp=3Dfunction(t,=
n){return function(e,r){for(var i=3De.length,o=3D[],u=3D0,a=3Dt[0],c=3D0;i>=
0&&a>0&&(c+a+1>r&&(a=3DMath.max(1,r-c)),o.push(e.substring(i-=3Da,i+a)),!((=
c+=3Da+1)>r));)a=3Dt[u=3D(u+1)%t.length];return o.reverse().join(n)}},mp=3D=
function(t){return function(n){return n.replace(/[0-9]/g,function(n){return=
t[+n]})}},xp=3Dfunction(t,n){var e=3D_p(t,n);if(!e)return t+””;var r=3De[0=
],i=3De[1];return ii+1?r.slice(0=
,i+1)+”.”+r.slice(i+1):r+new Array(i-r.length+2).join(“0”)},bp=3D{“”:functi=
on(t,n){t:for(var e,r=3D(t=3Dt.toPrecision(n)).length,i=3D1,o=3D-1;i0&&(o=3D0)}return o>0?t.slice(0,o)+t.slice(e+1=
):t},”%”:function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.=
round(t).toString(2)},c:function(t){return t+””},d:function(t){return Math.=
round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:functio=
n(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:func=
tion(t){return Math.round(t).toString(8)},p:function(t,n){return xp(100*t,n=
)},r:xp,s:function(t,n){var e=3D_p(t,n);if(!e)return t+””;var r=3De[0],i=3D=
e[1],o=3Di-(pp=3D3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=3Dr.length=
;return o=3D=3D=3Du?r:o>u?r+new Array(o-u+1).join(“0″):o>0?r.slice(0,o)+”.”=
+r.slice(o):”0.”+new Array(1-o).join(“0″)+_p(t,Math.max(0,n+o-1))[0]},X:fun=
ction(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){ret=
urn Math.round(t).toString(16)}},wp=3D/^(?:(.)?([=3D^]))?([+\-\( ])?([$#]=
)?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;He.prototype=3DXe.prototype,Xe.prototy=
pe.toString=3Dfunction(){return this.fill+this.align+this.sign+this.symbol+=
(this.zero?”0″:””)+(null=3D=3Dthis.width?””:Math.max(1,0|this.width))+(this=
.comma?”,”:””)+(null=3D=3Dthis.precision?””:”.”+Math.max(0,0|this.precision=
))+this.type};var Mp,Tp=3Dfunction(t){return t},Np=3D[“y”,”z”,”a”,”f”,”p”,”=
n”,”=C2=B5″,”m”,””,”k”,”M”,”G”,”T”,”P”,”E”,”Z”,”Y”],kp=3Dfunction(t){functi=
on n(t){function n(t){var n,r,u,f=3D_,x=3Dg;if(“c”=3D=3D=3Dv)x=3Dy(t)+x,t=
=3D””;else{var b=3D(t=3D+t)<0;if(t=3Dy(Math.abs(t),d),b&&0=3D=3D+t&&(b=3D!1=
),f=3D(b?"("=3D=3D=3Ds?s:"-":"-"=3D=3D=3Ds||"("=3D=3D=3Ds?"":s)+f,x=3Dx+("s=
"=3D=3D=3Dv?Np[8+pp/3]:"")+(b&&"("=3D=3D=3Ds?")":""),m)for(n=3D-1,r=3Dt.len=
gth;++n(u=3Dt.charCodeAt(n))||u>57){x=3D(46=3D=3D=3Du?i+t.slice(n=
+1):t.slice(n))+x,t=3Dt.slice(0,n);break}}p&&!l&&(t=3De(t,1/0));var w=3Df.l=
ength+t.length+x.length,M=3Dw<h?new Array(h-w+1).join(a):"";switch(p&&l&&(t=
=3De(M+t,M.length?h-x.length:1/0),M=3D""),c){case">1)+f+t+x+M.slic=
e(w);break;default:t=3DM+f+t+x}return o(t)}var a=3D(t=3DHe(t)).fill,c=3Dt.a=
lign,s=3Dt.sign,f=3Dt.symbol,l=3Dt.zero,h=3Dt.width,p=3Dt.comma,d=3Dt.preci=
sion,v=3Dt.type,_=3D”$”=3D=3D=3Df?r[0]:”#”=3D=3D=3Df&&/[boxX]/.test(v)?”0″+=
v.toLowerCase():””,g=3D”$”=3D=3D=3Df?r[1]:/[%p]/.test(v)?u:””,y=3Dbp[v],m=
=3D!v||/[defgprs%]/.test(v);return d=3Dnull=3D=3Dd?v?6:12:/[gprs]/.test(v)?=
Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),n.toString=3Dfunction=
(){return t+””},n}var e=3Dt.grouping&&t.thousands?yp(t.grouping,t.thousands=
):Tp,r=3Dt.currency,i=3Dt.decimal,o=3Dt.numerals?mp(t.numerals):Tp,u=3Dt.pe=
rcent||”%”;return{format:n,formatPrefix:function(t,e){var r=3Dn((t=3DHe(t),=
t.type=3D”f”,t)),i=3D3*Math.max(-8,Math.min(8,Math.floor(gp(e)/3))),o=3DMat=
h.pow(10,-i),u=3DNp[8+i/3];return function(t){return r(o*t)+u}}}};$e({decim=
al:”.”,thousands:”,”,grouping:[3],currency:[“$”,””]});var Sp=3Dfunction(t){=
return Math.max(0,-gp(Math.abs(t)))},Ep=3Dfunction(t,n){return Math.max(0,3=
*Math.max(-8,Math.min(8,Math.floor(gp(n)/3)))-gp(Math.abs(t)))},Ap=3Dfuncti=
on(t,n){return t=3DMath.abs(t),n=3DMath.abs(n)-t,Math.max(0,gp(n)-gp(t))+1}=
,Cp=3Dfunction(){return new Ve};Ve.prototype=3D{constructor:Ve,reset:functi=
on(){this.s=3Dthis.t=3D0},add:function(t){We(cd,t,this.t),We(this,cd.s,this=
.s),this.s?this.t+=3Dcd.t:this.s=3Dcd.t},valueOf:function(){return this.s}}=
;var zp,Pp,Rp,Lp,qp,Up,Dp,Op,Fp,Ip,Yp,Bp,jp,Hp,Xp,$p,Vp,Wp,Zp,Gp,Jp,Qp,Kp,t=
d,nd,ed,rd,id,od,ud,ad,cd=3Dnew Ve,sd=3D1e-6,fd=3DMath.PI,ld=3Dfd/2,hd=3Dfd=
/4,pd=3D2*fd,dd=3D180/fd,vd=3Dfd/180,_d=3DMath.abs,gd=3DMath.atan,yd=3DMath=
.atan2,md=3DMath.cos,xd=3DMath.ceil,bd=3DMath.exp,wd=3DMath.log,Md=3DMath.p=
ow,Td=3DMath.sin,Nd=3DMath.sign||function(t){return t>0?1:t<0?-1:0},kd=3DMa=
th.sqrt,Sd=3DMath.tan,Ed=3D{Feature:function(t,n){Ke(t.geometry,n)},Feature=
Collection:function(t,n){for(var e=3Dt.features,r=3D-1,i=3De.length;++r<i;)=
Ke(e[r].geometry,n)}},Ad=3D{Sphere:function(t,n){n.sphere()},Point:function=
(t,n){t=3Dt.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){f=
or(var e=3Dt.coordinates,r=3D-1,i=3De.length;++r<i;)t=3De[r],n.point(t[0],t=
[1],t[2])},LineString:function(t,n){tr(t.coordinates,n,0)},MultiLineString:=
function(t,n){for(var e=3Dt.coordinates,r=3D-1,i=3De.length;++r<i;)tr(e[r],=
n,0)},Polygon:function(t,n){nr(t.coordinates,n)},MultiPolygon:function(t,n)=
{for(var e=3Dt.coordinates,r=3D-1,i=3De.length;++r<i;)nr(e[r],n)},GeometryC=
ollection:function(t,n){for(var e=3Dt.geometries,r=3D-1,i=3De.length;++r<i;=
)Ke(e[r],n)}},Cd=3Dfunction(t,n){t&&Ed.hasOwnProperty(t.type)?Ed[t.type](t,=
n):Ke(t,n)},zd=3DCp(),Pd=3DCp(),Rd=3D{point:Qe,lineStart:Qe,lineEnd:Qe,poly=
gonStart:function(){zd.reset(),Rd.lineStart=3Der,Rd.lineEnd=3Drr},polygonEn=
d:function(){var t=3D+zd;Pd.add(t<0?pd+t:t),this.lineStart=3Dthis.lineEnd=
=3Dthis.point=3DQe},sphere:function(){Pd.add(pd)}},Ld=3DCp(),qd=3D{point:pr=
,lineStart:vr,lineEnd:_r,polygonStart:function(){qd.point=3Dgr,qd.lineStart=
=3Dyr,qd.lineEnd=3Dmr,Ld.reset(),Rd.polygonStart()},polygonEnd:function(){R=
d.polygonEnd(),qd.point=3Dpr,qd.lineStart=3Dvr,qd.lineEnd=3D_r,zdsd?Fp=3D90:Ld2?t[2]*vd:0),n.invert=3Dfunc=
tion(n){return n=3Dt.invert(n[0]*vd,n[1]*vd),n[0]*=3Ddd,n[1]*=3Ddd,n},n},Jd=
=3Dfunction(){var t,n=3D[];return{point:function(n,e){t.push([n,e])},lineSt=
art:function(){n.push(t=3D[])},lineEnd:Qe,rejoin:function(){n.length>1&&n.p=
ush(n.pop().concat(n.shift()))},result:function(){var e=3Dn;return n=3D[],t=
=3Dnull,e}}},Qd=3Dfunction(t,n){return _d(t[0]-n[0])<sd&&_d(t[1]-n[1])<sd},=
Kd=3Dfunction(t,n,e,r,i){var o,u,a=3D[],c=3D[];if(t.forEach(function(t){if(=
!((n=3Dt.length-1)<=3D0)){var n,e,r=3Dt[0],u=3Dt[n];if(Qd(r,u)){for(i.lineS=
tart(),o=3D0;o<n;++o)i.point((r=3Dt[o])[0],r[1]);i.lineEnd()}else a.push(e=
=3Dnew Ir(r,t,null,!0)),c.push(e.o=3Dnew Ir(r,null,e,!1)),a.push(e=3Dnew Ir=
(u,t,null,!1)),c.push(e.o=3Dnew Ir(u,null,e,!0))}}),a.length){for(c.sort(n)=
,Yr(a),Yr(c),o=3D0,u=3Dc.length;o<u;++o)c[o].e=3De=3D!e;for(var s,f,l=3Da[0=
];;){for(var h=3Dl,p=3D!0;h.v;)if((h=3Dh.n)=3D=3D=3Dl)return;s=3Dh.z,i.line=
Start();do{if(h.v=3Dh.o.v=3D!0,h.e){if(p)for(o=3D0,u=3Ds.length;o=3D0;–o)i.point((f=3Ds[o])[0],f[1]);else r(h.x,h.p.x,=
-1,i);h=3Dh.p}s=3D(h=3Dh.o).z,p=3D!p}while(!h.v);i.lineEnd()}}},tv=3DCp(),n=
v=3Dfunction(t,n){var e=3Dn[0],r=3Dn[1],i=3D[Td(e),-md(e),0],o=3D0,u=3D0;tv=
.reset();for(var a=3D0,c=3Dt.length;a<c;++a)if(f=3D(s=3Dt[a]).length)for(va=
r s,f,l=3Ds[f-1],h=3Dl[0],p=3Dl[1]/2+hd,d=3DTd(p),v=3Dmd(p),_=3D0;_=3D0?1:-1,T=3DM*w,N=3DT>fd,k=3Dd*x;if(tv.add(yd(k*M*Td(T=
),v*b+k*md(T))),o+=3DN?w+M*pd:w,N^h>=3De^y>=3De){var S=3Dsr(ar(l),ar(g));hr=
(S);var E=3Dsr(i,S);hr(E);var A=3D(N^w>=3D0?-1:1)*Ge(E[2]);(r>A||r=3D=3D=3D=
A&&(S[0]||S[1]))&&(u+=3DN^w>=3D0?1:-1)}}return(o<-sd||o<sd&&tv0){for(y||(i.polygonStar=
t(),y=3D!0),i.lineStart(),t=3D0;t1&&2&o&&u.push(u.pop().concat(u.shift())),p.push(u.filter(Br))=
}var h,p,d,v=3Dn(i),_=3DJd(),g=3Dn(_),y=3D!1,m=3D{point:o,lineStart:a,lineE=
nd:c,polygonStart:function(){m.point=3Ds,m.lineStart=3Df,m.lineEnd=3Dl,p=3D=
[],h=3D[]},polygonEnd:function(){m.point=3Do,m.lineStart=3Da,m.lineEnd=3Dc,=
p=3DPs(p);var t=3Dnv(h,r);p.length?(y||(i.polygonStart(),y=3D!0),Kd(p,jr,t,=
e,i)):t&&(y||(i.polygonStart(),y=3D!0),i.lineStart(),e(null,null,1,i),i.lin=
eEnd()),y&&(i.polygonEnd(),y=3D!1),p=3Dh=3Dnull},sphere:function(){i.polygo=
nStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};return=
m}},rv=3Dev(function(){return!0},function(t){var n,e=3DNaN,r=3DNaN,i=3DNaN=
;return{lineStart:function(){t.lineStart(),n=3D1},point:function(o,u){var a=
=3Do>0?fd:-fd,c=3D_d(o-e);_d(c-fd)0?ld:-ld),t.po=
int(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=3D0):i!=3D=
=3Da&&c>=3Dfd&&(_d(e-i)<sd&&(e-=3Di*sd),_d(o-a)sd){v=
ar o=3Dt[0]i}function e(t,n,e){var r=3D[1,0,0],o=3Dsr(ar(t),ar(n)),u=3Dcr(=
o,o),a=3Do[0],c=3Du-a*a;if(!c)return!e&&t;var s=3Di*u/c,f=3D-i*a/c,l=3Dsr(r=
,o),h=3Dlr(r,s);fr(h,lr(o,f));var p=3Dl,d=3Dcr(h,p),v=3Dcr(p,p),_=3Dd*d-v*(=
cr(h,h)-1);if(!(_<0)){var g=3Dkd(_),y=3Dlr(p,(-d-g)/v);if(fr(y,h),y=3Dur(y)=
,!e)return y;var m,x=3Dt[0],b=3Dn[0],w=3Dt[1],M=3Dn[1];b<x&&(m=3Dx,x=3Db,b=
=3Dm);var T=3Db-x,N=3D_d(T-fd)<sd,k=3DN||T<sd;if(!N&&M0^y[1]<(_d(y[0]-x)<sd?w:M):w<=3Dy[1]&&y[1]fd^(x<=3Dy[0]&=
&y[0]<=3Db)){var S=3Dlr(p,(-d+g)/v);return fr(S,h),[y,ur(S)]}}}function r(n=
,e){var r=3Du?t:fd-t,i=3D0;return nr&&(i|=3D2),er=
&&(i|=3D8),i}var i=3Dmd(t),o=3D6*vd,u=3Di>0,a=3D_d(i)>sd;return ev(n,functi=
on(t){var i,o,c,s,f;return{lineStart:function(){s=3Dc=3D!1,f=3D1},point:fun=
ction(l,h){var p,d=3D[l,h],v=3Dn(l,h),_=3Du?v?0:r(l,h):v?r(l+(l<0?fd:-fd),h=
):0;if(!i&&(s=3Dc=3Dv)&&t.lineStart(),v!=3D=3Dc&&(!(p=3De(i,d))||Qd(i,p)||Q=
d(d,p))&&(d[0]+=3Dsd,d[1]+=3Dsd,v=3Dn(d[0],d[1])),v!=3D=3Dc)f=3D0,v?(t.line=
Start(),p=3De(d,i),t.point(p[0],p[1])):(p=3De(i,d),t.point(p[0],p[1]),t.lin=
eEnd()),i=3Dp;else if(a&&i&&u^v){var g;_&o||!(g=3De(d,i,!0))||(f=3D0,u?(t.l=
ineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(=
t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])=
))}!v||i&&Qd(i,d)||t.point(d[0],d[1]),i=3Dd,c=3Dv,o=3D_},lineEnd:function()=
{c&&t.lineEnd(),i=3Dnull},clean:function(){return f|(s&&c)<=
0)){if(u/=3Dl,l<0){if(u<s)return;u0){if(u>f)return;u>=
s&&(s=3Du)}if(u=3Di-a,l||!(u<0)){if(u/=3Dl,lf)return;u>s&&(s=3Du)}=
else if(l>0){if(u<s)return;u0)){if(u/=3Dh,h<0=
){if(u<s)return;u0){if(u>f)return;u>s&&(s=3Du)}if(u=
=3Do-c,h||!(u<0)){if(u/=3Dh,hf)return;u>s&&(s=3Du)}else if(h>0){if=
(u<s)return;u0&&(t[0]=3Da+s*l,t[1]=3Dc+s*h),f<1&&(n[0]=
=3Da+f*l,n[1]=3Dc+f*h),!0}}}}},uv=3D1e9,av=3D-uv,cv=3DCp(),sv=3D{sphere:Qe,=
point:Qe,lineStart:function(){sv.point=3DVr,sv.lineEnd=3D$r},lineEnd:Qe,pol=
ygonStart:Qe,polygonEnd:Qe},fv=3Dfunction(t){return cv.reset(),Cd(t,sv),+cv=
},lv=3D[null,null],hv=3D{type:"LineString",coordinates:lv},pv=3Dfunction(t,=
n){return lv[0]=3Dt,lv[1]=3Dn,fv(hv)},dv=3D{Feature:function(t,n){return Zr=
(t.geometry,n)},FeatureCollection:function(t,n){for(var e=3Dt.features,r=3D=
-1,i=3De.length;++r<i;)if(Zr(e[r].geometry,n))return!0;return!1}},vv=3D{Sph=
ere:function(){return!0},Point:function(t,n){return Gr(t.coordinates,n)},Mu=
ltiPoint:function(t,n){for(var e=3Dt.coordinates,r=3D-1,i=3De.length;++r<i;=
)if(Gr(e[r],n))return!0;return!1},LineString:function(t,n){return Jr(t.coor=
dinates,n)},MultiLineString:function(t,n){for(var e=3Dt.coordinates,r=3D-1,=
i=3De.length;++r<i;)if(Jr(e[r],n))return!0;return!1},Polygon:function(t,n){=
return Qr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=3Dt.coordi=
nates,r=3D-1,i=3De.length;++r<i;)if(Qr(e[r],n))return!0;return!1},GeometryC=
ollection:function(t,n){for(var e=3Dt.geometries,r=3D-1,i=3De.length;++r<i;=
)if(Zr(e[r],n))return!0;return!1}},_v=3Dfunction(t){return t},gv=3DCp(),yv=
=3DCp(),mv=3D{point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){mv.l=
ineStart=3Dii,mv.lineEnd=3Dai},polygonEnd:function(){mv.lineStart=3Dmv.line=
End=3Dmv.point=3DQe,gv.add(_d(yv)),yv.reset()},result:function(){var t=3Dgv=
/2;return gv.reset(),t}},xv=3D1/0,bv=3Dxv,wv=3D-xv,Mv=3Dwv,Tv=3D{point:func=
tion(t,n){twv&&(wv=3Dt),nMv&&(Mv=3Dn)},line=
Start:Qe,lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe,result:function(){var t=
=3D[[xv,bv],[wv,Mv]];return wv=3DMv=3D-(bv=3Dxv=3D1/0),t}},Nv=3D0,kv=3D0,Sv=
=3D0,Ev=3D0,Av=3D0,Cv=3D0,zv=3D0,Pv=3D0,Rv=3D0,Lv=3D{point:ci,lineStart:si,=
lineEnd:hi,polygonStart:function(){Lv.lineStart=3Dpi,Lv.lineEnd=3Ddi},polyg=
onEnd:function(){Lv.point=3Dci,Lv.lineStart=3Dsi,Lv.lineEnd=3Dhi},result:fu=
nction(){var t=3DRv?[zv/Rv,Pv/Rv]:Cv?[Ev/Cv,Av/Cv]:Sv?[Nv/Sv,kv/Sv]:[NaN,Na=
N];return Nv=3Dkv=3DSv=3DEv=3DAv=3DCv=3Dzv=3DPv=3DRv=3D0,t}};gi.prototype=
=3D{_radius:4.5,pointRadius:function(t){return this._radius=3Dt,this},polyg=
onStart:function(){this._line=3D0},polygonEnd:function(){this._line=3DNaN},=
lineStart:function(){this._point=3D0},lineEnd:function(){0=3D=3D=3Dthis._li=
ne&&this._context.closePath(),this._point=3DNaN},point:function(t,n){switch=
(this._point){case 0:this._context.moveTo(t,n),this._point=3D1;break;case 1=
:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radiu=
s,n),this._context.arc(t,n,this._radius,0,pd)}},result:Qe};var qv,Uv,Dv,Ov,=
Fv,Iv=3DCp(),Yv=3D{point:Qe,lineStart:function(){Yv.point=3Dyi},lineEnd:fun=
ction(){qv&&mi(Uv,Dv),Yv.point=3DQe},polygonStart:function(){qv=3D!0},polyg=
onEnd:function(){qv=3Dnull},result:function(){var t=3D+Iv;return Iv.reset()=
,t}};xi.prototype=3D{_radius:4.5,_circle:bi(4.5),pointRadius:function(t){re=
turn(t=3D+t)!=3D=3Dthis._radius&&(this._radius=3Dt,this._circle=3Dnull),thi=
s},polygonStart:function(){this._line=3D0},polygonEnd:function(){this._line=
=3DNaN},lineStart:function(){this._point=3D0},lineEnd:function(){0=3D=3D=3D=
this._line&&this._string.push(“Z”),this._point=3DNaN},point:function(t,n){s=
witch(this._point){case 0:this._string.push(“M”,t,”,”,n),this._point=3D1;br=
eak;case 1:this._string.push(“L”,t,”,”,n);break;default:null=3D=3Dthis._cir=
cle&&(this._circle=3Dbi(this._radius)),this._string.push(“M”,t,”,”,n,this._=
circle)}},result:function(){if(this._string.length){var t=3Dthis._string.jo=
in(“”);return this._string=3D[],t}return null}};Mi.prototype=3D{constructor=
:Mi,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stre=
am.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function=
(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart(=
)},polygonEnd:function(){this.stream.polygonEnd()}};var Bv=3D16,jv=3Dmd(30*=
vd),Hv=3Dfunction(t,n){return+n?Si(t,n):ki(t)},Xv=3Dwi({point:function(t,n)=
{this.stream.point(t*vd,n*vd)}}),$v=3Dfunction(){return zi(Ri).scale(155.42=
4).center([0,33.6442])},Vv=3Dfunction(){return $v().parallels([29.5,45.5]).=
scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])},Wv=3Dqi=
(function(t){return kd(2/(1+t))});Wv.invert=3DUi(function(t){return 2*Ge(t/=
2)});var Zv=3Dqi(function(t){return(t=3DZe(t))&&t/Td(t)});Zv.invert=3DUi(fu=
nction(t){return t});Di.invert=3Dfunction(t,n){return[t,2*gd(bd(n))-ld]};Yi=
.invert=3DYi;ji.invert=3DUi(gd);Xi.invert=3Dfunction(t,n){var e,r=3Dn,i=3D2=
5;do{var o=3Dr*r,u=3Do*o;r-=3De=3D(r*(1.007226+o*(.015085+u*(.028874*o-.044=
475-.005916*u)))-n)/(1.007226+o*(.045255+u*(.259866*o-.311325-.005916*11*u)=
))}while(_d(e)>sd&&–i>0);return[t/(.8707+(o=3Dr*r)*(o*(o*o*o*(.003971-.001=
529*o)-.013791)-.131979)),r]};$i.invert=3DUi(Ge);Vi.invert=3DUi(function(t)=
{return 2*gd(t)});Wi.invert=3Dfunction(t,n){return[-n,2*gd(bd(t))-ld]};co.p=
rototype=3Dio.prototype=3D{constructor:co,count:function(){return this.each=
After(eo)},each:function(t){var n,e,r,i,o=3Dthis,u=3D[o];do{for(n=3Du.rever=
se(),u=3D[];o=3Dn.pop();)if(t(o),e=3Do.children)for(r=3D0,i=3De.length;r<i;=
++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var=
n,e,r,i=3Dthis,o=3D[i],u=3D[];i=3Do.pop();)if(u.push(i),n=3Di.children)for=
(e=3D0,r=3Dn.length;e=3D0;–e)i.push(n[e]);return this},sum:=
function(t){return this.eachAfter(function(n){for(var e=3D+t(n.data)||0,r=
=3Dn.children,i=3Dr&&r.length;–i>=3D0;)e+=3Dr[i].value;n.value=3De})},sort=
:function(t){return this.eachBefore(function(n){n.children&&n.children.sort=
(t)})},path:function(t){for(var n=3Dthis,e=3Dro(n,t),r=3D[n];n!=3D=3De;)n=
=3Dn.parent,r.push(n);for(var i=3Dr.length;t!=3D=3De;)r.splice(i,0,t),t=3Dt=
.parent;return r},ancestors:function(){for(var t=3Dthis,n=3D[t];t=3Dt.paren=
t;)n.push(t);return n},descendants:function(){var t=3D[];return this.each(f=
unction(n){t.push(n)}),t},leaves:function(){var t=3D[];return this.eachBefo=
re(function(n){n.children||t.push(n)}),t},links:function(){var t=3Dthis,n=
=3D[];return t.each(function(e){e!=3D=3Dt&&n.push({source:e.parent,target:e=
})}),n},copy:function(){return io(this).eachBefore(uo)}};var Gv=3DArray.pro=
totype.slice,Jv=3Dfunction(t){for(var n,e,r=3D0,i=3D(t=3Dso(Gv.call(t))).le=
ngth,o=3D[];r<i;)n=3Dt[r],e&&ho(e,n)?++r:(e=3Dvo(o=3Dfo(o,n)),r=3D0);return=
e},Qv=3Dfunction(t){return function(){return t}},Kv=3Dfunction(t){t.x0=3DM=
ath.round(t.x0),t.y0=3DMath.round(t.y0),t.x1=3DMath.round(t.x1),t.y1=3DMath=
.round(t.y1)},t_=3Dfunction(t,n,e,r,i){for(var o,u=3Dt.children,a=3D-1,c=3D=
u.length,s=3Dt.value&&(r-n)/t.value;++a<c;)(o=3Du[a]).y0=3De,o.y1=3Di,o.x0=
=3Dn,o.x1=3Dn+=3Do.value*s},n_=3D"$",e_=3D{depth:-1},r_=3D{};Fo.prototype=
=3DObject.create(co.prototype);var i_=3Dfunction(t,n,e,r,i){for(var o,u=3Dt=
.children,a=3D-1,c=3Du.length,s=3Dt.value&&(i-e)/t.value;++a1?n:1)},e}(o_),a_=3Dfunction t(n){function e(t,e=
,r,i,o){if((u=3Dt._squarify)&&u.ratio=3D=3D=3Dn)for(var u,a,c,s,f,l=3D-1,h=
=3Du.length,p=3Dt.value;++l<h;){for(c=3D(a=3Du[l]).children,s=3Da.value=3D0=
,f=3Dc.length;s1?n:1)},e}(o_),c_=3Dfunction(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-=
t[1])*(e[0]-t[0])},s_=3D[].slice,f_=3D{};Ho.prototype=3DGo.prototype=3D{con=
structor:Ho,defer:function(t){if(“function”!=3Dtypeof t)throw new Error(“in=
valid callback”);if(this._call)throw new Error(“defer after await”);if(null=
!=3Dthis._error)return this;var n=3Ds_.call(arguments,1);return n.push(t),+=
+this._waiting,this._tasks.push(n),Xo(this),this},abort:function(){return n=
ull=3D=3Dthis._error&&Wo(this,new Error(“abort”)),this},await:function(t){i=
f(“function”!=3Dtypeof t)throw new Error(“invalid callback”);if(this._call)=
throw new Error(“multiple await”);return this._call=3Dfunction(n,e){t.apply=
(null,[n].concat(e))},Zo(this),this},awaitAll:function(t){if(“function”!=3D=
typeof t)throw new Error(“invalid callback”);if(this._call)throw new Error(=
“multiple await”);return this._call=3Dt,Zo(this),this}};var l_=3Dfunction()=
{return Math.random()},h_=3Dfunction t(n){function e(t,e){return t=3Dnull=
=3D=3Dt?0:+t,e=3Dnull=3D=3De?1:+e,1=3D=3D=3Darguments.length?(e=3Dt,t=3D0):=
e-=3Dt,function(){return n()*e+t}}return e.source=3Dt,e}(l_),p_=3Dfunction =
t(n){function e(t,e){var r,i;return t=3Dnull=3D=3Dt?0:+t,e=3Dnull=3D=3De?1:=
+e,function(){var o;if(null!=3Dr)o=3Dr,r=3Dnull;else do{r=3D2*n()-1,o=3D2*n=
()-1,i=3Dr*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}r=
eturn e.source=3Dt,e}(l_),d_=3Dfunction t(n){function e(){var t=3Dp_.source=
(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.=
source=3Dt,e}(l_),v_=3Dfunction t(n){function e(t){return function(){for(va=
r e=3D0,r=3D0;r=3D200&&e3&&e(t)},s.onprogress=3Dfunction(t){a.call(“progress”,r,=
t)},r=3D{header:function(t,n){return t=3D(t+””).toLowerCase(),arguments.len=
gth<2?c.get(t):(null=3D=3Dn?c.remove(t):c.set(t,n+""),r)},mimeType:function=
(t){return arguments.length?(i=3Dnull=3D=3Dt?null:t+"",r):i},responseType:f=
unction(t){return arguments.length?(u=3Dt,r):u},timeout:function(t){return =
arguments.length?(p=3D+t,r):p},user:function(t){return arguments.length<1?f=
:(f=3Dnull=3D=3Dt?null:t+"",r)},password:function(t){return arguments.lengt=
h0&&(s.timeout=3Dp),null=3D=3Do=
&&”function”=3D=3Dtypeof e&&(o=3De,e=3Dnull),null!=3Do&&1=3D=3D=3Do.length&=
&(o=3DJo(o)),null!=3Do&&r.on(“error”,o).on(“load”,function(t){o(null,t)}),a=
.call(“beforesend”,r,s),s.send(null=3D=3De?null:e),r},abort:function(){retu=
rn s.abort(),r},on:function(){var t=3Da.on.apply(a,arguments);return t=3D=
=3D=3Da?r:t}},null!=3Dn){if(“function”!=3Dtypeof n)throw new Error(“invalid=
callback: “+n);return r.get(n)}return r},m_=3Dfunction(t,n){return functio=
n(e,r){var i=3Dy_(e).mimeType(t).response(n);if(null!=3Dr){if(“function”!=
=3Dtypeof r)throw new Error(“invalid callback: “+r);return i.get(r)}return =
i}},x_=3Dm_(“text/html”,function(t){return document.createRange().createCon=
textualFragment(t.responseText)}),b_=3Dm_(“application/json”,function(t){re=
turn JSON.parse(t.responseText)}),w_=3Dm_(“text/plain”,function(t){return t=
.responseText}),M_=3Dm_(“application/xml”,function(t){var n=3Dt.responseXML=
;if(!n)throw new Error(“parse error”);return n}),T_=3Dfunction(t,n){return =
function(e,r,i){arguments.length<3&&(i=3Dr,r=3Dnull);var o=3Dy_(e).mimeType=
(t);return o.row=3Dfunction(t){return arguments.length?o.response(Ko(n,r=3D=
t)):r},o.row(r),i?o.get(i):o}},N_=3DT_("text/csv",tp),k_=3DT_("text/tab-sep=
arated-values",op),S_=3DArray.prototype,E_=3DS_.map,A_=3DS_.slice,C_=3D{nam=
e:"implicit"},z_=3Dfunction(t){return function(){return t}},P_=3Dfunction(t=
){return+t},R_=3D[0,1],L_=3Dfunction(n,e,r){var o,u=3Dn[0],a=3Dn[n.length-1=
],c=3Di(u,a,null=3D=3De?10:e);switch((r=3DHe(null=3D=3Dr?",f":r)).type){cas=
e"s":var s=3DMath.max(Math.abs(u),Math.abs(a));return null!=3Dr.precision||=
isNaN(o=3DEp(c,s))||(r.precision=3Do),t.formatPrefix(r,s);case"":case"e":ca=
se"g":case"p":case"r":null!=3Dr.precision||isNaN(o=3DAp(c,Math.max(Math.abs=
(u),Math.abs(a))))||(r.precision=3Do-("e"=3D=3D=3Dr.type));break;case"f":ca=
se"%":null!=3Dr.precision||isNaN(o=3DSp(c))||(r.precision=3Do-2*("%"=3D=3D=
=3Dr.type))}return t.format(r)},q_=3Dfunction(t,n){var e,r=3D0,i=3D(t=3Dt.s=
lice()).length-1,o=3Dt[r],u=3Dt[i];return u0?t>1=
?Nu(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*=
t)},function(n,e){return(e-n)/t}):O_:null};var F_=3DO_.range,I_=3D6e4,Y_=3D=
6048e5,B_=3DNu(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,n){=
t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.ge=
tUTCSeconds()}),j_=3DB_.range,H_=3DNu(function(t){t.setTime(Math.floor(t/I_=
)*I_)},function(t,n){t.setTime(+t+n*I_)},function(t,n){return(n-t)/I_},func=
tion(t){return t.getMinutes()}),X_=3DH_.range,$_=3DNu(function(t){var n=3Dt=
.getTimezoneOffset()*I_%36e5;n0?Nu(function(n){n.setFullYear(Math.floor(n.g=
etFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.set=
FullYear(n.getFullYear()+e*t)}):null};var pg=3Dhg.range,dg=3DNu(function(t)=
{t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*I_)},function(t,n){retu=
rn(n-t)/I_},function(t){return t.getUTCMinutes()}),vg=3Ddg.range,_g=3DNu(fu=
nction(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},funct=
ion(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),gg=3D_g.ran=
ge,yg=3DNu(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t=
.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.get=
UTCDate()-1}),mg=3Dyg.range,xg=3DSu(0),bg=3DSu(1),wg=3DSu(2),Mg=3DSu(3),Tg=
=3DSu(4),Ng=3DSu(5),kg=3DSu(6),Sg=3Dxg.range,Eg=3Dbg.range,Ag=3Dwg.range,Cg=
=3DMg.range,zg=3DTg.range,Pg=3DNg.range,Rg=3Dkg.range,Lg=3DNu(function(t){t=
.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTC=
Month()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getU=
TCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),qg=
=3DLg.range,Ug=3DNu(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},=
function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return =
n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear(=
)});Ug.every=3Dfunction(t){return isFinite(t=3DMath.floor(t))&&t>0?Nu(funct=
ion(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0=
,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear=
()+e*t)}):null};var Dg,Og=3DUg.range,Fg=3D{“-“:””,_:” “,0:”0″},Ig=3D/^\s*\d=
+/,Yg=3D/^%/,Bg=3D/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;Na({dateTime:”%x, %X”,d=
ate:”%-m/%-d/%Y”,time:”%-I:%M:%S %p”,periods:[“AM”,”PM”],days:[“Sunday”,”Mo=
nday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”],shortDays:[“Sun=
“,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”],months:[“January”,”February”,”March”=
,”April”,”May”,”June”,”July”,”August”,”September”,”October”,”November”,”Dec=
ember”],shortMonths:[“Jan”,”Feb”,”Mar”,”Apr”,”May”,”Jun”,”Jul”,”Aug”,”Sep”,=
“Oct”,”Nov”,”Dec”]});var jg=3DDate.prototype.toISOString?function(t){return=
t.toISOString()}:t.utcFormat(“%Y-%m-%dT%H:%M:%S.%LZ”),Hg=3D+new Date(“2000=
-01-01T00:00:00.000Z”)?function(t){var n=3Dnew Date(t);return isNaN(n)?null=
:n}:t.utcParse(“%Y-%m-%dT%H:%M:%S.%LZ”),Xg=3D1e3,$g=3D60*Xg,Vg=3D60*$g,Wg=
=3D24*Vg,Zg=3D7*Wg,Gg=3D30*Wg,Jg=3D365*Wg,Qg=3Dfunction(t){return t.match(/=
.{6}/g).map(function(t){return”#”+t})},Kg=3DQg(“1f77b4ff7f0e2ca02cd62728946=
7bd8c564be377c27f7f7fbcbd2217becf”),ty=3DQg(“393b795254a36b6ecf9c9ede637939=
8ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55=
194ce6dbdde9ed6”),ny=3DQg(“3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a2=
31a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9”),=
ey=3DQg(“1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564b=
c49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5”),ry=3DTl($t(300,.5,=
0),$t(-240,.5,1)),iy=3DTl($t(-100,.75,.35),$t(80,1.5,.8)),oy=3DTl($t(260,.7=
5,.35),$t(80,1.5,.8)),uy=3D$t(),ay=3DAa(Qg(“44015444025645045745055946075a4=
6085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a=
6c481b6d481c6e481d6f481f704820714821734823744824754825764826774828784829794=
72a7a472c7a472d7b472e7c472f7d46307e46327e46337f4634804535814537814538824439=
83443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883=
f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c3955=
8c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d3=
3638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f=
8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e2=
97b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e2486=
8e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c2=
0928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e=
891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a9832=
4aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b5=
7b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf704=
6c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec9=
6260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517=
cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd9=
3c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28b=
ddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde3=
18dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723f=
de725”)),cy=3DAa(Qg(“00000401000501010601010802010902020b02020d03030f030312=
04041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100=
b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e1149=
20114b21114e22115024125325125527125829115a2a115c2c115f2d11612f1163311165331=
06734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f76451077471078=
4910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c1=
67f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81=
701f81721f817320817521817621817822817922827b23827c23827e2482802582812581832=
6818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80=
982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab3=
37cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77=
c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd34=
36ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64=
e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df26=
25df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785d=
f9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9=
065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772=
fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82feb=
f84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597=
fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfce=
caefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf”)),sy=3DAa(Qg(“00=
000401000501010601010802010a02020c02020e03021004031204031405041706041907051=
b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b3716=
0b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b5=
52b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e096640=
0a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6=
d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69=
166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6=
d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f246990=
25689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c6=
1a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b7=
3557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4=
bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed9=
4d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2=
fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1=
711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850=
ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb=
9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb41=
8fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8=
cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55=
df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5=
f992f6fa96f8fb9af9fc9dfafda1fcffa4”)),fy=3DAa(Qg(“0d088710078813078916078a1=
9068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f05963105=
9733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f4=
8039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01=
a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86=
f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104=
a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39=
410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e=
9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb=
32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a=
83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778c=
c4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd756=
6cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e=
26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea74=
57eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf=
2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f894=
41f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537f=
ca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb8=
2cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26f=
ccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e1=
25f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f=
0f724f0f921”)),ly=3Dfunction(t){return function(){return t}},hy=3DMath.abs,=
py=3DMath.atan2,dy=3DMath.cos,vy=3DMath.max,_y=3DMath.min,gy=3DMath.sin,yy=
=3DMath.sqrt,my=3D1e-12,xy=3DMath.PI,by=3Dxy/2,wy=3D2*xy;Ia.prototype=3D{ar=
eaStart:function(){this._line=3D0},areaEnd:function(){this._line=3DNaN},lin=
eStart:function(){this._point=3D0},lineEnd:function(){(this._line||0!=3D=3D=
this._line&&1=3D=3D=3Dthis._point)&&this._context.closePath(),this._line=3D=
1-this._line},point:function(t,n){switch(t=3D+t,n=3D+n,this._point){case 0:=
this._point=3D1,this._line?this._context.lineTo(t,n):this._context.moveTo(t=
,n);break;case 1:this._point=3D2;default:this._context.lineTo(t,n)}}};var M=
y=3Dfunction(t){return new Ia(t)},Ty=3Dfunction(){function t(t){var a,c,s,f=
=3Dt.length,l=3D!1;for(null=3D=3Di&&(u=3Do(s=3Dve())),a=3D0;a<=3Df;++a)!(a<=
f&&r(c=3Dt[a],a,t))=3D=3D=3Dl&&((l=3D!l)?u.lineStart():u.lineEnd()),l&&u.po=
int(+n(c,a,t),+e(c,a,t));if(s)return u=3Dnull,s+""||null}var n=3DYa,e=3DBa,=
r=3Dly(!0),i=3Dnull,o=3DMy,u=3Dnull;return t.x=3Dfunction(e){return argumen=
ts.length?(n=3D"function"=3D=3Dtypeof e?e:ly(+e),t):n},t.y=3Dfunction(n){re=
turn arguments.length?(e=3D"function"=3D=3Dtypeof n?n:ly(+n),t):e},t.define=
d=3Dfunction(n){return arguments.length?(r=3D"function"=3D=3Dtypeof n?n:ly(=
!!n),t):r},t.curve=3Dfunction(n){return arguments.length?(o=3Dn,null!=3Di&&=
(u=3Do(i)),t):o},t.context=3Dfunction(n){return arguments.length?(null=3D=
=3Dn?i=3Du=3Dnull:u=3Do(i=3Dn),t):i},t},Ny=3Dfunction(){function t(t){var n=
,f,l,h,p,d=3Dt.length,v=3D!1,_=3Dnew Array(d),g=3Dnew Array(d);for(null=3D=
=3Da&&(s=3Dc(p=3Dve())),n=3D0;n<=3Dd;++n){if(!(n=3Df;–l)s.point(_[l],g[l]);s.lineEnd(),s.areaEnd()}v&&(=
_[n]=3D+e(h,n,t),g[n]=3D+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):g[n]=
))}if(p)return s=3Dnull,p+””||null}function n(){return Ty().defined(u).curv=
e(c).context(a)}var e=3DYa,r=3Dnull,i=3Dly(0),o=3DBa,u=3Dly(!0),a=3Dnull,c=
=3DMy,s=3Dnull;return t.x=3Dfunction(n){return arguments.length?(e=3D”funct=
ion”=3D=3Dtypeof n?n:ly(+n),r=3Dnull,t):e},t.x0=3Dfunction(n){return argume=
nts.length?(e=3D”function”=3D=3Dtypeof n?n:ly(+n),t):e},t.x1=3Dfunction(n){=
return arguments.length?(r=3Dnull=3D=3Dn?null:”function”=3D=3Dtypeof n?n:ly=
(+n),t):r},t.y=3Dfunction(n){return arguments.length?(i=3D”function”=3D=3Dt=
ypeof n?n:ly(+n),o=3Dnull,t):i},t.y0=3Dfunction(n){return arguments.length?=
(i=3D”function”=3D=3Dtypeof n?n:ly(+n),t):i},t.y1=3Dfunction(n){return argu=
ments.length?(o=3Dnull=3D=3Dn?null:”function”=3D=3Dtypeof n?n:ly(+n),t):o},=
t.lineX0=3Dt.lineY0=3Dfunction(){return n().x(e).y(i)},t.lineY1=3Dfunction(=
){return n().x(e).y(o)},t.lineX1=3Dfunction(){return n().x(r).y(i)},t.defin=
ed=3Dfunction(n){return arguments.length?(u=3D”function”=3D=3Dtypeof n?n:ly=
(!!n),t):u},t.curve=3Dfunction(n){return arguments.length?(c=3Dn,null!=3Da&=
&(s=3Dc(a)),t):c},t.context=3Dfunction(n){return arguments.length?(null=3D=
=3Dn?a=3Ds=3Dnull:s=3Dc(a=3Dn),t):a},t},ky=3Dfunction(t,n){return n=
t?1:n>=3Dt?0:NaN},Sy=3Dfunction(t){return t},Ey=3DHa(My);ja.prototype=3D{ar=
eaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.=
areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function()=
{this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t)=
,n*-Math.cos(t))}};var Ay=3Dfunction(){return Xa(Ty().curve(Ey))},Cy=3Dfunc=
tion(){var t=3DNy().curve(Ey),n=3Dt.curve,e=3Dt.lineX0,r=3Dt.lineX1,i=3Dt.l=
ineY0,o=3Dt.lineY1;return t.angle=3Dt.x,delete t.x,t.startAngle=3Dt.x0,dele=
te t.x0,t.endAngle=3Dt.x1,delete t.x1,t.radius=3Dt.y,delete t.y,t.innerRadi=
us=3Dt.y0,delete t.y0,t.outerRadius=3Dt.y1,delete t.y1,t.lineStartAngle=3Df=
unction(){return Xa(e())},delete t.lineX0,t.lineEndAngle=3Dfunction(){retur=
n Xa(r())},delete t.lineX1,t.lineInnerRadius=3Dfunction(){return Xa(i())},d=
elete t.lineY0,t.lineOuterRadius=3Dfunction(){return Xa(o())},delete t.line=
Y1,t.curve=3Dfunction(t){return arguments.length?n(Ha(t)):n()._curve},t},zy=
=3Dfunction(t,n){return[(n=3D+n)*Math.cos(t-=3DMath.PI/2),n*Math.sin(t)]},P=
y=3DArray.prototype.slice,Ry=3D{draw:function(t,n){var e=3DMath.sqrt(n/xy);=
t.moveTo(e,0),t.arc(0,0,e,0,wy)}},Ly=3D{draw:function(t,n){var e=3DMath.sqr=
t(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*=
e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e=
,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},qy=
=3DMath.sqrt(1/3),Uy=3D2*qy,Dy=3D{draw:function(t,n){var e=3DMath.sqrt(n/Uy=
),r=3De*qy;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.clos=
ePath()}},Oy=3DMath.sin(xy/10)/Math.sin(7*xy/10),Fy=3DMath.sin(wy/10)*Oy,Iy=
=3D-Math.cos(wy/10)*Oy,Yy=3D{draw:function(t,n){var e=3DMath.sqrt(.89081309=
15292852*n),r=3DFy*e,i=3DIy*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=3D1;o0)for(var r,i=3Dt[0],o=
=3Dn[0],u=3Dt[e]-i,a=3Dn[e]-o,c=3D-1;++c<=3De;)r=3Dc/e,this._basis.point(th=
is._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a)=
);this._x=3Dthis._y=3Dnull,this._basis.lineEnd()},point:function(t,n){this.=
_x.push(+t),this._y.push(+n)}};var Qy=3Dfunction t(n){function e(t){return =
1=3D=3D=3Dn?new Ka(t):new ec(t,n)}return e.beta=3Dfunction(n){return t(+n)}=
,e}(.85);ic.prototype=3D{areaStart:function(){this._line=3D0},areaEnd:funct=
ion(){this._line=3DNaN},lineStart:function(){this._x0=3Dthis._x1=3Dthis._x2=
=3Dthis._y0=3Dthis._y1=3Dthis._y2=3DNaN,this._point=3D0},lineEnd:function()=
{switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;c=
ase 3:rc(this,this._x1,this._y1)}(this._line||0!=3D=3Dthis._line&&1=3D=3D=
=3Dthis._point)&&this._context.closePath(),this._line=3D1-this._line},point=
:function(t,n){switch(t=3D+t,n=3D+n,this._point){case 0:this._point=3D1,thi=
s._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:th=
is._point=3D2,this._x1=3Dt,this._y1=3Dn;break;case 2:this._point=3D3;defaul=
t:rc(this,t,n)}this._x0=3Dthis._x1,this._x1=3Dthis._x2,this._x2=3Dt,this._y=
0=3Dthis._y1,this._y1=3Dthis._y2,this._y2=3Dn}};var Ky=3Dfunction t(n){func=
tion e(t){return new ic(t,n)}return e.tension=3Dfunction(n){return t(+n)},e=
}(0);oc.prototype=3D{areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=
=3Dthis._x1=3Dthis._x2=3Dthis._x3=3Dthis._x4=3Dthis._x5=3Dthis._y0=3Dthis._=
y1=3Dthis._y2=3Dthis._y3=3Dthis._y4=3Dthis._y5=3DNaN,this._point=3D0},lineE=
nd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this=
._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,=
this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._=
y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:fun=
ction(t,n){switch(t=3D+t,n=3D+n,this._point){case 0:this._point=3D1,this._x=
3=3Dt,this._y3=3Dn;break;case 1:this._point=3D2,this._context.moveTo(this._=
x4=3Dt,this._y4=3Dn);break;case 2:this._point=3D3,this._x5=3Dt,this._y5=3Dn=
;break;default:rc(this,t,n)}this._x0=3Dthis._x1,this._x1=3Dthis._x2,this._x=
2=3Dt,this._y0=3Dthis._y1,this._y1=3Dthis._y2,this._y2=3Dn}};var tm=3Dfunct=
ion t(n){function e(t){return new oc(t,n)}return e.tension=3Dfunction(n){re=
turn t(+n)},e}(0);uc.prototype=3D{areaStart:function(){this._line=3D0},area=
End:function(){this._line=3DNaN},lineStart:function(){this._x0=3Dthis._x1=
=3Dthis._x2=3Dthis._y0=3Dthis._y1=3Dthis._y2=3DNaN,this._point=3D0},lineEnd=
:function(){(this._line||0!=3D=3Dthis._line&&3=3D=3D=3Dthis._point)&&this._=
context.closePath(),this._line=3D1-this._line},point:function(t,n){switch(t=
=3D+t,n=3D+n,this._point){case 0:this._point=3D1;break;case 1:this._point=
=3D2;break;case 2:this._point=3D3,this._line?this._context.lineTo(this._x2,=
this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=
=3D4;default:rc(this,t,n)}this._x0=3Dthis._x1,this._x1=3Dthis._x2,this._x2=
=3Dt,this._y0=3Dthis._y1,this._y1=3Dthis._y2,this._y2=3Dn}};var nm=3Dfuncti=
on t(n){function e(t){return new uc(t,n)}return e.tension=3Dfunction(n){ret=
urn t(+n)},e}(0);cc.prototype=3D{areaStart:function(){this._line=3D0},areaE=
nd:function(){this._line=3DNaN},lineStart:function(){this._x0=3Dthis._x1=3D=
this._x2=3Dthis._y0=3Dthis._y1=3Dthis._y2=3DNaN,this._l01_a=3Dthis._l12_a=
=3Dthis._l23_a=3Dthis._l01_2a=3Dthis._l12_2a=3Dthis._l23_2a=3Dthis._point=
=3D0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(th=
is._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!=
=3D=3Dthis._line&&1=3D=3D=3Dthis._point)&&this._context.closePath(),this._l=
ine=3D1-this._line},point:function(t,n){if(t=3D+t,n=3D+n,this._point){var e=
=3Dthis._x2-t,r=3Dthis._y2-n;this._l23_a=3DMath.sqrt(this._l23_2a=3DMath.po=
w(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=3D1,this._li=
ne?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._p=
oint=3D2;break;case 2:this._point=3D3;default:ac(this,t,n)}this._l01_a=3Dth=
is._l12_a,this._l12_a=3Dthis._l23_a,this._l01_2a=3Dthis._l12_2a,this._l12_2=
a=3Dthis._l23_2a,this._x0=3Dthis._x1,this._x1=3Dthis._x2,this._x2=3Dt,this.=
_y0=3Dthis._y1,this._y1=3Dthis._y2,this._y2=3Dn}};var em=3Dfunction t(n){fu=
nction e(t){return n?new cc(t,n):new ic(t,0)}return e.alpha=3Dfunction(n){r=
eturn t(+n)},e}(.5);sc.prototype=3D{areaStart:Jy,areaEnd:Jy,lineStart:funct=
ion(){this._x0=3Dthis._x1=3Dthis._x2=3Dthis._x3=3Dthis._x4=3Dthis._x5=3Dthi=
s._y0=3Dthis._y1=3Dthis._y2=3Dthis._y3=3Dthis._y4=3Dthis._y5=3DNaN,this._l0=
1_a=3Dthis._l12_a=3Dthis._l23_a=3Dthis._l01_2a=3Dthis._l12_2a=3Dthis._l23_2=
a=3Dthis._point=3D0},lineEnd:function(){switch(this._point){case 1:this._co=
ntext.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this=
._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:=
this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this=
._x5,this._y5)}},point:function(t,n){if(t=3D+t,n=3D+n,this._point){var e=3D=
this._x2-t,r=3Dthis._y2-n;this._l23_a=3DMath.sqrt(this._l23_2a=3DMath.pow(e=
*e+r*r,this._alpha))}switch(this._point){case 0:this._point=3D1,this._x3=3D=
t,this._y3=3Dn;break;case 1:this._point=3D2,this._context.moveTo(this._x4=
=3Dt,this._y4=3Dn);break;case 2:this._point=3D3,this._x5=3Dt,this._y5=3Dn;b=
reak;default:ac(this,t,n)}this._l01_a=3Dthis._l12_a,this._l12_a=3Dthis._l23=
_a,this._l01_2a=3Dthis._l12_2a,this._l12_2a=3Dthis._l23_2a,this._x0=3Dthis.=
_x1,this._x1=3Dthis._x2,this._x2=3Dt,this._y0=3Dthis._y1,this._y1=3Dthis._y=
2,this._y2=3Dn}};var rm=3Dfunction t(n){function e(t){return n?new sc(t,n):=
new oc(t,0)}return e.alpha=3Dfunction(n){return t(+n)},e}(.5);fc.prototype=
=3D{areaStart:function(){this._line=3D0},areaEnd:function(){this._line=3DNa=
N},lineStart:function(){this._x0=3Dthis._x1=3Dthis._x2=3Dthis._y0=3Dthis._y=
1=3Dthis._y2=3DNaN,this._l01_a=3Dthis._l12_a=3Dthis._l23_a=3Dthis._l01_2a=
=3Dthis._l12_2a=3Dthis._l23_2a=3Dthis._point=3D0},lineEnd:function(){(this.=
_line||0!=3D=3Dthis._line&&3=3D=3D=3Dthis._point)&&this._context.closePath(=
),this._line=3D1-this._line},point:function(t,n){if(t=3D+t,n=3D+n,this._poi=
nt){var e=3Dthis._x2-t,r=3Dthis._y2-n;this._l23_a=3DMath.sqrt(this._l23_2a=
=3DMath.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=3D=
1;break;case 1:this._point=3D2;break;case 2:this._point=3D3,this._line?this=
._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2)=
;break;case 3:this._point=3D4;default:ac(this,t,n)}this._l01_a=3Dthis._l12_=
a,this._l12_a=3Dthis._l23_a,this._l01_2a=3Dthis._l12_2a,this._l12_2a=3Dthis=
._l23_2a,this._x0=3Dthis._x1,this._x1=3Dthis._x2,this._x2=3Dt,this._y0=3Dth=
is._y1,this._y1=3Dthis._y2,this._y2=3Dn}};var im=3Dfunction t(n){function e=
(t){return n?new fc(t,n):new uc(t,0)}return e.alpha=3Dfunction(n){return t(=
+n)},e}(.5);lc.prototype=3D{areaStart:Jy,areaEnd:Jy,lineStart:function(){th=
is._point=3D0},lineEnd:function(){this._point&&this._context.closePath()},p=
oint:function(t,n){t=3D+t,n=3D+n,this._point?this._context.lineTo(t,n):(thi=
s._point=3D1,this._context.moveTo(t,n))}};_c.prototype=3D{areaStart:functio=
n(){this._line=3D0},areaEnd:function(){this._line=3DNaN},lineStart:function=
(){this._x0=3Dthis._x1=3Dthis._y0=3Dthis._y1=3Dthis._t0=3DNaN,this._point=
=3D0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(th=
is._x1,this._y1);break;case 3:vc(this,this._t0,dc(this,this._t0))}(this._li=
ne||0!=3D=3Dthis._line&&1=3D=3D=3Dthis._point)&&this._context.closePath(),t=
his._line=3D1-this._line},point:function(t,n){var e=3DNaN;if(t=3D+t,n=3D+n,=
t!=3D=3Dthis._x1||n!=3D=3Dthis._y1){switch(this._point){case 0:this._point=
=3D1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;c=
ase 1:this._point=3D2;break;case 2:this._point=3D3,vc(this,dc(this,e=3Dpc(t=
his,t,n)),e);break;default:vc(this,this._t0,e=3Dpc(this,t,n))}this._x0=3Dth=
is._x1,this._x1=3Dt,this._y0=3Dthis._y1,this._y1=3Dn,this._t0=3De}}},(gc.pr=
ototype=3DObject.create(_c.prototype)).point=3Dfunction(t,n){_c.prototype.p=
oint.call(this,n,t)},yc.prototype=3D{moveTo:function(t,n){this._context.mov=
eTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t=
,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._co=
ntext.bezierCurveTo(n,t,r,e,o,i)}},mc.prototype=3D{areaStart:function(){thi=
s._line=3D0},areaEnd:function(){this._line=3DNaN},lineStart:function(){this=
._x=3D[],this._y=3D[]},lineEnd:function(){var t=3Dthis._x,n=3Dthis._y,e=3Dt=
.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.mo=
veTo(t[0],n[0]),2=3D=3D=3De)this._context.lineTo(t[1],n[1]);else for(var r=
=3Dxc(t),i=3Dxc(n),o=3D0,u=3D1;u<e;++o,++u)this._context.bezierCurveTo(r[0]=
[o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!=3D=3Dthis._line&&1=
=3D=3D=3De)&&this._context.closePath(),this._line=3D1-this._line,this._x=3D=
this._y=3Dnull},point:function(t,n){this._x.push(+t),this._y.push(+n)}};bc.=
prototype=3D{areaStart:function(){this._line=3D0},areaEnd:function(){this._=
line=3DNaN},lineStart:function(){this._x=3Dthis._y=3DNaN,this._point=3D0},l=
ineEnd:function(){0<this._t&&this._t=3D0&&(this._t=3D1-this._t,thi=
s._line=3D1-this._line)},point:function(t,n){switch(t=3D+t,n=3D+n,this._poi=
nt){case 0:this._point=3D1,this._line?this._context.lineTo(t,n):this._conte=
xt.moveTo(t,n);break;case 1:this._point=3D2;default:if(this._t1)for=
(var e,r,i,o=3D1,u=3Dt[n[0]],a=3Du.length;o<i;++o)for(r=3Du,u=3Dt[n[o]],e=
=3D0;e
=3D0;)e[n]=3Dn;return e},=
am=3Dfunction(t){var n=3Dt.map(Mc);return um(t).sort(function(t,e){return n=
[t]-n[e]})},cm=3Dfunction(t){return function(){return t}};kc.prototype=3D{c=
onstructor:kc,insert:function(t,n){var e,r,i;if(t){if(n.P=3Dt,n.N=3Dt.N,t.N=
&&(t.N.P=3Dn),t.N=3Dn,t.R){for(t=3Dt.R;t.L;)t=3Dt.L;t.L=3Dn}else t.R=3Dn;e=
=3Dt}else this._?(t=3DCc(this._),n.P=3Dnull,n.N=3Dt,t.P=3Dt.L=3Dn,e=3Dt):(n=
.P=3Dn.N=3Dnull,this._=3Dn,e=3Dnull);for(n.L=3Dn.R=3Dnull,n.U=3De,n.C=3D!0,=
t=3Dn;e&&e.C;)e=3D=3D=3D(r=3De.U).L?(i=3Dr.R)&&i.C?(e.C=3Di.C=3D!1,r.C=3D!0=
,t=3Dr):(t=3D=3D=3De.R&&(Ec(this,e),e=3D(t=3De).U),e.C=3D!1,r.C=3D!0,Ac(thi=
s,r)):(i=3Dr.L)&&i.C?(e.C=3Di.C=3D!1,r.C=3D!0,t=3Dr):(t=3D=3D=3De.L&&(Ac(th=
is,e),e=3D(t=3De).U),e.C=3D!1,r.C=3D!0,Ec(this,r)),e=3Dt.U;this._.C=3D!1},r=
emove:function(t){t.N&&(t.N.P=3Dt.P),t.P&&(t.P.N=3Dt.N),t.N=3Dt.P=3Dnull;va=
r n,e,r,i=3Dt.U,o=3Dt.L,u=3Dt.R;if(e=3Do?u?Cc(u):o:u,i?i.L=3D=3D=3Dt?i.L=3D=
e:i.R=3De:this._=3De,o&&u?(r=3De.C,e.C=3Dt.C,e.L=3Do,o.U=3De,e!=3D=3Du?(i=
=3De.U,e.U=3Dt.U,t=3De.R,i.L=3Dt,e.R=3Du,u.U=3De):(e.U=3Di,i=3De,t=3De.R)):=
(r=3Dt.C,t=3De),t&&(t.U=3Di),!r)if(t&&t.C)t.C=3D!1;else{do{if(t=3D=3D=3Dthi=
s._)break;if(t=3D=3D=3Di.L){if((n=3Di.R).C&&(n.C=3D!1,i.C=3D!0,Ec(this,i),n=
=3Di.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=3D!1,n.C=3D!0,Ac(this,n)=
,n=3Di.R),n.C=3Di.C,i.C=3Dn.R.C=3D!1,Ec(this,i),t=3Dthis._;break}}else if((=
n=3Di.L).C&&(n.C=3D!1,i.C=3D!0,Ac(this,i),n=3Di.L),n.L&&n.L.C||n.R&&n.R.C){=
n.L&&n.L.C||(n.R.C=3D!1,n.C=3D!0,Ec(this,n),n=3Di.L),n.C=3Di.C,i.C=3Dn.L.C=
=3D!1,Ac(this,i),t=3Dthis._;break}n.C=3D!0,t=3Di,i=3Di.U}while(!t.C);t&&(t.=
C=3D!1)}}};var sm,fm,lm,hm,pm,dm=3D[],vm=3D[],_m=3D1e-6,gm=3D1e-12;ns.proto=
type=3D{constructor:ns,polygons:function(){var t=3Dthis.edges;return this.c=
ells.map(function(n){var e=3Dn.halfedges.map(function(e){return Fc(n,t[e])}=
);return e.data=3Dn.site.data,e})},triangles:function(){var t=3D[],n=3Dthis=
.edges;return this.cells.forEach(function(e,r){if(o=3D(i=3De.halfedges).len=
gth)for(var i,o,u,a=3De.site,c=3D-1,s=3Dn[i[o-1]],f=3Ds.left=3D=3D=3Da?s.ri=
ght:s.left;++c<o;)u=3Df,f=3D(s=3Dn[i[c]]).left=3D=3D=3Da?s.right:s.left,u&&=
f&&r<u.index&&r<f.index&&Kc(a,u,f)=3Da)return null;var c=3Dt-i.site[0],s=3Dn-i.site[1],f=3Dc*c+=
s*s;do{i=3Do.cells[r=3Du],u=3Dnull,i.halfedges.forEach(function(e){var r=3D=
o.edges[e],a=3Dr.left;if(a!=3D=3Di.site&&a||(a=3Dr.right)){var c=3Dt-a[0],s=
=3Dn-a[1],l=3Dc*c+s*s;l<f&&(f=3Dl,u=3Da.index)}})}while(null!=3D=3Du);retur=
n o._found=3Dr,null=3D=3De||f<=3De*e?i.site:null}};var ym=3Dfunction(t){ret=
urn function(){return t}};rs.prototype=3D{constructor:rs,scale:function(t){=
return 1=3D=3D=3Dt?this:new rs(this.k*t,this.x,this.y)},translate:function(=
t,n){return 0=3D=3D=3Dt&0=3D=3D=3Dn?this:new rs(this.k,this.x+this.k*t,this=
.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.=
y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*=
this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)=
/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){=
return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.rang=
e().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.=
copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:f=
unction(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var =
mm=3Dnew rs(1,0,0);is.prototype=3Drs.prototype;var xm=3Dfunction(){t.event.=
preventDefault(),t.event.stopImmediatePropagation()};t.version=3D"4.11.0",t=
.bisect=3Dds,t.bisectRight=3Dds,t.bisectLeft=3Dvs,t.ascending=3Dls,t.bisect=
or=3Dhs,t.cross=3Dfunction(t,n,r){var i,o,u,a,c=3Dt.length,s=3Dn.length,f=
=3Dnew Array(c*s);for(null=3D=3Dr&&(r=3De),i=3Du=3D0;i<c;++i)for(a=3Dt[i],o=
=3D0;o<s;++o,++u)f[u]=3Dr(a,n[o]);return f},t.descending=3Dfunction(t,n){re=
turn nt?1:n>=3Dt?0:NaN},t.deviation=3Dys,t.extent=3Dms,t.histogram=
=3Dfunction(){function t(t){var o,u,a=3Dt.length,c=3Dnew Array(a);for(o=3D0=
;o<a;++o)c[o]=3Dn(t[o],o,t);var s=3De(c),f=3Ds[0],l=3Ds[1],h=3Dr(c,f,l);Arr=
ay.isArray(h)||(h=3Di(f,l,h),h=3DNs(Math.ceil(f/h)*h,Math.floor(l/h)*h,h));=
for(var p=3Dh.length;h[0]l;)h.pop(),–p;va=
r d,v=3Dnew Array(p+1);for(o=3D0;o0?h[o-1]=
:f,d.x1=3Do<p?h[o]:l;for(o=3D0;o<a;++o)f<=3D(u=3Dc[o])&&u<=3Dl&&v[ds(h,u,0,=
p)].push(t[o]);return v}var n=3DTs,e=3Dms,r=3DCs;return t.value=3Dfunction(=
e){return arguments.length?(n=3D"function"=3D=3Dtypeof e?e:Ms(e),t):n},t.do=
main=3Dfunction(n){return arguments.length?(e=3D"function"=3D=3Dtypeof n?n:=
Ms([n[0],n[1]]),t):e},t.thresholds=3Dfunction(n){return arguments.length?(r=
=3D"function"=3D=3Dtypeof n?n:Ms(Array.isArray(n)?bs.call(n):n),t):r},t},t.=
thresholdFreedmanDiaconis=3Dfunction(t,n,e){return t=3Dws.call(t,_s).sort(l=
s),Math.ceil((e-n)/(2*(zs(t,.75)-zs(t,.25))*Math.pow(t.length,-1/3)))},t.th=
resholdScott=3Dfunction(t,n,e){return Math.ceil((e-n)/(3.5*ys(t)*Math.pow(t=
.length,-1/3)))},t.thresholdSturges=3DCs,t.max=3Dfunction(t,n){var e,r,i=3D=
t.length,o=3D-1;if(null=3D=3Dn){for(;++o=3De)f=
or(r=3De;++or&&(r=3De)}else for(;++o=3De)for(r=3De;++o=
r&&(r=3De);return r},t.mean=3Dfunction(t,n){var e,r=3Dt.length,i=3Dr,o=3D-1=
,u=3D0;if(null=3D=3Dn)for(;++o<r;)isNaN(e=3D_s(t[o]))?–i:u+=3De;else for(;=
++o<r;)isNaN(e=3D_s(n(t[o],o,t)))?–i:u+=3De;if(i)return u/i},t.median=3Dfu=
nction(t,n){var e,r=3Dt.length,i=3D-1,o=3D[];if(null=3D=3Dn)for(;++i<r;)isN=
aN(e=3D_s(t[i]))||o.push(e);else for(;++i<r;)isNaN(e=3D_s(n(t[i],i,t)))||o.=
push(e);return zs(o.sort(ls),.5)},t.merge=3DPs,t.min=3DRs,t.pairs=3Dfunctio=
n(t,n){null=3D=3Dn&&(n=3De);for(var r=3D0,i=3Dt.length-1,o=3Dt[0],u=3Dnew A=
rray(i<0?0:i);r<i;)u[r]=3Dn(o,o=3Dt[++r]);return u},t.permute=3Dfunction(t,=
n){for(var e=3Dn.length,r=3Dnew Array(e);e–;)r[e]=3Dt[n[e]];return r},t.qu=
antile=3Dzs,t.range=3DNs,t.scan=3Dfunction(t,n){if(e=3Dt.length){var e,r,i=
=3D0,o=3D0,u=3Dt[o];for(null=3D=3Dn&&(n=3Dls);++i<e;)(n(r=3Dt[i],u)<0||0!=
=3D=3Dn(u,u))&&(u=3Dr,o=3Di);return 0=3D=3D=3Dn(u,u)?o:void 0}},t.shuffle=
=3Dfunction(t,n,e){for(var r,i,o=3D(null=3D=3De?t.length:e)-(n=3Dnull=3D=3D=
n?0:+n);o;)i=3DMath.random()*o–|0,r=3Dt[o+n],t[o+n]=3Dt[i+n],t[i+n]=3Dr;re=
turn t},t.sum=3Dfunction(t,n){var e,r=3Dt.length,i=3D-1,o=3D0;if(null=3D=3D=
n)for(;++i<r;)(e=3D+t[i])&&(o+=3De);else for(;++i<r;)(e=3D+n(t[i],i,t))&&(o=
+=3De);return o},t.ticks=3DAs,t.tickIncrement=3Dr,t.tickStep=3Di,t.transpos=
e=3DLs,t.variance=3Dgs,t.zip=3Dfunction(){return Ls(arguments)},t.axisTop=
=3Dfunction(t){return l(Ds,t)},t.axisRight=3Dfunction(t){return l(Os,t)},t.=
axisBottom=3Dfunction(t){return l(Fs,t)},t.axisLeft=3Dfunction(t){return l(=
Is,t)},t.brush=3Dfunction(){return he(Ah)},t.brushX=3Dfunction(){return he(=
Sh)},t.brushY=3Dfunction(){return he(Eh)},t.brushSelection=3Dfunction(t){va=
r n=3Dt.__brush;return n?n.dim.output(n.selection):null},t.chord=3Dfunction=
(){function t(t){var o,u,a,c,s,f,l=3Dt.length,h=3D[],p=3DNs(l),d=3D[],v=3D[=
],_=3Dv.groups=3Dnew Array(l),g=3Dnew Array(l*l);for(o=3D0,s=3D-1;++s<l;){f=
or(u=3D0,f=3D-1;++f<l;)u+=3Dt[s][f];h.push(u),d.push(Ns(l)),o+=3Du}for(e&&p=
.sort(function(t,n){return e(h[t],h[n])}),r&&d.forEach(function(n,e){n.sort=
(function(n,i){return r(t[e][n],t[e][i])})}),c=3D(o=3DIh(0,Fh-n*l)/o)?n:Fh/=
l,u=3D0,s=3D-1;++s<l;){for(a=3Du,f=3D-1;++f<l;){var y=3Dp[s],m=3Dd[y][f],x=
=3Dt[y][m],b=3Du,w=3Du+=3Dx*o;g[m*l+y]=3D{index:y,subindex:m,startAngle:b,e=
ndAngle:w,value:x}}_[y]=3D{index:y,startAngle:a,endAngle:u,value:h[y]},u+=
=3Dc}for(s=3D-1;++s<l;)for(f=3Ds-1;++f<l;){var M=3Dg[f*l+s],T=3Dg[s*l+f];(M=
.value||T.value)&&v.push(M.value=3Do.length)return null!=3De&&n.sort(e),null!=
=3Dr?r(n):n;for(var c,s,f,l=3D-1,h=3Dn.length,p=3Do[i++],d=3Dwe(),v=3Du();+=
+lo.length)return =
t;var i,a=3Du[e-1];return null!=3Dr&&e>=3Do.length?i=3Dt.entries():(i=3D[],=
t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=3Da?i.sort(func=
tion(t,n){return a(t.key,n.key)}):i}var e,r,i,o=3D[],u=3D[];return i=3D{obj=
ect:function(n){return t(n,0,Me,Te)},map:function(n){return t(n,0,Ne,ke)},e=
ntries:function(e){return n(t(e,0,Ne,ke),0)},key:function(t){return o.push(=
t),i},sortKeys:function(t){return u[o.length-1]=3Dt,i},sortValues:function(=
t){return e=3Dt,i},rollup:function(t){return r=3Dt,i}}},t.set=3DEe,t.map=3D=
we,t.keys=3Dfunction(t){var n=3D[];for(var e in t)n.push(e);return n},t.val=
ues=3Dfunction(t){var n=3D[];for(var e in t)n.push(t[e]);return n},t.entrie=
s=3Dfunction(t){var n=3D[];for(var e in t)n.push({key:e,value:t[e]});return=
n},t.color=3DTt,t.rgb=3DEt,t.hsl=3DPt,t.lab=3DUt,t.hcl=3Djt,t.cubehelix=3D=
$t,t.dispatch=3Dh,t.drag=3Dfunction(){function n(t){t.on(“mousedown.drag”,e=
).filter(g).on(“touchstart.drag”,o).on(“touchmove.drag”,u).on(“touchend.dra=
g touchcancel.drag”,a).style(“touch-action”,”none”).style(“-webkit-tap-high=
light-color”,”rgba(0,0,0,0)”)}function e(){if(!p&&d.apply(this,arguments)){=
var n=3Dc(“mouse”,v.apply(this,arguments),nf,this,arguments);n&&(ff(t.event=
.view).on(“mousemove.drag”,r,!0).on(“mouseup.drag”,i,!0),pf(t.event.view),v=
t(),l=3D!1,s=3Dt.event.clientX,f=3Dt.event.clientY,n(“start”))}}function r(=
){if(hf(),!l){var n=3Dt.event.clientX-s,e=3Dt.event.clientY-f;l=3Dn*n+e*e>b=
}y.mouse(“drag”)}function i(){ff(t.event.view).on(“mousemove.drag mouseup.d=
rag”,null),_t(t.event.view,l),hf(),y.mouse(“end”)}function o(){if(d.apply(t=
his,arguments)){var n,e,r=3Dt.event.changedTouches,i=3Dv.apply(this,argumen=
ts),o=3Dr.length;for(n=3D0;n<o;++n)(e=3Dc(r[n].identifier,i,lf,this,argumen=
ts))&&(vt(),e("start"))}}function u(){var n,e,r=3Dt.event.changedTouches,i=
=3Dr.length;for(n=3D0;n<i;++n)(e=3Dy[r[n].identifier])&&(hf(),e("drag"))}fu=
nction a(){var n,e,r=3Dt.event.changedTouches,i=3Dr.length;for(p&&clearTime=
out(p),p=3DsetTimeout(function(){p=3Dnull},500),n=3D0;n<i;++n)(e=3Dy[r[n].i=
dentifier])&&(vt(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=3Di(r,e),l=
=3Dm.copy();if(k(new gt(n,"beforestart",a,e,x,f[0],f[1],0,0,l),function(){r=
eturn null!=3D(t.event.subject=3Da=3D_.apply(o,u))&&(c=3Da.x-f[0]||0,s=3Da.=
y-f[1]||0,!0)}))return function t(h){var p,d=3Df;switch(h){case"start":y[e]=
=3Dt,p=3Dx++;break;case"end":delete y[e],–x;case"drag":f=3Di(r,e),p=3Dx}k(=
new gt(n,h,a,e,p,f[0]+c,f[1]+s,f[0]-d[0],f[1]-d[1],l),l.apply,l,[h,o,u])}}v=
ar s,f,l,p,d=3Dyt,v=3Dmt,_=3Dxt,g=3Dbt,y=3D{},m=3Dh("start","drag","end"),x=
=3D0,b=3D0;return n.filter=3Dfunction(t){return arguments.length?(d=3D"func=
tion"=3D=3Dtypeof t?t:df(!!t),n):d},n.container=3Dfunction(t){return argume=
nts.length?(v=3D"function"=3D=3Dtypeof t?t:df(t),n):v},n.subject=3Dfunction=
(t){return arguments.length?(_=3D"function"=3D=3Dtypeof t?t:df(t),n):_},n.t=
ouchable=3Dfunction(t){return arguments.length?(g=3D"function"=3D=3Dtypeof =
t?t:df(!!t),n):g},n.on=3Dfunction(){var t=3Dm.on.apply(m,arguments);return =
t=3D=3D=3Dm?n:t},n.clickDistance=3Dfunction(t){return arguments.length?(b=
=3D(t=3D+t)*t,n):Math.sqrt(b)},n},t.dragDisable=3Dpf,t.dragEnable=3D_t,t.ds=
vFormat=3DQh,t.csvParse=3Dtp,t.csvParseRows=3Dnp,t.csvFormat=3Dep,t.csvForm=
atRows=3Drp,t.tsvParse=3Dop,t.tsvParseRows=3Dup,t.tsvFormat=3Dap,t.tsvForma=
tRows=3Dcp,t.easeLinear=3Dfunction(t){return+t},t.easeQuad=3DKn,t.easeQuadI=
n=3Dfunction(t){return t*t},t.easeQuadOut=3Dfunction(t){return t*(2-t)},t.e=
aseQuadInOut=3DKn,t.easeCubic=3Dte,t.easeCubicIn=3Dfunction(t){return t*t*t=
},t.easeCubicOut=3Dfunction(t){return–t*t*t+1},t.easeCubicInOut=3Dte,t.eas=
ePoly=3DQl,t.easePolyIn=3DGl,t.easePolyOut=3DJl,t.easePolyInOut=3DQl,t.ease=
Sin=3Dne,t.easeSinIn=3Dfunction(t){return 1-Math.cos(t*th)},t.easeSinOut=3D=
function(t){return Math.sin(t*th)},t.easeSinInOut=3Dne,t.easeExp=3Dee,t.eas=
eExpIn=3Dfunction(t){return Math.pow(2,10*t-10)},t.easeExpOut=3Dfunction(t)=
{return 1-Math.pow(2,-10*t)},t.easeExpInOut=3Dee,t.easeCircle=3Dre,t.easeCi=
rcleIn=3Dfunction(t){return 1-Math.sqrt(1-t*t)},t.easeCircleOut=3Dfunction(=
t){return Math.sqrt(1- –t*t)},t.easeCircleInOut=3Dre,t.easeBounce=3Die,t.e=
aseBounceIn=3Dfunction(t){return 1-ie(1-t)},t.easeBounceOut=3Die,t.easeBoun=
ceInOut=3Dfunction(t){return((t*=3D2)<=3D1?1-ie(1-t):ie(t-1)+1)/2},t.easeBa=
ck=3Dph,t.easeBackIn=3Dlh,t.easeBackOut=3Dhh,t.easeBackInOut=3Dph,t.easeEla=
stic=3D_h,t.easeElasticIn=3Dvh,t.easeElasticOut=3D_h,t.easeElasticInOut=3Dg=
h,t.forceCenter=3Dfunction(t,n){function e(){var e,i,o=3Dr.length,u=3D0,a=
=3D0;for(e=3D0;e<o;++e)u+=3D(i=3Dr[e]).x,a+=3Di.y;for(u=3Du/o-t,a=3Da/o-n,e=
=3D0;e<o;++e)(i=3Dr[e]).x-=3Du,i.y-=3Da}var r;return null=3D=3Dt&&(t=3D0),n=
ull=3D=3Dn&&(n=3D0),e.initialize=3Dfunction(t){r=3Dt},e.x=3Dfunction(n){ret=
urn arguments.length?(t=3D+n,e):t},e.y=3Dfunction(t){return arguments.lengt=
h?(n=3D+t,e):n},e},t.forceCollide=3Dfunction(t){function n(){for(var t,n,r,=
c,s,f,l,h=3Di.length,p=3D0;p<a;++p)for(n=3Dqe(i,Oe,Fe).visitAfter(e),t=3D0;=
tc+p||is+p||or.index){var d=3Dc-a.x-a.vx,v=3Ds-a.y-a.vy,_=3Dd*=
d+v*v;_<p*p&&(0=3D=3D=3Dd&&(d=3Dfp(),_+=3Dd*d),0=3D=3D=3Dv&&(v=3Dfp(),_+=3D=
v*v),_=3D(p-(_=3DMath.sqrt(_)))/_*u,r.vx+=3D(d*=3D_)*(p=3D(h*=3Dh)/(l+h)),r=
.vy+=3D(v*=3D_)*p,a.vx-=3Dd*(p=3D1-p),a.vy-=3Dv*p)}})}function e(t){if(t.da=
ta)return t.r=3Do[t.data.index];for(var n=3Dt.r=3D0;nt.=
r&&(t.r=3Dt[n].r)}function r(){if(i){var n,e,r=3Di.length;for(o=3Dnew Array=
(r),n=3D0;n<r;++n)e=3Di[n],o[e.index]=3D+t(e,n,i)}}var i,o,u=3D1,a=3D1;retu=
rn"function"!=3Dtypeof t&&(t=3Dsp(null=3D=3Dt?1:+t)),n.initialize=3Dfunctio=
n(t){i=3Dt,r()},n.iterations=3Dfunction(t){return arguments.length?(a=3D+t,=
n):a},n.strength=3Dfunction(t){return arguments.length?(u=3D+t,n):u},n.radi=
us=3Dfunction(e){return arguments.length?(t=3D"function"=3D=3Dtypeof e?e:sp=
(+e),r(),n):t},n},t.forceLink=3Dfunction(t){function n(n){for(var e=3D0,r=
=3Dt.length;e<p;++e)for(var i,a,c,f,l,h,d,v=3D0;v<r;++v)a=3D(i=3Dt[v]).sour=
ce,f=3D(c=3Di.target).x+c.vx-a.x-a.vx||fp(),l=3Dc.y+c.vy-a.y-a.vy||fp(),f*=
=3Dh=3D((h=3DMath.sqrt(f*f+l*l))-u[v])/h*n*o[v],l*=3Dh,c.vx-=3Df*(d=3Ds[v])=
,c.vy-=3Dl*d,a.vx+=3Df*(d=3D1-d),a.vy+=3Dl*d}function e(){if(a){var n,e,l=
=3Da.length,h=3Dt.length,p=3Dwe(a,f);for(n=3D0,c=3Dnew Array(l);n<h;++n)(e=
=3Dt[n]).index=3Dn,"object"!=3Dtypeof e.source&&(e.source=3DYe(p,e.source))=
,"object"!=3Dtypeof e.target&&(e.target=3DYe(p,e.target)),c[e.source.index]=
=3D(c[e.source.index]||0)+1,c[e.target.index]=3D(c[e.target.index]||0)+1;fo=
r(n=3D0,s=3Dnew Array(h);n<h;++n)e=3Dt[n],s[n]=3Dc[e.source.index]/(c[e.sou=
rce.index]+c[e.target.index]);o=3Dnew Array(h),r(),u=3Dnew Array(h),i()}}fu=
nction r(){if(a)for(var n=3D0,e=3Dt.length;n<e;++n)o[n]=3D+l(t[n],n,t)}func=
tion i(){if(a)for(var n=3D0,e=3Dt.length;n<e;++n)u[n]=3D+h(t[n],n,t)}var o,=
u,a,c,s,f=3DIe,l=3Dfunction(t){return 1/Math.min(c[t.source.index],c[t.targ=
et.index])},h=3Dsp(30),p=3D1;return null=3D=3Dt&&(t=3D[]),n.initialize=3Dfu=
nction(t){a=3Dt,e()},n.links=3Dfunction(r){return arguments.length?(t=3Dr,e=
(),n):t},n.id=3Dfunction(t){return arguments.length?(f=3Dt,n):f},n.iteratio=
ns=3Dfunction(t){return arguments.length?(p=3D+t,n):p},n.strength=3Dfunctio=
n(t){return arguments.length?(l=3D"function"=3D=3Dtypeof t?t:sp(+t),r(),n):=
l},n.distance=3Dfunction(t){return arguments.length?(h=3D"function"=3D=3Dty=
peof t?t:sp(+t),i(),n):h},n},t.forceManyBody=3Dfunction(){function t(t){var=
n,a=3Di.length,c=3Dqe(i,Be,je).visitAfter(e);for(u=3Dt,n=3D0;n<a;++n)o=3Di=
[n],c.visit(r)}function n(){if(i){var t,n,e=3Di.length;for(a=3Dnew Array(e)=
,t=3D0;t<e;++t)n=3Di[t],a[n.index]=3D+c(n,t,i)}}function e(t){var n,e,r,i,o=
,u=3D0,c=3D0;if(t.length){for(r=3Di=3Do=3D0;o<4;++o)(n=3Dt[o])&&(e=3DMath.a=
bs(n.value))&&(u+=3Dn.value,c+=3De,r+=3De*n.x,i+=3De*n.y);t.x=3Dr/c,t.y=3Di=
/c}else{(n=3Dt).x=3Dn.data.x,n.y=3Dn.data.y;do{u+=3Da[n.data.index]}while(n=
=3Dn.next)}t.value=3Du}function r(t,n,e,r){if(!t.value)return!0;var i=3Dt.x=
-o.x,c=3Dt.y-o.y,h=3Dr-n,p=3Di*i+c*c;if(h*h/l<p)return p<f&&(0=3D=3D=3Di&&(=
i=3Dfp(),p+=3Di*i),0=3D=3D=3Dc&&(c=3Dfp(),p+=3Dc*c),p=3Df)){=
(t.data!=3D=3Do||t.next)&&(0=3D=3D=3Di&&(i=3Dfp(),p+=3Di*i),0=3D=3D=3Dc&&(c=
=3Dfp(),p+=3Dc*c),p<s&&(p=3DMath.sqrt(s*p)));do{t.data!=3D=3Do&&(h=3Da[t.da=
ta.index]*u/p,o.vx+=3Di*h,o.vy+=3Dc*h)}while(t=3Dt.next)}}var i,o,u,a,c=3Ds=
p(-30),s=3D1,f=3D1/0,l=3D.81;return t.initialize=3Dfunction(t){i=3Dt,n()},t=
.strength=3Dfunction(e){return arguments.length?(c=3D"function"=3D=3Dtypeof=
e?e:sp(+e),n(),t):c},t.distanceMin=3Dfunction(n){return arguments.length?(=
s=3Dn*n,t):Math.sqrt(s)},t.distanceMax=3Dfunction(n){return arguments.lengt=
h?(f=3Dn*n,t):Math.sqrt(f)},t.theta=3Dfunction(n){return arguments.length?(=
l=3Dn*n,t):Math.sqrt(l)},t},t.forceRadial=3Dfunction(t,n,e){function r(t){f=
or(var r=3D0,i=3Do.length;r<i;++r){var c=3Do[r],s=3Dc.x-n||1e-6,f=3Dc.y-e||=
1e-6,l=3DMath.sqrt(s*s+f*f),h=3D(a[r]-l)*u[r]*t/l;c.vx+=3Ds*h,c.vy+=3Df*h}}=
function i(){if(o){var n,e=3Do.length;for(u=3Dnew Array(e),a=3Dnew Array(e)=
,n=3D0;n<e;++n)a[n]=3D+t(o[n],n,o),u[n]=3DisNaN(a[n])?0:+c(o[n],n,o)}}var o=
,u,a,c=3Dsp(.1);return"function"!=3Dtypeof t&&(t=3Dsp(+t)),null=3D=3Dn&&(n=
=3D0),null=3D=3De&&(e=3D0),r.initialize=3Dfunction(t){o=3Dt,i()},r.strength=
=3Dfunction(t){return arguments.length?(c=3D"function"=3D=3Dtypeof t?t:sp(+=
t),i(),r):c},r.radius=3Dfunction(n){return arguments.length?(t=3D"function"=
=3D=3Dtypeof n?n:sp(+n),i(),r):t},r.x=3Dfunction(t){return arguments.length=
?(n=3D+t,r):n},r.y=3Dfunction(t){return arguments.length?(e=3D+t,r):e},r},t=
.forceSimulation=3Dfunction(t){function n(){e(),d.call("tick",o),u<a&&(p.st=
op(),d.call("end",o))}function e(){var n,e,r=3Dt.length;for(u+=3D(s-u)*c,l.=
each(function(t){t(u)}),n=3D0;n<r;++n)null=3D=3D(e=3Dt[n]).fx?e.x+=3De.vx*=
=3Df:(e.x=3De.fx,e.vx=3D0),null=3D=3De.fy?e.y+=3De.vy*=3Df:(e.y=3De.fy,e.vy=
=3D0)}function r(){for(var n,e=3D0,r=3Dt.length;e1?(null=3D=3Dn?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:=
function(n,e,r){var i,o,u,a,c,s=3D0,f=3Dt.length;for(null=3D=3Dr?r=3D1/0:r*=
=3Dr,s=3D0;s<f;++s)(u=3D(i=3Dn-(a=3Dt[s]).x)*i+(o=3De-a.y)*o)1?(d.on(t,n),o):d.=
on(t)}}},t.forceX=3Dfunction(t){function n(t){for(var n,e=3D0,u=3Dr.length;=
e<u;++e)(n=3Dr[e]).vx+=3D(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=3Dr.l=
ength;for(i=3Dnew Array(e),o=3Dnew Array(e),n=3D0;n<e;++n)i[n]=3DisNaN(o[n]=
=3D+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=3Dsp(.1);return"function"!=3Dt=
ypeof t&&(t=3Dsp(null=3D=3Dt?0:+t)),n.initialize=3Dfunction(t){r=3Dt,e()},n=
.strength=3Dfunction(t){return arguments.length?(u=3D"function"=3D=3Dtypeof=
t?t:sp(+t),e(),n):u},n.x=3Dfunction(r){return arguments.length?(t=3D"funct=
ion"=3D=3Dtypeof r?r:sp(+r),e(),n):t},n},t.forceY=3Dfunction(t){function n(=
t){for(var n,e=3D0,u=3Dr.length;e<u;++e)(n=3Dr[e]).vy+=3D(o[e]-n.y)*i[e]*t}=
function e(){if(r){var n,e=3Dr.length;for(i=3Dnew Array(e),o=3Dnew Array(e)=
,n=3D0;n<e;++n)i[n]=3DisNaN(o[n]=3D+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,=
u=3Dsp(.1);return"function"!=3Dtypeof t&&(t=3Dsp(null=3D=3Dt?0:+t)),n.initi=
alize=3Dfunction(t){r=3Dt,e()},n.strength=3Dfunction(t){return arguments.le=
ngth?(u=3D"function"=3D=3Dtypeof t?t:sp(+t),e(),n):u},n.y=3Dfunction(r){ret=
urn arguments.length?(t=3D"function"=3D=3Dtypeof r?r:sp(+r),e(),n):t},n},t.=
formatDefaultLocale=3D$e,t.formatLocale=3Dkp,t.formatSpecifier=3DHe,t.preci=
sionFixed=3DSp,t.precisionPrefix=3DEp,t.precisionRound=3DAp,t.geoArea=3Dfun=
ction(t){return Pd.reset(),Cd(t,Rd),2*Pd},t.geoBounds=3Dfunction(t){var n,e=
,r,i,o,u,a;if(Fp=3DOp=3D-(Up=3DDp=3D1/0),Hp=3D[],Cd(t,qd),e=3DHp.length){fo=
r(Hp.sort(br),n=3D1,o=3D[r=3DHp[0]];nxr(r[0],r[1])&&(r[1]=3Di[1]),xr(i[0],r[1])>xr(r[0],r[1])&&=
(r[0]=3Di[0])):o.push(r=3Di);for(u=3D-1/0,n=3D0,r=3Do[e=3Do.length-1];nu&&(u=3Da,Up=3Di[0],Op=3Dr[1])}ret=
urn Hp=3DXp=3Dnull,Up=3D=3D=3D1/0||Dp=3D=3D=3D1/0?[[NaN,NaN],[NaN,NaN]]:[[U=
p,Dp],[Op,Fp]]},t.geoCentroid=3Dfunction(t){$p=3DVp=3DWp=3DZp=3DGp=3DJp=3DQ=
p=3DKp=3Dtd=3Dnd=3Ded=3D0,Cd(t,Ud);var n=3Dtd,e=3Dnd,r=3Ded,i=3Dn*n+e*e+r*r=
;return i<1e-12&&(n=3DJp,e=3DQp,r=3DKp,Vp<sd&&(n=3DWp,e=3DZp,r=3DGp),(i=3Dn=
*n+e*e+r*r)=3D.12&&i=3D-.425&&r=3D.166&&i=3D-.214&&r<-.115?f:c).invert(t)}=
,t.stream=3Dfunction(t){return e&&r=3D=3D=3Dt?e:e=3DLi([c.stream(r=3Dt),s.s=
tream(t),f.stream(t)])},t.precision=3Dfunction(t){return arguments.length?(=
c.precision(t),s.precision(t),f.precision(t),n()):c.precision()},t.scale=3D=
function(n){return arguments.length?(c.scale(n),s.scale(.35*n),f.scale(n),t=
.translate(c.translate())):c.scale()},t.translate=3Dfunction(t){if(!argumen=
ts.length)return c.translate();var e=3Dc.scale(),r=3D+t[0],a=3D+t[1];return=
i=3Dc.translate(t).clipExtent([[r-.455*e,a-.238*e],[r+.455*e,a+.238*e]]).s=
tream(l),o=3Ds.translate([r-.307*e,a+.201*e]).clipExtent([[r-.425*e+sd,a+.1=
2*e+sd],[r-.214*e-sd,a+.234*e-sd]]).stream(l),u=3Df.translate([r-.205*e,a+.=
212*e]).clipExtent([[r-.214*e+sd,a+.166*e+sd],[r-.115*e-sd,a+.234*e-sd]]).s=
tream(l),n()},t.fitExtent=3Dfunction(n,e){return Ti(t,n,e)},t.fitSize=3Dfun=
ction(n,e){return Ni(t,n,e)},t.scale(1070)},t.geoAzimuthalEqualArea=3Dfunct=
ion(){return Ai(Wv).scale(124.75).clipAngle(179.999)},t.geoAzimuthalEqualAr=
eaRaw=3DWv,t.geoAzimuthalEquidistant=3Dfunction(){return Ai(Zv).scale(79.41=
88).clipAngle(179.999)},t.geoAzimuthalEquidistantRaw=3DZv,t.geoConicConform=
al=3Dfunction(){return zi(Ii).scale(109.5).parallels([30,30])},t.geoConicCo=
nformalRaw=3DIi,t.geoConicEqualArea=3D$v,t.geoConicEqualAreaRaw=3DRi,t.geoC=
onicEquidistant=3Dfunction(){return zi(Bi).scale(131.154).center([0,13.9389=
])},t.geoConicEquidistantRaw=3DBi,t.geoEquirectangular=3Dfunction(){return =
Ai(Yi).scale(152.63)},t.geoEquirectangularRaw=3DYi,t.geoGnomonic=3Dfunction=
(){return Ai(ji).scale(144.049).clipAngle(60)},t.geoGnomonicRaw=3Dji,t.geoI=
dentity=3Dfunction(){function t(){return i=3Do=3Dnull,u}var n,e,r,i,o,u,a=
=3D1,c=3D0,s=3D0,f=3D1,l=3D1,h=3D_v,p=3Dnull,d=3D_v;return u=3D{stream:func=
tion(t){return i&&o=3D=3D=3Dt?i:i=3Dh(d(o=3Dt))},postclip:function(i){retur=
n arguments.length?(d=3Di,p=3Dn=3De=3Dr=3Dnull,t()):d},clipExtent:function(=
i){return arguments.length?(d=3Dnull=3D=3Di?(p=3Dn=3De=3Dr=3Dnull,_v):Xr(p=
=3D+i[0][0],n=3D+i[0][1],e=3D+i[1][0],r=3D+i[1][1]),t()):null=3D=3Dp?null:[=
[p,n],[e,r]]},scale:function(n){return arguments.length?(h=3DHi((a=3D+n)*f,=
a*l,c,s),t()):a},translate:function(n){return arguments.length?(h=3DHi(a*f,=
a*l,c=3D+n[0],s=3D+n[1]),t()):[c,s]},reflectX:function(n){return arguments.=
length?(h=3DHi(a*(f=3Dn?-1:1),a*l,c,s),t()):f<0},reflectY:function(n){retur=
n arguments.length?(h=3DHi(a*f,a*(l=3Dn?-1:1),c,s),t()):l2?t[2]+90:90]):(t=3De=
(),[t[0],t[1],t[2]-90])},e([0,0,90]).scale(159.155)},t.geoTransverseMercato=
rRaw=3DWi,t.geoRotation=3DGd,t.geoStream=3DCd,t.geoTransform=3Dfunction(t){=
return{stream:wi(t)}},t.cluster=3Dfunction(){function t(t){var o,u=3D0;t.ea=
chAfter(function(t){var e=3Dt.children;e?(t.x=3DGi(e),t.y=3DQi(e)):(t.x=3Do=
?u+=3Dn(t,o):0,t.y=3D0,o=3Dt)});var a=3Dto(t),c=3Dno(t),s=3Da.x-n(a,c)/2,f=
=3Dc.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=3D(n.x-t.x)*e,n.y=3D(t=
.y-n.y)*r}:function(n){n.x=3D(n.x-s)/(f-s)*e,n.y=3D(1-(t.y?n.y/t.y:1))*r})}=
var n=3DZi,e=3D1,r=3D1,i=3D!1;return t.separation=3Dfunction(e){return argu=
ments.length?(n=3De,t):n},t.size=3Dfunction(n){return arguments.length?(i=
=3D!1,e=3D+n[0],r=3D+n[1],t):i?null:[e,r]},t.nodeSize=3Dfunction(n){return =
arguments.length?(i=3D!0,e=3D+n[0],r=3D+n[1],t):i?[e,r]:null},t},t.hierarch=
y=3Dio,t.pack=3Dfunction(){function t(t){return t.x=3De/2,t.y=3Dr/2,n?t.eac=
hBefore(Eo(n)).eachAfter(Ao(i,.5)).eachBefore(Co(1)):t.eachBefore(Eo(So)).e=
achAfter(Ao(ko,1)).eachAfter(Ao(i,t.r/Math.min(e,r))).eachBefore(Co(Math.mi=
n(e,r)/(2*t.r))),t}var n=3Dnull,e=3D1,r=3D1,i=3Dko;return t.radius=3Dfuncti=
on(e){return arguments.length?(n=3DTo(e),t):n},t.size=3Dfunction(n){return =
arguments.length?(e=3D+n[0],r=3D+n[1],t):[e,r]},t.padding=3Dfunction(n){ret=
urn arguments.length?(i=3D”function”=3D=3Dtypeof n?n:Qv(+n),t):i},t},t.pack=
Siblings=3Dfunction(t){return Mo(t),t},t.packEnclose=3DJv,t.partition=3Dfun=
ction(){function t(t){var u=3Dt.height+1;return t.x0=3Dt.y0=3Di,t.x1=3De,t.=
y1=3Dr/u,t.eachBefore(n(r,u)),o&&t.eachBefore(Kv),t}function n(t,n){return =
function(e){e.children&&t_(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var=
r=3De.x0,o=3De.y0,u=3De.x1-i,a=3De.y1-i;u<r&&(r=3Du=3D(r+u)/2),a<o&&(o=3Da=
=3D(o+a)/2),e.x0=3Dr,e.y0=3Do,e.x1=3Du,e.y1=3Da}}var e=3D1,r=3D1,i=3D0,o=3D=
!1;return t.round=3Dfunction(n){return arguments.length?(o=3D!!n,t):o},t.si=
ze=3Dfunction(n){return arguments.length?(e=3D+n[0],r=3D+n[1],t):[e,r]},t.p=
adding=3Dfunction(n){return arguments.length?(i=3D+n,t):i},t},t.stratify=3D=
function(){function t(t){var r,i,o,u,a,c,s,f=3Dt.length,l=3Dnew Array(f),h=
=3D{};for(i=3D0;i<f;++i)r=3Dt[i],a=3Dl[i]=3Dnew co(r),null!=3D(c=3Dn(r,i,t)=
)&&(c+=3D"")&&(h[s=3Dn_+(a.id=3Dc)]=3Ds in h?r_:a);for(i=3D0;i0)throw new Error(“cycle”);return o}var n=3Dzo,e=3DPo=
;return t.id=3Dfunction(e){return arguments.length?(n=3DNo(e),t):n},t.paren=
tId=3Dfunction(n){return arguments.length?(e=3DNo(n),t):e},t},t.tree=3Dfunc=
tion(){function t(t){var r=3DIo(t);if(r.eachAfter(n),r.parent.m=3D-r.z,r.ea=
chBefore(e),c)t.eachBefore(i);else{var s=3Dt,f=3Dt,l=3Dt;t.eachBefore(funct=
ion(t){t.xf.x&&(f=3Dt),t.depth>l.depth&&(l=3Dt)});var h=
=3Ds=3D=3D=3Df?1:o(s,f)/2,p=3Dh-s.x,d=3Du/(f.x+h+p),v=3Da/(l.depth||1);t.ea=
chBefore(function(t){t.x=3D(t.x+p)*d,t.y=3Dt.depth*v})}return t}function n(=
t){var n=3Dt.children,e=3Dt.parent.children,i=3Dt.i?e[t.i-1]:null;if(n){Do(=
t);var u=3D(n[0].z+n[n.length-1].z)/2;i?(t.z=3Di.z+o(t._,i._),t.m=3Dt.z-u):=
t.z=3Du}else i&&(t.z=3Di.z+o(t._,i._));t.parent.A=3Dr(t,i,t.parent.A||e[0])=
}function e(t){t._.x=3Dt.z+t.parent.m,t.m+=3Dt.parent.m}function r(t,n,e){i=
f(n){for(var r,i=3Dt,u=3Dt,a=3Dn,c=3Di.parent.children[0],s=3Di.m,f=3Du.m,l=
=3Da.m,h=3Dc.m;a=3Dqo(a),i=3DLo(i),a&&i;)c=3DLo(c),(u=3Dqo(u)).a=3Dt,(r=3Da=
.z+l-i.z-s+o(a._,i._))>0&&(Uo(Oo(a,t,e),t,r),s+=3Dr,f+=3Dr),l+=3Da.m,s+=3Di=
.m,h+=3Dc.m,f+=3Du.m;a&&!qo(u)&&(u.t=3Da,u.m+=3Dl-f),i&&!Lo(c)&&(c.t=3Di,c.=
m+=3Ds-h,e=3Dt)}return e}function i(t){t.x*=3Du,t.y=3Dt.depth*a}var o=3DRo,=
u=3D1,a=3D1,c=3Dnull;return t.separation=3Dfunction(n){return arguments.len=
gth?(o=3Dn,t):o},t.size=3Dfunction(n){return arguments.length?(c=3D!1,u=3D+=
n[0],a=3D+n[1],t):c?null:[u,a]},t.nodeSize=3Dfunction(n){return arguments.l=
ength?(c=3D!0,u=3D+n[0],a=3D+n[1],t):c?[u,a]:null},t},t.treemap=3Dfunction(=
){function t(t){return t.x0=3Dt.y0=3D0,t.x1=3Di,t.y1=3Do,t.eachBefore(n),u=
=3D[0],r&&t.eachBefore(Kv),t}function n(t){var n=3Du[t.depth],r=3Dt.x0+n,i=
=3Dt.y0+n,o=3Dt.x1-n,h=3Dt.y1-n;o<r&&(r=3Do=3D(r+o)/2),h<i&&(i=3Dh=3D(i+h)/=
2),t.x0=3Dr,t.y0=3Di,t.x1=3Do,t.y1=3Dh,t.children&&(n=3Du[t.depth+1]=3Da(t)=
/2,r+=3Dl(t)-n,i+=3Dc(t)-n,o-=3Ds(t)-n,h-=3Df(t)-n,o<r&&(r=3Do=3D(r+o)/2),h=
=3Dn-1){var s=3D=
c[t];return s.x0=3Dr,s.y0=3Di,s.x1=3Du,void(s.y1=3Da)}for(var l=3Df[t],h=3D=
e/2+l,p=3Dt+1,d=3Dn-1;p>>1;f[v]<h?p=3Dv+1:d=3Dv}h-f[p-1]<f=
[p]-h&&t+1

a-i){var y=3D(r*g+u*_)/e;o(=
t,p,_,r,i,y,a),o(p,n,g,y,i,u,a)}else{var m=3D(i*g+a*_)/e;o(t,p,_,r,i,u,m),o=
(p,n,g,r,m,u,a)}}var u,a,c=3Dt.children,s=3Dc.length,f=3Dnew Array(s+1);for=
(f[0]=3Da=3Du=3D0;u<s;++u)f[u+1]=3Da+=3Dc[u].value;o(0,s,t.value,n,e,r,i)},=
t.treemapDice=3Dt_,t.treemapSlice=3Di_,t.treemapSliceDice=3Dfunction(t,n,e,=
r,i){(1&t.depth?i_:t_)(t,n,e,r,i)},t.treemapSquarify=3Du_,t.treemapResquari=
fy=3Da_,t.interpolate=3Dfl,t.interpolateArray=3Drl,t.interpolateBasis=3DJf,=
t.interpolateBasisClosed=3DQf,t.interpolateDate=3Dil,t.interpolateNumber=3D=
ol,t.interpolateObject=3Dul,t.interpolateRound=3Dll,t.interpolateString=3Ds=
l,t.interpolateTransformCss=3Dvl,t.interpolateTransformSvg=3D_l,t.interpola=
teZoom=3Dyl,t.interpolateRgb=3Dtl,t.interpolateRgbBasis=3Dnl,t.interpolateR=
gbBasisClosed=3Del,t.interpolateHsl=3Dml,t.interpolateHslLong=3Dxl,t.interp=
olateLab=3Dfunction(t,n){var e=3DKt((t=3DUt(t)).l,(n=3DUt(n)).l),r=3DKt(t.a=
,n.a),i=3DKt(t.b,n.b),o=3DKt(t.opacity,n.opacity);return function(n){return=
t.l=3De(n),t.a=3Dr(n),t.b=3Di(n),t.opacity=3Do(n),t+""}},t.interpolateHcl=
=3Dbl,t.interpolateHclLong=3Dwl,t.interpolateCubehelix=3DMl,t.interpolateCu=
behelixLong=3DTl,t.quantize=3Dfunction(t,n){for(var e=3Dnew Array(n),r=3D0;=
r<n;++r)e[r]=3Dt(r/(n-1));return e},t.path=3Dve,t.polygonArea=3Dfunction(t)=
{for(var n,e=3D-1,r=3Dt.length,i=3Dt[r-1],o=3D0;++e<r;)n=3Di,i=3Dt[e],o+=3D=
n[1]*i[0]-n[0]*i[1];return o/2},t.polygonCentroid=3Dfunction(t){for(var n,e=
,r=3D-1,i=3Dt.length,o=3D0,u=3D0,a=3Dt[i-1],c=3D0;++r<i;)n=3Da,a=3Dt[r],c+=
=3De=3Dn[0]*a[1]-a[0]*n[1],o+=3D(n[0]+a[0])*e,u+=3D(n[1]+a[1])*e;return c*=
=3D3,[o/c,u/c]},t.polygonHull=3Dfunction(t){if((e=3Dt.length)<3)return null=
;var n,e,r=3Dnew Array(e),i=3Dnew Array(e);for(n=3D0;n<e;++n)r[n]=3D[+t[n][=
0],+t[n][1],n];for(r.sort(Bo),n=3D0;n=3D0;–n)s.push(t[r[o[n]][2]]);for(n=3D+a=
;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s},t.polygonContains=3Dfunct=
ion(t,n){for(var e,r,i=3Dt.length,o=3Dt[i-1],u=3Dn[0],a=3Dn[1],c=3Do[0],s=
=3Do[1],f=3D!1,l=3D0;la!=3Ds>a&&u<(c-e)=
*(a-r)/(s-r)+e&&(f=3D!f),c=3De,s=3Dr;return f},t.polygonLength=3Dfunction(t=
){for(var n,e,r=3D-1,i=3Dt.length,o=3Dt[i-1],u=3Do[0],a=3Do[1],c=3D0;++r<i;=
)n=3Du,e=3Da,n-=3Du=3D(o=3Dt[r])[0],e-=3Da=3Do[1],c+=3DMath.sqrt(n*n+e*e);r=
eturn c},t.quadtree=3Dqe,t.queue=3DGo,t.randomUniform=3Dh_,t.randomNormal=
=3Dp_,t.randomLogNormal=3Dd_,t.randomBates=3D__,t.randomIrwinHall=3Dv_,t.ra=
ndomExponential=3Dg_,t.request=3Dy_,t.html=3Dx_,t.json=3Db_,t.text=3Dw_,t.x=
ml=3DM_,t.csv=3DN_,t.tsv=3Dk_,t.scaleBand=3Dnu,t.scalePoint=3Dfunction(){re=
turn eu(nu().paddingInner(1))},t.scaleIdentity=3Dhu,t.scaleLinear=3Dlu,t.sc=
aleLog=3Dmu,t.scaleOrdinal=3Dtu,t.scaleImplicit=3DC_,t.scalePow=3Dbu,t.scal=
eSqrt=3Dfunction(){return bu().exponent(.5)},t.scaleQuantile=3Dwu,t.scaleQu=
antize=3DMu,t.scaleThreshold=3DTu,t.scaleTime=3Dfunction(){return Ea(hg,fg,=
G_,W_,$_,H_,B_,O_,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)=
])},t.scaleUtc=3Dfunction(){return Ea(Ug,Lg,xg,yg,_g,dg,B_,O_,t.utcFormat).=
domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},t.schemeCategory10=3DKg,t.sc=
hemeCategory20b=3Dty,t.schemeCategory20c=3Dny,t.schemeCategory20=3Dey,t.int=
erpolateCubehelixDefault=3Dry,t.interpolateRainbow=3Dfunction(t){(t1)=
&&(t-=3DMath.floor(t));var n=3DMath.abs(t-.5);return uy.h=3D360*t-100,uy.s=
=3D1.5-1.5*n,uy.l=3D.8-.9*n,uy+””},t.interpolateWarm=3Diy,t.interpolateCool=
=3Doy,t.interpolateViridis=3Day,t.interpolateMagma=3Dcy,t.interpolateInfern=
o=3Dsy,t.interpolatePlasma=3Dfy,t.scaleSequential=3DCa,t.creator=3D$s,t.loc=
al=3Dm,t.matcher=3DJs,t.mouse=3Dnf,t.namespace=3DXs,t.namespaces=3DHs,t.sel=
ect=3Dff,t.selectAll=3Dfunction(t){return”string”=3D=3Dtypeof t?new pt([doc=
ument.querySelectorAll(t)],[document.documentElement]):new pt([null=3D=3Dt?=
[]:t],sf)},t.selection=3Ddt,t.selector=3Def,t.selectorAll=3Drf,t.style=3DB,=
t.touch=3Dlf,t.touches=3Dfunction(t,n){null=3D=3Dn&&(n=3DKs().touches);for(=
var e=3D0,r=3Dn?n.length:0,i=3Dnew Array(r);eh;if(c||(c=
=3Dt=3Dve()),lmy)if(d>wy-my)c.moveTo(l*dy(h),l*gy=
(h)),c.arc(0,0,l,h,p,!v),f>my&&(c.moveTo(f*dy(p),f*gy(p)),c.arc(0,0,f,p,h,v=
));else{var _,g,y=3Dh,m=3Dp,x=3Dh,b=3Dp,w=3Dd,M=3Dd,T=3Da.apply(this,argume=
nts)/2,N=3DT>my&&(i?+i.apply(this,arguments):yy(f*f+l*l)),k=3D_y(hy(l-f)/2,=
+r.apply(this,arguments)),S=3Dk,E=3Dk;if(N>my){var A=3DPa(N/f*gy(T)),C=3DPa=
(N/l*gy(T));(w-=3D2*A)>my?(A*=3Dv?1:-1,x+=3DA,b-=3DA):(w=3D0,x=3Db=3D(h+p)/=
2),(M-=3D2*C)>my?(C*=3Dv?1:-1,y+=3DC,m-=3DC):(M=3D0,y=3Dm=3D(h+p)/2)}var z=
=3Dl*dy(y),P=3Dl*gy(y),R=3Df*dy(b),L=3Df*gy(b);if(k>my){var q=3Dl*dy(m),U=
=3Dl*gy(m),D=3Df*dy(x),O=3Df*gy(x);if(dmy?Oa(z,P,D,O,q,U,R,L=
):[R,L],I=3Dz-F[0],Y=3DP-F[1],B=3Dq-F[0],j=3DU-F[1],H=3D1/gy(za((I*B+Y*j)/(=
yy(I*I+Y*Y)*yy(B*B+j*j)))/2),X=3Dyy(F[0]*F[0]+F[1]*F[1]);S=3D_y(k,(f-X)/(H-=
1)),E=3D_y(k,(l-X)/(H+1))}}M>my?E>my?(_=3DFa(D,O,z,P,l,E,v),g=3DFa(q,U,R,L,=
l,E,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),Emy&&w>my?S>my?(_=3DFa(R,L,q,U,f,-S,v),g=3DFa(z,=
P,D,O,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S<k?c.arc(_.cx,_.cy,S,py(_.y0=
1,_.x01),py(g.y01,g.x01),!v):(c.arc(_.cx,_.cy,S,py(_.y01,_.x01),py(_.y11,_.=
x11),!v),c.arc(0,0,f,py(_.cy+_.y11,_.cx+_.x11),py(g.cy+g.y11,g.cx+g.x11),v)=
,c.arc(g.cx,g.cy,S,py(g.y11,g.x11),py(g.y01,g.x01),!v))):c.arc(0,0,f,b,x,v)=
:c.lineTo(R,L)}else c.moveTo(0,0);if(c.closePath(),t)return c=3Dnull,t+""||=
null}var n=3DRa,e=3DLa,r=3Dly(0),i=3Dnull,o=3Dqa,u=3DUa,a=3DDa,c=3Dnull;ret=
urn t.centroid=3Dfunction(){var t=3D(+n.apply(this,arguments)+ +e.apply(thi=
s,arguments))/2,r=3D(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-=
xy/2;return[dy(r)*t,gy(r)*t]},t.innerRadius=3Dfunction(e){return arguments.=
length?(n=3D"function"=3D=3Dtypeof e?e:ly(+e),t):n},t.outerRadius=3Dfunctio=
n(n){return arguments.length?(e=3D"function"=3D=3Dtypeof n?n:ly(+n),t):e},t=
.cornerRadius=3Dfunction(n){return arguments.length?(r=3D"function"=3D=3Dty=
peof n?n:ly(+n),t):r},t.padRadius=3Dfunction(n){return arguments.length?(i=
=3Dnull=3D=3Dn?null:"function"=3D=3Dtypeof n?n:ly(+n),t):i},t.startAngle=3D=
function(n){return arguments.length?(o=3D"function"=3D=3Dtypeof n?n:ly(+n),=
t):o},t.endAngle=3Dfunction(n){return arguments.length?(u=3D"function"=3D=
=3Dtypeof n?n:ly(+n),t):u},t.padAngle=3Dfunction(n){return arguments.length=
?(a=3D"function"=3D=3Dtypeof n?n:ly(+n),t):a},t.context=3Dfunction(n){retur=
n arguments.length?(c=3Dnull=3D=3Dn?null:n,t):c},t},t.area=3DNy,t.line=3DTy=
,t.pie=3Dfunction(){function t(t){var a,c,s,f,l,h=3Dt.length,p=3D0,d=3Dnew =
Array(h),v=3Dnew Array(h),_=3D+i.apply(this,arguments),g=3DMath.min(wy,Math=
.max(-wy,o.apply(this,arguments)-_)),y=3DMath.min(Math.abs(g)/h,u.apply(thi=
s,arguments)),m=3Dy*(g<0?-1:1);for(a=3D0;a0&&(p+=3Dl);for(null!=3De?d.sort(function(t,n){return e(v[t],v[n])})=
:null!=3Dr&&d.sort(function(n,e){return r(t[n],t[e])}),a=3D0,s=3Dp?(g-h*m)/=
p:0;a0?l*s:0)+m,v[c]=3D{data:t[c],i=
ndex:a,value:l,startAngle:_,endAngle:f,padAngle:y};return v}var n=3DSy,e=3D=
ky,r=3Dnull,i=3Dly(0),o=3Dly(wy),u=3Dly(0);return t.value=3Dfunction(e){ret=
urn arguments.length?(n=3D”function”=3D=3Dtypeof e?e:ly(+e),t):n},t.sortVal=
ues=3Dfunction(n){return arguments.length?(e=3Dn,r=3Dnull,t):e},t.sort=3Dfu=
nction(n){return arguments.length?(r=3Dn,e=3Dnull,t):r},t.startAngle=3Dfunc=
tion(n){return arguments.length?(i=3D”function”=3D=3Dtypeof n?n:ly(+n),t):i=
},t.endAngle=3Dfunction(n){return arguments.length?(o=3D”function”=3D=3Dtyp=
eof n?n:ly(+n),t):o},t.padAngle=3Dfunction(n){return arguments.length?(u=3D=
“function”=3D=3Dtypeof n?n:ly(+n),t):u},t},t.areaRadial=3DCy,t.radialArea=
=3DCy,t.lineRadial=3DAy,t.radialLine=3DAy,t.pointRadial=3Dzy,t.linkHorizont=
al=3Dfunction(){return Wa(Za)},t.linkVertical=3Dfunction(){return Wa(Ga)},t=
.linkRadial=3Dfunction(){var t=3DWa(Ja);return t.angle=3Dt.x,delete t.x,t.r=
adius=3Dt.y,delete t.y,t},t.symbol=3Dfunction(){function t(){var t;if(r||(r=
=3Dt=3Dve()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)ret=
urn r=3Dnull,t+””||null}var n=3Dly(Ry),e=3Dly(64),r=3Dnull;return t.type=3D=
function(e){return arguments.length?(n=3D”function”=3D=3Dtypeof e?e:ly(e),t=
):n},t.size=3Dfunction(n){return arguments.length?(e=3D”function”=3D=3Dtype=
of n?n:ly(+n),t):e},t.context=3Dfunction(n){return arguments.length?(r=3Dnu=
ll=3D=3Dn?null:n,t):r},t},t.symbols=3DGy,t.symbolCircle=3DRy,t.symbolCross=
=3DLy,t.symbolDiamond=3DDy,t.symbolSquare=3DBy,t.symbolStar=3DYy,t.symbolTr=
iangle=3DHy,t.symbolWye=3DZy,t.curveBasisClosed=3Dfunction(t){return new tc=
(t)},t.curveBasisOpen=3Dfunction(t){return new nc(t)},t.curveBasis=3Dfuncti=
on(t){return new Ka(t)},t.curveBundle=3DQy,t.curveCardinalClosed=3Dtm,t.cur=
veCardinalOpen=3Dnm,t.curveCardinal=3DKy,t.curveCatmullRomClosed=3Drm,t.cur=
veCatmullRomOpen=3Dim,t.curveCatmullRom=3Dem,t.curveLinearClosed=3Dfunction=
(t){return new lc(t)},t.curveLinear=3DMy,t.curveMonotoneX=3Dfunction(t){ret=
urn new _c(t)},t.curveMonotoneY=3Dfunction(t){return new gc(t)},t.curveNatu=
ral=3Dfunction(t){return new mc(t)},t.curveStep=3Dfunction(t){return new bc=
(t,.5)},t.curveStepAfter=3Dfunction(t){return new bc(t,1)},t.curveStepBefor=
e=3Dfunction(t){return new bc(t,0)},t.stack=3Dfunction(){function t(t){var =
o,u,a=3Dn.apply(this,arguments),c=3Dt.length,s=3Da.length,f=3Dnew Array(s);=
for(o=3D0;o<s;++o){for(var l,h=3Da[o],p=3Df[o]=3Dnew Array(c),d=3D0;d<c;++d=
)p[d]=3Dl=3D[0,+i(t[d],h,d,t)],l.data=3Dt[d];p.key=3Dh}for(o=3D0,u=3De(f);o=
0){for=
(var e,r,i,o=3D0,u=3Dt[0].length;o<u;++o){for(i=3De=3D0;e<r;++e)i+=3Dt[e][o=
][1]||0;if(i)for(e=3D0;e1)for(var e,r,i,o,u,a,c=3D0,s=3Dt[n[=
0]].length;c<s;++c)for(o=3Du=3D0,e=3D0;e
=3D0?(r[0]=3Do,r[1]=3Do+=3Di):i0){for(var e,r=3D0,i=3Dt[n[0]],o=3Di.length;r<o;++r){for(var u=3D0,a=3D0=
;u0&&(r=3D(e=3Dt[n[0]]).length)>0)=
{for(var e,r,i,o=3D0,u=3D1;u<r;++u){for(var a=3D0,c=3D0,s=3D0;a<i;++a){for(=
var f=3Dt[n[a]],l=3Df[u][1]||0,h=3D(l-(f[u-1][1]||0))/2,p=3D0;p<a;++p){var =
d=3Dt[n[p]];h+=3D(d[u][1]||0)-(d[u-1][1]||0)}c+=3Dl,s+=3Dh*l}e[u-1][1]+=3De=
[u-1][0]=3Do,c&&(o-=3Ds/c)}e[u-1][1]+=3De[u-1][0]=3Do,om(t,n)}},t.stackOrde=
rAscending=3Dam,t.stackOrderDescending=3Dfunction(t){return am(t).reverse()=
},t.stackOrderInsideOut=3Dfunction(t){var n,e,r=3Dt.length,i=3Dt.map(Mc),o=
=3Dum(t).sort(function(t,n){return i[n]-i[t]}),u=3D0,a=3D0,c=3D[],s=3D[];fo=
r(n=3D0;n<r;++n)e=3Do[n],u
Ol&&e.name=3D=3D=3Dn)return new Gn(=
[[t]],mh,n,+r)}return null},t.interrupt=3DXl,t.voronoi=3Dfunction(){functio=
n t(t){return new ns(t.map(function(r,i){var o=3D[Math.round(n(r,i,t)/_m)*_=
m,Math.round(e(r,i,t)/_m)*_m];return o.index=3Di,o.data=3Dr,o}),r)}var n=3D=
Tc,e=3DNc,r=3Dnull;return t.polygons=3Dfunction(n){return t(n).polygons()},=
t.links=3Dfunction(n){return t(n).links()},t.triangles=3Dfunction(n){return=
t(n).triangles()},t.x=3Dfunction(e){return arguments.length?(n=3D”function=
“=3D=3Dtypeof e?e:cm(+e),t):n},t.y=3Dfunction(n){return arguments.length?(e=
=3D”function”=3D=3Dtypeof n?n:cm(+n),t):e},t.extent=3Dfunction(n){return ar=
guments.length?(r=3Dnull=3D=3Dn?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1=
]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=3Dfunction(n){retur=
n arguments.length?(r=3Dnull=3D=3Dn?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][=
0]-r[0][0],r[1][1]-r[0][1]]},t},t.zoom=3Dfunction(){function n(t){t.propert=
y(“__zoom”,cs).on(“wheel.zoom”,s).on(“mousedown.zoom”,f).on(“dblclick.zoom”=
,l).filter(b).on(“touchstart.zoom”,p).on(“touchmove.zoom”,d).on(“touchend.z=
oom touchcancel.zoom”,v).style(“touch-action”,”none”).style(“-webkit-tap-hi=
ghlight-color”,”rgba(0,0,0,0)”)}function e(t,n){return(n=3DMath.max(w,Math.=
min(M,n)))=3D=3D=3Dt.k?t:new rs(n,t.x,t.y)}function r(t,n,e){var r=3Dn[0]-e=
[0]*t.k,i=3Dn[1]-e[1]*t.k;return r=3D=3D=3Dt.x&&i=3D=3D=3Dt.y?t:new rs(t.k,=
r,i)}function i(t,n){var e=3Dt.invertX(n[0][0])-T,r=3Dt.invertX(n[1][0])-N,=
i=3Dt.invertY(n[0][1])-S,o=3Dt.invertY(n[1][1])-E;return t.translate(r>e?(e=
+r)/2:Math.min(0,e)||Math.max(0,r),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o)=
)}function o(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}funct=
ion u(t,n,e){t.on(“start.zoom”,function(){a(this,arguments).start()}).on(“i=
nterrupt.zoom end.zoom”,function(){a(this,arguments).end()}).tween(“zoom”,f=
unction(){var t=3Dthis,r=3Darguments,i=3Da(t,r),u=3Dm.apply(t,r),c=3De||o(u=
),s=3DMath.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=3Dt.__zoom,l=3D”function”=
=3D=3Dtypeof n?n.apply(t,r):n,h=3DC(f.invert(c).concat(s/f.k),l.invert(c).c=
oncat(s/l.k));return function(t){if(1=3D=3D=3Dt)t=3Dl;else{var n=3Dh(t),e=
=3Ds/n[2];t=3Dnew rs(e,c[0]-n[0]*e,c[1]-n[1]*e)}i.zoom(null,t)}})}function =
a(t,n){for(var e,r=3D0,i=3Dz.length;rq}n.zoom(“mouse”,i(r(n.that.__zoom,n.mouse[0]=3Dnf(n.that),n.mouse[1]),n.=
extent))},!0).on(“mouseup.zoom”,function(){e.on(“mousemove.zoom mouseup.zoo=
m”,null),_t(t.event.view,n.moved),xm(),n.end()},!0),o=3Dnf(this),u=3Dt.even=
t.clientX,c=3Dt.event.clientY;pf(t.event.view),os(),n.mouse=3D[o,this.__zoo=
m.invert(o)],Xl(this),n.start()}}function l(){if(y.apply(this,arguments)){v=
ar o=3Dthis.__zoom,a=3Dnf(this),c=3Do.invert(a),s=3Di(r(e(o,o.k*(t.event.sh=
iftKey?.5:2)),a,c),m.apply(this,arguments));xm(),A>0?ff(this).transition().=
duration(A).call(u,s,a):ff(this).call(n.transform,s)}}function p(){if(y.app=
ly(this,arguments)){var n,e,r,i,o=3Da(this,arguments),u=3Dt.event.changedTo=
uches,c=3Du.length;for(os(),e=3D0;e<c;++e)r=3Du[e],i=3D[i=3Dlf(this,u,r.ide=
ntifier),this.__zoom.invert(i),r.identifier],o.touch0?o.touch1||(o.touch1=
=3Di):(o.touch0=3Di,n=3D!0);if(_&&(_=3DclearTimeout(_),!o.touch1))return o.=
end(),void((i=3Dff(this).on("dblclick.zoom"))&&i.apply(this,arguments));n&&=
(_=3DsetTimeout(function(){_=3Dnull},R),Xl(this),o.start())}}function d(){v=
ar n,o,u,c,s=3Da(this,arguments),f=3Dt.event.changedTouches,l=3Df.length;fo=
r(xm(),_&&(_=3DclearTimeout(_)),n=3D0;n<l;++n)o=3Df[n],u=3Dlf(this,f,o.iden=
tifier),s.touch0&&s.touch0[2]=3D=3D=3Do.identifier?s.touch0[0]=3Du:s.touch1=
&&s.touch1[2]=3D=3D=3Do.identifier&&(s.touch1[0]=3Du);if(o=3Ds.that.__zoom,=
s.touch1){var h=3Ds.touch0[0],p=3Ds.touch0[1],d=3Ds.touch1[0],v=3Ds.touch1[=
1],g=3D(g=3Dd[0]-h[0])*g+(g=3Dd[1]-h[1])*g,y=3D(y=3Dv[0]-p[0])*y+(y=3Dv[1]-=
p[1])*y;o=3De(o,Math.sqrt(g/y)),u=3D[(h[0]+d[0])/2,(h[1]+d[1])/2],c=3D[(p[0=
]+v[0])/2,(p[1]+v[1])/2]}else{if(!s.touch0)return;u=3Ds.touch0[0],c=3Ds.tou=
ch0[1]}s.zoom("touch",i(r(o,u,c),s.extent))}function v(){var n,e,r=3Da(this=
,arguments),i=3Dt.event.changedTouches,o=3Di.length;for(os(),g&&clearTimeou=
t(g),g=3DsetTimeout(function(){g=3Dnull},R),n=3D0;n<o;++n)e=3Di[n],r.touch0=
&&r.touch0[2]=3D=3D=3De.identifier?delete r.touch0:r.touch1&&r.touch1[2]=3D=
=3D=3De.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=3Dr.touc=
h1,delete r.touch1),r.touch0?r.touch0[1]=3Dthis.__zoom.invert(r.touch0[0]):=
r.end()}var _,g,y=3Dus,m=3Das,x=3Dss,b=3Dfs,w=3D0,M=3D1/0,T=3D-M,N=3DM,S=3D=
T,E=3DN,A=3D250,C=3Dyl,z=3D[],P=3Dh("start","zoom","end"),R=3D500,L=3D150,q=
=3D0;return n.transform=3Dfunction(t,n){var e=3Dt.selection?t.selection():t=
;e.property("__zoom",cs),t!=3D=3De?u(t,n):e.interrupt().each(function(){a(t=
his,arguments).start().zoom(null,"function"=3D=3Dtypeof n?n.apply(this,argu=
ments):n).end()})},n.scaleBy=3Dfunction(t,e){n.scaleTo(t,function(){return =
this.__zoom.k*("function"=3D=3Dtypeof e?e.apply(this,arguments):e)})},n.sca=
leTo=3Dfunction(t,u){n.transform(t,function(){var t=3Dm.apply(this,argument=
s),n=3Dthis.__zoom,a=3Do(t),c=3Dn.invert(a);return i(r(e(n,"function"=3D=3D=
typeof u?u.apply(this,arguments):u),a,c),t)})},n.translateBy=3Dfunction(t,e=
,r){n.transform(t,function(){return i(this.__zoom.translate("function"=3D=
=3Dtypeof e?e.apply(this,arguments):e,"function"=3D=3Dtypeof r?r.apply(this=
,arguments):r),m.apply(this,arguments))})},n.translateTo=3Dfunction(t,e,r){=
n.transform(t,function(){var t=3Dm.apply(this,arguments),n=3Dthis.__zoom,u=
=3Do(t);return i(mm.translate(u[0],u[1]).scale(n.k).translate("function"=3D=
=3Dtypeof e?-e.apply(this,arguments):-e,"function"=3D=3Dtypeof r?-r.apply(t=
his,arguments):-r),t)})},c.prototype=3D{start:function(){return 1=3D=3D++th=
is.active&&(this.index=3Dz.push(this)-1,this.emit("start")),this},zoom:func=
tion(t,n){return this.mouse&&"mouse"!=3D=3Dt&&(this.mouse[1]=3Dn.invert(thi=
s.mouse[0])),this.touch0&&"touch"!=3D=3Dt&&(this.touch0[1]=3Dn.invert(this.=
touch0[0])),this.touch1&&"touch"!=3D=3Dt&&(this.touch1[1]=3Dn.invert(this.t=
ouch1[0])),this.that.__zoom=3Dn,this.emit("zoom"),this},end:function(){retu=
rn 0=3D=3D–this.active&&(z.splice(this.index,1),this.index=3D-1,this.emit(=
"end")),this},emit:function(t){k(new es(n,t,this.that.__zoom),P.apply,P,[t,=
this.that,this.args])}},n.wheelDelta=3Dfunction(t){return arguments.length?=
(x=3D"function"=3D=3Dtypeof t?t:ym(+t),n):x},n.filter=3Dfunction(t){return =
arguments.length?(y=3D"function"=3D=3Dtypeof t?t:ym(!!t),n):y},n.touchable=
=3Dfunction(t){return arguments.length?(b=3D"function"=3D=3Dtypeof t?t:ym(!=
!t),n):b},n.extent=3Dfunction(t){return arguments.length?(m=3D"function"=3D=
=3Dtypeof t?t:ym([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):m},n.scaleEx=
tent=3Dfunction(t){return arguments.length?(w=3D+t[0],M=3D+t[1],n):[w,M]},n=
.translateExtent=3Dfunction(t){return arguments.length?(T=3D+t[0][0],N=3D+t=
[1][0],S=3D+t[0][1],E=3D+t[1][1],n):[[T,S],[N,E]]},n.duration=3Dfunction(t)=
{return arguments.length?(A=3D+t,n):A},n.interpolate=3Dfunction(t){return a=
rguments.length?(C=3Dt,n):C},n.on=3Dfunction(){var t=3DP.on.apply(P,argumen=
ts);return t=3D=3D=3DP?n:t},n.clickDistance=3Dfunction(t){return arguments.=
length?(q=3D(t=3D+t)*t,n):Math.sqrt(q)},n},t.zoomTransform=3Dis,t.zoomIdent=
ity=3Dmm,Object.defineProperty(t,"__esModule",{value:!0})});
/*!
* d3pie
* @author Ben Keen
* @version 0.2.1
* @date March 11, 2017
* @repo http://github.com/benkeen/d3pie
*/
!function(a,b){"function"=3D=3Dtypeof define&&define.amd?define([],b):"obje=
ct"=3D=3Dtypeof exports?module.exports=3Db():a.d3pie=3Db(a)}(this,function(=
){var a=3D"d3pie",b=3D"0.2.1",c=3D0,e=3D{header:{title:{text:"",color:"#333=
333",fontSize:18,font:"arial"},subtitle:{text:"",color:"#666666",fontSize:1=
4,font:"arial"},location:"top-center",titleSubtitlePadding:8},footer:{text:=
"",color:"#666666",fontSize:14,font:"arial",location:"left"},size:{canvasHe=
ight:500,canvasWidth:500,pieInnerRadius:"0%",pieOuterRadius:null},data:{sor=
tOrder:"none",ignoreSmallSegments:{enabled:!1,valueType:"percentage",value:=
null},smallSegmentGrouping:{enabled:!1,value:1,valueType:"percentage",label=
:"Other",color:"#cccccc"},content:[]},labels:{outer:{format:"label",hideWhe=
nLessThanPercentage:null,pieDistance:30},inner:{format:"percentage",hideWhe=
nLessThanPercentage:null},mainLabel:{color:"#333333",font:"arial",fontSize:=
10},percentage:{color:"#dddddd",font:"arial",fontSize:10,decimalPlaces:0},v=
alue:{color:"#cccc44",font:"arial",fontSize:10},lines:{enabled:!0,style:"cu=
rved",color:"segment"},truncation:{enabled:!1,truncateLength:30},formatter:=
null},effects:{load:{effect:"default",speed:1e3},pullOutSegmentOnClick:{eff=
ect:"bounce",speed:300,size:10},highlightSegmentOnMouseover:!0,highlightLum=
inosity:-.2},tooltips:{enabled:!1,type:"placeholder",string:"",placeholderP=
arser:null,styles:{fadeInSpeed:250,backgroundColor:"#000000",backgroundOpac=
ity:.5,color:"#efefef",borderRadius:2,font:"arial",fontSize:10,padding:4}},=
misc:{colors:{background:null,segments:["#2484c1","#65a620","#7b6888","#a05=
d56","#961a1a","#d8d23a","#e98125","#d0743c","#635222","#6ada6a","#0c6197",=
"#7d9058","#207f33","#44b9b0","#bca44a","#e4a14b","#a3acb2","#8cc3e9","#69a=
6f9","#5b388f","#546e91","#8bde95","#d2ab58","#273c71","#98bf6e","#4daa4b",=
"#98abc5","#cc1010","#31383b","#006391","#c2643f","#b0a474","#a5a39c","#a9c=
2bc","#22af8c","#7fcecf","#987ac6","#3d3b87","#b77b1c","#c9c2b6","#807ece",=
"#8db27c","#be66a2","#9ed3c6","#00644b","#005064","#77979f","#77e079","#9c7=
3ab","#1f79a7"],segmentStroke:"#ffffff"},gradient:{enabled:!1,percentage:95=
,color:"#000000"},canvasPadding:{top:5,right:5,bottom:5,left:5},pieCenterOf=
fset:{x:0,y:0},cssPrefix:null},callbacks:{onload:null,onMouseoverSegment:nu=
ll,onMouseoutSegment:null,onClickSegment:null}},f=3D{initialCheck:function(=
a){var b=3Da.cssPrefix,c=3Da.element,d=3Da.options;if(!window.d3||!window.d=
3.hasOwnProperty("version"))return console.error("d3pie error: d3 is not av=
ailable"),!1;if(!(c instanceof HTMLElement||c instanceof SVGElement))return=
console.error("d3pie error: the first d3pie() param must be a valid DOM el=
ement (not jQuery) or a ID string."),!1;if(!/[a-zA-Z][a-zA-Z0-9_-]*$/.test(=
b))return console.error("d3pie error: invalid options.misc.cssPrefix"),!1;i=
f(!g.isArray(d.data.content))return console.error("d3pie error: invalid con=
fig structure: missing data.content property."),!1;if(0=3D=3D=3Dd.data.cont=
ent.length)return console.error("d3pie error: no data supplied."),!1;for(va=
r e=3D[],f=3D0;f<d.data.content.length;f++)"number"!=3Dtypeof d.data.conten=
t[f].value||isNaN(d.data.content[f].value)?console.log("not valid: ",d.data=
.content[f]):d.data.content[f].valued&&clearInterval(e),c++},1)},whenElementsExist:function(a,b){var c=3D1,=
d=3D1e3,e=3DsetInterval(function(){for(var f=3D!0,g=3D0;g
d&&=
clearInterval(e),c++},1)},shuffleArray:function(a){for(var b,c,d=3Da.length=
;0!=3D=3Dd;)c=3DMath.floor(Math.random()*d),d-=3D1,b=3Da[d],a[d]=3Da[c],a[c=
]=3Db;return a},processObj:function(a,b,c){return”string”=3D=3Dtypeof b?g.p=
rocessObj(a,b.split(“.”),c):1=3D=3D=3Db.length&&void 0!=3D=3Dc?(a[b[0]]=3Dc=
,a[b[0]]):0=3D=3D=3Db.length?a:g.processObj(a[b[0]],b.slice(1),c)},getDimen=
sions:function(a){var b=3Ddocument.getElementById(a),c=3D0,d=3D0;if(b){var =
e=3Db.getBBox();c=3De.width,d=3De.height}else console.log(“error: getDimens=
ions() “+a+” not found.”);return{w:c,h:d}},rectIntersect:function(a,b){var =
c=3Db.x>a.x+a.w||b.x+b.w<a.x||b.y+b.h
a.y+a.h;return!c},getColorSh=
ade:function(a,b){a=3DString(a).replace(/[^0-9a-f]/gi,””),a.lengthd;d++){var =
e=3DparseInt(a.substr(2*d,2),16);e=3DMath.round(Math.min(Math.max(0,e+e*b),=
255)).toString(16),c+=3D(“00″+e).substr(e.length)}return c},initSegmentColo=
rs:function(a){for(var b=3Da.options.data.content,c=3Da.options.misc.colors=
.segments,d=3D[],e=3D0;e<b.length;e++)b[e].hasOwnProperty("color")?d.push(b=
[e].color):d.push(c[e]);return d},applySmallSegmentGrouping:function(a,b){v=
ar c;"percentage"=3D=3D=3Db.valueType&&(c=3Di.getTotalPieSize(a));for(var d=
=3D[],e=3D[],f=3D0,g=3D0;g<a.length;g++)if("percentage"=3D=3D=3Db.valueType=
){var h=3Da[g].value/c*100;if(h<=3Db.value){e.push(a[g]),f+=3Da[g].value;co=
ntinue}a[g].isGrouped=3D!1,d.push(a[g])}else{if(a[g].valuei;i++)if(null!=3D=
=3D(a=3Darguments[i]))for(b in a)c=3Dg[b],d=3Da[b],g!=3D=3Dd&&(k&&d&&(o.isP=
lainObject(d)||(e=3Do.isArray(d)))?(e?(e=3D!1,f=3Dc&&o.isArray(c)?c:[]):f=
=3Dc&&o.isPlainObject(c)?c:{},g[b]=3Dh(k,f,d)):void 0!=3D=3Dd&&(g[b]=3Dd));=
return g},i=3D{toRadians:function(a){return a*(Math.PI/180)},toDegrees:func=
tion(a){return a*(180/Math.PI)},computePieRadius:function(a){var b=3Da.opti=
ons.size,c=3Da.options.misc.canvasPadding,d=3Db.canvasWidth-c.left-c.right,=
e=3Db.canvasHeight-c.top-c.bottom;”pie-center”!=3D=3Da.options.header.locat=
ion&&(e-=3Da.textComponents.headerHeight),a.textComponents.footer.exists&&(=
e-=3Da.textComponents.footer.h),e=3D0>e?0:e;var f,g,h=3D(e>d?d:e)/3;if(null=
!=3D=3Db.pieOuterRadius)if(/%/.test(b.pieOuterRadius)){g=3DparseInt(b.pieOu=
terRadius.replace(/[\D]/,””),10),g=3Dg>99?99:g,g=3D0>g?0:g;var i=3De>d?d:e;=
if(“none”!=3D=3Da.options.labels.outer.format){var j=3D2*parseInt(a.options=
.labels.outer.pieDistance,10);i-j>0&&(i-=3Dj)}h=3DMath.floor(i/100*g)/2}els=
e h=3DparseInt(b.pieOuterRadius,10);/%/.test(b.pieInnerRadius)?(g=3DparseIn=
t(b.pieInnerRadius.replace(/[\D]/,””),10),g=3Dg>99?99:g,g=3D0>g?0:g,f=3DMat=
h.floor(h/100*g)):f=3DparseInt(b.pieInnerRadius,10),a.innerRadius=3Df,a.out=
erRadius=3Dh},getTotalPieSize:function(a){for(var b=3D0,c=3D0;c<a.length;c+=
+)b+=3Da[c].value;return b},sortPieData:function(a){var b=3Da.options.data.=
content,c=3Da.options.data.sortOrder;switch(c){case"none":break;case"random=
":b=3Dg.shuffleArray(b);break;case"value-asc":b.sort(function(a,b){return a=
.value<b.value?-1:1});break;case"value-desc":b.sort(function(a,b){return a.=
valueb.label.toLowerCase()?1:-1});break;case”label-desc”:b.sor=
t(function(a,b){return a.label.toLowerCase()i?i+2*Math.PI:i,h>=3Dd*d&&e*e>=3Dh&&i>=3Df&&g>=3Di}},j=3D{add:function=
(a,b,c){var d=3Dj.getIncludes(c),e=3Da.options.labels,f=3Da.svg.insert(“g”,=
“.”+a.cssPrefix+”labels-“+b).attr(“class”,a.cssPrefix+”labels-“+b),g=3Df.se=
lectAll(“.”+a.cssPrefix+”labelGroup-“+b).data(a.options.data.content).enter=
().append(“g”).attr(“id”,function(c,d){return a.cssPrefix+”labelGroup”+d+”-=
“+b}).attr(“data-index”,function(a,b){return b}).attr(“class”,a.cssPrefix+”=
labelGroup-“+b).style(“opacity”,0),h=3D{section:b,sectionDisplayType:c};d.m=
ainLabel&&g.append(“text”).attr(“id”,function(c,d){return a.cssPrefix+”segm=
entMainLabel”+d+”-“+b}).attr(“class”,a.cssPrefix+”segmentMainLabel-“+b).tex=
t(function(a,b){var c=3Da.label;return e.formatter?(h.index=3Db,h.part=3D”m=
ainLabel”,h.value=3Da.value,h.label=3Dc,c=3De.formatter(h)):e.truncation.en=
abled&&a.label.length>e.truncation.truncateLength&&(c=3Da.label.substring(0=
,e.truncation.truncateLength)+”…”),c}).style(“font-size”,e.mainLabel.font=
Size+”px”).style(“font-family”,e.mainLabel.font).style(“fill”,e.mainLabel.c=
olor),d.percentage&&g.append(“text”).attr(“id”,function(c,d){return a.cssPr=
efix+”segmentPercentage”+d+”-“+b}).attr(“class”,a.cssPrefix+”segmentPercent=
age-“+b).text(function(a,b){var c=3Da.percentage;return e.formatter?(h.inde=
x=3Db,h.part=3D”percentage”,h.value=3Da.value,h.label=3Da.percentage,c=3De.=
formatter(h)):c+=3D”%”,c}).style(“font-size”,e.percentage.fontSize+”px”).st=
yle(“font-family”,e.percentage.font).style(“fill”,e.percentage.color),d.val=
ue&&g.append(“text”).attr(“id”,function(c,d){return a.cssPrefix+”segmentVal=
ue”+d+”-“+b}).attr(“class”,a.cssPrefix+”segmentValue-“+b).text(function(a,b=
){return h.index=3Db,h.part=3D”value”,h.value=3Da.value,h.label=3Da.value,e=
.formatter?e.formatter(h,a.value):a.value}).style(“font-size”,e.value.fontS=
ize+”px”).style(“font-family”,e.value.font).style(“fill”,e.value.color)},po=
sitionLabelElements:function(a,b,c){j[“dimensions-“+b]=3D[];var d=3Dd3.sele=
ctAll(“.”+a.cssPrefix+”labelGroup-“+b);d.each(function(c,d){var e=3Dd3.sele=
ct(this).selectAll(“.”+a.cssPrefix+”segmentMainLabel-“+b),f=3Dd3.select(thi=
s).selectAll(“.”+a.cssPrefix+”segmentPercentage-“+b),g=3Dd3.select(this).se=
lectAll(“.”+a.cssPrefix+”segmentValue-“+b);j[“dimensions-“+b].push({mainLab=
el:null!=3D=3De.node()?e.node().getBBox():null,percentage:null!=3D=3Df.node=
()?f.node().getBBox():null,value:null!=3D=3Dg.node()?g.node().getBBox():nul=
l})});var e=3D5,f=3Dj[“dimensions-“+b];switch(c){case”label-value1”:d3.sele=
ctAll(“.”+a.cssPrefix+”segmentValue-“+b).attr(“dx”,function(a,b){return f[b=
].mainLabel.width+e});break;case”label-value2″:d3.selectAll(“.”+a.cssPrefix=
+”segmentValue-“+b).attr(“dy”,function(a,b){return f[b].mainLabel.height});=
break;case”label-percentage1″:d3.selectAll(“.”+a.cssPrefix+”segmentPercenta=
ge-“+b).attr(“dx”,function(a,b){return f[b].mainLabel.width+e});break;case”=
label-percentage2″:d3.selectAll(“.”+a.cssPrefix+”segmentPercentage-“+b).att=
r(“dx”,function(a,b){return f[b].mainLabel.width/2-f[b].percentage.width/2}=
).attr(“dy”,function(a,b){return f[b].mainLabel.height})}},computeLabelLine=
Positions:function(a){a.lineCoordGroups=3D[],d3.selectAll(“.”+a.cssPrefix+”=
labelGroup-outer”).each(function(b,c){return j.computeLinePosition(a,c)})},=
computeLinePosition:function(a,b){var c,d,e,f,g=3Dk.getSegmentAngle(b,a.opt=
ions.data.content,a.totalSize,{midpoint:!0}),h=3Di.rotate(a.pieCenter.x,a.p=
ieCenter.y-a.outerRadius,a.pieCenter.x,a.pieCenter.y,g),j=3Da.outerLabelGro=
upData[b].h/5,l=3D6,m=3DMath.floor(g/90),n=3D4;switch(2=3D=3D=3Dm&&180=3D=
=3D=3Dg&&(m=3D1),m){case 0:c=3Da.outerLabelGroupData[b].x-l-(a.outerLabelGr=
oupData[b].x-l-h.x)/2,d=3Da.outerLabelGroupData[b].y+(h.y-a.outerLabelGroup=
Data[b].y)/n,e=3Da.outerLabelGroupData[b].x-l,f=3Da.outerLabelGroupData[b].=
y-j;break;case 1:c=3Dh.x+(a.outerLabelGroupData[b].x-h.x)/n,d=3Dh.y+(a.oute=
rLabelGroupData[b].y-h.y)/n,e=3Da.outerLabelGroupData[b].x-l,f=3Da.outerLab=
elGroupData[b].y-j;break;case 2:var o=3Da.outerLabelGroupData[b].x+a.outerL=
abelGroupData[b].w+l;c=3Dh.x-(h.x-o)/n,d=3Dh.y+(a.outerLabelGroupData[b].y-=
h.y)/n,e=3Da.outerLabelGroupData[b].x+a.outerLabelGroupData[b].w+l,f=3Da.ou=
terLabelGroupData[b].y-j;break;case 3:var p=3Da.outerLabelGroupData[b].x+a.=
outerLabelGroupData[b].w+l;c=3Dp+(h.x-p)/n,d=3Da.outerLabelGroupData[b].y+(=
h.y-a.outerLabelGroupData[b].y)/n,e=3Da.outerLabelGroupData[b].x+a.outerLab=
elGroupData[b].w+l,f=3Da.outerLabelGroupData[b].y-j}”straight”=3D=3D=3Da.op=
tions.labels.lines.style?a.lineCoordGroups[b]=3D[{x:h.x,y:h.y},{x:e,y:f}]:a=
.lineCoordGroups[b]=3D[{x:h.x,y:h.y},{x:c,y:d},{x:e,y:f}]},addLabelLines:fu=
nction(a){var b=3Da.svg.insert(“g”,”.”+a.cssPrefix+”pieChart”).attr(“class”=
,a.cssPrefix+”lineGroups”).style(“opacity”,0),c=3Db.selectAll(“.”+a.cssPref=
ix+”lineGroup”).data(a.lineCoordGroups).enter().append(“g”).attr(“class”,a.=
cssPrefix+”lineGroup”),d=3Dd3.line().curve(d3.curveBasis).x(function(a){ret=
urn a.x}).y(function(a){return a.y});c.append(“path”).attr(“d”,d).attr(“str=
oke”,function(b,c){return”segment”=3D=3D=3Da.options.labels.lines.color?a.o=
ptions.colors[c]:a.options.labels.lines.color}).attr(“stroke-width”,1).attr=
(“fill”,”none”).style(“opacity”,function(b,c){var d=3Da.options.labels.oute=
r.hideWhenLessThanPercentage,e=3Dnull!=3D=3Dd&&b.percentage0){var l=3Dk.ge=
tSegmentAngle(d,a.options.data.content,a.totalSize,{midpoint:!0}),m=3Di.tra=
nslate(a.pieCenter.x,a.pieCenter.y,a.innerRadius,l);j.x=3Dm.x,j.y=3Dm.y}var=
n=3Dg.getDimensions(a.cssPrefix+”labelGroup”+d+”-inner”),o=3Dn.w/2,p=3Dn.h=
/4;e=3Dj.x+(a.lineCoordGroups[d][0].x-j.x)/1.8,f=3Dj.y+(a.lineCoordGroups[d=
][0].y-j.y)/1.8,e-=3Do,f+=3Dp}return”translate(“+e+”,”+f+”)”})},fadeInLabel=
sAndLines:function(a){var b=3D”default”=3D=3D=3Da.options.effects.load.effe=
ct?a.options.effects.load.speed:1;setTimeout(function(){var b=3D”default”=
=3D=3D=3Da.options.effects.load.effect?400:1;d3.selectAll(“.”+a.cssPrefix+”=
labelGroup-outer”).transition().duration(b).style(“opacity”,function(b,c){v=
ar d=3Da.options.labels.outer.hideWhenLessThanPercentage;return null!=3D=3D=
d&&b.percentage<d?0:1}),d3.selectAll("."+a.cssPrefix+"labelGroup-inner").tr=
ansition().duration(b).style("opacity",function(b,c){var d=3Da.options.labe=
ls.inner.hideWhenLessThanPercentage;return null!=3D=3Dd&&b.percentage=3Dd)){var h=3Da.outerLabelGrou=
pData[b].hs;if(!(“clockwise”=3D=3D=3Dc&&”right”!=3D=3Dh||”anticlockwise”=3D=
=3D=3Dc&&”left”!=3D=3Dh)){var i=3D”clockwise”=3D=3D=3Dc?b+1:b-1,k=3Da.outer=
LabelGroupData[b],l=3Da.outerLabelGroupData[i],m=3D{labelHeights:a.outerLab=
elGroupData[0].h,center:a.pieCenter,lineLength:a.outerRadius+a.options.labe=
ls.outer.pieDistance,heightChange:a.outerLabelGroupData[0].h+1};if(“clockwi=
se”=3D=3D=3Dc){for(e=3D0;b>=3De;e++)if(f=3Da.outerLabelGroupData[e],!j.isLa=
belHidden(a,e)&&g.rectIntersect(f,l)){j.adjustLabelPos(a,i,k,m);break}}else=
for(e=3Dd-1;e>=3Db;e–)if(f=3Da.outerLabelGroupData[e],!j.isLabelHidden(a,=
e)&&g.rectIntersect(f,l)){j.adjustLabelPos(a,i,k,m);break}j.checkConflict(a=
,i,c,d)}}},isLabelHidden:function(a,b){var c=3Da.options.labels.outer.hideW=
henLessThanPercentage;return null!=3D=3Dc&&d.percentageMath.abs(=
f)?Math.sqrt(d.lineLength*d.lineLength-f*f):Math.sqrt(f*f-d.lineLength*d.li=
neLength),g=3D”right”=3D=3D=3Dc.hs?d.center.x+e:d.center.x-e-a.outerLabelGr=
oupData[b].w,a.outerLabelGroupData[b].x=3Dg,a.outerLabelGroupData[b].y=3Dh}=
,getIdealOuterLabelPositions:function(a,b){var c=3Dd3.select(“#”+a.cssPrefi=
x+”labelGroup”+b+”-outer”).node();if(c){var d=3Dc.getBBox(),e=3Dk.getSegmen=
tAngle(b,a.options.data.content,a.totalSize,{midpoint:!0}),f=3Da.pieCenter.=
x,g=3Da.pieCenter.y-(a.outerRadius+a.options.labels.outer.pieDistance),h=3D=
i.rotate(f,g,a.pieCenter.x,a.pieCenter.y,e),j=3D”right”;e>180?(h.x-=3Dd.wid=
th+8,j=3D”left”):h.x+=3D8,a.outerLabelGroupData[b]=3D{x:h.x,y:h.y,w:d.width=
,h:d.height,hs:j}}}},k=3D{effectMap:{none:d3.easeLinear,bounce:d3.easeBounc=
e,linear:d3.easeLinear,sin:d3.easeSin,elastic:d3.easeElastic,back:d3.easeBa=
ck,quad:d3.easeQuad,circle:d3.easeCircle,exp:d3.easeExp},create:function(a)=
{var b=3Da.pieCenter,c=3Da.options.colors,d=3Da.options.effects.load,e=3Da.=
options.misc.colors.segmentStroke,f=3Da.svg.insert(“g”,”#”+a.cssPrefix+”tit=
le”).attr(“transform”,function(){return i.getPieTranslateCenter(b)}).attr(“=
class”,a.cssPrefix+”pieChart”),g=3Dd3.arc().innerRadius(a.innerRadius).oute=
rRadius(a.outerRadius).startAngle(0).endAngle(function(b){return b.value/a.=
totalSize*2*Math.PI}),h=3Df.selectAll(“.”+a.cssPrefix+”arc”).data(a.options=
.data.content).enter().append(“g”).attr(“class”,a.cssPrefix+”arc”),j=3Dd.sp=
eed;”none”=3D=3D=3Dd.effect&&(j=3D0),h.append(“path”).attr(“id”,function(b,=
c){return a.cssPrefix+”segment”+c}).attr(“fill”,function(b,d){var e=3Dc[d];=
return a.options.misc.gradient.enabled&&(e=3D”url(#”+a.cssPrefix+”grad”+d+”=
)”),e}).style(“stroke”,e).style(“stroke-width”,1).transition().ease(d3.ease=
CubicInOut).duration(j).attr(“data-index”,function(a,b){return b}).attrTwee=
n(“d”,function(b){var c=3Dd3.interpolate({value:0},b);return function(b){re=
turn a.arc(c(b))}}),a.svg.selectAll(“g.”+a.cssPrefix+”arc”).attr(“transform=
“,function(b,c){var d=3D0;return c>0&&(d=3Dk.getSegmentAngle(c-1,a.options.=
data.content,a.totalSize)),”rotate(“+d+”)”}),a.arc=3Dg},addGradients:functi=
on(a){var b=3Da.svg.append(“defs”).selectAll(“radialGradient”).data(a.optio=
ns.data.content).enter().append(“radialGradient”).attr(“gradientUnits”,”use=
rSpaceOnUse”).attr(“cx”,0).attr(“cy”,0).attr(“r”,”120%”).attr(“id”,function=
(b,c){return a.cssPrefix+”grad”+c});b.append(“stop”).attr(“offset”,”0%”).st=
yle(“stop-color”,function(b,c){return a.options.colors[c]}),b.append(“stop”=
).attr(“offset”,a.options.misc.gradient.percentage+”%”).style(“stop-color”,=
a.options.misc.gradient.color)},addSegmentEventHandlers:function(a){var b=
=3Dd3.selectAll(“.”+a.cssPrefix+”arc,.”+a.cssPrefix+”labelGroup-inner,.”+a.=
cssPrefix+”labelGroup-outer”);b.on(“click”,function(){var b,c=3Dd3.select(t=
his);if(c.attr(“class”)=3D=3D=3Da.cssPrefix+”arc”)b=3Dc.select(“path”);else=
{var d=3Dc.attr(“data-index”);b=3Dd3.select(“#”+a.cssPrefix+”segment”+d)}va=
r e=3Db.attr(“class”)=3D=3D=3Da.cssPrefix+”expanded”;k.onSegmentEvent(a,a.o=
ptions.callbacks.onClickSegment,b,e),”none”!=3D=3Da.options.effects.pullOut=
SegmentOnClick.effect&&(e?k.closeSegment(a,b.node()):k.openSegment(a,b.node=
()))}),b.on(“mouseover”,function(){var b,c,d=3Dd3.select(this);if(d.attr(“c=
lass”)=3D=3D=3Da.cssPrefix+”arc”?b=3Dd.select(“path”):(c=3Dd.attr(“data-ind=
ex”),b=3Dd3.select(“#”+a.cssPrefix+”segment”+c)),a.options.effects.highligh=
tSegmentOnMouseover){c=3Db.attr(“data-index”);var e=3Da.options.colors[c];b=
.style(“fill”,g.getColorShade(e,a.options.effects.highlightLuminosity))}a.o=
ptions.tooltips.enabled&&(c=3Db.attr(“data-index”),m.showTooltip(a,c));var =
f=3Db.attr(“class”)=3D=3D=3Da.cssPrefix+”expanded”;k.onSegmentEvent(a,a.opt=
ions.callbacks.onMouseoverSegment,b,f)}),b.on(“mousemove”,function(){m.move=
Tooltip(a)}),b.on(“mouseout”,function(){var b,c,d=3Dd3.select(this);if(d.at=
tr(“class”)=3D=3D=3Da.cssPrefix+”arc”?b=3Dd.select(“path”):(c=3Dd.attr(“dat=
a-index”),b=3Dd3.select(“#”+a.cssPrefix+”segment”+c)),a.options.effects.hig=
hlightSegmentOnMouseover){c=3Db.attr(“data-index”);var e=3Da.options.colors=
[c];a.options.misc.gradient.enabled&&(e=3D”url(#”+a.cssPrefix+”grad”+c+”)”)=
,b.style(“fill”,e)}a.options.tooltips.enabled&&(c=3Db.attr(“data-index”),m.=
hideTooltip(a,c));var f=3Db.attr(“class”)=3D=3D=3Da.cssPrefix+”expanded”;k.=
onSegmentEvent(a,a.options.callbacks.onMouseoutSegment,b,f)})},onSegmentEve=
nt:function(a,b,c,d){if(g.isFunction(b)){var e=3DparseInt(c.attr(“data-inde=
x”),10);b({segment:c.node(),index:e,expanded:d,data:a.options.data.content[=
e]})}},openSegment:function(a,b){a.isOpeningSegment||(a.isOpeningSegment=3D=
!0,k.maybeCloseOpenSegment(),d3.select(b).transition().ease(k.effectMap[a.o=
ptions.effects.pullOutSegmentOnClick.effect]).duration(a.options.effects.pu=
llOutSegmentOnClick.speed).attr(“transform”,function(b,c){var d=3Da.arc.cen=
troid(b),e=3Dd[0],f=3Dd[1],g=3DMath.sqrt(e*e+f*f),h=3DparseInt(a.options.ef=
fects.pullOutSegmentOnClick.size,10);return”translate(“+e/g*h+”,”+f/g*h+”)”=
}).on(“end”,function(c,d){a.currentlyOpenSegment=3Db,a.isOpeningSegment=3D!=
1,d3.select(b).attr(“class”,a.cssPrefix+”expanded”)}))},maybeCloseOpenSegme=
nt:function(){d3.selectAll(“.”+pie.cssPrefix+”expanded”).size()>0&&k.closeS=
egment(pie,d3.select(“.”+pie.cssPrefix+”expanded”).node())},closeSegment:fu=
nction(a,b){d3.select(b).transition().duration(400).attr(“transform”,”trans=
late(0,0)”).on(“end”,function(c,d){d3.select(b).attr(“class”,””),a.currentl=
yOpenSegment=3Dnull})},getCentroid:function(a){var b=3Da.getBBox();return{x=
:b.x+b.width/2,y:b.y+b.height/2}},getSegmentAngle:function(a,b,c,d){var e,f=
=3Dh({compounded:!0,midpoint:!1},d),g=3Db[a].value;if(f.compounded){e=3D0;f=
or(var i=3D0;a>=3Di;i++)e+=3Db[i].value}”undefined”=3D=3Dtypeof e&&(e=3Dg);=
var j=3De/c*360;if(f.midpoint){var k=3Dg/c*360;j-=3Dk/2}return j}},l=3D{off=
screenCoord:-1e4,addTitle:function(a){a.svg.selectAll(“.”+a.cssPrefix+”titl=
e”).data([a.options.header.title]).enter().append(“text”).text(function(a){=
return a.text}).attr(“id”,a.cssPrefix+”title”).attr(“class”,a.cssPrefix+”ti=
tle”).attr(“x”,l.offscreenCoord).attr(“y”,l.offscreenCoord).attr(“text-anch=
or”,function(){var b;return b=3D”top-center”=3D=3D=3Da.options.header.locat=
ion||”pie-center”=3D=3D=3Da.options.header.location?”middle”:”left”}).attr(=
“fill”,function(a){return a.color}).style(“font-size”,function(a){return a.=
fontSize+”px”}).style(“font-family”,function(a){return a.font})},positionTi=
tle:function(a){var b,c=3Da.textComponents,d=3Da.options.header.location,e=
=3Da.options.misc.canvasPadding,f=3Da.options.size.canvasWidth,g=3Da.option=
s.header.titleSubtitlePadding;b=3D”top-left”=3D=3D=3Dd?e.left:(f-e.right)/2=
+e.left,b+=3Da.options.misc.pieCenterOffset.x;var h=3De.top+c.title.h;if(“p=
ie-center”=3D=3D=3Dd)if(h=3Da.pieCenter.y,c.subtitle.exists){var i=3Dc.titl=
e.h+g+c.subtitle.h;h=3Dh-i/2+c.title.h}else h+=3Dc.title.h/4;a.svg.select(“=
#”+a.cssPrefix+”title”).attr(“x”,b).attr(“y”,h)},addSubtitle:function(a){va=
r b=3Da.options.header.location;a.svg.selectAll(“.”+a.cssPrefix+”subtitle”)=
.data([a.options.header.subtitle]).enter().append(“text”).text(function(a){=
return a.text}).attr(“x”,l.offscreenCoord).attr(“y”,l.offscreenCoord).attr(=
“id”,a.cssPrefix+”subtitle”).attr(“class”,a.cssPrefix+”subtitle”).attr(“tex=
t-anchor”,function(){var a;return a=3D”top-center”=3D=3D=3Db||”pie-center”=
=3D=3D=3Db?”middle”:”left”}).attr(“fill”,function(a){return a.color}).style=
(“font-size”,function(a){return a.fontSize+”px”}).style(“font-family”,funct=
ion(a){return a.font})},positionSubtitle:function(a){var b,c=3Da.options.mi=
sc.canvasPadding,d=3Da.options.size.canvasWidth;b=3D”top-left”=3D=3D=3Da.op=
tions.header.location?c.left:(d-c.right)/2+c.left,b+=3Da.options.misc.pieCe=
nterOffset.x;var e=3Dl.getHeaderHeight(a);a.svg.select(“#”+a.cssPrefix+”sub=
title”).attr(“x”,b).attr(“y”,e)},addFooter:function(a){a.svg.selectAll(“.”+=
a.cssPrefix+”footer”).data([a.options.footer]).enter().append(“text”).text(=
function(a){return a.text}).attr(“x”,l.offscreenCoord).attr(“y”,l.offscreen=
Coord).attr(“id”,a.cssPrefix+”footer”).attr(“class”,a.cssPrefix+”footer”).a=
ttr(“text-anchor”,function(){var b=3D”left”;return”bottom-center”=3D=3D=3Da=
.options.footer.location?b=3D”middle”:”bottom-right”=3D=3D=3Da.options.foot=
er.location&&(b=3D”left”),b}).attr(“fill”,function(a){return a.color}).styl=
e(“font-size”,function(a){return a.fontSize+”px”}).style(“font-family”,func=
tion(a){return a.font})},positionFooter:function(a){var b,c=3Da.options.foo=
ter.location,d=3Da.textComponents.footer.w,e=3Da.options.size.canvasWidth,f=
=3Da.options.size.canvasHeight,g=3Da.options.misc.canvasPadding;b=3D”bottom=
-left”=3D=3D=3Dc?g.left:”bottom-right”=3D=3D=3Dc?e-d-g.right:e/2,a.svg.sele=
ct(“#”+a.cssPrefix+”footer”).attr(“x”,b).attr(“y”,f-g.bottom)},getHeaderHei=
ght:function(a){var b;if(a.textComponents.title.exists){var c=3Da.textCompo=
nents.title.h+a.options.header.titleSubtitlePadding+a.textComponents.subtit=
le.h;b=3D”pie-center”=3D=3D=3Da.options.header.location?a.pieCenter.y-c/2+c=
:c+a.options.misc.canvasPadding.top}else if(“pie-center”=3D=3D=3Da.options.=
header.location){var d=3Da.options.misc.canvasPadding.bottom+a.textComponen=
ts.footer.h;b=3D(a.options.size.canvasHeight-d)/2+a.options.misc.canvasPadd=
ing.top+a.textComponents.subtitle.h/2}else b=3Da.options.misc.canvasPadding=
.top+a.textComponents.subtitle.h;return b}},m=3D{addTooltips:function(a){va=
r b=3Da.svg.insert(“g”).attr(“class”,a.cssPrefix+”tooltips”);b.selectAll(“.=
“+a.cssPrefix+”tooltip”).data(a.options.data.content).enter().append(“g”).a=
ttr(“class”,a.cssPrefix+”tooltip”).attr(“id”,function(b,c){return a.cssPref=
ix+”tooltip”+c}).style(“opacity”,0).append(“rect”).attr(“rx”,a.options.tool=
tips.styles.borderRadius).attr(“ry”,a.options.tooltips.styles.borderRadius)=
.attr(“x”,-a.options.tooltips.styles.padding).attr(“opacity”,a.options.tool=
tips.styles.backgroundOpacity).style(“fill”,a.options.tooltips.styles.backg=
roundColor),b.selectAll(“.”+a.cssPrefix+”tooltip”).data(a.options.data.cont=
ent).append(“text”).attr(“fill”,function(b){return a.options.tooltips.style=
s.color}).style(“font-size”,function(b){return a.options.tooltips.styles.fo=
ntSize}).style(“font-family”,function(b){return a.options.tooltips.styles.f=
ont}).text(function(b,c){var d=3Da.options.tooltips.string;return”caption”=
=3D=3D=3Da.options.tooltips.type&&(d=3Db.caption),m.replacePlaceholders(a,d=
,c,{label:b.label,value:b.value,percentage:b.percentage})}),b.selectAll(“.”=
+a.cssPrefix+”tooltip rect”).attr(“width”,function(b,c){var d=3Dg.getDimens=
ions(a.cssPrefix+”tooltip”+c);return d.w+2*a.options.tooltips.styles.paddin=
g}).attr(“height”,function(b,c){var d=3Dg.getDimensions(a.cssPrefix+”toolti=
p”+c);return d.h+2*a.options.tooltips.styles.padding}).attr(“y”,function(b,=
c){var d=3Dg.getDimensions(a.cssPrefix+”tooltip”+c);return-(d.h/2)+1})},sho=
wTooltip:function(a,b){var c=3Da.options.tooltips.styles.fadeInSpeed;m.curr=
entTooltip=3D=3D=3Db&&(c=3D1),m.currentTooltip=3Db,d3.select(“#”+a.cssPrefi=
x+”tooltip”+b).transition().duration(c).style(“opacity”,function(){return 1=
}),m.moveTooltip(a)},moveTooltip:function(a){d3.selectAll(“#”+a.cssPrefix+”=
tooltip”+m.currentTooltip).attr(“transform”,function(b){var c=3Dd3.mouse(th=
is.parentNode),d=3Dc[0]+a.options.tooltips.styles.padding+2,e=3Dc[1]-2*a.op=
tions.tooltips.styles.padding-2;return”translate(“+d+”,”+e+”)”})},hideToolt=
ip:function(a,b){d3.select(“#”+a.cssPrefix+”tooltip”+b).style(“opacity”,fun=
ction(){return 0}),d3.select(“#”+a.cssPrefix+”tooltip”+m.currentTooltip).at=
tr(“transform”,function(b,c){var d=3Da.options.size.canvasWidth+1e3,e=3Da.o=
ptions.size.canvasHeight+1e3;return”translate(“+d+”,”+e+”)”})},replacePlace=
holders:function(a,b,c,d){g.isFunction(a.options.tooltips.placeholderParser=
)&&a.options.tooltips.placeholderParser(c,d);var e=3Dfunction(){return func=
tion(a){var b=3Darguments[1];return d.hasOwnProperty(b)?d[arguments[1]]:arg=
uments[0]}};return b.replace(/\{(\w+)\}/g,e(d))}},n=3Dfunction(d,g){if(this=
.element=3Dd,”string”=3D=3Dtypeof d){var i=3Dd.replace(/^#/,””);this.elemen=
t=3Ddocument.getElementById(i)}var j=3D{};h(!0,j,e,g),this.options=3Dj,null=
!=3D=3Dthis.options.misc.cssPrefix?this.cssPrefix=3Dthis.options.misc.cssPr=
efix:(this.cssPrefix=3D”p”+c+”_”,c++),f.initialCheck(this)&&(d3.select(this=
.element).attr(a,b),o.call(this),p.call(this))};n.prototype.recreate=3Dfunc=
tion(){f.initialCheck(this)&&(o.call(this),p.call(this))},n.prototype.redra=
w=3Dfunction(){this.element.innerHTML=3D””,p.call(this)},n.prototype.destro=
y=3Dfunction(){this.element.innerHTML=3D””,d3.select(this.element).attr(a,n=
ull)},n.prototype.getOpenSegment=3Dfunction(){var a=3Dthis.currentlyOpenSeg=
ment;if(null!=3D=3Da&&”undefined”!=3Dtypeof a){var b=3DparseInt(d3.select(a=
).attr(“data-index”),10);return{element:a,index:b,data:this.options.data.co=
ntent[b]}}return null},n.prototype.openSegment=3Dfunction(a){a=3DparseInt(a=
,10),0>a||a>this.options.data.content.length-1||k.openSegment(this,d3.selec=
t(“#”+this.cssPrefix+”segment”+a).node())},n.prototype.closeSegment=3Dfunct=
ion(){k.maybeCloseOpenSegment()},n.prototype.updateProp=3Dfunction(a,b){swi=
tch(a){case”header.title.text”:var c=3Dg.processObj(this.options,a);g.proce=
ssObj(this.options,a,b),d3.select(“#”+this.cssPrefix+”title”).html(b),(“”=
=3D=3D=3Dc&&””!=3D=3Db||””!=3D=3Dc&&””=3D=3D=3Db)&&this.redraw();break;case=
“header.subtitle.text”:var d=3Dg.processObj(this.options,a);g.processObj(th=
is.options,a,b),d3.select(“#”+this.cssPrefix+”subtitle”).html(b),(“”=3D=3D=
=3Dd&&””!=3D=3Db||””!=3D=3Dd&&””=3D=3D=3Db)&&this.redraw();break;case”callb=
acks.onload”:case”callbacks.onMouseoverSegment”:case”callbacks.onMouseoutSe=
gment”:case”callbacks.onClickSegment”:case”effects.pullOutSegmentOnClick.ef=
fect”:case”effects.pullOutSegmentOnClick.speed”:case”effects.pullOutSegment=
OnClick.size”:case”effects.highlightSegmentOnMouseover”:case”effects.highli=
ghtLuminosity”:g.processObj(this.options,a,b);break;default:g.processObj(th=
is.options,a,b),this.destroy(),this.recreate()}};var o=3Dfunction(){this.op=
tions.data.content=3Di.sortPieData(this),this.options.data.smallSegmentGrou=
ping.enabled&&(this.options.data.content=3Dg.applySmallSegmentGrouping(this=
.options.data.content,this.options.data.smallSegmentGrouping)),this.options=
.colors=3Dg.initSegmentColors(this),this.totalSize=3Di.getTotalPieSize(this=
.options.data.content);for(var a=3Dthis.options.labels.percentage.decimalPl=
aces,b=3D0;b<this.options.data.content.length;b++)this.options.data.content=
[b].percentage=3Dq(this.options.data.content[b].value,this.totalSize,a);for=
(var c=3D0,d=3D0;d=3Dc?Math.round=
(100*d):(100*d).toFixed(c)};return n});
/**************************************************************************=
******************************
* SYMANTEC: Copyright (c) 2018 Symantec Corporation. All rights reserv=
ed.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SYM=
ANTEC CORPORATION. USE,
* DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITT=
EN PERMISSION OF SYMANTEC
* CORPORATION.
*
* The Licensed Software and Documentation are deemed to be commercial comp=
uter software as defined in
* FAR 12.212 and subject to restricted rights as defined in FAR Section 52=
.227-19 “Commercial Computer
* Software – Restricted Rights” and DFARS 227.7202, Rights in “Commercial =
Computer Software or Commercial
* Computer Software Documentation,” as applicable, and any successor regul=
ations, whether delivered by
* Symantec as on premises or hosted services. Any use, modification, repr=
oduction release, performance,
* display or disclosure of the Licensed Software and Documentation by the =
U.S. Government shall be solely
* in accordance with the terms of this Agreement.
**************************************************************************=
******************************/

function createStandardPie(id, title, subtitle, content) {
pie =3D new d3pie(id, {
“header”: {
“title”: {
“text”: title,
“color”: “#666666”,
“fontSize”: 18,
“font”: “sans serif”
},
“subtitle”: {
“text”: “”,
“color”: “#999999”,
“fontSize”: 12,
“font”: “open sans”
},
“location”: “top-center”,
“titleSubtitlePadding”: 9
},
“footer”: {
“color”: “#999999”,
“fontSize”: 10,
“font”: “open sans”,
“location”: “bottom-left”
},
“size”: {
“canvasHeight”: 500,
“canvasWidth”: 800,
“pieInnerRadius”: “79%”,
“pieOuterRadius”: “60%”
},
“data”: content,
“labels”: {
“outer”: {
“pieDistance”: 40
},
“mainLabel”: {
“fontSize”: 10
},
“inner”: {
“format”: “none”,
“hideWhenLessThanPercentage”: 3
},
“percentage”: {
“color”: “#FFFFFF”,
“decimalPlaces”: 0
},
“value”: {
“color”: “#adadad”,
“fontSize”: 10
},
“lines”: {
“enabled”: true,
“style”: “straight”,
“color”: “#000000”
},
“truncation”: {
“enabled”: true,
“truncateLength”: 80
}
},
“effects”: {
“pullOutSegmentOnClick”: {
“effect”: “none”,
“speed”: 400,
“size”: 8
},
“highlightSegmentOnMouseover”: false,
“highlightLuminosity”: -0.0
}
});
return pie;

}

function createMiniPie(id, title, subtitle, content) {
var pie =3D new d3pie(id, {
“header”: {
“title”: {
“text”: title,
“color”: “#999999”,
“fontSize”: 12
},
“subtitle”: {
“text”: subtitle,
“color”: “#999999”,
“fontSize”: 10
},
“location”: “pie-center”,
“titleSubtitlePadding”: 9
},
“footer”: {
“color”: “#999999”,
“fontSize”: 10,
“font”: “open sans”,
“location”: “bottom-left”
},
“size”: {
“canvasHeight”: 150,
“canvasWidth”: 150,
“pieInnerRadius”: “77%”,
“pieOuterRadius”: “95%”
},
“data”: content,=20
“labels”: {
“outer”: {
“format”: “none”,
“pieDistance”: 12
},
“inner”: {
“format”: “none”,
“hideWhenLessThanPercentage”: 3
},
“mainLabel”: {
“fontSize”: 11
},
“percentage”: {
“color”: “#ffffff”,
“decimalPlaces”: 0
},
“value”: {
“color”: “#adadad”,
“fontSize”: 11
},
“lines”: {
“enabled”: true
},
“truncation”: {
“enabled”: true
}
},
“effects”: {
“load”: {
effect: “none”
},
“highlightSegmentOnMouseover”: false,
“highlightLuminosity”: -0.0
}
=09
});
return pie;
}

function getTimeSeriesChartDateFormat(numberOfCalendarElements, dateSeparat=
or, dateFormat) {
var xFormat;
if (numberOfCalendarElements =3D=3D “2”) {
xFormat =3D “%m” + dateSeparator + “%Y”;
} else if (numberOfCalendarElements =3D=3D “1”) {
xFormat =3D “%Y”;
} else if (numberOfCalendarElements =3D=3D “3” || numberOfCalendarElement=
s =3D=3D “5”) {
if (dateFormat =3D=3D “MDY”) {
xFormat =3D “%m/%d/%Y”;
} else if (dateFormat =3D=3D “DMY”) {
xFormat =3D “%d/%m/%Y”;
} else if (dateFormat =3D=3D “YMD”) {
xFormat =3D “%Y/%m/%d”;
}
}

if (numberOfCalendarElements =3D=3D “5”) {
xFormat +=3D ” %H:%M”;
}
return xFormat;
}

function createStandardTimeSeriesChart(xFormat) {
=09
return bb.generate({
=09
padding: {
top: 20,
right: 50,
bottom: 20,
left: 100
},
“data”: {
“x”: “x”,
xFormat: xFormat, // how the date is parsed=20=20=20
“columns”: [
labels,
data1
]
},
size: {
width: 800,
height: 480
},
“axis”: {
“x”: {
“type”: “timeseries”,
“tick”: {
“format”: xFormat
}
}
},
“bindto”: “#chart”
});
}

function createStandardTimeSeriesChart(xFormat, binding) {
=09
return bb.generate({
=09
padding: {
top: 20,
right: 50,
bottom: 20,
left: 100
},
“data”: {
“x”: “x”,
xFormat: xFormat, // how the date is parsed=20=20=20
“columns”: [
labels,
data1
]
},
size: {
width: 800,
height: 480
},
“axis”: {
“x”: {
“type”: “timeseries”,
“tick”: {
“format”: xFormat
}
}
},
“bindto”: binding
});
}
=09
=09
function createMonitorTimeSeriesChart(labels, data1, xFormat, height, width=
, binding) {

return bb.generate({
=09
“data”: {
“x”: “x”,
xFormat: xFormat, // how the date is parsed=20=20=20
“columns”: [
labels,
data1
]
},
size: {
width: width,
height: height
},
“axis”: {
“x”: {
“type”: “timeseries”,
tick: {
“format”: xFormat,
culling: {
max: 4
}
}
}
},
“bindto”: binding
});
}

/*!
* Copyright (c) 2017 NAVER Corp.
* billboard.js project is licensed under the MIT license
*=20
* billboard.js, JavaScript chart library
* http://naver.github.io/billboard.js/
*=20
* @version 1.1.1
*/
!function(t,e){if(“object”=3D=3Dtypeof exports&&”object”=3D=3Dtypeof module=
)module.exports=3De(require(“d3”));else if(“function”=3D=3Dtypeof define&&d=
efine.amd)define([“d3”],e);else{var i=3De(“object”=3D=3Dtypeof exports?requ=
ire(“d3”):t.d3);for(var n in i)(“object”=3D=3Dtypeof exports?exports:t)[n]=
=3Di[n]}}(this,function(t){return function(t){function __webpack_require__(=
i){if(e[i])return e[i].exports;var n=3De[i]=3D{i:i,l:!1,exports:{}};return =
t[i].call(n.exports,n,n.exports,__webpack_require__),n.l=3D!0,n.exports}var=
e=3D{};return __webpack_require__.m=3Dt,__webpack_require__.c=3De,__webpac=
k_require__.d=3Dfunction(t,e,i){__webpack_require__.o(t,e)||Object.definePr=
operty(t,e,{configurable:!1,enumerable:!0,get:i})},__webpack_require__.n=3D=
function(t){var e=3Dt&&t.__esModule?function(){return t.default}:function()=
{return t};return __webpack_require__.d(e,”a”,e),e},__webpack_require__.o=
=3Dfunction(t,e){return Object.prototype.hasOwnProperty.call(t,e)},__webpac=
k_require__.p=3D””,__webpack_require__(__webpack_require__.s=3D9)}([functio=
n(t,e,i){“use strict”;function _interopRequireDefault(t){return t&&t.__esMo=
dule?t:{“default”:t}}function extend(){var t=3Darguments.length>0&&void 0!=
=3D=3Darguments[0]?arguments[0]:{},e=3Darguments[1],i=3Dvoid 0;for(i in e)t=
[i]=3De[i];return t}function addEvent(t,e,i,n){if(D){var r=3Dn||!1;”object”=
=3D=3D=3D(void 0=3D=3D=3Dn?”undefined”:(0,a.default)(n))&&(r=3D!!S&&n),t.ad=
dEventListener(e,i,r)}else t.attachEvent?t.attachEvent(“on”+e,i):t[“on”+e]=
=3Di}function removeEvent(t,e,i){t.removeEventListener?t.removeEventListene=
r(e,i,!1):t.detachEvent?t.detachEvent(“on”+e,i):t[“on”+e]=3Dnull}e.__esModu=
le=3D!0,e.isObject=3De.isArray=3De.merge=3De.getRectSegList=3De.removeEvent=
=3De.addEvent=3De.extend=3De.brushEmpty=3De.getBrushSelection=3De.isEmpty=
=3De.diffDomain=3De.getPathBox=3De.sanitise=3De.hasValue=3De.isString=3De.g=
etOption=3De.asHalfPixel=3De.isFunction=3De.ceil10=3De.notEmpty=3De.isBoole=
an=3De.isUndefined=3De.isDefined=3De.isValue=3Dvoid 0;var n=3Di(5),a=3D_int=
eropRequireDefault(n),r=3Di(2),o=3Di(3),s=3D_interopRequireDefault(o),l=3Df=
unction(t){return t||0=3D=3D=3Dt},d=3Dfunction(t){return”function”=3D=3Dtyp=
eof t},u=3Dfunction(t){return”string”=3D=3Dtypeof t},c=3Dfunction(t){return=
void 0=3D=3D=3Dt},f=3Dfunction(t){return void 0!=3D=3Dt},g=3Dfunction(t){r=
eturn”boolean”=3D=3Dtypeof t},h=3Dfunction(t){return 10*Math.ceil(t/10)},p=
=3Dfunction(t){return Math.ceil(t)+.5},x=3Dfunction(t){return t[1]-t[0]},_=
=3Dfunction(t){return void 0=3D=3D=3Dt||null=3D=3D=3Dt||u(t)&&0=3D=3D=3Dt.l=
ength||”object”=3D=3D=3D(void 0=3D=3D=3Dt?”undefined”:(0,a.default)(t))&&0=
=3D=3D=3DObject.keys(t).length},v=3Dfunction(t){return!_(t)},m=3Dfunction(t=
,e,i){return f(t[e])?t[e]:i},y=3Dfunction(t,e){var i=3D!1;return Object.key=
s(t).forEach(function(n){return t[n]=3D=3D=3De&&(i=3D!0)}),i},b=3Dfunction(=
t){return”string”=3D=3Dtypeof t?t.replace(//g,”>”)=
:t},T=3Dfunction(t){var e=3Dt.getBBox(),i=3D[];return i.push({x:e.x,y:e.y+e=
.height}),i.push({x:e.x,y:e.y}),i.push({x:e.x+e.width,y:e.y}),i.push({x:e.x=
+e.width,y:e.y+e.height}),i},A=3Dfunction(t){var e=3Dt.getBoundingClientRec=
t(),i=3DT(t);return{x:i[0].x,y:Math.min(i[0].y,i[1].y),width:e.width,height=
:e.height}},w=3Dfunction(){var t=3Dnull,e=3Dr.event;return e&&”BrushEvent”=
=3D=3D=3De.constructor.name?t=3De.selection:this.context&&(t=3Dthis.context=
.select(“.”+s.default.brush).node())&&(t=3D(0,r.brushSelection)(t)),t},L=3D=
function(){var t=3Dthis.getBrushSelection();return!t||t[0]=3D=3D=3Dt[1]},D=
=3D!!(“addEventListener”in document),S=3Dfunction(){var t=3D!1;try{D&&Objec=
t.defineProperty&&document.addEventListener(“test”,null,Object.defineProper=
ty({},”passive”,{get:function(){t=3D!0}}))}catch(t){}return t}(),C=3Dfuncti=
on(t){return t&&t.constructor=3D=3D=3DArray},R=3Dfunction(t){return t&&!t.n=
odeType&&”object”=3D=3D=3D(void 0=3D=3D=3Dt?”undefined”:(0,a.default)(t))&&=
!C(t)},F=3Dfunction(t){for(var e=3Darguments.length,i=3DArray(e>1?e-1:0),n=
=3D1;n<e;n++)i[n-1]=3Darguments[n];if(!i.length||1=3D=3D=3Di.length&&!i[0])=
return t;var a=3Di.shift();return R(t)&&R(a)&&Object.keys(a).forEach(functi=
on(e){var i=3Da[e];R(i)?(!t[e]&&(t[e]=3D{}),t[e]=3DF(t[e],i)):t[e]=3DC(i)?i=
.concat():i}),extend.apply(void 0,[t].concat(i))};e.isValue=3Dl,e.isDefined=
=3Df,e.isUndefined=3Dc,e.isBoolean=3Dg,e.notEmpty=3Dv,e.ceil10=3Dh,e.isFunc=
tion=3Dd,e.asHalfPixel=3Dp,e.getOption=3Dm,e.isString=3Du,e.hasValue=3Dy,e.=
sanitise=3Db,e.getPathBox=3DA,e.diffDomain=3Dx,e.isEmpty=3D_,e.getBrushSele=
ction=3Dw,e.brushEmpty=3DL,e.extend=3Dextend,e.addEvent=3DaddEvent,e.remove=
Event=3DremoveEvent,e.getRectSegList=3DT,e.merge=3DF,e.isArray=3DC,e.isObje=
ct=3DR},function(t,e,i){"use strict";function _interopRequireDefault(t){ret=
urn t&&t.__esModule?t:{"default":t}}e.__esModule=3D!0;var n=3Di(6),a=3D_int=
eropRequireDefault(n),r=3Di(2),o=3Di(7),s=3D_interopRequireDefault(o),l=3Di=
(3),d=3D_interopRequireDefault(l),u=3Di(0),c=3Dfunction(){function ChartInt=
ernal(t){(0,a.default)(this,ChartInternal);var e=3Dthis;e.api=3Dt,e.config=
=3De.getOptions(),e.data=3D{},e.cache=3D{},e.axes=3D{}}return ChartInternal=
.prototype.beforeInit=3Dfunction(){var t=3Dthis,e=3Dt.config;(0,u.isFunctio=
n)(e.onbeforeinit)&&e.onbeforeinit.call(t)},ChartInternal.prototype.afterIn=
it=3Dfunction(){var t=3Dthis,e=3Dt.config;(0,u.isFunction)(e.onafterinit)&&=
e.onafterinit.call(t)},ChartInternal.prototype.init=3Dfunction(){var t=3Dth=
is,e=3Dt.config;if(t.initParams(),e.data_url)t.convertUrlToData(e.data_url,=
e.data_mimeType,e.data_headers,e.data_keys,t.initWithData);else if(e.data_j=
son)t.initWithData(t.convertJsonToData(e.data_json,e.data_keys));else if(e.=
data_rows)t.initWithData(t.convertRowsToData(e.data_rows));else{if(!e.data_=
columns)throw Error("url or json or rows or columns is required.");t.initWi=
thData(t.convertColumnsToData(e.data_columns))}},ChartInternal.prototype.in=
itParams=3Dfunction(){var t=3Dthis,e=3Dt.config;t.clipId=3D"bb-"+ +new Date=
+"-clip",t.clipIdForXAxis=3Dt.clipId+"-xaxis",t.clipIdForYAxis=3Dt.clipId+"=
-yaxis",t.clipIdForGrid=3Dt.clipId+"-grid",t.clipIdForSubchart=3Dt.clipId+"=
-subchart",t.clipPath=3Dt.getClipPath(t.clipId),t.clipPathForXAxis=3Dt.getC=
lipPath(t.clipIdForXAxis),t.clipPathForYAxis=3Dt.getClipPath(t.clipIdForYAx=
is),t.clipPathForGrid=3Dt.getClipPath(t.clipIdForGrid),t.clipPathForSubchar=
t=3Dt.getClipPath(t.clipIdForSubchart),t.dragStart=3Dnull,t.dragging=3D!1,t=
.flowing=3D!1,t.cancelClick=3D!1,t.mouseover=3D!1,t.transiting=3D!1,t.color=
=3Dt.generateColor(),t.levelColor=3Dt.generateLevelColor(),t.dataTimeFormat=
=3De.data_xLocaltime?r.timeParse:r.utcParse,t.axisTimeFormat=3De.axis_x_loc=
altime?r.timeFormat:r.utcFormat,t.defaultAxisTimeFormat=3Dfunction(e){var i=
=3De.getMilliseconds()&&".%L"||e.getSeconds()&&".:%S"||e.getMinutes()&&"%I:=
%M"||e.getHours()&&"%I %p"||e.getDay()&&1!=3D=3De.getDate()&&"%-m/%-d"||1!=
=3D=3De.getDate()&&"%b %d"||e.getMonth()&&"%-m/%-d"||"%Y/%-m/%-d";return t.=
axisTimeFormat(i)(e)},t.hiddenTargetIds=3D[],t.hiddenLegendIds=3D[],t.focus=
edTargetIds=3D[],t.defocusedTargetIds=3D[],t.xOrient=3De.axis_rotated?"left=
":"bottom",t.yOrient=3De.axis_rotated?e.axis_y_inner?"top":"bottom":e.axis_=
y_inner?"right":"left",t.y2Orient=3De.axis_rotated?e.axis_y2_inner?"bottom"=
:"top":e.axis_y2_inner?"left":"right",t.subXOrient=3De.axis_rotated?"left":=
"bottom",t.isLegendRight=3D"right"=3D=3D=3De.legend_position,t.isLegendInse=
t=3D"inset"=3D=3D=3De.legend_position,t.isLegendTop=3D"top-left"=3D=3D=3De.=
legend_inset_anchor||"top-right"=3D=3D=3De.legend_inset_anchor,t.isLegendLe=
ft=3D"top-left"=3D=3D=3De.legend_inset_anchor||"bottom-left"=3D=3D=3De.lege=
nd_inset_anchor,t.legendStep=3D0,t.legendItemWidth=3D0,t.legendItemHeight=
=3D0,t.currentMaxTickWidths=3D{x:0,y:0,y2:0},t.rotated_padding_left=3D30,t.=
rotated_padding_right=3De.axis_rotated&&!e.axis_x_show?0:30,t.rotated_paddi=
ng_top=3D5,t.withoutFadeIn=3D{},t.intervalForObserveInserted=3Dvoid 0,t.inp=
utType=3Dt.convertInputType(),t.axes.subx=3D(0,r.selectAll)([])},ChartInter=
nal.prototype.initWithData=3Dfunction(t){var e=3Dthis,i=3De.config,n=3D!0;i=
f(e.axis=3Dnew s.default(e),e.initPie&&e.initPie(),e.initBrush&&e.initBrush=
(),e.initZoom&&e.initZoom(),e.selectChart=3Di.bindto?"function"=3D=3Dtypeof=
i.bindto.node?i.bindto:(0,r.select)(i.bindto):(0,r.selectAll)([]),e.select=
Chart.empty()&&(e.selectChart=3D(0,r.select)(document.createElement("div"))=
.style("opacity","0"),e.observeInserted(e.selectChart),n=3D!1),e.selectChar=
t.html("").classed("bb",!0),e.data.xs=3D{},e.data.targets=3De.convertDataTo=
Targets(t),i.data_filter&&(e.data.targets=3De.data.targets.filter(i.data_fi=
lter)),i.data_hide&&e.addHiddenTargetIds(!0=3D=3D=3Di.data_hide?e.mapToIds(=
e.data.targets):i.data_hide),i.legend_hide&&e.addHiddenLegendIds(!0=3D=3D=
=3Di.legend_hide?e.mapToIds(e.data.targets):i.legend_hide),e.hasType("gauge=
")&&(i.legend_show=3D!1),e.updateSizes(),e.updateScales(),e.x.domain((0,r.e=
xtent)(e.getXDomain(e.data.targets))),e.y.domain(e.getYDomain(e.data.target=
s,"y")),e.y2.domain(e.getYDomain(e.data.targets,"y2")),e.subX.domain(e.x.do=
main()),e.subY.domain(e.y.domain()),e.subY2.domain(e.y2.domain()),e.orgXDom=
ain=3De.x.domain(),e.svg=3De.selectChart.append("svg").style("overflow","hi=
dden"),i.interaction_enabled&&e.inputType){var a=3D"touch"=3D=3D=3De.inputT=
ype;e.svg.on(a?"touchstart":"mouseenter",function(){return i.onover.call(e)=
}).on(a?"touchend":"mouseleave",function(){return i.onout.call(e)})}e.confi=
g.svg_classname&&e.svg.attr("class",e.config.svg_classname);var o=3De.svg.a=
ppend("defs");e.clipChart=3De.appendClip(o,e.clipId),e.clipXAxis=3De.append=
Clip(o,e.clipIdForXAxis),e.clipYAxis=3De.appendClip(o,e.clipIdForYAxis),e.c=
lipGrid=3De.appendClip(o,e.clipIdForGrid),e.clipSubchart=3De.appendClip(o,e=
.clipIdForSubchart),e.updateSvgSize();var l=3De.svg.append("g").attr("trans=
form",e.getTranslate("main"));e.main=3Dl,i.subchart_show&&e.initSubchart&&e=
.initSubchart(),e.initTooltip&&e.initTooltip(),e.initLegend&&e.initLegend()=
,e.initTitle&&e.initTitle(),l.append("text").attr("class",d.default.text+" =
"+d.default.empty).attr("text-anchor","middle").attr("dominant-baseline","m=
iddle"),e.initRegion(),e.initGrid(),i.clipPath||e.axis.init();var c=3Dl.app=
end("g").attr("class",d.default.chart);if(i.clipPath&&c.attr("clip-path",e.=
clipPath),i.grid_lines_front&&e.initGridLines(),e.initEventRect(),e.initCha=
rtElements(),l.insert("rect",i.zoom_privileged?null:"g."+d.default.regions)=
.attr("class",d.default.zoomRect).attr("width",e.width).attr("height",e.hei=
ght).style("opacity","0").on("dblclick.zoom",null),i.axis_x_extent&&e.brush=
.scale(e.getDefaultExtent()),i.clipPath&&e.axis.init(),e.updateTargets(e.da=
ta.targets),n&&(e.updateDimension(),e.config.oninit.call(e),e.redraw({withT=
ransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,=
withTransitionForAxis:!1}),e.config.data_onmin||e.config.data_onmax)){var f=
=3De.getMinMaxData();(0,u.isFunction)(e.config.data_onmin)&&e.config.data_o=
nmin.call(e,f.min),(0,u.isFunction)(e.config.data_onmax)&&e.config.data_onm=
ax.call(e,f.max)}e.bindResize(),e.api.element=3De.selectChart.node()},Chart=
Internal.prototype.initChartElements=3Dfunction(){this.initBar&&this.initBa=
r(),this.initLine&&this.initLine(),this.initArc&&this.initArc(),this.initGa=
uge&&this.initGauge(),this.initText&&this.initText()},ChartInternal.prototy=
pe.smoothLines=3Dfunction(t,e){"grid"=3D=3D=3De&&t.each(function(){var t=3D=
(0,r.select)(this),e=3Dt.attr("x1"),i=3Dt.attr("x2"),n=3Dt.attr("y1"),a=3Dt=
.attr("y2");t.attr({x1:Math.ceil(e),x2:Math.ceil(i),y1:Math.ceil(n),y2:Math=
.ceil(a)})})},ChartInternal.prototype.updateSizes=3Dfunction(){var t=3Dthis=
,e=3Dt.config,i=3Dt.legend?t.getLegendHeight():0,n=3Dt.legend?t.getLegendWi=
dth():0,a=3Dt.isLegendRight||t.isLegendInset?0:i,r=3Dt.hasArcType(),o=3De.a=
xis_rotated||r?0:t.getHorizontalAxisHeight("x"),s=3De.subchart_show&&!r?e.s=
ubchart_size_height+o:0;t.currentWidth=3Dt.getCurrentWidth(),t.currentHeigh=
t=3Dt.getCurrentHeight(),t.margin=3De.axis_rotated?{top:t.getHorizontalAxis=
Height("y2")+t.getCurrentPaddingTop(),right:r?0:t.getCurrentPaddingRight(),=
bottom:t.getHorizontalAxisHeight("y")+a+t.getCurrentPaddingBottom(),left:s+=
(r?0:t.getCurrentPaddingLeft())}:{top:4+t.getCurrentPaddingTop(),right:r?0:=
t.getCurrentPaddingRight(),bottom:o+s+a+t.getCurrentPaddingBottom(),left:r?=
0:t.getCurrentPaddingLeft()},t.margin2=3De.axis_rotated?{top:t.margin.top,r=
ight:NaN,bottom:20+a,left:t.rotated_padding_left}:{top:t.currentHeight-s-a,=
right:NaN,bottom:o+a,left:t.margin.left},t.margin3=3D{top:0,right:NaN,botto=
m:0,left:0},t.updateSizeForLegend&&t.updateSizeForLegend(i,n),t.width=3Dt.c=
urrentWidth-t.margin.left-t.margin.right,t.height=3Dt.currentHeight-t.margi=
n.top-t.margin.bottom,t.width<0&&(t.width=3D0),t.height<0&&(t.height=3D0),t=
.width2=3De.axis_rotated?t.margin.left-t.rotated_padding_left-t.rotated_pad=
ding_right:t.width,t.height2=3De.axis_rotated?t.height:t.currentHeight-t.ma=
rgin2.top-t.margin2.bottom,t.width2<0&&(t.width2=3D0),t.height20&&void 0!=3D=3Darguments[0=
]?arguments[0]:{},e=3Darguments[1],i=3Dthis,n=3Di.main,a=3Di.config,o=3Di.g=
etShapeIndices(i.isAreaType),s=3Di.getShapeIndices(i.isBarType),l=3Di.getSh=
apeIndices(i.isLineType),c=3Dvoid 0,f=3Dvoid 0,g=3Di.hasArcType(),h=3Di.fil=
terTargetsToShow(i.data.targets),p=3Di.xv.bind(i),x=3Dvoid 0,_=3Dvoid 0,v=
=3Dvoid 0,m=3D(0,u.getOption)(t,”withY”,!0),y=3D(0,u.getOption)(t,”withSubc=
hart”,!0),b=3D(0,u.getOption)(t,”withTransition”,!0),T=3D(0,u.getOption)(t,=
“withTransform”,!1),A=3D(0,u.getOption)(t,”withUpdateXDomain”,!1),w=3D(0,u.=
getOption)(t,”withUpdateOrgXDomain”,!1),L=3D(0,u.getOption)(t,”withTrimXDom=
ain”,!0),D=3D(0,u.getOption)(t,”withUpdateXAxis”,A),S=3D(0,u.getOption)(t,”=
withLegend”,!1),C=3D(0,u.getOption)(t,”withEventRect”,!0),R=3D(0,u.getOptio=
n)(t,”withDimension”,!0),F=3D(0,u.getOption)(t,”withTransitionForExit”,b),I=
=3D(0,u.getOption)(t,”withTransitionForAxis”,b),X=3Db?a.transition_duration=
:0,k=3DF?X:0,M=3DI?X:0,E=3De||i.axis.generateTransitions(M);if(“touch”=3D=
=3D=3Di.inputType&&i.hideTooltip(),S&&a.legend_show&&!a.legend_contents_bin=
dto?i.updateLegend(i.mapToIds(i.data.targets),t,E):R&&i.updateDimension(!0)=
,i.isCategorized()&&0=3D=3D=3Dh.length&&i.x.domain([0,i.axes.x.selectAll(“.=
tick”).size()]),h.length?(i.updateXDomain(h,A,w,L),!a.axis_x_tick_values&&(=
x=3Di.axis.updateXAxisTickValues(h))):(i.xAxis.tickValues([]),i.subXAxis.ti=
ckValues([])),a.zoom_rescale&&!t.flow&&(v=3Di.x.orgDomain()),i.y.domain(i.g=
etYDomain(h,”y”,v)),i.y2.domain(i.getYDomain(h,”y2″,v)),!a.axis_y_tick_valu=
es&&a.axis_y_tick_count&&i.yAxis.tickValues(i.axis.generateTickValues(i.y.d=
omain(),a.axis_y_tick_count,i.isTimeSeriesY())),!a.axis_y2_tick_values&&a.a=
xis_y2_tick_count&&i.y2Axis.tickValues(i.axis.generateTickValues(i.y2.domai=
n(),a.axis_y2_tick_count)),i.axis.redraw(E,g),i.axis.updateLabels(b),(A||D)=
&&h.length)if(a.axis_x_tick_culling&&x){for(var O=3D1;O<x.length;O++)if(x.l=
ength/O
=3D0&&(0,r.s=
elect)(this).style(“display”,e%_?”none”:”block”)})}else i.svg.selectAll(“.”=
+d.default.axisX+” .tick text”).style(“display”,”block”);var Y=3Di.generate=
DrawArea?i.generateDrawArea(o,!1):void 0,z=3Di.generateDrawBar?i.generateDr=
awBar(s):void 0,B=3Di.generateDrawLine?i.generateDrawLine(l,!1):void 0,P=3D=
i.generateXYForText(o,s,l,!0),V=3Di.generateXYForText(o,s,l,!1);m&&(i.subY.=
domain(i.getYDomain(h,”y”)),i.subY2.domain(i.getYDomain(h,”y2″))),i.updateX=
gridFocus(),n.select(“text.”+d.default.text+”.”+d.default.empty).attr(“x”,i=
.width/2).attr(“y”,i.height/2).text(a.data_empty_label_text).transition().s=
tyle(“opacity”,h.length?0:1),i.updateGrid(X),i.updateRegion(X),i.updateBar(=
k),i.updateLine(k),i.updateArea(k),i.updateCircle(),i.hasDataLabel()&&i.upd=
ateText(k),i.redrawTitle&&i.redrawTitle(),i.redrawArc&&i.redrawArc(X,k,T),a=
.subchart_show&&i.redrawSubchart&&i.redrawSubchart(y,E,X,k,o,s,l),n.selectA=
ll(“.”+d.default.selectedCircles).filter(i.isBarType.bind(i)).selectAll(“ci=
rcle”).remove(),a.interaction_enabled&&!t.flow&&C&&(i.redrawEventRect(),i.u=
pdateZoom&&i.updateZoom()),i.updateCircleY();var q=3D(i.config.axis_rotated=
?i.circleY:i.circleX).bind(i),W=3D(i.config.axis_rotated?i.circleX:i.circle=
Y).bind(i);t.flow&&(f=3Di.generateFlow({targets:h,flow:t.flow,duration:t.fl=
ow.duration,drawBar:z,drawLine:B,drawArea:Y,cx:q,cy:W,xv:p,xForText:P,yForT=
ext:V})),(X||f)&&i.isTabVisible()?(0,r.transition)().duration(X).each(funct=
ion(){c=3Di.generateWait(),[i.redrawBar(z,!0),i.redrawLine(B,!0),i.redrawAr=
ea(Y,!0),i.redrawCircle(q,W,!0,f),i.redrawText(P,V,t.flow,!0),i.redrawRegio=
n(!0),i.redrawGrid(!0)].reduce(function(t,e){return e.forEach(function(e){t=
.push(e)}),t},[]).forEach(function(t){c.add(t)})}).call(c,function(){f&&f()=
,a.onrendered&&a.onrendered.call(i)}):(i.redrawBar(z),i.redrawLine(B),i.red=
rawArea(Y),i.redrawCircle(q,W),i.redrawText(P,V,t.flow),i.redrawRegion(),i.=
redrawGrid(),a.onrendered&&a.onrendered.call(i)),i.mapToIds(i.data.targets)=
.forEach(function(t){i.withoutFadeIn[t]=3D!0})},ChartInternal.prototype.upd=
ateAndRedraw=3Dfunction(){var t=3Darguments.length>0&&void 0!=3D=3Dargument=
s[0]?arguments[0]:{},e=3Dthis,i=3De.config,n=3Dvoid 0;t.withTransition=3D(0=
,u.getOption)(t,”withTransition”,!0),t.withTransform=3D(0,u.getOption)(t,”w=
ithTransform”,!1),t.withLegend=3D(0,u.getOption)(t,”withLegend”,!1),t.withU=
pdateXDomain=3D!0,t.withUpdateOrgXDomain=3D!0,t.withTransitionForExit=3D!1,=
t.withTransitionForTransform=3D(0,u.getOption)(t,”withTransitionForTransfor=
m”,t.withTransition),e.updateSizes(),t.withLegend&&i.legend_show||(n=3De.ax=
is.generateTransitions(t.withTransitionForAxis?i.transition_duration:0),e.u=
pdateScales(),e.updateSvgSize(),e.transformAll(t.withTransitionForTransform=
,n)),e.redraw(t,n)},ChartInternal.prototype.redrawWithoutRescale=3Dfunction=
(){this.redraw({withY:!1,withSubchart:!1,withEventRect:!1,withTransitionFor=
Axis:!1})},ChartInternal.prototype.isTimeSeries=3Dfunction(){return”timeser=
ies”=3D=3D=3Dthis.config.axis_x_type},ChartInternal.prototype.isCategorized=
=3Dfunction(){return this.config.axis_x_type.indexOf(“category”)>=3D0},Char=
tInternal.prototype.isCustomX=3Dfunction(){var t=3Dthis,e=3Dt.config;return=
!t.isTimeSeries()&&(e.data_x||(0,u.notEmpty)(e.data_xs))},ChartInternal.pro=
totype.isTimeSeriesY=3Dfunction(){return”timeseries”=3D=3D=3Dthis.config.ax=
is_y_type},ChartInternal.prototype.getTranslate=3Dfunction(t){var e=3Dthis,=
i=3De.config,n=3Dvoid 0,a=3Dvoid 0;return”main”=3D=3D=3Dt?(n=3D(0,u.asHalfP=
ixel)(e.margin.left),a=3D(0,u.asHalfPixel)(e.margin.top)):”context”=3D=3D=
=3Dt?(n=3D(0,u.asHalfPixel)(e.margin2.left),a=3D(0,u.asHalfPixel)(e.margin2=
.top)):”legend”=3D=3D=3Dt?(n=3De.margin3.left,a=3De.margin3.top):”x”=3D=3D=
=3Dt?(n=3D0,a=3Di.axis_rotated?0:e.height):”y”=3D=3D=3Dt?(n=3D0,a=3Di.axis_=
rotated?e.height:0):”y2″=3D=3D=3Dt?(n=3Di.axis_rotated?0:e.width,a=3Di.axis=
_rotated?1:0):”subx”=3D=3D=3Dt?(n=3D0,a=3Di.axis_rotated?0:e.height2):”arc”=
=3D=3D=3Dt&&(n=3De.arcWidth/2,a=3De.arcHeight/2),”translate(“+n+”, “+a+”)”}=
,ChartInternal.prototype.initialOpacity=3Dfunction(t){return null!=3D=3Dt.v=
alue&&this.withoutFadeIn[t.id]?”1″:”0″},ChartInternal.prototype.initialOpac=
ityForCircle=3Dfunction(t){return null!=3D=3Dt.value&&this.withoutFadeIn[t.=
id]?this.opacityForCircle(t):”0″},ChartInternal.prototype.opacityForCircle=
=3Dfunction(t){var e=3Dthis.config.point_show?”1″:”0″;return(0,u.isValue)(t=
.value)?this.isScatterType(t)?”0.5″:e:”0″},ChartInternal.prototype.opacityF=
orText=3Dfunction(){return this.hasDataLabel()?”1″:”0″},ChartInternal.proto=
type.xx=3Dfunction(t){return this.config.zoom_enabled&&this.zoomScale?t?thi=
s.zoomScale(t.x):null:t?this.x(t.x):null},ChartInternal.prototype.xv=3Dfunc=
tion(t){var e=3Dthis,i=3Dt.value;return e.isTimeSeries()?i=3De.parseDate(t.=
value):e.isCategorized()&&”string”=3D=3Dtypeof t.value&&(i=3De.config.axis_=
x_categories.indexOf(t.value)),Math.ceil(e.x(i))},ChartInternal.prototype.y=
v=3Dfunction(t){var e=3Dthis,i=3Dt.axis&&”y2″=3D=3D=3Dt.axis?e.y2:e.y;retur=
n Math.ceil(i(t.value))},ChartInternal.prototype.subxx=3Dfunction(t){return=
t?this.subX(t.x):null},ChartInternal.prototype.transformMain=3Dfunction(t,=
e){var i=3Dthis,n=3Dvoid 0,a=3Dvoid 0,r=3Dvoid 0;e&&e.axisX?n=3De.axisX:(n=
=3Di.main.select(“.”+d.default.axisX),t&&(n=3Dn.transition())),e&&e.axisY?a=
=3De.axisY:(a=3Di.main.select(“.”+d.default.axisY),t&&(a=3Da.transition()))=
,e&&e.axisY2?r=3De.axisY2:(r=3Di.main.select(“.”+d.default.axisY2),t&&(r=3D=
r.transition())),(t?i.main.transition():i.main).attr(“transform”,i.getTrans=
late(“main”)),n.attr(“transform”,i.getTranslate(“x”)),a.attr(“transform”,i.=
getTranslate(“y”)),r.attr(“transform”,i.getTranslate(“y2”)),i.main.select(“=
.”+d.default.chartArcs).attr(“transform”,i.getTranslate(“arc”))},ChartInter=
nal.prototype.transformAll=3Dfunction(t,e){var i=3Dthis;i.transformMain(t,e=
),i.config.subchart_show&&i.transformContext(t,e),i.legend&&i.transformLege=
nd(t)},ChartInternal.prototype.updateSvgSize=3Dfunction(){var t=3Dthis,e=3D=
t.svg.select(“.”+d.default.brush+” .overlay”),i=3De.size()?e.attr(“height”)=
:0;t.svg.attr(“width”,t.currentWidth).attr(“height”,t.currentHeight),t.svg.=
selectAll([“#”+t.clipId,”#”+t.clipIdForGrid]).select(“rect”).attr(“width”,t=
.width).attr(“height”,t.height),t.svg.select(“#”+t.clipIdForXAxis).select(“=
rect”).attr(“x”,t.getXAxisClipX.bind(t)).attr(“y”,t.getXAxisClipY.bind(t)).=
attr(“width”,t.getXAxisClipWidth.bind(t)).attr(“height”,t.getXAxisClipHeigh=
t.bind(t)),t.svg.select(“#”+t.clipIdForYAxis).select(“rect”).attr(“x”,t.get=
YAxisClipX.bind(t)).attr(“y”,t.getYAxisClipY.bind(t)).attr(“width”,t.getYAx=
isClipWidth.bind(t)).attr(“height”,t.getYAxisClipHeight.bind(t)),t.svg.sele=
ct(“#”+t.clipIdForSubchart).select(“rect”).attr(“width”,t.width).attr(“heig=
ht”,i),t.svg.select(“.”+d.default.zoomRect).attr(“width”,t.width).attr(“hei=
ght”,t.height),t.selectChart.style(“max-height”,t.currentHeight+”px”),t.bru=
sh&&t.brush.scale(t.subX,i)},ChartInternal.prototype.updateDimension=3Dfunc=
tion(t){var e=3Dthis;t||(e.config.axis_rotated?(e.axes.x.call(e.xAxis),e.ax=
es.subx.call(e.subXAxis)):(e.axes.y.call(e.yAxis),e.axes.y2.call(e.y2Axis))=
),e.updateSizes(),e.updateScales(t),e.updateSvgSize(),e.transformAll(!1)},C=
hartInternal.prototype.observeInserted=3Dfunction(t){var e=3Dthis;if(“undef=
ined”=3D=3Dtypeof MutationObserver)return void(console&&console.error&&cons=
ole.error(“MutationObserver not defined.”));var i=3Dnew MutationObserver(fu=
nction(n){n.forEach(function(n){“childList”=3D=3D=3Dn.type&&n.previousSibli=
ng&&(i.disconnect(),e.intervalForObserveInserted=3Dwindow.setInterval(funct=
ion(){t.node().parentNode&&(window.clearInterval(e.intervalForObserveInsert=
ed),e.updateDimension(),e.brush&&e.brush.update(),e.config.oninit.call(e),e=
.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,with=
Transition:!1,withTransitionForTransform:!1,withLegend:!0}),t.transition().=
style(“opacity”,”1″))},10))})});i.observe(t.node(),{attributes:!0,childList=
:!0,characterData:!0})},ChartInternal.prototype.bindResize=3Dfunction(){var=
t=3Dthis,e=3Dt.config;t.resizeFunction=3Dt.generateResize(),t.resizeFuncti=
on.add(function(){e.onresize.call(t)}),e.resize_auto&&t.resizeFunction.add(=
function(){void 0!=3D=3Dt.resizeTimeout&&window.clearTimeout(t.resizeTimeou=
t),t.resizeTimeout=3Dwindow.setTimeout(function(){delete t.resizeTimeout,t.=
api.flush()},100)}),t.resizeFunction.add(function(){e.onresized.call(t)}),(=
0,u.addEvent)(window,”resize”,t.resizeFunction)},ChartInternal.prototype.ge=
nerateResize=3Dfunction(){function callResizeFunctions(){t.forEach(function=
(t){return t()})}var t=3D[];return callResizeFunctions.add=3Dfunction(e){t.=
push(e)},callResizeFunctions.remove=3Dfunction(e){for(var i=3D0;i<t.length;=
i++)if(t[i]=3D=3D=3De){t.splice(i,1);break}},callResizeFunctions},ChartInte=
rnal.prototype.endall=3Dfunction(t,e){var i=3D0;t.each(function(){return++i=
}).on("end",function(){for(var t=3Darguments.length,n=3DArray(t),a=3D0;a<t;=
a++)n[a]=3Darguments[a];–i||e.apply.apply(e,[this].concat(n))})},ChartInte=
rnal.prototype.generateWait=3Dfunction(){var t=3D[],e=3Dfunction(e,i){funct=
ion loop(){var e=3D0;t.forEach(function(t){if(t.empty())return void(e+=3D1)=
;try{t.transition()}catch(t){e+=3D1}}),e=3D=3D=3Dt.length?(clearTimeout(n),=
i&&i()):n=3DsetTimeout(loop,20)}var n=3Dvoid 0;loop()};return e.add=3Dfunct=
ion(e){Array.isArray(e)?t=3D[].concat(t,e):t.push(e)},e},ChartInternal.prot=
otype.parseDate=3Dfunction(t){var e=3Dthis,i=3Dvoid 0;return t instanceof D=
ate?i=3Dt:"string"=3D=3Dtypeof t?i=3De.dataTimeFormat(e.config.data_xFormat=
)(t):"number"=3D=3Dtypeof t&&!isNaN(t)&&(i=3Dnew Date(+t)),(!i||isNaN(+i))&=
&console&&console.error&&console.error("Failed to parse x '"+t+"' to Date o=
bject"),i},ChartInternal.prototype.isTabVisible=3Dfunction(){var t=3Dvoid 0=
;return void 0=3D=3D=3Ddocument.hidden?void 0=3D=3D=3Ddocument.mozHidden?vo=
id 0=3D=3D=3Ddocument.msHidden?void 0!=3D=3Ddocument.webkitHidden&&(t=3D"we=
bkitHidden"):t=3D"msHidden":t=3D"mozHidden":t=3D"hidden",!document[t]},Char=
tInternal.prototype.convertInputType=3Dfunction(){var t=3Dthis,e=3Dt.config=
,i=3D!!e.interaction_inputType_mouse&&"onmouseover"in window,n=3D!1;return =
e.interaction_inputType_touch&&(n=3D"ontouchstart"in window||window.Documen=
tTouch&&document instanceof window.DocumentTouch),n&&"touch"||i&&"mouse"||n=
ull},ChartInternal}();e.default=3Dc,t.exports=3De.default},function(e,i){e.=
exports=3Dt},function(t,e,i){"use strict";e.__esModule=3D!0;var n=3D{target=
:"bb-target",chart:"bb-chart",chartLine:"bb-chart-line",chartLines:"bb-char=
t-lines",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars",chartText:"bb-ch=
art-text",chartTexts:"bb-chart-texts",chartArc:"bb-chart-arc",chartArcs:"bb=
-chart-arcs",chartArcsTitle:"bb-chart-arcs-title",chartArcsBackground:"bb-c=
hart-arcs-background",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartAr=
csGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge=
-min",selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circ=
les",eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsSingle=
:"bb-event-rects-single",eventRectsMultiple:"bb-event-rects-multiple",zoomR=
ect:"bb-zoom-rect",brush:"bb-brush",focused:"bb-focused",defocused:"bb-defo=
cused",region:"bb-region",regions:"bb-regions",title:"bb-title",tooltipCont=
ainer:"bb-tooltip-container",tooltip:"bb-tooltip",tooltipName:"bb-tooltip-n=
ame",shape:"bb-shape",shapes:"bb-shapes",line:"bb-line",lines:"bb-lines",ba=
r:"bb-bar",bars:"bb-bars",circle:"bb-circle",circles:"bb-circles",arc:"bb-a=
rc",arcs:"bb-arcs",area:"bb-area",areas:"bb-areas",empty:"bb-empty",text:"b=
b-text",texts:"bb-texts",gaugeValue:"bb-gauge-value",grid:"bb-grid",gridLin=
es:"bb-grid-lines",xgrid:"bb-xgrid",xgrids:"bb-xgrids",xgridLine:"bb-xgrid-=
line",xgridLines:"bb-xgrid-lines",xgridFocus:"bb-xgrid-focus",ygrid:"bb-ygr=
id",ygrids:"bb-ygrids",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines=
",axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-a=
xis-y",axisYLabel:"bb-axis-y-label",axisY2:"bb-axis-y2",axisY2Label:"bb-axi=
s-y2-label",legendBackground:"bb-legend-background",legendItem:"bb-legend-i=
tem",legendItemEvent:"bb-legend-item-event",legendItemTile:"bb-legend-item-=
tile",legendItemHidden:"bb-legend-item-hidden",legendItemFocused:"bb-legend=
-item-focused",dragarea:"bb-dragarea",EXPANDED:"_expanded_",SELECTED:"_sele=
cted_",INCLUDED:"_included_"};e.default=3Dn,t.exports=3De.default},function=
(t,e,i){"use strict";function _interopRequireDefault(t){return t&&t.__esMod=
ule?t:{"default":t}}e.__esModule=3D!0;var n=3Di(6),a=3D_interopRequireDefau=
lt(n),r=3Di(1),o=3D_interopRequireDefault(r),s=3Dfunction Chart(t){(0,a.def=
ault)(this,Chart);var e=3Dnew o.default(this);this.internal=3De,e.loadConfi=
g(t),e.beforeInit(t),e.init(),e.afterInit(t),function bindThis(t,e,i){Objec=
t.keys(t).forEach(function(n){e[n]=3Dt[n].bind(i),Object.keys(t[n]).length&=
&bindThis(t[n],e[n],i)})}(Chart.prototype,this,this)};e.default=3Ds,t.expor=
ts=3De.default},function(t,e,i){"use strict";function _typeof(t){return t&&=
"undefined"!=3Dtypeof Symbol&&t.constructor=3D=3D=3DSymbol?"symbol":typeof =
t}e.__esModule=3D!0,e.default=3Dfunction(t){return t&&"undefined"!=3Dtypeof=
Symbol&&t.constructor=3D=3D=3DSymbol?"symbol":void 0=3D=3D=3Dt?"undefined"=
:_typeof(t)}},function(t,e,i){"use strict";e.__esModule=3D!0,e.default=3Dfu=
nction(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class a=
s a function")}},function(t,e,i){"use strict";function _interopRequireDefau=
lt(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=3D!0;var n=3Di(5)=
,a=3D_interopRequireDefault(n),r=3Di(6),o=3D_interopRequireDefault(r),s=3Di=
(2),l=3Di(0),d=3Di(8),u=3D_interopRequireDefault(d),c=3Di(3),f=3D_interopRe=
quireDefault(c),g=3Dfunction(){function Axis(t){(0,o.default)(this,Axis),th=
is.owner=3Dt}return Axis.prototype.init=3Dfunction(){var t=3Dthis.owner,e=
=3Dt.config,i=3Dt.main;t.axes.x=3Di.append("g").attr("class",f.default.axis=
+" "+f.default.axisX).attr("clip-path",t.clipPathForXAxis).attr("transform"=
,t.getTranslate("x")).style("visibility",e.axis_x_show?"visible":"hidden"),=
t.axes.x.append("text").attr("class",f.default.axisXLabel).attr("transform"=
,e.axis_rotated?"rotate(-90)":"").style("text-anchor",this.textAnchorForXAx=
isLabel.bind(this)),t.axes.y=3Di.append("g").attr("class",f.default.axis+" =
"+f.default.axisY).attr("clip-path",e.axis_y_inner?"":t.clipPathForYAxis).a=
ttr("transform",t.getTranslate("y")).style("visibility",e.axis_y_show?"visi=
ble":"hidden"),t.axes.y.append("text").attr("class",f.default.axisYLabel).a=
ttr("transform",e.axis_rotated?"":"rotate(-90)").style("text-anchor",this.t=
extAnchorForYAxisLabel.bind(this)),t.axes.y2=3Di.append("g").attr("class",f=
.default.axis+" "+f.default.axisY2).attr("transform",t.getTranslate("y2")).=
style("visibility",e.axis_y2_show?"visible":"hidden"),t.axes.y2.append("tex=
t").attr("class",f.default.axisY2Label).attr("transform",e.axis_rotated?"":=
"rotate(-90)").style("text-anchor",this.textAnchorForY2AxisLabel.bind(this)=
)},Axis.prototype.getXAxis=3Dfunction(t,e,i,n,a,r,o){var s=3Dthis.owner,d=
=3Ds.config,c=3D{isCategory:s.isCategorized(),withOuterTick:a,tickMultiline=
:d.axis_x_tick_multiline,tickWidth:d.axis_x_tick_width,tickTextRotate:o?0:d=
.axis_x_tick_rotate,withoutTransition:r,orgXScale:s.x},f=3D(0,u.default)(c)=
.scale(s.zoomScale||t).orient(e),g=3Dn;return s.isTimeSeries()&&n&&"functio=
n"!=3Dtypeof n&&(g=3Dn.map(function(t){return s.parseDate(t)})),f.tickForma=
t(i).tickValues(g),s.isCategorized()&&(f.tickCentered(d.axis_x_tick_centere=
d),(0,l.isEmpty)(d.axis_x_tick_culling)&&(d.axis_x_tick_culling=3D!1)),f},A=
xis.prototype.updateXAxisTickValues=3Dfunction(t,e){var i=3Dthis.owner,n=3D=
i.config,a=3Dvoid 0;return(n.axis_x_tick_fit||n.axis_x_tick_count)&&(a=3Dth=
is.generateTickValues(i.mapTargetsToUniqueXs(t),n.axis_x_tick_count,i.isTim=
eSeries())),e?e.tickValues(a):(i.xAxis.tickValues(a),i.subXAxis.tickValues(=
a)),a},Axis.prototype.getYAxis=3Dfunction(t,e,i,n,a,r,o){var s=3Dthis.owner=
,l=3Ds.config,d=3D{withOuterTick:a,withoutTransition:r,tickTextRotate:o?0:l=
.axis_y_tick_rotate},c=3D(0,u.default)(d).scale(t).orient(e).tickFormat(i);=
return s.isTimeSeriesY()?c.ticks(l.axis_y_tick_time_value):c.tickValues(n),=
c},Axis.prototype.getId=3Dfunction(t){var e=3Dthis.owner.config;return t in=
e.data_axes?e.data_axes[t]:"y"},Axis.prototype.getXAxisTickFormat=3Dfuncti=
on(){var t=3Dthis.owner,e=3Dt.config,i=3Dvoid 0;return i=3Dt.isTimeSeries()=
?t.defaultAxisTimeFormat:t.isCategorized()?t.categoryName:function(t){retur=
n t<0?t.toFixed(0):t},e.axis_x_tick_format&&((0,l.isFunction)(e.axis_x_tick=
_format)?i=3De.axis_x_tick_format:t.isTimeSeries()&&(i=3Dfunction(i){return=
i?t.axisTimeFormat(e.axis_x_tick_format)(i):""})),(0,l.isFunction)(i)?func=
tion(e){return i.call(t,e)}:i},Axis.prototype.getTickValues=3Dfunction(t,e)=
{return t||(e?e.tickValues():void 0)},Axis.prototype.getXAxisTickValues=3Df=
unction(){return this.getTickValues(this.owner.config.axis_x_tick_values,th=
is.owner.xAxis)},Axis.prototype.getYAxisTickValues=3Dfunction(){return this=
.getTickValues(this.owner.config.axis_y_tick_values,this.owner.yAxis)},Axis=
.prototype.getY2AxisTickValues=3Dfunction(){return this.getTickValues(this.=
owner.config.axis_y2_tick_values,this.owner.y2Axis)},Axis.prototype.getLabe=
lOptionByAxisId=3Dfunction(t){var e=3Dthis.owner,i=3De.config,n=3Dvoid 0;re=
turn"y"=3D=3D=3Dt?n=3Di.axis_y_label:"y2"=3D=3D=3Dt?n=3Di.axis_y2_label:"x"=
=3D=3D=3Dt&&(n=3Di.axis_x_label),n},Axis.prototype.getLabelText=3Dfunction(=
t){var e=3Dthis.getLabelOptionByAxisId(t);return(0,l.isString)(e)?e:e?e.tex=
t:null},Axis.prototype.setLabelText=3Dfunction(t,e){var i=3Dthis.owner,n=3D=
i.config,a=3Dthis.getLabelOptionByAxisId(t);(0,l.isString)(a)?"y"=3D=3D=3Dt=
?n.axis_y_label=3De:"y2"=3D=3D=3Dt?n.axis_y2_label=3De:"x"=3D=3D=3Dt&&(n.ax=
is_x_label=3De):a&&(a.text=3De)},Axis.prototype.getLabelPosition=3Dfunction=
(t,e){var i=3Dthis.getLabelOptionByAxisId(t),n=3D"object"=3D=3D=3D(void 0=
=3D=3D=3Di?"undefined":(0,a.default)(i))&&i.position?i.position:e;return{is=
Inner:!!~n.indexOf("inner"),isOuter:!!~n.indexOf("outer"),isLeft:!!~n.index=
Of("left"),isCenter:!!~n.indexOf("center"),isRight:!!~n.indexOf("right"),is=
Top:!!~n.indexOf("top"),isMiddle:!!~n.indexOf("middle"),isBottom:!!~n.index=
Of("bottom")}},Axis.prototype.getXAxisLabelPosition=3Dfunction(){return thi=
s.getLabelPosition("x",this.owner.config.axis_rotated?"inner-top":"inner-ri=
ght")},Axis.prototype.getYAxisLabelPosition=3Dfunction(){return this.getLab=
elPosition("y",this.owner.config.axis_rotated?"inner-right":"inner-top")},A=
xis.prototype.getY2AxisLabelPosition=3Dfunction(){return this.getLabelPosit=
ion("y2",this.owner.config.axis_rotated?"inner-right":"inner-top")},Axis.pr=
ototype.getLabelPositionById=3Dfunction(t){return"y2"=3D=3D=3Dt?this.getY2A=
xisLabelPosition():"y"=3D=3D=3Dt?this.getYAxisLabelPosition():this.getXAxis=
LabelPosition()},Axis.prototype.textForXAxisLabel=3Dfunction(){return this.=
getLabelText("x")},Axis.prototype.textForYAxisLabel=3Dfunction(){return thi=
s.getLabelText("y")},Axis.prototype.textForY2AxisLabel=3Dfunction(){return =
this.getLabelText("y2")},Axis.prototype.xForAxisLabel=3Dfunction(t,e){var i=
=3Dthis.owner;return t?e.isLeft?0:e.isCenter?i.width/2:i.width:e.isBottom?-=
i.height:e.isMiddle?-i.height/2:0},Axis.prototype.dxForAxisLabel=3Dfunction=
(t,e){return t?e.isLeft?"0.5em":e.isRight?"-0.5em":"0":e.isTop?"-0.5em":e.i=
sBottom?"0.5em":"0"},Axis.prototype.textAnchorForAxisLabel=3Dfunction(t,e){=
return t?e.isLeft?"start":e.isCenter?"middle":"end":e.isBottom?"start":e.is=
Middle?"middle":"end"},Axis.prototype.xForXAxisLabel=3Dfunction(){return th=
is.xForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition=
())},Axis.prototype.xForYAxisLabel=3Dfunction(){return this.xForAxisLabel(t=
his.owner.config.axis_rotated,this.getYAxisLabelPosition())},Axis.prototype=
.xForY2AxisLabel=3Dfunction(){return this.xForAxisLabel(this.owner.config.a=
xis_rotated,this.getY2AxisLabelPosition())},Axis.prototype.dxForXAxisLabel=
=3Dfunction(){return this.dxForAxisLabel(!this.owner.config.axis_rotated,th=
is.getXAxisLabelPosition())},Axis.prototype.dxForYAxisLabel=3Dfunction(){re=
turn this.dxForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelP=
osition())},Axis.prototype.dxForY2AxisLabel=3Dfunction(){return this.dxForA=
xisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())},Axi=
s.prototype.dyForXAxisLabel=3Dfunction(){var t=3Dthis.owner,e=3Dt.config,i=
=3Dthis.getXAxisLabelPosition();return e.axis_rotated?i.isInner?"1.2em":-25=
-this.getMaxTickWidth("x"):i.isInner?"-0.5em":e.axis_x_height?e.axis_x_heig=
ht-10:"3em"},Axis.prototype.dyForYAxisLabel=3Dfunction(){var t=3Dthis.owner=
,e=3Dthis.getYAxisLabelPosition();return t.config.axis_rotated?e.isInner?"-=
0.5em":"3em":e.isInner?"1.2em":-10-(t.config.axis_y_inner?0:this.getMaxTick=
Width("y")+10)},Axis.prototype.dyForY2AxisLabel=3Dfunction(){var t=3Dthis.o=
wner,e=3Dthis.getY2AxisLabelPosition();return t.config.axis_rotated?e.isInn=
er?"1.2em":"-2.2em":e.isInner?"-0.5em":15+(t.config.axis_y2_inner?0:this.ge=
tMaxTickWidth("y2")+15)},Axis.prototype.textAnchorForXAxisLabel=3Dfunction(=
){var t=3Dthis.owner;return this.textAnchorForAxisLabel(!t.config.axis_rota=
ted,this.getXAxisLabelPosition())},Axis.prototype.textAnchorForYAxisLabel=
=3Dfunction(){var t=3Dthis.owner;return this.textAnchorForAxisLabel(t.confi=
g.axis_rotated,this.getYAxisLabelPosition())},Axis.prototype.textAnchorForY=
2AxisLabel=3Dfunction(){var t=3Dthis.owner;return this.textAnchorForAxisLab=
el(t.config.axis_rotated,this.getY2AxisLabelPosition())},Axis.prototype.get=
MaxTickWidth=3Dfunction(t,e){var i=3Dthis.owner,n=3Di.config,a=3D0,r=3Dvoid=
0,o=3Dvoid 0;if(e&&i.currentMaxTickWidths[t])return i.currentMaxTickWidths=
[t];if(i.svg){var l=3Di.filterTargetsToShow(i.data.targets),d=3Dvoid 0,u=3D=
void 0;"y"=3D=3D=3Dt?(d=3Di.y.copy().domain(i.getYDomain(l,"y")),u=3Dthis.g=
etYAxis(d,i.yOrient,n.axis_y_tick_format,i.yAxisTickValues,!1,!0,!0)):"y2"=
=3D=3D=3Dt?(d=3Di.y2.copy().domain(i.getYDomain(l,"y2")),u=3Dthis.getYAxis(=
d,i.y2Orient,n.axis_y2_tick_format,i.y2AxisTickValues,!1,!0,!0)):(d=3Di.x.c=
opy().domain(i.getXDomain(l)),u=3Dthis.getXAxis(d,i.xOrient,i.xAxisTickForm=
at,i.xAxisTickValues,!1,!0,!0),this.updateXAxisTickValues(l,u)),r=3D(0,s.se=
lect)("body").append("div").classed("bb",!0),o=3Dr.append("svg").style("vis=
ibility","hidden").style("position","fixed").style("top","0px").style("left=
","0px"),o.append("g").call(u).each(function(){(0,s.select)(this).selectAll=
("text").each(function(){var t=3Dthis.getBoundingClientRect();a<t.width&&(a=
=3Dt.width)}),r.remove()})}return i.currentMaxTickWidths[t]=3Da2){for(o=3Dc-2,a=3Dt[0],r=3Dt[t.length-1],s=3D(r-a)/(o+1),n=3D[a]=
,d=3D0;d<o;d++)u=3D+a+s*(d+1),n.push(i?new Date(u):u);n.push(r)}}return i||=
(n=3Dn.sort(function(t,e){return t-e})),n},Axis.prototype.generateTransitio=
ns=3Dfunction(t){var e=3Dthis.owner,i=3De.axes;return{axisX:t?i.x.transitio=
n().duration(t):i.x,axisY:t?i.y.transition().duration(t):i.y,axisY2:t?i.y2.=
transition().duration(t):i.y2,axisSubX:t?i.subx.transition().duration(t):i.=
subx}},Axis.prototype.redraw=3Dfunction(t,e){var i=3Dthis.owner,n=3De?"0":"=
1";i.axes.x.style("opacity",n),i.axes.y.style("opacity",n),i.axes.y2.style(=
"opacity",n),i.axes.subx.style("opacity",n),t.axisX.call(i.xAxis),t.axisY.c=
all(i.yAxis),t.axisY2.call(i.y2Axis),t.axisSubX.call(i.subXAxis)},Axis}();e=
.default=3Dg,t.exports=3De.default},function(t,e,i){"use strict";e.__esModu=
le=3D!0;var n=3Di(5),a=3Dfunction(t){return t&&t.__esModule?t:{"default":t}=
}(n);e.default=3Dfunction(){function axisX(t,e){t.attr("transform",function=
(t){return"translate("+Math.ceil(e(t)+g)+", 0)"})}function axisY(t,e){t.att=
r("transform",function(t){return"translate(0,"+Math.ceil(e(t))+")"})}functi=
on scaleExtent(t){var e=3Dt[0],i=3Dt[t.length-1];return e<i?[e,i]:[i,e]}fun=
ction generateTicks(t){var e=3D[];if(t.ticks)return t.ticks.apply(t,f?Array=
.prototype.slice.call(f):[]).map(function(t){return/(string|number)/.test(v=
oid 0=3D=3D=3Dt?"undefined":(0,a.default)(t))&&!isNaN(t)?Math.round(10*t)/1=
0:t});for(var i=3Dt.domain(),n=3DMath.ceil(i[0]);n0&&e[0]>0&&e.unshift(e[0]-(e[1]-e[0])),e}function copyScale(){va=
r i=3De.copy();if(t.isCategory||!i.domain().length){var n=3De.domain();i.do=
main([n[0],n[1]-1])}return i}function textFormatted(t){var e=3Dc?c(t):t;ret=
urn void 0=3D=3D=3De?””:e}function getSizeFor1Char(t){if(s)return s;var e=
=3D{h:11.5,w:5.5};return t.select(“text”).text(textFormatted).each(function=
(t){var i=3Dthis.getBoundingClientRect(),n=3DtextFormatted(t),a=3Di.height,=
r=3Dn?i.width/n.length:void 0;a&&r&&(e.h=3Da,e.w=3Dr)}).text(“”),s=3De,e}fu=
nction transitionise(e){return t.withoutTransition?e:e.transition(x)}functi=
on axis(a){a.each(function(){function splitTickText(e,i){function split(t,e=
){o=3Dvoid 0;for(var i=3D1;i<e.length;i++)if(" "=3D=3D=3De.charAt(i)&&(o=3D=
i),r=3De.substr(0,i+1),s=3DF.w*r.length,a<s)return split(t.concat(e.substr(=
0,o||i)),e.slice(o?o+1:i));return t.concat(e)}var n=3DtextFormatted(e),a=3D=
i,r=3Dvoid 0,o=3Dvoid 0,s=3Dvoid 0;return"[object Array]"=3D=3D=3DObject.pr=
ototype.toString.call(n)?n:((!a||a<=3D0)&&(a=3Dk?95:t.isCategory?Math.ceil(=
c(f[1])-c(f[0]))-12:110),split([],n+""))}function tspanDy(t,e){var n=3DF.h;=
return 0=3D=3D=3De&&(n=3D"left"=3D=3D=3Di||"right"=3D=3D=3Di?-((I[t.index]-=
1)*(F.h/2)-3):".71em"),n}var a=3D(0,r.select)(this);axis.g=3Da;var s=3Dthis=
.__chart__||e,c=3DcopyScale();this.__chart__=3Dc;var f=3Du||generateTicks(c=
),h=3Da.selectAll(".tick").data(f,c),x=3Dh.enter().insert("g",".domain").at=
tr("class","tick").style("opacity","1"),_=3Dh.exit().remove();h=3Dx.merge(h=
);var v=3Dtransitionise(h).style("opacity","1"),m=3Dvoid 0,y=3Dvoid 0,b=3Dv=
oid 0,T=3De.rangeExtent?e.rangeExtent():scaleExtent((t.orgXScale||e).range(=
)),A=3Da.selectAll(".domain").data([0]),w=3DA.enter().append("path").attr("=
class","domain").merge(transitionise(A));x.append("line"),x.append("text");=
var L=3Dx.select("line"),D=3Dv.select("line"),S=3Dx.select("text"),C=3Dv.se=
lect("text");t.isCategory?(g=3DMath.ceil((c(1)-c(0))/2),y=3Dp?0:g,b=3Dp?g:0=
):(y=3D0,g=3Dy);var R=3Dvoid 0,F=3DgetSizeFor1Char(a.select(".tick")),I=3D[=
],X=3DMath.max(n,0)+d,k=3D"left"=3D=3D=3Di||"right"=3D=3D=3Di,M=3Dh.select(=
"text");R=3DM.selectAll("tspan").data(function(e,i){var n=3Dvoid 0;return n=
=3Dt.tickMultiline?splitTickText(e,t.tickWidth):(0,o.isArray)(textFormatted=
(e))?textFormatted(e).concat():[textFormatted(e)],I[i]=3Dn.length,n.map(fun=
ction(t){return{index:i,splitted:t}})}),R.exit().remove(),R=3DR.enter().app=
end("tspan").merge(R).text(function(t){return t.splitted});var E=3Dt.tickTe=
xtRotate;if("bottom"=3D=3D=3Di?(m=3DaxisX,L.attr("y2",n),S.attr("y",X),D.at=
tr("x1",y).attr("x2",y).attr("y2",function(t){var i=3De(t)+(p?0:g);return T=
[0]<i&&i0?1:-1):X}(E)).style(“text-anchor”,function(t){return t?t>0?”start”:”=
end”:”middle”}(E)).attr(“transform”,function(t){return t?”rotate(“+t+”)”:””=
}(E)),R.attr(“x”,0).attr(“dy”,tspanDy).attr(“dx”,function(t){return t?8*Mat=
h.sin(Math.PI*(t/180)):0}(E)),w.attr(“d”,”M”+T[0]+”,”+l+”V0H”+T[1]+”V”+l)):=
“top”=3D=3D=3Di?(m=3DaxisX,L.attr(“y2”,-n),S.attr(“y”,-X),D.attr(“x2”,0).at=
tr(“y2”,-n),C.attr(“x”,0).attr(“y”,-X),M.style(“text-anchor”,”middle”),R.at=
tr(“x”,0).attr(“dy”,”0em”),w.attr(“d”,”M”+T[0]+”,”+-l+”V0H”+T[1]+”V”+-l)):”=
left”=3D=3D=3Di?(m=3DaxisY,L.attr(“x2”,-n),S.attr(“x”,-X),D.attr(“x2”,-n).a=
ttr(“y1”,b).attr(“y2”,b),C.attr(“x”,-X).attr(“y”,g),M.style(“text-anchor”,”=
end”),R.attr(“x”,-X).attr(“dy”,tspanDy),w.attr(“d”,”M”+-l+”,”+T[0]+”H0V”+T[=
1]+”H”+-l)):”right”=3D=3D=3Di&&(m=3DaxisY,L.attr(“x2”,n),S.attr(“x”,X),D.at=
tr(“x2”,n).attr(“y2”,0),C.attr(“x”,X).attr(“y”,0),M.style(“text-anchor”,”st=
art”),R.attr(“x”,X).attr(“dy”,tspanDy),w.attr(“d”,”M”+l+”,”+T[0]+”H0V”+T[1]=
+”H”+l)),c.bandwidth){var O=3Dc,Y=3DO.bandwidth()/2;s=3Dfunction(t){return =
O(t)+Y},c=3Ds}else s.bandwidth?s=3Dc:_.call(m,c);x.call(m,s),v.call(m,c)})}=
var t=3Darguments.length>0&&void 0!=3D=3Darguments[0]?arguments[0]:{},e=3D(=
0,r.scaleLinear)(),i=3D”bottom”,n=3D6,l=3Dt.withOuterTick?6:0,d=3D3,u=3Dnul=
l,c=3Dvoid 0,f=3Dvoid 0,g=3D0,h=3D!0,p=3Dvoid 0,x=3Dvoid 0;return axis.scal=
e=3Dfunction(t){return arguments.length?(e=3Dt,axis):e},axis.orient=3Dfunct=
ion(t){return arguments.length?(i=3Dt in{top:1,right:1,bottom:1,left:1}?t+”=
“:”bottom”,axis):i},axis.tickFormat=3Dfunction(t){return arguments.length?(=
c=3Dt,axis):c},axis.tickCentered=3Dfunction(t){return arguments.length?(p=
=3Dt,axis):p},axis.tickOffset=3Dfunction(){return g},axis.tickInterval=3Dfu=
nction(){var e=3Dvoid 0;if(t.isCategory)e=3D2*g;else{e=3D(axis.g.select(“pa=
th.domain”).node().getTotalLength()-2*l)/axis.g.selectAll(“line”).size()}re=
turn e=3D=3D=3D1/0?0:e},axis.ticks=3Dfunction(){for(var t=3Darguments.lengt=
h,e=3DArray(t),i=3D0;i0)for(c=3De.hasNegativeValueIn=
Targets(t),o=3D0;o=3D0}),0!=3D=3Dd.length)for(l=3Dd[0],c&&a[l=
]&&a[l].forEach(function(t,e){a[l][e]=3Dt<0?t:0}),s=3D1;s0)&&(a[l][i]+=3D+t)});return(0,r.min)(Object.keys(a).ma=
p(function(t){return(0,r.min)(a[t])}))},getYDomainMax:function(t){var e=3Dt=
his,i=3De.config,n=3De.mapToIds(t),a=3De.getValuesAsIdKeyed(t),o=3Dvoid 0,s=
=3Dvoid 0,l=3Dvoid 0,d=3Dvoid 0,u=3Dvoid 0,c=3Dvoid 0;if(i.data_groups.leng=
th>0)for(c=3De.hasPositiveValueInTargets(t),o=3D0;o=3D0}),0!=
=3D=3Dd.length)for(l=3Dd[0],c&&a[l]&&a[l].forEach(function(t,e){a[l][e]=3Dt=
>0?t:0}),s=3D1;s<d.length;s++)u=3Dd[s],!!a[u]&&a[u].forEach(function(t,i){e=
.axis.getId(u)=3D=3D=3De.axis.getId(l)&&a[l]&&!(c&&+t<0)&&(a[l][i]+=3D+t)})=
;return(0,r.max)(Object.keys(a).map(function(t){return(0,r.max)(a[t])}))},g=
etYDomain:function(t,e,i){var n=3Dthis,a=3Dn.config,r=3Dt.filter(function(t=
){return n.axis.getId(t.id)=3D=3D=3De}),o=3Di?n.filterByXDomain(r,i):r,s=3D=
"y2"=3D=3D=3De?a.axis_y2_min:a.axis_y_min,d=3D"y2"=3D=3D=3De?a.axis_y2_max:=
a.axis_y_max,u=3Dn.getYDomainMin(o),c=3Dn.getYDomainMax(o),f=3D"y2"=3D=3D=
=3De?a.axis_y2_center:a.axis_y_center,g=3Dn.hasType("bar",o)&&a.bar_zerobas=
ed||n.hasType("area",o)&&a.area_zerobased,h=3D"y2"=3D=3D=3De?a.axis_y2_inve=
rted:a.axis_y_inverted,p=3Dn.hasDataLabel()&&a.axis_rotated,x=3Dn.hasDataLa=
bel()&&!a.axis_rotated,_=3Dvoid 0;if(u=3D(0,l.isValue)(s)?s:(0,l.isValue)(d=
)?u<d?u:d-10:u,c=3D(0,l.isValue)(d)?d:(0,l.isValue)(s)?s<c?c:s+10:c,0=3D=3D=
=3Do.length)return"y2"=3D=3D=3De?n.y2.domain():n.y.domain();isNaN(u)&&(u=3D=
0),isNaN(c)&&(c=3Du),u=3D=3D=3Dc&&(u=3D0&&c>=3D0,=
m=3Du<=3D0&&c1?n/(r-1)/2:.5):o=3D.01*n,”object=
“=3D=3D=3D(0,a.default)(i.axis_x_padding)&&(0,l.notEmpty)(i.axis_x_padding)=
?(s=3D(0,l.isValue)(i.axis_x_padding.left)?i.axis_x_padding.left:o,d=3D(0,l=
.isValue)(i.axis_x_padding.right)?i.axis_x_padding.right:o):”number”=3D=3Dt=
ypeof i.axis_x_padding?(s=3Di.axis_x_padding,d=3Di.axis_x_padding):(s=3Do,d=
=3Do),{left:s,right:d}},getXDomain:function(t){var e=3Dthis,i=3D[e.getXDoma=
inMin(t),e.getXDomainMax(t)],n=3Di[0],a=3Di[1],r=3De.getXDomainPadding(i),o=
=3D0,s=3D0;return n-a!=3D0||e.isCategorized()||(e.isTimeSeries()?(n=3Dnew D=
ate(.5*n.getTime()),a=3Dnew Date(1.5*a.getTime())):(n=3D0=3D=3D=3Dn?1:.5*n,=
a=3D0=3D=3D=3Da?-1:1.5*a)),(n||0=3D=3D=3Dn)&&(o=3De.isTimeSeries()?new Date=
(n.getTime()-r.left):n-r.left),(a||0=3D=3D=3Da)&&(s=3De.isTimeSeries()?new =
Date(a.getTime()+r.right):a+r.right),[o,s]},updateXDomain:function(t,e,i,n,=
a){var o=3Dthis,s=3Do.config;if(i&&(o.x.domain(a||(0,r.extent)(o.getXDomain=
(t))),o.orgXDomain=3Do.x.domain(),s.zoom_enabled&&o.zoom.updateScaleExtent(=
),o.subX.domain(o.x.domain()),o.brush&&o.brush.scale(o.subX)),e){var l=3Da|=
|!o.brush||o.brushEmpty()?o.orgXDomain:o.getBrushSelection().map(function(t=
){return o.subX.invert(t)});o.x.domain(l),s.zoom_enabled&&o.zoom.updateScal=
eExtent()}return n&&o.x.domain(o.trimXDomain(o.x.orgDomain())),o.x.domain()=
},trimXDomain:function(t){var e=3Dthis.getZoomDomain(),i=3De[0],n=3De[1];re=
turn t[0]<=3Di&&(t[1]=3D+t[1]+(i-t[0]),t[0]=3Di),n<=3Dt[1]&&(t[0]=3D+t[0]-(=
t[1]-n),t[1]=3Dn),t}})},function(t,e,i){"use strict";function _interopRequi=
reDefault(t){return t&&t.__esModule?t:{"default":t}}var n=3Di(5),a=3D_inter=
opRequireDefault(n),r=3Di(2),o=3Di(3),s=3D_interopRequireDefault(o),l=3Di(1=
),d=3D_interopRequireDefault(l),u=3Di(0);(0,u.extend)(d.default.prototype,{=
isX:function(t){var e=3Dthis,i=3De.config,n=3Di.data_x&&t=3D=3D=3Di.data_x,=
a=3D(0,u.notEmpty)(i.data_xs)&&(0,u.hasValue)(i.data_xs,t);return n||a},isN=
otX:function(t){return!this.isX(t)},getXKey:function(t){var e=3Dthis,i=3De.=
config;return i.data_x?i.data_x:(0,u.notEmpty)(i.data_xs)?i.data_xs[t]:null=
},getXValuesOfXKey:function(t,e){var i=3Dthis,n=3De&&(0,u.notEmpty)(e)?i.ma=
pToIds(e):[],a=3Dvoid 0;return n.forEach(function(e){i.getXKey(e)=3D=3D=3Dt=
&&(a=3Di.data.xs[e])}),a},getIndexByX:function(t){var e=3Dthis,i=3De.filter=
ByX(e.data.targets,t);return i.length?i[0].index:null},getXValue:function(t=
,e){var i=3Dthis;return t in i.data.xs&&i.data.xs[t]&&(0,u.isValue)(i.data.=
xs[t][e])?i.data.xs[t][e]:e},getOtherTargetXs:function(){var t=3Dthis,e=3DO=
bject.keys(t.data.xs);return e.length?t.data.xs[e[0]]:null},getOtherTargetX=
:function(t){var e=3Dthis.getOtherTargetXs();return e&&t1},isMultipleX:function(){return(=
0,u.notEmpty)(this.config.data_xs)||!this.config.data_xSort||this.hasType(“=
scatter”)},addName:function(t){var e=3Dthis,i=3Dvoid 0;return t&&(i=3De.con=
fig.data_names[t.id],t.name=3Dvoid 0=3D=3D=3Di?t.id:i),t},getValueOnIndex:f=
unction(t,e){var i=3Dt.filter(function(t){return t.index=3D=3D=3De});return=
i.length?i[0]:null},updateTargetX:function(t,e){var i=3Dthis;t.forEach(fun=
ction(t){t.values.forEach(function(n,a){n.x=3Di.generateTargetX(e[a],t.id,a=
)}),i.data.xs[t.id]=3De})},updateTargetXs:function(t,e){var i=3Dthis;t.forE=
ach(function(t){e[t.id]&&i.updateTargetX([t],e[t.id])})},generateTargetX:fu=
nction(t,e,i){var n=3Dthis;return n.isTimeSeries()?t?n.parseDate(t):n.parse=
Date(n.getXValue(e,i)):n.isCustomX()&&!n.isCategorized()?(0,u.isValue)(t)?+=
t:n.getXValue(e,i):i},cloneTarget:function(t){return{id:t.id,id_org:t.id_or=
g,values:t.values.map(function(t){return{x:t.x,value:t.value,id:t.id}})}},u=
pdateXs:function(){var t=3Dthis;t.data.targets.length&&(t.xs=3D[],t.data.ta=
rgets[0].values.forEach(function(e){t.xs[e.index]=3De.x}))},getPrevX:functi=
on(t){var e=3Dthis.xs[t-1];return void 0=3D=3D=3De?null:e},getNextX:functio=
n(t){var e=3Dthis.xs[t+1];return void 0=3D=3D=3De?null:e},getMinMaxValue:fu=
nction(t){var e=3Dvoid 0,i=3Dvoid 0;return(t||this.data.targets.map(functio=
n(t){return t.values})).forEach(function(t){e=3D(0,r.min)([e,(0,r.min)(t,fu=
nction(t){return t.value})]),i=3D(0,r.max)([i,(0,r.max)(t,function(t){retur=
n t.value})])}),{min:e,max:i}},getMinMaxData:function(){var t=3Dthis,e=3Dth=
is.data.targets.map(function(t){return t.values}),i=3Dthis.getMinMaxValue(e=
),n=3D[],a=3D[];return e.forEach(function(e){var r=3Dt.getFilteredDataByVal=
ue(e,i.min),o=3Dt.getFilteredDataByValue(e,i.max);r.length&&(n=3Dn.concat(r=
)),o.length&&(a=3Da.concat(o))}),{min:n,max:a}},getFilteredDataByValue:func=
tion(t,e){return t.filter(function(t){return t.value=3D=3D=3De})},getMaxDat=
aCount:function(){return(0,r.max)(this.data.targets,function(t){return t.va=
lues.length})},getMaxDataCountTarget:function(t){var e=3Dt.length,i=3D0,n=
=3Dvoid 0;return e>1?t.forEach(function(t){t.values.length>i&&(n=3Dt,i=3Dt.=
values.length)}):n=3De?t[0]:null,n},mapToIds:function(t){return t.map(funct=
ion(t){return t.id})},mapToTargetIds:function(t){var e=3Dthis;return t?(0,u=
.isArray)(t)?t.concat():[t]:e.mapToIds(e.data.targets)},hasTarget:function(=
t,e){var i=3Dthis.mapToIds(t),n=3Dvoid 0;for(n=3D0;n<i.length;n++)if(i[n]=
=3D=3D=3De)return!0;return!1},isTargetToShow:function(t){return this.hidden=
TargetIds.indexOf(t)<0},isLegendToShow:function(t){return this.hiddenLegend=
Ids.indexOf(t)<0},filterTargetsToShow:function(t){var e=3Dthis;return t.fil=
ter(function(t){return e.isTargetToShow(t.id)})},mapTargetsToUniqueXs:funct=
ion(t){var e=3Dthis,i=3D(0,r.set)((0,r.merge)(t.map(function(t){return t.va=
lues.map(function(t){return+t.x})}))).values();return i=3De.isTimeSeries()?=
i.map(function(t){return new Date(+t)}):i.map(function(t){return+t}),i.sort=
(function(t,e){return te?1:t>=3De?0:NaN})},addHiddenTargetIds:funct=
ion(t){this.hiddenTargetIds=3Dthis.hiddenTargetIds.concat(t)},removeHiddenT=
argetIds:function(t){this.hiddenTargetIds=3Dthis.hiddenTargetIds.filter(fun=
ction(e){return t.indexOf(e)<0})},addHiddenLegendIds:function(t){this.hidde=
nLegendIds=3Dthis.hiddenLegendIds.concat(t)},removeHiddenLegendIds:function=
(t){this.hiddenLegendIds=3Dthis.hiddenLegendIds.filter(function(e){return t=
.indexOf(e)<0})},getValuesAsIdKeyed:function(t){var e=3D{};return t.forEach=
(function(t){e[t.id]=3D[],t.values.forEach(function(i){e[t.id].push(i.value=
)})}),e},checkValueInTargets:function(t,e){var i=3DObject.keys(t),n=3Dvoid =
0,a=3Dvoid 0,r=3Dvoid 0;for(n=3D0;n<i.length;n++)for(r=3Dt[i[n]].values,a=
=3D0;a<r.length;a++)if(e(r[a].value))return!0;return!1},hasNegativeValueInT=
argets:function(t){return this.checkValueInTargets(t,function(t){return t0})},_checkOrder:function(t){var e=3Dthis.config;retu=
rn”string”=3D=3Dtypeof e.data_order&&e.data_order.toLowerCase()=3D=3D=3Dt},=
isOrderDesc:function(){return this._checkOrder(“desc”)},isOrderAsc:function=
(){return this._checkOrder(“asc”)},orderTargets:function(t){var e=3Dthis,i=
=3De.config,n=3De.isOrderAsc(),a=3De.isOrderDesc();return n||a?t.sort(funct=
ion(t,e){var i=3Dfunction(t,e){return t+Math.abs(e.value)},a=3Dt.values.red=
uce(i,0),r=3De.values.reduce(i,0);return n?r-a:a-r}):(0,u.isFunction)(i.dat=
a_order)&&t.sort(i.data_order),t},filterByX:function(t,e){return(0,r.merge)=
(t.map(function(t){return t.values})).filter(function(t){return t.x-e=3D=3D=
0})},filterRemoveNull:function(t){return t.filter(function(t){return(0,u.is=
Value)(t.value)})},filterByXDomain:function(t,e){return t.map(function(t){r=
eturn{id:t.id,id_org:t.id_org,values:t.values.filter(function(t){return e[0=
]<=3Dt.x&&t.x=3D0&&i=3D=3D=3Dt[a].x;a–)n.push(t[a]);=
for(a=3De;a<t.length&&i=3D=3D=3Dt[a].x;a++)n.push(t[a]);return n},findClose=
stFromTargets:function(t,e){var i=3Dthis,n=3Dt.map(function(t){return i.fin=
dClosest(t.values,e)});return i.findClosest(n,e)},findClosest:function(t,e)=
{var i=3Dthis,n=3Di.config.point_sensitivity,a=3Dvoid 0;return t.filter(fun=
ction(t){return t&&i.isBarType(t.id)}).forEach(function(t){var e=3Di.main.s=
elect().node("."+s.default.bars+i.getTargetSelectorSuffix(t.id)+"."+s.defau=
lt.bar+"-"+t.index);!a&&i.isWithinBar(e)&&(a=3Dt)}),t.filter(function(t){re=
turn t&&!i.isBarType(t.id)}).forEach(function(t){var r=3Di.dist(t,e);r0;i–)e[i]=3De[i-1];return e[0]=
=3D{x:e[0].x-1,value:e[0].value,id:e[0].id},e[t.length+1]=3D{x:e[t.length].=
x+1,value:e[t.length].value,id:e[t.length].id},e},updateDataAttributes:func=
tion(t,e){var i=3Dthis,n=3Di.config,a=3Dn[“data_”+t];return void 0=3D=3D=3D=
e?a:(Object.keys(e).forEach(function(t){a[t]=3De[t]}),i.redraw({withLegend:=
!0}),a)}})},function(t,e,i){“use strict”;var n=3Di(2),a=3Di(1),r=3Dfunction=
(t){return t&&t.__esModule?t:{“default”:t}}(a),o=3Di(0);(0,o.extend)(r.defa=
ult.prototype,{convertUrlToData:function(t){var e=3Dthis,i=3Darguments.leng=
th>1&&void 0!=3D=3Darguments[1]?arguments[1]:”csv”,a=3Darguments[2],r=3Darg=
uments[3],o=3Darguments[4],s=3Di,l=3D(0,n.request)(t);if(a)for(var d=3DObje=
ct.keys(a),u=3DArray.isArray(d),c=3D0,d=3Du?d:d[Symbol.iterator]();;){var f=
;if(u){if(c>=3Dd.length)break;f=3Dd[c++]}else{if(c=3Dd.next(),c.done)break;=
f=3Dc.value}var g=3Df;l.header(g,a[g])}l.get(function(t,i){var n=3Dvoid 0;i=
f(!i)throw new Error(t.responseURL+” “+t.status+” (“+t.statusText+”)”);var =
a=3Di.response||i.responseText;n=3D”json”=3D=3D=3Ds?e.convertJsonToData(JSO=
N.parse(a),r):”tsv”=3D=3D=3Ds?e.convertTsvToData(a):e.convertCsvToData(a),o=
.call(e,n)})},_convertCsvTsvToData:function(t,e){var i=3Dt.rows(e),n=3Dvoid=
0;return 1=3D=3D=3Di.length?(n=3D[{}],i[0].forEach(function(t){n[0][t]=3Dn=
ull})):n=3Dt.parse(e),n},convertCsvToData:function(t){return this._convertC=
svTsvToData({rows:n.csvParseRows,parse:n.csvParse},t)},convertTsvToData:fun=
ction(t){return this._convertCsvTsvToData({rows:n.tsvParseRows,parse:n.tsvP=
arse},t)},convertJsonToData:function(t,e){var i=3Dthis,n=3D[],a=3Dvoid 0,r=
=3Dvoid 0;return e?(e.x?(a=3De.value.concat(e.x),this.config.data_x=3De.x):=
a=3De.value,n.push(a),t.forEach(function(t){for(var e=3D[],r=3Dvoid 0,s=3Da=
,l=3DArray.isArray(s),d=3D0,s=3Dl?s:s[Symbol.iterator]();;){var u;if(l){if(=
d>=3Ds.length)break;u=3Ds[d++]}else{if(d=3Ds.next(),d.done)break;u=3Dd.valu=
e}var c=3Du;r=3Di.findValueInJson(t,c),(0,o.isUndefined)(r)&&(r=3Dnull),e.p=
ush(r)}n.push(e)}),r=3Dthis.convertRowsToData(n)):(Object.keys(t).forEach(f=
unction(e){var i=3Dt[e].concat();i.unshift(e),n.push(i)}),r=3Dthis.convertC=
olumnsToData(n)),r},findValueInJson:function(t,e){if(void 0!=3D=3Dt[e])retu=
rn t[e];for(var i=3De.replace(/\[(\w+)\]/g,”.$1″),n=3Di.replace(/^\./,””).s=
plit(“.”),a=3Dt,r=3Dn,o=3DArray.isArray(r),s=3D0,r=3Do?r:r[Symbol.iterator]=
();;){var l;if(o){if(s>=3Dr.length)break;l=3Dr[s++]}else{if(s=3Dr.next(),s.=
done)break;l=3Ds.value}var d=3Dl;if(!(d in a)){a=3Dvoid 0;break}a=3Da[d]}re=
turn a},convertRowsToData:function(t){var e=3Dt[0],i=3D[],n=3D{},a=3Dvoid 0=
,r=3Dvoid 0;for(a=3D1;a<t.length;a++){for(n=3D{},r=3D0;r<t[a].length;r++){i=
f((0,o.isUndefined)(t[a][r]))throw new Error("Source data is missing a comp=
onent at ("+a+", "+r+")!");n[e[r]]=3Dt[a][r]}i.push(n)}return i},convertCol=
umnsToData:function(t){var e=3D[],i=3Dvoid 0,n=3Dvoid 0,a=3Dvoid 0;for(i=3D=
0;i<t.length;i++)for(a=3Dt[i][0],n=3D1;n=3D0?i.data.xs[n]=3D(e&&a.data.xs[n]?a.data.xs[n]:[]).conc=
at(t.map(function(t){return t[s]}).filter(o.isValue).map(function(t,e){retu=
rn a.generateTargetX(t,n,e)})):r.data_x?i.data.xs[n]=3Di.getOtherTargetXs()=
:(0,o.notEmpty)(r.data_xs)&&(a.data.xs[n]=3Da.getXValuesOfXKey(s,a.data.tar=
gets)):a.data.xs[n]=3Dt.map(function(t,e){return e})}),s.forEach(function(t=
){if(!a.data.xs[t])throw new Error(‘x is not defined for id =3D “‘+t+'”.’)}=
);var d=3Ds.map(function(e,i){var n=3Dr.data_idConverter(e);return{id:n,id_=
org:e,values:t.map(function(t,s){var l=3Da.getXKey(e),d=3Dt[l],u=3Dnull=3D=
=3D=3Dt[e]||isNaN(t[e])?null:+t[e],c=3Dvoid 0;return a.isCustomX()&&a.isCat=
egorized()&&0=3D=3D=3Di&&!(0,o.isUndefined)(d)?(0=3D=3D=3Di&&0=3D=3D=3Ds&&(=
r.axis_x_categories=3D[]),-1=3D=3D=3D(c=3Dr.axis_x_categories.indexOf(d))&&=
(c=3Dr.axis_x_categories.length,r.axis_x_categories.push(d))):c=3Da.generat=
eTargetX(d,e,s),((0,o.isUndefined)(t[e])||a.data.xs[e].length<=3Ds)&&(c=3Dv=
oid 0),{x:c,value:u,id:n}}).filter(function(t){return(0,o.isDefined)(t.x)})=
}});return d.forEach(function(t){var e=3Dvoid 0;r.data_xSort&&(t.values=3Dt=
.values.sort(function(t,e){return(t.x||0=3D=3D=3Dt.x?t.x:1/0)-(e.x||0=3D=3D=
=3De.x?e.x:1/0)})),e=3D0,t.values.forEach(function(t){t.index=3De++}),a.dat=
a.xs[t.id].sort(function(t,e){return t-e})}),a.hasNegativeValue=3Da.hasNega=
tiveValueInTargets(d),a.hasPositiveValue=3Da.hasPositiveValueInTargets(d),r=
.data_type&&a.setTargetType(a.mapToIds(d).filter(function(t){return!(t in r=
.data_types)}),r.data_type),d.forEach(function(t){a.addCache(t.id_org,t)}),=
d}})},function(t,e,i){"use strict";function _interopRequireDefault(t){retur=
n t&&t.__esModule?t:{"default":t}}var n=3Di(3),a=3D_interopRequireDefault(n=
),r=3Di(1),o=3D_interopRequireDefault(r);(0,i(0).extend)(o.default.prototyp=
e,{load:function(t,e){var i=3Dthis,n=3Dt;n&&(e.filter&&(n=3Dn.filter(e.filt=
er)),(e.type||e.types)&&n.forEach(function(t){var n=3De.types&&e.types[t.id=
]?e.types[t.id]:e.type;i.setTargetType(t.id,n)}),i.data.targets.forEach(fun=
ction(t){for(var e=3D0;e<n.length;e++)if(t.id=3D=3D=3Dn[e].id){t.values=3Dn=
[e].values,n.splice(e,1);break}}),i.data.targets=3Di.data.targets.concat(n)=
),i.updateTargets(i.data.targets),i.redraw({withUpdateOrgXDomain:!0,withUpd=
ateXDomain:!0,withLegend:!0}),e.done&&e.done()},loadFromArgs:function(t){va=
r e=3Dthis;t.data?e.load(e.convertDataToTargets(t.data),t):t.url?e.convertU=
rlToData(t.url,t.mimeType,t.headers,t.keys,function(i){e.load(e.convertData=
ToTargets(i),t)}):t.json?e.load(e.convertDataToTargets(e.convertJsonToData(=
t.json,t.keys)),t):t.rows?e.load(e.convertDataToTargets(e.convertRowsToData=
(t.rows)),t):t.columns?e.load(e.convertDataToTargets(e.convertColumnsToData=
(t.columns)),t):e.load(null,t)},unload:function(t,e){var i=3Dthis,n=3De,r=
=3Dt;return n||(n=3Dfunction(){}),r=3Dr.filter(function(t){return i.hasTarg=
et(i.data.targets,t)}),r&&0!=3D=3Dr.length?(i.svg.selectAll(r.map(function(=
t){return i.selectorTarget(t)})).transition().style("opacity","0").remove()=
.call(i.endall,n),void r.forEach(function(t){i.withoutFadeIn[t]=3D!1,i.lege=
nd&&i.legend.selectAll("."+a.default.legendItem+i.getTargetSelectorSuffix(t=
)).remove(),i.data.targets=3Di.data.targets.filter(function(e){return e.id!=
=3D=3Dt})})):void n()}})},function(t,e,i){"use strict";var n=3Di(1),a=3Dfun=
ction(t){return t&&t.__esModule?t:{"default":t}}(n);(0,i(0).extend)(a.defau=
lt.prototype,{categoryName:function(t){var e=3Dthis.config;return t=3Dh)&&(p=3D!0,t.preven=
tDefault())};t.svg.on(“touchstart touchmove”,function(){var e=3Dd();if(!e.e=
mpty()&&e.classed(s.default.eventRect)){if(t.dragging||t.flowing||t.hasArcT=
ype())return;x(n.event),c(this)}else t.unselectRect()}).on(“touchend”,funct=
ion(){var n=3Dd();if(!n.empty()&&n.classed(s.default.eventRect)){if(t.hasAr=
cType()||!t.toggleShape||t.cancelClick)return void(t.cancelClick&&(t.cancel=
Click=3D!1));var a=3Du(n);i||-1=3D=3D=3Da||t.main.selectAll(“.”+s.default.s=
hape+”-“+a).each(function(i){return e.data_onout.call(t.api,i)})}})}},updat=
eEventRect:function(t){var e=3Dthis,i=3De.config,n=3De.zoomScale||e.x,a=3Dt=
||e.eventRect.data(),r=3Dvoid 0,o=3Dvoid 0,s=3Dvoid 0,l=3Dvoid 0;if(e.isMul=
tipleX())r=3D0,o=3D0,s=3De.width,l=3De.height;else{var d=3Dvoid 0,u=3Dvoid =
0;!e.isCustomX()&&!e.isTimeSeries()||e.isCategorized()?(d=3De.getEventRectW=
idth(),u=3Dfunction(t){return n(t.x)-d/2}):(e.updateXs(),d=3Dfunction(t){va=
r a=3De.getPrevX(t.index),r=3De.getNextX(t.index);return null=3D=3D=3Da&&nu=
ll=3D=3D=3Dr?i.axis_rotated?e.height:e.width:(null=3D=3D=3Da&&(a=3Dn.domain=
()[0]),null=3D=3D=3Dr&&(r=3Dn.domain()[1]),Math.max(0,(n(r)-n(a))/2))},u=3D=
function(t){var i=3De.getNextX(t.index),a=3De.data.xs[t.id][t.index],r=3De.=
getPrevX(t.index);return null=3D=3D=3Dr&&null=3D=3D=3Di?0:(null=3D=3D=3Dr&&=
(r=3Dn.domain()[0]),(n(a)+n(r))/2)}),r=3Di.axis_rotated?0:u,o=3Di.axis_rota=
ted?u:0,s=3Di.axis_rotated?e.width:d,l=3Di.axis_rotated?d:e.height}a.attr(“=
class”,e.classEvent.bind(e)).attr(“x”,r).attr(“y”,o).attr(“width”,s).attr(“=
height”,l)},selectRectForSingle:function(t,e,i){var a=3Dthis,r=3Da.config,o=
=3Da.filterTargetsToShow(a.data.targets).map(function(t){return a.addName(a=
.getValueOnIndex(t.values,i))});r.tooltip_grouped&&(a.showTooltip(o,t),a.sh=
owXGridFocus(o),!r.data_selection_enabled||r.data_selection_grouped)||a.mai=
n.selectAll(“.”+s.default.shape+”-“+i).each(function(){(0,n.select)(this).c=
lassed(s.default.EXPANDED,!0),r.data_selection_enabled&&e.style(“cursor”,r.=
data_selection_grouped?”pointer”:null),r.tooltip_grouped||(a.hideXGridFocus=
(),a.hideTooltip(),!r.data_selection_grouped&&(a.unexpandCircles(i),a.unexp=
andBars(i)))}).filter(function(t){return a.isWithinShape(this,t)}).each(fun=
ction(t){r.data_selection_enabled&&(r.data_selection_grouped||r.data_select=
ion_isselectable(t))&&e.style(“cursor”,”pointer”),r.tooltip_grouped||(a.sho=
wTooltip([t],this),a.showXGridFocus([t]),r.point_focus_expand_enabled&&a.ex=
pandCircles(i,t.id,!0),a.expandBars(i,t.id,!0))})},selectRectForMultipleXs:=
function(t){var e=3Dthis,i=3De.config,a=3De.filterTargetsToShow(e.data.targ=
ets);if(!e.dragging&&!e.hasArcType(a)){var r=3D(0,n.mouse)(e.main.select(“.=
“+s.default.eventRects+” .”+s.default.eventRect).node()),o=3De.findClosestF=
romTargets(a,r),l=3Dvoid 0;if(e.mouseover&&(!o||o.id!=3D=3De.mouseover.id)&=
&(i.data_onout.call(e.api,e.mouseover),e.mouseover=3Dvoid 0),!o)return void=
e.unselectRect();l=3De.isScatterType(o)||!i.tooltip_grouped?[o]:e.filterBy=
X(a,o.x);var d=3Dl.map(function(t){return e.addName(t)});e.showTooltip(d,t)=
,i.point_focus_expand_enabled&&e.expandCircles(o.index,o.id,!0),e.expandBar=
s(o.index,o.id,!0),e.showXGridFocus(d),(e.isBarType(o.id)||e.dist(o,r)<i.po=
int_sensitivity)&&(e.svg.select(""+s.default.eventRect).style("cursor","poi=
nter"),!e.mouseover&&(i.data_onover.call(e.api,o),e.mouseover=3Do))}},unsel=
ectRect:function(){var t=3Dthis;t.svg.select("."+s.default.eventRect).style=
("cursor",null),t.hideXGridFocus(),t.hideTooltip(),t.unexpandCircles(),t.un=
expandBars()},generateEventRectsForSingleX:function(t){var e=3Dthis,i=3De.c=
onfig,a=3Dt.append("rect").attr("class",e.classEvent.bind(e)).style("cursor=
",i.data_selection_enabled&&i.data_selection_grouped?"pointer":null).on("cl=
ick",function(t){if(e.hasArcType()||!e.toggleShape||e.cancelClick)return vo=
id(e.cancelClick&&(e.cancelClick=3D!1));var n=3Dt.index;e.main.selectAll(".=
"+s.default.shape+"-"+n).each(function(t){(i.data_selection_grouped||e.isWi=
thinShape(this,t))&&(e.toggleShape(this,t,n),e.config.data_onclick.call(e.a=
pi,t,this))})}).call(i.data_selection_draggable&&e.drag?(0,n.drag)().origin=
(Object).on("drag",function(){e.drag((0,n.mouse)(this))}).on("dragstart",fu=
nction(){e.dragstart((0,n.mouse)(this))}).on("dragend",function(){e.dragend=
()}):function(){});return"mouse"=3D=3D=3De.inputType&&a.on("mouseover",func=
tion(t){if(!(e.dragging||e.flowing||e.hasArcType())){var n=3Dt.index;i.poin=
t_focus_expand_enabled&&e.expandCircles(n,null,!0),e.expandBars(n,null,!0),=
-1!=3D=3Dn&&e.main.selectAll("."+s.default.shape+"-"+n).each(function(t){re=
turn i.data_onover.call(e.api,t)})}}).on("mousemove",function(t){if(!(e.dra=
gging||e.flowing||e.hasArcType())){var i=3Dt.index,a=3De.svg.select("."+s.d=
efault.eventRect+"-"+i);e.isStepType(t)&&"step-after"=3D=3D=3De.config.line=
_step_type&&(0,n.mouse)(this)[0]<e.x(e.getXValue(t.id,i))&&(i-=3D1),-1=3D=
=3D=3Di?e.unselectRect():e.selectRectForSingle(this,a,i)}}).on("mouseout",f=
unction(t){if(e.config&&!e.hasArcType()){var n=3Dt.index;e.unselectRect(),e=
.main.selectAll("."+s.default.shape+"-"+n).each(function(t){return i.data_o=
nout.call(e.api,t)})}}),a},generateEventRectsForMultipleXs:function(t){var =
e=3Dthis,i=3De.config,a=3Dt.append("rect").attr("x",0).attr("y",0).attr("wi=
dth",e.width).attr("height",e.height).attr("class",s.default.eventRect).on(=
"click",function(){var t=3Dthis,a=3De.filterTargetsToShow(e.data.targets);i=
f(!e.hasArcType(a)){var r=3D(0,n.mouse)(this),o=3De.findClosestFromTargets(=
a,r);!o||(e.isBarType(o.id)||e.dist(o,r)0?i:320/(t.hasT=
ype(“gauge”)&&!e.gauge_fullCircle?2:1)},getCurrentPaddingTop:function(){var=
t=3Dthis,e=3Dt.config,i=3D(0,s.isValue)(e.padding_top)?e.padding_top:0;ret=
urn t.title&&t.title.node()&&(i+=3Dt.getTitlePadding()),i},getCurrentPaddin=
gBottom:function(){var t=3Dthis.config;return(0,s.isValue)(t.padding_bottom=
)?t.padding_bottom:0},getCurrentPaddingLeft:function(t){var e=3Dthis,i=3De.=
config;return(0,s.isValue)(i.padding_left)?i.padding_left:i.axis_rotated?i.=
axis_x_show?Math.max((0,s.ceil10)(e.getAxisWidthByAxisId(“x”,t)),40):1:!i.a=
xis_y_show||i.axis_y_inner?e.axis.getYAxisLabelPosition().isOuter?30:1:(0,s=
.ceil10)(e.getAxisWidthByAxisId(“y”,t))},getCurrentPaddingRight:function(){=
var t=3Dthis,e=3Dt.config,i=3Dt.isLegendRight?t.getLegendWidth()+20:0;retur=
n(0,s.isValue)(e.padding_right)?e.padding_right+1:e.axis_rotated?10+i:!e.ax=
is_y2_show||e.axis_y2_inner?2+i+(t.axis.getY2AxisLabelPosition().isOuter?20=
:0):(0,s.ceil10)(t.getAxisWidthByAxisId(“y2″))+i},getParentRectValue:functi=
on(t){for(var e=3Dthis.selectChart.node(),i=3Dvoid 0;e&&”BODY”!=3D=3De.tagN=
ame;){try{i=3De.getBoundingClientRect()[t]}catch(n){“width”=3D=3D=3Dt&&(i=
=3De.offsetWidth)}if(i)break;e=3De.parentNode}return i},getParentWidth:func=
tion(){return this.getParentRectValue(“width”)},getParentHeight:function(){=
var t=3Dthis.selectChart.style(“height”);return t.indexOf(“px”)>0?+t.replac=
e(“px”,””):0},getSvgLeft:function(t){var e=3Dthis,i=3De.config,n=3Di.axis_r=
otated||!i.axis_rotated&&!i.axis_y_inner,a=3Di.axis_rotated?o.default.axisX=
:o.default.axisY,r=3De.main.select(“.”+a).node(),s=3Dr&&n?r.getBoundingClie=
ntRect():{right:0},l=3De.selectChart.node().getBoundingClientRect(),d=3De.h=
asArcType(),u=3Ds.right-l.left-(d?0:e.getCurrentPaddingLeft(t));return u>0?=
u:0},getAxisWidthByAxisId:function(t,e){var i=3Dthis,n=3Di.axis.getLabelPos=
itionById(t);return i.axis.getMaxTickWidth(t,e)+(n.isInner?20:40)},getHoriz=
ontalAxisHeight:function(t){var e=3Dthis,i=3De.config,n=3D30;return”x”!=3D=
=3Dt||i.axis_x_show?”x”=3D=3D=3Dt&&i.axis_x_height?i.axis_x_height:”y”!=3D=
=3Dt||i.axis_y_show?”y2″!=3D=3Dt||i.axis_y2_show?(“x”=3D=3D=3Dt&&!i.axis_ro=
tated&&i.axis_x_tick_rotate&&(n=3D30+e.axis.getMaxTickWidth(t)*Math.cos(Mat=
h.PI*(90-i.axis_x_tick_rotate)/180)),”y”=3D=3D=3Dt&&i.axis_rotated&&i.axis_=
y_tick_rotate&&(n=3D30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-i.axi=
s_y_tick_rotate)/180)),n+(e.axis.getLabelPositionById(t).isInner?0:10)+(“y2=
“=3D=3D=3Dt?-10:0)):e.rotated_padding_top:!i.legend_show||e.isLegendRight||=
e.isLegendInset?1:10:8},getEventRectWidth:function(){return Math.max(0,this=
.xAxis.tickInterval())}})},function(t,e,i){“use strict”;function _interopRe=
quireDefault(t){return t&&t.__esModule?t:{“default”:t}}var n=3Di(2),a=3Di(3=
),r=3D_interopRequireDefault(a),o=3Di(1),s=3D_interopRequireDefault(o),l=3D=
i(0);(0,l.extend)(s.default.prototype,{getShapeIndices:function(t){var e=3D=
this,i=3De.config,n=3D{},a=3D0,r=3Dvoid 0,o=3Dvoid 0;return e.filterTargets=
ToShow(e.data.targets.filter(t,e)).forEach(function(t){for(r=3D0;r<i.data_g=
roups.length;r++)if(!(i.data_groups[r].indexOf(t.id)<0))for(o=3D0;o<i.data_=
groups[r].length;o++)if(i.data_groups[r][o]in n){n[t.id]=3Dn[i.data_groups[=
r][o]];break}(0,l.isUndefined)(n[t.id])&&(n[t.id]=3Da++)}),n.__max__=3Da-1,=
n},getShapeX:function(t,e,i,n){var a=3Dthis,r=3Dn?a.subX:a.zoomScale?a.zoom=
Scale:a.x;return function(n){var a=3Dn.id in i?i[n.id]:0;return n.x||0=3D=
=3D=3Dn.x?r(n.x)-t*(e/2-a):0}},getShapeY:function(t){var e=3Dthis;return fu=
nction(i){return(t?e.getSubYScale(i.id):e.getYScale(i.id))(i.value)}},getSh=
apeOffset:function(t,e,i){var n=3Dthis,a=3Dn.orderTargets(n.filterTargetsTo=
Show(n.data.targets.filter(t,n))),r=3Da.map(function(t){return t.id});retur=
n function(t,o){var s=3Di?n.getSubYScale(t.id):n.getYScale(t.id),l=3Ds(0),d=
=3Dl,u=3Do;return a.forEach(function(i){var a=3Dn.isStepType(t)?n.convertVa=
luesToStep(i.values):i.values;i.id=3D=3D=3Dt.id||e[i.id]!=3D=3De[t.id]||r.i=
ndexOf(i.id)=3D0&&(d+=3Ds(a[u].value)-l))}),d}},isWithinShape:function(t,e){var =
i=3Dthis,a=3D(0,n.select)(t),o=3Dvoid 0;return i.isTargetToShow(e.id)?”circ=
le”=3D=3D=3Dt.nodeName?o=3Di.isStepType(e)?i.isWithinStep(t,i.getYScale(e.i=
d)(e.value)):i.isWithinCircle(t,1.5*i.pointSelectR(e)):”path”=3D=3D=3Dt.nod=
eName&&(o=3D!a.classed(r.default.bar)||i.isWithinBar(t)):o=3D!1,o},getInter=
polate:function(t){var e=3Dthis,i=3De.getInterpolateType(t);return{basis:n.=
curveBasis,”basis-closed”:n.curveBasisClosed,”basis-open”:n.curveBasisOpen,=
bundle:n.curveBundle,cardinal:n.curveCardinal,”cardinal-closed”:n.curveCard=
inalClosed,”cardinal-open”:n.curveCardinalOpen,”catmull-rom”:n.curveCatmull=
Rom,”catmull-rom-closed”:n.curveCatmullRomClosed,”catmull-rom-open”:n.curve=
CatmullRomOpen,”monotone-x”:n.curveMonotoneX,”monotone-y”:n.curveMonotoneY,=
natural:n.curveNatural,”linear-closed”:n.curveLinearClosed,linear:n.curveLi=
near,step:n.curveStep,”step-after”:n.curveStepAfter,”step-before”:n.curveSt=
epBefore}[i]},getInterpolateType:function(t){var e=3Dthis,i=3De.isInterpola=
tionType(e.config.spline_interpolation_type)?e.config.spline_interpolation_=
type:”cardinal”;return e.isSplineType(t)?i:e.isStepType(t)?e.config.line_st=
ep_type:”linear”}})},function(t,e,i){“use strict”;function _interopRequireD=
efault(t){return t&&t.__esModule?t:{“default”:t}}var n=3Di(2),a=3Di(3),r=3D=
_interopRequireDefault(a),o=3Di(1),s=3D_interopRequireDefault(o),l=3Di(0);(=
0,l.extend)(s.default.prototype,{initLine:function(){this.main.select(“.”+r=
.default.chart).append(“g”).attr(“class”,r.default.chartLines)},updateTarge=
tsForLine:function(t){var e=3Dthis,i=3De.config,n=3De.classChartLine.bind(e=
),a=3De.classLines.bind(e),o=3De.classAreas.bind(e),s=3De.classCircles.bind=
(e),l=3De.classFocus.bind(e),d=3De.main.select(“.”+r.default.chartLines).se=
lectAll(“.”+r.default.chartLine).data(t).attr(“class”,function(t){return n(=
t)+l(t)}),u=3Dd.enter().append(“g”).attr(“class”,n).style(“opacity”,”0″).st=
yle(“pointer-events”,”none”);u.append(“g”).attr(“class”,a),u.append(“g”).at=
tr(“class”,o),i.point_show&&(i.data_selection_enabled&&u.append(“g”).attr(“=
class”,function(t){return e.generateClass(r.default.selectedCircles,t.id)})=
,u.append(“g”).attr(“class”,s).style(“cursor”,function(t){return i.data_sel=
ection_isselectable(t)?”pointer”:null})),t.forEach(function(t){e.main.selec=
tAll(“.”+r.default.selectedCircles+e.getTargetSelectorSuffix(t.id)).selectA=
ll(“”+r.default.selectedCircle).each(function(e){e.value=3Dt.values[e.index=
].value})})},updateLine:function(t){var e=3Dthis;e.mainLine=3De.main.select=
All(“.”+r.default.lines).selectAll(“.”+r.default.line).data(e.lineData.bind=
(e)),e.mainLine.exit().transition().duration(t).style(“opacity”,”0″).remove=
(),e.mainLine=3De.mainLine.enter().append(“path”).attr(“class”,e.classLine.=
bind(e)).style(“stroke”,e.color).merge(e.mainLine).style(“opacity”,e.initia=
lOpacity.bind(e)).style(“shape-rendering”,function(t){return e.isStepType(t=
)?”crispEdges”:””}).attr(“transform”,null)},redrawLine:function(t,e){return=
[(e?this.mainLine.transition(Math.random().toString()):this.mainLine).attr(=
“d”,t).style(“stroke”,this.color).style(“opacity”,”1″)]},generateDrawLine:f=
unction(t,e){var i=3Dthis,a=3Di.config,r=3Da.line_connectNull,o=3Da.axis_ro=
tated,s=3Di.generateGetLinePoints(t,e),l=3De?i.getSubYScale:i.getYScale,d=
=3Dfunction(t){return(e?i.subxx:i.xx).call(i,t)},u=3Dfunction(t,e){return a=
.data_groups.length>0?s(t,e)[0][1]:l.call(i,t.id)(t.value)},c=3D(0,n.line)(=
);return c=3Do?c.x(u).y(d):c.x(d).y(u),r||(c=3Dc.defined(function(t){return=
null!=3D=3Dt.value})),function(t){var n=3De?i.x:i.subX,s=3Dl.call(i,t.id),=
d=3Dr?i.filterRemoveNull(t.values):t.values,u=3D0,f=3D0,g=3Dvoid 0;return i=
.isLineType(t)?a.data_regions[t.id]?g=3Di.lineWithRegions(d,n,s,a.data_regi=
ons[t.id]):(i.isStepType(t)&&(d=3Di.convertValuesToStep(d)),g=3Dc.curve(i.g=
etInterpolate(t))(d)):(d[0]&&(u=3Dn(d[0].x),f=3Ds(d[0].value)),g=3Do?”M “+f=
+” “+u:”M “+u+” “+f),g||”M 0 0”}},generateGetLinePoints:function(t,e){var i=
=3Dthis,n=3Di.config,a=3Dt.__max__+1,r=3D!!e,o=3Di.getShapeX(0,a,t,r),s=3Di=
.getShapeY(r),l=3Di.getShapeOffset(i.isLineType,t,r),d=3Dr?i.getSubYScale:i=
.getYScale;return function(t,e){var a=3Dd.call(i,t.id)(0),r=3Dl(t,e)||a,u=
=3Do(t),c=3Ds(t);n.axis_rotated&&(t.value>0&&c<a||t.value<0&&a<c)&&(c=3Da);=
var f=3D[u,c-(a-r)];return[f,f,f,f]}},lineWithRegions:function(t,e,i,n){fun=
ction generateM(t){return"M"+t[0][0]+" "+t[0][1]+" "+t[1][0]+" "+t[1][1]}va=
r a=3Dthis,r=3Da.config,o=3Da.isCategorized()?.5:0,s=3D[],d=3Dvoid 0,u=3Dvo=
id 0,c=3D"M",f=3Dvoid 0,g=3Dvoid 0,h=3Dvoid 0,p=3Dvoid 0,x=3Dvoid 0,_=3Dvoi=
d 0,v=3Dvoid 0,m=3Dvoid 0;if((0,l.isDefined)(n))for(d=3D0;d<n.length;d++)s[=
d]=3D{},s[d].start=3D(0,l.isUndefined)(n[d].start)?t[0].x:a.isTimeSeries()?=
a.parseDate(n[d].start):n[d].start,s[d].end=3D(0,l.isUndefined)(n[d].end)?t=
[t.length-1].x:a.isTimeSeries()?a.parseDate(n[d].end):n[d].end;var y=3Dr.ax=
is_rotated?function(t){return i(t.value)}:function(t){return e(t.x)},b=3Dr.=
axis_rotated?function(t){return e(t.x)}:function(t){return i(t.value)};for(=
f=3Da.isTimeSeries()?function(t,n,a,o){var s=3Dt.x.getTime(),l=3Dn.x-t.x,d=
=3Dnew Date(s+l*a),u=3Dnew Date(s+l*(a+o)),c=3Dvoid 0;return c=3Dr.axis_rot=
ated?[[i(h(a)),e(d)],[i(h(a+v)),e(u)]]:[[e(d),i(h(a))],[e(u),i(h(a+v))]],ge=
nerateM(c)}:function(t,n,a,o){var s=3Dvoid 0;return s=3Dr.axis_rotated?[[i(=
h(a),!0),e(g(a))],[i(h(a+o),!0),e(g(a+o))]]:[[e(g(a),!0),i(h(a))],[e(g(a+o)=
,!0),i(h(a+o))]],generateM(s)},d=3D0;d<t.length;d++)if((0,l.isUndefined)(s)=
||!function(t,e){var i=3Dvoid 0;for(i=3D0;i<e.length;i++)if(e[i].start<t&&t=
<=3De[i].end)return!0;return!1}(t[d].x,s))c+=3D" "+y(t[d])+" "+b(t[d]);else=
for(g=3Da.getScale(t[d-1].x+o,t[d].x+o,a.isTimeSeries()),h=3Da.getScale(t[=
d-1].value,t[d].value),p=3De(t[d].x)-e(t[d-1].x),x=3Di(t[d].value)-i(t[d-1]=
.value),_=3DMath.sqrt(Math.pow(p,2)+Math.pow(x,2)),v=3D2/_,m=3D2*v,u=3Dv;u0?s(t,e)[0][1=
]:l.call(i,t.id)(i.getAreaBaseValue(t.id))},c=3Dfunction(t,e){return a.data=
_groups.length>0?s(t,e)[1][1]:l.call(i,t.id)(t.value)},f=3D(0,n.area)();ret=
urn f=3Do?f.x0(u).x1(c).y(d):f.x(d).y0(a.area_above?0:u).y1(c),r||(f=3Df.de=
fined(function(t){return null!=3D=3Dt.value})),function(t){var e=3Dr?i.filt=
erRemoveNull(t.values):t.values,n=3D0,a=3D0,s=3Dvoid 0;return i.isAreaType(=
t)?(i.isStepType(t)&&(e=3Di.convertValuesToStep(e)),s=3Df.curve(i.getInterp=
olate(t))(e)):(e[0]&&(n=3Di.x(e[0].x),a=3Di.getYScale(t.id)(e[0].value)),s=
=3Do?”M “+a+” “+n:”M “+n+” “+a),s||”M 0 0″}},getAreaBaseValue:function(){re=
turn 0},generateGetAreaPoints:function(t,e){var i=3Dthis,n=3Di.config,a=3Dt=
.__max__+1,r=3Di.getShapeX(0,a,t,!!e),o=3Di.getShapeY(!!e),s=3Di.getShapeOf=
fset(i.isAreaType,t,!!e),l=3De?i.getSubYScale:i.getYScale;return function(t=
,e){var a=3Dl.call(i,t.id)(0),d=3Ds(t,e)||a,u=3Dr(t),c=3Do(t);return n.axis=
_rotated&&(t.value>0&&c<a||t.value<0&&a0?(e=3Dt.getShapeIndices(t.isLineType),i=3Dt.generateGetLin=
ePoints(e),t.circleY=3Dfunction(t,e){return i(t,e)[0][1]}):t.circleY=3Dfunc=
tion(e){return t.getYScale(e.id)(e.value)}},getCircles:function(t,e){var i=
=3Dthis,n=3D(0,l.isValue)(t)?”-“+t:””;return(e?i.main.selectAll(“.”+r.defau=
lt.circles+i.getTargetSelectorSuffix(e)):i.main).selectAll(“.”+r.default.ci=
rcle+n)},expandCircles:function(t,e,i){var n=3Dthis,a=3Dn.pointExpandedR.bi=
nd(n);i&&n.unexpandCircles(),n.getCircles(t,e).classed(r.default.EXPANDED,!=
0).attr(“r”,a)},unexpandCircles:function(t){var e=3Dthis,i=3De.pointR.bind(=
e);e.getCircles(t).filter(function(){return(0,n.select)(this).classed(r.def=
ault.EXPANDED)}).classed(r.default.EXPANDED,!1).attr(“r”,i)},pointR:functio=
n(t){var e=3Dthis,i=3De.config;return e.isStepType(t)?0:(0,l.isFunction)(i.=
point_r)?i.point_r(t):i.point_r},pointExpandedR:function(t){var e=3Dthis,i=
=3De.config;return i.point_focus_expand_enabled?i.point_focus_expand_r?i.po=
int_focus_expand_r:1.75*e.pointR(t):e.pointR(t)},pointSelectR:function(t){v=
ar e=3Dthis,i=3De.config;return(0,l.isFunction)(i.point_select_r)?i.point_s=
elect_r(t):i.point_select_r?i.point_select_r:4*e.pointR(t)},isWithinCircle:=
function(t,e){var i=3D(0,n.mouse)(t),a=3D(0,n.select)(t),r=3D+a.attr(“cx”),=
o=3D+a.attr(“cy”);return Math.sqrt(Math.pow(r-i[0],2)+Math.pow(o-i[1],2))<e=
},isWithinStep:function(t,e){return Math.abs(e-(0,n.mouse)(t)[1])n.bar_width_max?=
n.bar_width_max:a},getBars:function(t,e){var i=3Dthis,n=3D(0,l.isValue)(t)?=
“-“+t:””;return(e?i.main.selectAll(“.”+r.default.bars+i.getTargetSelectorSu=
ffix(e)):i.main).selectAll(“.”+r.default.bar+n)},expandBars:function(t,e,i)=
{var n=3Dthis;i&&n.unexpandBars(),n.getBars(t,e).classed(r.default.EXPANDED=
,!0)},unexpandBars:function(t){this.getBars(t).classed(r.default.EXPANDED,!=
1)},generateDrawBar:function(t,e){var i=3Dthis,n=3Di.config,a=3Di.generateG=
etBarPoints(t,e);return function(t,e){var i=3Da(t,e),r=3Dn.axis_rotated?1:0=
,o=3Dn.axis_rotated?0:1;return”M “+i[0][r]+”,”+i[0][o]+”\n\t\t\tL “+i[1][r]=
+”,”+i[1][o]+”\n\t\t\tL “+i[2][r]+”,”+i[2][o]+”\n\t\t\tL “+i[3][r]+”,”+i[3]=
[o]+” z”}},generateGetBarPoints:function(t,e){var i=3Dthis,n=3De?i.subXAxis=
:i.xAxis,a=3Dt.__max__+1,r=3Di.getBarW(n,a),o=3Di.getShapeX(r,a,t,!!e),s=3D=
i.getShapeY(!!e),l=3Di.getShapeOffset(i.isBarType,t,!!e),d=3De?i.getSubYSca=
le:i.getYScale;return function(t,e){var n=3Dd.call(i,t.id)(0),a=3Dl(t,e)||n=
,u=3Do(t),c=3Ds(t);return i.config.axis_rotated&&(t.value>0&&c<n||t.value<0=
&&n<c)&&(c=3Dn),[[u,a],[u,c-(n-a)],[u+r,c-(n-a)],[u+r,a]]}},isWithinBar:fun=
ction(t){var e=3D(0,n.mouse)(t),i=3D(0,l.getRectSegList)(t),a=3Dt.getBBox()=
,r=3Di[0],o=3Di[1],s=3DMath.min(r.x,o.x),d=3DMath.min(r.y,o.y),u=3Da.width,=
c=3Da.height;return s-2<e[0]&&e[0]<s+u+2&&d-2<e[1]&&e[1]<d+c+2}})},function=
(t,e,i){"use strict";function _interopRequireDefault(t){return t&&t.__esMod=
ule?t:{"default":t}}var n=3Di(2),a=3Di(1),r=3D_interopRequireDefault(a),o=
=3Di(3),s=3D_interopRequireDefault(o);(0,i(0).extend)(r.default.prototype,{=
initText:function(){var t=3Dthis;t.main.select("."+s.default.chart).append(=
"g").attr("class",s.default.chartTexts),t.mainText=3D(0,n.selectAll)([])},u=
pdateTargetsForText:function(t){var e=3Dthis,i=3De.classChartText.bind(e),n=
=3De.classTexts.bind(e),a=3De.classFocus.bind(e);e.main.select("."+s.defaul=
t.chartTexts).selectAll("."+s.default.chartText).data(t).attr("class",funct=
ion(t){return i(t)+a(t)}).enter().append("g").attr("class",i).style("opacit=
y","0").style("pointer-events","none").append("g").attr("class",n)},updateT=
ext:function(t){var e=3Dthis,i=3De.config,n=3De.barOrLineData.bind(e),a=3De=
.classText.bind(e);e.mainText=3De.main.selectAll("."+s.default.texts).selec=
tAll("."+s.default.text).data(n),e.mainText.exit().transition().duration(t)=
.style("fill-opacity","0").remove(),e.mainText=3De.mainText.enter().append(=
"text").attr("class",a).attr("text-anchor",function(t){return i.axis_rotate=
d?t.value<0?"end":"start":"middle"}).style("stroke","none").style("fill",fu=
nction(t){return e.color(t)}).style("fill-opacity","0").merge(e.mainText).t=
ext(function(t,i,n){return e.dataLabelFormat(t.id)(t.value,t.id,i,n)})},red=
rawText:function(t,e,i,n){return[(n?this.mainText.transition():this.mainTex=
t).attr("x",t).attr("y",e).style("fill",this.color).style("fill-opacity",i?=
0:this.opacityForText.bind(this))]},getTextRect:function(t,e,i){var a=3D(0,=
n.select)("body").append("div").classed("bb",!0),r=3Da.append("svg").style(=
"visibility","hidden").style("position","fixed").style("top","0px").style("=
left","0px"),o=3D(0,n.select)(i).style("font"),s=3Dvoid 0;return r.selectAl=
l(".dummy").data([t]).enter().append("text").classed(e||"",!0).style("font"=
,o).text(t).each(function(){s=3Dthis.getBoundingClientRect()}),a.remove(),s=
},generateXYForText:function(t,e,i,n){var a=3Dthis,r=3Da.generateGetAreaPoi=
nts(t,!1),o=3Da.generateGetBarPoints(e,!1),s=3Da.generateGetLinePoints(i,!1=
),l=3Dn?a.getXForText:a.getYForText;return function(t,e){var i=3Da.isAreaTy=
pe(t)&&r||a.isBarType(t)&&o||s;return l.call(a,i(t,e),t,this)}},getXForText=
:function(t,e,i){var n=3Dthis,a=3Dn.config,r=3Dvoid 0,o=3Dvoid 0;return a.a=
xis_rotated?(o=3Dn.isBarType(e)?4:6,r=3Dt[2][1]+o*(e.valuen.width?=
r=3Dn.width-i.getBoundingClientRect().width:r<0&&(r=3D4)),r+(a.data_labels_=
position.x||0)},getYForText:function(t,e,i){var n=3Dthis,a=3Dn.config,r=3Dv=
oid 0;if(a.axis_rotated?r=3D(t[0][0]+t[2][0]+.6*i.getBoundingClientRect().h=
eight)/2:(r=3Dt[2][1],e.value<0||0=3D=3D=3De.value&&!n.hasPositiveValue?(r+=
=3Di.getBoundingClientRect().height,n.isBarType(e)&&n.isSafari()?r-=3D3:!n.=
isBarType(e)&&n.isChrome()&&(r+=3D3)):r+=3Dn.isBarType(e)?-3:-6),null=3D=3D=
=3De.value&&!a.axis_rotated){var o=3Di.getBoundingClientRect().height;rthis.height&&(r=3Dthis.height-4)}return r+(a.data_labels_position.y|=
|0)}})},function(t,e,i){“use strict”;var n=3Di(1),a=3Dfunction(t){return t&=
&t.__esModule?t:{“default”:t}}(n),r=3Di(0);(0,r.extend)(a.default.prototype=
,{setTargetType:function(t,e){var i=3Dthis,n=3Di.config;i.mapToTargetIds(t)=
.forEach(function(t){i.withoutFadeIn[t]=3De=3D=3D=3Dn.data_types[t],n.data_=
types[t]=3De}),t||(n.data_type=3De)},hasType:function(t,e){var i=3Dthis,n=
=3Di.config.data_types,a=3De||i.data.targets,r=3D!1;return a&&a.length?a.fo=
rEach(function(e){var i=3Dn[e.id];(i&&i.indexOf(t)>=3D0||!i&&”line”=3D=3D=
=3Dt)&&(r=3D!0)}):Object.keys(n).length?Object.keys(n).forEach(function(e){=
n[e]=3D=3D=3Dt&&(r=3D!0)}):r=3Di.config.data_type=3D=3D=3Dt,r},hasArcType:f=
unction(t){return this.hasType(“pie”,t)||this.hasType(“donut”,t)||this.hasT=
ype(“gauge”,t)},isLineType:function(t){var e=3D(0,r.isString)(t)?t:t.id;ret=
urn!this.config.data_types[e]||this.isTypeOf(e,[“line”,”spline”,”area”,”are=
a-spline”,”step”,”area-step”])},isTypeOf:function(t,e){var i=3D(0,r.isStrin=
g)(t)?t:t.id,n=3Dthis.config.data_types[i];return(0,r.isArray)(e)?e.indexOf=
(n)>=3D0:n=3D=3D=3De},isStepType:function(t){return this.isTypeOf(t,[“step”=
,”area-step”])},isSplineType:function(t){return this.isTypeOf(t,[“spline”,”=
area-spline”])},isAreaType:function(t){return this.isTypeOf(t,[“area”,”area=
-spline”,”area-step”])},isBarType:function(t){return this.isTypeOf(t,”bar”)=
},isScatterType:function(t){return this.isTypeOf(t,”scatter”)},isPieType:fu=
nction(t){return this.isTypeOf(t,”pie”)},isGaugeType:function(t){return thi=
s.isTypeOf(t,”gauge”)},isDonutType:function(t){return this.isTypeOf(t,”donu=
t”)},isArcType:function(t){return this.isPieType(t)||this.isDonutType(t)||t=
his.isGaugeType(t)},lineData:function(t){return this.isLineType(t)?[t]:[]},=
arcData:function(t){return this.isArcType(t.data)?[t]:[]},barData:function(=
t){return this.isBarType(t)?t.values:[]},lineOrScatterData:function(t){retu=
rn this.isLineType(t)||this.isScatterType(t)?t.values:[]},barOrLineData:fun=
ction(t){return this.isBarType(t)||this.isLineType(t)?t.values:[]},isInterp=
olationType:function(t){return[“basis”,”basis-closed”,”basis-open”,”bundle”=
,”cardinal”,”cardinal-closed”,”cardinal-open”,”catmull-rom”,”catmull-rom-cl=
osed”,”catmull-rom-open”,”linear”,”linear-closed”,”monotone-x”,”monotone-y”=
,”natural”].indexOf(t)>=3D0}})},function(t,e,i){“use strict”;function _inte=
ropRequireDefault(t){return t&&t.__esModule?t:{“default”:t}}var n=3Di(2),a=
=3Di(1),r=3D_interopRequireDefault(a),o=3Di(3),s=3D_interopRequireDefault(o=
),l=3Di(0);(0,l.extend)(r.default.prototype,{initGrid:function(){var t=3Dth=
is,e=3Dt.config;t.grid=3Dt.main.append(“g”).attr(“clip-path”,t.clipPathForG=
rid).attr(“class”,s.default.grid),e.grid_x_show&&t.grid.append(“g”).attr(“c=
lass”,s.default.xgrids),e.grid_y_show&&t.grid.append(“g”).attr(“class”,s.de=
fault.ygrids),e.grid_focus_show&&t.grid.append(“g”).attr(“class”,s.default.=
xgridFocus).append(“line”).attr(“class”,s.default.xgridFocus),t.xgrid=3D(0,=
n.selectAll)([]),e.grid_lines_front||t.initGridLines()},initGridLines:funct=
ion(){var t=3Dthis;t.gridLines=3Dt.main.append(“g”).attr(“clip-path”,t.clip=
PathForGrid).attr(“class”,s.default.grid+” “+s.default.gridLines),t.gridLin=
es.append(“g”).attr(“class”,s.default.xgridLines),t.gridLines.append(“g”).a=
ttr(“class”,s.default.ygridLines),t.xgridLines=3D(0,n.selectAll)([])},updat=
eXGrid:function(t){var e=3Dthis,i=3De.config,a=3De.generateGridData(i.grid_=
x_type,e.x),r=3De.isCategorized()?e.xAxis.tickOffset():0;e.xgridAttr=3Di.ax=
is_rotated?{x1:0,x2:e.width,y1:function(t){return e.x(t)-r},y2:function(t){=
return e.x(t)-r}}:{x1:function(t){return e.x(t)+r},x2:function(t){return e.=
x(t)+r},y1:0,y2:e.height},e.xgrid=3De.main.select(“.”+s.default.xgrids).sel=
ectAll(“.”+s.default.xgrid).data(a),e.xgrid.exit().remove(),e.xgrid=3De.xgr=
id.enter().append(“line”).attr(“class”,s.default.xgrid).merge(e.xgrid),t||e=
.xgrid.each(function(){var t=3D(0,n.select)(this);Object.keys(e.xgridAttr).=
forEach(function(n){t.attr(n,e.xgridAttr[n]).style(“opacity”,function(){ret=
urn t.attr(i.axis_rotated?”y1″:”x1″)=3D=3D=3D(i.axis_rotated?e.height:0)?”0=
“:”1”})})})},updateYGrid:function(){var t=3Dthis,e=3Dt.config,i=3Dt.yAxis.t=
ickValues()||t.y.ticks(e.grid_y_ticks);t.ygrid=3Dt.main.select(“.”+s.defaul=
t.ygrids).selectAll(“.”+s.default.ygrid).data(i),t.ygrid.exit().remove(),t.=
ygrid=3Dt.ygrid.enter().append(“line”).attr(“class”,s.default.ygrid).merge(=
t.ygrid),t.ygrid.attr(“x1”,e.axis_rotated?t.y:0).attr(“x2”,e.axis_rotated?t=
.y:t.width).attr(“y1”,e.axis_rotated?0:t.y).attr(“y2″,e.axis_rotated?t.heig=
ht:t.y),t.smoothLines(t.ygrid,”grid”)},gridTextAnchor:function(t){return t.=
position?t.position:”end”},gridTextDx:function(t){return”start”=3D=3D=3Dt.p=
osition?4:”middle”=3D=3D=3Dt.position?0:-4},xGridTextX:function(t){return”s=
tart”=3D=3D=3Dt.position?-this.height:”middle”=3D=3D=3Dt.position?-this.hei=
ght/2:0},yGridTextX:function(t){return”start”=3D=3D=3Dt.position?0:”middle”=
=3D=3D=3Dt.position?this.width/2:this.width},updateGrid:function(t){var e=
=3Dthis,i=3De.main,n=3De.config;e.grid.style(“visibility”,e.hasArcType()?”h=
idden”:”visible”),i.select(“line.”+s.default.xgridFocus).style(“visibility”=
,”hidden”),n.grid_x_show&&e.updateXGrid(),e.xgridLines=3Di.select(“.”+s.def=
ault.xgridLines).selectAll(“.”+s.default.xgridLine).data(n.grid_x_lines),e.=
xgridLines.exit().transition().duration(t).style(“opacity”,”0″).remove();va=
r a=3De.xgridLines.enter().append(“g”).attr(“class”,function(t){return s.de=
fault.xgridLine+(t.class?” “+t.class:””)});a.append(“line”).style(“opacity”=
,”0”),a.append(“text”).attr(“text-anchor”,e.gridTextAnchor).attr(“transform=
“,n.axis_rotated?””:”rotate(-90)”).attr(“dx”,e.gridTextDx).attr(“dy”,-5).st=
yle(“opacity”,”0″),e.xgridLines=3Da.merge(e.xgridLines),n.grid_y_show&&e.up=
dateYGrid(),e.ygridLines=3Di.select(“.”+s.default.ygridLines).selectAll(“.”=
+s.default.ygridLine).data(n.grid_y_lines),e.ygridLines.exit().transition()=
.duration(t).style(“opacity”,”0″).remove();var r=3De.ygridLines.enter().app=
end(“g”).attr(“class”,function(t){return s.default.ygridLine+(t.class?” “+t=
.class:””)});r.append(“line”).style(“opacity”,”0″),r.append(“text”).attr(“t=
ext-anchor”,e.gridTextAnchor).attr(“transform”,n.axis_rotated?”rotate(-90)”=
:””).attr(“dx”,e.gridTextDx).attr(“dy”,-5).style(“opacity”,”0″),e.ygridLine=
s=3Dr.merge(e.ygridLines);var o=3De.yv.bind(e);e.ygridLines.select(“line”).=
transition().duration(t).attr(“x1”,n.axis_rotated?o:0).attr(“x2”,n.axis_rot=
ated?o:e.width).attr(“y1”,n.axis_rotated?0:o).attr(“y2”,n.axis_rotated?e.he=
ight:o).transition().style(“opacity”,”1″),e.ygridLines.select(“text”).trans=
ition().duration(t).attr(“x”,n.axis_rotated?e.xGridTextX.bind(e):e.yGridTex=
tX.bind(e)).attr(“y”,o).text(function(t){return t.text}).transition().style=
(“opacity”,”1″)},redrawGrid:function(t){var e=3Dthis,i=3De.config.axis_rota=
ted,n=3De.xv.bind(e),a=3De.xgridLines.select(“line”),r=3De.xgridLines.selec=
t(“text”);return a=3D(t?a.transition():a).attr(“x1”,i?0:n).attr(“x2”,i?e.wi=
dth:n).attr(“y1”,i?n:0).attr(“y2”,i?n:e.height),r=3D(t?r.transition():r).at=
tr(“x”,i?e.yGridTextX.bind(e):e.xGridTextX.bind(e)).attr(“y”,n).text(functi=
on(t){return t.text}),[(t?a.transition():a).style(“opacity”,”1″),(t?r.trans=
ition():r).style(“opacity”,”1″)]},showXGridFocus:function(t){var e=3Dthis,i=
=3De.config,n=3Dt.filter(function(t){return t&&(0,l.isValue)(t.value)}),a=
=3De.main.selectAll(“line.”+s.default.xgridFocus),r=3De.xx.bind(e);!i.toolt=
ip_show||e.hasType(“scatter”)||e.hasArcType()||(a.style(“visibility”,”visib=
le”).data([n[0]]).attr(i.axis_rotated?”y1″:”x1″,r).attr(i.axis_rotated?”y2″=
:”x2″,r),e.smoothLines(a,”grid”))},hideXGridFocus:function(){this.main.sele=
ct(“line.”+s.default.xgridFocus).style(“visibility”,”hidden”)},updateXgridF=
ocus:function(){var t=3Dthis,e=3Dt.config;t.main.select(“line.”+s.default.x=
gridFocus).attr(“x1”,e.axis_rotated?0:-10).attr(“x2”,e.axis_rotated?t.width=
:-10).attr(“y1”,e.axis_rotated?-10:0).attr(“y2”,e.axis_rotated?-10:t.height=
)},generateGridData:function(t,e){var i=3Dthis,n=3Di.main.select(“.”+s.defa=
ult.axisX).selectAll(“.tick”).size(),a=3D[];if(“year”=3D=3D=3Dt)for(var r=
=3Di.getXDomain(),o=3Dr[0].getFullYear(),l=3Dr[1].getFullYear(),d=3Do;dn=
&&(a=3Da.filter(function(t){return(t+””).indexOf(“.”)<0}));return a},getGri=
dFilterToRemove:function(t){return t?function(e){var i=3D!1;return((0,l.isA=
rray)(t)?t.concat():[t]).forEach(function(t){("value"in t&&e.value=3D=3D=3D=
t.value||"class"in t&&e.class=3D=3D=3Dt.class)&&(i=3D!0)}),i}:function(){re=
turn!0}},removeGridLines:function(t,e){var i=3Dthis,n=3Di.config,a=3Di.getG=
ridFilterToRemove(t),r=3Dfunction(t){return!a(t)},o=3De?s.default.xgridLine=
s:s.default.ygridLines,l=3De?s.default.xgridLine:s.default.ygridLine;i.main=
.select("."+o).selectAll("."+l).filter(a).transition().duration(n.transitio=
n_duration).style("opacity","0").remove(),e?n.grid_x_lines=3Dn.grid_x_lines=
.filter(r):n.grid_y_lines=3Dn.grid_y_lines.filter(r)}})},function(t,e,i){"u=
se strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{"de=
fault":t}}var n=3Di(2),a=3Di(1),r=3D_interopRequireDefault(a),o=3Di(3),s=3D=
_interopRequireDefault(o),l=3Di(0);(0,l.extend)(r.default.prototype,{initTo=
oltip:function(){var t=3Dthis,e=3Dt.config,i=3Dvoid 0;if(t.tooltip=3Dt.sele=
ctChart.style("position","relative").append("div").attr("class",s.default.t=
ooltipContainer).style("position","absolute").style("pointer-events","none"=
).style("display","none"),e.tooltip_init_show){if(t.isTimeSeries()&&(0,l.is=
String)(e.tooltip_init_x)){for(e.tooltip_init_x=3Dt.parseDate(e.tooltip_ini=
t_x),i=3D0;i0&&n>0&&(i=3Dt.id?x.indexOf(t=
.id):null,n=3De.id?x.indexOf(e.id):null),i-n})}else/^(asc|desc)$/.test(u)?t=
.sort(function(t,e){var i=3Dt?t.value:null,n=3De?e.value:null;return”asc”=
=3D=3D=3Du?i-n:n-i}):(0,l.isFunction)(u)&&t.sort(u);for(var _,v=3D0,m=3Dt.l=
ength;v<m;v++)if((_=3Dt[v])&&(_.value||0=3D=3D=3D_.value)&&(c||(f=3D(0,l.sa=
nitise)(o?o(_.x):_.x),c=3Df||0=3D=3D=3Df?'

‘+f+”

“:””,c=3D’

‘+c),void 0!=3D=3D(g=3D(=
0,l.sanitise)(d(_.value,_.ratio,_.id,_.index,t))))){if(null=3D=3D=3D_.name)=
continue;h=3D(0,l.sanitise)(s(_.name,_.ratio,_.id,_.index)),p=3Da.levelColo=
r?a.levelColor(_.value):n(_.id),c+=3D’

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t

“}return c+”

‘+h+’ ‘+g+”

“},tooltipPosit=
ion:function(t,e,i,a){var r=3Dthis,o=3Dr.config,s=3Dr.hasArcType(),l=3D”tou=
ch”=3D=3D=3Dr.inputType,d=3D(0,n.mouse)(a),u=3Dvoid 0,c=3Dvoid 0,f=3Dvoid 0=
,g=3Dvoid 0,h=3Dvoid 0;return s?(c=3Dl?d[0]:(r.width-(r.isLegendRight?r.get=
LegendWidth():0))/2+d[0],g=3Dl?d[1]+20:r.height/2+d[1]+20):(u=3Dr.getSvgLef=
t(!0),o.axis_rotated?(c=3Du+d[0]+100,f=3Dc+e,h=3Dr.currentWidth-r.getCurren=
tPaddingRight(),g=3Dr.x(t[0].x)+20):(c=3Du+r.getCurrentPaddingLeft(!0)+r.x(=
t[0].x)+20,f=3Dc+e,h=3Du+r.currentWidth-r.getCurrentPaddingRight(),g=3Dd[1]=
+15),f>h&&(c-=3Df-h+20),g+i>r.currentHeight&&(g-=3Di+30)),g=3D0}).classed(s.default.legendItemFocused,e).transition().duratio=
n(100).style(“opacity”,function(){return(e?i.opacityForLegend:i.opacityForU=
nfocusedLegend).call(i,(0,n.select)(this))})},revertLegend:function(){var t=
=3Dthis;t.legend.selectAll(“.”+s.default.legendItem).classed(s.default.lege=
ndItemFocused,!1).transition().duration(100).style(“opacity”,function(){ret=
urn t.opacityForLegend((0,n.select)(this))})},showLegend:function(t){var e=
=3Dthis,i=3De.config;i.legend_show||(i.legend_show=3D!0,e.legend.style(“vis=
ibility”,”visible”),!e.legendHasRendered&&e.updateLegendWithDefaults()),e.r=
emoveHiddenLegendIds(t),e.legend.selectAll(e.selectorLegends(t)).style(“vis=
ibility”,”visible”).transition().style(“opacity”,function(){return e.opacit=
yForLegend((0,n.select)(this))})},hideLegend:function(t){var e=3Dthis,i=3De=
.config;i.legend_show&&(0,l.isEmpty)(t)&&(i.legend_show=3D!1,e.legend.style=
(“visibility”,”hidden”)),e.addHiddenLegendIds(t),e.legend.selectAll(e.selec=
torLegends(t)).style(“opacity”,”0″).style(“visibility”,”hidden”)},clearLege=
ndItemTextBoxCache:function(){this.legendItemTextBox=3D{}},setLegendItem:fu=
nction(t){var e=3Dthis,i=3De.config,a=3D”touch”=3D=3D=3De.inputType;t.attr(=
“class”,function(t){return e.generateClass(s.default.legendItem,t)}).style(=
“visibility”,function(t){return e.isLegendToShow(t)?”visible”:”hidden”}).st=
yle(“cursor”,”pointer”).on(“click”,function(t){(0,l.isFunction)(i.legend_it=
em_onclick)?i.legend_item_onclick.call(e,t):n.event.altKey?(e.api.hide(),e.=
api.show(t)):(e.api.toggle(t),!a&&e.isTargetToShow(t)?e.api.focus(t):e.api.=
revert()),a&&e.hideTooltip()}),a||t.on(“mouseout”,function(t){(0,l.isFuncti=
on)(i.legend_item_onout)?i.legend_item_onout.call(e,t):((0,n.select)(this).=
classed(s.default.legendItemFocused,!1),e.api.revert())}).on(“mouseover”,fu=
nction(t){(0,l.isFunction)(i.legend_item_onover)?i.legend_item_onover.call(=
e,t):((0,n.select)(this).classed(s.default.legendItemFocused,!0),!e.transit=
ing&&e.isTargetToShow(t)&&e.api.focus(t))})},updateLegend:function(t,e,i){v=
ar n=3Dthis,a=3Dn.config,r=3Da.legend_item_tile_width+5,o=3D0,d=3D0,u=3Dvoi=
d 0,c=3Dvoid 0,f=3D0,g=3D{},h=3D{},p=3D{},x=3D[0],_=3D{},v=3D0,m=3Dvoid 0,y=
=3Dt.filter(function(t){return!(0,l.isDefined)(a.data_names[t])||null!=3D=
=3Da.data_names[t]}),b=3De||{},T=3D(0,l.getOption)(b,”withTransition”,!0),A=
=3D(0,l.getOption)(b,”withTransitionForTransform”,!0),w=3Dfunction(t,e){ret=
urn n.legendItemTextBox[e]||(n.legendItemTextBox[e]=3Dn.getTextRect(t.textC=
ontent,s.default.legendItem,t)),n.legendItemTextBox[e]},L=3Dfunction(t,e,i)=
{var s=3Di=3D=3D=3Dy.length-1,l=3Dw(t,e),u=3Dl.width+r+(!s||n.isLegendRight=
||n.isLegendInset?10:0)+a.legend_padding,c=3Dl.height+4,m=3Dn.isLegendRight=
||n.isLegendInset?c:u,b=3Dn.isLegendRight||n.isLegendInset?n.getLegendHeigh=
t():n.getLegendWidth(),T=3Dvoid 0,A=3Dfunction(t,e){e||(T=3D(b-f-m)/2)=3Do)&&(o=3Du),(!d||c>=3Dd)&&(d=3Dc);var L=3Dn.isLegendRight||n.isLege=
ndInset?d:o;a.legend_equally?(Object.keys(h).forEach(function(t){return h[t=
]=3Do}),Object.keys(p).forEach(function(t){return p[t]=3Dd}),T=3D(b-L*y.len=
gth)/2,T0&&0=3D=3D=3Dm.size()&&(m=3Dn.legen=
d.insert(“g”,”.”+s.default.legendItem).attr(“class”,s.default.legendBackgro=
und).append(“rect”));var M=3Dn.legend.selectAll(“text”).data(y).text(functi=
on(t){return(0,l.isDefined)(a.data_names[t])?a.data_names[t]:t}).each(funct=
ion(t,e){L(this,t,e)});(T?M.transition():M).attr(“x”,D).attr(“y”,S);var E=
=3Dn.legend.selectAll(“rect.”+s.default.legendItemEvent).data(y);(T?E.trans=
ition():E).attr(“width”,function(t){return h[t]}).attr(“height”,function(t)=
{return p[t]}).attr(“x”,C).attr(“y”,R);var O=3Dn.legend.selectAll(“line.”+s=
.default.legendItemTile).data(y);(T?O.transition():O).style(“stroke”,n.colo=
r).attr(“x1”,F).attr(“y1”,X).attr(“x2”,I).attr(“y2”,X),m&&(T?m.transition()=
:m).attr(“height”,n.getLegendHeight()-12).attr(“width”,o*(v+1)+10),n.legend=
.selectAll(“.”+s.default.legendItem).classed(s.default.legendItemHidden,fun=
ction(t){return!n.isTargetToShow(t)}),n.updateLegendItemWidth(o),n.updateLe=
gendItemHeight(d),n.updateLegendStep(v),n.updateSizes(),n.updateScales(!T),=
n.updateSvgSize(),n.transformAll(A,i),n.legendHasRendered=3D!0}})},function=
(t,e,i){“use strict”;var n=3Di(1),a=3Dfunction(t){return t&&t.__esModule?t:=
{“default”:t}}(n);(0,i(0).extend)(a.default.prototype,{initTitle:function()=
{var t=3Dthis;t.title=3Dt.svg.append(“text”).text(t.config.title_text).attr=
(“class”,t.CLASS.title)},redrawTitle:function(){var t=3Dthis;t.title.attr(“=
x”,t.xForTitle.bind(t)).attr(“y”,t.yForTitle.bind(t))},xForTitle:function()=
{var t=3Dthis,e=3Dt.config,i=3De.title_position||”left”;return i.indexOf(“r=
ight”)>=3D0?t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS=
.title,t.title.node()).width-e.title_padding.right:i.indexOf(“center”)>=3D0=
?(t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS.title,t.t=
itle.node()).width)/2:e.title_padding.left},yForTitle:function(){var t=3Dth=
is;return t.config.title_padding.top+t.getTextRect(t.title.node().textConte=
nt,t.CLASS.title,t.title.node()).height},getTitlePadding:function(){var t=
=3Dthis;return t.yForTitle()+t.config.title_padding.bottom}})},function(t,e=
,i){“use strict”;var n=3Di(1),a=3Dfunction(t){return t&&t.__esModule?t:{“de=
fault”:t}}(n);(0,i(0).extend)(a.default.prototype,{getClipPath:function(t){=
return”url(“+(window.navigator.appVersion.toLowerCase().indexOf(“msie 9.”)>=
=3D0?””:document.URL.split(“#”)[0])+”#”+t+”)”},appendClip:function(t,e){ret=
urn t.append(“clipPath”).attr(“id”,e).append(“rect”)},getAxisClipX:function=
(t){var e=3DMath.max(30,this.margin.left);return t?-(1+e):-(e-1)},getAxisCl=
ipY:function(t){return t?-20:-this.margin.top},getXAxisClipX:function(){var=
t=3Dthis;return t.getAxisClipX(!t.config.axis_rotated)},getXAxisClipY:func=
tion(){var t=3Dthis;return t.getAxisClipY(!t.config.axis_rotated)},getYAxis=
ClipX:function(){var t=3Dthis;return t.config.axis_y_inner?-1:t.getAxisClip=
X(t.config.axis_rotated)},getYAxisClipY:function(){var t=3Dthis;return t.ge=
tAxisClipY(t.config.axis_rotated)},getAxisClipWidth:function(t){var e=3Dthi=
s,i=3DMath.max(30,e.margin.left),n=3DMath.max(30,e.margin.right);return t?e=
.width+2+i+n:e.margin.left+20},getAxisClipHeight:function(t){return(t?this.=
margin.bottom:this.margin.top+this.height)+20},getXAxisClipWidth:function()=
{var t=3Dthis;return t.getAxisClipWidth(!t.config.axis_rotated)},getXAxisCl=
ipHeight:function(){var t=3Dthis;return t.getAxisClipHeight(!t.config.axis_=
rotated)},getYAxisClipWidth:function(){var t=3Dthis;return t.getAxisClipWid=
th(t.config.axis_rotated)+(t.config.axis_y_inner?20:0)},getYAxisClipHeight:=
function(){var t=3Dthis;return t.getAxisClipHeight(t.config.axis_rotated)}}=
)},function(t,e,i){“use strict”;function _interopRequireDefault(t){return t=
&&t.__esModule?t:{“default”:t}}var n=3Di(2),a=3Di(1),r=3D_interopRequireDef=
ault(a),o=3Di(3),s=3D_interopRequireDefault(o),l=3Di(0);(0,l.extend)(r.defa=
ult.prototype,{initPie:function(){var t=3Dthis,e=3Dt.config;t.pie=3D(0,n.pi=
e)().padAngle(e[e.data_type+”_padAngle”]||0).value(function(t){return t.val=
ues.reduce(function(t,e){return t+e.value},0)}),e.data_order||t.pie.sort(nu=
ll)},updateRadius:function(){var t=3Dthis,e=3Dt.config,i=3De.gauge_width||e=
.donut_width;t.radiusExpanded=3DMath.min(t.arcWidth,t.arcHeight)/2,t.radius=
=3D.95*t.radiusExpanded,t.innerRadiusRatio=3Di?(t.radius-i)/t.radius:.6,t.i=
nnerRadius=3Dt.hasType(“donut”)||t.hasType(“gauge”)?t.radius*t.innerRadiusR=
atio:0},updateArc:function(){var t=3Dthis;t.svgArc=3Dt.getSvgArc(),t.svgArc=
Expanded=3Dt.getSvgArcExpanded(),t.svgArcExpandedSub=3Dt.getSvgArcExpanded(=
.98)},updateAngle:function(t){var e=3Dthis,i=3De.config,n=3Dt,a=3D!1,r=3D0,=
o=3Dvoid 0,s=3Dvoid 0,l=3Dvoid 0,d=3Dvoid 0;return i?(e.pie(e.filterTargets=
ToShow(e.data.targets)).forEach(function(t){a||t.data.id!=3D=3Dn.data.id||(=
a=3D!0,n=3Dt,n.index=3Dr),r++}),isNaN(n.startAngle)&&(n.startAngle=3D0),isN=
aN(n.endAngle)&&(n.endAngle=3Dn.startAngle),e.isGaugeType(n.data)&&(o=3Di.g=
auge_min,s=3Di.gauge_max,l=3DMath.PI*(i.gauge_fullCircle?2:1)/(s-o),d=3Dn.v=
alue<o?0:n.value.375?1.175-36/e.radius:.8)*e.radius/s:0=
),u=3D”translate(“+r*d+”,”+o*d+”)”),u},getArcRatio:function(t){var e=3Dthis=
,i=3De.config,n=3DMath.PI*(e.hasType(“gauge”)&&!i.gauge_fullCircle?1:2);ret=
urn t?(t.endAngle-t.startAngle)/n:null},convertToArcData:function(t){return=
this.addName({id:t.data.id,value:t.value,ratio:this.getArcRatio(t),index:t=
.index})},textForArcLabel:function(t){var e=3Dthis;if(!e.shouldShowArcLabel=
())return””;var i=3De.updateAngle(t),n=3Di?i.value:null,a=3De.getArcRatio(i=
),r=3Dt.data.id;if(!e.hasType(“gauge”)&&!e.meetsArcLabelThreshold(a))return=
“”;var o=3De.getArcLabelFormat();return o?o(n,a,r):e.defaultArcValueFormat(=
n,a)},textForGaugeMinMax:function(t,e){var i=3Dthis.getGaugeLabelExtents();=
return i?i(t,e):t},expandArc:function(t){var e=3Dthis,i=3Dvoid 0;if(e.trans=
iting)return void(i=3Dwindow.setInterval(function(){e.transiting||(window.c=
learInterval(i),e.legend.selectAll(“.bb-legend-item-focused”).size()>0&&e.e=
xpandArc(t))},10));var a=3De.mapToTargetIds(t);e.svg.selectAll(e.selectorTa=
rgets(a,”.”+s.default.chartArc)).each(function(t){e.shouldExpand(t.data.id)=
&&(0,n.select)(this).selectAll(“path”).transition().duration(e.expandDurati=
on(t.data.id)).attr(“d”,e.svgArcExpanded).transition().duration(2*e.expandD=
uration(t.data.id)).attr(“d”,e.svgArcExpandedSub)})},unexpandArc:function(t=
){var e=3Dthis;if(!e.transiting){var i=3De.mapToTargetIds(t);e.svg.selectAl=
l(e.selectorTargets(i,”.”+s.default.chartArc)).selectAll(“path”).transition=
().duration(function(t){return e.expandDuration(t.data.id)}).attr(“d”,e.svg=
Arc),e.svg.selectAll(“”+s.default.arc).style(“opacity”,”1″)}},expandDuratio=
n:function(t){var e=3Dthis,i=3De.config;return e.isDonutType(t)?i.donut_exp=
and_duration:e.isGaugeType(t)?i.gauge_expand_duration:e.isPieType(t)?i.pie_=
expand_duration:50},shouldExpand:function(t){var e=3Dthis,i=3De.config;retu=
rn e.isDonutType(t)&&i.donut_expand||e.isGaugeType(t)&&i.gauge_expand||e.is=
PieType(t)&&i.pie_expand},shouldShowArcLabel:function(){var t=3Dthis,e=3Dt.=
config,i=3D!0;return t.hasType(“donut”)?i=3De.donut_label_show:t.hasType(“p=
ie”)&&(i=3De.pie_label_show),i},meetsArcLabelThreshold:function(t){var e=3D=
this,i=3De.config;return t>=3D(e.hasType(“donut”)?i.donut_label_threshold:i=
.pie_label_threshold)},getArcLabelFormat:function(){var t=3Dthis,e=3Dt.conf=
ig,i=3De.pie_label_format;return t.hasType(“gauge”)?i=3De.gauge_label_forma=
t:t.hasType(“donut”)&&(i=3De.donut_label_format),i},getGaugeLabelExtents:fu=
nction(){return this.config.gauge_label_extents},getArcTitle:function(){var=
t=3Dthis;return t.hasType(“donut”)?t.config.donut_title:””},updateTargetsF=
orArc:function(t){var e=3Dthis,i=3De.main,n=3De.classChartArc.bind(e),a=3De=
.classArcs.bind(e),r=3De.classFocus.bind(e),o=3Di.select(“.”+s.default.char=
tArcs).selectAll(“.”+s.default.chartArc).data(e.pie(t)).attr(“class”,functi=
on(t){return n(t)+r(t.data)}),l=3Do.enter().append(“g”).attr(“class”,n);l.a=
ppend(“g”).attr(“class”,a).merge(o),l.append(“text”).attr(“dy”,e.hasType(“g=
auge”)?”-.1em”:”.35em”).style(“opacity”,”0″).style(“text-anchor”,”middle”).=
style(“pointer-events”,”none”)},initArc:function(){var t=3Dthis;t.arcs=3Dt.=
main.select(“.”+s.default.chart).append(“g”).attr(“class”,s.default.chartAr=
cs).attr(“transform”,t.getTranslate(“arc”)),t.setArcTitle()},setArcTitle:fu=
nction(){var t=3Dthis,e=3Dt.getArcTitle();if(e){var i=3De.split(“\n”),n=3Dt=
.arcs.append(“text”).attr(“class”,s.default.chartArcsTitle).style(“text-anc=
hor”,”middle”);if(i.length>1){var a=3D+n.style(“font-size”).replace(“px”,””=
),r=3DMath.floor(n.text(“.”).node().getBBox().height,n.text(“”));i.forEach(=
function(t,e){return n.insert(“tspan”).text(t).attr(“x”,0).attr(“dy”,e?r:0)=
}),n.attr(“y”,”-“+(a*(i.length-2)||a/2))}else n.text(e)}},redrawArc:functio=
n(t,e,i){function selectArc(t,e,i){a.expandArc(i),a.api.focus(i),a.toggleFo=
cusLegend(i,!0),a.showTooltip([e],t)}function unselectArc(t){var e=3Dt&&t.i=
d||void 0;a.unexpandArc(e),a.api.revert(),a.revertLegend(),a.hideTooltip()}=
var a=3Dthis,r=3Da.config,o=3Da.main,l=3D”touch”=3D=3D=3Da.inputType,d=3D”m=
ouse”=3D=3D=3Da.inputType,u=3Do.selectAll(“.”+s.default.arcs).selectAll(“.”=
+s.default.arc).data(a.arcData.bind(a));if(u.exit().transition().duration(e=
).style(“opacity”,”0″).remove(),u=3Du.enter().append(“path”).attr(“class”,a=
.classArc.bind(a)).style(“fill”,function(t){return a.color(t.data)}).style(=
“cursor”,function(t){return r.interaction_enabled&&(r.data_selection_issele=
ctable(t)?”pointer”:null)}).style(“opacity”,”0″).each(function(t){a.isGauge=
Type(t.data)&&(t.startAngle=3Dr.gauge_startingAngle,t.endAngle=3Dr.gauge_st=
artingAngle),this._current=3Dt}).merge(u),u.attr(“transform”,function(t){re=
turn!a.isGaugeType(t.data)&&i?”scale(0)”:””}).style(“opacity”,function(t){r=
eturn t=3D=3D=3Dthis._current?”0″:”1″}).each(function(){a.transiting=3D!0})=
.transition().duration(t).attrTween(“d”,function(t){var e=3Da.updateAngle(t=
);if(!e)return function(){return”M 0 0″};isNaN(this._current.startAngle)&&(=
this._current.startAngle=3D0),isNaN(this._current.endAngle)&&(this._current=
.endAngle=3Dthis._current.startAngle);var i=3D(0,n.interpolate)(this._curre=
nt,e);return this._current=3Di(0),function(e){var n=3Di(e);return n.data=3D=
t.data,a.getArc(n,!0)}}).attr(“transform”,i?”scale(1)”:””).style(“fill”,fun=
ction(t){return a.levelColor?a.levelColor(t.data.values[0].value):a.color(t=
.data.id)}).style(“opacity”,”1″).call(a.endall,function(){a.transiting=3D!1=
}),r.interaction_enabled&&(u.on(“click”,function(t,e){var i=3Da.updateAngle=
(t),n=3Dvoid 0;i&&(n=3Da.convertToArcData(i),a.toggleShape&&a.toggleShape(t=
his,n,e),a.config.data_onclick.call(a.api,n,this))}),d&&u.on(“mouseover”,fu=
nction(t){if(!a.transiting){var e=3Da.updateAngle(t),i=3De?a.convertToArcDa=
ta(e):null;selectArc(this,i,i&&i.id||void 0),a.config.data_onover(i,this)}}=
).on(“mouseout”,function(t){if(!a.transiting){var e=3Da.updateAngle(t),i=3D=
e?a.convertToArcData(e):null;unselectArc(),a.config.data_onout(i,this)}}).o=
n(“mousemove”,function(t){var e=3Da.updateAngle(t),i=3De?a.convertToArcData=
(e):null;a.showTooltip([i],this)}),l&&a.hasArcType())){var c=3Dfunction(){v=
ar t=3Dn.event.changedTouches[0];return(0,n.select)(document.elementFromPoi=
nt(t.clientX,t.clientY))};a.svg.on(“touchstart”,function(){if(!a.transiting=
){var t=3Dc(),e=3Dt.datum(),i=3De&&e.data&&e.data.id?a.updateAngle(e):null,=
n=3Di?a.convertToArcData(i):null,r=3Dn&&n.id||void 0;void 0=3D=3D=3Dr?unsel=
ectArc():selectArc(this,n,r),a.config.data_onover(n,this)}}).on(“touchend”,=
function(){if(!a.transiting){var t=3Dc(),e=3Dt.datum(),i=3De&&e.data&&e.dat=
a.id?a.updateAngle(e):null,n=3Di?a.convertToArcData(i):null,r=3Dn&&n.id||vo=
id 0;void 0=3D=3D=3Dr?unselectArc():selectArc(this,n,r),a.config.data_onout=
(n,this)}}).on(“touchmove”,function(){var t=3Dc(),e=3Dt.datum(),i=3De&&e.da=
ta&&e.data.id?a.updateAngle(e):null,n=3Di?a.convertToArcData(i):null,r=3Dn&=
&n.id||void 0;void 0=3D=3D=3Dr?unselectArc():selectArc(this,n,r)})}var f=3D=
o.selectAll(“.”+s.default.chartArc).select(“text”).style(“opacity”,”0″).att=
r(“class”,function(t){return a.isGaugeType(t.data)?s.default.gaugeValue:””}=
);if(r.gauge_fullCircle&&f.attr(“dy”,””+Math.round(a.radius/14)),f.text(a.t=
extForArcLabel.bind(a)).attr(“transform”,a.transformForArcLabel.bind(a)).st=
yle(“font-size”,function(t){return a.isGaugeType(t.data)?Math.round(a.radiu=
s/5)+”px”:””}).transition().duration(t).style(“opacity”,function(t){return =
a.isTargetToShow(t.data.id)&&a.isArcType(t.data)?”1″:”0″}),o.select(“.”+s.d=
efault.chartArcsTitle).style(“opacity”,a.hasType(“donut”)||a.hasType(“gauge=
“)?”1″:”0”),a.hasType(“gauge”)){var g=3D(r.gauge_fullCircle?-4:-1)*r.gauge_=
startingAngle;a.arcs.select(“.”+s.default.chartArcsBackground).attr(“d”,fun=
ction(){var t=3D{data:[{value:r.gauge_max}],startAngle:r.gauge_startingAngl=
e,endAngle:g};return a.getArc(t,!0,!0)}),a.arcs.select(“.”+s.default.chartA=
rcsGaugeUnit).attr(“dy”,”.75em”).text(r.gauge_label_show?r.gauge_units:””),=
r.gauge_label_show&&(a.arcs.select(“.”+s.default.chartArcsGaugeMin).attr(“d=
x”,-1*(a.innerRadius+(a.radius-a.innerRadius)/(r.gauge_fullCircle?1:2))+”px=
“).attr(“dy”,”1.2em”).text(a.textForGaugeMinMax(r.gauge_min,!1)),!r.gauge_f=
ullCircle&&a.arcs.select(“.”+s.default.chartArcsGaugeMax).attr(“dx”,a.inner=
Radius+(a.radius-a.innerRadius)/2+”px”).attr(“dy”,”1.2em”).text(a.textForGa=
ugeMinMax(r.gauge_max,!0)))}},initGauge:function(){var t=3Dthis,e=3Dt.confi=
g,i=3Dt.arcs;t.hasType(“gauge”)&&(i.append(“path”).attr(“class”,s.default.c=
hartArcsBackground),i.append(“text”).attr(“class”,s.default.chartArcsGaugeU=
nit).style(“text-anchor”,”middle”).style(“pointer-events”,”none”),e.gauge_l=
abel_show&&(i.append(“text”).attr(“class”,s.default.chartArcsGaugeMin).styl=
e(“text-anchor”,”middle”).style(“pointer-events”,”none”),!e.gauge_fullCircl=
e&&i.append(“text”).attr(“class”,s.default.chartArcsGaugeMax).style(“text-a=
nchor”,”middle”).style(“pointer-events”,”none”)))},getGaugeLabelHeight:func=
tion(){return this.config.gauge_label_show?20:0}})},function(t,e,i){“use st=
rict”;function _interopRequireDefault(t){return t&&t.__esModule?t:{“default=
“:t}}var n=3Di(2),a=3Di(1),r=3D_interopRequireDefault(a),o=3Di(3),s=3D_inte=
ropRequireDefault(o),l=3Di(0);(0,l.extend)(r.default.prototype,{initRegion:=
function(){var t=3Dthis;t.region=3Dt.main.append(“g”).attr(“clip-path”,t.cl=
ipPath).attr(“class”,s.default.regions)},updateRegion:function(t){var e=3Dt=
his,i=3De.config;e.region.style(“visibility”,e.hasArcType()?”hidden”:”visib=
le”),e.mainRegion=3De.main.select(“.”+s.default.regions).selectAll(“.”+s.de=
fault.region).data(i.regions),e.mainRegion.exit().transition().duration(t).=
style(“opacity”,”0″).remove(),e.mainRegion=3De.mainRegion.enter().append(“g=
“).merge(e.mainRegion).attr(“class”,e.classRegion.bind(e)),e.mainRegion.app=
end(“rect”).style(“fill-opacity”,”0″)},redrawRegion:function(t){var e=3Dthi=
s,i=3De.regionX.bind(e),a=3De.regionY.bind(e),r=3De.regionWidth.bind(e),o=
=3De.regionHeight.bind(e),s=3De.mainRegion.select(“rect”);return s=3D(t?s.t=
ransition():s).attr(“x”,i).attr(“y”,a).attr(“width”,r).attr(“height”,o),[(t=
?s.transition():s).style(“fill-opacity”,function(t){return(0,l.isValue)(t.o=
pacity)?t.opacity:”0.1″}).on(“end”,function(){(0,n.select)(this.parentNode)=
.selectAll(“rect:not([x])”).remove()})]},regionX:function(t){var e=3Dthis,i=
=3De.config,n=3D”y”=3D=3D=3Dt.axis?e.y:e.y2;return”y”=3D=3D=3Dt.axis||”y2″=
=3D=3D=3Dt.axis?i.axis_rotated&&”start”in t?n(t.start):0:i.axis_rotated?0:”=
start”in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.start):0},regionY:fu=
nction(t){var e=3Dthis,i=3De.config,n=3D”y”=3D=3D=3Dt.axis?e.y:e.y2;return”=
y”=3D=3D=3Dt.axis||”y2″=3D=3D=3Dt.axis?i.axis_rotated?0:”end”in t?n(t.end):=
0:i.axis_rotated&&”start”in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.s=
tart):0},regionWidth:function(t){var e=3Dthis,i=3De.config,n=3D”y”=3D=3D=3D=
t.axis?e.y:e.y2,a=3De.regionX(t),r=3Dvoid 0;return r=3D”y”=3D=3D=3Dt.axis||=
“y2″=3D=3D=3Dt.axis?i.axis_rotated&&”end”in t?n(t.end):e.width:i.axis_rotat=
ed?e.width:”end”in t?e.x(e.isTimeSeries()?e.parseDate(t.end):t.end):e.width=
,r<a?0:r-a},regionHeight:function(t){var e=3Dthis,i=3De.config,n=3Dthis.reg=
ionY(t),a=3Dvoid 0,r=3D"y"=3D=3D=3Dt.axis?e.y:e.y2;return a=3D"y"=3D=3D=3Dt=
.axis||"y2"=3D=3D=3Dt.axis?i.axis_rotated?e.height:"start"in t?r(t.start):e=
.height:i.axis_rotated&&"end"in t?e.x(e.isTimeSeries()?e.parseDate(t.end):t=
.end):e.height,a<n?0:a-n},isRegionOnX:function(t){return!t.axis||"x"=3D=3D=
=3Dt.axis}})},function(t,e,i){"use strict";function _interopRequireDefault(=
t){return t&&t.__esModule?t:{"default":t}}var n=3Di(2),a=3Di(1),r=3D_intero=
pRequireDefault(a),o=3Di(3),s=3D_interopRequireDefault(o),l=3Di(0);(0,l.ext=
end)(r.default.prototype,{drag:function(t){var e=3Dthis,i=3De.config,a=3De.=
main;if(!e.hasArcType()&&i.data_selection_enabled&&(!i.zoom_enabled||e.zoom=
.altDomain)&&i.data_selection_multiple){var r=3De.dragStart[0],o=3De.dragSt=
art[1],d=3Dt[0],u=3Dt[1],c=3DMath.min(r,d),f=3DMath.max(r,d),g=3Di.data_sel=
ection_grouped?e.margin.top:Math.min(o,u),h=3Di.data_selection_grouped?e.he=
ight:Math.max(o,u);a.select("."+s.default.dragarea).attr("x",c).attr("y",g)=
.attr("width",f-c).attr("height",h-g),a.selectAll("."+s.default.shapes).sel=
ectAll("."+s.default.shape).filter(function(t){return i.data_selection_isse=
lectable(t)}).each(function(t,i){var a=3D(0,n.select)(this),r=3Da.classed(s=
.default.SELECTED),o=3Da.classed(s.default.INCLUDED),d=3Dvoid 0,u=3Dvoid 0,=
p=3Dvoid 0,x=3Dvoid 0,_=3Dvoid 0,v=3D!1,m=3Dvoid 0;if(a.classed(s.default.c=
ircle))d=3D1*a.attr("cx"),u=3D1*a.attr("cy"),_=3De.togglePoint,v=3Dc<d&&d<f=
&&g<u&&u<h;else{if(!a.classed(s.default.bar))return;m=3D(0,l.getPathBox)(th=
is),d=3Dm.x,u=3Dm.y,p=3Dm.width,x=3Dm.height,_=3De.togglePath,v=3D!(f<d||d+=
p<c||h<u||u+x<g)}v^o&&(a.classed(s.default.INCLUDED,!o),a.classed(s.default=
.SELECTED,!r),_.call(e,!r,a,t,i))})}},dragstart:function(t){var e=3Dthis,i=
=3De.config;e.hasArcType()||!i.data_selection_enabled||(e.dragStart=3Dt,e.m=
ain.select("."+s.default.chart).append("rect").attr("class",s.default.draga=
rea).style("opacity","0.1"),e.dragging=3D!0)},dragend:function(){var t=3Dth=
is,e=3Dt.config;t.hasArcType()||!e.data_selection_enabled||(t.main.select("=
."+s.default.dragarea).transition().duration(100).style("opacity","0").remo=
ve(),t.main.selectAll("."+s.default.shape).classed(s.default.INCLUDED,!1),t=
.dragging=3D!1)}})},function(t,e,i){"use strict";function _interopRequireDe=
fault(t){return t&&t.__esModule?t:{"default":t}}var n=3Di(2),a=3Di(1),r=3D_=
interopRequireDefault(a),o=3Di(3),s=3D_interopRequireDefault(o);(0,i(0).ext=
end)(r.default.prototype,{selectPoint:function(t,e,i){var n=3Dthis,a=3Dn.co=
nfig,r=3D(a.axis_rotated?n.circleY:n.circleX).bind(n),o=3D(a.axis_rotated?n=
.circleX:n.circleY).bind(n),l=3Dn.pointSelectR.bind(n);a.data_onselected.ca=
ll(n.api,e,t.node()),n.main.select("."+s.default.selectedCircles+n.getTarge=
tSelectorSuffix(e.id)).selectAll("."+s.default.selectedCircle+"-"+i).data([=
e]).enter().append("circle").attr("class",function(){return n.generateClass=
(s.default.selectedCircle,i)}).attr("cx",r).attr("cy",o).attr("stroke",func=
tion(){return n.color(e)}).attr("r",function(t){return 1.4*n.pointSelectR(t=
)}).transition().duration(100).attr("r",l)},unselectPoint:function(t,e,i){v=
ar n=3Dthis;n.config.data_onunselected.call(n.api,e,t.node()),n.main.select=
("."+s.default.selectedCircles+n.getTargetSelectorSuffix(e.id)).selectAll("=
."+s.default.selectedCircle+"-"+i).transition().duration(100).attr("r",0).r=
emove()},togglePoint:function(t,e,i,n){t?this.selectPoint(e,i,n):this.unsel=
ectPoint(e,i,n)},selectPath:function(t,e){var i=3Dthis;i.config.data_onsele=
cted.call(i,e,t.node()),i.config.interaction_brighten&&t.transition().durat=
ion(100).style("fill",function(){return(0,n.rgb)(i.color(e)).brighter(.75)}=
)},unselectPath:function(t,e){var i=3Dthis;i.config.data_onunselected.call(=
i,e,t.node()),i.config.interaction_brighten&&t.transition().duration(100).s=
tyle("fill",function(){return i.color(e)})},togglePath:function(t,e,i,n){t?=
this.selectPath(e,i,n):this.unselectPath(e,i,n)},getToggle:function(t,e){va=
r i=3Dthis,n=3Dvoid 0;return"circle"=3D=3D=3Dt.nodeName?n=3Di.isStepType(e)=
?function(){}:i.togglePoint:"path"=3D=3D=3Dt.nodeName&&(n=3Di.togglePath),n=
},toggleShape:function(t,e,i){var a=3Dthis,r=3Da.config,o=3D(0,n.select)(t)=
,l=3Do.classed(s.default.SELECTED),d=3Da.getToggle(t,e).bind(a),u=3Dvoid 0;=
if(r.data_selection_enabled&&r.data_selection_isselectable(e)){if(!r.data_s=
election_multiple){var c=3D"."+s.default.shapes;r.data_selection_grouped&&(=
c=3D"."+c+a.getTargetSelectorSuffix(e.id)),a.main.selectAll(""+c).selectAll=
("circle."+s.default.shape).each(function(t,e){var i=3D(0,n.select)(this);i=
.classed(s.default.SELECTED)&&(u=3Di,d(!1,i.classed(s.default.SELECTED,!1),=
t,e))})}u&&u.node()=3D=3D=3Do.node()||(o.classed(s.default.SELECTED,!l),d(!=
l,o,e,i))}}})},function(t,e,i){"use strict";function _interopRequireDefault=
(t){return t&&t.__esModule?t:{"default":t}}var n=3Di(2),a=3Di(1),r=3D_inter=
opRequireDefault(a),o=3Di(3),s=3D_interopRequireDefault(o),l=3Di(0);(0,l.ex=
tend)(r.default.prototype,{initBrush:function(){var t=3Dthis;t.brush=3Dt.co=
nfig.axis_rotated?(0,n.brushY)():(0,n.brushX)();var e=3Dfunction(){t.redraw=
ForBrush()};t.brush.on("start",function(){"touch"=3D=3D=3Dt.inputType&&t.hi=
deTooltip(),e()}).on("brush",e),t.brush.update=3Dfunction(){return 0=3D=3D=
=3Dthis.extent()()[1].filter(function(t){return isNaN(t)}).length&&t.contex=
t&&t.context.select("."+s.default.brush).call(this),this},t.brush.scale=3Df=
unction(e,i){var n=3Dt.svg.select(".bb-brush .overlay"),a=3D[[0,0]];e.range=
?a.push([e.range()[1],(i||!n.empty())&&~~n.attr("height")||60]):e.construct=
or=3D=3D=3DArray&&a.push(e),t.config.axis_rotated&&a.reverse(),this.extent(=
t.config.axis_x_extent||a),this.update()},t.brush.getSelection=3Dfunction()=
{return t.context?t.context.select("."+s.default.brush):(0,n.select)([])}},=
initSubchart:function(){var t=3Dthis,e=3Dt.config,i=3De.subchart_show?"visi=
ble":"hidden";t.context=3Dt.svg.append("g").attr("transform",t.getTranslate=
("context"));var n=3Dt.context;n.style("visibility",i),n.append("g").attr("=
clip-path",t.clipPathForSubchart).attr("class",s.default.chart),n.select(".=
"+s.default.chart).append("g").attr("class",s.default.chartBars),n.select("=
."+s.default.chart).append("g").attr("class",s.default.chartLines),n.append=
("g").attr("clip-path",t.clipPath).attr("class",s.default.brush).call(t.bru=
sh),t.axes.subx=3Dn.append("g").attr("class",s.default.axisX).attr("transfo=
rm",t.getTranslate("subx")).attr("clip-path",e.axis_rotated?"":t.clipPathFo=
rXAxis).style("visibility",e.subchart_axis_x_show?i:"hidden")},updateTarget=
sForSubchart:function(t){var e=3Dthis,i=3De.context,n=3De.config,a=3De.clas=
sChartBar.bind(e),r=3De.classBars.bind(e),o=3De.classChartLine.bind(e),l=3D=
e.classLines.bind(e),d=3De.classAreas.bind(e);if(n.subchart_show){var u=3Di=
.select("."+s.default.chartBars).selectAll("."+s.default.chartBar).data(t).=
attr("class",a);u.enter().append("g").style("opacity","0").attr("class",a).=
merge(u).append("g").attr("class",r);var c=3Di.select("."+s.default.chartLi=
nes).selectAll("."+s.default.chartLine).data(t).attr("class",o),f=3Dc.enter=
().append("g").style("opacity","0").attr("class",o).merge(c);f.append("g").=
attr("class",l),f.append("g").attr("class",d),i.selectAll("."+s.default.bru=
sh+" rect").attr(n.axis_rotated?"width":"height",n.axis_rotated?e.width2:e.=
height2)}},updateBarForSubchart:function(t){var e=3Dthis;e.contextBar=3De.c=
ontext.selectAll("."+s.default.bars).selectAll("."+s.default.bar).data(e.ba=
rData.bind(e)),e.contextBar.exit().transition().duration(t).style("opacity"=
,"0").remove(),e.contextBar=3De.contextBar.enter().append("path").attr("cla=
ss",e.classBar.bind(e)).style("stroke","none").style("fill",e.color).merge(=
e.contextBar).style("opacity",e.initialOpacity.bind(e))},redrawBarForSubcha=
rt:function(t,e,i){var n=3Dvoid 0;n=3De?this.contextBar.transition(Math.ran=
dom().toString()).duration(i):this.contextBar,n.attr("d",t).style("opacity"=
,"1")},updateLineForSubchart:function(t){var e=3Dthis;e.contextLine=3De.con=
text.selectAll("."+s.default.lines).selectAll("."+s.default.line).data(e.li=
neData.bind(e)),e.contextLine.exit().transition().duration(t).style("opacit=
y","0").remove(),e.contextLine=3De.contextLine.enter().append("path").attr(=
"class",e.classLine.bind(e)).style("stroke",e.color).merge(e.contextLine).s=
tyle("opacity",e.initialOpacity.bind(e))},redrawLineForSubchart:function(t,=
e,i){var n=3Dvoid 0;n=3De?this.contextLine.transition(Math.random().toStrin=
g()).duration(i):this.contextLine,n.attr("d",t).style("opacity","1")},updat=
eAreaForSubchart:function(t){var e=3Dthis;e.contextArea=3De.context.selectA=
ll("."+s.default.areas).selectAll("."+s.default.area).data(e.lineData.bind(=
e)),e.contextArea.exit().transition().duration(t).style("opacity","0").remo=
ve(),e.contextArea=3De.contextArea.enter().append("path").attr("class",e.cl=
assArea.bind(e)).style("fill",e.color).style("opacity",function(){return e.=
orgAreaOpacity=3D(0,n.select)(this).style("opacity"),"0"}).merge(e.contextA=
rea).style("opacity","0")},redrawAreaForSubchart:function(t,e,i){var n=3Dvo=
id 0;n=3De?this.contextArea.transition(Math.random().toString()).duration(i=
):this.contextArea,n.attr("d",t).style("fill",this.color).style("opacity",t=
his.orgAreaOpacity)},redrawSubchart:function(t,e,i,a,r,o,s){var l=3Dthis,d=
=3Dl.config;if(l.context.style("visibility",d.subchart_show?"visible":"hidd=
en"),d.subchart_show&&(n.event&&"zoom"=3D=3D=3Dn.event.type&&l.brush.update=
(),t)){l.brushEmpty()||l.brush.update();var u=3Dl.generateDrawArea(r,!0),c=
=3Dl.generateDrawBar(o,!0),f=3Dl.generateDrawLine(s,!0);l.updateBarForSubch=
art(i),l.updateLineForSubchart(i),l.updateAreaForSubchart(i),l.redrawBarFor=
Subchart(c,i,i),l.redrawLineForSubchart(f,i,i),l.redrawAreaForSubchart(u,i,=
i)}},redrawForBrush:function(){var t=3Dthis,e=3Dt.x;t.redraw({withTransitio=
n:!1,withY:t.config.zoom_rescale,withSubchart:!1,withUpdateXDomain:!0,withD=
imension:!1}),t.config.subchart_onbrush.call(t.api,e.orgDomain())},transfor=
mContext:function(t,e){var i=3Dthis,n=3Dvoid 0;e&&e.axisSubX?n=3De.axisSubX=
:(n=3Di.context.select("."+s.default.axisX),t&&(n=3Dn.transition())),i.cont=
ext.attr("transform",i.getTranslate("context")),n.attr("transform",i.getTra=
nslate("subx"))},getDefaultExtent:function(){var t=3Dthis,e=3Dt.config,i=3D=
(0,l.isFunction)(e.axis_x_extent)?e.axis_x_extent(t.getXDomain(t.data.targe=
ts)):e.axis_x_extent;return t.isTimeSeries()&&(i=3D[t.parseDate(i[0]),t.par=
seDate(i[1])]),i}})},function(t,e,i){"use strict";function _interopRequireD=
efault(t){return t&&t.__esModule?t:{"default":t}}var n=3Di(2),a=3Di(1),r=3D=
_interopRequireDefault(a),o=3Di(3),s=3D_interopRequireDefault(o),l=3Di(0);(=
0,l.extend)(r.default.prototype,{initZoom:function(){var t=3Dthis,e=3Dt.con=
fig,i=3Dvoid 0;t.zoomScale=3Dnull,t.zoom=3D(0,n.zoom)().duration(0).on("sta=
rt",function(){i=3Dn.event.sourceEvent,t.zoom.altDomain=3Dn.event.sourceEve=
nt.altKey?t.x.orgDomain():null,e.zoom_onzoomstart.call(t.api,n.event.source=
Event)}).on("zoom",function(){t.redrawForZoom.call(t)}).on("end",function()=
{var a=3Dn.event.sourceEvent;a&&i.clientX=3D=3D=3Da.clientX&&i.clientY=3D=
=3D=3Da.clientY||(t.redrawEventRect(),t.updateZoom(),(0,l.isFunction)(e.zoo=
m_onzoomend)&&e.zoom_onzoomend.call(t.api,t.x.orgDomain()))}),t.zoom.orgSca=
leExtent=3Dfunction(){var i=3De.zoom_extent?e.zoom_extent:[1,10];return[i[0=
],Math.max(t.getMaxDataCount()/i[1],i[1])]},t.zoom.updateScaleExtent=3Dfunc=
tion(){var e=3D(0,l.diffDomain)(t.x.orgDomain())/(0,l.diffDomain)(t.getZoom=
Domain()),i=3Dthis.orgScaleExtent();return this.scaleExtent([i[0]*e,i[1]*e]=
),this},t.zoom.updateTransformScale=3Dfunction(e){var i=3De.rescaleX(t.x);i=
.domain(t.trimXDomain(i.domain())),t.zoomScale=3Di,t.xAxis.scale(t.zoomScal=
e),t.main.select("."+s.default.eventRects).node().__zoom=3De}},getZoomDomai=
n:function(){var t=3Dthis,e=3Dt.config;return[(0,n.min)([t.orgXDomain[0],e.=
zoom_x_min]),(0,n.max)([t.orgXDomain[1],e.zoom_x_max])]},updateZoom:functio=
n(){var t=3Dthis,e=3Dt.config.zoom_enabled?t.zoom:function(){};if(t.zoomSca=
le){var i=3Dt.zoomScale.domain()[0],n=3Dt.x.domain()[0];(i<=3Dn||i-.015<=3D=
n)&&(t.zoomScale=3Dnull,t.xAxis.scale(t.x))}t.main.select("."+s.default.eve=
ntRects).call(e).on("dblclick.zoom",null)},redrawForZoom:function(){var t=
=3Dthis,e=3Dt.config;if(e.zoom_enabled){var i=3Dt.zoom,a=3Dt.x,r=3Dn.event,=
o=3Dr.transform;return t.zoom.updateTransformScale(o),0=3D=3D=3Dt.filterTar=
getsToShow(t.data.targets).length?void 0:"mousemove"=3D=3D=3Dr.sourceEvent.=
type&&i.altDomain?(a.domain(i.altDomain),void o.scale(t.zoomScale).updateSc=
aleExtent()):(t.isCategorized()&&a.orgDomain()[0]=3D=3D=3Dt.orgXDomain[0]&&=
a.domain([t.orgXDomain[0]-1e-10,a.orgDomain()[1]]),t.redraw({withTransition=
:!1,withY:e.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}=
),"mousemove"=3D=3D=3Dr.sourceEvent.type&&(t.cancelClick=3D!0),void((0,l.is=
Function)(e.zoom_onzoom)&&e.zoom_onzoom.call(t.api,a.orgDomain())))}}})},fu=
nction(t,e,i){"use strict";var n=3Di(2),a=3Di(1),r=3Dfunction(t){return t&&=
t.__esModule?t:{"default":t}}(a),o=3Di(0);(0,o.extend)(r.default.prototype,=
{generateColor:function(){var t=3Dthis,e=3Dt.config,i=3De.data_colors,a=3De=
.data_color,r=3D[],s=3D(0,o.notEmpty)(e.color_pattern)?e.color_pattern:(0,n=
.scaleOrdinal)(n.schemeCategory10).range();return function(t){var e=3Dt.id|=
|t.data&&t.data.id||t,n=3Dvoid 0;return i[e]instanceof Function?n=3Di[e](t)=
:i[e]?n=3Di[e]:(r.indexOf(e)<0&&r.push(e),n=3Ds[r.indexOf(e)%s.length],i[e]=
=3Dn),a instanceof Function?a(n,t):n}},generateLevelColor:function(){var t=
=3Dthis,e=3Dt.config,i=3De.color_pattern,n=3De.color_threshold,a=3D"value"=
=3D=3D=3Dn.unit,r=3Dn.max||100,s=3Dn.values&&n.values.length?n.values:[];re=
turn(0,o.notEmpty)(n)?function(t){for(var e=3Di[i.length-1],n=3D0;n<s.lengt=
h;n++)if((a?t:100*t/r)<s[n]){e=3Di[n];break}return e}:null}})},function(t,e=
,i){"use strict";function _interopRequireDefault(t){return t&&t.__esModule?=
t:{"default":t}}var n=3Di(5),a=3D_interopRequireDefault(n),r=3Di(1),o=3D_in=
teropRequireDefault(r),s=3Di(0),l=3Dfunction(t,e,i){var n=3Dt.config,a=3D"a=
xis_"+e+"_tick_format";return(n[a]?n[a]:t.defaultValueFormat)(i)};(0,s.exte=
nd)(o.default.prototype,{getYFormat:function(t){var e=3Dthis,i=3De.yFormat,=
n=3De.y2Format;return t&&!e.hasType("gauge")&&(i=3De.defaultArcValueFormat,=
n=3De.defaultArcValueFormat),function(t,a,r){return("y2"=3D=3D=3De.axis.get=
Id(r)?n:i).call(e,t,a)}},yFormat:function(t){return l(this,"y",t)},y2Format=
:function(t){return l(this,"y2",t)},defaultValueFormat:function(t){return(0=
,s.isValue)(t)?+t:""},defaultArcValueFormat:function(t,e){return(100*e).toF=
ixed(1)+"%"},dataLabelFormat:function(t){var e=3Dthis,i=3De.config.data_lab=
els,n=3Dfunction(t){return(0,s.isValue)(t)?+t:""};return"function"=3D=3Dtyp=
eof i.format?i.format:"object"=3D=3D=3D(0,a.default)(i.format)?i.format[t]?=
!0=3D=3D=3Di.format[t]?n:i.format[t]:function(){return""}:n}})},function(t,=
e,i){"use strict";var n=3Di(1),a=3Dfunction(t){return t&&t.__esModule?t:{"d=
efault":t}}(n);(0,i(0).extend)(a.default.prototype,{hasCaches:function(t){f=
or(var e=3D0;e<t.length;e++)if(!(t[e]in this.cache))return!1;return!0},addC=
ache:function(t,e){this.cache[t]=3Dthis.cloneTarget(e)},getCaches:function(=
t){for(var e=3D[],i=3D0;i=3D0?o.default.focused:””)},classDefo=
cused:function(t){return” “+(this.defocusedTargetIds.indexOf(t.id)>=3D0?o.d=
efault.defocused:””)},classChartText:function(t){return o.default.chartText=
+this.classTarget(t.id)},classChartLine:function(t){return o.default.chartL=
ine+this.classTarget(t.id)},classChartBar:function(t){return o.default.char=
tBar+this.classTarget(t.id)},classChartArc:function(t){return o.default.cha=
rtArc+this.classTarget(t.data.id)},getTargetSelectorSuffix:function(t){retu=
rn t||0=3D=3D=3Dt?(“-“+t).replace(/[\s?!@#$%^&*()_=3D+,.'”:;\[\]\/|~`{}\\=
]/g,”-“):””},selectorTarget:function(t,e){return(e||””)+”.”+(o.default.targ=
et+this.getTargetSelectorSuffix(t))},selectorTargets:function(t,e){var i=3D=
this,n=3Dt||[];return n.length?n.map(function(t){return i.selectorTarget(t,=
e)}):null},selectorLegend:function(t){return”.”+(o.default.legendItem+this.=
getTargetSelectorSuffix(t))},selectorLegends:function(t){var e=3Dthis;retur=
n t&&t.length?t.map(function(t){return e.selectorLegend(t)}):null}})},funct=
ion(t,e,i){“use strict”;function _interopRequireDefault(t){return t&&t.__es=
Module?t:{“default”:t}}var n=3Di(2),a=3Di(4),r=3D_interopRequireDefault(a),=
o=3Di(3),s=3D_interopRequireDefault(o);(0,i(0).extend)(r.default.prototype,=
{focus:function(t){var e=3Dthis.internal,i=3De.mapToTargetIds(t),n=3De.svg.=
selectAll(e.selectorTargets(i.filter(e.isTargetToShow,e)));this.revert(),th=
is.defocus(),n.classed(s.default.focused,!0).classed(s.default.defocused,!1=
),e.hasArcType()&&e.expandArc(i),e.toggleFocusLegend(i,!0),e.focusedTargetI=
ds=3Di,e.defocusedTargetIds=3De.defocusedTargetIds.filter(function(t){retur=
n i.indexOf(t)<0})},defocus:function(t){var e=3Dthis.internal,i=3De.mapToTa=
rgetIds(t);e.svg.selectAll(e.selectorTargets(i.filter(e.isTargetToShow,e)))=
.classed(s.default.focused,!1).classed(s.default.defocused,!0),e.hasArcType=
()&&e.unexpandArc(i),e.toggleFocusLegend(i,!1),e.focusedTargetIds=3De.focus=
edTargetIds.filter(function(t){return i.indexOf(t)1=
&&void 0!=3D=3Darguments[1]?arguments[1]:{},i=3Dthis.internal,n=3Di.mapToTa=
rgetIds(t);i.removeHiddenTargetIds(n);var a=3Di.svg.selectAll(i.selectorTar=
gets(n));a.transition().style(“opacity”,”1″,”important”).call(i.endall,func=
tion(){a.style(“opacity”,null).style(“opacity”,”1″)}),e.withLegend&&i.showL=
egend(n),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:=
!0})},hide:function(t){var e=3Darguments.length>1&&void 0!=3D=3Darguments[1=
]?arguments[1]:{},i=3Dthis.internal,n=3Di.mapToTargetIds(t);i.addHiddenTarg=
etIds(n);var a=3Di.svg.selectAll(i.selectorTargets(n));a.transition().style=
(“opacity”,”0″,”important”).call(i.endall,function(){a.style(“opacity”,null=
).style(“opacity”,”0″)}),e.withLegend&&i.hideLegend(n),i.redraw({withUpdate=
OrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0})},toggle:function(t){var =
e=3Darguments.length>1&&void 0!=3D=3Darguments[1]?arguments[1]:{},i=3Dthis,=
n=3Dthis.internal;n.mapToTargetIds(t).forEach(function(t){n.isTargetToShow(=
t)?i.hide(t,e):i.show(t,e)})}})},function(t,e,i){“use strict”;var n=3Di(2),=
a=3Di(4),r=3Dfunction(t){return t&&t.__esModule?t:{“default”:t}}(a),o=3Di(0=
),s=3Dfunction(t){var e=3Dthis.internal,i=3Dt,a=3Dvoid 0;if(i){if(e.isTimeS=
eries()&&(i=3Di.map(function(t){return e.parseDate(t)})),e.config.subchart_=
show){var r=3De.zoomScale||e.x;e.brush.getSelection().call(e.brush.move,[r(=
i[0]),r(i[1])]),a=3Di}else{var o=3De.x.orgDomain(),s=3D(o[1]-o[0])/(i[1]-i[=
0]),l=3De.isTimeSeries()?0-s*e.x(i[0].getTime()):i[0]-s*e.x(i[0]);e.zoom.up=
dateTransformScale(n.zoomIdentity.translate(l,0).scale(s)),a=3De.zoomScale.=
domain()}e.redraw({withTransition:!0,withY:e.config.zoom_rescale,withDimens=
ion:!1}),e.config.zoom_onzoom.call(this,e.x.orgDomain())}else a=3D(e.zoomSc=
ale||e.x).domain();return a};s.enable=3Dfunction(t){var e=3Dthis.internal;e=
.config.zoom_enabled=3Dt,e.updateAndRedraw()},s.max=3Dfunction(t){var e=3Dt=
his.internal,i=3De.config;if(0!=3D=3Dt&&!t)return i.zoom_x_max;i.zoom_x_max=
=3D(0,n.max)([e.orgXDomain[1],t])},s.min=3Dfunction(t){var e=3Dthis.interna=
l,i=3De.config;if(0!=3D=3Dt&&!t)return i.zoom_x_min;i.zoom_x_min=3D(0,n.min=
)([e.orgXDomain[0],t])},s.range=3Dfunction(t){if(!arguments.length)return{m=
ax:this.domain.max(),min:this.domain.min()};(0,o.isDefined)(t.max)&&this.do=
main.max(t.max),(0,o.isDefined)(t.min)&&this.domain.min(t.min)},(0,o.extend=
)(r.default.prototype,{zoom:s,unzoom:function(){var t=3Dthis.internal;t.con=
fig.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.upd=
ateTransformScale(n.zoomIdentity),t.redraw({withTransition:!0,withY:t.confi=
g.zoom_rescale})}})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfunction=
(t){return t&&t.__esModule?t:{“default”:t}}(n);(0,i(0).extend)(a.default.pr=
ototype,{load:function(t){var e=3Dthis.internal,i=3De.config;return t.xs&&e=
.addXs(t.xs),”names”in t&&this.data.names(t.names),”classes”in t&&Object.ke=
ys(t.classes).forEach(function(e){i.data_classes[e]=3Dt.classes[e]}),”categ=
ories”in t&&e.isCategorized()&&(i.axis_x_categories=3Dt.categories),”axes”i=
n t&&Object.keys(t.axes).forEach(function(e){i.data_axes[e]=3Dt.axes[e]}),”=
colors”in t&&Object.keys(t.colors).forEach(function(e){i.data_colors[e]=3Dt=
.colors[e]}),”cacheIds”in t&&e.hasCaches(t.cacheIds)?void e.load(e.getCache=
s(t.cacheIds),t.done):void(“unload”in t?e.unload(e.mapToTargetIds(“boolean”=
=3D=3Dtypeof t.unload&&t.unload?null:t.unload),function(){return e.loadFrom=
Args(t)}):e.loadFromArgs(t))},unload:function(t){var e=3Dthis.internal,i=3D=
t||{};i instanceof Array?i=3D{ids:i}:”string”=3D=3Dtypeof i&&(i=3D{ids:[i]}=
),e.unload(e.mapToTargetIds(i.ids),function(){e.redraw({withUpdateOrgXDomai=
n:!0,withUpdateXDomain:!0,withLegend:!0}),i.done&&i.done()})}})},function(t=
,e,i){“use strict”;function _interopRequireDefault(t){return t&&t.__esModul=
e?t:{“default”:t}}var n=3Di(2),a=3Di(4),r=3D_interopRequireDefault(a),o=3Di=
(1),s=3D_interopRequireDefault(o),l=3Di(0),d=3Di(3),u=3D_interopRequireDefa=
ult(d);(0,l.extend)(r.default.prototype,{flow:function(t){var e=3Dthis.inte=
rnal,i=3D[],n=3De.getMaxDataCount(),a=3Dvoid 0,r=3Dvoid 0,o=3D0,s=3D0,d=3Dv=
oid 0,u=3Dvoid 0;if(t.json)a=3De.convertJsonToData(t.json,t.keys);else if(t=
.rows)a=3De.convertRowsToData(t.rows);else{if(!t.columns)return;a=3De.conve=
rtColumnsToData(t.columns)}var c=3De.convertDataToTargets(a,!0);e.data.targ=
ets.forEach(function(t){var n=3D!1,a=3Dvoid 0,r=3Dvoid 0;for(a=3D0;a<c.leng=
th;a++)if(t.id=3D=3D=3Dc[a].id){for(n=3D!0,t.values[t.values.length-1]&&(s=
=3Dt.values[t.values.length-1].index+1),o=3Dc[a].values.length,r=3D0;r<o;r+=
+)c[a].values[r].index=3Ds+r,e.isTimeSeries()||(c[a].values[r].x=3Ds+r);t.v=
alues=3Dt.values.concat(c[a].values),c.splice(a,1);break}n||i.push(t.id)}),=
e.data.targets.forEach(function(t){var n=3Dvoid 0,a=3Dvoid 0;for(n=3D0;n<i.=
length;n++)if(t.id=3D=3D=3Di[n])for(s=3Dt.values[t.values.length-1].index+1=
,a=3D0;a<o;a++)t.values.push({id:t.id,index:s+a,x:e.isTimeSeries()?e.getOth=
erTargetX(s+a):s+a,value:null})}),e.data.targets.length&&c.forEach(function=
(t){var i=3Dvoid 0,n=3D[];for(i=3De.data.targets[0].values[0].index;i<s;i++=
)n.push({id:t.id,index:i,x:e.isTimeSeries()?e.getOtherTargetX(i):i,value:nu=
ll});t.values.forEach(function(t){t.index+=3Ds,e.isTimeSeries()||(t.x+=3Ds)=
}),t.values=3Dn.concat(t.values)}),e.data.targets=3De.data.targets.concat(c=
);var f=3De.data.targets[0],g=3Df.values[0];(0,l.isDefined)(t.to)?(o=3D0,u=
=3De.isTimeSeries()?e.parseDate(t.to):t.to,f.values.forEach(function(t){t.x=
1?f.values[f.values.length-1].x-g.x:g.x-e.getXDomain(e.data=
.targets)[0]:1,r=3D[g.x-d,g.x],e.updateXDomain(null,!0,!0,!1,r)),e.updateTa=
rgets(e.data.targets),e.redraw({flow:{index:g.index,length:o,duration:(0,l.=
isValue)(t.duration)?t.duration:e.config.transition_duration,done:t.done,or=
gDataCount:n},withLegend:!0,withTransition:n>1,withTrimXDomain:!1,withUpdat=
eXAxis:!0})}}),(0,l.extend)(s.default.prototype,{generateFlow:function(t){v=
ar e=3Dthis,i=3De.config;return function(){var a=3Dt.targets,r=3Dt.flow,o=
=3Dt.drawBar,s=3Dt.drawLine,d=3Dt.drawArea,c=3Dt.cx,f=3Dt.cy,g=3Dt.xv,h=3Dt=
.xForText,p=3Dt.yForText,x=3Dt.duration,_=3Dvoid 0,v=3D1,m=3Dr.index,y=3Dr.=
length,b=3De.getValueOnIndex(e.data.targets[0].values,m),T=3De.getValueOnIn=
dex(e.data.targets[0].values,m+y),A=3De.x.domain(),w=3Dr.duration||x,L=3Dr.=
done||function(){},D=3De.generateWait(),S=3De.xgrid||(0,n.selectAll)([]),C=
=3De.xgridLines||(0,n.selectAll)([]),R=3De.mainRegion||(0,n.selectAll)([]),=
F=3De.mainText||(0,n.selectAll)([]),I=3De.mainBar||(0,n.selectAll)([]),X=3D=
e.mainLine||(0,n.selectAll)([]),k=3De.mainArea||(0,n.selectAll)([]),M=3De.m=
ainCircle||(0,n.selectAll)([]);e.flowing=3D!0,e.data.targets.forEach(functi=
on(t){t.values.splice(0,y)});var E=3De.updateXDomain(a,!0,!0);e.updateXGrid=
&&e.updateXGrid(!0),r.orgDataCount?_=3D1=3D=3D=3Dr.orgDataCount||(b&&b.x)=
=3D=3D=3D(T&&T.x)?e.x(A[0])-e.x(E[0]):e.isTimeSeries()?e.x(A[0])-e.x(E[0]):=
e.x(b.x)-e.x(T.x):1=3D=3D=3De.data.targets[0].values.length?e.isTimeSeries(=
)?(b=3De.getValueOnIndex(e.data.targets[0].values,0),T=3De.getValueOnIndex(=
e.data.targets[0].values,e.data.targets[0].values.length-1),_=3De.x(b.x)-e.=
x(T.x)):_=3D(0,l.diffDomain)(E)/2:_=3De.x(A[0])-e.x(E[0]),v=3D(0,l.diffDoma=
in)(A)/(0,l.diffDomain)(E);var O=3D”translate(“+_+”,0) scale(“+v+”,1)”;e.hi=
deXGridFocus();var Y=3D(0,n.transition)().ease(n.easeLinear).duration(w);D.=
add([e.axes.x.transition(Y).call(e.xAxis.setTransition(Y)),I.transition(Y).=
attr(“transform”,O),X.transition(Y).attr(“transform”,O),k.transition(Y).att=
r(“transform”,O),M.transition(Y).attr(“transform”,O),F.transition(Y).attr(“=
transform”,O),R.filter(e.isRegionOnX).transition(Y).attr(“transform”,O),S.t=
ransition(Y).attr(“transform”,O),C.transition(Y).attr(“transform”,O)]),Y.ca=
ll(D,function(){var t=3Dvoid 0,n=3D[],a=3D[],r=3D[];if(y){for(t=3D0;t=3D0,h=3D!e||e.indexOf(d)>=3D0,p=3Du.=
classed(l.default.SELECTED);u.classed(l.default.line)||u.classed(l.default.=
area)||(g&&h?r.data_selection_isselectable(s)&&!p&&f(!0,u.classed(l.default=
.SELECTED,!0),s,d):(0,o.isDefined)(i)&&i&&p&&f(!1,u.classed(l.default.SELEC=
TED,!1),s,d))})},unselect:function(t,e){var i=3Dthis.internal,a=3Di.config;=
a.data_selection_enabled&&i.main.selectAll(“.”+l.default.shapes).selectAll(=
“.”+l.default.shape).each(function(r,o){var s=3D(0,n.select)(this),d=3Dr.da=
ta?r.data.id:r.id,u=3Di.getToggle(this,r).bind(i),c=3Da.data_selection_grou=
ped||!t||t.indexOf(d)>=3D0,f=3D!e||e.indexOf(o)>=3D0,g=3Ds.classed(l.defaul=
t.SELECTED);s.classed(l.default.line)||s.classed(l.default.area)||c&&f&&a.d=
ata_selection_isselectable(r)&&g&&u(!1,s.classed(l.default.SELECTED,!1),r,o=
)})}})},function(t,e,i){“use strict”;function _interopRequireDefault(t){ret=
urn t&&t.__esModule?t:{“default”:t}}var n=3Di(4),a=3D_interopRequireDefault=
(n),r=3Di(1),o=3D_interopRequireDefault(r),s=3Di(0);(0,s.extend)(a.default.=
prototype,{transform:function(t,e){var i=3Dthis.internal,n=3D[“pie”,”donut”=
].indexOf(t)>=3D0?{withTransform:!0}:null;i.transformTo(e,t,n)}}),(0,s.exte=
nd)(o.default.prototype,{transformTo:function(t,e,i){var n=3Dthis,a=3D!n.ha=
sArcType(),r=3Di||{withTransitionForAxis:a};r.withTransitionForTransform=3D=
!1,n.transiting=3D!1,n.setTargetType(t,e),n.updateTargets(n.data.targets),n=
.updateAndRedraw(r)}})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfunct=
ion(t){return t&&t.__esModule?t:{“default”:t}}(n),r=3Di(0);(0,r.extend)(a.d=
efault.prototype,{groups:function(t){var e=3Dthis.internal,i=3De.config;ret=
urn(0,r.isUndefined)(t)?i.data_groups:(i.data_groups=3Dt,e.redraw(),i.data_=
groups)}})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfunction(t){retur=
n t&&t.__esModule?t:{“default”:t}}(n),r=3Di(0),o=3Dfunction(t){var e=3Dthis=
.internal,i=3De.config;return t?(i.grid_x_lines=3Dt,e.redrawWithoutRescale(=
),i.grid_x_lines):i.grid_x_lines};o.add=3Dfunction(t){return this.xgrids(th=
is.internal.config.grid_x_lines.concat(t||[]))},o.remove=3Dfunction(t){this=
.internal.removeGridLines(t,!0)};var s=3Dfunction(t){var e=3Dthis.internal,=
i=3De.config;return t?(i.grid_y_lines=3Dt,e.redrawWithoutRescale(),i.grid_y=
_lines):i.grid_y_lines};s.add=3Dfunction(t){return this.ygrids(this.interna=
l.config.grid_y_lines.concat(t||[]))},s.remove=3Dfunction(t){this.internal.=
removeGridLines(t,!1)},(0,r.extend)(a.default.prototype,{xgrids:o,ygrids:s}=
)},function(t,e,i){“use strict”;function _interopRequireDefault(t){return t=
&&t.__esModule?t:{“default”:t}}var n=3Di(4),a=3D_interopRequireDefault(n),r=
=3Di(3),o=3D_interopRequireDefault(r),s=3Di(0),l=3Dfunction(t){var e=3Dthis=
.internal,i=3De.config;return t?(i.regions=3Dt,e.redrawWithoutRescale(),i.r=
egions):i.regions};l.add=3Dfunction(t){var e=3Dthis.internal,i=3De.config;r=
eturn t?(i.regions=3Di.regions.concat(t),e.redrawWithoutRescale(),i.regions=
):i.regions},l.remove=3Dfunction(t){var e=3Dthis.internal,i=3De.config,n=3D=
t||{},a=3De.getOption(n,”duration”,i.transition_duration),r=3De.getOption(n=
,”classes”,[o.default.region]),s=3De.main.select(“.”+o.default.regions).sel=
ectAll(r.map(function(t){return”.”+t}));return(a?s.transition().duration(a)=
:s).style(“opacity”,”0″).remove(),i.regions=3Di.regions.filter(function(t){=
var e=3D!1;return!t.class||(t.class.split(” “).forEach(function(t){r.indexO=
f(t)>=3D0&&(e=3D!0)}),!e)}),i.regions},(0,s.extend)(a.default.prototype,{re=
gions:l})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfunction(t){return=
t&&t.__esModule?t:{“default”:t}}(n),r=3Di(0),o=3Dfunction(t){var e=3Dthis.=
internal.data.targets;return void 0=3D=3D=3Dt?e:e.filter(function(e){return=
t.indexOf(e.id)>=3D0})};o.shown=3Dfunction(t){return this.internal.filterT=
argetsToShow(this.data(t))},o.values=3Dfunction(t){var e=3Dnull;if(t){var i=
=3Dthis.data(t);i&&i[0]&&(e=3Di[0].values.map(function(t){return t.value}))=
}return e},o.names=3Dfunction(t){return this.internal.clearLegendItemTextBo=
xCache(),this.internal.updateDataAttributes(“names”,t)},o.colors=3Dfunction=
(t){return this.internal.updateDataAttributes(“colors”,t)},o.axes=3Dfunctio=
n(t){return this.internal.updateDataAttributes(“axes”,t)},(0,r.extend)(a.de=
fault.prototype,{data:o})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfu=
nction(t){return t&&t.__esModule?t:{“default”:t}}(n);(0,i(0).extend)(a.defa=
ult.prototype,{category:function(t,e){var i=3Dthis.internal,n=3Di.config;re=
turn arguments.length>1&&(n.axis_x_categories[t]=3De,i.redraw()),n.axis_x_c=
ategories[t]},categories:function(t){var e=3Dthis.internal,i=3De.config;ret=
urn arguments.length?(i.axis_x_categories=3Dt,e.redraw(),i.axis_x_categorie=
s):i.axis_x_categories}})},function(t,e,i){“use strict”;var n=3Di(4),a=3Dfu=
nction(t){return t&&t.__esModule?t:{“default”:t}}(n);(0,i(0).extend)(a.defa=
ult.prototype,{color:function(t){return this.internal.color(t)}})},function=
(t,e,i){“use strict”;var n=3Di(4),a=3Dfunction(t){return t&&t.__esModule?t:=
{“default”:t}}(n);(0,i(0).extend)(a.default.prototype,{x:function(t){var e=
=3Dthis.internal;return arguments.length&&(e.updateTargetX(e.data.targets,t=
),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs},xs:f=
unction(t){var e=3Dthis.internal;return arguments.length&&(e.updateTargetXs=
(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})=
),e.data.xs}})},function(t,e,i){“use strict”;function _interopRequireDefaul=
t(t){return t&&t.__esModule?t:{“default”:t}}var n=3Di(5),a=3D_interopRequir=
eDefault(n),r=3Di(4),o=3D_interopRequireDefault(r),s=3Di(0),l=3Dfunction(t,=
e,i){var n=3Dt.config,r=3D”axis_y_”+e,o=3D”axis_y2_”+e;return void(void 0!=
=3D=3Di&&(“object”=3D=3D=3D(void 0=3D=3D=3Di?”undefined”:(0,a.default)(i))?=
((0,s.isValue)(i.x)&&(n[“axis_x_”+e]=3Di.x),(0,s.isValue)(i.y)&&(n[r]=3Di.y=
),(0,s.isValue)(i.y2)&&(n[o]=3Di.y2)):(n[r]=3Di,n[o]=3Di),t.redraw({withUpd=
ateOrgXDomain:!0,withUpdateXDomain:!0})))},d=3Dfunction(t,e){var i=3Dt.conf=
ig;return{x:i[“axis_x_”+e],y:i[“axis_y_”+e],y2:i[“axis_y2_”+e]}},u=3Dfuncti=
on(){};u.labels=3Dfunction(t){var e=3Dthis.internal;arguments.length&&(Obje=
ct.keys(t).forEach(function(i){e.axis.setLabelText(i,t[i])}),e.axis.updateL=
abels())},u.min=3Dfunction(t){return arguments.length?l(this.internal,”min”=
,t):d(this.internal,”min”)},u.max=3Dfunction(t){return arguments.length?l(t=
his.internal,”max”,t):d(this.internal,”max”)},u.range=3Dfunction(t){if(!arg=
uments.length)return{max:this.axis.max(),min:this.axis.min()};(0,s.isDefine=
d)(t.max)&&this.axis.max(t.max),(0,s.isDefined)(t.min)&&this.axis.min(t.min=
)},(0,s.extend)(o.default.prototype,{axis:u})},function(t,e,i){“use strict”=
;var n=3Di(4),a=3Dfunction(t){return t&&t.__esModule?t:{“default”:t}}(n),r=
=3Di(0),o=3Dfunction(){};o.show=3Dfunction(t){var e=3Dthis.internal;e.showL=
egend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},o.hide=3Dfun=
ction(t){var e=3Dthis.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAn=
dRedraw({withLegend:!0})},(0,r.extend)(a.default.prototype,{legend:o})},fun=
ction(t,e,i){“use strict”;var n=3Di(4),a=3Dfunction(t){return t&&t.__esModu=
le?t:{“default”:t}}(n),r=3Di(58),o=3Di(0);(0,o.extend)(a.default.prototype,=
{resize:function(t){var e=3Dthis.internal.config;e.size_width=3Dt?t.width:n=
ull,e.size_height=3Dt?t.height:null,this.flush()},flush:function(){this.int=
ernal.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTra=
nsform:!1})},destroy:function(){var t=3Dthis.internal;return r.window.clear=
Interval(t.intervalForObserveInserted),void 0!=3D=3Dt.resizeTimeout&&r.wind=
ow.clearTimeout(t.resizeTimeout),(0,o.removeEvent)(r.window,”resize”,t.resi=
zeFunction),t.selectChart.classed(“bb”,!1).html(“”),Object.keys(t).forEach(=
function(e){t[e]=3Dnull}),null}})},function(t,e,i){“use strict”;e.__esModul=
e=3D!0;var n=3D”undefined”!=3Dtypeof window&&window.Math=3D=3D=3DMath?windo=
w:”undefined”!=3Dtypeof self&&self.Math=3D=3D=3DMath?self:Function(“return =
this”)();e.window=3Dn;e.document=3Dn.document},function(t,e,i){“use strict”=
;var n=3Di(4),a=3Dfunction(t){return t&&t.__esModule?t:{“default”:t}}(n),r=
=3Di(0),o=3Dfunction(){};o.show=3Dfunction(t){var e=3Dthis.internal,i=3Dvoi=
d 0,n=3Dvoid 0;t.mouse&&(n=3Dt.mouse),t.data?e.isMultipleX()?(n=3D[e.x(t.da=
ta.x),e.getYScale(t.data.id)(t.data.value)],i=3Dnull):i=3D(0,r.isValue)(t.d=
ata.index)?t.data.index:e.getIndexByX(t.data.x):void 0=3D=3D=3Dt.x?void 0!=
=3D=3Dt.index&&(i=3Dt.index):i=3De.getIndexByX(t.x),e.dispatchEvent(“mouseo=
ver”,i,n),e.dispatchEvent(“mousemove”,i,n),e.config.tooltip_onshow.call(e,t=
.data)},o.hide=3Dfunction(){this.internal.dispatchEvent(“mouseout”,0),this.=
internal.config.tooltip_onhide.call(this)},(0,r.extend)(a.default.prototype=
,{tooltip:o})},function(t,e,i){“use strict”;var n=3Di(1),a=3Dfunction(t){re=
turn t&&t.__esModule?t:{“default”:t}}(n);(0,i(0).extend)(a.default.prototyp=
e,{isSafari:function(){var t=3Dwindow.navigator.userAgent;return t.indexOf(=
“Safari”)>=3D0&&t.indexOf(“Chrome”)=3D0}})}])});
//# sourceMappingURL=3Dbillboard.min.js.map

=20=20
=20=20










=09=09=09

Symantec Endpoint Protection








Symantec Endpoint =
Protection Weekly Status

Earliest Event Time: 04/18/2019 10:20:00 to L=
atest Event Time: 04/25/2019 10:20:00
 

Description: This repo=
rt contains licensing status and virus detection statistics for endpoint co=
mputers over the previous week. Data reflects cumulative values unless othe=
rwise noted.
 

Days remaining for trial period expiration: 4085

=09


Purchase additional licenses
I need to purchase licenses before I can activate my product.
To purchase licenses, Symantec recommends contacting your prefer=
red reseller. For more information, please visit Symante=
c Endpoint Protection licensing Web site.

=09=09=09



L=
icense Activation
I have my serial number(s). What do I do next?
Go to: Admin tab > Licenses > Activate license.
Select 'I have a serial number' to activate your licen=
se(s).
I have my Symantec License file (.slf). What do I do next?
Go to: Admin tab > Licenses > Activate license.
Select 'I have a Symantec License file (.slf)' to acti=
vate your license(s).
 
Lea=
rn about managing licenses for non-persistent VDI clients

 


Computer Status

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

    Computer Name User Name Operating System IP Address Create Date/Time


Compute=
rs Added (0)
&nbsp=
;


Computers Deleted (=
0)
&nbsp=
;


Inactive for last 3=
0 days (0)
&nbsp=
;


Inactive for last 6=
0 days (0)
&nbsp=
;

 


=09

Virus and Risk Detection


=09=09
=09=09

var name =3D “VIRUS AND RISK DETECTION”;
createStandardPie(“D3ChartWeeklyReport1”, name, “”, {“sortOrder”:”value-des=
c”,”content”:[{“label”:””,”value”:1,”color”:”#F4F4F4″}]});

=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

    Action Taken Computer Name User Name IP Address Virus Name Detection Date/Time Action Required


 
Cleaned (0) &nbs=
p;
No


 
Suspicious (0) &nbs=
p;
No


 
Blocked (0) &nbs=
p;
No


 
Quarantined (0)

&nbs=
p;
No


 
Deleted (0) &nbs=
p;
No


 
Newly Infected (0)= &nbs=
p;
No


 
Still Infected (0)= &nbs=
p;
No

 


=09

Protection Status Snapshot


<!–

–>

=09=09=20=20

=09=09=20=20

=09=09=20=20

=09=09=09=20=20

=09=09=20=20

=09=09=20=20

=09=09=20=20

=09=09=20=20

=09=09=20=20

=09=09=20=20

=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=09=09=20=20

Indicator
    Computer Name User Name IP Address


AV Engine Off (0)  


Auto-Protect Off (0)  


Firewall Off (0)  


Tamper Protection Off (0)  


Download Insight Off (0)  


SONAR Proactive Threat Scan Off (0)  


IPS Off (0)  


IE Browser Protection Off (0)  


Firefox Browser Protection Off (0)  


Early Launch Antimalware Off (0)  


Restart Required (0)  

 


=09

Virus Definition Distribution


=09=09

var name =3D “VIRUS DEFINITION DISTRIBUTION”;
createStandardPie(“D3ChartWeeklyReport2”, name, “”, {“sortOrder”:”value-des=
c”,”content”:[{“label”:””,”value”:1,”color”:”#F4F4F4″}]});

=20=09=09

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

      Computer Name User Name IP Address Definition Date/Time


 
Less than 24Hrs (0=
)
&nbsp=
;


 
Greater than 1 Days=
(0)
&nbsp=
;


 
Greater than 3 Days=
(0)
&nbsp=
;


 
Greater than 7 Days=
(0)
&nbsp=
;


 
No Definitions (0)

&nbsp=
;

 

Risk Distribution By Day


Date Count  

 
Top Ten Risks/Infections

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

=20=20=20=20=20=20=20=20=20=20

    Name/Type/Event Source Description Count


Risk By Type (0)

&nbsp=
;


Risk By Name (0)

&nbsp=
;


Risk By Event Sourc=
e (0)
&nbsp=
;
 

 

function toggle_class(id){

var len =3D document.getElementById(id).childNodes.length;
for(var i=3D0; i< len; i++){

var elem =3D document.getElementById(id).childNodes[i];
if(elem.className=3D=3D"wb_subreport_tbl_header_expand"){
elem.className=3D"wb_subreport_tbl_header_collapse";
}else{
elem.className=3D"wb_subreport_tbl_header_expand";
}

}
}

=20=20

=20=20

var BrowserDetect =3D {
init: function () {
//
this.browser =3D this.searchString(this.dataBrowser) || ‘UN=
KNOWN_BROWSER’;
this.version =3D this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| ‘UNKNOWN_VERSION’;
this.OS =3D this.searchString(this.dataOS) || ‘UNKNOWN_OS’;
},
searchString: function (data) {
for (var i=3D0;i<data.length;i++) {
var dataString =3D data[i].string;
var dataProp =3D data[i].prop;
this.versionSearchString =3D data[i].versionSearch =
|| data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) !=
=3D -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index =3D dataString.indexOf(this.versionSearchString);
if (index =3D=3D -1) return;
return parseFloat(dataString.substring(index+this.versionSe=
archString.length+1));
},
dataBrowser: [
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{ // IE11 has dropped MSIE from the userAgent string
string: navigator.userAgent,
subString: "Trident",
identity: "Explorer"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]

};
BrowserDetect.init();
// For IE display:block is needed
// For Firefox & Safari, display:table-row is needed
function toggle(totoggle, arrow_image_id) {
var rows =3D document.getElementsByTagName("tr");
var arrow_img =3D document.getElementById(arrow_image_id);

// Change the arrow
if(arrow_img && arrow_img.alt =3D=3D document.getElementById('expand_=
image_res').alt) {
arrow_img.src =3D document.getElementById('collapse_image_res').src;
arrow_img.alt =3D document.getElementById('collapse_image_res').alt;
arrow_img.title =3D document.getElementById('collapse_image_res').title;
} else {
arrow_img.src =3D document.getElementById('expand_image_res').src;
arrow_img.alt =3D document.getElementById('expand_image_res').alt;
arrow_img.title =3D document.getElementById('expand_image_res').title;
}

for(var i =3D 0 ; i < rows.length ; i++) {
if(rows[i].className.match(totoggle)) {
elementstyle =3D rows[i].style;
var newstyle =3D 'block';

if(!BrowserDetect.browser.match("Explorer")) {
newstyle =3D 'table-row';
}
if(elementstyle.display && elementstyle.display =3D=3D newstyle) {
elementstyle.display =3D 'none';
} else {
elementstyle.display =3D newstyle;
}
}
}
}

 

Download Risk D=
istribution (Detected by Download Insight)


<!–

 

–>


Downloaded Risk Dist=
ribution by Web Domain 

 


3D= Total Detections Per Domain
3D= User-allowed Per Domain


Detection Summary by=
Download Insight Sensitivity Level 

   Download Insight detects and rates files according to their security rep=
utation. In general, higher ratings correspond to better reputations.
Files detected by a higher level usually have better reputation than fil=
es detected by a lower level.
 

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

Level  Total Detection  User Allow  User Allow % 
Se=
nsitivity Level 9
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 8
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 7
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 6
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 5
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 4
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 3
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 2
0

=09=09=09=09=09=09=09=09=09
0

0
Se=
nsitivity Level 1
0

=09=09=09=09=09=09=09=09=09
0

0


Help Topics 

   
What does it mean if I see a high percentage of user-allowed downloads? =

   
How do I adjust Download Insight settings to get more or fewer detections=
?

   
A useful web site is blocked. How do I allow access for my users?

 

Detailed Report for 0 Occurrences 


  Web Domain Risk Count Date/Time Application Name File Name User Allow Sensitivity Level Hash Type / Application Hash

You can launch the Symantec Endpoint Protection Manager using: http://gt:9090/symantec.html












=

——=_Part_1754_1026456947.1556158821136–

admin

One thought on “Scheduled Report: Executive Weekly Summary Report

MaryPosted on  8:17 pm - 7-р сар 2, 2024

Hello there, just became alert to your blog through Google, and found that it is truly informative.
I am gonna watch out for brussels. I’ll be grateful if you continue this in future.
A lot of people will be benefited from your writing.

Cheers! Lista escape roomów

LidaknignPosted on  12:56 pm - 7-р сар 28, 2024

We strongly prefer this to an anatomic report e best place to buy cialis online side effects of flonase in toddlers I saw the pilot name Lee Chan Guk in several stories in multiple newspapers over the past week

trezor.io/startPosted on  9:03 am - 9-р сар 5, 2024

trezor.io/start

TraireePosted on  11:19 am - 11-р сар 15, 2024

priligy generic 20 long to support treat both the anti essentialist bases of the

مقاييس الشاحنات العراقPosted on  5:50 am - 11-р сар 28, 2024

شركة Bwer هي أحد الموردين الرئيسيين لموازين الشاحنات ذات الجسور في العراق، حيث تقدم مجموعة كاملة من الحلول لقياس حمولة المركبات بدقة. وتغطي خدماتها كل جانب من جوانب موازين الشاحنات، من تركيب وصيانة موازين الشاحنات إلى المعايرة والإصلاح. تقدم شركة Bwer موازين شاحنات تجارية وموازين شاحنات صناعية وأنظمة موازين جسور محورية، مصممة لتلبية متطلبات التطبيقات الثقيلة. تتضمن موازين الشاحنات الإلكترونية وموازين الشاحنات الرقمية من شركة Bwer تقنية متقدمة، مما يضمن قياسات دقيقة وموثوقة. تم تصميم موازين الشاحنات الثقيلة الخاصة بهم للبيئات الوعرة، مما يجعلها مناسبة للصناعات مثل الخدمات اللوجستية والزراعة والبناء. سواء كنت تبحث عن موازين شاحنات للبيع أو الإيجار أو التأجير، توفر شركة Bwer خيارات مرنة لتناسب احتياجاتك، بما في ذلك أجزاء موازين الشاحنات والملحقات والبرامج لتحسين الأداء. بصفتها شركة مصنعة موثوقة لموازين الشاحنات، تقدم شركة Bwer خدمات معايرة موازين الشاحنات المعتمدة، مما يضمن الامتثال لمعايير الصناعة. تشمل خدماتها فحص موازين الشاحنات والشهادات وخدمات الإصلاح، مما يدعم موثوقية أنظمة موازين الشاحنات الخاصة بك على المدى الطويل. بفضل فريق من الخبراء، تضمن شركة Bwer تركيب وصيانة موازين الشاحنات بسلاسة، مما يحافظ على سير عملياتك بسلاسة. لمزيد من المعلومات حول أسعار موازين الشاحنات، وتكاليف التركيب، أو لمعرفة المزيد عن مجموعة موازين الشاحنات ذات الجسور وغيرها من المنتجات، تفضل بزيارة موقع شركة Bwer على الإنترنت على bwerpipes.com

buy cheap cytotec for salePosted on  9:05 am - 11-р сар 29, 2024

buy misoprostol online Refugio glWRBVouyDWBg 5 29 2022

НэргүйPosted on  2:49 am - 10 сар 31, 2025

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

Binance推荐代码Posted on  7:52 pm - 11-р сар 3, 2025

Your article helped me a lot, is there any more related content? Thanks!

Sign UpPosted on  7:47 am - 11-р сар 4, 2025

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/hu/register-person?ref=FIHEGIZ8

Создать бесплатную учетную записьPosted on  12:45 am - 11-р сар 7, 2025

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

RegistracijaPosted on  5:04 am - 11-р сар 9, 2025

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

НэргүйPosted on  5:36 am - 11-р сар 13, 2025

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

binance referal codePosted on  8:22 am - 11-р сар 13, 2025

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

bir binance hesabi acinPosted on  11:52 pm - 11-р сар 13, 2025

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

Dang k’y www.binance.comPosted on  5:01 pm - 11-р сар 14, 2025

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

www.binance.info sign upPosted on  3:38 pm - 11-р сар 17, 2025

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

binance accountPosted on  7:32 pm - 11-р сар 20, 2025

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.info/hu/register?ref=IQY5TET4

binance bonus za registráciuPosted on  11:22 pm - 11-р сар 21, 2025

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.info/pt-PT/register?ref=KDN7HDOR

binance us registracePosted on  8:03 pm - 11-р сар 23, 2025

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

binance registrationPosted on  8:39 pm - 11-р сар 25, 2025

Your article helped me a lot, is there any more related content? Thanks! https://accounts.binance.info/ar/register-person?ref=PORL8W0Z

Binance账户创建Posted on  12:29 am - 11-р сар 29, 2025

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://www.binance.info/cs/register?ref=OMM3XK51

8k8tPosted on  8:21 am - 11-р сар 30, 2025

Lottery odds are fascinating – so much randomness! Seeing platforms like 8k8t.click offer diverse games, including lottery options, is interesting. Quick registration & deposit via GCash is a plus! Check out the 8k8t app download for more.

Binance Referral CodePosted on  11:11 pm - 11-р сар 30, 2025

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.com/register?ref=IXBIAFVY

бнанс бонус за рефералвPosted on  2:44 am - 1-р сар 18, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.info/sl/register?ref=GQ1JXNRE

casinomcw1188Posted on  5:59 pm - 1-р сар 18, 2026

Casinomcw1188 offers a fun user experience and a decent selection of games. I recommend seeing if casinomcw1188 has anything interesting to you!

dr88clubPosted on  6:00 pm - 1-р сар 18, 2026

Heard some good things about dr88club. Gonna give it a go and see what the hype is about. Stay tuned!. Check it out dr88club.

vui123vipPosted on  6:00 pm - 1-р сар 18, 2026

vui123vip这个平台我玩了一段时间了,感觉还不错,游戏种类挺多的,而且客服也挺给力,有问题都能及时解决。想体验下就点vui123vip

binance kontsPosted on  6:58 pm - 1-р сар 18, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

Binance美国注册Posted on  12:22 pm - 1-р сар 22, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://accounts.binance.info/es-AR/register?ref=UT2YTZSU

789win1111Posted on  4:24 pm - 1-р сар 27, 2026

Okay, 789win1111, I gave you a shot. Honestly, not bad! Smooth interface and a decent selection of games. Could use a bit more in the promotions department, ya know? But overall, a solid experience. Check it out here: 789win1111

hiww88Posted on  4:24 pm - 1-р сар 27, 2026

Hiww88? Yeah, I’ve heard good things. A mate of mine swears by it. Says the customer service is top-notch and the games are always fair.. hiww88

ft88Posted on  4:24 pm - 1-р сар 27, 2026

I tried FT88. It’s not too bad for a cheeky flutter. Good range of games and a few promos to keep things interesting. Worth a go, I’d say. Give it a peek at ft88

open a binance accountPosted on  7:28 pm - 1-р сар 28, 2026

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

okayplayPosted on  6:22 am - 1-р сар 29, 2026

Okayplay… hmm, what can I say? It’s pretty good! I’ve had some fun experiences there. Give it a shot and see if it’s your thing: okayplay. Good luck!

hyph777betPosted on  6:22 am - 1-р сар 29, 2026

Hyph777bet…Alright, let’s be honest, it’s tempting, right? Gotta be responsible though, eh? Play smart, friends. Here it is, if you wanna take a look: hyph777bet. Good luck & play responsibly!

rg777appPosted on  6:22 am - 1-р сар 29, 2026

Just downloaded the rg777app! So much easier to play on my phone now. No more browser lag. Highly recommend! Get the app: rg777app

pkr666gamePosted on  7:29 am - 4-р сар 19, 2026

Hey guys, anyone playing pkr666game? Is it worth downloading? Give me the lowdown, is it legit or just a scam? pkr666game

7e777Posted on  7:29 am - 4-р сар 19, 2026

7e777, what’s this? New site? Gotta check it out. Maybe this is where the real wins are hiding! Click this: 7e777

cwin555Posted on  7:29 am - 4-р сар 19, 2026

Cwin555, seems promising. Just creating account. Willing to give it a fair go hey! Check that web: cwin555

免费Binance账户Posted on  9:21 am - 4-р сар 20, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

Registrera digPosted on  12:18 am - 4-р сар 22, 2026

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://accounts.binance.com/register-person?ref=JW3W4Y3A

Cont BinancePosted on  11:37 am - 4-р сар 22, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

MichelPosted on  12:56 pm - 4-р сар 24, 2026

Đọc bài của bác xong thấy rất tâm đắc.
Sẵn tiện anh em đang thảo luận, mình xin review nhanh
về sân chơi NEW88 – bến đỗ xanh chín và an toàn nhất.

Chơi tại NEW88 thì anh em hoàn toàn yên tâm về độ
minh bạch. Tuy nhiên, để tránh vào nhầm link giả mạo anh em cứ gõ thẳng tên miền new88.help
nhé.

Chỉ cần truy cập new88.help, anh em sẽ lấy được link trang chủ
chính thức của NEW88. Vào new88.help đăng
ký để húp trọn khuyến mãi nha.

Here is my webpage – https://new88.help/

b^onus de indicac~ao binancePosted on  10:50 pm - 4-р сар 25, 2026

Your article helped me a lot, is there any more related content? Thanks!

Binance账户创建Posted on  11:40 pm - 4-р сар 28, 2026

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

Inscreva-se para receber 100 USDTPosted on  3:26 pm - 4-р сар 30, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/register?ref=IXBIAFVY

binancePosted on  3:47 pm - 5 сар 1, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

Binance账户创建Posted on  9:40 pm - 5 сар 2, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

rent yacht montenegro 94Posted on  3:25 pm - 5 сар 3, 2026

Montenegro yacht rental https://rent-a-yacht-montenegro.com

“oppna ett binance-kontoPosted on  11:55 pm - 5 сар 3, 2026

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://www.binance.bh/hu/register?ref=IQY5TET4

打开Binance账户Posted on  2:50 pm - 5 сар 4, 2026

Your article helped me a lot, is there any more related content? Thanks!

Pag-sign UpPosted on  12:26 am - 5 сар 6, 2026

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

MichaelzesPosted on  12:27 pm - 5 сар 6, 2026

Нужен сайт? разработка сайта в Минске в компании domenanet.by. Профессиональная разработка сайтов любой сложности в Минске: от интернет-магазинов до порталов.

ChrisnaityPosted on  12:36 pm - 5 сар 6, 2026

Если нужен недорогой аккумулятор https://www.akb24v.ru 24 вольта для погрузчика, стоит обратить внимание на проверенные решения с оптимальным ресурсом и стабильной отдачей. Купить тяговую батарею 24V можно на сайте, там представлены варианты под разные задачи и типы техники.

KennethsizPosted on  6:17 pm - 5 сар 6, 2026

Последние публикации: https://l-parfum.ru/catalog/price/

BryonexenoPosted on  9:04 pm - 5 сар 6, 2026

All football match https://canli-skor.com.az/ results online, game schedules, and league standings. Live updates, statistics, and easy access to information about matches and teams from around the world.

RodolfotwellPosted on  9:05 pm - 5 сар 6, 2026

Live football scores https://canli-futbol.com.az/ up-to-date schedules, and league tables. Follow matches, check scores online, analyze team standings, and never miss a beat in world football.

JosephdesPosted on  11:03 pm - 5 сар 6, 2026

Baky ucun deqiq hava proqnozu. Bu gun, sabah ve hefte ucun temperaturu, yagini? ehtimalini, kuleyin sгrуtini му hava seraitini onlayn yoxlayin.

GabrielNitlyPosted on  11:13 pm - 5 сар 6, 2026

Phasmophobia Game 2026 https://phasmo-phobia.com is a cross-platform horror game supporting PC, PlayStation, Xbox, and VR. Find out the game’s current price, platform list, system requirements, and the latest updates with new maps, events, and gameplay improvements.

BriankedPosted on  4:49 am - 5 сар 7, 2026

На порталі https://visti.pl.ua зібрані головні новини Полтави та області. Тут публікують матеріали про події, транспорт, інфраструктуру та життя регіону.

JoshuaaerofPosted on  4:51 am - 5 сар 7, 2026

Сайт https://news.vinnica.ua висвітлює події у Вінниці та регіоні. Новини, аналітика й корисні матеріали допомагають бути в курсі життя міста щодня.

HenryHahPosted on  7:41 am - 5 сар 7, 2026

На порталі https://krivoy-rog.in.ua зібрані головні новини Кривого Рогу. Тут публікують матеріали про події, транспорт, інфраструктуру та життя мешканців.

ThomasAwardPosted on  7:45 am - 5 сар 7, 2026

На сайті https://gazeta-bukovyna.cv.ua публікують свіжі новини Буковини та Чернівців. Тут ви знайдете актуальну інформацію про події, життя регіону, культуру й важливі зміни для мешканців.

RobertTawPosted on  9:49 am - 5 сар 7, 2026

На сайте https://chernomorskoe.info собраны новости Черноморского побережья и информация о курортных городах Одесской области. Узнавайте о событиях, отдыхе и развитии региона.

WoodrowfraroPosted on  9:51 am - 5 сар 7, 2026

На портале https://o-remonte.com вы найдёте статьи о ремонте, дизайне и строительстве. Сайт предлагает практичные решения, рекомендации и идеи для создания уютного пространства.

SamuelmuhPosted on  11:50 am - 5 сар 7, 2026

На сайте https://blogimam.com публикуют статьи для мам о воспитании детей, здоровье и повседневной жизни. Полезные советы, личный опыт и идеи помогают справляться с заботами и находить время для себя.

免费Binance账户Posted on  12:14 pm - 5 сар 8, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

Binance Pag-sign UpPosted on  5:01 pm - 5 сар 8, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/futures/ref?code=L4EUT9FG

JamesCexPosted on  12:46 am - 5 сар 9, 2026

во все тяжкие смотреть зверополис смотреть

open binance accountPosted on  4:49 pm - 5 сар 9, 2026

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.bh/register/person?ref=L4EUT9FG

StevecoubyPosted on  5:17 pm - 5 сар 9, 2026

Plan your journey with https://kk.readytotrip.com, online hotel booking for any destination worldwide. Instant reservation, transparent prices, and no hidden fees. Trusted platform for hassle-free travel arrangements. Start booking today.

JosephRoamyPosted on  6:02 pm - 5 сар 9, 2026

Нужен выездной ресторан? кейтеринг на свадьбу с доставкой и обслуживанием на вашей площадке. Фуршеты, банкеты, кофе-брейки и барбекю для деловых и праздничных мероприятий. Профессиональная организация питания и широкий выбор блюд для гостей.

VictorUnecePosted on  7:21 pm - 5 сар 9, 2026

Недорогие аккумуляторы https://www.akb24v.ru 24 вольта для погрузчика, стоит обратить внимание на проверенные решения с оптимальным ресурсом и стабильной отдачей. Купить тяговую батарею 24V по доступной цене. Варианты под разные задачи и типы техники.

JamesaxiofPosted on  8:11 pm - 5 сар 9, 2026

Interested in UFC? UFC White House Odds unique mixed martial arts tournament will take place on June 14, 2026, in Washington, D.C., on the South Lawn of the White House. It will be the first professional sporting event in history to be held directly on the grounds of the U.S. presidential residence.

remont stiralnih mashin_vypiPosted on  8:28 pm - 5 сар 9, 2026

мастер стиральный машина https://remont-stiralnih-mashin213.ru

GregoryusalmPosted on  7:32 am - 5 сар 10, 2026

казино бесплатное вавада казино

DarrinRoopyPosted on  6:26 pm - 5 сар 10, 2026

Закажите индивидуальную экскурсию экскурсии Янтарный Калининград и частный гид покажет посёлок с персональным подходом.

GichardnonPosted on  12:41 am - 5 сар 11, 2026

An impressive share! I’ve just forwarded this onto a friend who had been conducting a little homework on this. And he actually bought me dinner because I stumbled upon it for him… lol. So allow me to reword this…. Thanks for the meal!! But yeah, thanks for spending the time to discuss this issue here on your website.
sweepstakes casinos

naruto 29Posted on  2:24 pm - 5 сар 11, 2026

смотреть онлайн наруто подряд https://naruto-smotret.ru

mikrosluchatko 707Posted on  12:49 pm - 5 сар 12, 2026

neviditelne sluchatko na zkousky neviditelne sluchatko Praha

ChrisPhypePosted on  4:14 pm - 5 сар 12, 2026

seo продвижение яндекс kormclub.ru

binance h”anvisningsbonusPosted on  6:54 pm - 5 сар 12, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/register?ref=IXBIAFVY

ThomasstuncPosted on  5:22 am - 5 сар 13, 2026

Нужен ремонт? ремонт квартир под ключ в Омске — полный комплекс ремонтно-отделочных работ: от разработки дизайна до финальной уборки. Качественный ремонт квартир с соблюдением сроков и прозрачной сметой.

GeorgeMonPosted on  7:49 am - 5 сар 13, 2026

Our approach as a trusted construction company in Moraira is designed for clients who value a hassle-free experience. We manage every detail of turnkey construction, from initial architectural drawings to the final interior decorating.

JerryShalePosted on  2:17 pm - 5 сар 13, 2026

Автомобильный портал https://autort.ru с обзорами машин, новостями автопрома, рейтингами моделей и советами по выбору авто. Полезная информация для покупателей, владельцев и всех любителей автомобилей.

ThomasCarPosted on  4:33 pm - 5 сар 13, 2026

Женский портал https://justwoman.club с полезными статьями о красоте, здоровье, моде, психологии и отношениях. Советы экспертов, лайфхаки, идеи для ухода за собой и вдохновение для современной женщины.

RobertnofPosted on  6:47 pm - 5 сар 13, 2026

Когда хочется отдохнуть удобно выбирать лучшие дорамы онлайн без десятков открытых вкладок, непонятных ресурсов и хаотичного поиска. Проект DoramaLend объединил в одном месте корейские, китайские, японские и другие азиатские сериалы с понятным русским переводом, понятными описаниями, жанрами, годами выхода и удобными карточками. Здесь легко найти романтическую историю на вечер, напряженный триллер, легкую комедию или новый релиз, которую уже обсуждают поклонники дорам.

binance kayit olPosted on  10:40 pm - 5 сар 13, 2026

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

JarredFenPosted on  8:23 am - 5 сар 14, 2026

Тем, кто хочет китайские дорамы с русской озвучкой онлайн без суеты и долгих поисков, DoramaGo легко станет удобным местом для отдыха после учебы или работы. Здесь представлены корейские, китайские, японские, тайские и другие азиатские сериалы, где есть то самое настроение, за которое дорамы так ценят: трогательные любовные линии, неожиданные повороты, яркие герои и визуальная красота азиатских сериалов. Понятная навигация помогает легко найти подходящую дораму по стране, жанру, году или настроению, а свежие серии позволяют быть в курсе новых эпизодов.

DonaldMopPosted on  12:21 pm - 5 сар 14, 2026

Арена гайдов crarena.ru полезные гайды по играм, квестам и заданиям. Подробные прохождения, советы, секреты и тактики для разных игр. Помогаем быстрее проходить миссии, находить скрытые предметы и открывать новые возможности игрового мира.

AngelartixPosted on  3:04 pm - 5 сар 14, 2026

Новостной онлайн-портал https://vse-novosti.net с круглосуточным обновлением информации. Новости мира и регионов, аналитические материалы, обзоры и важные события в одном месте.

AntoniojundaPosted on  5:46 pm - 5 сар 14, 2026

Новостной портал https://tovarpost.ru с актуальными событиями России и мира. Политика, экономика, общество, технологии и спорт. Оперативные новости, аналитика и важные события в режиме реального времени.

Binance推荐奖金Posted on  7:20 pm - 5 сар 14, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.info/zh-TC/register?ref=DCKLL1YD

MichaellaXPosted on  9:03 pm - 5 сар 14, 2026

Пробелмы с финансами? https://financedirector.by анализ стратегий планирования, управления денежными потоками и инвестициями. Практические примеры, инструменты финансового менеджмента и эффективные решения для устойчивого развития бизнеса.

AdamPosted on  9:47 pm - 5 сар 14, 2026

Thông tin rất hữu ích, cảm ơn chủ thớt. Góp vui với anh
em một chút, mình xin review nhanh một bến đỗ
an toàn và xanh chín mang tên C168.

Nhắc đến C168 là nhắc đến tốc độ thanh
toán sòng phẳng. Theo mình test thì cổng vào mượt nhất
nằm ở địa chỉ c168.casa nha.

Truy cập vào c168.casa, anh em sẽ được trải nghiệm hệ thống nạp rút siêu tốc 1-1.

Anh em nào muốn đổi gió thì ghé ngay c168.casa đăng ký nhé.
Hy vọng anh em húp trọn khuyến mãi cùng c168.casa.

RichardsesPosted on  7:38 am - 5 сар 15, 2026

Красоты мурманска https://republictravel.ru/tours/murmansk/ заполярная романтика, суровое Баренцево море и северное сияние, которое здесь ловят с сентября по апрель. Мы организуем тур в Мурманск из Москвы и туры в Мурманск из СПб с комфортом и без лишних пересадок. Принимаем туристов в Мурманске из любого региона России.

RichardnusPosted on  12:05 pm - 5 сар 15, 2026

App navigation: understand how to buy likes on tiktok app for best options.

NewtonEVOFEPosted on  4:47 pm - 5 сар 15, 2026

Новостной портал https://press-center.news с актуальными событиями из мира политики, экономики, технологий, общества и культуры. Оперативные новости, аналитические материалы, интервью, репортажи и мнения экспертов. Следите за важными событиями в стране и мире в удобном формате.

StephenRarPosted on  7:01 pm - 5 сар 15, 2026

Останні новини https://18000.ck.ua Черкас та Черкаської області

FrancislyhorPosted on  11:15 pm - 5 сар 15, 2026

Нужна CRM банкротством физ лиц? crm для БФЛ инструмент автоматизации юридического бизнеса по банкротству физических лиц. Управляйте заявками, делами клиентов, документами и сроками процедур. Система помогает организовать работу команды и контролировать каждый этап банкротства.

CarloslenPosted on  10:30 am - 5 сар 16, 2026

Пицца в Саратов https://kosmopizza.ru свежая, ароматная и приготовленная по лучшим рецептам. Заказывайте доставку пиццы на дом или в офис, выбирайте из большого меню: классические и авторские пиццы, горячие закуски и напитки. Быстрая доставка по городу.

ThurmanlonPosted on  12:55 pm - 5 сар 16, 2026

Купить пиццу https://pizzeriacuba.ru в Воронеж с быстрой доставкой на дом или в офис. Большой выбор пиццы: классические рецепты, авторские вкусы, свежие ингредиенты и горячая выпечка. Удобный онлайн-заказ, акции и выгодные предложения для любителей вкусной пиццы.

JamesmumPosted on  3:45 pm - 5 сар 16, 2026

Современный коворкинг https://expresrabota.com/kovorking-kogda-ofis-stanovitsya-soobshtestvom.html для комфортной и продуктивной работы. Рабочие места, переговорные комнаты, быстрый интернет и удобная инфраструктура. Подходит для фрилансеров, предпринимателей, стартапов и команд, которым нужен гибкий офис.

888starz_klptPosted on  7:20 pm - 5 сар 16, 2026

888starz تسجيل الدخول مراهنات https://888starz-egyp.com/

888starz_gmSlPosted on  7:43 pm - 5 сар 16, 2026

888starz تسجيل الدخول 888 starz bet

MarionGlurnPosted on  9:13 pm - 5 сар 16, 2026

Турагентство по России https://republictravel.ru туры в Карелия, Байкал, Камчатка, Дагестан, Мурманск, Калининград, Санкт-Петербург и другие направления. Экскурсии, отдых и авторские маршруты по самым красивым регионам страны.

Skachat video s Utyba_whsnPosted on  11:08 pm - 5 сар 16, 2026

youtube downloader url youtube downloader url

MarvinKarPosted on  11:41 pm - 5 сар 16, 2026

Тем, кто хочет дорамы с русской озвучкой онлайн бесплатно спокойно, без лишних переходов и путаницы, DoramaGo подойдет как удобным местом для уютного просмотра в свободное время. Здесь представлены корейские, китайские, японские, тайские и другие азиатские сериалы, где есть романтика, эмоции и атмосфера, ради которых хочется включить еще одну серию: красивые истории о любви, неожиданные повороты, яркие герои и визуальная красота азиатских сериалов. Простой выбор по разделам помогает легко найти подходящую дораму по стране, жанру, году или настроению, а регулярные обновления позволяют быть в курсе новых эпизодов.

Skachat video s Utyba_eysnPosted on  4:37 am - 5 сар 17, 2026

скачать видео с ютуба на смартфон https://skachat-video-s-youtube-11.ru

ErnesthaiffPosted on  8:30 am - 5 сар 17, 2026

Хочешь сайтв ТОПе? https://kormclub.ru оптимизация структуры, работа с контентом, внешние ссылки и аналитика. Помогаем вывести сайт в топ поисковых систем и привлечь целевую аудиторию.

Skachat video s Utyba_tlsnPosted on  10:15 am - 5 сар 17, 2026

скачать видео ютуб на пк скачать видео ютуб на пк

Kapelnica ot pohmelya_jeprPosted on  10:26 am - 5 сар 17, 2026

капельница от запоя недорого капельница от запоя недорого

kypit spectehniky_hupnPosted on  11:23 am - 5 сар 17, 2026

продажа спецтехники Volvo https://tech-group.com.ua

Binance代码Posted on  12:10 pm - 5 сар 17, 2026

Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://www.binance.bh/futures/ref?code=QCGZMHR6

Skachat video s Utyba_qpsnPosted on  3:06 pm - 5 сар 17, 2026

загрузчик видео с ютуба загрузчик видео с ютуба

Kapelnica ot pohmelya_czprPosted on  3:28 pm - 5 сар 17, 2026

капельница от запоя стоимость https://kapelnicza-ot-pokhmelya-samara-22.ru

toiota servis_nlkiPosted on  3:54 pm - 5 сар 17, 2026

тойота сервис тойота сервис

kypit spectehniky_nnpnPosted on  7:14 pm - 5 сар 17, 2026

Volvo Украина http://www.tech-group.com.ua

Kapelnica ot pohmelya_erElPosted on  7:26 pm - 5 сар 17, 2026

капельница от алкоголя капельница от алкоголя

reiting kripto BK_zzStPosted on  7:34 pm - 5 сар 17, 2026

крипто букмекеры крипто букмекеры

bk Litvi_gwKnPosted on  7:43 pm - 5 сар 17, 2026

ставки на спорт Литвы ставки на спорт Литвы

Kapelnica ot pohmelya_kqSlPosted on  9:11 pm - 5 сар 17, 2026

капельница от похмелья самара капельница от похмелья самара

Skachat video s Utyba_jysnPosted on  9:16 pm - 5 сар 17, 2026

скачать видео ютуба скачать видео ютуба

Narkolog na dom_tceaPosted on  9:20 pm - 5 сар 17, 2026

психиатр нарколог на дом https://narkolog-na-dom-nizhnij-novgorod-2.ru

Kapelnica ot pohmelya_fdprPosted on  9:20 pm - 5 сар 17, 2026

капельница от запоя недорого капельница от запоя недорого

Kapelnica ot pohmelya_ysElPosted on  2:13 am - 5 сар 18, 2026

капельница на дому в екатеринбурге капельница на дому в екатеринбурге

Kapelnica ot pohmelya_tqprPosted on  2:17 am - 5 сар 18, 2026

капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-22.ru

kypit spectehniky_pgpnPosted on  2:18 am - 5 сар 18, 2026

новая строительная техника Volvo http://www.tech-group.com.ua

Narkolog na dom_yceaPosted on  2:19 am - 5 сар 18, 2026

нарколог нижний новгород на дом нарколог нижний новгород на дом

Kapelnica ot pohmelya_bsSlPosted on  2:20 am - 5 сар 18, 2026

прокапать от алкоголя самара прокапать от алкоголя самара

bk Litvi_dhKnPosted on  2:23 am - 5 сар 18, 2026

ставки на спорт Литвы ставки на спорт Литвы

reiting kripto BK_ubStPosted on  2:30 am - 5 сар 18, 2026

крипто букмекеры крипто букмекеры

toiota servis_tykiPosted on  5:15 am - 5 сар 18, 2026

тойота сервис тойота сервис

Narkolog na dom_mgeaPosted on  7:18 am - 5 сар 18, 2026

нарколог нижний новгород анонимно нарколог нижний новгород анонимно

Kapelnica ot pohmelya_nfprPosted on  7:25 am - 5 сар 18, 2026

вывод из запоя цены самара вывод из запоя цены самара

reiting kripto BK_ddStPosted on  8:04 am - 5 сар 18, 2026

букмекерские крипто конторы букмекерские крипто конторы

kypit spectehniky_mbpnPosted on  8:09 am - 5 сар 18, 2026

продажа спецтехники Volvo http://www.tech-group.com.ua

EdwardKEDPosted on  10:37 am - 5 сар 18, 2026

UFCWAR is a website ufcwar com for fans of the Ultimate Fighting Championship and MMA. Latest news, fight results, tournament schedules, analysis, and fight reviews. Up-to-date information on fighters, events, and major fights.

Narkolog na dom_sheaPosted on  12:03 pm - 5 сар 18, 2026

нарколог на дом цена нарколог на дом цена

Kapelnica ot pohmelya_thElPosted on  12:35 pm - 5 сар 18, 2026

поставить капельницу цена в екатеринбурге https://kapelnicza-ot-pokhmelya-ekaterinburg-17.ru

reiting kripto BK_qbStPosted on  1:53 pm - 5 сар 18, 2026

Лучшие крипто букмекерские конторы Лучшие крипто букмекерские конторы

RodneykedPosted on  1:55 pm - 5 сар 18, 2026

UFCShare is a portal https://ufcshare.com for fans of the Ultimate Fighting Championship and the world of MMA. News, fight results, tournament schedules, analysis, and fight reviews. Follow the best fighters and the main events of mixed martial arts.

kypit spectehniky_rapnPosted on  1:59 pm - 5 сар 18, 2026

Volvo Construction Equipment http://www.tech-group.com.ua

JamesWarPosted on  3:35 pm - 5 сар 18, 2026

F1 Direct is a website https://f1-direct.net/ about the world of Formula 1. Latest news, race results, race calendar, team and driver statistics. Up-to-date information for fans of the royal motor racing world.

StevenAssubPosted on  3:59 pm - 5 сар 18, 2026

Сайт про прикмети https://zefirka.net.ua тлумачення снів, значення імен та традиції. Читайте сонник, дізнавайтеся про походження імен, вивчайте народні звичаї та свята. Корисна інформація про культуру, повір’я та символіку різних народів.

JamesPeapePosted on  6:11 pm - 5 сар 18, 2026

Розповідаємо про складні https://notatky.net.ua речі простими словами. Зрозумілі пояснення науки, технологій, економіки та повсякденних явищ. Статті, розбори та факти, які допомагають краще розуміти світ та знаходити відповіді на складні питання.

yol yardımPosted on  6:46 pm - 5 сар 18, 2026

karabük şehrinde yol yardım hizmeti yol yardım

toiota servis_eekiPosted on  8:05 pm - 5 сар 18, 2026

сервисный центр тойота сервисный центр тойота

Kapelnica ot pohmelya_qgSlPosted on  9:09 pm - 5 сар 18, 2026

капельница от похмелья самара капельница от похмелья самара

apartments for sale phuket_lmEtPosted on  9:24 pm - 5 сар 18, 2026

cheap phuket apartments for sale cheap phuket apartments for sale

reiting kripto BK_ooStPosted on  9:33 pm - 5 сар 18, 2026

рейтинг крипто БК рейтинг крипто БК

kyhni SPb_lyMlPosted on  9:42 pm - 5 сар 18, 2026

кухни на заказ спб кухни на заказ спб

kyhni SPb_nqpaPosted on  9:43 pm - 5 сар 18, 2026

кухни на заказ в спб от производителя кухни на заказ в спб от производителя

Kapelnica ot pohmelya_ktKaPosted on  10:49 pm - 5 сар 18, 2026

капельница от похмелья самара капельница от похмелья самара

villas for sale phuket_agetPosted on  10:55 pm - 5 сар 18, 2026

villas for sale in phuket island villas for sale in phuket island

zakazat kyhnu_lrOlPosted on  11:08 pm - 5 сар 18, 2026

сколько стоит заказать кухню по размерам https://zakazat-kuhnyu-20.ru

Rylonnie shtori s elektroprivodom_puOlPosted on  11:14 pm - 5 сар 18, 2026

автоматические рулонные шторы с электроприводом автоматические рулонные шторы с электроприводом

Kapelnica ot pohmelya_hsSlPosted on  1:41 am - 5 сар 19, 2026

сколько стоит капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-24.ru

fan sport bk_eiSiPosted on  3:09 am - 5 сар 19, 2026

фанспорт букмекерская контора онлайн фанспорт букмекерская контора онлайн

apartments for sale phuket_dfEtPosted on  3:15 am - 5 сар 19, 2026

cheap phuket apartments for sale cheap phuket apartments for sale

kyhni SPb_hmMlPosted on  3:22 am - 5 сар 19, 2026

кухни на заказ спб недорого с ценами кухни на заказ спб недорого с ценами

Kapelnica ot pohmelya_vgKaPosted on  3:22 am - 5 сар 19, 2026

капельница от запоя клиника https://kapelnicza-ot-pokhmelya-samara-23.ru

kyhni SPb_frpaPosted on  3:25 am - 5 сар 19, 2026

кухни на заказ питер https://kuhni-spb-59.ru

villas for sale phuket_zeetPosted on  3:26 am - 5 сар 19, 2026

luxury villas in phuket thailand for sale luxury villas in phuket thailand for sale

zakazat kyhnu_ipOlPosted on  5:05 am - 5 сар 19, 2026

заказать кухню цена заказать кухню цена

Rylonnie shtori s elektroprivodom_vnOlPosted on  5:32 am - 5 сар 19, 2026

рулонные шторы с электроприводом на окна рулонные шторы с электроприводом на окна

AndresshiesPosted on  6:07 am - 5 сар 19, 2026

Лучшие слоты онлайн шугар раш игра на деньги красочный слот с цепными выигрышами и накопительными множителями. Игра отличается простым управлением, ярким дизайном и высоким потенциалом выигрыша при удачных комбинациях.

Kapelnica ot pohmelya_gySlPosted on  6:24 am - 5 сар 19, 2026

капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-24.ru

Narkolog na dom_qgmlPosted on  7:39 am - 5 сар 19, 2026

вызов нарколога на дом воронеж вызов нарколога на дом воронеж

Kapelnica ot pohmelya_apKaPosted on  7:59 am - 5 сар 19, 2026

капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-23.ru

villas for sale phuket_acetPosted on  8:03 am - 5 сар 19, 2026

villas in phuket thailand for sale villas in phuket thailand for sale

BradleylaWPosted on  10:21 am - 5 сар 19, 2026

Міський портал Дніпро https://faine-misto.dp.ua свіжі новини, події, афіша заходів та корисна інформація. Довідник компаній, міські сервіси, оголошення та все про життя міста.

SidneyJamPosted on  10:24 am - 5 сар 19, 2026

Чоловічий блог https://u-kuma.com з корисною інформацією про фінанси, кар’єру, здоров’я, спорт і стиль. Практичні поради, аналітика та матеріали для саморозвитку та впевненого руху до цілей.

kyhni SPb_aspaPosted on  10:38 am - 5 сар 19, 2026

кухня по индивидуальному заказу спб кухня по индивидуальному заказу спб

apartments for sale phuket_kaEtPosted on  10:38 am - 5 сар 19, 2026

apartments in phuket for sale apartments in phuket for sale

22bet stavki_moEtPosted on  10:39 am - 5 сар 19, 2026

22bet регистрация 22bet регистрация

Kapelnica ot pohmelya_cxSlPosted on  12:09 pm - 5 сар 19, 2026

сколько стоит капельница от запоя сколько стоит капельница от запоя

zakazat kyhnu_ujOlPosted on  12:31 pm - 5 сар 19, 2026

заказать кухню по своим размерам заказать кухню по своим размерам

Rylonnie shtori s elektroprivodom_nhOlPosted on  12:37 pm - 5 сар 19, 2026

электрические рулонные шторы купить москва электрические рулонные шторы купить москва

Kapelnica ot pohmelya_bjKaPosted on  1:51 pm - 5 сар 19, 2026

прокапать от алкоголя самара прокапать от алкоголя самара

villas for sale phuket_mhetPosted on  1:55 pm - 5 сар 19, 2026

luxury villas thailand phuket for sale luxury villas thailand phuket for sale

JamesSwodyPosted on  2:11 pm - 5 сар 19, 2026

Портал для людей похилого https://pensioneram.in.ua віку з Україна з корисною інформацією про пенсії, пільги, здоров’я та соціальні послуги. Прості поради, новини та інструкції для повсякденного життя пенсіонерів.

RobertfruriPosted on  2:12 pm - 5 сар 19, 2026

Жіночий портал https://soloha.in.ua з актуальними матеріалами про моду, красу, здоров’я, психологію та сім’ю. Корисні поради, ідеї та натхнення для сучасних жінок щодня.

Narkolog na dom_ycmlPosted on  2:25 pm - 5 сар 19, 2026

нарколога домой https://narkolog-na-dom-voronezh-13.ru

çekiciPosted on  4:15 pm - 5 сар 19, 2026

karabük şehrinde çekici hizmeti çekici

CarrolltalPosted on  4:53 pm - 5 сар 19, 2026

Услуги грузчиков https://www.gruzchiki-kiev.net в Киеве для переездов, разгрузки транспорта, подъема мебели и строительных материалов. Профессиональные рабочие выполняют погрузочно-разгрузочные работы любой сложности, гарантируя аккуратное обращение с имуществом и оперативное выполнение заказа.

StephenkawPosted on  4:54 pm - 5 сар 19, 2026

Последние новости Киева https://xxl.kyiv.ua сегодня: события города, политика, экономика, происшествия, транспорт и городская жизнь. Актуальная информация, репортажи, аналитика и важные обновления, которые помогают быть в курсе всех событий столицы Украины.

DominicunaksPosted on  4:55 pm - 5 сар 19, 2026

Педагоги и психологи http://smartxpert.ru экспертный портал о воспитании, обучении и развитии личности. Полезные статьи, практические советы специалистов, современные методики педагогики и психологии, рекомендации для родителей, учителей и всех, кто интересуется развитием человека.

Kapelnica ot pohmelya_obSlPosted on  5:59 pm - 5 сар 19, 2026

капельница от запоя стоимость https://kapelnicza-ot-pokhmelya-samara-24.ru

kyhni SPb_evMlPosted on  6:09 pm - 5 сар 19, 2026

кухни под заказ спб кухни под заказ спб

kyhni SPb_kepaPosted on  6:15 pm - 5 сар 19, 2026

купить кухню на заказ спб https://kuhni-spb-59.ru

zakazat kyhnu_shOlPosted on  6:29 pm - 5 сар 19, 2026

заказать кухню с установкой https://zakazat-kuhnyu-20.ru

22bet stavki_fvEtPosted on  6:32 pm - 5 сар 19, 2026

22bet регистрация 22bet регистрация

villas for sale phuket_knetPosted on  7:58 pm - 5 сар 19, 2026

luxury phuket villas sale luxury phuket villas sale

Kapelnica ot pohmelya_bfKaPosted on  7:59 pm - 5 сар 19, 2026

капельница от запоя недорого капельница от запоя недорого

Rylonnie shtori s elektroprivodom_kiOlPosted on  8:14 pm - 5 сар 19, 2026

рулонные жалюзи на окна цена https://rulonnye-shtory-s-elektroprivodom10.ru

apartments for sale phuket_qxEtPosted on  8:20 pm - 5 сар 19, 2026

laguna phuket apartments for sale laguna phuket apartments for sale

Narkolog na dom_hrmlPosted on  10:11 pm - 5 сар 19, 2026

нарколог на дом круглосуточно воронеж цены нарколог на дом круглосуточно воронеж цены

ArthurnemPosted on  10:48 pm - 5 сар 19, 2026

Interested in processors https://cpu-socket.com with detailed specifications: clock speed, core count, generation, process technology, and supported sockets. A convenient CPU catalog for comparing and matching processors to your motherboard.

kyhni SPb_mkMlPosted on  1:16 am - 5 сар 20, 2026

заказать кухню в спб по индивидуальному проекту заказать кухню в спб по индивидуальному проекту

22bet stavki_cgEtPosted on  1:20 am - 5 сар 20, 2026

22bet букмекерская контора 22bet букмекерская контора

zakazat kyhnu_dmOlPosted on  1:27 am - 5 сар 20, 2026

заказать кухню заказать кухню

kyhni SPb_bwpaPosted on  1:28 am - 5 сар 20, 2026

кухни на заказ спб недорого с ценами https://kuhni-spb-59.ru

apartments for sale phuket_iqEtPosted on  4:29 am - 5 сар 20, 2026

freehold apartments for sale in phuket freehold apartments for sale in phuket

Narkolog na dom_sdmlPosted on  5:16 am - 5 сар 20, 2026

вызов наркологической помощи https://narkolog-na-dom-voronezh-13.ru

22bet stavki_iqEtPosted on  8:47 am - 5 сар 20, 2026

22bet регистрация 22bet регистрация

зареструватися на бнансPosted on  8:53 am - 5 сар 20, 2026

I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.com/register?ref=QCGZMHR6

RobertunfofPosted on  9:17 am - 5 сар 20, 2026

Быстрая профессиональная монтаж видеонаблюдения в калининграде для квартир, домов, офисов и коммерческих объектов. Проектирование, монтаж и настройка систем безопасности, удалённый доступ, запись видео и контроль в реальном времени. Надёжные решения для защиты имущества и контроля территории.

GilbertLerPosted on  9:52 am - 5 сар 20, 2026

В интернете представлен сайт https://cvt25pro.ru где подробно рассматривается устройство и обслуживание трансмиссий. На его страницах можно найти информацию, касающуюся ремонта вариатора CVT 25 Chery, особенностей диагностики и возможных неисправностей этого агрегата. Материалы ресурса помогают понять специфику работы таких коробок передач и основные подходы к их восстановлению

Kapelnica ot pohmelya_gdprPosted on  10:04 am - 5 сар 20, 2026

капельница от запоя недорого капельница от запоя недорого

Narkolog na dom_mzetPosted on  10:16 am - 5 сар 20, 2026

сколько стоит нарколог на дом https://narkolog-na-dom-voronezh-12.ru

注册BinancePosted on  10:44 am - 5 сар 20, 2026

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://www.binance.com/register?ref=IHJUI7TF

apartments for sale phuket_itPtPosted on  11:14 am - 5 сар 20, 2026

condos for sale in phuket condos for sale in phuket

macunak 162Posted on  12:08 pm - 5 сар 20, 2026

Компрессорное оборудование https://macunak.by в Минске: продажа и обслуживание. Широкий выбор промышленного компрессорного оборудования на macunak.by — надёжность и сервис под ключ.

Narkolog na dom_ahmlPosted on  12:59 pm - 5 сар 20, 2026

вызов нарколога вызов нарколога

farbwood 529Posted on  2:15 pm - 5 сар 20, 2026

Пиломатериалы в Минске https://farbwood.by сибирская лиственница от производителя Farbwood. Качественные строительные материалы из лиственницы — доски, брус, вагонка. Гарантия долговечности и природной красоты.

sezon-stroy 201Posted on  2:19 pm - 5 сар 20, 2026

Решил сделать ограждение? 3 д ограждение прочные металлические секции для заборов и ограждений территорий. Подходят для частных домов, предприятий, школ и складов. Панели имеют антикоррозийное покрытие, современный внешний вид и обеспечивают надежную защиту участка.

kypit elektricheskie rylonnie shtori_dmstPosted on  3:26 pm - 5 сар 20, 2026

автоматические рулонные шторы с электроприводом на окна автоматические рулонные шторы с электроприводом на окна

22bet stavki_rhEtPosted on  4:39 pm - 5 сар 20, 2026

22bet ставки 22bet ставки

Kapelnica ot pohmelya_ajprPosted on  5:24 pm - 5 сар 20, 2026

капельница от запоя стоимость https://kapelnicza-ot-pokhmelya-samara-22.ru

Narkolog na dom_rqetPosted on  5:56 pm - 5 сар 20, 2026

вызвать нарколога https://narkolog-na-dom-voronezh-12.ru

kyhni SPb_appiPosted on  8:30 pm - 5 сар 20, 2026

производство кухонь в спб на заказ https://kuhni-spb-58.ru

apartments for sale phuket_zbPtPosted on  9:00 pm - 5 сар 20, 2026

apartments for sale phuket thailand apartments for sale phuket thailand

Kapelnica ot pohmelya_zxKaPosted on  9:38 pm - 5 сар 20, 2026

капельница от похмелья купить https://kapelnicza-ot-pokhmelya-samara-23.ru

DavidopirmPosted on  10:36 pm - 5 сар 20, 2026

Продажа и установка камеры видеонаблюдения калининград. Современные системы безопасности для квартир, домов, магазинов и складов. Настройка удалённого доступа, запись видео и круглосуточный контроль объекта.

WillisBoinkPosted on  10:39 pm - 5 сар 20, 2026

Быстрая профессиональная установка видеонаблюдения в калининграде для квартир, домов, офисов и коммерческих объектов. Проектирование, монтаж и настройка систем безопасности, удалённый доступ, запись видео и контроль в реальном времени. Надёжные решения для защиты имущества и контроля территории.

kypit elektricheskie rylonnie shtori_wwstPosted on  11:52 pm - 5 сар 20, 2026

рулонные шторы с электроприводом рулонные шторы с электроприводом

avtomaticheskie rylonnie shtori_geoiPosted on  12:19 am - 5 сар 21, 2026

автоматические рулонные шторы с электроприводом автоматические рулонные шторы с электроприводом

Kapelnica ot pohmelya_prprPosted on  1:51 am - 5 сар 21, 2026

капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-22.ru

villas for sale phuket_ogetPosted on  3:26 am - 5 сар 21, 2026

villas for sale in phuket thailand villas for sale in phuket thailand

Narkolog na dom_tjetPosted on  3:45 am - 5 сар 21, 2026

вызвать нарколога https://narkolog-na-dom-voronezh-12.ru

kyhni SPb_ndpiPosted on  4:11 am - 5 сар 21, 2026

производство кухонь в спб на заказ https://kuhni-spb-58.ru

apartments for sale phuket_saPtPosted on  5:59 am - 5 сар 21, 2026

phuket thailand apartments for sale phuket thailand apartments for sale

Kapelnica ot pohmelya_szKaPosted on  6:30 am - 5 сар 21, 2026

капельница от запоя клиника https://kapelnicza-ot-pokhmelya-samara-23.ru

kypit elektricheskie rylonnie shtori_mostPosted on  7:17 am - 5 сар 21, 2026

рулонные шторы на окна москва рулонные шторы на окна москва

Kapelnica ot pohmelya_upprPosted on  8:05 am - 5 сар 21, 2026

капельница от запоя стоимость https://kapelnicza-ot-pokhmelya-samara-22.ru

kyhni SPb_hnpiPosted on  11:04 am - 5 сар 21, 2026

кухни в спб на заказ кухни в спб на заказ

villas for sale phuket_fmetPosted on  11:35 am - 5 сар 21, 2026

luxury villas for sale phuket luxury villas for sale phuket

Narkolog na dom_iaetPosted on  11:43 am - 5 сар 21, 2026

нарколог на дом круглосуточно воронеж цены https://narkolog-na-dom-voronezh-12.ru

rylonnie elektroshtori_xjotPosted on  3:42 pm - 5 сар 21, 2026

рулонная штора цена рулонная штора цена

Kapelnica ot pohmelya_uqKaPosted on  3:51 pm - 5 сар 21, 2026

капельница от похмелья https://kapelnicza-ot-pokhmelya-samara-23.ru

apartments for sale phuket_abPtPosted on  3:57 pm - 5 сар 21, 2026

laguna phuket apartments for sale laguna phuket apartments for sale

kapelnica ot zapoya_geMiPosted on  5:02 pm - 5 сар 21, 2026

прокапаться анонимно прокапаться анонимно

Vivod iz zapoya v stacionare_fmMnPosted on  5:33 pm - 5 сар 21, 2026

наркология вывод из запоя в стационаре наркология вывод из запоя в стационаре

kyhni SPb_fipiPosted on  8:06 pm - 5 сар 21, 2026

кухня на заказ кухня на заказ

vivod iz zapoya na domy_pmenPosted on  8:07 pm - 5 сар 21, 2026

помощь вывода запоя помощь вывода запоя

villas for sale phuket_jdetPosted on  8:07 pm - 5 сар 21, 2026

villas for sale in phuket island villas for sale in phuket island

kypit elektricheskie rylonnie shtori_jgstPosted on  8:17 pm - 5 сар 21, 2026

электрические рулонные жалюзи электрические рулонные жалюзи

Narkolog na dom_cuetPosted on  9:01 pm - 5 сар 21, 2026

вызвать нарколога https://narkolog-na-dom-voronezh-12.ru

rylonnie elektroshtori_muotPosted on  11:08 pm - 5 сар 21, 2026

заказать рулонные шторы цена https://rulonnye-elektroshtory.ru

kapelnica ot zapoya_poMiPosted on  12:12 am - 5 сар 22, 2026

капельницу на дом стоимость капельницу на дом стоимость

Kapelnica ot pohmelya_rkKaPosted on  1:25 am - 5 сар 22, 2026

капельница после запоя цена капельница после запоя цена

vivod iz zapoya na domy_udenPosted on  1:33 am - 5 сар 22, 2026

вывод из запоя спб https://vyvod-iz-zapoya-na-domu-sankt-peterburg-19.ru

apartments for sale phuket_baPtPosted on  2:37 am - 5 сар 22, 2026

sea view apartments for sale in phuket sea view apartments for sale in phuket

Vivod iz zapoya v stacionare_irMnPosted on  3:52 am - 5 сар 22, 2026

вывод из запоя в клинике https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-16.ru

kypit elektricheskie rylonnie shtori_uhstPosted on  3:54 am - 5 сар 22, 2026

рулонные шторы с электроприводом рулонные шторы с электроприводом

rylonnie elektroshtori_nxotPosted on  5:29 am - 5 сар 22, 2026

рольшторы с электроприводом рольшторы с электроприводом

villas for sale phuket_msetPosted on  6:08 am - 5 сар 22, 2026

luxury phuket villas sale luxury phuket villas sale

kapelnica ot zapoya_cbMiPosted on  6:26 am - 5 сар 22, 2026

капельница от запоя в воронеже капельница от запоя в воронеже

vivod iz zapoya na domy_apenPosted on  6:52 am - 5 сар 22, 2026

вывод из запоя в домашних условиях нарколог 24 https://vyvod-iz-zapoya-na-domu-sankt-peterburg-19.ru

Kapelnica ot pohmelya_zoKaPosted on  7:45 am - 5 сар 22, 2026

капельница от запоя цена капельница от запоя цена

kypit elektricheskie rylonnie shtori_pzstPosted on  12:08 pm - 5 сар 22, 2026

рольшторы с электроприводом рольшторы с электроприводом

ShawnleplyPosted on  12:40 pm - 5 сар 22, 2026

Гранитная мастерская https://святаятроица73.рф в Рязани — изготовление памятников из гранита и мрамора на заказ. Производство, гравировка портретов, установка памятников и благоустройство мест захоронения. Индивидуальные проекты, качественный камень и профессиональный подход.

vivod iz zapoya na domy_egenPosted on  12:46 pm - 5 сар 22, 2026

вывод из запоя недорого нарколог24 https://vyvod-iz-zapoya-na-domu-sankt-peterburg-19.ru

Vivod iz zapoya v stacionare_nfMnPosted on  1:34 pm - 5 сар 22, 2026

наркология вывод из запоя в стационаре наркология вывод из запоя в стационаре

Binance账户创建Posted on  2:02 pm - 5 сар 22, 2026

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

Kapelnica ot pohmelya_otKlPosted on  2:26 pm - 5 сар 22, 2026

вывести из запоя капельница вывести из запоя капельница

piter na teplohode_vhErPosted on  2:34 pm - 5 сар 22, 2026

турфирма визит спб отзывы турфирма визит спб отзывы

villas for sale phuket_zretPosted on  2:40 pm - 5 сар 22, 2026

luxury villas thailand phuket for sale luxury villas thailand phuket for sale

kyhni SPb_hzplPosted on  3:24 pm - 5 сар 22, 2026

кухни от производителя спб недорого и качественно https://kuhni-spb-57.ru

kyhni SPb_eaMnPosted on  3:46 pm - 5 сар 22, 2026

кухни от производителя спб https://kuhni-spb-60.ru

BernardGeogsPosted on  4:00 pm - 5 сар 22, 2026

Новое в категории: https://perfumemag.ru/

Skachat video s Utyba_niSlPosted on  4:03 pm - 5 сар 22, 2026

скачать видио с ютуб скачать видио с ютуб

Skachat video s Utyba_ljPnPosted on  4:06 pm - 5 сар 22, 2026

скачать видео ютуб на пк https://skachat-video-s-youtube-10.ru

kypit elektricheskie rylonnie shtori_zystPosted on  7:16 pm - 5 сар 22, 2026

рулонные шторы купить москва недорого рулонные шторы купить москва недорого

BernardGeogsPosted on  7:29 pm - 5 сар 22, 2026

Все подробности по ссылке: https://spainslov.ru/

DanielbitPosted on  7:32 pm - 5 сар 22, 2026

Нужна CRM по банкротству? Битрикс24 для БФЛ автоматизация работы юридической компании, контроль этапов БФЛ, учет клиентов, документов и платежей. Управляйте делами, задачами и сроками процедур в единой системе с удобной аналитикой и отчетами.

Kapelnica ot pohmelya_tcKlPosted on  9:16 pm - 5 сар 22, 2026

прокапывание от алкоголя прокапывание от алкоголя

piter na teplohode_cqErPosted on  9:46 pm - 5 сар 22, 2026

путевки в санкт петербург цены путевки в санкт петербург цены

kapelnica ot zapoya_grMiPosted on  10:17 pm - 5 сар 22, 2026

поставить капельницу от запоя поставить капельницу от запоя

Vivod iz zapoya v stacionare_vdMnPosted on  10:36 pm - 5 сар 22, 2026

вывод из запоя в наркологическом стационаре https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-16.ru

Skachat video s Utyba_qsPnPosted on  10:43 pm - 5 сар 22, 2026

скачать видео с юту скачать видео с юту

kyhni SPb_cpplPosted on  11:19 pm - 5 сар 22, 2026

кухни на заказ в спб цены https://kuhni-spb-57.ru

kyhni SPb_xgMnPosted on  11:21 pm - 5 сар 22, 2026

купить кухню на заказ в спб https://kuhni-spb-60.ru

Skachat video s Utyba_jmSlPosted on  11:21 pm - 5 сар 22, 2026

скачать видео с юту скачать видео с юту

BobbycalPosted on  12:24 am - 5 сар 23, 2026

Complete Deadlock http://www.deadlock1.com hub for English speakers. Latest patches, hero counters, item tier lists, community builds, step?by?step guides, pro match analysis, tournament brackets, and esports news. All in one site – perfect for beginners and competitive players alike.

Narkolog na dom_hjKaPosted on  12:26 am - 5 сар 23, 2026

вызов нарколога на дом анонимно https://narkolog-na-dom-voronezh-11.ru

StevenwablyPosted on  12:28 am - 5 сар 23, 2026

UFC Rankings 2026 http://www.ufcfans.net/ updated weekly. Detailed tables for each division: heavyweight, light heavyweight, middleweight, welterweight, lightweight, featherweight, bantamweight, flyweight, and women’s classes.

vivod iz zapoya na domy_zpenPosted on  2:23 am - 5 сар 23, 2026

вывод из запоя на дому спб цены https://vyvod-iz-zapoya-na-domu-sankt-peterburg-19.ru

kapelnica ot pohmelya_ubptPosted on  2:23 am - 5 сар 23, 2026

капельница от похмелья на дому капельница от похмелья на дому

Kapelnica ot pohmelya_ytKlPosted on  3:49 am - 5 сар 23, 2026

капельница от запоя нижний новгород капельница от запоя нижний новгород

kypit elektricheskie rylonnie shtori_lastPosted on  4:29 am - 5 сар 23, 2026

шторы на окна купить https://elektricheskie-rulonnye-shtory99.ru

piter na teplohode_tdErPosted on  5:11 am - 5 сар 23, 2026

туры в санкт петербург из москвы туры в санкт петербург из москвы

Skachat video s Utyba_rlPnPosted on  6:13 am - 5 сар 23, 2026

скачать видео с ютуба без вирусов https://skachat-video-s-youtube-10.ru

kapelnica ot zapoya_qhMiPosted on  6:13 am - 5 сар 23, 2026

прокапаться от алкоголя цены прокапаться от алкоголя цены

kyhni SPb_csMnPosted on  6:36 am - 5 сар 23, 2026

заказать кухню спб заказать кухню спб

kyhni SPb_hnplPosted on  6:38 am - 5 сар 23, 2026

кухни на заказ от производителя в спб https://kuhni-spb-57.ru

Skachat video s Utyba_igSlPosted on  6:47 am - 5 сар 23, 2026

скачать видео из youtube https://skachat-video-s-youtube-9.ru

Vivod iz zapoya v stacionare_reMnPosted on  6:54 am - 5 сар 23, 2026

вывод из запоя в стационаре вывод из запоя в стационаре

Narkolog na dom_ycKaPosted on  7:20 am - 5 сар 23, 2026

выезд нарколога https://narkolog-na-dom-voronezh-11.ru

vivod iz zapoya na domy_gfenPosted on  7:40 am - 5 сар 23, 2026

вывод из запоя вывод из запоя

kapelnica ot pohmelya_llptPosted on  9:12 am - 5 сар 23, 2026

вызов капельницы на дом вызов капельницы на дом

ScottSholiPosted on  9:18 am - 5 сар 23, 2026

Real-time Formula 1 http://www.t.me/s/f1vpe/ news. Race results, driver transfers, round analysis, interviews, and the main events of the FIA ??World Championship.

Kapelnica ot pohmelya_qsKlPosted on  10:45 am - 5 сар 23, 2026

вызвать капельницу от запоя вызвать капельницу от запоя

bytovoy-ugolok 984Posted on  11:46 am - 5 сар 23, 2026

Бытовая химия для дома https://bytovoy-ugolok.ru средства для уборки кухни, ванной, пола, стирки и дезинфекции. Заказывайте качественные товары для поддержания чистоты и комфорта с доставкой и выгодными предложениями.

HomerpreogPosted on  11:48 am - 5 сар 23, 2026

Услуги грузчиков https://www.gruzchiki-kiev.net в Киеве для переездов, разгрузки транспорта, подъема мебели и строительных материалов. Профессиональные рабочие выполняют погрузочно-разгрузочные работы любой сложности, гарантируя аккуратное обращение с имуществом и оперативное выполнение заказа.

Skachat video s Utyba_ctPnPosted on  12:32 pm - 5 сар 23, 2026

скачать видео ютуб 1080 скачать видео ютуб 1080

piter na teplohode_ygErPosted on  1:00 pm - 5 сар 23, 2026

туры по санкт петербургу без проживания http://www.piter-na-teplohode.ru

kapelnica ot zapoya_pnMiPosted on  1:25 pm - 5 сар 23, 2026

капельница от запоя капельница от запоя

shalmach 713Posted on  1:36 pm - 5 сар 23, 2026

Сервис оценки недвижимости https://shalmach.pro помогает быстро узнать примерную стоимость объекта, возможные риски и рекомендации перед сделкой. Анализируйте состояние жилья, бюджет покупки и сценарии дальнейших действий до подписания договора.

Narkolog na dom_ilKaPosted on  1:37 pm - 5 сар 23, 2026

вызвать нарколога на дом воронеж вызвать нарколога на дом воронеж

kyhni SPb_gsplPosted on  2:12 pm - 5 сар 23, 2026

кухня на заказ кухня на заказ

Skachat video s Utyba_qhSlPosted on  2:14 pm - 5 сар 23, 2026

скачать видео с ютуб в хорошем качестве https://skachat-video-s-youtube-9.ru

kyhni SPb_pqMnPosted on  2:21 pm - 5 сар 23, 2026

кухня на заказ кухня на заказ

kapelnica ot pohmelya_ejptPosted on  4:07 pm - 5 сар 23, 2026

капельница от запоя на дому капельница от запоя на дому

vivod iz zapoya na domy_jootPosted on  4:25 pm - 5 сар 23, 2026

цены на вывод из запоя на дому цены на вывод из запоя на дому

Kapelnica ot pohmelya_pmKlPosted on  5:35 pm - 5 сар 23, 2026

выведение из запоя капельница выведение из запоя капельница

vivod iz zapoya na domy_kkKnPosted on  6:10 pm - 5 сар 23, 2026

вывод из запоя вывод из запоя

Skachat video s Utyba_gyPnPosted on  7:15 pm - 5 сар 23, 2026

скачать видео youtube по ссылке скачать видео youtube по ссылке

Narkolog na dom_rjeaPosted on  7:25 pm - 5 сар 23, 2026

вызов нарколога на дом нижний новгород вызов нарколога на дом нижний новгород

Narkolog na dom_ohKaPosted on  8:08 pm - 5 сар 23, 2026

сколько стоит нарколог на дом https://narkolog-na-dom-voronezh-11.ru

kapelnica ot zapoya_xbPnPosted on  8:08 pm - 5 сар 23, 2026

капельница от запоя в воронеже капельница от запоя в воронеже

kyhni SPb_avplPosted on  8:13 pm - 5 сар 23, 2026

кухни на заказ в спб кухни на заказ в спб

kypit elektricheskie rylonnie shtori_vdstPosted on  8:14 pm - 5 сар 23, 2026

автоматические рулонные шторы с электроприводом автоматические рулонные шторы с электроприводом

piter na teplohode_amErPosted on  9:20 pm - 5 сар 23, 2026

экскурсионный петербург экскурсионный петербург

Skachat video s Utyba_ylSlPosted on  10:03 pm - 5 сар 23, 2026

скачать youtube видео скачать youtube видео

kyhni SPb_dhMnPosted on  10:08 pm - 5 сар 23, 2026

кухни на заказ в спб недорого кухни на заказ в спб недорого

kapelnica ot pohmelya_ndptPosted on  10:09 pm - 5 сар 23, 2026

капельница от запоя на дому капельница от запоя на дому

vivod iz zapoya na domy_zxKnPosted on  12:13 am - 5 сар 24, 2026

вывод из запоя цены вывод из запоя цены

Kapelnica ot pohmelya_dhKlPosted on  12:13 am - 5 сар 24, 2026

прокапаться от запоя прокапаться от запоя

vivod iz zapoya na domy_jbotPosted on  12:18 am - 5 сар 24, 2026

вывожу из запоя екатеринбург вывожу из запоя екатеринбург

Skachat video s Utyba_mxPnPosted on  1:45 am - 5 сар 24, 2026

скачать видео из ютуб по ссылке скачать видео из ютуб по ссылке

Narkolog na dom_emKaPosted on  2:40 am - 5 сар 24, 2026

нарколог на дом цена воронеж https://narkolog-na-dom-voronezh-11.ru

kapelnica ot zapoya_bjPnPosted on  2:42 am - 5 сар 24, 2026

откапаться с похмелья цена воронеж откапаться с похмелья цена воронеж

kyhni SPb_kwplPosted on  2:42 am - 5 сар 24, 2026

прямые кухни на заказ от производителя https://kuhni-spb-57.ru

kypit elektricheskie rylonnie shtori_dtstPosted on  3:43 am - 5 сар 24, 2026

электрическая рулонная штора электрическая рулонная штора

piter na teplohode_kxErPosted on  4:45 am - 5 сар 24, 2026

мои путешествия турфирма санкт петербург мои путешествия турфирма санкт петербург

kyhni SPb_clMnPosted on  5:36 am - 5 сар 24, 2026

кухни от производителя спб https://kuhni-spb-60.ru

Skachat video s Utyba_okSlPosted on  5:39 am - 5 сар 24, 2026

скачать видео с ютуб в хорошем качестве https://skachat-video-s-youtube-9.ru

vivod iz zapoya na domy_uwKnPosted on  6:55 am - 5 сар 24, 2026

вывод из запоя недорого вывод из запоя недорого

Kapelnica ot pohmelya_ppoiPosted on  7:12 am - 5 сар 24, 2026

вывод из запоя капельница вывод из запоя капельница

vivod iz zapoya na domy_twotPosted on  8:27 am - 5 сар 24, 2026

вывод из запоя с выездом на дом вывод из запоя с выездом на дом

vivod iz zapoya na domy_tuStPosted on  11:02 am - 5 сар 24, 2026

выведение из запоя телефон выведение из запоя телефон

Narkolog na dom_pneaPosted on  11:11 am - 5 сар 24, 2026

нарколог выездной нарколог выездной

kypit elektricheskie rylonnie shtori_mcstPosted on  11:22 am - 5 сар 24, 2026

стоимость рулонных штор стоимость рулонных штор

Skachat video s Utyba_ltsnPosted on  11:31 am - 5 сар 24, 2026

скачиватель видео с ютуба https://skachat-video-s-youtube-11.ru

Kapelnica ot zapoya_qhsiPosted on  12:06 pm - 5 сар 24, 2026

поставить капельницу на дому цена нижний новгород поставить капельницу на дому цена нижний новгород

Narkolog na dom_fzelPosted on  12:27 pm - 5 сар 24, 2026

вызов врача нарколога на дом https://narkolog-na-dom-voronezh-10.ru

kapelnica ot zapoya_enPtPosted on  1:35 pm - 5 сар 24, 2026

капельница после запоя цена капельница после запоя цена

kapelnica ot pohmelya_jtptPosted on  1:45 pm - 5 сар 24, 2026

вывод из запоя капельница вывод из запоя капельница

Kapelnica ot pohmelya_makrPosted on  1:51 pm - 5 сар 24, 2026

капельница от алкоголизма https://kapelnicza-ot-pokhmelya-ekaterinburg-14.ru

Narkolog na dom_vpsnPosted on  1:52 pm - 5 сар 24, 2026

вызов наркологической помощи вызов наркологической помощи

Kapelnica ot pohmelya_mnElPosted on  1:52 pm - 5 сар 24, 2026

капельница от запоя капельница от запоя

vivod iz zapoya na domy_skSnPosted on  3:37 pm - 5 сар 24, 2026

вывод из запоя в спб https://vyvod-iz-zapoya-na-domu-sankt-peterburg-22.ru

vivod iz zapoya na domy_chotPosted on  4:50 pm - 5 сар 24, 2026

выведение из запоя на дому цена выведение из запоя на дому цена

vivod iz zapoya na domy_wtStPosted on  5:18 pm - 5 сар 24, 2026

вывод из запоя наркология вывод из запоя наркология

Kapelnica ot pohmelya_nlmnPosted on  5:21 pm - 5 сар 24, 2026

поставить капельницу на дому цена екатеринбург поставить капельницу на дому цена екатеринбург

Kapelnica ot zapoya_gfsiPosted on  5:43 pm - 5 сар 24, 2026

прокапывание от алкоголя прокапывание от алкоголя

kypit elektricheskie rylonnie shtori_bkstPosted on  6:49 pm - 5 сар 24, 2026

рольшторы заказать https://elektricheskie-rulonnye-shtory99.ru

Narkolog na dom_iceaPosted on  7:03 pm - 5 сар 24, 2026

нарколог на дом нижний новгород нарколог на дом нижний новгород

Skachat video s Utyba_tesnPosted on  7:16 pm - 5 сар 24, 2026

скачать видео с ютуба в hd 1080p https://skachat-video-s-youtube-11.ru

Narkolog na dom_nhelPosted on  7:21 pm - 5 сар 24, 2026

нарколога домой https://narkolog-na-dom-voronezh-10.ru

vivod iz zapoya na domy_rqSnPosted on  9:33 pm - 5 сар 24, 2026

вывод из алкогольного запоя нарколог24 https://vyvod-iz-zapoya-na-domu-sankt-peterburg-22.ru

kapelnica ot zapoya_kuPtPosted on  10:06 pm - 5 сар 24, 2026

нарколог на дом капельница нарколог на дом капельница

kapelnica ot pohmelya_oaptPosted on  10:07 pm - 5 сар 24, 2026

вывод из запоя капельница на дому вывод из запоя капельница на дому

Kapelnica ot pohmelya_shElPosted on  10:09 pm - 5 сар 24, 2026

стоимость капельницы в екатеринбурге стоимость капельницы в екатеринбурге

Kapelnica ot pohmelya_cmkrPosted on  10:09 pm - 5 сар 24, 2026

стоимость капельницы на дому екатеринбург https://kapelnicza-ot-pokhmelya-ekaterinburg-14.ru

Narkolog na dom_elsnPosted on  10:09 pm - 5 сар 24, 2026

нарколог на дом воронеж цены нарколог на дом воронеж цены

Kapelnica ot zapoya_rzsiPosted on  11:18 pm - 5 сар 24, 2026

капельница после запоя капельница после запоя

vivod iz zapoya na domy_gbotPosted on  11:37 pm - 5 сар 24, 2026

вывод из запоя наркология вывод из запоя наркология

Kapelnica ot pohmelya_xsmnPosted on  11:37 pm - 5 сар 24, 2026

сколько стоит поставить капельницу в екатеринбурге сколько стоит поставить капельницу в екатеринбурге

Vivod iz zapoya v stacionare_vlPaPosted on  11:37 pm - 5 сар 24, 2026

вывод из запоя в наркологическом стационаре https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-18.ru

vivod iz zapoya na domy_cpStPosted on  11:38 pm - 5 сар 24, 2026

нарколог на дом вывод из запоя нарколог на дом вывод из запоя

kypit elektricheskie rylonnie shtori_jostPosted on  2:32 am - 5 сар 25, 2026

пластиковые окна рулонные шторы с электроприводом пластиковые окна рулонные шторы с электроприводом

Narkolog na dom_ogelPosted on  2:35 am - 5 сар 25, 2026

лечение наркомании на дому https://narkolog-na-dom-voronezh-10.ru

Skachat video s Utyba_oesnPosted on  3:24 am - 5 сар 25, 2026

youtube скачать видео youtube скачать видео

vivod iz zapoya na domy_imSnPosted on  3:33 am - 5 сар 25, 2026

вывести из запоя цена вывести из запоя цена

vivod iz zapoya na domy_omStPosted on  5:49 am - 5 сар 25, 2026

выведение из запоя екатеринбург выведение из запоя екатеринбург

Vivod iz zapoya v stacionare_zxPaPosted on  5:52 am - 5 сар 25, 2026

наркология вывод из запоя в стационаре наркология вывод из запоя в стационаре

Kapelnica ot pohmelya_iemnPosted on  5:53 am - 5 сар 25, 2026

стоимость капельницы в екатеринбурге стоимость капельницы в екатеринбурге

Narkolog na dom_xdsnPosted on  5:57 am - 5 сар 25, 2026

выезд нарколога на дом выезд нарколога на дом

Kapelnica ot pohmelya_pkkrPosted on  5:57 am - 5 сар 25, 2026

стоимость капельницы на дому екатеринбург https://kapelnicza-ot-pokhmelya-ekaterinburg-14.ru

kapelnica ot zapoya_evPtPosted on  5:58 am - 5 сар 25, 2026

капельница от алкоголя цена капельница от алкоголя цена

Kapelnica ot pohmelya_dmElPosted on  6:05 am - 5 сар 25, 2026

капельница на дому екатеринбург https://kapelnicza-ot-pokhmelya-ekaterinburg-17.ru

Kapelnica ot zapoya_poplPosted on  8:39 am - 5 сар 25, 2026

сколько стоит капельница от запоя сколько стоит капельница от запоя

vivod iz zapoya na domy_zcSnPosted on  9:30 am - 5 сар 25, 2026

нарколог вывод из запоя нарколог вывод из запоя

Narkolog na dom_xielPosted on  10:35 am - 5 сар 25, 2026

нарколог на дом круглосуточно воронеж цены https://narkolog-na-dom-voronezh-10.ru

kypit elektricheskie rylonnie shtori_jjMnPosted on  10:36 am - 5 сар 25, 2026

сочетание рулонных рулонные шторы и тюль фото https://rulonnye-shtory-s-elektroprivodom17.ru

skapa binance-kontoPosted on  10:36 am - 5 сар 25, 2026

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://www.binance.com/futures/ref?code=QCGZMHR6

Narkolog na dom_yyeaPosted on  10:38 am - 5 сар 25, 2026

нарколог нижний новгород анонимно нарколог нижний новгород анонимно

Skachat video s Utyba_ybsnPosted on  11:30 am - 5 сар 25, 2026

скачать видео из ютуб по ссылке скачать видео из ютуб по ссылке

Vivod iz zapoya v stacionare_vsPaPosted on  12:12 pm - 5 сар 25, 2026

вывод из запоя в наркологическом стационаре https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-18.ru

Kapelnica ot pohmelya_uqmnPosted on  12:17 pm - 5 сар 25, 2026

сколько стоит капельница на дому в екатеринбурге сколько стоит капельница на дому в екатеринбурге

Narkolog na dom_weMlPosted on  12:21 pm - 5 сар 25, 2026

нарколог на дом цены нарколог на дом цены

vivod iz zapoya na domy_ynStPosted on  12:25 pm - 5 сар 25, 2026

вывести из запоя цена вывести из запоя цена

Kapelnica ot pohmelya_sfkrPosted on  2:08 pm - 5 сар 25, 2026

капельница от алкоголизма https://kapelnicza-ot-pokhmelya-ekaterinburg-14.ru

Narkolog na dom_lrsnPosted on  2:18 pm - 5 сар 25, 2026

вызов нарколога на дом вызов нарколога на дом

Kapelnica ot pohmelya_ffElPosted on  2:20 pm - 5 сар 25, 2026

поставить капельницу на дому цена екатеринбург поставить капельницу на дому цена екатеринбург

Kapelnica ot zapoya_xsplPosted on  2:34 pm - 5 сар 25, 2026

поставить капельницу от запоя поставить капельницу от запоя

vivod iz zapoya na domy_gxSnPosted on  3:50 pm - 5 сар 25, 2026

вывод из алкогольного запоя нарколог24 https://vyvod-iz-zapoya-na-domu-sankt-peterburg-22.ru

注册免费账户Posted on  3:54 pm - 5 сар 25, 2026

Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://www.binance.com/futures/ref?code=W49FLGDN

rylonnie jaluzi s elektroprivodom_kvKnPosted on  5:21 pm - 5 сар 25, 2026

рулонные шторы на окна купить https://rulonnye-shtory-s-elektroprivodom190.ru

kapelnica ot zapoya_wiMiPosted on  6:05 pm - 5 сар 25, 2026

нарколог прокапать нарколог прокапать

Vivod iz zapoya v stacionare_atPaPosted on  6:10 pm - 5 сар 25, 2026

вывод из запоя в стационаре вывод из запоя в стационаре

Kapelnica ot pohmelya_ybmnPosted on  6:10 pm - 5 сар 25, 2026

капельница на дому в екатеринбурге капельница на дому в екатеринбурге

vivod iz zapoya na domy_zyStPosted on  6:30 pm - 5 сар 25, 2026

вывести из запоя екатеринбург вывести из запоя екатеринбург

Narkolog na dom_boelPosted on  6:31 pm - 5 сар 25, 2026

нарколога домой https://narkolog-na-dom-voronezh-10.ru

Skachat video s Utyba_zzsnPosted on  6:32 pm - 5 сар 25, 2026

скачивать видео с ютуба скачивать видео с ютуба

Narkolog na dom_ojsaPosted on  6:49 pm - 5 сар 25, 2026

нарколога на дом самара нарколога на дом самара

Narkolog na dom_esMlPosted on  7:28 pm - 5 сар 25, 2026

нарколог на дом город https://narkolog-na-dom-samara-9.ru

Kapelnica ot zapoya_vxplPosted on  7:47 pm - 5 сар 25, 2026

прокапаться прокапаться

vivod iz zapoya na domy_uiotPosted on  8:42 pm - 5 сар 25, 2026

вывести из запоя екатеринбург вывести из запоя екатеринбург

StevenunfalPosted on  9:12 pm - 5 сар 25, 2026

Компания fastek https://fastek.by проектируем и поставляем надежные фасадные системы для коммерческих и жилых объектов, обеспечивая долговечность, энергоэффективность и безупречный внешний вид здания под ваши задачи.

Narkolog na dom_umsnPosted on  10:01 pm - 5 сар 25, 2026

вызов нарколога на дом воронеж вызов нарколога на дом воронеж

Kapelnica ot pohmelya_jnkrPosted on  10:01 pm - 5 сар 25, 2026

капельница на дому екатеринбург https://kapelnicza-ot-pokhmelya-ekaterinburg-14.ru

Kapelnica ot pohmelya_lfElPosted on  10:02 pm - 5 сар 25, 2026

поставить капельницу на дому екатеринбург цена поставить капельницу на дому екатеринбург цена

vivod iz zapoya na domy_cjSnPosted on  10:27 pm - 5 сар 25, 2026

вывод из запоя с выездом на дом вывод из запоя с выездом на дом

Vivod iz zapoya v stacionare_hwPaPosted on  12:15 am - 5 сар 26, 2026

вывод из запоя нижний новгород стационар вывод из запоя нижний новгород стационар

Kapelnica ot pohmelya_qxmnPosted on  12:15 am - 5 сар 26, 2026

стоимость капельницы в екатеринбурге стоимость капельницы в екатеринбурге

rylonnie jaluzi s elektroprivodom_jkKnPosted on  12:25 am - 5 сар 26, 2026

рулонные шторы широкие https://rulonnye-shtory-s-elektroprivodom190.ru

narkologicheskii stacionar_jySrPosted on  12:38 am - 5 сар 26, 2026

кодирование от алкоголизма стационар кодирование от алкоголизма стационар

kapelnica ot zapoya_noMiPosted on  1:08 am - 5 сар 26, 2026

капельница от похмелья цена капельница от похмелья цена

Kapelnica ot pohmelya_mksiPosted on  1:25 am - 5 сар 26, 2026

капельница екатеринбург цены https://kapelnicza-ot-pokhmelya-ekaterinburg-15.ru

Skachat video s Utyba_hvsnPosted on  1:30 am - 5 сар 26, 2026

загрузчик видео с ютуба загрузчик видео с ютуба

Narkolog na dom_xlelPosted on  1:55 am - 5 сар 26, 2026

вызвать нарколога https://narkolog-na-dom-voronezh-10.ru

Narkolog na dom_whsaPosted on  2:21 am - 5 сар 26, 2026

нарколог на дом цена нарколог на дом цена

Narkolog na dom_odMlPosted on  2:45 am - 5 сар 26, 2026

вызов врача нарколога https://narkolog-na-dom-samara-9.ru

Kapelnica ot pohmelya_qfkrPosted on  5:31 am - 5 сар 26, 2026

капельница на дому цена екатеринбург капельница на дому цена екатеринбург

Kapelnica ot pohmelya_rnElPosted on  5:34 am - 5 сар 26, 2026

сколько стоит капельница на дому в екатеринбурге сколько стоит капельница на дому в екатеринбурге

Narkolog na dom_bmsnPosted on  5:36 am - 5 сар 26, 2026

частный нарколог на дом частный нарколог на дом

PercyseXPosted on  10:49 am - 6-р сар 5, 2026

My usual response to new bookmarks is to forget them but this one I have already returned to twice, and a look at salutevandal pulled me back a third time, the actual return rate to bookmarked sites is the real measure of value and this one is clearing that measure at a notable rate already.

DonovanFleewPosted on  10:54 am - 6-р сар 5, 2026

Quietly the post solved something I had been turning over without quite knowing how to phrase the question, and a look at skeintackle extended that quiet solving, content that addresses unformulated needs is content with reader insight and this site has demonstrated that insight at a high rate across the pieces I have read recently.

HarrybopPosted on  11:13 am - 6-р сар 5, 2026

Decided to set aside time later to read more carefully, and a stop at siskatrance reinforced that decision, content that earns a calendar entry rather than just a passing read is in a different tier altogether and this site is clearly working at that elevated level which I really do appreciate as a reader today.

JohnNusPosted on  11:21 am - 6-р сар 5, 2026

Now adjusting my mental model of how the topic fits into the broader landscape, and a look at versasandal extended that adjustment, content that affects my structural understanding rather than just my factual knowledge is content with deeper impact and this site is providing those structural updates at a meaningful rate consistently across topics.

SebastianpromaPosted on  11:28 am - 6-р сар 5, 2026

Such writing is increasingly rare and worth supporting through attention, and a stop at sandaltimber extended that supportive attention across more pages, the conscious choice to spend time on sites that produce careful work rather than convenient consumption is itself a small form of patronage and this site is receiving that conscious patronage from me.

EduardoscaskPosted on  11:35 am - 6-р сар 5, 2026

Picked up on several small touches that suggest a careful editor, and a look at ospreypiano suggested the same hand at work across the broader site, editorial consistency at a granular level is one of the strongest signs that an operation is serious rather than just hobbyist and this site reads as serious throughout.

JamarcusGizPosted on  11:36 am - 6-р сар 5, 2026

Time spent here today felt productive in the way that good reading sessions sometimes do, and a stop at learnandadvance extended that productive feeling across the rest of the morning, the difference between productive reading and merely passing time is real and this site is consistently on the productive side for me lately.

ClydeButlePosted on  11:42 am - 6-р сар 5, 2026

Found this useful, the points line up well with what I have been thinking about lately, and a stop at buildsolidmomentum added some angles I had not considered yet, definitely walking away with more than I came for which is the best outcome from time spent reading online for any kind of topic.

IgnacioepidePosted on  11:51 am - 6-р сар 5, 2026

Generally I am cautious about recommending sites on first encounter but this one warrants the exception, and a look at findyouruniqueedge reinforced the exception making, the rare site that justifies breaking my normal cautious approach is the rare site worth flagging early and this one has prompted exactly that early flagging response from me.

monopoly live_vomnPosted on  11:56 am - 6-р сар 5, 2026

monopoly live evolution gaming monopoly live evolution gaming .

ElijahasypePosted on  12:00 pm - 6-р сар 5, 2026

Comfortable in tone and substantive in content, that is a hard combination to land, and a look at learnandadvance kept that pairing alive across more material, this is what good editorial direction looks like in practice and the team here clearly has someone keeping a steady hand on the wheel across what they decide to publish.

PeteBLaskPosted on  12:03 pm - 6-р сар 5, 2026

Thanks for keeping the writing direct without losing the warmth that makes content feel human, and a stop at shadetabby carried both qualities forward, balancing professionalism and personality is a rare skill and the writers here have clearly figured out how to consistently land it across many posts which I notice.

DanielsullyPosted on  12:15 pm - 6-р сар 5, 2026

Thank you for being clear and direct, that simple approach saves so much frustration on the reader’s end, and a stop at createactionableplans only made me more sure of it, the rest of the content seems to follow the same pattern which is a great sign of consistent editorial care behind the scenes.

WayneZepPosted on  12:32 pm - 6-р сар 5, 2026

Now feeling that this site is the kind I want to make sure does not disappear, and a look at vincavessel reinforced that quiet protective feeling, the rare sites whose disappearance would actually matter to me are the sites I want to support through return visits and recommendations and this one has joined that small protected list.

WallaceVierePosted on  12:40 pm - 6-р сар 5, 2026

Will recommend this to a couple of friends who have been asking about this exact topic, and after cyljax I have even more reason to do so, the kind of site that earns word of mouth rather than chasing it through aggressive marketing or paid placements is always a treat to find online.

DanielRaivaPosted on  12:43 pm - 6-р сар 5, 2026

Just one of those reads that left me feeling slightly more capable rather than overwhelmed, and a look at vyxbyte kept that empowering feel going, the difference between content that builds the reader up and content that intimidates them is huge and this site clearly knows which side of that line to stand.

TerrellBrumePosted on  12:56 pm - 6-р сар 5, 2026

Liked that the post landed without needing to manufacture controversy or take a contrarian stance for attention, and a stop at hesyam continued that grounded approach, content that earns attention through quality rather than provocation is the kind that builds long term trust rather than burning it on quick wins.

FredjoypePosted on  12:59 pm - 6-р сар 5, 2026

Liked that the post resisted a sales pitch ending, and a stop at createyourpathforward maintained the no pitch approach, content that ends without trying to convert me into a customer or subscriber is content that has confidence in its own value and this site is clearly playing the long game on reader trust.

LeonardlootaPosted on  1:04 pm - 6-р сар 5, 2026

Solid recommendation from me to anyone working in the area, the perspective here is grounded, and a look at haccar adds even more useful angles, the kind of site that becomes a reference rather than just a one time read which is a higher bar than most blogs ever reach today on the modern web.

ErnestdubPosted on  1:09 pm - 6-р сар 5, 2026

Came in skeptical and left mostly convinced, that is the highest praise I can offer, and a look at jarbrag pushed me further in the same direction, content that survives a critical first read is rare and worth recognising because most blog posts crumble under any real scrutiny these days when you actually pay attention closely.

DeonFuhPosted on  1:23 pm - 6-р сар 5, 2026

Felt no urge to argue with the conclusions even though I started the post slightly skeptical, and a look at tulipteacup maintained that pattern, writing that earns agreement through clarity of argument rather than rhetorical pressure is the kind I find most persuasive and the kind I want to read more of these days.

ColinAmurlPosted on  1:27 pm - 6-р сар 5, 2026

Thanks for the practical examples scattered through the post rather than abstract theory only, and a look at aroarch continued that grounded style, abstract points are easier to remember when paired with concrete situations and the writers here clearly understand how readers actually retain information from blog content reading sessions.

TheodoreMusPosted on  1:52 pm - 6-р сар 5, 2026

Nice to see a post that does not try to overcomplicate the basics for the sake of looking smart, and once I looked at humbust the same direct tone was there too, which honestly makes a difference when you are short on time and want answers without long pointless intros.

LonnieBopPosted on  1:54 pm - 6-р сар 5, 2026

Reading this gave me material for a conversation I needed to have anyway, and a stop at ivebump added even more talking points, content that connects to upcoming social or professional needs rather than just being interesting in the abstract is the kind that earns priority placement in my attention these days routinely.

JeffbalPosted on  2:00 pm - 6-р сар 5, 2026

Now noticing the post fit a particular gap in my reading without my having articulated the gap before, and a look at scrollswamp extended that gap filling effect, content that meets needs I had not consciously formulated is content with reader insight and this site has clearly developed that anticipatory editorial sense across many pieces.

LucaneaniPosted on  2:01 pm - 6-р сар 5, 2026

Beats most of the alternatives on the topic by a noticeable margin, and a look at sorbettower did not change that at all, this is one of the better corners of the open internet for this kind of content and I am glad I clicked through rather than skipping past quickly like I usually do.

MarcosonemiPosted on  2:07 pm - 6-р сар 5, 2026

Felt energised after reading rather than drained, which is unusual for online content these days, and a look at outerpastry continued that good feeling, content that leaves you better than it found you is rare and worth bookmarking when you stumble across it for the first time today or any other day really.

AngelojogPosted on  2:13 pm - 6-р сар 5, 2026

Most blog writing on this subject reaches for the same handful of arguments and this post avoided them, and a look at growwithconfidenceclearly continued the original treatment, content that finds its own path through territory other writers have flattened is content with real authorial energy and this site has plenty of that distinctive energy.

WilsonPealfPosted on  2:16 pm - 6-р сар 5, 2026

Reading this slowly because the writing rewards a slower pace, and a stop at findgrowthopportunities did the same, the pace at which I read content is something I now use as a quality signal and writing that earns a slower pace earns my attention as a reader looking for substance these days.

JustindusPosted on  2:22 pm - 6-р сар 5, 2026

Reading this on the train into work was a better use of the commute than my usual choices, and a stop at exploreyourstrengths extended that commute reading well, content that improves transit time rather than just filling it is content with practical benefit and this site has earned its place in my morning commute reading rotation.

TraceTexPosted on  2:30 pm - 6-р сар 5, 2026

Worth flagging that the writing rewarded a second read more than I expected, and a look at explorefreshperspectives produced the same second read benefit, content with hidden depths that emerge only on careful rereading is rare in the modern blog space and this site has clearly invested in that level of compositional density throughout.

EugenevahPosted on  3:04 pm - 6-р сар 5, 2026

Easily one of the better explanations I have read on the topic, and a stop at findgrowthopportunities pushed it even higher in my mental ranking of useful resources, the kind of site that beats the average not by trying harder but by simply caring more about what it puts out daily which always shows.

KeanuGogPosted on  3:23 pm - 6-р сар 5, 2026

Felt the writer was speaking my language without trying to imitate it, and a look at createconsistentmomentum continued that natural fit, when a writers default voice happens to match what you find easy to read the experience feels frictionless and that is something I notice and remember about specific sites going forward.

TrevorExpamPosted on  3:27 pm - 6-р сар 5, 2026

Picked this for a morning recommendation in our company chat, and a look at vyxcar suggested I will mention this site again later, recommending content into a workplace context is a small editorial act that requires confidence in the recommendation and this site is making me confident in those recommendations consistently here too.

AlfredswelpPosted on  3:30 pm - 6-р сар 5, 2026

Reading this triggered a small change in how I think about the topic going forward, and a stop at cynbeo reinforced that subtle shift, the rare content that actually moves my thinking rather than just confirming or filling it is the kind I most value and this site is providing that kind of impact today.

ElijahzixPosted on  3:40 pm - 6-р сар 5, 2026

Just want to flag that this was useful and not bury the appreciation in caveats, and a look at haclex earned the same direct praise, recognising good work without hedging it with criticism is something I try to practice because over qualified compliments tend to read as backhanded and miss the point sometimes.

KalenmotPosted on  3:45 pm - 6-р сар 5, 2026

Bookmark folder reorganised slightly to make this site easier to find, and a look at explorebetteroptions earned the same accessibility upgrade, the small organisational moves I make for sites I expect to return to often are themselves a signal of how much I trust them and this site triggered those moves naturally.

BobSnitaPosted on  3:49 pm - 6-р сар 5, 2026

Recommended without hesitation if you care about careful coverage of this topic, and a stop at solacetomato reinforced the recommendation, the bar I set for unhesitating recommendations is fairly high and this site has cleared it through the cumulative weight of multiple consistently good pieces rather than through any single standout post which is meaningful.

DarnellNubPosted on  3:52 pm - 6-р сар 5, 2026

Came across this looking for something else entirely and ended up reading it through twice, and a look at tracetroop pulled me deeper into the site than I planned, the writing has a way of holding attention without resorting to manipulative cliffhangers or vague promises that never get delivered later down the page.

DarnellAperaPosted on  3:54 pm - 6-р сар 5, 2026

Now realising the post has been quietly doing important work in my mind for the past hour, and a stop at solacesteam extended that quiet processing, content that continues to do work after I close the tab is content with afterlife in the mind and this site is producing those long lived effects at a meaningful rate.

DwightZokPosted on  4:06 pm - 6-р сар 5, 2026

Solid post, the structure is easy to follow and the language stays simple even when the topic gets a bit more involved, and a look at sherpaslick kept that same standard going, so I left feeling like the time spent here was actually worth something for once which is rare lately.

ShaunAnellPosted on  4:33 pm - 6-р сар 5, 2026

A piece that reads as if the writer trusted readers to fill in obvious gaps, and a look at thrashurge continued that respectful approach, content that does not over explain what the reader can infer is content that respects intelligence and this site has clearly chosen to write to capable readers rather than to the lowest common denominator.

JuanreumsPosted on  4:36 pm - 6-р сар 5, 2026

I usually skim posts like these but this one held my attention all the way through, and a stop at steamsurge did the same, that is a strong endorsement coming from me because I am usually quick to bounce when content gets repetitive or fails to deliver on its initial promise made in the headline.

DeshawnMawPosted on  4:37 pm - 6-р сар 5, 2026

Bookmark folder created specifically for this site, and a look at ozoneosprey confirmed the dedicated folder was the right call, dedicated folders for individual sites are a level of organisation I rarely deploy and this site has earned that level of dedicated tracking based on the consistency I have seen so far across sessions.

LedgernerPosted on  4:41 pm - 6-р сар 5, 2026

One of the more thoughtful posts I have read recently on this topic, and a stop at discovernewdirectionsnow added even more weight to that impression, this is genuinely good content that holds its own against far better known sites in the same space without trying to imitate any of them at all which I appreciate.

LiamWresyPosted on  4:44 pm - 6-р сар 5, 2026

Comfortable in tone and substantive in content, that is a hard combination to land, and a look at startclearthinking kept that pairing alive across more material, this is what good editorial direction looks like in practice and the team here clearly has someone keeping a steady hand on the wheel across what they decide to publish.

JabarililupPosted on  4:47 pm - 6-р сар 5, 2026

I appreciate the clarity here, everything is explained in simple terms without unnecessary detail, and after a quick stop at findyourwinningedge the points came together nicely for me, the writing keeps things straightforward and respects the reader from start to finish without ever talking down to anyone.

NathanaredePosted on  4:49 pm - 6-р сар 5, 2026

Worth flagging this site to a few specific friends who would appreciate the editorial sensibility, and a look at arobell added more pages I will mention to them, recommending sites to specific people requires understanding both the site and the person and this site is making those personalised recommendations easy and natural for me.

NikoLilkyPosted on  5:06 pm - 6-р сар 5, 2026

Decided after reading this that I would check this site weekly going forward, and a stop at learnbypracticenow reinforced that commitment, deciding to add a site to a regular rotation requires meeting a quality bar that very few places clear and this one cleared it cleanly without any noticeable effort or marketing push behind it.

ChancebroawPosted on  5:07 pm - 6-р сар 5, 2026

Useful read, especially because the writer did not assume too much background from the reader, and a quick look at ixaqua continued in the same way, a thoughtful site that meets people where they are which is something the modern web could use a lot more of for both casual and serious readers.

JudeAerokPosted on  5:08 pm - 6-р сар 5, 2026

After reading several posts back to back the consistent voice across them is impressive, and a stop at topaztower continued that voice consistency, sites that maintain a single coherent voice across many pieces by potentially many writers represent serious editorial discipline and this one has clearly developed the institutional consistency needed for that.

DevinaneltPosted on  6:03 pm - 6-р сар 5, 2026

Now setting aside time on my next free afternoon to read more from the archives, and a stop at javcab confirmed that time will be well spent, the rare site whose archive deserves a dedicated reading session rather than just casual sampling is the kind of resource worth scheduling around and this one qualifies clearly.

DerekgekPosted on  6:07 pm - 6-р сар 5, 2026

Now realising the topic deserved better treatment than it has been getting elsewhere, and a look at hagaro extended that broader recognition, content that exposes the gap between actual quality and average quality elsewhere is doing the quiet work of raising standards and this site is contributing to that elevation in its own corner.

MackPineePosted on  6:07 pm - 6-р сар 5, 2026

Worth saying that the quiet confidence of the writing is what landed first, and a look at wyxburn continued that quiet quality, confident writing without the loud display of confidence is a rare combination and this site has clearly developed both the knowledge and the editorial restraint to land that combination consistently.

JesseRonPosted on  6:21 pm - 6-р сар 5, 2026

This one is staying open in a tab for the rest of the day so I can come back and re read certain parts, and a look at dahbrood suggests I will be doing the same with a few more pages here too, this is going to be a deep dive over the coming hours.

VincenttopPosted on  6:27 pm - 6-р сар 5, 2026

Generally my attention drifts on long posts but this one held it through the end, and a stop at createforwardmovement earned the same sustained focus, content that defeats my drift tendency is content with substantive pulling power and this site has demonstrated that pulling power across multiple pieces in a session that has now run quite long actually.

LowellencapPosted on  6:27 pm - 6-р сар 5, 2026

Reading this brought back an idea I had set aside months ago, and a stop at buildmomentumfast added more substance to that idea, content that revives dormant projects in my own thinking is content with serious creative value and this site is contributing to my own work in ways I had not expected when first clicking through.

DwightUnendPosted on  6:44 pm - 6-р сар 5, 2026

During the time spent here I noticed the absence of the usual distractions, and a stop at hewblob extended that distraction free experience, content that does not fight my attention with pop ups and modals and aggressive prompts is content that respects me and this site has clearly chosen the respectful approach throughout.

JerrychopePosted on  6:47 pm - 6-р сар 5, 2026

Honestly informative, the writer covers the ground without showing off, and a look at humcamp reflected the same humility, content that respects the reader rather than trying to dazzle them is something I always appreciate and rarely come across in this corner of the internet today across the topics I usually read.

PercyKitPosted on  6:53 pm - 6-р сар 5, 2026

Held my interest from the opening line through to the closing thought, and a stop at sorbetsolo did the same, content that earns sustained attention in an environment full of distractions is doing something right and this site is clearly doing several things right rather than just one or two which I really appreciate.

ShaunwahPosted on  7:01 pm - 6-р сар 5, 2026

Top tier post, the kind that makes you want to share the link with friends working in the same area, and a stop at creategrowthframeworks only made me more confident in doing that, this site is one of the better resources I have seen on the topic recently across both new and older posts.

PaulditPosted on  7:02 pm - 6-р сар 5, 2026

A piece that earned its conclusions through the body rather than asserting them at the end, and a look at ozonepalette maintained the same earned quality, conclusions that follow from what came before are more persuasive than declarations and this site has clearly internalised that principle in how it constructs arguments throughout pieces.

IsaiahrawPosted on  7:12 pm - 6-р сар 5, 2026

Most blog writing on this subject reaches for the same handful of arguments and this post avoided them, and a look at discovergrowthideas continued the original treatment, content that finds its own path through territory other writers have flattened is content with real authorial energy and this site has plenty of that distinctive energy.

JamaldesPosted on  7:24 pm - 6-р сар 5, 2026

Generally my comment to other readers about new sites is to wait and see but for this one I would jump to recommend now, and a look at explorefuturethinking reinforced that early recommendation, the speed at which a site earns my recommendation is itself a quality signal and this one has earned mine quickly clearly.

GingerLawayPosted on  7:34 pm - 6-р сар 5, 2026

Reading this with a fresh mind in the morning brought out details I might have missed in the afternoon, and a stop at tangovillage earned the same fresh attention, content that rewards being read at full attention rather than at energy lows is content with real density and this site has that density consistently.

KobeSotPosted on  7:45 pm - 6-р сар 5, 2026

Generally my comment to other readers about new sites is to wait and see but for this one I would jump to recommend now, and a look at startyourgrowthjourney reinforced that early recommendation, the speed at which a site earns my recommendation is itself a quality signal and this one has earned mine quickly clearly.

RickTronyPosted on  7:50 pm - 6-р сар 5, 2026

Bookmark added in three places to make sure I do not lose the link, and a look at findnextopportunity got the same redundant treatment, sites I am afraid to lose are the rare keepers and this is clearly one of them based on what I have read so far across this and a couple of related posts.

LeehigPosted on  7:58 pm - 6-р сар 5, 2026

Without comparing too aggressively to other sources this one stands out for the right reasons, and a look at izoblade continued that distinctive quality, content that distinguishes itself through substance rather than style tricks is content with lasting differentiation and this site has clearly chosen substance based differentiation as its core editorial strategy.

LyleassomPosted on  8:03 pm - 6-р сар 5, 2026

Looking through the archives suggests this site has been doing this for a while at this level, and a look at azuqix confirmed the long term consistency, sites that have maintained quality across years rather than just a recent stretch are sites with serious editorial discipline and this one has clearly been at it for a while.

LexTrumnPosted on  8:08 pm - 6-р сар 5, 2026

Felt the post was written for someone like me without explicitly addressing me, and a look at saltvinca produced the same fit, when content lands on its target without pandering you know the writer has done careful audience thinking rather than relying on demographic targeting or interest signals to do the work of editorial decisions.

CedricOmisaPosted on  8:17 pm - 6-р сар 5, 2026

Worth flagging that the post handled an angle of the topic I had not seen elsewhere, and a look at buildyourdirection extended that fresh treatment, content that finds underexplored corners of well covered subjects is genuinely valuable and this site has demonstrated that exploratory editorial approach across multiple pieces in my reading sessions today.

RolandomedPosted on  8:32 pm - 6-р сар 5, 2026

Really appreciate that the writer did not overstate the importance of the topic to make the post feel weightier, and a quick visit to halarch maintained the same modest framing, content that is honest about its own scope rather than inflating itself is the kind I trust and return to repeatedly over time.

LuisEvicyPosted on  8:35 pm - 6-р сар 5, 2026

Felt the writer did the homework before publishing, the references hold up, and a look at sketchsherpa continued that documented care, content with traceable claims rather than vague assertions is the kind I trust and the lack of bald assertion in this post is one of its quietly impressive qualities for me.

BartjatPosted on  8:50 pm - 6-р сар 5, 2026

Coming to this with low expectations and being pleasantly surprised by the substance, and a stop at mindfullifestylemarket continued exceeding expectations, the recalibration of expectations upward across multiple positive readings is one of the actual rewards of careful browsing and this site is providing that recalibration at a steady rate apparently.

PercyTrotoPosted on  8:59 pm - 6-р сар 5, 2026

Now planning to share the link with a small group of readers I trust, and a look at daheko suggested more material to share with the same group, recommending content into a curated circle requires confidence in the recommendation and this site is making me confident in those personal recommendations on multiple separate occasions now.

GingerneicePosted on  9:07 pm - 6-р сар 5, 2026

Now planning to recommend this site in a context where my recommendations are taken seriously, and a stop at learnsomethinguseful confirmed I should make that recommendation soon, the small but real act of recommending content into spaces where my taste matters is something I take seriously and this site is worth the recommendation.

FredTumPosted on  9:14 pm - 6-р сар 5, 2026

Just want to flag that this was useful and not bury the appreciation in caveats, and a look at trenchvinca earned the same direct praise, recognising good work without hedging it with criticism is something I try to practice because over qualified compliments tend to read as backhanded and miss the point sometimes.

TadimpawPosted on  9:19 pm - 6-р сар 5, 2026

Now appreciating that the post did not require external context to follow, and a look at createimpactefficiently maintained the same self contained quality, content that respects new visitors by being readable without prerequisites is content with broader accessibility and this site has clearly invested in keeping each piece reader friendly for fresh arrivals.

TerrybuhPosted on  9:21 pm - 6-р сар 5, 2026

A nicely understated post that does not shout for attention, and a look at straitsalt maintained the same quiet quality, understatement is a stylistic choice that distinguishes serious writing from attention seeking writing and this site has clearly committed to the understated approach as a core editorial value rather than just a phase.

EliVetPosted on  9:26 pm - 6-р сар 5, 2026

Spent a few minutes here and came away with a clearer picture of the topic, the writing keeps things simple without dumbing them down, and after a stop at findyournextchallenge the rest of the points lined up neatly which is something I appreciate when I am short on time and need answers fast.

MichaelinenoPosted on  9:34 pm - 6-р сар 5, 2026

Honest take is that I will probably forget most of what I read online today but this post is one I will remember, and a stop at learnandaccelerate kept that same memorable quality going, certain writing leaves a residue in the mind in a way most content simply does not manage.

ZachariahGoomiPosted on  10:37 pm - 6-р сар 5, 2026

Skimmed first and then went back to read carefully, and the careful read paid off in places I had missed, and a stop at growwithconfidencepath got the same treatment, the rare site whose content rewards a second pass is content I want more of in my regular rotation rather than disposable single read articles.

CainDuemoPosted on  10:43 pm - 6-р сар 5, 2026

Excellent post, balanced and well organised without showing off, and a stop at explorefreshdirections continued in that same vein, this site has clearly figured out the formula for content that works for readers rather than for search engine ranking signals which is harder than it sounds today and worth real recognition from anyone.

JulioguignPosted on  10:45 pm - 6-р сар 5, 2026

Nice and clean, that is the best way to describe the writing here, no clutter and no wasted words, and a quick visit to jadburst kept that going, I appreciate when a site treats its readers like people who can think for themselves without needing constant hand holding through every paragraph.

JettPenPosted on  10:53 pm - 6-р сар 5, 2026

Felt the post had been quietly polished rather than aggressively styled, and a look at javyam confirmed the same understated polish, sites whose quality reveals itself slowly rather than announcing itself loudly are the kind I trust more deeply because the trust is not based on first impressions of marketing but actual substance.

LowellJefPosted on  10:55 pm - 6-р сар 5, 2026

Thank you for not assuming the reader already knows everything, the explanations meet me where I am, and a look at growstrategicclarity did the same, that consideration is what makes a site feel welcoming rather than gatekeepy which is sadly the default mood across the modern web today for most subjects covered.

HeathlipPosted on  11:01 pm - 6-р сар 5, 2026

My time on this site has now extended past what I had budgeted, and a stop at buildyourvisionnow keeps extending it further, content that overstays its budget in my schedule is content that has earned the extra time and this site has been earning extra time across multiple visits to the point where my schedule needs adjustment.

WilfordMerPosted on  11:05 pm - 6-р сар 5, 2026

The clarity here is something I really appreciate, especially compared to sites that pile on jargon for no reason, and a look at vaultscript was the same, simple direct sentences that actually deliver information instead of dancing around the point for paragraphs at a time which wastes reader patience.

EddievekPosted on  11:09 pm - 6-р сар 5, 2026

Now noticing that the post avoided the temptation to be funny in places where humour would have undermined the substance, and a stop at subletviper maintained the same restraint, knowing when to be serious is a rare editorial virtue and this site has clearly developed it through what I assume is careful editorial practice over years.

AlonzolicPosted on  11:22 pm - 6-р сар 5, 2026

Thanks for laying this out in a way that someone newer to the topic can follow, and a stop at hewzap kept that accessibility going, writing that meets readers at different experience levels without condescending is hard to do well and the writers here have clearly thought about who they are writing for.

RichardorbixPosted on  11:23 pm - 6-р сар 5, 2026

A clear case of writing that does not try to do too much in one post, and a look at bexedge maintained the same scoped discipline, posts that try to cover too much end up covering nothing well and this site has clearly chosen scope discipline as a core editorial principle which shows up clearly in what I read.

AlfredhousaPosted on  11:29 pm - 6-р сар 5, 2026

The way the post stayed on topic throughout without going on tangents was really refreshing, and a look at deoblob kept that focused approach going, discipline like this in writing is rare and worth recognising because most writers cannot resist wandering off into related subjects that dilute their main point and confuse readers along the way.

EstevanUsagoPosted on  11:31 pm - 6-р сар 5, 2026

Top quality material, deserves more attention than it probably gets, and a look at startbuildingclarity reflected the same effort across the site, a hidden gem in the modern web where most attention goes to whoever shouts loudest rather than whoever actually delivers the best content for their readers without much marketing fanfare.

ZackDiDoxPosted on  11:34 pm - 6-р сар 5, 2026

A small thank you note from me to the team behind this work, the post earned it, and a stop at teapotshrine suggested more thanks would be in order over time, recognising the people who do good writing online is something I try to remember to do because the alternative is silence and silence rewards mediocrity unfortunately.

AmmonKitPosted on  11:34 pm - 6-р сар 5, 2026

A piece that was confident enough to leave some questions open rather than forcing closure, and a look at premiumlivingmarketplace continued that intellectual honesty, content that admits the limits of its scope is more trustworthy than content that pretends to total understanding and this site has the right calibration on certainty consistently.

ConnerUttekPosted on  11:37 pm - 6-р сар 5, 2026

Glad I gave this fifteen minutes rather than the usual three minute skim, and a look at learnandscaleeffectively earned the same investment, time spent on quality content is rarely wasted but the reverse is also true and learning which sites deserve which kind of attention is part of being a careful online reader.

DarrickvokPosted on  11:40 pm - 6-р сар 5, 2026

A piece that ended with a clean landing rather than fading out, and a look at humvat maintained the same crisp conclusions, endings that resolve rather than dissolve are a sign of careful structural thinking and this site has clearly invested in how its pieces conclude rather than letting them simply run out of energy.

GlenninvarPosted on  11:42 pm - 6-р сар 5, 2026

Comfortable in tone and substantive in content, that is a hard combination to land, and a look at growwithclearintent kept that pairing alive across more material, this is what good editorial direction looks like in practice and the team here clearly has someone keeping a steady hand on the wheel across what they decide to publish.

ConnerborPosted on  11:45 pm - 6-р сар 5, 2026

Halfway through reading I knew this would be one to bookmark, and a look at startfreshthinking confirmed that early intuition, when bookmark intent forms before finishing a post you know the writing has cleared a quality bar that most content fails to clear and this site has cleared it on multiple visits already.

EveretthydayPosted on  11:49 pm - 6-р сар 5, 2026

Just want to say thank you for putting this together, posts like these make searching online actually worth it sometimes, and a quick look at buildsmarthabits kept that going, useful and easy to read without any of the tricks that ruin most blog comment sections lately on the wider open web.

IsaiahSpundPosted on  12:10 am - 6-р сар 6, 2026

Started thinking about my own writing differently after reading, and a look at learnstepbystep continued that reflective effect, content that influences how I work rather than just informing what I know is content with the highest kind of impact and this site has triggered some of that reflective influence today on me.

SidneyfaibePosted on  12:23 am - 6-р сар 6, 2026

Appreciated how the post felt complete without overstaying its welcome, and a stop at findgrowthchannels confirmed that economical approach runs across the site, knowing when to stop is a skill many writers never develop but here the discipline is obvious and welcome from the perspective of a busy reader trying to learn things efficiently.

LaneReosyPosted on  12:24 am - 6-р сар 6, 2026

Saving this link for the next time someone asks me about this topic, and a look at tokensaffron expanded what I will be sharing with them, this is the kind of resource that makes a real difference when you are trying to point a friend to something useful and reliable rather than generic marketing pages.

ClydetemPosted on  12:59 am - 6-р сар 6, 2026

Glad the writer did not feel the need to argue with imaginary critics in the post itself, and a stop at buildpositiveprogress kept the same focused approach going, defensive writing wastes the reader time and confidence on positions that did not need defending and this post has clearly avoided that common failure.

DustinfewPosted on  1:19 am - 6-р сар 6, 2026

Time spent here today felt productive in the way that good reading sessions sometimes do, and a stop at startpurposefulgrowth extended that productive feeling across the rest of the morning, the difference between productive reading and merely passing time is real and this site is consistently on the productive side for me lately.

MaxwellsopPosted on  1:21 am - 6-р сар 6, 2026

Reading this slowly to absorb the structure, and the structure is doing real work alongside the words, and a look at jadkix maintained the same architectural quality, when sentence shapes and paragraph rhythms reinforce the meaning rather than just transporting words you know you are reading skilled work today.

StephenbiarpPosted on  1:41 am - 6-р сар 6, 2026

Clean writing, easy to read, and never tries too hard to impress, that combination is harder to find than people think, and after my time on exploreuntappedpaths I am sure this site treats its readers well, no flashy tricks just useful content done right which is honestly all I want online.

KilepsymnPosted on  1:47 am - 6-р сар 6, 2026

Now I want to find more sites like this but I suspect they are rare, and a look at discovernewpossibility extended that thought, the few sites that meet this quality bar are precious specifically because they are rare and finding others like them is one of the ongoing projects of careful internet curation across the years.

LaynesnortPosted on  1:51 am - 6-р сар 6, 2026

Worth flagging this site to a few specific friends who would appreciate the editorial sensibility, and a look at shoresyrup added more pages I will mention to them, recommending sites to specific people requires understanding both the site and the person and this site is making those personalised recommendations easy and natural for me.

VaughnJursePosted on  1:56 am - 6-р сар 6, 2026

A particular pleasure to read this with a fresh coffee, and a look at growwithfocusedaction extended the pleasure across more pages, content that pairs well with quiet morning rituals is something I have come to value highly and this site has the kind of energy that fits naturally into a calm reading routine.

GinoquarfPosted on  1:59 am - 6-р сар 6, 2026

Just dropping by to say thanks for the effort, it does not go unnoticed when a writer cares this much about the reader, and after I went through derbunch I was certain this is one of the better corners of the internet for this particular kind of content which is genuinely refreshing.

QuincytahPosted on  1:59 am - 6-р сар 6, 2026

Nice to see a post that does not try to overcomplicate the basics for the sake of looking smart, and once I looked at tidaltunic the same direct tone was there too, which honestly makes a difference when you are short on time and want answers without long pointless intros.

GuillermoBewPosted on  2:06 am - 6-р сар 6, 2026

Strong recommendation from me, anyone curious about the topic should make time for this, and a look at growwithclarity only sharpens that recommendation further, the kind of resource that holds up against careful scrutiny rather than crumbling at the first critical question is rare and worth pointing other people toward when the topic comes up.

ArthurvemPosted on  2:07 am - 6-р сар 6, 2026

Reading this site over the past week has changed how I evaluate content in this space, and a look at learnandadvanceforward extended that recalibration, the standards I bring to reading on the topic have shifted upward as a direct result of regular exposure to this kind of work and that shift will outlast any single reading session.

RafaelmakPosted on  2:10 am - 6-р сар 6, 2026

Thanks for laying this out in a way that someone newer to the topic can follow, and a stop at createclarityfast kept that accessibility going, writing that meets readers at different experience levels without condescending is hard to do well and the writers here have clearly thought about who they are writing for.

LincolnWhevePosted on  2:15 am - 6-р сар 6, 2026

A piece that built up gradually rather than front loading its main points, and a look at designfocusedcommerce maintained the same gradual structure, content that trusts the reader to reach conclusions through accumulating reasoning is more persuasive than content that announces conclusions and then defends them and this site uses the persuasive approach.

RonaldSpenePosted on  2:17 am - 6-р сар 6, 2026

Reading this slowly because the writing rewards a slower pace, and a stop at swampstaple did the same, the pace at which I read content is something I now use as a quality signal and writing that earns a slower pace earns my attention as a reader looking for substance these days.

RicoevakePosted on  2:29 am - 6-р сар 6, 2026

Reading this between meetings turned out to be the most useful thing I did all afternoon, and a stop at biablur kept that productivity feeling going, content can sometimes outperform actual work in terms of what gets accomplished mentally and this site managed that today which is genuinely a high bar to clear consistently.

WilliampomPosted on  2:30 am - 6-р сар 6, 2026

Different in a good way from the cookie cutter content that fills most blogs covering this area, and a stop at exploreideasfreely kept showing me why, original thoughtful writing exists if you know where to look and this site has earned a place on my short list of those rare exceptions worth defending.

BuddystopsPosted on  2:45 am - 6-р сар 6, 2026

Now setting up a small reminder to revisit the site on a slow day, and a stop at senatetrench confirmed the reminder was a good idea, planning return visits is a small organisational act that signals trust in ongoing quality and this site has earned that planned return through consistent performance across the pieces I have read so far.

PatrickRerPosted on  3:16 am - 6-р сар 6, 2026

Thanks again for the post, I learned a couple of things I can actually use later this week, and after I went over findyournextidea the rest of the site looked equally promising, definitely going to spend more time here when I get a free moment over the weekend to read more carefully.

WarrenmenPosted on  3:17 am - 6-р сар 6, 2026

Now noticing the careful balance the post struck between confidence and humility, and a stop at heyaro maintained the same balance, finding the line between asserting and admitting is hard and this site has clearly developed the calibration to walk that line consistently which produces a more persuasive reading experience for me.

ChadKepPosted on  3:22 am - 6-р сар 6, 2026

Really appreciate that the writer did not stretch the post to hit some target word count, the points end when they are made, and a stop at discovernewperspectives reflected the same discipline, brevity is generosity in disguise and this site has clearly figured that out far better than most blog operations have.

RoryduebyPosted on  3:24 am - 6-р сар 6, 2026

Decided not to skim despite my usual habit and was rewarded for the discipline, and a stop at jadyam earned the same patient approach, training myself to recognise sites that warrant slower reading is part of being a careful online reader and this site is the kind that helps me practice that skill regularly.

CadenParPosted on  3:43 am - 6-р сар 6, 2026

Just wanted to say this was useful and leave a small note of thanks, and a quick visit to startbuildingpurpose earned a similar nod from me, the small acknowledgements add up over time and represent the real economy of trust that good content runs on across the open and increasingly fragmented modern internet.

CurtisLomPosted on  3:50 am - 6-р сар 6, 2026

Now thinking about how to apply some of this to a project I have been planning, and a look at jaycap added more material for the planning, content that connects to my actual creative work rather than just being interesting in the abstract is the kind that earns priority placement in my reading rotation consistently going forward.

LyleDrabsPosted on  4:03 am - 6-р сар 6, 2026

Now planning a longer reading session for the archives, and a stop at learnandgrowfaster confirmed the archives are worth that longer commitment, sites with archives I want to read deliberately rather than just sample are rare and this one has clearly earned that level of interest based on the consistency of what I have already read.

XanderJummaPosted on  4:07 am - 6-р сар 6, 2026

Yesterday I was complaining about the state of online writing and today this site has temporarily fixed that complaint, and a look at scopeskylark extended that mood reversal, the short term mood improvement that comes from finding good content is real and this site has produced that improvement for me at a useful moment.

ColbybuimiPosted on  4:10 am - 6-р сар 6, 2026

Honest assessment after reading this twice is that it holds up under careful attention, and a look at taffetaswan extended that durability across more pages, content that survives a second read without revealing weak spots is rarer than the average reader probably realises and this site clearly cleared that bar.

KadenahPosted on  4:13 am - 6-р сар 6, 2026

I really like how the writer keeps the tone friendly without sounding fake or overly polished, and after a stop at startstrongprogress the same calm pace was there, no rushing to make a point and no padding either, just clean honest writing that I can respect and come back to later again.

NevillenoitoPosted on  4:29 am - 6-р сар 6, 2026

A modest masterpiece in its own quiet way, and a look at derburn confirmed the same quiet quality across the rest of the site, calling something a masterpiece is usually overstating but for content this carefully crafted the word feels appropriate even if the writers themselves would probably resist the label honestly.

TimArigePosted on  4:29 am - 6-р сар 6, 2026

Worth saying that the post fit naturally into a rhythm of careful reading, and a stop at growstepbystep extended the same rhythm, content that pairs well with how I actually read rather than demanding a different mode is content well calibrated to its likely audience and this site has clearly thought about that consistently.

EduardovokPosted on  4:33 am - 6-р сар 6, 2026

Really appreciate that the writer did not assume I would read every other related post first, and a look at growwithconfidencenow kept that self contained feel going where each piece can stand alone, accessibility for new readers is a sign of generous editorial thinking and this site has clearly invested in that approach.

DevantedannaPosted on  4:37 am - 6-р сар 6, 2026

Generally I am cautious about recommending sites on first encounter but this one warrants the exception, and a look at biabrook reinforced the exception making, the rare site that justifies breaking my normal cautious approach is the rare site worth flagging early and this one has prompted exactly that early flagging response from me.

EmilioAbevyPosted on  4:39 am - 6-р сар 6, 2026

Bookmark folder created specifically for this site, and a look at humzap confirmed the dedicated folder was the right call, dedicated folders for individual sites are a level of organisation I rarely deploy and this site has earned that level of dedicated tracking based on the consistency I have seen so far across sessions.

KeithweKPosted on  4:41 am - 6-р сар 6, 2026

Now considering writing a longer note about the post somewhere, and a look at buildstrategicfocus added more material for that note, content that prompts me to write rather than just consume is content with generative energy and this site is producing that generative effect for me at a higher rate than most sources.

IraTrewSPosted on  4:45 am - 6-р сар 6, 2026

Took the time to read the comments on this post too and they were also worth reading, and a stop at explorepossibilitiestoday suggested the community quality matches the content quality, when the conversation around a piece is as good as the piece itself you know you have found a real corner of the internet.

AngeloHaictPosted on  4:55 am - 6-р сар 6, 2026

The headings made navigating the post simple even when I needed to find a specific section quickly, and a look at silverumber continued the same thoughtful structure, small details like clear headings show that someone is actually thinking about how the reader uses the page rather than just filling it for length alone.

CristianwaxPosted on  4:57 am - 6-р сар 6, 2026

Reading this in three sittings because the day was fragmented, and the piece survived the fragmentation, and a stop at heritageinspiredgoods held up under similar reading conditions, content engineered for continuous attention is fragile in modern conditions and this site reads as durable across the realistic ways people consume content today.

TyroneGoxPosted on  5:13 am - 6-р сар 6, 2026

Now realising this site has been quietly doing good work for longer than I knew, and a look at findbettersolutions suggested an archive worth exploring, sites with deep archives of consistent quality represent a different kind of resource than sites with viral hits and this one looks like the durable kind based on what I see.

MylesStiftPosted on  5:18 am - 6-р сар 6, 2026

A piece that did not lecture even when it had clear positions, and a look at explorenewdirections maintained the same teaching without preaching tone, finding the line between informing and lecturing is hard and most sites land on the wrong side of it but this one has clearly figured out how to inform without becoming preachy.

LloydRhypePosted on  5:46 am - 6-р сар 6, 2026

A particular kind of restraint shows up in the writing, and a look at unlockcreativeideas maintained the same restraint across pages, knowing what not to say is just as important as knowing what to say and this site has clearly developed strong instincts on both sides of that editorial line throughout pieces I have read.

LuisTarTyPosted on  6:07 am - 6-р сар 6, 2026

A genuine compliment to the writer for keeping the post focused on what mattered, and a look at buildbetterhabits continued that disciplined focus, focus is a editorial choice that compounds across many small decisions and this site has clearly made those small decisions consistently across what I have read so far this week here.

DravenhiTPosted on  6:09 am - 6-р сар 6, 2026

Reading this fit naturally into my afternoon walk because I was reading on my phone, and a stop at learnandtransformideas continued well in that walking format, content that survives mobile reading without becoming awkward is content with format flexibility and this site has clearly thought about how it reads across different devices today.

LevicefPosted on  6:17 am - 6-р сар 6, 2026

Worth pointing out that the writer made the topic feel more interesting than I had been expecting, and a look at createimpactframework continued that elevation effect, content that improves the apparent quality of its subject through skilled treatment is doing something real and this site has clearly developed that kind of editorial alchemy throughout.

JamienogPosted on  6:23 am - 6-р сар 6, 2026

Recommended to anyone working in or curious about this area, the depth and clarity combine well, and a look at syruptunic keeps that going across more pages, the kind of site that earns regular visits rather than chasing trends has my respect because it suggests genuine commitment to the topic itself rather than to chasing trends.

EvanTepPosted on  6:30 am - 6-р сар 6, 2026

Now I want to find more sites like this but I suspect they are rare, and a look at buildyournextstep extended that thought, the few sites that meet this quality bar are precious specifically because they are rare and finding others like them is one of the ongoing projects of careful internet curation across the years.

ReginaldAfterPosted on  6:51 am - 6-р сар 6, 2026

Picked this site to mention to a colleague who would benefit, and a look at exploreinnovativegrowth added more material I will pass along, recommending sites to colleagues is a higher bar than recommending to friends because the professional context demands more careful curation and this site cleared the professional bar without me having to think.

XanderReuptPosted on  6:57 am - 6-р сар 6, 2026

Skipped to a specific section because I knew that was the question I had, and the answer was clean, and a stop at createvisionforward similarly delivered targeted answers without burying them, content engineered for readers who arrive with specific needs rather than open ended browsing is increasingly valuable in a search heavy reading environment.

PatrickSIPPosted on  7:01 am - 6-р сар 6, 2026

If you asked me to point to a recent positive sign for the open web this site would be near the top, and a stop at doxfix reinforced that designation, the few sites that serve as evidence the web can still produce quality independent content are precious and this one has clearly become one for me.

HenryClotaPosted on  7:12 am - 6-р сар 6, 2026

Now setting this aside as a model of how to write thoughtfully on the topic, and a stop at shamrockveil extended that model status, content that becomes a reference for how a kind of writing should be done is content with influence beyond its own readership and this site is reaching that level for me clearly today.

VictorNoicePosted on  7:15 am - 6-р сар 6, 2026

Now leaving a small mental note to recommend this when the topic comes up in conversation, and a look at hirpod extended that recommend ready feeling, content that arms me with shareable references for likely future conversations is content with social value and this site is providing that conversational ammunition consistently for me lately.

HenryneaxyPosted on  7:41 am - 6-р сар 6, 2026

A small editorial detail caught my attention, the way headings related to body text, and a look at learnandapplyfast maintained that careful relationship, structural details like that show up to readers who notice them and the writers here have clearly thought about every level of the piece rather than just the words.

CraigbonPosted on  7:41 am - 6-р сар 6, 2026

A satisfying piece in the way that good meals are satisfying rather than just filling, and a look at globalpremiumfinds extended that satisfaction, the metaphor between content and meals is one I find useful and this site reads as a satisfying meal rather than the empty calories that most content provides for casual readers.

IvancorPosted on  7:51 am - 6-р сар 6, 2026

Decided I would read the archives over the weekend, and a stop at siriustender confirmed that the archives would be worth the time, very few sites have archives I would actively read through but this one has earned that level of interest based on the consistent quality across what I have sampled so far.

TerrenceRewPosted on  7:57 am - 6-р сар 6, 2026

A piece that exhibited the kind of patience that good writing requires, and a look at createfuturevision continued that patient quality, hurried writing is easy to spot and this site reads as having been written without time pressure which produces a different feel than the rushed content that dominates much of the modern blog space.

RaultupPosted on  8:08 am - 6-р сар 6, 2026

Picked up something useful for a side project, and a look at uplandharborvendorparlor added another piece I will incorporate, content that connects to specific projects I am working on is content with practical utility and the practical utility of this site is showing up across multiple posts I have read in the last hour or so.

EvanFumPosted on  8:25 am - 6-р сар 6, 2026

Just dropping by to say thanks for the effort, it does not go unnoticed when a writer cares this much about the reader, and after I went through buildconfidencefast I was certain this is one of the better corners of the internet for this particular kind of content which is genuinely refreshing.

DustinBawPosted on  8:31 am - 6-р сар 6, 2026

Honestly thank you to whoever wrote this because it scratched an itch I had not quite been able to articulate, and a stop at createclaritysteps kept that satisfying feeling going, the kind of writing that meets unspoken needs is special and this site clearly has writers who understand their readers more than most do today.

ArnoldricPosted on  8:31 am - 6-р сар 6, 2026

Excellent post, balanced and well organised without showing off, and a stop at createimpactroadmap continued in that same vein, this site has clearly figured out the formula for content that works for readers rather than for search engine ranking signals which is harder than it sounds today and worth real recognition from anyone.

MilesflemsPosted on  8:45 am - 6-р сар 6, 2026

Now leaving a small mental note to recommend this when the topic comes up in conversation, and a look at jazbox extended that recommend ready feeling, content that arms me with shareable references for likely future conversations is content with social value and this site is providing that conversational ammunition consistently for me lately.

ShaneCigPosted on  8:48 am - 6-р сар 6, 2026

Approaching this site through a casual link click and being surprised by what I found, and a look at explorefreshapproaches extended the surprise, the rare experience of stumbling into excellent independent content rather than predictable mediocrity is one of the actual remaining pleasures of casual web browsing and this site provided it cleanly.

KevinNoxPosted on  8:51 am - 6-р сар 6, 2026

A thoughtful read in a week that has been mostly noisy, and a look at discoverfuturepaths carried that thoughtful quality across more pages, finding pockets of considered writing in a week of distractions is one of the small wins of careful curation and this site is providing those pockets at a sustainable rate.

StanNowPosted on  9:11 am - 6-р сар 6, 2026

A well calibrated piece that knew its scope and stayed inside it, and a look at exploreuntappedideas maintained the same scope discipline, scope creep is one of the failure modes of long blog posts and this site has clearly invested in the editorial discipline to prevent it which shows up in tightly contained pieces.

DaquanSotPosted on  9:19 am - 6-р сар 6, 2026

Decided to read more before commenting and the more I read the more I wanted to say something, and a stop at buildlastingimpact pushed that impulse further, when content provokes the urge to participate rather than just consume it is doing something quite specific and worth recognising clearly when it happens during reading.

LucianVekPosted on  9:22 am - 6-р сар 6, 2026

Closed the tab with a small sense of finality rather than the usual rushed exit, and a stop at explorefreshthinkingnow produced the same considered closing, when reading ends with deliberate satisfaction rather than impatient skip you know the time was well spent and this site is producing those satisfying endings consistently across what I read.

CurtisAvestPosted on  9:32 am - 6-р сар 6, 2026

Reading this gave me the rare experience of fully agreeing with all the conclusions, and a stop at hunhax continued that agreement pattern, content that aligns with my existing views without seeming designed to do so is just content that happens to be reasonable and this site reads as reasonable rather than ideological mostly.

KirksteesPosted on  9:34 am - 6-р сар 6, 2026

Easily one of the better explanations I have read on the topic, and a stop at drubeat pushed it even higher in my mental ranking of useful resources, the kind of site that beats the average not by trying harder but by simply caring more about what it puts out daily which always shows.

TatealkatPosted on  10:01 am - 6-р сар 6, 2026

Now noticing how rare it is to find a site that does not feel rushed, and a look at slacktally extended that calm pace, content produced without time pressure has a different quality than content shipped to meet a deadline and this site reads as written without urgency which produces a different and better experience for readers.

NicolasgobPosted on  10:22 am - 6-р сар 6, 2026

Will be back, that is the simplest way to say it, and a quick visit to premiumdesignmarket reinforced the decision, this site has earned a spot in my regular rotation alongside a few other reliable places I check when I want something genuinely informative without all the usual modern web noise getting in the way.

AngelNofPosted on  10:32 am - 6-р сар 6, 2026

Decided to set aside time later to read more carefully, and a stop at fastbuycorner reinforced that decision, content that earns a calendar entry rather than just a passing read is in a different tier altogether and this site is clearly working at that elevated level which I really do appreciate as a reader today.

NathanielhenPosted on  10:39 am - 6-р сар 6, 2026

Reading this gave me something to think about for the rest of the afternoon, and after learnbydoing I had even more to mull over, the kind of post that lingers in the background of your day rather than evaporating immediately is genuinely valuable in an attention economy that punishes depth rather than rewarding it.

JavierlopPosted on  10:40 am - 6-р сар 6, 2026

If you asked me to point to a recent positive sign for the open web this site would be near the top, and a stop at buildactionablemomentum reinforced that designation, the few sites that serve as evidence the web can still produce quality independent content are precious and this one has clearly become one for me.

DamianrariaPosted on  10:47 am - 6-р сар 6, 2026

Speaking as someone who used to recommend blogs frequently and got out of the habit this site is rekindling that impulse, and a look at startwithclearpurpose extended the rekindling, the recovery of an old habit triggered by encountering work that justifies it is itself a small kind of pleasure and this site is providing that recovery experience.

LutherMigPosted on  10:55 am - 6-р сар 6, 2026

Speaking carefully because I do not want to overstate things this site is genuinely above average across multiple measurements, and a stop at explorelimitlessthinking continued the above average performance, the calibration of judgement against potential overstatement is something I take seriously and this site clears the higher bar even after that calibration applies.

ErikViniaPosted on  11:06 am - 6-р сар 6, 2026

Reading this slowly to give it the attention it deserved, and a stop at growwithintentiondaily earned the same slow read, choosing to read slowly is a small act of respect for content quality and very few sites earn that respect from me but this one did so without any explicit ask which is the cleanest way.

EstevanDatPosted on  11:13 am - 6-р сар 6, 2026

Now thinking about this site as a small example of what good independent writing looks like, and a stop at hislex continued that exemplary status, the few sites that serve as good examples are sites worth holding up in conversations about quality and this one has earned that exemplary placement through patient consistent effort over time.

KaleImaltPosted on  11:14 am - 6-р сар 6, 2026

A clean piece that knew exactly what it wanted to say and said it, and a look at growwithsmartchoices maintained the same clarity of intention, knowing the goal of a piece before writing is something most blog content lacks and the clarity of purpose here shows up in every paragraph for any careful reader to notice.

TommyenumsPosted on  11:31 am - 6-р сар 6, 2026

Now feeling something close to gratitude for the fact this site exists, and a look at growfocusedresults extended that gratitude, the rare site that produces this kind of response is the rare site worth defending in conversations about whether the modern internet is still capable of producing genuinely valuable independent content for serious adults.

SterlingBakPosted on  11:35 am - 6-р сар 6, 2026

Thanks for keeping the writing direct without losing the warmth that makes content feel human, and a stop at exploregrowthmindset carried both qualities forward, balancing professionalism and personality is a rare skill and the writers here have clearly figured out how to consistently land it across many posts which I notice.

QuincySoxPosted on  11:46 am - 6-р сар 6, 2026

Skimmed first and then went back to read carefully, and the careful read paid off in places I had missed, and a stop at buildclarityforward got the same treatment, the rare site whose content rewards a second pass is content I want more of in my regular rotation rather than disposable single read articles.

JorgefrebyPosted on  12:07 pm - 6-р сар 6, 2026

Reading this gave me a small mental break from the heavier reading I had been doing, and a stop at tailortarget extended that lighter feel, content that provides relief without becoming trivial is harder to produce than people realise and this site has clearly figured out how to be light without being shallow at all.

LawsongOthePosted on  12:55 pm - 6-р сар 6, 2026

However many similar pages I have read this one taught me something new, and a stop at brightfuturedeals added more new material, content that contributes genuinely fresh information rather than recycling what is already widely available is content with real informational value and this site is providing that informational freshness at a notable rate.

KeenanFupPosted on  1:03 pm - 6-р сар 6, 2026

Thanks for putting this online without locking it behind email signups or paywalls, and a quick visit to learnandtransformfast kept that open feel going, content that trusts the reader to come back rather than gating access is the kind of approach I will reward with regular return visits over time happily.

GregPakPosted on  1:09 pm - 6-р сар 6, 2026

Refreshing change from the usual sites covering this topic, no clickbait and no padding, and a stop at authenticlivinggoods confirmed the difference, this place clearly has its own voice rather than copying the formulas everyone else uses to chase clicks online which is becoming increasingly rare these days across nearly every popular subject.

ElmerPenPosted on  1:20 pm - 6-р сар 6, 2026

A piece that did not try to be timeless and ended up reading as durable anyway, and a look at discoverwhatworksbest extended that durable feel, content that stays useful past its publication date without straining for permanence is content that ages well and this site has the kind of evergreen quality that I value highly today.

HughEnedePosted on  1:22 pm - 6-р сар 6, 2026

Felt this in a way I cannot quite explain, the topic just hit different here, and a stop at discovergrowthpaths continued in that vein, sometimes you find a site whose perspective lines up with how you have been thinking and reading their work feels like a small relief which I appreciated more than I expected.

JeremyfooloPosted on  1:23 pm - 6-р сар 6, 2026

Honest reaction is that I want to send this to a friend who would benefit from it, and a look at createprogresssystems added more material I will pass along too, the impulse to share is the strongest signal I have for content quality and this site is generating that impulse cleanly across multiple posts.

DeonCamPosted on  1:36 pm - 6-р сар 6, 2026

Now planning to write about the topic myself eventually using this post as a reference, and a look at jazbrood would also serve in that future piece, content that becomes raw material for my own writing rather than just informing my reading is content with multiplicative value and this site is generating that multiplicative effect.

CamdenKesPosted on  1:39 pm - 6-р сар 6, 2026

Solid post, the structure is easy to follow and the language stays simple even when the topic gets a bit more involved, and a look at findyourwinningpath kept that same standard going, so I left feeling like the time spent here was actually worth something for once which is rare lately.

KendalllourePosted on  1:50 pm - 6-р сар 6, 2026

Worth recognising the absence of the usual blog tropes here, and a look at growintentionally continued that fresh quality, sites that avoid the standard moves of the medium read as more original even when the content is on familiar topics and this one has clearly chosen its own path through the conventional terrain skilfully.

CooperNahPosted on  1:55 pm - 6-р сар 6, 2026

Worth recognising that the post did not pretend to be the final word on the topic, and a stop at createvalueconsistently continued that humility, content that admits its own scope and limits is more trustworthy than content that overreaches and this site has clearly developed the editorial maturity to know what it can and cannot claim well.

DaxinardPosted on  2:10 pm - 6-р сар 6, 2026

Really appreciate this kind of writing, no shouting and no clickbait headlines just steady useful content, and a quick look at findgrowthsolutions kept that going, definitely a site I will be returning to whenever I need a sensible take on similar topics in the days ahead and also during slower work weeks.

IragokPosted on  2:24 pm - 6-р сар 6, 2026

Speaking carefully because I do not want to overstate things this site is genuinely above average across multiple measurements, and a stop at hupblob continued the above average performance, the calibration of judgement against potential overstatement is something I take seriously and this site clears the higher bar even after that calibration applies.

EmeryAgomoPosted on  2:39 pm - 6-р сар 6, 2026

Really nice to see things explained without overcomplicating the topic, the words flow naturally and stay easy to follow, and a short visit to jalaxis only added to that experience because the same simple approach is used across the rest of the page too without any change in tone.

ZacharyTromiPosted on  2:44 pm - 6-р сар 6, 2026

If I were grading sites on this topic this one would receive high marks, and a stop at discoverwhatworks continued earning those high marks, the informal grading I do mentally for content sources is something I take seriously even though it is informal and this site has been receiving consistent high marks across multiple sessions today.

JosephtriawPosted on  3:03 pm - 6-р сар 6, 2026

A piece that reads like it was written for me without claiming to be written for me, and a look at bomboard produced the same fit, when the writer audience match clicks naturally without being engineered through demographic targeting you know the writing is solid and this site has that natural fit consistently for me.

ZacharyalofePosted on  3:15 pm - 6-р сар 6, 2026

My usual pattern is to skim and bounce but this site has reset that pattern temporarily, and a stop at hobcar maintained the slower reading mode, content that changes how I read is content with structural influence and this site has clearly nudged my reading behaviour toward something better at least for the duration of these visits.

JohnnieWafPosted on  3:22 pm - 6-р сар 6, 2026

Honestly enjoyed every minute spent here, that is not something I say lightly, and a look at jaspermeadowtradegallery confirmed I will be back, the bar for spending time online is high for me these days but this site clears it without effort which is high praise indeed from this reader who is usually rather demanding.

MosesIcegoPosted on  3:22 pm - 6-р сар 6, 2026

Reading this gave me a small sense of progress on a topic I have been slowly working through, and a stop at unlocknewideas added another step forward, learning happens in small increments across many sources and finding sources that consistently contribute is the actual practical value of careful curation in an information rich world.

LukeHowPosted on  3:26 pm - 6-р сар 6, 2026

Skipped the comments to avoid spoilers and came back later to find them genuinely worth reading, and a stop at solarorchardmarketparlor extended that surprised respect, when the discussion below a post matches the quality of the post itself you have found something special and this site appears to attract that kind of audience.

RoryEsormPosted on  3:34 pm - 6-р сар 6, 2026

Started smiling at one paragraph because the writing was just nice, and a look at exploreuntappedopportunities produced a couple more such moments, prose that produces small spontaneous reactions in the reader is doing more than just transferring information and the writers here are clearly hitting that level fairly consistently throughout pieces.

JustinjeotoPosted on  3:42 pm - 6-р сар 6, 2026

Useful read, especially because the writer did not assume too much background from the reader, and a quick look at learnandaccelerategrowth continued in the same way, a thoughtful site that meets people where they are which is something the modern web could use a lot more of for both casual and serious readers.

CristiansitPosted on  3:43 pm - 6-р сар 6, 2026

Generally I am cautious about recommending sites on first encounter but this one warrants the exception, and a look at findnewgrowthpaths reinforced the exception making, the rare site that justifies breaking my normal cautious approach is the rare site worth flagging early and this one has prompted exactly that early flagging response from me.

HunterresPosted on  3:56 pm - 6-р сар 6, 2026

Reading this in a quiet coffee shop matched the calm energy of the writing, and a stop at intentionaldesignstore extended that environmental match, content that has its own ambient quality which can match or clash with surroundings is content with a personality and this site has the kind of personality that suits calm reading.

RicardochinoPosted on  4:04 pm - 6-р сар 6, 2026

Really appreciate that the writer did not overstate the importance of the topic to make the post feel weightier, and a quick visit to findyourgrowthpath maintained the same modest framing, content that is honest about its own scope rather than inflating itself is the kind I trust and return to repeatedly over time.

FletcherRerSePosted on  4:05 pm - 6-р сар 6, 2026

Now realising this site has been quietly doing good work for longer than I knew, and a look at discoverdailyinspiration suggested an archive worth exploring, sites with deep archives of consistent quality represent a different kind of resource than sites with viral hits and this one looks like the durable kind based on what I see.

BenScumpPosted on  4:25 pm - 6-р сар 6, 2026

Honestly this kind of writing is why I still bother to read independent sites, and a look at learnandgrowfaster extended that broader reflection, the few sites that justify continued attention to non algorithmic content are sites like this one and finding them periodically is enough to keep my reading habits oriented toward independent rather than aggregated content.

GunnerUtermPosted on  4:35 pm - 6-р сар 6, 2026

Skipped the related links section thinking I had read enough and then came back to it later when curiosity got the better of me, and a stop at createimpactstructure confirmed I should have just read it first, every section of this site appears to deserve careful attention rather than skipping past lazily.

ColbycunsePosted on  4:39 pm - 6-р сар 6, 2026

However selective I am about new bookmarks this one made it past my filter, and a look at buildstrongmomentum confirmed the bookmark was worth the slot, the precious slots in my permanent bookmark folder are difficult to earn and this site earned one without making me think twice about whether the slot was justified by the quality.

GavinMemPosted on  4:43 pm - 6-р сар 6, 2026

Even just sampling a few posts the consistency is what stands out, and a look at growresultsdrivenpath confirmed the broader pattern, sites where every piece I sample lives up to the standard set by the others are sites with serious quality control and this one has clearly invested in whatever editorial process produces that consistency reliably.

RobertwamPosted on  5:02 pm - 6-р сар 6, 2026

Just want to record that this site is entering my regular reading list, and a look at tidalslick confirmed it deserves the spot, my regular reading list is short and well curated and adding to it requires meeting a fairly high quality bar that this site has clearly cleared without much effort apparently.

OmarexokePosted on  5:11 pm - 6-р сар 6, 2026

Reading this between two meetings turned out to be the highlight of the morning, and a stop at ilonox continued that highlight quality, content that outshines the structured parts of a working day is doing something well beyond ordinary and this site has produced multiple such highlights for me already this week alone.

TerrencesorPosted on  5:35 pm - 6-р сар 6, 2026

Skipped the related products section because there was none, and a stop at seoscope also lacked any aggressive monetisation, content that is not constantly trying to convert me into a customer or subscriber is content that has confidence in its own value and that confidence shows up as a different reading experience.

OliversuicyPosted on  5:43 pm - 6-р сар 6, 2026

Liked the way the post got out of its own way, and a stop at createactionstepsnow extended that invisible craft, the best writing you barely notice while reading because it is doing its work without drawing attention to itself and this site has clearly mastered that disappearing act across the pieces I have read.

LonniefaiftPosted on  5:43 pm - 6-р сар 6, 2026

Quietly enjoying that I have found a new site to follow for the topic, and a look at quickcartcorner reinforced the small pleasure of the find, the discovery of new high quality sources is one of the more durable pleasures of careful internet reading and this site has been generating that discovery pleasure at multiple points already today.

ErnestoinelfPosted on  5:48 pm - 6-р сар 6, 2026

Once you find a site like this the search for similar voices begins, and a look at ravenharbortradehouse extended the search energy, finding a high quality reference point makes the gap between it and adjacent sources visible in a way it was not before and this site has provided that high reference point across multiple recent visits.

SidneysetPosted on  5:54 pm - 6-р сар 6, 2026

In the middle of an otherwise scattered day this post landed as a moment of focus, and a stop at growyourpotential extended that focused feeling across more pages, content that anchors a fragmented day rather than contributing to the fragmentation is content with real centring effect and this site is providing that anchoring function for me.

ManuelfrarfPosted on  6:00 pm - 6-р сар 6, 2026

Just want to recognise that someone clearly cared about how this turned out, and a look at learnandbuildmomentum confirmed that care extends across the broader site, you can feel the difference between content shipped to hit a deadline and content released because the writer was actually proud of the result for once.

HassanfroffPosted on  6:04 pm - 6-р сар 6, 2026

Skipped the TLDR thinking I would read everything anyway, and ended up enjoying the path through the full post, and a stop at bomkix similarly rewarded the patient read, summaries are useful but the journey through good writing is part of what makes the destination feel earned rather than just delivered cleanly.

DaquanKitPosted on  6:07 pm - 6-р сар 6, 2026

Top tier post, the kind that makes you want to share the link with friends working in the same area, and a stop at startnextleveljourney only made me more confident in doing that, this site is one of the better resources I have seen on the topic recently across both new and older posts.

GilbertokalgePosted on  6:07 pm - 6-р сар 6, 2026

Worth your time, that is the simplest endorsement I can give, and a stop at discoverhiddeninsights extends that endorsement across the rest of the site, this is one of those increasingly rare places that delivers on what it promises rather than over selling the content and under delivering on substance every time which I find frustrating elsewhere.

PhilipDryncPosted on  6:13 pm - 6-р сар 6, 2026

Skipped a meeting reminder to finish the post, and a stop at buildintentionalgrowth held me past another reminder, when content beats meetings the writer is doing something extraordinary because meetings have institutional support behind them and yet good writing can still occasionally win that competition for attention which I find heartening today.

JacobdumPosted on  6:27 pm - 6-р сар 6, 2026

Now wishing more sites covered topics with this level of care, and a look at jazfix extended that wish across more subjects, the rarity of careful coverage on most topics is a problem and this site is one of the small antidotes to that broader pattern of casual or surface treatment of complex subjects.

RandyLalPosted on  6:31 pm - 6-р сар 6, 2026

Reading this on a slow Sunday and finding it perfectly suited to a slow Sunday read, and a quick stop at createprogressnow kept the same gentle pace, content that fits the mood of the moment is something I notice and remember and this site has the kind of pace that suits relaxed reading sessions especially well.

XavierDatPosted on  6:39 pm - 6-р сар 6, 2026

Really like that the writer trusts the reader to follow simple logic without restating every previous point, and a stop at discoverhiddenvaluehub kept that respect going, treating an audience as capable adults rather than as people who need constant hand holding makes a noticeable difference in the reading experience for me.

YusufBydayPosted on  6:45 pm - 6-р сар 6, 2026

Glad I clicked through from where I did because this turned out to be worth the time spent, and after createimpactframework I had a fuller picture, the kind of content that earns its visitors through delivering value rather than chasing them through aggressive advertising or constant pop ups appearing everywhere on the screen lately.

LyleerolfPosted on  6:48 pm - 6-р сар 6, 2026

Reading this in the morning set a good tone for the day, and a quick visit to learnandinnovate kept that good tone going, content can do that sometimes when it hits the right notes and finding sites that consistently strike that tone is something I have learned to recognise and reward with regular visits.

KalAnnepPosted on  7:01 pm - 6-р сар 6, 2026

Nice to see a post that does not try to overcomplicate the basics for the sake of looking smart, and once I looked at discoverinnovativeideas the same direct tone was there too, which honestly makes a difference when you are short on time and want answers without long pointless intros.

EnriquetUpPosted on  7:16 pm - 6-р сар 6, 2026

Glad I stumbled across this post, the explanations actually make sense without needing background knowledge to follow along, and after a stop at hupbolt the same was true there, no assumptions about the reader just clear writing that anyone can understand from the first line right through to the end.

DavonhabPosted on  7:20 pm - 6-р сар 6, 2026

Skipped lunch to finish reading, which says something, and a stop at holbook kept me at my desk longer than planned, when content beats the lunch impulse the writer has done something genuinely impressive in an attention environment full of immediately satisfying alternatives competing for the same finite block of reader time.

AngelGabPosted on  7:40 pm - 6-р сар 6, 2026

Worth pointing out that the writer made the topic feel more interesting than I had been expecting, and a look at learnandprogressdaily continued that elevation effect, content that improves the apparent quality of its subject through skilled treatment is doing something real and this site has clearly developed that kind of editorial alchemy throughout.

JavonRidgePosted on  7:43 pm - 6-р сар 6, 2026

Glad the writer did not feel the need to argue with imaginary critics in the post itself, and a stop at imobush kept the same focused approach going, defensive writing wastes the reader time and confidence on positions that did not need defending and this post has clearly avoided that common failure.

VirgiljafPosted on  8:03 pm - 6-р сар 6, 2026

Reading this prompted a brief but useful conversation with a colleague who happened to walk by, and a stop at buildfocusedmomentum extended that conversational seed, content that becomes a starting point for in person discussion rather than ending in solitary reading is content with social generative energy and this site has plenty of it apparently.

LouisMoxPosted on  8:06 pm - 6-р сар 6, 2026

Bookmark folder created specifically for this site, and a look at everydayvaluecorner confirmed the dedicated folder was the right call, dedicated folders for individual sites are a level of organisation I rarely deploy and this site has earned that level of dedicated tracking based on the consistency I have seen so far across sessions.

HenrygloxyPosted on  8:10 pm - 6-р сар 6, 2026

Big thanks to whoever wrote this, you saved me a lot of time hunting for the same info on other sites, and a stop at linencovevendorparlor only added more useful detail without going off topic, that kind of focus is honestly hard to come across these days when most posts wander everywhere.

JonathannatewPosted on  8:14 pm - 6-р сар 6, 2026

Good clean post, no errors and no awkward phrasing that breaks the reading flow, and a stop at startfreshtoday kept the same standard, definitely the kind of editorial care that earns a return visit because it tells me the writer is paying attention to details that matter to readers rather than just rushing publication.

WestonsixPosted on  8:17 pm - 6-р сар 6, 2026

Most of my reading time goes to a small number of trusted sources and this one is now joining that group, and a stop at discovernewpotential reinforced the group membership, the few sites that earn a place in my regular rotation are sites I expect ongoing returns from and this one has earned that elevated position consistently.

BufordZizPosted on  8:21 pm - 6-р сар 6, 2026

Closed it feeling I had taken something away rather than just consumed something, and a stop at voicevinyl extended that taking away feeling, the difference between content I extract value from and content I just pass through is something I track informally and this site is consistently in the value extraction column for me.

CurtisinwalPosted on  8:22 pm - 6-р сар 6, 2026

Now thinking about how this post will age over the coming years, and a stop at buildsmartmomentum suggested the same durability, content built to age well rather than to capture the attention of the moment is content with a different kind of value and this site has clearly chosen the long horizon over the short one.

GuyhoupePosted on  8:29 pm - 6-р сар 6, 2026

Even on a quick first read the substance of the post comes through, and a look at growwithsteadyfocus reinforced that immediate quality, content that does not require a slow careful read to demonstrate value but rewards one anyway is content with real depth and this site has produced work of that demanding depth class.

JohnFendyPosted on  8:30 pm - 6-р сар 6, 2026

Worth pointing out the careful word choice in this post, no buzzwords and no jargon, and a look at discoverwinningpaths continued that disciplined vocabulary, sites that resist the pull of trendy language are sites that will read well in five years and this one is clearly built for that kind of long durability.

DomenicRoorpPosted on  8:39 pm - 6-р сар 6, 2026

Genuine reaction is that I will probably think about this on and off for a few days, and a look at buildstrategicdirection added fuel to that, the best content lingers in your head after you close the tab rather than evaporating immediately and this site clearly knows how to write that kind of memorable content.

BrendonPeallPosted on  8:56 pm - 6-р сар 6, 2026

Once you start reading carefully here it is hard to go back to lower quality alternatives, and a stop at discoveropportunityflows reinforced that ratchet effect, the way good content raises standards is real over time and this site has clearly contributed to raising my expectations for what is possible in writing on the topic generally.

KentcrimePosted on  9:00 pm - 6-р сар 6, 2026

If I am being honest this is the kind of site I quietly hope my own work will someday resemble, and a stop at createfocusedmomentum extended that aspirational feeling, finding work that models what I want to produce is part of why I read carefully and this site has been performing that modelling function for me lately consistently.

HassanpekPosted on  9:25 pm - 6-р сар 6, 2026

Appreciated that the writer trusted the reader to follow along without constant restating of earlier points, and a look at startthinkingstrategically continued that respect for the reader, treating an audience as capable adults rather than as people to be hand held through every paragraph is something I notice and value highly across the open internet today.

YusufhixPosted on  9:57 pm - 6-р сар 6, 2026

If I am being honest this is the kind of site I quietly hope my own work will someday resemble, and a stop at scrolltower extended that aspirational feeling, finding work that models what I want to produce is part of why I read carefully and this site has been performing that modelling function for me lately consistently.

AlecKamPosted on  10:18 pm - 6-р сар 6, 2026

Nice and clean, that is the best way to describe the writing here, no clutter and no wasted words, and a quick visit to buildsmartprogress kept that going, I appreciate when a site treats its readers like people who can think for themselves without needing constant hand holding through every paragraph.

JimmycupPosted on  10:29 pm - 6-р сар 6, 2026

Thank you for the genuine effort here, it shows in every paragraph and not just the headline, and after my visit to oliveorchard I was sure this site cares about getting things right rather than chasing clicks, which is the main reason I will come back later this week to read more.

EmilianosenPosted on  10:32 pm - 6-р сар 6, 2026

The structure of the post made it easy to follow without losing track of where I was, and a look at createimpacttogether kept the same logical flow going, this site clearly understands that organisation is half the battle in keeping readers engaged from the first line to the last across any kind of post.

TerrancevomPosted on  10:32 pm - 6-р сар 6, 2026

Got pulled in by the headline and stayed because the content actually delivered on the promise, and a stop at startwithclearvision kept that trust intact, when a site lives up to its own framing it earns the right to keep showing up in my browser tabs going forward indefinitely from here on out really.

KevinviasyPosted on  10:35 pm - 6-р сар 6, 2026

Now I want to find more sites like this but I suspect they are rare, and a look at learnandexpandfast extended that thought, the few sites that meet this quality bar are precious specifically because they are rare and finding others like them is one of the ongoing projects of careful internet curation across the years.

KyleHiedyPosted on  10:36 pm - 6-р сар 6, 2026

Genuinely useful read, the points are practical and easy to apply right away, and a quick look at createfocusedaction confirmed that this site is consistent in that approach, looking forward to digging through the rest of it when I get the chance to sit down properly later in the week or this weekend.

LewissedPosted on  10:39 pm - 6-р сар 6, 2026

Going to come back when I have more time to read carefully, the post deserves more than a quick scan, and a stop at learnandoptimizefast reinforced that, this is the kind of site that rewards a slower read which is hard to find in this fast paced corner of the internet but really worthwhile.

DylanjoneePosted on  10:52 pm - 6-р сар 6, 2026

Walked away with a clearer head than I had before reading this, and a quick visit to buildsmartfoundations only sharpened that, the writing has a way of cutting through the noise that surrounds most topics online which is something I will definitely remember the next time I am searching for an answer to anything.

CaseyBogPosted on  10:55 pm - 6-р сар 6, 2026

Now noticing that the post avoided the temptation to be funny in places where humour would have undermined the substance, and a stop at inaarch maintained the same restraint, knowing when to be serious is a rare editorial virtue and this site has clearly developed it through what I assume is careful editorial practice over years.

DiegoswolePosted on  11:02 pm - 6-р сар 6, 2026

If the topic interests you at all this is a place to spend time, and a look at growwithconfidencenow reinforced that recommendation, the broader question of where to invest topical reading time is one this site answers convincingly through the consistent quality across multiple pieces I have sampled during the current reading session today.

JayNedPosted on  11:04 pm - 6-р сар 6, 2026

Different feel from the algorithmically optimised posts that dominate the topic, and a stop at discovermeaningfulgrowth reinforced that human touch, you can tell when a site is being run by someone who reads what they publish versus someone just hitting submit and moving on quickly to the next assignment without checking the result.

LaynecexPosted on  11:06 pm - 6-р сар 6, 2026

Glad I gave this fifteen minutes rather than the usual three minute skim, and a look at buildyournextmove earned the same investment, time spent on quality content is rarely wasted but the reverse is also true and learning which sites deserve which kind of attention is part of being a careful online reader.

DoriansoarlPosted on  11:06 pm - 6-р сар 6, 2026

Now planning a longer reading session for the archives, and a stop at buildactionableprogress confirmed the archives are worth that longer commitment, sites with archives I want to read deliberately rather than just sample are rare and this one has clearly earned that level of interest based on the consistency of what I have already read.

LeevenPosted on  11:17 pm - 6-р сар 6, 2026

Skipped lunch to finish reading, which says something, and a stop at jebbeo kept me at my desk longer than planned, when content beats the lunch impulse the writer has done something genuinely impressive in an attention environment full of immediately satisfying alternatives competing for the same finite block of reader time.

AlfredbonPosted on  11:19 pm - 6-р сар 6, 2026

The whole experience of reading this was pleasant from start to finish, no pop ups and no annoying interruptions, and a look at findnewopportunityflows continued that clean experience, technical choices about page design matter for the reader and this site clearly cares about the small details that add up to comfort across multiple visits.

EnriquetotPosted on  11:21 pm - 6-р сар 6, 2026

A piece that reads like it was written for me without claiming to be written for me, and a look at holcap produced the same fit, when the writer audience match clicks naturally without being engineered through demographic targeting you know the writing is solid and this site has that natural fit consistently for me.

DaquanjakPosted on  11:23 pm - 6-р сар 6, 2026

Thank you for keeping the writing honest and the points easy to verify against your own experience, and a stop at createprogressmapping reflected the same approach, no exaggeration just steady useful content that I can take with me into my own work without second guessing every sentence I happen to read here.

SamgonPosted on  11:31 pm - 6-р сар 6, 2026

Picked this up while looking for something else and ended up reading every paragraph because it was actually informative, and after buildstrategicdirection I was sure I would come back, that does not happen often when most sites bury the useful parts under endless ads and pop ups today and across most categories online.

GeneGlosyPosted on  11:39 pm - 6-р сар 6, 2026

Bookmark earned, share earned, return visit earned, all from one reading session, and a look at seosprout did the same, the trifecta of bookmark and share and return is rare in a single visit and represents the highest level of engagement I tend to offer any piece of online content these days here.

ChadBricsPosted on  11:48 pm - 6-р сар 6, 2026

Now feeling the quiet pleasure of finding writing that takes itself seriously without being self serious, and a stop at createprogressframework extended that subtle pleasure, the gap between earnest and pretentious is fine and this site has clearly chosen to land on the earnest side without slipping over into pretentious which is impressive.

MiguelstoliPosted on  12:09 am - 6-р сар 7, 2026

A piece that reads like it was written for me without claiming to be written for me, and a look at hupido produced the same fit, when the writer audience match clicks naturally without being engineered through demographic targeting you know the writing is solid and this site has that natural fit consistently for me.

TomGuplePosted on  12:12 am - 6-р сар 7, 2026

Came away with a small but real shift in perspective on the topic, and a stop at buildactionableprogress pushed that shift a bit further, the kind of subtle reframing that good writing does to a reader without making a big deal of it is something I always appreciate when it happens which is sadly not that often.

KeenanRhypePosted on  12:37 am - 6-р сар 7, 2026

A clear cut above the usual noise on the subject, and a look at startmovingforward only made that gap wider in my view, the kind of place that earns its visitors through quality rather than through aggressive marketing or sponsored placements which is increasingly the only way most sites stay afloat across the modern web.

DominicTeackPosted on  12:48 am - 6-р сар 7, 2026

The structure of the post made it easy to follow without losing track of where I was, and a look at bakeboxshop kept the same logical flow going, this site clearly understands that organisation is half the battle in keeping readers engaged from the first line to the last across any kind of post.

StuartMobPosted on  12:49 am - 6-р сар 7, 2026

Reading this confirmed that my time researching the topic in other places had not been wasted, and a stop at discoveropportunityzones extended the confirmation, when independent sources agree that is a useful signal and this site is one of the more reliable sources I have found for cross checking what I read elsewhere on similar subjects.

HugoBealmPosted on  12:54 am - 6-р сар 7, 2026

A genuine compliment to the writer for keeping the post focused on what mattered, and a look at findbetterapproaches continued that disciplined focus, focus is a editorial choice that compounds across many small decisions and this site has clearly made those small decisions consistently across what I have read so far this week here.

DannyvoMPosted on  12:59 am - 6-р сар 7, 2026

Decided not to skim despite my usual habit and was rewarded for the discipline, and a stop at findgrowthopportunitiesnow earned the same patient approach, training myself to recognise sites that warrant slower reading is part of being a careful online reader and this site is the kind that helps me practice that skill regularly.

JayMomPosted on  1:13 am - 6-р сар 7, 2026

I really like how the writer keeps the tone friendly without sounding fake or overly polished, and after a stop at startnextphase the same calm pace was there, no rushing to make a point and no padding either, just clean honest writing that I can respect and come back to later again.

MilessuelaPosted on  1:31 am - 6-р сар 7, 2026

Picked up on several small touches that suggest a careful editor, and a look at startwithpurposefulsteps suggested the same hand at work across the broader site, editorial consistency at a granular level is one of the strongest signs that an operation is serious rather than just hobbyist and this site reads as serious throughout.

RongenPosted on  1:37 am - 6-р сар 7, 2026

Really grateful for content like this, it does not waste my time and it does not insult my intelligence either, and a quick look at learnandrefine was the same, balanced respectful writing that makes a person feel welcome rather than rushed through pages of forced engagement just to keep clicking around.

ReedputPosted on  1:38 am - 6-р сар 7, 2026

Took my time with this rather than rushing because the writing rewards attention, and after learnandadvancefaster I had even more to absorb, the kind of content that pays back the patient reader rather than punishing them with empty filler is something I look for and rarely find in regular searches lately.

AdamshoroPosted on  1:43 am - 6-р сар 7, 2026

Worth bookmarking and sharing with anyone interested in the topic, that is my honest take, and a stop at createvisionforward reinforces that, the kind of generous resource that makes the open web feel worth defending against the constant pressure to retreat into walled gardens and curated feeds today everywhere I look across all my devices.

DoriansoarlPosted on  1:51 am - 6-р сар 7, 2026

Now thinking about this site as a small example of what good independent writing looks like, and a stop at buildactionableprogress continued that exemplary status, the few sites that serve as good examples are sites worth holding up in conversations about quality and this one has earned that exemplary placement through patient consistent effort over time.

GavinaduffPosted on  1:51 am - 6-р сар 7, 2026

Reading this confirmed a hunch I had been carrying about the topic without having articulated it, and a stop at findgrowthdirections extended the confirmation, content that gives shape to fuzzy intuitions is doing the rare work of making private thoughts public and this site is providing that articulating service consistently for me lately.

FranciscoFatPosted on  2:09 am - 6-р сар 7, 2026

Liked the careful word choice throughout, every term seemed picked for a reason rather than thrown in casually, and a stop at inobrat continued that precise style, this kind of attention to small details is what separates careful writing from the usual rushed content that dominates blog spaces today across pretty much every topic I follow.

DaquanjakPosted on  2:09 am - 6-р сар 7, 2026

Thank you for keeping the writing honest and the points easy to verify against your own experience, and a stop at createprogressmapping reflected the same approach, no exaggeration just steady useful content that I can take with me into my own work without second guessing every sentence I happen to read here.

YusufslathPosted on  2:12 am - 6-р сар 7, 2026

Just wanted to say this was useful and leave a small note of thanks, and a quick visit to discovercreativegrowth earned a similar nod from me, the small acknowledgements add up over time and represent the real economy of trust that good content runs on across the open and increasingly fragmented modern internet.

BoydNamPosted on  2:14 am - 6-р сар 7, 2026

A piece that handled multiple complications without becoming confused, and a look at siloteapot continued that organisational clarity, holding multiple threads in a single piece without losing any of them is a sign of skilled writing and this site has clearly developed the editorial discipline to manage complexity without sacrificing readability throughout.

DaquanpaupsPosted on  2:27 am - 6-р сар 7, 2026

Came across this through a roundabout path and now it is on my regular rotation, and a stop at buildyournextmove sealed that decision, the open web still produces serendipitous discoveries when you let the citations and references guide you rather than relying purely on algorithmic feeds for new content recommendations always.

FinninfagPosted on  2:51 am - 6-р сар 7, 2026

Now sitting with the thoughts the post triggered rather than rushing on to the next thing, and a stop at surgesorrel extended that reflective pause, content that earns time for thought after closing the tab is content of higher value than the merely interesting and this site has clearly produced that lasting effect today.

YusufRibPosted on  2:56 am - 6-р сар 7, 2026

A piece that exhibited the kind of patience that good writing requires, and a look at createimpactsteps continued that patient quality, hurried writing is easy to spot and this site reads as having been written without time pressure which produces a different feel than the rushed content that dominates much of the modern blog space.

KalejemPosted on  3:05 am - 6-р сар 7, 2026

Considered as a whole this site has developed a coherent point of view that comes through in individual pieces, and a look at buildsustainableprogress continued displaying that coherence, sites with a unified perspective rather than a grab bag of takes are sites with editorial maturity and this one has clearly developed that maturity through years of work.

JimmyEsowlPosted on  3:07 am - 6-р сар 7, 2026

Now sitting with the thoughts the post triggered rather than rushing on to the next thing, and a stop at bulkingbayou extended that reflective pause, content that earns time for thought after closing the tab is content of higher value than the merely interesting and this site has clearly produced that lasting effect today.

MikeCormaPosted on  3:13 am - 6-р сар 7, 2026

Closed the tab with a small sense of finality rather than the usual rushed exit, and a stop at learnandscale produced the same considered closing, when reading ends with deliberate satisfaction rather than impatient skip you know the time was well spent and this site is producing those satisfying endings consistently across what I read.

BasilkitPosted on  3:17 am - 6-р сар 7, 2026

Honestly the simplicity of the explanation made the topic click for me in a way other writeups had not, and a look at seolift continued that clarity into related areas, when a writer gets the level of explanation right the reader does the heavy lifting themselves and the post just enables it.

EnriqueamapsPosted on  3:24 am - 6-р сар 7, 2026

Honestly enjoyed every minute spent here, that is not something I say lightly, and a look at buildsustainablemomentum confirmed I will be back, the bar for spending time online is high for me these days but this site clears it without effort which is high praise indeed from this reader who is usually rather demanding.

TheodoredigPosted on  3:26 am - 6-р сар 7, 2026

Thanks for the practical examples scattered through the post rather than abstract theory only, and a look at holdax continued that grounded style, abstract points are easier to remember when paired with concrete situations and the writers here clearly understand how readers actually retain information from blog content reading sessions.

KirkBopPosted on  3:36 am - 6-р сар 7, 2026

Easy to recommend without reservations, the site delivers on every promise it implicitly makes, and a look at buildsmartdirection kept that same standard going, the kind of consistency that earns trust over time rather than chasing it through aggressive marketing is what I see here and it is appreciated greatly by this particular reader today.

WillisVeKPosted on  3:37 am - 6-р сар 7, 2026

A thoughtful read in a week that has been mostly noisy, and a look at buildforwardthinking carried that thoughtful quality across more pages, finding pockets of considered writing in a week of distractions is one of the small wins of careful curation and this site is providing those pockets at a sustainable rate.

MarshallglalsPosted on  3:57 am - 6-р сар 7, 2026

Looking forward to seeing what gets published next month, and a look at exploreideaswithpurpose extended that anticipation across the broader site, finding myself looking forward to a sites future content rather than just consuming its existing content is a stronger commitment level than I usually reach with new finds and this site triggered that.

TylerEdighPosted on  3:58 am - 6-р сар 7, 2026

Reading this in three sittings because the day was fragmented, and the piece survived the fragmentation, and a stop at startthinkingclearly held up under similar reading conditions, content engineered for continuous attention is fragile in modern conditions and this site reads as durable across the realistic ways people consume content today.

TerrellleakyPosted on  3:59 am - 6-р сар 7, 2026

Worth marking the moment when reading this clicked into something useful for my own work, and a look at explorefreshgrowthideas extended that practical click, content that connects to my actual life rather than just being interesting is content with the highest kind of value and this site is generating that connection at a high rate.

LeonardSalPosted on  4:10 am - 6-р сар 7, 2026

Reading this prompted a brief but useful conversation with a colleague who happened to walk by, and a stop at jebbird extended that conversational seed, content that becomes a starting point for in person discussion rather than ending in solitary reading is content with social generative energy and this site has plenty of it apparently.

ClaytonziplyPosted on  4:27 am - 6-р сар 7, 2026

My friends would appreciate a few of these posts and I will be sending links accordingly, and a look at explorefreshthinkingnow added more pages to my share queue, content that earns shares to specific people in specific contexts is content with social utility and this site is generating those targeted shares from me consistently lately.

LutherkaxPosted on  4:36 am - 6-р сар 7, 2026

Halfway through reading I knew this would be one to bookmark, and a look at learnandoptimizepath confirmed that early intuition, when bookmark intent forms before finishing a post you know the writing has cleared a quality bar that most content fails to clear and this site has cleared it on multiple visits already.

JabariSlorpPosted on  4:38 am - 6-р сар 7, 2026

Found this useful, the points line up well with what I have been thinking about lately, and a stop at startnextlevelgrowth added some angles I had not considered yet, definitely walking away with more than I came for which is the best outcome from time spent reading online for any kind of topic.

LainepainiPosted on  4:39 am - 6-р сар 7, 2026

Genuinely good work, the kind that holds up over multiple readings without losing its appeal, and a stop at exploreideaswithpurpose kept that going, definitely a site I will be returning to and probably mentioning to others who work in or care about this particular area of interest today and in coming weeks.

VancenotPosted on  4:42 am - 6-р сар 7, 2026

Useful enough to recommend to several people I know who would appreciate it, and a stop at findgrowthopportunitiespath added more material I will pass along too, the kind of writing that earns word of mouth is the kind that actually delivers on its promises which is what this site does without any drama or fanfare attached.

BarneyCramyPosted on  5:02 am - 6-р сар 7, 2026

Felt the writer respected me as a reader without making a show of doing so, and a look at hurbug continued that quiet respect, this is the kind of small but meaningful detail that separates the sites I bookmark from the ones I close after a single skim and never return to again no matter how interesting the headline.

DwayneMitPosted on  5:08 am - 6-р сар 7, 2026

A piece that did exactly what it promised in the headline without overshooting or underdelivering, and a look at inobrisk continued that calibration, alignment between promise and delivery is a basic editorial virtue that many sites fail at and this site has clearly mastered the matching of expectation and substance throughout pieces.

CecilFuhPosted on  5:13 am - 6-р сар 7, 2026

Probably the kind of site that should be more widely read than it appears to be, and a look at createimpactjourney reinforced that quiet wish, the gap between a sites quality and its apparent reach is sometimes large and that gap exists for this site in a way that makes me want to mention it more.

KurtWeapePosted on  5:22 am - 6-р сар 7, 2026

Now feeling slightly more optimistic about the state of independent writing online, and a stop at growyourcapabilities extended that quiet optimism, sites like this one are the reason I have not given up on the open web entirely and finding them occasionally renews the case for paying attention to non algorithmic content sources today.

HarlanEndofPosted on  5:23 am - 6-р сар 7, 2026

Came away with a small but real shift in perspective on the topic, and a stop at startwithpurposefulsteps pushed that shift a bit further, the kind of subtle reframing that good writing does to a reader without making a big deal of it is something I always appreciate when it happens which is sadly not that often.

LelandKagPosted on  5:27 am - 6-р сар 7, 2026

A piece that read as if the writer was thinking carefully rather than just typing fluently, and a look at parcelparadise continued that considered quality, the difference between fluent typing and careful thinking shows up in writing and this site reads as the product of thought rather than just the product of language fluency apparently.

TerrellQuofsPosted on  5:33 am - 6-р сар 7, 2026

Felt the writer respected me as a reader without making a show of doing so, and a look at startnextchapter continued that quiet respect, this is the kind of small but meaningful detail that separates the sites I bookmark from the ones I close after a single skim and never return to again no matter how interesting the headline.

SaulsusPosted on  5:44 am - 6-р сар 7, 2026

Picked this post to share in a Slack channel where I knew it would be appreciated, and a look at discovernewmomentum suggested I will share more from here later, content worth sharing into a professional context is content that has earned a higher kind of trust than mere personal interest and this site has it.

GarrettJemPosted on  5:49 am - 6-р сар 7, 2026

One of the more thoughtful posts I have read recently on this topic, and a stop at startyournextphase added even more weight to that impression, this is genuinely good content that holds its own against far better known sites in the same space without trying to imitate any of them at all which I appreciate.

JuliozenPosted on  5:58 am - 6-р сар 7, 2026

A small thing but the line spacing and font choices made reading this physically pleasant, and a look at learnandprogresssteadily maintained the same careful design, technical choices about typography are part of what makes online reading actually comfortable and this site has clearly invested in the design layer alongside the content layer carefully.

DevanteSoyncPosted on  6:19 am - 6-р сар 7, 2026

Genuinely well crafted writing, the kind that makes the topic look easier than it actually is, and a look at createpositiveoutcomes added even more depth, you can feel the experience behind every line which is something only writers who have been at this for a while can pull off with this level of grace.

ErickSarPosted on  6:27 am - 6-р сар 7, 2026

Bookmarked the page and the homepage too because clearly there is more to explore here, and a quick stop at buildlongtermstrength only made that more obvious, this is the kind of place I want to dig through over a weekend rather than rushing through during a coffee break tomorrow morning before getting back to work.

EmilioroonoPosted on  6:55 am - 6-р сар 7, 2026

Top tier post, the kind that makes you want to share the link with friends working in the same area, and a stop at seomagnet only made me more confident in doing that, this site is one of the better resources I have seen on the topic recently across both new and older posts.

FletchernicPosted on  6:56 am - 6-р сар 7, 2026

The examples really helped me grasp the points faster than abstract descriptions would have, and a stop at syrupserif added a few more practical illustrations that drove the message home, the kind of writing that knows its readers learn better through concrete situations rather than vague generalities is rare and worth recognising clearly.

BoydmobPosted on  7:02 am - 6-р сар 7, 2026

A quiet piece that did not try to compete on volume, and a look at startwithclearfocus maintained that selective approach, sites that publish less but better are increasingly rare in an environment that rewards volume and this one has clearly chosen quality cadence over quantity which is a brave editorial decision in current conditions.

BartNAkPosted on  7:08 am - 6-р сар 7, 2026

Skimmed first and then went back to read carefully, and the careful read paid off in places I had missed, and a stop at buildclarityforward got the same treatment, the rare site whose content rewards a second pass is content I want more of in my regular rotation rather than disposable single read articles.

KelvinNorPosted on  7:23 am - 6-р сар 7, 2026

Glad to have another data point on a question I am still thinking through, and a look at startpurposefuljourney added two more, content that acknowledges its place in a wider conversation rather than pretending to settle the question alone is intellectually honest in a way that I wish was more common across the open web.

LiamSninyPosted on  7:25 am - 6-р сар 7, 2026

A piece that read as the work of someone who reads carefully themselves, and a look at holpod continued that informed feel, writers who are also serious readers produce work with a different quality and this site reads as the product of someone steeped in good writing rather than just generating content for an audience.

RolandoHeedsPosted on  7:31 am - 6-р сар 7, 2026

Reading more of the archives is now on my plan for the weekend, and a stop at explorefreshthinkingpaths confirmed the archive worth the time, the rare archive worth a dedicated reading session rather than just casual sampling is the rare archive of serious work and this site has clearly produced enough of that work to warrant the deeper exploration.

GriffinKapPosted on  7:34 am - 6-р сар 7, 2026

However measured this site clears the bar I set for sites I take seriously, and a stop at buildgrowthmomentum continued clearing that bar, the metrics I use for site quality are admittedly informal but they are consistent and this site has cleared them on multiple measurements across multiple visits which is meaningful for my evaluation.

RamonsoadaPosted on  7:38 am - 6-р сар 7, 2026

Reading this confirmed that the topic deserves more careful attention than it usually gets, and a stop at findyournextstage extended that elevated framing, content that raises the appropriate weight of a subject without being preachy about it is serving a quiet but important editorial function for the broader cultural conversation about it.

RafaelDauchPosted on  7:40 am - 6-р сар 7, 2026

Really appreciate the absence of stock photos that have nothing to do with the content, and a quick visit to startpurposefuljourney maintained the same restraint, visual filler is a tell that the writing cannot stand on its own and the lack of it here suggests the team has confidence in their content quality alone.

GuspoirePosted on  7:40 am - 6-р сар 7, 2026

Even on a quick first read the substance of the post comes through, and a look at startsmartprogress reinforced that immediate quality, content that does not require a slow careful read to demonstrate value but rewards one anyway is content with real depth and this site has produced work of that demanding depth class.

JamieOvelpPosted on  7:49 am - 6-р сар 7, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at nutmegnetwork produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

HankBuistPosted on  7:53 am - 6-р сар 7, 2026

Speaking from the perspective of a fairly demanding reader the writing here clears the bar consistently, and a look at exploreideasdeeply continued clearing that bar, the calibration of demanding reader is something I apply to all sources and this site has been one of the few that handles the demanding reading well across pieces sampled.

FideljakPosted on  8:06 am - 6-р сар 7, 2026

Sets a higher bar than most of what shows up in search results for this topic, and a look at irotix did not lower that bar at all, in fact it confirmed the impression, this is the kind of consistency that earns a place in regular rotation for serious readers instead of casual scrollers passing through.

GavinAnachPosted on  8:12 am - 6-р сар 7, 2026

During the time spent here I noticed the absence of the usual distractions, and a stop at discovercreativepaths extended that distraction free experience, content that does not fight my attention with pop ups and modals and aggressive prompts is content that respects me and this site has clearly chosen the respectful approach throughout.

DeonpefPosted on  8:15 am - 6-р сар 7, 2026

Top quality material, deserves more attention than it probably gets, and a look at discoverforwardideas reflected the same effort across the site, a hidden gem in the modern web where most attention goes to whoever shouts loudest rather than whoever actually delivers the best content for their readers without much marketing fanfare.

CalvinemorePosted on  8:18 am - 6-р сар 7, 2026

Yesterday I was complaining about the state of online writing and today this site has temporarily fixed that complaint, and a look at explorefreshgrowthideas extended that mood reversal, the short term mood improvement that comes from finding good content is real and this site has produced that improvement for me at a useful moment.

KyrieketlePosted on  8:22 am - 6-р сар 7, 2026

Probably this is one of the better quiet successes on the open web at the moment, and a look at findyournextdirection reinforced that quiet success quality, sites that are doing well without making a noise about doing well are the sites I most respect and this one has clearly chosen the quiet success path consistently throughout.

JettThypePosted on  8:40 am - 6-р сар 7, 2026

Thanks for putting this online without locking it behind email signups or paywalls, and a quick visit to growstepwisely kept that open feel going, content that trusts the reader to come back rather than gating access is the kind of approach I will reward with regular return visits over time happily.

singlebetcalculator_opmtPosted on  8:51 am - 6-р сар 7, 2026

free bet calculator single https://singlebet-calculator.uk/ .

NathansnoroPosted on  9:00 am - 6-р сар 7, 2026

Now feeling slightly more optimistic about the state of independent writing online, and a stop at startbuildingvision extended that quiet optimism, sites like this one are the reason I have not given up on the open web entirely and finding them occasionally renews the case for paying attention to non algorithmic content sources today.

JamarcusbronePosted on  9:03 am - 6-р сар 7, 2026

A quiet piece that did not try to compete on volume, and a look at jebbrood maintained that selective approach, sites that publish less but better are increasingly rare in an environment that rewards volume and this one has clearly chosen quality cadence over quantity which is a brave editorial decision in current conditions.

single_eeKiPosted on  9:10 am - 6-р сар 7, 2026

Users provide their bet amount and the odds indicated by their chosen bookmaker.
each way double calculator https://singlebetcalculatorfree.uk/bet-calculator/double/

EriksoxPosted on  9:27 am - 6-р сар 7, 2026

Picked this post to share in a Slack channel where I knew it would be appreciated, and a look at learnandoptimizegrowth suggested I will share more from here later, content worth sharing into a professional context is content that has earned a higher kind of trust than mere personal interest and this site has it.

AllenPneusPosted on  9:38 am - 6-р сар 7, 2026

I really like how the writer keeps the tone friendly without sounding fake or overly polished, and after a stop at growwithfocusedsteps the same calm pace was there, no rushing to make a point and no padding either, just clean honest writing that I can respect and come back to later again.

ZackBoyPePosted on  9:46 am - 6-р сар 7, 2026

This actually answered the question I had been searching for, and after I checked startnextleveldirection I had a few more pieces I had not realised I needed, that is the sign of a site that knows what its readers want before they even know how to ask it which is impressive.

KalenUnoniPosted on  9:48 am - 6-р сар 7, 2026

Came back to this twice now in the same week which is unusual for me, and a look at findgrowthsolutions suggested I will keep coming back, the kind of post that earns repeated visits rather than one and done reading is the gold standard for content quality and this site clearly hit that standard.

DarrelliMpopPosted on  9:54 am - 6-р сар 7, 2026

Honestly impressed by how much useful content sits in such a small post, and a stop at growwithstrategyfocus confirmed the rest of the site packs a similar punch, density without confusion is a hard balance to strike and this site has clearly cracked the code on it across many different topic areas covered.

singlebetcalculator_fzknPosted on  9:55 am - 6-р сар 7, 2026

single horse bet calculator single horse bet calculator .

EmmettdiopsPosted on  9:56 am - 6-р сар 7, 2026

Decided after reading this that I would check this site weekly going forward, and a stop at husbury reinforced that commitment, deciding to add a site to a regular rotation requires meeting a quality bar that very few places clear and this one cleared it cleanly without any noticeable effort or marketing push behind it.

single_brOrPosted on  10:01 am - 6-р сар 7, 2026

It empowers bettors to make smarter wagers by knowing the exact potential outcome.
football bet accumulator calculator https://single-betcalculator.com/bet-calculator/accumulator/

KennethmitPosted on  10:09 am - 6-р сар 7, 2026

Came across this and immediately thought of a friend who would enjoy it, and a stop at chairchampion also reminded me of someone, content that triggers the urge to share is content that has earned my recommendation and this site has earned multiple from me already across different conversations during the week.

DallasteadyPosted on  10:10 am - 6-р сар 7, 2026

Now adding the homepage to my regular check rotation rather than waiting for individual links to find me, and a stop at createactionwithpurpose confirmed the rotation upgrade, the move from passive discovery to active checking is a vote of confidence in a sites ongoing quality and this site has earned that active engagement clearly.

single_jypaPosted on  10:10 am - 6-р сар 7, 2026

It is especially helpful for beginners who are still learning about betting math.
acca odds calculator https://single-bet-calculator.uk/bet-calculator/accumulator/

single_okSaPosted on  10:21 am - 6-р сар 7, 2026

They provide a clear understanding of how much money can be won.
how to work out accumulator odds https://single-bet-calculator-free.com/bet-calculator/accumulator/

single_vfmnPosted on  10:25 am - 6-р сар 7, 2026

Besides calculating winnings, the calculator can also help manage your betting budget.
single odds calculator https://single-betcalculator.uk/

AndybizPosted on  10:36 am - 6-р сар 7, 2026

Reading this brought back the satisfaction I used to get from blogs ten years ago, and a stop at seomotion kept that nostalgic quality alive, sites that capture what was good about an earlier era of internet writing are increasingly precious and this one is doing that without feeling like a deliberate throwback at all.

JacobundubPosted on  10:38 am - 6-р сар 7, 2026

Really thankful for posts that respect a reader’s time, this one does, and a quick look at growwithstrongintent was the same, no need to scroll through endless intros just to get to the actual content, that approach alone is enough reason to come back here regularly for the kind of writing offered.

DemarcusCittyPosted on  10:41 am - 6-р сар 7, 2026

Worth saying that the prose reads naturally without straining for style, and a stop at buildlongtermfocus maintained the same unforced quality, writing that achieves elegance without effort is the highest tier and this site has clearly worked out how to land that effortless quality consistently rather than only on the writers best days.

CristianMuhPosted on  10:46 am - 6-р сар 7, 2026

Reading this confirmed a small detail I had been uncertain about, and a stop at explorefuturevisions provided the source for further checking, content that supports verification through citations or links rather than just asserting facts is more trustworthy and this site has clearly built its credibility through that kind of verifiable approach consistently.

RolandopahPosted on  11:03 am - 6-р сар 7, 2026

I learned more from this short post than from longer articles I read earlier today, and a stop at buildintentionalsteps added even more useful detail without going off topic, this site clearly knows how to keep things focused without sacrificing depth which is a hard balance to strike for any writer.

CaryvoiniPosted on  11:05 am - 6-р сар 7, 2026

Came here from another site and ended up exploring much further than I planned, and a look at irubelt only encouraged more exploration, the kind of place where one click leads to another not through manipulative design but through genuinely interesting content is rare and worth highlighting when found like this somewhere on the open internet.

JettfliekPosted on  11:18 am - 6-р сар 7, 2026

Closed the tab feeling I had spent the time well, and a stop at createyourstorytoday extended that feeling across more pages, the test of whether time on a site was well spent is one I apply silently after closing tabs and very few sites pass it but this one passed it cleanly today afternoon clearly.

RyanunalkPosted on  11:26 am - 6-р сар 7, 2026

Reading this in a quiet hour and finding it suited the quiet, and a stop at createactionwithpurpose extended the quiet reading mood, content that matches its own optimal reading conditions rather than fighting them is content that has been thoughtfully calibrated and this site reads as having a particular reading mood in mind throughout.

BuddyThumnPosted on  11:28 am - 6-р сар 7, 2026

Decided not to comment because the post said what needed saying, and a stop at holzix continued that complete feel, content that does not invite obvious additions or corrections from readers is content that has been carefully considered and this site appears to consistently produce pieces that satisfy rather than provoke unnecessary follow ups.

MurrayavelsPosted on  11:35 am - 6-р сар 7, 2026

Probably one of the more reliable sources I have found for this kind of careful coverage, and a look at findyourprogressroute reinforced the reliability, the small group of sources I would describe as reliable for a given topic is curated carefully and this site has earned a place in that small group through consistent performance.

HerbertbahPosted on  11:56 am - 6-р сар 7, 2026

Now adding the homepage to my regular check rotation rather than waiting for individual links to find me, and a stop at growstepbystrategy confirmed the rotation upgrade, the move from passive discovery to active checking is a vote of confidence in a sites ongoing quality and this site has earned that active engagement clearly.

YorknugPosted on  12:03 pm - 6-р сар 7, 2026

Now realising the post solved a small problem I had been carrying for weeks, and a look at createconsistentdirection extended that problem solving function, content that connects to specific unresolved questions in my own life rather than just providing general interest is content with real practical impact and this site is providing that practical value.

DarrickneipsPosted on  12:03 pm - 6-р сар 7, 2026

Worth marking this site as one to come back to deliberately rather than by accident, and a stop at createclaritysteps reinforced that intention, the difference between sites I find again by chance and sites I return to on purpose is meaningful and this one has clearly moved into the deliberate return category for me.

JameswexiaPosted on  12:14 pm - 6-р сар 7, 2026

В случае если хотите найти смотреть турецкий сериал сезоны онлайн бесплатно без траты времени и непроверенных площадок, обратите внимание на нашу коллекцию лучших турецких телешоу. Здесь собраны как громкие новинки последних лет, а также легендарные сериалы, которые остаются популярными среди поклонников жанра. Многие пользователи выбирают турецкие сериалы благодаря сильным сюжетам, запоминающимся героям, атмосферным съемкам и глубоким эмоциям, которая удерживает интерес от первой до последней серии. Смотреть любимые истории можно в хорошем качестве, без сложной регистрации и лишних действий.

KimjakPosted on  12:16 pm - 6-р сар 7, 2026

Speaking as someone who used to recommend blogs frequently and got out of the habit this site is rekindling that impulse, and a look at startmovingclearly extended the rekindling, the recovery of an old habit triggered by encountering work that justifies it is itself a small kind of pleasure and this site is providing that recovery experience.

SaulkInnaPosted on  12:18 pm - 6-р сар 7, 2026

Decided to subscribe to the RSS feed if there is one, and a stop at learnanddevelopquickly confirmed that decision, content that I want delivered to me proactively rather than just remembered when I have time is content that has earned a higher level of commitment from me as a reader looking for reliable sources.

IsaacdeadoPosted on  12:31 pm - 6-р сар 7, 2026

Glad the writer kept this short rather than padding it out, the points stand on their own without needing extra context, and a look at createimpactstructure kept the same approach going, brevity is a sign of confidence in the substance and the team here clearly trusts their content to land without filler.

JavonSenPosted on  12:34 pm - 6-р сар 7, 2026

Looking at this objectively the editorial quality is hard to deny even setting aside personal taste, and a stop at brightbanyan maintained the same objective quality, the gap between what I personally enjoy and what is objectively well crafted exists and this site clears both bars simultaneously which is rarer than it sounds.

KingstonSlurePosted on  12:53 pm - 6-р сар 7, 2026

Quietly the post solved something I had been turning over without quite knowing how to phrase the question, and a look at buildfocusedprogress extended that quiet solving, content that addresses unformulated needs is content with reader insight and this site has demonstrated that insight at a high rate across the pieces I have read recently.

VladimirBrultPosted on  12:54 pm - 6-р сар 7, 2026

Bookmark added with a small note about why, and a look at findbetterwaysforward prompted another bookmark with another note, the bookmarks I annotate are the ones I expect to return to deliberately rather than stumble into and this site is generating annotated bookmarks at a higher rate than my usual content sources by some margin.

BaronNedPosted on  1:08 pm - 6-р сар 7, 2026

Worth flagging that this approach to the topic is fresh without being contrarian, and a stop at findyournextfocus extended the same fresh angle, finding original perspective on familiar subjects is rare and this site has clearly developed its own way of seeing rather than echoing the dominant takes from elsewhere consistently.

GeneGoxPosted on  1:15 pm - 6-р сар 7, 2026

Probably worth setting aside a longer block to read more carefully than I can right now, and a stop at findmomentumquickly confirmed the longer block plan, the impulse to schedule dedicated time for a sites archive is itself a measure of trust and this site has earned that scheduling impulse from me clearly today actually.

ElmerBiornPosted on  1:40 pm - 6-р сар 7, 2026

Halfway through reading I knew this would be one to bookmark, and a look at buildfocusedgrowth confirmed that early intuition, when bookmark intent forms before finishing a post you know the writing has cleared a quality bar that most content fails to clear and this site has cleared it on multiple visits already.

JudsonkaTPosted on  1:41 pm - 6-р сар 7, 2026

During a quiet evening reading session this provided just the right depth without being heavy, and a stop at createclearoutcomes maintained the same evening appropriate weight, content with depth that does not exhaust the reader is content with editorial calibration and this site has clearly figured out how to be substantial without being demanding all the time.

VirgilTicPosted on  1:42 pm - 6-р сар 7, 2026

Anyone curious about this topic would do well to start here, the foundation laid is solid, and a stop at startwithpurposefuldirection would round out their understanding nicely, this is the kind of resource I would point a friend toward without hesitation if they asked me where to begin learning about anything in this area.

EmilianohiemyPosted on  1:43 pm - 6-р сар 7, 2026

Closed the tab with a small sense of finality rather than the usual rushed exit, and a stop at createforwardmotion produced the same considered closing, when reading ends with deliberate satisfaction rather than impatient skip you know the time was well spent and this site is producing those satisfying endings consistently across what I read.

AndyDESPosted on  1:56 pm - 6-р сар 7, 2026

A quiet piece that did not try to compete on volume, and a look at startgrowingtoday maintained that selective approach, sites that publish less but better are increasingly rare in an environment that rewards volume and this one has clearly chosen quality cadence over quantity which is a brave editorial decision in current conditions.

GabrielamaphPosted on  1:57 pm - 6-р сар 7, 2026

Reading this slowly to absorb the structure, and the structure is doing real work alongside the words, and a look at discoverforwardmomentum maintained the same architectural quality, when sentence shapes and paragraph rhythms reinforce the meaning rather than just transporting words you know you are reading skilled work today.

FinnemifePosted on  2:02 pm - 6-р сар 7, 2026

Skipped a meeting reminder to finish the post, and a stop at jebmug held me past another reminder, when content beats meetings the writer is doing something extraordinary because meetings have institutional support behind them and yet good writing can still occasionally win that competition for attention which I find heartening today.

VladimirrookePosted on  2:16 pm - 6-р сар 7, 2026

Reading this prompted me to dig into a related topic later, and a stop at explorefreshgrowth provided some of the starting points for that follow up reading, content that triggers further exploration rather than satisfying curiosity completely is content with real generative energy and this site has plenty of that energy throughout it.

DomenicTutPosted on  2:23 pm - 6-р сар 7, 2026

Genuinely glad I clicked through to read this rather than skipping past, and a stop at createprogressjourney confirmed I should keep clicking through to more pages here, the kind of resource that justifies its place in my browser history rather than feeling like wasted time which is the highest compliment I offer any site online today.

KelbySangePosted on  2:27 pm - 6-р сар 7, 2026

Well done, the kind of post that makes you slow down and actually read instead of skimming for keywords, and a look at seomotive kept me reading carefully too, that is a sign of writing that has been crafted rather than churned out for an algorithm to see today and tomorrow.

WyattvagPosted on  2:28 pm - 6-р сар 7, 2026

Stands out for actually being useful instead of just being long, and a look at startyourgrowthpath kept that going, length without value is the default mode of most blogs these days but this site has clearly chosen a different path which I respect a lot as a reader who values careful editing decisions like that.

VancebumPosted on  2:34 pm - 6-р сар 7, 2026

Just sat back at the end of the post and felt grateful that someone took the time to write it, and a look at learnandtransformdirection extended that gratitude across more of the site, recognising effort behind quality work is part of what makes the open web a community rather than just a marketplace today.

CodyAlupePosted on  2:38 pm - 6-р сар 7, 2026

One of the more honest takes on the topic I have seen lately, no spin and no oversell, and a stop at createclaritysystems kept that going, the kind of voice the open web could use a lot more of rather than the endless echo chamber of recycled opinions floating around every social platform these days.

BradfordSpaniPosted on  2:58 pm - 6-р сар 7, 2026

Started reading skeptically because the headline seemed overconfident, and the post earned the headline by the end, and a look at hyxarch continued that pattern of earning its claims, sites that can back up their headlines without overpromising are rare and this one has clearly developed editorial calibration on that front consistently.

LeongatPosted on  3:01 pm - 6-р сар 7, 2026

Definitely a recommend from me, anyone curious about the topic should check this out, and a look at startwithclearpurpose adds even more reason for that, the depth and quality combine to make this site one I will be pointing people toward whenever similar conversations come up over the months ahead at work or socially.

TomdeamyPosted on  3:02 pm - 6-р сар 7, 2026

Now recognising the editorial wisdom of letting some questions remain open at the end, and a look at mochamarket continued that intellectual honesty, content that does not force closure on contested questions is content that respects the limits of knowledge and this site has clearly developed the maturity to know when to leave space.

JaxonSonPosted on  3:13 pm - 6-р сар 7, 2026

Most posts I read end up forgotten within a day but this one is sticking, and a look at discoverinnovativeideas extended that lingering effect, content that survives the immediate moment of reading rather than evaporating is content with genuine retention quality and this site has been producing memorable pieces at a rate notable across my reading.

KrispitPosted on  3:21 pm - 6-р сар 7, 2026

Now noticing the post fit a particular gap in my reading without my having articulated the gap before, and a look at buildfocusedprogress extended that gap filling effect, content that meets needs I had not consciously formulated is content with reader insight and this site has clearly developed that anticipatory editorial sense across many pieces.

RolandokeltyPosted on  3:30 pm - 6-р сар 7, 2026

Reading this with a notebook open turned out to be the right move, and a stop at sagevogue added more material to the notes, content that justifies active note taking from a passive reader is content with real informational density and this site is producing notes worthy material at a high rate consistently.

KurtMenPosted on  3:31 pm - 6-р сар 7, 2026

Thanks for the clean writing, no broken sentences and no awkward translations like some other sites have, and a quick stop at horcall kept that polish going nicely, it really does make a difference when a reader can move through a page without tripping on every line or going back to reread.

CoryCrelIPosted on  3:35 pm - 6-р сар 7, 2026

Now setting aside time on my next free afternoon to read more from the archives, and a stop at discoverinnovativethinking confirmed that time will be well spent, the rare site whose archive deserves a dedicated reading session rather than just casual sampling is the kind of resource worth scheduling around and this one qualifies clearly.

DomenicScecePosted on  3:40 pm - 6-р сар 7, 2026

Now thinking about how this post will age over the coming years, and a stop at discovernewdirectionnow suggested the same durability, content built to age well rather than to capture the attention of the moment is content with a different kind of value and this site has clearly chosen the long horizon over the short one.

ShermanSouctPosted on  4:03 pm - 6-р сар 7, 2026

Came back to this an hour later to reread a specific section, and a quick visit to startsmartmovement also drew a second look, content that pulls you back rather than letting you move on permanently is the kind I want to fill my browser bookmarks with in 2026 and beyond as the open internet evolves.

BruceLoyakPosted on  4:05 pm - 6-р сар 7, 2026

Now feeling mildly impressed in a way I do not quite remember feeling about a blog in a while, and a stop at buildgrowthdirection extended that mild impression, content that produces specific positive emotional responses rather than just neutral information transfer is content with extra dimensions and this site has those extra dimensions clearly.

DeshawnavabsPosted on  4:07 pm - 6-р сар 7, 2026

Vague feelings of recognition kept surfacing as I read because the writing names things I have been thinking, and a look at startthinkingbigger produced more of those recognition moments, content that gives shape to private intuitions is content that makes me feel less alone in my own thinking and this site has that effect.

GradysibiaPosted on  4:19 pm - 6-р сар 7, 2026

Will be sharing this with a couple of people who care about the topic, and a stop at createforwardexecution added more material worth passing along, the kind of site that is generous with quality content and does not make you jump through hoops to access it which is appreciated more than the team probably realises.

CharlieCrogePosted on  4:45 pm - 6-р сар 7, 2026

Good clean post, no errors and no awkward phrasing that breaks the reading flow, and a stop at growwithclaritynow kept the same standard, definitely the kind of editorial care that earns a return visit because it tells me the writer is paying attention to details that matter to readers rather than just rushing publication.

GeoffreyAdvicPosted on  4:45 pm - 6-р сар 7, 2026

The use of plain language without dumbing down the topic was really well done, and a look at buildsustainablemovement continued in that same accessible style, this is something many technical writers fail at because they either confuse their readers or condescend to them but here neither problem appears at all which is impressive really.

LeeTotPosted on  4:53 pm - 6-р сар 7, 2026

Reading this slowly and letting each paragraph land before moving on, and a stop at learnandmoveahead earned the same patient approach, content that rewards slow reading rather than speed is content with real density and the writers here are clearly producing work that benefits from the careful eye rather than the rushed scan.

AbrahampogmaPosted on  5:01 pm - 6-р сар 7, 2026

Now thinking about how this post will age over the coming years, and a stop at explorefutureclarity suggested the same durability, content built to age well rather than to capture the attention of the moment is content with a different kind of value and this site has clearly chosen the long horizon over the short one.

GenebokPosted on  5:02 pm - 6-р сар 7, 2026

Top notch writing, every paragraph carries weight and nothing feels like filler, and a stop at discovernewfocusareas reflected that same care, a rare thing on the open web these days where most pages exist for clicks rather than actual reader value or anything close to that which is honestly a real shame.

TuckerVonPosted on  5:08 pm - 6-р сар 7, 2026

If a friend asked me where to read carefully on the topic I would send them here without hesitation, and a look at discovergrowthmindset confirmed the recommendation strength, the directness of my recommendation reflects how confident I am in the quality and this site has earned undiluted recommendations from me across multiple recent conversations actually.

RoccomesPosted on  5:10 pm - 6-р сар 7, 2026

Recommended without hesitation if you care about careful coverage of this topic, and a stop at createvisionexecution reinforced the recommendation, the bar I set for unhesitating recommendations is fairly high and this site has cleared it through the cumulative weight of multiple consistently good pieces rather than through any single standout post which is meaningful.

JacksonDrarkPosted on  5:20 pm - 6-р сар 7, 2026

I learned more from this short post than from longer articles I read earlier today, and a stop at findyourprogresslane added even more useful detail without going off topic, this site clearly knows how to keep things focused without sacrificing depth which is a hard balance to strike for any writer.

MatttabPosted on  5:31 pm - 6-р сар 7, 2026

Felt the post handled a sensitive angle of the topic with appropriate care, and a look at coppercrown extended that careful handling across related material, sites that can navigate delicate territory without causing damage are rare and require a level of judgement that comes from experience rather than from following any clear playbook.

ErvinglopePosted on  5:37 pm - 6-р сар 7, 2026

Closed it feeling I had taken something away rather than just consumed something, and a stop at exploreinnovativepathwaysnow extended that taking away feeling, the difference between content I extract value from and content I just pass through is something I track informally and this site is consistently in the value extraction column for me.

SeanDekPosted on  5:46 pm - 6-р сар 7, 2026

Worth flagging that the post handled an angle of the topic I had not seen elsewhere, and a look at findyourtruefocus extended that fresh treatment, content that finds underexplored corners of well covered subjects is genuinely valuable and this site has demonstrated that exploratory editorial approach across multiple pieces in my reading sessions today.

MarcosGliffPosted on  5:58 pm - 6-р сар 7, 2026

Liked everything about the experience, from the opening through to the closing notes, and a stop at startthinkingstrategically extended that into more pages, finding a site where the editorial vision shows through every choice rather than feeling random is an increasingly rare experience and one I am glad to have today during this particular reading session.

IrvingalacePosted on  5:59 pm - 6-р сар 7, 2026

Honestly the simplicity is what makes this work, the topic is not buried under filler words or overly complex examples, and a quick look at learnandtransformfast showed the same sensible style, I left with what I came for and no headache from over reading which is a real win these days.

SergioPORPosted on  6:00 pm - 6-р сар 7, 2026

Solid value for anyone willing to read carefully, and a look at irubrisk extends that value across the rest of the site, this is the kind of place that rewards return visits rather than offering everything in a single splashy post and then leaving readers nothing to come back for later which is unfortunately common.

JimmysekPosted on  6:17 pm - 6-р сар 7, 2026

Liked the natural conversational tone throughout, never stiff and never overly casual either, and a stop at seoorbit kept that comfortable middle ground going, finding a tone that respects the reader without becoming distant or overly familiar is harder than it sounds and this site nails that balance consistently across many different pieces.

KonnorPexPosted on  6:23 pm - 6-р сар 7, 2026

Found something quietly useful here that I expect to return to, and a stop at learnandoptimizegrowthpath added more of the same, content with quiet utility ages well in a way that flashy hot takes do not and I have learned to weight quiet utility much higher when deciding what to bookmark for later use.

DustinMopPosted on  6:28 pm - 6-р сар 7, 2026

Sets a higher bar than most of what shows up in search results for this topic, and a look at learnandexecuteclearly did not lower that bar at all, in fact it confirmed the impression, this is the kind of consistency that earns a place in regular rotation for serious readers instead of casual scrollers passing through.

EzekielMarPosted on  6:33 pm - 6-р сар 7, 2026

Appreciated how the writer anticipated the questions a reader might have along the way, and a stop at unlocknewopportunities continued that thoughtful approach, you can tell when content has been edited with the reader in mind versus just published as a first draft and this is clearly the former approach across what I read.

RolandwidgePosted on  6:33 pm - 6-р сар 7, 2026

Speaking honestly this is among the better discoveries of my recent browsing, and a stop at explorefreshstrategicpaths reinforced that discovery quality, the ranking of recent discoveries is informal but meaningful and this site has placed near the top of that ranking based on the consistency of quality across what I have already read carefully.

CadenSnanoPosted on  7:01 pm - 6-р сар 7, 2026

Easily one of the better explanations I have read on the topic, and a stop at jebyam pushed it even higher in my mental ranking of useful resources, the kind of site that beats the average not by trying harder but by simply caring more about what it puts out daily which always shows.

RufusAgopePosted on  7:20 pm - 6-р сар 7, 2026

Adding this to my list of go to references for the topic, and a stop at discovernewdirectionnow confirmed the rest of the site deserves the same, definitely the kind of resource that earns its place rather than getting forgotten the moment the next interesting article shows up in my feed somewhere else on the web.

WalterbrurlPosted on  7:31 pm - 6-р сар 7, 2026

Appreciate the practical examples, they made the abstract points easier to grasp, and a stop at explorefutureopportunity added more of the same, this site clearly understands that real examples beat empty theory every single time which is the mark of a writer who knows their audience well and respects their time.

LeroyscutsPosted on  7:33 pm - 6-р сар 7, 2026

Will be passing this along to a few people who would benefit from the perspective shared here, and a stop at growwithstrategyintent only added to what I will be sharing, this kind of generous content deserves to circulate widely rather than getting buried in some search engine algorithm tweak that pushes it down the rankings.

HarveyloulpPosted on  7:35 pm - 6-р сар 7, 2026

Came in for one specific question and got answers to three I had not even thought to ask, and a look at growintentionallyforward extended that bonus value pattern, the kind of resource that anticipates reader needs rather than just answering the literal question asked is the gold standard and this site reaches it.

LloydnuttyPosted on  7:43 pm - 6-р сар 7, 2026

Reading this triggered a small but real correction in something I had assumed, and a stop at growresultsoriented extended that corrective effect, content that updates my beliefs through evidence rather than rhetoric is content with intellectual integrity and this site has earned that label consistently across the pieces I have read so far today.

ArnoldgemPosted on  7:43 pm - 6-р сар 7, 2026

Thanks for not padding this with the usual filler intros and outros that every other blog seems to require, and a quick visit to growresultsfocused continued that lean approach across more posts, content stripped of waste is content that respects you and I will always come back to that kind of approach.

ChancemeakePosted on  7:50 pm - 6-р сар 7, 2026

Reading this slowly because the writing rewards a slower pace, and a stop at startpurposefullynow did the same, the pace at which I read content is something I now use as a quality signal and writing that earns a slower pace earns my attention as a reader looking for substance these days.

CoryfugPosted on  7:56 pm - 6-р сар 7, 2026

Solid recommendation from me to anyone working in the area, the perspective here is grounded, and a look at findgrowthpotential adds even more useful angles, the kind of site that becomes a reference rather than just a one time read which is a higher bar than most blogs ever reach today on the modern web.

DrewNitPosted on  7:59 pm - 6-р сар 7, 2026

A piece that took its time without dragging, and a look at seogrove kept the same patient pace, the difference between unhurried and slow is a fine editorial distinction and this site has clearly found the unhurried side without slipping into the slow side which would have lost me as a reader quickly otherwise.

AxelUnapsPosted on  8:00 pm - 6-р сар 7, 2026

A piece that read as the work of someone who reads carefully themselves, and a look at hyxbrook continued that informed feel, writers who are also serious readers produce work with a different quality and this site reads as the product of someone steeped in good writing rather than just generating content for an audience.

SullivanwamPosted on  8:05 pm - 6-р сар 7, 2026

Felt the post was written for someone like me without explicitly addressing me, and a look at createprogressmappingnow produced the same fit, when content lands on its target without pandering you know the writer has done careful audience thinking rather than relying on demographic targeting or interest signals to do the work of editorial decisions.

RudyLydayPosted on  8:15 pm - 6-р сар 7, 2026

Reading this slowly and letting each paragraph land before moving on, and a stop at discoverfreshopportunities earned the same patient approach, content that rewards slow reading rather than speed is content with real density and the writers here are clearly producing work that benefits from the careful eye rather than the rushed scan.

RafaelnesPosted on  8:42 pm - 6-р сар 7, 2026

Started reading and ended an hour later without realising the time had passed, and a look at createprogressframework produced the same time dilation effect, when content makes time feel different the writer has achieved something well beyond the average and this site is producing that experience for me reliably across multiple readings.

JacksonKErPosted on  8:43 pm - 6-р сар 7, 2026

Probably the kind of site that should be more widely read than it appears to be, and a look at growwithsteadyintent reinforced that quiet wish, the gap between a sites quality and its apparent reach is sometimes large and that gap exists for this site in a way that makes me want to mention it more.

DarrenDutPosted on  8:50 pm - 6-р сар 7, 2026

Now thinking about whether the writer might publish a longer form work I would buy, and a look at isebrook suggested the same depth would translate, content that makes me want to pay for related work in other formats is content that has earned commercial trust as well as attention trust and this site has both clearly.

GeorgeblifePosted on  8:59 pm - 6-р сар 7, 2026

Granted I am giving this site more credit than I usually give new finds, and a look at learnandadvancepath continued earning that credit, the calibration of how much trust to extend after limited exposure is something I do carefully and this site has earned more trust on shorter exposure than most due to consistent quality across.

EricMedPosted on  9:14 pm - 6-р сар 7, 2026

Looking for similar voices elsewhere has come up empty in my recent searches, and a stop at learnandadvancegrowth extended the search frustration, the rare site that does what no other does in quite the same way is precious and this one has clearly developed a particular approach that I have not been able to find duplicates of.

ColinmuMPosted on  9:27 pm - 6-р сар 7, 2026

Now planning to recommend this site in a context where my recommendations are taken seriously, and a stop at buildclaritymovement confirmed I should make that recommendation soon, the small but real act of recommending content into spaces where my taste matters is something I take seriously and this site is worth the recommendation.

DerrickHaighPosted on  9:29 pm - 6-р сар 7, 2026

Better than the average post on this subject by some distance, and a look at findyourstrongdirection reinforced that, you can tell within the first paragraph that the writer here actually cares about the topic rather than just covering it for the sake of having something to publish that week or that day.

BrendonDydayPosted on  9:32 pm - 6-р сар 7, 2026

Probably going to mention this site in a write up I am working on later this month, and a stop at startmovingstrategicallynow provided more material for that potential mention, content worth referencing in my own published work rather than just personal reading is content with the highest endorsement level and this site has earned that endorsement.

RileyUrbaxPosted on  10:07 pm - 6-р сар 7, 2026

Now setting this aside as a model of how to write thoughtfully on the topic, and a stop at growwithintentionalsteps extended that model status, content that becomes a reference for how a kind of writing should be done is content with influence beyond its own readership and this site is reaching that level for me clearly today.

CurtisSowPosted on  10:07 pm - 6-р сар 7, 2026

Glad I gave this fifteen minutes rather than the usual three minute skim, and a look at seoripple earned the same investment, time spent on quality content is rarely wasted but the reverse is also true and learning which sites deserve which kind of attention is part of being a careful online reader.

CoryErymNPosted on  10:08 pm - 6-р сар 7, 2026

Worth flagging that the post handled an angle of the topic I had not seen elsewhere, and a look at exploreuntappedpotential extended that fresh treatment, content that finds underexplored corners of well covered subjects is genuinely valuable and this site has demonstrated that exploratory editorial approach across multiple pieces in my reading sessions today.

VictorShuncPosted on  10:13 pm - 6-р сар 7, 2026

Once you find a site like this the search for similar voices begins, and a look at createprogressplanning extended the search energy, finding a high quality reference point makes the gap between it and adjacent sources visible in a way it was not before and this site has provided that high reference point across multiple recent visits.

WileygalPosted on  10:15 pm - 6-р сар 7, 2026

Thank you for the genuine effort here, it shows in every paragraph and not just the headline, and after my visit to findnewopportunityroutes I was sure this site cares about getting things right rather than chasing clicks, which is the main reason I will come back later this week to read more.

GeoffreyrowPosted on  10:25 pm - 6-р сар 7, 2026

Started forming counter examples to test the claims and the post handled most of them implicitly, and a look at seohive continued that anticipatory style, writers who think two steps ahead of the critical reader save themselves from a lot of follow up work and this writer has clearly internalised that habit consistently.

ChadgeadaPosted on  10:32 pm - 6-р сар 7, 2026

Worth a slow read rather than the fast scan I usually default to, and a look at discoverforwardmomentumnow earned the same slower pace from me, content that resets my reading speed downward is content with substance worth absorbing and this site has produced that effect on me multiple times now over the last week here.

EdmundpaurlPosted on  10:33 pm - 6-р сар 7, 2026

Genuinely glad I clicked through to read this rather than skipping past, and a stop at startyourjourneynow confirmed I should keep clicking through to more pages here, the kind of resource that justifies its place in my browser history rather than feeling like wasted time which is the highest compliment I offer any site online today.

RickdupPosted on  10:35 pm - 6-р сар 7, 2026

Found something new in here that I had not seen explained this way before, and a quick stop at unlockcreativepaths expanded the idea even further, the kind of writing that nudges your thinking forward a bit without forcing the issue is exactly what I look for online today and rarely actually find anywhere.

KeithUteraPosted on  10:37 pm - 6-р сар 7, 2026

Now thinking about how to apply some of this to a project I have been planning, and a look at discovernewfocus added more material for the planning, content that connects to my actual creative work rather than just being interesting in the abstract is the kind that earns priority placement in my reading rotation consistently going forward.

AidangibPosted on  10:52 pm - 6-р сар 7, 2026

Considered as a whole this site has developed a coherent point of view that comes through in individual pieces, and a look at createbetterpaths continued displaying that coherence, sites with a unified perspective rather than a grab bag of takes are sites with editorial maturity and this one has clearly developed that maturity through years of work.

DevinNuSPosted on  11:05 pm - 6-р сар 7, 2026

The post made the topic feel approachable without making it feel trivial, that is a fine balance, and a stop at learnandaccelerategrowthpath maintained the same balance, finding the middle ground between welcoming and serious is genuinely difficult and the writers here have clearly figured out how to consistently hit it well across many different posts.

WesleyestitPosted on  11:10 pm - 6-р сар 7, 2026

Solid recommendation from me to anyone working in the area, the perspective here is grounded, and a look at jedbroom adds even more useful angles, the kind of site that becomes a reference rather than just a one time read which is a higher bar than most blogs ever reach today on the modern web.

ColinRammaPosted on  11:17 pm - 6-р сар 7, 2026

Looking forward to seeing what gets published next month, and a look at learnandexecuteclearly extended that anticipation across the broader site, finding myself looking forward to a sites future content rather than just consuming its existing content is a stronger commitment level than I usually reach with new finds and this site triggered that.

DamionbatPosted on  11:19 pm - 6-р сар 7, 2026

Just sat back at the end of the post and felt grateful that someone took the time to write it, and a look at createimpactplanningframework extended that gratitude across more of the site, recognising effort behind quality work is part of what makes the open web a community rather than just a marketplace today.

HoraceReokePosted on  11:22 pm - 6-р сар 7, 2026

The whole experience of reading this was pleasant from start to finish, no pop ups and no annoying interruptions, and a look at bravopiers continued that clean experience, technical choices about page design matter for the reader and this site clearly cares about the small details that add up to comfort across multiple visits.

JulianGalPosted on  11:24 pm - 6-р сар 7, 2026

Genuinely well crafted writing, the kind that makes the topic look easier than it actually is, and a look at buildyournextstrategy added even more depth, you can feel the experience behind every line which is something only writers who have been at this for a while can pull off with this level of grace.

NoelvestyPosted on  11:26 pm - 6-р сар 7, 2026

Pleasant surprise, the post delivered more than the headline promised, and a stop at discovercreativegrowth continued that pattern of under promising and over delivering, the rarest combination on the modern web where most content does the opposite by promising the world and delivering thin recycled summaries instead each time you click on something interesting.

LucianPetPosted on  11:40 pm - 6-р сар 7, 2026

Came in skeptical of the angle and left mostly persuaded, and a stop at topazstrict pushed me a bit further in the same direction, content that can move a critical reader by argument rather than rhetoric is rare and worth pointing out because it indicates real substance underneath the surface presentation here.

AngelDumPosted on  11:40 pm - 6-р сар 7, 2026

Picked this for my morning read because the topic seemed worth the time, and a look at isebulb confirmed the choice was right, my morning reading slot is precious and giving it to this site felt like a good investment rather than a waste which is a higher endorsement than I usually offer for content.

avtovoz moskva 620Posted on  11:52 pm - 6-р сар 7, 2026

автовоз москва доставка https://perevozka-avtomobilya.ru

JamesVotPosted on  11:53 pm - 6-р сар 7, 2026

Now appreciating the small but real way this post improved my afternoon, and a stop at startbuildingclearvision extended that small improvement effect, content that produces measurable positive impact on the texture of a reading day is content with real value and this site is producing those small positive impacts at a sustainable rate apparently.

RileyGaxPosted on  12:03 am - 6-р сар 8, 2026

Thanks for not padding this with the usual filler intros and outros that every other blog seems to require, and a quick visit to learnandapplywisely continued that lean approach across more posts, content stripped of waste is content that respects you and I will always come back to that kind of approach.

BertsnarePosted on  12:06 am - 6-р сар 8, 2026

Glad I gave this a chance rather than scrolling past, and a stop at discovernewdirections confirmed I made the right call, sometimes the best content is hidden behind unassuming headlines that do not scream for attention and learning to slow down and check those out has paid off many times now across years of reading.

ManuelHemPosted on  12:44 am - 6-р сар 8, 2026

Useful reading material, the kind I can hand off to someone newer to the topic without worrying about confusing them, and a quick look at discoverinnovativepaths confirmed the same beginner friendly tone runs throughout the site which is great for sharing with people just starting their learning journey on this particular topic.

QuinnChumSPosted on  12:49 am - 6-р сар 8, 2026

Reading this as part of my evening winding down routine fit perfectly, and a stop at growwithclearstrategy extended the wind down nicely, content that calms rather than agitates is what I want at the end of the day and this site provides that calming reading experience reliably which is increasingly rare across the modern web.

AlfredotherbPosted on  12:52 am - 6-р сар 8, 2026

Big thanks to whoever wrote this, you saved me a lot of time hunting for the same info on other sites, and a stop at seometric only added more useful detail without going off topic, that kind of focus is honestly hard to come across these days when most posts wander everywhere.

PercylicPosted on  12:58 am - 6-р сар 8, 2026

Worth observing that the post landed without needing a flashy headline to hook attention, and a stop at learnandoptimizepathwaynow did the same, content that earns engagement through substance rather than packaging is the kind I trust more deeply and this site has clearly chosen substance as the primary lever for reader engagement throughout.

SterlingkefPosted on  1:01 am - 6-р сар 8, 2026

Glad I clicked through from where I did because this turned out to be worth the time spent, and after findgrowthsolutionspath I had a fuller picture, the kind of content that earns its visitors through delivering value rather than chasing them through aggressive advertising or constant pop ups appearing everywhere on the screen lately.

JaywatPosted on  1:12 am - 6-р сар 8, 2026

Granted I am giving this site more credit than I usually give new finds, and a look at createclaritydrivengrowth continued earning that credit, the calibration of how much trust to extend after limited exposure is something I do carefully and this site has earned more trust on shorter exposure than most due to consistent quality across.

BjornmetPosted on  1:19 am - 6-р сар 8, 2026

Comfortable reading experience throughout, no jarring tone shifts and no awkward formatting, and a look at learnandacceleratesuccess kept that smooth feel going, the kind of editorial polish that goes unnoticed when present but glaring when absent is something this site has clearly invested in across the broader content as well which deserves recognition.

KareemGrafePosted on  1:26 am - 6-р сар 8, 2026

Genuinely good work, the kind that holds up over multiple readings without losing its appeal, and a stop at discovernewfocuspoints kept that going, definitely a site I will be returning to and probably mentioning to others who work in or care about this particular area of interest today and in coming weeks.

JoseUpdawPosted on  1:51 am - 6-р сар 8, 2026

Felt no urge to argue with the conclusions even though I started the post slightly skeptical, and a look at discovernewdirectionpaths maintained that pattern, writing that earns agreement through clarity of argument rather than rhetorical pressure is the kind I find most persuasive and the kind I want to read more of these days.

FabianjekPosted on  1:56 am - 6-р сар 8, 2026

Now setting this aside as a model of how to write thoughtfully on the topic, and a stop at growintentionallynow extended that model status, content that becomes a reference for how a kind of writing should be done is content with influence beyond its own readership and this site is reaching that level for me clearly today.

KevinZetPosted on  2:01 am - 6-р сар 8, 2026

Took the time to read every paragraph rather than skimming for the punchline, and a quick visit to seospark earned the same careful attention from me, that is the highest signal I can give about content quality because my default mode is rapid scanning rather than deliberate reading on most pages.

TimPichePosted on  2:12 am - 6-р сар 8, 2026

Liked the balance between depth and brevity, never too shallow and never too long, and a stop at learnandoptimizepath kept the same balance going across the rest of the site, this is one of the harder skills in writing and the team here clearly has it figured out very well indeed across every page.

IvangreedPosted on  2:18 am - 6-р сар 8, 2026

If you asked me to point to a recent positive sign for the open web this site would be near the top, and a stop at buildsustainablegrowth reinforced that designation, the few sites that serve as evidence the web can still produce quality independent content are precious and this one has clearly become one for me.

OwenVerPosted on  2:19 am - 6-р сар 8, 2026

Solid value for anyone willing to read carefully, and a look at findgrowthsolutionsnow extends that value across the rest of the site, this is the kind of place that rewards return visits rather than offering everything in a single splashy post and then leaving readers nothing to come back for later which is unfortunately common.

LelandmarPosted on  2:21 am - 6-р сар 8, 2026

Now wishing I had found this site sooner, and a look at createconsistentdirectionalgrowth extended that mild regret, the calculation of how many years of good content I missed by not finding the right sources earlier is one I try not to make too often but it does come up sometimes when I find sites this good.

DavidbugPosted on  2:33 am - 6-р сар 8, 2026

Yesterday I was complaining about the state of online writing and today this site has temporarily fixed that complaint, and a look at createforwarddirection extended that mood reversal, the short term mood improvement that comes from finding good content is real and this site has produced that improvement for me at a useful moment.

MelvinelortPosted on  2:34 am - 6-р сар 8, 2026

Worth saying that the quiet confidence of the writing is what landed first, and a look at findyournextbreakpoint continued that quiet quality, confident writing without the loud display of confidence is a rare combination and this site has clearly developed both the knowledge and the editorial restraint to land that combination consistently.

FrederickBoxPosted on  2:37 am - 6-р сар 8, 2026

The tone stayed consistent across the whole post which is harder than it looks for longer pieces, and a look at epicinlets continued the same voice, this kind of editorial consistency is a sign of either a single careful writer or a tightly run team and either is impressive today across the broader media environment.

RaulmurgyPosted on  2:52 am - 6-р сар 8, 2026

A well calibrated piece that knew its scope and stayed inside it, and a look at itobout maintained the same scope discipline, scope creep is one of the failure modes of long blog posts and this site has clearly invested in the editorial discipline to prevent it which shows up in tightly contained pieces.

DustincreftPosted on  2:54 am - 6-р сар 8, 2026

The post made the topic feel approachable without making it feel trivial, that is a fine balance, and a stop at buildsustainabledirection maintained the same balance, finding the middle ground between welcoming and serious is genuinely difficult and the writers here have clearly figured out how to consistently hit it well across many different posts.

BarontixPosted on  3:16 am - 6-р сар 8, 2026

Felt like the post had been edited rather than just drafted and published, and a stop at learnandadvancegrowth suggested the same care across the site, the difference between edited and unedited content is enormous for the reader and this site has clearly invested in the editing pass that most blogs skip entirely which really does show up.

DaltonSedPosted on  3:17 am - 6-р сар 8, 2026

Thanks for not padding this with the usual filler intros and outros that every other blog seems to require, and a quick visit to buildsustainablegrowthdirection continued that lean approach across more posts, content stripped of waste is content that respects you and I will always come back to that kind of approach.

QuinnTousePosted on  3:20 am - 6-р сар 8, 2026

During a reading session that included several other sources this one stood out, and a look at discovermeaningfulpaths continued the standout quality, the side by side comparison of sources during research is a useful exercise and this site has been winning those comparisons for me consistently across multiple research sessions during the last week.

EmeryOwemiPosted on  3:21 am - 6-р сар 8, 2026

Came across this looking for something else entirely and ended up reading it through twice, and a look at discovernewangles pulled me deeper into the site than I planned, the writing has a way of holding attention without resorting to manipulative cliffhangers or vague promises that never get delivered later down the page.

KeatonLydayPosted on  3:21 am - 6-р сар 8, 2026

Now sitting back and recognising that this was a small but real win in my reading day, and a stop at seotrail extended that quiet win, the cumulative effect of small reading wins versus the cumulative effect of small reading losses is real over time and this site is contributing to the wins side of that ledger.

KareemgaurbPosted on  3:29 am - 6-р сар 8, 2026

Really clear writing, the kind that makes you want to share the link with someone who has been asking about the topic, and a quick browse through startmovingwithpurpose only made me more sure of that, the information here stays useful long after the first read is done which says a lot.

ConnerGerPosted on  3:47 am - 6-р сар 8, 2026

Picked this site to mention to a colleague who would benefit, and a look at growintentionallyahead added more material I will pass along, recommending sites to colleagues is a higher bar than recommending to friends because the professional context demands more careful curation and this site cleared the professional bar without me having to think.

MilesplambPosted on  3:48 am - 6-р сар 8, 2026

Strong recommendation from me, anyone curious about the topic should make time for this, and a look at growresultsdrivenstrategy only sharpens that recommendation further, the kind of resource that holds up against careful scrutiny rather than crumbling at the first critical question is rare and worth pointing other people toward when the topic comes up.

HankEroniPosted on  3:51 am - 6-р сар 8, 2026

Thanks for a post that does not try to be funny when it is not the moment for it, and a stop at learnandprogressfurther maintained the same appropriate seriousness, knowing when humour helps and when it just signals desperation for engagement is a sign of editorial maturity that many blogs have not developed yet.

TraceAbincPosted on  4:04 am - 6-р сар 8, 2026

A nicely understated post that does not shout for attention, and a look at createbetterdecisions maintained the same quiet quality, understatement is a stylistic choice that distinguishes serious writing from attention seeking writing and this site has clearly committed to the understated approach as a core editorial value rather than just a phase.

RoccomubPosted on  4:24 am - 6-р сар 8, 2026

Useful enough to recommend to several people I know who would appreciate it, and a stop at learnandapplystrategies added more material I will pass along too, the kind of writing that earns word of mouth is the kind that actually delivers on its promises which is what this site does without any drama or fanfare attached.

GenetonPosted on  4:30 am - 6-р сар 8, 2026

The structure of the post made it easy to follow without losing track of where I was, and a look at tennisvortex kept the same logical flow going, this site clearly understands that organisation is half the battle in keeping readers engaged from the first line to the last across any kind of post.

ColbyFupPosted on  4:33 am - 6-р сар 8, 2026

Reading this prompted me to clean up some old notes related to the topic, and a stop at learnandbuild extended that organising urge, content that triggers personal organisation rather than just consuming attention is content with motivating energy and this site has the kind of clarity that prompts active follow up rather than passive consumption.

BernardinemePosted on  4:42 am - 6-р сар 8, 2026

Picked up two new ideas that I expect will come up in conversations this week, and a look at discoverinnovativegrowthpaths added another, content that arms me with talking points rather than just filling time is the kind that provides ongoing value beyond the moment of reading and this site is generating that kind of ongoing value.

ChancemicPosted on  4:46 am - 6-р сар 8, 2026

Without comparing too aggressively to other sources this one stands out for the right reasons, and a look at startyournextdirection continued that distinctive quality, content that distinguishes itself through substance rather than style tricks is content with lasting differentiation and this site has clearly chosen substance based differentiation as its core editorial strategy.

ShermanGlymnPosted on  4:55 am - 6-р сар 8, 2026

Thanks for the moderate length, neither so short it skips substance nor so long it bloats, and a stop at startwithclearfocus hit the same balance, the right length is one of the hardest things to calibrate in blog writing and I appreciate when a team has clearly thought about it rather than defaulting.

EarlGotPosted on  5:41 am - 6-р сар 8, 2026

Going to come back when I have more time to read carefully, the post deserves more than a quick scan, and a stop at createforwardsteps reinforced that, this is the kind of site that rewards a slower read which is hard to find in this fast paced corner of the internet but really worthwhile.

AndyWooraPosted on  5:45 am - 6-р сар 8, 2026

Looking at the surface design and the substance together this site has both right, and a look at createprogressdirection reinforced that integrated quality, sites where presentation and content reinforce each other rather than fighting are sites with full editorial coherence and this one has clearly invested in both layers in a balanced way.

JacobTaxPosted on  5:52 am - 6-р сар 8, 2026

Appreciated how the writer anticipated the questions a reader might have along the way, and a stop at seovista continued that thoughtful approach, you can tell when content has been edited with the reader in mind versus just published as a first draft and this is clearly the former approach across what I read.

EmersonAnoloPosted on  5:55 am - 6-р сар 8, 2026

Now placing this in the small category of sites whose updates I would actually want to know about, and a stop at seotactic confirmed that placement, the difference between sites I want to follow and sites I just consume from is real and this one has crossed into the active follow category from the casual consumption side.

GerardoNalPosted on  5:56 am - 6-р сар 8, 2026

Decided to write a short note to the author if there is contact info anywhere, and a stop at explorefutureoptionsnow extended that intention, the urge to thank the writer directly is a strong signal of content quality and this site has triggered that urge in me today which is a fairly rare event for my reading.

KimgetPosted on  6:01 am - 6-р сар 8, 2026

Reading this prompted me to dig into a related topic later, and a stop at learnandprogresssteadilynow provided some of the starting points for that follow up reading, content that triggers further exploration rather than satisfying curiosity completely is content with real generative energy and this site has plenty of that energy throughout it.

AlfonsoemasePosted on  6:02 am - 6-р сар 8, 2026

Solid recommendation from me to anyone working in the area, the perspective here is grounded, and a look at meritquays adds even more useful angles, the kind of site that becomes a reference rather than just a one time read which is a higher bar than most blogs ever reach today on the modern web.

TannerMarPosted on  6:06 am - 6-р сар 8, 2026

Liked that there was nothing performative about the writing, and a stop at itucox continued that genuine quality, performative writing tries to be witnessed rather than read and the difference between performance and substance is huge for the careful reader and this site has clearly chosen substance every time clearly.

CristianSTomsPosted on  6:06 am - 6-р сар 8, 2026

Really liked the calm tone running through the post, no shouting and no urgency forced into the writing, and a look at growwithconfidenceandclarity kept that quiet confidence going, the kind of voice that makes the reader feel respected rather than yelled at which is depressingly common across most modern blog content these days.

KentonmobPosted on  6:17 am - 6-р сар 8, 2026

Reading this between meetings turned out to be the most useful thing I did all afternoon, and a stop at findmomentumnextstep kept that productivity feeling going, content can sometimes outperform actual work in terms of what gets accomplished mentally and this site managed that today which is genuinely a high bar to clear consistently.

GuyronPosted on  6:24 am - 6-р сар 8, 2026

A piece that took its time without dragging, and a look at discovermeaningfuldirection kept the same patient pace, the difference between unhurried and slow is a fine editorial distinction and this site has clearly found the unhurried side without slipping into the slow side which would have lost me as a reader quickly otherwise.

RussellGlalsPosted on  6:33 am - 6-р сар 8, 2026

Speaking as someone who reads a lot on this topic this site has earned a high position in my source rankings, and a stop at createforwardprogress reinforced that ranking, the informal ranking of sources for a topic is something I maintain mentally and this site has moved into the upper portion of those rankings clearly.

CalebwagPosted on  6:35 am - 6-р сар 8, 2026

Even across multiple posts the writers voice has remained consistent in a way I appreciate, and a stop at buildstrategicmovement continued that voice, sites that maintain editorial consistency across many pieces have something most sites lack and this one has clearly worked out how to keep its voice steady across what reads as a growing archive.

LincolnQuomaPosted on  6:50 am - 6-р сар 8, 2026

Reading this on a slow Sunday and finding it perfectly suited to a slow Sunday read, and a quick stop at learnandmoveforward kept the same gentle pace, content that fits the mood of the moment is something I notice and remember and this site has the kind of pace that suits relaxed reading sessions especially well.

PerrySeimaPosted on  6:53 am - 6-р сар 8, 2026

Worth saying that the quiet confidence of the writing is what landed first, and a look at learnandgrowstrong continued that quiet quality, confident writing without the loud display of confidence is a rare combination and this site has clearly developed both the knowledge and the editorial restraint to land that combination consistently.

JustinreosePosted on  6:58 am - 6-р сар 8, 2026

If the topic interests you at all this is a place to spend time, and a look at discovernewanglesnow reinforced that recommendation, the broader question of where to invest topical reading time is one this site answers convincingly through the consistent quality across multiple pieces I have sampled during the current reading session today.

GradymupPosted on  7:17 am - 6-р сар 8, 2026

A genuine compliment to the writer for keeping the post focused on what mattered, and a look at growwithfocusedexecution continued that disciplined focus, focus is a editorial choice that compounds across many small decisions and this site has clearly made those small decisions consistently across what I have read so far this week here.

JasondugPosted on  7:18 am - 6-р сар 8, 2026

During my morning reading slot this fit perfectly into the routine, and a look at learnandapplywisely extended that perfect fit into the rest of the routine, content that matches the rhythm of how I actually read rather than demanding accommodation from my schedule is content well calibrated to its likely audience and this site has it.

BeaumaillPosted on  7:40 am - 6-р сар 8, 2026

Found something new in here that I had not seen explained this way before, and a quick stop at learnandoptimizegrowth expanded the idea even further, the kind of writing that nudges your thinking forward a bit without forcing the issue is exactly what I look for online today and rarely actually find anywhere.

CarmineUnakePosted on  7:45 am - 6-р сар 8, 2026

A piece that was confident enough to leave some questions open rather than forcing closure, and a look at learnandoptimizepathway continued that intellectual honesty, content that admits the limits of its scope is more trustworthy than content that pretends to total understanding and this site has the right calibration on certainty consistently.

FrankKexPosted on  8:13 am - 6-р сар 8, 2026

Found the post genuinely useful for something I was working on this week, and a look at findyourcompetitiveedge added more material I will reference, content that connects to my actual life and work rather than just being interesting in the abstract is the kind I will pay attention to and return to repeatedly.

JamessmIchPosted on  8:14 am - 6-р сар 8, 2026

A piece that read smoothly because the writer understood how readers actually move through prose, and a look at explorefuturegrowthlanes maintained the same reader awareness, writers who think about the reading experience as much as the writing experience produce better work and this site has clearly made that shift in editorial approach.

NicolasDibPosted on  8:23 am - 6-р сар 8, 2026

More substantial than most of what I find searching for this topic online, and a stop at shopmint kept that quality consistent, this is one of those sites where the writing actually rewards careful reading rather than punishing the patient reader with empty filler stretched out across long paragraphs that say very little.

BernardMafPosted on  8:28 am - 6-р сар 8, 2026

Skipped the related products section because there was none, and a stop at findnewopportunitypaths also lacked any aggressive monetisation, content that is not constantly trying to convert me into a customer or subscriber is content that has confidence in its own value and that confidence shows up as a different reading experience.

AlanlakPosted on  8:34 am - 6-р сар 8, 2026

Now adding this to a short list of sites I would defend in a conversation about the modern web, and a look at buildsmartplanning reinforced that defence list, the few sites that serve as evidence the web can still produce good things are precious and this one has clearly joined that small list of exemplary sites.

QuentinoramyPosted on  8:35 am - 6-р сар 8, 2026

Liked the natural conversational tone throughout, never stiff and never overly casual either, and a stop at exploreuntappeddirectionpaths kept that comfortable middle ground going, finding a tone that respects the reader without becoming distant or overly familiar is harder than it sounds and this site nails that balance consistently across many different pieces.

JudsonSeiRePosted on  8:45 am - 6-р сар 8, 2026

Picked this post to share in a Slack channel where I knew it would be appreciated, and a look at explorefreshstrategicgrowth suggested I will share more from here later, content worth sharing into a professional context is content that has earned a higher kind of trust than mere personal interest and this site has it.

JorgecliepPosted on  9:01 am - 6-р сар 8, 2026

Closed the laptop after this and let the ideas settle for a few hours, and a stop at startbuildingstrategically similarly rewarded reflective time, content that benefits from sitting with rather than racing past is the kind I want more of and the kind that this site appears to consistently produce week after week here.

AlexpiodoPosted on  9:08 am - 6-р сар 8, 2026

Worth recognising the specific care that went into how this post ended, and a look at findnewperspective maintained the same careful conclusions, endings are where most blog content falls apart and this site has clearly invested in the closing stretches of its pieces rather than letting them simply trail off when energy fades.

DennistarPosted on  9:23 am - 6-р сар 8, 2026

Bookmark earned, share earned, return visit earned, all from one reading session, and a look at startmovingstrategically did the same, the trifecta of bookmark and share and return is rare in a single visit and represents the highest level of engagement I tend to offer any piece of online content these days here.

SimonMexPosted on  9:24 am - 6-р сар 8, 2026

Genuine reaction is that this site clicked with how I like to read, and a look at ivafix kept that comfortable fit going, sometimes you find a place online whose editorial decisions just align with your preferences and when that happens it is worth recognising and supporting through repeat engagement consistently going forward.

BertramshultPosted on  9:27 am - 6-р сар 8, 2026

Now thinking about how to apply some of this to a project I have been planning, and a look at unicorntempo added more material for the planning, content that connects to my actual creative work rather than just being interesting in the abstract is the kind that earns priority placement in my reading rotation consistently going forward.

MurraygabPosted on  9:31 am - 6-р сар 8, 2026

A genuine pleasure to find a site that publishes at a sustainable cadence rather than chasing the daily content treadmill, and a look at discovercreativepathsnow confirmed the careful publication rhythm, sites that prioritise quality over frequency are rare and this one has clearly chosen the slower pace which I appreciate as a reader.

TimInwarPosted on  9:41 am - 6-р сар 8, 2026

Honestly informative, the writer covers the ground without showing off, and a look at findyourwinningdirection reflected the same humility, content that respects the reader rather than trying to dazzle them is something I always appreciate and rarely come across in this corner of the internet today across the topics I usually read.

DonovanwatPosted on  9:45 am - 6-р сар 8, 2026

Started forming counter examples to test the claims and the post handled most of them implicitly, and a look at growfocusedprogressnow continued that anticipatory style, writers who think two steps ahead of the critical reader save themselves from a lot of follow up work and this writer has clearly internalised that habit consistently.

TannermepPosted on  9:47 am - 6-р сар 8, 2026

The use of plain language without dumbing down the topic was really well done, and a look at seostreet continued in that same accessible style, this is something many technical writers fail at because they either confuse their readers or condescend to them but here neither problem appears at all which is impressive really.

JoeIdegoPosted on  10:01 am - 6-р сар 8, 2026

Liked that the post left some questions open rather than pretending to settle everything, and a stop at buildsmartforwarddirection continued that intellectual honesty, content that respects the limits of its own claims is more trustworthy than content that overreaches and this site has clearly figured out which positions it can defend confidently.

StuartEmoxyPosted on  10:17 am - 6-р сар 8, 2026

Picked a single sentence from this post to remember, and a look at findmomentumnextstage gave me another to keep, content that produces memorable lines is doing more than just transferring information and the small selection of sentences I keep from each reading session is one of the actual returns I get from reading carefully.

CarlapelaPosted on  10:22 am - 6-р сар 8, 2026

Really appreciate the confidence to make a clear point rather than hedging everything, and a quick visit to growstepbystrategy maintained the same direct stance, writing that takes positions rather than equivocating is more useful even when the positions are debatable because at least the reader has something to react to clearly.

ClaytonFeashPosted on  10:36 am - 6-р сар 8, 2026

Now realising the post has been quietly doing important work in my mind for the past hour, and a stop at explorefutureoptions extended that quiet processing, content that continues to do work after I close the tab is content with afterlife in the mind and this site is producing those long lived effects at a meaningful rate.

LucasSoistPosted on  10:42 am - 6-р сар 8, 2026

Approaching this with the usual skepticism I bring to new sites and being slowly persuaded, and a stop at learnandprogressintentionally continued that gradual persuasion, the careful path from skeptical reader to genuine fan is the only one I trust and this site has walked me along that path through patient consistent quality across pieces.

BryceEmugsPosted on  10:52 am - 6-р сар 8, 2026

Grateful for posts like this one, they remind me there are still places online run by people who care about quality, and a look at seoharbor reflected the same standards, you can tell the difference between content made for readers and content made just for search engines today and this is the former.

MarvinBexPosted on  11:08 am - 6-р сар 8, 2026

перевозка автомобилей дешево стоимость перевозки авто

MarcopizPosted on  11:09 am - 6-р сар 8, 2026

Now feeling the post has earned a proper recommendation rather than a casual mention, and a stop at growwithstrategyintentnow reinforced the recommendation strength, the difference between mentioning and recommending is a small editorial distinction I observe in my own conversations and this site has earned the upgraded recommendation level from me confidently today.

SaulZennaPosted on  11:12 am - 6-р сар 8, 2026

Now setting up a small reminder to revisit the site on a slow day, and a stop at discovernewanglestoday confirmed the reminder was a good idea, planning return visits is a small organisational act that signals trust in ongoing quality and this site has earned that planned return through consistent performance across the pieces I have read so far.

BryanAntedPosted on  11:15 am - 6-р сар 8, 2026

Reading the writers other posts after this one suggests the quality is consistent rather than peak, and a stop at buildsustainabledirection confirmed the consistent quality reading, sites that hold the same level across many pieces rather than peaking on a few are sites with sustainable editorial discipline and this one has clearly developed that.

BuddyJouchPosted on  11:16 am - 6-р сар 8, 2026

Started taking notes about halfway through because the points were stacking up, and a look at growfocusedprogress added enough material that my notes file grew further, content that demands note taking from a passive reader is content with substance and the writers here are clearly producing that kind of work consistently across topics.

CoryDiedyPosted on  11:16 am - 6-р сар 8, 2026

Glad to find a site whose links lead somewhere worth going rather than back to itself for SEO juice, and a stop at buildpositiveoutcomes kept that generous outbound feel, citing other peoples work with real respect rather than just for ranking signals is a sign of an honest operation worth supporting going forward.

TerrenceSkigoPosted on  11:23 am - 6-р сар 8, 2026

Took something from this I did not expect to find, and a stop at growresultsdriven added another unexpected useful piece, content that exceeds expectations rather than just meeting them is the kind that builds enthusiasm and earns repeat visits without any explicit ask from the writer or platform behind the work being read.

monopoly live_tieaPosted on  11:31 am - 6-р сар 8, 2026

casino scores monopoly big baller today live casino scores monopoly big baller today live .

HerbertSnolfPosted on  11:35 am - 6-р сар 8, 2026

Considered alongside other sources I have been reading this one consistently rises to the top, and a stop at createprogressfocusedstrategy maintained that top ranking, the informal ongoing comparison between sources is something I do whenever reading on a topic and this site keeps coming out near the top of those comparisons over many sessions.

NathandorPosted on  11:39 am - 6-р сар 8, 2026

Worth pointing out the careful word choice in this post, no buzzwords and no jargon, and a look at startbuildingfuture continued that disciplined vocabulary, sites that resist the pull of trendy language are sites that will read well in five years and this one is clearly built for that kind of long durability.

NelsondupPosted on  12:02 pm - 6-р сар 8, 2026

Good post, the kind that respects the reader by getting to the point quickly without skipping the details that matter, and a short look at startyournextmove confirmed that approach is consistent across the site which is rare to find online these days, definitely a place I will return to soon.

JoeGerPosted on  12:10 pm - 6-р сар 8, 2026

Honestly impressed, did not expect to find this level of care on the topic, and a stop at findyournextphase cemented the impression, you can tell within the first few paragraphs whether a site is going to be worth the time and this one delivered on that early promise nicely throughout the rest of what I read.

TommySomPosted on  12:14 pm - 6-р сар 8, 2026

Now recognising that the post handled the topic with appropriate technical precision without becoming dry, and a stop at discovernewdirectionpathsnow continued that balance, technical precision and readability are often in tension and this site has clearly figured out how to maintain both at once which is one of the harder editorial achievements in the form.

VaughnbaiVyPosted on  12:28 pm - 6-р сар 8, 2026

Honestly this was a good read, no jargon and no padding, and a short look at explorefuturepathways kept that same feel going which I really appreciated, the writer clearly knows the topic well enough to explain it without hiding behind big words or filler that often gets used to seem clever.

LonnieBopPosted on  12:41 pm - 6-р сар 8, 2026

Reading this gave me material for a conversation I needed to have anyway, and a stop at ivebump added even more talking points, content that connects to upcoming social or professional needs rather than just being interesting in the abstract is the kind that earns priority placement in my attention these days routinely.

FloydlooloPosted on  12:56 pm - 6-р сар 8, 2026

Honestly the simplicity of the explanation made the topic click for me in a way other writeups had not, and a look at createimpactforward continued that clarity into related areas, when a writer gets the level of explanation right the reader does the heavy lifting themselves and the post just enables it.

NashjugPosted on  12:56 pm - 6-р сар 8, 2026

Better signal to noise ratio than most places I check on this kind of topic, and a look at claritydrivenexecution kept that going, every paragraph here carries something worth reading rather than padding out the page to hit some arbitrary length target that search engines reward but readers ignore as soon as they notice it.

GenevusPosted on  1:08 pm - 6-р сар 8, 2026

Bookmark earned, share earned, return visit earned, all from one reading session, and a look at startyourgrowthpath did the same, the trifecta of bookmark and share and return is rare in a single visit and represents the highest level of engagement I tend to offer any piece of online content these days here.

NicholashipPosted on  1:11 pm - 6-р сар 8, 2026

Excellent execution from start to finish, the post never loses its rhythm and the points stay sharp, and a quick stop at discovernextdirection kept the same level going, consistency like this across a site is the marker of a serious operation rather than a casual side project running on autopilot somewhere else.

FernandodeapePosted on  1:12 pm - 6-р сар 8, 2026

Strong recommendation from me, anyone curious about the topic should make time for this, and a look at buildlongtermstrength only sharpens that recommendation further, the kind of resource that holds up against careful scrutiny rather than crumbling at the first critical question is rare and worth pointing other people toward when the topic comes up.

JuanRewPosted on  1:15 pm - 6-р сар 8, 2026

Solid information that lines up with what I have been hearing from other reliable sources, and after my visit to goldmanor I was even more certain of that, this site checks out which is something I value highly when so many places online play loose with the facts to chase a quick click.

LeonardCafPosted on  1:29 pm - 6-р сар 8, 2026

Time spent here today felt productive in the way that good reading sessions sometimes do, and a stop at forwardthinkingengine extended that productive feeling across the rest of the morning, the difference between productive reading and merely passing time is real and this site is consistently on the productive side for me lately.

ArthurDiesyPosted on  1:38 pm - 6-р сар 8, 2026

Reading this gave me a small mental break from the heavier reading I had been doing, and a stop at learnandgrowforward extended that lighter feel, content that provides relief without becoming trivial is harder to produce than people realise and this site has clearly figured out how to be light without being shallow at all.

JoelUserbPosted on  1:40 pm - 6-р сар 8, 2026

Worth flagging this site to a few specific friends who would appreciate the editorial sensibility, and a look at findgrowthopportunitiesnow added more pages I will mention to them, recommending sites to specific people requires understanding both the site and the person and this site is making those personalised recommendations easy and natural for me.

LinwoodpholaPosted on  1:41 pm - 6-р сар 8, 2026

Now organising my browser bookmarks to give this site easier access, and a look at buildstrongfoundations earned the same organisational priority, the small acts of digital housekeeping I do for sites I expect to use often are themselves a measure of trust and this site has triggered the trust based housekeeping behaviour from me clearly.

KendrickOximbPosted on  1:42 pm - 6-р сар 8, 2026

Now feeling something close to gratitude for the fact this site exists, and a look at explorefuturepathwaysfast extended that gratitude, the rare site that produces this kind of response is the rare site worth defending in conversations about whether the modern internet is still capable of producing genuinely valuable independent content for serious adults.

IbrahimheisyPosted on  1:51 pm - 6-р сар 8, 2026

Going to share this with a friend who has been asking the same questions for a while now, and a stop at buildlongtermdirection added a few more pages I will pass along too, this is the kind of generous information that earns a small thank you from me right now and again later this week.

ChancevekPosted on  1:58 pm - 6-р сар 8, 2026

Started smiling at one paragraph because the writing was just nice, and a look at findyournextgrowthstage produced a couple more such moments, prose that produces small spontaneous reactions in the reader is doing more than just transferring information and the writers here are clearly hitting that level fairly consistently throughout pieces.

ClintonNusPosted on  2:07 pm - 6-р сар 8, 2026

Skipped the comments to avoid spoilers and came back later to find them genuinely worth reading, and a stop at learnandprogressconsistently extended that surprised respect, when the discussion below a post matches the quality of the post itself you have found something special and this site appears to attract that kind of audience.

YorkCepPosted on  2:10 pm - 6-р сар 8, 2026

Speaking honestly this is among the better discoveries of my recent browsing, and a stop at clearpathcreation reinforced that discovery quality, the ranking of recent discoveries is informal but meaningful and this site has placed near the top of that ranking based on the consistency of quality across what I have already read carefully.

AriFobrePosted on  2:13 pm - 6-р сар 8, 2026

Took me back a step or two on an assumption I had been making, and a stop at buildpositiveforwardmotion pushed that reconsideration further, writing that gently corrects the reader without being aggressive about it is a rare diplomatic skill and the team here clearly knows how to land critical points without turning readers off.

KyrieUrirmPosted on  2:23 pm - 6-р сар 8, 2026

Pass this along to anyone you know dealing with similar questions, the answers here are clear, and a stop at shoreskipper adds even more useful material, this is the kind of resource that deserves to circulate widely rather than getting lost in the constant churn of new content online that buries good work daily.

DwightbeigoPosted on  2:33 pm - 6-р сар 8, 2026

Started reading without much expectation and ended on a high note, and a look at findgrowthchannelsnow continued that arc, content that builds rather than peaks early is a sign of a writer who knows how to structure a piece for sustained reader engagement rather than relying on a strong hook to do all the work.

DennishofPosted on  2:40 pm - 6-р сар 8, 2026

Appreciate the work that went into laying this out so clearly, every section earns its place without filler, and a look at growstepbyintent confirmed the same care, definitely the kind of place that deserves a return visit when the topic comes up again later in the future or for any related question.

RolandskakePosted on  2:43 pm - 6-р сар 8, 2026

Just wanted to say this was useful and leave a small note of thanks, and a quick visit to learnandrefineprogressnow earned a similar nod from me, the small acknowledgements add up over time and represent the real economy of trust that good content runs on across the open and increasingly fragmented modern internet.

TheodorediCPosted on  2:58 pm - 6-р сар 8, 2026

Solid post, the structure is easy to follow and the language stays simple even when the topic gets a bit more involved, and a look at createclarityframework kept that same standard going, so I left feeling like the time spent here was actually worth something for once which is rare lately.

KobePerPosted on  3:04 pm - 6-р сар 8, 2026

Working through this site has been a small antidote to the shallow content that fills most of my reading time, and a stop at discovergrowthdirectionpaths extended that antidote function, sites that quietly improve the average quality of my reading by being themselves are sites worth supporting through return visits and recommendations consistently.

MarkglidaPosted on  3:13 pm - 6-р сар 8, 2026

Reading this felt productive in a way most internet reading does not, and a look at createforwardsteps continued that productive feeling, sometimes the open web feels like a waste of time but sites like this remind me why I still bother to look around rather than retreating to old reliable sources for everything I need.

RileycopPosted on  3:17 pm - 6-р сар 8, 2026

Most of my reading time goes to a small number of trusted sources and this one is now joining that group, and a stop at pebbletrailvendorstudio reinforced the group membership, the few sites that earn a place in my regular rotation are sites I expect ongoing returns from and this one has earned that elevated position consistently.

ClydezewPosted on  3:31 pm - 6-р сар 8, 2026

Worth saying this site reads better than most paid newsletters I have tried, and a stop at executewithfocus confirmed that comparison, the bar for free content is often lower than for paid but this site clears the paid bar consistently and that says something about the editorial approach behind the work being published here regularly.

ChanceRalPosted on  3:40 pm - 6-р сар 8, 2026

Now appreciating that the post did not require me to agree with the writer to find it valuable, and a look at buildsmartdirectionalplans maintained the same useful regardless of agreement quality, content that informs even when it does not convince is content with broader utility and this site reads as useful even when I disagree.

KarlRigPosted on  3:53 pm - 6-р сар 8, 2026

A satisfying piece in the way that good meals are satisfying rather than just filling, and a look at discovernewfocusareas extended that satisfaction, the metaphor between content and meals is one I find useful and this site reads as a satisfying meal rather than the empty calories that most content provides for casual readers.

ChancebroawPosted on  3:57 pm - 6-р сар 8, 2026

Useful read, especially because the writer did not assume too much background from the reader, and a quick look at ixaqua continued in the same way, a thoughtful site that meets people where they are which is something the modern web could use a lot more of for both casual and serious readers.

JonathanaroksPosted on  3:59 pm - 6-р сар 8, 2026

Reading this with my morning coffee turned into reading the related posts with my morning coffee, and a stop at findyourcorestrength stretched the morning further, content that pulls breakfast into a reading session rather than just accompanying it is content that has earned a higher claim on my attention than the average article does.

DavisvopPosted on  4:04 pm - 6-р сар 8, 2026

агентство по подбору персонала в москве агентство по подбору персонала вакансии

OrlandoshortPosted on  4:04 pm - 6-р сар 8, 2026

Picked this site to mention to a colleague who would benefit, and a look at buildsustainableforwardmomentum added more material I will pass along, recommending sites to colleagues is a higher bar than recommending to friends because the professional context demands more careful curation and this site cleared the professional bar without me having to think.

TaylorSoInkPosted on  4:16 pm - 6-р сар 8, 2026

A piece that exhibited the kind of patience that good writing requires, and a look at buildactionabledirectionsteps continued that patient quality, hurried writing is easy to spot and this site reads as having been written without time pressure which produces a different feel than the rushed content that dominates much of the modern blog space.

LelandmogPosted on  4:19 pm - 6-р сар 8, 2026

Really appreciate that the writer did not assume I would read every other related post first, and a look at startbuildingvision kept that self contained feel going where each piece can stand alone, accessibility for new readers is a sign of generous editorial thinking and this site has clearly invested in that approach.

RudyUpdarPosted on  4:27 pm - 6-р сар 8, 2026

Compared to the usual results for this kind of search this site stands well above the average, and a quick visit to discoverpowerfuldirections kept the standard high, you can tell within seconds whether a site is going to waste your time or actually deliver and this one clearly delivers without any false starts.

JamarcusalultPosted on  4:29 pm - 6-р сар 8, 2026

Reading this felt easy in the best way, no friction and no confusion at any point, and a stop at eastglaze carried that same comfort across more pages, the kind of editorial flow that lets you absorb information without fighting the format which is increasingly hard to find on the open web today across topics.

ArivennaPosted on  4:37 pm - 6-р сар 8, 2026

A clear cut above the usual noise on the subject, and a look at buildwithdirection only made that gap wider in my view, the kind of place that earns its visitors through quality rather than through aggressive marketing or sponsored placements which is increasingly the only way most sites stay afloat across the modern web.

TerrenceLydayPosted on  4:49 pm - 6-р сар 8, 2026

Halfway through reading I knew this would be one to bookmark, and a look at explorefreshpossibilities confirmed that early intuition, when bookmark intent forms before finishing a post you know the writing has cleared a quality bar that most content fails to clear and this site has cleared it on multiple visits already.

ConnorBoulkPosted on  4:56 pm - 6-р сар 8, 2026

I appreciate the clarity here, everything is explained in simple terms without unnecessary detail, and after a quick stop at startmovingupward the points came together nicely for me, the writing keeps things straightforward and respects the reader from start to finish without ever talking down to anyone.

KendrickAmamsPosted on  5:03 pm - 6-р сар 8, 2026

Decided to read more before commenting and the more I read the more I wanted to say something, and a stop at growwithconfidencepathway pushed that impulse further, when content provokes the urge to participate rather than just consume it is doing something quite specific and worth recognising clearly when it happens during reading.

NicholasglinyPosted on  5:11 pm - 6-р сар 8, 2026

A piece that read as if the writer was thinking carefully rather than just typing fluently, and a look at buildyournextvision continued that considered quality, the difference between fluent typing and careful thinking shows up in writing and this site reads as the product of thought rather than just the product of language fluency apparently.

HowardTwevaPosted on  5:33 pm - 6-р сар 8, 2026

Reading this slowly to absorb the structure, and the structure is doing real work alongside the words, and a look at buildsustainablemomentum maintained the same architectural quality, when sentence shapes and paragraph rhythms reinforce the meaning rather than just transporting words you know you are reading skilled work today.

EmilianoCipPosted on  5:45 pm - 6-р сар 8, 2026

Liked how the post handled an objection I was forming as I read, and a stop at exploreuntappeddirections similarly anticipated where my thinking was going next, the rare writer who can predict reader concerns and address them in advance is doing something most online content fails to do despite that being basic editorial work.

CalvinJoypePosted on  6:05 pm - 6-р сар 8, 2026

Reading this slowly because the writing rewards a slower pace, and a stop at claritydrivenactions did the same, the pace at which I read content is something I now use as a quality signal and writing that earns a slower pace earns my attention as a reader looking for substance these days.

JeansagPosted on  6:06 pm - 6-р сар 8, 2026

Reading this felt easy in the best way, no friction and no confusion at any point, and a stop at coralharborretailgallery carried that same comfort across more pages, the kind of editorial flow that lets you absorb information without fighting the format which is increasingly hard to find on the open web today across topics.

AlexbowPosted on  6:08 pm - 6-р сар 8, 2026

A piece that prompted a small mental rearrangement of how I order related ideas, and a look at findyournextsignal extended that rearranging effect, content that affects the structure of my thinking rather than just adding to it is content with the deepest kind of impact and this site is reaching that depth for me today.

DavionwenPosted on  6:09 pm - 6-р сар 8, 2026

Reading this in a relaxed evening setting was a small pleasure, and a stop at discovernextgrowthchapter extended the pleasant evening reading, content that fits the tone of relaxed time without becoming forgettable is what I look for in evening reading and this site has the right tone for that particular slot in my daily reading routine.

RichardIcopePosted on  6:16 pm - 6-р сар 8, 2026

A slim post with substantial content per word, and a look at createimpactstrategies maintained the same density, the content per word ratio is something I track informally and this site scores high on that ratio compared to most sources I read regularly which is a quiet indicator of careful editorial work behind the scenes.

KieranneuraPosted on  6:29 pm - 6-р сар 8, 2026

Better signal to noise ratio than most places I check on this kind of topic, and a look at discovermeaningfulgrowthpaths kept that going, every paragraph here carries something worth reading rather than padding out the page to hit some arbitrary length target that search engines reward but readers ignore as soon as they notice it.

RileychaphPosted on  6:38 pm - 6-р сар 8, 2026

Liked the careful word choice throughout, every term seemed picked for a reason rather than thrown in casually, and a stop at growintentionallyforward continued that precise style, this kind of attention to small details is what separates careful writing from the usual rushed content that dominates blog spaces today across pretty much every topic I follow.

StuartseinsPosted on  6:46 pm - 6-р сар 8, 2026

Found the section structure particularly thoughtful, and a stop at exploreideasdeeplynow suggested the same care across the broader site, structural choices guide the reader through the material in ways most people do not consciously notice but feel the absence of when those choices are made carelessly or not at all.

RoryNixPosted on  6:48 pm - 6-р сар 8, 2026

Reading this on a difficult day was a small bright spot, and a stop at learnandscaleprogressnow extended that brightness, content that improves a hard day is content that has earned a particular kind of place in my reading habits and this site is occupying that uplifting role for me today which I appreciate clearly.

GilbertounamePosted on  6:53 pm - 6-р сар 8, 2026

Generally my comment to other readers about new sites is to wait and see but for this one I would jump to recommend now, and a look at growwithstrategyfocusnow reinforced that early recommendation, the speed at which a site earns my recommendation is itself a quality signal and this one has earned mine quickly clearly.

JimmyBuhPosted on  7:04 pm - 6-р сар 8, 2026

Coming to this with low expectations and being pleasantly surprised by the substance, and a stop at growwithclearfocus continued exceeding expectations, the recalibration of expectations upward across multiple positive readings is one of the actual rewards of careful browsing and this site is providing that recalibration at a steady rate apparently.

DonaldjutlePosted on  7:10 pm - 6-р сар 8, 2026

Came back to this an hour later to reread a specific section, and a quick visit to seoloom also drew a second look, content that pulls you back rather than letting you move on permanently is the kind I want to fill my browser bookmarks with in 2026 and beyond as the open internet evolves.

LeehigPosted on  7:12 pm - 6-р сар 8, 2026

Without comparing too aggressively to other sources this one stands out for the right reasons, and a look at izoblade continued that distinctive quality, content that distinguishes itself through substance rather than style tricks is content with lasting differentiation and this site has clearly chosen substance based differentiation as its core editorial strategy.

CadenWhasePosted on  7:14 pm - 6-р сар 8, 2026

Honest reaction is that this is the kind of writing I would defend in a conversation about good blog content, and a look at growthwithdiscipline reinforced that, the rare site whose work I would actively recommend rather than just tolerate is the kind I want to support through return visits regularly.

MicahdopPosted on  7:14 pm - 6-р сар 8, 2026

Thanks for sharing this with the open internet rather than locking it behind a paywall like so many sites do now, and a stop at findnewopportunitypaths kept the same vibe going, generous helpful and clearly written by someone who actually wants people to learn from it rather than just charge them.

MarcRopPosted on  7:17 pm - 6-р сар 8, 2026

Now saved this in a way that I will actually find again rather than the casual bookmark approach, and a stop at sofatavern earned the same careful saving, organising my reading bookmarks so that high quality sources rise to the top is something I should do more of and this site triggered that organisation today.

WilsonKnicsPosted on  7:26 pm - 6-р сар 8, 2026

Started taking notes about halfway through because the points were stacking up, and a look at buildfocusedgrowthpath added enough material that my notes file grew further, content that demands note taking from a passive reader is content with substance and the writers here are clearly producing that kind of work consistently across topics.

RodrigoHowPosted on  7:27 pm - 6-р сар 8, 2026

Even from a single post the editorial care is clear, and a stop at findyourprogressroute extended that care across more pages, the kind of attention to quality that shows up in every paragraph is what separates serious sites from the rest and this one has clearly invested in that paragraph level attention across what I have read.

RandywoortPosted on  7:35 pm - 6-р сар 8, 2026

Spent a few minutes here and came away with a clearer picture of the topic, the writing keeps things simple without dumbing them down, and after a stop at unlocknewdirections the rest of the points lined up neatly which is something I appreciate when I am short on time and need answers fast.

DarnellDeabsPosted on  7:37 pm - 6-р сар 8, 2026

Closed my email tab so I could read this without interruption, and a stop at buildsmartmovementplans earned the same protected attention, when content is good enough to defend against the usual digital distractions you know it deserves better than the half attention most online reading gets in a typical busy day.

TrentonEffowPosted on  7:40 pm - 6-р сар 8, 2026

Will be coming back to this for sure, too much good content to absorb in one sitting, and a stop at lunacourt only added more pages I want to dig through, this site is going onto my regular rotation list because it consistently delivers something worth the visit lately rather than empty filler.

DustinRonPosted on  7:45 pm - 6-р сар 8, 2026

Thank you for not assuming the reader already knows everything, the explanations meet me where I am, and a look at learnandscaleideas did the same, that consideration is what makes a site feel welcoming rather than gatekeepy which is sadly the default mood across the modern web today for most subjects covered.

KaleMonPosted on  7:46 pm - 6-р сар 8, 2026

Came away with some new perspectives I had not considered before, and after discovernewleverage those ideas felt more complete, the kind of content that stays with you a little while after reading rather than slipping out the moment you switch tabs and move on with your day to whatever comes next.

JordanbonPosted on  8:07 pm - 6-р сар 8, 2026

Loved the writing voice here, friendly without being fake and confident without being arrogant, and a stop at findyournextfocusarea carried the same tone forward, the kind of personality that makes a reader feel welcome rather than lectured at which is a balance plenty of writers struggle to find no matter how long they have been at it.

GabrielSickyPosted on  8:17 pm - 6-р сар 8, 2026

Picked this up while looking for something else and ended up reading every paragraph because it was actually informative, and after discoveropportunitypathways I was sure I would come back, that does not happen often when most sites bury the useful parts under endless ads and pop ups today and across most categories online.

DariusFrecyPosted on  8:30 pm - 6-р сар 8, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at explorefreshopportunity produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

GregWewPosted on  8:32 pm - 6-р сар 8, 2026

Reading this confirmed something I had been suspecting about the topic, and a look at createbetteroutcomes pushed that confirmation toward greater confidence, content that lines up with independently held intuitions earns a special kind of trust and I will return to writers who consistently land that way for me without overselling positions.

SamkigPosted on  8:36 pm - 6-р сар 8, 2026

Reading this prompted me to dig out an old reference book related to the topic, and a stop at buildgrowthdirectionnow extended that connection to other sources, content that connects me back to my own existing knowledge rather than asking me to forget it is content with continuity and this site has that continuous quality.

JoefurryPosted on  8:38 pm - 6-р сар 8, 2026

Now appreciating the small but real way this post improved my afternoon, and a stop at simplifythenexecute extended that small improvement effect, content that produces measurable positive impact on the texture of a reading day is content with real value and this site is producing those small positive impacts at a sustainable rate apparently.

DomenicExikePosted on  8:56 pm - 6-р сар 8, 2026

Worth pointing out that the writing reads as confident without being defensive about it, and a look at createforwardplanningsteps extended that secure tone, content that does not pre emptively argue against imagined critics has a different quality from defensive writing and this site reads as written from a place of real ease.

CamdenQuenePosted on  9:21 pm - 6-р сар 8, 2026

Worth pointing out that the post avoided the temptation to summarise everything at the end, and a look at findyournextgrowthphase continued that confident closing approach, content that trusts readers to retain the substance without being reminded of it at the end is content that respects the reader and this site practices that respect.

ReggieChemePosted on  9:23 pm - 6-р сар 8, 2026

Stands apart from similar pages by actually being useful, that is high praise these days, and a look at growwithintentionalsteps kept that standard going, you can tell when a site is built around the reader versus around metrics and this one clearly belongs to the first category for sure based on what I read.

SullivanBoanyPosted on  9:25 pm - 6-р сар 8, 2026

Came here from a search and stayed for the side links because they were that interesting, and a stop at startyournextphase took me even further into the site, the kind of organic exploration that good content invites is something most sites kill through aggressive interlinking and pushy navigation choices rather than relying on quality.

EriksafPosted on  9:32 pm - 6-р сар 8, 2026

Useful enough to recommend to several people I know who would appreciate it, and a stop at discoverhiddenpaths added more material I will pass along too, the kind of writing that earns word of mouth is the kind that actually delivers on its promises which is what this site does without any drama or fanfare attached.

LukeHowPosted on  9:37 pm - 6-р сар 8, 2026

Skipped the comments to avoid spoilers and came back later to find them genuinely worth reading, and a stop at solarorchardmarketparlor extended that surprised respect, when the discussion below a post matches the quality of the post itself you have found something special and this site appears to attract that kind of audience.

DarylQuorkPosted on  9:38 pm - 6-р сар 8, 2026

The lack of unnecessary jargon made the post accessible without sacrificing accuracy, and a look at findyourstrongpath continued in the same accessible style, technical topics often hide behind specialised vocabulary but here the writer trusts the reader to keep up with plain language and that trust pays off nicely throughout the entire post.

NolanweicePosted on  9:46 pm - 6-р сар 8, 2026

Different feel from the algorithmically optimised posts that dominate the topic, and a stop at progresswithprecision reinforced that human touch, you can tell when a site is being run by someone who reads what they publish versus someone just hitting submit and moving on quickly to the next assignment without checking the result.

JulioguignPosted on  9:59 pm - 6-р сар 8, 2026

A piece that reads as if the writer trusted readers to fill in obvious gaps, and a look at jadburst continued that respectful approach, content that does not over explain what the reader can infer is content that respects intelligence and this site has clearly chosen to write to capable readers rather than to the lowest common denominator.

TheodoreJumPosted on  10:00 pm - 6-р сар 8, 2026

A piece that handled multiple complications without becoming confused, and a look at explorefutureopportunityideas continued that organisational clarity, holding multiple threads in a single piece without losing any of them is a sign of skilled writing and this site has clearly developed the editorial discipline to manage complexity without sacrificing readability throughout.

FernandoMenPosted on  10:03 pm - 6-р сар 8, 2026

Now thinking about how to apply some of this to a project I have been planning, and a look at startwithclearstrategy added more material for the planning, content that connects to my actual creative work rather than just being interesting in the abstract is the kind that earns priority placement in my reading rotation consistently going forward.

TerrenceKixPosted on  10:33 pm - 6-р сар 8, 2026

Worth your time, that is the simplest endorsement I can give, and a stop at createprogressjourney extends that endorsement across the rest of the site, this is one of those increasingly rare places that delivers on what it promises rather than over selling the content and under delivering on substance every time which I find frustrating elsewhere.

ThomasBoachPosted on  10:33 pm - 6-р сар 8, 2026

Better than the average post on this subject by some distance, and a look at findyourcorepath reinforced that, you can tell within the first paragraph that the writer here actually cares about the topic rather than just covering it for the sake of having something to publish that week or that day.

BenjaminrerPosted on  10:41 pm - 6-р сар 8, 2026

Time spent here today felt productive in the way that good reading sessions sometimes do, and a stop at findyournextbreakthrough extended that productive feeling across the rest of the morning, the difference between productive reading and merely passing time is real and this site is consistently on the productive side for me lately.

TrevorSamPosted on  10:41 pm - 6-р сар 8, 2026

Well crafted post, the structure flows naturally from one point to the next without forcing transitions, and a stop at lakelake kept the same flow going, you can tell when a writer has thought about how their content reads rather than just what it contains and this is one of those examples.

CaincetPosted on  10:57 pm - 6-р сар 8, 2026

Really appreciate the lack of pop ups, modals, cookie banners stacking on top of each other, and a quick visit to createalignedactions confirmed the same clean approach across the rest of the site, technical decisions about user experience are part of what makes content actually pleasant to engage with for sure.

AbrahamkatPosted on  11:01 pm - 6-р сар 8, 2026

Good quality through and through, no rough edges and no signs of being rushed, and a quick look at learnandoptimizeexecution kept the same polish going, the kind of site that respects its own brand by maintaining consistency across pages which is something I always appreciate as a reader looking for trustworthy information online today.

AdamneumpPosted on  11:04 pm - 6-р сар 8, 2026

Worth bookmarking and sharing with anyone interested in the topic, that is my honest take, and a stop at designbetteroutcomes reinforces that, the kind of generous resource that makes the open web feel worth defending against the constant pressure to retreat into walled gardens and curated feeds today everywhere I look across all my devices.

KrisarrawPosted on  11:11 pm - 6-р сар 8, 2026

Good quality through and through, no rough edges and no signs of being rushed, and a quick look at exploreideaswithclarity kept the same polish going, the kind of site that respects its own brand by maintaining consistency across pages which is something I always appreciate as a reader looking for trustworthy information online today.

LinwoodDigPosted on  11:13 pm - 6-р сар 8, 2026

Came away with a slightly better mental model of the topic than I started with, and a stop at buildpositiveoutcomes sharpened that further, content that improves the reader thinking apparatus rather than just dumping facts into it is the rare kind I genuinely value and seek out when I have time to read carefully.

KendrickNibPosted on  11:16 pm - 6-р сар 8, 2026

Took a few notes from this post, the points are easy to remember without needing to come back and check, and a look at learnandadvanceconfidently added a couple more, the kind of place that sticks in the memory long after the browser tab has been closed for the day which says a lot really.

JonAlmogPosted on  11:20 pm - 6-р сар 8, 2026

Now considering carefully how to share this site with the right audience rather than broadcasting widely, and a look at buildpositivegrowth extended that careful sharing impulse, content worth sharing carefully rather than spamming is content that has earned a higher kind of recommendation and this site has earned that careful shareability throughout pieces.

OttoJaxPosted on  11:48 pm - 6-р сар 8, 2026

Once I trust a site this much I tend to read everything they publish and that is the trajectory I am on with this one, and a stop at buildfocusedmomentumnow confirmed the trajectory, the rare progression from interested reader to comprehensive reader is something only certain sites earn and this one is earning that progression rapidly.

ErnestoinelfPosted on  11:59 pm - 6-р сар 8, 2026

Picked this post to share in a Slack channel where I knew it would be appreciated, and a look at ravenharbortradehouse suggested I will share more from here later, content worth sharing into a professional context is content that has earned a higher kind of trust than mere personal interest and this site has it.

GagesmoraPosted on  12:04 am - 6-р сар 9, 2026

A genuine pleasure to find a site that publishes at a sustainable cadence rather than chasing the daily content treadmill, and a look at growresultsdrivenpath confirmed the careful publication rhythm, sites that prioritise quality over frequency are rare and this one has clearly chosen the slower pace which I appreciate as a reader.

RexScagsPosted on  12:16 am - 6-р сар 9, 2026

A piece that respected the reader by not over explaining the obvious, and a look at intentiondrivenprogress continued that calibrated approach, finding the right level of explanation is one of the harder editorial calls and this site has clearly thought carefully about what readers will already know versus what they need help with consistently.

MaxwellsopPosted on  12:20 am - 6-р сар 9, 2026

Closed the tab feeling I had spent the time well, and a stop at jadkix extended that feeling across more pages, the test of whether time on a site was well spent is one I apply silently after closing tabs and very few sites pass it but this one passed it cleanly today afternoon clearly.

AlfredoNugPosted on  12:20 am - 6-р сар 9, 2026

Just want to flag that this was useful and not bury the appreciation in caveats, and a look at startbuildingmomentumpath earned the same direct praise, recognising good work without hedging it with criticism is something I try to practice because over qualified compliments tend to read as backhanded and miss the point sometimes.

BobPaundPosted on  12:24 am - 6-р сар 9, 2026

Closed several other tabs to focus on this one as I read, and a stop at thinkforwardact held my undivided attention the same way, content that earns full focus in an attention environment full of competing pulls is content doing something genuinely well and the team behind it deserves recognition for that achievement consistently.

AllenThighPosted on  12:32 am - 6-р сар 9, 2026

Found this through a friend who recommended it and now I see why, and a look at findnewopportunitydirections only strengthened that recommendation in my own mind, word of mouth still works for content that actually delivers and this site is clearly earning recommendations the old fashioned way through quality rather than marketing.

MorganAssutPosted on  12:54 am - 6-р сар 9, 2026

A piece that did not require external context to follow, and a look at creategrowthsystems maintained the same self contained quality, content that stands alone without forcing readers to chase prerequisites is more accessible and this site has clearly thought about how each piece can serve a fresh visitor rather than only existing members.

ScottValPosted on  12:59 am - 6-р сар 9, 2026

Now understanding why someone recommended this site to me a while back, and a stop at growwithintentionalmovement explained the recommendation, sometimes recommendations make sense only after experience and this site has finally clicked into place as the kind of resource I now understand was being recommended for sound editorial reasons by my friend.

KaneStypePosted on  1:08 am - 6-р сар 9, 2026

Felt this in a way I cannot quite explain, the topic just hit different here, and a stop at learnandtransformdirectionnow continued in that vein, sometimes you find a site whose perspective lines up with how you have been thinking and reading their work feels like a small relief which I appreciated more than I expected.

TraceabuchPosted on  1:10 am - 6-р сар 9, 2026

Felt the writer did the homework before publishing, the references hold up, and a look at discoveropportunitydirectionnow continued that documented care, content with traceable claims rather than vague assertions is the kind I trust and the lack of bald assertion in this post is one of its quietly impressive qualities for me.

RyderhairmPosted on  1:15 am - 6-р сар 9, 2026

Thanks for putting this online without locking it behind email signups or paywalls, and a quick visit to discoverforwardideas kept that open feel going, content that trusts the reader to come back rather than gating access is the kind of approach I will reward with regular return visits over time happily.

RubenCipPosted on  1:19 am - 6-р сар 9, 2026

Reading this confirmed a hunch I had been carrying about the topic without having articulated it, and a stop at findmomentumnext extended the confirmation, content that gives shape to fuzzy intuitions is doing the rare work of making private thoughts public and this site is providing that articulating service consistently for me lately.

DrewDuhPosted on  1:30 am - 6-р сар 9, 2026

A quiet piece that did not try to compete on volume, and a look at findyourcoremomentum maintained that selective approach, sites that publish less but better are increasingly rare in an environment that rewards volume and this one has clearly chosen quality cadence over quantity which is a brave editorial decision in current conditions.

GavinlekPosted on  1:33 am - 6-р сар 9, 2026

During my morning reading slot this fit perfectly into the routine, and a look at directioncreatesenergy extended that perfect fit into the rest of the routine, content that matches the rhythm of how I actually read rather than demanding accommodation from my schedule is content well calibrated to its likely audience and this site has it.

WilfredgapPosted on  1:39 am - 6-р сар 9, 2026

Stayed longer than planned because each section earned the next, and a look at startnextleveldirectionfast kept that pulling effect going across more pages, the kind of subtle pull that good writing exerts on attention is something I find harder and harder to resist when I encounter it on the open web today.

EmeryHoultPosted on  1:42 am - 6-р сар 9, 2026

Reading this post made me realise I had been settling for lower quality elsewhere, and a look at discovergrowthmindset extended that recalibration, content that exposes how much I had been accepting in adjacent sources is content with calibrating effect on my standards and this site is performing that calibration function across topics for me reliably.

KeenanviamsPosted on  1:56 am - 6-р сар 9, 2026

Granted my mood today might be elevating my reading experience but I still think this is genuinely good, and a stop at explorefreshroutes reinforced that even discounted assessment, controlling for the mood adjustment that affects content perception this site still reads as substantively above average across multiple pieces I have read carefully today.

PaulVomPosted on  2:19 am - 6-р сар 9, 2026

If patience for careful reading is rare these days finding sites that reward it is rarer still, and a stop at startwithclearstrategyfocus extended that rare reward, the diminishing returns on shallow content reading have made me more selective about where to spend reading time and this site is meeting the higher selectivity bar consistently.

StanleyFumPosted on  2:22 am - 6-р сар 9, 2026

Came in skeptical and left mostly convinced, that is the highest praise I can offer, and a look at directionalclarityhub pushed me further in the same direction, content that survives a critical first read is rare and worth recognising because most blog posts crumble under any real scrutiny these days when you actually pay attention closely.

JamesblimiPosted on  2:26 am - 6-р сар 9, 2026

Читать расширенную версию: https://sergeygubanov.com

HenrygloxyPosted on  2:26 am - 6-р сар 9, 2026

Reading this brought back an idea I had set aside months ago, and a stop at linencovevendorparlor added more substance to that idea, content that revives dormant projects in my own thinking is content with serious creative value and this site is contributing to my own work in ways I had not expected when first clicking through.

RoryduebyPosted on  2:42 am - 6-р сар 9, 2026

Easily one of the better explanations I have read on the topic, and a stop at jadyam pushed it even higher in my mental ranking of useful resources, the kind of site that beats the average not by trying harder but by simply caring more about what it puts out daily which always shows.

DaltonBubPosted on  2:51 am - 6-р сар 9, 2026

Picked up a couple of new ideas here that I can actually try out, and after my visit to growwithsteadyfocus I have even more notes saved, this is the kind of resource that pays you back for the time you spend on it which is rare to come across in this corner of the web.

创建个人账户Posted on  3:05 am - 6-р сар 9, 2026

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

GuyEduptPosted on  3:06 am - 6-р сар 9, 2026

Honestly the simplicity of the explanation made the topic click for me in a way other writeups had not, and a look at createclearprogresspath continued that clarity into related areas, when a writer gets the level of explanation right the reader does the heavy lifting themselves and the post just enables it.

YusufgorPosted on  3:08 am - 6-р сар 9, 2026

Looking back on this reading session it stands as one of the better ones recently, and a look at actionwithalignment extended that ranking, the informal ranking of reading sessions against each other is something I do mentally and this session ranks high largely because of this site and a couple of related pages here.

DwightExirlPosted on  3:09 am - 6-р сар 9, 2026

Yesterday I was complaining about the state of online writing and today this site has temporarily fixed that complaint, and a look at buildlongtermvision extended that mood reversal, the short term mood improvement that comes from finding good content is real and this site has produced that improvement for me at a useful moment.

MarconugPosted on  3:13 am - 6-р сар 9, 2026

Honest opinion is that this is the kind of post that builds long term trust with readers, and a look at learnandprogressconsistently reinforced that perception, the slow accumulation of trust through consistent quality is the only sustainable way to build a real audience and this site is clearly playing that long game.

WileySwitePosted on  3:15 am - 6-р сар 9, 2026

Picked this up between two other things I was doing and got drawn in completely, and after learnandadvanceclearly my original tasks were completely forgotten for a while, content that derails a workflow in a positive way by being more interesting than what you were already doing is rare and worth recognising clearly.

KelbyMusPosted on  3:31 am - 6-р сар 9, 2026

Just want to say thank you for putting this together, posts like these make searching online actually worth it sometimes, and a quick look at startpurposefuldirection kept that going, useful and easy to read without any of the tricks that ruin most blog comment sections lately on the wider open web.

LorenzosoushPosted on  3:55 am - 6-р сар 9, 2026

Bookmark earned, calendar reminder set, share queued, all from one good post, and a look at exploreuntappedopportunities did the same, when a single reading session triggers multiple downstream actions you know the content has actually moved me beyond the page and this site is moving me at that higher level reliably.

RickyNongePosted on  3:58 am - 6-р сар 9, 2026

A piece that read as if the writer was thinking carefully rather than just typing fluently, and a look at exploreideaswithfocus continued that considered quality, the difference between fluent typing and careful thinking shows up in writing and this site reads as the product of thought rather than just the product of language fluency apparently.

BillShinyPosted on  4:03 am - 6-р сар 9, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at discovernewfocusareasnow produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

WesleyNagPosted on  4:05 am - 6-р сар 9, 2026

Reading this prompted a small note in my reference file, and a stop at progressbystrategy prompted another, the rare site that contributes useful nuggets to my own working knowledge rather than just consuming my attention is worth the time investment many times over compared to the usual pile of forgettable scroll content.

AlecSitlyPosted on  4:33 am - 6-р сар 9, 2026

Glad to have another reliable bookmark for this topic, and a look at createimpactplanning suggested several more pages I will be marking too, building a personal library of trustworthy resources is one of the actual rewards of careful browsing and this site is earning a place on my permanent shortlist for the topic.

ZacharySlecyPosted on  4:43 am - 6-р сар 9, 2026

Solid stuff, the kind of post that I will probably refer back to later this month when the topic comes up again, and a look at discoverhiddenroutes only confirmed I should bookmark the site as a whole rather than just this single page for future reference and use across coming weeks.

LelandBlagsPosted on  4:51 am - 6-р сар 9, 2026

Found the use of subheadings really helpful for scanning back through the post later, and a stop at startsmartmovementnow kept that reader friendly approach going, navigation is something many blog writers ignore but small structural choices make a noticeable difference for someone returning to find a specific point again days or weeks later.

KerryisonePosted on  4:52 am - 6-р сар 9, 2026

Grateful for posts like this one, they remind me there are still places online run by people who care about quality, and a look at findgrowthpotential reflected the same standards, you can tell the difference between content made for readers and content made just for search engines today and this is the former.

JimmycupPosted on  4:54 am - 6-р сар 9, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at oliveorchard produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

EmeryAgomoPosted on  5:03 am - 6-р сар 9, 2026

A piece that exhibited the kind of patience that good writing requires, and a look at jalaxis continued that patient quality, hurried writing is easy to spot and this site reads as having been written without time pressure which produces a different feel than the rushed content that dominates much of the modern blog space.

OmarlatPosted on  5:11 am - 6-р сар 9, 2026

Saving the link for sure, this one is a keeper, and a look at buildlongtermfocus confirmed I should bookmark the entire site rather than just this page, the consistency across what I have seen so far suggests there is a lot more here worth coming back for soon when I have more time.

OwenGopPosted on  5:19 am - 6-р сар 9, 2026

This stands out compared to similar posts I have read recently, less noise and more substance, and a look at buildwithpurposefulsteps kept that gap going, you can really feel the difference between content made by someone who cares versus content made to fill a publishing schedule for an algorithm trying to keep growing somehow.

LeonsniltPosted on  5:28 am - 6-р сар 9, 2026

Honestly this was the highlight of my reading queue today, and a look at actioncreatesresults extended that across more pages I will return to, ranking what I read against what else I read each day is something I do informally and this site keeps moving up in those rankings the more I explore it.

AdammumPosted on  5:41 am - 6-р сар 9, 2026

A small thank you note from me to the team behind this work, the post earned it, and a stop at learnandtransformthinking suggested more thanks would be in order over time, recognising the people who do good writing online is something I try to remember to do because the alternative is silence and silence rewards mediocrity unfortunately.

AbelchemyPosted on  5:50 am - 6-р сар 9, 2026

Felt a small spark of recognition when the post named something I had been struggling to articulate, and a look at exploreinnovativepathsnow produced more such moments, the rare service of giving readers language for fuzzy intuitions is one of the higher values that good writing can provide and this site offered several today instances.

AustinAbundPosted on  5:53 am - 6-р сар 9, 2026

The structure of the post made it easy to follow without losing track of where I was, and a look at forwardmovementworks kept the same logical flow going, this site clearly understands that organisation is half the battle in keeping readers engaged from the first line to the last across any kind of post.

BarneyReopyPosted on  6:14 am - 6-р сар 9, 2026

A piece that handled a controversial angle without becoming heated, and a look at unlocknewpotentialnow continued that calm engagement, content that can address contested topics without inflaming them is doing rare diplomatic work and this site has clearly developed the editorial maturity to handle sensitive material with the appropriate temperature of writing throughout.

JakeCrurnPosted on  6:25 am - 6-р сар 9, 2026

Reading this gave me something to think about for the rest of the afternoon, and after createimpactdirectionplan I had even more to mull over, the kind of post that lingers in the background of your day rather than evaporating immediately is genuinely valuable in an attention economy that punishes depth rather than rewarding it.

ArthurnofPosted on  6:27 am - 6-р сар 9, 2026

Now planning to recommend this site in a context where my recommendations are taken seriously, and a stop at buildlongtermmomentum confirmed I should make that recommendation soon, the small but real act of recommending content into spaces where my taste matters is something I take seriously and this site is worth the recommendation.

AverySomPosted on  6:28 am - 6-р сар 9, 2026

My usual response to new bookmarks is to forget them but this one I have already returned to twice, and a look at discoverinnovativethinkingnow pulled me back a third time, the actual return rate to bookmarked sites is the real measure of value and this one is clearing that measure at a notable rate already.

KonnordwemePosted on  6:33 am - 6-р сар 9, 2026

Found the rhythm of the prose particularly enjoyable on this read through, and a look at startnextleveljourney kept that musical quality going across the related pages, sentence rhythm is something most blog writers ignore but it makes a real difference in how content lands with the careful reader who cares.

MiguelguapePosted on  6:37 am - 6-р сар 9, 2026

Thanks for putting this online without locking it behind email signups or paywalls, and a quick visit to intelligentprogress kept that open feel going, content that trusts the reader to come back rather than gating access is the kind of approach I will reward with regular return visits over time happily.

888starz_eeOiPosted on  11:33 am - 7-р сар 30, 2026

يعني أنا بقالي فترة مش قليلة بلعب على المنصة دي من الموبايل، وفكرت أقولكم اللي شفته علشان ناس كتير هنا في مصر بتسأل عن موضوع 888starz app. اللي عجبني من البداية إن المكتبة كبيرة جدًا، بيتكلموا عن تلت آلاف لعبة سلوتس تقريبًا، ومش كلها حشو زي بعض المواقع التانية.

شركات الاستوديوهات ناس محترمين زي براجماتيك وبلاي إن جو. أنا مدمن Gates of Olympus وSweet Bonanza، وبحب كمان Book of Dead. اللي مبيحبش السلوتس فيه قسم الديلر المباشر من Evolution بموزعين حقيقيين، وشوز زي كريزي تايم ممتعة فعلًا.

العروض للاعبين الجداد كويس: أول إيداع بياخد بونص 100% ومعاه لفات مجانية، وفيه حاجة بسيطة من غير ما تشحن لو بتحب تجرب الأول. بس اقرا الشروط كويس من الـwagering اللي حوالي أربعين مرة — دي مش حاجة تعديها. لو عايز تشوف الأكواد الحالية شوفها عند تحميل برنامج المراهنات 888 علطول.

نقطة مهمة لينا كمصريين إن طرق الدفع كتير: فيزا وماستركارد، وe-wallets، وكمان Bitcoin. الـwithdrawal بياخد يوم لتلاتة على المحفظة، مش زي مواقع بتماطل أسبوع. التسجيل نفسه بياخد دقايق، والحد الأدنى للإيداع مش مبالغ فيه.

عيب لازم أقوله إن السابورت بيتأخر في وقت الذروة، ومرة قعدت مستني رد. غير كده تثبيت البرنامج بيطلب إعدادات يدوية شوية، حاجة عادية بس مبتدئ ممكن يلخبط. 888starz apk شغال حلو على الموبايل والتحديث بيظبط المشاكل أول بأول.

في العموم أنا مبسوط أكتر مما توقعت، و888starz apk بقى أساسي على موبايلي. الترخيص موجود ومعلن، وده بيريّح وانت بتحط فلوسك. لو عندك سؤال اسأل.

ClaytonnuapyPosted on  11:39 am - 7-р сар 30, 2026

Most attempts at writing on this topic feel like they are missing something and this post finally identified what was missing, and a look at rasecurities extended that diagnostic clarity, content that names what is wrong with adjacent treatments while doing better itself is content with both critical and constructive value and this site has both.

888starz_giMtPosted on  11:43 am - 7-р сар 30, 2026

يعني أنا لسه تقريبًا نص سنة بلعب على الموقع ده وحبيت أشارك اللي شفته لأن ناس كتير بتسأل. أول حاجة إن المكتبة ضخم — أكتر من 6000 لعبة تقريبًا، والجودة مش وحشة زي مواقع تانية. براجماتيك موجودة بقوة ووطبعًا NetEnt وYggdrasil.

أنا بحب Gates of Olympus، وواحد صاحبي عايش على Book of Dead. اللي جربته الفترة اللي فاتت كان حاجات Microgaming وكانت حلوة. لكن الحاجة الوحيدة المزعجة إن البحث جوه التطبيق بيهنج أحيانًا لما تفتح كل الأقسام.

قسم الـlive هو اللي مخليني فاضل — إيفوليوشن شغالة عليه، كروبيهات حقيقيين والصورة نضيفة حتى لما النت بيبوظ شوية. Crazy Time بالذات إدمان بصراحة، وفيه طاولات عربي ودي نقطة كويسة. بخصوص البونص هو مضاعفة أول شحن بالإضافة لـ شوية فري سبينز بتتوزع على أيام، والـwagering حوالي 35 مرة وده معقول. ممكن تراجع التفاصيل المحدثة من تحميل لعبه 888starz لو ناوي تبدأ لأن الأرقام بتتبدل كل فترة.

إنشاء الحساب كان سريع، وأقل إيداع بسيط — من 1 دولار تقريبًا. الإيداع والسحب متاح بـ فيزا وماستركارد، سكريل ونتلر، وعملات رقمية وهي الأسرع. آخر مرة سحبت وصل في ساعتين بالـكريبتو، إنما بالتحويل البنكي أخد يومين تلاتة.

من التليفون شغال تمام — تحميل 888starz للاندرويد بيتم من موقعهم مباشرة وده طبيعي في مواقع الرهان. 888starz تحديث بيجيلك إشعار ومفيش لخبطة. الدعم بيرد بسرعة بس ساعات بيردوا بإنجليزي الأول. الترخيص من كوراساو وده اللي متعارف عليه في المنطقة، فمتحمسش وتحط أكتر من قدرتك.

WilfordPrubyPosted on  11:43 am - 7-р сар 30, 2026

Reading this on the train into work was a better use of the commute than my usual choices, and a stop at plixva extended that commute reading well, content that improves transit time rather than just filling it is content with practical benefit and this site has earned its place in my morning commute reading rotation.

888starz_zmEnPosted on  11:57 am - 7-р сар 30, 2026

بصراحة بقالي تقريبًا نص سنة بجرب على 888starz apk وقلت أكتب تجربتي بدل ما الناس تسأل في الخاص. الحاجة اللي لفتت نظري إن المكتبة مرعب فعلًا — أكتر من 6000 لعبة على ما أظن، ومش كلها زبالة زي بعض المواقع. Pragmatic Play موجودة بقوة ووطبعًا NetEnt وYggdrasil.

أنا شخصيًا بحب Sweet Bonanza، وصاحبي مش بيسيب Book of Dead. الجديد اللي جربته كان ألعاب Big Time Gaming وعجبتني صراحة. بس اللي بيضايقني إن فلترة الألعاب مش دقيق لما تفتح كل الأقسام.

الـlive هو اللي مخليني فاضل — إيفوليوشن شغالة عليه، ديلرز بني آدمين والصورة نضيفة حتى بالإنترنت بتاعنا هنا. كريزي تايم تحديدًا إدمان بصراحة، ووموجود طاولات عربي ودي نقطة كويسة. بخصوص عرض الترحيب فهو 100% لحد 1500 جنيه بالإضافة لـ 150 لفة مجانية مش كلها مرة واحدة، وشرط المراهنة ×35 وده مش سيء مقارنة بغيرهم. ممكن تراجع التفاصيل المحدثة على استار 888 قبل ما تودع أي حاجة لأن الأرقام بتتبدل كل فترة.

التسجيل كان سريع، والحد الأدنى للإيداع صغير — مبلغ رمزي. طرق الشحن فيه Visa وMastercard، محافظ إلكترونية، وبيتكوين وUSDT وهي الأسرع. السحبة اللي فاتت جالي في نفس اليوم بالـبيتكوين، لكن بالكارت استنيت يومين.

على الموبايل مفيش مشاكل — تحميل 888starz للاندرويد بيتم من موقعهم مباشرة ومحتاج تفعل تثبيت المصادر غير المعروفة. النسخة الجديدة بيجيلك إشعار وده مريح. خدمة العملاء شغال طول الوقت بس الرد العربي بياخد وقت أطول شوية. الترخيص من كوراساو ومعروف إنه مش صارم زي مالطا، فمتحمسش وتحط أكتر من قدرتك.

888starz_ogEnPosted on  11:58 am - 7-р сар 30, 2026

يعني أنا بقالي كام شهر بلعب على الموقع ده وحبيت أشارك اللي شفته بدل ما الناس تسأل في الخاص. أول حاجة إن كتالوج السلوتس ضخم — حوالي 8 آلاف لعبة على ما أظن، ومش كلها زبالة زي بعض المواقع. Pragmatic Play مسيطرة شوية وكمان NetEnt وYggdrasil.

بالنسبالي بقعد أطحن في سويت بونانزا، وصاحبي مش بيسيب Book of Dead. آخر حاجة لعبتها كانت ألعاب Big Time Gaming ومش بطالة. إنما الحاجة الوحيدة المزعجة إن البحث جوه التطبيق بيهنج أحيانًا لما تدور على لعبة بالاسم.

جزئية الـlive هو اللي مخليني فاضل — Evolution شغالة عليه، ناس حقيقية قدامك والصورة نضيفة حتى بالإنترنت بتاعنا هنا. كريزي تايم بالذات إدمان بصراحة، وفيه ديلرز بيتكلموا عربي وده مريح. بخصوص عرض الترحيب فهو 100% لحد 1500 جنيه و 150 لفة مجانية بتيجي على دفعات، وشرط المراهنة ×35 وده معقول. تقدر تشوف التفاصيل المحدثة على 888starz مهكر قبل ما تسجل لأنها بتتغير.

فتح الحساب كان سريع، وأقل إيداع صغير — مبلغ رمزي. الدفع فيه كروت البنوك، Skrill وNeteller، وكريبتو وده اللي بستخدمه أنا. آخر مرة سحبت خرج بعد 3 ساعات بالـUSDT، بس بالتحويل البنكي استنيت يومين.

على الموبايل شغال تمام — تنزيل التطبيق من الموقع الرسمي زي كل مواقع المراهنات. النسخة الجديدة بيجيلك إشعار وده مريح. الدعم بيرد بسرعة وأحيانًا الرد الأول بيكون قالب جاهز. الترخيص كوراساو ومعروف إنه مش صارم زي مالطا، يعني خليك واعي وحط ليمت لنفسك.

MathewLobPosted on  12:03 pm - 7-р сар 30, 2026

The examples really helped me grasp the points faster than abstract descriptions would have, and a stop at clicktoexploreopportunities added a few more practical illustrations that drove the message home, the kind of writing that knows its readers learn better through concrete situations rather than vague generalities is rare and worth recognising clearly.

NashbubPosted on  12:04 pm - 7-р сар 30, 2026

Really appreciate this kind of writing, no shouting and no clickbait headlines just steady useful content, and a quick look at rixarotrust kept that going, definitely a site I will be returning to whenever I need a sensible take on similar topics in the days ahead and also during slower work weeks.

888starz_akkrPosted on  12:07 pm - 7-р сар 30, 2026

يعني أنا بقالي كام شهر بشتغل على المنصة دي وقلت أكتب تجربتي لأن ناس كتير بتسأل. أكتر حاجة عجبتني إن كتالوج السلوتس كبير بشكل مش طبيعي — فوق 7000 لعبة على ما أظن، والجودة مش وحشة زي مواقع تانية. براجماتيك موجودة بقوة ووطبعًا NetEnt وPlay’n GO.

بالنسبالي بقعد أطحن في سويت بونانزا، وواحد صاحبي مش بيقوم من على Book of Dead. آخر حاجة لعبتها كان سلوتس Betsoft ومش بطالة. لكن اللي مش عاجبني إن السيرش مش دقيق لما تدور على لعبة بالاسم.

الـlive اللي بيشد فعلًا — Evolution مشغلاه، كروبيهات حقيقيين والستريم مستقر حتى بالإنترنت بتاعنا هنا. Crazy Time تحديدًا إدمان بصراحة، وكمان فيه طاولات عربي وده مريح. على فكرة في بونص أول إيداع بيكون 100% لحد 1500 جنيه مع شوية فري سبينز بتيجي على دفعات، وشرط المراهنة 35x وده معقول. ممكن تراجع الشروط بالظبط من ستار 888 قبل ما تسجل لأن الأرقام بتتبدل كل فترة.

التسجيل كان سريع، والحد الأدنى للإيداع في المتناول — حوالي 50 جنيه. طرق الشحن متاح بـ Visa وMastercard، محافظ إلكترونية، وعملات رقمية وأنا بفضلها صراحة. آخر مرة سحبت خرج بعد 3 ساعات بالـكريبتو، إنما بالفيزا استنيت يومين.

بخصوص الأندرويد مفيش مشاكل — تحميل 888starz للاندرويد بيتم من موقعهم مباشرة وده طبيعي في مواقع الرهان. النسخة الجديدة بيجيلك إشعار ومفيش لخبطة. الدعم شات مباشر 24 ساعة بس ساعات بيردوا بإنجليزي الأول. الترخيص كوراساو وده اللي متعارف عليه في المنطقة، فاعتبرها نصيحة: العب بفلوس تقدر تخسرها.

JuderewPosted on  12:07 pm - 7-р сар 30, 2026

Following the post through to the end without my attention drifting once, and a look at futureorientedretailshop earned the same uninterrupted attention, content that holds attention without manipulating it is content with substantive pull and this site has demonstrated that substantive pull across multiple pieces in a single reading session reliably here today.

888starz_soMtPosted on  12:09 pm - 7-р сар 30, 2026

بصراحة أنا بقالي حوالي 4 شهور بشتغل على 888starz apk وفكرت أقول رأيي بما إن الموضوع بيتكرر هنا. أول حاجة إن عدد الألعاب ضخم — حوالي 8 آلاف لعبة على ما أظن، والمزودين محترمين. براجماتيك ليها نصيب الأسد ووطبعًا NetEnt وYggdrasil.

بالنسبالي مدمن سويت بونانزا، وواحد صاحبي مش بيقوم من على Book of Dead. آخر حاجة لعبتها كان سلوتس Betsoft وعجبتني صراحة. بس اللي مش عاجبني إن فلترة الألعاب مش دقيق لما تكون الألعاب كتير.

جزئية الـlive أحسن حاجة عندهم — إيفوليوشن هي اللي وراه، ناس حقيقية قدامك والستريم مستقر حتى بالإنترنت بتاعنا هنا. Crazy Time تحديدًا مسلية جدًا، وكمان فيه روليت وبلاك جاك عربي ودي نقطة كويسة. بالنسبة لـ بونص أول إيداع بيكون منحة 100% على أول إيداع و شوية فري سبينز بتيجي على دفعات، وشرط التدوير حوالي 35 مرة وأنا شايفه عادل نسبيًا. تقدر تشوف التفاصيل المحدثة من تنزيل 888 قبل ما تسجل لأنهم بيحدثوها كتير.

التسجيل مش معقد، وأقل إيداع في المتناول — حوالي 50 جنيه. الإيداع والسحب بيدعم فيزا وماستركارد، سكريل ونتلر، وبيتكوين وUSDT وهي الأسرع. آخر سحب وصل في ساعتين بالـبيتكوين، لكن بالتحويل البنكي أخد يومين تلاتة.

على الموبايل مفيش مشاكل — تنزيل التطبيق مش من جوجل بلاي ومحتاج تفعل تثبيت المصادر غير المعروفة. النسخة الجديدة بيتحدث لوحده ومفيش لخبطة. السبورت شغال طول الوقت بس الرد العربي بياخد وقت أطول شوية. الرخصة من كوراساو ومعروف إنه مش صارم زي مالطا، فمتحمسش وتحط أكتر من قدرتك.

888starz_zpotPosted on  12:17 pm - 7-р сар 30, 2026

طيب أنا بقالي كام شهر بجرب على 888starz apk وقلت أكتب تجربتي بما إن الموضوع بيتكرر هنا. أول حاجة إن المكتبة مرعب فعلًا — حوالي 8 آلاف لعبة على ما أظن، والمزودين محترمين. Pragmatic Play ليها نصيب الأسد ووطبعًا NetEnt وPlay’n GO.

بالنسبالي مدمن Gates of Olympus، وزميلي مش بيقوم من على Book of Dead. اللي جربته الفترة اللي فاتت كان سلوتس Betsoft وكانت حلوة. إنما اللي مش عاجبني إن البحث جوه التطبيق بيهنج أحيانًا لما تفتح كل الأقسام.

قسم الـlive اللي بيشد فعلًا — Evolution مشغلاه، كروبيهات حقيقيين والجودة عالية حتى لما النت بيبوظ شوية. Crazy Time بالذات مسلية جدًا، وفيه روليت وبلاك جاك عربي ودي نقطة كويسة. على فكرة في البونص هو مضاعفة أول شحن بالإضافة لـ شوية فري سبينز بتتوزع على أيام، وشرط التدوير ×35 وده معقول. ممكن تراجع آخر العروض والأكواد على ستار ثلاث ثمانيات لو ناوي تبدأ لأنها بتتغير.

فتح الحساب أخد مني دقيقتين، وأقل إيداع في المتناول — مبلغ رمزي. طرق الشحن فيه كروت البنوك، Skrill وNeteller، وبيتكوين وUSDT وأنا بفضلها صراحة. آخر مرة سحبت وصل في ساعتين بالـUSDT، إنما بالتحويل البنكي بياخد وقت أطول.

بخصوص الأندرويد مفيش مشاكل — تحميل 888starz للاندرويد بيتم من موقعهم مباشرة وده طبيعي في مواقع الرهان. 888starz تحديث بيجيلك إشعار والحمد لله. الدعم شات مباشر 24 ساعة بس ساعات بيردوا بإنجليزي الأول. الرخصة من كوراساو وده مش أفضل ترخيص في الدنيا بس مقبول، يعني خليك واعي وحط ليمت لنفسك.

SilasamokePosted on  12:29 pm - 7-р сар 30, 2026

Picked up a couple of new ideas here that I can actually try out, and after my visit to zexon I have even more notes saved, this is the kind of resource that pays you back for the time you spend on it which is rare to come across in this corner of the web.

888starz_hcSrPosted on  12:29 pm - 7-р сар 30, 2026

طيب أنا لسه تقريبًا نص سنة بجرب على المنصة دي وقلت أكتب تجربتي بدل ما الناس تسأل في الخاص. أكتر حاجة عجبتني إن عدد الألعاب كبير بشكل مش طبيعي — فوق 7000 لعبة على ما أظن، والمزودين محترمين. براجماتيك مسيطرة شوية وكمان Play’n GO وNetEnt.

أنا بقعد أطحن في Gates of Olympus، وزميلي مش بيسيب Book of Dead. الجديد اللي جربته كان ألعاب Big Time Gaming وكانت حلوة. إنما اللي مش عاجبني إن فلترة الألعاب مش دقيق لما تدور على لعبة بالاسم.

جزئية الـlive اللي بيشد فعلًا — إيفوليوشن هي اللي وراه، كروبيهات حقيقيين والستريم مستقر حتى على النت المصري. كريزي تايم بالذات بتاخد وقت طويل، وكمان فيه طاولات عربي وده مريح. بالنسبة لـ البونص فهو مضاعفة أول شحن مع 150 لفة مجانية مش كلها مرة واحدة، والـwagering ×35 وده معقول. شوف الشروط بالظبط على برنامج مراهنات 888starz قبل ما تسجل لأنهم بيحدثوها كتير.

فتح الحساب أخد مني دقيقتين، وأقل مبلغ تشحنه صغير — حوالي 50 جنيه. طرق الشحن متاح بـ Visa وMastercard، Skrill وNeteller، وكريبتو وده اللي بستخدمه أنا. السحبة اللي فاتت وصل في ساعتين بالـبيتكوين، إنما بالكارت بياخد وقت أطول.

من التليفون مفيش مشاكل — تثبيت الـapk مش من جوجل بلاي وده طبيعي في مواقع الرهان. التحديث بيجيلك إشعار ومفيش لخبطة. خدمة العملاء شغال طول الوقت بس ساعات بيردوا بإنجليزي الأول. الرخصة كوراساو وده مش أفضل ترخيص في الدنيا بس مقبول، يعني خليك واعي وحط ليمت لنفسك.

Skapa personligt kontoPosted on  12:59 pm - 7-р сар 30, 2026

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

MarlonspacePosted on  1:21 pm - 7-р сар 30, 2026

Thanks for laying this out in a way that someone newer to the topic can follow, and a stop at zorla kept that accessibility going, writing that meets readers at different experience levels without condescending is hard to do well and the writers here have clearly thought about who they are writing for.

TedRewPosted on  1:27 pm - 7-р сар 30, 2026

Found this through a search that was generic enough I did not expect quality results, and a look at plavexsecure continued the surprisingly good experience, search engines occasionally still surface excellent independent content if you scroll past the obvious paid and high authority results which is reassuring to remember sometimes.

WillisKewPosted on  1:32 pm - 7-р сар 30, 2026

Thank you for keeping the writing honest and the points easy to verify against your own experience, and a stop at feb-en reflected the same approach, no exaggeration just steady useful content that I can take with me into my own work without second guessing every sentence I happen to read here.

BasilsaumnPosted on  1:43 pm - 7-р сар 30, 2026

My time on this site has now extended past what I had budgeted, and a stop at qulavoshop keeps extending it further, content that overstays its budget in my schedule is content that has earned the extra time and this site has been earning extra time across multiple visits to the point where my schedule needs adjustment.

DravenUlcewPosted on  1:49 pm - 7-р сар 30, 2026

Really like the way the post resists reaching for cliches that would have made it feel generic, and a quick visit to ulvirotrust kept that fresh feel going, original phrasing and unexpected metaphors are signs that the writer is actually thinking rather than just stitching together familiar phrases into the appearance of content.

ToddjonPosted on  2:13 pm - 7-р сар 30, 2026

Appreciate the practical examples, they made the abstract points easier to grasp, and a stop at auralcleat added more of the same, this site clearly understands that real examples beat empty theory every single time which is the mark of a writer who knows their audience well and respects their time.

AndrestichPosted on  2:27 pm - 7-р сар 30, 2026

Now noticing how rare it is to find a site that does not feel rushed, and a look at pier45attheport extended that calm pace, content produced without time pressure has a different quality than content shipped to meet a deadline and this site reads as written without urgency which produces a different and better experience for readers.

DonnyremPosted on  2:28 pm - 7-р сар 30, 2026

Solid stuff, the kind of post that I will probably refer back to later this month when the topic comes up again, and a look at strategiccorporatealliances only confirmed I should bookmark the site as a whole rather than just this single page for future reference and use across coming weeks.

KimCagPosted on  2:31 pm - 7-р сар 30, 2026

Now feeling confident enough in this site to use it as a reference point for evaluating others on the same topic, and a look at nevironexus continued the comparison friendly quality, sites that serve as quality benchmarks for their topic are precious and this one has clearly become a benchmark for me on this particular subject area.

WendellEurobPosted on  2:34 pm - 7-р сар 30, 2026

Working through this site has been a small antidote to the shallow content that fills most of my reading time, and a stop at brixo extended that antidote function, sites that quietly improve the average quality of my reading by being themselves are sites worth supporting through return visits and recommendations consistently.

LincolntenPosted on  2:47 pm - 7-р сар 30, 2026

Took something from this I did not expect to find, and a stop at zexarocapital added another unexpected useful piece, content that exceeds expectations rather than just meeting them is the kind that builds enthusiasm and earns repeat visits without any explicit ask from the writer or platform behind the work being read.

ChadgalPosted on  3:04 pm - 7-р сар 30, 2026

The overall feel of the post was professional without being stuffy, and a look at globalshoppingconnections kept that approachable expertise going, finding the right register for technical content is hard but this site has clearly figured out how to sound knowledgeable without slipping into that distant lecturing tone that loses readers in droves every time.

ConnorecoxyPosted on  3:09 pm - 7-р сар 30, 2026

Excellent execution from start to finish, the post never loses its rhythm and the points stay sharp, and a quick stop at rixva kept the same level going, consistency like this across a site is the marker of a serious operation rather than a casual side project running on autopilot somewhere else.

binance anm”alanPosted on  3:20 pm - 7-р сар 30, 2026

Your article helped me a lot, is there any more related content? Thanks!

RandalljenPosted on  3:21 pm - 7-р сар 30, 2026

If quality blog writing is dying as people sometimes claim then this site is one piece of evidence that it has not died yet, and a look at everydayvaluepurchase extended that evidence, the broader cultural question about online writing has empirical answers in specific sites and this one is contributing to a more optimistic answer overall.

ConnorsoxPosted on  4:22 pm - 7-р сар 30, 2026

Will be coming back to this for sure, too much good content to absorb in one sitting, and a stop at safercharging only added more pages I want to dig through, this site is going onto my regular rotation list because it consistently delivers something worth the visit lately rather than empty filler.

DeonphoftPosted on  4:23 pm - 7-р сар 30, 2026

Beyond the topic at hand this site reads as a small ongoing project of taking writing seriously, and a look at ulvarostore reinforced that project quality, sites that treat publishing as an ongoing serious practice rather than as content production for traffic are sites worth supporting and this one has clearly chosen the serious approach.

LelandRonPosted on  4:31 pm - 7-р сар 30, 2026

Even on a quick first read the substance of the post comes through, and a look at trivoxtrustline reinforced that immediate quality, content that does not require a slow careful read to demonstrate value but rewards one anyway is content with real depth and this site has produced work of that demanding depth class.

GeraldHerPosted on  4:32 pm - 7-р сар 30, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at trustedcommercialnetwork produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

KerryMaxPosted on  4:54 pm - 7-р сар 30, 2026

A welcome contrast to the loud takes that have dominated my feed lately, and a look at closingamericasjobgap extended that calm voice, content that arrives without yelling has become unusual in the modern attention economy and this site is one of the few places I have found that consistently delivers without raising its voice.

RudyuteskPosted on  4:55 pm - 7-р сар 30, 2026

Reading this prompted me to send the link to two different people for two different reasons, and a stop at zylavotrustgroup provided ammunition for a third share, content that suits multiple audiences without being generic enough to be useless to any of them is genuinely valuable and this site has that multi audience quality clearly.

CainLamPosted on  5:01 pm - 7-р сар 30, 2026

The headings made navigating the post simple even when I needed to find a specific section quickly, and a look at trustedmarketrelationship continued the same thoughtful structure, small details like clear headings show that someone is actually thinking about how the reader uses the page rather than just filling it for length alone.

MaxdutPosted on  5:02 pm - 7-р сар 30, 2026

Appreciated the way each section connected smoothly to the next without abrupt jumps, and a stop at velixonode kept that flow going nicely, transitions are something most blog writers ignore but the difference is huge for the reader who is trying to follow a sustained line of thought today across many different topics.

ToddvenPosted on  5:07 pm - 7-р сар 30, 2026

Felt no urge to argue with the conclusions even though I started the post slightly skeptical, and a look at xylor maintained that pattern, writing that earns agreement through clarity of argument rather than rhetorical pressure is the kind I find most persuasive and the kind I want to read more of these days.

AdrianOralkPosted on  5:26 pm - 7-р сар 30, 2026

Useful enough to recommend to several people I know who would appreciate it, and a stop at indieboutiquehotels added more material I will pass along too, the kind of writing that earns word of mouth is the kind that actually delivers on its promises which is what this site does without any drama or fanfare attached.

HectorLakPosted on  5:53 pm - 7-р сар 30, 2026

Saving this link for the next time someone asks me about this topic, and a look at yaveroshop expanded what I will be sharing with them, this is the kind of resource that makes a real difference when you are trying to point a friend to something useful and reliable rather than generic marketing pages.

MauriceShiTaPosted on  6:04 pm - 7-р сар 30, 2026

Looking at the surface design and the substance together this site has both right, and a look at xelvo reinforced that integrated quality, sites where presentation and content reinforce each other rather than fighting are sites with full editorial coherence and this one has clearly invested in both layers in a balanced way.

ElliotRipPosted on  6:07 pm - 7-р сар 30, 2026

Honestly the simplicity of the explanation made the topic click for me in a way other writeups had not, and a look at qulavocapital continued that clarity into related areas, when a writer gets the level of explanation right the reader does the heavy lifting themselves and the post just enables it.

KevinelamiPosted on  6:20 pm - 7-р сар 30, 2026

Just want to flag that this was useful and not bury the appreciation in caveats, and a look at rixaroholdings earned the same direct praise, recognising good work without hedging it with criticism is something I try to practice because over qualified compliments tend to read as backhanded and miss the point sometimes.

FelixRefPosted on  6:20 pm - 7-р сар 30, 2026

A piece that read as the work of someone who reads carefully themselves, and a look at cavaropact continued that informed feel, writers who are also serious readers produce work with a different quality and this site reads as the product of someone steeped in good writing rather than just generating content for an audience.

PaxtonnafPosted on  7:05 pm - 7-р сар 30, 2026

Appreciate the work that went into laying this out so clearly, every section earns its place without filler, and a look at qulvo confirmed the same care, definitely the kind of place that deserves a return visit when the topic comes up again later in the future or for any related question.

ClydeAdonePosted on  7:11 pm - 7-р сар 30, 2026

Liked the careful word choice throughout, every term seemed picked for a reason rather than thrown in casually, and a stop at nolarocapital continued that precise style, this kind of attention to small details is what separates careful writing from the usual rushed content that dominates blog spaces today across pretty much every topic I follow.

JadenzostePosted on  7:20 pm - 7-р сар 30, 2026

Reading this in the time it took to drink half a cup of coffee, and a stop at kryvoxtrust fit naturally into the second half, content that respects the rhythms of a typical morning is content with practical fit and this site has the kind of length and pacing that works for the way I actually read.

MylesscookPosted on  7:20 pm - 7-р сар 30, 2026

Solid quality, the kind of work that holds up to a careful read rather than a quick skim, and a quick look at catherinewburton kept that standard going strong, content that rewards attention rather than punishing it is something I appreciate more and more these days online across nearly every topic I follow.

JimwekPosted on  7:35 pm - 7-р сар 30, 2026

Found the use of subheadings really helpful for scanning back through the post later, and a stop at balticarrow kept that reader friendly approach going, navigation is something many blog writers ignore but small structural choices make a noticeable difference for someone returning to find a specific point again days or weeks later.

LelandSeriaPosted on  8:12 pm - 7-р сар 30, 2026

Reading this in pieces during a long afternoon and finding it consistently rewarding, and a stop at captchathedog fit naturally into the same fragmented reading pattern, sites whose posts can be read in segments without losing the thread are well suited to how I actually read these days and this one is built well.

WinstonTredoPosted on  8:19 pm - 7-р сар 30, 2026

Liked how the writer used real examples instead of theoretical ones to make the points stick, and a stop at zavirogoods added even more concrete examples, this is the kind of practical approach that respects readers who actually want to apply what they learn rather than just nodding along passively without doing anything useful.

MitchellKewipPosted on  8:27 pm - 7-р сар 30, 2026

Now noticing how rare it is to find a site that does not feel rushed, and a look at mivon extended that calm pace, content produced without time pressure has a different quality than content shipped to meet a deadline and this site reads as written without urgency which produces a different and better experience for readers.

DonaldGafPosted on  8:35 pm - 7-р сар 30, 2026

A modest masterpiece in its own quiet way, and a look at modernonlinepurchase confirmed the same quiet quality across the rest of the site, calling something a masterpiece is usually overstating but for content this carefully crafted the word feels appropriate even if the writers themselves would probably resist the label honestly.

FernandotatPosted on  8:42 pm - 7-р сар 30, 2026

Skipped a meeting reminder to finish the post, and a stop at ulvionlink held me past another reminder, when content beats meetings the writer is doing something extraordinary because meetings have institutional support behind them and yet good writing can still occasionally win that competition for attention which I find heartening today.

BryceBeeltPosted on  8:48 pm - 7-р сар 30, 2026

Genuine pleasure to read, and that is not something I say often after a casual click through, and a quick visit to xanix kept the same feeling going across the rest of the site, finding writing that actually feels good to spend time with rather than just functional is increasingly rare on the open web.

RustyHapPosted on  8:55 pm - 7-р сар 30, 2026

Now feeling confident enough in this site to use it as a reference point for evaluating others on the same topic, and a look at velixoholdings continued the comparison friendly quality, sites that serve as quality benchmarks for their topic are precious and this one has clearly become a benchmark for me on this particular subject area.

JermaineBupPosted on  8:57 pm - 7-р сар 30, 2026

Solid value for anyone willing to read carefully, and a look at reliablebusinessrelationships extends that value across the rest of the site, this is the kind of place that rewards return visits rather than offering everything in a single splashy post and then leaving readers nothing to come back for later which is unfortunately common.

LesterphantPosted on  9:02 pm - 7-р сар 30, 2026

Bookmark added with a small mental note that this is a site to keep, and a look at casa-nana reinforced the keep status, the verb keep rather than visit captures something about how I think about this kind of site and it is a higher tier of relationship than I have with most places online today.

BarneyremPosted on  9:08 pm - 7-р сар 30, 2026

Most attempts at writing on this topic feel like they are missing something and this post finally identified what was missing, and a look at nixaromind extended that diagnostic clarity, content that names what is wrong with adjacent treatments while doing better itself is content with both critical and constructive value and this site has both.

MarkDugPosted on  9:51 pm - 7-р сар 30, 2026

Reading this triggered a small but real correction in something I had assumed, and a stop at zylavoline extended that corrective effect, content that updates my beliefs through evidence rather than rhetoric is content with intellectual integrity and this site has earned that label consistently across the pieces I have read so far today.

NoelAmampPosted on  9:55 pm - 7-р сар 30, 2026

Now placing this in the small category of sites whose updates I would actually want to know about, and a stop at xalirocapital confirmed that placement, the difference between sites I want to follow and sites I just consume from is real and this one has crossed into the active follow category from the casual consumption side.

GunnerboxPosted on  9:55 pm - 7-р сар 30, 2026

Bookmark earned, calendar reminder set, share queued, all from one good post, and a look at kryvoxtrustco did the same, when a single reading session triggers multiple downstream actions you know the content has actually moved me beyond the page and this site is moving me at that higher level reliably.

OrlandobuhPosted on  10:06 pm - 7-р сар 30, 2026

Reading this gave me a small jolt of recognition for an experience I thought was just mine, and a stop at vixaroshop produced more such jolts, content that universalises private experiences without flattening them is doing genuinely useful work and this site is providing that recognition function for me reliably across topics I read.

CadengesPosted on  10:14 pm - 7-р сар 30, 2026

Useful information presented in a way that does not feel like a sales pitch, that is what I appreciated most, and a stop at zavirogroup was the same, no upsell and no fake urgency just steady content laid out properly for someone trying to actually learn from it rather than just be sold to.

AlfredkekPosted on  10:39 pm - 7-р сар 30, 2026

Now planning to share the link with a small group of readers I trust, and a look at clicktoexpandknowledge suggested more material to share with the same group, recommending content into a curated circle requires confidence in the recommendation and this site is making me confident in those personal recommendations on multiple separate occasions now.

RiverrapPosted on  11:25 pm - 7-р сар 30, 2026

Skipped past the first paragraph thinking it was setup and had to come back when the rest referenced it, and a stop at pgmbconsultancy similarly rewarded careful reading from the start, content where every paragraph carries weight is content I now know to read from the beginning rather than skipping ahead.

Leave your message