HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/confeduphaar/public_html/wp-content/plugins/wp-rocket/assets/js/wpr-admin.js
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";

var $ = jQuery;
$(document).ready(function () {
  /**
   * Refresh License data
   */
  var _isRefreshing = false;
  $('#wpr-action-refresh_account').on('click', function (e) {
    if (!_isRefreshing) {
      var button = $(this);
      var account = $('#wpr-account-data');
      var expire = $('#wpr-expiration-data');
      e.preventDefault();
      _isRefreshing = true;
      button.trigger('blur');
      button.addClass('wpr-isLoading');
      expire.removeClass('wpr-isValid wpr-isInvalid');
      $.post(ajaxurl, {
        action: 'rocket_refresh_customer_data',
        _ajax_nonce: rocket_ajax_data.nonce
      }, function (response) {
        button.removeClass('wpr-isLoading');
        button.addClass('wpr-isHidden');

        if (true === response.success) {
          account.html(response.data.license_type);
          expire.addClass(response.data.license_class).html(response.data.license_expiration);
          setTimeout(function () {
            button.removeClass('wpr-icon-refresh wpr-isHidden');
            button.addClass('wpr-icon-check');
          }, 250);
        } else {
          setTimeout(function () {
            button.removeClass('wpr-icon-refresh wpr-isHidden');
            button.addClass('wpr-icon-close');
          }, 250);
        }

        setTimeout(function () {
          var vTL = new TimelineLite({
            onComplete: function () {
              _isRefreshing = false;
            }
          }).set(button, {
            css: {
              className: '+=wpr-isHidden'
            }
          }).set(button, {
            css: {
              className: '-=wpr-icon-check'
            }
          }, 0.25).set(button, {
            css: {
              className: '-=wpr-icon-close'
            }
          }).set(button, {
            css: {
              className: '+=wpr-icon-refresh'
            }
          }, 0.25).set(button, {
            css: {
              className: '-=wpr-isHidden'
            }
          });
        }, 2000);
      });
    }

    return false;
  });
  /**
   * Save Toggle option values on change
   */

  $('.wpr-radio input[type=checkbox]').on('change', function (e) {
    e.preventDefault();
    var name = $(this).attr('id');
    var value = $(this).prop('checked') ? 1 : 0;
    var excluded = ['cloudflare_auto_settings', 'cloudflare_devmode'];

    if (excluded.indexOf(name) >= 0) {
      return;
    }

    $.post(ajaxurl, {
      action: 'rocket_toggle_option',
      _ajax_nonce: rocket_ajax_data.nonce,
      option: {
        name: name,
        value: value
      }
    }, function (response) {});
  });
  /**
      * Save enable CPCSS for mobiles option.
      */

  $('#wpr-action-rocket_enable_mobile_cpcss').on('click', function (e) {
    e.preventDefault();
    $('#wpr-action-rocket_enable_mobile_cpcss').addClass('wpr-isLoading');
    $.post(ajaxurl, {
      action: 'rocket_enable_mobile_cpcss',
      _ajax_nonce: rocket_ajax_data.nonce
    }, function (response) {
      if (response.success) {
        // Hide Mobile CPCSS btn on success.
        $('#wpr-action-rocket_enable_mobile_cpcss').hide();
        $('.wpr-hide-on-click').hide();
        $('.wpr-show-on-click').show();
        $('#wpr-action-rocket_enable_mobile_cpcss').removeClass('wpr-isLoading');
      }
    });
  });
  /**
   * Save enable Google Fonts Optimization option.
   */

  $('#wpr-action-rocket_enable_google_fonts').on('click', function (e) {
    e.preventDefault();
    $('#wpr-action-rocket_enable_google_fonts').addClass('wpr-isLoading');
    $.post(ajaxurl, {
      action: 'rocket_enable_google_fonts',
      _ajax_nonce: rocket_ajax_data.nonce
    }, function (response) {
      if (response.success) {
        // Hide Mobile CPCSS btn on success.
        $('#wpr-action-rocket_enable_google_fonts').hide();
        $('.wpr-hide-on-click').hide();
        $('.wpr-show-on-click').show();
        $('#wpr-action-rocket_enable_google_fonts').removeClass('wpr-isLoading');
        $('#minify_google_fonts').val(1);
      }
    });
  });
  $('#rocket-dismiss-promotion').on('click', function (e) {
    e.preventDefault();
    $.post(ajaxurl, {
      action: 'rocket_dismiss_promo',
      nonce: rocket_ajax_data.nonce
    }, function (response) {
      if (response.success) {
        $('#rocket-promo-banner').hide('slow');
      }
    });
  });
  $('#rocket-dismiss-renewal').on('click', function (e) {
    e.preventDefault();
    $.post(ajaxurl, {
      action: 'rocket_dismiss_renewal',
      nonce: rocket_ajax_data.nonce
    }, function (response) {
      if (response.success) {
        $('#rocket-renewal-banner').hide('slow');
      }
    });
  });
});

},{}],2:[function(require,module,exports){
"use strict";

require("../lib/greensock/TweenLite.min.js");

require("../lib/greensock/TimelineLite.min.js");

require("../lib/greensock/easing/EasePack.min.js");

require("../lib/greensock/plugins/CSSPlugin.min.js");

require("../lib/greensock/plugins/ScrollToPlugin.min.js");

require("../global/pageManager.js");

require("../global/main.js");

require("../global/fields.js");

require("../global/beacon.js");

require("../global/ajax.js");

require("../global/rocketcdn.js");

require("../global/countdown.js");

},{"../global/ajax.js":1,"../global/beacon.js":3,"../global/countdown.js":4,"../global/fields.js":5,"../global/main.js":6,"../global/pageManager.js":7,"../global/rocketcdn.js":8,"../lib/greensock/TimelineLite.min.js":9,"../lib/greensock/TweenLite.min.js":10,"../lib/greensock/easing/EasePack.min.js":11,"../lib/greensock/plugins/CSSPlugin.min.js":12,"../lib/greensock/plugins/ScrollToPlugin.min.js":13}],3:[function(require,module,exports){
"use strict";

var $ = jQuery;
$(document).ready(function () {
  if ('Beacon' in window) {
    /**
     * Show beacons on button "help" click
     */
    var $help = $('.wpr-infoAction--help');
    $help.on('click', function (e) {
      var ids = $(this).data('beacon-id');
      wprCallBeacon(ids);
      return false;
    });

    function wprCallBeacon(aID) {
      aID = aID.split(',');

      if (aID.length === 0) {
        return;
      }

      if (aID.length > 1) {
        window.Beacon("suggest", aID);
        setTimeout(function () {
          window.Beacon("open");
        }, 200);
      } else {
        window.Beacon("article", aID.toString());
      }
    }
  }
});

},{}],4:[function(require,module,exports){
"use strict";

function getTimeRemaining(endtime) {
  const start = Date.now();
  const total = endtime * 1000 - start;
  const seconds = Math.floor(total / 1000 % 60);
  const minutes = Math.floor(total / 1000 / 60 % 60);
  const hours = Math.floor(total / (1000 * 60 * 60) % 24);
  const days = Math.floor(total / (1000 * 60 * 60 * 24));
  return {
    total,
    days,
    hours,
    minutes,
    seconds
  };
}

function initializeClock(id, endtime) {
  const clock = document.getElementById(id);

  if (clock === null) {
    return;
  }

  const daysSpan = clock.querySelector('.rocket-countdown-days');
  const hoursSpan = clock.querySelector('.rocket-countdown-hours');
  const minutesSpan = clock.querySelector('.rocket-countdown-minutes');
  const secondsSpan = clock.querySelector('.rocket-countdown-seconds');

  function updateClock() {
    const t = getTimeRemaining(endtime);

    if (t.total < 0) {
      clearInterval(timeinterval);
      return;
    }

    daysSpan.innerHTML = t.days;
    hoursSpan.innerHTML = ('0' + t.hours).slice(-2);
    minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
    secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);
  }

  updateClock();
  const timeinterval = setInterval(updateClock, 1000);
}

function rucssTimer(id, endtime) {
  const timer = document.getElementById(id);
  const notice = document.getElementById('rocket-notice-rucss-processing');
  const success = document.getElementById('rocket-notice-rucss-success');

  if (timer === null) {
    return;
  }

  function updateTimer() {
    const start = Date.now();
    const remaining = Math.floor((endtime * 1000 - start) / 1000);

    if (remaining <= 0) {
      clearInterval(timerInterval);

      if (notice !== null) {
        notice.classList.add('hidden');
      }

      if (success !== null) {
        success.classList.remove('hidden');
      }

      const data = new FormData();
      data.append('action', 'rocket_spawn_cron');
      data.append('nonce', rocket_ajax_data.nonce);
      fetch(ajaxurl, {
        method: 'POST',
        credentials: 'same-origin',
        body: data
      });
      return;
    }

    timer.innerHTML = remaining;
  }

  updateTimer();
  const timerInterval = setInterval(updateTimer, 1000);
}

if (!Date.now) {
  Date.now = function now() {
    return new Date().getTime();
  };
}

if (typeof rocket_ajax_data.promo_end !== 'undefined') {
  initializeClock('rocket-promo-countdown', rocket_ajax_data.promo_end);
}

if (typeof rocket_ajax_data.license_expiration !== 'undefined') {
  initializeClock('rocket-renew-countdown', rocket_ajax_data.license_expiration);
}

if (typeof rocket_ajax_data.notice_end_time !== 'undefined') {
  rucssTimer('rocket-rucss-timer', rocket_ajax_data.notice_end_time);
}

},{}],5:[function(require,module,exports){
"use strict";

var $ = jQuery;
$(document).ready(function () {
  /***
  * Check parent / show children
  ***/
  function wprShowChildren(aElem) {
    var parentId, $children;
    aElem = $(aElem);
    parentId = aElem.attr('id');
    $children = $('[data-parent="' + parentId + '"]'); // Test check for switch

    if (aElem.is(':checked')) {
      $children.addClass('wpr-isOpen');
      $children.each(function () {
        if ($(this).find('input[type=checkbox]').is(':checked')) {
          var id = $(this).find('input[type=checkbox]').attr('id');
          $('[data-parent="' + id + '"]').addClass('wpr-isOpen');
        }
      });
    } else {
      $children.removeClass('wpr-isOpen');
      $children.each(function () {
        var id = $(this).find('input[type=checkbox]').attr('id');
        $('[data-parent="' + id + '"]').removeClass('wpr-isOpen');
      });
    }
  }
  /**
   * Tell if the given child field has an active parent field.
   *
   * @param  object $field A jQuery object of a ".wpr-field" field.
   * @return bool|null
   */


  function wprIsParentActive($field) {
    var $parent;

    if (!$field.length) {
      // ¯\_(ツ)_/¯
      return null;
    }

    $parent = $field.data('parent');

    if (typeof $parent !== 'string') {
      // This field has no parent field: then we can display it.
      return true;
    }

    $parent = $parent.replace(/^\s+|\s+$/g, '');

    if ('' === $parent) {
      // This field has no parent field: then we can display it.
      return true;
    }

    $parent = $('#' + $parent);

    if (!$parent.length) {
      // This field's parent is missing: let's consider it's not active then.
      return false;
    }

    if (!$parent.is(':checked') && $parent.is('input')) {
      // This field's parent is checkbox and not checked: don't display the field then.
      return false;
    }

    if (!$parent.hasClass('radio-active') && $parent.is('button')) {
      // This field's parent button and is not active: don't display the field then.
      return false;
    } // Go recursive to the last parent.


    return wprIsParentActive($parent.closest('.wpr-field'));
  } // Display/Hide childern fields on checkbox change.


  $('.wpr-isParent input[type=checkbox]').on('change', function () {
    wprShowChildren($(this));
  }); // On page load, display the active fields.

  $('.wpr-field--children').each(function () {
    var $field = $(this);

    if (wprIsParentActive($field)) {
      $field.addClass('wpr-isOpen');
    }
  });
  /***
  * Warning fields
  ***/

  var $warningParent = $('.wpr-field--parent');
  var $warningParentInput = $('.wpr-field--parent input[type=checkbox]'); // If already checked

  $warningParentInput.each(function () {
    wprShowChildren($(this));
  });
  $warningParent.on('change', function () {
    wprShowWarning($(this));
  });

  function wprShowWarning(aElem) {
    var $warningField = aElem.next('.wpr-fieldWarning'),
        $thisCheckbox = aElem.find('input[type=checkbox]'),
        $nextWarning = aElem.parent().next('.wpr-warningContainer'),
        $nextFields = $nextWarning.find('.wpr-field'),
        parentId = aElem.find('input[type=checkbox]').attr('id'),
        $children = $('[data-parent="' + parentId + '"]'); // Check warning parent

    if ($thisCheckbox.is(':checked')) {
      $warningField.addClass('wpr-isOpen');
      $thisCheckbox.prop('checked', false);
      aElem.trigger('change');
      var $warningButton = $warningField.find('.wpr-button'); // Validate the warning

      $warningButton.on('click', function () {
        $thisCheckbox.prop('checked', true);
        $warningField.removeClass('wpr-isOpen');
        $children.addClass('wpr-isOpen'); // If next elem = disabled

        if ($nextWarning.length > 0) {
          $nextFields.removeClass('wpr-isDisabled');
          $nextFields.find('input').prop('disabled', false);
        }

        return false;
      });
    } else {
      $nextFields.addClass('wpr-isDisabled');
      $nextFields.find('input').prop('disabled', true);
      $nextFields.find('input[type=checkbox]').prop('checked', false);
      $children.removeClass('wpr-isOpen');
    }
  }
  /**
   * CNAMES add/remove lines
   */


  $(document).on('click', '.wpr-multiple-close', function (e) {
    e.preventDefault();
    $(this).parent().slideUp('slow', function () {
      $(this).remove();
    });
  });
  $('.wpr-button--addMulti').on('click', function (e) {
    e.preventDefault();
    $($('#wpr-cname-model').html()).appendTo('#wpr-cnames-list');
  });
  /***
   * Wpr Radio button
   ***/

  var disable_radio_warning = false;
  $(document).on('click', '.wpr-radio-buttons-container button', function (e) {
    e.preventDefault();

    if ($(this).hasClass('radio-active')) {
      return false;
    }

    var $parent = $(this).parents('.wpr-radio-buttons');
    $parent.find('.wpr-radio-buttons-container button').removeClass('radio-active');
    $parent.find('.wpr-extra-fields-container').removeClass('wpr-isOpen');
    $parent.find('.wpr-fieldWarning').removeClass('wpr-isOpen');
    $(this).addClass('radio-active');
    wprShowRadioWarning($(this));
  });

  function wprShowRadioWarning($elm) {
    disable_radio_warning = false;
    $elm.trigger("before_show_radio_warning", [$elm]);

    if (!$elm.hasClass('has-warning') || disable_radio_warning) {
      wprShowRadioButtonChildren($elm);
      $elm.trigger("radio_button_selected", [$elm]);
      return false;
    }

    var $warningField = $('[data-parent="' + $elm.attr('id') + '"].wpr-fieldWarning');
    $warningField.addClass('wpr-isOpen');
    var $warningButton = $warningField.find('.wpr-button'); // Validate the warning

    $warningButton.on('click', function () {
      $warningField.removeClass('wpr-isOpen');
      wprShowRadioButtonChildren($elm);
      $elm.trigger("radio_button_selected", [$elm]);
      return false;
    });
  }

  function wprShowRadioButtonChildren($elm) {
    var $parent = $elm.parents('.wpr-radio-buttons');
    var $children = $('.wpr-extra-fields-container[data-parent="' + $elm.attr('id') + '"]');
    $children.addClass('wpr-isOpen');
  }
  /***
   * Wpr Optimize Css Delivery Field
   ***/


  var rucssActive = parseInt($('#remove_unused_css').val());
  $("#optimize_css_delivery_method .wpr-radio-buttons-container button").on("radio_button_selected", function (event, $elm) {
    toggleActiveOptimizeCssDeliveryMethod($elm);
  });
  $("#optimize_css_delivery").on("change", function () {
    if ($(this).is(":not(:checked)")) {
      disableOptimizeCssDelivery();
    } else {
      var default_radio_button_id = '#' + $('#optimize_css_delivery_method').data('default');
      $(default_radio_button_id).trigger('click');
    }
  });

  function toggleActiveOptimizeCssDeliveryMethod($elm) {
    var optimize_method = $elm.data('value');

    if ('remove_unused_css' === optimize_method) {
      $('#remove_unused_css').val(1);
      $('#async_css').val(0);
    } else {
      $('#remove_unused_css').val(0);
      $('#async_css').val(1);
    }
  }

  function disableOptimizeCssDelivery() {
    $('#remove_unused_css').val(0);
    $('#async_css').val(0);
  }

  $("#optimize_css_delivery_method .wpr-radio-buttons-container button").on("before_show_radio_warning", function (event, $elm) {
    disable_radio_warning = 'remove_unused_css' === $elm.data('value') && 1 === rucssActive;
  });
});

},{}],6:[function(require,module,exports){
"use strict";

var $ = jQuery;
$(document).ready(function () {
  /***
  * Dashboard notice
  ***/
  var $notice = $('.wpr-notice');
  var $noticeClose = $('#wpr-congratulations-notice');
  $noticeClose.on('click', function () {
    wprCloseDashboardNotice();
    return false;
  });

  function wprCloseDashboardNotice() {
    var vTL = new TimelineLite().to($notice, 1, {
      autoAlpha: 0,
      x: 40,
      ease: Power4.easeOut
    }).to($notice, 0.6, {
      height: 0,
      marginTop: 0,
      ease: Power4.easeOut
    }, '=-.4').set($notice, {
      'display': 'none'
    });
  }
  /**
   * Rocket Analytics notice info collect
   */


  $('.rocket-analytics-data-container').hide();
  $('.rocket-preview-analytics-data').on('click', function (e) {
    e.preventDefault();
    $(this).parent().next('.rocket-analytics-data-container').toggle();
  });
  /***
  * Hide / show Rocket addon tabs.
  ***/

  $('.wpr-toggle-button').each(function () {
    var $button = $(this);
    var $checkbox = $button.closest('.wpr-fieldsContainer-fieldset').find('.wpr-radio :checkbox');
    var $menuItem = $('[href="' + $button.attr('href') + '"].wpr-menuItem');
    $checkbox.on('change', function () {
      if ($checkbox.is(':checked')) {
        $menuItem.css('display', 'block');
        $button.css('display', 'inline-block');
      } else {
        $menuItem.css('display', 'none');
        $button.css('display', 'none');
      }
    }).trigger('change');
  });
  /***
  * Show popin analytics
  ***/

  var $wprAnalyticsPopin = $('.wpr-Popin-Analytics'),
      $wprPopinOverlay = $('.wpr-Popin-overlay'),
      $wprAnalyticsClosePopin = $('.wpr-Popin-Analytics-close'),
      $wprAnalyticsPopinButton = $('.wpr-Popin-Analytics .wpr-button'),
      $wprAnalyticsOpenPopin = $('.wpr-js-popin');
  $wprAnalyticsOpenPopin.on('click', function (e) {
    e.preventDefault();
    wprOpenAnalytics();
    return false;
  });
  $wprAnalyticsClosePopin.on('click', function (e) {
    e.preventDefault();
    wprCloseAnalytics();
    return false;
  });
  $wprAnalyticsPopinButton.on('click', function (e) {
    e.preventDefault();
    wprActivateAnalytics();
    return false;
  });

  function wprOpenAnalytics() {
    var vTL = new TimelineLite().set($wprAnalyticsPopin, {
      'display': 'block'
    }).set($wprPopinOverlay, {
      'display': 'block'
    }).fromTo($wprPopinOverlay, 0.6, {
      autoAlpha: 0
    }, {
      autoAlpha: 1,
      ease: Power4.easeOut
    }).fromTo($wprAnalyticsPopin, 0.6, {
      autoAlpha: 0,
      marginTop: -24
    }, {
      autoAlpha: 1,
      marginTop: 0,
      ease: Power4.easeOut
    }, '=-.5');
  }

  function wprCloseAnalytics() {
    var vTL = new TimelineLite().fromTo($wprAnalyticsPopin, 0.6, {
      autoAlpha: 1,
      marginTop: 0
    }, {
      autoAlpha: 0,
      marginTop: -24,
      ease: Power4.easeOut
    }).fromTo($wprPopinOverlay, 0.6, {
      autoAlpha: 1
    }, {
      autoAlpha: 0,
      ease: Power4.easeOut
    }, '=-.5').set($wprAnalyticsPopin, {
      'display': 'none'
    }).set($wprPopinOverlay, {
      'display': 'none'
    });
  }

  function wprActivateAnalytics() {
    wprCloseAnalytics();
    $('#analytics_enabled').prop('checked', true);
    $('#analytics_enabled').trigger('change');
  }
  /***
  * Show popin upgrade
  ***/


  var $wprUpgradePopin = $('.wpr-Popin-Upgrade'),
      $wprUpgradeClosePopin = $('.wpr-Popin-Upgrade-close'),
      $wprUpgradeOpenPopin = $('.wpr-popin-upgrade-toggle');
  $wprUpgradeOpenPopin.on('click', function (e) {
    e.preventDefault();
    wprOpenUpgradePopin();
    return false;
  });
  $wprUpgradeClosePopin.on('click', function () {
    wprCloseUpgradePopin();
    return false;
  });

  function wprOpenUpgradePopin() {
    var vTL = new TimelineLite();
    vTL.set($wprUpgradePopin, {
      'display': 'block'
    }).set($wprPopinOverlay, {
      'display': 'block'
    }).fromTo($wprPopinOverlay, 0.6, {
      autoAlpha: 0
    }, {
      autoAlpha: 1,
      ease: Power4.easeOut
    }).fromTo($wprUpgradePopin, 0.6, {
      autoAlpha: 0,
      marginTop: -24
    }, {
      autoAlpha: 1,
      marginTop: 0,
      ease: Power4.easeOut
    }, '=-.5');
  }

  function wprCloseUpgradePopin() {
    var vTL = new TimelineLite();
    vTL.fromTo($wprUpgradePopin, 0.6, {
      autoAlpha: 1,
      marginTop: 0
    }, {
      autoAlpha: 0,
      marginTop: -24,
      ease: Power4.easeOut
    }).fromTo($wprPopinOverlay, 0.6, {
      autoAlpha: 1
    }, {
      autoAlpha: 0,
      ease: Power4.easeOut
    }, '=-.5').set($wprUpgradePopin, {
      'display': 'none'
    }).set($wprPopinOverlay, {
      'display': 'none'
    });
  }
  /***
  * Sidebar on/off
  ***/


  var $wprSidebar = $('.wpr-Sidebar');
  var $wprButtonTips = $('.wpr-js-tips');
  $wprButtonTips.on('change', function () {
    wprDetectTips($(this));
  });

  function wprDetectTips(aElem) {
    if (aElem.is(':checked')) {
      $wprSidebar.css('display', 'block');
      localStorage.setItem('wpr-show-sidebar', 'on');
    } else {
      $wprSidebar.css('display', 'none');
      localStorage.setItem('wpr-show-sidebar', 'off');
    }
  }
  /***
  * Detect Adblock
  ***/


  if (document.getElementById('LKgOcCRpwmAj')) {
    $('.wpr-adblock').css('display', 'none');
  } else {
    $('.wpr-adblock').css('display', 'block');
  }

  var $adblock = $('.wpr-adblock');
  var $adblockClose = $('.wpr-adblock-close');
  $adblockClose.on('click', function () {
    wprCloseAdblockNotice();
    return false;
  });

  function wprCloseAdblockNotice() {
    var vTL = new TimelineLite().to($adblock, 1, {
      autoAlpha: 0,
      x: 40,
      ease: Power4.easeOut
    }).to($adblock, 0.4, {
      height: 0,
      marginTop: 0,
      ease: Power4.easeOut
    }, '=-.4').set($adblock, {
      'display': 'none'
    });
  }
});

},{}],7:[function(require,module,exports){
"use strict";

document.addEventListener('DOMContentLoaded', function () {
  var $pageManager = document.querySelector(".wpr-Content");

  if ($pageManager) {
    new PageManager($pageManager);
  }
});
/*-----------------------------------------------*\
		CLASS PAGEMANAGER
\*-----------------------------------------------*/

/**
 * Manages the display of pages / section for WP Rocket plugin
 *
 * Public method :
     detectID - Detect ID with hash
     getBodyTop - Get body top position
	 change - Displays the corresponding page
 *
 */

function PageManager(aElem) {
  var refThis = this;
  this.$body = document.querySelector('.wpr-body');
  this.$menuItems = document.querySelectorAll('.wpr-menuItem');
  this.$submitButton = document.querySelector('.wpr-Content > form > #wpr-options-submit');
  this.$pages = document.querySelectorAll('.wpr-Page');
  this.$sidebar = document.querySelector('.wpr-Sidebar');
  this.$content = document.querySelector('.wpr-Content');
  this.$tips = document.querySelector('.wpr-Content-tips');
  this.$links = document.querySelectorAll('.wpr-body a');
  this.$menuItem = null;
  this.$page = null;
  this.pageId = null;
  this.bodyTop = 0;
  this.buttonText = this.$submitButton.value;
  refThis.getBodyTop(); // If url page change

  window.onhashchange = function () {
    refThis.detectID();
  }; // If hash already exist (after refresh page for example)


  if (window.location.hash) {
    this.bodyTop = 0;
    this.detectID();
  } else {
    var session = localStorage.getItem('wpr-hash');
    this.bodyTop = 0;

    if (session) {
      window.location.hash = session;
      this.detectID();
    } else {
      this.$menuItems[0].classList.add('isActive');
      localStorage.setItem('wpr-hash', 'dashboard');
      window.location.hash = '#dashboard';
    }
  } // Click link same hash


  for (var i = 0; i < this.$links.length; i++) {
    this.$links[i].onclick = function () {
      refThis.getBodyTop();
      var hrefSplit = this.href.split('#')[1];

      if (hrefSplit == refThis.pageId && hrefSplit != undefined) {
        refThis.detectID();
        return false;
      }
    };
  } // Click links not WP rocket to reset hash


  var $otherlinks = document.querySelectorAll('#adminmenumain a, #wpadminbar a');

  for (var i = 0; i < $otherlinks.length; i++) {
    $otherlinks[i].onclick = function () {
      localStorage.setItem('wpr-hash', '');
    };
  }
}
/*
* Page detect ID
*/


PageManager.prototype.detectID = function () {
  this.pageId = window.location.hash.split('#')[1];
  localStorage.setItem('wpr-hash', this.pageId);
  this.$page = document.querySelector('.wpr-Page#' + this.pageId);
  this.$menuItem = document.getElementById('wpr-nav-' + this.pageId);
  this.change();
};
/*
* Get body top position
*/


PageManager.prototype.getBodyTop = function () {
  var bodyPos = this.$body.getBoundingClientRect();
  this.bodyTop = bodyPos.top + window.pageYOffset - 47; // #wpadminbar + padding-top .wpr-wrap - 1 - 47
};
/*
* Page change
*/


PageManager.prototype.change = function () {
  var refThis = this;
  document.documentElement.scrollTop = refThis.bodyTop; // Hide other pages

  for (var i = 0; i < this.$pages.length; i++) {
    this.$pages[i].style.display = 'none';
  }

  for (var i = 0; i < this.$menuItems.length; i++) {
    this.$menuItems[i].classList.remove('isActive');
  } // Show current default page


  this.$page.style.display = 'block';
  this.$submitButton.style.display = 'block';

  if (null === localStorage.getItem('wpr-show-sidebar')) {
    localStorage.setItem('wpr-show-sidebar', 'on');
  }

  if ('on' === localStorage.getItem('wpr-show-sidebar')) {
    this.$sidebar.style.display = 'block';
  } else if ('off' === localStorage.getItem('wpr-show-sidebar')) {
    this.$sidebar.style.display = 'none';
    document.querySelector('#wpr-js-tips').removeAttribute('checked');
  }

  this.$tips.style.display = 'block';
  this.$menuItem.classList.add('isActive');
  this.$submitButton.value = this.buttonText;
  this.$content.classList.add('isNotFull'); // Exception for dashboard

  if (this.pageId == "dashboard") {
    this.$sidebar.style.display = 'none';
    this.$tips.style.display = 'none';
    this.$submitButton.style.display = 'none';
    this.$content.classList.remove('isNotFull');
  } // Exception for addons


  if (this.pageId == "addons") {
    this.$submitButton.style.display = 'none';
  } // Exception for database


  if (this.pageId == "database") {
    this.$submitButton.style.display = 'none';
  } // Exception for tools and addons


  if (this.pageId == "tools" || this.pageId == "addons") {
    this.$submitButton.style.display = 'none';
  }

  if (this.pageId == "imagify") {
    this.$sidebar.style.display = 'none';
    this.$tips.style.display = 'none';
    this.$submitButton.style.display = 'none';
  }

  if (this.pageId == "tutorials") {
    this.$submitButton.style.display = 'none';
  }
};

},{}],8:[function(require,module,exports){
"use strict";

/*eslint-env es6*/
((document, window) => {
  'use strict';

  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.wpr-rocketcdn-open').forEach(el => {
      el.addEventListener('click', e => {
        e.preventDefault();
      });
    });
    maybeOpenModal();
    MicroModal.init({
      disableScroll: true
    });
  });
  window.addEventListener('load', () => {
    let openCTA = document.querySelector('#wpr-rocketcdn-open-cta'),
        closeCTA = document.querySelector('#wpr-rocketcdn-close-cta'),
        smallCTA = document.querySelector('#wpr-rocketcdn-cta-small'),
        bigCTA = document.querySelector('#wpr-rocketcdn-cta');

    if (null !== openCTA && null !== smallCTA && null !== bigCTA) {
      openCTA.addEventListener('click', e => {
        e.preventDefault();
        smallCTA.classList.add('wpr-isHidden');
        bigCTA.classList.remove('wpr-isHidden');
        sendHTTPRequest(getPostData('big'));
      });
    }

    if (null !== closeCTA && null !== smallCTA && null !== bigCTA) {
      closeCTA.addEventListener('click', e => {
        e.preventDefault();
        smallCTA.classList.remove('wpr-isHidden');
        bigCTA.classList.add('wpr-isHidden');
        sendHTTPRequest(getPostData('small'));
      });
    }

    function getPostData(status) {
      let postData = '';
      postData += 'action=toggle_rocketcdn_cta';
      postData += '&status=' + status;
      postData += '&nonce=' + rocket_ajax_data.nonce;
      return postData;
    }
  });

  window.onmessage = e => {
    const iframeURL = rocket_ajax_data.origin_url;

    if (e.origin !== iframeURL) {
      return;
    }

    setCDNFrameHeight(e.data);
    closeModal(e.data);
    tokenHandler(e.data, iframeURL);
    processStatus(e.data);
    enableCDN(e.data, iframeURL);
    disableCDN(e.data, iframeURL);
    validateTokenAndCNAME(e.data);
  };

  function maybeOpenModal() {
    let postData = '';
    postData += 'action=rocketcdn_process_status';
    postData += '&nonce=' + rocket_ajax_data.nonce;
    const request = sendHTTPRequest(postData);

    request.onreadystatechange = () => {
      if (request.readyState === XMLHttpRequest.DONE && 200 === request.status) {
        let responseTxt = JSON.parse(request.responseText);

        if (true === responseTxt.success) {
          MicroModal.show('wpr-rocketcdn-modal');
        }
      }
    };
  }

  function closeModal(data) {
    if (!data.hasOwnProperty('cdnFrameClose')) {
      return;
    }

    MicroModal.close('wpr-rocketcdn-modal');
    let pages = ['iframe-payment-success', 'iframe-unsubscribe-success'];

    if (!data.hasOwnProperty('cdn_page_message')) {
      return;
    }

    if (pages.indexOf(data.cdn_page_message) === -1) {
      return;
    }

    document.location.reload();
  }

  function processStatus(data) {
    if (!data.hasOwnProperty('rocketcdn_process')) {
      return;
    }

    let postData = '';
    postData += 'action=rocketcdn_process_set';
    postData += '&status=' + data.rocketcdn_process;
    postData += '&nonce=' + rocket_ajax_data.nonce;
    sendHTTPRequest(postData);
  }

  function enableCDN(data, iframeURL) {
    let iframe = document.querySelector('#rocketcdn-iframe').contentWindow;

    if (!data.hasOwnProperty('rocketcdn_url')) {
      return;
    }

    let postData = '';
    postData += 'action=rocketcdn_enable';
    postData += '&cdn_url=' + data.rocketcdn_url;
    postData += '&nonce=' + rocket_ajax_data.nonce;
    const request = sendHTTPRequest(postData);

    request.onreadystatechange = () => {
      if (request.readyState === XMLHttpRequest.DONE && 200 === request.status) {
        let responseTxt = JSON.parse(request.responseText);
        iframe.postMessage({
          'success': responseTxt.success,
          'data': responseTxt.data,
          'rocketcdn': true
        }, iframeURL);
      }
    };
  }

  function disableCDN(data, iframeURL) {
    let iframe = document.querySelector('#rocketcdn-iframe').contentWindow;

    if (!data.hasOwnProperty('rocketcdn_disable')) {
      return;
    }

    let postData = '';
    postData += 'action=rocketcdn_disable';
    postData += '&nonce=' + rocket_ajax_data.nonce;
    const request = sendHTTPRequest(postData);

    request.onreadystatechange = () => {
      if (request.readyState === XMLHttpRequest.DONE && 200 === request.status) {
        let responseTxt = JSON.parse(request.responseText);
        iframe.postMessage({
          'success': responseTxt.success,
          'data': responseTxt.data,
          'rocketcdn': true
        }, iframeURL);
      }
    };
  }

  function sendHTTPRequest(postData) {
    const httpRequest = new XMLHttpRequest();
    httpRequest.open('POST', ajaxurl);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send(postData);
    return httpRequest;
  }

  function setCDNFrameHeight(data) {
    if (!data.hasOwnProperty('cdnFrameHeight')) {
      return;
    }

    document.getElementById('rocketcdn-iframe').style.height = "".concat(data.cdnFrameHeight, "px");
  }

  function tokenHandler(data, iframeURL) {
    let iframe = document.querySelector('#rocketcdn-iframe').contentWindow;

    if (!data.hasOwnProperty('rocketcdn_token')) {
      let data = {
        process: "subscribe",
        message: "token_not_received"
      };
      iframe.postMessage({
        'success': false,
        'data': data,
        'rocketcdn': true
      }, iframeURL);
      return;
    }

    let postData = '';
    postData += 'action=save_rocketcdn_token';
    postData += '&value=' + data.rocketcdn_token;
    postData += '&nonce=' + rocket_ajax_data.nonce;
    const request = sendHTTPRequest(postData);

    request.onreadystatechange = () => {
      if (request.readyState === XMLHttpRequest.DONE && 200 === request.status) {
        let responseTxt = JSON.parse(request.responseText);
        iframe.postMessage({
          'success': responseTxt.success,
          'data': responseTxt.data,
          'rocketcdn': true
        }, iframeURL);
      }
    };
  }

  function validateTokenAndCNAME(data) {
    if (!data.hasOwnProperty('rocketcdn_validate_token') || !data.hasOwnProperty('rocketcdn_validate_cname')) {
      return;
    }

    let postData = '';
    postData += 'action=rocketcdn_validate_token_cname';
    postData += '&cdn_url=' + data.rocketcdn_validate_cname;
    postData += '&cdn_token=' + data.rocketcdn_validate_token;
    postData += '&nonce=' + rocket_ajax_data.nonce;
    const request = sendHTTPRequest(postData);
  }
})(document, window);

},{}],9:[function(require,module,exports){
"use strict";

/*!
 * VERSION: 1.12.1
 * DATE: 2014-06-26
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
 * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */
(window._gsQueue || (window._gsQueue = [])).push(function () {
  "use strict";

  window._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function (t, e, i) {
    var s = function (t) {
      e.call(this, t), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate;
      var i,
          s,
          r = this.vars;

      for (s in r) i = r[s], a(i) && -1 !== i.join("").indexOf("{self}") && (r[s] = this._swapSelfInParams(i));

      a(r.tweens) && this.add(r.tweens, 0, r.align, r.stagger);
    },
        r = 1e-10,
        n = i._internals.isSelector,
        a = i._internals.isArray,
        o = [],
        h = window._gsDefine.globals,
        l = function (t) {
      var e,
          i = {};

      for (e in t) i[e] = t[e];

      return i;
    },
        _ = function (t, e, i, s) {
      t._timeline.pause(t._startTime), e && e.apply(s || t._timeline, i || o);
    },
        u = o.slice,
        f = s.prototype = new e();

    return s.version = "1.12.1", f.constructor = s, f.kill()._gc = !1, f.to = function (t, e, s, r) {
      var n = s.repeat && h.TweenMax || i;
      return e ? this.add(new n(t, e, s), r) : this.set(t, s, r);
    }, f.from = function (t, e, s, r) {
      return this.add((s.repeat && h.TweenMax || i).from(t, e, s), r);
    }, f.fromTo = function (t, e, s, r, n) {
      var a = r.repeat && h.TweenMax || i;
      return e ? this.add(a.fromTo(t, e, s, r), n) : this.set(t, r, n);
    }, f.staggerTo = function (t, e, r, a, o, h, _, f) {
      var p,
          c = new s({
        onComplete: h,
        onCompleteParams: _,
        onCompleteScope: f,
        smoothChildTiming: this.smoothChildTiming
      });

      for ("string" == typeof t && (t = i.selector(t) || t), n(t) && (t = u.call(t, 0)), a = a || 0, p = 0; t.length > p; p++) r.startAt && (r.startAt = l(r.startAt)), c.to(t[p], e, l(r), p * a);

      return this.add(c, o);
    }, f.staggerFrom = function (t, e, i, s, r, n, a, o) {
      return i.immediateRender = 0 != i.immediateRender, i.runBackwards = !0, this.staggerTo(t, e, i, s, r, n, a, o);
    }, f.staggerFromTo = function (t, e, i, s, r, n, a, o, h) {
      return s.startAt = i, s.immediateRender = 0 != s.immediateRender && 0 != i.immediateRender, this.staggerTo(t, e, s, r, n, a, o, h);
    }, f.call = function (t, e, s, r) {
      return this.add(i.delayedCall(0, t, e, s), r);
    }, f.set = function (t, e, s) {
      return s = this._parseTimeOrLabel(s, 0, !0), null == e.immediateRender && (e.immediateRender = s === this._time && !this._paused), this.add(new i(t, 0, e), s);
    }, s.exportRoot = function (t, e) {
      t = t || {}, null == t.smoothChildTiming && (t.smoothChildTiming = !0);
      var r,
          n,
          a = new s(t),
          o = a._timeline;

      for (null == e && (e = !0), o._remove(a, !0), a._startTime = 0, a._rawPrevTime = a._time = a._totalTime = o._time, r = o._first; r;) n = r._next, e && r instanceof i && r.target === r.vars.onComplete || a.add(r, r._startTime - r._delay), r = n;

      return o.add(a, 0), a;
    }, f.add = function (r, n, o, h) {
      var l, _, u, f, p, c;

      if ("number" != typeof n && (n = this._parseTimeOrLabel(n, 0, !0, r)), !(r instanceof t)) {
        if (r instanceof Array || r && r.push && a(r)) {
          for (o = o || "normal", h = h || 0, l = n, _ = r.length, u = 0; _ > u; u++) a(f = r[u]) && (f = new s({
            tweens: f
          })), this.add(f, l), "string" != typeof f && "function" != typeof f && ("sequence" === o ? l = f._startTime + f.totalDuration() / f._timeScale : "start" === o && (f._startTime -= f.delay())), l += h;

          return this._uncache(!0);
        }

        if ("string" == typeof r) return this.addLabel(r, n);
        if ("function" != typeof r) throw "Cannot add " + r + " into the timeline; it is not a tween, timeline, function, or string.";
        r = i.delayedCall(0, r);
      }

      if (e.prototype.add.call(this, r, n), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (p = this, c = p.rawTime() > r._startTime; p._timeline;) c && p._timeline.smoothChildTiming ? p.totalTime(p._totalTime, !0) : p._gc && p._enabled(!0, !1), p = p._timeline;
      return this;
    }, f.remove = function (e) {
      if (e instanceof t) return this._remove(e, !1);

      if (e instanceof Array || e && e.push && a(e)) {
        for (var i = e.length; --i > -1;) this.remove(e[i]);

        return this;
      }

      return "string" == typeof e ? this.removeLabel(e) : this.kill(null, e);
    }, f._remove = function (t, i) {
      e.prototype._remove.call(this, t, i);

      var s = this._last;
      return s ? this._time > s._startTime + s._totalDuration / s._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this;
    }, f.append = function (t, e) {
      return this.add(t, this._parseTimeOrLabel(null, e, !0, t));
    }, f.insert = f.insertMultiple = function (t, e, i, s) {
      return this.add(t, e || 0, i, s);
    }, f.appendMultiple = function (t, e, i, s) {
      return this.add(t, this._parseTimeOrLabel(null, e, !0, t), i, s);
    }, f.addLabel = function (t, e) {
      return this._labels[t] = this._parseTimeOrLabel(e), this;
    }, f.addPause = function (t, e, i, s) {
      return this.call(_, ["{self}", e, i, s], this, t);
    }, f.removeLabel = function (t) {
      return delete this._labels[t], this;
    }, f.getLabelTime = function (t) {
      return null != this._labels[t] ? this._labels[t] : -1;
    }, f._parseTimeOrLabel = function (e, i, s, r) {
      var n;
      if (r instanceof t && r.timeline === this) this.remove(r);else if (r && (r instanceof Array || r.push && a(r))) for (n = r.length; --n > -1;) r[n] instanceof t && r[n].timeline === this && this.remove(r[n]);
      if ("string" == typeof i) return this._parseTimeOrLabel(i, s && "number" == typeof e && null == this._labels[i] ? e - this.duration() : 0, s);
      if (i = i || 0, "string" != typeof e || !isNaN(e) && null == this._labels[e]) null == e && (e = this.duration());else {
        if (n = e.indexOf("="), -1 === n) return null == this._labels[e] ? s ? this._labels[e] = this.duration() + i : i : this._labels[e] + i;
        i = parseInt(e.charAt(n - 1) + "1", 10) * Number(e.substr(n + 1)), e = n > 1 ? this._parseTimeOrLabel(e.substr(0, n - 1), 0, s) : this.duration();
      }
      return Number(e) + i;
    }, f.seek = function (t, e) {
      return this.totalTime("number" == typeof t ? t : this._parseTimeOrLabel(t), e !== !1);
    }, f.stop = function () {
      return this.paused(!0);
    }, f.gotoAndPlay = function (t, e) {
      return this.play(t, e);
    }, f.gotoAndStop = function (t, e) {
      return this.pause(t, e);
    }, f.render = function (t, e, i) {
      this._gc && this._enabled(!0, !1);

      var s,
          n,
          a,
          h,
          l,
          _ = this._dirty ? this.totalDuration() : this._totalDuration,
          u = this._time,
          f = this._startTime,
          p = this._timeScale,
          c = this._paused;

      if (t >= _ ? (this._totalTime = this._time = _, this._reversed || this._hasPausedChild() || (n = !0, h = "onComplete", 0 === this._duration && (0 === t || 0 > this._rawPrevTime || this._rawPrevTime === r) && this._rawPrevTime !== t && this._first && (l = !0, this._rawPrevTime > r && (h = "onReverseComplete"))), this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : r, t = _ + 1e-4) : 1e-7 > t ? (this._totalTime = this._time = 0, (0 !== u || 0 === this._duration && this._rawPrevTime !== r && (this._rawPrevTime > 0 || 0 > t && this._rawPrevTime >= 0)) && (h = "onReverseComplete", n = this._reversed), 0 > t ? (this._active = !1, 0 === this._duration && this._rawPrevTime >= 0 && this._first && (l = !0), this._rawPrevTime = t) : (this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : r, t = 0, this._initted || (l = !0))) : this._totalTime = this._time = this._rawPrevTime = t, this._time !== u && this._first || i || l) {
        if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== u && t > 0 && (this._active = !0), 0 === u && this.vars.onStart && 0 !== this._time && (e || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || o)), this._time >= u) for (s = this._first; s && (a = s._next, !this._paused || c);) (s._active || s._startTime <= this._time && !s._paused && !s._gc) && (s._reversed ? s.render((s._dirty ? s.totalDuration() : s._totalDuration) - (t - s._startTime) * s._timeScale, e, i) : s.render((t - s._startTime) * s._timeScale, e, i)), s = a;else for (s = this._last; s && (a = s._prev, !this._paused || c);) (s._active || u >= s._startTime && !s._paused && !s._gc) && (s._reversed ? s.render((s._dirty ? s.totalDuration() : s._totalDuration) - (t - s._startTime) * s._timeScale, e, i) : s.render((t - s._startTime) * s._timeScale, e, i)), s = a;
        this._onUpdate && (e || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || o)), h && (this._gc || (f === this._startTime || p !== this._timeScale) && (0 === this._time || _ >= this.totalDuration()) && (n && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[h] && this.vars[h].apply(this.vars[h + "Scope"] || this, this.vars[h + "Params"] || o)));
      }
    }, f._hasPausedChild = function () {
      for (var t = this._first; t;) {
        if (t._paused || t instanceof s && t._hasPausedChild()) return !0;
        t = t._next;
      }

      return !1;
    }, f.getChildren = function (t, e, s, r) {
      r = r || -9999999999;

      for (var n = [], a = this._first, o = 0; a;) r > a._startTime || (a instanceof i ? e !== !1 && (n[o++] = a) : (s !== !1 && (n[o++] = a), t !== !1 && (n = n.concat(a.getChildren(!0, e, s)), o = n.length))), a = a._next;

      return n;
    }, f.getTweensOf = function (t, e) {
      var s,
          r,
          n = this._gc,
          a = [],
          o = 0;

      for (n && this._enabled(!0, !0), s = i.getTweensOf(t), r = s.length; --r > -1;) (s[r].timeline === this || e && this._contains(s[r])) && (a[o++] = s[r]);

      return n && this._enabled(!1, !0), a;
    }, f._contains = function (t) {
      for (var e = t.timeline; e;) {
        if (e === this) return !0;
        e = e.timeline;
      }

      return !1;
    }, f.shiftChildren = function (t, e, i) {
      i = i || 0;

      for (var s, r = this._first, n = this._labels; r;) r._startTime >= i && (r._startTime += t), r = r._next;

      if (e) for (s in n) n[s] >= i && (n[s] += t);
      return this._uncache(!0);
    }, f._kill = function (t, e) {
      if (!t && !e) return this._enabled(!1, !1);

      for (var i = e ? this.getTweensOf(e) : this.getChildren(!0, !0, !1), s = i.length, r = !1; --s > -1;) i[s]._kill(t, e) && (r = !0);

      return r;
    }, f.clear = function (t) {
      var e = this.getChildren(!1, !0, !0),
          i = e.length;

      for (this._time = this._totalTime = 0; --i > -1;) e[i]._enabled(!1, !1);

      return t !== !1 && (this._labels = {}), this._uncache(!0);
    }, f.invalidate = function () {
      for (var t = this._first; t;) t.invalidate(), t = t._next;

      return this;
    }, f._enabled = function (t, i) {
      if (t === this._gc) for (var s = this._first; s;) s._enabled(t, !0), s = s._next;
      return e.prototype._enabled.call(this, t, i);
    }, f.duration = function (t) {
      return arguments.length ? (0 !== this.duration() && 0 !== t && this.timeScale(this._duration / t), this) : (this._dirty && this.totalDuration(), this._duration);
    }, f.totalDuration = function (t) {
      if (!arguments.length) {
        if (this._dirty) {
          for (var e, i, s = 0, r = this._last, n = 999999999999; r;) e = r._prev, r._dirty && r.totalDuration(), r._startTime > n && this._sortChildren && !r._paused ? this.add(r, r._startTime - r._delay) : n = r._startTime, 0 > r._startTime && !r._paused && (s -= r._startTime, this._timeline.smoothChildTiming && (this._startTime += r._startTime / this._timeScale), this.shiftChildren(-r._startTime, !1, -9999999999), n = 0), i = r._startTime + r._totalDuration / r._timeScale, i > s && (s = i), r = e;

          this._duration = this._totalDuration = s, this._dirty = !1;
        }

        return this._totalDuration;
      }

      return 0 !== this.totalDuration() && 0 !== t && this.timeScale(this._totalDuration / t), this;
    }, f.usesFrames = function () {
      for (var e = this._timeline; e._timeline;) e = e._timeline;

      return e === t._rootFramesTimeline;
    }, f.rawTime = function () {
      return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale;
    }, s;
  }, !0);
}), window._gsDefine && window._gsQueue.pop()();

},{}],10:[function(require,module,exports){
"use strict";

/*!
 * VERSION: 1.12.1
 * DATE: 2014-06-26
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
 * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */
(function (t) {
  "use strict";

  var e = t.GreenSockGlobals || t;

  if (!e.TweenLite) {
    var i,
        s,
        n,
        r,
        a,
        o = function (t) {
      var i,
          s = t.split("."),
          n = e;

      for (i = 0; s.length > i; i++) n[s[i]] = n = n[s[i]] || {};

      return n;
    },
        l = o("com.greensock"),
        h = 1e-10,
        _ = [].slice,
        u = function () {},
        m = function () {
      var t = Object.prototype.toString,
          e = t.call([]);
      return function (i) {
        return null != i && (i instanceof Array || "object" == typeof i && !!i.push && t.call(i) === e);
      };
    }(),
        f = {},
        p = function (i, s, n, r) {
      this.sc = f[i] ? f[i].sc : [], f[i] = this, this.gsClass = null, this.func = n;
      var a = [];
      this.check = function (l) {
        for (var h, _, u, m, c = s.length, d = c; --c > -1;) (h = f[s[c]] || new p(s[c], [])).gsClass ? (a[c] = h.gsClass, d--) : l && h.sc.push(this);

        if (0 === d && n) for (_ = ("com.greensock." + i).split("."), u = _.pop(), m = o(_.join("."))[u] = this.gsClass = n.apply(n, a), r && (e[u] = m, "function" == typeof define && define.amd ? define((t.GreenSockAMDPath ? t.GreenSockAMDPath + "/" : "") + i.split(".").join("/"), [], function () {
          return m;
        }) : "undefined" != typeof module && module.exports && (module.exports = m)), c = 0; this.sc.length > c; c++) this.sc[c].check();
      }, this.check(!0);
    },
        c = t._gsDefine = function (t, e, i, s) {
      return new p(t, e, i, s);
    },
        d = l._class = function (t, e, i) {
      return e = e || function () {}, c(t, [], function () {
        return e;
      }, i), e;
    };

    c.globals = e;

    var v = [0, 0, 1, 1],
        g = [],
        T = d("easing.Ease", function (t, e, i, s) {
      this._func = t, this._type = i || 0, this._power = s || 0, this._params = e ? v.concat(e) : v;
    }, !0),
        y = T.map = {},
        w = T.register = function (t, e, i, s) {
      for (var n, r, a, o, h = e.split(","), _ = h.length, u = (i || "easeIn,easeOut,easeInOut").split(","); --_ > -1;) for (r = h[_], n = s ? d("easing." + r, null, !0) : l.easing[r] || {}, a = u.length; --a > -1;) o = u[a], y[r + "." + o] = y[o + r] = n[o] = t.getRatio ? t : t[o] || new t();
    };

    for (n = T.prototype, n._calcEnd = !1, n.getRatio = function (t) {
      if (this._func) return this._params[0] = t, this._func.apply(null, this._params);
      var e = this._type,
          i = this._power,
          s = 1 === e ? 1 - t : 2 === e ? t : .5 > t ? 2 * t : 2 * (1 - t);
      return 1 === i ? s *= s : 2 === i ? s *= s * s : 3 === i ? s *= s * s * s : 4 === i && (s *= s * s * s * s), 1 === e ? 1 - s : 2 === e ? s : .5 > t ? s / 2 : 1 - s / 2;
    }, i = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], s = i.length; --s > -1;) n = i[s] + ",Power" + s, w(new T(null, null, 1, s), n, "easeOut", !0), w(new T(null, null, 2, s), n, "easeIn" + (0 === s ? ",easeNone" : "")), w(new T(null, null, 3, s), n, "easeInOut");

    y.linear = l.easing.Linear.easeIn, y.swing = l.easing.Quad.easeInOut;
    var P = d("events.EventDispatcher", function (t) {
      this._listeners = {}, this._eventTarget = t || this;
    });
    n = P.prototype, n.addEventListener = function (t, e, i, s, n) {
      n = n || 0;
      var o,
          l,
          h = this._listeners[t],
          _ = 0;

      for (null == h && (this._listeners[t] = h = []), l = h.length; --l > -1;) o = h[l], o.c === e && o.s === i ? h.splice(l, 1) : 0 === _ && n > o.pr && (_ = l + 1);

      h.splice(_, 0, {
        c: e,
        s: i,
        up: s,
        pr: n
      }), this !== r || a || r.wake();
    }, n.removeEventListener = function (t, e) {
      var i,
          s = this._listeners[t];
      if (s) for (i = s.length; --i > -1;) if (s[i].c === e) return s.splice(i, 1), void 0;
    }, n.dispatchEvent = function (t) {
      var e,
          i,
          s,
          n = this._listeners[t];
      if (n) for (e = n.length, i = this._eventTarget; --e > -1;) s = n[e], s.up ? s.c.call(s.s || i, {
        type: t,
        target: i
      }) : s.c.call(s.s || i);
    };

    var k = t.requestAnimationFrame,
        b = t.cancelAnimationFrame,
        A = Date.now || function () {
      return new Date().getTime();
    },
        S = A();

    for (i = ["ms", "moz", "webkit", "o"], s = i.length; --s > -1 && !k;) k = t[i[s] + "RequestAnimationFrame"], b = t[i[s] + "CancelAnimationFrame"] || t[i[s] + "CancelRequestAnimationFrame"];

    d("Ticker", function (t, e) {
      var i,
          s,
          n,
          o,
          l,
          _ = this,
          m = A(),
          f = e !== !1 && k,
          p = 500,
          c = 33,
          d = function (t) {
        var e,
            r,
            a = A() - S;
        a > p && (m += a - c), S += a, _.time = (S - m) / 1e3, e = _.time - l, (!i || e > 0 || t === !0) && (_.frame++, l += e + (e >= o ? .004 : o - e), r = !0), t !== !0 && (n = s(d)), r && _.dispatchEvent("tick");
      };

      P.call(_), _.time = _.frame = 0, _.tick = function () {
        d(!0);
      }, _.lagSmoothing = function (t, e) {
        p = t || 1 / h, c = Math.min(e, p, 0);
      }, _.sleep = function () {
        null != n && (f && b ? b(n) : clearTimeout(n), s = u, n = null, _ === r && (a = !1));
      }, _.wake = function () {
        null !== n ? _.sleep() : _.frame > 10 && (S = A() - p + 5), s = 0 === i ? u : f && k ? k : function (t) {
          return setTimeout(t, 0 | 1e3 * (l - _.time) + 1);
        }, _ === r && (a = !0), d(2);
      }, _.fps = function (t) {
        return arguments.length ? (i = t, o = 1 / (i || 60), l = this.time + o, _.wake(), void 0) : i;
      }, _.useRAF = function (t) {
        return arguments.length ? (_.sleep(), f = t, _.fps(i), void 0) : f;
      }, _.fps(t), setTimeout(function () {
        f && (!n || 5 > _.frame) && _.useRAF(!1);
      }, 1500);
    }), n = l.Ticker.prototype = new l.events.EventDispatcher(), n.constructor = l.Ticker;
    var x = d("core.Animation", function (t, e) {
      if (this.vars = e = e || {}, this._duration = this._totalDuration = t || 0, this._delay = Number(e.delay) || 0, this._timeScale = 1, this._active = e.immediateRender === !0, this.data = e.data, this._reversed = e.reversed === !0, B) {
        a || r.wake();
        var i = this.vars.useFrames ? Q : B;
        i.add(this, i._time), this.vars.paused && this.paused(!0);
      }
    });
    r = x.ticker = new l.Ticker(), n = x.prototype, n._dirty = n._gc = n._initted = n._paused = !1, n._totalTime = n._time = 0, n._rawPrevTime = -1, n._next = n._last = n._onUpdate = n._timeline = n.timeline = null, n._paused = !1;

    var C = function () {
      a && A() - S > 2e3 && r.wake(), setTimeout(C, 2e3);
    };

    C(), n.play = function (t, e) {
      return null != t && this.seek(t, e), this.reversed(!1).paused(!1);
    }, n.pause = function (t, e) {
      return null != t && this.seek(t, e), this.paused(!0);
    }, n.resume = function (t, e) {
      return null != t && this.seek(t, e), this.paused(!1);
    }, n.seek = function (t, e) {
      return this.totalTime(Number(t), e !== !1);
    }, n.restart = function (t, e) {
      return this.reversed(!1).paused(!1).totalTime(t ? -this._delay : 0, e !== !1, !0);
    }, n.reverse = function (t, e) {
      return null != t && this.seek(t || this.totalDuration(), e), this.reversed(!0).paused(!1);
    }, n.render = function () {}, n.invalidate = function () {
      return this;
    }, n.isActive = function () {
      var t,
          e = this._timeline,
          i = this._startTime;
      return !e || !this._gc && !this._paused && e.isActive() && (t = e.rawTime()) >= i && i + this.totalDuration() / this._timeScale > t;
    }, n._enabled = function (t, e) {
      return a || r.wake(), this._gc = !t, this._active = this.isActive(), e !== !0 && (t && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !t && this.timeline && this._timeline._remove(this, !0)), !1;
    }, n._kill = function () {
      return this._enabled(!1, !1);
    }, n.kill = function (t, e) {
      return this._kill(t, e), this;
    }, n._uncache = function (t) {
      for (var e = t ? this : this.timeline; e;) e._dirty = !0, e = e.timeline;

      return this;
    }, n._swapSelfInParams = function (t) {
      for (var e = t.length, i = t.concat(); --e > -1;) "{self}" === t[e] && (i[e] = this);

      return i;
    }, n.eventCallback = function (t, e, i, s) {
      if ("on" === (t || "").substr(0, 2)) {
        var n = this.vars;
        if (1 === arguments.length) return n[t];
        null == e ? delete n[t] : (n[t] = e, n[t + "Params"] = m(i) && -1 !== i.join("").indexOf("{self}") ? this._swapSelfInParams(i) : i, n[t + "Scope"] = s), "onUpdate" === t && (this._onUpdate = e);
      }

      return this;
    }, n.delay = function (t) {
      return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + t - this._delay), this._delay = t, this) : this._delay;
    }, n.duration = function (t) {
      return arguments.length ? (this._duration = this._totalDuration = t, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== t && this.totalTime(this._totalTime * (t / this._duration), !0), this) : (this._dirty = !1, this._duration);
    }, n.totalDuration = function (t) {
      return this._dirty = !1, arguments.length ? this.duration(t) : this._totalDuration;
    }, n.time = function (t, e) {
      return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(t > this._duration ? this._duration : t, e)) : this._time;
    }, n.totalTime = function (t, e, i) {
      if (a || r.wake(), !arguments.length) return this._totalTime;

      if (this._timeline) {
        if (0 > t && !i && (t += this.totalDuration()), this._timeline.smoothChildTiming) {
          this._dirty && this.totalDuration();
          var s = this._totalDuration,
              n = this._timeline;
          if (t > s && !i && (t = s), this._startTime = (this._paused ? this._pauseTime : n._time) - (this._reversed ? s - t : t) / this._timeScale, n._dirty || this._uncache(!1), n._timeline) for (; n._timeline;) n._timeline._time !== (n._startTime + n._totalTime) / n._timeScale && n.totalTime(n._totalTime, !0), n = n._timeline;
        }

        this._gc && this._enabled(!0, !1), (this._totalTime !== t || 0 === this._duration) && (this.render(t, e, !1), z.length && q());
      }

      return this;
    }, n.progress = n.totalProgress = function (t, e) {
      return arguments.length ? this.totalTime(this.duration() * t, e) : this._time / this.duration();
    }, n.startTime = function (t) {
      return arguments.length ? (t !== this._startTime && (this._startTime = t, this.timeline && this.timeline._sortChildren && this.timeline.add(this, t - this._delay)), this) : this._startTime;
    }, n.timeScale = function (t) {
      if (!arguments.length) return this._timeScale;

      if (t = t || h, this._timeline && this._timeline.smoothChildTiming) {
        var e = this._pauseTime,
            i = e || 0 === e ? e : this._timeline.totalTime();
        this._startTime = i - (i - this._startTime) * this._timeScale / t;
      }

      return this._timeScale = t, this._uncache(!1);
    }, n.reversed = function (t) {
      return arguments.length ? (t != this._reversed && (this._reversed = t, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed;
    }, n.paused = function (t) {
      if (!arguments.length) return this._paused;

      if (t != this._paused && this._timeline) {
        a || t || r.wake();
        var e = this._timeline,
            i = e.rawTime(),
            s = i - this._pauseTime;
        !t && e.smoothChildTiming && (this._startTime += s, this._uncache(!1)), this._pauseTime = t ? i : null, this._paused = t, this._active = this.isActive(), !t && 0 !== s && this._initted && this.duration() && this.render(e.smoothChildTiming ? this._totalTime : (i - this._startTime) / this._timeScale, !0, !0);
      }

      return this._gc && !t && this._enabled(!0, !1), this;
    };
    var R = d("core.SimpleTimeline", function (t) {
      x.call(this, 0, t), this.autoRemoveChildren = this.smoothChildTiming = !0;
    });
    n = R.prototype = new x(), n.constructor = R, n.kill()._gc = !1, n._first = n._last = null, n._sortChildren = !1, n.add = n.insert = function (t, e) {
      var i, s;
      if (t._startTime = Number(e || 0) + t._delay, t._paused && this !== t._timeline && (t._pauseTime = t._startTime + (this.rawTime() - t._startTime) / t._timeScale), t.timeline && t.timeline._remove(t, !0), t.timeline = t._timeline = this, t._gc && t._enabled(!0, !0), i = this._last, this._sortChildren) for (s = t._startTime; i && i._startTime > s;) i = i._prev;
      return i ? (t._next = i._next, i._next = t) : (t._next = this._first, this._first = t), t._next ? t._next._prev = t : this._last = t, t._prev = i, this._timeline && this._uncache(!0), this;
    }, n._remove = function (t, e) {
      return t.timeline === this && (e || t._enabled(!1, !0), t.timeline = null, t._prev ? t._prev._next = t._next : this._first === t && (this._first = t._next), t._next ? t._next._prev = t._prev : this._last === t && (this._last = t._prev), this._timeline && this._uncache(!0)), this;
    }, n.render = function (t, e, i) {
      var s,
          n = this._first;

      for (this._totalTime = this._time = this._rawPrevTime = t; n;) s = n._next, (n._active || t >= n._startTime && !n._paused) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (t - n._startTime) * n._timeScale, e, i) : n.render((t - n._startTime) * n._timeScale, e, i)), n = s;
    }, n.rawTime = function () {
      return a || r.wake(), this._totalTime;
    };

    var D = d("TweenLite", function (e, i, s) {
      if (x.call(this, i, s), this.render = D.prototype.render, null == e) throw "Cannot tween a null target.";
      this.target = e = "string" != typeof e ? e : D.selector(e) || e;
      var n,
          r,
          a,
          o = e.jquery || e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType),
          l = this.vars.overwrite;
      if (this._overwrite = l = null == l ? G[D.defaultOverwrite] : "number" == typeof l ? l >> 0 : G[l], (o || e instanceof Array || e.push && m(e)) && "number" != typeof e[0]) for (this._targets = a = _.call(e, 0), this._propLookup = [], this._siblings = [], n = 0; a.length > n; n++) r = a[n], r ? "string" != typeof r ? r.length && r !== t && r[0] && (r[0] === t || r[0].nodeType && r[0].style && !r.nodeType) ? (a.splice(n--, 1), this._targets = a = a.concat(_.call(r, 0))) : (this._siblings[n] = M(r, this, !1), 1 === l && this._siblings[n].length > 1 && $(r, this, null, 1, this._siblings[n])) : (r = a[n--] = D.selector(r), "string" == typeof r && a.splice(n + 1, 1)) : a.splice(n--, 1);else this._propLookup = {}, this._siblings = M(e, this, !1), 1 === l && this._siblings.length > 1 && $(e, this, null, 1, this._siblings);
      (this.vars.immediateRender || 0 === i && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -h, this.render(-this._delay));
    }, !0),
        I = function (e) {
      return e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType);
    },
        E = function (t, e) {
      var i,
          s = {};

      for (i in t) j[i] || i in e && "transform" !== i && "x" !== i && "y" !== i && "width" !== i && "height" !== i && "className" !== i && "border" !== i || !(!L[i] || L[i] && L[i]._autoCSS) || (s[i] = t[i], delete t[i]);

      t.css = s;
    };

    n = D.prototype = new x(), n.constructor = D, n.kill()._gc = !1, n.ratio = 0, n._firstPT = n._targets = n._overwrittenProps = n._startAt = null, n._notifyPluginsOfEnabled = n._lazy = !1, D.version = "1.12.1", D.defaultEase = n._ease = new T(null, null, 1, 1), D.defaultOverwrite = "auto", D.ticker = r, D.autoSleep = !0, D.lagSmoothing = function (t, e) {
      r.lagSmoothing(t, e);
    }, D.selector = t.$ || t.jQuery || function (e) {
      return t.$ ? (D.selector = t.$, t.$(e)) : t.document ? t.document.getElementById("#" === e.charAt(0) ? e.substr(1) : e) : e;
    };

    var z = [],
        O = {},
        N = D._internals = {
      isArray: m,
      isSelector: I,
      lazyTweens: z
    },
        L = D._plugins = {},
        U = N.tweenLookup = {},
        F = 0,
        j = N.reservedProps = {
      ease: 1,
      delay: 1,
      overwrite: 1,
      onComplete: 1,
      onCompleteParams: 1,
      onCompleteScope: 1,
      useFrames: 1,
      runBackwards: 1,
      startAt: 1,
      onUpdate: 1,
      onUpdateParams: 1,
      onUpdateScope: 1,
      onStart: 1,
      onStartParams: 1,
      onStartScope: 1,
      onReverseComplete: 1,
      onReverseCompleteParams: 1,
      onReverseCompleteScope: 1,
      onRepeat: 1,
      onRepeatParams: 1,
      onRepeatScope: 1,
      easeParams: 1,
      yoyo: 1,
      immediateRender: 1,
      repeat: 1,
      repeatDelay: 1,
      data: 1,
      paused: 1,
      reversed: 1,
      autoCSS: 1,
      lazy: 1
    },
        G = {
      none: 0,
      all: 1,
      auto: 2,
      concurrent: 3,
      allOnStart: 4,
      preexisting: 5,
      "true": 1,
      "false": 0
    },
        Q = x._rootFramesTimeline = new R(),
        B = x._rootTimeline = new R(),
        q = function () {
      var t = z.length;

      for (O = {}; --t > -1;) i = z[t], i && i._lazy !== !1 && (i.render(i._lazy, !1, !0), i._lazy = !1);

      z.length = 0;
    };

    B._startTime = r.time, Q._startTime = r.frame, B._active = Q._active = !0, setTimeout(q, 1), x._updateRoot = D.render = function () {
      var t, e, i;

      if (z.length && q(), B.render((r.time - B._startTime) * B._timeScale, !1, !1), Q.render((r.frame - Q._startTime) * Q._timeScale, !1, !1), z.length && q(), !(r.frame % 120)) {
        for (i in U) {
          for (e = U[i].tweens, t = e.length; --t > -1;) e[t]._gc && e.splice(t, 1);

          0 === e.length && delete U[i];
        }

        if (i = B._first, (!i || i._paused) && D.autoSleep && !Q._first && 1 === r._listeners.tick.length) {
          for (; i && i._paused;) i = i._next;

          i || r.sleep();
        }
      }
    }, r.addEventListener("tick", x._updateRoot);

    var M = function (t, e, i) {
      var s,
          n,
          r = t._gsTweenID;
      if (U[r || (t._gsTweenID = r = "t" + F++)] || (U[r] = {
        target: t,
        tweens: []
      }), e && (s = U[r].tweens, s[n = s.length] = e, i)) for (; --n > -1;) s[n] === e && s.splice(n, 1);
      return U[r].tweens;
    },
        $ = function (t, e, i, s, n) {
      var r, a, o, l;

      if (1 === s || s >= 4) {
        for (l = n.length, r = 0; l > r; r++) if ((o = n[r]) !== e) o._gc || o._enabled(!1, !1) && (a = !0);else if (5 === s) break;

        return a;
      }

      var _,
          u = e._startTime + h,
          m = [],
          f = 0,
          p = 0 === e._duration;

      for (r = n.length; --r > -1;) (o = n[r]) === e || o._gc || o._paused || (o._timeline !== e._timeline ? (_ = _ || K(e, 0, p), 0 === K(o, _, p) && (m[f++] = o)) : u >= o._startTime && o._startTime + o.totalDuration() / o._timeScale > u && ((p || !o._initted) && 2e-10 >= u - o._startTime || (m[f++] = o)));

      for (r = f; --r > -1;) o = m[r], 2 === s && o._kill(i, t) && (a = !0), (2 !== s || !o._firstPT && o._initted) && o._enabled(!1, !1) && (a = !0);

      return a;
    },
        K = function (t, e, i) {
      for (var s = t._timeline, n = s._timeScale, r = t._startTime; s._timeline;) {
        if (r += s._startTime, n *= s._timeScale, s._paused) return -100;
        s = s._timeline;
      }

      return r /= n, r > e ? r - e : i && r === e || !t._initted && 2 * h > r - e ? h : (r += t.totalDuration() / t._timeScale / n) > e + h ? 0 : r - e - h;
    };

    n._init = function () {
      var t,
          e,
          i,
          s,
          n,
          r = this.vars,
          a = this._overwrittenProps,
          o = this._duration,
          l = !!r.immediateRender,
          h = r.ease;

      if (r.startAt) {
        this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), n = {};

        for (s in r.startAt) n[s] = r.startAt[s];

        if (n.overwrite = !1, n.immediateRender = !0, n.lazy = l && r.lazy !== !1, n.startAt = n.delay = null, this._startAt = D.to(this.target, 0, n), l) if (this._time > 0) this._startAt = null;else if (0 !== o) return;
      } else if (r.runBackwards && 0 !== o) if (this._startAt) this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null;else {
        i = {};

        for (s in r) j[s] && "autoCSS" !== s || (i[s] = r[s]);

        if (i.overwrite = 0, i.data = "isFromStart", i.lazy = l && r.lazy !== !1, i.immediateRender = l, this._startAt = D.to(this.target, 0, i), l) {
          if (0 === this._time) return;
        } else this._startAt._init(), this._startAt._enabled(!1);
      }

      if (this._ease = h ? h instanceof T ? r.easeParams instanceof Array ? h.config.apply(h, r.easeParams) : h : "function" == typeof h ? new T(h, r.easeParams) : y[h] || D.defaultEase : D.defaultEase, this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (t = this._targets.length; --t > -1;) this._initProps(this._targets[t], this._propLookup[t] = {}, this._siblings[t], a ? a[t] : null) && (e = !0);else e = this._initProps(this.target, this._propLookup, this._siblings, a);
      if (e && D._onPluginEvent("_onInitAllProps", this), a && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), r.runBackwards) for (i = this._firstPT; i;) i.s += i.c, i.c = -i.c, i = i._next;
      this._onUpdate = r.onUpdate, this._initted = !0;
    }, n._initProps = function (e, i, s, n) {
      var r, a, o, l, h, _;

      if (null == e) return !1;
      O[e._gsTweenID] && q(), this.vars.css || e.style && e !== t && e.nodeType && L.css && this.vars.autoCSS !== !1 && E(this.vars, e);

      for (r in this.vars) {
        if (_ = this.vars[r], j[r]) _ && (_ instanceof Array || _.push && m(_)) && -1 !== _.join("").indexOf("{self}") && (this.vars[r] = _ = this._swapSelfInParams(_, this));else if (L[r] && (l = new L[r]())._onInitTween(e, this.vars[r], this)) {
          for (this._firstPT = h = {
            _next: this._firstPT,
            t: l,
            p: "setRatio",
            s: 0,
            c: 1,
            f: !0,
            n: r,
            pg: !0,
            pr: l._priority
          }, a = l._overwriteProps.length; --a > -1;) i[l._overwriteProps[a]] = this._firstPT;

          (l._priority || l._onInitAllProps) && (o = !0), (l._onDisable || l._onEnable) && (this._notifyPluginsOfEnabled = !0);
        } else this._firstPT = i[r] = h = {
          _next: this._firstPT,
          t: e,
          p: r,
          f: "function" == typeof e[r],
          n: r,
          pg: !1,
          pr: 0
        }, h.s = h.f ? e[r.indexOf("set") || "function" != typeof e["get" + r.substr(3)] ? r : "get" + r.substr(3)]() : parseFloat(e[r]), h.c = "string" == typeof _ && "=" === _.charAt(1) ? parseInt(_.charAt(0) + "1", 10) * Number(_.substr(2)) : Number(_) - h.s || 0;
        h && h._next && (h._next._prev = h);
      }

      return n && this._kill(n, e) ? this._initProps(e, i, s, n) : this._overwrite > 1 && this._firstPT && s.length > 1 && $(e, this, i, this._overwrite, s) ? (this._kill(i, e), this._initProps(e, i, s, n)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (O[e._gsTweenID] = !0), o);
    }, n.render = function (t, e, i) {
      var s,
          n,
          r,
          a,
          o = this._time,
          l = this._duration,
          _ = this._rawPrevTime;
      if (t >= l) this._totalTime = this._time = l, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (s = !0, n = "onComplete"), 0 === l && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (t = 0), (0 === t || 0 > _ || _ === h) && _ !== t && (i = !0, _ > h && (n = "onReverseComplete")), this._rawPrevTime = a = !e || t || _ === t ? t : h);else if (1e-7 > t) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== o || 0 === l && _ > 0 && _ !== h) && (n = "onReverseComplete", s = this._reversed), 0 > t ? (this._active = !1, 0 === l && (this._initted || !this.vars.lazy || i) && (_ >= 0 && (i = !0), this._rawPrevTime = a = !e || t || _ === t ? t : h)) : this._initted || (i = !0);else if (this._totalTime = this._time = t, this._easeType) {
        var u = t / l,
            m = this._easeType,
            f = this._easePower;
        (1 === m || 3 === m && u >= .5) && (u = 1 - u), 3 === m && (u *= 2), 1 === f ? u *= u : 2 === f ? u *= u * u : 3 === f ? u *= u * u * u : 4 === f && (u *= u * u * u * u), this.ratio = 1 === m ? 1 - u : 2 === m ? u : .5 > t / l ? u / 2 : 1 - u / 2;
      } else this.ratio = this._ease.getRatio(t / l);

      if (this._time !== o || i) {
        if (!this._initted) {
          if (this._init(), !this._initted || this._gc) return;
          if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = this._totalTime = o, this._rawPrevTime = _, z.push(this), this._lazy = t, void 0;
          this._time && !s ? this.ratio = this._ease.getRatio(this._time / l) : s && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1));
        }

        for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== o && t >= 0 && (this._active = !0), 0 === o && (this._startAt && (t >= 0 ? this._startAt.render(t, e, i) : n || (n = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === l) && (e || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || g))), r = this._firstPT; r;) r.f ? r.t[r.p](r.c * this.ratio + r.s) : r.t[r.p] = r.c * this.ratio + r.s, r = r._next;

        this._onUpdate && (0 > t && this._startAt && this._startTime && this._startAt.render(t, e, i), e || (this._time !== o || s) && this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || g)), n && (this._gc || (0 > t && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(t, e, i), s && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[n] && this.vars[n].apply(this.vars[n + "Scope"] || this, this.vars[n + "Params"] || g), 0 === l && this._rawPrevTime === h && a !== h && (this._rawPrevTime = 0)));
      }
    }, n._kill = function (t, e) {
      if ("all" === t && (t = null), null == t && (null == e || e === this.target)) return this._lazy = !1, this._enabled(!1, !1);
      e = "string" != typeof e ? e || this._targets || this.target : D.selector(e) || e;
      var i, s, n, r, a, o, l, h;
      if ((m(e) || I(e)) && "number" != typeof e[0]) for (i = e.length; --i > -1;) this._kill(t, e[i]) && (o = !0);else {
        if (this._targets) {
          for (i = this._targets.length; --i > -1;) if (e === this._targets[i]) {
            a = this._propLookup[i] || {}, this._overwrittenProps = this._overwrittenProps || [], s = this._overwrittenProps[i] = t ? this._overwrittenProps[i] || {} : "all";
            break;
          }
        } else {
          if (e !== this.target) return !1;
          a = this._propLookup, s = this._overwrittenProps = t ? this._overwrittenProps || {} : "all";
        }

        if (a) {
          l = t || a, h = t !== s && "all" !== s && t !== a && ("object" != typeof t || !t._tempKill);

          for (n in l) (r = a[n]) && (r.pg && r.t._kill(l) && (o = !0), r.pg && 0 !== r.t._overwriteProps.length || (r._prev ? r._prev._next = r._next : r === this._firstPT && (this._firstPT = r._next), r._next && (r._next._prev = r._prev), r._next = r._prev = null), delete a[n]), h && (s[n] = 1);

          !this._firstPT && this._initted && this._enabled(!1, !1);
        }
      }
      return o;
    }, n.invalidate = function () {
      return this._notifyPluginsOfEnabled && D._onPluginEvent("_onDisable", this), this._firstPT = null, this._overwrittenProps = null, this._onUpdate = null, this._startAt = null, this._initted = this._active = this._notifyPluginsOfEnabled = this._lazy = !1, this._propLookup = this._targets ? {} : [], this;
    }, n._enabled = function (t, e) {
      if (a || r.wake(), t && this._gc) {
        var i,
            s = this._targets;
        if (s) for (i = s.length; --i > -1;) this._siblings[i] = M(s[i], this, !0);else this._siblings = M(this.target, this, !0);
      }

      return x.prototype._enabled.call(this, t, e), this._notifyPluginsOfEnabled && this._firstPT ? D._onPluginEvent(t ? "_onEnable" : "_onDisable", this) : !1;
    }, D.to = function (t, e, i) {
      return new D(t, e, i);
    }, D.from = function (t, e, i) {
      return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, new D(t, e, i);
    }, D.fromTo = function (t, e, i, s) {
      return s.startAt = i, s.immediateRender = 0 != s.immediateRender && 0 != i.immediateRender, new D(t, e, s);
    }, D.delayedCall = function (t, e, i, s, n) {
      return new D(e, 0, {
        delay: t,
        onComplete: e,
        onCompleteParams: i,
        onCompleteScope: s,
        onReverseComplete: e,
        onReverseCompleteParams: i,
        onReverseCompleteScope: s,
        immediateRender: !1,
        useFrames: n,
        overwrite: 0
      });
    }, D.set = function (t, e) {
      return new D(t, 0, e);
    }, D.getTweensOf = function (t, e) {
      if (null == t) return [];
      t = "string" != typeof t ? t : D.selector(t) || t;
      var i, s, n, r;

      if ((m(t) || I(t)) && "number" != typeof t[0]) {
        for (i = t.length, s = []; --i > -1;) s = s.concat(D.getTweensOf(t[i], e));

        for (i = s.length; --i > -1;) for (r = s[i], n = i; --n > -1;) r === s[n] && s.splice(i, 1);
      } else for (s = M(t).concat(), i = s.length; --i > -1;) (s[i]._gc || e && !s[i].isActive()) && s.splice(i, 1);

      return s;
    }, D.killTweensOf = D.killDelayedCallsTo = function (t, e, i) {
      "object" == typeof e && (i = e, e = !1);

      for (var s = D.getTweensOf(t, e), n = s.length; --n > -1;) s[n]._kill(i, t);
    };
    var H = d("plugins.TweenPlugin", function (t, e) {
      this._overwriteProps = (t || "").split(","), this._propName = this._overwriteProps[0], this._priority = e || 0, this._super = H.prototype;
    }, !0);

    if (n = H.prototype, H.version = "1.10.1", H.API = 2, n._firstPT = null, n._addTween = function (t, e, i, s, n, r) {
      var a, o;
      return null != s && (a = "number" == typeof s || "=" !== s.charAt(1) ? Number(s) - i : parseInt(s.charAt(0) + "1", 10) * Number(s.substr(2))) ? (this._firstPT = o = {
        _next: this._firstPT,
        t: t,
        p: e,
        s: i,
        c: a,
        f: "function" == typeof t[e],
        n: n || e,
        r: r
      }, o._next && (o._next._prev = o), o) : void 0;
    }, n.setRatio = function (t) {
      for (var e, i = this._firstPT, s = 1e-6; i;) e = i.c * t + i.s, i.r ? e = Math.round(e) : s > e && e > -s && (e = 0), i.f ? i.t[i.p](e) : i.t[i.p] = e, i = i._next;
    }, n._kill = function (t) {
      var e,
          i = this._overwriteProps,
          s = this._firstPT;
      if (null != t[this._propName]) this._overwriteProps = [];else for (e = i.length; --e > -1;) null != t[i[e]] && i.splice(e, 1);

      for (; s;) null != t[s.n] && (s._next && (s._next._prev = s._prev), s._prev ? (s._prev._next = s._next, s._prev = null) : this._firstPT === s && (this._firstPT = s._next)), s = s._next;

      return !1;
    }, n._roundProps = function (t, e) {
      for (var i = this._firstPT; i;) (t[this._propName] || null != i.n && t[i.n.split(this._propName + "_").join("")]) && (i.r = e), i = i._next;
    }, D._onPluginEvent = function (t, e) {
      var i,
          s,
          n,
          r,
          a,
          o = e._firstPT;

      if ("_onInitAllProps" === t) {
        for (; o;) {
          for (a = o._next, s = n; s && s.pr > o.pr;) s = s._next;

          (o._prev = s ? s._prev : r) ? o._prev._next = o : n = o, (o._next = s) ? s._prev = o : r = o, o = a;
        }

        o = e._firstPT = n;
      }

      for (; o;) o.pg && "function" == typeof o.t[t] && o.t[t]() && (i = !0), o = o._next;

      return i;
    }, H.activate = function (t) {
      for (var e = t.length; --e > -1;) t[e].API === H.API && (L[new t[e]()._propName] = t[e]);

      return !0;
    }, c.plugin = function (t) {
      if (!(t && t.propName && t.init && t.API)) throw "illegal plugin definition.";
      var e,
          i = t.propName,
          s = t.priority || 0,
          n = t.overwriteProps,
          r = {
        init: "_onInitTween",
        set: "setRatio",
        kill: "_kill",
        round: "_roundProps",
        initAll: "_onInitAllProps"
      },
          a = d("plugins." + i.charAt(0).toUpperCase() + i.substr(1) + "Plugin", function () {
        H.call(this, i, s), this._overwriteProps = n || [];
      }, t.global === !0),
          o = a.prototype = new H(i);
      o.constructor = a, a.API = t.API;

      for (e in r) "function" == typeof t[e] && (o[r[e]] = t[e]);

      return a.version = t.version, H.activate([a]), a;
    }, i = t._gsQueue) {
      for (s = 0; i.length > s; s++) i[s]();

      for (n in f) f[n].func || t.console.log("GSAP encountered missing dependency: com.greensock." + n);
    }

    a = !1;
  }
})(window);

},{}],11:[function(require,module,exports){
"use strict";

/*!
 * VERSION: beta 1.9.3
 * DATE: 2013-04-02
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
 * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
(window._gsQueue || (window._gsQueue = [])).push(function () {
  "use strict";

  window._gsDefine("easing.Back", ["easing.Ease"], function (t) {
    var e,
        i,
        s,
        r = window.GreenSockGlobals || window,
        n = r.com.greensock,
        a = 2 * Math.PI,
        o = Math.PI / 2,
        h = n._class,
        l = function (e, i) {
      var s = h("easing." + e, function () {}, !0),
          r = s.prototype = new t();
      return r.constructor = s, r.getRatio = i, s;
    },
        _ = t.register || function () {},
        u = function (t, e, i, s) {
      var r = h("easing." + t, {
        easeOut: new e(),
        easeIn: new i(),
        easeInOut: new s()
      }, !0);
      return _(r, t), r;
    },
        c = function (t, e, i) {
      this.t = t, this.v = e, i && (this.next = i, i.prev = this, this.c = i.v - e, this.gap = i.t - t);
    },
        f = function (e, i) {
      var s = h("easing." + e, function (t) {
        this._p1 = t || 0 === t ? t : 1.70158, this._p2 = 1.525 * this._p1;
      }, !0),
          r = s.prototype = new t();
      return r.constructor = s, r.getRatio = i, r.config = function (t) {
        return new s(t);
      }, s;
    },
        p = u("Back", f("BackOut", function (t) {
      return (t -= 1) * t * ((this._p1 + 1) * t + this._p1) + 1;
    }), f("BackIn", function (t) {
      return t * t * ((this._p1 + 1) * t - this._p1);
    }), f("BackInOut", function (t) {
      return 1 > (t *= 2) ? .5 * t * t * ((this._p2 + 1) * t - this._p2) : .5 * ((t -= 2) * t * ((this._p2 + 1) * t + this._p2) + 2);
    })),
        m = h("easing.SlowMo", function (t, e, i) {
      e = e || 0 === e ? e : .7, null == t ? t = .7 : t > 1 && (t = 1), this._p = 1 !== t ? e : 0, this._p1 = (1 - t) / 2, this._p2 = t, this._p3 = this._p1 + this._p2, this._calcEnd = i === !0;
    }, !0),
        d = m.prototype = new t();

    return d.constructor = m, d.getRatio = function (t) {
      var e = t + (.5 - t) * this._p;
      return this._p1 > t ? this._calcEnd ? 1 - (t = 1 - t / this._p1) * t : e - (t = 1 - t / this._p1) * t * t * t * e : t > this._p3 ? this._calcEnd ? 1 - (t = (t - this._p3) / this._p1) * t : e + (t - e) * (t = (t - this._p3) / this._p1) * t * t * t : this._calcEnd ? 1 : e;
    }, m.ease = new m(.7, .7), d.config = m.config = function (t, e, i) {
      return new m(t, e, i);
    }, e = h("easing.SteppedEase", function (t) {
      t = t || 1, this._p1 = 1 / t, this._p2 = t + 1;
    }, !0), d = e.prototype = new t(), d.constructor = e, d.getRatio = function (t) {
      return 0 > t ? t = 0 : t >= 1 && (t = .999999999), (this._p2 * t >> 0) * this._p1;
    }, d.config = e.config = function (t) {
      return new e(t);
    }, i = h("easing.RoughEase", function (e) {
      e = e || {};

      for (var i, s, r, n, a, o, h = e.taper || "none", l = [], _ = 0, u = 0 | (e.points || 20), f = u, p = e.randomize !== !1, m = e.clamp === !0, d = e.template instanceof t ? e.template : null, g = "number" == typeof e.strength ? .4 * e.strength : .4; --f > -1;) i = p ? Math.random() : 1 / u * f, s = d ? d.getRatio(i) : i, "none" === h ? r = g : "out" === h ? (n = 1 - i, r = n * n * g) : "in" === h ? r = i * i * g : .5 > i ? (n = 2 * i, r = .5 * n * n * g) : (n = 2 * (1 - i), r = .5 * n * n * g), p ? s += Math.random() * r - .5 * r : f % 2 ? s += .5 * r : s -= .5 * r, m && (s > 1 ? s = 1 : 0 > s && (s = 0)), l[_++] = {
        x: i,
        y: s
      };

      for (l.sort(function (t, e) {
        return t.x - e.x;
      }), o = new c(1, 1, null), f = u; --f > -1;) a = l[f], o = new c(a.x, a.y, o);

      this._prev = new c(0, 0, 0 !== o.t ? o : o.next);
    }, !0), d = i.prototype = new t(), d.constructor = i, d.getRatio = function (t) {
      var e = this._prev;

      if (t > e.t) {
        for (; e.next && t >= e.t;) e = e.next;

        e = e.prev;
      } else for (; e.prev && e.t >= t;) e = e.prev;

      return this._prev = e, e.v + (t - e.t) / e.gap * e.c;
    }, d.config = function (t) {
      return new i(t);
    }, i.ease = new i(), u("Bounce", l("BounceOut", function (t) {
      return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
    }), l("BounceIn", function (t) {
      return 1 / 2.75 > (t = 1 - t) ? 1 - 7.5625 * t * t : 2 / 2.75 > t ? 1 - (7.5625 * (t -= 1.5 / 2.75) * t + .75) : 2.5 / 2.75 > t ? 1 - (7.5625 * (t -= 2.25 / 2.75) * t + .9375) : 1 - (7.5625 * (t -= 2.625 / 2.75) * t + .984375);
    }), l("BounceInOut", function (t) {
      var e = .5 > t;
      return t = e ? 1 - 2 * t : 2 * t - 1, t = 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375, e ? .5 * (1 - t) : .5 * t + .5;
    })), u("Circ", l("CircOut", function (t) {
      return Math.sqrt(1 - (t -= 1) * t);
    }), l("CircIn", function (t) {
      return -(Math.sqrt(1 - t * t) - 1);
    }), l("CircInOut", function (t) {
      return 1 > (t *= 2) ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
    })), s = function (e, i, s) {
      var r = h("easing." + e, function (t, e) {
        this._p1 = t || 1, this._p2 = e || s, this._p3 = this._p2 / a * (Math.asin(1 / this._p1) || 0);
      }, !0),
          n = r.prototype = new t();
      return n.constructor = r, n.getRatio = i, n.config = function (t, e) {
        return new r(t, e);
      }, r;
    }, u("Elastic", s("ElasticOut", function (t) {
      return this._p1 * Math.pow(2, -10 * t) * Math.sin((t - this._p3) * a / this._p2) + 1;
    }, .3), s("ElasticIn", function (t) {
      return -(this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * a / this._p2));
    }, .3), s("ElasticInOut", function (t) {
      return 1 > (t *= 2) ? -.5 * this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * a / this._p2) : .5 * this._p1 * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - this._p3) * a / this._p2) + 1;
    }, .45)), u("Expo", l("ExpoOut", function (t) {
      return 1 - Math.pow(2, -10 * t);
    }), l("ExpoIn", function (t) {
      return Math.pow(2, 10 * (t - 1)) - .001;
    }), l("ExpoInOut", function (t) {
      return 1 > (t *= 2) ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (2 - Math.pow(2, -10 * (t - 1)));
    })), u("Sine", l("SineOut", function (t) {
      return Math.sin(t * o);
    }), l("SineIn", function (t) {
      return -Math.cos(t * o) + 1;
    }), l("SineInOut", function (t) {
      return -.5 * (Math.cos(Math.PI * t) - 1);
    })), h("easing.EaseLookup", {
      find: function (e) {
        return t.map[e];
      }
    }, !0), _(r.SlowMo, "SlowMo", "ease,"), _(i, "RoughEase", "ease,"), _(e, "SteppedEase", "ease,"), p;
  }, !0);
}), window._gsDefine && window._gsQueue.pop()();

},{}],12:[function(require,module,exports){
"use strict";

/*!
 * VERSION: 1.12.1
 * DATE: 2014-06-26
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
 * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */
(window._gsQueue || (window._gsQueue = [])).push(function () {
  "use strict";

  window._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function (t, e) {
    var i,
        r,
        s,
        n,
        a = function () {
      t.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = a.prototype.setRatio;
    },
        o = {},
        l = a.prototype = new t("css");

    l.constructor = a, a.version = "1.12.1", a.API = 2, a.defaultTransformPerspective = 0, a.defaultSkewType = "compensated", l = "px", a.suffixMap = {
      top: l,
      right: l,
      bottom: l,
      left: l,
      width: l,
      height: l,
      fontSize: l,
      padding: l,
      margin: l,
      perspective: l,
      lineHeight: ""
    };

    var h,
        u,
        f,
        _,
        p,
        c,
        d = /(?:\d|\-\d|\.\d|\-\.\d)+/g,
        m = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
        g = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,
        v = /[^\d\-\.]/g,
        y = /(?:\d|\-|\+|=|#|\.)*/g,
        T = /opacity *= *([^)]*)/i,
        w = /opacity:([^;]*)/i,
        x = /alpha\(opacity *=.+?\)/i,
        b = /^(rgb|hsl)/,
        P = /([A-Z])/g,
        S = /-([a-z])/gi,
        C = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,
        R = function (t, e) {
      return e.toUpperCase();
    },
        k = /(?:Left|Right|Width)/i,
        A = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
        O = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,
        D = /,(?=[^\)]*(?:\(|$))/gi,
        M = Math.PI / 180,
        L = 180 / Math.PI,
        N = {},
        X = document,
        z = X.createElement("div"),
        I = X.createElement("img"),
        E = a._internals = {
      _specialProps: o
    },
        F = navigator.userAgent,
        Y = function () {
      var t,
          e = F.indexOf("Android"),
          i = X.createElement("div");
      return f = -1 !== F.indexOf("Safari") && -1 === F.indexOf("Chrome") && (-1 === e || Number(F.substr(e + 8, 1)) > 3), p = f && 6 > Number(F.substr(F.indexOf("Version/") + 8, 1)), _ = -1 !== F.indexOf("Firefox"), /MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(F) && (c = parseFloat(RegExp.$1)), i.innerHTML = "<a style='top:1px;opacity:.55;'>a</a>", t = i.getElementsByTagName("a")[0], t ? /^0.55/.test(t.style.opacity) : !1;
    }(),
        B = function (t) {
      return T.test("string" == typeof t ? t : (t.currentStyle ? t.currentStyle.filter : t.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1;
    },
        U = function (t) {
      window.console && console.log(t);
    },
        W = "",
        j = "",
        V = function (t, e) {
      e = e || z;
      var i,
          r,
          s = e.style;
      if (void 0 !== s[t]) return t;

      for (t = t.charAt(0).toUpperCase() + t.substr(1), i = ["O", "Moz", "ms", "Ms", "Webkit"], r = 5; --r > -1 && void 0 === s[i[r] + t];);

      return r >= 0 ? (j = 3 === r ? "ms" : i[r], W = "-" + j.toLowerCase() + "-", j + t) : null;
    },
        H = X.defaultView ? X.defaultView.getComputedStyle : function () {},
        q = a.getStyle = function (t, e, i, r, s) {
      var n;
      return Y || "opacity" !== e ? (!r && t.style[e] ? n = t.style[e] : (i = i || H(t)) ? n = i[e] || i.getPropertyValue(e) || i.getPropertyValue(e.replace(P, "-$1").toLowerCase()) : t.currentStyle && (n = t.currentStyle[e]), null == s || n && "none" !== n && "auto" !== n && "auto auto" !== n ? n : s) : B(t);
    },
        Q = E.convertToPixels = function (t, i, r, s, n) {
      if ("px" === s || !s) return r;
      if ("auto" === s || !r) return 0;
      var o,
          l,
          h,
          u = k.test(i),
          f = t,
          _ = z.style,
          p = 0 > r;
      if (p && (r = -r), "%" === s && -1 !== i.indexOf("border")) o = r / 100 * (u ? t.clientWidth : t.clientHeight);else {
        if (_.cssText = "border:0 solid red;position:" + q(t, "position") + ";line-height:0;", "%" !== s && f.appendChild) _[u ? "borderLeftWidth" : "borderTopWidth"] = r + s;else {
          if (f = t.parentNode || X.body, l = f._gsCache, h = e.ticker.frame, l && u && l.time === h) return l.width * r / 100;
          _[u ? "width" : "height"] = r + s;
        }
        f.appendChild(z), o = parseFloat(z[u ? "offsetWidth" : "offsetHeight"]), f.removeChild(z), u && "%" === s && a.cacheWidths !== !1 && (l = f._gsCache = f._gsCache || {}, l.time = h, l.width = 100 * (o / r)), 0 !== o || n || (o = Q(t, i, r, s, !0));
      }
      return p ? -o : o;
    },
        Z = E.calculateOffset = function (t, e, i) {
      if ("absolute" !== q(t, "position", i)) return 0;
      var r = "left" === e ? "Left" : "Top",
          s = q(t, "margin" + r, i);
      return t["offset" + r] - (Q(t, e, parseFloat(s), s.replace(y, "")) || 0);
    },
        $ = function (t, e) {
      var i,
          r,
          s = {};
      if (e = e || H(t, null)) {
        if (i = e.length) for (; --i > -1;) s[e[i].replace(S, R)] = e.getPropertyValue(e[i]);else for (i in e) s[i] = e[i];
      } else if (e = t.currentStyle || t.style) for (i in e) "string" == typeof i && void 0 === s[i] && (s[i.replace(S, R)] = e[i]);
      return Y || (s.opacity = B(t)), r = Pe(t, e, !1), s.rotation = r.rotation, s.skewX = r.skewX, s.scaleX = r.scaleX, s.scaleY = r.scaleY, s.x = r.x, s.y = r.y, xe && (s.z = r.z, s.rotationX = r.rotationX, s.rotationY = r.rotationY, s.scaleZ = r.scaleZ), s.filters && delete s.filters, s;
    },
        G = function (t, e, i, r, s) {
      var n,
          a,
          o,
          l = {},
          h = t.style;

      for (a in i) "cssText" !== a && "length" !== a && isNaN(a) && (e[a] !== (n = i[a]) || s && s[a]) && -1 === a.indexOf("Origin") && ("number" == typeof n || "string" == typeof n) && (l[a] = "auto" !== n || "left" !== a && "top" !== a ? "" !== n && "auto" !== n && "none" !== n || "string" != typeof e[a] || "" === e[a].replace(v, "") ? n : 0 : Z(t, a), void 0 !== h[a] && (o = new fe(h, a, h[a], o)));

      if (r) for (a in r) "className" !== a && (l[a] = r[a]);
      return {
        difs: l,
        firstMPT: o
      };
    },
        K = {
      width: ["Left", "Right"],
      height: ["Top", "Bottom"]
    },
        J = ["marginLeft", "marginRight", "marginTop", "marginBottom"],
        te = function (t, e, i) {
      var r = parseFloat("width" === e ? t.offsetWidth : t.offsetHeight),
          s = K[e],
          n = s.length;

      for (i = i || H(t, null); --n > -1;) r -= parseFloat(q(t, "padding" + s[n], i, !0)) || 0, r -= parseFloat(q(t, "border" + s[n] + "Width", i, !0)) || 0;

      return r;
    },
        ee = function (t, e) {
      (null == t || "" === t || "auto" === t || "auto auto" === t) && (t = "0 0");
      var i = t.split(" "),
          r = -1 !== t.indexOf("left") ? "0%" : -1 !== t.indexOf("right") ? "100%" : i[0],
          s = -1 !== t.indexOf("top") ? "0%" : -1 !== t.indexOf("bottom") ? "100%" : i[1];
      return null == s ? s = "0" : "center" === s && (s = "50%"), ("center" === r || isNaN(parseFloat(r)) && -1 === (r + "").indexOf("=")) && (r = "50%"), e && (e.oxp = -1 !== r.indexOf("%"), e.oyp = -1 !== s.indexOf("%"), e.oxr = "=" === r.charAt(1), e.oyr = "=" === s.charAt(1), e.ox = parseFloat(r.replace(v, "")), e.oy = parseFloat(s.replace(v, ""))), r + " " + s + (i.length > 2 ? " " + i[2] : "");
    },
        ie = function (t, e) {
      return "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) : parseFloat(t) - parseFloat(e);
    },
        re = function (t, e) {
      return null == t ? e : "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * Number(t.substr(2)) + e : parseFloat(t);
    },
        se = function (t, e, i, r) {
      var s,
          n,
          a,
          o,
          l = 1e-6;
      return null == t ? o = e : "number" == typeof t ? o = t : (s = 360, n = t.split("_"), a = Number(n[0].replace(v, "")) * (-1 === t.indexOf("rad") ? 1 : L) - ("=" === t.charAt(1) ? 0 : e), n.length && (r && (r[i] = e + a), -1 !== t.indexOf("short") && (a %= s, a !== a % (s / 2) && (a = 0 > a ? a + s : a - s)), -1 !== t.indexOf("_cw") && 0 > a ? a = (a + 9999999999 * s) % s - (0 | a / s) * s : -1 !== t.indexOf("ccw") && a > 0 && (a = (a - 9999999999 * s) % s - (0 | a / s) * s)), o = e + a), l > o && o > -l && (o = 0), o;
    },
        ne = {
      aqua: [0, 255, 255],
      lime: [0, 255, 0],
      silver: [192, 192, 192],
      black: [0, 0, 0],
      maroon: [128, 0, 0],
      teal: [0, 128, 128],
      blue: [0, 0, 255],
      navy: [0, 0, 128],
      white: [255, 255, 255],
      fuchsia: [255, 0, 255],
      olive: [128, 128, 0],
      yellow: [255, 255, 0],
      orange: [255, 165, 0],
      gray: [128, 128, 128],
      purple: [128, 0, 128],
      green: [0, 128, 0],
      red: [255, 0, 0],
      pink: [255, 192, 203],
      cyan: [0, 255, 255],
      transparent: [255, 255, 255, 0]
    },
        ae = function (t, e, i) {
      return t = 0 > t ? t + 1 : t > 1 ? t - 1 : t, 0 | 255 * (1 > 6 * t ? e + 6 * (i - e) * t : .5 > t ? i : 2 > 3 * t ? e + 6 * (i - e) * (2 / 3 - t) : e) + .5;
    },
        oe = function (t) {
      var e, i, r, s, n, a;
      return t && "" !== t ? "number" == typeof t ? [t >> 16, 255 & t >> 8, 255 & t] : ("," === t.charAt(t.length - 1) && (t = t.substr(0, t.length - 1)), ne[t] ? ne[t] : "#" === t.charAt(0) ? (4 === t.length && (e = t.charAt(1), i = t.charAt(2), r = t.charAt(3), t = "#" + e + e + i + i + r + r), t = parseInt(t.substr(1), 16), [t >> 16, 255 & t >> 8, 255 & t]) : "hsl" === t.substr(0, 3) ? (t = t.match(d), s = Number(t[0]) % 360 / 360, n = Number(t[1]) / 100, a = Number(t[2]) / 100, i = .5 >= a ? a * (n + 1) : a + n - a * n, e = 2 * a - i, t.length > 3 && (t[3] = Number(t[3])), t[0] = ae(s + 1 / 3, e, i), t[1] = ae(s, e, i), t[2] = ae(s - 1 / 3, e, i), t) : (t = t.match(d) || ne.transparent, t[0] = Number(t[0]), t[1] = Number(t[1]), t[2] = Number(t[2]), t.length > 3 && (t[3] = Number(t[3])), t)) : ne.black;
    },
        le = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";

    for (l in ne) le += "|" + l + "\\b";

    le = RegExp(le + ")", "gi");

    var he = function (t, e, i, r) {
      if (null == t) return function (t) {
        return t;
      };
      var s,
          n = e ? (t.match(le) || [""])[0] : "",
          a = t.split(n).join("").match(g) || [],
          o = t.substr(0, t.indexOf(a[0])),
          l = ")" === t.charAt(t.length - 1) ? ")" : "",
          h = -1 !== t.indexOf(" ") ? " " : ",",
          u = a.length,
          f = u > 0 ? a[0].replace(d, "") : "";
      return u ? s = e ? function (t) {
        var e, _, p, c;

        if ("number" == typeof t) t += f;else if (r && D.test(t)) {
          for (c = t.replace(D, "|").split("|"), p = 0; c.length > p; p++) c[p] = s(c[p]);

          return c.join(",");
        }
        if (e = (t.match(le) || [n])[0], _ = t.split(e).join("").match(g) || [], p = _.length, u > p--) for (; u > ++p;) _[p] = i ? _[0 | (p - 1) / 2] : a[p];
        return o + _.join(h) + h + e + l + (-1 !== t.indexOf("inset") ? " inset" : "");
      } : function (t) {
        var e, n, _;

        if ("number" == typeof t) t += f;else if (r && D.test(t)) {
          for (n = t.replace(D, "|").split("|"), _ = 0; n.length > _; _++) n[_] = s(n[_]);

          return n.join(",");
        }
        if (e = t.match(g) || [], _ = e.length, u > _--) for (; u > ++_;) e[_] = i ? e[0 | (_ - 1) / 2] : a[_];
        return o + e.join(h) + l;
      } : function (t) {
        return t;
      };
    },
        ue = function (t) {
      return t = t.split(","), function (e, i, r, s, n, a, o) {
        var l,
            h = (i + "").split(" ");

        for (o = {}, l = 0; 4 > l; l++) o[t[l]] = h[l] = h[l] || h[(l - 1) / 2 >> 0];

        return s.parse(e, o, n, a);
      };
    },
        fe = (E._setPluginRatio = function (t) {
      this.plugin.setRatio(t);

      for (var e, i, r, s, n = this.data, a = n.proxy, o = n.firstMPT, l = 1e-6; o;) e = a[o.v], o.r ? e = Math.round(e) : l > e && e > -l && (e = 0), o.t[o.p] = e, o = o._next;

      if (n.autoRotate && (n.autoRotate.rotation = a.rotation), 1 === t) for (o = n.firstMPT; o;) {
        if (i = o.t, i.type) {
          if (1 === i.type) {
            for (s = i.xs0 + i.s + i.xs1, r = 1; i.l > r; r++) s += i["xn" + r] + i["xs" + (r + 1)];

            i.e = s;
          }
        } else i.e = i.s + i.xs0;

        o = o._next;
      }
    }, function (t, e, i, r, s) {
      this.t = t, this.p = e, this.v = i, this.r = s, r && (r._prev = this, this._next = r);
    }),
        _e = (E._parseToProxy = function (t, e, i, r, s, n) {
      var a,
          o,
          l,
          h,
          u,
          f = r,
          _ = {},
          p = {},
          c = i._transform,
          d = N;

      for (i._transform = null, N = e, r = u = i.parse(t, e, r, s), N = d, n && (i._transform = c, f && (f._prev = null, f._prev && (f._prev._next = null))); r && r !== f;) {
        if (1 >= r.type && (o = r.p, p[o] = r.s + r.c, _[o] = r.s, n || (h = new fe(r, "s", o, h, r.r), r.c = 0), 1 === r.type)) for (a = r.l; --a > 0;) l = "xn" + a, o = r.p + "_" + l, p[o] = r.data[l], _[o] = r[l], n || (h = new fe(r, l, o, h, r.rxp[l]));
        r = r._next;
      }

      return {
        proxy: _,
        end: p,
        firstMPT: h,
        pt: u
      };
    }, E.CSSPropTween = function (t, e, r, s, a, o, l, h, u, f, _) {
      this.t = t, this.p = e, this.s = r, this.c = s, this.n = l || e, t instanceof _e || n.push(this.n), this.r = h, this.type = o || 0, u && (this.pr = u, i = !0), this.b = void 0 === f ? r : f, this.e = void 0 === _ ? r + s : _, a && (this._next = a, a._prev = this);
    }),
        pe = a.parseComplex = function (t, e, i, r, s, n, a, o, l, u) {
      i = i || n || "", a = new _e(t, e, 0, 0, a, u ? 2 : 1, null, !1, o, i, r), r += "";

      var f,
          _,
          p,
          c,
          g,
          v,
          y,
          T,
          w,
          x,
          P,
          S,
          C = i.split(", ").join(",").split(" "),
          R = r.split(", ").join(",").split(" "),
          k = C.length,
          A = h !== !1;

      for ((-1 !== r.indexOf(",") || -1 !== i.indexOf(",")) && (C = C.join(" ").replace(D, ", ").split(" "), R = R.join(" ").replace(D, ", ").split(" "), k = C.length), k !== R.length && (C = (n || "").split(" "), k = C.length), a.plugin = l, a.setRatio = u, f = 0; k > f; f++) if (c = C[f], g = R[f], T = parseFloat(c), T || 0 === T) a.appendXtra("", T, ie(g, T), g.replace(m, ""), A && -1 !== g.indexOf("px"), !0);else if (s && ("#" === c.charAt(0) || ne[c] || b.test(c))) S = "," === g.charAt(g.length - 1) ? ")," : ")", c = oe(c), g = oe(g), w = c.length + g.length > 6, w && !Y && 0 === g[3] ? (a["xs" + a.l] += a.l ? " transparent" : "transparent", a.e = a.e.split(R[f]).join("transparent")) : (Y || (w = !1), a.appendXtra(w ? "rgba(" : "rgb(", c[0], g[0] - c[0], ",", !0, !0).appendXtra("", c[1], g[1] - c[1], ",", !0).appendXtra("", c[2], g[2] - c[2], w ? "," : S, !0), w && (c = 4 > c.length ? 1 : c[3], a.appendXtra("", c, (4 > g.length ? 1 : g[3]) - c, S, !1)));else if (v = c.match(d)) {
        if (y = g.match(m), !y || y.length !== v.length) return a;

        for (p = 0, _ = 0; v.length > _; _++) P = v[_], x = c.indexOf(P, p), a.appendXtra(c.substr(p, x - p), Number(P), ie(y[_], P), "", A && "px" === c.substr(x + P.length, 2), 0 === _), p = x + P.length;

        a["xs" + a.l] += c.substr(p);
      } else a["xs" + a.l] += a.l ? " " + c : c;

      if (-1 !== r.indexOf("=") && a.data) {
        for (S = a.xs0 + a.data.s, f = 1; a.l > f; f++) S += a["xs" + f] + a.data["xn" + f];

        a.e = S + a["xs" + f];
      }

      return a.l || (a.type = -1, a.xs0 = a.e), a.xfirst || a;
    },
        ce = 9;

    for (l = _e.prototype, l.l = l.pr = 0; --ce > 0;) l["xn" + ce] = 0, l["xs" + ce] = "";

    l.xs0 = "", l._next = l._prev = l.xfirst = l.data = l.plugin = l.setRatio = l.rxp = null, l.appendXtra = function (t, e, i, r, s, n) {
      var a = this,
          o = a.l;
      return a["xs" + o] += n && o ? " " + t : t || "", i || 0 === o || a.plugin ? (a.l++, a.type = a.setRatio ? 2 : 1, a["xs" + a.l] = r || "", o > 0 ? (a.data["xn" + o] = e + i, a.rxp["xn" + o] = s, a["xn" + o] = e, a.plugin || (a.xfirst = new _e(a, "xn" + o, e, i, a.xfirst || a, 0, a.n, s, a.pr), a.xfirst.xs0 = 0), a) : (a.data = {
        s: e + i
      }, a.rxp = {}, a.s = e, a.c = i, a.r = s, a)) : (a["xs" + o] += e + (r || ""), a);
    };

    var de = function (t, e) {
      e = e || {}, this.p = e.prefix ? V(t) || t : t, o[t] = o[this.p] = this, this.format = e.formatter || he(e.defaultValue, e.color, e.collapsible, e.multi), e.parser && (this.parse = e.parser), this.clrs = e.color, this.multi = e.multi, this.keyword = e.keyword, this.dflt = e.defaultValue, this.pr = e.priority || 0;
    },
        me = E._registerComplexSpecialProp = function (t, e, i) {
      "object" != typeof e && (e = {
        parser: i
      });
      var r,
          s,
          n = t.split(","),
          a = e.defaultValue;

      for (i = i || [a], r = 0; n.length > r; r++) e.prefix = 0 === r && e.prefix, e.defaultValue = i[r] || a, s = new de(n[r], e);
    },
        ge = function (t) {
      if (!o[t]) {
        var e = t.charAt(0).toUpperCase() + t.substr(1) + "Plugin";
        me(t, {
          parser: function (t, i, r, s, n, a, l) {
            var h = (window.GreenSockGlobals || window).com.greensock.plugins[e];
            return h ? (h._cssRegister(), o[r].parse(t, i, r, s, n, a, l)) : (U("Error: " + e + " js file not loaded."), n);
          }
        });
      }
    };

    l = de.prototype, l.parseComplex = function (t, e, i, r, s, n) {
      var a,
          o,
          l,
          h,
          u,
          f,
          _ = this.keyword;

      if (this.multi && (D.test(i) || D.test(e) ? (o = e.replace(D, "|").split("|"), l = i.replace(D, "|").split("|")) : _ && (o = [e], l = [i])), l) {
        for (h = l.length > o.length ? l.length : o.length, a = 0; h > a; a++) e = o[a] = o[a] || this.dflt, i = l[a] = l[a] || this.dflt, _ && (u = e.indexOf(_), f = i.indexOf(_), u !== f && (i = -1 === f ? l : o, i[a] += " " + _));

        e = o.join(", "), i = l.join(", ");
      }

      return pe(t, this.p, e, i, this.clrs, this.dflt, r, this.pr, s, n);
    }, l.parse = function (t, e, i, r, n, a) {
      return this.parseComplex(t.style, this.format(q(t, this.p, s, !1, this.dflt)), this.format(e), n, a);
    }, a.registerSpecialProp = function (t, e, i) {
      me(t, {
        parser: function (t, r, s, n, a, o) {
          var l = new _e(t, s, 0, 0, a, 2, s, !1, i);
          return l.plugin = o, l.setRatio = e(t, r, n._tween, s), l;
        },
        priority: i
      });
    };

    var ve = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective".split(","),
        ye = V("transform"),
        Te = W + "transform",
        we = V("transformOrigin"),
        xe = null !== V("perspective"),
        be = E.Transform = function () {
      this.skewY = 0;
    },
        Pe = E.getTransform = function (t, e, i, r) {
      if (t._gsTransform && i && !r) return t._gsTransform;

      var s,
          n,
          o,
          l,
          h,
          u,
          f,
          _,
          p,
          c,
          d,
          m,
          g,
          v = i ? t._gsTransform || new be() : new be(),
          y = 0 > v.scaleX,
          T = 2e-5,
          w = 1e5,
          x = 179.99,
          b = x * M,
          P = xe ? parseFloat(q(t, we, e, !1, "0 0 0").split(" ")[2]) || v.zOrigin || 0 : 0;

      for (ye ? s = q(t, Te, e, !0) : t.currentStyle && (s = t.currentStyle.filter.match(A), s = s && 4 === s.length ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), v.x || 0, v.y || 0].join(",") : ""), n = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], o = n.length; --o > -1;) l = Number(n[o]), n[o] = (h = l - (l |= 0)) ? (0 | h * w + (0 > h ? -.5 : .5)) / w + l : l;

      if (16 === n.length) {
        var S = n[8],
            C = n[9],
            R = n[10],
            k = n[12],
            O = n[13],
            D = n[14];

        if (v.zOrigin && (D = -v.zOrigin, k = S * D - n[12], O = C * D - n[13], D = R * D + v.zOrigin - n[14]), !i || r || null == v.rotationX) {
          var N,
              X,
              z,
              I,
              E,
              F,
              Y,
              B = n[0],
              U = n[1],
              W = n[2],
              j = n[3],
              V = n[4],
              H = n[5],
              Q = n[6],
              Z = n[7],
              $ = n[11],
              G = Math.atan2(Q, R),
              K = -b > G || G > b;
          v.rotationX = G * L, G && (I = Math.cos(-G), E = Math.sin(-G), N = V * I + S * E, X = H * I + C * E, z = Q * I + R * E, S = V * -E + S * I, C = H * -E + C * I, R = Q * -E + R * I, $ = Z * -E + $ * I, V = N, H = X, Q = z), G = Math.atan2(S, B), v.rotationY = G * L, G && (F = -b > G || G > b, I = Math.cos(-G), E = Math.sin(-G), N = B * I - S * E, X = U * I - C * E, z = W * I - R * E, C = U * E + C * I, R = W * E + R * I, $ = j * E + $ * I, B = N, U = X, W = z), G = Math.atan2(U, H), v.rotation = G * L, G && (Y = -b > G || G > b, I = Math.cos(-G), E = Math.sin(-G), B = B * I + V * E, X = U * I + H * E, H = U * -E + H * I, Q = W * -E + Q * I, U = X), Y && K ? v.rotation = v.rotationX = 0 : Y && F ? v.rotation = v.rotationY = 0 : F && K && (v.rotationY = v.rotationX = 0), v.scaleX = (0 | Math.sqrt(B * B + U * U) * w + .5) / w, v.scaleY = (0 | Math.sqrt(H * H + C * C) * w + .5) / w, v.scaleZ = (0 | Math.sqrt(Q * Q + R * R) * w + .5) / w, v.skewX = 0, v.perspective = $ ? 1 / (0 > $ ? -$ : $) : 0, v.x = k, v.y = O, v.z = D;
        }
      } else if (!(xe && !r && n.length && v.x === n[4] && v.y === n[5] && (v.rotationX || v.rotationY) || void 0 !== v.x && "none" === q(t, "display", e))) {
        var J = n.length >= 6,
            te = J ? n[0] : 1,
            ee = n[1] || 0,
            ie = n[2] || 0,
            re = J ? n[3] : 1;
        v.x = n[4] || 0, v.y = n[5] || 0, u = Math.sqrt(te * te + ee * ee), f = Math.sqrt(re * re + ie * ie), _ = te || ee ? Math.atan2(ee, te) * L : v.rotation || 0, p = ie || re ? Math.atan2(ie, re) * L + _ : v.skewX || 0, c = u - Math.abs(v.scaleX || 0), d = f - Math.abs(v.scaleY || 0), Math.abs(p) > 90 && 270 > Math.abs(p) && (y ? (u *= -1, p += 0 >= _ ? 180 : -180, _ += 0 >= _ ? 180 : -180) : (f *= -1, p += 0 >= p ? 180 : -180)), m = (_ - v.rotation) % 180, g = (p - v.skewX) % 180, (void 0 === v.skewX || c > T || -T > c || d > T || -T > d || m > -x && x > m && false | m * w || g > -x && x > g && false | g * w) && (v.scaleX = u, v.scaleY = f, v.rotation = _, v.skewX = p), xe && (v.rotationX = v.rotationY = v.z = 0, v.perspective = parseFloat(a.defaultTransformPerspective) || 0, v.scaleZ = 1);
      }

      v.zOrigin = P;

      for (o in v) T > v[o] && v[o] > -T && (v[o] = 0);

      return i && (t._gsTransform = v), v;
    },
        Se = function (t) {
      var e,
          i,
          r = this.data,
          s = -r.rotation * M,
          n = s + r.skewX * M,
          a = 1e5,
          o = (0 | Math.cos(s) * r.scaleX * a) / a,
          l = (0 | Math.sin(s) * r.scaleX * a) / a,
          h = (0 | Math.sin(n) * -r.scaleY * a) / a,
          u = (0 | Math.cos(n) * r.scaleY * a) / a,
          f = this.t.style,
          _ = this.t.currentStyle;

      if (_) {
        i = l, l = -h, h = -i, e = _.filter, f.filter = "";
        var p,
            d,
            m = this.t.offsetWidth,
            g = this.t.offsetHeight,
            v = "absolute" !== _.position,
            w = "progid:DXImageTransform.Microsoft.Matrix(M11=" + o + ", M12=" + l + ", M21=" + h + ", M22=" + u,
            x = r.x,
            b = r.y;

        if (null != r.ox && (p = (r.oxp ? .01 * m * r.ox : r.ox) - m / 2, d = (r.oyp ? .01 * g * r.oy : r.oy) - g / 2, x += p - (p * o + d * l), b += d - (p * h + d * u)), v ? (p = m / 2, d = g / 2, w += ", Dx=" + (p - (p * o + d * l) + x) + ", Dy=" + (d - (p * h + d * u) + b) + ")") : w += ", sizingMethod='auto expand')", f.filter = -1 !== e.indexOf("DXImageTransform.Microsoft.Matrix(") ? e.replace(O, w) : w + " " + e, (0 === t || 1 === t) && 1 === o && 0 === l && 0 === h && 1 === u && (v && -1 === w.indexOf("Dx=0, Dy=0") || T.test(e) && 100 !== parseFloat(RegExp.$1) || -1 === e.indexOf("gradient(" && e.indexOf("Alpha")) && f.removeAttribute("filter")), !v) {
          var P,
              S,
              C,
              R = 8 > c ? 1 : -1;

          for (p = r.ieOffsetX || 0, d = r.ieOffsetY || 0, r.ieOffsetX = Math.round((m - ((0 > o ? -o : o) * m + (0 > l ? -l : l) * g)) / 2 + x), r.ieOffsetY = Math.round((g - ((0 > u ? -u : u) * g + (0 > h ? -h : h) * m)) / 2 + b), ce = 0; 4 > ce; ce++) S = J[ce], P = _[S], i = -1 !== P.indexOf("px") ? parseFloat(P) : Q(this.t, S, parseFloat(P), P.replace(y, "")) || 0, C = i !== r[S] ? 2 > ce ? -r.ieOffsetX : -r.ieOffsetY : 2 > ce ? p - r.ieOffsetX : d - r.ieOffsetY, f[S] = (r[S] = Math.round(i - C * (0 === ce || 2 === ce ? 1 : R))) + "px";
        }
      }
    },
        Ce = E.set3DTransformRatio = function (t) {
      var e,
          i,
          r,
          s,
          n,
          a,
          o,
          l,
          h,
          u,
          f,
          p,
          c,
          d,
          m,
          g,
          v,
          y,
          T,
          w,
          x,
          b,
          P,
          S = this.data,
          C = this.t.style,
          R = S.rotation * M,
          k = S.scaleX,
          A = S.scaleY,
          O = S.scaleZ,
          D = S.perspective;
      if (!(1 !== t && 0 !== t || "auto" !== S.force3D || S.rotationY || S.rotationX || 1 !== O || D || S.z)) return Re.call(this, t), void 0;

      if (_) {
        var L = 1e-4;
        L > k && k > -L && (k = O = 2e-5), L > A && A > -L && (A = O = 2e-5), !D || S.z || S.rotationX || S.rotationY || (D = 0);
      }

      if (R || S.skewX) y = Math.cos(R), T = Math.sin(R), e = y, n = T, S.skewX && (R -= S.skewX * M, y = Math.cos(R), T = Math.sin(R), "simple" === S.skewType && (w = Math.tan(S.skewX * M), w = Math.sqrt(1 + w * w), y *= w, T *= w)), i = -T, a = y;else {
        if (!(S.rotationY || S.rotationX || 1 !== O || D)) return C[ye] = "translate3d(" + S.x + "px," + S.y + "px," + S.z + "px)" + (1 !== k || 1 !== A ? " scale(" + k + "," + A + ")" : ""), void 0;
        e = a = 1, i = n = 0;
      }
      f = 1, r = s = o = l = h = u = p = c = d = 0, m = D ? -1 / D : 0, g = S.zOrigin, v = 1e5, R = S.rotationY * M, R && (y = Math.cos(R), T = Math.sin(R), h = f * -T, c = m * -T, r = e * T, o = n * T, f *= y, m *= y, e *= y, n *= y), R = S.rotationX * M, R && (y = Math.cos(R), T = Math.sin(R), w = i * y + r * T, x = a * y + o * T, b = u * y + f * T, P = d * y + m * T, r = i * -T + r * y, o = a * -T + o * y, f = u * -T + f * y, m = d * -T + m * y, i = w, a = x, u = b, d = P), 1 !== O && (r *= O, o *= O, f *= O, m *= O), 1 !== A && (i *= A, a *= A, u *= A, d *= A), 1 !== k && (e *= k, n *= k, h *= k, c *= k), g && (p -= g, s = r * p, l = o * p, p = f * p + g), s = (w = (s += S.x) - (s |= 0)) ? (0 | w * v + (0 > w ? -.5 : .5)) / v + s : s, l = (w = (l += S.y) - (l |= 0)) ? (0 | w * v + (0 > w ? -.5 : .5)) / v + l : l, p = (w = (p += S.z) - (p |= 0)) ? (0 | w * v + (0 > w ? -.5 : .5)) / v + p : p, C[ye] = "matrix3d(" + [(0 | e * v) / v, (0 | n * v) / v, (0 | h * v) / v, (0 | c * v) / v, (0 | i * v) / v, (0 | a * v) / v, (0 | u * v) / v, (0 | d * v) / v, (0 | r * v) / v, (0 | o * v) / v, (0 | f * v) / v, (0 | m * v) / v, s, l, p, D ? 1 + -p / D : 1].join(",") + ")";
    },
        Re = E.set2DTransformRatio = function (t) {
      var e,
          i,
          r,
          s,
          n,
          a = this.data,
          o = this.t,
          l = o.style;
      return a.rotationX || a.rotationY || a.z || a.force3D === !0 || "auto" === a.force3D && 1 !== t && 0 !== t ? (this.setRatio = Ce, Ce.call(this, t), void 0) : (a.rotation || a.skewX ? (e = a.rotation * M, i = e - a.skewX * M, r = 1e5, s = a.scaleX * r, n = a.scaleY * r, l[ye] = "matrix(" + (0 | Math.cos(e) * s) / r + "," + (0 | Math.sin(e) * s) / r + "," + (0 | Math.sin(i) * -n) / r + "," + (0 | Math.cos(i) * n) / r + "," + a.x + "," + a.y + ")") : l[ye] = "matrix(" + a.scaleX + ",0,0," + a.scaleY + "," + a.x + "," + a.y + ")", void 0);
    };

    me("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType", {
      parser: function (t, e, i, r, n, o, l) {
        if (r._transform) return n;

        var h,
            u,
            f,
            _,
            p,
            c,
            d,
            m = r._transform = Pe(t, s, !0, l.parseTransform),
            g = t.style,
            v = 1e-6,
            y = ve.length,
            T = l,
            w = {};

        if ("string" == typeof T.transform && ye) f = z.style, f[ye] = T.transform, f.display = "block", f.position = "absolute", X.body.appendChild(z), h = Pe(z, null, !1), X.body.removeChild(z);else if ("object" == typeof T) {
          if (h = {
            scaleX: re(null != T.scaleX ? T.scaleX : T.scale, m.scaleX),
            scaleY: re(null != T.scaleY ? T.scaleY : T.scale, m.scaleY),
            scaleZ: re(T.scaleZ, m.scaleZ),
            x: re(T.x, m.x),
            y: re(T.y, m.y),
            z: re(T.z, m.z),
            perspective: re(T.transformPerspective, m.perspective)
          }, d = T.directionalRotation, null != d) if ("object" == typeof d) for (f in d) T[f] = d[f];else T.rotation = d;
          h.rotation = se("rotation" in T ? T.rotation : "shortRotation" in T ? T.shortRotation + "_short" : "rotationZ" in T ? T.rotationZ : m.rotation, m.rotation, "rotation", w), xe && (h.rotationX = se("rotationX" in T ? T.rotationX : "shortRotationX" in T ? T.shortRotationX + "_short" : m.rotationX || 0, m.rotationX, "rotationX", w), h.rotationY = se("rotationY" in T ? T.rotationY : "shortRotationY" in T ? T.shortRotationY + "_short" : m.rotationY || 0, m.rotationY, "rotationY", w)), h.skewX = null == T.skewX ? m.skewX : se(T.skewX, m.skewX), h.skewY = null == T.skewY ? m.skewY : se(T.skewY, m.skewY), (u = h.skewY - m.skewY) && (h.skewX += u, h.rotation += u);
        }

        for (xe && null != T.force3D && (m.force3D = T.force3D, c = !0), m.skewType = T.skewType || m.skewType || a.defaultSkewType, p = m.force3D || m.z || m.rotationX || m.rotationY || h.z || h.rotationX || h.rotationY || h.perspective, p || null == T.scale || (h.scaleZ = 1); --y > -1;) i = ve[y], _ = h[i] - m[i], (_ > v || -v > _ || null != N[i]) && (c = !0, n = new _e(m, i, m[i], _, n), i in w && (n.e = w[i]), n.xs0 = 0, n.plugin = o, r._overwriteProps.push(n.n));

        return _ = T.transformOrigin, (_ || xe && p && m.zOrigin) && (ye ? (c = !0, i = we, _ = (_ || q(t, i, s, !1, "50% 50%")) + "", n = new _e(g, i, 0, 0, n, -1, "transformOrigin"), n.b = g[i], n.plugin = o, xe ? (f = m.zOrigin, _ = _.split(" "), m.zOrigin = (_.length > 2 && (0 === f || "0px" !== _[2]) ? parseFloat(_[2]) : f) || 0, n.xs0 = n.e = _[0] + " " + (_[1] || "50%") + " 0px", n = new _e(m, "zOrigin", 0, 0, n, -1, n.n), n.b = f, n.xs0 = n.e = m.zOrigin) : n.xs0 = n.e = _) : ee(_ + "", m)), c && (r._transformType = p || 3 === this._transformType ? 3 : 2), n;
      },
      prefix: !0
    }), me("boxShadow", {
      defaultValue: "0px 0px 0px 0px #999",
      prefix: !0,
      color: !0,
      multi: !0,
      keyword: "inset"
    }), me("borderRadius", {
      defaultValue: "0px",
      parser: function (t, e, i, n, a) {
        e = this.format(e);

        var o,
            l,
            h,
            u,
            f,
            _,
            p,
            c,
            d,
            m,
            g,
            v,
            y,
            T,
            w,
            x,
            b = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
            P = t.style;

        for (d = parseFloat(t.offsetWidth), m = parseFloat(t.offsetHeight), o = e.split(" "), l = 0; b.length > l; l++) this.p.indexOf("border") && (b[l] = V(b[l])), f = u = q(t, b[l], s, !1, "0px"), -1 !== f.indexOf(" ") && (u = f.split(" "), f = u[0], u = u[1]), _ = h = o[l], p = parseFloat(f), v = f.substr((p + "").length), y = "=" === _.charAt(1), y ? (c = parseInt(_.charAt(0) + "1", 10), _ = _.substr(2), c *= parseFloat(_), g = _.substr((c + "").length - (0 > c ? 1 : 0)) || "") : (c = parseFloat(_), g = _.substr((c + "").length)), "" === g && (g = r[i] || v), g !== v && (T = Q(t, "borderLeft", p, v), w = Q(t, "borderTop", p, v), "%" === g ? (f = 100 * (T / d) + "%", u = 100 * (w / m) + "%") : "em" === g ? (x = Q(t, "borderLeft", 1, "em"), f = T / x + "em", u = w / x + "em") : (f = T + "px", u = w + "px"), y && (_ = parseFloat(f) + c + g, h = parseFloat(u) + c + g)), a = pe(P, b[l], f + " " + u, _ + " " + h, !1, "0px", a);

        return a;
      },
      prefix: !0,
      formatter: he("0px 0px 0px 0px", !1, !0)
    }), me("backgroundPosition", {
      defaultValue: "0 0",
      parser: function (t, e, i, r, n, a) {
        var o,
            l,
            h,
            u,
            f,
            _,
            p = "background-position",
            d = s || H(t, null),
            m = this.format((d ? c ? d.getPropertyValue(p + "-x") + " " + d.getPropertyValue(p + "-y") : d.getPropertyValue(p) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"),
            g = this.format(e);

        if (-1 !== m.indexOf("%") != (-1 !== g.indexOf("%")) && (_ = q(t, "backgroundImage").replace(C, ""), _ && "none" !== _)) {
          for (o = m.split(" "), l = g.split(" "), I.setAttribute("src", _), h = 2; --h > -1;) m = o[h], u = -1 !== m.indexOf("%"), u !== (-1 !== l[h].indexOf("%")) && (f = 0 === h ? t.offsetWidth - I.width : t.offsetHeight - I.height, o[h] = u ? parseFloat(m) / 100 * f + "px" : 100 * (parseFloat(m) / f) + "%");

          m = o.join(" ");
        }

        return this.parseComplex(t.style, m, g, n, a);
      },
      formatter: ee
    }), me("backgroundSize", {
      defaultValue: "0 0",
      formatter: ee
    }), me("perspective", {
      defaultValue: "0px",
      prefix: !0
    }), me("perspectiveOrigin", {
      defaultValue: "50% 50%",
      prefix: !0
    }), me("transformStyle", {
      prefix: !0
    }), me("backfaceVisibility", {
      prefix: !0
    }), me("userSelect", {
      prefix: !0
    }), me("margin", {
      parser: ue("marginTop,marginRight,marginBottom,marginLeft")
    }), me("padding", {
      parser: ue("paddingTop,paddingRight,paddingBottom,paddingLeft")
    }), me("clip", {
      defaultValue: "rect(0px,0px,0px,0px)",
      parser: function (t, e, i, r, n, a) {
        var o, l, h;
        return 9 > c ? (l = t.currentStyle, h = 8 > c ? " " : ",", o = "rect(" + l.clipTop + h + l.clipRight + h + l.clipBottom + h + l.clipLeft + ")", e = this.format(e).split(",").join(h)) : (o = this.format(q(t, this.p, s, !1, this.dflt)), e = this.format(e)), this.parseComplex(t.style, o, e, n, a);
      }
    }), me("textShadow", {
      defaultValue: "0px 0px 0px #999",
      color: !0,
      multi: !0
    }), me("autoRound,strictUnits", {
      parser: function (t, e, i, r, s) {
        return s;
      }
    }), me("border", {
      defaultValue: "0px solid #000",
      parser: function (t, e, i, r, n, a) {
        return this.parseComplex(t.style, this.format(q(t, "borderTopWidth", s, !1, "0px") + " " + q(t, "borderTopStyle", s, !1, "solid") + " " + q(t, "borderTopColor", s, !1, "#000")), this.format(e), n, a);
      },
      color: !0,
      formatter: function (t) {
        var e = t.split(" ");
        return e[0] + " " + (e[1] || "solid") + " " + (t.match(le) || ["#000"])[0];
      }
    }), me("borderWidth", {
      parser: ue("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")
    }), me("float,cssFloat,styleFloat", {
      parser: function (t, e, i, r, s) {
        var n = t.style,
            a = "cssFloat" in n ? "cssFloat" : "styleFloat";
        return new _e(n, a, 0, 0, s, -1, i, !1, 0, n[a], e);
      }
    });

    var ke = function (t) {
      var e,
          i = this.t,
          r = i.filter || q(this.data, "filter"),
          s = 0 | this.s + this.c * t;
      100 === s && (-1 === r.indexOf("atrix(") && -1 === r.indexOf("radient(") && -1 === r.indexOf("oader(") ? (i.removeAttribute("filter"), e = !q(this.data, "filter")) : (i.filter = r.replace(x, ""), e = !0)), e || (this.xn1 && (i.filter = r = r || "alpha(opacity=" + s + ")"), -1 === r.indexOf("pacity") ? 0 === s && this.xn1 || (i.filter = r + " alpha(opacity=" + s + ")") : i.filter = r.replace(T, "opacity=" + s));
    };

    me("opacity,alpha,autoAlpha", {
      defaultValue: "1",
      parser: function (t, e, i, r, n, a) {
        var o = parseFloat(q(t, "opacity", s, !1, "1")),
            l = t.style,
            h = "autoAlpha" === i;
        return "string" == typeof e && "=" === e.charAt(1) && (e = ("-" === e.charAt(0) ? -1 : 1) * parseFloat(e.substr(2)) + o), h && 1 === o && "hidden" === q(t, "visibility", s) && 0 !== e && (o = 0), Y ? n = new _e(l, "opacity", o, e - o, n) : (n = new _e(l, "opacity", 100 * o, 100 * (e - o), n), n.xn1 = h ? 1 : 0, l.zoom = 1, n.type = 2, n.b = "alpha(opacity=" + n.s + ")", n.e = "alpha(opacity=" + (n.s + n.c) + ")", n.data = t, n.plugin = a, n.setRatio = ke), h && (n = new _e(l, "visibility", 0, 0, n, -1, null, !1, 0, 0 !== o ? "inherit" : "hidden", 0 === e ? "hidden" : "inherit"), n.xs0 = "inherit", r._overwriteProps.push(n.n), r._overwriteProps.push(i)), n;
      }
    });

    var Ae = function (t, e) {
      e && (t.removeProperty ? ("ms" === e.substr(0, 2) && (e = "M" + e.substr(1)), t.removeProperty(e.replace(P, "-$1").toLowerCase())) : t.removeAttribute(e));
    },
        Oe = function (t) {
      if (this.t._gsClassPT = this, 1 === t || 0 === t) {
        this.t.setAttribute("class", 0 === t ? this.b : this.e);

        for (var e = this.data, i = this.t.style; e;) e.v ? i[e.p] = e.v : Ae(i, e.p), e = e._next;

        1 === t && this.t._gsClassPT === this && (this.t._gsClassPT = null);
      } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e);
    };

    me("className", {
      parser: function (t, e, r, n, a, o, l) {
        var h,
            u,
            f,
            _,
            p,
            c = t.getAttribute("class") || "",
            d = t.style.cssText;

        if (a = n._classNamePT = new _e(t, r, 0, 0, a, 2), a.setRatio = Oe, a.pr = -11, i = !0, a.b = c, u = $(t, s), f = t._gsClassPT) {
          for (_ = {}, p = f.data; p;) _[p.p] = 1, p = p._next;

          f.setRatio(1);
        }

        return t._gsClassPT = a, a.e = "=" !== e.charAt(1) ? e : c.replace(RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ("+" === e.charAt(0) ? " " + e.substr(2) : ""), n._tween._duration && (t.setAttribute("class", a.e), h = G(t, u, $(t), l, _), t.setAttribute("class", c), a.data = h.firstMPT, t.style.cssText = d, a = a.xfirst = n.parse(t, h.difs, a, o)), a;
      }
    });

    var De = function (t) {
      if ((1 === t || 0 === t) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
        var e,
            i,
            r,
            s,
            n = this.t.style,
            a = o.transform.parse;
        if ("all" === this.e) n.cssText = "", s = !0;else for (e = this.e.split(","), r = e.length; --r > -1;) i = e[r], o[i] && (o[i].parse === a ? s = !0 : i = "transformOrigin" === i ? we : o[i].p), Ae(n, i);
        s && (Ae(n, ye), this.t._gsTransform && delete this.t._gsTransform);
      }
    };

    for (me("clearProps", {
      parser: function (t, e, r, s, n) {
        return n = new _e(t, r, 0, 0, n, 2), n.setRatio = De, n.e = e, n.pr = -10, n.data = s._tween, i = !0, n;
      }
    }), l = "bezier,throwProps,physicsProps,physics2D".split(","), ce = l.length; ce--;) ge(l[ce]);

    l = a.prototype, l._firstPT = null, l._onInitTween = function (t, e, o) {
      if (!t.nodeType) return !1;
      this._target = t, this._tween = o, this._vars = e, h = e.autoRound, i = !1, r = e.suffixMap || a.suffixMap, s = H(t, ""), n = this._overwriteProps;

      var l,
          _,
          c,
          d,
          m,
          g,
          v,
          y,
          T,
          x = t.style;

      if (u && "" === x.zIndex && (l = q(t, "zIndex", s), ("auto" === l || "" === l) && this._addLazySet(x, "zIndex", 0)), "string" == typeof e && (d = x.cssText, l = $(t, s), x.cssText = d + ";" + e, l = G(t, l, $(t)).difs, !Y && w.test(e) && (l.opacity = parseFloat(RegExp.$1)), e = l, x.cssText = d), this._firstPT = _ = this.parse(t, e, null), this._transformType) {
        for (T = 3 === this._transformType, ye ? f && (u = !0, "" === x.zIndex && (v = q(t, "zIndex", s), ("auto" === v || "" === v) && this._addLazySet(x, "zIndex", 0)), p && this._addLazySet(x, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (T ? "visible" : "hidden"))) : x.zoom = 1, c = _; c && c._next;) c = c._next;

        y = new _e(t, "transform", 0, 0, null, 2), this._linkCSSP(y, null, c), y.setRatio = T && xe ? Ce : ye ? Re : Se, y.data = this._transform || Pe(t, s, !0), n.pop();
      }

      if (i) {
        for (; _;) {
          for (g = _._next, c = d; c && c.pr > _.pr;) c = c._next;

          (_._prev = c ? c._prev : m) ? _._prev._next = _ : d = _, (_._next = c) ? c._prev = _ : m = _, _ = g;
        }

        this._firstPT = d;
      }

      return !0;
    }, l.parse = function (t, e, i, n) {
      var a,
          l,
          u,
          f,
          _,
          p,
          c,
          d,
          m,
          g,
          v = t.style;

      for (a in e) p = e[a], l = o[a], l ? i = l.parse(t, p, a, this, i, n, e) : (_ = q(t, a, s) + "", m = "string" == typeof p, "color" === a || "fill" === a || "stroke" === a || -1 !== a.indexOf("Color") || m && b.test(p) ? (m || (p = oe(p), p = (p.length > 3 ? "rgba(" : "rgb(") + p.join(",") + ")"), i = pe(v, a, _, p, !0, "transparent", i, 0, n)) : !m || -1 === p.indexOf(" ") && -1 === p.indexOf(",") ? (u = parseFloat(_), c = u || 0 === u ? _.substr((u + "").length) : "", ("" === _ || "auto" === _) && ("width" === a || "height" === a ? (u = te(t, a, s), c = "px") : "left" === a || "top" === a ? (u = Z(t, a, s), c = "px") : (u = "opacity" !== a ? 0 : 1, c = "")), g = m && "=" === p.charAt(1), g ? (f = parseInt(p.charAt(0) + "1", 10), p = p.substr(2), f *= parseFloat(p), d = p.replace(y, "")) : (f = parseFloat(p), d = m ? p.substr((f + "").length) || "" : ""), "" === d && (d = a in r ? r[a] : c), p = f || 0 === f ? (g ? f + u : f) + d : e[a], c !== d && "" !== d && (f || 0 === f) && u && (u = Q(t, a, u, c), "%" === d ? (u /= Q(t, a, 100, "%") / 100, e.strictUnits !== !0 && (_ = u + "%")) : "em" === d ? u /= Q(t, a, 1, "em") : "px" !== d && (f = Q(t, a, f, d), d = "px"), g && (f || 0 === f) && (p = f + u + d)), g && (f += u), !u && 0 !== u || !f && 0 !== f ? void 0 !== v[a] && (p || "NaN" != p + "" && null != p) ? (i = new _e(v, a, f || u || 0, 0, i, -1, a, !1, 0, _, p), i.xs0 = "none" !== p || "display" !== a && -1 === a.indexOf("Style") ? p : _) : U("invalid " + a + " tween value: " + e[a]) : (i = new _e(v, a, u, f - u, i, 0, a, h !== !1 && ("px" === d || "zIndex" === a), 0, _, p), i.xs0 = d)) : i = pe(v, a, _, p, !0, null, i, 0, n)), n && i && !i.plugin && (i.plugin = n);

      return i;
    }, l.setRatio = function (t) {
      var e,
          i,
          r,
          s = this._firstPT,
          n = 1e-6;
      if (1 !== t || this._tween._time !== this._tween._duration && 0 !== this._tween._time) {
        if (t || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; s;) {
          if (e = s.c * t + s.s, s.r ? e = Math.round(e) : n > e && e > -n && (e = 0), s.type) {
            if (1 === s.type) {
              if (r = s.l, 2 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2;else if (3 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3;else if (4 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4;else if (5 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4 + s.xn4 + s.xs5;else {
                for (i = s.xs0 + e + s.xs1, r = 1; s.l > r; r++) i += s["xn" + r] + s["xs" + (r + 1)];

                s.t[s.p] = i;
              }
            } else -1 === s.type ? s.t[s.p] = s.xs0 : s.setRatio && s.setRatio(t);
          } else s.t[s.p] = e + s.xs0;
          s = s._next;
        } else for (; s;) 2 !== s.type ? s.t[s.p] = s.b : s.setRatio(t), s = s._next;
      } else for (; s;) 2 !== s.type ? s.t[s.p] = s.e : s.setRatio(t), s = s._next;
    }, l._enableTransforms = function (t) {
      this._transformType = t || 3 === this._transformType ? 3 : 2, this._transform = this._transform || Pe(this._target, s, !0);
    };

    var Me = function () {
      this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0);
    };

    l._addLazySet = function (t, e, i) {
      var r = this._firstPT = new _e(t, e, 0, 0, this._firstPT, 2);
      r.e = i, r.setRatio = Me, r.data = this;
    }, l._linkCSSP = function (t, e, i, r) {
      return t && (e && (e._prev = t), t._next && (t._next._prev = t._prev), t._prev ? t._prev._next = t._next : this._firstPT === t && (this._firstPT = t._next, r = !0), i ? i._next = t : r || null !== this._firstPT || (this._firstPT = t), t._next = e, t._prev = i), t;
    }, l._kill = function (e) {
      var i,
          r,
          s,
          n = e;

      if (e.autoAlpha || e.alpha) {
        n = {};

        for (r in e) n[r] = e[r];

        n.opacity = 1, n.autoAlpha && (n.visibility = 1);
      }

      return e.className && (i = this._classNamePT) && (s = i.xfirst, s && s._prev ? this._linkCSSP(s._prev, i._next, s._prev._prev) : s === this._firstPT && (this._firstPT = i._next), i._next && this._linkCSSP(i._next, i._next._next, s._prev), this._classNamePT = null), t.prototype._kill.call(this, n);
    };

    var Le = function (t, e, i) {
      var r, s, n, a;
      if (t.slice) for (s = t.length; --s > -1;) Le(t[s], e, i);else for (r = t.childNodes, s = r.length; --s > -1;) n = r[s], a = n.type, n.style && (e.push($(n)), i && i.push(n)), 1 !== a && 9 !== a && 11 !== a || !n.childNodes.length || Le(n, e, i);
    };

    return a.cascadeTo = function (t, i, r) {
      var s,
          n,
          a,
          o = e.to(t, i, r),
          l = [o],
          h = [],
          u = [],
          f = [],
          _ = e._internals.reservedProps;

      for (t = o._targets || o.target, Le(t, h, f), o.render(i, !0), Le(t, u), o.render(0, !0), o._enabled(!0), s = f.length; --s > -1;) if (n = G(f[s], h[s], u[s]), n.firstMPT) {
        n = n.difs;

        for (a in r) _[a] && (n[a] = r[a]);

        l.push(e.to(f[s], i, n));
      }

      return l;
    }, t.activate([a]), a;
  }, !0);
}), window._gsDefine && window._gsQueue.pop()();

},{}],13:[function(require,module,exports){
"use strict";

/*!
 * VERSION: 1.7.3
 * DATE: 2014-01-14
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
 * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
(window._gsQueue || (window._gsQueue = [])).push(function () {
  "use strict";

  var t = document.documentElement,
      e = window,
      i = function (i, s) {
    var r = "x" === s ? "Width" : "Height",
        n = "scroll" + r,
        a = "client" + r,
        o = document.body;
    return i === e || i === t || i === o ? Math.max(t[n], o[n]) - (e["inner" + r] || Math.max(t[a], o[a])) : i[n] - i["offset" + r];
  },
      s = window._gsDefine.plugin({
    propName: "scrollTo",
    API: 2,
    version: "1.7.3",
    init: function (t, s, r) {
      return this._wdw = t === e, this._target = t, this._tween = r, "object" != typeof s && (s = {
        y: s
      }), this._autoKill = s.autoKill !== !1, this.x = this.xPrev = this.getX(), this.y = this.yPrev = this.getY(), null != s.x ? (this._addTween(this, "x", this.x, "max" === s.x ? i(t, "x") : s.x, "scrollTo_x", !0), this._overwriteProps.push("scrollTo_x")) : this.skipX = !0, null != s.y ? (this._addTween(this, "y", this.y, "max" === s.y ? i(t, "y") : s.y, "scrollTo_y", !0), this._overwriteProps.push("scrollTo_y")) : this.skipY = !0, !0;
    },
    set: function (t) {
      this._super.setRatio.call(this, t);

      var s = this._wdw || !this.skipX ? this.getX() : this.xPrev,
          r = this._wdw || !this.skipY ? this.getY() : this.yPrev,
          n = r - this.yPrev,
          a = s - this.xPrev;
      this._autoKill && (!this.skipX && (a > 7 || -7 > a) && i(this._target, "x") > s && (this.skipX = !0), !this.skipY && (n > 7 || -7 > n) && i(this._target, "y") > r && (this.skipY = !0), this.skipX && this.skipY && this._tween.kill()), this._wdw ? e.scrollTo(this.skipX ? s : this.x, this.skipY ? r : this.y) : (this.skipY || (this._target.scrollTop = this.y), this.skipX || (this._target.scrollLeft = this.x)), this.xPrev = this.x, this.yPrev = this.y;
    }
  }),
      r = s.prototype;

  s.max = i, r.getX = function () {
    return this._wdw ? null != e.pageXOffset ? e.pageXOffset : null != t.scrollLeft ? t.scrollLeft : document.body.scrollLeft : this._target.scrollLeft;
  }, r.getY = function () {
    return this._wdw ? null != e.pageYOffset ? e.pageYOffset : null != t.scrollTop ? t.scrollTop : document.body.scrollTop : this._target.scrollTop;
  }, r._kill = function (t) {
    return t.scrollTo_x && (this.skipX = !0), t.scrollTo_y && (this.skipY = !0), this._super._kill.call(this, t);
  };
}), window._gsDefine && window._gsQueue.pop()();

},{}]},{},[2])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvanMvZ2xvYmFsL2FqYXguanMiLCJzcmMvanMvZ2xvYmFsL2FwcC5qcyIsInNyYy9qcy9nbG9iYWwvYmVhY29uLmpzIiwic3JjL2pzL2dsb2JhbC9jb3VudGRvd24uanMiLCJzcmMvanMvZ2xvYmFsL2ZpZWxkcy5qcyIsInNyYy9qcy9nbG9iYWwvbWFpbi5qcyIsInNyYy9qcy9nbG9iYWwvcGFnZU1hbmFnZXIuanMiLCJzcmMvanMvZ2xvYmFsL3JvY2tldGNkbi5qcyIsInNyYy9qcy9saWIvZ3JlZW5zb2NrL1RpbWVsaW5lTGl0ZS5taW4uanMiLCJzcmMvanMvbGliL2dyZWVuc29jay9Ud2VlbkxpdGUubWluLmpzIiwic3JjL2pzL2xpYi9ncmVlbnNvY2svZWFzaW5nL0Vhc2VQYWNrLm1pbi5qcyIsInNyYy9qcy9saWIvZ3JlZW5zb2NrL3BsdWdpbnMvQ1NTUGx1Z2luLm1pbi5qcyIsInNyYy9qcy9saWIvZ3JlZW5zb2NrL3BsdWdpbnMvU2Nyb2xsVG9QbHVnaW4ubWluLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUNBQSxJQUFJLENBQUMsR0FBRyxNQUFSO0FBQ0EsQ0FBQyxDQUFDLFFBQUQsQ0FBRCxDQUFZLEtBQVosQ0FBa0IsWUFBVTtBQUN4QjtBQUNKO0FBQ0E7QUFDSSxNQUFJLGFBQWEsR0FBRyxLQUFwQjtBQUNBLEVBQUEsQ0FBQyxDQUFDLDZCQUFELENBQUQsQ0FBaUMsRUFBakMsQ0FBb0MsT0FBcEMsRUFBNkMsVUFBUyxDQUFULEVBQVk7QUFDckQsUUFBRyxDQUFDLGFBQUosRUFBa0I7QUFDZCxVQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBRCxDQUFkO0FBQ0EsVUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLG1CQUFELENBQWY7QUFDQSxVQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsc0JBQUQsQ0FBZDtBQUVBLE1BQUEsQ0FBQyxDQUFDLGNBQUY7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QUFVO0FBQUMsV0FBTyxLQUFLLElBQUwsR0FBVSxRQUFNLENBQUMsQ0FBQyxXQUFSLEdBQW9CLENBQUMsQ0FBQyxXQUF0QixHQUFrQyxRQUFNLENBQUMsQ0FBQyxTQUFSLEdBQWtCLENBQUMsQ0FBQyxTQUFwQixHQUE4QixRQUFRLENBQUMsSUFBVCxDQUFjLFNBQXhGLEdBQWtHLEtBQUssT0FBTCxDQUFhLFNBQXRIO0FBQWdJLEdBQWpULEVBQWtULENBQUMsQ0FBQyxLQUFGLEdBQVEsVUFBUyxDQUFULEVBQVc7QUFBQyxXQUFPLENBQUMsQ0FBQyxVQUFGLEtBQWUsS0FBSyxLQUFMLEdBQVcsQ0FBQyxDQUEzQixHQUE4QixDQUFDLENBQUMsVUFBRixLQUFlLEtBQUssS0FBTCxHQUFXLENBQUMsQ0FBM0IsQ0FBOUIsRUFBNEQsS0FBSyxNQUFMLENBQVksS0FBWixDQUFrQixJQUFsQixDQUF1QixJQUF2QixFQUE0QixDQUE1QixDQUFuRTtBQUFrRyxHQUF4YTtBQUF5YSxDQUF4ekQsR0FBMHpELE1BQU0sQ0FBQyxTQUFQLElBQWtCLE1BQU0sQ0FBQyxRQUFQLENBQWdCLEdBQWhCLElBQTUwRCIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSIsInZhciAkID0galF1ZXJ5O1xuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtcbiAgICAvKipcbiAgICAgKiBSZWZyZXNoIExpY2Vuc2UgZGF0YVxuICAgICAqL1xuICAgIHZhciBfaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgJCgnI3dwci1hY3Rpb24tcmVmcmVzaF9hY2NvdW50Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkge1xuICAgICAgICBpZighX2lzUmVmcmVzaGluZyl7XG4gICAgICAgICAgICB2YXIgYnV0dG9uID0gJCh0aGlzKTtcbiAgICAgICAgICAgIHZhciBhY2NvdW50ID0gJCgnI3dwci1hY2NvdW50LWRhdGEnKTtcbiAgICAgICAgICAgIHZhciBleHBpcmUgPSAkKCcjd3ByLWV4cGlyYXRpb24tZGF0YScpO1xuXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBfaXNSZWZyZXNoaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGJ1dHRvbi50cmlnZ2VyKCAnYmx1cicgKTtcbiAgICAgICAgICAgIGJ1dHRvbi5hZGRDbGFzcygnd3ByLWlzTG9hZGluZycpO1xuICAgICAgICAgICAgZXhwaXJlLnJlbW92ZUNsYXNzKCd3cHItaXNWYWxpZCB3cHItaXNJbnZhbGlkJyk7XG5cbiAgICAgICAgICAgICQucG9zdChcbiAgICAgICAgICAgICAgICBhamF4dXJsLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAncm9ja2V0X3JlZnJlc2hfY3VzdG9tZXJfZGF0YScsXG4gICAgICAgICAgICAgICAgICAgIF9hamF4X25vbmNlOiByb2NrZXRfYWpheF9kYXRhLm5vbmNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnJlbW92ZUNsYXNzKCd3cHItaXNMb2FkaW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5hZGRDbGFzcygnd3ByLWlzSGlkZGVuJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCB0cnVlID09PSByZXNwb25zZS5zdWNjZXNzICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudC5odG1sKHJlc3BvbnNlLmRhdGEubGljZW5zZV90eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZS5hZGRDbGFzcyhyZXNwb25zZS5kYXRhLmxpY2Vuc2VfY2xhc3MpLmh0bWwocmVzcG9uc2UuZGF0YS5saWNlbnNlX2V4cGlyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ucmVtb3ZlQ2xhc3MoJ3dwci1pY29uLXJlZnJlc2ggd3ByLWlzSGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmFkZENsYXNzKCd3cHItaWNvbi1jaGVjaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMjUwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ucmVtb3ZlQ2xhc3MoJ3dwci1pY29uLXJlZnJlc2ggd3ByLWlzSGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmFkZENsYXNzKCd3cHItaWNvbi1jbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMjUwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdlRMID0gbmV3IFRpbWVsaW5lTGl0ZSh7b25Db21wbGV0ZTpmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0KGJ1dHRvbiwge2Nzczp7Y2xhc3NOYW1lOicrPXdwci1pc0hpZGRlbid9fSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldChidXR0b24sIHtjc3M6e2NsYXNzTmFtZTonLT13cHItaWNvbi1jaGVjayd9fSwgMC4yNSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldChidXR0b24sIHtjc3M6e2NsYXNzTmFtZTonLT13cHItaWNvbi1jbG9zZSd9fSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldChidXR0b24sIHtjc3M6e2NsYXNzTmFtZTonKz13cHItaWNvbi1yZWZyZXNoJ319LCAwLjI1KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0KGJ1dHRvbiwge2Nzczp7Y2xhc3NOYW1lOictPXdwci1pc0hpZGRlbid9fSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTYXZlIFRvZ2dsZSBvcHRpb24gdmFsdWVzIG9uIGNoYW5nZVxuICAgICAqL1xuICAgICQoJy53cHItcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0nKS5vbignY2hhbmdlJywgZnVuY3Rpb24oZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBuYW1lICA9ICQodGhpcykuYXR0cignaWQnKTtcbiAgICAgICAgdmFyIHZhbHVlID0gJCh0aGlzKS5wcm9wKCdjaGVja2VkJykgPyAxIDogMDtcblxuXHRcdHZhciBleGNsdWRlZCA9IFsgJ2Nsb3VkZmxhcmVfYXV0b19zZXR0aW5ncycsICdjbG91ZGZsYXJlX2Rldm1vZGUnIF07XG5cdFx0aWYgKCBleGNsdWRlZC5pbmRleE9mKCBuYW1lICkgPj0gMCApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cbiAgICAgICAgJC5wb3N0KFxuICAgICAgICAgICAgYWpheHVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyb2NrZXRfdG9nZ2xlX29wdGlvbicsXG4gICAgICAgICAgICAgICAgX2FqYXhfbm9uY2U6IHJvY2tldF9hamF4X2RhdGEubm9uY2UsXG4gICAgICAgICAgICAgICAgb3B0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmdW5jdGlvbihyZXNwb25zZSkge31cbiAgICAgICAgKTtcblx0fSk7XG5cblx0LyoqXG4gICAgICogU2F2ZSBlbmFibGUgQ1BDU1MgZm9yIG1vYmlsZXMgb3B0aW9uLlxuICAgICAqL1xuICAgICQoJyN3cHItYWN0aW9uLXJvY2tldF9lbmFibGVfbW9iaWxlX2NwY3NzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cblx0XHQkKCcjd3ByLWFjdGlvbi1yb2NrZXRfZW5hYmxlX21vYmlsZV9jcGNzcycpLmFkZENsYXNzKCd3cHItaXNMb2FkaW5nJyk7XG5cbiAgICAgICAgJC5wb3N0KFxuICAgICAgICAgICAgYWpheHVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyb2NrZXRfZW5hYmxlX21vYmlsZV9jcGNzcycsXG4gICAgICAgICAgICAgICAgX2FqYXhfbm9uY2U6IHJvY2tldF9hamF4X2RhdGEubm9uY2VcbiAgICAgICAgICAgIH0sXG5cdFx0XHRmdW5jdGlvbihyZXNwb25zZSkge1xuXHRcdFx0XHRpZiAoIHJlc3BvbnNlLnN1Y2Nlc3MgKSB7XG5cdFx0XHRcdFx0Ly8gSGlkZSBNb2JpbGUgQ1BDU1MgYnRuIG9uIHN1Y2Nlc3MuXG5cdFx0XHRcdFx0JCgnI3dwci1hY3Rpb24tcm9ja2V0X2VuYWJsZV9tb2JpbGVfY3Bjc3MnKS5oaWRlKCk7XG5cdFx0XHRcdFx0JCgnLndwci1oaWRlLW9uLWNsaWNrJykuaGlkZSgpO1xuXHRcdFx0XHRcdCQoJy53cHItc2hvdy1vbi1jbGljaycpLnNob3coKTtcblx0XHRcdFx0XHQkKCcjd3ByLWFjdGlvbi1yb2NrZXRfZW5hYmxlX21vYmlsZV9jcGNzcycpLnJlbW92ZUNsYXNzKCd3cHItaXNMb2FkaW5nJyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cbiAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNhdmUgZW5hYmxlIEdvb2dsZSBGb250cyBPcHRpbWl6YXRpb24gb3B0aW9uLlxuICAgICAqL1xuICAgICQoJyN3cHItYWN0aW9uLXJvY2tldF9lbmFibGVfZ29vZ2xlX2ZvbnRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cblx0XHQkKCcjd3ByLWFjdGlvbi1yb2NrZXRfZW5hYmxlX2dvb2dsZV9mb250cycpLmFkZENsYXNzKCd3cHItaXNMb2FkaW5nJyk7XG5cbiAgICAgICAgJC5wb3N0KFxuICAgICAgICAgICAgYWpheHVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyb2NrZXRfZW5hYmxlX2dvb2dsZV9mb250cycsXG4gICAgICAgICAgICAgICAgX2FqYXhfbm9uY2U6IHJvY2tldF9hamF4X2RhdGEubm9uY2VcbiAgICAgICAgICAgIH0sXG5cdFx0XHRmdW5jdGlvbihyZXNwb25zZSkge1xuXHRcdFx0XHRpZiAoIHJlc3BvbnNlLnN1Y2Nlc3MgKSB7XG5cdFx0XHRcdFx0Ly8gSGlkZSBNb2JpbGUgQ1BDU1MgYnRuIG9uIHN1Y2Nlc3MuXG5cdFx0XHRcdFx0JCgnI3dwci1hY3Rpb24tcm9ja2V0X2VuYWJsZV9nb29nbGVfZm9udHMnKS5oaWRlKCk7XG5cdFx0XHRcdFx0JCgnLndwci1oaWRlLW9uLWNsaWNrJykuaGlkZSgpO1xuXHRcdFx0XHRcdCQoJy53cHItc2hvdy1vbi1jbGljaycpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgJCgnI3dwci1hY3Rpb24tcm9ja2V0X2VuYWJsZV9nb29nbGVfZm9udHMnKS5yZW1vdmVDbGFzcygnd3ByLWlzTG9hZGluZycpO1xuICAgICAgICAgICAgICAgICAgICAkKCcjbWluaWZ5X2dvb2dsZV9mb250cycpLnZhbCgxKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgJCggJyNyb2NrZXQtZGlzbWlzcy1wcm9tb3Rpb24nICkub24oICdjbGljaycsIGZ1bmN0aW9uKCBlICkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgJC5wb3N0KFxuICAgICAgICAgICAgYWpheHVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyb2NrZXRfZGlzbWlzc19wcm9tbycsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHJvY2tldF9hamF4X2RhdGEubm9uY2VcbiAgICAgICAgICAgIH0sXG5cdFx0XHRmdW5jdGlvbihyZXNwb25zZSkge1xuXHRcdFx0XHRpZiAoIHJlc3BvbnNlLnN1Y2Nlc3MgKSB7XG5cdFx0XHRcdFx0JCgnI3JvY2tldC1wcm9tby1iYW5uZXInKS5oaWRlKCAnc2xvdycgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICApO1xuICAgIH0gKTtcblxuICAgICQoICcjcm9ja2V0LWRpc21pc3MtcmVuZXdhbCcgKS5vbiggJ2NsaWNrJywgZnVuY3Rpb24oIGUgKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAkLnBvc3QoXG4gICAgICAgICAgICBhamF4dXJsLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogJ3JvY2tldF9kaXNtaXNzX3JlbmV3YWwnLFxuICAgICAgICAgICAgICAgIG5vbmNlOiByb2NrZXRfYWpheF9kYXRhLm5vbmNlXG4gICAgICAgICAgICB9LFxuXHRcdFx0ZnVuY3Rpb24ocmVzcG9uc2UpIHtcblx0XHRcdFx0aWYgKCByZXNwb25zZS5zdWNjZXNzICkge1xuXHRcdFx0XHRcdCQoJyNyb2NrZXQtcmVuZXdhbC1iYW5uZXInKS5oaWRlKCAnc2xvdycgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICApO1xuICAgIH0gKTtcbn0pO1xuIiwiLy8gQWRkIGdyZWVuc29jayBsaWIgZm9yIGFuaW1hdGlvbnNcclxuaW1wb3J0ICcuLi9saWIvZ3JlZW5zb2NrL1R3ZWVuTGl0ZS5taW4uanMnO1xyXG5pbXBvcnQgJy4uL2xpYi9ncmVlbnNvY2svVGltZWxpbmVMaXRlLm1pbi5qcyc7XHJcbmltcG9ydCAnLi4vbGliL2dyZWVuc29jay9lYXNpbmcvRWFzZVBhY2subWluLmpzJztcclxuaW1wb3J0ICcuLi9saWIvZ3JlZW5zb2NrL3BsdWdpbnMvQ1NTUGx1Z2luLm1pbi5qcyc7XHJcbmltcG9ydCAnLi4vbGliL2dyZWVuc29jay9wbHVnaW5zL1Njcm9sbFRvUGx1Z2luLm1pbi5qcyc7XHJcblxyXG4vLyBBZGQgc2NyaXB0c1xyXG5pbXBvcnQgJy4uL2dsb2JhbC9wYWdlTWFuYWdlci5qcyc7XHJcbmltcG9ydCAnLi4vZ2xvYmFsL21haW4uanMnO1xyXG5pbXBvcnQgJy4uL2dsb2JhbC9maWVsZHMuanMnO1xyXG5pbXBvcnQgJy4uL2dsb2JhbC9iZWFjb24uanMnO1xyXG5pbXBvcnQgJy4uL2dsb2JhbC9hamF4LmpzJztcclxuaW1wb3J0ICcuLi9nbG9iYWwvcm9ja2V0Y2RuLmpzJztcclxuaW1wb3J0ICcuLi9nbG9iYWwvY291bnRkb3duLmpzJzsiLCJ2YXIgJCA9IGpRdWVyeTtcbiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7XG4gICAgaWYgKCdCZWFjb24nIGluIHdpbmRvdykge1xuICAgICAgICAvKipcbiAgICAgICAgICogU2hvdyBiZWFjb25zIG9uIGJ1dHRvbiBcImhlbHBcIiBjbGlja1xuICAgICAgICAgKi9cbiAgICAgICAgdmFyICRoZWxwID0gJCgnLndwci1pbmZvQWN0aW9uLS1oZWxwJyk7XG4gICAgICAgICRoZWxwLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpe1xuICAgICAgICAgICAgdmFyIGlkcyA9ICQodGhpcykuZGF0YSgnYmVhY29uLWlkJyk7XG4gICAgICAgICAgICB3cHJDYWxsQmVhY29uKGlkcyk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZ1bmN0aW9uIHdwckNhbGxCZWFjb24oYUlEKXtcbiAgICAgICAgICAgIGFJRCA9IGFJRC5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgaWYgKCBhSUQubGVuZ3RoID09PSAwICkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICggYUlELmxlbmd0aCA+IDEgKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5CZWFjb24oXCJzdWdnZXN0XCIsIGFJRCk7XG5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5CZWFjb24oXCJvcGVuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5CZWFjb24oXCJhcnRpY2xlXCIsIGFJRC50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiZnVuY3Rpb24gZ2V0VGltZVJlbWFpbmluZyhlbmR0aW1lKXtcbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgY29uc3QgdG90YWwgPSAoZW5kdGltZSAqIDEwMDApIC0gc3RhcnQ7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IoICh0b3RhbC8xMDAwKSAlIDYwICk7XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoICh0b3RhbC8xMDAwLzYwKSAlIDYwICk7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKCAodG90YWwvKDEwMDAqNjAqNjApKSAlIDI0ICk7XG4gICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IoIHRvdGFsLygxMDAwKjYwKjYwKjI0KSApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgdG90YWwsXG4gICAgICAgIGRheXMsXG4gICAgICAgIGhvdXJzLFxuICAgICAgICBtaW51dGVzLFxuICAgICAgICBzZWNvbmRzXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGl6ZUNsb2NrKGlkLCBlbmR0aW1lKSB7XG4gICAgY29uc3QgY2xvY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG5cbiAgICBpZiAoY2xvY2sgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRheXNTcGFuID0gY2xvY2sucXVlcnlTZWxlY3RvcignLnJvY2tldC1jb3VudGRvd24tZGF5cycpO1xuICAgIGNvbnN0IGhvdXJzU3BhbiA9IGNsb2NrLnF1ZXJ5U2VsZWN0b3IoJy5yb2NrZXQtY291bnRkb3duLWhvdXJzJyk7XG4gICAgY29uc3QgbWludXRlc1NwYW4gPSBjbG9jay5xdWVyeVNlbGVjdG9yKCcucm9ja2V0LWNvdW50ZG93bi1taW51dGVzJyk7XG4gICAgY29uc3Qgc2Vjb25kc1NwYW4gPSBjbG9jay5xdWVyeVNlbGVjdG9yKCcucm9ja2V0LWNvdW50ZG93bi1zZWNvbmRzJyk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVDbG9jaygpIHtcbiAgICAgICAgY29uc3QgdCA9IGdldFRpbWVSZW1haW5pbmcoZW5kdGltZSk7XG5cbiAgICAgICAgaWYgKHQudG90YWwgPCAwKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVpbnRlcnZhbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRheXNTcGFuLmlubmVySFRNTCA9IHQuZGF5cztcbiAgICAgICAgaG91cnNTcGFuLmlubmVySFRNTCA9ICgnMCcgKyB0LmhvdXJzKS5zbGljZSgtMik7XG4gICAgICAgIG1pbnV0ZXNTcGFuLmlubmVySFRNTCA9ICgnMCcgKyB0Lm1pbnV0ZXMpLnNsaWNlKC0yKTtcbiAgICAgICAgc2Vjb25kc1NwYW4uaW5uZXJIVE1MID0gKCcwJyArIHQuc2Vjb25kcykuc2xpY2UoLTIpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsb2NrKCk7XG4gICAgY29uc3QgdGltZWludGVydmFsID0gc2V0SW50ZXJ2YWwodXBkYXRlQ2xvY2ssIDEwMDApO1xufVxuXG5mdW5jdGlvbiBydWNzc1RpbWVyKGlkLCBlbmR0aW1lKSB7XG5cdGNvbnN0IHRpbWVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuXHRjb25zdCBub3RpY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9ja2V0LW5vdGljZS1ydWNzcy1wcm9jZXNzaW5nJyk7XG5cdGNvbnN0IHN1Y2Nlc3MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9ja2V0LW5vdGljZS1ydWNzcy1zdWNjZXNzJyk7XG5cblx0aWYgKHRpbWVyID09PSBudWxsKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0ZnVuY3Rpb24gdXBkYXRlVGltZXIoKSB7XG5cdFx0Y29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXHRcdGNvbnN0IHJlbWFpbmluZyA9IE1hdGguZmxvb3IoICggKGVuZHRpbWUgKiAxMDAwKSAtIHN0YXJ0ICkgLyAxMDAwICk7XG5cblx0XHRpZiAocmVtYWluaW5nIDw9IDApIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXJJbnRlcnZhbCk7XG5cblx0XHRcdGlmIChub3RpY2UgIT09IG51bGwpIHtcblx0XHRcdFx0bm90aWNlLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3VjY2VzcyAhPT0gbnVsbCkge1xuXHRcdFx0XHRzdWNjZXNzLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cblx0XHRcdGRhdGEuYXBwZW5kKCAnYWN0aW9uJywgJ3JvY2tldF9zcGF3bl9jcm9uJyApO1xuXHRcdFx0ZGF0YS5hcHBlbmQoICdub25jZScsIHJvY2tldF9hamF4X2RhdGEubm9uY2UgKTtcblxuXHRcdFx0ZmV0Y2goIGFqYXh1cmwsIHtcblx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXG5cdFx0XHRcdGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxuXHRcdFx0XHRib2R5OiBkYXRhXG5cdFx0XHR9ICk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aW1lci5pbm5lckhUTUwgPSByZW1haW5pbmc7XG5cdH1cblxuXHR1cGRhdGVUaW1lcigpO1xuXHRjb25zdCB0aW1lckludGVydmFsID0gc2V0SW50ZXJ2YWwoIHVwZGF0ZVRpbWVyLCAxMDAwKTtcbn1cblxuaWYgKCFEYXRlLm5vdykge1xuICAgIERhdGUubm93ID0gZnVuY3Rpb24gbm93KCkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIH07XG59XG5cbmlmICh0eXBlb2Ygcm9ja2V0X2FqYXhfZGF0YS5wcm9tb19lbmQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgaW5pdGlhbGl6ZUNsb2NrKCdyb2NrZXQtcHJvbW8tY291bnRkb3duJywgcm9ja2V0X2FqYXhfZGF0YS5wcm9tb19lbmQpO1xufVxuXG5pZiAodHlwZW9mIHJvY2tldF9hamF4X2RhdGEubGljZW5zZV9leHBpcmF0aW9uICE9PSAndW5kZWZpbmVkJykge1xuICAgIGluaXRpYWxpemVDbG9jaygncm9ja2V0LXJlbmV3LWNvdW50ZG93bicsIHJvY2tldF9hamF4X2RhdGEubGljZW5zZV9leHBpcmF0aW9uKTtcbn1cblxuaWYgKHR5cGVvZiByb2NrZXRfYWpheF9kYXRhLm5vdGljZV9lbmRfdGltZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBydWNzc1RpbWVyKCdyb2NrZXQtcnVjc3MtdGltZXInLCByb2NrZXRfYWpheF9kYXRhLm5vdGljZV9lbmRfdGltZSk7XG59IiwidmFyICQgPSBqUXVlcnk7XG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe1xuXG5cbiAgICAvKioqXG4gICAgKiBDaGVjayBwYXJlbnQgLyBzaG93IGNoaWxkcmVuXG4gICAgKioqL1xuXG5cdGZ1bmN0aW9uIHdwclNob3dDaGlsZHJlbihhRWxlbSl7XG5cdFx0dmFyIHBhcmVudElkLCAkY2hpbGRyZW47XG5cblx0XHRhRWxlbSAgICAgPSAkKCBhRWxlbSApO1xuXHRcdHBhcmVudElkICA9IGFFbGVtLmF0dHIoJ2lkJyk7XG5cdFx0JGNoaWxkcmVuID0gJCgnW2RhdGEtcGFyZW50PVwiJyArIHBhcmVudElkICsgJ1wiXScpO1xuXG5cdFx0Ly8gVGVzdCBjaGVjayBmb3Igc3dpdGNoXG5cdFx0aWYoYUVsZW0uaXMoJzpjaGVja2VkJykpe1xuXHRcdFx0JGNoaWxkcmVuLmFkZENsYXNzKCd3cHItaXNPcGVuJyk7XG5cblx0XHRcdCRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRpZiAoICQodGhpcykuZmluZCgnaW5wdXRbdHlwZT1jaGVja2JveF0nKS5pcygnOmNoZWNrZWQnKSkge1xuXHRcdFx0XHRcdHZhciBpZCA9ICQodGhpcykuZmluZCgnaW5wdXRbdHlwZT1jaGVja2JveF0nKS5hdHRyKCdpZCcpO1xuXG5cdFx0XHRcdFx0JCgnW2RhdGEtcGFyZW50PVwiJyArIGlkICsgJ1wiXScpLmFkZENsYXNzKCd3cHItaXNPcGVuJyk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRlbHNle1xuXHRcdFx0JGNoaWxkcmVuLnJlbW92ZUNsYXNzKCd3cHItaXNPcGVuJyk7XG5cblx0XHRcdCRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHR2YXIgaWQgPSAkKHRoaXMpLmZpbmQoJ2lucHV0W3R5cGU9Y2hlY2tib3hdJykuYXR0cignaWQnKTtcblxuXHRcdFx0XHQkKCdbZGF0YS1wYXJlbnQ9XCInICsgaWQgKyAnXCJdJykucmVtb3ZlQ2xhc3MoJ3dwci1pc09wZW4nKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG4gICAgLyoqXG4gICAgICogVGVsbCBpZiB0aGUgZ2l2ZW4gY2hpbGQgZmllbGQgaGFzIGFuIGFjdGl2ZSBwYXJlbnQgZmllbGQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIG9iamVjdCAkZmllbGQgQSBqUXVlcnkgb2JqZWN0IG9mIGEgXCIud3ByLWZpZWxkXCIgZmllbGQuXG4gICAgICogQHJldHVybiBib29sfG51bGxcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cHJJc1BhcmVudEFjdGl2ZSggJGZpZWxkICkge1xuICAgICAgICB2YXIgJHBhcmVudDtcblxuICAgICAgICBpZiAoICEgJGZpZWxkLmxlbmd0aCApIHtcbiAgICAgICAgICAgIC8vIMKvXFxfKOODhClfL8KvXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICRwYXJlbnQgPSAkZmllbGQuZGF0YSggJ3BhcmVudCcgKTtcblxuICAgICAgICBpZiAoIHR5cGVvZiAkcGFyZW50ICE9PSAnc3RyaW5nJyApIHtcbiAgICAgICAgICAgIC8vIFRoaXMgZmllbGQgaGFzIG5vIHBhcmVudCBmaWVsZDogdGhlbiB3ZSBjYW4gZGlzcGxheSBpdC5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJHBhcmVudCA9ICRwYXJlbnQucmVwbGFjZSggL15cXHMrfFxccyskL2csICcnICk7XG5cbiAgICAgICAgaWYgKCAnJyA9PT0gJHBhcmVudCApIHtcbiAgICAgICAgICAgIC8vIFRoaXMgZmllbGQgaGFzIG5vIHBhcmVudCBmaWVsZDogdGhlbiB3ZSBjYW4gZGlzcGxheSBpdC5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJHBhcmVudCA9ICQoICcjJyArICRwYXJlbnQgKTtcblxuICAgICAgICBpZiAoICEgJHBhcmVudC5sZW5ndGggKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGZpZWxkJ3MgcGFyZW50IGlzIG1pc3Npbmc6IGxldCdzIGNvbnNpZGVyIGl0J3Mgbm90IGFjdGl2ZSB0aGVuLlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCAhICRwYXJlbnQuaXMoICc6Y2hlY2tlZCcgKSAmJiAkcGFyZW50LmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGZpZWxkJ3MgcGFyZW50IGlzIGNoZWNrYm94IGFuZCBub3QgY2hlY2tlZDogZG9uJ3QgZGlzcGxheSB0aGUgZmllbGQgdGhlbi5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG5cdFx0aWYgKCAhJHBhcmVudC5oYXNDbGFzcygncmFkaW8tYWN0aXZlJykgJiYgJHBhcmVudC5pcygnYnV0dG9uJykpIHtcblx0XHRcdC8vIFRoaXMgZmllbGQncyBwYXJlbnQgYnV0dG9uIGFuZCBpcyBub3QgYWN0aXZlOiBkb24ndCBkaXNwbGF5IHRoZSBmaWVsZCB0aGVuLlxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cbiAgICAgICAgLy8gR28gcmVjdXJzaXZlIHRvIHRoZSBsYXN0IHBhcmVudC5cbiAgICAgICAgcmV0dXJuIHdwcklzUGFyZW50QWN0aXZlKCAkcGFyZW50LmNsb3Nlc3QoICcud3ByLWZpZWxkJyApICk7XG4gICAgfVxuXG4gICAgLy8gRGlzcGxheS9IaWRlIGNoaWxkZXJuIGZpZWxkcyBvbiBjaGVja2JveCBjaGFuZ2UuXG4gICAgJCggJy53cHItaXNQYXJlbnQgaW5wdXRbdHlwZT1jaGVja2JveF0nICkub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkge1xuICAgICAgICB3cHJTaG93Q2hpbGRyZW4oJCh0aGlzKSk7XG4gICAgfSk7XG5cbiAgICAvLyBPbiBwYWdlIGxvYWQsIGRpc3BsYXkgdGhlIGFjdGl2ZSBmaWVsZHMuXG4gICAgJCggJy53cHItZmllbGQtLWNoaWxkcmVuJyApLmVhY2goIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgJGZpZWxkID0gJCggdGhpcyApO1xuXG4gICAgICAgIGlmICggd3BySXNQYXJlbnRBY3RpdmUoICRmaWVsZCApICkge1xuICAgICAgICAgICAgJGZpZWxkLmFkZENsYXNzKCAnd3ByLWlzT3BlbicgKTtcbiAgICAgICAgfVxuICAgIH0gKTtcblxuXG5cblxuICAgIC8qKipcbiAgICAqIFdhcm5pbmcgZmllbGRzXG4gICAgKioqL1xuXG4gICAgdmFyICR3YXJuaW5nUGFyZW50ID0gJCgnLndwci1maWVsZC0tcGFyZW50Jyk7XG4gICAgdmFyICR3YXJuaW5nUGFyZW50SW5wdXQgPSAkKCcud3ByLWZpZWxkLS1wYXJlbnQgaW5wdXRbdHlwZT1jaGVja2JveF0nKTtcblxuICAgIC8vIElmIGFscmVhZHkgY2hlY2tlZFxuICAgICR3YXJuaW5nUGFyZW50SW5wdXQuZWFjaChmdW5jdGlvbigpe1xuICAgICAgICB3cHJTaG93Q2hpbGRyZW4oJCh0aGlzKSk7XG4gICAgfSk7XG5cbiAgICAkd2FybmluZ1BhcmVudC5vbignY2hhbmdlJywgZnVuY3Rpb24oKSB7XG4gICAgICAgIHdwclNob3dXYXJuaW5nKCQodGhpcykpO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gd3ByU2hvd1dhcm5pbmcoYUVsZW0pe1xuICAgICAgICB2YXIgJHdhcm5pbmdGaWVsZCA9IGFFbGVtLm5leHQoJy53cHItZmllbGRXYXJuaW5nJyksXG4gICAgICAgICAgICAkdGhpc0NoZWNrYm94ID0gYUVsZW0uZmluZCgnaW5wdXRbdHlwZT1jaGVja2JveF0nKSxcbiAgICAgICAgICAgICRuZXh0V2FybmluZyA9IGFFbGVtLnBhcmVudCgpLm5leHQoJy53cHItd2FybmluZ0NvbnRhaW5lcicpLFxuICAgICAgICAgICAgJG5leHRGaWVsZHMgPSAkbmV4dFdhcm5pbmcuZmluZCgnLndwci1maWVsZCcpLFxuICAgICAgICAgICAgcGFyZW50SWQgPSBhRWxlbS5maW5kKCdpbnB1dFt0eXBlPWNoZWNrYm94XScpLmF0dHIoJ2lkJyksXG4gICAgICAgICAgICAkY2hpbGRyZW4gPSAkKCdbZGF0YS1wYXJlbnQ9XCInICsgcGFyZW50SWQgKyAnXCJdJylcbiAgICAgICAgO1xuXG4gICAgICAgIC8vIENoZWNrIHdhcm5pbmcgcGFyZW50XG4gICAgICAgIGlmKCR0aGlzQ2hlY2tib3guaXMoJzpjaGVja2VkJykpe1xuICAgICAgICAgICAgJHdhcm5pbmdGaWVsZC5hZGRDbGFzcygnd3ByLWlzT3BlbicpO1xuICAgICAgICAgICAgJHRoaXNDaGVja2JveC5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgYUVsZW0udHJpZ2dlcignY2hhbmdlJyk7XG5cblxuICAgICAgICAgICAgdmFyICR3YXJuaW5nQnV0dG9uID0gJHdhcm5pbmdGaWVsZC5maW5kKCcud3ByLWJ1dHRvbicpO1xuXG4gICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgd2FybmluZ1xuICAgICAgICAgICAgJHdhcm5pbmdCdXR0b24ub24oJ2NsaWNrJywgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAkdGhpc0NoZWNrYm94LnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAkd2FybmluZ0ZpZWxkLnJlbW92ZUNsYXNzKCd3cHItaXNPcGVuJyk7XG4gICAgICAgICAgICAgICAgJGNoaWxkcmVuLmFkZENsYXNzKCd3cHItaXNPcGVuJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBJZiBuZXh0IGVsZW0gPSBkaXNhYmxlZFxuICAgICAgICAgICAgICAgIGlmKCRuZXh0V2FybmluZy5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgICAgICAgICAgJG5leHRGaWVsZHMucmVtb3ZlQ2xhc3MoJ3dwci1pc0Rpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICRuZXh0RmllbGRzLmZpbmQoJ2lucHV0JykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICRuZXh0RmllbGRzLmFkZENsYXNzKCd3cHItaXNEaXNhYmxlZCcpO1xuICAgICAgICAgICAgJG5leHRGaWVsZHMuZmluZCgnaW5wdXQnKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICAgICAgJG5leHRGaWVsZHMuZmluZCgnaW5wdXRbdHlwZT1jaGVja2JveF0nKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgJGNoaWxkcmVuLnJlbW92ZUNsYXNzKCd3cHItaXNPcGVuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDTkFNRVMgYWRkL3JlbW92ZSBsaW5lc1xuICAgICAqL1xuICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcud3ByLW11bHRpcGxlLWNsb3NlJywgZnVuY3Rpb24oZSkge1xuXHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHQkKHRoaXMpLnBhcmVudCgpLnNsaWRlVXAoICdzbG93JyAsIGZ1bmN0aW9uKCl7JCh0aGlzKS5yZW1vdmUoKTsgfSApO1xuXHR9ICk7XG5cblx0JCgnLndwci1idXR0b24tLWFkZE11bHRpJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkge1xuXHRcdGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJCgkKCcjd3ByLWNuYW1lLW1vZGVsJykuaHRtbCgpKS5hcHBlbmRUbygnI3dwci1jbmFtZXMtbGlzdCcpO1xuICAgIH0pO1xuXG5cdC8qKipcblx0ICogV3ByIFJhZGlvIGJ1dHRvblxuXHQgKioqL1xuXHR2YXIgZGlzYWJsZV9yYWRpb193YXJuaW5nID0gZmFsc2U7XG5cblx0JChkb2N1bWVudCkub24oJ2NsaWNrJywgJy53cHItcmFkaW8tYnV0dG9ucy1jb250YWluZXIgYnV0dG9uJywgZnVuY3Rpb24oZSkge1xuXHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRpZigkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby1hY3RpdmUnKSl7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHZhciAkcGFyZW50ID0gJCh0aGlzKS5wYXJlbnRzKCcud3ByLXJhZGlvLWJ1dHRvbnMnKTtcblx0XHQkcGFyZW50LmZpbmQoJy53cHItcmFkaW8tYnV0dG9ucy1jb250YWluZXIgYnV0dG9uJykucmVtb3ZlQ2xhc3MoJ3JhZGlvLWFjdGl2ZScpO1xuXHRcdCRwYXJlbnQuZmluZCgnLndwci1leHRyYS1maWVsZHMtY29udGFpbmVyJykucmVtb3ZlQ2xhc3MoJ3dwci1pc09wZW4nKTtcblx0XHQkcGFyZW50LmZpbmQoJy53cHItZmllbGRXYXJuaW5nJykucmVtb3ZlQ2xhc3MoJ3dwci1pc09wZW4nKTtcblx0XHQkKHRoaXMpLmFkZENsYXNzKCdyYWRpby1hY3RpdmUnKTtcblx0XHR3cHJTaG93UmFkaW9XYXJuaW5nKCQodGhpcykpO1xuXG5cdH0gKTtcblxuXG5cdGZ1bmN0aW9uIHdwclNob3dSYWRpb1dhcm5pbmcoJGVsbSl7XG5cdFx0ZGlzYWJsZV9yYWRpb193YXJuaW5nID0gZmFsc2U7XG5cdFx0JGVsbS50cmlnZ2VyKCBcImJlZm9yZV9zaG93X3JhZGlvX3dhcm5pbmdcIiwgWyAkZWxtIF0gKTtcblx0XHRpZiAoISRlbG0uaGFzQ2xhc3MoJ2hhcy13YXJuaW5nJykgfHwgZGlzYWJsZV9yYWRpb193YXJuaW5nKSB7XG5cdFx0XHR3cHJTaG93UmFkaW9CdXR0b25DaGlsZHJlbigkZWxtKTtcblx0XHRcdCRlbG0udHJpZ2dlciggXCJyYWRpb19idXR0b25fc2VsZWN0ZWRcIiwgWyAkZWxtIF0gKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0dmFyICR3YXJuaW5nRmllbGQgPSAkKCdbZGF0YS1wYXJlbnQ9XCInICsgJGVsbS5hdHRyKCdpZCcpICsgJ1wiXS53cHItZmllbGRXYXJuaW5nJyk7XG5cdFx0JHdhcm5pbmdGaWVsZC5hZGRDbGFzcygnd3ByLWlzT3BlbicpO1xuXHRcdHZhciAkd2FybmluZ0J1dHRvbiA9ICR3YXJuaW5nRmllbGQuZmluZCgnLndwci1idXR0b24nKTtcblxuXHRcdC8vIFZhbGlkYXRlIHRoZSB3YXJuaW5nXG5cdFx0JHdhcm5pbmdCdXR0b24ub24oJ2NsaWNrJywgZnVuY3Rpb24oKXtcblx0XHRcdCR3YXJuaW5nRmllbGQucmVtb3ZlQ2xhc3MoJ3dwci1pc09wZW4nKTtcblx0XHRcdHdwclNob3dSYWRpb0J1dHRvbkNoaWxkcmVuKCRlbG0pO1xuXHRcdFx0JGVsbS50cmlnZ2VyKCBcInJhZGlvX2J1dHRvbl9zZWxlY3RlZFwiLCBbICRlbG0gXSApO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0pO1xuXHR9XG5cblx0ZnVuY3Rpb24gd3ByU2hvd1JhZGlvQnV0dG9uQ2hpbGRyZW4oJGVsbSkge1xuXHRcdHZhciAkcGFyZW50ID0gJGVsbS5wYXJlbnRzKCcud3ByLXJhZGlvLWJ1dHRvbnMnKTtcblx0XHR2YXIgJGNoaWxkcmVuID0gJCgnLndwci1leHRyYS1maWVsZHMtY29udGFpbmVyW2RhdGEtcGFyZW50PVwiJyArICRlbG0uYXR0cignaWQnKSArICdcIl0nKTtcblx0XHQkY2hpbGRyZW4uYWRkQ2xhc3MoJ3dwci1pc09wZW4nKTtcblx0fVxuXG5cdC8qKipcblx0ICogV3ByIE9wdGltaXplIENzcyBEZWxpdmVyeSBGaWVsZFxuXHQgKioqL1xuXHR2YXIgcnVjc3NBY3RpdmUgPSBwYXJzZUludCgkKCcjcmVtb3ZlX3VudXNlZF9jc3MnKS52YWwoKSk7XG5cblx0JCggXCIjb3B0aW1pemVfY3NzX2RlbGl2ZXJ5X21ldGhvZCAud3ByLXJhZGlvLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvblwiIClcblx0XHQub24oIFwicmFkaW9fYnV0dG9uX3NlbGVjdGVkXCIsIGZ1bmN0aW9uKCBldmVudCwgJGVsbSApIHtcblx0XHRcdHRvZ2dsZUFjdGl2ZU9wdGltaXplQ3NzRGVsaXZlcnlNZXRob2QoJGVsbSk7XG5cdFx0fSk7XG5cblx0JChcIiNvcHRpbWl6ZV9jc3NfZGVsaXZlcnlcIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24oKXtcblx0XHRpZiggJCh0aGlzKS5pcyhcIjpub3QoOmNoZWNrZWQpXCIpICl7XG5cdFx0XHRkaXNhYmxlT3B0aW1pemVDc3NEZWxpdmVyeSgpO1xuXHRcdH1lbHNle1xuXHRcdFx0dmFyIGRlZmF1bHRfcmFkaW9fYnV0dG9uX2lkID0gJyMnKyQoJyNvcHRpbWl6ZV9jc3NfZGVsaXZlcnlfbWV0aG9kJykuZGF0YSggJ2RlZmF1bHQnICk7XG5cdFx0XHQkKGRlZmF1bHRfcmFkaW9fYnV0dG9uX2lkKS50cmlnZ2VyKCdjbGljaycpO1xuXHRcdH1cblx0fSk7XG5cblx0ZnVuY3Rpb24gdG9nZ2xlQWN0aXZlT3B0aW1pemVDc3NEZWxpdmVyeU1ldGhvZCgkZWxtKSB7XG5cdFx0dmFyIG9wdGltaXplX21ldGhvZCA9ICRlbG0uZGF0YSgndmFsdWUnKTtcblx0XHRpZigncmVtb3ZlX3VudXNlZF9jc3MnID09PSBvcHRpbWl6ZV9tZXRob2Qpe1xuXHRcdFx0JCgnI3JlbW92ZV91bnVzZWRfY3NzJykudmFsKDEpO1xuXHRcdFx0JCgnI2FzeW5jX2NzcycpLnZhbCgwKTtcblx0XHR9ZWxzZXtcblx0XHRcdCQoJyNyZW1vdmVfdW51c2VkX2NzcycpLnZhbCgwKTtcblx0XHRcdCQoJyNhc3luY19jc3MnKS52YWwoMSk7XG5cdFx0fVxuXG5cdH1cblxuXHRmdW5jdGlvbiBkaXNhYmxlT3B0aW1pemVDc3NEZWxpdmVyeSgpIHtcblx0XHQkKCcjcmVtb3ZlX3VudXNlZF9jc3MnKS52YWwoMCk7XG5cdFx0JCgnI2FzeW5jX2NzcycpLnZhbCgwKTtcblx0fVxuXG5cdCQoIFwiI29wdGltaXplX2Nzc19kZWxpdmVyeV9tZXRob2QgLndwci1yYWRpby1idXR0b25zLWNvbnRhaW5lciBidXR0b25cIiApXG5cdFx0Lm9uKCBcImJlZm9yZV9zaG93X3JhZGlvX3dhcm5pbmdcIiwgZnVuY3Rpb24oIGV2ZW50LCAkZWxtICkge1xuXHRcdFx0ZGlzYWJsZV9yYWRpb193YXJuaW5nID0gKCdyZW1vdmVfdW51c2VkX2NzcycgPT09ICRlbG0uZGF0YSgndmFsdWUnKSAmJiAxID09PSBydWNzc0FjdGl2ZSlcblx0XHR9KTtcblxufSk7XG4iLCJ2YXIgJCA9IGpRdWVyeTtcbiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7XG5cblxuXHQvKioqXG5cdCogRGFzaGJvYXJkIG5vdGljZVxuXHQqKiovXG5cblx0dmFyICRub3RpY2UgPSAkKCcud3ByLW5vdGljZScpO1xuXHR2YXIgJG5vdGljZUNsb3NlID0gJCgnI3dwci1jb25ncmF0dWxhdGlvbnMtbm90aWNlJyk7XG5cblx0JG5vdGljZUNsb3NlLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkge1xuXHRcdHdwckNsb3NlRGFzaGJvYXJkTm90aWNlKCk7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9KTtcblxuXHRmdW5jdGlvbiB3cHJDbG9zZURhc2hib2FyZE5vdGljZSgpe1xuXHRcdHZhciB2VEwgPSBuZXcgVGltZWxpbmVMaXRlKClcblx0XHQgIC50bygkbm90aWNlLCAxLCB7YXV0b0FscGhhOjAsIHg6NDAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9KVxuXHRcdCAgLnRvKCRub3RpY2UsIDAuNiwge2hlaWdodDogMCwgbWFyZ2luVG9wOjAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9LCAnPS0uNCcpXG5cdFx0ICAuc2V0KCRub3RpY2UsIHsnZGlzcGxheSc6J25vbmUnfSlcblx0XHQ7XG5cdH1cblxuXHQvKipcblx0ICogUm9ja2V0IEFuYWx5dGljcyBub3RpY2UgaW5mbyBjb2xsZWN0XG5cdCAqL1xuXHQkKCAnLnJvY2tldC1hbmFseXRpY3MtZGF0YS1jb250YWluZXInICkuaGlkZSgpO1xuXHQkKCAnLnJvY2tldC1wcmV2aWV3LWFuYWx5dGljcy1kYXRhJyApLm9uKCAnY2xpY2snLCBmdW5jdGlvbiggZSApIHtcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cblx0XHQkKHRoaXMpLnBhcmVudCgpLm5leHQoICcucm9ja2V0LWFuYWx5dGljcy1kYXRhLWNvbnRhaW5lcicgKS50b2dnbGUoKTtcblx0fSApO1xuXG5cdC8qKipcblx0KiBIaWRlIC8gc2hvdyBSb2NrZXQgYWRkb24gdGFicy5cblx0KioqL1xuXG5cdCQoICcud3ByLXRvZ2dsZS1idXR0b24nICkuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0dmFyICRidXR0b24gICA9ICQoIHRoaXMgKTtcblx0XHR2YXIgJGNoZWNrYm94ID0gJGJ1dHRvbi5jbG9zZXN0KCAnLndwci1maWVsZHNDb250YWluZXItZmllbGRzZXQnICkuZmluZCggJy53cHItcmFkaW8gOmNoZWNrYm94JyApO1xuXHRcdHZhciAkbWVudUl0ZW0gPSAkKCAnW2hyZWY9XCInICsgJGJ1dHRvbi5hdHRyKCAnaHJlZicgKSArICdcIl0ud3ByLW1lbnVJdGVtJyApO1xuXG5cdFx0JGNoZWNrYm94Lm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHtcblx0XHRcdGlmICggJGNoZWNrYm94LmlzKCAnOmNoZWNrZWQnICkgKSB7XG5cdFx0XHRcdCRtZW51SXRlbS5jc3MoICdkaXNwbGF5JywgJ2Jsb2NrJyApO1xuXHRcdFx0XHQkYnV0dG9uLmNzcyggJ2Rpc3BsYXknLCAnaW5saW5lLWJsb2NrJyApO1xuXHRcdFx0fSBlbHNle1xuXHRcdFx0XHQkbWVudUl0ZW0uY3NzKCAnZGlzcGxheScsICdub25lJyApO1xuXHRcdFx0XHQkYnV0dG9uLmNzcyggJ2Rpc3BsYXknLCAnbm9uZScgKTtcblx0XHRcdH1cblx0XHR9ICkudHJpZ2dlciggJ2NoYW5nZScgKTtcblx0fSApO1xuXG5cblxuXG5cblx0LyoqKlxuXHQqIFNob3cgcG9waW4gYW5hbHl0aWNzXG5cdCoqKi9cblxuXHR2YXIgJHdwckFuYWx5dGljc1BvcGluID0gJCgnLndwci1Qb3Bpbi1BbmFseXRpY3MnKSxcblx0XHQkd3ByUG9waW5PdmVybGF5ID0gJCgnLndwci1Qb3Bpbi1vdmVybGF5JyksXG5cdFx0JHdwckFuYWx5dGljc0Nsb3NlUG9waW4gPSAkKCcud3ByLVBvcGluLUFuYWx5dGljcy1jbG9zZScpLFxuXHRcdCR3cHJBbmFseXRpY3NQb3BpbkJ1dHRvbiA9ICQoJy53cHItUG9waW4tQW5hbHl0aWNzIC53cHItYnV0dG9uJyksXG5cdFx0JHdwckFuYWx5dGljc09wZW5Qb3BpbiA9ICQoJy53cHItanMtcG9waW4nKVxuXHQ7XG5cblx0JHdwckFuYWx5dGljc09wZW5Qb3Bpbi5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7XG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHdwck9wZW5BbmFseXRpY3MoKTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0pO1xuXG5cdCR3cHJBbmFseXRpY3NDbG9zZVBvcGluLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHtcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0d3ByQ2xvc2VBbmFseXRpY3MoKTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0pO1xuXG5cdCR3cHJBbmFseXRpY3NQb3BpbkJ1dHRvbi5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7XG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHdwckFjdGl2YXRlQW5hbHl0aWNzKCk7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9KTtcblxuXHRmdW5jdGlvbiB3cHJPcGVuQW5hbHl0aWNzKCl7XG5cdFx0dmFyIHZUTCA9IG5ldyBUaW1lbGluZUxpdGUoKVxuXHRcdCAgLnNldCgkd3ByQW5hbHl0aWNzUG9waW4sIHsnZGlzcGxheSc6J2Jsb2NrJ30pXG5cdFx0ICAuc2V0KCR3cHJQb3Bpbk92ZXJsYXksIHsnZGlzcGxheSc6J2Jsb2NrJ30pXG5cdFx0ICAuZnJvbVRvKCR3cHJQb3Bpbk92ZXJsYXksIDAuNiwge2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjEsIGVhc2U6UG93ZXI0LmVhc2VPdXR9KVxuXHRcdCAgLmZyb21Ubygkd3ByQW5hbHl0aWNzUG9waW4sIDAuNiwge2F1dG9BbHBoYTowLCBtYXJnaW5Ub3A6IC0yNH0sIHthdXRvQWxwaGE6MSwgbWFyZ2luVG9wOjAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9LCAnPS0uNScpXG5cdFx0O1xuXHR9XG5cblx0ZnVuY3Rpb24gd3ByQ2xvc2VBbmFseXRpY3MoKXtcblx0XHR2YXIgdlRMID0gbmV3IFRpbWVsaW5lTGl0ZSgpXG5cdFx0ICAuZnJvbVRvKCR3cHJBbmFseXRpY3NQb3BpbiwgMC42LCB7YXV0b0FscGhhOjEsIG1hcmdpblRvcDogMH0sIHthdXRvQWxwaGE6MCwgbWFyZ2luVG9wOi0yNCwgZWFzZTpQb3dlcjQuZWFzZU91dH0pXG5cdFx0ICAuZnJvbVRvKCR3cHJQb3Bpbk92ZXJsYXksIDAuNiwge2F1dG9BbHBoYToxfSx7YXV0b0FscGhhOjAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9LCAnPS0uNScpXG5cdFx0ICAuc2V0KCR3cHJBbmFseXRpY3NQb3BpbiwgeydkaXNwbGF5Jzonbm9uZSd9KVxuXHRcdCAgLnNldCgkd3ByUG9waW5PdmVybGF5LCB7J2Rpc3BsYXknOidub25lJ30pXG5cdFx0O1xuXHR9XG5cblx0ZnVuY3Rpb24gd3ByQWN0aXZhdGVBbmFseXRpY3MoKXtcblx0XHR3cHJDbG9zZUFuYWx5dGljcygpO1xuXHRcdCQoJyNhbmFseXRpY3NfZW5hYmxlZCcpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcblx0XHQkKCcjYW5hbHl0aWNzX2VuYWJsZWQnKS50cmlnZ2VyKCdjaGFuZ2UnKTtcblx0fVxuXG5cdC8qKipcblx0KiBTaG93IHBvcGluIHVwZ3JhZGVcblx0KioqL1xuXG5cdHZhciAkd3ByVXBncmFkZVBvcGluID0gJCgnLndwci1Qb3Bpbi1VcGdyYWRlJyksXG5cdCR3cHJVcGdyYWRlQ2xvc2VQb3BpbiA9ICQoJy53cHItUG9waW4tVXBncmFkZS1jbG9zZScpLFxuXHQkd3ByVXBncmFkZU9wZW5Qb3BpbiA9ICQoJy53cHItcG9waW4tdXBncmFkZS10b2dnbGUnKTtcblxuXHQkd3ByVXBncmFkZU9wZW5Qb3Bpbi5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7XG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHdwck9wZW5VcGdyYWRlUG9waW4oKTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0pO1xuXG5cdCR3cHJVcGdyYWRlQ2xvc2VQb3Bpbi5vbignY2xpY2snLCBmdW5jdGlvbigpIHtcblx0XHR3cHJDbG9zZVVwZ3JhZGVQb3BpbigpO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSk7XG5cblx0ZnVuY3Rpb24gd3ByT3BlblVwZ3JhZGVQb3Bpbigpe1xuXHRcdHZhciB2VEwgPSBuZXcgVGltZWxpbmVMaXRlKCk7XG5cblx0XHR2VEwuc2V0KCR3cHJVcGdyYWRlUG9waW4sIHsnZGlzcGxheSc6J2Jsb2NrJ30pXG5cdFx0XHQuc2V0KCR3cHJQb3Bpbk92ZXJsYXksIHsnZGlzcGxheSc6J2Jsb2NrJ30pXG5cdFx0XHQuZnJvbVRvKCR3cHJQb3Bpbk92ZXJsYXksIDAuNiwge2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjEsIGVhc2U6UG93ZXI0LmVhc2VPdXR9KVxuXHRcdFx0LmZyb21Ubygkd3ByVXBncmFkZVBvcGluLCAwLjYsIHthdXRvQWxwaGE6MCwgbWFyZ2luVG9wOiAtMjR9LCB7YXV0b0FscGhhOjEsIG1hcmdpblRvcDowLCBlYXNlOlBvd2VyNC5lYXNlT3V0fSwgJz0tLjUnKVxuXHRcdDtcblx0fVxuXG5cdGZ1bmN0aW9uIHdwckNsb3NlVXBncmFkZVBvcGluKCl7XG5cdFx0dmFyIHZUTCA9IG5ldyBUaW1lbGluZUxpdGUoKTtcblxuXHRcdHZUTC5mcm9tVG8oJHdwclVwZ3JhZGVQb3BpbiwgMC42LCB7YXV0b0FscGhhOjEsIG1hcmdpblRvcDogMH0sIHthdXRvQWxwaGE6MCwgbWFyZ2luVG9wOi0yNCwgZWFzZTpQb3dlcjQuZWFzZU91dH0pXG5cdFx0XHQuZnJvbVRvKCR3cHJQb3Bpbk92ZXJsYXksIDAuNiwge2F1dG9BbHBoYToxfSx7YXV0b0FscGhhOjAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9LCAnPS0uNScpXG5cdFx0XHQuc2V0KCR3cHJVcGdyYWRlUG9waW4sIHsnZGlzcGxheSc6J25vbmUnfSlcblx0XHRcdC5zZXQoJHdwclBvcGluT3ZlcmxheSwgeydkaXNwbGF5Jzonbm9uZSd9KVxuXHRcdDtcblx0fVxuXG5cdC8qKipcblx0KiBTaWRlYmFyIG9uL29mZlxuXHQqKiovXG5cdHZhciAkd3ByU2lkZWJhciAgICA9ICQoICcud3ByLVNpZGViYXInICk7XG5cdHZhciAkd3ByQnV0dG9uVGlwcyA9ICQoJy53cHItanMtdGlwcycpO1xuXG5cdCR3cHJCdXR0b25UaXBzLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHtcblx0XHR3cHJEZXRlY3RUaXBzKCQodGhpcykpO1xuXHR9KTtcblxuXHRmdW5jdGlvbiB3cHJEZXRlY3RUaXBzKGFFbGVtKXtcblx0XHRpZihhRWxlbS5pcygnOmNoZWNrZWQnKSl7XG5cdFx0XHQkd3ByU2lkZWJhci5jc3MoJ2Rpc3BsYXknLCdibG9jaycpO1xuXHRcdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oICd3cHItc2hvdy1zaWRlYmFyJywgJ29uJyApO1xuXHRcdH1cblx0XHRlbHNle1xuXHRcdFx0JHdwclNpZGViYXIuY3NzKCdkaXNwbGF5Jywnbm9uZScpO1xuXHRcdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oICd3cHItc2hvdy1zaWRlYmFyJywgJ29mZicgKTtcblx0XHR9XG5cdH1cblxuXG5cblx0LyoqKlxuXHQqIERldGVjdCBBZGJsb2NrXG5cdCoqKi9cblxuXHRpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnTEtnT2NDUnB3bUFqJykpe1xuXHRcdCQoJy53cHItYWRibG9jaycpLmNzcygnZGlzcGxheScsICdub25lJyk7XG5cdH0gZWxzZSB7XG5cdFx0JCgnLndwci1hZGJsb2NrJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7XG5cdH1cblxuXHR2YXIgJGFkYmxvY2sgPSAkKCcud3ByLWFkYmxvY2snKTtcblx0dmFyICRhZGJsb2NrQ2xvc2UgPSAkKCcud3ByLWFkYmxvY2stY2xvc2UnKTtcblxuXHQkYWRibG9ja0Nsb3NlLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkge1xuXHRcdHdwckNsb3NlQWRibG9ja05vdGljZSgpO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSk7XG5cblx0ZnVuY3Rpb24gd3ByQ2xvc2VBZGJsb2NrTm90aWNlKCl7XG5cdFx0dmFyIHZUTCA9IG5ldyBUaW1lbGluZUxpdGUoKVxuXHRcdCAgLnRvKCRhZGJsb2NrLCAxLCB7YXV0b0FscGhhOjAsIHg6NDAsIGVhc2U6UG93ZXI0LmVhc2VPdXR9KVxuXHRcdCAgLnRvKCRhZGJsb2NrLCAwLjQsIHtoZWlnaHQ6IDAsIG1hcmdpblRvcDowLCBlYXNlOlBvd2VyNC5lYXNlT3V0fSwgJz0tLjQnKVxuXHRcdCAgLnNldCgkYWRibG9jaywgeydkaXNwbGF5Jzonbm9uZSd9KVxuXHRcdDtcblx0fVxuXG59KTtcbiIsImRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoICdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gKCkge1xuXG4gICAgdmFyICRwYWdlTWFuYWdlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIud3ByLUNvbnRlbnRcIik7XG4gICAgaWYoJHBhZ2VNYW5hZ2VyKXtcbiAgICAgICAgbmV3IFBhZ2VNYW5hZ2VyKCRwYWdlTWFuYWdlcik7XG4gICAgfVxuXG59KTtcblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Q0xBU1MgUEFHRU1BTkFHRVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogTWFuYWdlcyB0aGUgZGlzcGxheSBvZiBwYWdlcyAvIHNlY3Rpb24gZm9yIFdQIFJvY2tldCBwbHVnaW5cbiAqXG4gKiBQdWJsaWMgbWV0aG9kIDpcbiAgICAgZGV0ZWN0SUQgLSBEZXRlY3QgSUQgd2l0aCBoYXNoXG4gICAgIGdldEJvZHlUb3AgLSBHZXQgYm9keSB0b3AgcG9zaXRpb25cblx0IGNoYW5nZSAtIERpc3BsYXlzIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VcbiAqXG4gKi9cblxuZnVuY3Rpb24gUGFnZU1hbmFnZXIoYUVsZW0pIHtcblxuICAgIHZhciByZWZUaGlzID0gdGhpcztcblxuICAgIHRoaXMuJGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud3ByLWJvZHknKTtcbiAgICB0aGlzLiRtZW51SXRlbXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud3ByLW1lbnVJdGVtJyk7XG4gICAgdGhpcy4kc3VibWl0QnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndwci1Db250ZW50ID4gZm9ybSA+ICN3cHItb3B0aW9ucy1zdWJtaXQnKTtcbiAgICB0aGlzLiRwYWdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53cHItUGFnZScpO1xuICAgIHRoaXMuJHNpZGViYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud3ByLVNpZGViYXInKTtcbiAgICB0aGlzLiRjb250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndwci1Db250ZW50Jyk7XG4gICAgdGhpcy4kdGlwcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53cHItQ29udGVudC10aXBzJyk7XG4gICAgdGhpcy4kbGlua3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud3ByLWJvZHkgYScpO1xuICAgIHRoaXMuJG1lbnVJdGVtID0gbnVsbDtcbiAgICB0aGlzLiRwYWdlID0gbnVsbDtcbiAgICB0aGlzLnBhZ2VJZCA9IG51bGw7XG4gICAgdGhpcy5ib2R5VG9wID0gMDtcbiAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiRzdWJtaXRCdXR0b24udmFsdWU7XG5cbiAgICByZWZUaGlzLmdldEJvZHlUb3AoKTtcblxuICAgIC8vIElmIHVybCBwYWdlIGNoYW5nZVxuICAgIHdpbmRvdy5vbmhhc2hjaGFuZ2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmVmVGhpcy5kZXRlY3RJRCgpO1xuICAgIH1cblxuICAgIC8vIElmIGhhc2ggYWxyZWFkeSBleGlzdCAoYWZ0ZXIgcmVmcmVzaCBwYWdlIGZvciBleGFtcGxlKVxuICAgIGlmKHdpbmRvdy5sb2NhdGlvbi5oYXNoKXtcbiAgICAgICAgdGhpcy5ib2R5VG9wID0gMDtcbiAgICAgICAgdGhpcy5kZXRlY3RJRCgpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgICB2YXIgc2Vzc2lvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3cHItaGFzaCcpO1xuICAgICAgICB0aGlzLmJvZHlUb3AgPSAwO1xuXG4gICAgICAgIGlmKHNlc3Npb24pe1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBzZXNzaW9uO1xuICAgICAgICAgICAgdGhpcy5kZXRlY3RJRCgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICB0aGlzLiRtZW51SXRlbXNbMF0uY2xhc3NMaXN0LmFkZCgnaXNBY3RpdmUnKTtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd3cHItaGFzaCcsICdkYXNoYm9hcmQnKTtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gJyNkYXNoYm9hcmQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xpY2sgbGluayBzYW1lIGhhc2hcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuJGxpbmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuJGxpbmtzW2ldLm9uY2xpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJlZlRoaXMuZ2V0Qm9keVRvcCgpO1xuICAgICAgICAgICAgdmFyIGhyZWZTcGxpdCA9IHRoaXMuaHJlZi5zcGxpdCgnIycpWzFdO1xuICAgICAgICAgICAgaWYoaHJlZlNwbGl0ID09IHJlZlRoaXMucGFnZUlkICYmIGhyZWZTcGxpdCAhPSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgICAgIHJlZlRoaXMuZGV0ZWN0SUQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQ2xpY2sgbGlua3Mgbm90IFdQIHJvY2tldCB0byByZXNldCBoYXNoXG4gICAgdmFyICRvdGhlcmxpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2FkbWlubWVudW1haW4gYSwgI3dwYWRtaW5iYXIgYScpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJG90aGVybGlua3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgJG90aGVybGlua3NbaV0ub25jbGljayA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3dwci1oYXNoJywgJycpO1xuICAgICAgICB9O1xuICAgIH1cblxufVxuXG5cbi8qXG4qIFBhZ2UgZGV0ZWN0IElEXG4qL1xuUGFnZU1hbmFnZXIucHJvdG90eXBlLmRldGVjdElEID0gZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5wYWdlSWQgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zcGxpdCgnIycpWzFdO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd3cHItaGFzaCcsIHRoaXMucGFnZUlkKTtcblxuICAgIHRoaXMuJHBhZ2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud3ByLVBhZ2UjJyArIHRoaXMucGFnZUlkKTtcbiAgICB0aGlzLiRtZW51SXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cHItbmF2LScgKyB0aGlzLnBhZ2VJZCk7XG5cbiAgICB0aGlzLmNoYW5nZSgpO1xufVxuXG5cblxuLypcbiogR2V0IGJvZHkgdG9wIHBvc2l0aW9uXG4qL1xuUGFnZU1hbmFnZXIucHJvdG90eXBlLmdldEJvZHlUb3AgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgYm9keVBvcyA9IHRoaXMuJGJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5ib2R5VG9wID0gYm9keVBvcy50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgLSA0NzsgLy8gI3dwYWRtaW5iYXIgKyBwYWRkaW5nLXRvcCAud3ByLXdyYXAgLSAxIC0gNDdcbn1cblxuXG5cbi8qXG4qIFBhZ2UgY2hhbmdlXG4qL1xuUGFnZU1hbmFnZXIucHJvdG90eXBlLmNoYW5nZSA9IGZ1bmN0aW9uKCkge1xuXG4gICAgdmFyIHJlZlRoaXMgPSB0aGlzO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSByZWZUaGlzLmJvZHlUb3A7XG5cbiAgICAvLyBIaWRlIG90aGVyIHBhZ2VzXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLiRwYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiRwYWdlc1tpXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuJG1lbnVJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiRtZW51SXRlbXNbaV0uY2xhc3NMaXN0LnJlbW92ZSgnaXNBY3RpdmUnKTtcbiAgICB9XG5cbiAgICAvLyBTaG93IGN1cnJlbnQgZGVmYXVsdCBwYWdlXG4gICAgdGhpcy4kcGFnZS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB0aGlzLiRzdWJtaXRCdXR0b24uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICBpZiAoIG51bGwgPT09IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCAnd3ByLXNob3ctc2lkZWJhcicgKSApIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oICd3cHItc2hvdy1zaWRlYmFyJywgJ29uJyApO1xuICAgIH1cblxuICAgIGlmICggJ29uJyA9PT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dwci1zaG93LXNpZGViYXInKSApIHtcbiAgICAgICAgdGhpcy4kc2lkZWJhci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9IGVsc2UgaWYgKCAnb2ZmJyA9PT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dwci1zaG93LXNpZGViYXInKSApIHtcbiAgICAgICAgdGhpcy4kc2lkZWJhci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjd3ByLWpzLXRpcHMnKS5yZW1vdmVBdHRyaWJ1dGUoICdjaGVja2VkJyApO1xuICAgIH1cblxuICAgIHRoaXMuJHRpcHMuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgdGhpcy4kbWVudUl0ZW0uY2xhc3NMaXN0LmFkZCgnaXNBY3RpdmUnKTtcbiAgICB0aGlzLiRzdWJtaXRCdXR0b24udmFsdWUgPSB0aGlzLmJ1dHRvblRleHQ7XG4gICAgdGhpcy4kY29udGVudC5jbGFzc0xpc3QuYWRkKCdpc05vdEZ1bGwnKTtcblxuXG4gICAgLy8gRXhjZXB0aW9uIGZvciBkYXNoYm9hcmRcbiAgICBpZih0aGlzLnBhZ2VJZCA9PSBcImRhc2hib2FyZFwiKXtcbiAgICAgICAgdGhpcy4kc2lkZWJhci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB0aGlzLiR0aXBzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHRoaXMuJHN1Ym1pdEJ1dHRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB0aGlzLiRjb250ZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2lzTm90RnVsbCcpO1xuICAgIH1cblxuICAgIC8vIEV4Y2VwdGlvbiBmb3IgYWRkb25zXG4gICAgaWYodGhpcy5wYWdlSWQgPT0gXCJhZGRvbnNcIil7XG4gICAgICAgIHRoaXMuJHN1Ym1pdEJ1dHRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cblxuICAgIC8vIEV4Y2VwdGlvbiBmb3IgZGF0YWJhc2VcbiAgICBpZih0aGlzLnBhZ2VJZCA9PSBcImRhdGFiYXNlXCIpe1xuICAgICAgICB0aGlzLiRzdWJtaXRCdXR0b24uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG5cbiAgICAvLyBFeGNlcHRpb24gZm9yIHRvb2xzIGFuZCBhZGRvbnNcbiAgICBpZih0aGlzLnBhZ2VJZCA9PSBcInRvb2xzXCIgfHwgdGhpcy5wYWdlSWQgPT0gXCJhZGRvbnNcIil7XG4gICAgICAgIHRoaXMuJHN1Ym1pdEJ1dHRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBhZ2VJZCA9PSBcImltYWdpZnlcIikge1xuICAgICAgICB0aGlzLiRzaWRlYmFyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHRoaXMuJHRpcHMuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgdGhpcy4kc3VibWl0QnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFnZUlkID09IFwidHV0b3JpYWxzXCIpIHtcbiAgICAgICAgdGhpcy4kc3VibWl0QnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxufTtcbiIsIi8qZXNsaW50LWVudiBlczYqL1xuKCAoIGRvY3VtZW50LCB3aW5kb3cgKSA9PiB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAnRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcblx0XHRkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCAnLndwci1yb2NrZXRjZG4tb3BlbicgKS5mb3JFYWNoKCAoIGVsICkgPT4ge1xuXHRcdFx0ZWwuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgKCBlICkgPT4ge1xuXHRcdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0bWF5YmVPcGVuTW9kYWwoKTtcblxuXHRcdE1pY3JvTW9kYWwuaW5pdCgge1xuXHRcdFx0ZGlzYWJsZVNjcm9sbDogdHJ1ZVxuXHRcdH0gKTtcblx0fSApO1xuXG5cdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAnbG9hZCcsICgpID0+IHtcblx0XHRsZXQgb3BlbkNUQSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoICcjd3ByLXJvY2tldGNkbi1vcGVuLWN0YScgKSxcblx0XHRcdGNsb3NlQ1RBID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggJyN3cHItcm9ja2V0Y2RuLWNsb3NlLWN0YScgKSxcblx0XHRcdHNtYWxsQ1RBID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggJyN3cHItcm9ja2V0Y2RuLWN0YS1zbWFsbCcgKSxcblx0XHRcdGJpZ0NUQSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoICcjd3ByLXJvY2tldGNkbi1jdGEnICk7XG5cblx0XHRpZiAoIG51bGwgIT09IG9wZW5DVEEgJiYgbnVsbCAhPT0gc21hbGxDVEEgJiYgbnVsbCAhPT0gYmlnQ1RBICkge1xuXHRcdFx0b3BlbkNUQS5hZGRFdmVudExpc3RlbmVyKCAnY2xpY2snLCAoIGUgKSA9PiB7XG5cdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRzbWFsbENUQS5jbGFzc0xpc3QuYWRkKCAnd3ByLWlzSGlkZGVuJyApO1xuXHRcdFx0XHRiaWdDVEEuY2xhc3NMaXN0LnJlbW92ZSggJ3dwci1pc0hpZGRlbicgKTtcblxuXHRcdFx0XHRzZW5kSFRUUFJlcXVlc3QoIGdldFBvc3REYXRhKCAnYmlnJyApICk7XG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0aWYgKCBudWxsICE9PSBjbG9zZUNUQSAmJiBudWxsICE9PSBzbWFsbENUQSAmJiBudWxsICE9PSBiaWdDVEEgKSB7XG5cdFx0XHRjbG9zZUNUQS5hZGRFdmVudExpc3RlbmVyKCAnY2xpY2snLCAoIGUgKSA9PiB7XG5cdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRzbWFsbENUQS5jbGFzc0xpc3QucmVtb3ZlKCAnd3ByLWlzSGlkZGVuJyApO1xuXHRcdFx0XHRiaWdDVEEuY2xhc3NMaXN0LmFkZCggJ3dwci1pc0hpZGRlbicgKTtcblxuXHRcdFx0XHRzZW5kSFRUUFJlcXVlc3QoIGdldFBvc3REYXRhKCAnc21hbGwnICkgKTtcblx0XHRcdH0gKTtcblx0XHR9XG5cblx0XHRmdW5jdGlvbiBnZXRQb3N0RGF0YSggc3RhdHVzICkge1xuXHRcdFx0bGV0IHBvc3REYXRhID0gJyc7XG5cblx0XHRcdHBvc3REYXRhICs9ICdhY3Rpb249dG9nZ2xlX3JvY2tldGNkbl9jdGEnO1xuXHRcdFx0cG9zdERhdGEgKz0gJyZzdGF0dXM9JyArIHN0YXR1cztcblx0XHRcdHBvc3REYXRhICs9ICcmbm9uY2U9JyArIHJvY2tldF9hamF4X2RhdGEubm9uY2U7XG5cblx0XHRcdHJldHVybiBwb3N0RGF0YTtcblx0XHR9XG5cdH0gKTtcblxuXHR3aW5kb3cub25tZXNzYWdlID0gKCBlICkgPT4ge1xuXHRcdGNvbnN0IGlmcmFtZVVSTCA9IHJvY2tldF9hamF4X2RhdGEub3JpZ2luX3VybDtcblxuXHRcdGlmICggZS5vcmlnaW4gIT09IGlmcmFtZVVSTCApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRzZXRDRE5GcmFtZUhlaWdodCggZS5kYXRhICk7XG5cdFx0Y2xvc2VNb2RhbCggZS5kYXRhICk7XG5cdFx0dG9rZW5IYW5kbGVyKCBlLmRhdGEsIGlmcmFtZVVSTCApO1xuXHRcdHByb2Nlc3NTdGF0dXMoIGUuZGF0YSApO1xuXHRcdGVuYWJsZUNETiggZS5kYXRhLCBpZnJhbWVVUkwgKTtcblx0XHRkaXNhYmxlQ0ROKCBlLmRhdGEsIGlmcmFtZVVSTCApO1xuXHRcdHZhbGlkYXRlVG9rZW5BbmRDTkFNRSggZS5kYXRhICk7XG5cdH07XG5cblx0ZnVuY3Rpb24gbWF5YmVPcGVuTW9kYWwoKSB7XG5cdFx0bGV0IHBvc3REYXRhID0gJyc7XG5cblx0XHRwb3N0RGF0YSArPSAnYWN0aW9uPXJvY2tldGNkbl9wcm9jZXNzX3N0YXR1cyc7XG5cdFx0cG9zdERhdGEgKz0gJyZub25jZT0nICsgcm9ja2V0X2FqYXhfZGF0YS5ub25jZTtcblxuXHRcdGNvbnN0IHJlcXVlc3QgPSBzZW5kSFRUUFJlcXVlc3QoIHBvc3REYXRhICk7XG5cblx0XHRyZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcblx0XHRcdGlmICggcmVxdWVzdC5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FICYmIDIwMCA9PT0gcmVxdWVzdC5zdGF0dXMgKSB7XG5cdFx0XHRcdGxldCByZXNwb25zZVR4dCA9IEpTT04ucGFyc2UocmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXG5cdFx0XHRcdGlmICggdHJ1ZSA9PT0gcmVzcG9uc2VUeHQuc3VjY2VzcyApIHtcblx0XHRcdFx0XHRNaWNyb01vZGFsLnNob3coICd3cHItcm9ja2V0Y2RuLW1vZGFsJyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdGZ1bmN0aW9uIGNsb3NlTW9kYWwoIGRhdGEgKSB7XG5cdFx0aWYgKCAhIGRhdGEuaGFzT3duUHJvcGVydHkoICdjZG5GcmFtZUNsb3NlJyApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdE1pY3JvTW9kYWwuY2xvc2UoICd3cHItcm9ja2V0Y2RuLW1vZGFsJyApO1xuXG5cdFx0bGV0IHBhZ2VzID0gWyAnaWZyYW1lLXBheW1lbnQtc3VjY2VzcycsICdpZnJhbWUtdW5zdWJzY3JpYmUtc3VjY2VzcycgXTtcblxuXHRcdGlmICggISBkYXRhLmhhc093blByb3BlcnR5KCAnY2RuX3BhZ2VfbWVzc2FnZScgKSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoIHBhZ2VzLmluZGV4T2YoIGRhdGEuY2RuX3BhZ2VfbWVzc2FnZSApID09PSAtMSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcblx0fVxuXG5cdGZ1bmN0aW9uIHByb2Nlc3NTdGF0dXMoIGRhdGEgKSB7XG5cdFx0aWYgKCAhIGRhdGEuaGFzT3duUHJvcGVydHkoICdyb2NrZXRjZG5fcHJvY2VzcycgKSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcG9zdERhdGEgPSAnJztcblxuXHRcdHBvc3REYXRhICs9ICdhY3Rpb249cm9ja2V0Y2RuX3Byb2Nlc3Nfc2V0Jztcblx0XHRwb3N0RGF0YSArPSAnJnN0YXR1cz0nICsgZGF0YS5yb2NrZXRjZG5fcHJvY2Vzcztcblx0XHRwb3N0RGF0YSArPSAnJm5vbmNlPScgKyByb2NrZXRfYWpheF9kYXRhLm5vbmNlO1xuXG5cdFx0c2VuZEhUVFBSZXF1ZXN0KCBwb3N0RGF0YSApO1xuXHR9XG5cblx0ZnVuY3Rpb24gZW5hYmxlQ0ROKCBkYXRhLCBpZnJhbWVVUkwgKSB7XG5cdFx0bGV0IGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoICcjcm9ja2V0Y2RuLWlmcmFtZScgKS5jb250ZW50V2luZG93O1xuXG5cdFx0aWYgKCAhIGRhdGEuaGFzT3duUHJvcGVydHkoICdyb2NrZXRjZG5fdXJsJyApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGxldCBwb3N0RGF0YSA9ICcnO1xuXG5cdFx0cG9zdERhdGEgKz0gJ2FjdGlvbj1yb2NrZXRjZG5fZW5hYmxlJztcblx0XHRwb3N0RGF0YSArPSAnJmNkbl91cmw9JyArIGRhdGEucm9ja2V0Y2RuX3VybDtcblx0XHRwb3N0RGF0YSArPSAnJm5vbmNlPScgKyByb2NrZXRfYWpheF9kYXRhLm5vbmNlO1xuXG5cdFx0Y29uc3QgcmVxdWVzdCA9IHNlbmRIVFRQUmVxdWVzdCggcG9zdERhdGEgKTtcblxuXHRcdHJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuXHRcdFx0aWYgKCByZXF1ZXN0LnJlYWR5U3RhdGUgPT09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgMjAwID09PSByZXF1ZXN0LnN0YXR1cyApIHtcblx0XHRcdFx0bGV0IHJlc3BvbnNlVHh0ID0gSlNPTi5wYXJzZShyZXF1ZXN0LnJlc3BvbnNlVGV4dCk7XG5cdFx0XHRcdGlmcmFtZS5wb3N0TWVzc2FnZShcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHQnc3VjY2Vzcyc6IHJlc3BvbnNlVHh0LnN1Y2Nlc3MsXG5cdFx0XHRcdFx0XHQnZGF0YSc6IHJlc3BvbnNlVHh0LmRhdGEsXG5cdFx0XHRcdFx0XHQncm9ja2V0Y2RuJzogdHJ1ZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0aWZyYW1lVVJMXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdGZ1bmN0aW9uIGRpc2FibGVDRE4oIGRhdGEsIGlmcmFtZVVSTCApIHtcblx0XHRsZXQgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggJyNyb2NrZXRjZG4taWZyYW1lJyApLmNvbnRlbnRXaW5kb3c7XG5cblx0XHRpZiAoICEgZGF0YS5oYXNPd25Qcm9wZXJ0eSggJ3JvY2tldGNkbl9kaXNhYmxlJyApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGxldCBwb3N0RGF0YSA9ICcnO1xuXG5cdFx0cG9zdERhdGEgKz0gJ2FjdGlvbj1yb2NrZXRjZG5fZGlzYWJsZSc7XG5cdFx0cG9zdERhdGEgKz0gJyZub25jZT0nICsgcm9ja2V0X2FqYXhfZGF0YS5ub25jZTtcblxuXHRcdGNvbnN0IHJlcXVlc3QgPSBzZW5kSFRUUFJlcXVlc3QoIHBvc3REYXRhICk7XG5cblx0XHRyZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcblx0XHRcdGlmICggcmVxdWVzdC5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FICYmIDIwMCA9PT0gcmVxdWVzdC5zdGF0dXMgKSB7XG5cdFx0XHRcdGxldCByZXNwb25zZVR4dCA9IEpTT04ucGFyc2UocmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXHRcdFx0XHRpZnJhbWUucG9zdE1lc3NhZ2UoXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0J3N1Y2Nlc3MnOiByZXNwb25zZVR4dC5zdWNjZXNzLFxuXHRcdFx0XHRcdFx0J2RhdGEnOiByZXNwb25zZVR4dC5kYXRhLFxuXHRcdFx0XHRcdFx0J3JvY2tldGNkbic6IHRydWVcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGlmcmFtZVVSTFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHRmdW5jdGlvbiBzZW5kSFRUUFJlcXVlc3QoIHBvc3REYXRhICkge1xuXHRcdGNvbnN0IGh0dHBSZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cblx0XHRodHRwUmVxdWVzdC5vcGVuKCAnUE9TVCcsIGFqYXh1cmwgKTtcblx0XHRodHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKCAnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgKTtcblx0XHRodHRwUmVxdWVzdC5zZW5kKCBwb3N0RGF0YSApO1xuXG5cdFx0cmV0dXJuIGh0dHBSZXF1ZXN0O1xuXHR9XG5cblx0ZnVuY3Rpb24gc2V0Q0RORnJhbWVIZWlnaHQoIGRhdGEgKSB7XG5cdFx0aWYgKCAhIGRhdGEuaGFzT3duUHJvcGVydHkoICdjZG5GcmFtZUhlaWdodCcgKSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ3JvY2tldGNkbi1pZnJhbWUnICkuc3R5bGUuaGVpZ2h0ID0gYCR7IGRhdGEuY2RuRnJhbWVIZWlnaHQgfXB4YDtcblx0fVxuXG5cdGZ1bmN0aW9uIHRva2VuSGFuZGxlciggZGF0YSwgaWZyYW1lVVJMICkge1xuXHRcdGxldCBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCAnI3JvY2tldGNkbi1pZnJhbWUnICkuY29udGVudFdpbmRvdztcblxuXHRcdGlmICggISBkYXRhLmhhc093blByb3BlcnR5KCAncm9ja2V0Y2RuX3Rva2VuJyApICkge1xuXHRcdFx0bGV0IGRhdGEgPSB7cHJvY2VzczpcInN1YnNjcmliZVwiLCBtZXNzYWdlOlwidG9rZW5fbm90X3JlY2VpdmVkXCJ9O1xuXHRcdFx0aWZyYW1lLnBvc3RNZXNzYWdlKFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0J3N1Y2Nlc3MnOiBmYWxzZSxcblx0XHRcdFx0XHQnZGF0YSc6IGRhdGEsXG5cdFx0XHRcdFx0J3JvY2tldGNkbic6IHRydWVcblx0XHRcdFx0fSxcblx0XHRcdFx0aWZyYW1lVVJMXG5cdFx0XHQpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGxldCBwb3N0RGF0YSA9ICcnO1xuXG5cdFx0cG9zdERhdGEgKz0gJ2FjdGlvbj1zYXZlX3JvY2tldGNkbl90b2tlbic7XG5cdFx0cG9zdERhdGEgKz0gJyZ2YWx1ZT0nICsgZGF0YS5yb2NrZXRjZG5fdG9rZW47XG5cdFx0cG9zdERhdGEgKz0gJyZub25jZT0nICsgcm9ja2V0X2FqYXhfZGF0YS5ub25jZTtcblxuXHRcdGNvbnN0IHJlcXVlc3QgPSBzZW5kSFRUUFJlcXVlc3QoIHBvc3REYXRhICk7XG5cblx0XHRyZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcblx0XHRcdGlmICggcmVxdWVzdC5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FICYmIDIwMCA9PT0gcmVxdWVzdC5zdGF0dXMgKSB7XG5cdFx0XHRcdGxldCByZXNwb25zZVR4dCA9IEpTT04ucGFyc2UocmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXHRcdFx0XHRpZnJhbWUucG9zdE1lc3NhZ2UoXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0J3N1Y2Nlc3MnOiByZXNwb25zZVR4dC5zdWNjZXNzLFxuXHRcdFx0XHRcdFx0J2RhdGEnOiByZXNwb25zZVR4dC5kYXRhLFxuXHRcdFx0XHRcdFx0J3JvY2tldGNkbic6IHRydWVcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGlmcmFtZVVSTFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHRmdW5jdGlvbiB2YWxpZGF0ZVRva2VuQW5kQ05BTUUoIGRhdGEgKSB7XG5cdFx0aWYgKCAhIGRhdGEuaGFzT3duUHJvcGVydHkoICdyb2NrZXRjZG5fdmFsaWRhdGVfdG9rZW4nICkgfHwgISBkYXRhLmhhc093blByb3BlcnR5KCAncm9ja2V0Y2RuX3ZhbGlkYXRlX2NuYW1lJyApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGxldCBwb3N0RGF0YSA9ICcnO1xuXG5cdFx0cG9zdERhdGEgKz0gJ2FjdGlvbj1yb2NrZXRjZG5fdmFsaWRhdGVfdG9rZW5fY25hbWUnO1xuXHRcdHBvc3REYXRhICs9ICcmY2RuX3VybD0nICsgZGF0YS5yb2NrZXRjZG5fdmFsaWRhdGVfY25hbWU7XG5cdFx0cG9zdERhdGEgKz0gJyZjZG5fdG9rZW49JyArIGRhdGEucm9ja2V0Y2RuX3ZhbGlkYXRlX3Rva2VuO1xuXHRcdHBvc3REYXRhICs9ICcmbm9uY2U9JyArIHJvY2tldF9hamF4X2RhdGEubm9uY2U7XG5cblx0XHRjb25zdCByZXF1ZXN0ID0gc2VuZEhUVFBSZXF1ZXN0KCBwb3N0RGF0YSApO1xuXHR9XG59ICkoIGRvY3VtZW50LCB3aW5kb3cgKTtcbiIsIi8qIVxyXG4gKiBWRVJTSU9OOiAxLjEyLjFcclxuICogREFURTogMjAxNC0wNi0yNlxyXG4gKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vd3d3LmdyZWVuc29jay5jb21cclxuICpcclxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTQsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICogVGhpcyB3b3JrIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHA6Ly93d3cuZ3JlZW5zb2NrLmNvbS90ZXJtc19vZl91c2UuaHRtbCBvciBmb3JcclxuICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuXHJcbiAqIFxyXG4gKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb21cclxuICovXHJcbih3aW5kb3cuX2dzUXVldWV8fCh3aW5kb3cuX2dzUXVldWU9W10pKS5wdXNoKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7d2luZG93Ll9nc0RlZmluZShcIlRpbWVsaW5lTGl0ZVwiLFtcImNvcmUuQW5pbWF0aW9uXCIsXCJjb3JlLlNpbXBsZVRpbWVsaW5lXCIsXCJUd2VlbkxpdGVcIl0sZnVuY3Rpb24odCxlLGkpe3ZhciBzPWZ1bmN0aW9uKHQpe2UuY2FsbCh0aGlzLHQpLHRoaXMuX2xhYmVscz17fSx0aGlzLmF1dG9SZW1vdmVDaGlsZHJlbj10aGlzLnZhcnMuYXV0b1JlbW92ZUNoaWxkcmVuPT09ITAsdGhpcy5zbW9vdGhDaGlsZFRpbWluZz10aGlzLnZhcnMuc21vb3RoQ2hpbGRUaW1pbmc9PT0hMCx0aGlzLl9zb3J0Q2hpbGRyZW49ITAsdGhpcy5fb25VcGRhdGU9dGhpcy52YXJzLm9uVXBkYXRlO3ZhciBpLHMscj10aGlzLnZhcnM7Zm9yKHMgaW4gcilpPXJbc10sYShpKSYmLTEhPT1pLmpvaW4oXCJcIikuaW5kZXhPZihcIntzZWxmfVwiKSYmKHJbc109dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhpKSk7YShyLnR3ZWVucykmJnRoaXMuYWRkKHIudHdlZW5zLDAsci5hbGlnbixyLnN0YWdnZXIpfSxyPTFlLTEwLG49aS5faW50ZXJuYWxzLmlzU2VsZWN0b3IsYT1pLl9pbnRlcm5hbHMuaXNBcnJheSxvPVtdLGg9d2luZG93Ll9nc0RlZmluZS5nbG9iYWxzLGw9ZnVuY3Rpb24odCl7dmFyIGUsaT17fTtmb3IoZSBpbiB0KWlbZV09dFtlXTtyZXR1cm4gaX0sXz1mdW5jdGlvbih0LGUsaSxzKXt0Ll90aW1lbGluZS5wYXVzZSh0Ll9zdGFydFRpbWUpLGUmJmUuYXBwbHkoc3x8dC5fdGltZWxpbmUsaXx8byl9LHU9by5zbGljZSxmPXMucHJvdG90eXBlPW5ldyBlO3JldHVybiBzLnZlcnNpb249XCIxLjEyLjFcIixmLmNvbnN0cnVjdG9yPXMsZi5raWxsKCkuX2djPSExLGYudG89ZnVuY3Rpb24odCxlLHMscil7dmFyIG49cy5yZXBlYXQmJmguVHdlZW5NYXh8fGk7cmV0dXJuIGU/dGhpcy5hZGQobmV3IG4odCxlLHMpLHIpOnRoaXMuc2V0KHQscyxyKX0sZi5mcm9tPWZ1bmN0aW9uKHQsZSxzLHIpe3JldHVybiB0aGlzLmFkZCgocy5yZXBlYXQmJmguVHdlZW5NYXh8fGkpLmZyb20odCxlLHMpLHIpfSxmLmZyb21Ubz1mdW5jdGlvbih0LGUscyxyLG4pe3ZhciBhPXIucmVwZWF0JiZoLlR3ZWVuTWF4fHxpO3JldHVybiBlP3RoaXMuYWRkKGEuZnJvbVRvKHQsZSxzLHIpLG4pOnRoaXMuc2V0KHQscixuKX0sZi5zdGFnZ2VyVG89ZnVuY3Rpb24odCxlLHIsYSxvLGgsXyxmKXt2YXIgcCxjPW5ldyBzKHtvbkNvbXBsZXRlOmgsb25Db21wbGV0ZVBhcmFtczpfLG9uQ29tcGxldGVTY29wZTpmLHNtb290aENoaWxkVGltaW5nOnRoaXMuc21vb3RoQ2hpbGRUaW1pbmd9KTtmb3IoXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PWkuc2VsZWN0b3IodCl8fHQpLG4odCkmJih0PXUuY2FsbCh0LDApKSxhPWF8fDAscD0wO3QubGVuZ3RoPnA7cCsrKXIuc3RhcnRBdCYmKHIuc3RhcnRBdD1sKHIuc3RhcnRBdCkpLGMudG8odFtwXSxlLGwocikscCphKTtyZXR1cm4gdGhpcy5hZGQoYyxvKX0sZi5zdGFnZ2VyRnJvbT1mdW5jdGlvbih0LGUsaSxzLHIsbixhLG8pe3JldHVybiBpLmltbWVkaWF0ZVJlbmRlcj0wIT1pLmltbWVkaWF0ZVJlbmRlcixpLnJ1bkJhY2t3YXJkcz0hMCx0aGlzLnN0YWdnZXJUbyh0LGUsaSxzLHIsbixhLG8pfSxmLnN0YWdnZXJGcm9tVG89ZnVuY3Rpb24odCxlLGkscyxyLG4sYSxvLGgpe3JldHVybiBzLnN0YXJ0QXQ9aSxzLmltbWVkaWF0ZVJlbmRlcj0wIT1zLmltbWVkaWF0ZVJlbmRlciYmMCE9aS5pbW1lZGlhdGVSZW5kZXIsdGhpcy5zdGFnZ2VyVG8odCxlLHMscixuLGEsbyxoKX0sZi5jYWxsPWZ1bmN0aW9uKHQsZSxzLHIpe3JldHVybiB0aGlzLmFkZChpLmRlbGF5ZWRDYWxsKDAsdCxlLHMpLHIpfSxmLnNldD1mdW5jdGlvbih0LGUscyl7cmV0dXJuIHM9dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChzLDAsITApLG51bGw9PWUuaW1tZWRpYXRlUmVuZGVyJiYoZS5pbW1lZGlhdGVSZW5kZXI9cz09PXRoaXMuX3RpbWUmJiF0aGlzLl9wYXVzZWQpLHRoaXMuYWRkKG5ldyBpKHQsMCxlKSxzKX0scy5leHBvcnRSb290PWZ1bmN0aW9uKHQsZSl7dD10fHx7fSxudWxsPT10LnNtb290aENoaWxkVGltaW5nJiYodC5zbW9vdGhDaGlsZFRpbWluZz0hMCk7dmFyIHIsbixhPW5ldyBzKHQpLG89YS5fdGltZWxpbmU7Zm9yKG51bGw9PWUmJihlPSEwKSxvLl9yZW1vdmUoYSwhMCksYS5fc3RhcnRUaW1lPTAsYS5fcmF3UHJldlRpbWU9YS5fdGltZT1hLl90b3RhbFRpbWU9by5fdGltZSxyPW8uX2ZpcnN0O3I7KW49ci5fbmV4dCxlJiZyIGluc3RhbmNlb2YgaSYmci50YXJnZXQ9PT1yLnZhcnMub25Db21wbGV0ZXx8YS5hZGQocixyLl9zdGFydFRpbWUtci5fZGVsYXkpLHI9bjtyZXR1cm4gby5hZGQoYSwwKSxhfSxmLmFkZD1mdW5jdGlvbihyLG4sbyxoKXt2YXIgbCxfLHUsZixwLGM7aWYoXCJudW1iZXJcIiE9dHlwZW9mIG4mJihuPXRoaXMuX3BhcnNlVGltZU9yTGFiZWwobiwwLCEwLHIpKSwhKHIgaW5zdGFuY2VvZiB0KSl7aWYociBpbnN0YW5jZW9mIEFycmF5fHxyJiZyLnB1c2gmJmEocikpe2ZvcihvPW98fFwibm9ybWFsXCIsaD1ofHwwLGw9bixfPXIubGVuZ3RoLHU9MDtfPnU7dSsrKWEoZj1yW3VdKSYmKGY9bmV3IHMoe3R3ZWVuczpmfSkpLHRoaXMuYWRkKGYsbCksXCJzdHJpbmdcIiE9dHlwZW9mIGYmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGYmJihcInNlcXVlbmNlXCI9PT1vP2w9Zi5fc3RhcnRUaW1lK2YudG90YWxEdXJhdGlvbigpL2YuX3RpbWVTY2FsZTpcInN0YXJ0XCI9PT1vJiYoZi5fc3RhcnRUaW1lLT1mLmRlbGF5KCkpKSxsKz1oO3JldHVybiB0aGlzLl91bmNhY2hlKCEwKX1pZihcInN0cmluZ1wiPT10eXBlb2YgcilyZXR1cm4gdGhpcy5hZGRMYWJlbChyLG4pO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIHIpdGhyb3dcIkNhbm5vdCBhZGQgXCIrcitcIiBpbnRvIHRoZSB0aW1lbGluZTsgaXQgaXMgbm90IGEgdHdlZW4sIHRpbWVsaW5lLCBmdW5jdGlvbiwgb3Igc3RyaW5nLlwiO3I9aS5kZWxheWVkQ2FsbCgwLHIpfWlmKGUucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMscixuKSwodGhpcy5fZ2N8fHRoaXMuX3RpbWU9PT10aGlzLl9kdXJhdGlvbikmJiF0aGlzLl9wYXVzZWQmJnRoaXMuX2R1cmF0aW9uPHRoaXMuZHVyYXRpb24oKSlmb3IocD10aGlzLGM9cC5yYXdUaW1lKCk+ci5fc3RhcnRUaW1lO3AuX3RpbWVsaW5lOyljJiZwLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZz9wLnRvdGFsVGltZShwLl90b3RhbFRpbWUsITApOnAuX2djJiZwLl9lbmFibGVkKCEwLCExKSxwPXAuX3RpbWVsaW5lO3JldHVybiB0aGlzfSxmLnJlbW92ZT1mdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgdClyZXR1cm4gdGhpcy5fcmVtb3ZlKGUsITEpO2lmKGUgaW5zdGFuY2VvZiBBcnJheXx8ZSYmZS5wdXNoJiZhKGUpKXtmb3IodmFyIGk9ZS5sZW5ndGg7LS1pPi0xOyl0aGlzLnJlbW92ZShlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZT90aGlzLnJlbW92ZUxhYmVsKGUpOnRoaXMua2lsbChudWxsLGUpfSxmLl9yZW1vdmU9ZnVuY3Rpb24odCxpKXtlLnByb3RvdHlwZS5fcmVtb3ZlLmNhbGwodGhpcyx0LGkpO3ZhciBzPXRoaXMuX2xhc3Q7cmV0dXJuIHM/dGhpcy5fdGltZT5zLl9zdGFydFRpbWUrcy5fdG90YWxEdXJhdGlvbi9zLl90aW1lU2NhbGUmJih0aGlzLl90aW1lPXRoaXMuZHVyYXRpb24oKSx0aGlzLl90b3RhbFRpbWU9dGhpcy5fdG90YWxEdXJhdGlvbik6dGhpcy5fdGltZT10aGlzLl90b3RhbFRpbWU9dGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj0wLHRoaXN9LGYuYXBwZW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYWRkKHQsdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChudWxsLGUsITAsdCkpfSxmLmluc2VydD1mLmluc2VydE11bHRpcGxlPWZ1bmN0aW9uKHQsZSxpLHMpe3JldHVybiB0aGlzLmFkZCh0LGV8fDAsaSxzKX0sZi5hcHBlbmRNdWx0aXBsZT1mdW5jdGlvbih0LGUsaSxzKXtyZXR1cm4gdGhpcy5hZGQodCx0aGlzLl9wYXJzZVRpbWVPckxhYmVsKG51bGwsZSwhMCx0KSxpLHMpfSxmLmFkZExhYmVsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2xhYmVsc1t0XT10aGlzLl9wYXJzZVRpbWVPckxhYmVsKGUpLHRoaXN9LGYuYWRkUGF1c2U9ZnVuY3Rpb24odCxlLGkscyl7cmV0dXJuIHRoaXMuY2FsbChfLFtcIntzZWxmfVwiLGUsaSxzXSx0aGlzLHQpfSxmLnJlbW92ZUxhYmVsPWZ1bmN0aW9uKHQpe3JldHVybiBkZWxldGUgdGhpcy5fbGFiZWxzW3RdLHRoaXN9LGYuZ2V0TGFiZWxUaW1lPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10aGlzLl9sYWJlbHNbdF0/dGhpcy5fbGFiZWxzW3RdOi0xfSxmLl9wYXJzZVRpbWVPckxhYmVsPWZ1bmN0aW9uKGUsaSxzLHIpe3ZhciBuO2lmKHIgaW5zdGFuY2VvZiB0JiZyLnRpbWVsaW5lPT09dGhpcyl0aGlzLnJlbW92ZShyKTtlbHNlIGlmKHImJihyIGluc3RhbmNlb2YgQXJyYXl8fHIucHVzaCYmYShyKSkpZm9yKG49ci5sZW5ndGg7LS1uPi0xOylyW25daW5zdGFuY2VvZiB0JiZyW25dLnRpbWVsaW5lPT09dGhpcyYmdGhpcy5yZW1vdmUocltuXSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGkpcmV0dXJuIHRoaXMuX3BhcnNlVGltZU9yTGFiZWwoaSxzJiZcIm51bWJlclwiPT10eXBlb2YgZSYmbnVsbD09dGhpcy5fbGFiZWxzW2ldP2UtdGhpcy5kdXJhdGlvbigpOjAscyk7aWYoaT1pfHwwLFwic3RyaW5nXCIhPXR5cGVvZiBlfHwhaXNOYU4oZSkmJm51bGw9PXRoaXMuX2xhYmVsc1tlXSludWxsPT1lJiYoZT10aGlzLmR1cmF0aW9uKCkpO2Vsc2V7aWYobj1lLmluZGV4T2YoXCI9XCIpLC0xPT09bilyZXR1cm4gbnVsbD09dGhpcy5fbGFiZWxzW2VdP3M/dGhpcy5fbGFiZWxzW2VdPXRoaXMuZHVyYXRpb24oKStpOmk6dGhpcy5fbGFiZWxzW2VdK2k7aT1wYXJzZUludChlLmNoYXJBdChuLTEpK1wiMVwiLDEwKSpOdW1iZXIoZS5zdWJzdHIobisxKSksZT1uPjE/dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlLnN1YnN0cigwLG4tMSksMCxzKTp0aGlzLmR1cmF0aW9uKCl9cmV0dXJuIE51bWJlcihlKStpfSxmLnNlZWs9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoXCJudW1iZXJcIj09dHlwZW9mIHQ/dDp0aGlzLl9wYXJzZVRpbWVPckxhYmVsKHQpLGUhPT0hMSl9LGYuc3RvcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhdXNlZCghMCl9LGYuZ290b0FuZFBsYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wbGF5KHQsZSl9LGYuZ290b0FuZFN0b3A9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wYXVzZSh0LGUpfSxmLnJlbmRlcj1mdW5jdGlvbih0LGUsaSl7dGhpcy5fZ2MmJnRoaXMuX2VuYWJsZWQoITAsITEpO3ZhciBzLG4sYSxoLGwsXz10aGlzLl9kaXJ0eT90aGlzLnRvdGFsRHVyYXRpb24oKTp0aGlzLl90b3RhbER1cmF0aW9uLHU9dGhpcy5fdGltZSxmPXRoaXMuX3N0YXJ0VGltZSxwPXRoaXMuX3RpbWVTY2FsZSxjPXRoaXMuX3BhdXNlZDtpZih0Pj1fPyh0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT1fLHRoaXMuX3JldmVyc2VkfHx0aGlzLl9oYXNQYXVzZWRDaGlsZCgpfHwobj0hMCxoPVwib25Db21wbGV0ZVwiLDA9PT10aGlzLl9kdXJhdGlvbiYmKDA9PT10fHwwPnRoaXMuX3Jhd1ByZXZUaW1lfHx0aGlzLl9yYXdQcmV2VGltZT09PXIpJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXQmJnRoaXMuX2ZpcnN0JiYobD0hMCx0aGlzLl9yYXdQcmV2VGltZT5yJiYoaD1cIm9uUmV2ZXJzZUNvbXBsZXRlXCIpKSksdGhpcy5fcmF3UHJldlRpbWU9dGhpcy5fZHVyYXRpb258fCFlfHx0fHx0aGlzLl9yYXdQcmV2VGltZT09PXQ/dDpyLHQ9XysxZS00KToxZS03PnQ/KHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPTAsKDAhPT11fHwwPT09dGhpcy5fZHVyYXRpb24mJnRoaXMuX3Jhd1ByZXZUaW1lIT09ciYmKHRoaXMuX3Jhd1ByZXZUaW1lPjB8fDA+dCYmdGhpcy5fcmF3UHJldlRpbWU+PTApKSYmKGg9XCJvblJldmVyc2VDb21wbGV0ZVwiLG49dGhpcy5fcmV2ZXJzZWQpLDA+dD8odGhpcy5fYWN0aXZlPSExLDA9PT10aGlzLl9kdXJhdGlvbiYmdGhpcy5fcmF3UHJldlRpbWU+PTAmJnRoaXMuX2ZpcnN0JiYobD0hMCksdGhpcy5fcmF3UHJldlRpbWU9dCk6KHRoaXMuX3Jhd1ByZXZUaW1lPXRoaXMuX2R1cmF0aW9ufHwhZXx8dHx8dGhpcy5fcmF3UHJldlRpbWU9PT10P3Q6cix0PTAsdGhpcy5faW5pdHRlZHx8KGw9ITApKSk6dGhpcy5fdG90YWxUaW1lPXRoaXMuX3RpbWU9dGhpcy5fcmF3UHJldlRpbWU9dCx0aGlzLl90aW1lIT09dSYmdGhpcy5fZmlyc3R8fGl8fGwpe2lmKHRoaXMuX2luaXR0ZWR8fCh0aGlzLl9pbml0dGVkPSEwKSx0aGlzLl9hY3RpdmV8fCF0aGlzLl9wYXVzZWQmJnRoaXMuX3RpbWUhPT11JiZ0PjAmJih0aGlzLl9hY3RpdmU9ITApLDA9PT11JiZ0aGlzLnZhcnMub25TdGFydCYmMCE9PXRoaXMuX3RpbWUmJihlfHx0aGlzLnZhcnMub25TdGFydC5hcHBseSh0aGlzLnZhcnMub25TdGFydFNjb3BlfHx0aGlzLHRoaXMudmFycy5vblN0YXJ0UGFyYW1zfHxvKSksdGhpcy5fdGltZT49dSlmb3Iocz10aGlzLl9maXJzdDtzJiYoYT1zLl9uZXh0LCF0aGlzLl9wYXVzZWR8fGMpOykocy5fYWN0aXZlfHxzLl9zdGFydFRpbWU8PXRoaXMuX3RpbWUmJiFzLl9wYXVzZWQmJiFzLl9nYykmJihzLl9yZXZlcnNlZD9zLnJlbmRlcigocy5fZGlydHk/cy50b3RhbER1cmF0aW9uKCk6cy5fdG90YWxEdXJhdGlvbiktKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKTpzLnJlbmRlcigodC1zLl9zdGFydFRpbWUpKnMuX3RpbWVTY2FsZSxlLGkpKSxzPWE7ZWxzZSBmb3Iocz10aGlzLl9sYXN0O3MmJihhPXMuX3ByZXYsIXRoaXMuX3BhdXNlZHx8Yyk7KShzLl9hY3RpdmV8fHU+PXMuX3N0YXJ0VGltZSYmIXMuX3BhdXNlZCYmIXMuX2djKSYmKHMuX3JldmVyc2VkP3MucmVuZGVyKChzLl9kaXJ0eT9zLnRvdGFsRHVyYXRpb24oKTpzLl90b3RhbER1cmF0aW9uKS0odC1zLl9zdGFydFRpbWUpKnMuX3RpbWVTY2FsZSxlLGkpOnMucmVuZGVyKCh0LXMuX3N0YXJ0VGltZSkqcy5fdGltZVNjYWxlLGUsaSkpLHM9YTt0aGlzLl9vblVwZGF0ZSYmKGV8fHRoaXMuX29uVXBkYXRlLmFwcGx5KHRoaXMudmFycy5vblVwZGF0ZVNjb3BlfHx0aGlzLHRoaXMudmFycy5vblVwZGF0ZVBhcmFtc3x8bykpLGgmJih0aGlzLl9nY3x8KGY9PT10aGlzLl9zdGFydFRpbWV8fHAhPT10aGlzLl90aW1lU2NhbGUpJiYoMD09PXRoaXMuX3RpbWV8fF8+PXRoaXMudG90YWxEdXJhdGlvbigpKSYmKG4mJih0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4mJnRoaXMuX2VuYWJsZWQoITEsITEpLHRoaXMuX2FjdGl2ZT0hMSksIWUmJnRoaXMudmFyc1toXSYmdGhpcy52YXJzW2hdLmFwcGx5KHRoaXMudmFyc1toK1wiU2NvcGVcIl18fHRoaXMsdGhpcy52YXJzW2grXCJQYXJhbXNcIl18fG8pKSl9fSxmLl9oYXNQYXVzZWRDaGlsZD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9maXJzdDt0Oyl7aWYodC5fcGF1c2VkfHx0IGluc3RhbmNlb2YgcyYmdC5faGFzUGF1c2VkQ2hpbGQoKSlyZXR1cm4hMDt0PXQuX25leHR9cmV0dXJuITF9LGYuZ2V0Q2hpbGRyZW49ZnVuY3Rpb24odCxlLHMscil7cj1yfHwtOTk5OTk5OTk5OTtmb3IodmFyIG49W10sYT10aGlzLl9maXJzdCxvPTA7YTspcj5hLl9zdGFydFRpbWV8fChhIGluc3RhbmNlb2YgaT9lIT09ITEmJihuW28rK109YSk6KHMhPT0hMSYmKG5bbysrXT1hKSx0IT09ITEmJihuPW4uY29uY2F0KGEuZ2V0Q2hpbGRyZW4oITAsZSxzKSksbz1uLmxlbmd0aCkpKSxhPWEuX25leHQ7cmV0dXJuIG59LGYuZ2V0VHdlZW5zT2Y9ZnVuY3Rpb24odCxlKXt2YXIgcyxyLG49dGhpcy5fZ2MsYT1bXSxvPTA7Zm9yKG4mJnRoaXMuX2VuYWJsZWQoITAsITApLHM9aS5nZXRUd2VlbnNPZih0KSxyPXMubGVuZ3RoOy0tcj4tMTspKHNbcl0udGltZWxpbmU9PT10aGlzfHxlJiZ0aGlzLl9jb250YWlucyhzW3JdKSkmJihhW28rK109c1tyXSk7cmV0dXJuIG4mJnRoaXMuX2VuYWJsZWQoITEsITApLGF9LGYuX2NvbnRhaW5zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnRpbWVsaW5lO2U7KXtpZihlPT09dGhpcylyZXR1cm4hMDtlPWUudGltZWxpbmV9cmV0dXJuITF9LGYuc2hpZnRDaGlsZHJlbj1mdW5jdGlvbih0LGUsaSl7aT1pfHwwO2Zvcih2YXIgcyxyPXRoaXMuX2ZpcnN0LG49dGhpcy5fbGFiZWxzO3I7KXIuX3N0YXJ0VGltZT49aSYmKHIuX3N0YXJ0VGltZSs9dCkscj1yLl9uZXh0O2lmKGUpZm9yKHMgaW4gbiluW3NdPj1pJiYobltzXSs9dCk7cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfSxmLl9raWxsPWZ1bmN0aW9uKHQsZSl7aWYoIXQmJiFlKXJldHVybiB0aGlzLl9lbmFibGVkKCExLCExKTtmb3IodmFyIGk9ZT90aGlzLmdldFR3ZWVuc09mKGUpOnRoaXMuZ2V0Q2hpbGRyZW4oITAsITAsITEpLHM9aS5sZW5ndGgscj0hMTstLXM+LTE7KWlbc10uX2tpbGwodCxlKSYmKHI9ITApO3JldHVybiByfSxmLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0Q2hpbGRyZW4oITEsITAsITApLGk9ZS5sZW5ndGg7Zm9yKHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTA7LS1pPi0xOyllW2ldLl9lbmFibGVkKCExLCExKTtyZXR1cm4gdCE9PSExJiYodGhpcy5fbGFiZWxzPXt9KSx0aGlzLl91bmNhY2hlKCEwKX0sZi5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX2ZpcnN0O3Q7KXQuaW52YWxpZGF0ZSgpLHQ9dC5fbmV4dDtyZXR1cm4gdGhpc30sZi5fZW5hYmxlZD1mdW5jdGlvbih0LGkpe2lmKHQ9PT10aGlzLl9nYylmb3IodmFyIHM9dGhpcy5fZmlyc3Q7czspcy5fZW5hYmxlZCh0LCEwKSxzPXMuX25leHQ7cmV0dXJuIGUucHJvdG90eXBlLl9lbmFibGVkLmNhbGwodGhpcyx0LGkpfSxmLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPygwIT09dGhpcy5kdXJhdGlvbigpJiYwIT09dCYmdGhpcy50aW1lU2NhbGUodGhpcy5fZHVyYXRpb24vdCksdGhpcyk6KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLl9kdXJhdGlvbil9LGYudG90YWxEdXJhdGlvbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aCl7aWYodGhpcy5fZGlydHkpe2Zvcih2YXIgZSxpLHM9MCxyPXRoaXMuX2xhc3Qsbj05OTk5OTk5OTk5OTk7cjspZT1yLl9wcmV2LHIuX2RpcnR5JiZyLnRvdGFsRHVyYXRpb24oKSxyLl9zdGFydFRpbWU+biYmdGhpcy5fc29ydENoaWxkcmVuJiYhci5fcGF1c2VkP3RoaXMuYWRkKHIsci5fc3RhcnRUaW1lLXIuX2RlbGF5KTpuPXIuX3N0YXJ0VGltZSwwPnIuX3N0YXJ0VGltZSYmIXIuX3BhdXNlZCYmKHMtPXIuX3N0YXJ0VGltZSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmKHRoaXMuX3N0YXJ0VGltZSs9ci5fc3RhcnRUaW1lL3RoaXMuX3RpbWVTY2FsZSksdGhpcy5zaGlmdENoaWxkcmVuKC1yLl9zdGFydFRpbWUsITEsLTk5OTk5OTk5OTkpLG49MCksaT1yLl9zdGFydFRpbWUrci5fdG90YWxEdXJhdGlvbi9yLl90aW1lU2NhbGUsaT5zJiYocz1pKSxyPWU7dGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj1zLHRoaXMuX2RpcnR5PSExfXJldHVybiB0aGlzLl90b3RhbER1cmF0aW9ufXJldHVybiAwIT09dGhpcy50b3RhbER1cmF0aW9uKCkmJjAhPT10JiZ0aGlzLnRpbWVTY2FsZSh0aGlzLl90b3RhbER1cmF0aW9uL3QpLHRoaXN9LGYudXNlc0ZyYW1lcz1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl90aW1lbGluZTtlLl90aW1lbGluZTspZT1lLl90aW1lbGluZTtyZXR1cm4gZT09PXQuX3Jvb3RGcmFtZXNUaW1lbGluZX0sZi5yYXdUaW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BhdXNlZD90aGlzLl90b3RhbFRpbWU6KHRoaXMuX3RpbWVsaW5lLnJhd1RpbWUoKS10aGlzLl9zdGFydFRpbWUpKnRoaXMuX3RpbWVTY2FsZX0sc30sITApfSksd2luZG93Ll9nc0RlZmluZSYmd2luZG93Ll9nc1F1ZXVlLnBvcCgpKCk7IiwiLyohXHJcbiAqIFZFUlNJT046IDEuMTIuMVxyXG4gKiBEQVRFOiAyMDE0LTA2LTI2XHJcbiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly93d3cuZ3JlZW5zb2NrLmNvbVxyXG4gKlxyXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDgtMjAxNCwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG4gKiBUaGlzIHdvcmsgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYXQgaHR0cDovL3d3dy5ncmVlbnNvY2suY29tL3Rlcm1zX29mX3VzZS5odG1sIG9yIGZvclxyXG4gKiBDbHViIEdyZWVuU29jayBtZW1iZXJzLCB0aGUgc29mdHdhcmUgYWdyZWVtZW50IHRoYXQgd2FzIGlzc3VlZCB3aXRoIHlvdXIgbWVtYmVyc2hpcC5cclxuICogXHJcbiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbVxyXG4gKi9cclxuKGZ1bmN0aW9uKHQpe1widXNlIHN0cmljdFwiO3ZhciBlPXQuR3JlZW5Tb2NrR2xvYmFsc3x8dDtpZighZS5Ud2VlbkxpdGUpe3ZhciBpLHMsbixyLGEsbz1mdW5jdGlvbih0KXt2YXIgaSxzPXQuc3BsaXQoXCIuXCIpLG49ZTtmb3IoaT0wO3MubGVuZ3RoPmk7aSsrKW5bc1tpXV09bj1uW3NbaV1dfHx7fTtyZXR1cm4gbn0sbD1vKFwiY29tLmdyZWVuc29ja1wiKSxoPTFlLTEwLF89W10uc2xpY2UsdT1mdW5jdGlvbigpe30sbT1mdW5jdGlvbigpe3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsZT10LmNhbGwoW10pO3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gbnVsbCE9aSYmKGkgaW5zdGFuY2VvZiBBcnJheXx8XCJvYmplY3RcIj09dHlwZW9mIGkmJiEhaS5wdXNoJiZ0LmNhbGwoaSk9PT1lKX19KCksZj17fSxwPWZ1bmN0aW9uKGkscyxuLHIpe3RoaXMuc2M9ZltpXT9mW2ldLnNjOltdLGZbaV09dGhpcyx0aGlzLmdzQ2xhc3M9bnVsbCx0aGlzLmZ1bmM9bjt2YXIgYT1bXTt0aGlzLmNoZWNrPWZ1bmN0aW9uKGwpe2Zvcih2YXIgaCxfLHUsbSxjPXMubGVuZ3RoLGQ9YzstLWM+LTE7KShoPWZbc1tjXV18fG5ldyBwKHNbY10sW10pKS5nc0NsYXNzPyhhW2NdPWguZ3NDbGFzcyxkLS0pOmwmJmguc2MucHVzaCh0aGlzKTtpZigwPT09ZCYmbilmb3IoXz0oXCJjb20uZ3JlZW5zb2NrLlwiK2kpLnNwbGl0KFwiLlwiKSx1PV8ucG9wKCksbT1vKF8uam9pbihcIi5cIikpW3VdPXRoaXMuZ3NDbGFzcz1uLmFwcGx5KG4sYSksciYmKGVbdV09bSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCh0LkdyZWVuU29ja0FNRFBhdGg/dC5HcmVlblNvY2tBTURQYXRoK1wiL1wiOlwiXCIpK2kuc3BsaXQoXCIuXCIpLmpvaW4oXCIvXCIpLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTpcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKG1vZHVsZS5leHBvcnRzPW0pKSxjPTA7dGhpcy5zYy5sZW5ndGg+YztjKyspdGhpcy5zY1tjXS5jaGVjaygpfSx0aGlzLmNoZWNrKCEwKX0sYz10Ll9nc0RlZmluZT1mdW5jdGlvbih0LGUsaSxzKXtyZXR1cm4gbmV3IHAodCxlLGkscyl9LGQ9bC5fY2xhc3M9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBlPWV8fGZ1bmN0aW9uKCl7fSxjKHQsW10sZnVuY3Rpb24oKXtyZXR1cm4gZX0saSksZX07Yy5nbG9iYWxzPWU7dmFyIHY9WzAsMCwxLDFdLGc9W10sVD1kKFwiZWFzaW5nLkVhc2VcIixmdW5jdGlvbih0LGUsaSxzKXt0aGlzLl9mdW5jPXQsdGhpcy5fdHlwZT1pfHwwLHRoaXMuX3Bvd2VyPXN8fDAsdGhpcy5fcGFyYW1zPWU/di5jb25jYXQoZSk6dn0sITApLHk9VC5tYXA9e30sdz1ULnJlZ2lzdGVyPWZ1bmN0aW9uKHQsZSxpLHMpe2Zvcih2YXIgbixyLGEsbyxoPWUuc3BsaXQoXCIsXCIpLF89aC5sZW5ndGgsdT0oaXx8XCJlYXNlSW4sZWFzZU91dCxlYXNlSW5PdXRcIikuc3BsaXQoXCIsXCIpOy0tXz4tMTspZm9yKHI9aFtfXSxuPXM/ZChcImVhc2luZy5cIityLG51bGwsITApOmwuZWFzaW5nW3JdfHx7fSxhPXUubGVuZ3RoOy0tYT4tMTspbz11W2FdLHlbcitcIi5cIitvXT15W28rcl09bltvXT10LmdldFJhdGlvP3Q6dFtvXXx8bmV3IHR9O2ZvcihuPVQucHJvdG90eXBlLG4uX2NhbGNFbmQ9ITEsbi5nZXRSYXRpbz1mdW5jdGlvbih0KXtpZih0aGlzLl9mdW5jKXJldHVybiB0aGlzLl9wYXJhbXNbMF09dCx0aGlzLl9mdW5jLmFwcGx5KG51bGwsdGhpcy5fcGFyYW1zKTt2YXIgZT10aGlzLl90eXBlLGk9dGhpcy5fcG93ZXIscz0xPT09ZT8xLXQ6Mj09PWU/dDouNT50PzIqdDoyKigxLXQpO3JldHVybiAxPT09aT9zKj1zOjI9PT1pP3MqPXMqczozPT09aT9zKj1zKnMqczo0PT09aSYmKHMqPXMqcypzKnMpLDE9PT1lPzEtczoyPT09ZT9zOi41PnQ/cy8yOjEtcy8yfSxpPVtcIkxpbmVhclwiLFwiUXVhZFwiLFwiQ3ViaWNcIixcIlF1YXJ0XCIsXCJRdWludCxTdHJvbmdcIl0scz1pLmxlbmd0aDstLXM+LTE7KW49aVtzXStcIixQb3dlclwiK3MsdyhuZXcgVChudWxsLG51bGwsMSxzKSxuLFwiZWFzZU91dFwiLCEwKSx3KG5ldyBUKG51bGwsbnVsbCwyLHMpLG4sXCJlYXNlSW5cIisoMD09PXM/XCIsZWFzZU5vbmVcIjpcIlwiKSksdyhuZXcgVChudWxsLG51bGwsMyxzKSxuLFwiZWFzZUluT3V0XCIpO3kubGluZWFyPWwuZWFzaW5nLkxpbmVhci5lYXNlSW4seS5zd2luZz1sLmVhc2luZy5RdWFkLmVhc2VJbk91dDt2YXIgUD1kKFwiZXZlbnRzLkV2ZW50RGlzcGF0Y2hlclwiLGZ1bmN0aW9uKHQpe3RoaXMuX2xpc3RlbmVycz17fSx0aGlzLl9ldmVudFRhcmdldD10fHx0aGlzfSk7bj1QLnByb3RvdHlwZSxuLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLGkscyxuKXtuPW58fDA7dmFyIG8sbCxoPXRoaXMuX2xpc3RlbmVyc1t0XSxfPTA7Zm9yKG51bGw9PWgmJih0aGlzLl9saXN0ZW5lcnNbdF09aD1bXSksbD1oLmxlbmd0aDstLWw+LTE7KW89aFtsXSxvLmM9PT1lJiZvLnM9PT1pP2guc3BsaWNlKGwsMSk6MD09PV8mJm4+by5wciYmKF89bCsxKTtoLnNwbGljZShfLDAse2M6ZSxzOmksdXA6cyxwcjpufSksdGhpcyE9PXJ8fGF8fHIud2FrZSgpfSxuLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgaSxzPXRoaXMuX2xpc3RlbmVyc1t0XTtpZihzKWZvcihpPXMubGVuZ3RoOy0taT4tMTspaWYoc1tpXS5jPT09ZSlyZXR1cm4gcy5zcGxpY2UoaSwxKSx2b2lkIDB9LG4uZGlzcGF0Y2hFdmVudD1mdW5jdGlvbih0KXt2YXIgZSxpLHMsbj10aGlzLl9saXN0ZW5lcnNbdF07aWYobilmb3IoZT1uLmxlbmd0aCxpPXRoaXMuX2V2ZW50VGFyZ2V0Oy0tZT4tMTspcz1uW2VdLHMudXA/cy5jLmNhbGwocy5zfHxpLHt0eXBlOnQsdGFyZ2V0Oml9KTpzLmMuY2FsbChzLnN8fGkpfTt2YXIgaz10LnJlcXVlc3RBbmltYXRpb25GcmFtZSxiPXQuY2FuY2VsQW5pbWF0aW9uRnJhbWUsQT1EYXRlLm5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sUz1BKCk7Zm9yKGk9W1wibXNcIixcIm1velwiLFwid2Via2l0XCIsXCJvXCJdLHM9aS5sZW5ndGg7LS1zPi0xJiYhazspaz10W2lbc10rXCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVcIl0sYj10W2lbc10rXCJDYW5jZWxBbmltYXRpb25GcmFtZVwiXXx8dFtpW3NdK1wiQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lXCJdO2QoXCJUaWNrZXJcIixmdW5jdGlvbih0LGUpe3ZhciBpLHMsbixvLGwsXz10aGlzLG09QSgpLGY9ZSE9PSExJiZrLHA9NTAwLGM9MzMsZD1mdW5jdGlvbih0KXt2YXIgZSxyLGE9QSgpLVM7YT5wJiYobSs9YS1jKSxTKz1hLF8udGltZT0oUy1tKS8xZTMsZT1fLnRpbWUtbCwoIWl8fGU+MHx8dD09PSEwKSYmKF8uZnJhbWUrKyxsKz1lKyhlPj1vPy4wMDQ6by1lKSxyPSEwKSx0IT09ITAmJihuPXMoZCkpLHImJl8uZGlzcGF0Y2hFdmVudChcInRpY2tcIil9O1AuY2FsbChfKSxfLnRpbWU9Xy5mcmFtZT0wLF8udGljaz1mdW5jdGlvbigpe2QoITApfSxfLmxhZ1Ntb290aGluZz1mdW5jdGlvbih0LGUpe3A9dHx8MS9oLGM9TWF0aC5taW4oZSxwLDApfSxfLnNsZWVwPWZ1bmN0aW9uKCl7bnVsbCE9biYmKGYmJmI/YihuKTpjbGVhclRpbWVvdXQobikscz11LG49bnVsbCxfPT09ciYmKGE9ITEpKX0sXy53YWtlPWZ1bmN0aW9uKCl7bnVsbCE9PW4/Xy5zbGVlcCgpOl8uZnJhbWU+MTAmJihTPUEoKS1wKzUpLHM9MD09PWk/dTpmJiZrP2s6ZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQodCwwfDFlMyoobC1fLnRpbWUpKzEpfSxfPT09ciYmKGE9ITApLGQoMil9LF8uZnBzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPXQsbz0xLyhpfHw2MCksbD10aGlzLnRpbWUrbyxfLndha2UoKSx2b2lkIDApOml9LF8udXNlUkFGPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhfLnNsZWVwKCksZj10LF8uZnBzKGkpLHZvaWQgMCk6Zn0sXy5mcHModCksc2V0VGltZW91dChmdW5jdGlvbigpe2YmJighbnx8NT5fLmZyYW1lKSYmXy51c2VSQUYoITEpfSwxNTAwKX0pLG49bC5UaWNrZXIucHJvdG90eXBlPW5ldyBsLmV2ZW50cy5FdmVudERpc3BhdGNoZXIsbi5jb25zdHJ1Y3Rvcj1sLlRpY2tlcjt2YXIgeD1kKFwiY29yZS5BbmltYXRpb25cIixmdW5jdGlvbih0LGUpe2lmKHRoaXMudmFycz1lPWV8fHt9LHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249dHx8MCx0aGlzLl9kZWxheT1OdW1iZXIoZS5kZWxheSl8fDAsdGhpcy5fdGltZVNjYWxlPTEsdGhpcy5fYWN0aXZlPWUuaW1tZWRpYXRlUmVuZGVyPT09ITAsdGhpcy5kYXRhPWUuZGF0YSx0aGlzLl9yZXZlcnNlZD1lLnJldmVyc2VkPT09ITAsQil7YXx8ci53YWtlKCk7dmFyIGk9dGhpcy52YXJzLnVzZUZyYW1lcz9ROkI7aS5hZGQodGhpcyxpLl90aW1lKSx0aGlzLnZhcnMucGF1c2VkJiZ0aGlzLnBhdXNlZCghMCl9fSk7cj14LnRpY2tlcj1uZXcgbC5UaWNrZXIsbj14LnByb3RvdHlwZSxuLl9kaXJ0eT1uLl9nYz1uLl9pbml0dGVkPW4uX3BhdXNlZD0hMSxuLl90b3RhbFRpbWU9bi5fdGltZT0wLG4uX3Jhd1ByZXZUaW1lPS0xLG4uX25leHQ9bi5fbGFzdD1uLl9vblVwZGF0ZT1uLl90aW1lbGluZT1uLnRpbWVsaW5lPW51bGwsbi5fcGF1c2VkPSExO3ZhciBDPWZ1bmN0aW9uKCl7YSYmQSgpLVM+MmUzJiZyLndha2UoKSxzZXRUaW1lb3V0KEMsMmUzKX07QygpLG4ucGxheT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsIT10JiZ0aGlzLnNlZWsodCxlKSx0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpfSxuLnBhdXNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQmJnRoaXMuc2Vlayh0LGUpLHRoaXMucGF1c2VkKCEwKX0sbi5yZXN1bWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbCE9dCYmdGhpcy5zZWVrKHQsZSksdGhpcy5wYXVzZWQoITEpfSxuLnNlZWs9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoTnVtYmVyKHQpLGUhPT0hMSl9LG4ucmVzdGFydD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpLnRvdGFsVGltZSh0Py10aGlzLl9kZWxheTowLGUhPT0hMSwhMCl9LG4ucmV2ZXJzZT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsIT10JiZ0aGlzLnNlZWsodHx8dGhpcy50b3RhbER1cmF0aW9uKCksZSksdGhpcy5yZXZlcnNlZCghMCkucGF1c2VkKCExKX0sbi5yZW5kZXI9ZnVuY3Rpb24oKXt9LG4uaW52YWxpZGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxuLmlzQWN0aXZlPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLl90aW1lbGluZSxpPXRoaXMuX3N0YXJ0VGltZTtyZXR1cm4hZXx8IXRoaXMuX2djJiYhdGhpcy5fcGF1c2VkJiZlLmlzQWN0aXZlKCkmJih0PWUucmF3VGltZSgpKT49aSYmaSt0aGlzLnRvdGFsRHVyYXRpb24oKS90aGlzLl90aW1lU2NhbGU+dH0sbi5fZW5hYmxlZD1mdW5jdGlvbih0LGUpe3JldHVybiBhfHxyLndha2UoKSx0aGlzLl9nYz0hdCx0aGlzLl9hY3RpdmU9dGhpcy5pc0FjdGl2ZSgpLGUhPT0hMCYmKHQmJiF0aGlzLnRpbWVsaW5lP3RoaXMuX3RpbWVsaW5lLmFkZCh0aGlzLHRoaXMuX3N0YXJ0VGltZS10aGlzLl9kZWxheSk6IXQmJnRoaXMudGltZWxpbmUmJnRoaXMuX3RpbWVsaW5lLl9yZW1vdmUodGhpcywhMCkpLCExfSxuLl9raWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuYWJsZWQoITEsITEpfSxuLmtpbGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fa2lsbCh0LGUpLHRoaXN9LG4uX3VuY2FjaGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQ/dGhpczp0aGlzLnRpbWVsaW5lO2U7KWUuX2RpcnR5PSEwLGU9ZS50aW1lbGluZTtyZXR1cm4gdGhpc30sbi5fc3dhcFNlbGZJblBhcmFtcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgsaT10LmNvbmNhdCgpOy0tZT4tMTspXCJ7c2VsZn1cIj09PXRbZV0mJihpW2VdPXRoaXMpO3JldHVybiBpfSxuLmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24odCxlLGkscyl7aWYoXCJvblwiPT09KHR8fFwiXCIpLnN1YnN0cigwLDIpKXt2YXIgbj10aGlzLnZhcnM7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIG5bdF07bnVsbD09ZT9kZWxldGUgblt0XTooblt0XT1lLG5bdCtcIlBhcmFtc1wiXT1tKGkpJiYtMSE9PWkuam9pbihcIlwiKS5pbmRleE9mKFwie3NlbGZ9XCIpP3RoaXMuX3N3YXBTZWxmSW5QYXJhbXMoaSk6aSxuW3QrXCJTY29wZVwiXT1zKSxcIm9uVXBkYXRlXCI9PT10JiYodGhpcy5fb25VcGRhdGU9ZSl9cmV0dXJuIHRoaXN9LG4uZGVsYXk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nJiZ0aGlzLnN0YXJ0VGltZSh0aGlzLl9zdGFydFRpbWUrdC10aGlzLl9kZWxheSksdGhpcy5fZGVsYXk9dCx0aGlzKTp0aGlzLl9kZWxheX0sbi5kdXJhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj10LHRoaXMuX3VuY2FjaGUoITApLHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nJiZ0aGlzLl90aW1lPjAmJnRoaXMuX3RpbWU8dGhpcy5fZHVyYXRpb24mJjAhPT10JiZ0aGlzLnRvdGFsVGltZSh0aGlzLl90b3RhbFRpbWUqKHQvdGhpcy5fZHVyYXRpb24pLCEwKSx0aGlzKToodGhpcy5fZGlydHk9ITEsdGhpcy5fZHVyYXRpb24pfSxuLnRvdGFsRHVyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RpcnR5PSExLGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5kdXJhdGlvbih0KTp0aGlzLl90b3RhbER1cmF0aW9ufSxuLnRpbWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZGlydHkmJnRoaXMudG90YWxEdXJhdGlvbigpLHRoaXMudG90YWxUaW1lKHQ+dGhpcy5fZHVyYXRpb24/dGhpcy5fZHVyYXRpb246dCxlKSk6dGhpcy5fdGltZX0sbi50b3RhbFRpbWU9ZnVuY3Rpb24odCxlLGkpe2lmKGF8fHIud2FrZSgpLCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90b3RhbFRpbWU7aWYodGhpcy5fdGltZWxpbmUpe2lmKDA+dCYmIWkmJih0Kz10aGlzLnRvdGFsRHVyYXRpb24oKSksdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmcpe3RoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKTt2YXIgcz10aGlzLl90b3RhbER1cmF0aW9uLG49dGhpcy5fdGltZWxpbmU7aWYodD5zJiYhaSYmKHQ9cyksdGhpcy5fc3RhcnRUaW1lPSh0aGlzLl9wYXVzZWQ/dGhpcy5fcGF1c2VUaW1lOm4uX3RpbWUpLSh0aGlzLl9yZXZlcnNlZD9zLXQ6dCkvdGhpcy5fdGltZVNjYWxlLG4uX2RpcnR5fHx0aGlzLl91bmNhY2hlKCExKSxuLl90aW1lbGluZSlmb3IoO24uX3RpbWVsaW5lOyluLl90aW1lbGluZS5fdGltZSE9PShuLl9zdGFydFRpbWUrbi5fdG90YWxUaW1lKS9uLl90aW1lU2NhbGUmJm4udG90YWxUaW1lKG4uX3RvdGFsVGltZSwhMCksbj1uLl90aW1lbGluZX10aGlzLl9nYyYmdGhpcy5fZW5hYmxlZCghMCwhMSksKHRoaXMuX3RvdGFsVGltZSE9PXR8fDA9PT10aGlzLl9kdXJhdGlvbikmJih0aGlzLnJlbmRlcih0LGUsITEpLHoubGVuZ3RoJiZxKCkpfXJldHVybiB0aGlzfSxuLnByb2dyZXNzPW4udG90YWxQcm9ncmVzcz1mdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMudG90YWxUaW1lKHRoaXMuZHVyYXRpb24oKSp0LGUpOnRoaXMuX3RpbWUvdGhpcy5kdXJhdGlvbigpfSxuLnN0YXJ0VGltZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odCE9PXRoaXMuX3N0YXJ0VGltZSYmKHRoaXMuX3N0YXJ0VGltZT10LHRoaXMudGltZWxpbmUmJnRoaXMudGltZWxpbmUuX3NvcnRDaGlsZHJlbiYmdGhpcy50aW1lbGluZS5hZGQodGhpcyx0LXRoaXMuX2RlbGF5KSksdGhpcyk6dGhpcy5fc3RhcnRUaW1lfSxuLnRpbWVTY2FsZT1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fdGltZVNjYWxlO2lmKHQ9dHx8aCx0aGlzLl90aW1lbGluZSYmdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmcpe3ZhciBlPXRoaXMuX3BhdXNlVGltZSxpPWV8fDA9PT1lP2U6dGhpcy5fdGltZWxpbmUudG90YWxUaW1lKCk7dGhpcy5fc3RhcnRUaW1lPWktKGktdGhpcy5fc3RhcnRUaW1lKSp0aGlzLl90aW1lU2NhbGUvdH1yZXR1cm4gdGhpcy5fdGltZVNjYWxlPXQsdGhpcy5fdW5jYWNoZSghMSl9LG4ucmV2ZXJzZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQhPXRoaXMuX3JldmVyc2VkJiYodGhpcy5fcmV2ZXJzZWQ9dCx0aGlzLnRvdGFsVGltZSh0aGlzLl90aW1lbGluZSYmIXRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nP3RoaXMudG90YWxEdXJhdGlvbigpLXRoaXMuX3RvdGFsVGltZTp0aGlzLl90b3RhbFRpbWUsITApKSx0aGlzKTp0aGlzLl9yZXZlcnNlZH0sbi5wYXVzZWQ9ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3BhdXNlZDtpZih0IT10aGlzLl9wYXVzZWQmJnRoaXMuX3RpbWVsaW5lKXthfHx0fHxyLndha2UoKTt2YXIgZT10aGlzLl90aW1lbGluZSxpPWUucmF3VGltZSgpLHM9aS10aGlzLl9wYXVzZVRpbWU7IXQmJmUuc21vb3RoQ2hpbGRUaW1pbmcmJih0aGlzLl9zdGFydFRpbWUrPXMsdGhpcy5fdW5jYWNoZSghMSkpLHRoaXMuX3BhdXNlVGltZT10P2k6bnVsbCx0aGlzLl9wYXVzZWQ9dCx0aGlzLl9hY3RpdmU9dGhpcy5pc0FjdGl2ZSgpLCF0JiYwIT09cyYmdGhpcy5faW5pdHRlZCYmdGhpcy5kdXJhdGlvbigpJiZ0aGlzLnJlbmRlcihlLnNtb290aENoaWxkVGltaW5nP3RoaXMuX3RvdGFsVGltZTooaS10aGlzLl9zdGFydFRpbWUpL3RoaXMuX3RpbWVTY2FsZSwhMCwhMCl9cmV0dXJuIHRoaXMuX2djJiYhdCYmdGhpcy5fZW5hYmxlZCghMCwhMSksdGhpc307dmFyIFI9ZChcImNvcmUuU2ltcGxlVGltZWxpbmVcIixmdW5jdGlvbih0KXt4LmNhbGwodGhpcywwLHQpLHRoaXMuYXV0b1JlbW92ZUNoaWxkcmVuPXRoaXMuc21vb3RoQ2hpbGRUaW1pbmc9ITB9KTtuPVIucHJvdG90eXBlPW5ldyB4LG4uY29uc3RydWN0b3I9UixuLmtpbGwoKS5fZ2M9ITEsbi5fZmlyc3Q9bi5fbGFzdD1udWxsLG4uX3NvcnRDaGlsZHJlbj0hMSxuLmFkZD1uLmluc2VydD1mdW5jdGlvbih0LGUpe3ZhciBpLHM7aWYodC5fc3RhcnRUaW1lPU51bWJlcihlfHwwKSt0Ll9kZWxheSx0Ll9wYXVzZWQmJnRoaXMhPT10Ll90aW1lbGluZSYmKHQuX3BhdXNlVGltZT10Ll9zdGFydFRpbWUrKHRoaXMucmF3VGltZSgpLXQuX3N0YXJ0VGltZSkvdC5fdGltZVNjYWxlKSx0LnRpbWVsaW5lJiZ0LnRpbWVsaW5lLl9yZW1vdmUodCwhMCksdC50aW1lbGluZT10Ll90aW1lbGluZT10aGlzLHQuX2djJiZ0Ll9lbmFibGVkKCEwLCEwKSxpPXRoaXMuX2xhc3QsdGhpcy5fc29ydENoaWxkcmVuKWZvcihzPXQuX3N0YXJ0VGltZTtpJiZpLl9zdGFydFRpbWU+czspaT1pLl9wcmV2O3JldHVybiBpPyh0Ll9uZXh0PWkuX25leHQsaS5fbmV4dD10KToodC5fbmV4dD10aGlzLl9maXJzdCx0aGlzLl9maXJzdD10KSx0Ll9uZXh0P3QuX25leHQuX3ByZXY9dDp0aGlzLl9sYXN0PXQsdC5fcHJldj1pLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSx0aGlzfSxuLl9yZW1vdmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50aW1lbGluZT09PXRoaXMmJihlfHx0Ll9lbmFibGVkKCExLCEwKSx0LnRpbWVsaW5lPW51bGwsdC5fcHJldj90Ll9wcmV2Ll9uZXh0PXQuX25leHQ6dGhpcy5fZmlyc3Q9PT10JiYodGhpcy5fZmlyc3Q9dC5fbmV4dCksdC5fbmV4dD90Ll9uZXh0Ll9wcmV2PXQuX3ByZXY6dGhpcy5fbGFzdD09PXQmJih0aGlzLl9sYXN0PXQuX3ByZXYpLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSksdGhpc30sbi5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3ZhciBzLG49dGhpcy5fZmlyc3Q7Zm9yKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPXRoaXMuX3Jhd1ByZXZUaW1lPXQ7bjspcz1uLl9uZXh0LChuLl9hY3RpdmV8fHQ+PW4uX3N0YXJ0VGltZSYmIW4uX3BhdXNlZCkmJihuLl9yZXZlcnNlZD9uLnJlbmRlcigobi5fZGlydHk/bi50b3RhbER1cmF0aW9uKCk6bi5fdG90YWxEdXJhdGlvbiktKHQtbi5fc3RhcnRUaW1lKSpuLl90aW1lU2NhbGUsZSxpKTpuLnJlbmRlcigodC1uLl9zdGFydFRpbWUpKm4uX3RpbWVTY2FsZSxlLGkpKSxuPXN9LG4ucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiBhfHxyLndha2UoKSx0aGlzLl90b3RhbFRpbWV9O3ZhciBEPWQoXCJUd2VlbkxpdGVcIixmdW5jdGlvbihlLGkscyl7aWYoeC5jYWxsKHRoaXMsaSxzKSx0aGlzLnJlbmRlcj1ELnByb3RvdHlwZS5yZW5kZXIsbnVsbD09ZSl0aHJvd1wiQ2Fubm90IHR3ZWVuIGEgbnVsbCB0YXJnZXQuXCI7dGhpcy50YXJnZXQ9ZT1cInN0cmluZ1wiIT10eXBlb2YgZT9lOkQuc2VsZWN0b3IoZSl8fGU7dmFyIG4scixhLG89ZS5qcXVlcnl8fGUubGVuZ3RoJiZlIT09dCYmZVswXSYmKGVbMF09PT10fHxlWzBdLm5vZGVUeXBlJiZlWzBdLnN0eWxlJiYhZS5ub2RlVHlwZSksbD10aGlzLnZhcnMub3ZlcndyaXRlO2lmKHRoaXMuX292ZXJ3cml0ZT1sPW51bGw9PWw/R1tELmRlZmF1bHRPdmVyd3JpdGVdOlwibnVtYmVyXCI9PXR5cGVvZiBsP2w+PjA6R1tsXSwob3x8ZSBpbnN0YW5jZW9mIEFycmF5fHxlLnB1c2gmJm0oZSkpJiZcIm51bWJlclwiIT10eXBlb2YgZVswXSlmb3IodGhpcy5fdGFyZ2V0cz1hPV8uY2FsbChlLDApLHRoaXMuX3Byb3BMb29rdXA9W10sdGhpcy5fc2libGluZ3M9W10sbj0wO2EubGVuZ3RoPm47bisrKXI9YVtuXSxyP1wic3RyaW5nXCIhPXR5cGVvZiByP3IubGVuZ3RoJiZyIT09dCYmclswXSYmKHJbMF09PT10fHxyWzBdLm5vZGVUeXBlJiZyWzBdLnN0eWxlJiYhci5ub2RlVHlwZSk/KGEuc3BsaWNlKG4tLSwxKSx0aGlzLl90YXJnZXRzPWE9YS5jb25jYXQoXy5jYWxsKHIsMCkpKToodGhpcy5fc2libGluZ3Nbbl09TShyLHRoaXMsITEpLDE9PT1sJiZ0aGlzLl9zaWJsaW5nc1tuXS5sZW5ndGg+MSYmJChyLHRoaXMsbnVsbCwxLHRoaXMuX3NpYmxpbmdzW25dKSk6KHI9YVtuLS1dPUQuc2VsZWN0b3IociksXCJzdHJpbmdcIj09dHlwZW9mIHImJmEuc3BsaWNlKG4rMSwxKSk6YS5zcGxpY2Uobi0tLDEpO2Vsc2UgdGhpcy5fcHJvcExvb2t1cD17fSx0aGlzLl9zaWJsaW5ncz1NKGUsdGhpcywhMSksMT09PWwmJnRoaXMuX3NpYmxpbmdzLmxlbmd0aD4xJiYkKGUsdGhpcyxudWxsLDEsdGhpcy5fc2libGluZ3MpOyh0aGlzLnZhcnMuaW1tZWRpYXRlUmVuZGVyfHwwPT09aSYmMD09PXRoaXMuX2RlbGF5JiZ0aGlzLnZhcnMuaW1tZWRpYXRlUmVuZGVyIT09ITEpJiYodGhpcy5fdGltZT0taCx0aGlzLnJlbmRlcigtdGhpcy5fZGVsYXkpKX0sITApLEk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoJiZlIT09dCYmZVswXSYmKGVbMF09PT10fHxlWzBdLm5vZGVUeXBlJiZlWzBdLnN0eWxlJiYhZS5ub2RlVHlwZSl9LEU9ZnVuY3Rpb24odCxlKXt2YXIgaSxzPXt9O2ZvcihpIGluIHQpaltpXXx8aSBpbiBlJiZcInRyYW5zZm9ybVwiIT09aSYmXCJ4XCIhPT1pJiZcInlcIiE9PWkmJlwid2lkdGhcIiE9PWkmJlwiaGVpZ2h0XCIhPT1pJiZcImNsYXNzTmFtZVwiIT09aSYmXCJib3JkZXJcIiE9PWl8fCEoIUxbaV18fExbaV0mJkxbaV0uX2F1dG9DU1MpfHwoc1tpXT10W2ldLGRlbGV0ZSB0W2ldKTt0LmNzcz1zfTtuPUQucHJvdG90eXBlPW5ldyB4LG4uY29uc3RydWN0b3I9RCxuLmtpbGwoKS5fZ2M9ITEsbi5yYXRpbz0wLG4uX2ZpcnN0UFQ9bi5fdGFyZ2V0cz1uLl9vdmVyd3JpdHRlblByb3BzPW4uX3N0YXJ0QXQ9bnVsbCxuLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPW4uX2xhenk9ITEsRC52ZXJzaW9uPVwiMS4xMi4xXCIsRC5kZWZhdWx0RWFzZT1uLl9lYXNlPW5ldyBUKG51bGwsbnVsbCwxLDEpLEQuZGVmYXVsdE92ZXJ3cml0ZT1cImF1dG9cIixELnRpY2tlcj1yLEQuYXV0b1NsZWVwPSEwLEQubGFnU21vb3RoaW5nPWZ1bmN0aW9uKHQsZSl7ci5sYWdTbW9vdGhpbmcodCxlKX0sRC5zZWxlY3Rvcj10LiR8fHQualF1ZXJ5fHxmdW5jdGlvbihlKXtyZXR1cm4gdC4kPyhELnNlbGVjdG9yPXQuJCx0LiQoZSkpOnQuZG9jdW1lbnQ/dC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIiNcIj09PWUuY2hhckF0KDApP2Uuc3Vic3RyKDEpOmUpOmV9O3ZhciB6PVtdLE89e30sTj1ELl9pbnRlcm5hbHM9e2lzQXJyYXk6bSxpc1NlbGVjdG9yOkksbGF6eVR3ZWVuczp6fSxMPUQuX3BsdWdpbnM9e30sVT1OLnR3ZWVuTG9va3VwPXt9LEY9MCxqPU4ucmVzZXJ2ZWRQcm9wcz17ZWFzZToxLGRlbGF5OjEsb3ZlcndyaXRlOjEsb25Db21wbGV0ZToxLG9uQ29tcGxldGVQYXJhbXM6MSxvbkNvbXBsZXRlU2NvcGU6MSx1c2VGcmFtZXM6MSxydW5CYWNrd2FyZHM6MSxzdGFydEF0OjEsb25VcGRhdGU6MSxvblVwZGF0ZVBhcmFtczoxLG9uVXBkYXRlU2NvcGU6MSxvblN0YXJ0OjEsb25TdGFydFBhcmFtczoxLG9uU3RhcnRTY29wZToxLG9uUmV2ZXJzZUNvbXBsZXRlOjEsb25SZXZlcnNlQ29tcGxldGVQYXJhbXM6MSxvblJldmVyc2VDb21wbGV0ZVNjb3BlOjEsb25SZXBlYXQ6MSxvblJlcGVhdFBhcmFtczoxLG9uUmVwZWF0U2NvcGU6MSxlYXNlUGFyYW1zOjEseW95bzoxLGltbWVkaWF0ZVJlbmRlcjoxLHJlcGVhdDoxLHJlcGVhdERlbGF5OjEsZGF0YToxLHBhdXNlZDoxLHJldmVyc2VkOjEsYXV0b0NTUzoxLGxhenk6MX0sRz17bm9uZTowLGFsbDoxLGF1dG86Mixjb25jdXJyZW50OjMsYWxsT25TdGFydDo0LHByZWV4aXN0aW5nOjUsXCJ0cnVlXCI6MSxcImZhbHNlXCI6MH0sUT14Ll9yb290RnJhbWVzVGltZWxpbmU9bmV3IFIsQj14Ll9yb290VGltZWxpbmU9bmV3IFIscT1mdW5jdGlvbigpe3ZhciB0PXoubGVuZ3RoO2ZvcihPPXt9Oy0tdD4tMTspaT16W3RdLGkmJmkuX2xhenkhPT0hMSYmKGkucmVuZGVyKGkuX2xhenksITEsITApLGkuX2xhenk9ITEpO3oubGVuZ3RoPTB9O0IuX3N0YXJ0VGltZT1yLnRpbWUsUS5fc3RhcnRUaW1lPXIuZnJhbWUsQi5fYWN0aXZlPVEuX2FjdGl2ZT0hMCxzZXRUaW1lb3V0KHEsMSkseC5fdXBkYXRlUm9vdD1ELnJlbmRlcj1mdW5jdGlvbigpe3ZhciB0LGUsaTtpZih6Lmxlbmd0aCYmcSgpLEIucmVuZGVyKChyLnRpbWUtQi5fc3RhcnRUaW1lKSpCLl90aW1lU2NhbGUsITEsITEpLFEucmVuZGVyKChyLmZyYW1lLVEuX3N0YXJ0VGltZSkqUS5fdGltZVNjYWxlLCExLCExKSx6Lmxlbmd0aCYmcSgpLCEoci5mcmFtZSUxMjApKXtmb3IoaSBpbiBVKXtmb3IoZT1VW2ldLnR3ZWVucyx0PWUubGVuZ3RoOy0tdD4tMTspZVt0XS5fZ2MmJmUuc3BsaWNlKHQsMSk7MD09PWUubGVuZ3RoJiZkZWxldGUgVVtpXX1pZihpPUIuX2ZpcnN0LCghaXx8aS5fcGF1c2VkKSYmRC5hdXRvU2xlZXAmJiFRLl9maXJzdCYmMT09PXIuX2xpc3RlbmVycy50aWNrLmxlbmd0aCl7Zm9yKDtpJiZpLl9wYXVzZWQ7KWk9aS5fbmV4dDtpfHxyLnNsZWVwKCl9fX0sci5hZGRFdmVudExpc3RlbmVyKFwidGlja1wiLHguX3VwZGF0ZVJvb3QpO3ZhciBNPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcyxuLHI9dC5fZ3NUd2VlbklEO2lmKFVbcnx8KHQuX2dzVHdlZW5JRD1yPVwidFwiK0YrKyldfHwoVVtyXT17dGFyZ2V0OnQsdHdlZW5zOltdfSksZSYmKHM9VVtyXS50d2VlbnMsc1tuPXMubGVuZ3RoXT1lLGkpKWZvcig7LS1uPi0xOylzW25dPT09ZSYmcy5zcGxpY2UobiwxKTtyZXR1cm4gVVtyXS50d2VlbnN9LCQ9ZnVuY3Rpb24odCxlLGkscyxuKXt2YXIgcixhLG8sbDtpZigxPT09c3x8cz49NCl7Zm9yKGw9bi5sZW5ndGgscj0wO2w+cjtyKyspaWYoKG89bltyXSkhPT1lKW8uX2djfHxvLl9lbmFibGVkKCExLCExKSYmKGE9ITApO2Vsc2UgaWYoNT09PXMpYnJlYWs7cmV0dXJuIGF9dmFyIF8sdT1lLl9zdGFydFRpbWUraCxtPVtdLGY9MCxwPTA9PT1lLl9kdXJhdGlvbjtmb3Iocj1uLmxlbmd0aDstLXI+LTE7KShvPW5bcl0pPT09ZXx8by5fZ2N8fG8uX3BhdXNlZHx8KG8uX3RpbWVsaW5lIT09ZS5fdGltZWxpbmU/KF89X3x8SyhlLDAscCksMD09PUsobyxfLHApJiYobVtmKytdPW8pKTp1Pj1vLl9zdGFydFRpbWUmJm8uX3N0YXJ0VGltZStvLnRvdGFsRHVyYXRpb24oKS9vLl90aW1lU2NhbGU+dSYmKChwfHwhby5faW5pdHRlZCkmJjJlLTEwPj11LW8uX3N0YXJ0VGltZXx8KG1bZisrXT1vKSkpO2ZvcihyPWY7LS1yPi0xOylvPW1bcl0sMj09PXMmJm8uX2tpbGwoaSx0KSYmKGE9ITApLCgyIT09c3x8IW8uX2ZpcnN0UFQmJm8uX2luaXR0ZWQpJiZvLl9lbmFibGVkKCExLCExKSYmKGE9ITApO3JldHVybiBhfSxLPWZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIHM9dC5fdGltZWxpbmUsbj1zLl90aW1lU2NhbGUscj10Ll9zdGFydFRpbWU7cy5fdGltZWxpbmU7KXtpZihyKz1zLl9zdGFydFRpbWUsbio9cy5fdGltZVNjYWxlLHMuX3BhdXNlZClyZXR1cm4tMTAwO3M9cy5fdGltZWxpbmV9cmV0dXJuIHIvPW4scj5lP3ItZTppJiZyPT09ZXx8IXQuX2luaXR0ZWQmJjIqaD5yLWU/aDoocis9dC50b3RhbER1cmF0aW9uKCkvdC5fdGltZVNjYWxlL24pPmUraD8wOnItZS1ofTtuLl9pbml0PWZ1bmN0aW9uKCl7dmFyIHQsZSxpLHMsbixyPXRoaXMudmFycyxhPXRoaXMuX292ZXJ3cml0dGVuUHJvcHMsbz10aGlzLl9kdXJhdGlvbixsPSEhci5pbW1lZGlhdGVSZW5kZXIsaD1yLmVhc2U7aWYoci5zdGFydEF0KXt0aGlzLl9zdGFydEF0JiYodGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsITApLHRoaXMuX3N0YXJ0QXQua2lsbCgpKSxuPXt9O2ZvcihzIGluIHIuc3RhcnRBdCluW3NdPXIuc3RhcnRBdFtzXTtpZihuLm92ZXJ3cml0ZT0hMSxuLmltbWVkaWF0ZVJlbmRlcj0hMCxuLmxhenk9bCYmci5sYXp5IT09ITEsbi5zdGFydEF0PW4uZGVsYXk9bnVsbCx0aGlzLl9zdGFydEF0PUQudG8odGhpcy50YXJnZXQsMCxuKSxsKWlmKHRoaXMuX3RpbWU+MCl0aGlzLl9zdGFydEF0PW51bGw7ZWxzZSBpZigwIT09bylyZXR1cm59ZWxzZSBpZihyLnJ1bkJhY2t3YXJkcyYmMCE9PW8paWYodGhpcy5fc3RhcnRBdCl0aGlzLl9zdGFydEF0LnJlbmRlcigtMSwhMCksdGhpcy5fc3RhcnRBdC5raWxsKCksdGhpcy5fc3RhcnRBdD1udWxsO2Vsc2V7aT17fTtmb3IocyBpbiByKWpbc10mJlwiYXV0b0NTU1wiIT09c3x8KGlbc109cltzXSk7aWYoaS5vdmVyd3JpdGU9MCxpLmRhdGE9XCJpc0Zyb21TdGFydFwiLGkubGF6eT1sJiZyLmxhenkhPT0hMSxpLmltbWVkaWF0ZVJlbmRlcj1sLHRoaXMuX3N0YXJ0QXQ9RC50byh0aGlzLnRhcmdldCwwLGkpLGwpe2lmKDA9PT10aGlzLl90aW1lKXJldHVybn1lbHNlIHRoaXMuX3N0YXJ0QXQuX2luaXQoKSx0aGlzLl9zdGFydEF0Ll9lbmFibGVkKCExKX1pZih0aGlzLl9lYXNlPWg/aCBpbnN0YW5jZW9mIFQ/ci5lYXNlUGFyYW1zIGluc3RhbmNlb2YgQXJyYXk/aC5jb25maWcuYXBwbHkoaCxyLmVhc2VQYXJhbXMpOmg6XCJmdW5jdGlvblwiPT10eXBlb2YgaD9uZXcgVChoLHIuZWFzZVBhcmFtcyk6eVtoXXx8RC5kZWZhdWx0RWFzZTpELmRlZmF1bHRFYXNlLHRoaXMuX2Vhc2VUeXBlPXRoaXMuX2Vhc2UuX3R5cGUsdGhpcy5fZWFzZVBvd2VyPXRoaXMuX2Vhc2UuX3Bvd2VyLHRoaXMuX2ZpcnN0UFQ9bnVsbCx0aGlzLl90YXJnZXRzKWZvcih0PXRoaXMuX3RhcmdldHMubGVuZ3RoOy0tdD4tMTspdGhpcy5faW5pdFByb3BzKHRoaXMuX3RhcmdldHNbdF0sdGhpcy5fcHJvcExvb2t1cFt0XT17fSx0aGlzLl9zaWJsaW5nc1t0XSxhP2FbdF06bnVsbCkmJihlPSEwKTtlbHNlIGU9dGhpcy5faW5pdFByb3BzKHRoaXMudGFyZ2V0LHRoaXMuX3Byb3BMb29rdXAsdGhpcy5fc2libGluZ3MsYSk7aWYoZSYmRC5fb25QbHVnaW5FdmVudChcIl9vbkluaXRBbGxQcm9wc1wiLHRoaXMpLGEmJih0aGlzLl9maXJzdFBUfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiB0aGlzLnRhcmdldCYmdGhpcy5fZW5hYmxlZCghMSwhMSkpLHIucnVuQmFja3dhcmRzKWZvcihpPXRoaXMuX2ZpcnN0UFQ7aTspaS5zKz1pLmMsaS5jPS1pLmMsaT1pLl9uZXh0O3RoaXMuX29uVXBkYXRlPXIub25VcGRhdGUsdGhpcy5faW5pdHRlZD0hMH0sbi5faW5pdFByb3BzPWZ1bmN0aW9uKGUsaSxzLG4pe3ZhciByLGEsbyxsLGgsXztpZihudWxsPT1lKXJldHVybiExO09bZS5fZ3NUd2VlbklEXSYmcSgpLHRoaXMudmFycy5jc3N8fGUuc3R5bGUmJmUhPT10JiZlLm5vZGVUeXBlJiZMLmNzcyYmdGhpcy52YXJzLmF1dG9DU1MhPT0hMSYmRSh0aGlzLnZhcnMsZSk7Zm9yKHIgaW4gdGhpcy52YXJzKXtpZihfPXRoaXMudmFyc1tyXSxqW3JdKV8mJihfIGluc3RhbmNlb2YgQXJyYXl8fF8ucHVzaCYmbShfKSkmJi0xIT09Xy5qb2luKFwiXCIpLmluZGV4T2YoXCJ7c2VsZn1cIikmJih0aGlzLnZhcnNbcl09Xz10aGlzLl9zd2FwU2VsZkluUGFyYW1zKF8sdGhpcykpO2Vsc2UgaWYoTFtyXSYmKGw9bmV3IExbcl0pLl9vbkluaXRUd2VlbihlLHRoaXMudmFyc1tyXSx0aGlzKSl7Zm9yKHRoaXMuX2ZpcnN0UFQ9aD17X25leHQ6dGhpcy5fZmlyc3RQVCx0OmwscDpcInNldFJhdGlvXCIsczowLGM6MSxmOiEwLG46cixwZzohMCxwcjpsLl9wcmlvcml0eX0sYT1sLl9vdmVyd3JpdGVQcm9wcy5sZW5ndGg7LS1hPi0xOylpW2wuX292ZXJ3cml0ZVByb3BzW2FdXT10aGlzLl9maXJzdFBUOyhsLl9wcmlvcml0eXx8bC5fb25Jbml0QWxsUHJvcHMpJiYobz0hMCksKGwuX29uRGlzYWJsZXx8bC5fb25FbmFibGUpJiYodGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZD0hMCl9ZWxzZSB0aGlzLl9maXJzdFBUPWlbcl09aD17X25leHQ6dGhpcy5fZmlyc3RQVCx0OmUscDpyLGY6XCJmdW5jdGlvblwiPT10eXBlb2YgZVtyXSxuOnIscGc6ITEscHI6MH0saC5zPWguZj9lW3IuaW5kZXhPZihcInNldFwiKXx8XCJmdW5jdGlvblwiIT10eXBlb2YgZVtcImdldFwiK3Iuc3Vic3RyKDMpXT9yOlwiZ2V0XCIrci5zdWJzdHIoMyldKCk6cGFyc2VGbG9hdChlW3JdKSxoLmM9XCJzdHJpbmdcIj09dHlwZW9mIF8mJlwiPVwiPT09Xy5jaGFyQXQoMSk/cGFyc2VJbnQoXy5jaGFyQXQoMCkrXCIxXCIsMTApKk51bWJlcihfLnN1YnN0cigyKSk6TnVtYmVyKF8pLWguc3x8MDtoJiZoLl9uZXh0JiYoaC5fbmV4dC5fcHJldj1oKX1yZXR1cm4gbiYmdGhpcy5fa2lsbChuLGUpP3RoaXMuX2luaXRQcm9wcyhlLGkscyxuKTp0aGlzLl9vdmVyd3JpdGU+MSYmdGhpcy5fZmlyc3RQVCYmcy5sZW5ndGg+MSYmJChlLHRoaXMsaSx0aGlzLl9vdmVyd3JpdGUscyk/KHRoaXMuX2tpbGwoaSxlKSx0aGlzLl9pbml0UHJvcHMoZSxpLHMsbikpOih0aGlzLl9maXJzdFBUJiYodGhpcy52YXJzLmxhenkhPT0hMSYmdGhpcy5fZHVyYXRpb258fHRoaXMudmFycy5sYXp5JiYhdGhpcy5fZHVyYXRpb24pJiYoT1tlLl9nc1R3ZWVuSURdPSEwKSxvKX0sbi5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3ZhciBzLG4scixhLG89dGhpcy5fdGltZSxsPXRoaXMuX2R1cmF0aW9uLF89dGhpcy5fcmF3UHJldlRpbWU7aWYodD49bCl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT1sLHRoaXMucmF0aW89dGhpcy5fZWFzZS5fY2FsY0VuZD90aGlzLl9lYXNlLmdldFJhdGlvKDEpOjEsdGhpcy5fcmV2ZXJzZWR8fChzPSEwLG49XCJvbkNvbXBsZXRlXCIpLDA9PT1sJiYodGhpcy5faW5pdHRlZHx8IXRoaXMudmFycy5sYXp5fHxpKSYmKHRoaXMuX3N0YXJ0VGltZT09PXRoaXMuX3RpbWVsaW5lLl9kdXJhdGlvbiYmKHQ9MCksKDA9PT10fHwwPl98fF89PT1oKSYmXyE9PXQmJihpPSEwLF8+aCYmKG49XCJvblJldmVyc2VDb21wbGV0ZVwiKSksdGhpcy5fcmF3UHJldlRpbWU9YT0hZXx8dHx8Xz09PXQ/dDpoKTtlbHNlIGlmKDFlLTc+dCl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT0wLHRoaXMucmF0aW89dGhpcy5fZWFzZS5fY2FsY0VuZD90aGlzLl9lYXNlLmdldFJhdGlvKDApOjAsKDAhPT1vfHwwPT09bCYmXz4wJiZfIT09aCkmJihuPVwib25SZXZlcnNlQ29tcGxldGVcIixzPXRoaXMuX3JldmVyc2VkKSwwPnQ/KHRoaXMuX2FjdGl2ZT0hMSwwPT09bCYmKHRoaXMuX2luaXR0ZWR8fCF0aGlzLnZhcnMubGF6eXx8aSkmJihfPj0wJiYoaT0hMCksdGhpcy5fcmF3UHJldlRpbWU9YT0hZXx8dHx8Xz09PXQ/dDpoKSk6dGhpcy5faW5pdHRlZHx8KGk9ITApO2Vsc2UgaWYodGhpcy5fdG90YWxUaW1lPXRoaXMuX3RpbWU9dCx0aGlzLl9lYXNlVHlwZSl7dmFyIHU9dC9sLG09dGhpcy5fZWFzZVR5cGUsZj10aGlzLl9lYXNlUG93ZXI7KDE9PT1tfHwzPT09bSYmdT49LjUpJiYodT0xLXUpLDM9PT1tJiYodSo9MiksMT09PWY/dSo9dToyPT09Zj91Kj11KnU6Mz09PWY/dSo9dSp1KnU6ND09PWYmJih1Kj11KnUqdSp1KSx0aGlzLnJhdGlvPTE9PT1tPzEtdToyPT09bT91Oi41PnQvbD91LzI6MS11LzJ9ZWxzZSB0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuZ2V0UmF0aW8odC9sKTtpZih0aGlzLl90aW1lIT09b3x8aSl7aWYoIXRoaXMuX2luaXR0ZWQpe2lmKHRoaXMuX2luaXQoKSwhdGhpcy5faW5pdHRlZHx8dGhpcy5fZ2MpcmV0dXJuO2lmKCFpJiZ0aGlzLl9maXJzdFBUJiYodGhpcy52YXJzLmxhenkhPT0hMSYmdGhpcy5fZHVyYXRpb258fHRoaXMudmFycy5sYXp5JiYhdGhpcy5fZHVyYXRpb24pKXJldHVybiB0aGlzLl90aW1lPXRoaXMuX3RvdGFsVGltZT1vLHRoaXMuX3Jhd1ByZXZUaW1lPV8sei5wdXNoKHRoaXMpLHRoaXMuX2xhenk9dCx2b2lkIDA7dGhpcy5fdGltZSYmIXM/dGhpcy5yYXRpbz10aGlzLl9lYXNlLmdldFJhdGlvKHRoaXMuX3RpbWUvbCk6cyYmdGhpcy5fZWFzZS5fY2FsY0VuZCYmKHRoaXMucmF0aW89dGhpcy5fZWFzZS5nZXRSYXRpbygwPT09dGhpcy5fdGltZT8wOjEpKX1mb3IodGhpcy5fbGF6eSE9PSExJiYodGhpcy5fbGF6eT0hMSksdGhpcy5fYWN0aXZlfHwhdGhpcy5fcGF1c2VkJiZ0aGlzLl90aW1lIT09byYmdD49MCYmKHRoaXMuX2FjdGl2ZT0hMCksMD09PW8mJih0aGlzLl9zdGFydEF0JiYodD49MD90aGlzLl9zdGFydEF0LnJlbmRlcih0LGUsaSk6bnx8KG49XCJfZHVtbXlHU1wiKSksdGhpcy52YXJzLm9uU3RhcnQmJigwIT09dGhpcy5fdGltZXx8MD09PWwpJiYoZXx8dGhpcy52YXJzLm9uU3RhcnQuYXBwbHkodGhpcy52YXJzLm9uU3RhcnRTY29wZXx8dGhpcyx0aGlzLnZhcnMub25TdGFydFBhcmFtc3x8ZykpKSxyPXRoaXMuX2ZpcnN0UFQ7cjspci5mP3IudFtyLnBdKHIuYyp0aGlzLnJhdGlvK3Iucyk6ci50W3IucF09ci5jKnRoaXMucmF0aW8rci5zLHI9ci5fbmV4dDt0aGlzLl9vblVwZGF0ZSYmKDA+dCYmdGhpcy5fc3RhcnRBdCYmdGhpcy5fc3RhcnRUaW1lJiZ0aGlzLl9zdGFydEF0LnJlbmRlcih0LGUsaSksZXx8KHRoaXMuX3RpbWUhPT1vfHxzKSYmdGhpcy5fb25VcGRhdGUuYXBwbHkodGhpcy52YXJzLm9uVXBkYXRlU2NvcGV8fHRoaXMsdGhpcy52YXJzLm9uVXBkYXRlUGFyYW1zfHxnKSksbiYmKHRoaXMuX2djfHwoMD50JiZ0aGlzLl9zdGFydEF0JiYhdGhpcy5fb25VcGRhdGUmJnRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fc3RhcnRBdC5yZW5kZXIodCxlLGkpLHMmJih0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4mJnRoaXMuX2VuYWJsZWQoITEsITEpLHRoaXMuX2FjdGl2ZT0hMSksIWUmJnRoaXMudmFyc1tuXSYmdGhpcy52YXJzW25dLmFwcGx5KHRoaXMudmFyc1tuK1wiU2NvcGVcIl18fHRoaXMsdGhpcy52YXJzW24rXCJQYXJhbXNcIl18fGcpLDA9PT1sJiZ0aGlzLl9yYXdQcmV2VGltZT09PWgmJmEhPT1oJiYodGhpcy5fcmF3UHJldlRpbWU9MCkpKX19LG4uX2tpbGw9ZnVuY3Rpb24odCxlKXtpZihcImFsbFwiPT09dCYmKHQ9bnVsbCksbnVsbD09dCYmKG51bGw9PWV8fGU9PT10aGlzLnRhcmdldCkpcmV0dXJuIHRoaXMuX2xhenk9ITEsdGhpcy5fZW5hYmxlZCghMSwhMSk7ZT1cInN0cmluZ1wiIT10eXBlb2YgZT9lfHx0aGlzLl90YXJnZXRzfHx0aGlzLnRhcmdldDpELnNlbGVjdG9yKGUpfHxlO3ZhciBpLHMsbixyLGEsbyxsLGg7aWYoKG0oZSl8fEkoZSkpJiZcIm51bWJlclwiIT10eXBlb2YgZVswXSlmb3IoaT1lLmxlbmd0aDstLWk+LTE7KXRoaXMuX2tpbGwodCxlW2ldKSYmKG89ITApO2Vsc2V7aWYodGhpcy5fdGFyZ2V0cyl7Zm9yKGk9dGhpcy5fdGFyZ2V0cy5sZW5ndGg7LS1pPi0xOylpZihlPT09dGhpcy5fdGFyZ2V0c1tpXSl7YT10aGlzLl9wcm9wTG9va3VwW2ldfHx7fSx0aGlzLl9vdmVyd3JpdHRlblByb3BzPXRoaXMuX292ZXJ3cml0dGVuUHJvcHN8fFtdLHM9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc1tpXT10P3RoaXMuX292ZXJ3cml0dGVuUHJvcHNbaV18fHt9OlwiYWxsXCI7YnJlYWt9fWVsc2V7aWYoZSE9PXRoaXMudGFyZ2V0KXJldHVybiExO2E9dGhpcy5fcHJvcExvb2t1cCxzPXRoaXMuX292ZXJ3cml0dGVuUHJvcHM9dD90aGlzLl9vdmVyd3JpdHRlblByb3BzfHx7fTpcImFsbFwifWlmKGEpe2w9dHx8YSxoPXQhPT1zJiZcImFsbFwiIT09cyYmdCE9PWEmJihcIm9iamVjdFwiIT10eXBlb2YgdHx8IXQuX3RlbXBLaWxsKTtmb3IobiBpbiBsKShyPWFbbl0pJiYoci5wZyYmci50Ll9raWxsKGwpJiYobz0hMCksci5wZyYmMCE9PXIudC5fb3ZlcndyaXRlUHJvcHMubGVuZ3RofHwoci5fcHJldj9yLl9wcmV2Ll9uZXh0PXIuX25leHQ6cj09PXRoaXMuX2ZpcnN0UFQmJih0aGlzLl9maXJzdFBUPXIuX25leHQpLHIuX25leHQmJihyLl9uZXh0Ll9wcmV2PXIuX3ByZXYpLHIuX25leHQ9ci5fcHJldj1udWxsKSxkZWxldGUgYVtuXSksaCYmKHNbbl09MSk7IXRoaXMuX2ZpcnN0UFQmJnRoaXMuX2luaXR0ZWQmJnRoaXMuX2VuYWJsZWQoITEsITEpfX1yZXR1cm4gb30sbi5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQmJkQuX29uUGx1Z2luRXZlbnQoXCJfb25EaXNhYmxlXCIsdGhpcyksdGhpcy5fZmlyc3RQVD1udWxsLHRoaXMuX292ZXJ3cml0dGVuUHJvcHM9bnVsbCx0aGlzLl9vblVwZGF0ZT1udWxsLHRoaXMuX3N0YXJ0QXQ9bnVsbCx0aGlzLl9pbml0dGVkPXRoaXMuX2FjdGl2ZT10aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPXRoaXMuX2xhenk9ITEsdGhpcy5fcHJvcExvb2t1cD10aGlzLl90YXJnZXRzP3t9OltdLHRoaXN9LG4uX2VuYWJsZWQ9ZnVuY3Rpb24odCxlKXtpZihhfHxyLndha2UoKSx0JiZ0aGlzLl9nYyl7dmFyIGkscz10aGlzLl90YXJnZXRzO2lmKHMpZm9yKGk9cy5sZW5ndGg7LS1pPi0xOyl0aGlzLl9zaWJsaW5nc1tpXT1NKHNbaV0sdGhpcywhMCk7ZWxzZSB0aGlzLl9zaWJsaW5ncz1NKHRoaXMudGFyZ2V0LHRoaXMsITApfXJldHVybiB4LnByb3RvdHlwZS5fZW5hYmxlZC5jYWxsKHRoaXMsdCxlKSx0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkJiZ0aGlzLl9maXJzdFBUP0QuX29uUGx1Z2luRXZlbnQodD9cIl9vbkVuYWJsZVwiOlwiX29uRGlzYWJsZVwiLHRoaXMpOiExfSxELnRvPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IEQodCxlLGkpfSxELmZyb209ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpLnJ1bkJhY2t3YXJkcz0hMCxpLmltbWVkaWF0ZVJlbmRlcj0wIT1pLmltbWVkaWF0ZVJlbmRlcixuZXcgRCh0LGUsaSl9LEQuZnJvbVRvPWZ1bmN0aW9uKHQsZSxpLHMpe3JldHVybiBzLnN0YXJ0QXQ9aSxzLmltbWVkaWF0ZVJlbmRlcj0wIT1zLmltbWVkaWF0ZVJlbmRlciYmMCE9aS5pbW1lZGlhdGVSZW5kZXIsbmV3IEQodCxlLHMpfSxELmRlbGF5ZWRDYWxsPWZ1bmN0aW9uKHQsZSxpLHMsbil7cmV0dXJuIG5ldyBEKGUsMCx7ZGVsYXk6dCxvbkNvbXBsZXRlOmUsb25Db21wbGV0ZVBhcmFtczppLG9uQ29tcGxldGVTY29wZTpzLG9uUmV2ZXJzZUNvbXBsZXRlOmUsb25SZXZlcnNlQ29tcGxldGVQYXJhbXM6aSxvblJldmVyc2VDb21wbGV0ZVNjb3BlOnMsaW1tZWRpYXRlUmVuZGVyOiExLHVzZUZyYW1lczpuLG92ZXJ3cml0ZTowfSl9LEQuc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBEKHQsMCxlKX0sRC5nZXRUd2VlbnNPZj1mdW5jdGlvbih0LGUpe2lmKG51bGw9PXQpcmV0dXJuW107dD1cInN0cmluZ1wiIT10eXBlb2YgdD90OkQuc2VsZWN0b3IodCl8fHQ7dmFyIGkscyxuLHI7aWYoKG0odCl8fEkodCkpJiZcIm51bWJlclwiIT10eXBlb2YgdFswXSl7Zm9yKGk9dC5sZW5ndGgscz1bXTstLWk+LTE7KXM9cy5jb25jYXQoRC5nZXRUd2VlbnNPZih0W2ldLGUpKTtmb3IoaT1zLmxlbmd0aDstLWk+LTE7KWZvcihyPXNbaV0sbj1pOy0tbj4tMTspcj09PXNbbl0mJnMuc3BsaWNlKGksMSl9ZWxzZSBmb3Iocz1NKHQpLmNvbmNhdCgpLGk9cy5sZW5ndGg7LS1pPi0xOykoc1tpXS5fZ2N8fGUmJiFzW2ldLmlzQWN0aXZlKCkpJiZzLnNwbGljZShpLDEpO3JldHVybiBzfSxELmtpbGxUd2VlbnNPZj1ELmtpbGxEZWxheWVkQ2FsbHNUbz1mdW5jdGlvbih0LGUsaSl7XCJvYmplY3RcIj09dHlwZW9mIGUmJihpPWUsZT0hMSk7Zm9yKHZhciBzPUQuZ2V0VHdlZW5zT2YodCxlKSxuPXMubGVuZ3RoOy0tbj4tMTspc1tuXS5fa2lsbChpLHQpfTt2YXIgSD1kKFwicGx1Z2lucy5Ud2VlblBsdWdpblwiLGZ1bmN0aW9uKHQsZSl7dGhpcy5fb3ZlcndyaXRlUHJvcHM9KHR8fFwiXCIpLnNwbGl0KFwiLFwiKSx0aGlzLl9wcm9wTmFtZT10aGlzLl9vdmVyd3JpdGVQcm9wc1swXSx0aGlzLl9wcmlvcml0eT1lfHwwLHRoaXMuX3N1cGVyPUgucHJvdG90eXBlfSwhMCk7aWYobj1ILnByb3RvdHlwZSxILnZlcnNpb249XCIxLjEwLjFcIixILkFQST0yLG4uX2ZpcnN0UFQ9bnVsbCxuLl9hZGRUd2Vlbj1mdW5jdGlvbih0LGUsaSxzLG4scil7dmFyIGEsbztyZXR1cm4gbnVsbCE9cyYmKGE9XCJudW1iZXJcIj09dHlwZW9mIHN8fFwiPVwiIT09cy5jaGFyQXQoMSk/TnVtYmVyKHMpLWk6cGFyc2VJbnQocy5jaGFyQXQoMCkrXCIxXCIsMTApKk51bWJlcihzLnN1YnN0cigyKSkpPyh0aGlzLl9maXJzdFBUPW89e19uZXh0OnRoaXMuX2ZpcnN0UFQsdDp0LHA6ZSxzOmksYzphLGY6XCJmdW5jdGlvblwiPT10eXBlb2YgdFtlXSxuOm58fGUscjpyfSxvLl9uZXh0JiYoby5fbmV4dC5fcHJldj1vKSxvKTp2b2lkIDB9LG4uc2V0UmF0aW89ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGk9dGhpcy5fZmlyc3RQVCxzPTFlLTY7aTspZT1pLmMqdCtpLnMsaS5yP2U9TWF0aC5yb3VuZChlKTpzPmUmJmU+LXMmJihlPTApLGkuZj9pLnRbaS5wXShlKTppLnRbaS5wXT1lLGk9aS5fbmV4dH0sbi5fa2lsbD1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMuX292ZXJ3cml0ZVByb3BzLHM9dGhpcy5fZmlyc3RQVDtpZihudWxsIT10W3RoaXMuX3Byb3BOYW1lXSl0aGlzLl9vdmVyd3JpdGVQcm9wcz1bXTtlbHNlIGZvcihlPWkubGVuZ3RoOy0tZT4tMTspbnVsbCE9dFtpW2VdXSYmaS5zcGxpY2UoZSwxKTtmb3IoO3M7KW51bGwhPXRbcy5uXSYmKHMuX25leHQmJihzLl9uZXh0Ll9wcmV2PXMuX3ByZXYpLHMuX3ByZXY/KHMuX3ByZXYuX25leHQ9cy5fbmV4dCxzLl9wcmV2PW51bGwpOnRoaXMuX2ZpcnN0UFQ9PT1zJiYodGhpcy5fZmlyc3RQVD1zLl9uZXh0KSkscz1zLl9uZXh0O3JldHVybiExfSxuLl9yb3VuZFByb3BzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPXRoaXMuX2ZpcnN0UFQ7aTspKHRbdGhpcy5fcHJvcE5hbWVdfHxudWxsIT1pLm4mJnRbaS5uLnNwbGl0KHRoaXMuX3Byb3BOYW1lK1wiX1wiKS5qb2luKFwiXCIpXSkmJihpLnI9ZSksaT1pLl9uZXh0fSxELl9vblBsdWdpbkV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGkscyxuLHIsYSxvPWUuX2ZpcnN0UFQ7aWYoXCJfb25Jbml0QWxsUHJvcHNcIj09PXQpe2Zvcig7bzspe2ZvcihhPW8uX25leHQscz1uO3MmJnMucHI+by5wcjspcz1zLl9uZXh0OyhvLl9wcmV2PXM/cy5fcHJldjpyKT9vLl9wcmV2Ll9uZXh0PW86bj1vLChvLl9uZXh0PXMpP3MuX3ByZXY9bzpyPW8sbz1hfW89ZS5fZmlyc3RQVD1ufWZvcig7bzspby5wZyYmXCJmdW5jdGlvblwiPT10eXBlb2Ygby50W3RdJiZvLnRbdF0oKSYmKGk9ITApLG89by5fbmV4dDtyZXR1cm4gaX0sSC5hY3RpdmF0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGg7LS1lPi0xOyl0W2VdLkFQST09PUguQVBJJiYoTFsobmV3IHRbZV0pLl9wcm9wTmFtZV09dFtlXSk7cmV0dXJuITB9LGMucGx1Z2luPWZ1bmN0aW9uKHQpe2lmKCEodCYmdC5wcm9wTmFtZSYmdC5pbml0JiZ0LkFQSSkpdGhyb3dcImlsbGVnYWwgcGx1Z2luIGRlZmluaXRpb24uXCI7dmFyIGUsaT10LnByb3BOYW1lLHM9dC5wcmlvcml0eXx8MCxuPXQub3ZlcndyaXRlUHJvcHMscj17aW5pdDpcIl9vbkluaXRUd2VlblwiLHNldDpcInNldFJhdGlvXCIsa2lsbDpcIl9raWxsXCIscm91bmQ6XCJfcm91bmRQcm9wc1wiLGluaXRBbGw6XCJfb25Jbml0QWxsUHJvcHNcIn0sYT1kKFwicGx1Z2lucy5cIitpLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2kuc3Vic3RyKDEpK1wiUGx1Z2luXCIsZnVuY3Rpb24oKXtILmNhbGwodGhpcyxpLHMpLHRoaXMuX292ZXJ3cml0ZVByb3BzPW58fFtdfSx0Lmdsb2JhbD09PSEwKSxvPWEucHJvdG90eXBlPW5ldyBIKGkpO28uY29uc3RydWN0b3I9YSxhLkFQST10LkFQSTtmb3IoZSBpbiByKVwiZnVuY3Rpb25cIj09dHlwZW9mIHRbZV0mJihvW3JbZV1dPXRbZV0pO3JldHVybiBhLnZlcnNpb249dC52ZXJzaW9uLEguYWN0aXZhdGUoW2FdKSxhfSxpPXQuX2dzUXVldWUpe2ZvcihzPTA7aS5sZW5ndGg+cztzKyspaVtzXSgpO2ZvcihuIGluIGYpZltuXS5mdW5jfHx0LmNvbnNvbGUubG9nKFwiR1NBUCBlbmNvdW50ZXJlZCBtaXNzaW5nIGRlcGVuZGVuY3k6IGNvbS5ncmVlbnNvY2suXCIrbil9YT0hMX19KSh3aW5kb3cpOyIsIi8qIVxyXG4gKiBWRVJTSU9OOiBiZXRhIDEuOS4zXHJcbiAqIERBVEU6IDIwMTMtMDQtMDJcclxuICogVVBEQVRFUyBBTkQgRE9DUyBBVDogaHR0cDovL3d3dy5ncmVlbnNvY2suY29tXHJcbiAqXHJcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vd3d3LmdyZWVuc29jay5jb20vdGVybXNfb2ZfdXNlLmh0bWwgb3IgZm9yXHJcbiAqIENsdWIgR3JlZW5Tb2NrIG1lbWJlcnMsIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLlxyXG4gKiBcclxuICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tXHJcbiAqKi9cclxuKHdpbmRvdy5fZ3NRdWV1ZXx8KHdpbmRvdy5fZ3NRdWV1ZT1bXSkpLnB1c2goZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt3aW5kb3cuX2dzRGVmaW5lKFwiZWFzaW5nLkJhY2tcIixbXCJlYXNpbmcuRWFzZVwiXSxmdW5jdGlvbih0KXt2YXIgZSxpLHMscj13aW5kb3cuR3JlZW5Tb2NrR2xvYmFsc3x8d2luZG93LG49ci5jb20uZ3JlZW5zb2NrLGE9MipNYXRoLlBJLG89TWF0aC5QSS8yLGg9bi5fY2xhc3MsbD1mdW5jdGlvbihlLGkpe3ZhciBzPWgoXCJlYXNpbmcuXCIrZSxmdW5jdGlvbigpe30sITApLHI9cy5wcm90b3R5cGU9bmV3IHQ7cmV0dXJuIHIuY29uc3RydWN0b3I9cyxyLmdldFJhdGlvPWksc30sXz10LnJlZ2lzdGVyfHxmdW5jdGlvbigpe30sdT1mdW5jdGlvbih0LGUsaSxzKXt2YXIgcj1oKFwiZWFzaW5nLlwiK3Qse2Vhc2VPdXQ6bmV3IGUsZWFzZUluOm5ldyBpLGVhc2VJbk91dDpuZXcgc30sITApO3JldHVybiBfKHIsdCkscn0sYz1mdW5jdGlvbih0LGUsaSl7dGhpcy50PXQsdGhpcy52PWUsaSYmKHRoaXMubmV4dD1pLGkucHJldj10aGlzLHRoaXMuYz1pLnYtZSx0aGlzLmdhcD1pLnQtdCl9LGY9ZnVuY3Rpb24oZSxpKXt2YXIgcz1oKFwiZWFzaW5nLlwiK2UsZnVuY3Rpb24odCl7dGhpcy5fcDE9dHx8MD09PXQ/dDoxLjcwMTU4LHRoaXMuX3AyPTEuNTI1KnRoaXMuX3AxfSwhMCkscj1zLnByb3RvdHlwZT1uZXcgdDtyZXR1cm4gci5jb25zdHJ1Y3Rvcj1zLHIuZ2V0UmF0aW89aSxyLmNvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHModCl9LHN9LHA9dShcIkJhY2tcIixmKFwiQmFja091dFwiLGZ1bmN0aW9uKHQpe3JldHVybih0LT0xKSp0KigodGhpcy5fcDErMSkqdCt0aGlzLl9wMSkrMX0pLGYoXCJCYWNrSW5cIixmdW5jdGlvbih0KXtyZXR1cm4gdCp0KigodGhpcy5fcDErMSkqdC10aGlzLl9wMSl9KSxmKFwiQmFja0luT3V0XCIsZnVuY3Rpb24odCl7cmV0dXJuIDE+KHQqPTIpPy41KnQqdCooKHRoaXMuX3AyKzEpKnQtdGhpcy5fcDIpOi41KigodC09MikqdCooKHRoaXMuX3AyKzEpKnQrdGhpcy5fcDIpKzIpfSkpLG09aChcImVhc2luZy5TbG93TW9cIixmdW5jdGlvbih0LGUsaSl7ZT1lfHwwPT09ZT9lOi43LG51bGw9PXQ/dD0uNzp0PjEmJih0PTEpLHRoaXMuX3A9MSE9PXQ/ZTowLHRoaXMuX3AxPSgxLXQpLzIsdGhpcy5fcDI9dCx0aGlzLl9wMz10aGlzLl9wMSt0aGlzLl9wMix0aGlzLl9jYWxjRW5kPWk9PT0hMH0sITApLGQ9bS5wcm90b3R5cGU9bmV3IHQ7cmV0dXJuIGQuY29uc3RydWN0b3I9bSxkLmdldFJhdGlvPWZ1bmN0aW9uKHQpe3ZhciBlPXQrKC41LXQpKnRoaXMuX3A7cmV0dXJuIHRoaXMuX3AxPnQ/dGhpcy5fY2FsY0VuZD8xLSh0PTEtdC90aGlzLl9wMSkqdDplLSh0PTEtdC90aGlzLl9wMSkqdCp0KnQqZTp0PnRoaXMuX3AzP3RoaXMuX2NhbGNFbmQ/MS0odD0odC10aGlzLl9wMykvdGhpcy5fcDEpKnQ6ZSsodC1lKSoodD0odC10aGlzLl9wMykvdGhpcy5fcDEpKnQqdCp0OnRoaXMuX2NhbGNFbmQ/MTplfSxtLmVhc2U9bmV3IG0oLjcsLjcpLGQuY29uZmlnPW0uY29uZmlnPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IG0odCxlLGkpfSxlPWgoXCJlYXNpbmcuU3RlcHBlZEVhc2VcIixmdW5jdGlvbih0KXt0PXR8fDEsdGhpcy5fcDE9MS90LHRoaXMuX3AyPXQrMX0sITApLGQ9ZS5wcm90b3R5cGU9bmV3IHQsZC5jb25zdHJ1Y3Rvcj1lLGQuZ2V0UmF0aW89ZnVuY3Rpb24odCl7cmV0dXJuIDA+dD90PTA6dD49MSYmKHQ9Ljk5OTk5OTk5OSksKHRoaXMuX3AyKnQ+PjApKnRoaXMuX3AxfSxkLmNvbmZpZz1lLmNvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGUodCl9LGk9aChcImVhc2luZy5Sb3VnaEVhc2VcIixmdW5jdGlvbihlKXtlPWV8fHt9O2Zvcih2YXIgaSxzLHIsbixhLG8saD1lLnRhcGVyfHxcIm5vbmVcIixsPVtdLF89MCx1PTB8KGUucG9pbnRzfHwyMCksZj11LHA9ZS5yYW5kb21pemUhPT0hMSxtPWUuY2xhbXA9PT0hMCxkPWUudGVtcGxhdGUgaW5zdGFuY2VvZiB0P2UudGVtcGxhdGU6bnVsbCxnPVwibnVtYmVyXCI9PXR5cGVvZiBlLnN0cmVuZ3RoPy40KmUuc3RyZW5ndGg6LjQ7LS1mPi0xOylpPXA/TWF0aC5yYW5kb20oKToxL3UqZixzPWQ/ZC5nZXRSYXRpbyhpKTppLFwibm9uZVwiPT09aD9yPWc6XCJvdXRcIj09PWg/KG49MS1pLHI9bipuKmcpOlwiaW5cIj09PWg/cj1pKmkqZzouNT5pPyhuPTIqaSxyPS41Km4qbipnKToobj0yKigxLWkpLHI9LjUqbipuKmcpLHA/cys9TWF0aC5yYW5kb20oKSpyLS41KnI6ZiUyP3MrPS41KnI6cy09LjUqcixtJiYocz4xP3M9MTowPnMmJihzPTApKSxsW18rK109e3g6aSx5OnN9O2ZvcihsLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC54LWUueH0pLG89bmV3IGMoMSwxLG51bGwpLGY9dTstLWY+LTE7KWE9bFtmXSxvPW5ldyBjKGEueCxhLnksbyk7dGhpcy5fcHJldj1uZXcgYygwLDAsMCE9PW8udD9vOm8ubmV4dCl9LCEwKSxkPWkucHJvdG90eXBlPW5ldyB0LGQuY29uc3RydWN0b3I9aSxkLmdldFJhdGlvPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3ByZXY7aWYodD5lLnQpe2Zvcig7ZS5uZXh0JiZ0Pj1lLnQ7KWU9ZS5uZXh0O2U9ZS5wcmV2fWVsc2UgZm9yKDtlLnByZXYmJmUudD49dDspZT1lLnByZXY7cmV0dXJuIHRoaXMuX3ByZXY9ZSxlLnYrKHQtZS50KS9lLmdhcCplLmN9LGQuY29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaSh0KX0saS5lYXNlPW5ldyBpLHUoXCJCb3VuY2VcIixsKFwiQm91bmNlT3V0XCIsZnVuY3Rpb24odCl7cmV0dXJuIDEvMi43NT50PzcuNTYyNSp0KnQ6Mi8yLjc1PnQ/Ny41NjI1Kih0LT0xLjUvMi43NSkqdCsuNzU6Mi41LzIuNzU+dD83LjU2MjUqKHQtPTIuMjUvMi43NSkqdCsuOTM3NTo3LjU2MjUqKHQtPTIuNjI1LzIuNzUpKnQrLjk4NDM3NX0pLGwoXCJCb3VuY2VJblwiLGZ1bmN0aW9uKHQpe3JldHVybiAxLzIuNzU+KHQ9MS10KT8xLTcuNTYyNSp0KnQ6Mi8yLjc1PnQ/MS0oNy41NjI1Kih0LT0xLjUvMi43NSkqdCsuNzUpOjIuNS8yLjc1PnQ/MS0oNy41NjI1Kih0LT0yLjI1LzIuNzUpKnQrLjkzNzUpOjEtKDcuNTYyNSoodC09Mi42MjUvMi43NSkqdCsuOTg0Mzc1KX0pLGwoXCJCb3VuY2VJbk91dFwiLGZ1bmN0aW9uKHQpe3ZhciBlPS41PnQ7cmV0dXJuIHQ9ZT8xLTIqdDoyKnQtMSx0PTEvMi43NT50PzcuNTYyNSp0KnQ6Mi8yLjc1PnQ/Ny41NjI1Kih0LT0xLjUvMi43NSkqdCsuNzU6Mi41LzIuNzU+dD83LjU2MjUqKHQtPTIuMjUvMi43NSkqdCsuOTM3NTo3LjU2MjUqKHQtPTIuNjI1LzIuNzUpKnQrLjk4NDM3NSxlPy41KigxLXQpOi41KnQrLjV9KSksdShcIkNpcmNcIixsKFwiQ2lyY091dFwiLGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoMS0odC09MSkqdCl9KSxsKFwiQ2lyY0luXCIsZnVuY3Rpb24odCl7cmV0dXJuLShNYXRoLnNxcnQoMS10KnQpLTEpfSksbChcIkNpcmNJbk91dFwiLGZ1bmN0aW9uKHQpe3JldHVybiAxPih0Kj0yKT8tLjUqKE1hdGguc3FydCgxLXQqdCktMSk6LjUqKE1hdGguc3FydCgxLSh0LT0yKSp0KSsxKX0pKSxzPWZ1bmN0aW9uKGUsaSxzKXt2YXIgcj1oKFwiZWFzaW5nLlwiK2UsZnVuY3Rpb24odCxlKXt0aGlzLl9wMT10fHwxLHRoaXMuX3AyPWV8fHMsdGhpcy5fcDM9dGhpcy5fcDIvYSooTWF0aC5hc2luKDEvdGhpcy5fcDEpfHwwKX0sITApLG49ci5wcm90b3R5cGU9bmV3IHQ7cmV0dXJuIG4uY29uc3RydWN0b3I9cixuLmdldFJhdGlvPWksbi5jb25maWc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHIodCxlKX0scn0sdShcIkVsYXN0aWNcIixzKFwiRWxhc3RpY091dFwiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wMSpNYXRoLnBvdygyLC0xMCp0KSpNYXRoLnNpbigodC10aGlzLl9wMykqYS90aGlzLl9wMikrMX0sLjMpLHMoXCJFbGFzdGljSW5cIixmdW5jdGlvbih0KXtyZXR1cm4tKHRoaXMuX3AxKk1hdGgucG93KDIsMTAqKHQtPTEpKSpNYXRoLnNpbigodC10aGlzLl9wMykqYS90aGlzLl9wMikpfSwuMykscyhcIkVsYXN0aWNJbk91dFwiLGZ1bmN0aW9uKHQpe3JldHVybiAxPih0Kj0yKT8tLjUqdGhpcy5fcDEqTWF0aC5wb3coMiwxMCoodC09MSkpKk1hdGguc2luKCh0LXRoaXMuX3AzKSphL3RoaXMuX3AyKTouNSp0aGlzLl9wMSpNYXRoLnBvdygyLC0xMCoodC09MSkpKk1hdGguc2luKCh0LXRoaXMuX3AzKSphL3RoaXMuX3AyKSsxfSwuNDUpKSx1KFwiRXhwb1wiLGwoXCJFeHBvT3V0XCIsZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5wb3coMiwtMTAqdCl9KSxsKFwiRXhwb0luXCIsZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KDIsMTAqKHQtMSkpLS4wMDF9KSxsKFwiRXhwb0luT3V0XCIsZnVuY3Rpb24odCl7cmV0dXJuIDE+KHQqPTIpPy41Kk1hdGgucG93KDIsMTAqKHQtMSkpOi41KigyLU1hdGgucG93KDIsLTEwKih0LTEpKSl9KSksdShcIlNpbmVcIixsKFwiU2luZU91dFwiLGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNpbih0Km8pfSksbChcIlNpbmVJblwiLGZ1bmN0aW9uKHQpe3JldHVybi1NYXRoLmNvcyh0Km8pKzF9KSxsKFwiU2luZUluT3V0XCIsZnVuY3Rpb24odCl7cmV0dXJuLS41KihNYXRoLmNvcyhNYXRoLlBJKnQpLTEpfSkpLGgoXCJlYXNpbmcuRWFzZUxvb2t1cFwiLHtmaW5kOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm1hcFtlXX19LCEwKSxfKHIuU2xvd01vLFwiU2xvd01vXCIsXCJlYXNlLFwiKSxfKGksXCJSb3VnaEVhc2VcIixcImVhc2UsXCIpLF8oZSxcIlN0ZXBwZWRFYXNlXCIsXCJlYXNlLFwiKSxwfSwhMCl9KSx3aW5kb3cuX2dzRGVmaW5lJiZ3aW5kb3cuX2dzUXVldWUucG9wKCkoKTsiLCIvKiFcclxuICogVkVSU0lPTjogMS4xMi4xXHJcbiAqIERBVEU6IDIwMTQtMDYtMjZcclxuICogVVBEQVRFUyBBTkQgRE9DUyBBVDogaHR0cDovL3d3dy5ncmVlbnNvY2suY29tXHJcbiAqXHJcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vd3d3LmdyZWVuc29jay5jb20vdGVybXNfb2ZfdXNlLmh0bWwgb3IgZm9yXHJcbiAqIENsdWIgR3JlZW5Tb2NrIG1lbWJlcnMsIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLlxyXG4gKiBcclxuICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tXHJcbiAqL1xyXG4od2luZG93Ll9nc1F1ZXVlfHwod2luZG93Ll9nc1F1ZXVlPVtdKSkucHVzaChmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3dpbmRvdy5fZ3NEZWZpbmUoXCJwbHVnaW5zLkNTU1BsdWdpblwiLFtcInBsdWdpbnMuVHdlZW5QbHVnaW5cIixcIlR3ZWVuTGl0ZVwiXSxmdW5jdGlvbih0LGUpe3ZhciBpLHIscyxuLGE9ZnVuY3Rpb24oKXt0LmNhbGwodGhpcyxcImNzc1wiKSx0aGlzLl9vdmVyd3JpdGVQcm9wcy5sZW5ndGg9MCx0aGlzLnNldFJhdGlvPWEucHJvdG90eXBlLnNldFJhdGlvfSxvPXt9LGw9YS5wcm90b3R5cGU9bmV3IHQoXCJjc3NcIik7bC5jb25zdHJ1Y3Rvcj1hLGEudmVyc2lvbj1cIjEuMTIuMVwiLGEuQVBJPTIsYS5kZWZhdWx0VHJhbnNmb3JtUGVyc3BlY3RpdmU9MCxhLmRlZmF1bHRTa2V3VHlwZT1cImNvbXBlbnNhdGVkXCIsbD1cInB4XCIsYS5zdWZmaXhNYXA9e3RvcDpsLHJpZ2h0OmwsYm90dG9tOmwsbGVmdDpsLHdpZHRoOmwsaGVpZ2h0OmwsZm9udFNpemU6bCxwYWRkaW5nOmwsbWFyZ2luOmwscGVyc3BlY3RpdmU6bCxsaW5lSGVpZ2h0OlwiXCJ9O3ZhciBoLHUsZixfLHAsYyxkPS8oPzpcXGR8XFwtXFxkfFxcLlxcZHxcXC1cXC5cXGQpKy9nLG09Lyg/OlxcZHxcXC1cXGR8XFwuXFxkfFxcLVxcLlxcZHxcXCs9XFxkfFxcLT1cXGR8XFwrPS5cXGR8XFwtPVxcLlxcZCkrL2csZz0vKD86XFwrPXxcXC09fFxcLXxcXGIpW1xcZFxcLVxcLl0rW2EtekEtWjAtOV0qKD86JXxcXGIpL2dpLHY9L1teXFxkXFwtXFwuXS9nLHk9Lyg/OlxcZHxcXC18XFwrfD18I3xcXC4pKi9nLFQ9L29wYWNpdHkgKj0gKihbXildKikvaSx3PS9vcGFjaXR5OihbXjtdKikvaSx4PS9hbHBoYVxcKG9wYWNpdHkgKj0uKz9cXCkvaSxiPS9eKHJnYnxoc2wpLyxQPS8oW0EtWl0pL2csUz0vLShbYS16XSkvZ2ksQz0vKF4oPzp1cmxcXChcXFwifHVybFxcKCkpfCg/OihcXFwiXFwpKSR8XFwpJCkvZ2ksUj1mdW5jdGlvbih0LGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9LGs9Lyg/OkxlZnR8UmlnaHR8V2lkdGgpL2ksQT0vKE0xMXxNMTJ8TTIxfE0yMik9W1xcZFxcLVxcLmVdKy9naSxPPS9wcm9naWRcXDpEWEltYWdlVHJhbnNmb3JtXFwuTWljcm9zb2Z0XFwuTWF0cml4XFwoLis/XFwpL2ksRD0vLCg/PVteXFwpXSooPzpcXCh8JCkpL2dpLE09TWF0aC5QSS8xODAsTD0xODAvTWF0aC5QSSxOPXt9LFg9ZG9jdW1lbnQsej1YLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksST1YLmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiksRT1hLl9pbnRlcm5hbHM9e19zcGVjaWFsUHJvcHM6b30sRj1uYXZpZ2F0b3IudXNlckFnZW50LFk9ZnVuY3Rpb24oKXt2YXIgdCxlPUYuaW5kZXhPZihcIkFuZHJvaWRcIiksaT1YLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGY9LTEhPT1GLmluZGV4T2YoXCJTYWZhcmlcIikmJi0xPT09Ri5pbmRleE9mKFwiQ2hyb21lXCIpJiYoLTE9PT1lfHxOdW1iZXIoRi5zdWJzdHIoZSs4LDEpKT4zKSxwPWYmJjY+TnVtYmVyKEYuc3Vic3RyKEYuaW5kZXhPZihcIlZlcnNpb24vXCIpKzgsMSkpLF89LTEhPT1GLmluZGV4T2YoXCJGaXJlZm94XCIpLC9NU0lFIChbMC05XXsxLH1bXFwuMC05XXswLH0pLy5leGVjKEYpJiYoYz1wYXJzZUZsb2F0KFJlZ0V4cC4kMSkpLGkuaW5uZXJIVE1MPVwiPGEgc3R5bGU9J3RvcDoxcHg7b3BhY2l0eTouNTU7Jz5hPC9hPlwiLHQ9aS5nZXRFbGVtZW50c0J5VGFnTmFtZShcImFcIilbMF0sdD8vXjAuNTUvLnRlc3QodC5zdHlsZS5vcGFjaXR5KTohMX0oKSxCPWZ1bmN0aW9uKHQpe3JldHVybiBULnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIHQ/dDoodC5jdXJyZW50U3R5bGU/dC5jdXJyZW50U3R5bGUuZmlsdGVyOnQuc3R5bGUuZmlsdGVyKXx8XCJcIik/cGFyc2VGbG9hdChSZWdFeHAuJDEpLzEwMDoxfSxVPWZ1bmN0aW9uKHQpe3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLmxvZyh0KX0sVz1cIlwiLGo9XCJcIixWPWZ1bmN0aW9uKHQsZSl7ZT1lfHx6O3ZhciBpLHIscz1lLnN0eWxlO2lmKHZvaWQgMCE9PXNbdF0pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKSxpPVtcIk9cIixcIk1velwiLFwibXNcIixcIk1zXCIsXCJXZWJraXRcIl0scj01Oy0tcj4tMSYmdm9pZCAwPT09c1tpW3JdK3RdOyk7cmV0dXJuIHI+PTA/KGo9Mz09PXI/XCJtc1wiOmlbcl0sVz1cIi1cIitqLnRvTG93ZXJDYXNlKCkrXCItXCIsait0KTpudWxsfSxIPVguZGVmYXVsdFZpZXc/WC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlOmZ1bmN0aW9uKCl7fSxxPWEuZ2V0U3R5bGU9ZnVuY3Rpb24odCxlLGkscixzKXt2YXIgbjtyZXR1cm4gWXx8XCJvcGFjaXR5XCIhPT1lPyghciYmdC5zdHlsZVtlXT9uPXQuc3R5bGVbZV06KGk9aXx8SCh0KSk/bj1pW2VdfHxpLmdldFByb3BlcnR5VmFsdWUoZSl8fGkuZ2V0UHJvcGVydHlWYWx1ZShlLnJlcGxhY2UoUCxcIi0kMVwiKS50b0xvd2VyQ2FzZSgpKTp0LmN1cnJlbnRTdHlsZSYmKG49dC5jdXJyZW50U3R5bGVbZV0pLG51bGw9PXN8fG4mJlwibm9uZVwiIT09biYmXCJhdXRvXCIhPT1uJiZcImF1dG8gYXV0b1wiIT09bj9uOnMpOkIodCl9LFE9RS5jb252ZXJ0VG9QaXhlbHM9ZnVuY3Rpb24odCxpLHIscyxuKXtpZihcInB4XCI9PT1zfHwhcylyZXR1cm4gcjtpZihcImF1dG9cIj09PXN8fCFyKXJldHVybiAwO3ZhciBvLGwsaCx1PWsudGVzdChpKSxmPXQsXz16LnN0eWxlLHA9MD5yO2lmKHAmJihyPS1yKSxcIiVcIj09PXMmJi0xIT09aS5pbmRleE9mKFwiYm9yZGVyXCIpKW89ci8xMDAqKHU/dC5jbGllbnRXaWR0aDp0LmNsaWVudEhlaWdodCk7ZWxzZXtpZihfLmNzc1RleHQ9XCJib3JkZXI6MCBzb2xpZCByZWQ7cG9zaXRpb246XCIrcSh0LFwicG9zaXRpb25cIikrXCI7bGluZS1oZWlnaHQ6MDtcIixcIiVcIiE9PXMmJmYuYXBwZW5kQ2hpbGQpX1t1P1wiYm9yZGVyTGVmdFdpZHRoXCI6XCJib3JkZXJUb3BXaWR0aFwiXT1yK3M7ZWxzZXtpZihmPXQucGFyZW50Tm9kZXx8WC5ib2R5LGw9Zi5fZ3NDYWNoZSxoPWUudGlja2VyLmZyYW1lLGwmJnUmJmwudGltZT09PWgpcmV0dXJuIGwud2lkdGgqci8xMDA7X1t1P1wid2lkdGhcIjpcImhlaWdodFwiXT1yK3N9Zi5hcHBlbmRDaGlsZCh6KSxvPXBhcnNlRmxvYXQoelt1P1wib2Zmc2V0V2lkdGhcIjpcIm9mZnNldEhlaWdodFwiXSksZi5yZW1vdmVDaGlsZCh6KSx1JiZcIiVcIj09PXMmJmEuY2FjaGVXaWR0aHMhPT0hMSYmKGw9Zi5fZ3NDYWNoZT1mLl9nc0NhY2hlfHx7fSxsLnRpbWU9aCxsLndpZHRoPTEwMCooby9yKSksMCE9PW98fG58fChvPVEodCxpLHIscywhMCkpfXJldHVybiBwPy1vOm99LFo9RS5jYWxjdWxhdGVPZmZzZXQ9ZnVuY3Rpb24odCxlLGkpe2lmKFwiYWJzb2x1dGVcIiE9PXEodCxcInBvc2l0aW9uXCIsaSkpcmV0dXJuIDA7dmFyIHI9XCJsZWZ0XCI9PT1lP1wiTGVmdFwiOlwiVG9wXCIscz1xKHQsXCJtYXJnaW5cIityLGkpO3JldHVybiB0W1wib2Zmc2V0XCIrcl0tKFEodCxlLHBhcnNlRmxvYXQocykscy5yZXBsYWNlKHksXCJcIikpfHwwKX0sJD1mdW5jdGlvbih0LGUpe3ZhciBpLHIscz17fTtpZihlPWV8fEgodCxudWxsKSlpZihpPWUubGVuZ3RoKWZvcig7LS1pPi0xOylzW2VbaV0ucmVwbGFjZShTLFIpXT1lLmdldFByb3BlcnR5VmFsdWUoZVtpXSk7ZWxzZSBmb3IoaSBpbiBlKXNbaV09ZVtpXTtlbHNlIGlmKGU9dC5jdXJyZW50U3R5bGV8fHQuc3R5bGUpZm9yKGkgaW4gZSlcInN0cmluZ1wiPT10eXBlb2YgaSYmdm9pZCAwPT09c1tpXSYmKHNbaS5yZXBsYWNlKFMsUildPWVbaV0pO3JldHVybiBZfHwocy5vcGFjaXR5PUIodCkpLHI9UGUodCxlLCExKSxzLnJvdGF0aW9uPXIucm90YXRpb24scy5za2V3WD1yLnNrZXdYLHMuc2NhbGVYPXIuc2NhbGVYLHMuc2NhbGVZPXIuc2NhbGVZLHMueD1yLngscy55PXIueSx4ZSYmKHMuej1yLnoscy5yb3RhdGlvblg9ci5yb3RhdGlvblgscy5yb3RhdGlvblk9ci5yb3RhdGlvblkscy5zY2FsZVo9ci5zY2FsZVopLHMuZmlsdGVycyYmZGVsZXRlIHMuZmlsdGVycyxzfSxHPWZ1bmN0aW9uKHQsZSxpLHIscyl7dmFyIG4sYSxvLGw9e30saD10LnN0eWxlO2ZvcihhIGluIGkpXCJjc3NUZXh0XCIhPT1hJiZcImxlbmd0aFwiIT09YSYmaXNOYU4oYSkmJihlW2FdIT09KG49aVthXSl8fHMmJnNbYV0pJiYtMT09PWEuaW5kZXhPZihcIk9yaWdpblwiKSYmKFwibnVtYmVyXCI9PXR5cGVvZiBufHxcInN0cmluZ1wiPT10eXBlb2YgbikmJihsW2FdPVwiYXV0b1wiIT09bnx8XCJsZWZ0XCIhPT1hJiZcInRvcFwiIT09YT9cIlwiIT09biYmXCJhdXRvXCIhPT1uJiZcIm5vbmVcIiE9PW58fFwic3RyaW5nXCIhPXR5cGVvZiBlW2FdfHxcIlwiPT09ZVthXS5yZXBsYWNlKHYsXCJcIik/bjowOloodCxhKSx2b2lkIDAhPT1oW2FdJiYobz1uZXcgZmUoaCxhLGhbYV0sbykpKTtpZihyKWZvcihhIGluIHIpXCJjbGFzc05hbWVcIiE9PWEmJihsW2FdPXJbYV0pO3JldHVybntkaWZzOmwsZmlyc3RNUFQ6b319LEs9e3dpZHRoOltcIkxlZnRcIixcIlJpZ2h0XCJdLGhlaWdodDpbXCJUb3BcIixcIkJvdHRvbVwiXX0sSj1bXCJtYXJnaW5MZWZ0XCIsXCJtYXJnaW5SaWdodFwiLFwibWFyZ2luVG9wXCIsXCJtYXJnaW5Cb3R0b21cIl0sdGU9ZnVuY3Rpb24odCxlLGkpe3ZhciByPXBhcnNlRmxvYXQoXCJ3aWR0aFwiPT09ZT90Lm9mZnNldFdpZHRoOnQub2Zmc2V0SGVpZ2h0KSxzPUtbZV0sbj1zLmxlbmd0aDtmb3IoaT1pfHxIKHQsbnVsbCk7LS1uPi0xOylyLT1wYXJzZUZsb2F0KHEodCxcInBhZGRpbmdcIitzW25dLGksITApKXx8MCxyLT1wYXJzZUZsb2F0KHEodCxcImJvcmRlclwiK3Nbbl0rXCJXaWR0aFwiLGksITApKXx8MDtyZXR1cm4gcn0sZWU9ZnVuY3Rpb24odCxlKXsobnVsbD09dHx8XCJcIj09PXR8fFwiYXV0b1wiPT09dHx8XCJhdXRvIGF1dG9cIj09PXQpJiYodD1cIjAgMFwiKTt2YXIgaT10LnNwbGl0KFwiIFwiKSxyPS0xIT09dC5pbmRleE9mKFwibGVmdFwiKT9cIjAlXCI6LTEhPT10LmluZGV4T2YoXCJyaWdodFwiKT9cIjEwMCVcIjppWzBdLHM9LTEhPT10LmluZGV4T2YoXCJ0b3BcIik/XCIwJVwiOi0xIT09dC5pbmRleE9mKFwiYm90dG9tXCIpP1wiMTAwJVwiOmlbMV07cmV0dXJuIG51bGw9PXM/cz1cIjBcIjpcImNlbnRlclwiPT09cyYmKHM9XCI1MCVcIiksKFwiY2VudGVyXCI9PT1yfHxpc05hTihwYXJzZUZsb2F0KHIpKSYmLTE9PT0ocitcIlwiKS5pbmRleE9mKFwiPVwiKSkmJihyPVwiNTAlXCIpLGUmJihlLm94cD0tMSE9PXIuaW5kZXhPZihcIiVcIiksZS5veXA9LTEhPT1zLmluZGV4T2YoXCIlXCIpLGUub3hyPVwiPVwiPT09ci5jaGFyQXQoMSksZS5veXI9XCI9XCI9PT1zLmNoYXJBdCgxKSxlLm94PXBhcnNlRmxvYXQoci5yZXBsYWNlKHYsXCJcIikpLGUub3k9cGFyc2VGbG9hdChzLnJlcGxhY2UodixcIlwiKSkpLHIrXCIgXCIrcysoaS5sZW5ndGg+Mj9cIiBcIitpWzJdOlwiXCIpfSxpZT1mdW5jdGlvbih0LGUpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0JiZcIj1cIj09PXQuY2hhckF0KDEpP3BhcnNlSW50KHQuY2hhckF0KDApK1wiMVwiLDEwKSpwYXJzZUZsb2F0KHQuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KHQpLXBhcnNlRmxvYXQoZSl9LHJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/ZTpcInN0cmluZ1wiPT10eXBlb2YgdCYmXCI9XCI9PT10LmNoYXJBdCgxKT9wYXJzZUludCh0LmNoYXJBdCgwKStcIjFcIiwxMCkqTnVtYmVyKHQuc3Vic3RyKDIpKStlOnBhcnNlRmxvYXQodCl9LHNlPWZ1bmN0aW9uKHQsZSxpLHIpe3ZhciBzLG4sYSxvLGw9MWUtNjtyZXR1cm4gbnVsbD09dD9vPWU6XCJudW1iZXJcIj09dHlwZW9mIHQ/bz10OihzPTM2MCxuPXQuc3BsaXQoXCJfXCIpLGE9TnVtYmVyKG5bMF0ucmVwbGFjZSh2LFwiXCIpKSooLTE9PT10LmluZGV4T2YoXCJyYWRcIik/MTpMKS0oXCI9XCI9PT10LmNoYXJBdCgxKT8wOmUpLG4ubGVuZ3RoJiYociYmKHJbaV09ZSthKSwtMSE9PXQuaW5kZXhPZihcInNob3J0XCIpJiYoYSU9cyxhIT09YSUocy8yKSYmKGE9MD5hP2ErczphLXMpKSwtMSE9PXQuaW5kZXhPZihcIl9jd1wiKSYmMD5hP2E9KGErOTk5OTk5OTk5OSpzKSVzLSgwfGEvcykqczotMSE9PXQuaW5kZXhPZihcImNjd1wiKSYmYT4wJiYoYT0oYS05OTk5OTk5OTk5KnMpJXMtKDB8YS9zKSpzKSksbz1lK2EpLGw+byYmbz4tbCYmKG89MCksb30sbmU9e2FxdWE6WzAsMjU1LDI1NV0sbGltZTpbMCwyNTUsMF0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sYmxhY2s6WzAsMCwwXSxtYXJvb246WzEyOCwwLDBdLHRlYWw6WzAsMTI4LDEyOF0sYmx1ZTpbMCwwLDI1NV0sbmF2eTpbMCwwLDEyOF0sd2hpdGU6WzI1NSwyNTUsMjU1XSxmdWNoc2lhOlsyNTUsMCwyNTVdLG9saXZlOlsxMjgsMTI4LDBdLHllbGxvdzpbMjU1LDI1NSwwXSxvcmFuZ2U6WzI1NSwxNjUsMF0sZ3JheTpbMTI4LDEyOCwxMjhdLHB1cnBsZTpbMTI4LDAsMTI4XSxncmVlbjpbMCwxMjgsMF0scmVkOlsyNTUsMCwwXSxwaW5rOlsyNTUsMTkyLDIwM10sY3lhbjpbMCwyNTUsMjU1XSx0cmFuc3BhcmVudDpbMjU1LDI1NSwyNTUsMF19LGFlPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD0wPnQ/dCsxOnQ+MT90LTE6dCwwfDI1NSooMT42KnQ/ZSs2KihpLWUpKnQ6LjU+dD9pOjI+Myp0P2UrNiooaS1lKSooMi8zLXQpOmUpKy41fSxvZT1mdW5jdGlvbih0KXt2YXIgZSxpLHIscyxuLGE7cmV0dXJuIHQmJlwiXCIhPT10P1wibnVtYmVyXCI9PXR5cGVvZiB0P1t0Pj4xNiwyNTUmdD4+OCwyNTUmdF06KFwiLFwiPT09dC5jaGFyQXQodC5sZW5ndGgtMSkmJih0PXQuc3Vic3RyKDAsdC5sZW5ndGgtMSkpLG5lW3RdP25lW3RdOlwiI1wiPT09dC5jaGFyQXQoMCk/KDQ9PT10Lmxlbmd0aCYmKGU9dC5jaGFyQXQoMSksaT10LmNoYXJBdCgyKSxyPXQuY2hhckF0KDMpLHQ9XCIjXCIrZStlK2kraStyK3IpLHQ9cGFyc2VJbnQodC5zdWJzdHIoMSksMTYpLFt0Pj4xNiwyNTUmdD4+OCwyNTUmdF0pOlwiaHNsXCI9PT10LnN1YnN0cigwLDMpPyh0PXQubWF0Y2goZCkscz1OdW1iZXIodFswXSklMzYwLzM2MCxuPU51bWJlcih0WzFdKS8xMDAsYT1OdW1iZXIodFsyXSkvMTAwLGk9LjU+PWE/YSoobisxKTphK24tYSpuLGU9MiphLWksdC5sZW5ndGg+MyYmKHRbM109TnVtYmVyKHRbM10pKSx0WzBdPWFlKHMrMS8zLGUsaSksdFsxXT1hZShzLGUsaSksdFsyXT1hZShzLTEvMyxlLGkpLHQpOih0PXQubWF0Y2goZCl8fG5lLnRyYW5zcGFyZW50LHRbMF09TnVtYmVyKHRbMF0pLHRbMV09TnVtYmVyKHRbMV0pLHRbMl09TnVtYmVyKHRbMl0pLHQubGVuZ3RoPjMmJih0WzNdPU51bWJlcih0WzNdKSksdCkpOm5lLmJsYWNrfSxsZT1cIig/OlxcXFxiKD86KD86cmdifHJnYmF8aHNsfGhzbGEpXFxcXCguKz9cXFxcKSl8XFxcXEIjLis/XFxcXGJcIjtmb3IobCBpbiBuZSlsZSs9XCJ8XCIrbCtcIlxcXFxiXCI7bGU9UmVnRXhwKGxlK1wiKVwiLFwiZ2lcIik7dmFyIGhlPWZ1bmN0aW9uKHQsZSxpLHIpe2lmKG51bGw9PXQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0fTt2YXIgcyxuPWU/KHQubWF0Y2gobGUpfHxbXCJcIl0pWzBdOlwiXCIsYT10LnNwbGl0KG4pLmpvaW4oXCJcIikubWF0Y2goZyl8fFtdLG89dC5zdWJzdHIoMCx0LmluZGV4T2YoYVswXSkpLGw9XCIpXCI9PT10LmNoYXJBdCh0Lmxlbmd0aC0xKT9cIilcIjpcIlwiLGg9LTEhPT10LmluZGV4T2YoXCIgXCIpP1wiIFwiOlwiLFwiLHU9YS5sZW5ndGgsZj11PjA/YVswXS5yZXBsYWNlKGQsXCJcIik6XCJcIjtyZXR1cm4gdT9zPWU/ZnVuY3Rpb24odCl7dmFyIGUsXyxwLGM7aWYoXCJudW1iZXJcIj09dHlwZW9mIHQpdCs9ZjtlbHNlIGlmKHImJkQudGVzdCh0KSl7Zm9yKGM9dC5yZXBsYWNlKEQsXCJ8XCIpLnNwbGl0KFwifFwiKSxwPTA7Yy5sZW5ndGg+cDtwKyspY1twXT1zKGNbcF0pO3JldHVybiBjLmpvaW4oXCIsXCIpfWlmKGU9KHQubWF0Y2gobGUpfHxbbl0pWzBdLF89dC5zcGxpdChlKS5qb2luKFwiXCIpLm1hdGNoKGcpfHxbXSxwPV8ubGVuZ3RoLHU+cC0tKWZvcig7dT4rK3A7KV9bcF09aT9fWzB8KHAtMSkvMl06YVtwXTtyZXR1cm4gbytfLmpvaW4oaCkraCtlK2wrKC0xIT09dC5pbmRleE9mKFwiaW5zZXRcIik/XCIgaW5zZXRcIjpcIlwiKX06ZnVuY3Rpb24odCl7dmFyIGUsbixfO2lmKFwibnVtYmVyXCI9PXR5cGVvZiB0KXQrPWY7ZWxzZSBpZihyJiZELnRlc3QodCkpe2ZvcihuPXQucmVwbGFjZShELFwifFwiKS5zcGxpdChcInxcIiksXz0wO24ubGVuZ3RoPl87XysrKW5bX109cyhuW19dKTtyZXR1cm4gbi5qb2luKFwiLFwiKX1pZihlPXQubWF0Y2goZyl8fFtdLF89ZS5sZW5ndGgsdT5fLS0pZm9yKDt1PisrXzspZVtfXT1pP2VbMHwoXy0xKS8yXTphW19dO3JldHVybiBvK2Uuam9pbihoKStsfTpmdW5jdGlvbih0KXtyZXR1cm4gdH19LHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0PXQuc3BsaXQoXCIsXCIpLGZ1bmN0aW9uKGUsaSxyLHMsbixhLG8pe3ZhciBsLGg9KGkrXCJcIikuc3BsaXQoXCIgXCIpO2ZvcihvPXt9LGw9MDs0Pmw7bCsrKW9bdFtsXV09aFtsXT1oW2xdfHxoWyhsLTEpLzI+PjBdO3JldHVybiBzLnBhcnNlKGUsbyxuLGEpfX0sZmU9KEUuX3NldFBsdWdpblJhdGlvPWZ1bmN0aW9uKHQpe3RoaXMucGx1Z2luLnNldFJhdGlvKHQpO2Zvcih2YXIgZSxpLHIscyxuPXRoaXMuZGF0YSxhPW4ucHJveHksbz1uLmZpcnN0TVBULGw9MWUtNjtvOyllPWFbby52XSxvLnI/ZT1NYXRoLnJvdW5kKGUpOmw+ZSYmZT4tbCYmKGU9MCksby50W28ucF09ZSxvPW8uX25leHQ7aWYobi5hdXRvUm90YXRlJiYobi5hdXRvUm90YXRlLnJvdGF0aW9uPWEucm90YXRpb24pLDE9PT10KWZvcihvPW4uZmlyc3RNUFQ7bzspe2lmKGk9by50LGkudHlwZSl7aWYoMT09PWkudHlwZSl7Zm9yKHM9aS54czAraS5zK2kueHMxLHI9MTtpLmw+cjtyKyspcys9aVtcInhuXCIrcl0raVtcInhzXCIrKHIrMSldO2kuZT1zfX1lbHNlIGkuZT1pLnMraS54czA7bz1vLl9uZXh0fX0sZnVuY3Rpb24odCxlLGkscixzKXt0aGlzLnQ9dCx0aGlzLnA9ZSx0aGlzLnY9aSx0aGlzLnI9cyxyJiYoci5fcHJldj10aGlzLHRoaXMuX25leHQ9cil9KSxfZT0oRS5fcGFyc2VUb1Byb3h5PWZ1bmN0aW9uKHQsZSxpLHIscyxuKXt2YXIgYSxvLGwsaCx1LGY9cixfPXt9LHA9e30sYz1pLl90cmFuc2Zvcm0sZD1OO2ZvcihpLl90cmFuc2Zvcm09bnVsbCxOPWUscj11PWkucGFyc2UodCxlLHIscyksTj1kLG4mJihpLl90cmFuc2Zvcm09YyxmJiYoZi5fcHJldj1udWxsLGYuX3ByZXYmJihmLl9wcmV2Ll9uZXh0PW51bGwpKSk7ciYmciE9PWY7KXtpZigxPj1yLnR5cGUmJihvPXIucCxwW29dPXIucytyLmMsX1tvXT1yLnMsbnx8KGg9bmV3IGZlKHIsXCJzXCIsbyxoLHIuciksci5jPTApLDE9PT1yLnR5cGUpKWZvcihhPXIubDstLWE+MDspbD1cInhuXCIrYSxvPXIucCtcIl9cIitsLHBbb109ci5kYXRhW2xdLF9bb109cltsXSxufHwoaD1uZXcgZmUocixsLG8saCxyLnJ4cFtsXSkpO3I9ci5fbmV4dH1yZXR1cm57cHJveHk6XyxlbmQ6cCxmaXJzdE1QVDpoLHB0OnV9fSxFLkNTU1Byb3BUd2Vlbj1mdW5jdGlvbih0LGUscixzLGEsbyxsLGgsdSxmLF8pe3RoaXMudD10LHRoaXMucD1lLHRoaXMucz1yLHRoaXMuYz1zLHRoaXMubj1sfHxlLHQgaW5zdGFuY2VvZiBfZXx8bi5wdXNoKHRoaXMubiksdGhpcy5yPWgsdGhpcy50eXBlPW98fDAsdSYmKHRoaXMucHI9dSxpPSEwKSx0aGlzLmI9dm9pZCAwPT09Zj9yOmYsdGhpcy5lPXZvaWQgMD09PV8/citzOl8sYSYmKHRoaXMuX25leHQ9YSxhLl9wcmV2PXRoaXMpfSkscGU9YS5wYXJzZUNvbXBsZXg9ZnVuY3Rpb24odCxlLGkscixzLG4sYSxvLGwsdSl7aT1pfHxufHxcIlwiLGE9bmV3IF9lKHQsZSwwLDAsYSx1PzI6MSxudWxsLCExLG8saSxyKSxyKz1cIlwiO3ZhciBmLF8scCxjLGcsdix5LFQsdyx4LFAsUyxDPWkuc3BsaXQoXCIsIFwiKS5qb2luKFwiLFwiKS5zcGxpdChcIiBcIiksUj1yLnNwbGl0KFwiLCBcIikuam9pbihcIixcIikuc3BsaXQoXCIgXCIpLGs9Qy5sZW5ndGgsQT1oIT09ITE7Zm9yKCgtMSE9PXIuaW5kZXhPZihcIixcIil8fC0xIT09aS5pbmRleE9mKFwiLFwiKSkmJihDPUMuam9pbihcIiBcIikucmVwbGFjZShELFwiLCBcIikuc3BsaXQoXCIgXCIpLFI9Ui5qb2luKFwiIFwiKS5yZXBsYWNlKEQsXCIsIFwiKS5zcGxpdChcIiBcIiksaz1DLmxlbmd0aCksayE9PVIubGVuZ3RoJiYoQz0obnx8XCJcIikuc3BsaXQoXCIgXCIpLGs9Qy5sZW5ndGgpLGEucGx1Z2luPWwsYS5zZXRSYXRpbz11LGY9MDtrPmY7ZisrKWlmKGM9Q1tmXSxnPVJbZl0sVD1wYXJzZUZsb2F0KGMpLFR8fDA9PT1UKWEuYXBwZW5kWHRyYShcIlwiLFQsaWUoZyxUKSxnLnJlcGxhY2UobSxcIlwiKSxBJiYtMSE9PWcuaW5kZXhPZihcInB4XCIpLCEwKTtlbHNlIGlmKHMmJihcIiNcIj09PWMuY2hhckF0KDApfHxuZVtjXXx8Yi50ZXN0KGMpKSlTPVwiLFwiPT09Zy5jaGFyQXQoZy5sZW5ndGgtMSk/XCIpLFwiOlwiKVwiLGM9b2UoYyksZz1vZShnKSx3PWMubGVuZ3RoK2cubGVuZ3RoPjYsdyYmIVkmJjA9PT1nWzNdPyhhW1wieHNcIithLmxdKz1hLmw/XCIgdHJhbnNwYXJlbnRcIjpcInRyYW5zcGFyZW50XCIsYS5lPWEuZS5zcGxpdChSW2ZdKS5qb2luKFwidHJhbnNwYXJlbnRcIikpOihZfHwodz0hMSksYS5hcHBlbmRYdHJhKHc/XCJyZ2JhKFwiOlwicmdiKFwiLGNbMF0sZ1swXS1jWzBdLFwiLFwiLCEwLCEwKS5hcHBlbmRYdHJhKFwiXCIsY1sxXSxnWzFdLWNbMV0sXCIsXCIsITApLmFwcGVuZFh0cmEoXCJcIixjWzJdLGdbMl0tY1syXSx3P1wiLFwiOlMsITApLHcmJihjPTQ+Yy5sZW5ndGg/MTpjWzNdLGEuYXBwZW5kWHRyYShcIlwiLGMsKDQ+Zy5sZW5ndGg/MTpnWzNdKS1jLFMsITEpKSk7ZWxzZSBpZih2PWMubWF0Y2goZCkpe2lmKHk9Zy5tYXRjaChtKSwheXx8eS5sZW5ndGghPT12Lmxlbmd0aClyZXR1cm4gYTtmb3IocD0wLF89MDt2Lmxlbmd0aD5fO18rKylQPXZbX10seD1jLmluZGV4T2YoUCxwKSxhLmFwcGVuZFh0cmEoYy5zdWJzdHIocCx4LXApLE51bWJlcihQKSxpZSh5W19dLFApLFwiXCIsQSYmXCJweFwiPT09Yy5zdWJzdHIoeCtQLmxlbmd0aCwyKSwwPT09XykscD14K1AubGVuZ3RoO2FbXCJ4c1wiK2EubF0rPWMuc3Vic3RyKHApfWVsc2UgYVtcInhzXCIrYS5sXSs9YS5sP1wiIFwiK2M6YztpZigtMSE9PXIuaW5kZXhPZihcIj1cIikmJmEuZGF0YSl7Zm9yKFM9YS54czArYS5kYXRhLnMsZj0xO2EubD5mO2YrKylTKz1hW1wieHNcIitmXSthLmRhdGFbXCJ4blwiK2ZdO2EuZT1TK2FbXCJ4c1wiK2ZdfXJldHVybiBhLmx8fChhLnR5cGU9LTEsYS54czA9YS5lKSxhLnhmaXJzdHx8YX0sY2U9OTtmb3IobD1fZS5wcm90b3R5cGUsbC5sPWwucHI9MDstLWNlPjA7KWxbXCJ4blwiK2NlXT0wLGxbXCJ4c1wiK2NlXT1cIlwiO2wueHMwPVwiXCIsbC5fbmV4dD1sLl9wcmV2PWwueGZpcnN0PWwuZGF0YT1sLnBsdWdpbj1sLnNldFJhdGlvPWwucnhwPW51bGwsbC5hcHBlbmRYdHJhPWZ1bmN0aW9uKHQsZSxpLHIscyxuKXt2YXIgYT10aGlzLG89YS5sO3JldHVybiBhW1wieHNcIitvXSs9biYmbz9cIiBcIit0OnR8fFwiXCIsaXx8MD09PW98fGEucGx1Z2luPyhhLmwrKyxhLnR5cGU9YS5zZXRSYXRpbz8yOjEsYVtcInhzXCIrYS5sXT1yfHxcIlwiLG8+MD8oYS5kYXRhW1wieG5cIitvXT1lK2ksYS5yeHBbXCJ4blwiK29dPXMsYVtcInhuXCIrb109ZSxhLnBsdWdpbnx8KGEueGZpcnN0PW5ldyBfZShhLFwieG5cIitvLGUsaSxhLnhmaXJzdHx8YSwwLGEubixzLGEucHIpLGEueGZpcnN0LnhzMD0wKSxhKTooYS5kYXRhPXtzOmUraX0sYS5yeHA9e30sYS5zPWUsYS5jPWksYS5yPXMsYSkpOihhW1wieHNcIitvXSs9ZSsocnx8XCJcIiksYSl9O3ZhciBkZT1mdW5jdGlvbih0LGUpe2U9ZXx8e30sdGhpcy5wPWUucHJlZml4P1YodCl8fHQ6dCxvW3RdPW9bdGhpcy5wXT10aGlzLHRoaXMuZm9ybWF0PWUuZm9ybWF0dGVyfHxoZShlLmRlZmF1bHRWYWx1ZSxlLmNvbG9yLGUuY29sbGFwc2libGUsZS5tdWx0aSksZS5wYXJzZXImJih0aGlzLnBhcnNlPWUucGFyc2VyKSx0aGlzLmNscnM9ZS5jb2xvcix0aGlzLm11bHRpPWUubXVsdGksdGhpcy5rZXl3b3JkPWUua2V5d29yZCx0aGlzLmRmbHQ9ZS5kZWZhdWx0VmFsdWUsdGhpcy5wcj1lLnByaW9yaXR5fHwwfSxtZT1FLl9yZWdpc3RlckNvbXBsZXhTcGVjaWFsUHJvcD1mdW5jdGlvbih0LGUsaSl7XCJvYmplY3RcIiE9dHlwZW9mIGUmJihlPXtwYXJzZXI6aX0pO3ZhciByLHMsbj10LnNwbGl0KFwiLFwiKSxhPWUuZGVmYXVsdFZhbHVlO2ZvcihpPWl8fFthXSxyPTA7bi5sZW5ndGg+cjtyKyspZS5wcmVmaXg9MD09PXImJmUucHJlZml4LGUuZGVmYXVsdFZhbHVlPWlbcl18fGEscz1uZXcgZGUobltyXSxlKX0sZ2U9ZnVuY3Rpb24odCl7aWYoIW9bdF0pe3ZhciBlPXQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHIoMSkrXCJQbHVnaW5cIjttZSh0LHtwYXJzZXI6ZnVuY3Rpb24odCxpLHIscyxuLGEsbCl7dmFyIGg9KHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzfHx3aW5kb3cpLmNvbS5ncmVlbnNvY2sucGx1Z2luc1tlXTtyZXR1cm4gaD8oaC5fY3NzUmVnaXN0ZXIoKSxvW3JdLnBhcnNlKHQsaSxyLHMsbixhLGwpKTooVShcIkVycm9yOiBcIitlK1wiIGpzIGZpbGUgbm90IGxvYWRlZC5cIiksbil9fSl9fTtsPWRlLnByb3RvdHlwZSxsLnBhcnNlQ29tcGxleD1mdW5jdGlvbih0LGUsaSxyLHMsbil7dmFyIGEsbyxsLGgsdSxmLF89dGhpcy5rZXl3b3JkO2lmKHRoaXMubXVsdGkmJihELnRlc3QoaSl8fEQudGVzdChlKT8obz1lLnJlcGxhY2UoRCxcInxcIikuc3BsaXQoXCJ8XCIpLGw9aS5yZXBsYWNlKEQsXCJ8XCIpLnNwbGl0KFwifFwiKSk6XyYmKG89W2VdLGw9W2ldKSksbCl7Zm9yKGg9bC5sZW5ndGg+by5sZW5ndGg/bC5sZW5ndGg6by5sZW5ndGgsYT0wO2g+YTthKyspZT1vW2FdPW9bYV18fHRoaXMuZGZsdCxpPWxbYV09bFthXXx8dGhpcy5kZmx0LF8mJih1PWUuaW5kZXhPZihfKSxmPWkuaW5kZXhPZihfKSx1IT09ZiYmKGk9LTE9PT1mP2w6byxpW2FdKz1cIiBcIitfKSk7ZT1vLmpvaW4oXCIsIFwiKSxpPWwuam9pbihcIiwgXCIpfXJldHVybiBwZSh0LHRoaXMucCxlLGksdGhpcy5jbHJzLHRoaXMuZGZsdCxyLHRoaXMucHIscyxuKX0sbC5wYXJzZT1mdW5jdGlvbih0LGUsaSxyLG4sYSl7cmV0dXJuIHRoaXMucGFyc2VDb21wbGV4KHQuc3R5bGUsdGhpcy5mb3JtYXQocSh0LHRoaXMucCxzLCExLHRoaXMuZGZsdCkpLHRoaXMuZm9ybWF0KGUpLG4sYSl9LGEucmVnaXN0ZXJTcGVjaWFsUHJvcD1mdW5jdGlvbih0LGUsaSl7bWUodCx7cGFyc2VyOmZ1bmN0aW9uKHQscixzLG4sYSxvKXt2YXIgbD1uZXcgX2UodCxzLDAsMCxhLDIscywhMSxpKTtyZXR1cm4gbC5wbHVnaW49byxsLnNldFJhdGlvPWUodCxyLG4uX3R3ZWVuLHMpLGx9LHByaW9yaXR5Oml9KX07dmFyIHZlPVwic2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHosc2tld1gsc2tld1kscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxwZXJzcGVjdGl2ZVwiLnNwbGl0KFwiLFwiKSx5ZT1WKFwidHJhbnNmb3JtXCIpLFRlPVcrXCJ0cmFuc2Zvcm1cIix3ZT1WKFwidHJhbnNmb3JtT3JpZ2luXCIpLHhlPW51bGwhPT1WKFwicGVyc3BlY3RpdmVcIiksYmU9RS5UcmFuc2Zvcm09ZnVuY3Rpb24oKXt0aGlzLnNrZXdZPTB9LFBlPUUuZ2V0VHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxpLHIpe2lmKHQuX2dzVHJhbnNmb3JtJiZpJiYhcilyZXR1cm4gdC5fZ3NUcmFuc2Zvcm07dmFyIHMsbixvLGwsaCx1LGYsXyxwLGMsZCxtLGcsdj1pP3QuX2dzVHJhbnNmb3JtfHxuZXcgYmU6bmV3IGJlLHk9MD52LnNjYWxlWCxUPTJlLTUsdz0xZTUseD0xNzkuOTksYj14Kk0sUD14ZT9wYXJzZUZsb2F0KHEodCx3ZSxlLCExLFwiMCAwIDBcIikuc3BsaXQoXCIgXCIpWzJdKXx8di56T3JpZ2lufHwwOjA7Zm9yKHllP3M9cSh0LFRlLGUsITApOnQuY3VycmVudFN0eWxlJiYocz10LmN1cnJlbnRTdHlsZS5maWx0ZXIubWF0Y2goQSkscz1zJiY0PT09cy5sZW5ndGg/W3NbMF0uc3Vic3RyKDQpLE51bWJlcihzWzJdLnN1YnN0cig0KSksTnVtYmVyKHNbMV0uc3Vic3RyKDQpKSxzWzNdLnN1YnN0cig0KSx2Lnh8fDAsdi55fHwwXS5qb2luKFwiLFwiKTpcIlwiKSxuPShzfHxcIlwiKS5tYXRjaCgvKD86XFwtfFxcYilbXFxkXFwtXFwuZV0rXFxiL2dpKXx8W10sbz1uLmxlbmd0aDstLW8+LTE7KWw9TnVtYmVyKG5bb10pLG5bb109KGg9bC0obHw9MCkpPygwfGgqdysoMD5oPy0uNTouNSkpL3crbDpsO2lmKDE2PT09bi5sZW5ndGgpe3ZhciBTPW5bOF0sQz1uWzldLFI9blsxMF0saz1uWzEyXSxPPW5bMTNdLEQ9blsxNF07aWYodi56T3JpZ2luJiYoRD0tdi56T3JpZ2luLGs9UypELW5bMTJdLE89QypELW5bMTNdLEQ9UipEK3Yuek9yaWdpbi1uWzE0XSksIWl8fHJ8fG51bGw9PXYucm90YXRpb25YKXt2YXIgTixYLHosSSxFLEYsWSxCPW5bMF0sVT1uWzFdLFc9blsyXSxqPW5bM10sVj1uWzRdLEg9bls1XSxRPW5bNl0sWj1uWzddLCQ9blsxMV0sRz1NYXRoLmF0YW4yKFEsUiksSz0tYj5HfHxHPmI7di5yb3RhdGlvblg9RypMLEcmJihJPU1hdGguY29zKC1HKSxFPU1hdGguc2luKC1HKSxOPVYqSStTKkUsWD1IKkkrQypFLHo9USpJK1IqRSxTPVYqLUUrUypJLEM9SCotRStDKkksUj1RKi1FK1IqSSwkPVoqLUUrJCpJLFY9TixIPVgsUT16KSxHPU1hdGguYXRhbjIoUyxCKSx2LnJvdGF0aW9uWT1HKkwsRyYmKEY9LWI+R3x8Rz5iLEk9TWF0aC5jb3MoLUcpLEU9TWF0aC5zaW4oLUcpLE49QipJLVMqRSxYPVUqSS1DKkUsej1XKkktUipFLEM9VSpFK0MqSSxSPVcqRStSKkksJD1qKkUrJCpJLEI9TixVPVgsVz16KSxHPU1hdGguYXRhbjIoVSxIKSx2LnJvdGF0aW9uPUcqTCxHJiYoWT0tYj5HfHxHPmIsST1NYXRoLmNvcygtRyksRT1NYXRoLnNpbigtRyksQj1CKkkrVipFLFg9VSpJK0gqRSxIPVUqLUUrSCpJLFE9VyotRStRKkksVT1YKSxZJiZLP3Yucm90YXRpb249di5yb3RhdGlvblg9MDpZJiZGP3Yucm90YXRpb249di5yb3RhdGlvblk9MDpGJiZLJiYodi5yb3RhdGlvblk9di5yb3RhdGlvblg9MCksdi5zY2FsZVg9KDB8TWF0aC5zcXJ0KEIqQitVKlUpKncrLjUpL3csdi5zY2FsZVk9KDB8TWF0aC5zcXJ0KEgqSCtDKkMpKncrLjUpL3csdi5zY2FsZVo9KDB8TWF0aC5zcXJ0KFEqUStSKlIpKncrLjUpL3csdi5za2V3WD0wLHYucGVyc3BlY3RpdmU9JD8xLygwPiQ/LSQ6JCk6MCx2Lng9ayx2Lnk9Tyx2Lno9RH19ZWxzZSBpZighKHhlJiYhciYmbi5sZW5ndGgmJnYueD09PW5bNF0mJnYueT09PW5bNV0mJih2LnJvdGF0aW9uWHx8di5yb3RhdGlvblkpfHx2b2lkIDAhPT12LngmJlwibm9uZVwiPT09cSh0LFwiZGlzcGxheVwiLGUpKSl7dmFyIEo9bi5sZW5ndGg+PTYsdGU9Sj9uWzBdOjEsZWU9blsxXXx8MCxpZT1uWzJdfHwwLHJlPUo/blszXToxO3YueD1uWzRdfHwwLHYueT1uWzVdfHwwLHU9TWF0aC5zcXJ0KHRlKnRlK2VlKmVlKSxmPU1hdGguc3FydChyZSpyZStpZSppZSksXz10ZXx8ZWU/TWF0aC5hdGFuMihlZSx0ZSkqTDp2LnJvdGF0aW9ufHwwLHA9aWV8fHJlP01hdGguYXRhbjIoaWUscmUpKkwrXzp2LnNrZXdYfHwwLGM9dS1NYXRoLmFicyh2LnNjYWxlWHx8MCksZD1mLU1hdGguYWJzKHYuc2NhbGVZfHwwKSxNYXRoLmFicyhwKT45MCYmMjcwPk1hdGguYWJzKHApJiYoeT8odSo9LTEscCs9MD49Xz8xODA6LTE4MCxfKz0wPj1fPzE4MDotMTgwKTooZio9LTEscCs9MD49cD8xODA6LTE4MCkpLG09KF8tdi5yb3RhdGlvbiklMTgwLGc9KHAtdi5za2V3WCklMTgwLCh2b2lkIDA9PT12LnNrZXdYfHxjPlR8fC1UPmN8fGQ+VHx8LVQ+ZHx8bT4teCYmeD5tJiZmYWxzZXxtKnd8fGc+LXgmJng+ZyYmZmFsc2V8Zyp3KSYmKHYuc2NhbGVYPXUsdi5zY2FsZVk9Zix2LnJvdGF0aW9uPV8sdi5za2V3WD1wKSx4ZSYmKHYucm90YXRpb25YPXYucm90YXRpb25ZPXYuej0wLHYucGVyc3BlY3RpdmU9cGFyc2VGbG9hdChhLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZSl8fDAsdi5zY2FsZVo9MSl9di56T3JpZ2luPVA7Zm9yKG8gaW4gdilUPnZbb10mJnZbb10+LVQmJih2W29dPTApO3JldHVybiBpJiYodC5fZ3NUcmFuc2Zvcm09diksdn0sU2U9ZnVuY3Rpb24odCl7dmFyIGUsaSxyPXRoaXMuZGF0YSxzPS1yLnJvdGF0aW9uKk0sbj1zK3Iuc2tld1gqTSxhPTFlNSxvPSgwfE1hdGguY29zKHMpKnIuc2NhbGVYKmEpL2EsbD0oMHxNYXRoLnNpbihzKSpyLnNjYWxlWCphKS9hLGg9KDB8TWF0aC5zaW4obikqLXIuc2NhbGVZKmEpL2EsdT0oMHxNYXRoLmNvcyhuKSpyLnNjYWxlWSphKS9hLGY9dGhpcy50LnN0eWxlLF89dGhpcy50LmN1cnJlbnRTdHlsZTtpZihfKXtpPWwsbD0taCxoPS1pLGU9Xy5maWx0ZXIsZi5maWx0ZXI9XCJcIjt2YXIgcCxkLG09dGhpcy50Lm9mZnNldFdpZHRoLGc9dGhpcy50Lm9mZnNldEhlaWdodCx2PVwiYWJzb2x1dGVcIiE9PV8ucG9zaXRpb24sdz1cInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPVwiK28rXCIsIE0xMj1cIitsK1wiLCBNMjE9XCIraCtcIiwgTTIyPVwiK3UseD1yLngsYj1yLnk7aWYobnVsbCE9ci5veCYmKHA9KHIub3hwPy4wMSptKnIub3g6ci5veCktbS8yLGQ9KHIub3lwPy4wMSpnKnIub3k6ci5veSktZy8yLHgrPXAtKHAqbytkKmwpLGIrPWQtKHAqaCtkKnUpKSx2PyhwPW0vMixkPWcvMix3Kz1cIiwgRHg9XCIrKHAtKHAqbytkKmwpK3gpK1wiLCBEeT1cIisoZC0ocCpoK2QqdSkrYikrXCIpXCIpOncrPVwiLCBzaXppbmdNZXRob2Q9J2F1dG8gZXhwYW5kJylcIixmLmZpbHRlcj0tMSE9PWUuaW5kZXhPZihcIkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChcIik/ZS5yZXBsYWNlKE8sdyk6dytcIiBcIitlLCgwPT09dHx8MT09PXQpJiYxPT09byYmMD09PWwmJjA9PT1oJiYxPT09dSYmKHYmJi0xPT09dy5pbmRleE9mKFwiRHg9MCwgRHk9MFwiKXx8VC50ZXN0KGUpJiYxMDAhPT1wYXJzZUZsb2F0KFJlZ0V4cC4kMSl8fC0xPT09ZS5pbmRleE9mKFwiZ3JhZGllbnQoXCImJmUuaW5kZXhPZihcIkFscGhhXCIpKSYmZi5yZW1vdmVBdHRyaWJ1dGUoXCJmaWx0ZXJcIikpLCF2KXt2YXIgUCxTLEMsUj04PmM/MTotMTtmb3IocD1yLmllT2Zmc2V0WHx8MCxkPXIuaWVPZmZzZXRZfHwwLHIuaWVPZmZzZXRYPU1hdGgucm91bmQoKG0tKCgwPm8/LW86bykqbSsoMD5sPy1sOmwpKmcpKS8yK3gpLHIuaWVPZmZzZXRZPU1hdGgucm91bmQoKGctKCgwPnU/LXU6dSkqZysoMD5oPy1oOmgpKm0pKS8yK2IpLGNlPTA7ND5jZTtjZSsrKVM9SltjZV0sUD1fW1NdLGk9LTEhPT1QLmluZGV4T2YoXCJweFwiKT9wYXJzZUZsb2F0KFApOlEodGhpcy50LFMscGFyc2VGbG9hdChQKSxQLnJlcGxhY2UoeSxcIlwiKSl8fDAsQz1pIT09cltTXT8yPmNlPy1yLmllT2Zmc2V0WDotci5pZU9mZnNldFk6Mj5jZT9wLXIuaWVPZmZzZXRYOmQtci5pZU9mZnNldFksZltTXT0ocltTXT1NYXRoLnJvdW5kKGktQyooMD09PWNlfHwyPT09Y2U/MTpSKSkpK1wicHhcIn19fSxDZT1FLnNldDNEVHJhbnNmb3JtUmF0aW89ZnVuY3Rpb24odCl7dmFyIGUsaSxyLHMsbixhLG8sbCxoLHUsZixwLGMsZCxtLGcsdix5LFQsdyx4LGIsUCxTPXRoaXMuZGF0YSxDPXRoaXMudC5zdHlsZSxSPVMucm90YXRpb24qTSxrPVMuc2NhbGVYLEE9Uy5zY2FsZVksTz1TLnNjYWxlWixEPVMucGVyc3BlY3RpdmU7aWYoISgxIT09dCYmMCE9PXR8fFwiYXV0b1wiIT09Uy5mb3JjZTNEfHxTLnJvdGF0aW9uWXx8Uy5yb3RhdGlvblh8fDEhPT1PfHxEfHxTLnopKXJldHVybiBSZS5jYWxsKHRoaXMsdCksdm9pZCAwO2lmKF8pe3ZhciBMPTFlLTQ7TD5rJiZrPi1MJiYoaz1PPTJlLTUpLEw+QSYmQT4tTCYmKEE9Tz0yZS01KSwhRHx8Uy56fHxTLnJvdGF0aW9uWHx8Uy5yb3RhdGlvbll8fChEPTApfWlmKFJ8fFMuc2tld1gpeT1NYXRoLmNvcyhSKSxUPU1hdGguc2luKFIpLGU9eSxuPVQsUy5za2V3WCYmKFItPVMuc2tld1gqTSx5PU1hdGguY29zKFIpLFQ9TWF0aC5zaW4oUiksXCJzaW1wbGVcIj09PVMuc2tld1R5cGUmJih3PU1hdGgudGFuKFMuc2tld1gqTSksdz1NYXRoLnNxcnQoMSt3KncpLHkqPXcsVCo9dykpLGk9LVQsYT15O2Vsc2V7aWYoIShTLnJvdGF0aW9uWXx8Uy5yb3RhdGlvblh8fDEhPT1PfHxEKSlyZXR1cm4gQ1t5ZV09XCJ0cmFuc2xhdGUzZChcIitTLngrXCJweCxcIitTLnkrXCJweCxcIitTLnorXCJweClcIisoMSE9PWt8fDEhPT1BP1wiIHNjYWxlKFwiK2srXCIsXCIrQStcIilcIjpcIlwiKSx2b2lkIDA7ZT1hPTEsaT1uPTB9Zj0xLHI9cz1vPWw9aD11PXA9Yz1kPTAsbT1EPy0xL0Q6MCxnPVMuek9yaWdpbix2PTFlNSxSPVMucm90YXRpb25ZKk0sUiYmKHk9TWF0aC5jb3MoUiksVD1NYXRoLnNpbihSKSxoPWYqLVQsYz1tKi1ULHI9ZSpULG89bipULGYqPXksbSo9eSxlKj15LG4qPXkpLFI9Uy5yb3RhdGlvblgqTSxSJiYoeT1NYXRoLmNvcyhSKSxUPU1hdGguc2luKFIpLHc9aSp5K3IqVCx4PWEqeStvKlQsYj11KnkrZipULFA9ZCp5K20qVCxyPWkqLVQrcip5LG89YSotVCtvKnksZj11Ki1UK2YqeSxtPWQqLVQrbSp5LGk9dyxhPXgsdT1iLGQ9UCksMSE9PU8mJihyKj1PLG8qPU8sZio9TyxtKj1PKSwxIT09QSYmKGkqPUEsYSo9QSx1Kj1BLGQqPUEpLDEhPT1rJiYoZSo9ayxuKj1rLGgqPWssYyo9ayksZyYmKHAtPWcscz1yKnAsbD1vKnAscD1mKnArZykscz0odz0ocys9Uy54KS0oc3w9MCkpPygwfHcqdisoMD53Py0uNTouNSkpL3YrczpzLGw9KHc9KGwrPVMueSktKGx8PTApKT8oMHx3KnYrKDA+dz8tLjU6LjUpKS92K2w6bCxwPSh3PShwKz1TLnopLShwfD0wKSk/KDB8dyp2KygwPnc/LS41Oi41KSkvditwOnAsQ1t5ZV09XCJtYXRyaXgzZChcIitbKDB8ZSp2KS92LCgwfG4qdikvdiwoMHxoKnYpL3YsKDB8Yyp2KS92LCgwfGkqdikvdiwoMHxhKnYpL3YsKDB8dSp2KS92LCgwfGQqdikvdiwoMHxyKnYpL3YsKDB8byp2KS92LCgwfGYqdikvdiwoMHxtKnYpL3YscyxsLHAsRD8xKy1wL0Q6MV0uam9pbihcIixcIikrXCIpXCJ9LFJlPUUuc2V0MkRUcmFuc2Zvcm1SYXRpbz1mdW5jdGlvbih0KXt2YXIgZSxpLHIscyxuLGE9dGhpcy5kYXRhLG89dGhpcy50LGw9by5zdHlsZTtyZXR1cm4gYS5yb3RhdGlvblh8fGEucm90YXRpb25ZfHxhLnp8fGEuZm9yY2UzRD09PSEwfHxcImF1dG9cIj09PWEuZm9yY2UzRCYmMSE9PXQmJjAhPT10Pyh0aGlzLnNldFJhdGlvPUNlLENlLmNhbGwodGhpcyx0KSx2b2lkIDApOihhLnJvdGF0aW9ufHxhLnNrZXdYPyhlPWEucm90YXRpb24qTSxpPWUtYS5za2V3WCpNLHI9MWU1LHM9YS5zY2FsZVgqcixuPWEuc2NhbGVZKnIsbFt5ZV09XCJtYXRyaXgoXCIrKDB8TWF0aC5jb3MoZSkqcykvcitcIixcIisoMHxNYXRoLnNpbihlKSpzKS9yK1wiLFwiKygwfE1hdGguc2luKGkpKi1uKS9yK1wiLFwiKygwfE1hdGguY29zKGkpKm4pL3IrXCIsXCIrYS54K1wiLFwiK2EueStcIilcIik6bFt5ZV09XCJtYXRyaXgoXCIrYS5zY2FsZVgrXCIsMCwwLFwiK2Euc2NhbGVZK1wiLFwiK2EueCtcIixcIithLnkrXCIpXCIsdm9pZCAwKX07bWUoXCJ0cmFuc2Zvcm0sc2NhbGUsc2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHoscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxyb3RhdGlvblosc2tld1gsc2tld1ksc2hvcnRSb3RhdGlvbixzaG9ydFJvdGF0aW9uWCxzaG9ydFJvdGF0aW9uWSxzaG9ydFJvdGF0aW9uWix0cmFuc2Zvcm1PcmlnaW4sdHJhbnNmb3JtUGVyc3BlY3RpdmUsZGlyZWN0aW9uYWxSb3RhdGlvbixwYXJzZVRyYW5zZm9ybSxmb3JjZTNELHNrZXdUeXBlXCIse3BhcnNlcjpmdW5jdGlvbih0LGUsaSxyLG4sbyxsKXtpZihyLl90cmFuc2Zvcm0pcmV0dXJuIG47dmFyIGgsdSxmLF8scCxjLGQsbT1yLl90cmFuc2Zvcm09UGUodCxzLCEwLGwucGFyc2VUcmFuc2Zvcm0pLGc9dC5zdHlsZSx2PTFlLTYseT12ZS5sZW5ndGgsVD1sLHc9e307aWYoXCJzdHJpbmdcIj09dHlwZW9mIFQudHJhbnNmb3JtJiZ5ZSlmPXouc3R5bGUsZlt5ZV09VC50cmFuc2Zvcm0sZi5kaXNwbGF5PVwiYmxvY2tcIixmLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixYLmJvZHkuYXBwZW5kQ2hpbGQoeiksaD1QZSh6LG51bGwsITEpLFguYm9keS5yZW1vdmVDaGlsZCh6KTtlbHNlIGlmKFwib2JqZWN0XCI9PXR5cGVvZiBUKXtpZihoPXtzY2FsZVg6cmUobnVsbCE9VC5zY2FsZVg/VC5zY2FsZVg6VC5zY2FsZSxtLnNjYWxlWCksc2NhbGVZOnJlKG51bGwhPVQuc2NhbGVZP1Quc2NhbGVZOlQuc2NhbGUsbS5zY2FsZVkpLHNjYWxlWjpyZShULnNjYWxlWixtLnNjYWxlWikseDpyZShULngsbS54KSx5OnJlKFQueSxtLnkpLHo6cmUoVC56LG0ueikscGVyc3BlY3RpdmU6cmUoVC50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxtLnBlcnNwZWN0aXZlKX0sZD1ULmRpcmVjdGlvbmFsUm90YXRpb24sbnVsbCE9ZClpZihcIm9iamVjdFwiPT10eXBlb2YgZClmb3IoZiBpbiBkKVRbZl09ZFtmXTtlbHNlIFQucm90YXRpb249ZDtoLnJvdGF0aW9uPXNlKFwicm90YXRpb25cImluIFQ/VC5yb3RhdGlvbjpcInNob3J0Um90YXRpb25cImluIFQ/VC5zaG9ydFJvdGF0aW9uK1wiX3Nob3J0XCI6XCJyb3RhdGlvblpcImluIFQ/VC5yb3RhdGlvblo6bS5yb3RhdGlvbixtLnJvdGF0aW9uLFwicm90YXRpb25cIix3KSx4ZSYmKGgucm90YXRpb25YPXNlKFwicm90YXRpb25YXCJpbiBUP1Qucm90YXRpb25YOlwic2hvcnRSb3RhdGlvblhcImluIFQ/VC5zaG9ydFJvdGF0aW9uWCtcIl9zaG9ydFwiOm0ucm90YXRpb25YfHwwLG0ucm90YXRpb25YLFwicm90YXRpb25YXCIsdyksaC5yb3RhdGlvblk9c2UoXCJyb3RhdGlvbllcImluIFQ/VC5yb3RhdGlvblk6XCJzaG9ydFJvdGF0aW9uWVwiaW4gVD9ULnNob3J0Um90YXRpb25ZK1wiX3Nob3J0XCI6bS5yb3RhdGlvbll8fDAsbS5yb3RhdGlvblksXCJyb3RhdGlvbllcIix3KSksaC5za2V3WD1udWxsPT1ULnNrZXdYP20uc2tld1g6c2UoVC5za2V3WCxtLnNrZXdYKSxoLnNrZXdZPW51bGw9PVQuc2tld1k/bS5za2V3WTpzZShULnNrZXdZLG0uc2tld1kpLCh1PWguc2tld1ktbS5za2V3WSkmJihoLnNrZXdYKz11LGgucm90YXRpb24rPXUpfWZvcih4ZSYmbnVsbCE9VC5mb3JjZTNEJiYobS5mb3JjZTNEPVQuZm9yY2UzRCxjPSEwKSxtLnNrZXdUeXBlPVQuc2tld1R5cGV8fG0uc2tld1R5cGV8fGEuZGVmYXVsdFNrZXdUeXBlLHA9bS5mb3JjZTNEfHxtLnp8fG0ucm90YXRpb25YfHxtLnJvdGF0aW9uWXx8aC56fHxoLnJvdGF0aW9uWHx8aC5yb3RhdGlvbll8fGgucGVyc3BlY3RpdmUscHx8bnVsbD09VC5zY2FsZXx8KGguc2NhbGVaPTEpOy0teT4tMTspaT12ZVt5XSxfPWhbaV0tbVtpXSwoXz52fHwtdj5ffHxudWxsIT1OW2ldKSYmKGM9ITAsbj1uZXcgX2UobSxpLG1baV0sXyxuKSxpIGluIHcmJihuLmU9d1tpXSksbi54czA9MCxuLnBsdWdpbj1vLHIuX292ZXJ3cml0ZVByb3BzLnB1c2gobi5uKSk7cmV0dXJuIF89VC50cmFuc2Zvcm1PcmlnaW4sKF98fHhlJiZwJiZtLnpPcmlnaW4pJiYoeWU/KGM9ITAsaT13ZSxfPShffHxxKHQsaSxzLCExLFwiNTAlIDUwJVwiKSkrXCJcIixuPW5ldyBfZShnLGksMCwwLG4sLTEsXCJ0cmFuc2Zvcm1PcmlnaW5cIiksbi5iPWdbaV0sbi5wbHVnaW49byx4ZT8oZj1tLnpPcmlnaW4sXz1fLnNwbGl0KFwiIFwiKSxtLnpPcmlnaW49KF8ubGVuZ3RoPjImJigwPT09Znx8XCIwcHhcIiE9PV9bMl0pP3BhcnNlRmxvYXQoX1syXSk6Zil8fDAsbi54czA9bi5lPV9bMF0rXCIgXCIrKF9bMV18fFwiNTAlXCIpK1wiIDBweFwiLG49bmV3IF9lKG0sXCJ6T3JpZ2luXCIsMCwwLG4sLTEsbi5uKSxuLmI9ZixuLnhzMD1uLmU9bS56T3JpZ2luKTpuLnhzMD1uLmU9Xyk6ZWUoXytcIlwiLG0pKSxjJiYoci5fdHJhbnNmb3JtVHlwZT1wfHwzPT09dGhpcy5fdHJhbnNmb3JtVHlwZT8zOjIpLG59LHByZWZpeDohMH0pLG1lKFwiYm94U2hhZG93XCIse2RlZmF1bHRWYWx1ZTpcIjBweCAwcHggMHB4IDBweCAjOTk5XCIscHJlZml4OiEwLGNvbG9yOiEwLG11bHRpOiEwLGtleXdvcmQ6XCJpbnNldFwifSksbWUoXCJib3JkZXJSYWRpdXNcIix7ZGVmYXVsdFZhbHVlOlwiMHB4XCIscGFyc2VyOmZ1bmN0aW9uKHQsZSxpLG4sYSl7ZT10aGlzLmZvcm1hdChlKTt2YXIgbyxsLGgsdSxmLF8scCxjLGQsbSxnLHYseSxULHcseCxiPVtcImJvcmRlclRvcExlZnRSYWRpdXNcIixcImJvcmRlclRvcFJpZ2h0UmFkaXVzXCIsXCJib3JkZXJCb3R0b21SaWdodFJhZGl1c1wiLFwiYm9yZGVyQm90dG9tTGVmdFJhZGl1c1wiXSxQPXQuc3R5bGU7Zm9yKGQ9cGFyc2VGbG9hdCh0Lm9mZnNldFdpZHRoKSxtPXBhcnNlRmxvYXQodC5vZmZzZXRIZWlnaHQpLG89ZS5zcGxpdChcIiBcIiksbD0wO2IubGVuZ3RoPmw7bCsrKXRoaXMucC5pbmRleE9mKFwiYm9yZGVyXCIpJiYoYltsXT1WKGJbbF0pKSxmPXU9cSh0LGJbbF0scywhMSxcIjBweFwiKSwtMSE9PWYuaW5kZXhPZihcIiBcIikmJih1PWYuc3BsaXQoXCIgXCIpLGY9dVswXSx1PXVbMV0pLF89aD1vW2xdLHA9cGFyc2VGbG9hdChmKSx2PWYuc3Vic3RyKChwK1wiXCIpLmxlbmd0aCkseT1cIj1cIj09PV8uY2hhckF0KDEpLHk/KGM9cGFyc2VJbnQoXy5jaGFyQXQoMCkrXCIxXCIsMTApLF89Xy5zdWJzdHIoMiksYyo9cGFyc2VGbG9hdChfKSxnPV8uc3Vic3RyKChjK1wiXCIpLmxlbmd0aC0oMD5jPzE6MCkpfHxcIlwiKTooYz1wYXJzZUZsb2F0KF8pLGc9Xy5zdWJzdHIoKGMrXCJcIikubGVuZ3RoKSksXCJcIj09PWcmJihnPXJbaV18fHYpLGchPT12JiYoVD1RKHQsXCJib3JkZXJMZWZ0XCIscCx2KSx3PVEodCxcImJvcmRlclRvcFwiLHAsdiksXCIlXCI9PT1nPyhmPTEwMCooVC9kKStcIiVcIix1PTEwMCoody9tKStcIiVcIik6XCJlbVwiPT09Zz8oeD1RKHQsXCJib3JkZXJMZWZ0XCIsMSxcImVtXCIpLGY9VC94K1wiZW1cIix1PXcveCtcImVtXCIpOihmPVQrXCJweFwiLHU9dytcInB4XCIpLHkmJihfPXBhcnNlRmxvYXQoZikrYytnLGg9cGFyc2VGbG9hdCh1KStjK2cpKSxhPXBlKFAsYltsXSxmK1wiIFwiK3UsXytcIiBcIitoLCExLFwiMHB4XCIsYSk7cmV0dXJuIGF9LHByZWZpeDohMCxmb3JtYXR0ZXI6aGUoXCIwcHggMHB4IDBweCAwcHhcIiwhMSwhMCl9KSxtZShcImJhY2tncm91bmRQb3NpdGlvblwiLHtkZWZhdWx0VmFsdWU6XCIwIDBcIixwYXJzZXI6ZnVuY3Rpb24odCxlLGkscixuLGEpe3ZhciBvLGwsaCx1LGYsXyxwPVwiYmFja2dyb3VuZC1wb3NpdGlvblwiLGQ9c3x8SCh0LG51bGwpLG09dGhpcy5mb3JtYXQoKGQ/Yz9kLmdldFByb3BlcnR5VmFsdWUocCtcIi14XCIpK1wiIFwiK2QuZ2V0UHJvcGVydHlWYWx1ZShwK1wiLXlcIik6ZC5nZXRQcm9wZXJ0eVZhbHVlKHApOnQuY3VycmVudFN0eWxlLmJhY2tncm91bmRQb3NpdGlvblgrXCIgXCIrdC5jdXJyZW50U3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uWSl8fFwiMCAwXCIpLGc9dGhpcy5mb3JtYXQoZSk7aWYoLTEhPT1tLmluZGV4T2YoXCIlXCIpIT0oLTEhPT1nLmluZGV4T2YoXCIlXCIpKSYmKF89cSh0LFwiYmFja2dyb3VuZEltYWdlXCIpLnJlcGxhY2UoQyxcIlwiKSxfJiZcIm5vbmVcIiE9PV8pKXtmb3Iobz1tLnNwbGl0KFwiIFwiKSxsPWcuc3BsaXQoXCIgXCIpLEkuc2V0QXR0cmlidXRlKFwic3JjXCIsXyksaD0yOy0taD4tMTspbT1vW2hdLHU9LTEhPT1tLmluZGV4T2YoXCIlXCIpLHUhPT0oLTEhPT1sW2hdLmluZGV4T2YoXCIlXCIpKSYmKGY9MD09PWg/dC5vZmZzZXRXaWR0aC1JLndpZHRoOnQub2Zmc2V0SGVpZ2h0LUkuaGVpZ2h0LG9baF09dT9wYXJzZUZsb2F0KG0pLzEwMCpmK1wicHhcIjoxMDAqKHBhcnNlRmxvYXQobSkvZikrXCIlXCIpO209by5qb2luKFwiIFwiKX1yZXR1cm4gdGhpcy5wYXJzZUNvbXBsZXgodC5zdHlsZSxtLGcsbixhKX0sZm9ybWF0dGVyOmVlfSksbWUoXCJiYWNrZ3JvdW5kU2l6ZVwiLHtkZWZhdWx0VmFsdWU6XCIwIDBcIixmb3JtYXR0ZXI6ZWV9KSxtZShcInBlcnNwZWN0aXZlXCIse2RlZmF1bHRWYWx1ZTpcIjBweFwiLHByZWZpeDohMH0pLG1lKFwicGVyc3BlY3RpdmVPcmlnaW5cIix7ZGVmYXVsdFZhbHVlOlwiNTAlIDUwJVwiLHByZWZpeDohMH0pLG1lKFwidHJhbnNmb3JtU3R5bGVcIix7cHJlZml4OiEwfSksbWUoXCJiYWNrZmFjZVZpc2liaWxpdHlcIix7cHJlZml4OiEwfSksbWUoXCJ1c2VyU2VsZWN0XCIse3ByZWZpeDohMH0pLG1lKFwibWFyZ2luXCIse3BhcnNlcjp1ZShcIm1hcmdpblRvcCxtYXJnaW5SaWdodCxtYXJnaW5Cb3R0b20sbWFyZ2luTGVmdFwiKX0pLG1lKFwicGFkZGluZ1wiLHtwYXJzZXI6dWUoXCJwYWRkaW5nVG9wLHBhZGRpbmdSaWdodCxwYWRkaW5nQm90dG9tLHBhZGRpbmdMZWZ0XCIpfSksbWUoXCJjbGlwXCIse2RlZmF1bHRWYWx1ZTpcInJlY3QoMHB4LDBweCwwcHgsMHB4KVwiLHBhcnNlcjpmdW5jdGlvbih0LGUsaSxyLG4sYSl7dmFyIG8sbCxoO3JldHVybiA5PmM/KGw9dC5jdXJyZW50U3R5bGUsaD04PmM/XCIgXCI6XCIsXCIsbz1cInJlY3QoXCIrbC5jbGlwVG9wK2grbC5jbGlwUmlnaHQraCtsLmNsaXBCb3R0b20raCtsLmNsaXBMZWZ0K1wiKVwiLGU9dGhpcy5mb3JtYXQoZSkuc3BsaXQoXCIsXCIpLmpvaW4oaCkpOihvPXRoaXMuZm9ybWF0KHEodCx0aGlzLnAscywhMSx0aGlzLmRmbHQpKSxlPXRoaXMuZm9ybWF0KGUpKSx0aGlzLnBhcnNlQ29tcGxleCh0LnN0eWxlLG8sZSxuLGEpfX0pLG1lKFwidGV4dFNoYWRvd1wiLHtkZWZhdWx0VmFsdWU6XCIwcHggMHB4IDBweCAjOTk5XCIsY29sb3I6ITAsbXVsdGk6ITB9KSxtZShcImF1dG9Sb3VuZCxzdHJpY3RVbml0c1wiLHtwYXJzZXI6ZnVuY3Rpb24odCxlLGkscixzKXtyZXR1cm4gc319KSxtZShcImJvcmRlclwiLHtkZWZhdWx0VmFsdWU6XCIwcHggc29saWQgIzAwMFwiLHBhcnNlcjpmdW5jdGlvbih0LGUsaSxyLG4sYSl7cmV0dXJuIHRoaXMucGFyc2VDb21wbGV4KHQuc3R5bGUsdGhpcy5mb3JtYXQocSh0LFwiYm9yZGVyVG9wV2lkdGhcIixzLCExLFwiMHB4XCIpK1wiIFwiK3EodCxcImJvcmRlclRvcFN0eWxlXCIscywhMSxcInNvbGlkXCIpK1wiIFwiK3EodCxcImJvcmRlclRvcENvbG9yXCIscywhMSxcIiMwMDBcIikpLHRoaXMuZm9ybWF0KGUpLG4sYSl9LGNvbG9yOiEwLGZvcm1hdHRlcjpmdW5jdGlvbih0KXt2YXIgZT10LnNwbGl0KFwiIFwiKTtyZXR1cm4gZVswXStcIiBcIisoZVsxXXx8XCJzb2xpZFwiKStcIiBcIisodC5tYXRjaChsZSl8fFtcIiMwMDBcIl0pWzBdfX0pLG1lKFwiYm9yZGVyV2lkdGhcIix7cGFyc2VyOnVlKFwiYm9yZGVyVG9wV2lkdGgsYm9yZGVyUmlnaHRXaWR0aCxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJMZWZ0V2lkdGhcIil9KSxtZShcImZsb2F0LGNzc0Zsb2F0LHN0eWxlRmxvYXRcIix7cGFyc2VyOmZ1bmN0aW9uKHQsZSxpLHIscyl7dmFyIG49dC5zdHlsZSxhPVwiY3NzRmxvYXRcImluIG4/XCJjc3NGbG9hdFwiOlwic3R5bGVGbG9hdFwiO3JldHVybiBuZXcgX2UobixhLDAsMCxzLC0xLGksITEsMCxuW2FdLGUpfX0pO3ZhciBrZT1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMudCxyPWkuZmlsdGVyfHxxKHRoaXMuZGF0YSxcImZpbHRlclwiKSxzPTB8dGhpcy5zK3RoaXMuYyp0OzEwMD09PXMmJigtMT09PXIuaW5kZXhPZihcImF0cml4KFwiKSYmLTE9PT1yLmluZGV4T2YoXCJyYWRpZW50KFwiKSYmLTE9PT1yLmluZGV4T2YoXCJvYWRlcihcIik/KGkucmVtb3ZlQXR0cmlidXRlKFwiZmlsdGVyXCIpLGU9IXEodGhpcy5kYXRhLFwiZmlsdGVyXCIpKTooaS5maWx0ZXI9ci5yZXBsYWNlKHgsXCJcIiksZT0hMCkpLGV8fCh0aGlzLnhuMSYmKGkuZmlsdGVyPXI9cnx8XCJhbHBoYShvcGFjaXR5PVwiK3MrXCIpXCIpLC0xPT09ci5pbmRleE9mKFwicGFjaXR5XCIpPzA9PT1zJiZ0aGlzLnhuMXx8KGkuZmlsdGVyPXIrXCIgYWxwaGEob3BhY2l0eT1cIitzK1wiKVwiKTppLmZpbHRlcj1yLnJlcGxhY2UoVCxcIm9wYWNpdHk9XCIrcykpfTttZShcIm9wYWNpdHksYWxwaGEsYXV0b0FscGhhXCIse2RlZmF1bHRWYWx1ZTpcIjFcIixwYXJzZXI6ZnVuY3Rpb24odCxlLGkscixuLGEpe3ZhciBvPXBhcnNlRmxvYXQocSh0LFwib3BhY2l0eVwiLHMsITEsXCIxXCIpKSxsPXQuc3R5bGUsaD1cImF1dG9BbHBoYVwiPT09aTtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZSYmXCI9XCI9PT1lLmNoYXJBdCgxKSYmKGU9KFwiLVwiPT09ZS5jaGFyQXQoMCk/LTE6MSkqcGFyc2VGbG9hdChlLnN1YnN0cigyKSkrbyksaCYmMT09PW8mJlwiaGlkZGVuXCI9PT1xKHQsXCJ2aXNpYmlsaXR5XCIscykmJjAhPT1lJiYobz0wKSxZP249bmV3IF9lKGwsXCJvcGFjaXR5XCIsbyxlLW8sbik6KG49bmV3IF9lKGwsXCJvcGFjaXR5XCIsMTAwKm8sMTAwKihlLW8pLG4pLG4ueG4xPWg/MTowLGwuem9vbT0xLG4udHlwZT0yLG4uYj1cImFscGhhKG9wYWNpdHk9XCIrbi5zK1wiKVwiLG4uZT1cImFscGhhKG9wYWNpdHk9XCIrKG4ucytuLmMpK1wiKVwiLG4uZGF0YT10LG4ucGx1Z2luPWEsbi5zZXRSYXRpbz1rZSksaCYmKG49bmV3IF9lKGwsXCJ2aXNpYmlsaXR5XCIsMCwwLG4sLTEsbnVsbCwhMSwwLDAhPT1vP1wiaW5oZXJpdFwiOlwiaGlkZGVuXCIsMD09PWU/XCJoaWRkZW5cIjpcImluaGVyaXRcIiksbi54czA9XCJpbmhlcml0XCIsci5fb3ZlcndyaXRlUHJvcHMucHVzaChuLm4pLHIuX292ZXJ3cml0ZVByb3BzLnB1c2goaSkpLG59fSk7dmFyIEFlPWZ1bmN0aW9uKHQsZSl7ZSYmKHQucmVtb3ZlUHJvcGVydHk/KFwibXNcIj09PWUuc3Vic3RyKDAsMikmJihlPVwiTVwiK2Uuc3Vic3RyKDEpKSx0LnJlbW92ZVByb3BlcnR5KGUucmVwbGFjZShQLFwiLSQxXCIpLnRvTG93ZXJDYXNlKCkpKTp0LnJlbW92ZUF0dHJpYnV0ZShlKSl9LE9lPWZ1bmN0aW9uKHQpe2lmKHRoaXMudC5fZ3NDbGFzc1BUPXRoaXMsMT09PXR8fDA9PT10KXt0aGlzLnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwwPT09dD90aGlzLmI6dGhpcy5lKTtmb3IodmFyIGU9dGhpcy5kYXRhLGk9dGhpcy50LnN0eWxlO2U7KWUudj9pW2UucF09ZS52OkFlKGksZS5wKSxlPWUuX25leHQ7MT09PXQmJnRoaXMudC5fZ3NDbGFzc1BUPT09dGhpcyYmKHRoaXMudC5fZ3NDbGFzc1BUPW51bGwpfWVsc2UgdGhpcy50LmdldEF0dHJpYnV0ZShcImNsYXNzXCIpIT09dGhpcy5lJiZ0aGlzLnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIix0aGlzLmUpfTttZShcImNsYXNzTmFtZVwiLHtwYXJzZXI6ZnVuY3Rpb24odCxlLHIsbixhLG8sbCl7dmFyIGgsdSxmLF8scCxjPXQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIsZD10LnN0eWxlLmNzc1RleHQ7aWYoYT1uLl9jbGFzc05hbWVQVD1uZXcgX2UodCxyLDAsMCxhLDIpLGEuc2V0UmF0aW89T2UsYS5wcj0tMTEsaT0hMCxhLmI9Yyx1PSQodCxzKSxmPXQuX2dzQ2xhc3NQVCl7Zm9yKF89e30scD1mLmRhdGE7cDspX1twLnBdPTEscD1wLl9uZXh0O2Yuc2V0UmF0aW8oMSl9cmV0dXJuIHQuX2dzQ2xhc3NQVD1hLGEuZT1cIj1cIiE9PWUuY2hhckF0KDEpP2U6Yy5yZXBsYWNlKFJlZ0V4cChcIlxcXFxzKlxcXFxiXCIrZS5zdWJzdHIoMikrXCJcXFxcYlwiKSxcIlwiKSsoXCIrXCI9PT1lLmNoYXJBdCgwKT9cIiBcIitlLnN1YnN0cigyKTpcIlwiKSxuLl90d2Vlbi5fZHVyYXRpb24mJih0LnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYS5lKSxoPUcodCx1LCQodCksbCxfKSx0LnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYyksYS5kYXRhPWguZmlyc3RNUFQsdC5zdHlsZS5jc3NUZXh0PWQsYT1hLnhmaXJzdD1uLnBhcnNlKHQsaC5kaWZzLGEsbykpLGF9fSk7dmFyIERlPWZ1bmN0aW9uKHQpe2lmKCgxPT09dHx8MD09PXQpJiZ0aGlzLmRhdGEuX3RvdGFsVGltZT09PXRoaXMuZGF0YS5fdG90YWxEdXJhdGlvbiYmXCJpc0Zyb21TdGFydFwiIT09dGhpcy5kYXRhLmRhdGEpe3ZhciBlLGkscixzLG49dGhpcy50LnN0eWxlLGE9by50cmFuc2Zvcm0ucGFyc2U7aWYoXCJhbGxcIj09PXRoaXMuZSluLmNzc1RleHQ9XCJcIixzPSEwO2Vsc2UgZm9yKGU9dGhpcy5lLnNwbGl0KFwiLFwiKSxyPWUubGVuZ3RoOy0tcj4tMTspaT1lW3JdLG9baV0mJihvW2ldLnBhcnNlPT09YT9zPSEwOmk9XCJ0cmFuc2Zvcm1PcmlnaW5cIj09PWk/d2U6b1tpXS5wKSxBZShuLGkpO3MmJihBZShuLHllKSx0aGlzLnQuX2dzVHJhbnNmb3JtJiZkZWxldGUgdGhpcy50Ll9nc1RyYW5zZm9ybSl9fTtmb3IobWUoXCJjbGVhclByb3BzXCIse3BhcnNlcjpmdW5jdGlvbih0LGUscixzLG4pe3JldHVybiBuPW5ldyBfZSh0LHIsMCwwLG4sMiksbi5zZXRSYXRpbz1EZSxuLmU9ZSxuLnByPS0xMCxuLmRhdGE9cy5fdHdlZW4saT0hMCxufX0pLGw9XCJiZXppZXIsdGhyb3dQcm9wcyxwaHlzaWNzUHJvcHMscGh5c2ljczJEXCIuc3BsaXQoXCIsXCIpLGNlPWwubGVuZ3RoO2NlLS07KWdlKGxbY2VdKTtsPWEucHJvdG90eXBlLGwuX2ZpcnN0UFQ9bnVsbCxsLl9vbkluaXRUd2Vlbj1mdW5jdGlvbih0LGUsbyl7aWYoIXQubm9kZVR5cGUpcmV0dXJuITE7dGhpcy5fdGFyZ2V0PXQsdGhpcy5fdHdlZW49byx0aGlzLl92YXJzPWUsaD1lLmF1dG9Sb3VuZCxpPSExLHI9ZS5zdWZmaXhNYXB8fGEuc3VmZml4TWFwLHM9SCh0LFwiXCIpLG49dGhpcy5fb3ZlcndyaXRlUHJvcHM7dmFyIGwsXyxjLGQsbSxnLHYseSxULHg9dC5zdHlsZTtpZih1JiZcIlwiPT09eC56SW5kZXgmJihsPXEodCxcInpJbmRleFwiLHMpLChcImF1dG9cIj09PWx8fFwiXCI9PT1sKSYmdGhpcy5fYWRkTGF6eVNldCh4LFwiekluZGV4XCIsMCkpLFwic3RyaW5nXCI9PXR5cGVvZiBlJiYoZD14LmNzc1RleHQsbD0kKHQscykseC5jc3NUZXh0PWQrXCI7XCIrZSxsPUcodCxsLCQodCkpLmRpZnMsIVkmJncudGVzdChlKSYmKGwub3BhY2l0eT1wYXJzZUZsb2F0KFJlZ0V4cC4kMSkpLGU9bCx4LmNzc1RleHQ9ZCksdGhpcy5fZmlyc3RQVD1fPXRoaXMucGFyc2UodCxlLG51bGwpLHRoaXMuX3RyYW5zZm9ybVR5cGUpe2ZvcihUPTM9PT10aGlzLl90cmFuc2Zvcm1UeXBlLHllP2YmJih1PSEwLFwiXCI9PT14LnpJbmRleCYmKHY9cSh0LFwiekluZGV4XCIscyksKFwiYXV0b1wiPT09dnx8XCJcIj09PXYpJiZ0aGlzLl9hZGRMYXp5U2V0KHgsXCJ6SW5kZXhcIiwwKSkscCYmdGhpcy5fYWRkTGF6eVNldCh4LFwiV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5XCIsdGhpcy5fdmFycy5XZWJraXRCYWNrZmFjZVZpc2liaWxpdHl8fChUP1widmlzaWJsZVwiOlwiaGlkZGVuXCIpKSk6eC56b29tPTEsYz1fO2MmJmMuX25leHQ7KWM9Yy5fbmV4dDt5PW5ldyBfZSh0LFwidHJhbnNmb3JtXCIsMCwwLG51bGwsMiksdGhpcy5fbGlua0NTU1AoeSxudWxsLGMpLHkuc2V0UmF0aW89VCYmeGU/Q2U6eWU/UmU6U2UseS5kYXRhPXRoaXMuX3RyYW5zZm9ybXx8UGUodCxzLCEwKSxuLnBvcCgpfWlmKGkpe2Zvcig7Xzspe2ZvcihnPV8uX25leHQsYz1kO2MmJmMucHI+Xy5wcjspYz1jLl9uZXh0OyhfLl9wcmV2PWM/Yy5fcHJldjptKT9fLl9wcmV2Ll9uZXh0PV86ZD1fLChfLl9uZXh0PWMpP2MuX3ByZXY9XzptPV8sXz1nfXRoaXMuX2ZpcnN0UFQ9ZH1yZXR1cm4hMH0sbC5wYXJzZT1mdW5jdGlvbih0LGUsaSxuKXt2YXIgYSxsLHUsZixfLHAsYyxkLG0sZyx2PXQuc3R5bGU7Zm9yKGEgaW4gZSlwPWVbYV0sbD1vW2FdLGw/aT1sLnBhcnNlKHQscCxhLHRoaXMsaSxuLGUpOihfPXEodCxhLHMpK1wiXCIsbT1cInN0cmluZ1wiPT10eXBlb2YgcCxcImNvbG9yXCI9PT1hfHxcImZpbGxcIj09PWF8fFwic3Ryb2tlXCI9PT1hfHwtMSE9PWEuaW5kZXhPZihcIkNvbG9yXCIpfHxtJiZiLnRlc3QocCk/KG18fChwPW9lKHApLHA9KHAubGVuZ3RoPjM/XCJyZ2JhKFwiOlwicmdiKFwiKStwLmpvaW4oXCIsXCIpK1wiKVwiKSxpPXBlKHYsYSxfLHAsITAsXCJ0cmFuc3BhcmVudFwiLGksMCxuKSk6IW18fC0xPT09cC5pbmRleE9mKFwiIFwiKSYmLTE9PT1wLmluZGV4T2YoXCIsXCIpPyh1PXBhcnNlRmxvYXQoXyksYz11fHwwPT09dT9fLnN1YnN0cigodStcIlwiKS5sZW5ndGgpOlwiXCIsKFwiXCI9PT1ffHxcImF1dG9cIj09PV8pJiYoXCJ3aWR0aFwiPT09YXx8XCJoZWlnaHRcIj09PWE/KHU9dGUodCxhLHMpLGM9XCJweFwiKTpcImxlZnRcIj09PWF8fFwidG9wXCI9PT1hPyh1PVoodCxhLHMpLGM9XCJweFwiKToodT1cIm9wYWNpdHlcIiE9PWE/MDoxLGM9XCJcIikpLGc9bSYmXCI9XCI9PT1wLmNoYXJBdCgxKSxnPyhmPXBhcnNlSW50KHAuY2hhckF0KDApK1wiMVwiLDEwKSxwPXAuc3Vic3RyKDIpLGYqPXBhcnNlRmxvYXQocCksZD1wLnJlcGxhY2UoeSxcIlwiKSk6KGY9cGFyc2VGbG9hdChwKSxkPW0/cC5zdWJzdHIoKGYrXCJcIikubGVuZ3RoKXx8XCJcIjpcIlwiKSxcIlwiPT09ZCYmKGQ9YSBpbiByP3JbYV06YykscD1mfHwwPT09Zj8oZz9mK3U6ZikrZDplW2FdLGMhPT1kJiZcIlwiIT09ZCYmKGZ8fDA9PT1mKSYmdSYmKHU9USh0LGEsdSxjKSxcIiVcIj09PWQ/KHUvPVEodCxhLDEwMCxcIiVcIikvMTAwLGUuc3RyaWN0VW5pdHMhPT0hMCYmKF89dStcIiVcIikpOlwiZW1cIj09PWQ/dS89USh0LGEsMSxcImVtXCIpOlwicHhcIiE9PWQmJihmPVEodCxhLGYsZCksZD1cInB4XCIpLGcmJihmfHwwPT09ZikmJihwPWYrdStkKSksZyYmKGYrPXUpLCF1JiYwIT09dXx8IWYmJjAhPT1mP3ZvaWQgMCE9PXZbYV0mJihwfHxcIk5hTlwiIT1wK1wiXCImJm51bGwhPXApPyhpPW5ldyBfZSh2LGEsZnx8dXx8MCwwLGksLTEsYSwhMSwwLF8scCksaS54czA9XCJub25lXCIhPT1wfHxcImRpc3BsYXlcIiE9PWEmJi0xPT09YS5pbmRleE9mKFwiU3R5bGVcIik/cDpfKTpVKFwiaW52YWxpZCBcIithK1wiIHR3ZWVuIHZhbHVlOiBcIitlW2FdKTooaT1uZXcgX2UodixhLHUsZi11LGksMCxhLGghPT0hMSYmKFwicHhcIj09PWR8fFwiekluZGV4XCI9PT1hKSwwLF8scCksaS54czA9ZCkpOmk9cGUodixhLF8scCwhMCxudWxsLGksMCxuKSksbiYmaSYmIWkucGx1Z2luJiYoaS5wbHVnaW49bik7cmV0dXJuIGl9LGwuc2V0UmF0aW89ZnVuY3Rpb24odCl7dmFyIGUsaSxyLHM9dGhpcy5fZmlyc3RQVCxuPTFlLTY7aWYoMSE9PXR8fHRoaXMuX3R3ZWVuLl90aW1lIT09dGhpcy5fdHdlZW4uX2R1cmF0aW9uJiYwIT09dGhpcy5fdHdlZW4uX3RpbWUpaWYodHx8dGhpcy5fdHdlZW4uX3RpbWUhPT10aGlzLl90d2Vlbi5fZHVyYXRpb24mJjAhPT10aGlzLl90d2Vlbi5fdGltZXx8dGhpcy5fdHdlZW4uX3Jhd1ByZXZUaW1lPT09LTFlLTYpZm9yKDtzOyl7aWYoZT1zLmMqdCtzLnMscy5yP2U9TWF0aC5yb3VuZChlKTpuPmUmJmU+LW4mJihlPTApLHMudHlwZSlpZigxPT09cy50eXBlKWlmKHI9cy5sLDI9PT1yKXMudFtzLnBdPXMueHMwK2Urcy54czErcy54bjErcy54czI7ZWxzZSBpZigzPT09cilzLnRbcy5wXT1zLnhzMCtlK3MueHMxK3MueG4xK3MueHMyK3MueG4yK3MueHMzO2Vsc2UgaWYoND09PXIpcy50W3MucF09cy54czArZStzLnhzMStzLnhuMStzLnhzMitzLnhuMitzLnhzMytzLnhuMytzLnhzNDtlbHNlIGlmKDU9PT1yKXMudFtzLnBdPXMueHMwK2Urcy54czErcy54bjErcy54czIrcy54bjIrcy54czMrcy54bjMrcy54czQrcy54bjQrcy54czU7ZWxzZXtmb3IoaT1zLnhzMCtlK3MueHMxLHI9MTtzLmw+cjtyKyspaSs9c1tcInhuXCIrcl0rc1tcInhzXCIrKHIrMSldO3MudFtzLnBdPWl9ZWxzZS0xPT09cy50eXBlP3MudFtzLnBdPXMueHMwOnMuc2V0UmF0aW8mJnMuc2V0UmF0aW8odCk7ZWxzZSBzLnRbcy5wXT1lK3MueHMwO3M9cy5fbmV4dH1lbHNlIGZvcig7czspMiE9PXMudHlwZT9zLnRbcy5wXT1zLmI6cy5zZXRSYXRpbyh0KSxzPXMuX25leHQ7ZWxzZSBmb3IoO3M7KTIhPT1zLnR5cGU/cy50W3MucF09cy5lOnMuc2V0UmF0aW8odCkscz1zLl9uZXh0fSxsLl9lbmFibGVUcmFuc2Zvcm1zPWZ1bmN0aW9uKHQpe3RoaXMuX3RyYW5zZm9ybVR5cGU9dHx8Mz09PXRoaXMuX3RyYW5zZm9ybVR5cGU/MzoyLHRoaXMuX3RyYW5zZm9ybT10aGlzLl90cmFuc2Zvcm18fFBlKHRoaXMuX3RhcmdldCxzLCEwKX07dmFyIE1lPWZ1bmN0aW9uKCl7dGhpcy50W3RoaXMucF09dGhpcy5lLHRoaXMuZGF0YS5fbGlua0NTU1AodGhpcyx0aGlzLl9uZXh0LG51bGwsITApfTtsLl9hZGRMYXp5U2V0PWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj10aGlzLl9maXJzdFBUPW5ldyBfZSh0LGUsMCwwLHRoaXMuX2ZpcnN0UFQsMik7ci5lPWksci5zZXRSYXRpbz1NZSxyLmRhdGE9dGhpc30sbC5fbGlua0NTU1A9ZnVuY3Rpb24odCxlLGkscil7cmV0dXJuIHQmJihlJiYoZS5fcHJldj10KSx0Ll9uZXh0JiYodC5fbmV4dC5fcHJldj10Ll9wcmV2KSx0Ll9wcmV2P3QuX3ByZXYuX25leHQ9dC5fbmV4dDp0aGlzLl9maXJzdFBUPT09dCYmKHRoaXMuX2ZpcnN0UFQ9dC5fbmV4dCxyPSEwKSxpP2kuX25leHQ9dDpyfHxudWxsIT09dGhpcy5fZmlyc3RQVHx8KHRoaXMuX2ZpcnN0UFQ9dCksdC5fbmV4dD1lLHQuX3ByZXY9aSksdH0sbC5fa2lsbD1mdW5jdGlvbihlKXt2YXIgaSxyLHMsbj1lO2lmKGUuYXV0b0FscGhhfHxlLmFscGhhKXtuPXt9O2ZvcihyIGluIGUpbltyXT1lW3JdO24ub3BhY2l0eT0xLG4uYXV0b0FscGhhJiYobi52aXNpYmlsaXR5PTEpfXJldHVybiBlLmNsYXNzTmFtZSYmKGk9dGhpcy5fY2xhc3NOYW1lUFQpJiYocz1pLnhmaXJzdCxzJiZzLl9wcmV2P3RoaXMuX2xpbmtDU1NQKHMuX3ByZXYsaS5fbmV4dCxzLl9wcmV2Ll9wcmV2KTpzPT09dGhpcy5fZmlyc3RQVCYmKHRoaXMuX2ZpcnN0UFQ9aS5fbmV4dCksaS5fbmV4dCYmdGhpcy5fbGlua0NTU1AoaS5fbmV4dCxpLl9uZXh0Ll9uZXh0LHMuX3ByZXYpLHRoaXMuX2NsYXNzTmFtZVBUPW51bGwpLHQucHJvdG90eXBlLl9raWxsLmNhbGwodGhpcyxuKX07dmFyIExlPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcixzLG4sYTtpZih0LnNsaWNlKWZvcihzPXQubGVuZ3RoOy0tcz4tMTspTGUodFtzXSxlLGkpO2Vsc2UgZm9yKHI9dC5jaGlsZE5vZGVzLHM9ci5sZW5ndGg7LS1zPi0xOyluPXJbc10sYT1uLnR5cGUsbi5zdHlsZSYmKGUucHVzaCgkKG4pKSxpJiZpLnB1c2gobikpLDEhPT1hJiY5IT09YSYmMTEhPT1hfHwhbi5jaGlsZE5vZGVzLmxlbmd0aHx8TGUobixlLGkpfTtyZXR1cm4gYS5jYXNjYWRlVG89ZnVuY3Rpb24odCxpLHIpe3ZhciBzLG4sYSxvPWUudG8odCxpLHIpLGw9W29dLGg9W10sdT1bXSxmPVtdLF89ZS5faW50ZXJuYWxzLnJlc2VydmVkUHJvcHM7Zm9yKHQ9by5fdGFyZ2V0c3x8by50YXJnZXQsTGUodCxoLGYpLG8ucmVuZGVyKGksITApLExlKHQsdSksby5yZW5kZXIoMCwhMCksby5fZW5hYmxlZCghMCkscz1mLmxlbmd0aDstLXM+LTE7KWlmKG49RyhmW3NdLGhbc10sdVtzXSksbi5maXJzdE1QVCl7bj1uLmRpZnM7XHJcbmZvcihhIGluIHIpX1thXSYmKG5bYV09clthXSk7bC5wdXNoKGUudG8oZltzXSxpLG4pKX1yZXR1cm4gbH0sdC5hY3RpdmF0ZShbYV0pLGF9LCEwKX0pLHdpbmRvdy5fZ3NEZWZpbmUmJndpbmRvdy5fZ3NRdWV1ZS5wb3AoKSgpOyIsIi8qIVxyXG4gKiBWRVJTSU9OOiAxLjcuM1xyXG4gKiBEQVRFOiAyMDE0LTAxLTE0XHJcbiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly93d3cuZ3JlZW5zb2NrLmNvbVxyXG4gKlxyXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDgtMjAxNCwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG4gKiBUaGlzIHdvcmsgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYXQgaHR0cDovL3d3dy5ncmVlbnNvY2suY29tL3Rlcm1zX29mX3VzZS5odG1sIG9yIGZvclxyXG4gKiBDbHViIEdyZWVuU29jayBtZW1iZXJzLCB0aGUgc29mdHdhcmUgYWdyZWVtZW50IHRoYXQgd2FzIGlzc3VlZCB3aXRoIHlvdXIgbWVtYmVyc2hpcC5cclxuICogXHJcbiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbVxyXG4gKiovXHJcbih3aW5kb3cuX2dzUXVldWV8fCh3aW5kb3cuX2dzUXVldWU9W10pKS5wdXNoKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGU9d2luZG93LGk9ZnVuY3Rpb24oaSxzKXt2YXIgcj1cInhcIj09PXM/XCJXaWR0aFwiOlwiSGVpZ2h0XCIsbj1cInNjcm9sbFwiK3IsYT1cImNsaWVudFwiK3Isbz1kb2N1bWVudC5ib2R5O3JldHVybiBpPT09ZXx8aT09PXR8fGk9PT1vP01hdGgubWF4KHRbbl0sb1tuXSktKGVbXCJpbm5lclwiK3JdfHxNYXRoLm1heCh0W2FdLG9bYV0pKTppW25dLWlbXCJvZmZzZXRcIityXX0scz13aW5kb3cuX2dzRGVmaW5lLnBsdWdpbih7cHJvcE5hbWU6XCJzY3JvbGxUb1wiLEFQSToyLHZlcnNpb246XCIxLjcuM1wiLGluaXQ6ZnVuY3Rpb24odCxzLHIpe3JldHVybiB0aGlzLl93ZHc9dD09PWUsdGhpcy5fdGFyZ2V0PXQsdGhpcy5fdHdlZW49cixcIm9iamVjdFwiIT10eXBlb2YgcyYmKHM9e3k6c30pLHRoaXMuX2F1dG9LaWxsPXMuYXV0b0tpbGwhPT0hMSx0aGlzLng9dGhpcy54UHJldj10aGlzLmdldFgoKSx0aGlzLnk9dGhpcy55UHJldj10aGlzLmdldFkoKSxudWxsIT1zLng/KHRoaXMuX2FkZFR3ZWVuKHRoaXMsXCJ4XCIsdGhpcy54LFwibWF4XCI9PT1zLng/aSh0LFwieFwiKTpzLngsXCJzY3JvbGxUb194XCIsITApLHRoaXMuX292ZXJ3cml0ZVByb3BzLnB1c2goXCJzY3JvbGxUb194XCIpKTp0aGlzLnNraXBYPSEwLG51bGwhPXMueT8odGhpcy5fYWRkVHdlZW4odGhpcyxcInlcIix0aGlzLnksXCJtYXhcIj09PXMueT9pKHQsXCJ5XCIpOnMueSxcInNjcm9sbFRvX3lcIiwhMCksdGhpcy5fb3ZlcndyaXRlUHJvcHMucHVzaChcInNjcm9sbFRvX3lcIikpOnRoaXMuc2tpcFk9ITAsITB9LHNldDpmdW5jdGlvbih0KXt0aGlzLl9zdXBlci5zZXRSYXRpby5jYWxsKHRoaXMsdCk7dmFyIHM9dGhpcy5fd2R3fHwhdGhpcy5za2lwWD90aGlzLmdldFgoKTp0aGlzLnhQcmV2LHI9dGhpcy5fd2R3fHwhdGhpcy5za2lwWT90aGlzLmdldFkoKTp0aGlzLnlQcmV2LG49ci10aGlzLnlQcmV2LGE9cy10aGlzLnhQcmV2O3RoaXMuX2F1dG9LaWxsJiYoIXRoaXMuc2tpcFgmJihhPjd8fC03PmEpJiZpKHRoaXMuX3RhcmdldCxcInhcIik+cyYmKHRoaXMuc2tpcFg9ITApLCF0aGlzLnNraXBZJiYobj43fHwtNz5uKSYmaSh0aGlzLl90YXJnZXQsXCJ5XCIpPnImJih0aGlzLnNraXBZPSEwKSx0aGlzLnNraXBYJiZ0aGlzLnNraXBZJiZ0aGlzLl90d2Vlbi5raWxsKCkpLHRoaXMuX3dkdz9lLnNjcm9sbFRvKHRoaXMuc2tpcFg/czp0aGlzLngsdGhpcy5za2lwWT9yOnRoaXMueSk6KHRoaXMuc2tpcFl8fCh0aGlzLl90YXJnZXQuc2Nyb2xsVG9wPXRoaXMueSksdGhpcy5za2lwWHx8KHRoaXMuX3RhcmdldC5zY3JvbGxMZWZ0PXRoaXMueCkpLHRoaXMueFByZXY9dGhpcy54LHRoaXMueVByZXY9dGhpcy55fX0pLHI9cy5wcm90b3R5cGU7cy5tYXg9aSxyLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd2R3P251bGwhPWUucGFnZVhPZmZzZXQ/ZS5wYWdlWE9mZnNldDpudWxsIT10LnNjcm9sbExlZnQ/dC5zY3JvbGxMZWZ0OmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDp0aGlzLl90YXJnZXQuc2Nyb2xsTGVmdH0sci5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dkdz9udWxsIT1lLnBhZ2VZT2Zmc2V0P2UucGFnZVlPZmZzZXQ6bnVsbCE9dC5zY3JvbGxUb3A/dC5zY3JvbGxUb3A6ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6dGhpcy5fdGFyZ2V0LnNjcm9sbFRvcH0sci5fa2lsbD1mdW5jdGlvbih0KXtyZXR1cm4gdC5zY3JvbGxUb194JiYodGhpcy5za2lwWD0hMCksdC5zY3JvbGxUb195JiYodGhpcy5za2lwWT0hMCksdGhpcy5fc3VwZXIuX2tpbGwuY2FsbCh0aGlzLHQpfX0pLHdpbmRvdy5fZ3NEZWZpbmUmJndpbmRvdy5fZ3NRdWV1ZS5wb3AoKSgpOyJdfQ==

//# sourceMappingURL=wpr-admin.js.map