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("PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1..

Decoded Output download

?>b'<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IT Asset Management</title>
<link href=\'<?php echo base_url("assets/img/favicon.ico"); ?>\' rel=\'shortcut icon\' type=\'image/x-icon\'/>
<link href="<?php echo base_url(\'assets/css/font-awesome.min.css\'); ?>" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(\'assets/css/bootstrap.min.css\'); ?>" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(\'assets/css/web/animate.css\'); ?>" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(\'assets/css/web/admin.css\'); ?>" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<?php echo base_url(\'assets/js/plugins/jQuery/jQuery-2.1.3.min.js\'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url(\'assets/js/plugins/jQuery/jQuery-2.1.3.min.js\'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url(\'assets/js/plugins/ckeditor/ckeditor.js\'); ?>"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
<script>
var ckeditor = CKEDITOR.replace(\'form_ticket_question\',{
	height:\'800px\'
  weigt : \'800px\'
});
CKEDITOR.disableAutoInline = true;
CKEDITOR.inline(\'editable\');
</script>
<script type="text/javascript">
$(document).ready(function(){
  $("#kategori").change(function(){
      load_inv();
        });  
  });
$(document).ready(function(){
    $(".combobox").combobox();
});
function load_inv(){ 
    var group = $(\'#group\').val();  
    var kategori=$("#kategori").val();
    $.ajax({
        url:"<?php echo base_url(\'web/tampil_inv\');?>",
        data: "kategori=" + kategori+"&group="+group,        
        type  : \'GET\',
        success: function(html) { 
           $("#inventaris").html(html);       
        }
    });
}
</script>
</head>
<body class="light_theme  fixed_header left_nav_fixed">
<div class="wrapper">
  <div class="header_bar">   
    <div class="header_top_bar">
    <h4>Suzuki Sejahtera Group</h4><br/>
      <div class="top_right_bar">
        <div class="top_right">
        </div>
        
      </div>
    </div>
  </div>
  <div class="inner">
    <div class="contentpanel">
        <div class="container clear_both padding_fix">
        <div class="row">
          <div class="col-md-5">
			     <?php
                echo form_open(\'web/addticket\');
            ?>  
            <div class="ticket_form">
              <div class="btn-group"> <a href="javascript:void(0)" class="btn btn-sm ticket_btn">Perbaikan</a> </div>
              <div class="btn-group"> <a href="<?php echo base_url(\'login\');?>" class="btn btn-sm ticket_btn">Login</a> </div> 
              <div class="btn-group"> <a href="<?php echo base_url(\'web\');?>" class="btn btn-sm ticket_btn">Home</a> </div> 
              <br/>
              <br/>
              <h3><span class="semi-bold">Permohonan Perbaikan Aset IT</span></h3>
              <h4><span class="semi-bold">SIMITA (SIstem Managemen IT Aset) v.2.5</span></h4>
              <p>Buat Permohonan Perbaikan untuk Inventaris Anda, Masukan Nomor Inventaris dan berikan informasi keluhan anda</p>
              <div class="ticket_option">
                <div class="form_ticket_subject"> <span class="semi-bold">Group Inventory</span>
                  <div class="input-group ">
  					       <select name="group" class="form-control" id="group">                    
                      <?php
                        if (!empty($group)) {
  									       foreach ($group as $row) {
                            echo "<option value=\'$row->gid\'>".strtoupper($row->nama_group)."</option>";
                          }
                        }
                      ?>
                    </select>                             
                    <?php echo form_error(\'group\', \'<div class="text-red">\', \'</div>\'); ?>
                  </div>
                </div>              
                <div class="form_ticket_subject"> <span class="semi-bold">Type Inventory</span>
                  <div class="input-group">
                   <select name="kategori" class="form-control" id="kategori" >  
          						<option value="" selected="selected">- Jenis Inventaris -</option>                 
          						<option value="Laptop">LAPTOP</option> 
          						<option value="Komputer">KOMPUTER</option> 
          						<option value="Monitor">MONITOR</option> 
          						<option value="Printer">PRINTER</option> 
          						<option value="Network">NETWORK DEVICE</option> 
                    </select>                             
                    <?php echo form_error(\'kategori\', \'<div class="text-red">\', \'</div>\'); ?>        
                  </div>
                </div>
              </div>
              
              <div class="ticket_option">
                <div class="form_ticket_subject"><span class="semi-bold">No. Inventory</span>
                    <div class="input-group">
                     <select name="inventaris" class="form-control" id="inventaris"> 
                        <option value="" selected="selected">- Pilih No.Inventaris -</option>
                      </select>                        
                    </div> 
                    <?php echo form_error(\'inventaris\', \'<div class="text-red">\', \'</div>\'); ?>                      
                </div> 
				      <div class="form_ticket_subject"> <span class="semi-bold">Nama Pemohon</span>
                  <div class="">
                    <div class="input-group">
                      <input type="text" onkeyup="this.value = this.value.toUpperCase()" name="pemohon" class="form-control" required oninvalid="setCustomValidity(\'Nama Pemohon masih kosong\')" oninput="setCustomValidity(\'\')" placeholder="Masukan nama anda" >
                    </div>
                  </div>
                  <?php echo form_error(\'pemohon\', \'<div class="text-red">\', \'</div>\'); ?>
                </div>
              </div>		
              <div class="ticket_option_detail"><br><span class="semi-bold">Detail Permasalahan</span>
                <div class="input-group">
                 <textarea name="catatan" placeholder="Isi detail permasalahan" required oninvalid="setCustomValidity(\'Catatan Pemohon Harus di Isi !\')"
                  oninput="setCustomValidity(\'\')" class="ckeditor"></textarea>
                </div>
                <?php echo form_error(\'catatan\', \'<div class="text-red">\', \'</div>\'); ?><br>
                <div class="btn-group">
                <button type="submit" name="submit" class="btn ticket_btn"><i class="fas fa-paper-plane"></i> Kirim</button> 
              </div><br><br>
              </div>
              
              <p><p><span style="color: #999999;"><em>CopyRight&nbsp;&copy; 2017-2019 - <a href="mailto:[email protected]" target="_blank">Ahmad Sopian</a> | App Version : 2.5 build 052019</em></span></p></p>
            </div>
			     </form>
          </div>
          <div class="col-md-7">
            <div class="ticket_open">
              <div class="ticket_open_heading">
                <h3 class="pull-left"><span class="semi-bold">Open Ticket</span></h3>
                <div class="ticket_open_search">                  
                  <div class="input-group pull-left">
                    <input type="text" placeholder="Search Open Ticket ..." class="form-control">
                  </div>
                </div>
              </div>
              <div class="clearfix"></div>
              <div class="ticket_open_grid"><b class="pull-right">5 Data Load</b> <span class="ticket_open_grid_progress">Page Limits</span> </div>
              <?php 
              if ($ticket->num_rows()>0){
                foreach ($ticket->result() as $key =>$r) {
                  echo \'
                      <a href="\'.site_url(\'web/openticket/\'.$r->no_permohonan).\'" class="ticket_open_comment">
                        <div class="btn-group"><i class="fa fa-user"></i></div>
                        <span>\'.strtoupper($r->nama_pemohon),\' / \',$r->no_inventaris.\'</span>                        
                        <p>\'.$r->catatan_pemohon.\'</p>
                        <p>catatan perbaikan : <font color="#A4A4A4"><b>menunggu respon IT</font></p></b>
                        <div class="ticket_action"> <p>status : <font color="orange">\'.$r->status.\'</p></font>
                        </div>                      
                    </a>
                  \';
                }
                echo $paging;
              }else{
                echo\'
                  <div class="alert alert-success alert-dismissable">                
                    <h4><i  class="icon fa fa-check"></i> Status Open Ticket Masih Kosong</h4>
                    
                  </div>
                \';
              }
              ?>
            </div>
            <!-- Tiket On Progress -->
            <div class="ticket_open">
              <div class="ticket_open_heading">
                <h3 class="pull-left"><span class="semi-bold">On Progress</span></h3>
                <div class="ticket_open_search">                  
                  <div class="input-group pull-left">
                    <input type="text" placeholder="Search On Progress ..." class="form-control">
                  </div>
                </div>
              </div>
              <div class="clearfix"></div>
              <?php 
              if ($ticketprogress->num_rows()>0){
                foreach ($ticketprogress->result() as $key =>$r) {
                  echo \'
                      <a href="\'.site_url(\'web/openticket/\'.$r->no_permohonan).\'" class="ticket_open_comment">
                        <div class="btn-group"><i class="fa fa-user"></i></div>
                        <span>\'.strtoupper($r->nama_pemohon),\' / \',$r->no_inventaris.\'</span>                        
                        <p>\'.$r->catatan_pemohon.\'</p>
                        <p>catatan perbaikan : <font color="red"><b>\'.$r->catatan_perbaikan.\'</font></p></b>
                        <div class="ticket_action"> <p>status : <font color="blue">\'.$r->status.\'</p></font>
                          
                        </div>                      
                    </a>
                  \';
                }
                echo $paging;
              }else{
                echo\'
                  <div class="alert alert-success alert-dismissable">                
                    <h4><i  class="icon fa fa-check"></i> Status On Progress Ticket Masih Kosong</h4>
                    
                  </div>
                \';
              }
              ?>
            </div>
            <!-- Akhir Tiket On Progress -->
            <div class="ticket_open">
              <div class="ticket_open_heading">
                <h3 class="pull-left"><span class="semi-bold">Closed Ticket</span></h3>
                <div class="ticket_open_search">
                  <div class="input-group pull-left">
                    <input type="text" class="form-control" placeholder="Search closed Ticket ...">
                  </div>
                </div>
              </div>
              <div class="clearfix"></div>
              
              <?php 
              if ($ticketclose->num_rows()>0){
                foreach ($ticketclose->result() as $key =>$r) {
                  echo \'
                      <a href="\'.site_url(\'web/openticket/\'.$r->no_permohonan).\'" class="ticket_open_comment">
                        <div class="btn-group"><i class="fa fa-user"></i></div>
                        <span>\'.strtoupper($r->nama_pemohon),\' / \',$r->no_inventaris.\'</span>                        
                        <p>\'.$r->catatan_pemohon.\'</p>
                        <p>catatan dari IT : <font color="#40FF00"><b>\'.$r->catatan_perbaikan.\'</font></p></b>
                        <div class="ticket_action"><p>status : <i class="fa fa-check-square-o" aria-hidden="true" style="color:green"></i></i><font color="#40FF00">\'.$r->status.\'</p></font>
                        </div>                      
                    </a>
                  \';
                }                
              }else{
                echo\'
                  <div class="alert alert-success alert-dismissable">                
                    <h4><i  class="icon fa fa-check"></i> Data Close Ticket Masih Kosong</h4>
                    
                  </div>
                \';
              }
              ?>
            </div>
          </div>
        </div>
      </div>
      <!--\\ container  end \\-->
    </div>
    <!--\\ content panel end \\-->
  </div>
  <!--\\ inner end\\-->
</div>
<!--\\ wrapper end\\-->
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="myModalLabel">Compose New Task</h4>
      </div>
      <div class="modal-body"> content </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>
<!-- sidebar chats -->
<nav class="atm-spmenu atm-spmenu-vertical atm-spmenu-right side-chat">
	<div class="header">
    <input type="text" class="form-control chat-search" placeholder=" Search">
  </div>
  <div href="#" class="sub-header">
    <div class="icon"><i class="fa fa-user"></i></div> <p>Online (4)</p>
  </div>
  <div class="content">
    <p class="title">Family</p>
    <ul class="nav nav-pills nav-stacked contacts">
      <li class="online"><a href="#"><i class="fa fa-circle-o"></i> Steven Smith</a></li>
      <li class="online"><a href="#"><i class="fa fa-circle-o"></i> John Doe</a></li>
      <li class="online"><a href="#"><i class="fa fa-circle-o"></i> Michael Smith</a></li>
      <li class="busy"><a href="#"><i class="fa fa-circle-o"></i> Chris Rogers</a></li>
    </ul>
    
    <p class="title">Friends</p>
    <ul class="nav nav-pills nav-stacked contacts">
      <li class="online"><a href="#"><i class="fa fa-circle-o"></i> Vernon Philander</a></li>
      <li class="outside"><a href="#"><i class="fa fa-circle-o"></i> Kyle Abbott</a></li>
      <li><a href="#"><i class="fa fa-circle-o"></i> Dean Elgar</a></li>
    </ul>   
    
    <p class="title">Work</p>
    <ul class="nav nav-pills nav-stacked contacts">
      <li><a href="#"><i class="fa fa-circle-o"></i> Dale Steyn</a></li>
      <li><a href="#"><i class="fa fa-circle-o"></i> Morne Morkel</a></li>
    </ul>
    
  </div>
  <div id="chat-box">
    <div class="header">
      <span>Richard Avedon</span>
      <a class="close"><i class="fa fa-times"></i></a>    </div>
    <div class="messages nano nscroller has-scrollbar">
      <div class="content" tabindex="0" style="right: -17px;">
        <ul class="conversation">
          <li class="odd">
            <p>Hi John, how are you?</p>
          </li>
          <li class="text-right">
            <p>Hello I am also fine</p>
          </li>
          <li class="odd">
            <p>Tell me what about you?</p>
          </li>
          <li class="text-right">
            <p>Sorry, I\'m late... see you</p>
          </li>
          <li class="odd unread">
            <p>OK, call me later...</p>
          </li>
        </ul>
      </div>
    <div class="pane" style="display: none;"><div class="slider" style="height: 20px; top: 0px;"></div></div></div>
    <div class="chat-input">
      <div class="input-group">
        <input type="text" placeholder="Enter a message..." class="form-control">
        <span class="input-group-btn">
        <button class="btn btn-danger" type="button">Send</button>
        </span>      </div>
    </div>
  </div>
</nav>
<!-- /sidebar chats -->   
<script src="<?php echo base_url(\'assets/js/common-script.js\'); ?>"></script>
</body>
</html>
'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+DQo8dGl0bGU+SVQgQXNzZXQgTWFuYWdlbWVudDwvdGl0bGU+DQo8bGluayBocmVmPSc8P3BocCBlY2hvIGJhc2VfdXJsKCJhc3NldHMvaW1nL2Zhdmljb24uaWNvIik7ID8+JyByZWw9J3Nob3J0Y3V0IGljb24nIHR5cGU9J2ltYWdlL3gtaWNvbicvPg0KPGxpbmsgaHJlZj0iPD9waHAgZWNobyBiYXNlX3VybCgnYXNzZXRzL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcycpOyA/PiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2Fzc2V0cy9jc3MvYm9vdHN0cmFwLm1pbi5jc3MnKTsgPz4iIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSI8P3BocCBlY2hvIGJhc2VfdXJsKCdhc3NldHMvY3NzL3dlYi9hbmltYXRlLmNzcycpOyA/PiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2Fzc2V0cy9jc3Mvd2ViL2FkbWluLmNzcycpOyA/PiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2Fzc2V0cy9qcy9wbHVnaW5zL2pRdWVyeS9qUXVlcnktMi4xLjMubWluLmpzJyk7ID8+Ij48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2Fzc2V0cy9qcy9wbHVnaW5zL2pRdWVyeS9qUXVlcnktMi4xLjMubWluLmpzJyk7ID8+Ij48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2Fzc2V0cy9qcy9wbHVnaW5zL2NrZWRpdG9yL2NrZWRpdG9yLmpzJyk7ID8+Ij48L3NjcmlwdD4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UuZm9udGF3ZXNvbWUuY29tL3JlbGVhc2VzL3Y1LjguMi9jc3MvYWxsLmNzcyIgaW50ZWdyaXR5PSJzaGEzODQtb1MzdkpXdiswVWp6QmZRellVaHREWVcrUGoyeWNpREp4cHNLMU9ZUEFZanFUMDg1UXEvMWNxNUZMWEFaUTdBeSIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+DQo8c2NyaXB0Pg0KdmFyIGNrZWRpdG9yID0gQ0tFRElUT1IucmVwbGFjZSgnZm9ybV90aWNrZXRfcXVlc3Rpb24nLHsNCgloZWlnaHQ6JzgwMHB4Jw0KICB3ZWlndCA6ICc4MDBweCcNCn0pOw0KQ0tFRElUT1IuZGlzYWJsZUF1dG9JbmxpbmUgPSB0cnVlOw0KQ0tFRElUT1IuaW5saW5lKCdlZGl0YWJsZScpOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KICAkKCIja2F0ZWdvcmkiKS5jaGFuZ2UoZnVuY3Rpb24oKXsNCiAgICAgIGxvYWRfaW52KCk7DQogICAgICAgIH0pOyAgDQogIH0pOw0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAkKCIuY29tYm9ib3giKS5jb21ib2JveCgpOw0KfSk7DQpmdW5jdGlvbiBsb2FkX2ludigpeyANCiAgICB2YXIgZ3JvdXAgPSAkKCcjZ3JvdXAnKS52YWwoKTsgIA0KICAgIHZhciBrYXRlZ29yaT0kKCIja2F0ZWdvcmkiKS52YWwoKTsNCiAgICAkLmFqYXgoew0KICAgICAgICB1cmw6Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ3dlYi90YW1waWxfaW52Jyk7Pz4iLA0KICAgICAgICBkYXRhOiAia2F0ZWdvcmk9IiArIGthdGVnb3JpKyImZ3JvdXA9Iitncm91cCwgICAgICAgIA0KICAgICAgICB0eXBlICA6ICdHRVQnLA0KICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihodG1sKSB7IA0KICAgICAgICAgICAkKCIjaW52ZW50YXJpcyIpLmh0bWwoaHRtbCk7ICAgICAgIA0KICAgICAgICB9DQogICAgfSk7DQp9DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJsaWdodF90aGVtZSAgZml4ZWRfaGVhZGVyIGxlZnRfbmF2X2ZpeGVkIj4NCjxkaXYgY2xhc3M9IndyYXBwZXIiPg0KICA8ZGl2IGNsYXNzPSJoZWFkZXJfYmFyIj4gICANCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXJfdG9wX2JhciI+DQogICAgPGg0PlN1enVraSBTZWphaHRlcmEgR3JvdXA8L2g0Pjxici8+DQogICAgICA8ZGl2IGNsYXNzPSJ0b3BfcmlnaHRfYmFyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0idG9wX3JpZ2h0Ij4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgPGRpdiBjbGFzcz0iY29udGVudHBhbmVsIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGNsZWFyX2JvdGggcGFkZGluZ19maXgiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC01Ij4NCgkJCSAgICAgPD9waHANCiAgICAgICAgICAgICAgICBlY2hvIGZvcm1fb3Blbignd2ViL2FkZHRpY2tldCcpOw0KICAgICAgICAgICAgPz4gIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlja2V0X2Zvcm0iPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPiA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJidG4gYnRuLXNtIHRpY2tldF9idG4iPlBlcmJhaWthbjwvYT4gPC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+IDxhIGhyZWY9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ2xvZ2luJyk7Pz4iIGNsYXNzPSJidG4gYnRuLXNtIHRpY2tldF9idG4iPkxvZ2luPC9hPiA8L2Rpdj4gDQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+IDxhIGhyZWY9Ijw/cGhwIGVjaG8gYmFzZV91cmwoJ3dlYicpOz8+IiBjbGFzcz0iYnRuIGJ0bi1zbSB0aWNrZXRfYnRuIj5Ib21lPC9hPiA8L2Rpdj4gDQogICAgICAgICAgICAgIDxici8+DQogICAgICAgICAgICAgIDxici8+DQogICAgICAgICAgICAgIDxoMz48c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5QZXJtb2hvbmFuIFBlcmJhaWthbiBBc2V0IElUPC9zcGFuPjwvaDM+DQogICAgICAgICAgICAgIDxoND48c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5TSU1JVEEgKFNJc3RlbSBNYW5hZ2VtZW4gSVQgQXNldCkgdi4yLjU8L3NwYW4+PC9oND4NCiAgICAgICAgICAgICAgPHA+QnVhdCBQZXJtb2hvbmFuIFBlcmJhaWthbiB1bnR1ayBJbnZlbnRhcmlzIEFuZGEsIE1hc3VrYW4gTm9tb3IgSW52ZW50YXJpcyBkYW4gYmVyaWthbiBpbmZvcm1hc2kga2VsdWhhbiBhbmRhPC9wPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3B0aW9uIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX3RpY2tldF9zdWJqZWN0Ij4gPHNwYW4gY2xhc3M9InNlbWktYm9sZCI+R3JvdXAgSW52ZW50b3J5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAgIj4NCiAgCQkJCQkgICAgICAgPHNlbGVjdCBuYW1lPSJncm91cCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9Imdyb3VwIj4gICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRncm91cCkpIHsNCiAgCQkJCQkJCQkJICAgICAgIGZvcmVhY2ggKCRncm91cCBhcyAkcm93KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJHJvdy0+Z2lkJz4iLnN0cnRvdXBwZXIoJHJvdy0+bmFtYV9ncm91cCkuIjwvb3B0aW9uPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8P3BocCBlY2hvIGZvcm1fZXJyb3IoJ2dyb3VwJywgJzxkaXYgY2xhc3M9InRleHQtcmVkIj4nLCAnPC9kaXY+Jyk7ID8+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm1fdGlja2V0X3N1YmplY3QiPiA8c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5UeXBlIEludmVudG9yeTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4NCiAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9ImthdGVnb3JpIiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0ia2F0ZWdvcmkiID4gIA0KICAgICAgICAgIAkJCQkJCTxvcHRpb24gdmFsdWU9IiIgc2VsZWN0ZWQ9InNlbGVjdGVkIj4tIEplbmlzIEludmVudGFyaXMgLTwvb3B0aW9uPiAgICAgICAgICAgICAgICAgDQogICAgICAgICAgCQkJCQkJPG9wdGlvbiB2YWx1ZT0iTGFwdG9wIj5MQVBUT1A8L29wdGlvbj4gDQogICAgICAgICAgCQkJCQkJPG9wdGlvbiB2YWx1ZT0iS29tcHV0ZXIiPktPTVBVVEVSPC9vcHRpb24+IA0KICAgICAgICAgIAkJCQkJCTxvcHRpb24gdmFsdWU9Ik1vbml0b3IiPk1PTklUT1I8L29wdGlvbj4gDQogICAgICAgICAgCQkJCQkJPG9wdGlvbiB2YWx1ZT0iUHJpbnRlciI+UFJJTlRFUjwvb3B0aW9uPiANCiAgICAgICAgICAJCQkJCQk8b3B0aW9uIHZhbHVlPSJOZXR3b3JrIj5ORVRXT1JLIERFVklDRTwvb3B0aW9uPiANCiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPD9waHAgZWNobyBmb3JtX2Vycm9yKCdrYXRlZ29yaScsICc8ZGl2IGNsYXNzPSJ0ZXh0LXJlZCI+JywgJzwvZGl2PicpOyA/PiAgICAgICAgDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIA0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3B0aW9uIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX3RpY2tldF9zdWJqZWN0Ij48c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5Oby4gSW52ZW50b3J5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9ImludmVudGFyaXMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJpbnZlbnRhcmlzIj4gDQogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiIHNlbGVjdGVkPSJzZWxlY3RlZCI+LSBQaWxpaCBOby5JbnZlbnRhcmlzIC08L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgICAgICAgICAgICA8P3BocCBlY2hvIGZvcm1fZXJyb3IoJ2ludmVudGFyaXMnLCAnPGRpdiBjbGFzcz0idGV4dC1yZWQiPicsICc8L2Rpdj4nKTsgPz4gICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPC9kaXY+IA0KCQkJCSAgICAgIDxkaXYgY2xhc3M9ImZvcm1fdGlja2V0X3N1YmplY3QiPiA8c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5OYW1hIFBlbW9ob248L3NwYW4+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9InRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRvVXBwZXJDYXNlKCkiIG5hbWU9InBlbW9ob24iIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHJlcXVpcmVkIG9uaW52YWxpZD0ic2V0Q3VzdG9tVmFsaWRpdHkoJ05hbWEgUGVtb2hvbiBtYXNpaCBrb3NvbmcnKSIgb25pbnB1dD0ic2V0Q3VzdG9tVmFsaWRpdHkoJycpIiBwbGFjZWhvbGRlcj0iTWFzdWthbiBuYW1hIGFuZGEiID4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDw/cGhwIGVjaG8gZm9ybV9lcnJvcigncGVtb2hvbicsICc8ZGl2IGNsYXNzPSJ0ZXh0LXJlZCI+JywgJzwvZGl2PicpOyA/Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4JCQ0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3B0aW9uX2RldGFpbCI+PGJyPjxzcGFuIGNsYXNzPSJzZW1pLWJvbGQiPkRldGFpbCBQZXJtYXNhbGFoYW48L3NwYW4+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPg0KICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT0iY2F0YXRhbiIgcGxhY2Vob2xkZXI9IklzaSBkZXRhaWwgcGVybWFzYWxhaGFuIiByZXF1aXJlZCBvbmludmFsaWQ9InNldEN1c3RvbVZhbGlkaXR5KCdDYXRhdGFuIFBlbW9ob24gSGFydXMgZGkgSXNpICEnKSINCiAgICAgICAgICAgICAgICAgIG9uaW5wdXQ9InNldEN1c3RvbVZhbGlkaXR5KCcnKSIgY2xhc3M9ImNrZWRpdG9yIj48L3RleHRhcmVhPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDw/cGhwIGVjaG8gZm9ybV9lcnJvcignY2F0YXRhbicsICc8ZGl2IGNsYXNzPSJ0ZXh0LXJlZCI+JywgJzwvZGl2PicpOyA/Pjxicj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPg0KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIGNsYXNzPSJidG4gdGlja2V0X2J0biI+PGkgY2xhc3M9ImZhcyBmYS1wYXBlci1wbGFuZSI+PC9pPiBLaXJpbTwvYnV0dG9uPiANCiAgICAgICAgICAgICAgPC9kaXY+PGJyPjxicj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIA0KICAgICAgICAgICAgICA8cD48cD48c3BhbiBzdHlsZT0iY29sb3I6ICM5OTk5OTk7Ij48ZW0+Q29weVJpZ2h0Jm5ic3A7JmNvcHk7IDIwMTctMjAxOSAtIDxhIGhyZWY9Im1haWx0bzpzaG9weWFuLmRlc2lnbkBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5BaG1hZCBTb3BpYW48L2E+IHwgQXBwIFZlcnNpb24gOiAyLjUgYnVpbGQgMDUyMDE5PC9lbT48L3NwYW4+PC9wPjwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KCQkJICAgICA8L2Zvcm0+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTciPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlja2V0X29wZW4iPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3Blbl9oZWFkaW5nIj4NCiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1bGwtbGVmdCI+PHNwYW4gY2xhc3M9InNlbWktYm9sZCI+T3BlbiBUaWNrZXQ8L3NwYW4+PC9oMz4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3Blbl9zZWFyY2giPiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAgcHVsbC1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJTZWFyY2ggT3BlbiBUaWNrZXQgLi4uIiBjbGFzcz0iZm9ybS1jb250cm9sIj4NCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3Blbl9ncmlkIj48YiBjbGFzcz0icHVsbC1yaWdodCI+NSBEYXRhIExvYWQ8L2I+IDxzcGFuIGNsYXNzPSJ0aWNrZXRfb3Blbl9ncmlkX3Byb2dyZXNzIj5QYWdlIExpbWl0czwvc3Bhbj4gPC9kaXY+DQogICAgICAgICAgICAgIDw/cGhwIA0KICAgICAgICAgICAgICBpZiAoJHRpY2tldC0+bnVtX3Jvd3MoKT4wKXsNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdGlja2V0LT5yZXN1bHQoKSBhcyAka2V5ID0+JHIpIHsNCiAgICAgICAgICAgICAgICAgIGVjaG8gJw0KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Iicuc2l0ZV91cmwoJ3dlYi9vcGVudGlja2V0LycuJHItPm5vX3Blcm1vaG9uYW4pLiciIGNsYXNzPSJ0aWNrZXRfb3Blbl9jb21tZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+PGkgY2xhc3M9ImZhIGZhLXVzZXIiPjwvaT48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPicuc3RydG91cHBlcigkci0+bmFtYV9wZW1vaG9uKSwnIC8gJywkci0+bm9faW52ZW50YXJpcy4nPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jy4kci0+Y2F0YXRhbl9wZW1vaG9uLic8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD5jYXRhdGFuIHBlcmJhaWthbiA6IDxmb250IGNvbG9yPSIjQTRBNEE0Ij48Yj5tZW51bmdndSByZXNwb24gSVQ8L2ZvbnQ+PC9wPjwvYj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpY2tldF9hY3Rpb24iPiA8cD5zdGF0dXMgOiA8Zm9udCBjb2xvcj0ib3JhbmdlIj4nLiRyLT5zdGF0dXMuJzwvcD48L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVjaG8gJHBhZ2luZzsNCiAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobycNCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiPiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPGg0PjxpICBjbGFzcz0iaWNvbiBmYSBmYS1jaGVjayI+PC9pPiBTdGF0dXMgT3BlbiBUaWNrZXQgTWFzaWggS29zb25nPC9oND4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAnOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgID8+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwhLS0gVGlrZXQgT24gUHJvZ3Jlc3MgLS0+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3BlbiI+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpY2tldF9vcGVuX2hlYWRpbmciPg0KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVsbC1sZWZ0Ij48c3BhbiBjbGFzcz0ic2VtaS1ib2xkIj5PbiBQcm9ncmVzczwvc3Bhbj48L2gzPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpY2tldF9vcGVuX3NlYXJjaCI+ICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCBwdWxsLWxlZnQiPg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBPbiBQcm9ncmVzcyAuLi4iIGNsYXNzPSJmb3JtLWNvbnRyb2wiPg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQogICAgICAgICAgICAgIDw/cGhwIA0KICAgICAgICAgICAgICBpZiAoJHRpY2tldHByb2dyZXNzLT5udW1fcm93cygpPjApew0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0aWNrZXRwcm9ncmVzcy0+cmVzdWx0KCkgYXMgJGtleSA9PiRyKSB7DQogICAgICAgICAgICAgICAgICBlY2hvICcNCiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInLnNpdGVfdXJsKCd3ZWIvb3BlbnRpY2tldC8nLiRyLT5ub19wZXJtb2hvbmFuKS4nIiBjbGFzcz0idGlja2V0X29wZW5fY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjxpIGNsYXNzPSJmYSBmYS11c2VyIj48L2k+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4nLnN0cnRvdXBwZXIoJHItPm5hbWFfcGVtb2hvbiksJyAvICcsJHItPm5vX2ludmVudGFyaXMuJzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPicuJHItPmNhdGF0YW5fcGVtb2hvbi4nPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+Y2F0YXRhbiBwZXJiYWlrYW4gOiA8Zm9udCBjb2xvcj0icmVkIj48Yj4nLiRyLT5jYXRhdGFuX3BlcmJhaWthbi4nPC9mb250PjwvcD48L2I+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfYWN0aW9uIj4gPHA+c3RhdHVzIDogPGZvbnQgY29sb3I9ImJsdWUiPicuJHItPnN0YXR1cy4nPC9wPjwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVjaG8gJHBhZ2luZzsNCiAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgZWNobycNCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiPiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPGg0PjxpICBjbGFzcz0iaWNvbiBmYSBmYS1jaGVjayI+PC9pPiBTdGF0dXMgT24gUHJvZ3Jlc3MgVGlja2V0IE1hc2loIEtvc29uZzwvaDQ+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgJzsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICA/Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8IS0tIEFraGlyIFRpa2V0IE9uIFByb2dyZXNzIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlja2V0X29wZW4iPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWNrZXRfb3Blbl9oZWFkaW5nIj4NCiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1bGwtbGVmdCI+PHNwYW4gY2xhc3M9InNlbWktYm9sZCI+Q2xvc2VkIFRpY2tldDwvc3Bhbj48L2gzPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpY2tldF9vcGVuX3NlYXJjaCI+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCBwdWxsLWxlZnQiPg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBjbG9zZWQgVGlja2V0IC4uLiI+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4NCiAgICAgICAgICAgICAgDQogICAgICAgICAgICAgIDw/cGhwIA0KICAgICAgICAgICAgICBpZiAoJHRpY2tldGNsb3NlLT5udW1fcm93cygpPjApew0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0aWNrZXRjbG9zZS0+cmVzdWx0KCkgYXMgJGtleSA9PiRyKSB7DQogICAgICAgICAgICAgICAgICBlY2hvICcNCiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInLnNpdGVfdXJsKCd3ZWIvb3BlbnRpY2tldC8nLiRyLT5ub19wZXJtb2hvbmFuKS4nIiBjbGFzcz0idGlja2V0X29wZW5fY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjxpIGNsYXNzPSJmYSBmYS11c2VyIj48L2k+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4nLnN0cnRvdXBwZXIoJHItPm5hbWFfcGVtb2hvbiksJyAvICcsJHItPm5vX2ludmVudGFyaXMuJzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPicuJHItPmNhdGF0YW5fcGVtb2hvbi4nPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+Y2F0YXRhbiBkYXJpIElUIDogPGZvbnQgY29sb3I9IiM0MEZGMDAiPjxiPicuJHItPmNhdGF0YW5fcGVyYmFpa2FuLic8L2ZvbnQ+PC9wPjwvYj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpY2tldF9hY3Rpb24iPjxwPnN0YXR1cyA6IDxpIGNsYXNzPSJmYSBmYS1jaGVjay1zcXVhcmUtbyIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJjb2xvcjpncmVlbiI+PC9pPjwvaT48Zm9udCBjb2xvcj0iIzQwRkYwMCI+Jy4kci0+c3RhdHVzLic8L3A+PC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAnOw0KICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIGVjaG8nDQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1zdWNjZXNzIGFsZXJ0LWRpc21pc3NhYmxlIj4gICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDxoND48aSAgY2xhc3M9Imljb24gZmEgZmEtY2hlY2siPjwvaT4gRGF0YSBDbG9zZSBUaWNrZXQgTWFzaWggS29zb25nPC9oND4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAnOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgID8+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICAgIDwhLS1cXFwgY29udGFpbmVyICBlbmQgXFxcLS0+DQogICAgPC9kaXY+DQogICAgPCEtLVxcXCBjb250ZW50IHBhbmVsIGVuZCBcXFwtLT4NCiAgPC9kaXY+DQogIDwhLS1cXFwgaW5uZXIgZW5kXFxcLS0+DQo8L2Rpdj4NCjwhLS1cXFwgd3JhcHBlciBlbmRcXFwtLT4NCjwhLS0gTW9kYWwgLS0+DQo8ZGl2IGNsYXNzPSJtb2RhbCBmYWRlIiBpZD0ibXlNb2RhbCIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+DQogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvYnV0dG9uPg0KICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj5Db21wb3NlIE5ldyBUYXNrPC9oND4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+IGNvbnRlbnQgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPg0KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgZGF0YS1kaXNtaXNzPSJtb2RhbCI+Q2xvc2U8L2J1dHRvbj4NCiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlNhdmUgY2hhbmdlczwvYnV0dG9uPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQo8IS0tIHNpZGViYXIgY2hhdHMgLS0+DQo8bmF2IGNsYXNzPSJhdG0tc3BtZW51IGF0bS1zcG1lbnUtdmVydGljYWwgYXRtLXNwbWVudS1yaWdodCBzaWRlLWNoYXQiPg0KCTxkaXYgY2xhc3M9ImhlYWRlciI+DQogICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wgY2hhdC1zZWFyY2giIHBsYWNlaG9sZGVyPSIgU2VhcmNoIj4NCiAgPC9kaXY+DQogIDxkaXYgaHJlZj0iIyIgY2xhc3M9InN1Yi1oZWFkZXIiPg0KICAgIDxkaXYgY2xhc3M9Imljb24iPjxpIGNsYXNzPSJmYSBmYS11c2VyIj48L2k+PC9kaXY+IDxwPk9ubGluZSAoNCk8L3A+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCiAgICA8cCBjbGFzcz0idGl0bGUiPkZhbWlseTwvcD4NCiAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LXN0YWNrZWQgY29udGFjdHMiPg0KICAgICAgPGxpIGNsYXNzPSJvbmxpbmUiPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1jaXJjbGUtbyI+PC9pPiBTdGV2ZW4gU21pdGg8L2E+PC9saT4NCiAgICAgIDxsaSBjbGFzcz0ib25saW5lIj48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gSm9obiBEb2U8L2E+PC9saT4NCiAgICAgIDxsaSBjbGFzcz0ib25saW5lIj48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gTWljaGFlbCBTbWl0aDwvYT48L2xpPg0KICAgICAgPGxpIGNsYXNzPSJidXN5Ij48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gQ2hyaXMgUm9nZXJzPC9hPjwvbGk+DQogICAgPC91bD4NCiAgICANCiAgICA8cCBjbGFzcz0idGl0bGUiPkZyaWVuZHM8L3A+DQogICAgPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIG5hdi1zdGFja2VkIGNvbnRhY3RzIj4NCiAgICAgIDxsaSBjbGFzcz0ib25saW5lIj48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gVmVybm9uIFBoaWxhbmRlcjwvYT48L2xpPg0KICAgICAgPGxpIGNsYXNzPSJvdXRzaWRlIj48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gS3lsZSBBYmJvdHQ8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gRGVhbiBFbGdhcjwvYT48L2xpPg0KICAgIDwvdWw+ICAgDQogICAgDQogICAgPHAgY2xhc3M9InRpdGxlIj5Xb3JrPC9wPg0KICAgIDx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtc3RhY2tlZCBjb250YWN0cyI+DQogICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWNpcmNsZS1vIj48L2k+IERhbGUgU3RleW48L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtY2lyY2xlLW8iPjwvaT4gTW9ybmUgTW9ya2VsPC9hPjwvbGk+DQogICAgPC91bD4NCiAgICANCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImNoYXQtYm94Ij4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPg0KICAgICAgPHNwYW4+UmljaGFyZCBBdmVkb248L3NwYW4+DQogICAgICA8YSBjbGFzcz0iY2xvc2UiPjxpIGNsYXNzPSJmYSBmYS10aW1lcyI+PC9pPjwvYT4gICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0ibWVzc2FnZXMgbmFubyBuc2Nyb2xsZXIgaGFzLXNjcm9sbGJhciI+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50IiB0YWJpbmRleD0iMCIgc3R5bGU9InJpZ2h0OiAtMTdweDsiPg0KICAgICAgICA8dWwgY2xhc3M9ImNvbnZlcnNhdGlvbiI+DQogICAgICAgICAgPGxpIGNsYXNzPSJvZGQiPg0KICAgICAgICAgICAgPHA+SGkgSm9obiwgaG93IGFyZSB5b3U/PC9wPg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4NCiAgICAgICAgICAgIDxwPkhlbGxvIEkgYW0gYWxzbyBmaW5lPC9wPg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpIGNsYXNzPSJvZGQiPg0KICAgICAgICAgICAgPHA+VGVsbCBtZSB3aGF0IGFib3V0IHlvdT88L3A+DQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGkgY2xhc3M9InRleHQtcmlnaHQiPg0KICAgICAgICAgICAgPHA+U29ycnksIEknbSBsYXRlLi4uIHNlZSB5b3U8L3A+DQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGkgY2xhc3M9Im9kZCB1bnJlYWQiPg0KICAgICAgICAgICAgPHA+T0ssIGNhbGwgbWUgbGF0ZXIuLi48L3A+DQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhbmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PGRpdiBjbGFzcz0ic2xpZGVyIiBzdHlsZT0iaGVpZ2h0OiAyMHB4OyB0b3A6IDBweDsiPjwvZGl2PjwvZGl2PjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNoYXQtaW5wdXQiPg0KICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPg0KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIGEgbWVzc2FnZS4uLiIgY2xhc3M9ImZvcm0tY29udHJvbCI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhbmdlciIgdHlwZT0iYnV0dG9uIj5TZW5kPC9idXR0b24+DQogICAgICAgIDwvc3Bhbj4gICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L25hdj4NCjwhLS0gL3NpZGViYXIgY2hhdHMgLS0+ICAgDQo8c2NyaXB0IHNyYz0iPD9waHAgZWNobyBiYXNlX3VybCgnYXNzZXRzL2pzL2NvbW1vbi1zY3JpcHQuanMnKTsgPz4iPjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg0K")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 84337665bff5183e08bf5b25c5346e8f
Eval Count 1
Decode Time 106 ms