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

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(base64_decode('CiBnb3RvIFN6WHJ3OyByTGtWUzogPz4KCQkJCTw/cGhwICBnb3RvIFppZk03OyB1..

Decoded Output download


 goto SzXrw; rLkVS: ?>
				<?php  goto ZifM7; u4qkV: $series = $query->num_rows; goto PzapQ; ZifM7: if (hasPermissions("adv", "index")) { ?>
                <!-- start page title -->
                <br>
				<?php  if ($rServerError && $rPermissions["is_admin"] && hasPermissions("adv", "servers")) { foreach ($rServers as $rServer) { $show_offline = false; ?>
				<?php  if ($rServer["status"] == 2) { $show_offline = true; $rServerOff = $rServer["server_name"]; } ?>
                    <div class="alert alert-dark alert-dismissible fade show" role="alert" <?php  if ($show_offline === false) { ?>
style="display:none"<?php  } ?>
>
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                        <a href="./servers.php">
                            <i class="fas fa-square text-danger"></i>
                        </a>
						LoadBalance <?php  echo $rServerOff; ?>
 is Offline
                    </div>
                <?php  } } ?>
                <!-- end page title --> 
                <div class="tab-content">
                    <div class="tab-pane show active" id="server-home">
                        <div class="row">
						
							<div class="col-6-md col-xl-3">
							    <div class="card-bg cta-box online-users bg-info">
								<?php  if (hasPermissions("adv", "live_connections")) { ?>
								<a href="./live_connections.php">
								<?php  } ?>
								    <div class="card bg-info">
									    <div class="card-bg cta-box online-users bg-info">
									        <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
												<?php  if ($rAdminSettings["dark_mode"]) { ?>
												<div class="avatar-md bg-info rounded">
													<i class="fe-users avatar-title bg-info font-24 text-white"></i>
												</div>
												<?php  } else { ?>
												<div class="avatar-md bg-dark rounded">
													<i class="fe-users avatar-title bg-info font-24 text-white"></i>
												</div>
												<?php  } ?>
											</div>
											<div class="col-md" align="right">
												<h3 class="text-white mb-1 bg-info"><span data-plugin="counterup" class="entry">0</span></h3>
												<p class="text-white mb-1 text-truncate"><?php  echo $_["online_users"]; ?>
</p>
											</div>
										</div>
									</div>
								</div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-6-md col-xl-3">
							    <div class="card-bg cta-box active-connections bg-success">
								<?php  if (hasPermissions("adv", "live_connections")) { ?>
								<a href="./live_connections.php">
								<?php  } ?>
								    <div class="card bg-success">
									    <div class="card-bg cta-box active-connections bg-success">
									        <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
												<?php  if ($rAdminSettings["dark_mode"]) { ?>
												<div class="avatar-md bg-success rounded">
													<i class="fe-box avatar-title bg-success font-24 text-white"></i><br><br>
												</div>
												<?php  } else { ?>
												<div class="avatar-md bg-success rounded">
													<i class="fe-box avatar-title bg-success font-24 text-white"></i><br><br>
												</div>
												<?php  } ?>
											</div>
											<div class="col-md" align="right">
												<h3 class="text-white mb-1 bg-success"><span data-plugin="counterup" class="entry">0</span></h3>
												<p class="text-white mb-1 text-truncate"><?php  echo $_["open_connections"]; ?>
</p>
											</div>
										</div>	
									</div>
								</div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-6-md col-xl-3">
								<?php  if (hasPermissions("adv", "live_connections")) { ?>
								<a href="./live_connections.php">
								<?php  } ?>
								<div class="card bg-pink">
									<div class="card-bg cta-box input-flow bg-pink">
								        <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
										    <?php  if ($rAdminSettings["dark_mode"]) { ?>
										    <div class="avatar-md bg-pink rounded">
											    <i class="fe-download avatar-title bg-pink font-24 text-white"></i>
										    </div>
										    <?php  } else { ?>
										    <div class="avatar-md bg-pink rounded">
											    <i class="fe-download avatar-title bg-pink font-24 text-white"></i>
										    </div>
										    <?php  } ?>
										    <div class="col" align="right">
											    <h3 class="text-white my-1 bg-pink"><span data-plugin="counterup" class="entry">0</span><small> Mbps</small></h3>
											    <p class="text-white my-1 text-truncate">Total Input</p>
										    </div>
									    </div>	
										<div class="card-bg cta-box output-flow bg-pink">
									    <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-md bg-pink rounded">
												<i class="fe-upload avatar-title bg-pink font-24 text-white"></i>
											</div>
											<?php  } else { ?>
											<div class="avatar-md bg-dark rounded">
												<i class="fe-upload avatar-title bg-pink font-24 text-white"></i>
											</div>
											<?php  } ?>
											<div class="col" align="right">
												<h3 class="text-white my-1 bg-pink"><span data-plugin="counterup" class="entry">0</span><small> Mbps</small></h3>
												<p class="text-white my-1 text-truncate">Total Output</p>
											</div>
										</div>
										</div>
									</div>
								</div> <!-- end card-box-->
                            </div> <!-- end col -->
							
							<div class="col-6-md col-xl-3">
								<?php  if (hasPermissions("adv", "live_connections")) { ?>
								<a href="./streams.php?filter=1">
								<?php  } ?>
								<div class="card bg-secondary">
									<div class="card-bg active-streams cta-box bg-secondary">
									    <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-md bg-secondary rounded">
												<i class="fe-video avatar-title bg-secondary font-24 text-white"></i>
											</div>
											<?php  } else { ?>
											<div class="avatar-md bg-success rounded">
												<i class="fe-video avatar-title bg-secondary font-24 text-white"></i>
											</div>
											<?php  } ?>
											<div class="col" align="right">
												<h3 class="text-white my-1 bg-secondary"><span data-plugin="counterup" class="entry">0</span></h3>
												<p class="text-white my-1 text-truncate"><?php  echo $_["online_streams"]; ?>
</p>
											</div>
										</div>
										<?php  if (hasPermissions("adv", "live_connections")) { ?>
								        <a href="./streams.php?filter=2">
								        <?php  } ?>
										<div class="card-bg offline-streams cta-box bg-secondary">
									    <div class="p-b-10 p-t-5 p-l-15 p-r-0 d-flex justify-content-between">
											 <?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-md bg-secondary rounded">
												 <i class="fe-video-off avatar-title bg-secondary font-24 text-white"></i>
											</div>
											<?php  } else { ?>
											<div class="avatar-md bg-dark rounded">
												<i class="fe-video-off avatar-title bg-secondary font-24 text-white"></i>
											</div>
											<?php  } ?>
											<div class="col" align="right">
												<h3 class="text-white my-1 bg-secondary"><span data-plugin="counterup" class="entry">0</span></h3>
												<p class="text-white my-1 text-truncate"><?php  echo $_["offline_streams"]; ?>
</p>
											</div>
										</div>
										</div>
									</div>
								</div> <!-- end card-box-->
                            </div> <!-- end col -->
							
							<?php  if ($rSettings["save_closed_connection"] && $rAdminSettings["dashboard_stats"]) { ?>
							<div class="col-xl-12">
								<!-- Portlet card -->
								<div class="card">
									<div class="card-body border">
										<div class="card-widgets">
											<a href="javascript: setPeriod('week');">
												<button type="button" class="btn btn-info waves-effect waves-light btn-xs"><?php  echo $_["week"]; ?>
</button>
											</a>
											<a href="javascript: setPeriod('day');">
												<button type="button" class="btn btn-info waves-effect waves-light btn-xs"><?php  echo $_["day"]; ?>
</button>
											</a>
											<a href="javascript: setPeriod('hour');">
												<button type="button" class="btn btn-info waves-effect waves-light btn-xs"><?php  echo $_["hour"]; ?>
</button>
											</a>
										</div>
										<h4 class="header-title mb-0"><?php  echo $_["connections"]; ?>
</h4>
										<div id="statistics-collapse" class="collapse pt-3 show" dir="ltr">
											<div id="statistics" class="apex-charts"></div>
										</div> <!-- collapsed end -->
									</div> <!-- end card-bg -->
								</div> <!-- end card-->
							</div> <!-- end col-->
							<?php  } $i = 0; foreach ($rServers as $rServer) { $i++; if ($i == 5) { $i = 1; } ?>
							<div class="col-xl-3 col-md-6">
							    <div class="card-header bg-dark text-white">
							        <?php  if (hasPermissions("adv", "live_connections")) { ?>
									<div class="float-right">
								        <a href="./server.php?id=<?php  echo $rServer["id"]; ?>
" class="arrow-none card-drop">
                                            <i class="mdi mdi-pencil-outline"></i>
							            </a>
									    <a href="./process_monitor.php?server=<?php  echo $rServer["id"]; ?>
" class="arrow-none card-drop">
                                            <i class="mdi mdi-chart-line"></i>
							            </a>
                                    </div>
									<?php  } ?>
									<font size="2" class="card-title mb-0 text-white mdi mdi-server"> <?php  echo $rServer["server_name"]; ?>
 - <?php  echo $rServer["server_ip"]; ?>
 - <span id="s_<?php  echo $rServer["id"]; ?>
_uptime">0d 0h</font>
								</div>
                            <div class="card-header text-white bg-white border"><p>
					            <div class="row">
                                    <div class="col-md-2 col-2">
                                        <h4 class="header-title"><?php  echo $_["conns"]; ?>
</h4>
                                    </div>
                                    <div class="col-md-2 col-2">
                                        <a href="./live_connections.php?server_id=<?php  echo $rServer["id"]; ?>
"><button id="s_<?php  echo $rServer["id"]; ?>
_conns" type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min">0</button></a>
                                    </div>
                                    <div class="col-md-2 col-2">
                                        <h4 class="header-title"><?php  echo $_["users"]; ?>
</h4>
                                    </div>
                                    <div class="col-md-2 col-2">
                                        <a href="./live_connections.php?server_id=<?php  echo $rServer["id"]; ?>
"><button id="s_<?php  echo $rServer["id"]; ?>
_users" type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min">0</button></a>
                                    </div>
									<div class="col-md-4 col-4">
                                        <div class="progress-w-left">
                                            <!--<h4 class="progress-value header-title mdi mdi-fan font-18"></h4>-->
                                            <div class="progress progress-lg">
                                                <div class="progress-bar " id="s_<?php  echo $rServer["id"]; ?>
_cpu" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
                                            </div>
                                         </div>
                                    </div>
                                </div>
								<div class="row">
                                    <div class="col-md-2 col-2">
                                        <h4 class="header-title">Streams Live</h4>
                                    </div>
									<?php  if (hasPermissions("adv", "live_connections")) { ?>
								    <a href="./streams.php?filter=1">
								    <?php  } ?>
                                    <div class="col-md-2 col-2">
                                        <button id="s_<?php  echo $rServer["id"]; ?>
_online" type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min">0</button></a>
                                    </div>
						            <div class="col-md-2 col-2">
                                        <h4 class="header-title">Streams Off</h4>
                                    </div>
									<?php  if (hasPermissions("adv", "live_connections")) { ?>
								    <a href="./streams.php?filter=2">
								    <?php  } ?>
                                    <div class="col-md-2 col-2">
                                        <button id="s_<?php  echo $rServer["id"]; ?>
_offline" type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min">0</button></a>
                                    </div>
									<div class="col-md-4 col-4">
                                        <div class="progress-w-left">
                                            <!--<h4 class="progress-value header-title mdi mdi-chip font-18"></h4>-->
                                            <div class="progress progress-lg">
                                                <div class="progress-bar" id="s_<?php  echo $rServer["id"]; ?>
_mem" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								<div class="row">
                                    <div class="col-md-2 col-2">
							            <h4 class="header-title">Input</h4>
                                    </div>
                                    <div class="col-md-2 col-2">
							            <button id="s_<?php  echo $rServer["id"]; ?>
_input" type="button" class="btn btn-info btn-xs waves-effect waves-light btn-fixed-min">0</button>
                                    </div>
                                    <div class="col-md-2 col-2">
                                        <h4 class="header-title">Output</h4>
                                    </div>
                                    <div class="col-md-2 col-2">
							            <button id="s_<?php  echo $rServer["id"]; ?>
_output" type="button" class="btn btn-info btn-xs waves-effect waves-light btn-fixed-min">0</button>
                                    </div>
									
									<div class="col-md-4 col-4">
									    
										<?php  if ($rServer["enable_duplex"] == 0) { ?>
										
                                        <div class="progress-w-left">
                                            <!--<h4 class="progress-value header-title mdi mdi-access-point-network font-18"></h4>-->
											<div class="progress progress-lg">
												<div class="progress-bar" id="s_<?php  echo $rServer["id"]; ?>
_net" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
											</div>
										
                                        </div>
										
										<?php  } else { ?>
										
										<div class="progress-w-left1">
											<div class="progress1 progress-lg">
												<div class="progress-bar" id="s_<?php  echo $rServer["id"]; ?>
_inet" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
											</div>	
											<div class="progress1 progress-lg">
												<div class="progress-bar" id="s_<?php  echo $rServer["id"]; ?>
_onet" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
											</div>												
                                        </div>
										
										<?php  } ?>
										
                                     </div>
									 
                                </div>
							</div>
							<div class="card">
                            </div>
						</div><br>						
							<?php  } ?>
<br>	
					</div>
                </div>					
				<div class="tab-pane tab-pane-server" id="server-tab">
                        <div class="row">
                            <div class="col-md-6 col-xl-3">
                                <div class="card-bg active-connections">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-zap avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-purple rounded">
                                                <i class="fe-zap avatar-title font-22 text-purple"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["open_connections"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase"><?php  echo $_["total_connections"]; ?>
 <span class="float-right entry-percentage">0</span></h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
											<div class="progress-bar bg-purple" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-md-6 col-xl-3">
                                <div class="card-bg online-users">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-users avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-success rounded">
                                                <i class="fe-users avatar-title font-22 text-success"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["online_users"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase"><?php  echo $_["total_active"]; ?>
 <span class="float-right entry-percentage">0</span></h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-success" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-md-6 col-xl-3">
                                <div class="card-bg input-flow">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-trending-down avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-primary rounded">
                                                <i class="fe-trending-down avatar-title font-22 text-primary"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span> <small>Mbps</small></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["input_flow"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase"><?php  echo $_["network_load"]; ?>
 <span class="float-right entry-percentage">0%</span></h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-primary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-md-6 col-xl-3">
                                <div class="card-bg output-flow">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-trending-up avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-info rounded">
                                                <i class="fe-trending-up avatar-title font-22 text-info"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span> <small>Mbps</small></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["output_flow"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase"><?php  echo $_["network_load"]; ?>
 <span class="float-right entry-percentage">0%</span></h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-info" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->
                            
                            <div class="col-md-6 col-xl-3">
                                <div class="card-bg active-streams">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-arrow-up-right avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-purple rounded">
                                                <i class="fe-arrow-up-right avatar-title font-22 text-purple"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <a href="javascript:void(0);" onClick="onlineStreams()">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["online_streams"]; ?>
</p>
                                            </div>
                                            </a>
                                        </div>
                                    </div>
                                    <a href="javascript:void(0);" onClick="offlineStreams()">
                                    <div class="mt-3">
                                        <h6 class="text-uppercase"><?php  echo $_["offline_streams"]; ?>
 <span class="float-right entry-percentage">0</span></h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-purple" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                    </a>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-md-6 col-xl-3">
                                <div class="card-box cpu-usage">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-cpu avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-success rounded">
                                                <i class="fe-cpu avatar-title font-22 text-success"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span><small>%</small></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["cpu_usage"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase">&nbsp;</h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-success" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                            <div class="col-md-6 col-xl-3">
                                <div class="card-box mem-usage">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-terminal avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-primary rounded">
                                                <i class="fe-terminal avatar-title font-22 text-primary"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1"><span data-plugin="counterup" class="entry">0</span><small>%</small></h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["mem_usage"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase">&nbsp;</h6>
                                        <div class="progress progress-sm m-0">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
                                            <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } else { ?>
                                            <div class="progress-bar bg-primary" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
											<?php  } ?>
                                                <span class="sr-only">0%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->
                           
                            <div class="col-md-6 col-xl-3">
                                <div class="card-box uptime">
                                    <div class="row">
                                        <div class="col-6">
											<?php  if ($rAdminSettings["dark_mode"]) { ?>
											<div class="avatar-sm bg-secondary rounded">
												<i class="fe-power avatar-title font-22 text-white"></i>
											</div>
											<?php  } else { ?>
                                            <div class="avatar-sm bg-soft-info rounded">
                                                <i class="fe-power avatar-title font-22 text-info"></i>
                                            </div>
											<?php  } ?>
                                        </div>
                                        <div class="col-6">
                                            <div class="text-right">
                                                <h3 class="text-dark my-1 entry">--</h3>
                                                <p class="text-muted mb-1 text-truncate"><?php  echo $_["system_uptime"]; ?>
</p>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mt-3">
                                        <h6 class="text-uppercase">&nbsp;</span></h6>
                                        <div class="progress-sm m-0"></div>
                                    </div>
                                </div> <!-- end card-box-->
                            </div> <!-- end col -->

                        </div>
                    </div>
                </div>	
                <!-- unicio estatisticas-->
				
		<div class="row">		
<?php  if ($rPermissions["is_admin"] && $rAdminSettings["active_statistics"]) { ?>
<style>
.infoServ td {
padding:0px 4px 0px 4px;
}
#Statistics {
  font-family: Tahoma, Verdana, sans-serif;
  font-weight: bold;
  width: 100%;
  height: 400px;
  font-size: 11px;

}
.row2 {
    display: flex;
    overflow: hidden;

}
.col2 {
}
</style>												
		        <div class="col-xl-4">
					<div class="card">
						<div class="card-bg">
			                <div id="Statistics" class="card-header border">	
							    <font size="3" color="#000000" class="card-title mb-0"><center>Statistics</center></font><br>
								<div class= separator></div><br>
								<div class="row">
									<div class="col-1">
										<div class="avatar-sm bg-pink">
											<i class="fas fa-laptop-code avatar-title font-18 text-icon"></i>
										</div>
									</div>	
									<div class="col-3">	
										<a href="mags.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Mags</b></p></span>
									</div>		
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $devicesmag; ?>
</span></p>
										</a>	
									</div>
									<div class="col-1">
										<div class="avatar-sm bg-pink">
											<i class="fas fa-chalkboard-teacher avatar-title font-18 text-icon"></i>
										</div>
									</div>
									<div class="col-3">	
										<a href="users.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Users</b></p></span>
									</div>
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $smarttv; ?>
</span></p>
										</a>	
									</div>
								</div>		
							<div class= separator></div><br>
								<div class="row">
									<div class="col-1">
										<div class="avatar-sm bg-info">
											<i class="fas fa-layer-group avatar-title font-18 text-icon"></i>
										</div>
									</div>	
									<div class="col-3">	
										<a href="bouquets.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Bouquets</b></p></span>
									</div>		
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $bouquets; ?>
</span></p>
										</a>	
									</div>
									<div class="col-1">
										<div class="avatar-sm bg-info">
											<i class="fas fa-list-ol avatar-title font-18 text-icon"></i>
										</div>
									</div>
									<div class="col-3">	
										<a href="streams.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Channels</b></p></span>
									</div>
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $channels; ?>
</span></p>
										</a>	
									</div>
								</div>		
							    <div class= separator></div><br>
								<div class="row">
									<div class="col-1">
										<div class="avatar-sm bg-warning">
											<i class="far fa-file-video avatar-title font-18 text-icon"></i>
										</div>
									</div>	
									<div class="col-3">	
										<a href="episodes.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Episodes</b></p></span>
									</div>		
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $episodes; ?>
</span></p>
										</a>	
									</div>
									<div class="col-1">
										<div class="avatar-sm bg-warning">
											<i class="fas fa-music avatar-title font-18 text-icon"></i>
										</div>
									</div>
									<div class="col-3">	
										<a href="radios.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Radio</b></p></span>
									</div>
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $radio; ?>
</span></p>
										</a>	
									</div>
								</div>			
							 <div class= separator></div><br> 
								<div class="row">
									<div class="col-1">
										<div class="avatar-sm bg-success">
											<i class="fas fa-video avatar-title font-18 text-icon"></i>
										</div>
									</div>	
									<div class="col-3">	
										<a href="movies.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Movies</b></p></span>
									</div>		
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $vod; ?>
</span></p>
										</a>	
									</div>
									<div class="col-1">
										<div class="avatar-sm bg-success">
											<i class="fas fa-film avatar-title font-18 text-icon"></i>
										</div>
									</div>
									<div class="col-3">	
										<a href="series.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Series</b></p></span>
									</div>
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $series; ?>
</span></p>
										</a>	
									</div>
								</div>
							 <div class= separator></div><br> 
								<div class="row">
									<div class="col-1">
										<div class="avatar-sm bg-danger">
											<i class="fas fa-server avatar-title font-18 text-icon"></i>
										</div>
									</div>	
									<div class="col-3">	
										<a href="servers.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp;&nbsp; Servers</b></p></span>
									</div>		
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $server; ?>
</span></p>
										</a>	
									</div>
									<div class="col-1">
										<div class="avatar-sm bg-danger">
											<i class="fas fa-users avatar-title font-18 text-icon"></i>
										</div>
									</div>
									<div class="col-3">	
										<a href="reg_users.php">
											<span><p class="text-muted1 mb-1 text-dark"><b>&nbsp; Resselers</b></p></span>
									</div>
									<div class="col-2">		
											<p type="button" class="btn btn-secondary btn-xs waves-effect waves-light btn-fixed-min"><span><?php  echo $reseller; ?>
</span></p>
										</a>	
									</div>
								</div>
								<div class= separator></div>
							</div>	
                        </div>
					</div>
				</div>
<?php  } ?>
<!-- fim estatisticas-->							
<?php  if ($rAdminSettings["dashboard_world_map_live"]) { ?>
<style>
.infoServ td {
padding:0px 4px 0px 4px;
}
#WorldMapLive {
  color: #ffffff;
  width: 100%;
  height: 400px;
  font-size: 11px;

}
.row2 {
    display: flex;
    overflow: hidden;

}
.col2 {
}
</style>

            <div class="col-xl-4">
                <div class="card">
                    <div class="card-bg border">
						<div id="WorldMapLive"></div>
				    </div>
			    </div>
		    </div>

<?php  } ?>

<?php  if ($rAdminSettings["dashboard_world_map_activity"]) { ?>
<style>
.infoServ td {
padding:0px 4px 0px 4px;
}
#WorldMapActivity {
  color: #ffffff;
  width: 100%;
  height: 400px;
  font-size: 11px;

}
.row2 {
    display: flex;
    overflow: hidden;

}
.col2 {
}
</style>
            <div class="col-xl-4">
                <div class="card">
                    <div class="card-bg border">
						<div id="WorldMapActivity"></div>
					</div>
				</div>
			</div>
		</div>
  
<?php  } ?>
                <!-- end row -->
				<?php  } else { ?>
				<div class="alert alert-danger show text-center" role="alert" style="margin-top:20px;">
					<?php  echo $_["dashboard_no_permissions"]; ?>
<br/>
					<?php  if ($rSettings["sidebar"]) { echo $_["dashboard_nav_left"]; } else { echo $_["dashboard_nav_top"]; } ?>
				</div>
				<?php  } goto DJDbX; ptpgg: $channels = $query->num_rows; goto sCX0H; qQO1d: ?>
</div>
                </div>
            </div>
        </footer>
        <!-- end Footer -->

        <script src="assets/js/vendor.min.js"></script>
        <script src="assets/libs/jquery-knob/jquery.knob.min.js"></script>
        <script src="assets/libs/peity/jquery.peity.min.js"></script>
		<script src="assets/libs/apexcharts/apexcharts.min.js"></script>
        <script src="assets/libs/datatables/jquery.dataTables.min.js"></script>
        <script src="assets/libs/jquery-number/jquery.number.js"></script>
        <script src="assets/libs/datatables/dataTables.bootstrap4.js"></script>
        <script src="assets/libs/datatables/dataTables.responsive.min.js"></script>
        <script src="assets/libs/datatables/responsive.bootstrap4.min.js"></script>
		<script src="assets/js/app.min.js"></script>
		<script src="assets/js/amcharts4/ammap.js"></script>
        <script src="assets/js/amcharts4/writemap.js?5"></script>
        <script src="assets/js/amcharts4/worldLow3.js"></script>
        <script src="assets/js/amcharts4/light.js"></script>
        
        <script>
        rServerID = "home";
		rChart = null;
		rDates = null;
		rOptions = null;
        
        function offlineStreams() {
            window.location.href = "./streams.php?filter=2&server=" + window.rServerID;
        }
        
        function onlineStreams() {
            window.location.href = "./streams.php?filter=1&server=" + window.rServerID;
        }
		
        function getStats(auto=true) {
            var rStart = Date.now();
            if (window.rServerID == "home") {
                rURL = "./api.php?action=stats";
            } else {
                rURL = "./api.php?action=stats&server_id=" + window.rServerID;
            }
            $.getJSON(rURL, function(data) {
                // Open Connections
                var rCapacity = Math.ceil((data.open_connections / data.total_connections) * 100);
                if (isNaN(rCapacity)) { rCapacity = 0; }
                $(".active-connections .entry").html($.number(data.open_connections, 0));
                $(".active-connections .entry-percentage").html($.number(data.total_connections, 0));
                $(".active-connections .progress-bar").prop("aria-valuenow", rCapacity);
                $(".active-connections .progress-bar").css("width", rCapacity.toString() + "%");
                $(".active-connections .sr-only").html(rCapacity.toString() + "%");
                // Online Users
                var rCapacity = Math.ceil((data.online_users / data.total_users) * 100);
                if (isNaN(rCapacity)) { rCapacity = 0; }
                $(".online-users .entry").html($.number(data.online_users, 0));
                $(".online-users .entry-percentage").html($.number(data.total_users, 0));
                $(".online-users .progress-bar").prop("aria-valuenow", rCapacity);
                $(".online-users .progress-bar").css("width", rCapacity.toString() + "%");
                $(".online-users .sr-only").html(rCapacity.toString() + "%");
                // Network Load - Input
                var rCapacity = Math.ceil((Math.ceil(data.bytes_received) / data.network_guaranteed_speed) * 100);
                if (isNaN(rCapacity)) { rCapacity = 0; }
                $(".input-flow .entry").html($.number(Math.ceil(data.bytes_received), 0));
                $(".input-flow .entry-percentage").html(rCapacity.toString() + "%");
                $(".input-flow .progress-bar").prop("aria-valuenow", rCapacity);
                $(".input-flow .progress-bar").css("width", rCapacity.toString() + "%");
                $(".input-flow .sr-only").html(rCapacity.toString() + "%");
                // Network Load - Output
                var rCapacity = Math.ceil((Math.ceil(data.bytes_sent) / data.network_guaranteed_speed) * 100);
                if (isNaN(rCapacity)) { rCapacity = 0; }
                $(".output-flow .entry").html($.number(Math.ceil(data.bytes_sent), 0));
                $(".output-flow .entry-percentage").html(rCapacity.toString() + "%");
                $(".output-flow .progress-bar").prop("aria-valuenow", rCapacity);
                $(".output-flow .progress-bar").css("width", rCapacity.toString() + "%");
                $(".output-flow .sr-only").html(rCapacity.toString() + "%");
                // Active Streams
                var rCapacity = Math.ceil((data.total_running_streams / (data.offline_streams + data.total_running_streams)) * 100);
                if (isNaN(rCapacity)) { rCapacity = 0; }
                $(".active-streams .entry").html($.number(data.total_running_streams, 0));
                $(".active-streams .entry-percentage").html($.number(data.offline_streams, 0));
                $(".active-streams .progress-bar").prop("aria-valuenow", rCapacity);
                $(".active-streams .progress-bar").css("width", rCapacity.toString() + "%");
                $(".active-streams .sr-only").html(rCapacity.toString() + "%");
				$(".offline-streams .entry").html($.number(data.offline_streams, 0));
                // CPU Usage
                $(".cpu-usage .entry").html(data.cpu);
                $(".cpu-usage .entry-percentage").html(data.cpu.toString() + "%");
                $(".cpu-usage .progress-bar").prop("aria-valuenow", data.cpu);
                $(".cpu-usage .progress-bar").css("width", data.cpu.toString() + "%");
                $(".cpu-usage .sr-only").html(data.cpu.toString() + "%");
                // Memory Usage
                $(".mem-usage .entry").html(data.mem);
                $(".mem-usage .entry-percentage").html(data.mem.toString() + "%");
                $(".mem-usage .progress-bar").prop("aria-valuenow", data.mem);
                $(".mem-usage .progress-bar").css("width", data.mem.toString() + "%");
                $(".mem-usage .sr-only").html(data.mem.toString() + "%");
                // Uptime
				if (data.uptime) {
					$(".uptime .entry").html(data.uptime.split(" ").slice(0,2).join(" "));
				}
				// Per Server
				$(data.servers).each(function(i) {
					$("#s_" + data.servers[i].server_id + "_conns").html($.number(data.servers[i].open_connections, 0));
					$("#s_" + data.servers[i].server_id + "_users").html($.number(data.servers[i].online_users, 0));
					$("#s_" + data.servers[i].server_id + "_online").html($.number(data.servers[i].total_running_streams, 0));
					$("#s_" + data.servers[i].server_id + "_offline").html($.number(data.servers[i].offline_streams, 0));
				    $("#s_" + data.servers[i].server_id + "_input").html($.number(Math.ceil(data.servers[i].bytes_received), 0));
					$("#s_" + data.servers[i].server_id + "_output").html($.number(Math.ceil(data.servers[i].bytes_sent), 0));
					$("#s_" + data.servers[i].server_id + "_total_users").html($.number(data.servers[i].total_connections, 0));
					//cpu ans mem usage
					$("#s_" + data.servers[i].server_id + "_cpu").removeClass("bg-success").removeClass("bg-danger").removeClass("bg-warning");
					$("#s_" + data.servers[i].server_id + "_cpu").attr("aria-valuenow", data.servers[i].cpu);
                    $("#s_" + data.servers[i].server_id + "_cpu").css("width", data.servers[i].cpu + "%");
					$("#s_" + data.servers[i].server_id + "_cpu").html(data.servers[i].cpu + "% Cpu");
                    $("#s_" + data.servers[i].server_id + "_mem").removeClass("bg-success").removeClass("bg-danger").removeClass("bg-warning");
					$("#s_" + data.servers[i].server_id + "_mem").attr("aria-valuenow", data.servers[i].mem);
                    $("#s_" + data.servers[i].server_id + "_mem").css("width", data.servers[i].mem + "%");
					$("#s_" + data.servers[i].server_id + "_mem").html(data.servers[i].mem + "% Ram");
					// Networks					
					var rOutput = data.servers[i].bytes_received;
					var rInput = data.servers[i].bytes_sent;
					var rSpeed = data.servers[i].network_guaranteed_speed;
					var rPourcentage = Math.round( ( ( rInput + rOutput ) / rSpeed )  * 100 );
					var rPourcentagei = Math.round( ( ( rOutput ) / rSpeed )  * 100 );
					var rPourcentageo = Math.round( ( ( rInput ) / rSpeed )  * 100 );
					//Network Usage
					$("#s_" + data.servers[i].server_id + "_net").removeClass("bg-success").removeClass("bg-danger").removeClass("bg-warning");
					$("#s_" + data.servers[i].server_id + "_net").attr('aria-valuenow', rPourcentage );
					$("#s_" + data.servers[i].server_id + "_net").css("width", rPourcentage + "%");
					$("#s_" + data.servers[i].server_id + "_net").html( rPourcentage + "% Network");
					// Network Usage input
					$("#s_" + data.servers[i].server_id + "_inet").removeClass("bg-success").removeClass("bg-danger").removeClass("bg-warning");
					$("#s_" + data.servers[i].server_id + "_inet").attr('aria-valuenow', rPourcentagei );
					$("#s_" + data.servers[i].server_id + "_inet").css("width", rPourcentagei + "%");
					$("#s_" + data.servers[i].server_id + "_inet").html( rPourcentagei + "% Input");
					//Network Usage output
					$("#s_" + data.servers[i].server_id + "_onet").removeClass("bg-success").removeClass("bg-danger").removeClass("bg-warning");
					$("#s_" + data.servers[i].server_id + "_onet").attr('aria-valuenow', rPourcentageo );
					$("#s_" + data.servers[i].server_id + "_onet").css("width", rPourcentageo + "%");
					$("#s_" + data.servers[i].server_id + "_onet").html( rPourcentageo + "% Output");
					if (data.servers[i].uptime) {
						$("#s_" + data.servers[i].server_id + "_uptime").html(data.servers[i].uptime.split(" ").slice(0,2).join(" "));
					}
				if (data.servers[i].cpu > 75) {
                        $("#s_" + data.servers[i].server_id + "_cpu").addClass("bg-danger");
                    } else if (data.servers[i].cpu > 50) {
                        $("#s_" + data.servers[i].server_id + "_cpu").addClass("bg-warning");
                    } else {
                        $("#s_" + data.servers[i].server_id + "_cpu").addClass("bg-success");
                    }
                    if (data.servers[i].mem > 75) {
                        $("#s_" + data.servers[i].server_id + "_mem").addClass("bg-danger");
                    } else if (data.servers[i].mem > 50) {
                        $("#s_" + data.servers[i].server_id + "_mem").addClass("bg-warning");
                    } else {
                        $("#s_" + data.servers[i].server_id + "_mem").addClass("bg-success");
                    }
				});
                if (auto) {
                    if (Date.now() - rStart < 1000) {
                        setTimeout(getStats, 1000 - (Date.now() - rStart));
                    } else {
                        getStats();
                    }
                }
            }).fail(function() {
                if (auto) {
                    setTimeout(getStats, 1000);
                }
            });
        }
        
        $('.dashboard-tabs .nav-link').on('click', function (e) {
            window.rServerID = $(e.target).data("id");
            getStats(false);
            $(".nav-link").each(function() {
                $(this).removeClass("active");
            });
            $(e.target).addClass("active");
            if (window.rServerID == "home") {
                if (!$("#server-home").is(":visible")) {
                    $("#server-tab").hide();
                    $("#server-home").show();
                }
            } else {
                if (!$("#server-tab").is(":visible")) {
                    $("#server-home").hide();
                    $("#server-tab").show();
                }
            }
        });
		$('[data-plugin="peity-line"]').each(function(t, i) {
                $(this).peity("line", $(this).data());
            });
		<?php  goto IXjlb; kzzkK: $episodes = $query->num_rows; goto rY22k; hXDGw: $query = $db->query("SELECT * from users where is_mag = 0;"); goto woS_o; woS_o: $smarttv = $query->num_rows; goto xHpvM; oXq6I: ?>
        });
        </script>
		
		<script src="assets/js/amcharts4/writemaplive.js"></script>
		<script>
		<?php  goto G9xGr; b0eDW: $server = $query->num_rows; goto PyNeo; K82sL: $query = $db->query("SELECT * from series_episodes;"); goto kzzkK; mE8VR: $name = $query->num_rows; goto rhoKh; dGdLZ: ?>
        $(document).ready(function() {
            getStats();
			<?php  goto btaun; dxXUk: $query = $db->query("SELECT * from streaming_servers;"); goto b0eDW; JNNe3: ?>
        </script>

        <script src="assets/js/amcharts4/writemapactivity.js"></script>
		<script>
		<?php  goto AVB1k; pebOi: if ($rAdminSettings["dark_mode"]) { $rColours = array(1 => array("secondary", "#7e8e9d"), 2 => array("secondary", "#7e8e9d"), 3 => array("secondary", "#7e8e9d"), 4 => array("secondary", "#7e8e9d")); } else { $rColours = array(1 => array("purple", "#675db7"), 2 => array("success", "#23b397"), 3 => array("pink", "#e36498"), 4 => array("info", "#56C3D6")); } goto MWA1Y; ssdiz: include "functions.php"; goto kGlkO; PzapQ: $query = $db->query("SELECT * from bouquets;"); goto idQwv; rhoKh: $query = $db->query("SELECT * from streams_providers2;"); goto TlLas; KZ37d: $query = $db->query("SELECT * from users where is_e2 = 1;"); goto WbkSC; aZZp0: if ($rSettings["sidebar"]) { include "header_sidebar.php"; } else { include "header.php"; } goto KyCDt; WbkSC: $enigma2 = $query->num_rows; goto hXDGw; IXjlb: if ($rSettings["save_closed_connection"] && $rAdminSettings["dashboard_stats"]) { ?>
		function setPeriod(rPeriod) {
			if ((window.rDates[rPeriod][0]) && (window.rDates[rPeriod][1])) {
				window.rOptions["xaxis"]["min"] = window.rDates[rPeriod][0]*1000;
				window.rOptions["xaxis"]["max"] = window.rDates[rPeriod][1]*1000;
				window.rChart.updateOptions(window.rOptions);
				$(".apexcharts-zoom-in-icon").trigger('click');
				$(".apexcharts-zoom-out-icon").trigger('click');
			} else {
				window.rOptions["xaxis"]["min"] = undefined;
				window.rOptions["xaxis"]["max"] = undefined;
				window.rChart.updateOptions(window.rOptions);
			}
		}
        
		function getChart() {
			rURL = "./api.php?action=chart_stats";
			$.getJSON(rURL, function(rStatistics) {
				window.rDates = rStatistics["dates"];
				window.rOptions = {
					chart: {
						height: 350,
						type: "area",
						stacked: false,
						zoom: {
							type: 'x',
							enabled: true,
							autoScaleYaxis: true
						}
					},
					colors: ["#56c2d6"],
					dataLabels: {
						enabled: false
					},
					stroke: {
						width: [2],
						curve: "smooth"
					},
					series: [{
						name: "Open Connections",
						data: rStatistics["data"]["conns"]
					}],
					fill: {
						type: "gradient", 
						gradient: {
							opacityFrom: .6,
							opacityTo: .8
						}
					},
					xaxis: {
						type: "datetime",
						min: window.rDates['day'][0]*1000,
						max: window.rDates['day'][1]*1000
					},
					tooltip: {
					  y: {
						formatter: function(value, { series, seriesIndex, dataPointIndex, w }) {
						  return parseInt(value)
						}
					  }
					}
				};
				(window.rChart = new ApexCharts(document.querySelector("#statistics"), window.rOptions)).render();
				$(".apexcharts-zoom-in-icon").trigger('click');
				$(".apexcharts-zoom-out-icon").trigger('click');
			});
		}
		<?php  } goto dGdLZ; KyCDt: if ($rSettings["sidebar"]) { ?>
        <div class="content-page"><div class="content"><div class="container-fluid">
        <?php  } else { ?>
        <div class="wrapper"><div class="container-fluid">
        <?php  } goto rLkVS; kD0c_: $query = $db->query("SELECT * from series;"); goto u4qkV; AyURL: $vod = $query->num_rows; goto kD0c_; Nw9Ai: $query = $db->query("SELECT * from streams_providers3;"); goto xz3oI; AVB1k: if ($rAdminSettings["dashboard_world_map_activity"]) { ?>
				var mapData = showMap("WorldMapActivity", [<?php  getWorldMapActivity(); ?>
], "Activity by Country");
		<?php  } goto Qm188; xHpvM: $query = $db->query("SELECT * from streams where type = 1;"); goto ptpgg; G9xGr: if ($rAdminSettings["dashboard_world_map_live"]) { ?>
				var mapData = showMap("WorldMapLive", [<?php  getWorldMapLive(); ?>
], "Live by Country");
		<?php  } goto JNNe3; idQwv: $bouquets = $query->num_rows; goto y8wNi; SzXrw: include "session.php"; goto ssdiz; kGlkO: if (!$rPermissions["is_admin"]) { header("Location: ./reseller.php"); } goto pebOi; btaun: if ($rSettings["save_closed_connection"] && $rAdminSettings["dashboard_stats"]) { ?>
			getChart();
			<?php  } goto oXq6I; cUa0J: $query = $db->query("SELECT * from reg_users;"); goto wj_FV; DJDbX: ?>
               
            </div> <!-- end container -->
        </div>
        <!-- end wrapper -->
        <?php  goto GvdZ2; PyNeo: $query = $db->query("SELECT * from streaming_servers where status = 2;"); goto fdxGo; GvdZ2: if ($rSettings["sidebar"]) { echo "</div>"; } goto q1D26; eBCw7: $radio = $query->num_rows; goto dxXUk; q1D26: ?>
        <!-- Footer Start -->
        <footer class="footer">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-md-12 copyright text-center"><?php  goto KCaB2; rY22k: $query = $db->query("SELECT * from streams_providers;"); goto mE8VR; sCX0H: $query = $db->query("SELECT * from streams where type = 2;"); goto AyURL; MWA1Y: $query = $db->query("SELECT * from users where is_mag = 1;"); goto Js1Ko; Js1Ko: $devicesmag = mysqli_num_rows($query); goto KZ37d; TlLas: $user = $query->num_rows; goto Nw9Ai; wj_FV: $reseller = $query->num_rows; goto K82sL; fdxGo: $off_server = $query->num_rows; goto cUa0J; xz3oI: $lineid = $query->num_rows; goto aZZp0; y8wNi: $query = $db->query("SELECT * from streams where type = 4;"); goto eBCw7; KCaB2: echo getFooter(); goto qQO1d; Qm188: ?>
        </script>
    </body>
</htm

Did this file decode correctly?

Original Code

<?php eval(base64_decode('CiBnb3RvIFN6WHJ3OyByTGtWUzogPz4KCQkJCTw/cGhwICBnb3RvIFppZk03OyB1NHFrVjogJHNlcmllcyA9ICRxdWVyeS0+bnVtX3Jvd3M7IGdvdG8gUHphcFE7IFppZk03OiBpZiAoaGFzUGVybWlzc2lvbnMoIlx4NjFceDY0XDE2NiIsICJcMTUxXHg2ZVwxNDRceDY1XDE3MCIpKSB7ID8+CiAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHBhZ2UgdGl0bGUgLS0+CiAgICAgICAgICAgICAgICA8YnI+CgkJCQk8P3BocCAgaWYgKCRyU2VydmVyRXJyb3IgJiYgJHJQZXJtaXNzaW9uc1siXHg2OVwxNjNceDVmXDE0MVx4NjRceDZkXHg2OVx4NmUiXSAmJiBoYXNQZXJtaXNzaW9ucygiXHg2MVx4NjRceDc2IiwgIlwxNjNceDY1XHg3MlwxNjZceDY1XHg3Mlx4NzMiKSkgeyBmb3JlYWNoICgkclNlcnZlcnMgYXMgJHJTZXJ2ZXIpIHsgJHNob3dfb2ZmbGluZSA9IGZhbHNlOyA/PgoJCQkJPD9waHAgIGlmICgkclNlcnZlclsiXDE2M1x4NzRceDYxXDE2NFx4NzVcMTYzIl0gPT0gMikgeyAkc2hvd19vZmZsaW5lID0gdHJ1ZTsgJHJTZXJ2ZXJPZmYgPSAkclNlcnZlclsiXHg3M1wxNDVceDcyXDE2Nlx4NjVceDcyXHg1ZlwxNTZcMTQxXDE1NVx4NjUiXTsgfSA/PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhcmsgYWxlcnQtZGlzbWlzc2libGUgZmFkZSBzaG93IiByb2xlPSJhbGVydCIgPD9waHAgIGlmICgkc2hvd19vZmZsaW5lID09PSBmYWxzZSkgeyA/PgpzdHlsZT0iZGlzcGxheTpub25lIjw/cGhwICB9ID8+Cj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJhbGVydCIgYXJpYS1sYWJlbD0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuL3NlcnZlcnMucGhwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtc3F1YXJlIHRleHQtZGFuZ2VyIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCQkJCQkJTG9hZEJhbGFuY2UgPD9waHAgIGVjaG8gJHJTZXJ2ZXJPZmY7ID8+CiBpcyBPZmZsaW5lCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8P3BocCAgfSB9ID8+CiAgICAgICAgICAgICAgICA8IS0tIGVuZCBwYWdlIHRpdGxlIC0tPiAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBzaG93IGFjdGl2ZSIgaWQ9InNlcnZlci1ob21lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KCQkJCQkJCgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtNi1tZCBjb2wteGwtMyI+CgkJCQkJCQkgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBjdGEtYm94IG9ubGluZS11c2VycyBiZy1pbmZvIj4KCQkJCQkJCQk8P3BocCAgaWYgKGhhc1Blcm1pc3Npb25zKCJcMTQxXHg2NFx4NzYiLCAiXDE1NFwxNTFceDc2XHg2NVx4NWZceDYzXDE1N1x4NmVceDZlXDE0NVx4NjNcMTY0XDE1MVx4NmZcMTU2XHg3MyIpKSB7ID8+CgkJCQkJCQkJPGEgaHJlZj0iLi9saXZlX2Nvbm5lY3Rpb25zLnBocCI+CgkJCQkJCQkJPD9waHAgIH0gPz4KCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0iY2FyZCBiZy1pbmZvIj4KCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9ImNhcmQtYmcgY3RhLWJveCBvbmxpbmUtdXNlcnMgYmctaW5mbyI+CgkJCQkJCQkJCSAgICAgICAgPGRpdiBjbGFzcz0icC1iLTEwIHAtdC01IHAtbC0xNSBwLXItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgoJCQkJCQkJCQkJCQk8P3BocCAgaWYgKCRyQWRtaW5TZXR0aW5nc1siXDE0NFx4NjFceDcyXHg2Ylx4NWZceDZkXHg2ZlwxNDRcMTQ1Il0pIHsgPz4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLWluZm8gcm91bmRlZCI+CgkJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtdXNlcnMgYXZhdGFyLXRpdGxlIGJnLWluZm8gZm9udC0yNCB0ZXh0LXdoaXRlIj48L2k+CgkJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLWRhcmsgcm91bmRlZCI+CgkJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtdXNlcnMgYXZhdGFyLXRpdGxlIGJnLWluZm8gZm9udC0yNCB0ZXh0LXdoaXRlIj48L2k+CgkJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCQk8P3BocCAgfSA/PgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZCIgYWxpZ249InJpZ2h0Ij4KCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0ZXh0LXdoaXRlIG1iLTEgYmctaW5mbyI+PHNwYW4gZGF0YS1wbHVnaW49ImNvdW50ZXJ1cCIgY2xhc3M9ImVudHJ5Ij4wPC9zcGFuPjwvaDM+CgkJCQkJCQkJCQkJCTxwIGNsYXNzPSJ0ZXh0LXdoaXRlIG1iLTEgdGV4dC10cnVuY2F0ZSI+PD9waHAgIGVjaG8gJF9bIlx4NmZceDZlXDE1NFwxNTFceDZlXHg2NVx4NWZceDc1XDE2M1x4NjVceDcyXDE2MyJdOyA/Pgo8L3A+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02LW1kIGNvbC14bC0zIj4KCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIGN0YS1ib3ggYWN0aXZlLWNvbm5lY3Rpb25zIGJnLXN1Y2Nlc3MiPgoJCQkJCQkJCTw/cGhwICBpZiAoaGFzUGVybWlzc2lvbnMoIlx4NjFcMTQ0XDE2NiIsICJceDZjXDE1MVwxNjZcMTQ1XDEzN1x4NjNceDZmXDE1NlwxNTZceDY1XDE0M1wxNjRcMTUxXDE1N1x4NmVceDczIikpIHsgPz4KCQkJCQkJCQk8YSBocmVmPSIuL2xpdmVfY29ubmVjdGlvbnMucGhwIj4KCQkJCQkJCQk8P3BocCAgfSA/PgoJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJjYXJkIGJnLXN1Y2Nlc3MiPgoJCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBjdGEtYm94IGFjdGl2ZS1jb25uZWN0aW9ucyBiZy1zdWNjZXNzIj4KCQkJCQkJCQkJICAgICAgICA8ZGl2IGNsYXNzPSJwLWItMTAgcC10LTUgcC1sLTE1IHAtci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+CgkJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XHg2MVwxNjJcMTUzXDEzN1x4NmRceDZmXDE0NFx4NjUiXSkgeyA/PgoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItbWQgYmctc3VjY2VzcyByb3VuZGVkIj4KCQkJCQkJCQkJCQkJCTxpIGNsYXNzPSJmZS1ib3ggYXZhdGFyLXRpdGxlIGJnLXN1Y2Nlc3MgZm9udC0yNCB0ZXh0LXdoaXRlIj48L2k+PGJyPjxicj4KCQkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItbWQgYmctc3VjY2VzcyByb3VuZGVkIj4KCQkJCQkJCQkJCQkJCTxpIGNsYXNzPSJmZS1ib3ggYXZhdGFyLXRpdGxlIGJnLXN1Y2Nlc3MgZm9udC0yNCB0ZXh0LXdoaXRlIj48L2k+PGJyPjxicj4KCQkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCTw/cGhwICB9ID8+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kIiBhbGlnbj0icmlnaHQiPgoJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRleHQtd2hpdGUgbWItMSBiZy1zdWNjZXNzIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PC9oMz4KCQkJCQkJCQkJCQkJPHAgY2xhc3M9InRleHQtd2hpdGUgbWItMSB0ZXh0LXRydW5jYXRlIj48P3BocCAgZWNobyAkX1siXDE1N1x4NzBceDY1XDE1NlwxMzdceDYzXHg2Zlx4NmVcMTU2XHg2NVwxNDNcMTY0XDE1MVwxNTdcMTU2XHg3MyJdOyA/Pgo8L3A+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PiA8IS0tIGVuZCBjYXJkLWJveC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNvbCAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNi1tZCBjb2wteGwtMyI+CgkJCQkJCQkJPD9waHAgIGlmIChoYXNQZXJtaXNzaW9ucygiXDE0MVwxNDRceDc2IiwgIlwxNTRcMTUxXHg3NlwxNDVceDVmXHg2M1wxNTdcMTU2XDE1Nlx4NjVceDYzXDE2NFx4NjlceDZmXDE1NlwxNjMiKSkgeyA/PgoJCQkJCQkJCTxhIGhyZWY9Ii4vbGl2ZV9jb25uZWN0aW9ucy5waHAiPgoJCQkJCQkJCTw/cGhwICB9ID8+CgkJCQkJCQkJPGRpdiBjbGFzcz0iY2FyZCBiZy1waW5rIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY2FyZC1iZyBjdGEtYm94IGlucHV0LWZsb3cgYmctcGluayI+CgkJCQkJCQkJICAgICAgICA8ZGl2IGNsYXNzPSJwLWItMTAgcC10LTUgcC1sLTE1IHAtci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+CgkJCQkJCQkJCQkgICAgPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRceDYxXHg3MlwxNTNceDVmXDE1NVwxNTdceDY0XDE0NSJdKSB7ID8+CgkJCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLXBpbmsgcm91bmRlZCI+CgkJCQkJCQkJCQkJICAgIDxpIGNsYXNzPSJmZS1kb3dubG9hZCBhdmF0YXItdGl0bGUgYmctcGluayBmb250LTI0IHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCSAgICA8L2Rpdj4KCQkJCQkJCQkJCSAgICA8P3BocCAgfSBlbHNlIHsgPz4KCQkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJhdmF0YXItbWQgYmctcGluayByb3VuZGVkIj4KCQkJCQkJCQkJCQkgICAgPGkgY2xhc3M9ImZlLWRvd25sb2FkIGF2YXRhci10aXRsZSBiZy1waW5rIGZvbnQtMjQgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJICAgIDwvZGl2PgoJCQkJCQkJCQkJICAgIDw/cGhwICB9ID8+CgkJCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0iY29sIiBhbGlnbj0icmlnaHQiPgoJCQkJCQkJCQkJCSAgICA8aDMgY2xhc3M9InRleHQtd2hpdGUgbXktMSBiZy1waW5rIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PHNtYWxsPiBNYnBzPC9zbWFsbD48L2gzPgoJCQkJCQkJCQkJCSAgICA8cCBjbGFzcz0idGV4dC13aGl0ZSBteS0xIHRleHQtdHJ1bmNhdGUiPlRvdGFsIElucHV0PC9wPgoJCQkJCQkJCQkJICAgIDwvZGl2PgoJCQkJCQkJCQkgICAgPC9kaXY+CQoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY2FyZC1iZyBjdGEtYm94IG91dHB1dC1mbG93IGJnLXBpbmsiPgoJCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0icC1iLTEwIHAtdC01IHAtbC0xNSBwLXItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVwxNjJceDZiXHg1ZlwxNTVceDZmXHg2NFx4NjUiXSkgeyA/PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1tZCBiZy1waW5rIHJvdW5kZWQiPgoJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtdXBsb2FkIGF2YXRhci10aXRsZSBiZy1waW5rIGZvbnQtMjQgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1tZCBiZy1kYXJrIHJvdW5kZWQiPgoJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtdXBsb2FkIGF2YXRhci10aXRsZSBiZy1waW5rIGZvbnQtMjQgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sIiBhbGlnbj0icmlnaHQiPgoJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRleHQtd2hpdGUgbXktMSBiZy1waW5rIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PHNtYWxsPiBNYnBzPC9zbWFsbD48L2gzPgoJCQkJCQkJCQkJCQk8cCBjbGFzcz0idGV4dC13aGl0ZSBteS0xIHRleHQtdHJ1bmNhdGUiPlRvdGFsIE91dHB1dDwvcD4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PiA8IS0tIGVuZCBjYXJkLWJveC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNvbCAtLT4KCQkJCQkJCQoJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTYtbWQgY29sLXhsLTMiPgoJCQkJCQkJCTw/cGhwICBpZiAoaGFzUGVybWlzc2lvbnMoIlx4NjFcMTQ0XDE2NiIsICJceDZjXDE1MVx4NzZcMTQ1XHg1ZlwxNDNceDZmXDE1NlwxNTZcMTQ1XDE0M1wxNjRceDY5XHg2ZlwxNTZceDczIikpIHsgPz4KCQkJCQkJCQk8YSBocmVmPSIuL3N0cmVhbXMucGhwP2ZpbHRlcj0xIj4KCQkJCQkJCQk8P3BocCAgfSA/PgoJCQkJCQkJCTxkaXYgY2xhc3M9ImNhcmQgYmctc2Vjb25kYXJ5Ij4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY2FyZC1iZyBhY3RpdmUtc3RyZWFtcyBjdGEtYm94IGJnLXNlY29uZGFyeSI+CgkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJwLWItMTAgcC10LTUgcC1sLTE1IHAtci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRceDYxXHg3MlwxNTNcMTM3XDE1NVx4NmZcMTQ0XDE0NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLXZpZGVvIGF2YXRhci10aXRsZSBiZy1zZWNvbmRhcnkgZm9udC0yNCB0ZXh0LXdoaXRlIj48L2k+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJPD9waHAgIH0gZWxzZSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLXN1Y2Nlc3Mgcm91bmRlZCI+CgkJCQkJCQkJCQkJCTxpIGNsYXNzPSJmZS12aWRlbyBhdmF0YXItdGl0bGUgYmctc2Vjb25kYXJ5IGZvbnQtMjQgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sIiBhbGlnbj0icmlnaHQiPgoJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRleHQtd2hpdGUgbXktMSBiZy1zZWNvbmRhcnkiPjxzcGFuIGRhdGEtcGx1Z2luPSJjb3VudGVydXAiIGNsYXNzPSJlbnRyeSI+MDwvc3Bhbj48L2gzPgoJCQkJCQkJCQkJCQk8cCBjbGFzcz0idGV4dC13aGl0ZSBteS0xIHRleHQtdHJ1bmNhdGUiPjw/cGhwICBlY2hvICRfWyJcMTU3XDE1Nlx4NmNcMTUxXDE1Nlx4NjVceDVmXHg3M1x4NzRceDcyXDE0NVx4NjFceDZkXDE2MyJdOyA/Pgo8L3A+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTw/cGhwICBpZiAoaGFzUGVybWlzc2lvbnMoIlx4NjFcMTQ0XHg3NiIsICJcMTU0XHg2OVx4NzZceDY1XHg1Zlx4NjNceDZmXHg2ZVx4NmVceDY1XDE0M1wxNjRceDY5XDE1N1x4NmVceDczIikpIHsgPz4KCQkJCQkJCQkgICAgICAgIDxhIGhyZWY9Ii4vc3RyZWFtcy5waHA/ZmlsdGVyPTIiPgoJCQkJCQkJCSAgICAgICAgPD9waHAgIH0gPz4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNhcmQtYmcgb2ZmbGluZS1zdHJlYW1zIGN0YS1ib3ggYmctc2Vjb25kYXJ5Ij4KCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9InAtYi0xMCBwLXQtNSBwLWwtMTUgcC1yLTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIj4KCQkJCQkJCQkJCQkgPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRceDYxXHg3Mlx4NmJcMTM3XHg2ZFwxNTdcMTQ0XHg2NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLW1kIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJIDxpIGNsYXNzPSJmZS12aWRlby1vZmYgYXZhdGFyLXRpdGxlIGJnLXNlY29uZGFyeSBmb250LTI0IHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItbWQgYmctZGFyayByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLXZpZGVvLW9mZiBhdmF0YXItdGl0bGUgYmctc2Vjb25kYXJ5IGZvbnQtMjQgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sIiBhbGlnbj0icmlnaHQiPgoJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRleHQtd2hpdGUgbXktMSBiZy1zZWNvbmRhcnkiPjxzcGFuIGRhdGEtcGx1Z2luPSJjb3VudGVydXAiIGNsYXNzPSJlbnRyeSI+MDwvc3Bhbj48L2gzPgoJCQkJCQkJCQkJCQk8cCBjbGFzcz0idGV4dC13aGl0ZSBteS0xIHRleHQtdHJ1bmNhdGUiPjw/cGhwICBlY2hvICRfWyJcMTU3XDE0NlwxNDZcMTU0XDE1MVwxNTZcMTQ1XDEzN1x4NzNceDc0XDE2Mlx4NjVcMTQxXDE1NVx4NzMiXTsgPz4KPC9wPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgoJCQkJCQkJCgkJCQkJCQk8P3BocCAgaWYgKCRyU2V0dGluZ3NbIlwxNjNceDYxXDE2Nlx4NjVceDVmXHg2M1x4NmNceDZmXHg3M1wxNDVcMTQ0XHg1ZlwxNDNceDZmXHg2ZVx4NmVcMTQ1XDE0M1x4NzRcMTUxXDE1N1x4NmUiXSAmJiAkckFkbWluU2V0dGluZ3NbIlx4NjRcMTQxXDE2M1wxNTBceDYyXHg2ZlwxNDFcMTYyXDE0NFwxMzdcMTYzXDE2NFwxNDFcMTY0XDE2MyJdKSB7ID8+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wteGwtMTIiPgoJCQkJCQkJCTwhLS0gUG9ydGxldCBjYXJkIC0tPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImNhcmQiPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjYXJkLWJvZHkgYm9yZGVyIj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNhcmQtd2lkZ2V0cyI+CgkJCQkJCQkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDogc2V0UGVyaW9kKCd3ZWVrJyk7Ij4KCQkJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWluZm8gd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi14cyI+PD9waHAgIGVjaG8gJF9bIlx4NzdcMTQ1XDE0NVx4NmIiXTsgPz4KPC9idXR0b24+CgkJCQkJCQkJCQkJPC9hPgoJCQkJCQkJCQkJCTxhIGhyZWY9ImphdmFzY3JpcHQ6IHNldFBlcmlvZCgnZGF5Jyk7Ij4KCQkJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWluZm8gd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi14cyI+PD9waHAgIGVjaG8gJF9bIlwxNDRceDYxXHg3OSJdOyA/Pgo8L2J1dHRvbj4KCQkJCQkJCQkJCQk8L2E+CgkJCQkJCQkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDogc2V0UGVyaW9kKCdob3VyJyk7Ij4KCQkJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWluZm8gd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi14cyI+PD9waHAgIGVjaG8gJF9bIlx4NjhcMTU3XDE2NVx4NzIiXTsgPz4KPC9idXR0b24+CgkJCQkJCQkJCQkJPC9hPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8aDQgY2xhc3M9ImhlYWRlci10aXRsZSBtYi0wIj48P3BocCAgZWNobyAkX1siXHg2M1wxNTdcMTU2XHg2ZVwxNDVceDYzXDE2NFx4NjlcMTU3XHg2ZVwxNjMiXTsgPz4KPC9oND4KCQkJCQkJCQkJCTxkaXYgaWQ9InN0YXRpc3RpY3MtY29sbGFwc2UiIGNsYXNzPSJjb2xsYXBzZSBwdC0zIHNob3ciIGRpcj0ibHRyIj4KCQkJCQkJCQkJCQk8ZGl2IGlkPSJzdGF0aXN0aWNzIiBjbGFzcz0iYXBleC1jaGFydHMiPjwvZGl2PgoJCQkJCQkJCQkJPC9kaXY+IDwhLS0gY29sbGFwc2VkIGVuZCAtLT4KCQkJCQkJCQkJPC9kaXY+IDwhLS0gZW5kIGNhcmQtYmcgLS0+CgkJCQkJCQkJPC9kaXY+IDwhLS0gZW5kIGNhcmQtLT4KCQkJCQkJCTwvZGl2PiA8IS0tIGVuZCBjb2wtLT4KCQkJCQkJCTw/cGhwICB9ICRpID0gMDsgZm9yZWFjaCAoJHJTZXJ2ZXJzIGFzICRyU2VydmVyKSB7ICRpKys7IGlmICgkaSA9PSA1KSB7ICRpID0gMTsgfSA/PgoJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXhsLTMgY29sLW1kLTYiPgoJCQkJCQkJICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIGJnLWRhcmsgdGV4dC13aGl0ZSI+CgkJCQkJCQkgICAgICAgIDw/cGhwICBpZiAoaGFzUGVybWlzc2lvbnMoIlwxNDFcMTQ0XDE2NiIsICJceDZjXHg2OVwxNjZceDY1XHg1Zlx4NjNcMTU3XDE1Nlx4NmVcMTQ1XHg2M1x4NzRcMTUxXDE1N1wxNTZceDczIikpIHsgPz4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZmxvYXQtcmlnaHQiPgoJCQkJCQkJCSAgICAgICAgPGEgaHJlZj0iLi9zZXJ2ZXIucGhwP2lkPTw/cGhwICBlY2hvICRyU2VydmVyWyJceDY5XHg2NCJdOyA/PgoiIGNsYXNzPSJhcnJvdy1ub25lIGNhcmQtZHJvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Im1kaSBtZGktcGVuY2lsLW91dGxpbmUiPjwvaT4KCQkJCQkJCSAgICAgICAgICAgIDwvYT4KCQkJCQkJCQkJICAgIDxhIGhyZWY9Ii4vcHJvY2Vzc19tb25pdG9yLnBocD9zZXJ2ZXI9PD9waHAgIGVjaG8gJHJTZXJ2ZXJbIlx4NjlceDY0Il07ID8+CiIgY2xhc3M9ImFycm93LW5vbmUgY2FyZC1kcm9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0ibWRpIG1kaS1jaGFydC1saW5lIj48L2k+CgkJCQkJCQkgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQk8P3BocCAgfSA/PgoJCQkJCQkJCQk8Zm9udCBzaXplPSIyIiBjbGFzcz0iY2FyZC10aXRsZSBtYi0wIHRleHQtd2hpdGUgbWRpIG1kaS1zZXJ2ZXIiPiA8P3BocCAgZWNobyAkclNlcnZlclsiXDE2M1x4NjVcMTYyXDE2Nlx4NjVceDcyXHg1ZlwxNTZceDYxXDE1NVwxNDUiXTsgPz4KIC0gPD9waHAgIGVjaG8gJHJTZXJ2ZXJbIlwxNjNcMTQ1XDE2Mlx4NzZceDY1XDE2Mlx4NWZceDY5XHg3MCJdOyA/PgogLSA8c3BhbiBpZD0ic188P3BocCAgZWNobyAkclNlcnZlclsiXHg2OVx4NjQiXTsgPz4KX3VwdGltZSI+MGQgMGg8L2ZvbnQ+CgkJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciB0ZXh0LXdoaXRlIGJnLXdoaXRlIGJvcmRlciI+PHA+CgkJCQkJICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJoZWFkZXItdGl0bGUiPjw/cGhwICBlY2hvICRfWyJcMTQzXDE1N1wxNTZceDZlXHg3MyJdOyA/Pgo8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi9saXZlX2Nvbm5lY3Rpb25zLnBocD9zZXJ2ZXJfaWQ9PD9waHAgIGVjaG8gJHJTZXJ2ZXJbIlx4NjlceDY0Il07ID8+CiI+PGJ1dHRvbiBpZD0ic188P3BocCAgZWNobyAkclNlcnZlclsiXDE1MVx4NjQiXTsgPz4KX2Nvbm5zIiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4teHMgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi1maXhlZC1taW4iPjA8L2J1dHRvbj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiBjb2wtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImhlYWRlci10aXRsZSI+PD9waHAgIGVjaG8gJF9bIlx4NzVceDczXDE0NVwxNjJceDczIl07ID8+CjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiBjb2wtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuL2xpdmVfY29ubmVjdGlvbnMucGhwP3NlcnZlcl9pZD08P3BocCAgZWNobyAkclNlcnZlclsiXDE1MVwxNDQiXTsgPz4KIj48YnV0dG9uIGlkPSJzXzw/cGhwICBlY2hvICRyU2VydmVyWyJcMTUxXDE0NCJdOyA/PgpfdXNlcnMiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi14cyB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQgYnRuLWZpeGVkLW1pbiI+MDwvYnV0dG9uPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLXctbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxoNCBjbGFzcz0icHJvZ3Jlc3MtdmFsdWUgaGVhZGVyLXRpdGxlIG1kaSBtZGktZmFuIGZvbnQtMTgiPjwvaDQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3MtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgIiBpZD0ic188P3BocCAgZWNobyAkclNlcnZlclsiXDE1MVwxNDQiXTsgPz4KX2NwdSIgcm9sZT0icHJvZ3Jlc3NiYXIiIHN0eWxlPSJ3aWR0aDogMCU7IiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiBjb2wtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImhlYWRlci10aXRsZSI+U3RyZWFtcyBMaXZlPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCTw/cGhwICBpZiAoaGFzUGVybWlzc2lvbnMoIlwxNDFcMTQ0XHg3NiIsICJcMTU0XHg2OVwxNjZceDY1XDEzN1wxNDNcMTU3XDE1Nlx4NmVceDY1XHg2M1wxNjRceDY5XHg2ZlwxNTZceDczIikpIHsgPz4KCQkJCQkJCQkgICAgPGEgaHJlZj0iLi9zdHJlYW1zLnBocD9maWx0ZXI9MSI+CgkJCQkJCQkJICAgIDw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9InNfPD9waHAgIGVjaG8gJHJTZXJ2ZXJbIlwxNTFceDY0Il07ID8+Cl9vbmxpbmUiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi14cyB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQgYnRuLWZpeGVkLW1pbiI+MDwvYnV0dG9uPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iaGVhZGVyLXRpdGxlIj5TdHJlYW1zIE9mZjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQk8P3BocCAgaWYgKGhhc1Blcm1pc3Npb25zKCJceDYxXHg2NFx4NzYiLCAiXHg2Y1wxNTFceDc2XHg2NVwxMzdcMTQzXDE1N1wxNTZcMTU2XDE0NVx4NjNcMTY0XHg2OVx4NmZcMTU2XHg3MyIpKSB7ID8+CgkJCQkJCQkJICAgIDxhIGhyZWY9Ii4vc3RyZWFtcy5waHA/ZmlsdGVyPTIiPgoJCQkJCQkJCSAgICA8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiBjb2wtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJzXzw/cGhwICBlY2hvICRyU2VydmVyWyJceDY5XHg2NCJdOyA/Pgpfb2ZmbGluZSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj4wPC9idXR0b24+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3Mtdy1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGg0IGNsYXNzPSJwcm9ncmVzcy12YWx1ZSBoZWFkZXItdGl0bGUgbWRpIG1kaS1jaGlwIGZvbnQtMTgiPjwvaDQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3MtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiIGlkPSJzXzw/cGhwICBlY2hvICRyU2VydmVyWyJcMTUxXDE0NCJdOyA/PgpfbWVtIiByb2xlPSJwcm9ncmVzc2JhciIgc3R5bGU9IndpZHRoOiAwJTsiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLTIiPgoJCQkJCQkJICAgICAgICAgICAgPGg0IGNsYXNzPSJoZWFkZXItdGl0bGUiPklucHV0PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC0yIj4KCQkJCQkJCSAgICAgICAgICAgIDxidXR0b24gaWQ9InNfPD9waHAgIGVjaG8gJHJTZXJ2ZXJbIlx4NjlceDY0Il07ID8+Cl9pbnB1dCIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1pbmZvIGJ0bi14cyB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQgYnRuLWZpeGVkLW1pbiI+MDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJoZWFkZXItdGl0bGUiPk91dHB1dDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiBjb2wtMiI+CgkJCQkJCQkgICAgICAgICAgICA8YnV0dG9uIGlkPSJzXzw/cGhwICBlY2hvICRyU2VydmVyWyJceDY5XDE0NCJdOyA/Pgpfb3V0cHV0IiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWluZm8gYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj4wPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLTQiPgoJCQkJCQkJCQkgICAgCgkJCQkJCQkJCQk8P3BocCAgaWYgKCRyU2VydmVyWyJceDY1XDE1NlwxNDFcMTQyXHg2Y1x4NjVcMTM3XHg2NFx4NzVceDcwXDE1NFwxNDVceDc4Il0gPT0gMCkgeyA/PgoJCQkJCQkJCQkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy13LWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08aDQgY2xhc3M9InByb2dyZXNzLXZhbHVlIGhlYWRlci10aXRsZSBtZGkgbWRpLWFjY2Vzcy1wb2ludC1uZXR3b3JrIGZvbnQtMTgiPjwvaDQ+LS0+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3MtbGciPgoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiIGlkPSJzXzw/cGhwICBlY2hvICRyU2VydmVyWyJcMTUxXHg2NCJdOyA/PgpfbmV0IiByb2xlPSJwcm9ncmVzc2JhciIgc3R5bGU9IndpZHRoOiAwJTsiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCI+PC9kaXY+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQkJCgkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KCQkJCQkJCQkJCQoJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3Mtdy1sZWZ0MSI+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3MxIHByb2dyZXNzLWxnIj4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIiBpZD0ic188P3BocCAgZWNobyAkclNlcnZlclsiXHg2OVwxNDQiXTsgPz4KX2luZXQiIHJvbGU9InByb2dyZXNzYmFyIiBzdHlsZT0id2lkdGg6IDAlOyIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIj48L2Rpdj4KCQkJCQkJCQkJCQk8L2Rpdj4JCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3MxIHByb2dyZXNzLWxnIj4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIiBpZD0ic188P3BocCAgZWNobyAkclNlcnZlclsiXHg2OVwxNDQiXTsgPz4KX29uZXQiIHJvbGU9InByb2dyZXNzYmFyIiBzdHlsZT0id2lkdGg6IDAlOyIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIj48L2Rpdj4KCQkJCQkJCQkJCQk8L2Rpdj4JCQkJCQkJCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQkJCgkJCQkJCQkJCQk8P3BocCAgfSA/PgoJCQkJCQkJCQkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQkJIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQk8L2Rpdj48YnI+CQkJCQkJCgkJCQkJCQk8P3BocCAgfSA/Pgo8YnI+CQoJCQkJCTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CQkJCQkKCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIHRhYi1wYW5lLXNlcnZlciIgaWQ9InNlcnZlci10YWIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhsLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmcgYWN0aXZlLWNvbm5lY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4KCQkJCQkJCQkJCQk8P3BocCAgaWYgKCRyQWRtaW5TZXR0aW5nc1siXDE0NFx4NjFcMTYyXHg2YlwxMzdcMTU1XHg2Zlx4NjRceDY1Il0pIHsgPz4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc2Vjb25kYXJ5IHJvdW5kZWQiPgoJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtemFwIGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1wdXJwbGUgcm91bmRlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmZS16YXAgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC1wdXJwbGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC1kYXJrIG15LTEiPjxzcGFuIGRhdGEtcGx1Z2luPSJjb3VudGVydXAiIGNsYXNzPSJlbnRyeSI+MDwvc3Bhbj48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1tdXRlZCBtYi0xIHRleHQtdHJ1bmNhdGUiPjw/cGhwICBlY2hvICRfWyJceDZmXDE2MFx4NjVcMTU2XDEzN1wxNDNcMTU3XHg2ZVx4NmVceDY1XHg2M1x4NzRcMTUxXDE1N1wxNTZceDczIl07ID8+CjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9InRleHQtdXBwZXJjYXNlIj48P3BocCAgZWNobyAkX1siXDE2NFx4NmZceDc0XDE0MVwxNTRceDVmXHg2M1wxNTdcMTU2XHg2ZVwxNDVcMTQzXDE2NFx4NjlcMTU3XHg2ZVx4NzMiXTsgPz4KIDxzcGFuIGNsYXNzPSJmbG9hdC1yaWdodCBlbnRyeS1wZXJjZW50YWdlIj4wPC9zcGFuPjwvaDY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcyBwcm9ncmVzcy1zbSBtLTAiPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVx4NzJceDZiXHg1Zlx4NmRceDZmXHg2NFwxNDUiXSkgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1zZWNvbmRhcnkiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1wdXJwbGUiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij4wJTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY2FyZC1ib3gtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZCBjb2wgLS0+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhsLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmcgb25saW5lLXVzZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4KCQkJCQkJCQkJCQk8P3BocCAgaWYgKCRyQWRtaW5TZXR0aW5nc1siXHg2NFwxNDFcMTYyXHg2YlwxMzdceDZkXHg2Zlx4NjRceDY1Il0pIHsgPz4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc2Vjb25kYXJ5IHJvdW5kZWQiPgoJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmUtdXNlcnMgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1zb2Z0LXN1Y2Nlc3Mgcm91bmRlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmZS11c2VycyBhdmF0YXItdGl0bGUgZm9udC0yMiB0ZXh0LXN1Y2Nlc3MiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC1kYXJrIG15LTEiPjxzcGFuIGRhdGEtcGx1Z2luPSJjb3VudGVydXAiIGNsYXNzPSJlbnRyeSI+MDwvc3Bhbj48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1tdXRlZCBtYi0xIHRleHQtdHJ1bmNhdGUiPjw/cGhwICBlY2hvICRfWyJcMTU3XHg2ZVx4NmNcMTUxXDE1Nlx4NjVcMTM3XDE2NVwxNjNcMTQ1XDE2Mlx4NzMiXTsgPz4KPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0idGV4dC11cHBlcmNhc2UiPjw/cGhwICBlY2hvICRfWyJcMTY0XHg2Zlx4NzRceDYxXDE1NFx4NWZcMTQxXDE0M1wxNjRceDY5XDE2NlwxNDUiXTsgPz4KIDxzcGFuIGNsYXNzPSJmbG9hdC1yaWdodCBlbnRyeS1wZXJjZW50YWdlIj4wPC9zcGFuPjwvaDY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcyBwcm9ncmVzcy1zbSBtLTAiPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XHg2MVx4NzJceDZiXDEzN1wxNTVceDZmXHg2NFx4NjUiXSkgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1zZWNvbmRhcnkiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1zdWNjZXNzIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIiBzdHlsZT0id2lkdGg6IDAlIj4KCQkJCQkJCQkJCQk8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+MCU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC14bC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIGlucHV0LWZsb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVx4NzJceDZiXDEzN1wxNTVceDZmXHg2NFx4NjUiXSkgeyA/PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1zZWNvbmRhcnkgcm91bmRlZCI+CgkJCQkJCQkJCQkJCTxpIGNsYXNzPSJmZS10cmVuZGluZy1kb3duIGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1wcmltYXJ5IHJvdW5kZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmUtdHJlbmRpbmctZG93biBhdmF0YXItdGl0bGUgZm9udC0yMiB0ZXh0LXByaW1hcnkiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC1kYXJrIG15LTEiPjxzcGFuIGRhdGEtcGx1Z2luPSJjb3VudGVydXAiIGNsYXNzPSJlbnRyeSI+MDwvc3Bhbj4gPHNtYWxsPk1icHM8L3NtYWxsPjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LW11dGVkIG1iLTEgdGV4dC10cnVuY2F0ZSI+PD9waHAgIGVjaG8gJF9bIlx4NjlcMTU2XHg3MFwxNjVceDc0XHg1ZlwxNDZcMTU0XHg2ZlwxNjciXTsgPz4KPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0idGV4dC11cHBlcmNhc2UiPjw/cGhwICBlY2hvICRfWyJcMTU2XDE0NVwxNjRcMTY3XHg2Zlx4NzJcMTUzXHg1ZlwxNTRcMTU3XDE0MVx4NjQiXTsgPz4KIDxzcGFuIGNsYXNzPSJmbG9hdC1yaWdodCBlbnRyeS1wZXJjZW50YWdlIj4wJTwvc3Bhbj48L2g2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3Mtc20gbS0wIj4KCQkJCQkJCQkJCQk8P3BocCAgaWYgKCRyQWRtaW5TZXR0aW5nc1siXHg2NFx4NjFceDcyXDE1M1x4NWZceDZkXDE1N1wxNDRcMTQ1Il0pIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgYmctc2Vjb25kYXJ5IiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIiBzdHlsZT0id2lkdGg6IDAlIj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgYmctcHJpbWFyeSIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAwJSI+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPjAlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZCBjYXJkLWJveC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNvbCAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wteGwtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBvdXRwdXQtZmxvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlx4NjRceDYxXDE2MlwxNTNcMTM3XHg2ZFwxNTdcMTQ0XHg2NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLXRyZW5kaW5nLXVwIGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1pbmZvIHJvdW5kZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmUtdHJlbmRpbmctdXAgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC1pbmZvIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtZGFyayBteS0xIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+IDxzbWFsbD5NYnBzPC9zbWFsbD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1tdXRlZCBtYi0xIHRleHQtdHJ1bmNhdGUiPjw/cGhwICBlY2hvICRfWyJceDZmXHg3NVx4NzRceDcwXDE2NVwxNjRcMTM3XDE0Nlx4NmNceDZmXHg3NyJdOyA/Pgo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+PD9waHAgIGVjaG8gJF9bIlx4NmVcMTQ1XDE2NFx4NzdcMTU3XHg3Mlx4NmJcMTM3XHg2Y1x4NmZcMTQxXHg2NCJdOyA/PgogPHNwYW4gY2xhc3M9ImZsb2F0LXJpZ2h0IGVudHJ5LXBlcmNlbnRhZ2UiPjAlPC9zcGFuPjwvaDY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcyBwcm9ncmVzcy1zbSBtLTAiPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVx4NzJcMTUzXDEzN1wxNTVceDZmXHg2NFx4NjUiXSkgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1zZWNvbmRhcnkiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciBiZy1pbmZvIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIiBzdHlsZT0id2lkdGg6IDAlIj4KCQkJCQkJCQkJCQk8P3BocCAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+MCU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wteGwtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBhY3RpdmUtc3RyZWFtcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlx4NjRcMTQxXHg3Mlx4NmJcMTM3XDE1NVwxNTdcMTQ0XDE0NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLWFycm93LXVwLXJpZ2h0IGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1wdXJwbGUgcm91bmRlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmZS1hcnJvdy11cC1yaWdodCBhdmF0YXItdGl0bGUgZm9udC0yMiB0ZXh0LXB1cnBsZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbkNsaWNrPSJvbmxpbmVTdHJlYW1zKCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtZGFyayBteS0xIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtbXV0ZWQgbWItMSB0ZXh0LXRydW5jYXRlIj48P3BocCAgZWNobyAkX1siXDE1N1wxNTZcMTU0XDE1MVx4NmVceDY1XHg1ZlwxNjNceDc0XHg3Mlx4NjVcMTQxXHg2ZFx4NzMiXTsgPz4KPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25DbGljaz0ib2ZmbGluZVN0cmVhbXMoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+PD9waHAgIGVjaG8gJF9bIlwxNTdceDY2XHg2NlwxNTRceDY5XDE1Nlx4NjVcMTM3XHg3M1x4NzRceDcyXDE0NVx4NjFcMTU1XDE2MyJdOyA/PgogPHNwYW4gY2xhc3M9ImZsb2F0LXJpZ2h0IGVudHJ5LXBlcmNlbnRhZ2UiPjA8L3NwYW4+PC9oNj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNzLXNtIG0tMCI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRcMTQxXHg3Mlx4NmJceDVmXDE1NVwxNTdceDY0XHg2NSJdKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXNlY29uZGFyeSIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAwJSI+CgkJCQkJCQkJCQkJPD9waHAgIH0gZWxzZSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXB1cnBsZSIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAwJSI+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPjAlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC14bC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJveCBjcHUtdXNhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgoJCQkJCQkJCQkJCTw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJceDY0XHg2MVwxNjJceDZiXHg1ZlwxNTVcMTU3XHg2NFx4NjUiXSkgeyA/PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1zZWNvbmRhcnkgcm91bmRlZCI+CgkJCQkJCQkJCQkJCTxpIGNsYXNzPSJmZS1jcHUgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC13aGl0ZSI+PC9pPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTw/cGhwICB9IGVsc2UgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1zb2Z0LXN1Y2Nlc3Mgcm91bmRlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmZS1jcHUgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC1zdWNjZXNzIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtZGFyayBteS0xIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PHNtYWxsPiU8L3NtYWxsPjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LW11dGVkIG1iLTEgdGV4dC10cnVuY2F0ZSI+PD9waHAgIGVjaG8gJF9bIlx4NjNceDcwXDE2NVx4NWZceDc1XHg3M1wxNDFcMTQ3XHg2NSJdOyA/Pgo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+Jm5ic3A7PC9oNj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNzLXNtIG0tMCI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlx4NjRceDYxXDE2MlwxNTNcMTM3XHg2ZFx4NmZceDY0XHg2NSJdKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXNlY29uZGFyeSIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAwJSI+CgkJCQkJCQkJCQkJPD9waHAgIH0gZWxzZSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXN1Y2Nlc3MiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij4wJTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY2FyZC1ib3gtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZCBjb2wgLS0+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhsLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm94IG1lbS11c2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRceDYxXHg3Mlx4NmJcMTM3XHg2ZFx4NmZcMTQ0XDE0NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLXRlcm1pbmFsIGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1wcmltYXJ5IHJvdW5kZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmUtdGVybWluYWwgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC1wcmltYXJ5Ij48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtZGFyayBteS0xIj48c3BhbiBkYXRhLXBsdWdpbj0iY291bnRlcnVwIiBjbGFzcz0iZW50cnkiPjA8L3NwYW4+PHNtYWxsPiU8L3NtYWxsPjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LW11dGVkIG1iLTEgdGV4dC10cnVuY2F0ZSI+PD9waHAgIGVjaG8gJF9bIlwxNTVcMTQ1XHg2ZFx4NWZcMTY1XHg3M1x4NjFceDY3XDE0NSJdOyA/Pgo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+Jm5ic3A7PC9oNj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNzLXNtIG0tMCI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlwxNDRceDYxXDE2MlwxNTNceDVmXDE1NVwxNTdcMTQ0XDE0NSJdKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXNlY29uZGFyeSIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAwJSI+CgkJCQkJCQkJCQkJPD9waHAgIH0gZWxzZSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIGJnLXByaW1hcnkiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSIxMDAiIHN0eWxlPSJ3aWR0aDogMCUiPgoJCQkJCQkJCQkJCTw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij4wJTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY2FyZC1ib3gtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZCBjb2wgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhsLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm94IHVwdGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+CgkJCQkJCQkJCQkJPD9waHAgIGlmICgkckFkbWluU2V0dGluZ3NbIlx4NjRceDYxXHg3Mlx4NmJceDVmXDE1NVx4NmZcMTQ0XHg2NSJdKSB7ID8+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXNlY29uZGFyeSByb3VuZGVkIj4KCQkJCQkJCQkJCQkJPGkgY2xhc3M9ImZlLXBvd2VyIGF2YXRhci10aXRsZSBmb250LTIyIHRleHQtd2hpdGUiPjwvaT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8P3BocCAgfSBlbHNlIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc29mdC1pbmZvIHJvdW5kZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmUtcG93ZXIgYXZhdGFyLXRpdGxlIGZvbnQtMjIgdGV4dC1pbmZvIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQkJCQkJPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtZGFyayBteS0xIGVudHJ5Ij4tLTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LW11dGVkIG1iLTEgdGV4dC10cnVuY2F0ZSI+PD9waHAgIGVjaG8gJF9bIlx4NzNcMTcxXDE2M1wxNjRceDY1XHg2ZFwxMzdcMTY1XHg3MFwxNjRceDY5XHg2ZFwxNDUiXTsgPz4KPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0idGV4dC11cHBlcmNhc2UiPiZuYnNwOzwvc3Bhbj48L2g2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3Mtc20gbS0wIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kIGNhcmQtYm94LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29sIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4JCiAgICAgICAgICAgICAgICA8IS0tIHVuaWNpbyBlc3RhdGlzdGljYXMtLT4KCQkJCQoJCTxkaXYgY2xhc3M9InJvdyI+CQkKPD9waHAgIGlmICgkclBlcm1pc3Npb25zWyJcMTUxXDE2M1wxMzdcMTQxXDE0NFwxNTVcMTUxXDE1NiJdICYmICRyQWRtaW5TZXR0aW5nc1siXHg2MVwxNDNceDc0XDE1MVwxNjZcMTQ1XHg1Zlx4NzNceDc0XHg2MVwxNjRceDY5XDE2M1wxNjRceDY5XHg2M1wxNjMiXSkgeyA/Pgo8c3R5bGU+Ci5pbmZvU2VydiB0ZCB7CnBhZGRpbmc6MHB4IDRweCAwcHggNHB4Owp9CiNTdGF0aXN0aWNzIHsKICBmb250LWZhbWlseTogVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogNDAwcHg7CiAgZm9udC1zaXplOiAxMXB4OwoKfQoucm93MiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKCn0KLmNvbDIgewp9Cjwvc3R5bGU+CQkJCQkJCQkJCQkJCgkJICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteGwtNCI+CgkJCQkJPGRpdiBjbGFzcz0iY2FyZCI+CgkJCQkJCTxkaXYgY2xhc3M9ImNhcmQtYmciPgoJCQkgICAgICAgICAgICAgICAgPGRpdiBpZD0iU3RhdGlzdGljcyIgY2xhc3M9ImNhcmQtaGVhZGVyIGJvcmRlciI+CQoJCQkJCQkJICAgIDxmb250IHNpemU9IjMiIGNvbG9yPSIjMDAwMDAwIiBjbGFzcz0iY2FyZC10aXRsZSBtYi0wIj48Y2VudGVyPlN0YXRpc3RpY3M8L2NlbnRlcj48L2ZvbnQ+PGJyPgoJCQkJCQkJCTxkaXYgY2xhc3M9IHNlcGFyYXRvcj48L2Rpdj48YnI+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTEiPgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXBpbmsiPgoJCQkJCQkJCQkJCTxpIGNsYXNzPSJmYXMgZmEtbGFwdG9wLWNvZGUgYXZhdGFyLXRpdGxlIGZvbnQtMTggdGV4dC1pY29uIj48L2k+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMyI+CQoJCQkJCQkJCQkJPGEgaHJlZj0ibWFncy5waHAiPgoJCQkJCQkJCQkJCTxzcGFuPjxwIGNsYXNzPSJ0ZXh0LW11dGVkMSBtYi0xIHRleHQtZGFyayI+PGI+Jm5ic3A7Jm5ic3A7IE1hZ3M8L2I+PC9wPjwvc3Bhbj4KCQkJCQkJCQkJPC9kaXY+CQkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTIiPgkJCgkJCQkJCQkJCQkJPHAgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj48c3Bhbj48P3BocCAgZWNobyAkZGV2aWNlc21hZzsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMSI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctcGluayI+CgkJCQkJCQkJCQkJPGkgY2xhc3M9ImZhcyBmYS1jaGFsa2JvYXJkLXRlYWNoZXIgYXZhdGFyLXRpdGxlIGZvbnQtMTggdGV4dC1pY29uIj48L2k+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0zIj4JCgkJCQkJCQkJCQk8YSBocmVmPSJ1c2Vycy5waHAiPgoJCQkJCQkJCQkJCTxzcGFuPjxwIGNsYXNzPSJ0ZXh0LW11dGVkMSBtYi0xIHRleHQtZGFyayI+PGI+Jm5ic3A7Jm5ic3A7IFVzZXJzPC9iPjwvcD48L3NwYW4+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMiI+CQkKCQkJCQkJCQkJCQk8cCB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4teHMgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi1maXhlZC1taW4iPjxzcGFuPjw/cGhwICBlY2hvICRzbWFydHR2OyA/Pgo8L3NwYW4+PC9wPgoJCQkJCQkJCQkJPC9hPgkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+CQkKCQkJCQkJCTxkaXYgY2xhc3M9IHNlcGFyYXRvcj48L2Rpdj48YnI+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTEiPgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLWluZm8iPgoJCQkJCQkJCQkJCTxpIGNsYXNzPSJmYXMgZmEtbGF5ZXItZ3JvdXAgYXZhdGFyLXRpdGxlIGZvbnQtMTggdGV4dC1pY29uIj48L2k+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMyI+CQoJCQkJCQkJCQkJPGEgaHJlZj0iYm91cXVldHMucGhwIj4KCQkJCQkJCQkJCQk8c3Bhbj48cCBjbGFzcz0idGV4dC1tdXRlZDEgbWItMSB0ZXh0LWRhcmsiPjxiPiZuYnNwOyZuYnNwOyBCb3VxdWV0czwvYj48L3A+PC9zcGFuPgoJCQkJCQkJCQk8L2Rpdj4JCQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMiI+CQkKCQkJCQkJCQkJCQk8cCB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4teHMgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi1maXhlZC1taW4iPjxzcGFuPjw/cGhwICBlY2hvICRib3VxdWV0czsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMSI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctaW5mbyI+CgkJCQkJCQkJCQkJPGkgY2xhc3M9ImZhcyBmYS1saXN0LW9sIGF2YXRhci10aXRsZSBmb250LTE4IHRleHQtaWNvbiI+PC9pPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMyI+CQoJCQkJCQkJCQkJPGEgaHJlZj0ic3RyZWFtcy5waHAiPgoJCQkJCQkJCQkJCTxzcGFuPjxwIGNsYXNzPSJ0ZXh0LW11dGVkMSBtYi0xIHRleHQtZGFyayI+PGI+Jm5ic3A7Jm5ic3A7IENoYW5uZWxzPC9iPjwvcD48L3NwYW4+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMiI+CQkKCQkJCQkJCQkJCQk8cCB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4teHMgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi1maXhlZC1taW4iPjxzcGFuPjw/cGhwICBlY2hvICRjaGFubmVsczsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgkJCgkJCQkJCQkgICAgPGRpdiBjbGFzcz0gc2VwYXJhdG9yPjwvZGl2Pjxicj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMSI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctd2FybmluZyI+CgkJCQkJCQkJCQkJPGkgY2xhc3M9ImZhciBmYS1maWxlLXZpZGVvIGF2YXRhci10aXRsZSBmb250LTE4IHRleHQtaWNvbiI+PC9pPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTMiPgkKCQkJCQkJCQkJCTxhIGhyZWY9ImVwaXNvZGVzLnBocCI+CgkJCQkJCQkJCQkJPHNwYW4+PHAgY2xhc3M9InRleHQtbXV0ZWQxIG1iLTEgdGV4dC1kYXJrIj48Yj4mbmJzcDsmbmJzcDsgRXBpc29kZXM8L2I+PC9wPjwvc3Bhbj4KCQkJCQkJCQkJPC9kaXY+CQkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTIiPgkJCgkJCQkJCQkJCQkJPHAgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj48c3Bhbj48P3BocCAgZWNobyAkZXBpc29kZXM7ID8+Cjwvc3Bhbj48L3A+CgkJCQkJCQkJCQk8L2E+CQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTEiPgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyLXNtIGJnLXdhcm5pbmciPgoJCQkJCQkJCQkJCTxpIGNsYXNzPSJmYXMgZmEtbXVzaWMgYXZhdGFyLXRpdGxlIGZvbnQtMTggdGV4dC1pY29uIj48L2k+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0zIj4JCgkJCQkJCQkJCQk8YSBocmVmPSJyYWRpb3MucGhwIj4KCQkJCQkJCQkJCQk8c3Bhbj48cCBjbGFzcz0idGV4dC1tdXRlZDEgbWItMSB0ZXh0LWRhcmsiPjxiPiZuYnNwOyZuYnNwOyBSYWRpbzwvYj48L3A+PC9zcGFuPgoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTIiPgkJCgkJCQkJCQkJCQkJPHAgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj48c3Bhbj48P3BocCAgZWNobyAkcmFkaW87ID8+Cjwvc3Bhbj48L3A+CgkJCQkJCQkJCQk8L2E+CQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQk8L2Rpdj4JCQkKCQkJCQkJCSA8ZGl2IGNsYXNzPSBzZXBhcmF0b3I+PC9kaXY+PGJyPiAKCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMSI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctc3VjY2VzcyI+CgkJCQkJCQkJCQkJPGkgY2xhc3M9ImZhcyBmYS12aWRlbyBhdmF0YXItdGl0bGUgZm9udC0xOCB0ZXh0LWljb24iPjwvaT4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8L2Rpdj4JCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0zIj4JCgkJCQkJCQkJCQk8YSBocmVmPSJtb3ZpZXMucGhwIj4KCQkJCQkJCQkJCQk8c3Bhbj48cCBjbGFzcz0idGV4dC1tdXRlZDEgbWItMSB0ZXh0LWRhcmsiPjxiPiZuYnNwOyZuYnNwOyBNb3ZpZXM8L2I+PC9wPjwvc3Bhbj4KCQkJCQkJCQkJPC9kaXY+CQkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTIiPgkJCgkJCQkJCQkJCQkJPHAgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXhzIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodCBidG4tZml4ZWQtbWluIj48c3Bhbj48P3BocCAgZWNobyAkdm9kOyA/Pgo8L3NwYW4+PC9wPgoJCQkJCQkJCQkJPC9hPgkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0xIj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1zdWNjZXNzIj4KCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmFzIGZhLWZpbG0gYXZhdGFyLXRpdGxlIGZvbnQtMTggdGV4dC1pY29uIj48L2k+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0zIj4JCgkJCQkJCQkJCQk8YSBocmVmPSJzZXJpZXMucGhwIj4KCQkJCQkJCQkJCQk8c3Bhbj48cCBjbGFzcz0idGV4dC1tdXRlZDEgbWItMSB0ZXh0LWRhcmsiPjxiPiZuYnNwOyZuYnNwOyBTZXJpZXM8L2I+PC9wPjwvc3Bhbj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0yIj4JCQoJCQkJCQkJCQkJCTxwIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi14cyB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQgYnRuLWZpeGVkLW1pbiI+PHNwYW4+PD9waHAgIGVjaG8gJHNlcmllczsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJIDxkaXYgY2xhc3M9IHNlcGFyYXRvcj48L2Rpdj48YnI+IAoJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0xIj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhci1zbSBiZy1kYW5nZXIiPgoJCQkJCQkJCQkJCTxpIGNsYXNzPSJmYXMgZmEtc2VydmVyIGF2YXRhci10aXRsZSBmb250LTE4IHRleHQtaWNvbiI+PC9pPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgkKCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLTMiPgkKCQkJCQkJCQkJCTxhIGhyZWY9InNlcnZlcnMucGhwIj4KCQkJCQkJCQkJCQk8c3Bhbj48cCBjbGFzcz0idGV4dC1tdXRlZDEgbWItMSB0ZXh0LWRhcmsiPjxiPiZuYnNwOyZuYnNwOyBTZXJ2ZXJzPC9iPjwvcD48L3NwYW4+CgkJCQkJCQkJCTwvZGl2PgkJCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC0yIj4JCQoJCQkJCQkJCQkJCTxwIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi14cyB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQgYnRuLWZpeGVkLW1pbiI+PHNwYW4+PD9waHAgIGVjaG8gJHNlcnZlcjsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMSI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXItc20gYmctZGFuZ2VyIj4KCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmFzIGZhLXVzZXJzIGF2YXRhci10aXRsZSBmb250LTE4IHRleHQtaWNvbiI+PC9pPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMyI+CQoJCQkJCQkJCQkJPGEgaHJlZj0icmVnX3VzZXJzLnBocCI+CgkJCQkJCQkJCQkJPHNwYW4+PHAgY2xhc3M9InRleHQtbXV0ZWQxIG1iLTEgdGV4dC1kYXJrIj48Yj4mbmJzcDsgUmVzc2VsZXJzPC9iPjwvcD48L3NwYW4+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtMiI+CQkKCQkJCQkJCQkJCQk8cCB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4teHMgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGJ0bi1maXhlZC1taW4iPjxzcGFuPjw/cGhwICBlY2hvICRyZXNlbGxlcjsgPz4KPC9zcGFuPjwvcD4KCQkJCQkJCQkJCTwvYT4JCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9IHNlcGFyYXRvcj48L2Rpdj4KCQkJCQkJCTwvZGl2PgkKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KPD9waHAgIH0gPz4KPCEtLSBmaW0gZXN0YXRpc3RpY2FzLS0+CQkJCQkJCQo8P3BocCAgaWYgKCRyQWRtaW5TZXR0aW5nc1siXDE0NFx4NjFcMTYzXDE1MFwxNDJcMTU3XHg2MVwxNjJcMTQ0XHg1Zlx4NzdcMTU3XDE2Mlx4NmNceDY0XHg1ZlwxNTVceDYxXHg3MFwxMzdceDZjXDE1MVwxNjZcMTQ1Il0pIHsgPz4KPHN0eWxlPgouaW5mb1NlcnYgdGQgewpwYWRkaW5nOjBweCA0cHggMHB4IDRweDsKfQojV29ybGRNYXBMaXZlIHsKICBjb2xvcjogI2ZmZmZmZjsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDQwMHB4OwogIGZvbnQtc2l6ZTogMTFweDsKCn0KLnJvdzIgewogICAgZGlzcGxheTogZmxleDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cgp9Ci5jb2wyIHsKfQo8L3N0eWxlPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhsLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBib3JkZXIiPgoJCQkJCQk8ZGl2IGlkPSJXb3JsZE1hcExpdmUiPjwvZGl2PgoJCQkJICAgIDwvZGl2PgoJCQkgICAgPC9kaXY+CgkJICAgIDwvZGl2PgoKPD9waHAgIH0gPz4KCjw/cGhwICBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVwxNjNcMTUwXHg2Mlx4NmZcMTQxXHg3Mlx4NjRceDVmXHg3N1x4NmZcMTYyXDE1NFx4NjRcMTM3XDE1NVx4NjFceDcwXHg1ZlwxNDFcMTQzXHg3NFwxNTFcMTY2XDE1MVwxNjRceDc5Il0pIHsgPz4KPHN0eWxlPgouaW5mb1NlcnYgdGQgewpwYWRkaW5nOjBweCA0cHggMHB4IDRweDsKfQojV29ybGRNYXBBY3Rpdml0eSB7CiAgY29sb3I6ICNmZmZmZmY7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiA0MDBweDsKICBmb250LXNpemU6IDExcHg7Cgp9Ci5yb3cyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwoKfQouY29sMiB7Cn0KPC9zdHlsZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhsLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyBib3JkZXIiPgoJCQkJCQk8ZGl2IGlkPSJXb3JsZE1hcEFjdGl2aXR5Ij48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KICAKPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgIDwhLS0gZW5kIHJvdyAtLT4KCQkJCTw/cGhwICB9IGVsc2UgeyA/PgoJCQkJPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIHNob3cgdGV4dC1jZW50ZXIiIHJvbGU9ImFsZXJ0IiBzdHlsZT0ibWFyZ2luLXRvcDoyMHB4OyI+CgkJCQkJPD9waHAgIGVjaG8gJF9bIlwxNDRcMTQxXHg3M1x4NjhcMTQyXDE1N1x4NjFceDcyXHg2NFx4NWZcMTU2XDE1N1wxMzdceDcwXDE0NVwxNjJceDZkXHg2OVx4NzNcMTYzXHg2OVx4NmZceDZlXHg3MyJdOyA/Pgo8YnIvPgoJCQkJCTw/cGhwICBpZiAoJHJTZXR0aW5nc1siXDE2M1x4NjlcMTQ0XHg2NVwxNDJceDYxXHg3MiJdKSB7IGVjaG8gJF9bIlx4NjRceDYxXDE2M1wxNTBcMTQyXDE1N1wxNDFceDcyXDE0NFwxMzdceDZlXHg2MVwxNjZcMTM3XHg2Y1wxNDVceDY2XDE2NCJdOyB9IGVsc2UgeyBlY2hvICRfWyJcMTQ0XHg2MVx4NzNcMTUwXDE0Mlx4NmZcMTQxXHg3Mlx4NjRceDVmXDE1Nlx4NjFceDc2XDEzN1wxNjRcMTU3XHg3MCJdOyB9ID8+CgkJCQk8L2Rpdj4KCQkJCTw/cGhwICB9IGdvdG8gREpEYlg7IHB0cGdnOiAkY2hhbm5lbHMgPSAkcXVlcnktPm51bV9yb3dzOyBnb3RvIHNDWDBIOyBxUU8xZDogPz4KPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb290ZXI+CiAgICAgICAgPCEtLSBlbmQgRm9vdGVyIC0tPgoKICAgICAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2pzL3ZlbmRvci5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvbGlicy9qcXVlcnkta25vYi9qcXVlcnkua25vYi5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvbGlicy9wZWl0eS9qcXVlcnkucGVpdHkubWluLmpzIj48L3NjcmlwdD4KCQk8c2NyaXB0IHNyYz0iYXNzZXRzL2xpYnMvYXBleGNoYXJ0cy9hcGV4Y2hhcnRzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9saWJzL2RhdGF0YWJsZXMvanF1ZXJ5LmRhdGFUYWJsZXMubWluLmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2xpYnMvanF1ZXJ5LW51bWJlci9qcXVlcnkubnVtYmVyLmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2xpYnMvZGF0YXRhYmxlcy9kYXRhVGFibGVzLmJvb3RzdHJhcDQuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvbGlicy9kYXRhdGFibGVzL2RhdGFUYWJsZXMucmVzcG9uc2l2ZS5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvbGlicy9kYXRhdGFibGVzL3Jlc3BvbnNpdmUuYm9vdHN0cmFwNC5taW4uanMiPjwvc2NyaXB0PgoJCTxzY3JpcHQgc3JjPSJhc3NldHMvanMvYXBwLm1pbi5qcyI+PC9zY3JpcHQ+CgkJPHNjcmlwdCBzcmM9ImFzc2V0cy9qcy9hbWNoYXJ0czQvYW1tYXAuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvYW1jaGFydHM0L3dyaXRlbWFwLmpzPzUiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvYW1jaGFydHM0L3dvcmxkTG93My5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9qcy9hbWNoYXJ0czQvbGlnaHQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgclNlcnZlcklEID0gImhvbWUiOwoJCXJDaGFydCA9IG51bGw7CgkJckRhdGVzID0gbnVsbDsKCQlyT3B0aW9ucyA9IG51bGw7CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gb2ZmbGluZVN0cmVhbXMoKSB7CiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gIi4vc3RyZWFtcy5waHA/ZmlsdGVyPTImc2VydmVyPSIgKyB3aW5kb3cuclNlcnZlcklEOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmdW5jdGlvbiBvbmxpbmVTdHJlYW1zKCkgewogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICIuL3N0cmVhbXMucGhwP2ZpbHRlcj0xJnNlcnZlcj0iICsgd2luZG93LnJTZXJ2ZXJJRDsKICAgICAgICB9CgkJCiAgICAgICAgZnVuY3Rpb24gZ2V0U3RhdHMoYXV0bz10cnVlKSB7CiAgICAgICAgICAgIHZhciByU3RhcnQgPSBEYXRlLm5vdygpOwogICAgICAgICAgICBpZiAod2luZG93LnJTZXJ2ZXJJRCA9PSAiaG9tZSIpIHsKICAgICAgICAgICAgICAgIHJVUkwgPSAiLi9hcGkucGhwP2FjdGlvbj1zdGF0cyI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByVVJMID0gIi4vYXBpLnBocD9hY3Rpb249c3RhdHMmc2VydmVyX2lkPSIgKyB3aW5kb3cuclNlcnZlcklEOwogICAgICAgICAgICB9CiAgICAgICAgICAgICQuZ2V0SlNPTihyVVJMLCBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAvLyBPcGVuIENvbm5lY3Rpb25zCiAgICAgICAgICAgICAgICB2YXIgckNhcGFjaXR5ID0gTWF0aC5jZWlsKChkYXRhLm9wZW5fY29ubmVjdGlvbnMgLyBkYXRhLnRvdGFsX2Nvbm5lY3Rpb25zKSAqIDEwMCk7CiAgICAgICAgICAgICAgICBpZiAoaXNOYU4ockNhcGFjaXR5KSkgeyByQ2FwYWNpdHkgPSAwOyB9CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLWNvbm5lY3Rpb25zIC5lbnRyeSIpLmh0bWwoJC5udW1iZXIoZGF0YS5vcGVuX2Nvbm5lY3Rpb25zLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLWNvbm5lY3Rpb25zIC5lbnRyeS1wZXJjZW50YWdlIikuaHRtbCgkLm51bWJlcihkYXRhLnRvdGFsX2Nvbm5lY3Rpb25zLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLWNvbm5lY3Rpb25zIC5wcm9ncmVzcy1iYXIiKS5wcm9wKCJhcmlhLXZhbHVlbm93IiwgckNhcGFjaXR5KTsKICAgICAgICAgICAgICAgICQoIi5hY3RpdmUtY29ubmVjdGlvbnMgLnByb2dyZXNzLWJhciIpLmNzcygid2lkdGgiLCByQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLWNvbm5lY3Rpb25zIC5zci1vbmx5IikuaHRtbChyQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAvLyBPbmxpbmUgVXNlcnMKICAgICAgICAgICAgICAgIHZhciByQ2FwYWNpdHkgPSBNYXRoLmNlaWwoKGRhdGEub25saW5lX3VzZXJzIC8gZGF0YS50b3RhbF91c2VycykgKiAxMDApOwogICAgICAgICAgICAgICAgaWYgKGlzTmFOKHJDYXBhY2l0eSkpIHsgckNhcGFjaXR5ID0gMDsgfQogICAgICAgICAgICAgICAgJCgiLm9ubGluZS11c2VycyAuZW50cnkiKS5odG1sKCQubnVtYmVyKGRhdGEub25saW5lX3VzZXJzLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIub25saW5lLXVzZXJzIC5lbnRyeS1wZXJjZW50YWdlIikuaHRtbCgkLm51bWJlcihkYXRhLnRvdGFsX3VzZXJzLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIub25saW5lLXVzZXJzIC5wcm9ncmVzcy1iYXIiKS5wcm9wKCJhcmlhLXZhbHVlbm93IiwgckNhcGFjaXR5KTsKICAgICAgICAgICAgICAgICQoIi5vbmxpbmUtdXNlcnMgLnByb2dyZXNzLWJhciIpLmNzcygid2lkdGgiLCByQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAkKCIub25saW5lLXVzZXJzIC5zci1vbmx5IikuaHRtbChyQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAvLyBOZXR3b3JrIExvYWQgLSBJbnB1dAogICAgICAgICAgICAgICAgdmFyIHJDYXBhY2l0eSA9IE1hdGguY2VpbCgoTWF0aC5jZWlsKGRhdGEuYnl0ZXNfcmVjZWl2ZWQpIC8gZGF0YS5uZXR3b3JrX2d1YXJhbnRlZWRfc3BlZWQpICogMTAwKTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihyQ2FwYWNpdHkpKSB7IHJDYXBhY2l0eSA9IDA7IH0KICAgICAgICAgICAgICAgICQoIi5pbnB1dC1mbG93IC5lbnRyeSIpLmh0bWwoJC5udW1iZXIoTWF0aC5jZWlsKGRhdGEuYnl0ZXNfcmVjZWl2ZWQpLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIuaW5wdXQtZmxvdyAuZW50cnktcGVyY2VudGFnZSIpLmh0bWwockNhcGFjaXR5LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgJCgiLmlucHV0LWZsb3cgLnByb2dyZXNzLWJhciIpLnByb3AoImFyaWEtdmFsdWVub3ciLCByQ2FwYWNpdHkpOwogICAgICAgICAgICAgICAgJCgiLmlucHV0LWZsb3cgLnByb2dyZXNzLWJhciIpLmNzcygid2lkdGgiLCByQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAkKCIuaW5wdXQtZmxvdyAuc3Itb25seSIpLmh0bWwockNhcGFjaXR5LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgLy8gTmV0d29yayBMb2FkIC0gT3V0cHV0CiAgICAgICAgICAgICAgICB2YXIgckNhcGFjaXR5ID0gTWF0aC5jZWlsKChNYXRoLmNlaWwoZGF0YS5ieXRlc19zZW50KSAvIGRhdGEubmV0d29ya19ndWFyYW50ZWVkX3NwZWVkKSAqIDEwMCk7CiAgICAgICAgICAgICAgICBpZiAoaXNOYU4ockNhcGFjaXR5KSkgeyByQ2FwYWNpdHkgPSAwOyB9CiAgICAgICAgICAgICAgICAkKCIub3V0cHV0LWZsb3cgLmVudHJ5IikuaHRtbCgkLm51bWJlcihNYXRoLmNlaWwoZGF0YS5ieXRlc19zZW50KSwgMCkpOwogICAgICAgICAgICAgICAgJCgiLm91dHB1dC1mbG93IC5lbnRyeS1wZXJjZW50YWdlIikuaHRtbChyQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAkKCIub3V0cHV0LWZsb3cgLnByb2dyZXNzLWJhciIpLnByb3AoImFyaWEtdmFsdWVub3ciLCByQ2FwYWNpdHkpOwogICAgICAgICAgICAgICAgJCgiLm91dHB1dC1mbG93IC5wcm9ncmVzcy1iYXIiKS5jc3MoIndpZHRoIiwgckNhcGFjaXR5LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgJCgiLm91dHB1dC1mbG93IC5zci1vbmx5IikuaHRtbChyQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAvLyBBY3RpdmUgU3RyZWFtcwogICAgICAgICAgICAgICAgdmFyIHJDYXBhY2l0eSA9IE1hdGguY2VpbCgoZGF0YS50b3RhbF9ydW5uaW5nX3N0cmVhbXMgLyAoZGF0YS5vZmZsaW5lX3N0cmVhbXMgKyBkYXRhLnRvdGFsX3J1bm5pbmdfc3RyZWFtcykpICogMTAwKTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihyQ2FwYWNpdHkpKSB7IHJDYXBhY2l0eSA9IDA7IH0KICAgICAgICAgICAgICAgICQoIi5hY3RpdmUtc3RyZWFtcyAuZW50cnkiKS5odG1sKCQubnVtYmVyKGRhdGEudG90YWxfcnVubmluZ19zdHJlYW1zLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLXN0cmVhbXMgLmVudHJ5LXBlcmNlbnRhZ2UiKS5odG1sKCQubnVtYmVyKGRhdGEub2ZmbGluZV9zdHJlYW1zLCAwKSk7CiAgICAgICAgICAgICAgICAkKCIuYWN0aXZlLXN0cmVhbXMgLnByb2dyZXNzLWJhciIpLnByb3AoImFyaWEtdmFsdWVub3ciLCByQ2FwYWNpdHkpOwogICAgICAgICAgICAgICAgJCgiLmFjdGl2ZS1zdHJlYW1zIC5wcm9ncmVzcy1iYXIiKS5jc3MoIndpZHRoIiwgckNhcGFjaXR5LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgJCgiLmFjdGl2ZS1zdHJlYW1zIC5zci1vbmx5IikuaHRtbChyQ2FwYWNpdHkudG9TdHJpbmcoKSArICIlIik7CgkJCQkkKCIub2ZmbGluZS1zdHJlYW1zIC5lbnRyeSIpLmh0bWwoJC5udW1iZXIoZGF0YS5vZmZsaW5lX3N0cmVhbXMsIDApKTsKICAgICAgICAgICAgICAgIC8vIENQVSBVc2FnZQogICAgICAgICAgICAgICAgJCgiLmNwdS11c2FnZSAuZW50cnkiKS5odG1sKGRhdGEuY3B1KTsKICAgICAgICAgICAgICAgICQoIi5jcHUtdXNhZ2UgLmVudHJ5LXBlcmNlbnRhZ2UiKS5odG1sKGRhdGEuY3B1LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgJCgiLmNwdS11c2FnZSAucHJvZ3Jlc3MtYmFyIikucHJvcCgiYXJpYS12YWx1ZW5vdyIsIGRhdGEuY3B1KTsKICAgICAgICAgICAgICAgICQoIi5jcHUtdXNhZ2UgLnByb2dyZXNzLWJhciIpLmNzcygid2lkdGgiLCBkYXRhLmNwdS50b1N0cmluZygpICsgIiUiKTsKICAgICAgICAgICAgICAgICQoIi5jcHUtdXNhZ2UgLnNyLW9ubHkiKS5odG1sKGRhdGEuY3B1LnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgLy8gTWVtb3J5IFVzYWdlCiAgICAgICAgICAgICAgICAkKCIubWVtLXVzYWdlIC5lbnRyeSIpLmh0bWwoZGF0YS5tZW0pOwogICAgICAgICAgICAgICAgJCgiLm1lbS11c2FnZSAuZW50cnktcGVyY2VudGFnZSIpLmh0bWwoZGF0YS5tZW0udG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAkKCIubWVtLXVzYWdlIC5wcm9ncmVzcy1iYXIiKS5wcm9wKCJhcmlhLXZhbHVlbm93IiwgZGF0YS5tZW0pOwogICAgICAgICAgICAgICAgJCgiLm1lbS11c2FnZSAucHJvZ3Jlc3MtYmFyIikuY3NzKCJ3aWR0aCIsIGRhdGEubWVtLnRvU3RyaW5nKCkgKyAiJSIpOwogICAgICAgICAgICAgICAgJCgiLm1lbS11c2FnZSAuc3Itb25seSIpLmh0bWwoZGF0YS5tZW0udG9TdHJpbmcoKSArICIlIik7CiAgICAgICAgICAgICAgICAvLyBVcHRpbWUKCQkJCWlmIChkYXRhLnVwdGltZSkgewoJCQkJCSQoIi51cHRpbWUgLmVudHJ5IikuaHRtbChkYXRhLnVwdGltZS5zcGxpdCgiICIpLnNsaWNlKDAsMikuam9pbigiICIpKTsKCQkJCX0KCQkJCS8vIFBlciBTZXJ2ZXIKCQkJCSQoZGF0YS5zZXJ2ZXJzKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfY29ubnMiKS5odG1sKCQubnVtYmVyKGRhdGEuc2VydmVyc1tpXS5vcGVuX2Nvbm5lY3Rpb25zLCAwKSk7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX3VzZXJzIikuaHRtbCgkLm51bWJlcihkYXRhLnNlcnZlcnNbaV0ub25saW5lX3VzZXJzLCAwKSk7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX29ubGluZSIpLmh0bWwoJC5udW1iZXIoZGF0YS5zZXJ2ZXJzW2ldLnRvdGFsX3J1bm5pbmdfc3RyZWFtcywgMCkpOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9vZmZsaW5lIikuaHRtbCgkLm51bWJlcihkYXRhLnNlcnZlcnNbaV0ub2ZmbGluZV9zdHJlYW1zLCAwKSk7CgkJCQkgICAgJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX2lucHV0IikuaHRtbCgkLm51bWJlcihNYXRoLmNlaWwoZGF0YS5zZXJ2ZXJzW2ldLmJ5dGVzX3JlY2VpdmVkKSwgMCkpOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9vdXRwdXQiKS5odG1sKCQubnVtYmVyKE1hdGguY2VpbChkYXRhLnNlcnZlcnNbaV0uYnl0ZXNfc2VudCksIDApKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfdG90YWxfdXNlcnMiKS5odG1sKCQubnVtYmVyKGRhdGEuc2VydmVyc1tpXS50b3RhbF9jb25uZWN0aW9ucywgMCkpOwoJCQkJCS8vY3B1IGFucyBtZW0gdXNhZ2UKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfY3B1IikucmVtb3ZlQ2xhc3MoImJnLXN1Y2Nlc3MiKS5yZW1vdmVDbGFzcygiYmctZGFuZ2VyIikucmVtb3ZlQ2xhc3MoImJnLXdhcm5pbmciKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfY3B1IikuYXR0cigiYXJpYS12YWx1ZW5vdyIsIGRhdGEuc2VydmVyc1tpXS5jcHUpOwogICAgICAgICAgICAgICAgICAgICQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9jcHUiKS5jc3MoIndpZHRoIiwgZGF0YS5zZXJ2ZXJzW2ldLmNwdSArICIlIik7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX2NwdSIpLmh0bWwoZGF0YS5zZXJ2ZXJzW2ldLmNwdSArICIlIENwdSIpOwogICAgICAgICAgICAgICAgICAgICQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9tZW0iKS5yZW1vdmVDbGFzcygiYmctc3VjY2VzcyIpLnJlbW92ZUNsYXNzKCJiZy1kYW5nZXIiKS5yZW1vdmVDbGFzcygiYmctd2FybmluZyIpOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9tZW0iKS5hdHRyKCJhcmlhLXZhbHVlbm93IiwgZGF0YS5zZXJ2ZXJzW2ldLm1lbSk7CiAgICAgICAgICAgICAgICAgICAgJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX21lbSIpLmNzcygid2lkdGgiLCBkYXRhLnNlcnZlcnNbaV0ubWVtICsgIiUiKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfbWVtIikuaHRtbChkYXRhLnNlcnZlcnNbaV0ubWVtICsgIiUgUmFtIik7CgkJCQkJLy8gTmV0d29ya3MJCQkJCQoJCQkJCXZhciByT3V0cHV0ID0gZGF0YS5zZXJ2ZXJzW2ldLmJ5dGVzX3JlY2VpdmVkOwoJCQkJCXZhciBySW5wdXQgPSBkYXRhLnNlcnZlcnNbaV0uYnl0ZXNfc2VudDsKCQkJCQl2YXIgclNwZWVkID0gZGF0YS5zZXJ2ZXJzW2ldLm5ldHdvcmtfZ3VhcmFudGVlZF9zcGVlZDsKCQkJCQl2YXIgclBvdXJjZW50YWdlID0gTWF0aC5yb3VuZCggKCAoIHJJbnB1dCArIHJPdXRwdXQgKSAvIHJTcGVlZCApICAqIDEwMCApOwoJCQkJCXZhciByUG91cmNlbnRhZ2VpID0gTWF0aC5yb3VuZCggKCAoIHJPdXRwdXQgKSAvIHJTcGVlZCApICAqIDEwMCApOwoJCQkJCXZhciByUG91cmNlbnRhZ2VvID0gTWF0aC5yb3VuZCggKCAoIHJJbnB1dCApIC8gclNwZWVkICkgICogMTAwICk7CgkJCQkJLy9OZXR3b3JrIFVzYWdlCgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX25ldCIpLnJlbW92ZUNsYXNzKCJiZy1zdWNjZXNzIikucmVtb3ZlQ2xhc3MoImJnLWRhbmdlciIpLnJlbW92ZUNsYXNzKCJiZy13YXJuaW5nIik7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX25ldCIpLmF0dHIoJ2FyaWEtdmFsdWVub3cnLCByUG91cmNlbnRhZ2UgKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfbmV0IikuY3NzKCJ3aWR0aCIsIHJQb3VyY2VudGFnZSArICIlIik7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX25ldCIpLmh0bWwoIHJQb3VyY2VudGFnZSArICIlIE5ldHdvcmsiKTsKCQkJCQkvLyBOZXR3b3JrIFVzYWdlIGlucHV0CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX2luZXQiKS5yZW1vdmVDbGFzcygiYmctc3VjY2VzcyIpLnJlbW92ZUNsYXNzKCJiZy1kYW5nZXIiKS5yZW1vdmVDbGFzcygiYmctd2FybmluZyIpOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9pbmV0IikuYXR0cignYXJpYS12YWx1ZW5vdycsIHJQb3VyY2VudGFnZWkgKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfaW5ldCIpLmNzcygid2lkdGgiLCByUG91cmNlbnRhZ2VpICsgIiUiKTsKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfaW5ldCIpLmh0bWwoIHJQb3VyY2VudGFnZWkgKyAiJSBJbnB1dCIpOwoJCQkJCS8vTmV0d29yayBVc2FnZSBvdXRwdXQKCQkJCQkkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfb25ldCIpLnJlbW92ZUNsYXNzKCJiZy1zdWNjZXNzIikucmVtb3ZlQ2xhc3MoImJnLWRhbmdlciIpLnJlbW92ZUNsYXNzKCJiZy13YXJuaW5nIik7CgkJCQkJJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX29uZXQiKS5hdHRyKCdhcmlhLXZhbHVlbm93JywgclBvdXJjZW50YWdlbyApOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9vbmV0IikuY3NzKCJ3aWR0aCIsIHJQb3VyY2VudGFnZW8gKyAiJSIpOwoJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9vbmV0IikuaHRtbCggclBvdXJjZW50YWdlbyArICIlIE91dHB1dCIpOwoJCQkJCWlmIChkYXRhLnNlcnZlcnNbaV0udXB0aW1lKSB7CgkJCQkJCSQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl91cHRpbWUiKS5odG1sKGRhdGEuc2VydmVyc1tpXS51cHRpbWUuc3BsaXQoIiAiKS5zbGljZSgwLDIpLmpvaW4oIiAiKSk7CgkJCQkJfQoJCQkJaWYgKGRhdGEuc2VydmVyc1tpXS5jcHUgPiA3NSkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCIjc18iICsgZGF0YS5zZXJ2ZXJzW2ldLnNlcnZlcl9pZCArICJfY3B1IikuYWRkQ2xhc3MoImJnLWRhbmdlciIpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5zZXJ2ZXJzW2ldLmNwdSA+IDUwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9jcHUiKS5hZGRDbGFzcygiYmctd2FybmluZyIpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9jcHUiKS5hZGRDbGFzcygiYmctc3VjY2VzcyIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zZXJ2ZXJzW2ldLm1lbSA+IDc1KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNzXyIgKyBkYXRhLnNlcnZlcnNbaV0uc2VydmVyX2lkICsgIl9tZW0iKS5hZGRDbGFzcygiYmctZGFuZ2VyIik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnNlcnZlcnNbaV0ubWVtID4gNTApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX21lbSIpLmFkZENsYXNzKCJiZy13YXJuaW5nIik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI3NfIiArIGRhdGEuc2VydmVyc1tpXS5zZXJ2ZXJfaWQgKyAiX21lbSIpLmFkZENsYXNzKCJiZy1zdWNjZXNzIik7CiAgICAgICAgICAgICAgICAgICAgfQoJCQkJfSk7CiAgICAgICAgICAgICAgICBpZiAoYXV0bykgewogICAgICAgICAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gclN0YXJ0IDwgMTAwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGdldFN0YXRzLCAxMDAwIC0gKERhdGUubm93KCkgLSByU3RhcnQpKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBnZXRTdGF0cygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkuZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmIChhdXRvKSB7CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChnZXRTdGF0cywgMTAwMCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKCcuZGFzaGJvYXJkLXRhYnMgLm5hdi1saW5rJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgd2luZG93LnJTZXJ2ZXJJRCA9ICQoZS50YXJnZXQpLmRhdGEoImlkIik7CiAgICAgICAgICAgIGdldFN0YXRzKGZhbHNlKTsKICAgICAgICAgICAgJCgiLm5hdi1saW5rIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgJChlLnRhcmdldCkuYWRkQ2xhc3MoImFjdGl2ZSIpOwogICAgICAgICAgICBpZiAod2luZG93LnJTZXJ2ZXJJRCA9PSAiaG9tZSIpIHsKICAgICAgICAgICAgICAgIGlmICghJCgiI3NlcnZlci1ob21lIikuaXMoIjp2aXNpYmxlIikpIHsKICAgICAgICAgICAgICAgICAgICAkKCIjc2VydmVyLXRhYiIpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAkKCIjc2VydmVyLWhvbWUiKS5zaG93KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoISQoIiNzZXJ2ZXItdGFiIikuaXMoIjp2aXNpYmxlIikpIHsKICAgICAgICAgICAgICAgICAgICAkKCIjc2VydmVyLWhvbWUiKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgJCgiI3NlcnZlci10YWIiKS5zaG93KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCQkkKCdbZGF0YS1wbHVnaW49InBlaXR5LWxpbmUiXScpLmVhY2goZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgJCh0aGlzKS5wZWl0eSgibGluZSIsICQodGhpcykuZGF0YSgpKTsKICAgICAgICAgICAgfSk7CgkJPD9waHAgIGdvdG8gSVhqbGI7IGt6emtLOiAkZXBpc29kZXMgPSAkcXVlcnktPm51bV9yb3dzOyBnb3RvIHJZMjJrOyBoWERHdzogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXHg1M1x4NDVcMTE0XDEwNVx4NDNcMTI0XDQwXHgyYVx4MjBcMTQ2XDE2Mlx4NmZcMTU1XHgyMFwxNjVcMTYzXHg2NVwxNjJceDczXDQwXDE2N1x4NjhceDY1XDE2MlwxNDVceDIwXDE1MVx4NzNcMTM3XHg2ZFwxNDFcMTQ3XHgyMFx4M2RcNDBcNjBceDNiIik7IGdvdG8gd29TX287IHdvU19vOiAkc21hcnR0diA9ICRxdWVyeS0+bnVtX3Jvd3M7IGdvdG8geEhwdk07IG9YcTZJOiA/PgogICAgICAgIH0pOwogICAgICAgIDwvc2NyaXB0PgoJCQoJCTxzY3JpcHQgc3JjPSJhc3NldHMvanMvYW1jaGFydHM0L3dyaXRlbWFwbGl2ZS5qcyI+PC9zY3JpcHQ+CgkJPHNjcmlwdD4KCQk8P3BocCAgZ290byBHOXhHcjsgYjBlRFc6ICRzZXJ2ZXIgPSAkcXVlcnktPm51bV9yb3dzOyBnb3RvIFB5TmVvOyBLODJzTDogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXHg1M1wxMDVceDRjXDEwNVx4NDNcMTI0XHgyMFw1Mlx4MjBceDY2XDE2MlwxNTdcMTU1XHgyMFwxNjNcMTQ1XHg3Mlx4NjlceDY1XDE2M1wxMzdceDY1XHg3MFx4NjlcMTYzXDE1N1x4NjRceDY1XHg3M1x4M2IiKTsgZ290byBrenprSzsgbUU4VlI6ICRuYW1lID0gJHF1ZXJ5LT5udW1fcm93czsgZ290byByaG9LaDsgZEdkTFo6ID8+CiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGdldFN0YXRzKCk7CgkJCTw/cGhwICBnb3RvIGJ0YXVuOyBkeFhVazogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXHg1M1wxMDVcMTE0XHg0NVx4NDNceDU0XHgyMFx4MmFcNDBceDY2XDE2Mlx4NmZceDZkXHgyMFx4NzNcMTY0XDE2Mlx4NjVceDYxXDE1NVwxNTFcMTU2XDE0N1x4NWZcMTYzXDE0NVwxNjJceDc2XHg2NVx4NzJceDczXDczIik7IGdvdG8gYjBlRFc7IEpOTmUzOiA/PgogICAgICAgIDwvc2NyaXB0PgoKICAgICAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2pzL2FtY2hhcnRzNC93cml0ZW1hcGFjdGl2aXR5LmpzIj48L3NjcmlwdD4KCQk8c2NyaXB0PgoJCTw/cGhwICBnb3RvIEFWQjFrOyBwZWJPaTogaWYgKCRyQWRtaW5TZXR0aW5nc1siXDE0NFx4NjFcMTYyXDE1M1x4NWZceDZkXHg2Zlx4NjRcMTQ1Il0pIHsgJHJDb2xvdXJzID0gYXJyYXkoMSA9PiBhcnJheSgiXDE2M1wxNDVcMTQzXHg2ZlwxNTZcMTQ0XHg2MVx4NzJceDc5IiwgIlw0M1w2N1x4NjVcNzBceDY1XDcxXDE0NCIpLCAyID0+IGFycmF5KCJceDczXHg2NVx4NjNceDZmXDE1NlwxNDRcMTQxXDE2Mlx4NzkiLCAiXHgyM1x4MzdcMTQ1XHgzOFwxNDVcNzFceDY0IiksIDMgPT4gYXJyYXkoIlx4NzNceDY1XDE0M1x4NmZceDZlXHg2NFwxNDFceDcyXDE3MSIsICJceDIzXDY3XHg2NVx4MzhcMTQ1XHgzOVwxNDQiKSwgNCA9PiBhcnJheSgiXDE2M1x4NjVcMTQzXDE1N1wxNTZcMTQ0XHg2MVx4NzJceDc5IiwgIlw0M1w2N1x4NjVceDM4XHg2NVx4MzlcMTQ0IikpOyB9IGVsc2UgeyAkckNvbG91cnMgPSBhcnJheSgxID0+IGFycmF5KCJceDcwXHg3NVx4NzJceDcwXHg2Y1wxNDUiLCAiXDQzXHgzNlw2N1w2NVx4NjRcMTQyXDY3IiksIDIgPT4gYXJyYXkoIlx4NzNceDc1XHg2M1wxNDNcMTQ1XDE2M1x4NzMiLCAiXHgyM1x4MzJcNjNceDYyXHgzM1x4MzlceDM3IiksIDMgPT4gYXJyYXkoIlwxNjBceDY5XHg2ZVx4NmIiLCAiXHgyM1wxNDVcNjNcNjZceDM0XDcxXDcwIiksIDQgPT4gYXJyYXkoIlx4NjlcMTU2XDE0Nlx4NmYiLCAiXDQzXHgzNVx4MzZcMTAzXHgzM1wxMDRcNjYiKSk7IH0gZ290byBNV0ExWTsgc3NkaXo6IGluY2x1ZGUgIlx4NjZcMTY1XDE1Nlx4NjNcMTY0XDE1MVwxNTdcMTU2XDE2M1w1Nlx4NzBcMTUwXDE2MCI7IGdvdG8ga0dsa087IFB6YXBROiAkcXVlcnkgPSAkZGItPnF1ZXJ5KCJcMTIzXHg0NVwxMTRceDQ1XHg0M1wxMjRcNDBceDJhXDQwXHg2NlwxNjJcMTU3XHg2ZFw0MFx4NjJcMTU3XHg3NVx4NzFceDc1XHg2NVwxNjRcMTYzXHgzYiIpOyBnb3RvIGlkUXd2OyByaG9LaDogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXDEyM1x4NDVcMTE0XDEwNVx4NDNceDU0XHgyMFw1Mlw0MFwxNDZceDcyXHg2ZlwxNTVcNDBceDczXDE2NFwxNjJcMTQ1XDE0MVwxNTVcMTYzXHg1ZlwxNjBceDcyXDE1N1x4NzZcMTUxXHg2NFx4NjVceDcyXHg3M1w2Mlw3MyIpOyBnb3RvIFRsTGFzOyBLWjM3ZDogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXDEyM1x4NDVceDRjXHg0NVwxMDNcMTI0XDQwXHgyYVw0MFwxNDZcMTYyXHg2Zlx4NmRceDIwXDE2NVwxNjNceDY1XHg3MlwxNjNceDIwXDE2N1wxNTBceDY1XHg3MlwxNDVceDIwXDE1MVwxNjNcMTM3XDE0NVx4MzJceDIwXHgzZFx4MjBceDMxXHgzYiIpOyBnb3RvIFdia1NDOyBhWlpwMDogaWYgKCRyU2V0dGluZ3NbIlx4NzNcMTUxXDE0NFx4NjVcMTQyXDE0MVwxNjIiXSkgeyBpbmNsdWRlICJcMTUwXHg2NVx4NjFcMTQ0XDE0NVwxNjJceDVmXDE2M1wxNTFceDY0XHg2NVwxNDJceDYxXDE2Mlw1NlwxNjBceDY4XHg3MCI7IH0gZWxzZSB7IGluY2x1ZGUgIlwxNTBceDY1XHg2MVx4NjRceDY1XDE2Mlx4MmVcMTYwXHg2OFwxNjAiOyB9IGdvdG8gS3lDRHQ7IFdia1NDOiAkZW5pZ21hMiA9ICRxdWVyeS0+bnVtX3Jvd3M7IGdvdG8gaFhER3c7IElYamxiOiBpZiAoJHJTZXR0aW5nc1siXHg3M1wxNDFcMTY2XDE0NVwxMzdceDYzXHg2Y1wxNTdcMTYzXHg2NVwxNDRceDVmXDE0M1x4NmZceDZlXHg2ZVx4NjVceDYzXDE2NFx4NjlcMTU3XDE1NiJdICYmICRyQWRtaW5TZXR0aW5nc1siXDE0NFwxNDFceDczXHg2OFx4NjJcMTU3XDE0MVwxNjJcMTQ0XDEzN1wxNjNceDc0XDE0MVx4NzRceDczIl0pIHsgPz4KCQlmdW5jdGlvbiBzZXRQZXJpb2QoclBlcmlvZCkgewoJCQlpZiAoKHdpbmRvdy5yRGF0ZXNbclBlcmlvZF1bMF0pICYmICh3aW5kb3cuckRhdGVzW3JQZXJpb2RdWzFdKSkgewoJCQkJd2luZG93LnJPcHRpb25zWyJ4YXhpcyJdWyJtaW4iXSA9IHdpbmRvdy5yRGF0ZXNbclBlcmlvZF1bMF0qMTAwMDsKCQkJCXdpbmRvdy5yT3B0aW9uc1sieGF4aXMiXVsibWF4Il0gPSB3aW5kb3cuckRhdGVzW3JQZXJpb2RdWzFdKjEwMDA7CgkJCQl3aW5kb3cuckNoYXJ0LnVwZGF0ZU9wdGlvbnMod2luZG93LnJPcHRpb25zKTsKCQkJCSQoIi5hcGV4Y2hhcnRzLXpvb20taW4taWNvbiIpLnRyaWdnZXIoJ2NsaWNrJyk7CgkJCQkkKCIuYXBleGNoYXJ0cy16b29tLW91dC1pY29uIikudHJpZ2dlcignY2xpY2snKTsKCQkJfSBlbHNlIHsKCQkJCXdpbmRvdy5yT3B0aW9uc1sieGF4aXMiXVsibWluIl0gPSB1bmRlZmluZWQ7CgkJCQl3aW5kb3cuck9wdGlvbnNbInhheGlzIl1bIm1heCJdID0gdW5kZWZpbmVkOwoJCQkJd2luZG93LnJDaGFydC51cGRhdGVPcHRpb25zKHdpbmRvdy5yT3B0aW9ucyk7CgkJCX0KCQl9CiAgICAgICAgCgkJZnVuY3Rpb24gZ2V0Q2hhcnQoKSB7CgkJCXJVUkwgPSAiLi9hcGkucGhwP2FjdGlvbj1jaGFydF9zdGF0cyI7CgkJCSQuZ2V0SlNPTihyVVJMLCBmdW5jdGlvbihyU3RhdGlzdGljcykgewoJCQkJd2luZG93LnJEYXRlcyA9IHJTdGF0aXN0aWNzWyJkYXRlcyJdOwoJCQkJd2luZG93LnJPcHRpb25zID0gewoJCQkJCWNoYXJ0OiB7CgkJCQkJCWhlaWdodDogMzUwLAoJCQkJCQl0eXBlOiAiYXJlYSIsCgkJCQkJCXN0YWNrZWQ6IGZhbHNlLAoJCQkJCQl6b29tOiB7CgkJCQkJCQl0eXBlOiAneCcsCgkJCQkJCQllbmFibGVkOiB0cnVlLAoJCQkJCQkJYXV0b1NjYWxlWWF4aXM6IHRydWUKCQkJCQkJfQoJCQkJCX0sCgkJCQkJY29sb3JzOiBbIiM1NmMyZDYiXSwKCQkJCQlkYXRhTGFiZWxzOiB7CgkJCQkJCWVuYWJsZWQ6IGZhbHNlCgkJCQkJfSwKCQkJCQlzdHJva2U6IHsKCQkJCQkJd2lkdGg6IFsyXSwKCQkJCQkJY3VydmU6ICJzbW9vdGgiCgkJCQkJfSwKCQkJCQlzZXJpZXM6IFt7CgkJCQkJCW5hbWU6ICJPcGVuIENvbm5lY3Rpb25zIiwKCQkJCQkJZGF0YTogclN0YXRpc3RpY3NbImRhdGEiXVsiY29ubnMiXQoJCQkJCX1dLAoJCQkJCWZpbGw6IHsKCQkJCQkJdHlwZTogImdyYWRpZW50IiwgCgkJCQkJCWdyYWRpZW50OiB7CgkJCQkJCQlvcGFjaXR5RnJvbTogLjYsCgkJCQkJCQlvcGFjaXR5VG86IC44CgkJCQkJCX0KCQkJCQl9LAoJCQkJCXhheGlzOiB7CgkJCQkJCXR5cGU6ICJkYXRldGltZSIsCgkJCQkJCW1pbjogd2luZG93LnJEYXRlc1snZGF5J11bMF0qMTAwMCwKCQkJCQkJbWF4OiB3aW5kb3cuckRhdGVzWydkYXknXVsxXSoxMDAwCgkJCQkJfSwKCQkJCQl0b29sdGlwOiB7CgkJCQkJICB5OiB7CgkJCQkJCWZvcm1hdHRlcjogZnVuY3Rpb24odmFsdWUsIHsgc2VyaWVzLCBzZXJpZXNJbmRleCwgZGF0YVBvaW50SW5kZXgsIHcgfSkgewoJCQkJCQkgIHJldHVybiBwYXJzZUludCh2YWx1ZSkKCQkJCQkJfQoJCQkJCSAgfQoJCQkJCX0KCQkJCX07CgkJCQkod2luZG93LnJDaGFydCA9IG5ldyBBcGV4Q2hhcnRzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzdGF0aXN0aWNzIiksIHdpbmRvdy5yT3B0aW9ucykpLnJlbmRlcigpOwoJCQkJJCgiLmFwZXhjaGFydHMtem9vbS1pbi1pY29uIikudHJpZ2dlcignY2xpY2snKTsKCQkJCSQoIi5hcGV4Y2hhcnRzLXpvb20tb3V0LWljb24iKS50cmlnZ2VyKCdjbGljaycpOwoJCQl9KTsKCQl9CgkJPD9waHAgIH0gZ290byBkR2RMWjsgS3lDRHQ6IGlmICgkclNldHRpbmdzWyJcMTYzXDE1MVwxNDRcMTQ1XHg2MlwxNDFceDcyIl0pIHsgPz4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXBhZ2UiPjxkaXYgY2xhc3M9ImNvbnRlbnQiPjxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPD9waHAgIH0gZWxzZSB7ID8+CiAgICAgICAgPGRpdiBjbGFzcz0id3JhcHBlciI+PGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8P3BocCAgfSBnb3RvIHJMa1ZTOyBrRDBjXzogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXDEyM1x4NDVcMTE0XHg0NVwxMDNcMTI0XDQwXDUyXHgyMFwxNDZcMTYyXHg2ZlwxNTVcNDBceDczXHg2NVx4NzJceDY5XDE0NVx4NzNceDNiIik7IGdvdG8gdTRxa1Y7IEF5VVJMOiAkdm9kID0gJHF1ZXJ5LT5udW1fcm93czsgZ290byBrRDBjXzsgTnc5QWk6ICRxdWVyeSA9ICRkYi0+cXVlcnkoIlwxMjNceDQ1XHg0Y1wxMDVcMTAzXDEyNFw0MFw1Mlw0MFx4NjZcMTYyXHg2Zlx4NmRcNDBcMTYzXDE2NFx4NzJcMTQ1XHg2MVx4NmRceDczXDEzN1x4NzBceDcyXHg2ZlwxNjZceDY5XHg2NFx4NjVceDcyXDE2M1w2M1w3MyIpOyBnb3RvIHh6M29JOyBBVkIxazogaWYgKCRyQWRtaW5TZXR0aW5nc1siXHg2NFx4NjFcMTYzXHg2OFx4NjJcMTU3XHg2MVx4NzJcMTQ0XDEzN1wxNjdcMTU3XHg3Mlx4NmNcMTQ0XDEzN1x4NmRceDYxXDE2MFwxMzdcMTQxXDE0M1wxNjRceDY5XDE2NlwxNTFcMTY0XHg3OSJdKSB7ID8+CgkJCQl2YXIgbWFwRGF0YSA9IHNob3dNYXAoIldvcmxkTWFwQWN0aXZpdHkiLCBbPD9waHAgIGdldFdvcmxkTWFwQWN0aXZpdHkoKTsgPz4KXSwgIkFjdGl2aXR5IGJ5IENvdW50cnkiKTsKCQk8P3BocCAgfSBnb3RvIFFtMTg4OyB4SHB2TTogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXHg1M1x4NDVcMTE0XDEwNVx4NDNceDU0XHgyMFx4MmFcNDBceDY2XHg3Mlx4NmZcMTU1XDQwXHg3M1x4NzRcMTYyXHg2NVx4NjFceDZkXDE2M1w0MFwxNjdcMTUwXDE0NVx4NzJcMTQ1XHgyMFx4NzRcMTcxXHg3MFwxNDVceDIwXDc1XHgyMFx4MzFceDNiIik7IGdvdG8gcHRwZ2c7IEc5eEdyOiBpZiAoJHJBZG1pblNldHRpbmdzWyJcMTQ0XDE0MVwxNjNcMTUwXDE0Mlx4NmZceDYxXDE2MlwxNDRcMTM3XHg3N1x4NmZcMTYyXHg2Y1x4NjRceDVmXDE1NVwxNDFceDcwXHg1ZlwxNTRceDY5XHg3Nlx4NjUiXSkgeyA/PgoJCQkJdmFyIG1hcERhdGEgPSBzaG93TWFwKCJXb3JsZE1hcExpdmUiLCBbPD9waHAgIGdldFdvcmxkTWFwTGl2ZSgpOyA/PgpdLCAiTGl2ZSBieSBDb3VudHJ5Iik7CgkJPD9waHAgIH0gZ290byBKTk5lMzsgaWRRd3Y6ICRib3VxdWV0cyA9ICRxdWVyeS0+bnVtX3Jvd3M7IGdvdG8geTh3Tmk7IFN6WHJ3OiBpbmNsdWRlICJcMTYzXDE0NVx4NzNceDczXHg2OVx4NmZceDZlXDU2XHg3MFwxNTBcMTYwIjsgZ290byBzc2Rpejsga0dsa086IGlmICghJHJQZXJtaXNzaW9uc1siXHg2OVx4NzNceDVmXHg2MVwxNDRceDZkXHg2OVwxNTYiXSkgeyBoZWFkZXIoIlwxMTRcMTU3XHg2M1wxNDFcMTY0XDE1MVwxNTdceDZlXHgzYVw0MFw1Nlw1N1x4NzJceDY1XDE2M1x4NjVceDZjXHg2Y1x4NjVcMTYyXHgyZVwxNjBcMTUwXHg3MCIpOyB9IGdvdG8gcGViT2k7IGJ0YXVuOiBpZiAoJHJTZXR0aW5nc1siXHg3M1wxNDFceDc2XHg2NVwxMzdcMTQzXHg2Y1x4NmZcMTYzXDE0NVwxNDRceDVmXHg2M1x4NmZcMTU2XDE1NlwxNDVceDYzXHg3NFx4NjlceDZmXDE1NiJdICYmICRyQWRtaW5TZXR0aW5nc1siXDE0NFwxNDFceDczXHg2OFx4NjJceDZmXDE0MVwxNjJceDY0XHg1Zlx4NzNcMTY0XDE0MVx4NzRcMTYzIl0pIHsgPz4KCQkJZ2V0Q2hhcnQoKTsKCQkJPD9waHAgIH0gZ290byBvWHE2STsgY1VhMEo6ICRxdWVyeSA9ICRkYi0+cXVlcnkoIlx4NTNceDQ1XHg0Y1x4NDVcMTAzXDEyNFw0MFx4MmFcNDBcMTQ2XDE2MlwxNTdcMTU1XHgyMFwxNjJcMTQ1XDE0N1x4NWZceDc1XHg3M1x4NjVceDcyXDE2M1x4M2IiKTsgZ290byB3al9GVjsgREpEYlg6ID8+CiAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQgY29udGFpbmVyIC0tPgogICAgICAgIDwvZGl2PgogICAgICAgIDwhLS0gZW5kIHdyYXBwZXIgLS0+CiAgICAgICAgPD9waHAgIGdvdG8gR3ZkWjI7IFB5TmVvOiAkcXVlcnkgPSAkZGItPnF1ZXJ5KCJceDUzXHg0NVx4NGNcMTA1XDEwM1x4NTRceDIwXDUyXHgyMFwxNDZcMTYyXHg2Zlx4NmRceDIwXHg3M1x4NzRceDcyXHg2NVx4NjFcMTU1XHg2OVwxNTZceDY3XHg1ZlwxNjNceDY1XDE2Mlx4NzZceDY1XHg3MlwxNjNcNDBcMTY3XDE1MFwxNDVcMTYyXDE0NVx4MjBceDczXDE2NFx4NjFcMTY0XDE2NVwxNjNcNDBcNzVcNDBceDMyXDczIik7IGdvdG8gZmR4R287IEd2ZFoyOiBpZiAoJHJTZXR0aW5nc1siXHg3M1x4NjlcMTQ0XHg2NVwxNDJceDYxXHg3MiJdKSB7IGVjaG8gIlw3NFx4MmZcMTQ0XDE1MVx4NzZceDNlIjsgfSBnb3RvIHExRDI2OyBlQkN3NzogJHJhZGlvID0gJHF1ZXJ5LT5udW1fcm93czsgZ290byBkeFhVazsgcTFEMjY6ID8+CiAgICAgICAgPCEtLSBGb290ZXIgU3RhcnQgLS0+CiAgICAgICAgPGZvb3RlciBjbGFzcz0iZm9vdGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIGNvcHlyaWdodCB0ZXh0LWNlbnRlciI+PD9waHAgIGdvdG8gS0NhQjI7IHJZMjJrOiAkcXVlcnkgPSAkZGItPnF1ZXJ5KCJceDUzXHg0NVx4NGNcMTA1XDEwM1wxMjRcNDBceDJhXDQwXDE0Nlx4NzJceDZmXDE1NVw0MFx4NzNcMTY0XHg3MlwxNDVcMTQxXDE1NVwxNjNceDVmXDE2MFwxNjJcMTU3XDE2Nlx4NjlcMTQ0XDE0NVx4NzJceDczXDczIik7IGdvdG8gbUU4VlI7IHNDWDBIOiAkcXVlcnkgPSAkZGItPnF1ZXJ5KCJcMTIzXHg0NVwxMTRcMTA1XDEwM1x4NTRcNDBcNTJcNDBcMTQ2XHg3Mlx4NmZcMTU1XHgyMFwxNjNcMTY0XDE2Mlx4NjVceDYxXHg2ZFx4NzNcNDBcMTY3XDE1MFx4NjVceDcyXHg2NVx4MjBcMTY0XDE3MVx4NzBceDY1XHgyMFx4M2RcNDBceDMyXHgzYiIpOyBnb3RvIEF5VVJMOyBNV0ExWTogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXDEyM1x4NDVcMTE0XDEwNVx4NDNcMTI0XHgyMFw1Mlx4MjBcMTQ2XDE2Mlx4NmZcMTU1XDQwXDE2NVwxNjNcMTQ1XHg3Mlx4NzNcNDBceDc3XDE1MFx4NjVcMTYyXDE0NVx4MjBceDY5XDE2M1wxMzdceDZkXDE0MVx4NjdcNDBceDNkXHgyMFx4MzFceDNiIik7IGdvdG8gSnMxS287IEpzMUtvOiAkZGV2aWNlc21hZyA9IG15c3FsaV9udW1fcm93cygkcXVlcnkpOyBnb3RvIEtaMzdkOyBUbExhczogJHVzZXIgPSAkcXVlcnktPm51bV9yb3dzOyBnb3RvIE53OUFpOyB3al9GVjogJHJlc2VsbGVyID0gJHF1ZXJ5LT5udW1fcm93czsgZ290byBLODJzTDsgZmR4R286ICRvZmZfc2VydmVyID0gJHF1ZXJ5LT5udW1fcm93czsgZ290byBjVWEwSjsgeHozb0k6ICRsaW5laWQgPSAkcXVlcnktPm51bV9yb3dzOyBnb3RvIGFaWnAwOyB5OHdOaTogJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiXDEyM1x4NDVceDRjXDEwNVwxMDNceDU0XHgyMFw1Mlx4MjBcMTQ2XDE2Mlx4NmZceDZkXHgyMFwxNjNceDc0XHg3Mlx4NjVceDYxXDE1NVx4NzNceDIwXDE2N1wxNTBcMTQ1XHg3Mlx4NjVceDIwXHg3NFx4NzlceDcwXDE0NVw0MFw3NVx4MjBceDM0XDczIik7IGdvdG8gZUJDdzc7IEtDYUIyOiBlY2hvIGdldEZvb3RlcigpOyBnb3RvIHFRTzFkOyBRbTE4ODogPz4KICAgICAgICA8L3NjcmlwdD4KICAgIDwvYm9keT4KPC9odG0=')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 2e496658abd54a3280a3fce0c9ee170e
Eval Count 1
Decode Time 225 ms