403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.12
Web Server : Apache
System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64
User : moncbefd ( 1024)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moncbefd/www.moneta.at/admin/html/assets/javascript/engine/widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/admin/html/assets/javascript/engine/widgets//quickselect.js
'use strict';

/* --------------------------------------------------------------
 quickselect.js 2017-09-05
 Gambio GmbH
 http://www.gambio.de
 Copyright (c) 2016 Gambio GmbH
 Released under the GNU General Public License (Version 2)
 [http://www.gnu.org/licenses/gpl-2.0.html]
 --------------------------------------------------------------
 */

/**
 * ## QuickSelect Widget
 *
 * This widget is a custom implementation of tabs functionality.
 *
 * The actual `<div>` which contains the tabs, has to have a CSS-Class named **quickselect-headline-wrapper**.
 * The tabs will be identified by this CSS-Class. The content of the tabs has to be in a `<div>` which has to have
 * a CSS-Class called **quickselect-content-wrapper**. The elements inside, have to be in the same order as the tabs.
 *
 * ### Widget Instance Options
 *
 * **Tab alignment | `data-quickselect-align` | string | Optional**
 *
 * This option can be used to align the tabs (not the content). In some cases it is necessary to align th tabs itself
 * to righ right.
 *
 * **Start tab | `data-quickselect-start` | integer | Optional**
 *
 * This option can be used to choose a starting tab. Mind that 0 is associated with the first tab content.
 *
 * ### Example
 *
 * ```html
 * <div data-gx-widget="quickselect" data-quickselect-align="left" data-quickselect-start="1">
 *     <!-- Tabs -->
 *     <div class="quickselect-headline-wrapper">
 *         <a href="#tab1">Tab #1</a>
 *         <a href="#tab2">Tab #2</a>
 *         <a href="#tab3">Tab #3</a>
 *     </div>
 *
 *     <!-- Content -->
 *     <div class="quickselect-content-wrapper">
 *         <div>Content of tab #1.</div>
 *         <div>Content of tab #2.</div>
 *         <div>Content of tab #3.</div>
 *     </div>
 * </div>
 * ```
 *
 * @module Admin/Widgets/quickselect
 */
gx.widgets.module('quickselect', [], function (data) {

    'use strict';

    // ------------------------------------------------------------------------
    // VARIABLE DEFINITION
    // ------------------------------------------------------------------------

    var
    /**
     * Widget Reference
     *
     * @type {object}
     */
    $this = $(this),


    /**
     * Headline Tags Selector
     *
     * @type {object}
     */
    $headlineTags = null,


    /**
     * Content Tags Selector
     *
     * @type {object}
     */
    $contentTags = null,


    /**
     * Default Options for Widget
     *
     * @type {object}
     */
    defaults = {},


    /**
     * Final Widget Options
     *
     * @type {object}
     */
    options = $.extend(true, {}, defaults, data),


    /**
     * Module Object
     *
     * @type {object}
     */
    module = {};

    // ------------------------------------------------------------------------
    // EVENT HANDLERS
    // ------------------------------------------------------------------------

    /**
     * Click handler for the tabs onClick the content gets switched.
     *
     * @param {object} event jQuery event object contains information of the event.
     */
    var _clickHandler = function _clickHandler(event) {
        event.preventDefault();
        event.stopPropagation();

        $headlineTags.removeClass('active');

        var index = $(this).addClass('active').index();

        $contentTags.hide().eq(index).show();

        $this.trigger('shown:tab', { index: index });
    };

    /**
     * Handles external "show" event
     *
     * @param {object} event jQuery event object contains information of the event.
     * @param {number} tab index to show
     */
    var _showHandler = function _showHandler(event, index) {
        event.preventDefault();
        event.stopPropagation();
        $headlineTags.eq(index).trigger('click');
    };

    // ------------------------------------------------------------------------
    // INITIALIZE
    // ------------------------------------------------------------------------

    /**
     * Initialize method of the widget, called by the engine.
     */
    module.init = function (done) {
        $headlineTags = $this.children('.quickselect-headline-wrapper').children('a');

        $contentTags = $this.children('.quickselect-content-wrapper').children('div');

        $this.addClass('ui-tabs');
        $this.on('click', '.quickselect-headline-wrapper > a', _clickHandler);
        $this.on('show:tab', _showHandler);

        if (options.align == 'right') {
            $this.children('.quickselect-headline-wrapper').css("float", "right");
        }

        if (Number.isInteger(options.start)) {
            $headlineTags.eq(options.start).trigger('click');
        } else {
            $headlineTags.eq(0).trigger('click');
        }

        done();
    };

    // Return data to module engine
    return module;
});
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInF1aWNrc2VsZWN0LmpzIl0sIm5hbWVzIjpbImd4Iiwid2lkZ2V0cyIsIm1vZHVsZSIsImRhdGEiLCIkdGhpcyIsIiQiLCIkaGVhZGxpbmVUYWdzIiwiJGNvbnRlbnRUYWdzIiwiZGVmYXVsdHMiLCJvcHRpb25zIiwiZXh0ZW5kIiwiX2NsaWNrSGFuZGxlciIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJyZW1vdmVDbGFzcyIsImluZGV4IiwiYWRkQ2xhc3MiLCJoaWRlIiwiZXEiLCJzaG93IiwidHJpZ2dlciIsIl9zaG93SGFuZGxlciIsImluaXQiLCJkb25lIiwiY2hpbGRyZW4iLCJvbiIsImFsaWduIiwiY3NzIiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwic3RhcnQiXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7QUFVQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMENBQSxHQUFHQyxPQUFILENBQVdDLE1BQVgsQ0FDSSxhQURKLEVBR0ksRUFISixFQUtJLFVBQVVDLElBQVYsRUFBZ0I7O0FBRVo7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0k7Ozs7O0FBS0FDLFlBQVFDLEVBQUUsSUFBRixDQU5aOzs7QUFRSTs7Ozs7QUFLQUMsb0JBQWdCLElBYnBCOzs7QUFlSTs7Ozs7QUFLQUMsbUJBQWUsSUFwQm5COzs7QUFzQkk7Ozs7O0FBS0FDLGVBQVcsRUEzQmY7OztBQTZCSTs7Ozs7QUFLQUMsY0FBVUosRUFBRUssTUFBRixDQUFTLElBQVQsRUFBZSxFQUFmLEVBQW1CRixRQUFuQixFQUE2QkwsSUFBN0IsQ0FsQ2Q7OztBQW9DSTs7Ozs7QUFLQUQsYUFBUyxFQXpDYjs7QUEyQ0E7QUFDQTtBQUNBOztBQUVBOzs7OztBQUtBLFFBQUlTLGdCQUFnQixTQUFoQkEsYUFBZ0IsQ0FBVUMsS0FBVixFQUFpQjtBQUNqQ0EsY0FBTUMsY0FBTjtBQUNBRCxjQUFNRSxlQUFOOztBQUVBUixzQkFBY1MsV0FBZCxDQUEwQixRQUExQjs7QUFFQSxZQUFJQyxRQUFRWCxFQUFFLElBQUYsRUFDUFksUUFETyxDQUNFLFFBREYsRUFFUEQsS0FGTyxFQUFaOztBQUlBVCxxQkFDS1csSUFETCxHQUVLQyxFQUZMLENBRVFILEtBRlIsRUFHS0ksSUFITDs7QUFLQWhCLGNBQU1pQixPQUFOLENBQWMsV0FBZCxFQUEyQixFQUFDTCxZQUFELEVBQTNCO0FBQ0gsS0FoQkQ7O0FBa0JBOzs7Ozs7QUFNQSxRQUFJTSxlQUFlLFNBQWZBLFlBQWUsQ0FBVVYsS0FBVixFQUFpQkksS0FBakIsRUFBd0I7QUFDdkNKLGNBQU1DLGNBQU47QUFDQUQsY0FBTUUsZUFBTjtBQUNBUixzQkFBY2EsRUFBZCxDQUFpQkgsS0FBakIsRUFBd0JLLE9BQXhCLENBQWdDLE9BQWhDO0FBQ0gsS0FKRDs7QUFNQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBbkIsV0FBT3FCLElBQVAsR0FBYyxVQUFVQyxJQUFWLEVBQWdCO0FBQzFCbEIsd0JBQWdCRixNQUNYcUIsUUFEVyxDQUNGLCtCQURFLEVBRVhBLFFBRlcsQ0FFRixHQUZFLENBQWhCOztBQUlBbEIsdUJBQWVILE1BQ1ZxQixRQURVLENBQ0QsOEJBREMsRUFFVkEsUUFGVSxDQUVELEtBRkMsQ0FBZjs7QUFJQXJCLGNBQU1hLFFBQU4sQ0FBZSxTQUFmO0FBQ0FiLGNBQU1zQixFQUFOLENBQVMsT0FBVCxFQUFrQixtQ0FBbEIsRUFBdURmLGFBQXZEO0FBQ0FQLGNBQU1zQixFQUFOLENBQVMsVUFBVCxFQUFxQkosWUFBckI7O0FBRUEsWUFBSWIsUUFBUWtCLEtBQVIsSUFBaUIsT0FBckIsRUFBOEI7QUFDMUJ2QixrQkFBTXFCLFFBQU4sQ0FBZSwrQkFBZixFQUFnREcsR0FBaEQsQ0FBb0QsT0FBcEQsRUFBNkQsT0FBN0Q7QUFDSDs7QUFFRCxZQUFJQyxPQUFPQyxTQUFQLENBQWlCckIsUUFBUXNCLEtBQXpCLENBQUosRUFBcUM7QUFDakN6QiwwQkFDS2EsRUFETCxDQUNRVixRQUFRc0IsS0FEaEIsRUFFS1YsT0FGTCxDQUVhLE9BRmI7QUFHSCxTQUpELE1BSU87QUFDSGYsMEJBQ0thLEVBREwsQ0FDUSxDQURSLEVBRUtFLE9BRkwsQ0FFYSxPQUZiO0FBR0g7O0FBRURHO0FBQ0gsS0E1QkQ7O0FBOEJBO0FBQ0EsV0FBT3RCLE1BQVA7QUFDSCxDQXRJTCIsImZpbGUiOiJxdWlja3NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gcXVpY2tzZWxlY3QuanMgMjAxNy0wOS0wNVxuIEdhbWJpbyBHbWJIXG4gaHR0cDovL3d3dy5nYW1iaW8uZGVcbiBDb3B5cmlnaHQgKGMpIDIwMTYgR2FtYmlvIEdtYkhcbiBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogIyMgUXVpY2tTZWxlY3QgV2lkZ2V0XG4gKlxuICogVGhpcyB3aWRnZXQgaXMgYSBjdXN0b20gaW1wbGVtZW50YXRpb24gb2YgdGFicyBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIFRoZSBhY3R1YWwgYDxkaXY+YCB3aGljaCBjb250YWlucyB0aGUgdGFicywgaGFzIHRvIGhhdmUgYSBDU1MtQ2xhc3MgbmFtZWQgKipxdWlja3NlbGVjdC1oZWFkbGluZS13cmFwcGVyKiouXG4gKiBUaGUgdGFicyB3aWxsIGJlIGlkZW50aWZpZWQgYnkgdGhpcyBDU1MtQ2xhc3MuIFRoZSBjb250ZW50IG9mIHRoZSB0YWJzIGhhcyB0byBiZSBpbiBhIGA8ZGl2PmAgd2hpY2ggaGFzIHRvIGhhdmVcbiAqIGEgQ1NTLUNsYXNzIGNhbGxlZCAqKnF1aWNrc2VsZWN0LWNvbnRlbnQtd3JhcHBlcioqLiBUaGUgZWxlbWVudHMgaW5zaWRlLCBoYXZlIHRvIGJlIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSB0YWJzLlxuICpcbiAqICMjIyBXaWRnZXQgSW5zdGFuY2UgT3B0aW9uc1xuICpcbiAqICoqVGFiIGFsaWdubWVudCB8IGBkYXRhLXF1aWNrc2VsZWN0LWFsaWduYCB8IHN0cmluZyB8IE9wdGlvbmFsKipcbiAqXG4gKiBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBhbGlnbiB0aGUgdGFicyAobm90IHRoZSBjb250ZW50KS4gSW4gc29tZSBjYXNlcyBpdCBpcyBuZWNlc3NhcnkgdG8gYWxpZ24gdGggdGFicyBpdHNlbGZcbiAqIHRvIHJpZ2ggcmlnaHQuXG4gKlxuICogKipTdGFydCB0YWIgfCBgZGF0YS1xdWlja3NlbGVjdC1zdGFydGAgfCBpbnRlZ2VyIHwgT3B0aW9uYWwqKlxuICpcbiAqIFRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIGNob29zZSBhIHN0YXJ0aW5nIHRhYi4gTWluZCB0aGF0IDAgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaXJzdCB0YWIgY29udGVudC5cbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgZGF0YS1neC13aWRnZXQ9XCJxdWlja3NlbGVjdFwiIGRhdGEtcXVpY2tzZWxlY3QtYWxpZ249XCJsZWZ0XCIgZGF0YS1xdWlja3NlbGVjdC1zdGFydD1cIjFcIj5cbiAqICAgICA8IS0tIFRhYnMgLS0+XG4gKiAgICAgPGRpdiBjbGFzcz1cInF1aWNrc2VsZWN0LWhlYWRsaW5lLXdyYXBwZXJcIj5cbiAqICAgICAgICAgPGEgaHJlZj1cIiN0YWIxXCI+VGFiICMxPC9hPlxuICogICAgICAgICA8YSBocmVmPVwiI3RhYjJcIj5UYWIgIzI8L2E+XG4gKiAgICAgICAgIDxhIGhyZWY9XCIjdGFiM1wiPlRhYiAjMzwvYT5cbiAqICAgICA8L2Rpdj5cbiAqXG4gKiAgICAgPCEtLSBDb250ZW50IC0tPlxuICogICAgIDxkaXYgY2xhc3M9XCJxdWlja3NlbGVjdC1jb250ZW50LXdyYXBwZXJcIj5cbiAqICAgICAgICAgPGRpdj5Db250ZW50IG9mIHRhYiAjMS48L2Rpdj5cbiAqICAgICAgICAgPGRpdj5Db250ZW50IG9mIHRhYiAjMi48L2Rpdj5cbiAqICAgICAgICAgPGRpdj5Db250ZW50IG9mIHRhYiAjMy48L2Rpdj5cbiAqICAgICA8L2Rpdj5cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogQG1vZHVsZSBBZG1pbi9XaWRnZXRzL3F1aWNrc2VsZWN0XG4gKi9cbmd4LndpZGdldHMubW9kdWxlKFxuICAgICdxdWlja3NlbGVjdCcsXG5cbiAgICBbXSxcblxuICAgIGZ1bmN0aW9uIChkYXRhKSB7XG5cbiAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBWQVJJQUJMRSBERUZJTklUSU9OXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgICAgIHZhclxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBXaWRnZXQgUmVmZXJlbmNlXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogQHR5cGUge29iamVjdH1cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgJHRoaXMgPSAkKHRoaXMpLFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEhlYWRsaW5lIFRhZ3MgU2VsZWN0b3JcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAkaGVhZGxpbmVUYWdzID0gbnVsbCxcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBDb250ZW50IFRhZ3MgU2VsZWN0b3JcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAkY29udGVudFRhZ3MgPSBudWxsLFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIERlZmF1bHQgT3B0aW9ucyBmb3IgV2lkZ2V0XG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogQHR5cGUge29iamVjdH1cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgZGVmYXVsdHMgPSB7fSxcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBGaW5hbCBXaWRnZXQgT3B0aW9uc1xuICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAqIEB0eXBlIHtvYmplY3R9XG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGVmYXVsdHMsIGRhdGEpLFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIE1vZHVsZSBPYmplY3RcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBtb2R1bGUgPSB7fTtcblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gRVZFTlQgSEFORExFUlNcbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIENsaWNrIGhhbmRsZXIgZm9yIHRoZSB0YWJzIG9uQ2xpY2sgdGhlIGNvbnRlbnQgZ2V0cyBzd2l0Y2hlZC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IGV2ZW50IGpRdWVyeSBldmVudCBvYmplY3QgY29udGFpbnMgaW5mb3JtYXRpb24gb2YgdGhlIGV2ZW50LlxuICAgICAgICAgKi9cbiAgICAgICAgdmFyIF9jbGlja0hhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgJGhlYWRsaW5lVGFncy5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XG5cbiAgICAgICAgICAgIHZhciBpbmRleCA9ICQodGhpcylcbiAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoJ2FjdGl2ZScpXG4gICAgICAgICAgICAgICAgLmluZGV4KCk7XG5cbiAgICAgICAgICAgICRjb250ZW50VGFnc1xuICAgICAgICAgICAgICAgIC5oaWRlKClcbiAgICAgICAgICAgICAgICAuZXEoaW5kZXgpXG4gICAgICAgICAgICAgICAgLnNob3coKTtcblxuICAgICAgICAgICAgJHRoaXMudHJpZ2dlcignc2hvd246dGFiJywge2luZGV4fSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhhbmRsZXMgZXh0ZXJuYWwgXCJzaG93XCIgZXZlbnRcbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IGV2ZW50IGpRdWVyeSBldmVudCBvYmplY3QgY29udGFpbnMgaW5mb3JtYXRpb24gb2YgdGhlIGV2ZW50LlxuICAgICAgICAgKiBAcGFyYW0ge251bWJlcn0gdGFiIGluZGV4IHRvIHNob3dcbiAgICAgICAgICovXG4gICAgICAgIHZhciBfc2hvd0hhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQsIGluZGV4KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAkaGVhZGxpbmVUYWdzLmVxKGluZGV4KS50cmlnZ2VyKCdjbGljaycpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBJTklUSUFMSVpFXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbml0aWFsaXplIG1ldGhvZCBvZiB0aGUgd2lkZ2V0LCBjYWxsZWQgYnkgdGhlIGVuZ2luZS5cbiAgICAgICAgICovXG4gICAgICAgIG1vZHVsZS5pbml0ID0gZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgICRoZWFkbGluZVRhZ3MgPSAkdGhpc1xuICAgICAgICAgICAgICAgIC5jaGlsZHJlbignLnF1aWNrc2VsZWN0LWhlYWRsaW5lLXdyYXBwZXInKVxuICAgICAgICAgICAgICAgIC5jaGlsZHJlbignYScpO1xuXG4gICAgICAgICAgICAkY29udGVudFRhZ3MgPSAkdGhpc1xuICAgICAgICAgICAgICAgIC5jaGlsZHJlbignLnF1aWNrc2VsZWN0LWNvbnRlbnQtd3JhcHBlcicpXG4gICAgICAgICAgICAgICAgLmNoaWxkcmVuKCdkaXYnKTtcblxuICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3MoJ3VpLXRhYnMnKTtcbiAgICAgICAgICAgICR0aGlzLm9uKCdjbGljaycsICcucXVpY2tzZWxlY3QtaGVhZGxpbmUtd3JhcHBlciA+IGEnLCBfY2xpY2tIYW5kbGVyKTtcbiAgICAgICAgICAgICR0aGlzLm9uKCdzaG93OnRhYicsIF9zaG93SGFuZGxlcik7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFsaWduID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAkdGhpcy5jaGlsZHJlbignLnF1aWNrc2VsZWN0LWhlYWRsaW5lLXdyYXBwZXInKS5jc3MoXCJmbG9hdFwiLCBcInJpZ2h0XCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihvcHRpb25zLnN0YXJ0KSkge1xuICAgICAgICAgICAgICAgICRoZWFkbGluZVRhZ3NcbiAgICAgICAgICAgICAgICAgICAgLmVxKG9wdGlvbnMuc3RhcnQpXG4gICAgICAgICAgICAgICAgICAgIC50cmlnZ2VyKCdjbGljaycpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaGVhZGxpbmVUYWdzXG4gICAgICAgICAgICAgICAgICAgIC5lcSgwKVxuICAgICAgICAgICAgICAgICAgICAudHJpZ2dlcignY2xpY2snKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJldHVybiBkYXRhIHRvIG1vZHVsZSBlbmdpbmVcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9KTtcbiJdfQ==

Youez - 2016 - github.com/yon3zu
LinuXploit